:root{color:#1d252b;background:#f4f7f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}.app-shell{min-height:100vh;padding:28px}.login-shell{align-items:center;display:flex;min-height:100vh;justify-content:center;padding:28px}.login-panel{background:#fff;border:1px solid #dce5e2;border-radius:8px;box-shadow:0 18px 45px #0d304d14;display:grid;gap:14px;max-width:420px;padding:34px;width:100%}.login-icon{align-items:center;background:#e9f7f1;border-radius:8px;color:#287c79;display:flex;height:52px;justify-content:center;width:52px}.login-panel p{color:#287c79;font-size:13px;font-weight:800;letter-spacing:0;margin:4px 0 -6px;text-transform:uppercase}.login-panel h1{color:#0d304d;font-size:28px;line-height:1.15;margin:0 0 8px}.login-panel label{color:#58656b;display:grid;font-size:13px;font-weight:800;gap:8px}.login-panel input{border:1px solid #cfdad7;border-radius:8px;color:#0d304d;min-height:46px;outline:none;padding:0 13px}.login-panel input:focus{border-color:#287c79;box-shadow:0 0 0 3px #287c7924}.login-panel button{background:#287c79;border:0;border-radius:8px;color:#fff;cursor:pointer;font-weight:800;min-height:46px}.login-panel button:disabled,.login-panel input:disabled{cursor:not-allowed;opacity:.6}.login-error,.login-warning{border-radius:8px;font-size:13px;font-weight:800;padding:10px 12px}.login-error{background:#fff0ee;color:#a13a2d}.login-warning{background:#fff7e8;color:#8a5a13}.topbar{align-items:center;display:flex;gap:20px;justify-content:space-between;margin:0 auto 24px;max-width:1380px}.topbar p{color:#287c79;font-size:13px;font-weight:700;letter-spacing:0;margin:0 0 4px;text-transform:uppercase}.topbar h1{font-size:28px;line-height:1.15;margin:0}.topbar-actions{align-items:center;display:flex;gap:12px}.month-filter{align-items:center;background:#fff;border:1px solid #dce5e2;border-radius:8px;display:inline-flex;gap:10px;min-height:44px;padding:0 12px}.month-filter span{color:#687887;font-size:13px;font-weight:800}.month-filter select{background:transparent;border:0;color:#0d304d;cursor:pointer;font-weight:800;outline:none}.upload-button{align-items:center;background:#287c79;border:0;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;min-height:44px;padding:0 18px}.upload-button input{display:none}.empty-state,.status-card,.error-panel,.loading-panel{background:#fff;border:1px solid #dce5e2;border-radius:8px;margin:0 auto;max-width:760px;padding:34px}.loading-panel{max-width:860px}.loading-header{align-items:center;display:flex;gap:14px;margin-bottom:22px}.loading-header h2{color:#0d304d;font-size:22px;margin:0}.loading-header p{color:#687887;font-size:14px;font-weight:700;margin:4px 0 0}.loading-steps{display:grid;gap:10px;list-style:none;margin:0;padding:0}.loading-steps li{align-items:center;background:#f6f9f8;border:1px solid #dce5e2;border-radius:8px;color:#687887;display:flex;font-weight:800;gap:10px;min-height:42px;padding:0 14px}.loading-steps li.done{background:#e9f7f1;border-color:#a8dec9;color:#1d7c54}.loading-steps li.active{background:#eef8f8;border-color:#8bd1d2;color:#0d304d}.loading-steps li.pending svg{color:#b5c1c7}.spin{animation:spin 1s linear infinite;color:#287c79}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{align-items:center;color:#58656b;display:flex;flex-direction:column;min-height:300px;justify-content:center;text-align:center}.empty-state h2{color:#1d252b;margin:16px 0 6px}.error-panel{border-color:#efb2a8;color:#7c281d}.error-title{align-items:center;display:flex;font-weight:800;gap:8px}.summary-grid,.aging-grid,.top-grid,.evolution-grid,.observations-grid,.paid-grid,.paid-top-grid,.chart-grid{display:grid;gap:16px;margin:0 auto 18px;max-width:1380px}.section-heading{margin:8px auto 16px;max-width:1380px}.section-heading h2{color:#0d304d;font-size:26px;line-height:1.2;margin:0}.inner-heading{margin-top:22px}.summary-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.aging-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.top-grid,.evolution-grid,.observations-grid,.paid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.paid-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.paid-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.import-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);margin:0 auto 18px;max-width:1380px}.import-distribution-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr)}.import-distribution-grid.compact{grid-template-columns:minmax(0,1fr)}.import-paid-grid{display:grid;gap:16px;grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);margin-bottom:16px}.distribution-panel{background:#fff;border:1px solid #dce5e2;border-radius:8px;padding:26px}.distribution-panel h2{color:#0d304d;font-size:20px;margin:0 0 28px}.distribution-block+.distribution-block{margin-top:44px}.distribution-block h3{color:#687887;font-size:16px;margin:0 0 16px}.distribution-bar{border-radius:6px;display:flex;min-height:58px;overflow:hidden;width:100%}.distribution-bar div{align-items:center;color:#fff;display:flex;font-size:16px;font-weight:800;justify-content:center;min-width:0;padding:0 10px;text-align:center;overflow:hidden;white-space:pre-line}.distribution-bar div.compact{font-size:11px;line-height:1.18;padding:0 4px}.distribution-bar .primary{background:#0d304d}.distribution-bar .secondary{background:#45aeb8}.paid-evolution-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);margin-top:16px}.paid-evolution-notes{display:grid;gap:16px}.kpi-card,.chart-panel,.top-table,.observation-card{background:#fff;border:1px solid #dce5e2;border-radius:8px}.kpi-card{min-height:104px;padding:18px}.kpi-card span{color:#66757b;display:block;font-size:13px;margin-bottom:12px}.kpi-card strong{display:block;font-size:24px;line-height:1.1}.chart-panel{min-width:0;padding:18px}.chart-panel h2{font-size:16px;margin:0 0 8px}.chart-heading{align-items:baseline;display:flex;gap:12px;justify-content:space-between;margin-bottom:8px}.chart-heading h2{margin:0}.chart-heading strong{color:#0d304d;font-size:15px;white-space:nowrap}.top-table{overflow:hidden}.top-table header{background:#0d304d;color:#fff;font-size:15px;font-weight:800;letter-spacing:0;padding:13px 16px;text-align:center}.top-table table{border-collapse:collapse;width:100%}.top-table th,.top-table td{border-bottom:1px solid #edf1f2;font-size:14px;padding:10px 14px}.top-table th{color:#6a7780;font-size:12px;text-align:left}.top-table th:nth-child(2),.top-table th:nth-child(3),.top-table td:nth-child(2),.top-table td:nth-child(3){text-align:right}.top-table td:first-child{color:#52616b;font-weight:700}.top-table td:nth-child(2){color:#19324a;font-weight:800}.top-table td:nth-child(3){color:#36a7b3;font-weight:800}.top-table .muted-row td:first-child{font-style:italic;font-weight:600}.top-table tfoot td{background:#eef2f5;border-bottom:0;color:#16324a;font-weight:900}.observation-card{min-height:210px;padding:26px}.observation-card span{color:#687887;display:block;font-size:13px;font-weight:800;letter-spacing:0;margin-bottom:18px}.observation-card strong{color:#0d304d;display:block;font-size:42px;line-height:1;margin-bottom:22px}.observation-card p{color:#4a5964;font-size:16px;line-height:1.45;margin:0}.evolution-note{background:#fff;border:1px solid #dce5e2;border-radius:8px;min-height:170px;padding:26px}.evolution-note span{color:#687887;display:block;font-size:15px;font-weight:800;letter-spacing:0;margin-bottom:18px}.evolution-note strong{color:#0d304d;display:block;font-size:42px;line-height:1;margin-bottom:22px}.evolution-note strong.up{color:#287c79}.evolution-note strong.down{color:#d95f67}.evolution-note p{color:#4a5964;font-size:16px;line-height:1.45;margin:0}.paid-section,.import-section,.treasury-section{margin:34px auto 18px;max-width:1380px}.aging-section{margin:26px auto 18px;max-width:1380px}.section-title{border-bottom:1px solid #1d252b;margin-bottom:22px;padding-bottom:10px}.section-title h2{font-family:Georgia,Times New Roman,serif;font-size:34px;line-height:1;margin:0}.paid-summary{margin-bottom:22px;padding:12px 0 20px}.paid-summary span{color:#7d8993;display:block;font-size:15px;font-weight:900;letter-spacing:0}.paid-summary strong{color:#45aeb8;display:block;font-size:48px;line-height:1;margin:12px 0}.paid-summary small{color:#e46268;display:block;font-size:17px;font-weight:800}.status-process-panel{background:#f5f7f9;border:1px solid #e1e8eb;border-radius:8px;padding:18px}.status-process-panel h2{color:#60707e;font-size:16px;margin:0 0 18px}.status-process-list{display:grid;gap:12px}.status-process-list article{background:#fff;border:1px solid #e1e8eb;border-left:5px solid #0d304d;border-radius:6px;padding:18px 22px}.status-process-list article.highlight{background:#eaf4f6;border-left-color:#45aeb8}.status-process-list span{color:#667584;display:block;font-size:13px;font-weight:800;margin-bottom:10px}.status-process-list strong{color:#0d304d;display:block;font-size:30px;line-height:1}.status-process-list article.highlight strong{color:#45aeb8}.treasury-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}.treasury-tables{display:grid;gap:16px}.card-evolution-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:16px}.cost-center-panel{background:#fff;border:1px solid #dce5e2;border-radius:8px;padding:26px}.cost-center-panel h2{color:#687887;font-size:18px;margin:0 0 22px}.cost-center-list{display:grid;gap:13px}.cost-center-row{align-items:center;display:grid;gap:14px;grid-template-columns:minmax(180px,260px) 1fr 120px}.cost-center-row span{color:#687887;font-weight:800;text-align:right}.cost-center-row .track{background:#e8eef3;border-radius:4px;height:28px;overflow:hidden}.cost-center-row i{background:#0d304d;display:block;height:100%}.cost-center-row strong{color:#0d304d;font-size:18px}.cost-center-panel p{color:#687887;font-size:16px;font-style:italic;margin:22px 0 0}@media(max-width:980px){.app-shell{padding:18px}.topbar{align-items:stretch;flex-direction:column}.summary-grid,.aging-grid,.top-grid,.evolution-grid,.observations-grid,.paid-grid,.paid-top-grid,.paid-evolution-grid,.import-grid,.import-distribution-grid,.import-paid-grid,.treasury-grid,.card-evolution-grid,.chart-grid,.cost-center-row{grid-template-columns:1fr}.cost-center-row span{text-align:left}}
