/* Alza Design System (ADS) — shared webfonts, palette primitives, semantic
   theme tokens and theme-toggle chrome for every page. The tiny inline boot
   script in each template sets [data-theme] on <html> before first paint;
   the prefers-color-scheme fallback covers visitors without JS. Pages keep
   only their own deltas in an inline <style> after this stylesheet. */

/* Self-hosted webfonts (subset, woff2). */
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
    src:url("../fonts/poppins700_latin.woff2") format("woff2");
    unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700;font-display:swap;
    src:url("../fonts/poppins700_latinext.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/mono400_latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;
  src:url(../fonts/mono400_latinext.woff2) format('woff2');
  unicode-range:U+0100-024F,U+1E00-1EFF,U+0304,U+0308,U+0329;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/mono600_latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122;}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;
  src:url(../fonts/mono600_latinext.woff2) format('woff2');
  unicode-range:U+0100-024F,U+1E00-1EFF,U+0304,U+0308,U+0329;}

/* Palette primitives (theme-invariant) — ADS core colors. */
:root{
  --alza-green-100:#EFFBE7; --alza-green-300:#BFEDA0; --alza-green-500:#7EDC41; --alza-green-600:#5ED312; --alza-green-700:#48A10E; --alza-green-800:#387F0B; --alza-green-900:#1C3E05; --alza-blue-100:#E5F4FD; --alza-blue-500:#33A9EC; --alza-blue-600:#0094E7; --alza-blue-700:#0074B5; --alza-blue-dark-100:#EFF3FD; --alza-blue-dark-200:#D9E4F9; --alza-blue-dark-500:#4B7CD1; --alza-blue-dark-600:#3163C2; --alza-blue-dark-700:#164194; --alza-blue-dark-900:#0A1D42; --alza-neutral-0:#FFFFFF; --alza-neutral-100:#F2F2F2; --alza-neutral-200:#E6E6E6; --alza-neutral-300:#CCCCCC; --alza-neutral-400:#A7A7A7; --alza-neutral-500:#6E6E6E; --alza-neutral-600:#4D4D4D; --alza-neutral-700:#242424; --alza-neutral-800:#121212; --alza-orange-100:#FFF2E5; --alza-orange-500:#FF9433; --alza-orange-600:#FF7900; --alza-red-100:#F9E8E8; --alza-red-500:#D14546; --alza-red-600:#C51718; --alza-mkt:#F8E923;
}

/* Shared font stacks (/rental overrides --font-display with Poppins). */
:root{
  --font-display:-apple-system,BlinkMacSystemFont,'SF Pro Display','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace;
}

/* Semantic tokens — shared core; pages append their own deltas on top. */
:root, :root[data-theme="light"]{
  --bg:var(--alza-neutral-0); --surface:var(--alza-neutral-0); --surface-2:var(--alza-neutral-100);
  --ink:var(--alza-neutral-800); --ink-soft:var(--alza-neutral-500);
  --line:rgba(0,0,0,.16); --line-strong:var(--alza-neutral-300);
  --accent:var(--alza-green-600); --accent-ink:var(--alza-neutral-800); --accent-deep:var(--alza-green-800); --accent-wash:var(--alza-green-100);
  --brand:var(--alza-blue-dark-700);
  --warn:var(--alza-orange-600); --warn-wash:var(--alza-orange-100);
  --bad:var(--alza-red-600); --bad-wash:var(--alza-red-100);
  --mute:var(--alza-neutral-400); --mute-wash:var(--alza-neutral-200);
  --bankid-bg:#262626; --bankid-fg:#fff; --bankid-hover:#3d3d3d; --bankid-rule:#fff;
}
:root[data-theme="dark"]{
  --bg:var(--alza-neutral-800); --surface:var(--alza-neutral-700); --surface-2:var(--alza-neutral-800);
  --ink:var(--alza-neutral-0); --ink-soft:var(--alza-neutral-400);
  --line:rgba(255,255,255,.16); --line-strong:var(--alza-neutral-600);
  --accent:var(--alza-green-500); --accent-ink:var(--alza-neutral-800); --accent-deep:var(--alza-green-300); --accent-wash:var(--alza-green-900);
  --brand:var(--alza-blue-dark-500);
  --warn:var(--alza-orange-600); --warn-wash:#472100;
  --bad:var(--alza-red-600); --bad-wash:#4F090A;
  --mute:var(--alza-neutral-500); --mute-wash:var(--alza-neutral-700);
  --bankid-bg:#fff; --bankid-fg:#262626; --bankid-hover:#e8e8e8; --bankid-rule:#262626;
}
/* No-JS dark visitors: same tokens as [data-theme=dark], unless light chosen. */
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:var(--alza-neutral-800);--surface:var(--alza-neutral-700);--surface-2:var(--alza-neutral-800);--ink:var(--alza-neutral-0);--ink-soft:var(--alza-neutral-400);--line:rgba(255,255,255,.16);--line-strong:var(--alza-neutral-600);--accent:var(--alza-green-500);--accent-ink:var(--alza-neutral-800);--accent-deep:var(--alza-green-300);--accent-wash:var(--alza-green-900);--brand:var(--alza-blue-dark-500);--warn:var(--alza-orange-600);--warn-wash:#472100;--bad:var(--alza-red-600);--bad-wash:#4F090A;--mute:var(--alza-neutral-500);--mute-wash:var(--alza-neutral-700);--bankid-bg:#fff;--bankid-fg:#262626;--bankid-hover:#e8e8e8;--bankid-rule:#262626;}}

/* Theme toggle (shared chrome on pages with the sun/moon switch). */
.theme-toggle{display:flex; align-items:center; justify-content:center; width:30px; height:30px; flex-shrink:0; border-radius:100px; border:1px solid var(--line); background:var(--surface); color:var(--ink-soft); cursor:pointer;}
.theme-toggle:hover{color:var(--ink); border-color:var(--line-strong);}
.theme-toggle svg{width:15px; height:15px;}
.theme-toggle .icon-moon{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
:root[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .theme-toggle .icon-sun{display:none;} :root:not([data-theme="light"]) .theme-toggle .icon-moon{display:block;}}
