/* ============================================================================
   ZIIVA Ops — Cyber HUD theme
   A mission-control aesthetic for the sportzzbook-ai admin dashboards.
   Loaded on the custom dashboard pages (live ops, cost explorer, provider
   control) via {% block extrastyle %}. Layers on top of Unfold's base.
   Motion is driven by Motion One (ziiva-hud.js); CSS handles atmosphere,
   structure, and reduced-motion fallbacks.
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700;900&family=Chakra+Petch:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap');

:root {
  --hud-bg:        #05070d;
  --hud-bg-2:      #0a0e1a;
  --hud-panel:     rgba(14, 20, 34, 0.62);
  --hud-panel-hi:  rgba(22, 32, 52, 0.78);
  --hud-line:      rgba(120, 200, 255, 0.14);
  --hud-line-hot:  rgba(0, 229, 255, 0.55);
  --cyan:          #00e5ff;
  --cyan-dim:      #0892a5;
  --violet:        #a855f7;
  --violet-dim:    #6d28d9;
  --lime:          #8fff00;
  --amber:         #ffb000;
  --red:           #ff3860;
  --ink:           #c7d6ec;
  --ink-dim:       #7388a8;
  --glow-cyan:     0 0 0.5em rgba(0,229,255,.55), 0 0 1.5em rgba(0,229,255,.25);
  --glow-violet:   0 0 0.5em rgba(168,85,247,.5);
  --font-display:  'Orbitron', sans-serif;
  --font-ui:       'Chakra Petch', sans-serif;
  --font-mono:     'JetBrains Mono', ui-monospace, monospace;
}

/* ---- Page atmosphere: deep space + scanlines + grid -------------------- */
.ziiva-hud-root {
  position: relative;
  min-height: 100%;
  color: var(--ink);
  font-family: var(--font-ui);
  background:
    radial-gradient(1200px 600px at 15% -10%, rgba(0,229,255,.10), transparent 60%),
    radial-gradient(1000px 700px at 110% 10%, rgba(168,85,247,.12), transparent 55%),
    linear-gradient(var(--hud-bg-2), var(--hud-bg));
  isolation: isolate;
  padding: 4px 2px 40px;
}
/* moving grid */
.ziiva-hud-root::before {
  content: "";
  position: fixed; inset: 0; z-index: -2; pointer-events: none;
  background-image:
    linear-gradient(rgba(0,229,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,229,255,.06) 1px, transparent 1px);
  background-size: 44px 44px;
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 40%, transparent 100%);
          mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, #000 40%, transparent 100%);
  animation: hud-grid-drift 24s linear infinite;
}
/* scanlines */
.ziiva-hud-root::after {
  content: "";
  position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: repeating-linear-gradient(
    to bottom, rgba(0,0,0,0) 0 2px, rgba(0,0,0,.18) 2px 3px);
  opacity: .35;
}
@keyframes hud-grid-drift { to { background-position: 44px 44px, 44px 44px; } }

