/* Rustig tokens: licht standaard, donker via systeem of data-theme */
:root, [data-theme="light"]{--bg:#FAF9F6;--bg-alt:#F0EEE6;--surface:#FFFFFF;--surface-sunken:#F5F3EC;--border:#E6E2D8;--border-strong:#D8D3C4;--border-control:#8F8979;--scrim:rgba(48, 41, 31, 0.45);--text:#141413;--text-muted:#5E5D59;--text-faint:#736F65;--accent:#D97757;--accent-strong:#B5502C;--accent-hover:#9A4325;--accent-soft:#F3E3D8;--accent-text:#7A3B1F;--on-accent:#FFFFFF;--success:#46703A;--success-soft:#E6EFDF;--danger:#B03324;--danger-soft:#F8E3E0;--warn:#86590C;--warn-soft:#F5EBD3;--on-solid:#FFFFFF;--shadow-sm:0 1px 2px rgba(48, 41, 31, 0.06);--shadow:0 4px 16px rgba(48, 41, 31, 0.08);}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--bg:#21201C;--bg-alt:#2A2822;--surface:#2A2822;--surface-sunken:#24231F;--border:#3B382F;--border-strong:#4A4638;--border-control:#8A846F;--scrim:rgba(0, 0, 0, 0.6);--text:#FAF9F5;--text-muted:#B0AEA5;--text-faint:#A19B87;--accent:#E28B6D;--accent-strong:#E28B6D;--accent-hover:#EDA486;--accent-soft:#3D2A21;--accent-text:#F0B79A;--on-accent:#24150E;--success:#8DB87C;--success-soft:#26301F;--danger:#E5827A;--danger-soft:#3A211E;--warn:#D9A441;--warn-soft:#362D19;--on-solid:#1B1A16;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow:0 4px 20px rgba(0, 0, 0, 0.35);}}
[data-theme="dark"]{--bg:#21201C;--bg-alt:#2A2822;--surface:#2A2822;--surface-sunken:#24231F;--border:#3B382F;--border-strong:#4A4638;--border-control:#8A846F;--scrim:rgba(0, 0, 0, 0.6);--text:#FAF9F5;--text-muted:#B0AEA5;--text-faint:#A19B87;--accent:#E28B6D;--accent-strong:#E28B6D;--accent-hover:#EDA486;--accent-soft:#3D2A21;--accent-text:#F0B79A;--on-accent:#24150E;--success:#8DB87C;--success-soft:#26301F;--danger:#E5827A;--danger-soft:#3A211E;--warn:#D9A441;--warn-soft:#362D19;--on-solid:#1B1A16;--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.3);--shadow:0 4px 20px rgba(0, 0, 0, 0.35);}
:root{--space-1:4px;--space-2:6px;--space-3:8px;--space-4:10px;--space-5:12px;--space-6:14px;--space-7:16px;--space-8:18px;--space-9:20px;--space-10:22px;--space-11:28px;--space-12:40px;--radius-sm:8px;--radius:14px;--radius-lg:20px;--radius-pill:100px;--sidebar-w:232px;--sidebar-w-collapsed:68px;--page-max:980px;--page-max-lg:1080px;--touch:40px;--nav-h:64px;--z-sticky:5;--z-nav:10;--z-overlay:30;--z-modal:40;--z-toast:50;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:ui-serif, "Iowan Old Style", "Palatino Linotype", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;}
.t-hero-value{font-family:var(--font-display);font-size:2.2812rem;line-height:2.5625rem;font-weight:500;letter-spacing:-0.02em;}
.t-stat-value{font-family:var(--font-display);font-size:1.8438rem;line-height:2.2812rem;font-weight:500;letter-spacing:-0.02em;}
.t-page-title{font-family:var(--font-display);font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.12;font-weight:500;letter-spacing:-0.02em;}
.t-modal-title{font-family:var(--font-display);font-size:1.35rem;line-height:1.2;font-weight:500;letter-spacing:-0.02em;}
.t-card-title{font-family:var(--font-display);font-size:1.15rem;line-height:1.25;font-weight:500;letter-spacing:-0.02em;}
.t-body{font-family:var(--font-sans);font-size:1.0625rem;line-height:1.5625rem;font-weight:400;}
.t-body-sm{font-family:var(--font-sans);font-size:0.9688rem;line-height:1.4062rem;font-weight:400;}
.t-label{font-family:var(--font-sans);font-size:0.9062rem;line-height:1.2812rem;font-weight:600;}
.t-caption{font-family:var(--font-sans);font-size:0.875rem;line-height:1.2812rem;font-weight:400;}
.t-hint{font-family:var(--font-sans);font-size:0.8438rem;line-height:1.125rem;font-weight:400;}
.t-button{font-family:var(--font-sans);font-size:1rem;line-height:1.4062rem;font-weight:600;}
.t-nav{font-family:var(--font-sans);font-size:1rem;line-height:1.4062rem;font-weight:400;}
.t-nav-mobile{font-family:var(--font-sans);font-size:0.7812rem;line-height:1rem;font-weight:500;}
.t-overline{font-family:var(--font-sans);font-size:0.75rem;line-height:1rem;font-weight:600;letter-spacing:0.1em;}
.t-badge{font-family:var(--font-sans);font-size:0.8438rem;line-height:1.125rem;font-weight:600;}
.t-chart-label{font-family:var(--font-sans);font-size:9px;line-height:12px;font-weight:400;}
.t-code{font-family:var(--font-mono);font-size:0.9688rem;line-height:1.4062rem;font-weight:400;}
