/* NSB design system v2: the compiled tokens (D112), from the system's harness/tokens.css.
   Light by default; dark follows the device, with no switch (brand book, Colour). The type utility
   classes of the compiled file stay out: their names (.button, .label, .h1) collide with the
   portal's own, and the components carry their type from the nsb- classes instead.
   Generated from the system rather than typed: change the system, then copy it again. */

:root {
  --white:#ffffff;
  --black:#000000;
  --navy-50:#f5f6ff;
  --navy-100:#e8ecfe;
  --navy-200:#d2d7f5;
  --navy-300:#b6bde7;
  --navy-400:#969fd9;
  --navy-500:#777fc7;
  --navy-600:#5b62ac;
  --navy-700:#434886;
  --navy-800:#2f335e;
  --navy-900:#1f2245;
  --navy-950:#11132d;
  --gold-50:#fff9e8;
  --gold-100:#fff1d0;
  --gold-200:#ffe09e;
  --gold-300:#fcc95b;
  --gold-400:#eeb201;
  --gold-500:#cc9410;
  --gold-600:#ac7602;
  --gold-700:#8a5b07;
  --gold-800:#6c4302;
  --gold-900:#4d2d00;
  --gold-950:#301900;
  --red-50:#fff2f2;
  --red-100:#ffe5e3;
  --red-200:#ffcbc7;
  --red-300:#fea79e;
  --red-400:#ff7769;
  --red-500:#f14239;
  --red-600:#d4000f;
  --red-700:#a8090e;
  --red-800:#840207;
  --red-900:#600003;
  --red-950:#3e0001;
  --crimson-50:#fff2f4;
  --crimson-100:#ffe5e8;
  --crimson-200:#ffcad0;
  --crimson-300:#fda5b2;
  --crimson-400:#f47b91;
  --crimson-500:#e34f71;
  --crimson-600:#c62856;
  --crimson-700:#a00d40;
  --crimson-800:#7e0430;
  --crimson-900:#5c0321;
  --crimson-950:#3d0113;
  --teal-50:#edfafa;
  --teal-100:#dcf4f4;
  --teal-200:#bde8e8;
  --teal-300:#95d7d7;
  --teal-400:#6bc2c3;
  --teal-500:#40aaac;
  --teal-600:#189294;
  --teal-700:#00787a;
  --teal-800:#005b5c;
  --teal-900:#023f40;
  --teal-950:#002526;
  --flame-50:#fff6f0;
  --flame-100:#ffeadd;
  --flame-200:#fed3b8;
  --flame-300:#feb284;
  --flame-400:#f78d4b;
  --flame-500:#e26b04;
  --flame-600:#bb5703;
  --flame-700:#984302;
  --flame-800:#783000;
  --flame-900:#572000;
  --flame-950:#391100;
  --neutral-50:#f6f6fb;
  --neutral-100:#ebecf3;
  --neutral-200:#d7d8e3;
  --neutral-300:#bdbecd;
  --neutral-400:#a4a5b5;
  --neutral-500:#8a8b9c;
  --neutral-600:#656676;
  --neutral-700:#444555;
  --neutral-800:#343444;
  --neutral-900:#242434;
  --neutral-950:#141423;
  --ink-600:#465f6a;
  --ink-700:#344c56;
  --ink-800:#263b45;
  --ink-900:#1a2f37;
  --ink-950:#10232b;
  --canvas:var(--neutral-50);
  --surface:var(--white);
  --surface-raised:var(--white);
  --surface-sunken:var(--neutral-100);
  --surface-tint:var(--navy-100);
  --text:var(--ink-950);
  --text-heading:var(--navy-800);
  --text-muted:var(--neutral-700);
  --text-link:var(--navy-800);
  --border:var(--neutral-200);
  --border-strong:var(--neutral-500);
  --accent:var(--navy-800);
  --accent-hover:var(--navy-900);
  --on-accent:var(--white);
  --accent-soft:var(--navy-100);
  --on-accent-soft:var(--navy-800);
  --highlight:var(--gold-400);
  --highlight-hover:var(--gold-300);
  --on-highlight:var(--navy-900);
  --highlight-soft:var(--gold-100);
  --on-highlight-soft:var(--gold-900);
  --highlight-mark:var(--gold-700);
  --brand-red:var(--red-600);
  --on-brand-red:var(--white);
  --brand-red-soft:var(--red-50);
  --on-brand-red-soft:var(--red-800);
  --error:var(--crimson-700);
  --error-soft:var(--crimson-50);
  --on-error-soft:var(--crimson-800);
  --error-border:var(--crimson-600);
  --focus:var(--gold-400);
  --focus-inner:var(--navy-900);
  --watermark-ink:var(--navy-800);
  --status-chip:var(--white);
  --status-chip-border:var(--neutral-200);
  --status-positive:var(--teal-800);
  --status-negative:var(--red-600);
  --status-waiting:var(--gold-400);
  --status-waiting-edge:var(--gold-700);
  --status-attention:var(--flame-600);
  --status-info:var(--navy-600);
  --status-neutral:var(--neutral-500);
  --status-neutral-fill:var(--neutral-200);
  --status-positive-fill:var(--teal-800);
  --status-negative-fill:var(--red-600);
  --positive-soft:var(--teal-50);
  --on-positive-soft:var(--teal-900);
  --attention-soft:var(--flame-50);
  --on-attention-soft:var(--flame-900);
  --badge-bg:var(--white);
  --badge-text:var(--navy-900);
  --badge-border:var(--neutral-200);
  --badge-disc:var(--navy-800);
  --on-badge-disc:var(--white);
  --badge-current-bg:var(--gold-50);
  --badge-current-text:var(--navy-900);
  --table-head:var(--neutral-50);
  --table-row-hover:var(--navy-50);
  --sidebar-bg:var(--navy-800);
  --sidebar-hover:var(--navy-900);
  --sidebar-active:var(--navy-700);
  --sidebar-text:var(--white);
  --sidebar-muted:var(--navy-100);
  --sidebar-line:var(--navy-700);
  --header-bg:var(--navy-800);
  --header-text:var(--white);
  --header-muted:var(--navy-100);
  --header-eyebrow:var(--gold-200);
  --header-stripe:var(--red-600);
  --tab-active:var(--gold-400);
  --input-bg:var(--white);
  --scrim:#10232b80;
  --button-inert:var(--neutral-700);
  --button-inert-bg:var(--neutral-100);
  --shadow-xs:0 1px 2px #1f22450d;
  --shadow-sm:0 1px 2px #1f22450f, 0 2px 8px #1f22450d;
  --shadow-md:0 2px 4px #1f22450f, 0 10px 24px -6px #1f224524;
  --shadow-lg:0 4px 8px #1f224514, 0 24px 48px -12px #1f224538;
  --focus-ring:0 0 0 2px #1f2245, 0 0 0 4px #eeb201;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --canvas:var(--ink-950);
    --surface:var(--ink-900);
    --surface-raised:var(--ink-800);
    --surface-sunken:var(--ink-950);
    --surface-tint:var(--navy-950);
    --text:var(--neutral-50);
    --text-heading:var(--navy-100);
    --text-muted:var(--neutral-200);
    --text-link:var(--navy-300);
    --border:var(--ink-700);
    --border-strong:var(--neutral-500);
    --accent:var(--navy-300);
    --accent-hover:var(--navy-200);
    --on-accent:var(--navy-950);
    --accent-soft:var(--navy-900);
    --on-accent-soft:var(--navy-100);
    --highlight:var(--gold-400);
    --highlight-hover:var(--gold-300);
    --on-highlight:var(--navy-950);
    --highlight-soft:var(--gold-950);
    --on-highlight-soft:var(--gold-200);
    --highlight-mark:var(--gold-400);
    --brand-red:var(--red-400);
    --on-brand-red:var(--red-950);
    --brand-red-soft:var(--red-950);
    --on-brand-red-soft:var(--red-200);
    --error:var(--crimson-300);
    --error-soft:var(--crimson-950);
    --on-error-soft:var(--crimson-200);
    --error-border:var(--crimson-400);
    --focus:var(--gold-400);
    --focus-inner:var(--ink-950);
    --watermark-ink:var(--white);
    --status-chip:var(--ink-800);
    --status-chip-border:var(--ink-700);
    --status-positive:var(--teal-400);
    --status-negative:var(--red-400);
    --status-waiting:var(--gold-400);
    --status-waiting-edge:var(--gold-400);
    --status-attention:var(--flame-400);
    --status-info:var(--navy-300);
    --status-neutral:var(--neutral-400);
    --status-neutral-fill:var(--neutral-600);
    --status-positive-fill:var(--teal-500);
    --status-negative-fill:var(--red-600);
    --positive-soft:var(--teal-950);
    --on-positive-soft:var(--teal-200);
    --attention-soft:var(--flame-950);
    --on-attention-soft:var(--flame-200);
    --badge-bg:var(--navy-800);
    --badge-text:var(--white);
    --badge-border:var(--navy-700);
    --badge-disc:var(--navy-300);
    --on-badge-disc:var(--navy-950);
    --badge-current-bg:var(--gold-950);
    --badge-current-text:var(--gold-100);
    --table-head:var(--ink-950);
    --table-row-hover:var(--navy-950);
    --sidebar-bg:var(--navy-900);
    --sidebar-hover:var(--navy-950);
    --sidebar-active:var(--navy-800);
    --sidebar-text:var(--neutral-50);
    --sidebar-muted:var(--navy-200);
    --sidebar-line:var(--navy-800);
    --header-bg:var(--navy-900);
    --header-text:var(--white);
    --header-muted:var(--navy-100);
    --header-eyebrow:var(--gold-200);
    --header-stripe:var(--red-500);
    --tab-active:var(--gold-400);
    --input-bg:var(--ink-950);
    --scrim:#000000a6;
    --button-inert:var(--neutral-200);
    --button-inert-bg:var(--ink-800);
    --shadow-xs:0 1px 2px #00000066;
    --shadow-sm:0 1px 2px #00000080, 0 2px 8px #00000059;
    --shadow-md:0 2px 4px #00000080, 0 10px 24px -6px #000000a6;
    --shadow-lg:0 4px 8px #00000099, 0 24px 48px -12px #000000cc;
    --focus-ring:0 0 0 2px #10232b, 0 0 0 4px #eeb201;
  }
}
:root {
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-8:32px;
  --space-10:40px;
  --space-12:48px;
  --space-16:64px;
  --radius-xs:6px;
  --radius-control:10px;
  --radius-card-sm:12px;
  --radius-card:16px;
  --radius-pill:9999px;
  --target:44px;
  --target-lg:52px;
  --sidebar-width:280px;
  --sidebar-collapsed:84px;
  --tabbar-height:72px;
  --content-max:1200px;
  --crest-sidebar:56px;
  --crest-header:96px;
  --crest-signin:220px;
  --wheel-empty:320px;
  --breakpoint-phone:768px;
  --fluid-display:clamp(2.75rem, 2.231rem + 2.21vw, 4rem);
  --fluid-h1:clamp(2.125rem, 1.866rem + 1.105vw, 2.75rem);
  --fluid-h2:clamp(1.6875rem, 1.558rem + 0.552vw, 2rem);
  --fluid-h3:clamp(1.25rem, 1.198rem + 0.221vw, 1.375rem);
  --fluid-h4:clamp(1.125rem, 1.099rem + 0.11vw, 1.1875rem);
  --fluid-figure:clamp(1.625rem, 1.469rem + 0.663vw, 2rem);
  --watermark-opacity:0.05;
  --watermark-opacity-brand:0.06;
  --opacity-inert:1;
  --duration-fast:120ms;
  --duration-base:180ms;
  --duration-slow:260ms;
  --ease-standard:cubic-bezier(0.2, 0, 0, 1);
  --ease-enter:cubic-bezier(0, 0, 0, 1);
  --ease-exit:cubic-bezier(0.3, 0, 1, 1);
  --z-sticky:10;
  --z-tabbar:20;
  --z-drawer:40;
  --font-sans:"Instrument Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;
  --font-mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --font-wordmark:"Montserrat", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
}

/* Instrument Sans and Serif for every word a reader reads; Montserrat 700 and 300 for the
   wordmark lockup alone. All OFL, self-hosted beside this file. */
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-variable.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(fonts/instrument-sans-variable-italic.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(fonts/instrument-serif-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(fonts/montserrat-latin-ext-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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:"Montserrat";src:url(fonts/montserrat-latin-700-normal.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap;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:"Montserrat";src:url(fonts/montserrat-latin-ext-300-normal.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, 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:"Montserrat";src:url(fonts/montserrat-latin-300-normal.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap;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}
