/* Erzeugt aus tokens.json – nicht von Hand ändern. python3 replica/design/build_tokens.py */

:root {
  color-scheme: light;
  --c-bg: #FFFFFF;
  --c-surface: #F3F7FD;
  --c-surface-raised: #FFFFFF;
  --c-border: #DCE5F3;
  --c-border-strong: #B9C9E2;
  --c-border-input: #6B82A8;
  --c-text: #0F2347;
  --c-text-muted: #4A5F84;
  --c-text-faint: #7A8DAE;
  --c-accent: #1A5CE6;
  --c-accent-hover: #1448BD;
  --c-accent-soft: #E6EEFC;
  --c-on-accent: #FFFFFF;
  --c-danger: #C62F2F;
  --c-danger-soft: #FDE8E8;
  --c-on-danger: #FFFFFF;
  --c-success: #047857;
  --c-success-soft: #D7F5E9;
  --c-warning: #B45309;
  --c-warning-soft: #FFF4E5;
  --c-info: #1D4ED8;
  --c-info-soft: #DCE8FE;
  --c-focus: #1A5CE6;
  --c-overlay: #0F2347;
  --c-map-ring: #FFFFFF;
  --c-status-lead-fill: #0D9488;
  --c-status-lead-text: #0F766E;
  --c-status-lead-soft: #CCFBF1;
  --c-status-not-home-fill: #7C8798;
  --c-status-not-home-text: #475569;
  --c-status-not-home-soft: #F1F5F9;
  --c-status-no-interest-fill: #EF4444;
  --c-status-no-interest-text: #B91C1C;
  --c-status-no-interest-soft: #FEE2E2;
  --c-status-appointment-fill: #3B82F6;
  --c-status-appointment-text: #1D4ED8;
  --c-status-appointment-soft: #DBEAFE;
  --c-status-has-product-fill: #D97706;
  --c-status-has-product-text: #92400E;
  --c-status-has-product-soft: #FEF3C7;
  --c-status-closed-fill: #16A34A;
  --c-status-closed-text: #15803D;
  --c-status-closed-soft: #DCFCE7;
  --c-status-too-old-fill: #475569;
  --c-status-too-old-text: #334155;
  --c-status-too-old-soft: #E2E8F0;
  --c-status-tenant-fill: #A855F7;
  --c-status-tenant-text: #7E22CE;
  --c-status-tenant-soft: #F3E8FF;
  --c-kpi-doors: #1D4ED8;
  --c-kpi-leads: #0F766E;
  --c-kpi-appointments: #B45309;
  --c-kpi-deals: #15803D;
  --fs-xs: 12px; --lh-xs: 16px; --fw-xs: 500;
  --fs-sm: 14px; --lh-sm: 20px; --fw-sm: 400;
  --fs-base: 16px; --lh-base: 24px; --fw-base: 400;
  --fs-lg: 18px; --lh-lg: 26px; --fw-lg: 600;
  --fs-xl: 22px; --lh-xl: 28px; --fw-xl: 700;
  --fs-display: 28px; --lh-display: 34px; --fw-display: 700;
  --fs-kpi: 32px; --lh-kpi: 36px; --fw-kpi: 700;
  --sp-0: 0px;
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-7: 32px;
  --sp-8: 48px;
  --sp-9: 64px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-pill: 999px;
  --sh-card: 0 1px 2px rgba(15,35,71,.05), 0 2px 10px rgba(15,35,71,.07);
  --sh-raised: 0 4px 16px rgba(15,35,71,.10), 0 12px 32px rgba(15,35,71,.10);
  --sh-pop: 0 16px 48px rgba(15,35,71,.18);
  --sh-pin: 0 1px 3px rgba(0,0,0,.45);
  --m-fast: 120ms;
  --m-base: 200ms;
  --m-slow: 320ms;
  --m-ease: cubic-bezier(.2,.8,.2,1);
  --m-spring: cubic-bezier(.34,1.56,.64,1);
  --l-content-max: 640px;
  --l-desktop-max: 1200px;
  --l-sidebar: 240px;
  --l-header: 52px;
  --l-tabbar: 56px;
  --l-touch-min: 44px;
  --l-gutter: 16px;
  --z-map-controls: 10;
  --z-sheet: 20;
  --z-header: 30;
  --z-toast: 40;
  --z-modal: 50;
  --font-sans: Inter, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --c-bg: #0A1630;
    --c-surface: #11213F;
    --c-surface-raised: #182B4F;
    --c-border: #24395F;
    --c-border-strong: #35507C;
    --c-border-input: #7F9AC4;
    --c-text: #F1F5FC;
    --c-text-muted: #AEBFD9;
    --c-text-faint: #8599B8;
    --c-accent: #7FA7FF;
    --c-accent-hover: #9DBBFF;
    --c-accent-soft: #1D3466;
    --c-on-accent: #061227;
    --c-danger: #FF8080;
    --c-danger-soft: #4A1F24;
    --c-on-danger: #1B0A0A;
    --c-success: #5DD5A0;
    --c-success-soft: #15382D;
    --c-warning: #F5B45A;
    --c-warning-soft: #45311A;
    --c-info: #8DB4FF;
    --c-info-soft: #1C3466;
    --c-focus: #9DBBFF;
    --c-overlay: #000000;
    --c-map-ring: #FFFFFF;
    --c-status-lead-fill: #0D9488;
    --c-status-lead-text: #7EEADB;
    --c-status-lead-soft: #113B37;
    --c-status-not-home-fill: #7C8798;
    --c-status-not-home-text: #CBD5E1;
    --c-status-not-home-soft: #2A3242;
    --c-status-no-interest-fill: #F87171;
    --c-status-no-interest-text: #FCA5A5;
    --c-status-no-interest-soft: #4A2222;
    --c-status-appointment-fill: #60A5FA;
    --c-status-appointment-text: #A7C8FF;
    --c-status-appointment-soft: #1E2F55;
    --c-status-has-product-fill: #D97706;
    --c-status-has-product-text: #FCD98A;
    --c-status-has-product-soft: #45361A;
    --c-status-closed-fill: #16A34A;
    --c-status-closed-text: #9BEDB7;
    --c-status-closed-soft: #173A28;
    --c-status-too-old-fill: #475569;
    --c-status-too-old-text: #B8C2D1;
    --c-status-too-old-soft: #2A3242;
    --c-status-tenant-fill: #C084FC;
    --c-status-tenant-text: #DDB8FF;
    --c-status-tenant-soft: #3A2458;
    --c-kpi-doors: #A7C8FF;
    --c-kpi-leads: #7EEADB;
    --c-kpi-appointments: #FCD98A;
    --c-kpi-deals: #9BEDB7;
    --sh-card: 0 1px 2px rgba(0,0,0,.4), 0 2px 10px rgba(0,0,0,.35);
    --sh-raised: 0 4px 16px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.4);
    --sh-pop: 0 16px 48px rgba(0,0,0,.6);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --c-bg: #0A1630;
  --c-surface: #11213F;
  --c-surface-raised: #182B4F;
  --c-border: #24395F;
  --c-border-strong: #35507C;
  --c-border-input: #7F9AC4;
  --c-text: #F1F5FC;
  --c-text-muted: #AEBFD9;
  --c-text-faint: #8599B8;
  --c-accent: #7FA7FF;
  --c-accent-hover: #9DBBFF;
  --c-accent-soft: #1D3466;
  --c-on-accent: #061227;
  --c-danger: #FF8080;
  --c-danger-soft: #4A1F24;
  --c-on-danger: #1B0A0A;
  --c-success: #5DD5A0;
  --c-success-soft: #15382D;
  --c-warning: #F5B45A;
  --c-warning-soft: #45311A;
  --c-info: #8DB4FF;
  --c-info-soft: #1C3466;
  --c-focus: #9DBBFF;
  --c-overlay: #000000;
  --c-map-ring: #FFFFFF;
  --c-status-lead-fill: #0D9488;
  --c-status-lead-text: #7EEADB;
  --c-status-lead-soft: #113B37;
  --c-status-not-home-fill: #7C8798;
  --c-status-not-home-text: #CBD5E1;
  --c-status-not-home-soft: #2A3242;
  --c-status-no-interest-fill: #F87171;
  --c-status-no-interest-text: #FCA5A5;
  --c-status-no-interest-soft: #4A2222;
  --c-status-appointment-fill: #60A5FA;
  --c-status-appointment-text: #A7C8FF;
  --c-status-appointment-soft: #1E2F55;
  --c-status-has-product-fill: #D97706;
  --c-status-has-product-text: #FCD98A;
  --c-status-has-product-soft: #45361A;
  --c-status-closed-fill: #16A34A;
  --c-status-closed-text: #9BEDB7;
  --c-status-closed-soft: #173A28;
  --c-status-too-old-fill: #475569;
  --c-status-too-old-text: #B8C2D1;
  --c-status-too-old-soft: #2A3242;
  --c-status-tenant-fill: #C084FC;
  --c-status-tenant-text: #DDB8FF;
  --c-status-tenant-soft: #3A2458;
  --c-kpi-doors: #A7C8FF;
  --c-kpi-leads: #7EEADB;
  --c-kpi-appointments: #FCD98A;
  --c-kpi-deals: #9BEDB7;
  --sh-card: 0 1px 2px rgba(0,0,0,.4), 0 2px 10px rgba(0,0,0,.35);
  --sh-raised: 0 4px 16px rgba(0,0,0,.45), 0 12px 32px rgba(0,0,0,.4);
  --sh-pop: 0 16px 48px rgba(0,0,0,.6);
}

@media (prefers-reduced-motion: reduce) { :root { --m-fast: 0ms; --m-base: 0ms; --m-slow: 0ms; } }

html, body { background: var(--c-bg); color: var(--c-text); font-family: var(--font-sans); font-size: var(--fs-base); line-height: var(--lh-base); -webkit-font-smoothing: antialiased; }