/* ---- HUD header bar (with back nav) ----------------------------------- */
.ziiva-hud-header {
  position: relative;
  display: flex; align-items: center; gap: 18px;
  padding: 18px 22px; margin: 4px 0 22px;
  background:
    linear-gradient(120deg, rgba(0,229,255,.10), rgba(168,85,247,.08) 60%, transparent),
    var(--hud-panel);
  border: 1px solid var(--hud-line);
  border-left: 2px solid var(--cyan);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  backdrop-filter: blur(10px);
}
.ziiva-hud-header .ziiva-back {
  display: inline-flex; align-items: center; gap: 7px;
  font-family: var(--font-mono); font-size: 12px; letter-spacing: .08em;
  text-transform: uppercase; text-decoration: none;
  color: var(--cyan); padding: 7px 12px;
  border: 1px solid var(--hud-line-hot); border-radius: 3px;
  background: rgba(0,229,255,.06); transition: all .18s ease;
  white-space: nowrap;
}
.ziiva-hud-header .ziiva-back:hover {
  background: rgba(0,229,255,.16); box-shadow: var(--glow-cyan);
  transform: translateX(-2px);
}
.ziiva-hud-header .ziiva-titles { flex: 1; min-width: 0; }
.ziiva-hud-header h1 {
  margin: 0; font-family: var(--font-display); font-weight: 900;
  font-size: clamp(20px, 2.4vw, 30px); letter-spacing: .04em;
  color: #eaf6ff; text-shadow: var(--glow-cyan);
}
.ziiva-hud-header .ziiva-sub {
  margin: 4px 0 0; font-family: var(--font-mono); font-size: 11.5px;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-dim);
}
.ziiva-hud-header .ziiva-crumb {
  color: var(--cyan-dim); text-decoration: none; transition: color .15s ease, text-shadow .15s ease;
}
.ziiva-hud-header a.ziiva-crumb:hover { color: var(--cyan); text-shadow: var(--glow-cyan); }
.ziiva-hud-header .ziiva-crumb-sep { color: var(--ink-dim); margin: 0 2px; }
.ziiva-hud-header .ziiva-sub-desc { color: var(--ink-dim); }
.ziiva-hud-header .ziiva-live-dot {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-mono); font-size: 11px; letter-spacing:.12em;
  text-transform: uppercase; color: var(--lime);
}
.ziiva-hud-header .ziiva-live-dot i {
  width: 8px; height: 8px; border-radius: 50%; background: var(--lime);
  box-shadow: 0 0 .5em var(--lime); animation: hud-pulse 1.6s ease-in-out infinite;
}
@keyframes hud-pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.35;transform:scale(.7)} }

/* ---- Cluster grid + panels -------------------------------------------- */
.ziiva-cluster-grid {
  display: grid; gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
}
.ziiva-widget, .ziiva-glass {
  position: relative;
  background: var(--hud-panel);
  border: 1px solid var(--hud-line);
  border-radius: 4px;
  padding: 20px 20px 22px;
  backdrop-filter: blur(12px) saturate(1.1);
  overflow: hidden;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
/* corner brackets — the HUD signature */
.ziiva-widget::before, .ziiva-widget::after {
  content: ""; position: absolute; width: 14px; height: 14px; pointer-events: none;
  border: 2px solid var(--hud-line-hot);
}
.ziiva-widget::before { top: 8px; left: 8px; border-right: 0; border-bottom: 0; }
.ziiva-widget::after  { bottom: 8px; right: 8px; border-left: 0; border-top: 0; }
.ziiva-widget:hover {
  border-color: var(--hud-line-hot);
  box-shadow: 0 0 0 1px rgba(0,229,255,.15), 0 18px 50px -20px rgba(0,229,255,.4);
  transform: translateY(-2px);
}
.ziiva-widget h2, .ziiva-glass h2 {
  margin: 0 0 14px; font-family: var(--font-display); font-weight: 700;
  font-size: 13px; letter-spacing: .16em; text-transform: uppercase;
  color: var(--cyan); display: flex; align-items: center; gap: 8px;
}
.ziiva-widget h2::before { content: "▸"; color: var(--violet); font-size: 12px; }
.ziiva-widget h3 {
  margin: 18px 0 8px; font-family: var(--font-mono); font-size: 11px;
  letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dim);
}

/* ---- Numbers / data readouts ------------------------------------------ */
.ziiva-num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: var(--ink); }
.ziiva-spend-total {
  font-family: var(--font-display); font-weight: 900;
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1; color: #eafcff;
  text-shadow: var(--glow-cyan); letter-spacing: .01em; margin: 4px 0 18px;
}

/* tier / feature rows */
.ziiva-tier-row, .ziiva-feature-row {
  display: grid; grid-template-columns: 80px 1fr auto; align-items: center;
  gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--hud-line);
  font-size: 13px;
}
.ziiva-feature-row { grid-template-columns: 1fr auto; }
.ziiva-tier-row > span:first-child {
  font-family: var(--font-mono); text-transform: uppercase; font-size: 11px;
  letter-spacing: .1em; color: var(--ink-dim);
}

