:root{--bg:#f4f1ea;--paper:#fbfaf5;--ink:#0e0e0c;--ink-2:#1b1b17;--ink-soft:#3a3a33;--ink-dim:#75756b;--line:rgba(14,14,12,0.14);--line-strong:rgba(14,14,12,0.28);--green:#86bc25;--green-deep:#5e8a14;--ochre:#c2683a;--azure:#2b5f8a;--maxw:1480px;--pad-x:clamp(20px,4vw,48px);--rhythm:clamp(72px,9vw,140px);--red:#a32118;--red-deep:#7d160f;--green-text:#4a6e10;--ochre-text:#94491f;--azure-deep:#1d4364;--ink-dim-text:#626259;--green-wash:#ebf1d8;--ochre-wash:#f4e7dd;--azure-wash:#e4e9e9;--red-wash:#f2e4df;--ink-wash:#efeee9;--line-faint:rgba(14,14,12,0.07);--surface-canvas:var(--bg);--surface-paper:var(--paper);--surface-raised:#ffffff;--surface-sunken:#efebe1;--surface-inverse:var(--ink-2);--surface-hover:rgba(14,14,12,0.04);--surface-active:rgba(14,14,12,0.07);--surface-selected:#e8eceb;--surface-overlay:rgba(14,14,12,0.44);--surface-disabled:rgba(14,14,12,0.04);--text-primary:var(--ink);--text-secondary:var(--ink-soft);--text-tertiary:var(--ink-dim-text);--text-inverse:var(--paper);--text-link:var(--azure);--text-link-hover:var(--azure-deep);--text-disabled:rgba(14,14,12,0.36);--border-subtle:var(--line-faint);--border-default:var(--line);--border-strong:var(--line-strong);--border-inverse:rgba(251,250,245,0.24);--action-primary-bg:var(--green-text);--action-primary-bg-hover:#3f5d0a;--action-primary-bg-active:#365008;--action-primary-fg:var(--on-accent);--action-primary-border:var(--green-text);--on-accent:#ffffff;--focus-ring:var(--azure);--focus-ring-offset:var(--paper);--focus-ring-width:2px;--focus-ring-offset-width:2px;--status-neutral-fg:var(--ink-soft);--status-neutral-bg:var(--ink-wash);--status-neutral-border:var(--line-strong);--status-success-fg:var(--green-text);--status-success-bg:var(--green-wash);--status-success-border:var(--green-deep);--status-warning-fg:var(--ochre-text);--status-warning-bg:var(--ochre-wash);--status-warning-border:var(--ochre);--status-danger-fg:var(--red);--status-danger-bg:var(--red-wash);--status-danger-border:var(--red);--status-info-fg:var(--azure);--status-info-bg:var(--azure-wash);--status-info-border:var(--azure);--data-positive:var(--green-text);--data-negative:var(--red);--data-forecast:var(--azure);--data-budget:var(--ink-dim);--data-neutral:var(--ink-soft);--chart-1:#2b5f8a;--chart-2:#86bc25;--chart-3:#c2683a;--chart-4:#5e8a14;--chart-5:#7a5ea8;--chart-6:#1d7f74;--chart-7:#a32118;--chart-8:#75756b;--chart-grid:rgba(14,14,12,0.1);--chart-axis:var(--ink-dim);--font-sans:var(--font-plex-sans),ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:var(--font-plex-mono),ui-monospace,"SFMono-Regular","Menlo",monospace;--font-serif:var(--font-plex-serif),ui-serif,Georgia,serif;--text-3xs:0.625rem;--text-2xs:0.6875rem;--text-xs:0.75rem;--text-sm:0.8125rem;--text-base:0.875rem;--text-md:0.9375rem;--text-lg:1.0625rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.375rem;--text-5xl:3rem;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--tracking-tight:-0.015em;--tracking-normal:0;--tracking-wide:0.02em;--tracking-caps:0.06em;--space-0:0;--space-px:1px;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-xs:2px;--radius-sm:3px;--radius-md:5px;--radius-lg:8px;--radius-xl:12px;--radius-full:999px;--shadow-none:none;--shadow-sm:0 1px 2px rgba(14,14,12,0.06);--shadow-md:0 2px 8px rgba(14,14,12,0.08),0 1px 2px rgba(14,14,12,0.04);--shadow-lg:0 8px 28px rgba(14,14,12,0.12),0 2px 6px rgba(14,14,12,0.06);--shadow-overlay:0 16px 48px rgba(14,14,12,0.18);--header-height:52px;--subheader-height:44px;--sidebar-width:244px;--sidebar-width-compact:56px;--drawer-width:clamp(320px,34vw,520px);--page-max:var(--maxw);--row-height-comfortable:44px;--row-height-compact:34px;--row-height-dense:27px;--row-height:var(--row-height-compact);--cell-pad-x:var(--space-3);--duration-instant:60ms;--duration-fast:120ms;--duration-normal:180ms;--duration-slow:280ms;--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-in-out:cubic-bezier(0.65,0,0.35,1);--z-base:0;--z-sticky:10;--z-header:40;--z-sidebar:30;--z-dropdown:60;--z-overlay:70;--z-modal:80;--z-toast:90;--z-tooltip:100;--z-devtools:110;--touch-target:24px;--touch-target-mobile:44px}[data-theme=dark]{--bg:#12120f;--paper:#1a1a16;--ink:#f2efe6;--ink-2:#e4e0d4;--ink-soft:#c2beb1;--ink-dim:#8f8b7e;--ink-dim-text:#a3a092;--line:rgba(242,239,230,0.14);--line-strong:rgba(242,239,230,0.3);--line-faint:rgba(242,239,230,0.08);--green:#a3d945;--green-deep:#86bc25;--green-text:#a8dd4e;--ochre:#dd8355;--ochre-text:#e5a07d;--azure:#77b1de;--azure-deep:#a3caea;--red:#f08a80;--red-deep:#f5a9a1;--green-wash:#2d3719;--ochre-wash:#3c2a1d;--azure-wash:#293236;--red-wash:#3a2b26;--ink-wash:#292925;--surface-selected:#272f32;--surface-raised:#222219;--surface-sunken:#0d0d0b;--surface-inverse:#f2efe6;--surface-hover:rgba(242,239,230,0.05);--surface-active:rgba(242,239,230,0.09);--surface-overlay:rgba(0,0,0,0.62);--surface-disabled:rgba(242,239,230,0.05);--text-inverse:#12120f;--text-disabled:rgba(242,239,230,0.34);--border-inverse:rgba(14,14,12,0.3);--action-primary-bg:#86bc25;--action-primary-bg-hover:#96cc33;--action-primary-bg-active:#78ab1e;--action-primary-fg:var(--on-accent);--action-primary-border:#86bc25;--on-accent:#12120f;--focus-ring:#8fc0e8;--focus-ring-offset:var(--bg);--data-positive:var(--green-text);--data-negative:var(--red);--data-forecast:var(--azure);--chart-1:#77b1de;--chart-2:#a3d945;--chart-3:#dd8355;--chart-4:#86bc25;--chart-5:#b39ad9;--chart-6:#4fb8a9;--chart-7:#f08a80;--chart-8:#a5a196;--chart-grid:rgba(242,239,230,0.1);--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 2px 8px rgba(0,0,0,0.45),0 1px 2px rgba(0,0,0,0.3);--shadow-lg:0 8px 28px rgba(0,0,0,0.5),0 2px 6px rgba(0,0,0,0.35);--shadow-overlay:0 16px 48px rgba(0,0,0,0.6)}@media (prefers-contrast:more){:root{--line:rgba(14,14,12,0.3);--line-strong:rgba(14,14,12,0.55);--text-tertiary:var(--ink-soft);--focus-ring-width:3px}}[data-density=comfortable]{--row-height:var(--row-height-comfortable);--cell-pad-x:var(--space-4)}[data-density=compact]{--row-height:var(--row-height-compact);--cell-pad-x:var(--space-3)}[data-density=dense]{--row-height:var(--row-height-dense);--cell-pad-x:var(--space-2)}*,:after,:before{box-sizing:border-box}*{margin:0}html{text-size-adjust:100%;font-size:16px;scroll-behavior:smooth}body,html{height:100%}body{background-color:var(--surface-canvas);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);font-weight:var(--weight-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"cv05" 1,"tnum"}canvas,img,picture,svg,video{display:block;max-width:100%}svg{fill:currentColor}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{background:none;border:none;padding:0;cursor:pointer}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}ol,ul{list-style:none;padding:0}a{color:var(--text-link);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--text-link-hover)}table{border-collapse:collapse;border-spacing:0}fieldset{border:none;min-inline-size:0}fieldset,legend{padding:0}hr{border:none;border-top:1px solid var(--border-default)}[hidden]{display:none!important}:focus{outline:none}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset-width);border-radius:var(--radius-sm)}:focus-visible:not(:has(*)){scroll-margin:var(--space-6)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}::selection{background-color:var(--azure-wash);color:var(--text-primary)}*{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--line-strong);border-radius:var(--radius-full);border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:var(--ink-dim);background-clip:content-box}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);inset-inline-start:var(--space-2);z-index:var(--z-tooltip);transform:translateY(-200%);background-color:var(--surface-raised);color:var(--text-primary);padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);font-weight:var(--weight-medium);text-decoration:none;transition:transform var(--duration-fast) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1,"tnum"}.mono{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:.95em}[dir=rtl]{--tracking-tight:0}[dir=rtl] .mono,[dir=rtl] .tabular{direction:ltr;unicode-bidi:embed}@media print{:root{--surface-canvas:#ffffff;--surface-paper:#ffffff;--shadow-sm:none;--shadow-md:none;--shadow-lg:none}body{background:#ffffff}[data-print=hide],[data-radix-popper-content-wrapper],[role=dialog]>div:last-of-type,[role=dialog]>header{display:none!important}[role=dialog]{position:static!important;transform:none!important;width:100%!important;max-height:none!important;border:none!important;box-shadow:none!important;border-radius:0!important}}[data-privacy=on] [data-sensitive=true]{filter:blur(5px);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:filter var(--duration-fast) var(--ease-out)}[data-privacy=on] [data-sensitive=true]:hover{filter:blur(3.5px)}