:root{font-family:Inter,'Segoe UI',Arial,sans-serif;color:#243d38;background:#f4f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0}a{color:#1d6854;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}aside{position:fixed;inset:0 auto 0 0;width:236px;background:#173f35;color:#d3e2d9;padding:38px 24px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;color:#fff;font-family:Georgia,serif;font-size:58px;line-height:1}.brand span{font-size:25px}.brand small{display:block;font-family:'Segoe UI',sans-serif;font-size:10px;letter-spacing:4px;margin-top:10px;color:#bdcec2}.nav-label{font-size:10px;letter-spacing:1.7px;margin:60px 10px 17px;color:#94b5a6}nav{display:grid;gap:8px}nav a{padding:14px 12px;color:#d3e2d9;border-radius:7px}nav a:hover,nav a:focus{background:#2b5346;color:#fff}.aside-bottom{margin-top:auto;font-size:12px;color:#9bb6aa;padding:10px}.logout{background:none;border:0;padding:16px 0 0;color:#fff}main{margin-left:236px;padding:44px 42px;min-height:100vh;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;color:#638071;margin-bottom:12px}h1{font-size:32px;letter-spacing:-1px;font-weight:600;margin:0 0 10px}h2{font-size:18px;font-weight:600;margin:0}h3{font-size:18px}.muted{color:#7a8981;margin:0;line-height:1.7}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;padding:12px 18px;border-radius:7px;border:1px solid transparent;font-weight:600;white-space:nowrap}.primary{background:#27664e;color:#fff}.primary:hover{background:#194c39}.secondary{background:white;border-color:#d9e1da;color:#37594a}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-bottom:30px}.stats article{background:#fff;border:1px solid #e0e6df;border-radius:10px;padding:22px 20px}.stats span{display:block;color:#63776c;font-size:12px}.stats strong{display:block;font-size:25px;letter-spacing:-.5px;margin:18px 0 12px;white-space:nowrap}.stats small{font-size:11px;color:#8a978e}.stats .danger{background:#fcf5ef;border-color:#ecdccd}.danger strong{color:#a76139}.panel{background:#fff;border:1px solid #e0e6df;border-radius:10px;margin-bottom:24px;padding:24px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.filters{display:flex;align-items:end;gap:12px;margin:24px 0;flex-wrap:wrap}.filters label:first-child{flex:1;min-width:160px}label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#526b5e;font-weight:600}input,select,textarea{width:100%;padding:11px 12px;border:1px solid #d9e1da;border-radius:6px;background:#fff;color:#243d38;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #8fbaa1;outline-offset:1px}label small{font-weight:400;color:#829184}.text-link{font-size:12px;font-weight:600;padding:8px 0}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left}th{font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#7a8b80;background:#f7f9f5;padding:15px 12px;font-weight:600;white-space:nowrap}td{padding:18px 12px;border-bottom:1px solid #eef1eb;font-size:12px}td b{font-weight:600}td small{display:block;color:#819187;font-size:11px;margin-top:6px}.note{max-width:250px;white-space:pre-wrap}.money{font-weight:600;white-space:nowrap}.badge{display:inline-block;border-radius:20px;background:#f2f0dc;color:#837537;padding:5px 9px;font-size:10px;white-space:nowrap}.badge.overdue{background:#fbe9e1;color:#b56d4b}.badge.paid{background:#e5f2e8;color:#327b51}.actions{display:flex;gap:13px;align-items:center}.actions button,.text-button{background:none;border:0;color:#27714e;font-size:12px;padding:5px 0}.actions button{font-weight:700}.empty{text-align:center;padding:60px 15px;color:#819187}.empty h3{color:#3e5a4a;margin-bottom:8px}.empty-icon{margin:auto;background:#edf3e9;color:#638466;border-radius:50%;width:48px;height:48px;line-height:48px;font-size:24px}.table-footer{display:flex;justify-content:space-between;padding-top:20px;color:#819187;font-size:11px}footer{display:flex;justify-content:space-between;color:#8e9b92;font-size:11px;margin-top:34px}.form-panel{max-width:820px;padding:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.wide{grid-column:1/-1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.form-panel>form>label{margin-bottom:22px}dialog{border:1px solid #d9e1da;border-radius:12px;padding:32px;width:440px;max-width:94vw;color:#243d38}dialog::backdrop{background:#15372c66}dialog h2{margin-bottom:14px}dialog label{margin-top:20px}.flash{padding:14px 18px;border-radius:7px;margin-bottom:20px;background:#e2f1e5;color:#275f3d}.flash.error{background:#fbe9e1;color:#99482c}.login-main{margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(120deg,#e1eadd,#f5f4eb)}.login-card{width:420px;max-width:100%;background:#fff;padding:44px;border:1px solid #dbe4d6;border-radius:14px;box-shadow:0 20px 70px #183e3510}.login-card h1{font-family:Georgia,serif;font-size:38px;font-weight:400;line-height:1.2}.login-card form{margin-top:30px}.login-card label{margin-bottom:20px}.full{width:100%}.login-main footer{gap:30px}button:focus-visible,a:focus-visible{outline:3px solid #8fbaa1;outline-offset:3px}@media(min-width:1500px){main{padding:50px 60px}.stats strong{font-size:30px}}@media(max-width:1100px){aside{width:205px;padding:30px 16px}main{margin-left:205px;padding:30px 24px}.stats{grid-template-columns:repeat(2,1fr)}.filters label{flex:1;min-width:140px}}@media(max-width:700px){aside{position:static;width:auto;padding:20px}.brand{font-size:38px}.brand span{font-size:20px}.nav-label,.aside-bottom{display:none}nav{display:flex;overflow-x:auto;margin-top:20px;gap:4px}nav a{white-space:nowrap;padding:10px;font-size:12px}main{margin-left:0;padding:26px 16px}header{align-items:flex-start}h1{font-size:27px}.stats{gap:10px}.stats article{padding:18px 12px}.stats strong{font-size:21px}.panel{padding:16px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.table-footer,footer{gap:12px;flex-wrap:wrap}.login-card{padding:28px}.panel-heading h2{font-size:16px}}
.workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px}.step{padding:20px;background:#edf0ea;border:1px solid #dfe5dc;border-radius:9px;color:#7a8981}.step b{margin-right:12px}.step small{display:block;margin-top:9px;font-size:11px}.step.done{background:#e3eee5;color:#27664e}.detail-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}.helper{margin:18px 0 24px}.installment{border-top:1px solid #e0e6df;margin-top:24px;padding-top:18px}.installment h3{margin:0 0 8px}details{margin-top:20px}summary{cursor:pointer;color:#27664e;font-weight:600;margin-bottom:20px}.notice{background:#fff5df;padding:15px;border-radius:7px;color:#8a6b27}.panel .form-grid + .table-wrap{margin-top:28px}@media(max-width:700px){.workflow,.detail-grid{grid-template-columns:1fr}.step{padding:15px}}
.cnpj-search{display:flex;align-items:end;gap:12px;margin-top:24px;max-width:560px}.cnpj-search label{flex:1}.cnpj-search button:disabled{opacity:.6;cursor:wait}@media(max-width:500px){.cnpj-search{align-items:stretch;flex-direction:column}}
select{text-transform:uppercase}
[hidden]{display:none!important}.manual-row{display:flex;gap:12px;align-items:end;margin-bottom:16px}.manual-row label{flex:1}.manual-row button{margin-bottom:10px}@media(max-width:500px){.manual-row{flex-wrap:wrap}.manual-row label{min-width:120px}}
.supplier-picker{position:relative;min-width:0}.supplier-picker>input{margin-top:8px}.supplier-picker>small{display:block;margin-top:8px;color:#829184;font-size:11px}#supplier-results{position:absolute;top:72px;left:0;right:0;z-index:20;background:white;border:1px solid #b6ccbc;border-radius:7px;box-shadow:0 12px 24px #173f3522;max-height:260px;overflow-y:auto}#supplier-results button{display:block;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #edf1eb;padding:12px;color:#243d38}#supplier-results button:hover,#supplier-results button.active{background:#e5f0e6}#supplier-results small{display:block;margin-top:6px;font-size:11px;color:#63776c}#supplier-empty{padding:12px;font-size:12px}
