:root{--ink:#17342d;--muted:#728078;--green:#225e4b;--lime:#d9edb7;--line:#e1e7e0;--paper:#f5f7f2;--white:#fff;--amber:#9a6b27;--red:#b14b49}*{box-sizing:border-box}body{margin:0;font:14px/1.5 'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--paper)}[hidden]{display:none!important}button,input,select,textarea{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:0;border-radius:7px;padding:10px 16px;background:var(--green);color:white;font-weight:600}button:hover{filter:brightness(.95)}a{color:var(--green)}.secondary{background:#edf2e9;color:var(--ink);border:1px solid var(--line)}.text-button{padding:3px 0;background:transparent;color:var(--green);font-size:12px}.brand{display:flex;gap:12px;text-decoration:none;color:var(--ink);font-size:24px;font-weight:650;align-items:center;letter-spacing:-1px}.brand-symbol{display:inline-flex;width:41px;height:41px;background:var(--green);border-radius:11px;align-items:center;justify-content:center;color:var(--lime);font-size:33px;font-weight:650;line-height:1}.brand-sub{display:block;letter-spacing:1.1px;font-size:8px;color:var(--muted);font-weight:600}aside{position:fixed;inset:0 auto 0 0;width:248px;padding:34px 22px;background:#fafbf8;border-right:1px solid var(--line);display:flex;flex-direction:column}.nav-label{font-size:9px;letter-spacing:1.6px;color:var(--muted);margin:45px 13px 15px}nav{display:flex;flex-direction:column;gap:5px}nav button{display:flex;align-items:center;gap:12px;background:transparent;color:#63736a;text-align:left;font-size:17px;padding:11px 12px;font-weight:400}nav button span{font-size:12px;font-weight:500}nav button.active{background:#e7eee0;color:var(--green)}.aside-bottom{margin-top:auto;padding:25px 12px 0;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.aside-bottom p{font-size:10px;overflow-wrap:anywhere}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#45875d;margin-right:6px}main{margin-left:248px;padding:40px 42px 0;max-width:1800px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:650;color:var(--muted)}h1{font-weight:500;font-size:30px;letter-spacing:-.8px;margin:7px 0 4px}header p{margin:0;color:var(--muted);font-size:12px}.internal-badge{font-size:10px;border:1px solid #d9e2d2;border-radius:30px;padding:7px 12px;color:#68805d}.toolbar{display:flex;flex-wrap:wrap;gap:15px;align-items:center;padding:15px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:22px}.period-buttons{display:flex;gap:3px;padding:3px;border-radius:7px;background:#e9eee5}.period-buttons button{font-size:10px;background:transparent;color:var(--muted);padding:7px 10px}.period-buttons button.selected{background:var(--white);color:var(--ink);box-shadow:0 1px 3px #23452915}.date-range{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted)}.date-range label{display:flex;align-items:center;gap:7px}.date-range input{border:0;background:transparent;color:var(--ink);font-size:11px;width:112px}.date-range button{padding:5px 8px;font-size:10px}.export-link{margin-left:auto;font-size:11px;text-decoration:none}.notice{display:flex;align-items:center;gap:12px;background:#eff1e6;border:1px solid #e1e6d3;border-radius:8px;padding:13px 16px;margin:0 0 24px;color:#6b7158}.notice>span{border:1px solid #9ea98d;border-radius:50%;width:17px;height:17px;text-align:center;font:12px/16px Georgia}.notice strong{font-size:11px;font-weight:600}.notice p{font-size:10px;margin:2px 0 0}.notice button{margin-left:auto;color:#6b7158;white-space:nowrap}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.card,.panel{background:white;border:1px solid var(--line);border-radius:10px}.card{padding:20px 21px}.card.featured{background:var(--green);border-color:var(--green);color:white}.card-label{font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.featured .card-label{color:#c5dacb}.card-value{font-size:28px;line-height:1.25;letter-spacing:-.7px;margin:15px 0 9px;font-weight:500;font-variant-numeric:tabular-nums}.card small{font-size:10px;color:var(--muted)}.featured small{color:#c5dacb}.pill{display:inline-block;border-radius:20px;background:#eaf0e4;padding:2px 8px;font-size:9px;color:#59734e}.pill.warn{background:#f8f0e1;color:var(--amber)}.pill.neutral{background:#edf0ee;color:var(--muted)}.grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(270px,1fr);gap:22px;margin-bottom:24px}.panel{padding:22px 23px;margin-bottom:22px;min-width:0}.grid-main .panel{margin:0}.panel-heading{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:20px}h2{font-size:15px;margin:0;font-weight:600;letter-spacing:-.2px}h3{font-size:13px;font-weight:600;margin:0 0 7px}.subtext{color:var(--muted);font-size:10px;margin:4px 0 0}.legend{display:flex;gap:15px;font-size:9px;color:var(--muted);margin:18px 0 5px}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.legend i.revenue{background:var(--green)}.legend i.cost{background:#cbd5b4}.chart{width:100%;height:240px}.chart text{font:9px 'Segoe UI',sans-serif;fill:#839083}.chart .grid{stroke:#edf0e9}.chart .revenue{fill:#37725a}.chart .cost{fill:#d5dfbf}.chart-wrap{overflow-x:auto}.chart-empty,.empty{padding:35px 15px;text-align:center;color:var(--muted);font-size:12px}.supplier-row{padding:12px 0;border-bottom:1px solid #edf0e9;display:grid;grid-template-columns:1fr auto;gap:2px 15px}.supplier-row:last-child{border:0}.supplier-row strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.supplier-row small{font-size:9px;color:var(--muted)}.supplier-row .amount{grid-column:2;grid-row:1/3;font-size:12px;align-self:center;font-variant-numeric:tabular-nums}.bar-track{height:4px;background:#eef1e9;border-radius:10px;margin:9px 0 12px;overflow:hidden}.bar-fill{height:100%;background:#a5be8c;min-width:2px}.mix{display:flex;height:14px;border-radius:4px;overflow:hidden;margin:22px 0}.mix span{background:var(--green);min-width:3px}.mix span:nth-child(2){background:#b7cc96}.mix span:nth-child(3){background:#e3dcc7}.mix-labels{display:flex;flex-direction:column;gap:12px}.mix-labels>div{display:flex;justify-content:space-between;font-size:11px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th{font-size:9px;text-transform:uppercase;letter-spacing:.7px;text-align:left;color:var(--muted);font-weight:600;padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:13px 10px;border-bottom:1px solid #eef1eb;vertical-align:middle}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}td strong{font-weight:600}td .text-button{font-size:10px}tbody tr:hover{background:#fafbf7}tr.total{font-weight:650;background:#f1f5ec}tr.total td{border-top:1px solid #dbe4d2}.negative{color:var(--red)}.table-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.table-controls input{min-width:200px;flex:1}.table-controls input,.table-controls select,input,select,textarea{padding:9px 10px;border:1px solid #dce3d7;border-radius:5px;background:white;color:var(--ink)}.pagination{display:flex;align-items:center;justify-content:space-between;margin-top:16px;font-size:11px;color:var(--muted)}.pagination button{padding:6px 12px;font-size:11px}.metrics-inline{display:flex;gap:25px;margin-bottom:18px;font-size:11px;color:var(--muted)}.metrics-inline strong{display:block;color:var(--ink);font-size:22px;font-weight:500;margin-top:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:11px;display:flex;flex-direction:column;gap:5px}.form-grid .full{grid-column:1/-1}.form-grid button{justify-self:start}.form-note{font-size:11px;color:var(--muted);margin:14px 0}.document-card{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.document-card span:first-child{font-size:23px;color:#7b9672}.document-card a{margin-left:auto;font-size:11px}.document-card strong{font-size:12px}.document-card p{font-size:10px;color:var(--muted);margin:3px 0}ul.checklist{padding:0;list-style:none}ul.checklist li{padding:12px 0;border-bottom:1px solid #edf0e9;font-size:12px}ul.checklist li:before{content:'○';color:var(--amber);margin-right:10px}.source-card{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:16px 0}.source-card p{font-size:11px;color:var(--muted);margin:4px 0}.source-card>div:last-child{text-align:right;font-size:10px;min-width:105px}footer{display:flex;justify-content:space-between;font-size:9px;color:#8c978a;border-top:1px solid var(--line);padding:20px 0 25px;margin-top:30px}dialog{border:1px solid var(--line);border-radius:12px;width:min(850px,95vw);max-height:88vh;overflow-y:auto;padding:24px;box-shadow:0 25px 80px #142e2a40}dialog::backdrop{background:#15382b60;backdrop-filter:blur(2px)}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.modal-heading button{background:transparent;color:var(--ink);font-size:25px;padding:0 5px}.allocation-row{display:grid;grid-template-columns:1.5fr 1fr 75px 35px;gap:8px;margin-bottom:10px}.allocation-row input{width:100%}.allocation-row button{padding:5px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 90% 20%,#dce7cc,transparent 70%),var(--paper)}.login-panel{width:min(440px,92vw);padding:35px}.login-panel .brand-symbol{margin-bottom:30px}.login-panel .eyebrow{display:block}.login-panel h1{font-size:39px;line-height:1.2;margin:12px 0 22px}.login-panel p{font-size:13px;color:var(--muted)}.login-panel form{display:flex;flex-direction:column;gap:15px;margin-top:28px}.login-panel label{display:flex;flex-direction:column;gap:6px;font-size:11px}.login-panel form button{margin-top:7px}.login-panel>.secondary{width:100%;margin-top:12px}.login-panel small{display:block;margin-top:35px;color:var(--muted);font-size:10px}#error{padding:15px;background:#faeae4;color:var(--red);border-radius:5px;margin-bottom:20px}#login-error{color:var(--red)}.loading{padding:60px;color:var(--muted);text-align:center}
@media(min-width:1600px){main{padding-left:55px;padding-right:55px}.card-value{font-size:34px}.chart{height:290px}}@media(max-width:1150px){aside{width:205px;padding:25px 15px}main{margin-left:205px;padding:30px 24px 0}.cards{gap:10px}.card{padding:15px}.card-value{font-size:23px}.grid-main{grid-template-columns:1.4fr 1fr;gap:15px}.date-range{flex-wrap:wrap}}@media(max-width:860px){aside{position:static;width:auto;padding:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:20px}.brand-sub,.nav-label{display:none}.aside-bottom{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 0 0}.aside-bottom p{margin:0;flex:1}.aside-bottom .status-dot{display:none}.aside-bottom button{white-space:nowrap}nav{flex-direction:row;overflow-x:auto;margin-top:16px}nav button{white-space:nowrap;padding:8px 10px;gap:5px}nav button span{font-size:11px}main{margin-left:0;padding:24px 18px 0}.cards{grid-template-columns:1fr 1fr}.grid-main{grid-template-columns:1fr}.internal-badge{display:none}.toolbar{gap:12px}.export-link{margin-left:0}.notice button{display:none}.panel{padding:18px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}h1{font-size:26px}.allocation-row{grid-template-columns:1fr 1fr 60px 30px}.allocation-row select{font-size:10px;width:100%;padding:7px 3px}footer{gap:12px;flex-wrap:wrap}}

@media(max-width:480px){.card{padding:14px 12px}.card-value{font-size:clamp(17px,5vw,23px);letter-spacing:-.5px}.card-label{min-height:30px}.notice{align-items:flex-start}.date-range{width:100%;gap:5px}.date-range input{width:105px}.source-card{flex-wrap:wrap}.document-card{flex-wrap:wrap}.document-card>div{min-width:0;overflow-wrap:anywhere}.document-card a{margin-left:0}.metrics-inline{flex-wrap:wrap}.supplier-row{grid-template-columns:minmax(0,1fr) auto}}

.scalar-controls{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 15px;font-size:11px;color:var(--muted)}.scalar-controls label{display:flex;align-items:center;gap:8px;color:var(--ink)}.scalar-controls input{accent-color:var(--green)}.scalar-table td:first-child{min-width:235px}.scalar-table .scalar-detail td:first-child{padding-left:22px}.scalar-ratio{color:var(--muted);font-size:10px}.scalar-table .scalar-result{font-weight:700;background:#e4efdc}.scalar-result td{border-top:2px solid #9ab88c}.scalar-month{min-width:105px}.scalar-table th:first-child{min-width:235px}.scalar-table th.num{min-width:95px}

.login-logo{display:block;width:230px;max-width:100%;height:auto;margin-bottom:28px}.brand-accounting{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.brand-accounting img{display:block;width:195px;max-width:100%;height:auto}.brand-accounting .brand-sub{font-size:8px;letter-spacing:.5px}#activation-error{color:var(--red)}#login-info{color:var(--green)}