/* gauges */
.ziiva-gauge {
  height: 8px; border-radius: 2px; background: rgba(0,229,255,.08);
  border: 1px solid var(--hud-line); overflow: hidden; position: relative;
}
.ziiva-gauge .fill {
  height: 100%; width: 0;
  background: linear-gradient(90deg, var(--cyan), var(--violet));
  box-shadow: 0 0 .6em rgba(0,229,255,.6);
  transition: width .9s cubic-bezier(.2,.8,.2,1);
}
.ziiva-runway { height: 12px; }
.ziiva-runway.ok    .fill { background: linear-gradient(90deg, var(--cyan), var(--lime)); }
.ziiva-runway.amber .fill { background: linear-gradient(90deg, var(--amber), #ff7a00); box-shadow: 0 0 .6em var(--amber); }
.ziiva-runway.red   .fill { background: linear-gradient(90deg, var(--red), #ff7a00); box-shadow: 0 0 .7em var(--red); }
#runway-readout { font-size: 12px; color: var(--ink-dim); margin-top: 8px; }

/* session cards */
.ziiva-session-card {
  display: flex; justify-content: space-between; align-items: center;
  padding: 12px 14px; margin-bottom: 10px; border-radius: 4px;
  background: var(--hud-panel-hi); border: 1px solid var(--hud-line);
  border-left: 2px solid var(--violet); font-size: 13px;
}
.ziiva-session-card strong { color: #eaf6ff; font-family: var(--font-ui); }
.ziiva-session-cost { color: var(--cyan); }

/* crisis banner / queue */
.ziiva-crisis-banner {
  padding: 14px 18px; margin: 0 0 18px; border-radius: 4px;
  background: rgba(255,56,96,.10); border: 1px solid rgba(255,56,96,.4);
  border-left: 3px solid var(--red); color: #ffd7df;
  font-family: var(--font-mono); font-size: 13px; letter-spacing: .03em;
  animation: hud-alert 1.4s ease-in-out infinite;
}
.ziiva-crisis-banner.red { background: rgba(255,56,96,.18); }
.ziiva-crisis-banner a { color: var(--cyan); }
@keyframes hud-alert { 0%,100%{box-shadow:0 0 0 0 rgba(255,56,96,0)} 50%{box-shadow:0 0 0 3px rgba(255,56,96,.18)} }
#crisis-queue em { color: var(--ink-dim); font-style: normal; font-family: var(--font-mono); font-size: 12px; }

/* ---- Tables ----------------------------------------------------------- */
.ziiva-widget table, .ziiva-glass table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ziiva-widget th, .ziiva-glass th {
  text-align: left; padding: 8px 10px; font-family: var(--font-mono);
  font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--cyan-dim); border-bottom: 1px solid var(--hud-line-hot);
}
.ziiva-widget td, .ziiva-glass td {
  padding: 9px 10px; border-bottom: 1px dashed var(--hud-line); color: var(--ink);
}
.ziiva-widget tbody tr, .ziiva-glass tbody tr { transition: background .15s ease; }
.ziiva-widget tbody tr:hover, .ziiva-glass tbody tr:hover { background: rgba(0,229,255,.06); }

/* ---- Forms / buttons / selects ---------------------------------------- */
.ziiva-glass form, .ziiva-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
.ziiva-hud-root label {
  font-family: var(--font-mono); font-size: 11px; letter-spacing: .08em;
  text-transform: uppercase; color: var(--ink-dim);
  display: flex; flex-direction: column; gap: 5px;
}
.ziiva-hud-root input[type=date],
.ziiva-hud-root input[type=text],
.ziiva-hud-root select {
  background: rgba(5,7,13,.7); border: 1px solid var(--hud-line);
  color: var(--ink); font-family: var(--font-mono); font-size: 13px;
  padding: 8px 10px; border-radius: 3px; transition: all .18s ease;
}
.ziiva-hud-root input:focus, .ziiva-hud-root select:focus {
  outline: none; border-color: var(--cyan); box-shadow: var(--glow-cyan);
}
.ziiva-hud-root button,
.ziiva-hud-root a.button,
.ziiva-hud-root .ziiva-switch-btn,
.ziiva-hud-root .ziiva-test-btn {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: .08em;
  text-transform: uppercase; cursor: pointer;
  color: #04101a; background: linear-gradient(180deg, #2ff3ff, var(--cyan));
  border: 0; padding: 9px 16px; border-radius: 3px; font-weight: 700;
  box-shadow: 0 0 .8em rgba(0,229,255,.4); transition: all .16s ease;
  text-decoration: none; display: inline-block;
}
.ziiva-hud-root button:hover, .ziiva-hud-root a.button:hover,
.ziiva-hud-root .ziiva-switch-btn:hover, .ziiva-hud-root .ziiva-test-btn:hover {
  transform: translateY(-1px); box-shadow: var(--glow-cyan); filter: brightness(1.08);
}
.ziiva-hud-root button:active { transform: translateY(1px) scale(.98); }
.ziiva-hud-root .ziiva-test-btn {
  background: transparent; color: var(--violet); border: 1px solid var(--violet-dim);
  box-shadow: none;
}
.ziiva-hud-root .ziiva-test-btn:hover { background: rgba(168,85,247,.12); box-shadow: var(--glow-violet); }
.ziiva-hud-root .ziiva-switch-target { min-width: 220px; }

/* ---- Runbook ---------------------------------------------------------- */
#runbook summary {
  cursor: pointer; font-family: var(--font-display); font-size: 13px;
  letter-spacing: .1em; text-transform: uppercase; color: var(--cyan);
  list-style: none; padding: 4px 0;
}
#runbook summary::-webkit-details-marker { display: none; }
#runbook summary::before { content: "⟐ "; color: var(--violet); }
#runbook ol { margin: 14px 0 0; padding-left: 22px; }
#runbook li {
  padding: 7px 0; border-bottom: 1px dashed var(--hud-line);
  font-family: var(--font-mono); font-size: 12.5px; color: var(--ink);
}

/* ---- Modal ------------------------------------------------------------ */
#ziiva-switch-modal {
  /* Center the modal dialog. A global `margin:0` reset in the admin shell kills
     the UA default `margin:auto` that normally centers a showModal() dialog,
     dropping it to the top-left — so we re-center explicitly. */
  position: fixed; inset: 0; margin: auto;
  width: max-content; max-width: 460px; height: max-content; max-height: 90vh;
  color: var(--ink); border: 1px solid var(--hud-line-hot);
  background: var(--hud-panel-hi); backdrop-filter: blur(16px);
  border-radius: 6px; padding: 24px;
  box-shadow: 0 0 60px -10px rgba(0,229,255,.5);
}
#ziiva-switch-modal::backdrop { background: rgba(2,4,9,.7); backdrop-filter: blur(3px); }
#ziiva-switch-modal h3 {
  font-family: var(--font-display); color: var(--cyan); margin: 0 0 12px;
  letter-spacing: .06em; text-transform: uppercase;
}
#ziiva-switch-modal menu { display: flex; gap: 10px; justify-content: flex-end; padding: 0; margin: 18px 0 0; }
#ziiva-switch-cancel { background: transparent !important; color: var(--ink-dim) !important; border: 1px solid var(--hud-line) !important; box-shadow: none !important; }

