/* THEME TOKENS — design tokens --df-* i fonty; ładowany JAKO PIERWSZY w <head>, żeby wszystkie arkusze miały kolory od
   pierwszego malowania. :root = Dark (domyślny), :root[data-theme=light|contrast] nadpisują te same tokeny (theme.js).
   Komponenty i ich wygląd: interface-theme.css (ostatnia warstwa). Nowy motyw = nowy blok :root[data-theme=…] z tymi tokenami. */
@font-face{font-family:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/vendor/fonts/inter-latin-ext-wght-normal.woff2) format("woff2-variations");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:"Inter Variable";font-style:normal;font-display:swap;font-weight:100 900;src:url(/static/vendor/fonts/inter-latin-wght-normal.woff2) format("woff2-variations");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:"JetBrains Mono Variable";font-style:normal;font-display:swap;font-weight:100 800;src:url(/static/vendor/fonts/jetbrains-mono-latin-ext-wght-normal.woff2) format("woff2-variations");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:"JetBrains Mono Variable";font-style:normal;font-display:swap;font-weight:100 800;src:url(/static/vendor/fonts/jetbrains-mono-latin-wght-normal.woff2) format("woff2-variations");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}

/* ---------------- 1. tokeny ---------------- */
:root{color-scheme:dark;
 /* DARK (domyślny) — grafitowo-granatowy terminal */
 --df-bg:#0a0e15;--df-bg-elev:#0c1119;--df-panel:#10151e;--df-panel-2:#141a24;--df-panel-3:#19202c;--df-input:#0b0f16;
 --df-border:#1d2532;--df-border-2:#283140;--df-border-3:#354051;
 --df-text:#e4e9f0;--df-text-2:#b2bccb;--df-muted:#7c8797;--df-faint:#5a6575;--df-label:#8090a6;
 --df-accent:#3b8cff;--df-accent-hover:#5c9fff;--df-accent-press:#2e74dd;--df-accent-text:#9cc4ff;--df-accent-soft:rgba(59,140,255,.13);--df-accent-line:rgba(59,140,255,.5);--df-on-accent:#fff;
 --df-pos:#26b981;--df-pos-text:#3fd29a;--df-pos-soft:rgba(38,185,129,.12);--df-pos-line:rgba(38,185,129,.42);
 --df-neg:#f04a5d;--df-neg-text:#ff6b7c;--df-neg-soft:rgba(240,74,93,.12);--df-neg-line:rgba(240,74,93,.45);
 --df-warn:#e9a23b;--df-warn-soft:rgba(233,162,59,.12);--df-warn-line:rgba(233,162,59,.42);
 --df-gold:#d6b36a;--df-gold-2:#b8924a;--df-gold-text:#e6c98c;--df-gold-soft:rgba(214,179,106,.1);--df-gold-line:rgba(214,179,106,.36);
 --df-row-hover:rgba(255,255,255,.025);--df-selection:rgba(59,140,255,.32);
 --df-danger-zone:linear-gradient(180deg,#130d11,#0f0b0e);--df-danger-card:#160f13;--df-simon-bg:linear-gradient(180deg,#121621,#0c1017);
 --df-chart-bg:#131722;--df-chart-text:#b2b5be;--df-chart-grid:#202530;--df-chart-border:#2a2e39;--df-chart-legend:rgba(13,24,39,.87);
 --df-on-warn:#1a1206;--df-danger-stripes:repeating-linear-gradient(-45deg,#1b1314 0 14px,#221615 14px 28px);
 --df-radius:8px;--df-radius-sm:6px;--df-radius-xs:4px;--df-focus-width:2px;
 --df-shadow:0 1px 2px rgba(0,0,0,.28);--df-shadow-pop:0 14px 36px rgba(0,0,0,.5);
 --df-font-ui:"Inter Variable",Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
 --df-font-mono:"JetBrains Mono Variable","JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;
 /* zmienne historyczne (style.css, v06, v07) → nowe tokeny */
 --bg:var(--df-bg);--panel:var(--df-panel);--panel2:var(--df-panel-2);--line:var(--df-border);--text:var(--df-text);--muted:var(--df-muted);
 --teal:var(--df-accent);--blue:var(--df-accent);--red:var(--df-neg);--yellow:var(--df-gold);
 font-family:var(--df-font-ui)}
/* LIGHT — jasny, elegancki fintech; te same znaczenia kolorów, ciemniejsze odcienie dla kontrastu na jasnym tle */
:root[data-theme=light]{color-scheme:light;
 --df-bg:#f3f5f9;--df-bg-elev:#ffffff;--df-panel:#ffffff;--df-panel-2:#f6f8fb;--df-panel-3:#eceff4;--df-input:#ffffff;
 --df-border:#e1e6ee;--df-border-2:#d2d9e3;--df-border-3:#bcc5d2;
 --df-text:#0f1724;--df-text-2:#3a4657;--df-muted:#5d6979;--df-faint:#8792a2;--df-label:#52627a;
 --df-accent:#1f6feb;--df-accent-hover:#185fd0;--df-accent-press:#134fae;--df-accent-text:#1554c0;--df-accent-soft:rgba(31,111,235,.1);--df-accent-line:rgba(31,111,235,.45);--df-on-accent:#fff;
 --df-pos:#0e9a68;--df-pos-text:#08805a;--df-pos-soft:rgba(14,154,104,.1);--df-pos-line:rgba(14,154,104,.42);
 --df-neg:#d92d45;--df-neg-text:#c01f37;--df-neg-soft:rgba(217,45,69,.09);--df-neg-line:rgba(217,45,69,.42);
 --df-warn:#a86400;--df-warn-soft:rgba(214,138,24,.12);--df-warn-line:rgba(190,120,10,.42);
 --df-gold:#b08631;--df-gold-2:#93701f;--df-gold-text:#8a661c;--df-gold-soft:rgba(176,134,49,.1);--df-gold-line:rgba(176,134,49,.42);
 --df-row-hover:rgba(15,23,36,.035);--df-selection:rgba(31,111,235,.2);
 --df-danger-zone:linear-gradient(180deg,#fff6f7,#fdf1f3);--df-danger-card:#ffffff;--df-simon-bg:linear-gradient(180deg,#ffffff,#f6f8fb);
 --df-chart-bg:#ffffff;--df-chart-text:#3a4657;--df-chart-grid:#eef1f5;--df-chart-border:#d2d9e3;--df-chart-legend:rgba(255,255,255,.92);
 --df-on-warn:#ffffff;--df-danger-stripes:repeating-linear-gradient(-45deg,#fff4f5 0 14px,#fdecef 14px 28px);
 --df-shadow:0 1px 2px rgba(16,24,40,.06);--df-shadow-pop:0 14px 36px rgba(16,24,40,.16)}
/* HIGH CONTRAST — maksymalna czytelność: niemal czarne tło, biały tekst, wyraźne ramki i fokus, nasycone znaczenia */
:root[data-theme=contrast]{color-scheme:dark;
 --df-bg:#030508;--df-bg-elev:#05080d;--df-panel:#080b11;--df-panel-2:#0d1118;--df-panel-3:#151b25;--df-input:#000000;
 --df-border:#4b5567;--df-border-2:#687386;--df-border-3:#8e99ac;
 --df-text:#ffffff;--df-text-2:#eef2f7;--df-muted:#cdd5e0;--df-faint:#a9b4c3;--df-label:#d5deea;
 --df-accent:#5aa2ff;--df-accent-hover:#7ab5ff;--df-accent-press:#3f8cf0;--df-accent-text:#b4d5ff;--df-accent-soft:rgba(90,162,255,.24);--df-accent-line:#5aa2ff;--df-on-accent:#000;
 --df-pos:#2ee59d;--df-pos-text:#5ff2b4;--df-pos-soft:rgba(46,229,157,.18);--df-pos-line:#2ee59d;
 --df-neg:#ff5f72;--df-neg-text:#ff8d9b;--df-neg-soft:rgba(255,95,114,.2);--df-neg-line:#ff5f72;
 --df-warn:#ffbe55;--df-warn-soft:rgba(255,190,85,.18);--df-warn-line:#ffbe55;
 --df-gold:#f2cf80;--df-gold-2:#d9b263;--df-gold-text:#ffdf98;--df-gold-soft:rgba(242,207,128,.16);--df-gold-line:#f2cf80;
 --df-row-hover:rgba(255,255,255,.07);--df-selection:rgba(90,162,255,.45);
 --df-danger-zone:#0d0507;--df-danger-card:#000000;--df-simon-bg:#05080d;
 --df-chart-bg:#000000;--df-chart-text:#e6ebf2;--df-chart-grid:#1c222c;--df-chart-border:#687386;--df-chart-legend:rgba(0,0,0,.92);
 --df-on-warn:#000000;--df-danger-stripes:repeating-linear-gradient(-45deg,#12060a 0 14px,#080305 14px 28px);
 --df-focus-width:3px;--df-shadow:none;--df-shadow-pop:0 0 0 1px #8e99ac}
