/* ==========================================================================
   Inkubator 100 Plus — design tokens (the ONLY file with color literals)
   Adapted from the WK Vermögensverwaltung design system (same group),
   pinned in docs/technical_doc/external_doc/wk_design_system/.
   Renamed --wk-* -> --ik-*; values unchanged (audited contrast fixes included).
   Navy is the authority color, gold is accent only (rules, figures, focus).
   Python renderers (Excel, Typst) read this file via core/design.py.
   ========================================================================== */
@font-face { font-family: "Carlito"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/carlito-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Carlito"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/carlito-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Carlito"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/carlito-latin-700-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Carlito"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/carlito-latin-ext-700-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Carlito"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("../fonts/carlito-latin-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Gelasio"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/gelasio-latin-400-normal.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Gelasio"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/gelasio-latin-ext-400-normal.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Gelasio"; font-style: normal; font-weight: 600; font-display: swap;
  src: url("../fonts/gelasio-latin-600-normal.woff2") format("woff2"); }

:root {
  /* brand */
  --ik-navy:            #1F3766;
  --ik-navy-hover:      #182B51;
  --ik-navy-active:     #13213E;
  --ik-navy-tint-90:    #E9EDF4;
  --ik-navy-tint-85:    #DFE5EF;
  --ik-navy-tint-80:    #CBD1DC;
  --ik-navy-tint-70:    #B9C3D6;
  --ik-navy-tint-40:    #6C7FA3;
  --ik-gold:            #B8922F;
  --ik-gold-hover:      #9C7B26;
  --ik-gold-tint-90:    #F7F1E1;
  --ik-gold-ink:        #82651E;  /* gold as TEXT (4.5:1 on white) */
  --ik-gold-on-navy:    #D4B15C;

  /* neutrals */
  --ik-ink:             #2B2B29;
  --ik-ink-muted:       #5F6066;
  --ik-gray:            #6B6C72;
  --ik-gray-soft:       #C9CDD6;
  --ik-row:             #EEF1F6;
  --ik-line:            #D8DDE6;
  --ik-line-soft:       #E8EBF0;
  --ik-field-line:      #7B8599;
  --ik-surface:         #FFFFFF;
  --ik-canvas:          #F6F7FA;
  --ik-white:           #FFFFFF;

  /* status, deliberately muted */
  --ik-success:         #16794A;
  --ik-success-bg:      #DCF0E4;
  --ik-warning:         #B8922F;
  --ik-warning-bg:      #F7F1E1;
  --ik-danger:          #AE2523;
  --ik-danger-bg:       #F8E6E5;
  --ik-info:            #1F3766;
  --ik-info-bg:         #E9EDF4;

  /* status pills: surface · ink · rim */
  --ik-pill-ok-bg:      #CFEBDC;
  --ik-pill-ok-ink:     #147045;
  --ik-pill-ok-line:    #45906C;
  --ik-pill-warn-bg:    #F1E4C2;
  --ik-pill-warn-ink:   #785F1D;
  --ik-pill-warn-line:  #968046;
  --ik-pill-bad-bg:     #F6DCDB;
  --ik-pill-bad-ink:    #AE2523;
  --ik-pill-bad-line:   #C66362;
  --ik-pill-mute-bg:    #E4E7EE;
  --ik-pill-mute-ink:   #5F6066;
  --ik-pill-mute-line:  #83848B;
  --ik-pill-info-bg:    #DCE4F2;
  --ik-pill-info-ink:   #1F3766;
  --ik-pill-info-line:  #7182A3;

  /* chart series (navy ladder + gold accent for the depot total) */
  --ik-chart-1:         #1F3766;
  --ik-chart-2:         #6C7FA3;
  --ik-chart-3:         #B9C3D6;
  --ik-chart-grid:      #E8EBF0;
  --ik-chart-positive:  #16794A;
  --ik-chart-negative:  #AE2523;

  /* typography */
  --ik-font-sans:  "Carlito", "Calibri", "Segoe UI", system-ui, -apple-system, sans-serif;
  --ik-font-serif: "Gelasio", "Georgia", "Times New Roman", serif;
  --ik-font-mono:  "Consolas", "SF Mono", ui-monospace, monospace;
  --ik-text-2xs:  0.6875rem;
  --ik-text-xs:   0.75rem;
  --ik-text-sm:   0.875rem;
  --ik-text-base: 1rem;
  --ik-text-lg:   1.125rem;
  --ik-text-xl:   1.375rem;
  --ik-text-2xl:  1.75rem;
  --ik-text-3xl:  2.25rem;
  --ik-heading-main: 1.5rem;
  --ik-heading-sub:  1.25rem;
  --ik-kennzahl:     2.125rem;
  --ik-leading-tight:  1.2;
  --ik-leading-snug:   1.4;
  --ik-leading-normal: 1.6;
  --ik-weight-regular:  400;
  --ik-weight-semibold: 600;
  --ik-weight-bold:     700;
  --ik-tracking-kicker: 0.14em;
  --ik-tracking-label:  0.06em;

  /* spacing: 4-px grid */
  --ik-space-1:   0.25rem;
  --ik-space-2:   0.5rem;
  --ik-space-3:   0.75rem;
  --ik-space-4:   1rem;
  --ik-space-5:   1.25rem;
  --ik-space-6:   1.5rem;
  --ik-space-8:   2rem;
  --ik-space-10:  2.5rem;
  --ik-space-12:  3rem;
  --ik-space-16:  4rem;
  --ik-container:      1200px;
  --ik-container-wide: 1600px;
  --ik-measure:        68ch;
  --ik-header-height:  72px;
  --ik-row-height:       2.75rem;
  --ik-row-height-tight: 2.125rem;
  --ik-control-height:   2.5rem;

  /* shapes */
  --ik-radius-sm:   2px;
  --ik-radius-md:   4px;
  --ik-radius-lg:   6px;
  --ik-radius-pill: 999px;
  --ik-border:      1px solid var(--ik-line);
  --ik-border-soft: 1px solid var(--ik-line-soft);
  --ik-rule-gold:   2px solid var(--ik-gold);
  --ik-rule-navy:   2px solid var(--ik-navy);
  --ik-shadow-sm: 0 1px 2px rgba(31, 55, 102, 0.06);
  --ik-shadow-md: 0 2px 8px rgba(31, 55, 102, 0.08);
  --ik-shadow-lg: 0 8px 28px rgba(31, 55, 102, 0.12);
  --ik-focus-ring: 0 0 0 2px var(--ik-gold), 0 0 0 4px var(--ik-navy);
  --ik-ease:       cubic-bezier(0.2, 0, 0.2, 1);
  --ik-duration-1: 120ms;
  --ik-duration-2: 200ms;
}

[data-density="compact"] {
  --ik-row-height:     var(--ik-row-height-tight);
  --ik-control-height: 2rem;
  --ik-text-base:      var(--ik-text-sm);
}

@media (prefers-reduced-motion: reduce) {
  :root { --ik-duration-1: 0ms; --ik-duration-2: 0ms; }
}
