@font-face {
  font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('fonts/inter-latin-ext.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: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url('fonts/inter-latin.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: 'Michroma'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/michroma-latin-ext.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: 'Michroma'; font-style: normal; font-weight: 400; font-display: swap;
  src: url('fonts/michroma-latin.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;
}
:root {
  --font-body: 'Inter', ui-sans-serif, system-ui, sans-serif;
  --font-heading: 'Michroma', 'Inter', sans-serif;
  --control-border: #586784;
  --weight-body: 400;
  --weight-label: 500;
  --weight-action: 600;
  --weight-emphasis: 700;
  font-family: var(--font-body);
  font-synthesis: none;
}
body, button, input, textarea, select, code, pre { font-family: var(--font-body); }
body { font-size: 14px; line-height: 1.65; font-weight: var(--weight-body); }
h1, h2, h3, h4, h5, h6, .brand, #site-name, #site-name a {
  font-family: var(--font-heading);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .015em;
  overflow-wrap: anywhere;
}
h1 { font-size: clamp(20px, 2.2vw, 28px); }
h2 { font-size: 15px; }
h3 { font-size: 13px; }
strong, b { font-weight: 600; }
button, .button { font-weight: 600; letter-spacing: .01em; }
.sidebar .brand { font-size: 11px; letter-spacing: 0; gap: 7px; }
.sidebar .brand-icon { width: 26px; height: 26px; }
.welcome-header .brand { font-size: clamp(12px, 1.5vw, 18px); letter-spacing: .01em; }
.welcome-card h1, .welcome-card h2 { font-family: var(--font-heading); font-weight: 400; font-size: 19px; }
.sidebar nav a, .tabs a, .sidebar-bottom > a, .sidebar-bottom .logout {
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
}
.sidebar-bottom .logout {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 8px 0;
  color: var(--muted);
  white-space: nowrap;
}
.sidebar-bottom .logout:hover { color: var(--ink); }
.logout-icon { width: 22px; height: 22px; flex-shrink: 0; }
.eyebrow, .nav-label { font-weight: 600; letter-spacing: .14em; }
.metric-label, th { font-size: 11px; font-weight: 600; letter-spacing: .055em; }
.metric-value { font-family: var(--font-body); font-weight: 600; font-size: 36px; line-height: 1.25; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
.metric-value.compact { font-size: 23px; }
.metric small, .chart-legend, .status { font-size: 12px; }
.chart text { font-family: var(--font-body); font-weight: 400; }
td, .metric-unit { font-variant-numeric: tabular-nums; }
.field label { font-size: 12px; font-weight: 600; letter-spacing: .015em; }
.field label.check { font-size: 14px; font-weight: 400; }
.field .help, .footer-note { font-size: 12px; line-height: 1.65; }
.field input:not([type=checkbox]), .field textarea, .field select, .filters select,
.panel input[readonly] { border-color: var(--control-border); }
.field input::placeholder, .field textarea::placeholder { color: #a0aec9; }
.button:not(.primary):not(.danger) { border-color: var(--control-border); }
input:focus-visible, textarea:focus-visible, select:focus-visible, button:focus-visible, a:focus-visible {
  outline: 2px solid #67ddff; outline-offset: 3px;
}
#site-name { font-size: 15px; }
.module h2, .module caption { font-family: var(--font-heading); font-size: 12px; font-weight: 400; }
@media(max-width: 1050px) and (min-width: 721px) { .sidebar .brand { font-size: 10px; gap: 5px; } .sidebar .brand-icon { width: 22px; height: 22px; } }
@media(max-width: 720px) { .sidebar .brand { font-size: 12px; } .welcome-card h1 { font-size: 18px; } h1 { font-size: 20px; } .metric-value { font-size: 30px; } }
@media(prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
/* Supplied wordmark: intrinsic ratio, complete lettering, no duplicated title. */
.brand-logo { display: block; width: 100%; max-width: 100%; height: auto; object-fit: contain; }
.welcome-header .brand { display: block; width: min(420px, 100%); padding: 0; }
#site-name .brand-logo { width: 320px; max-width: 100%; height: auto; }
#site-name a { display: block; max-width: 100%; }
@media(max-width: 720px) {
  .sidebar .brand-logo { width: min(300px, 100%); }
  .welcome-header .brand { width: min(340px, 100%); }
}
