:root{--accent:#14897b;--accent-soft:#e3f6f3;--on-accent:#fff;--chart:#0e9f8e;--bg:#f6f8f8;--surface:#fff;--surface-2:#f0f3f3;--border:#dde3e2;--grid:#e8eceb;--text:#14201e;--muted:#5b6b68;--danger:#b42318;--danger-soft:#feeceb;--on-danger:#fff;--warn:#8a5a00;--warn-soft:#fff4d6;--success:#16794c;--success-soft:#e5f6ec;--radius:10px;--space:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--accent:#20b8a5;--accent-soft:#0f3330;--on-accent:#06201c;--chart:#1aa898;--bg:#0e1413;--surface:#161e1d;--surface-2:#1d2726;--border:#2a3533;--grid:#222c2b;--text:#e8efee;--muted:#9aaba8;--danger:#ff8a80;--danger-soft:#3a1715;--on-danger:#2b0703;--warn:#f5c451;--warn-soft:#33290f;--success:#6fd49b;--success-soft:#11291c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);margin:0}a{color:var(--accent)}h1{margin:0;font-size:22px}h2{margin:0 0 12px;font-size:17px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:232px 1fr;align-content:start;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:2px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{padding:4px 10px 12px;font-size:17px;font-weight:700}.brand small{color:var(--muted);font-size:13px;font-weight:400;display:block}.nav a{min-height:40px;color:var(--text);border-radius:8px;align-items:center;padding:0 10px;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2)}.nav a[aria-current=page]{background:var(--accent-soft);font-weight:600}.topbar{display:none}main{width:100%;min-width:0;max-width:1400px;padding:24px}@media (width<=899px){.shell{grid-template-columns:1fr}.sidebar{z-index:20;border-right:0;height:auto;display:none;position:fixed;inset:56px 0 0}.sidebar.open{display:flex}.topbar{background:var(--surface);border-bottom:1px solid var(--border);z-index:21;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 16px;display:flex;position:sticky;top:0}main{padding:16px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar{flex-wrap:wrap;align-items:end;gap:8px;margin-bottom:16px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;margin-bottom:16px;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;min-width:0;padding:16px}.muted{color:var(--muted)}.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.btn{border-radius:var(--radius);border:1px solid var(--accent);background:var(--accent);min-height:40px;color:var(--on-accent);font:inherit;cursor:pointer;padding:0 16px;font-weight:600}.btn.secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--on-danger)}.btn.link{color:var(--accent);background:0 0;border:0;min-height:32px;padding:0 4px}.btn:disabled{opacity:.5;cursor:not-allowed}label.field{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}.field input,.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-height:40px;color:var(--text);font:inherit;padding:0 10px;font-size:15px}.field textarea{min-height:72px;padding:8px 10px}.field .error{color:var(--danger)}.field.invalid input,.field.invalid select{border-color:var(--danger)}.check{align-items:center;gap:8px;min-height:40px;display:flex}.banner{border-radius:var(--radius);margin-bottom:12px;padding:10px 14px}.banner.info{background:var(--accent-soft)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.banner.danger{background:var(--danger-soft);color:var(--danger)}.banner.success{background:var(--success-soft);color:var(--success)}.badge{background:var(--surface-2);border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.success{background:var(--success-soft);color:var(--success)}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--grid);vertical-align:top;padding:10px 12px}th{color:var(--muted);background:var(--surface-2);font-size:13px;font-weight:600;position:sticky;top:0}tr:last-child td{border-bottom:0}td:first-child{white-space:nowrap}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--surface-2)}.empty{text-align:center;color:var(--muted);padding:32px}.skeleton{background:linear-gradient(90deg, var(--surface-2), var(--grid), var(--surface-2));background-size:200% 100%;border-radius:4px;height:14px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.stat .label{color:var(--muted);font-size:13px}.stat .value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.hero .value{font-size:48px;line-height:1.1}.stat .note{color:var(--muted);font-size:12px}dialog.drawer{border:0;border-left:1px solid var(--border);background:var(--surface);width:min(560px,100vw);height:100vh;max-height:100vh;color:var(--text);margin:0 0 0 auto;padding:0}dialog.drawer::backdrop{background:#00000059}.drawer-head{border-bottom:1px solid var(--border);background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}.drawer-body{flex-direction:column;gap:12px;padding:16px;display:flex}.chart{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .bar{fill:var(--chart)}.chart .bar.hover{fill-opacity:.8}.chart .gridline{stroke:var(--grid);stroke-width:1px}.chart .tick{fill:var(--muted);font-size:11px}.chart .value-label{fill:var(--text);font-size:12px}.tooltip{pointer-events:none;background:var(--text);color:var(--bg);white-space:nowrap;z-index:2;border-radius:8px;padding:6px 10px;font-size:13px;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.login{place-items:center;min-height:100vh;padding:16px;display:grid}.login .card{width:min(440px,100%)}@media print{body *{visibility:hidden}.print-area,.print-area *{visibility:visible}.print-area{color:#000;background:#fff;padding:16px;position:absolute;inset:0}.no-print{display:none}}
