:root{--brand-900:#0b5d3b;--brand-700:#167a50;--brand-100:#e7f3ed;--surface:#ffffff;--canvas:#f6f8f6;--text-900:#18251f;--text-600:#61716a;--border:#d7e2dc;--warning-fg:#9b6b05;--warning-bg:#fff6dc;--danger-fg:#a33131;--danger-bg:#fceaea;--info-fg:#245a7a;--info-bg:#eaf3f8;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-field:8px;--radius-card:12px;--radius-modal:16px;--shadow-overlay:0 8px 24px rgb(0 0 0/8%);--font-ui:"Heebo","Assistant",Arial,sans-serif;--font-weight-body:400;--font-weight-label:500;--font-weight-heading:600;--text-body:15px;--text-table:14px;--text-page-title:26px;--text-kpi:32px;--text-min:13px;--sidebar-width:280px;--sidebar-width-collapsed:88px;--drawer-width:520px;--content-padding:30px}@media (max-width:1024px){:root{--content-padding:20px}}@media (max-width:640px){:root{--content-padding:16px}}.numeric{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:end}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--text-900);font-family:var(--font-ui);font-size:var(--text-body);font-weight:var(--font-weight-body);line-height:1.55}h1,h2,h3,h4{margin:0;font-weight:var(--font-weight-heading);line-height:1.3}:focus-visible{outline:2px solid var(--brand-700);outline-offset:2px;border-radius:4px}.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);background:var(--brand-900);color:#fff;border-radius:var(--radius-field);transition:inset-block-start .15s}.skip-link:focus{inset-block-start:var(--space-4)}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-block-size:100dvh}.app-sidebar{position:-webkit-sticky;position:sticky;inset-block-start:0;block-size:100dvh;background:var(--brand-900);color:#fff;padding:var(--space-5) var(--space-4)}.app-main{padding:var(--content-padding);min-inline-size:0}@media (max-width:1024px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}}.scroll-x{overflow-x:auto;max-inline-size:100%}