/* ---- Unified routing table (one model per purpose) -------------------- */
.ziiva-table-hint { color: var(--ink-dim); font-size: 12px; margin: -4px 0 14px; }
.ziiva-routing-table td { vertical-align: middle; }
.ziiva-routing-table .ziiva-purpose-label { font-weight: 600; color: var(--ink); }
.ziiva-routing-table .ziiva-purpose-key { font-size: 11px; color: var(--ink-dim); font-family: var(--font-mono, monospace); margin-top: 2px; }
.ziiva-routing-table .ziiva-current-model { color: var(--cyan); font-size: 13px; }
.ziiva-routing-table .ziiva-current-source { display: block; font-size: 11px; color: var(--ink-dim); margin-top: 2px; }
.ziiva-routing-table .ziiva-unassigned { color: var(--ink-dim); font-style: italic; }
.ziiva-routing-table .ziiva-switch-target { min-width: 240px; }
.ziiva-routing-table .ziiva-col-action { white-space: nowrap; }
.ziiva-routing-table .ziiva-col-action .ziiva-test-result { display: block; font-size: 12px; margin-top: 6px; }

/* ---- Motion: reveal states (Motion One toggles these) ----------------- */
.ziiva-reveal { opacity: 0; transform: translateY(14px); }
.ziiva-hud-ready .ziiva-reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .ziiva-hud-root::before, .ziiva-crisis-banner, .ziiva-live-dot i { animation: none !important; }
  .ziiva-reveal { opacity: 1 !important; transform: none !important; }
  .ziiva-gauge .fill { transition: none; }
}

