/* Inter (SIL OFL 1.1), self-hosted */
@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/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(/assets/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: 'Inter Variable';
  font-style: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/inter-latin-ext-wght-italic.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: italic;
  font-display: swap;
  font-weight: 100 900;
  src: url(/assets/fonts/inter-latin-wght-italic.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;
}
/* Design tokens. Light is UpNext's warm paper; dark is a warm near-black. Display type is Bebas Neue,
   data and labels DM Mono, text Inter, as in UpNext and the operator portal. */
:root {
  color-scheme: light dark;
  --font-sans: "Inter Variable", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Bebas Neue", "Inter Variable", sans-serif;
  --font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --radius: 6px;
  --color-bg: #f5f2ed; --color-panel: #fff; --color-fg: #0f0f0f; --color-fg-muted: #5f5f5f;
  --color-s2: #f9f7f4; --color-s3: #ede9e3; --color-bar: #0f0f0f; --color-bar-fg: #f5f2ed; --color-check: #f5f2ed; --color-rule: #0f0f0f;
  --color-border-line: rgb(0 0 0 / 11%); --color-border-strong: rgb(0 0 0 / 20%);
  --color-ok: #006300; --color-warn: #734500; --color-bad: #8e2626;
  --cds-border: rgb(11 11 11 / 10%);
  --cds-chart-axis: #c3c2b7; --cds-chart-grid: rgb(11 11 11 / 10%); --cds-chart-muted: #c3c2b7; --cds-chart-reference: #898781;
  --cds-surface-popover: #fff; --cds-text-secondary: #52514e;
  --cds-shadow-popover: 0 8px 24px #0000001f, 0 2px 6px #00000014;
  --cds-dur-slow: .45s; --cds-ease-out: cubic-bezier(.165, .84, .44, 1);
  --cds-font-size-body: .875rem; --cds-font-size-caption: .75rem; --cds-font-size-heading: .9375rem;
  --cds-gap-lg: 1.75rem; --cds-gap-md: 1rem; --cds-gap-sm: .75rem; --cds-gap-xs: .5rem;
  --cds-pad-md: .75rem; --cds-pad-sm: .5rem; --cds-pad-xs: .375rem; --cds-radius: .5rem;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    /* night: neutral cool blacks (as Garage's night mode), not warm grey, so the yellow stays clean */
    --color-bg: #121417; --color-panel: #1a1d21; --color-fg: #eef0f2; --color-fg-muted: #a3a9b3;
    --color-s2: #16191c; --color-s3: #272b30; --color-bar: #000; --color-bar-fg: #eef0f2; --color-check: #9aa1ab;
    --color-rule: rgb(255 255 255 / 28%);
    --color-border-line: rgb(255 255 255 / 9%); --color-border-strong: rgb(255 255 255 / 18%);
    --color-ok: #0ca30c; --color-warn: #db9300; --color-bad: #ec7e7e;
    --cds-border: rgb(255 255 255 / 10%);
    --cds-chart-axis: #30343a; --cds-chart-grid: rgb(255 255 255 / 8%); --cds-chart-muted: #4f555e; --cds-chart-reference: #8f96a0;
    --cds-surface-popover: #22262b; --cds-text-secondary: #c3c8d0;
    --cds-shadow-popover: 0 8px 24px #00000052, 0 2px 6px #0003;
  }
}
html, body { margin: 0; padding: 0; }
body { background: var(--color-bg); color: var(--color-fg); font: 14px/1.4 var(--font-sans); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
[hidden]:not([hidden=until-found i]) { display: none !important; }
#dash-root { padding: clamp(16px, 3vw, 32px) clamp(12px, 3vw, 36px) 48px; padding-top: max(clamp(16px, 3vw, 32px), env(safe-area-inset-top, 0px)); }
/* loading placeholder, as the dashboard runtime draws it */
.dash-skeleton { -webkit-text-fill-color: transparent !important; background-image: linear-gradient(color-mix(in srgb, currentColor 13%, transparent) 0 0) !important; border-radius: 4px; }
.dash-skeleton > * { visibility: hidden !important; }
.dash-skeleton:empty::before { content: ""; width: 3ch; display: inline-block; }
