:root{--bg:#f4f6f8;--panel:#fff;--line:#d9dee5;--line2:#e8ebef;--text:#20252b;--muted:#68717d;--accent:#1f6f4a;--accent2:#185a3c;--head:#eef3ef;--danger:#b42318}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}body{font-size:14px}a{color:inherit}.topbar{min-height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:20px}.topbar h1{font-size:22px;margin:0 0 3px;color:#1e2429}.topbar span{font-size:13px;color:var(--muted)}.page{padding:24px 28px 40px;max-width:1600px;margin:0 auto}.page.narrow{max-width:980px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.search{display:flex;gap:8px;min-width:min(560px,60vw)}.search input{flex:1}.toolbar-actions{display:flex;gap:8px}.btn{appearance:none;border:1px solid #cbd2d9;background:#fff;color:#222b33;border-radius:6px;padding:9px 14px;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:hover{background:#f7f8f9}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.ghost,.ghost-link{background:transparent}.sheet-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.sheet-scroll{overflow:auto}.excel-table{width:100%;border-collapse:separate;border-spacing:0;min-width:1100px}.excel-table th{position:sticky;top:0;z-index:1;background:var(--head);color:#2c3831;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #cfd8d2;border-right:1px solid #dce3de;padding:11px 12px;white-space:nowrap}.excel-table td{background:#fff;border-bottom:1px solid var(--line2);border-right:1px solid #eef0f2;padding:11px 12px;vertical-align:top;color:#2a3036}.excel-table tbody tr:hover td{background:#fbfcfb}.excel-table th:last-child,.excel-table td:last-child{border-right:0}.excel-table tr:last-child td{border-bottom:0}.excel-table .num{text-align:right;font-variant-numeric:tabular-nums}.excel-table .obs{min-width:240px;max-width:420px;white-space:normal}.empty{text-align:center!important;color:var(--muted)!important;padding:34px!important}.row-link{color:var(--accent);font-weight:700;text-decoration:none;white-space:nowrap}.count{display:inline-flex;min-width:26px;height:24px;align-items:center;justify-content:center;background:#edf4f0;border-radius:999px;color:#215d43;font-weight:700}.panel{padding:22px}.panel h2,.section-head h2{margin:0;font-size:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid h2{grid-column:1/-1;margin-bottom:2px}.form-grid .full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:650;color:#343d45}input,textarea{width:100%;border:1px solid #cfd5dc;border-radius:6px;background:#fff;color:#20252b;padding:10px 11px;font:inherit;outline:none}input:focus,textarea:focus{border-color:#458566;box-shadow:0 0 0 3px rgba(31,111,74,.1)}textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.section-head{display:flex;align-items:end;justify-content:space-between;margin:26px 0 10px}.section-head p{margin:4px 0 0}.muted{color:var(--muted)}.delta{font-weight:700}.delta.up{color:#8a5b13}.delta.down{color:#177245}.link-danger{border:0;background:none;color:var(--danger);padding:0;font:inherit;font-weight:600;cursor:pointer}.alert{padding:11px 13px;border:1px solid #f0b8b2;background:#fff1ef;color:#8f2019;border-radius:6px;margin-bottom:16px}.login-body{display:grid;place-items:center;padding:24px;background:#edf1ef}.login-card{width:min(400px,100%);background:#fff;border:1px solid var(--line);border-radius:10px;padding:32px;box-shadow:0 12px 35px rgba(31,42,36,.08)}.login-card h1{margin:12px 0 4px;font-size:24px}.login-card p{margin:0 0 24px}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:8px;background:var(--accent);color:#fff;font-weight:800}.form-stack{display:flex;flex-direction:column;gap:16px}.form-stack .btn{margin-top:4px;padding:11px}@media(max-width:900px){.topbar,.page{padding-left:16px;padding-right:16px}.toolbar{align-items:stretch;flex-direction:column}.search{min-width:0;width:100%}.toolbar-actions{justify-content:flex-end}.two-col{grid-template-columns:1fr}}@media(max-width:600px){.topbar{padding:12px 16px}.topbar h1{font-size:18px}.page{padding-top:16px}.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:1!important}.toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.toolbar-actions .btn{text-align:center}.search{display:grid;grid-template-columns:1fr auto}.search .ghost-link{display:none}.panel{padding:16px}}