/* ============================================================================
   SHELL DARK OVERRIDE — make the ENTIRE Unfold admin dark & cohesive
   ----------------------------------------------------------------------------
   This file is injected globally (UNFOLD["STYLES"]), so it loads on EVERY admin
   page, not just the HUD dashboards. Unfold's shell (body, sidebar, header,
   content, model-list pages) renders light via Tailwind utilities like
   `bg-white` / `bg-base-50` and only goes dark when the `dark` class holds.
   force-dark.js pins that class, but to eliminate any white flash (and survive
   JS-off / Alpine flips) we ALSO force the shell dark here, regardless of the
   `dark` class, by overriding the light utility classes to the cyber navy.

   The louder neon belongs to the HUD pages (.ziiva-hud-root), which set their own
   backgrounds; nothing below targets .ziiva-hud-root internals, so those panels
   keep their atmosphere. Colors use the cyber tokens defined at the top of this
   file (--hud-bg / --hud-bg-2 / --hud-panel / --ink / --cyan).
   ============================================================================ */

/* Calm dark navy base for the whole document. */
body,
body.bg-base-50 {
  background-color: #070a12 !important;
  color: #c7d6ec !important;
}

/* In this admin every `bg-white` / `bg-base-50` is shell chrome (sidebar,
   header, content wrapper, model containers, search box, dropdowns), so it is
   safe to repaint them dark navy. */
.bg-white,
.bg-base-50,
.bg-base-100 {
  background-color: #0a0e1a !important;
}

/* Slightly raised panels (dropdowns, popovers) read one step lighter. */
.bg-base-800 {
  background-color: #11182b !important;
}
.bg-base-900,
.bg-base-950 {
  background-color: #070a12 !important;
}

/* Borders / dividers become faint cyan-tinted lines instead of light gray. */
.border-base-100,
.border-base-200,
.border-base-300 {
  border-color: rgba(120, 200, 255, 0.12) !important;
}

/* Ink: light text for the dark surfaces. */
.text-font-default-light { color: #c7d6ec !important; }
.text-font-subtle-light  { color: #7388a8 !important; }
.text-font-important-light { color: #eaf6ff !important; }

/* Sidebar: dark navy, cyan accents on the active / hovered nav items. */
#nav-sidebar,
#nav-sidebar.bg-base-50 {
  background-color: #080b15 !important;
  border-color: rgba(120, 200, 255, 0.12) !important;
}
#nav-sidebar a:hover,
#nav-sidebar .text-primary-600 {
  color: #00e5ff !important;
}
#nav-sidebar .bg-base-100,
#nav-sidebar a.active {
  background-color: rgba(0, 229, 255, 0.10) !important;
  color: #00e5ff !important;
}

/* Top header bar matches the navy shell. */
header.bg-white,
header.bg-base-50 {
  background-color: #0a0e1a !important;
  border-color: rgba(120, 200, 255, 0.12) !important;
}

/* Links / interactive accents in the shell lean cyan. */
.text-primary-600 { color: #00e5ff !important; }
.text-primary-500 { color: #2df3ff !important; }

/* The HUD dashboard pages own their backgrounds; never let the shell override
   bleed into their panels (defensive — the rules above are class-scoped, but
   this keeps the HUD root transparent over its own atmosphere layer). */
.ziiva-hud-root,
.ziiva-hud-root.bg-white,
.ziiva-hud-root.bg-base-50 {
  background-color: transparent !important;
}

/* ============================================================================
   GLOBAL CYBER-HUD — push the HUD aesthetic onto Unfold's own components so
   EVERY admin page (index, list, change/add forms, breadcrumb bar) matches the
   custom dashboards, not just .ziiva-hud-root pages.
   Targets Unfold's real Tailwind classes (rounded-default cards, changelist
   tables, search, filters, buttons, breadcrumbs). Verified via screenshots.
   ============================================================================ */

/* --- Display font on admin headings & the brand ------------------------- */
#header h1, .ziiva-brand, h1.text-font-important-light, h1.text-font-important-dark,
#content h1, #content h2.text-font-important-light, #content-main h1 {
  font-family: var(--font-display) !important;
  letter-spacing: .03em;
}
/* breadcrumb / module captions in mono for the HUD feel */
.text-font-subtle-light, .text-font-subtle-dark { color: var(--ink-dim) !important; }

/* --- Cards / panels: give Unfold's rounded-default surfaces the HUD look -- */
.rounded-default.shadow,
.rounded-default.border,
div.bg-white.rounded-default,
.changelist .rounded-default {
  background: var(--hud-panel) !important;
  border: 1px solid var(--hud-line) !important;
  border-radius: 4px !important;
  position: relative;
  backdrop-filter: blur(10px) saturate(1.05);
}
/* corner brackets on the main content card(s) — the HUD signature, applied to
   the primary changelist/result container and form module */
#content-main > .rounded-default,
#content-main form > .rounded-default,
.changelist-results, .changelist-form .module,
#content-main .module.rounded-default {
  position: relative;
}
#content-main > .rounded-default::before,
.changelist-results::before,
#content-main .module.rounded-default::before {
  content: ""; position: absolute; top: 7px; left: 7px;
  width: 13px; height: 13px; border: 2px solid var(--hud-line-hot);
  border-right: 0; border-bottom: 0; pointer-events: none; z-index: 2;
}
#content-main > .rounded-default::after,
.changelist-results::after,
#content-main .module.rounded-default::after {
  content: ""; position: absolute; bottom: 7px; right: 7px;
  width: 13px; height: 13px; border: 2px solid var(--hud-line-hot);
  border-left: 0; border-top: 0; pointer-events: none; z-index: 2;
}

/* --- Search bar --------------------------------------------------------- */
input[type=search], input[type=text].border-base-200, #searchbar,
.changelist-search input {
  background: rgba(5,7,13,.7) !important;
  border: 1px solid var(--hud-line) !important;
  color: var(--ink) !important;
  font-family: var(--font-mono) !important;
}
input[type=search]:focus, #searchbar:focus, .changelist-search input:focus {
  border-color: var(--cyan) !important; box-shadow: var(--glow-cyan) !important;
}

/* --- Sidebar search: the input shares a flex row with a leading magnifier
   icon and a trailing "t" shortcut <kbd>. Without explicit padding the
   placeholder ran under both, looking cramped. Give it room on both sides,
   a comfortable height, and a readable font; tidy the kbd badge. --------- */
#nav-sidebar input[type=search],
#nav-sidebar input[type=text],
aside form input[type=search],
aside form input[type=text] {
  height: 38px !important;
  padding-left: 34px !important;   /* clear the ~18px magnifier icon */
  padding-right: 30px !important;  /* clear the trailing kbd badge */
  font-size: 12.5px !important;
  letter-spacing: .02em !important;
  border-radius: 4px !important;
}
/* the leading magnifier sits inside the field, vertically centered */
#nav-sidebar form .material-symbols-outlined,
aside form .material-symbols-outlined {
  left: 10px !important;
  opacity: .7;
}
/* the "t" shortcut badge: nudge off the edge and calm it down */
#nav-sidebar form kbd,
aside form kbd {
  right: 8px !important;
  opacity: .6;
  font-family: var(--font-mono) !important;
}

/* --- Tables (changelist results) --------------------------------------- */
#result_list thead th, table thead th {
  font-family: var(--font-mono) !important;
  text-transform: uppercase !important; letter-spacing: .1em !important;
  font-size: 10.5px !important; color: var(--cyan-dim) !important;
  border-bottom: 1px solid var(--hud-line-hot) !important;
  background: transparent !important;
}
#result_list tbody td, table tbody td {
  border-bottom: 1px dashed var(--hud-line) !important;
  color: var(--ink) !important;
}
#result_list tbody tr:hover, table tbody tr:hover {
  background: rgba(0,229,255,.06) !important;
}
/* numeric-ish cells in mono */
#result_list td { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* --- Buttons: cyber cyan primary + outline default --------------------- */
.button, input[type=submit], button[type=submit],
a.button, .object-tools a, .submit-row input {
  font-family: var(--font-mono) !important;
  letter-spacing: .06em !important; text-transform: uppercase !important;
  font-size: 11.5px !important; font-weight: 700 !important;
  border-radius: 3px !important;
}
.button.default, input[type=submit].default, .submit-row input.default,
a.button.bg-primary-600, .bg-primary-600.button {
  background: linear-gradient(180deg, #2ff3ff, var(--cyan)) !important;
  color: #04101a !important; border: 0 !important;
  box-shadow: 0 0 .7em rgba(0,229,255,.4) !important;
}
.button.default:hover, input[type=submit].default:hover {
  filter: brightness(1.08); box-shadow: var(--glow-cyan) !important;
}

/* --- Filters / sidebar dropdown panels --------------------------------- */
#changelist-filter, .changelist-filter, [data-filter] {
  background: var(--hud-panel) !important;
  border: 1px solid var(--hud-line) !important;
}

/* --- Breadcrumb bar (Unfold's top breadcrumbs) ------------------------- */
.px-4 nav a, [aria-label="Breadcrumbs"] a, .breadcrumbs a {
  color: var(--cyan-dim) !important; font-family: var(--font-mono);
  font-size: 12px; letter-spacing: .04em; transition: color .15s ease;
}
.px-4 nav a:hover, [aria-label="Breadcrumbs"] a:hover, .breadcrumbs a:hover {
  color: var(--cyan) !important; text-shadow: var(--glow-cyan);
}

/* --- Sidebar active item gets a cyan glow rail ------------------------- */
#nav-sidebar a.bg-primary-50, #nav-sidebar a[aria-current="page"],
.sidebar a.bg-primary-100, nav a.bg-primary-50 {
  background: rgba(0,229,255,.10) !important;
  border-left: 2px solid var(--cyan) !important;
  color: var(--cyan) !important; box-shadow: inset 0 0 20px rgba(0,229,255,.08);
}

/* --- Empty-state ("No results found") gets HUD ink -------------------- */
.text-font-important-light, .text-font-important-dark { color: #eaf6ff !important; }

/* --- Links --------------------------------------------------------------- */
#content a:not(.button):not(.ziiva-back):not(.ziiva-crumb) { color: var(--cyan-dim); }
#content a:not(.button):not(.ziiva-back):not(.ziiva-crumb):hover { color: var(--cyan); }
