/* LAIS hub beauty + soft shadow polish
   Soft, natural elevation across Maroon / Classic / Enterprise.
   Does NOT restyle the PIN gate (html.lais-gate / data-theme=gate).
   Green sweep accent adapted from cmc.html cmcDoneSweep. */

/* ---- Shadow tokens ---- */
html[data-theme="maroon"] {
  --sh-ambient: 0 1px 2px rgba(62,4,34,.04);
  --sh-card: 0 1px 2px rgba(62,4,34,.05), 0 10px 32px rgba(62,4,34,.08), 0 0 0 1px rgba(201,164,92,.10);
  --sh-card-hover: 0 2px 4px rgba(62,4,34,.06), 0 16px 40px rgba(62,4,34,.12), 0 0 0 1px rgba(201,164,92,.28), 0 0 24px rgba(201,164,92,.12);
  --sh-panel: 0 1px 2px rgba(62,4,34,.04), 0 8px 24px rgba(62,4,34,.07);
  --sh-float: 0 8px 28px rgba(62,4,34,.14), 0 0 20px rgba(201,164,92,.10);
  --green-sweep-b: rgba(110,231,183,.38);
  --a-spring: cubic-bezier(.34,1.56,.64,1);
}
html[data-theme="enterprise"] {
  --sh-ambient: 0 1px 2px rgba(11,42,64,.05);
  --sh-card: 0 1px 2px rgba(11,42,64,.05), 0 10px 32px rgba(11,42,64,.09), 0 0 0 1px rgba(200,144,46,.10);
  --sh-card-hover: 0 2px 4px rgba(11,42,64,.07), 0 16px 40px rgba(11,42,64,.13), 0 0 0 1px rgba(200,144,46,.24), 0 0 20px rgba(200,144,46,.10);
  --sh-panel: 0 1px 2px rgba(11,42,64,.04), 0 8px 24px rgba(11,42,64,.08);
  --sh-float: 0 8px 28px rgba(11,42,64,.14), 0 0 18px rgba(200,144,46,.10);
  --green-sweep-b: rgba(110,231,183,.34);
  --a-spring: cubic-bezier(.34,1.56,.64,1);
}
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) {
  --sh-ambient: 0 1px 2px rgba(0,0,0,.22);
  --sh-card: 0 10px 32px rgba(0,0,0,.32), 0 0 36px rgba(192,38,211,.08), inset 0 1px 0 rgba(255,255,255,.05);
  --sh-card-hover: 0 16px 44px rgba(0,0,0,.4), 0 0 48px rgba(232,121,249,.16), 0 0 0 1px rgba(232,121,249,.25);
  --sh-panel: 0 8px 24px rgba(0,0,0,.28), 0 0 24px rgba(192,38,211,.06);
  --sh-float: 0 12px 36px rgba(0,0,0,.4), 0 0 28px rgba(232,121,249,.14);
  --green-sweep-b: rgba(110,231,183,.42);
  --a-spring: cubic-bezier(.34,1.56,.64,1);
}

@keyframes laisHubGreenSweepOsc {
  0%   { transform: translateX(-110%); opacity: .15; }
  45%  { opacity: .9; }
  50%  { transform: translateX(110%); opacity: .8; }
  100% { transform: translateX(-110%); opacity: .15; }
}
@keyframes laisHubGreenSweep {
  0%   { transform: translateX(-120%); opacity: .15; }
  40%  { opacity: 1; }
  100% { transform: translateX(120%); opacity: .12; }
}

/* Soft elevation on hub surfaces — never muddy */
html[data-theme="maroon"] body .hub-card,
html[data-theme="maroon"] body .hub-choice,
html[data-theme="maroon"] body a.hub-sub,
html[data-theme="maroon"] body .promo-card,
html[data-theme="maroon"] body .today-campus,
html[data-theme="maroon"] body .choice {
  box-shadow: var(--sh-card) !important;
}
html[data-theme="enterprise"] body .hub-card,
html[data-theme="enterprise"] body .hub-choice,
html[data-theme="enterprise"] body a.hub-sub,
html[data-theme="enterprise"] body .promo-card,
html[data-theme="enterprise"] body .today-campus,
html[data-theme="enterprise"] body .choice {
  box-shadow: var(--sh-card) !important;
}
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-card,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-choice,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body a.hub-sub,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .promo-card {
  box-shadow: var(--sh-card) !important;
}

/* Map / heartbeat / heatwave panels */
html[data-theme="maroon"] body .map-shell,
html[data-theme="maroon"] body .heartbeat-panel,
html[data-theme="maroon"] body .heatwave-soon,
html[data-theme="maroon"] body .panel,
html[data-theme="maroon"] body .status-log-panel,
html[data-theme="maroon"] body .dispatch-paste-panel,
html[data-theme="maroon"] body .tm-card {
  box-shadow: var(--sh-panel) !important;
}
html[data-theme="enterprise"] body .map-shell,
html[data-theme="enterprise"] body .heartbeat-panel,
html[data-theme="enterprise"] body .heatwave-soon,
html[data-theme="enterprise"] body .panel,
html[data-theme="enterprise"] body .status-log-panel,
html[data-theme="enterprise"] body .dispatch-paste-panel,
html[data-theme="enterprise"] body .tm-card {
  box-shadow: var(--sh-panel) !important;
}
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .map-shell,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .heartbeat-panel,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .heatwave-soon,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .panel,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .status-log-panel {
  box-shadow: var(--sh-panel) !important;
}

/* Hover lift (desktop) — soft, gold-kissed in Maroon */
@media (min-width: 900px) and (hover: hover) {
  html[data-theme="maroon"] body .hub-choice:hover,
  html[data-theme="maroon"] body a.hub-sub:hover,
  html[data-theme="maroon"] body .promo-card:hover,
  html[data-theme="maroon"] body .today-campus:hover,
  html[data-theme="maroon"] body .choice:hover {
    box-shadow: var(--sh-card-hover) !important;
  }
  html[data-theme="enterprise"] body .hub-choice:hover,
  html[data-theme="enterprise"] body a.hub-sub:hover,
  html[data-theme="enterprise"] body .promo-card:hover,
  html[data-theme="enterprise"] body .today-campus:hover,
  html[data-theme="enterprise"] body .choice:hover {
    box-shadow: var(--sh-card-hover) !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-choice:hover,
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body a.hub-sub:hover,
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .promo-card:hover {
    box-shadow: var(--sh-card-hover) !important;
  }

  /* Green sweep accent on hub primary tile + heatwave (CMC vibe) */
  html:not([data-theme="gate"]) body .hub-choice-primary,
  html:not([data-theme="gate"]) body .heatwave-soon,
  html:not([data-theme="gate"]) body .status-log-panel {
    position: relative;
    overflow: hidden;
  }
  html:not([data-theme="gate"]) body .hub-choice-primary::before,
  html:not([data-theme="gate"]) body .heatwave-soon > .hw-legend::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--green-sweep-b), transparent);
    transform: translateX(-110%);
    animation: laisHubGreenSweepOsc 6.5s ease-in-out infinite;
    pointer-events: none;
    z-index: 3;
    opacity: .75;
  }
  /* Re-affirm CMC done sweep on completed status rows (all themes) */
  html:not([data-theme="gate"]) body .status-log-item.stage-complete::after,
  html:not([data-theme="gate"]) body .req-card.stage-complete::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, transparent, var(--green-sweep-b), transparent);
    transform: translateX(-120%);
    animation: laisHubGreenSweep 1.6s ease-in-out 1;
    pointer-events: none;
  }
}

/* Soft header / top bar float */
html[data-theme="maroon"] body .top,
html[data-theme="maroon"] body .topbar,
html[data-theme="enterprise"] body .top,
html[data-theme="enterprise"] body .topbar {
  box-shadow: var(--sh-float) !important;
}

/* Soften alive lift tokens so they match new stack (less muddy) */
html[data-theme="maroon"] {
  --a-rest: 0 1px 2px rgba(62,4,34,.06), 0 5px 14px rgba(62,4,34,.09) !important;
  --a-lift: 0 2px 4px rgba(62,4,34,.08), 0 12px 28px rgba(62,4,34,.14), 0 0 0 1px rgba(201,164,92,.28), 0 0 22px rgba(201,164,92,.14) !important;
  --a-press: inset 0 2px 4px rgba(40,2,20,.22), 0 1px 1px rgba(62,4,34,.08) !important;
}
html[data-theme="enterprise"] {
  --a-rest: 0 1px 2px rgba(11,42,64,.06), 0 5px 14px rgba(11,42,64,.09) !important;
  --a-lift: 0 2px 4px rgba(11,42,64,.08), 0 12px 28px rgba(11,42,64,.14), 0 0 0 1px rgba(200,144,46,.24), 0 0 18px rgba(200,144,46,.12) !important;
  --a-press: inset 0 2px 4px rgba(11,42,64,.22), 0 1px 1px rgba(11,42,64,.08) !important;
}

/* Gate stays untouched */
html.lais-gate body .hub-card,
html[data-theme="gate"] body .hub-card,
html.lais-gate body .top,
html[data-theme="gate"] body .top {
  box-shadow: none !important;
}

@media (prefers-reduced-motion: reduce) {
  html body .hub-choice-primary::before,
  html body .heatwave-soon > .hw-legend::before,
  html body .status-log-item.stage-complete::after,
  html body .req-card.stage-complete::after {
    animation: none !important;
  }
}
@media (max-width: 899px), (hover: none) {
  html body .hub-choice-primary::before,
  html body .heatwave-soon > .hw-legend::before {
    animation: none !important;
  }
}

/* ===================================================================
   AI page (ai.html): GLOBE + ORB redesign — the orb circle stays the hero
   Replaces the muddy grayscale/sepia filter (55% opacity) in Maroon/Enterprise
   with real per-theme spheres, soft grounded shadow, and a green meridian sweep.
   =================================================================== */
@keyframes laisMeridianSweep { 0% { transform: translateX(-140%) skewX(-8deg); } 100% { transform: translateX(140%) skewX(-8deg); } }
@keyframes laisOrbHalo { to { transform: rotate(360deg); } }

/* All themes: globe gets a grounded contact shadow + a green meridian scan (from CMC done sweep) */
body .stage .globe-wrap::after {
  content: ""; position: absolute; left: 50%; top: calc(50% + min(34vw, 170px) + 18px);
  width: min(52vw, 260px); height: 26px; transform: translateX(-50%);
  border-radius: 50%; pointer-events: none; filter: blur(10px);
  background: radial-gradient(closest-side, rgba(0,0,0,.28), transparent);
}
body .globe::before {
  content: ""; position: absolute; top: -5%; bottom: -5%; left: 0; width: 34%; z-index: 2;
  pointer-events: none; border-radius: 50%;
  background: linear-gradient(90deg, transparent, rgba(110,231,183,.0) 15%, rgba(110,231,183,.30) 50%, rgba(110,231,183,0) 85%, transparent);
  transform: translateX(-140%);
  animation: laisMeridianSweep 6.5s ease-in-out infinite alternate;
  mix-blend-mode: screen;
}
/* Latitude hairlines read as a real globe (instead of a flat square grid) */
body .globe-grid {
  background:
    radial-gradient(circle, transparent 0 29%, var(--globe-line, rgba(125,211,252,.16)) 29.3% 29.8%, transparent 30.1%),
    radial-gradient(circle, transparent 0 44%, var(--globe-line, rgba(125,211,252,.14)) 44.3% 44.8%, transparent 45.1%),
    radial-gradient(ellipse 22% 50% at 50% 50%, transparent 0 96%, var(--globe-line, rgba(125,211,252,.14)) 97% 99%, transparent 100%),
    radial-gradient(ellipse 40% 50% at 50% 50%, transparent 0 97%, var(--globe-line, rgba(125,211,252,.12)) 97.5% 99%, transparent 100%),
    linear-gradient(0deg, transparent 49.6%, var(--globe-line, rgba(125,211,252,.14)) 49.8% 50.2%, transparent 50.4%),
    repeating-linear-gradient(0deg, transparent 0 18px, var(--globe-line-2, rgba(125,211,252,.05)) 18px 19px) !important;
}

/* ---------- MAROON: porcelain pearl globe, wine continents, champagne rings, garnet orb ---------- */
html[data-theme="maroon"] body .globe-aura,
html[data-theme="maroon"] body .globe,
html[data-theme="maroon"] body .globe-map,
html[data-theme="maroon"] body .globe-grid,
html[data-theme="maroon"] body .globe-ring { filter: none !important; opacity: 1 !important; }
html[data-theme="maroon"] body .globe-aura {
  background: radial-gradient(circle, rgba(201,164,92,.22), rgba(201,164,92,.06) 55%, transparent 70%) !important; filter: blur(6px) !important;
}
html[data-theme="maroon"] body .globe {
  --globe-line: rgba(92,6,50,.22); --globe-line-2: rgba(92,6,50,.07);
  background:
    radial-gradient(circle at 30% 24%, rgba(255,255,255,.98), rgba(255,255,255,0) 32%),
    radial-gradient(circle at 50% 50%, #FFF8F0 0%, #F1E0D4 38%, #E2C7B4 72%, #C9A48A 100%) !important;
  box-shadow:
    0 0 0 1.5px rgba(180,138,60,.55),
    0 0 0 4px rgba(255,255,255,.55),
    0 2px 4px rgba(62,4,34,.08),
    0 28px 64px -16px rgba(62,4,34,.32),
    0 0 70px rgba(201,164,92,.22),
    inset -24px -20px 48px rgba(92,6,50,.22),
    inset 14px 10px 30px rgba(255,255,255,.7) !important;
}
html[data-theme="maroon"] body .globe::after { background: linear-gradient(125deg, rgba(255,255,255,.35) 0%, transparent 40%, transparent 60%, rgba(92,6,50,.10) 100%) !important; }
html[data-theme="maroon"] body .globe-map {
  mix-blend-mode: multiply !important; opacity: .9 !important;
  background-image:
    radial-gradient(ellipse 18% 14% at 22% 38%, rgba(138,21,56,.42), transparent 70%),
    radial-gradient(ellipse 22% 16% at 28% 48%, rgba(92,6,50,.34), transparent 72%),
    radial-gradient(ellipse 14% 20% at 38% 42%, rgba(138,21,56,.32), transparent 70%),
    radial-gradient(ellipse 10% 12% at 48% 55%, rgba(163,32,74,.20), transparent 70%),
    radial-gradient(ellipse 16% 12% at 62% 40%, rgba(138,21,56,.26), transparent 70%),
    radial-gradient(ellipse 20% 14% at 72% 48%, rgba(92,6,50,.22), transparent 72%),
    radial-gradient(ellipse 12% 10% at 78% 36%, rgba(138,21,56,.20), transparent 70%),
    radial-gradient(ellipse 14% 18% at 18% 62%, rgba(163,32,74,.18), transparent 70%),
    radial-gradient(ellipse 18% 10% at 55% 68%, rgba(92,6,50,.16), transparent 70%),
    radial-gradient(ellipse 8% 14% at 85% 58%, rgba(138,21,56,.18), transparent 70%) !important;
}
html[data-theme="maroon"] body .globe-ring { border: 1px solid rgba(180,138,60,.45) !important; box-shadow: 0 0 18px rgba(201,164,92,.14) !important; }
html[data-theme="maroon"] body .globe-ring.r2 { border: 1px dashed rgba(138,21,56,.20) !important; box-shadow: none !important; }
html[data-theme="maroon"] body .globe::before { mix-blend-mode: normal; background: linear-gradient(90deg, transparent, rgba(31,122,77,0) 15%, rgba(52,180,120,.20) 50%, rgba(31,122,77,0) 85%, transparent); }
html[data-theme="maroon"] body .stage .globe-wrap::after { background: radial-gradient(closest-side, rgba(62,4,34,.22), transparent); }
/* Orb: garnet gem with champagne halo (replaces the leftover purple/blue conic) */
html[data-theme="maroon"] body .ai-orb {
  background: radial-gradient(circle at 34% 28%, #F4C7D3 0%, #C2335F 22%, #8A1538 52%, #4A0428 100%) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.85),
    0 0 0 3px rgba(201,164,92,.65),
    0 4px 8px rgba(62,4,34,.14),
    0 18px 40px -8px rgba(92,6,50,.42),
    0 0 44px rgba(201,164,92,.28),
    inset 0 -10px 22px rgba(42,4,24,.45),
    inset 0 8px 16px rgba(255,255,255,.28) !important;
  animation: none !important;
}
html[data-theme="maroon"] body .ai-orb::before {
  background: conic-gradient(from 0deg, rgba(201,164,92,0), rgba(227,194,122,.75), rgba(201,164,92,0) 40%, rgba(52,180,120,.35) 70%, rgba(201,164,92,0)) !important;
  filter: blur(1.5px) !important; opacity: .9 !important;
}
html[data-theme="maroon"] body .orb-core { font-family: 'Playfair Display', Georgia, serif !important; font-weight: 700 !important; letter-spacing: .06em !important; text-shadow: 0 1px 2px rgba(42,4,24,.45) !important; }
html[data-theme="maroon"] body .orb-hint { color: #5C0632 !important; font-weight: 700 !important; background: rgba(255,255,255,.82); padding: 3px 10px; border-radius: 999px; border: 1px solid rgba(180,138,60,.35); box-shadow: 0 2px 8px rgba(62,4,34,.08); }
@media (hover: hover) {
  html[data-theme="maroon"] body .ai-orb:hover, html[data-theme="maroon"] body .ai-orb:focus-visible {
    transform: scale(1.06) translateY(-2px) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(227,194,122,.85), 0 6px 12px rgba(62,4,34,.16), 0 26px 50px -10px rgba(92,6,50,.5), 0 0 60px rgba(201,164,92,.4), inset 0 -10px 22px rgba(42,4,24,.45), inset 0 8px 16px rgba(255,255,255,.32) !important;
  }
}

/* ---------- ENTERPRISE: deep ocean globe, teal land, ice grid, amber rings, navy orb ---------- */
html[data-theme="enterprise"] body .globe-aura,
html[data-theme="enterprise"] body .globe,
html[data-theme="enterprise"] body .globe-map,
html[data-theme="enterprise"] body .globe-grid,
html[data-theme="enterprise"] body .globe-ring { filter: none !important; opacity: 1 !important; }
html[data-theme="enterprise"] body .globe-aura { background: radial-gradient(circle, rgba(26,110,142,.20), rgba(200,144,46,.06) 55%, transparent 70%) !important; filter: blur(6px) !important; }
html[data-theme="enterprise"] body .globe {
  --globe-line: rgba(232,240,248,.20); --globe-line-2: rgba(232,240,248,.05);
  background:
    radial-gradient(circle at 32% 26%, rgba(255,255,255,.30), rgba(255,255,255,0) 30%),
    radial-gradient(circle at 50% 50%, #2A86A8 0%, #1A6E8E 30%, #0F3550 68%, #0B2A40 100%) !important;
  box-shadow:
    0 0 0 1px rgba(200,144,46,.40),
    0 2px 4px rgba(11,42,64,.08),
    0 26px 60px -18px rgba(11,42,64,.40),
    0 0 50px rgba(26,110,142,.20),
    inset -22px -16px 44px rgba(5,20,34,.45),
    inset 12px 10px 28px rgba(255,255,255,.12) !important;
}
html[data-theme="enterprise"] body .globe-map {
  mix-blend-mode: screen !important; opacity: .85 !important;
  background-image:
    radial-gradient(ellipse 18% 14% at 22% 38%, rgba(94,201,160,.50), transparent 70%),
    radial-gradient(ellipse 22% 16% at 28% 48%, rgba(59,178,115,.42), transparent 72%),
    radial-gradient(ellipse 14% 20% at 38% 42%, rgba(94,201,160,.36), transparent 70%),
    radial-gradient(ellipse 10% 12% at 48% 55%, rgba(59,178,115,.30), transparent 70%),
    radial-gradient(ellipse 16% 12% at 62% 40%, rgba(94,201,160,.40), transparent 70%),
    radial-gradient(ellipse 20% 14% at 72% 48%, rgba(59,178,115,.36), transparent 72%),
    radial-gradient(ellipse 12% 10% at 78% 36%, rgba(94,201,160,.30), transparent 70%),
    radial-gradient(ellipse 14% 18% at 18% 62%, rgba(59,178,115,.28), transparent 70%),
    radial-gradient(ellipse 18% 10% at 55% 68%, rgba(94,201,160,.24), transparent 70%),
    radial-gradient(ellipse 8% 14% at 85% 58%, rgba(59,178,115,.26), transparent 70%) !important;
}
html[data-theme="enterprise"] body .globe-ring { border: 1px solid rgba(200,144,46,.50) !important; box-shadow: 0 0 16px rgba(200,144,46,.12) !important; }
html[data-theme="enterprise"] body .globe-ring.r2 { border: 1px dashed rgba(15,53,80,.22) !important; box-shadow: none !important; }
html[data-theme="enterprise"] body .stage .globe-wrap::after { background: radial-gradient(closest-side, rgba(11,42,64,.26), transparent); }
html[data-theme="enterprise"] body .ai-orb {
  background: radial-gradient(circle at 34% 28%, #BFE3F0 0%, #2A86A8 24%, #134468 56%, #0B2A40 100%) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.9),
    0 0 0 3px rgba(200,144,46,.70),
    0 4px 8px rgba(11,42,64,.14),
    0 18px 40px -8px rgba(11,42,64,.45),
    0 0 40px rgba(200,144,46,.22),
    inset 0 -10px 22px rgba(5,20,34,.45),
    inset 0 8px 16px rgba(255,255,255,.26) !important;
  animation: none !important;
}
html[data-theme="enterprise"] body .ai-orb::before {
  background: conic-gradient(from 0deg, rgba(200,144,46,0), rgba(226,182,92,.75), rgba(200,144,46,0) 40%, rgba(59,178,115,.35) 70%, rgba(200,144,46,0)) !important;
  filter: blur(1.5px) !important; opacity: .9 !important;
}
html[data-theme="enterprise"] body .orb-core { letter-spacing: .14em !important; text-shadow: 0 1px 2px rgba(5,20,34,.5) !important; }
html[data-theme="enterprise"] body .orb-hint { color: #0F3550 !important; font-weight: 700 !important; background: rgba(255,255,255,.85); padding: 3px 10px; border-radius: 6px; border: 1px solid rgba(200,144,46,.35); box-shadow: 0 2px 8px rgba(11,42,64,.08); }
@media (hover: hover) {
  html[data-theme="enterprise"] body .ai-orb:hover, html[data-theme="enterprise"] body .ai-orb:focus-visible {
    transform: scale(1.06) translateY(-2px) !important;
    box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(226,182,92,.85), 0 6px 12px rgba(11,42,64,.16), 0 26px 50px -10px rgba(11,42,64,.5), 0 0 56px rgba(200,144,46,.34), inset 0 -10px 22px rgba(5,20,34,.45), inset 0 8px 16px rgba(255,255,255,.3) !important;
  }
}

/* ---------- CLASSIC: keep dusk, restrain the glow stack a touch, sharpen rim ---------- */
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .globe {
  box-shadow: 0 0 0 1px rgba(125,211,252,.30), 0 24px 60px -18px rgba(0,0,0,.6), 0 0 36px rgba(56,189,248,.16), 0 0 64px rgba(168,85,247,.12), inset -18px -12px 40px rgba(0,0,0,.45), inset 10px 8px 28px rgba(255,255,255,.08) !important;
}
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .stage .globe-wrap::after { background: radial-gradient(closest-side, rgba(192,38,211,.22), transparent); }

/* AI chat panel & chips: soft depth per theme */
html[data-theme="maroon"] body .panel-inner { box-shadow: 0 1px 2px rgba(62,4,34,.05), 0 18px 48px -12px rgba(62,4,34,.20), 0 0 0 1px rgba(201,164,92,.18) !important; }
html[data-theme="enterprise"] body .panel-inner { box-shadow: 0 1px 2px rgba(11,42,64,.05), 0 18px 48px -12px rgba(11,42,64,.22), 0 0 0 1px rgba(200,144,46,.16) !important; }

@media (prefers-reduced-motion: reduce) { body .globe::before { animation: none !important; display: none; } }
@media (max-width: 899px), (hover: none) { body .globe::before { animation-duration: 10s; } }

/* ---------- Hub detail fixes ---------- */
/* "Open now" under North/South Charlotte was pale pink on white (low contrast) → green live chip */
/* Open now chip: always its own row under the campus name (never overlaps) */
html body .hub-group-title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
html[data-theme="maroon"] body .hub-group-title span,
html[data-theme="enterprise"] body .hub-group-title span,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-group-title span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  position: static !important;
  float: none !important;
  font-family: 'Source Sans 3', system-ui, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  line-height: 1.2 !important;
  padding: 4px 10px !important;
  border-radius: 999px !important;
  width: auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
html[data-theme="maroon"] body .hub-group-title span {
  color: #17543A !important;
  background: rgba(31,157,97,.10) !important;
  border: 1px solid rgba(31,157,97,.28) !important;
}
html[data-theme="enterprise"] body .hub-group-title span {
  color: #1E7A4C !important;
  background: rgba(30,122,76,.10) !important;
  border: 1px solid rgba(30,122,76,.28) !important;
}
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-group-title span {
  color: #86efac !important;
  background: rgba(34,197,94,.14) !important;
  border: 1px solid rgba(134,239,172,.35) !important;
}
html[data-theme="maroon"] body .hub-group-title span::before,
html[data-theme="enterprise"] body .hub-group-title span::before,
html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-group-title span::before {
  content: ""; width: 7px; height: 7px; border-radius: 50%; flex: 0 0 auto;
  background: #1F9D61; box-shadow: 0 0 0 3px rgba(52,211,153,.18);
}
@media (max-width: 899px), (hover: none) {
  html body .hub-group-title {
    align-items: flex-start !important;
    gap: 10px !important;
  }
  html body .hub-group-title span {
    display: inline-flex !important;
    margin-top: 0 !important;
  }
}


/* ===================================================================
   Hub CIRCLE exploration (desktop only) — v2
   Outer + inner rings = LOCATION tiles only.
   AI + Feedback = side tool docks outside the geographic orbit.
   Enriched depth: soft layered shadows, subtle gradients, hairlines.
   Phone keeps vertical stack. Interaction in lais-hub-orbit.js.
   =================================================================== */
.hub-orbit-stage,
.hub-orbit-controls { display: none !important; }

@media (min-width: 900px) and (hover: hover) {
  html body .hub:not(.hidden) {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 8px 16px 20px !important;
    min-height: 100vh;
  }
  html body .hub-card {
    width: min(1220px, 100%) !important;
    max-width: 1220px !important;
    margin: 0 auto !important;
    padding-bottom: 14px !important;
  }
  html.lais-hub-orbit[data-theme="maroon"] body .hub-card,
  html.lais-hub-orbit[data-theme="enterprise"] body .hub-card,
  html.lais-hub-orbit:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-card {
    box-shadow: none !important;
    background: transparent !important;
  }


  /* ---- Kill the gray/card frame: orbit blends into full-screen bg ---- */
  html.lais-hub-orbit body .hub-card,
  html body .hub:has(.hub-orbit-active) .hub-card {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    outline: none !important;
  }
  html.lais-hub-orbit body .hub,
  html body .hub:has(.hub-orbit-active) {
    background: transparent !important;
  }
  /* hero stays readable but no plate behind the orbit well */
  html.lais-hub-orbit body .hub-hero {
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 0 !important;
    margin-bottom: 2px !important;
    padding-top: 4px !important;
    padding-bottom: 2px !important;
  }
  html.lais-hub-orbit body .hub-hero::after { display: none !important; }
  html.lais-hub-orbit body .hub-hero h1 { margin: 4px 0 2px !important; }
  html.lais-hub-orbit body .hub-hero .sub { margin: 0 auto 2px !important; }
  html.lais-hub-orbit body .hub-lock-hint { display: none !important; }
  html.lais-hub-orbit body .hub-actions { margin-top: 2px !important; min-height: 0 !important; }

  html body .hub-hero { text-align: center; margin-bottom: 8px !important; }
  html body .hub-hero .sub { margin-left: auto; margin-right: auto; }

  html body .hub-grid.hub-orbit-active {
    position: relative !important;
    display: block !important;
    /* Wider well: side docks for AI/Feedback use horizontal real estate */
    width: min(1100px, 97vw) !important;
    /* One-screen height — tools frame the circle; no tall bottom band */
    height: min(720px, 78vh) !important;
    min-height: 640px !important;
    margin: 0 auto 8px !important;
    padding: 0 !important;
    gap: 0 !important;
    grid-template-columns: none !important;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active {
    display: block !important;
    grid-template-columns: none !important;
  }

  /* ---- Soft stage well (depth under the rings) ---- */
  html body .hub-grid.hub-orbit-active .hub-orbit-stage {
    display: block !important; /* override base display:none !important so rings paint */
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    border-radius: 0;
    background: transparent !important; /* no square plate — only the circular rings */
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-stage,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-stage {
    background: transparent !important;
  }

  html body .hub-grid.hub-orbit-active .hub-orbit-ring {
    position: absolute;
    left: 50%; top: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: auto;
    box-sizing: border-box;
  }
  /* Outer ring — layered hairline + soft glow */
  html body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    border: 1px solid rgba(232,121,249,.28);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.05) inset,
      0 0 0 6px rgba(232,121,249,.04),
      0 0 56px rgba(192,38,211,.14),
      0 18px 40px rgba(0,0,0,.22);
    background:
      radial-gradient(circle at 50% 42%, rgba(240,171,252,.07) 0%, transparent 55%),
      radial-gradient(circle, transparent 64%, rgba(232,121,249,.07) 78%, transparent 88%);
  }
  html body .hub-grid.hub-orbit-active .hub-orbit-ring-inner {
    border: 1px dashed rgba(232,121,249,.34);
    box-shadow:
      0 0 0 1px rgba(255,255,255,.04) inset,
      0 0 32px rgba(192,38,211,.12);
    background:
      radial-gradient(circle at 50% 45%, rgba(232,121,249,.08) 0%, transparent 68%);
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    border-color: rgba(138,21,56,.24);
    box-shadow:
      0 0 0 1px rgba(201,164,92,.22) inset,
      0 0 0 6px rgba(201,164,92,.06),
      0 0 48px rgba(92,6,50,.10),
      0 14px 36px rgba(62,4,34,.10);
    background:
      radial-gradient(circle at 50% 40%, rgba(255,255,255,.45) 0%, transparent 50%),
      radial-gradient(circle, transparent 64%, rgba(201,164,92,.10) 78%, transparent 88%);
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-ring-inner {
    border-color: rgba(138,21,56,.30);
    box-shadow: 0 0 0 1px rgba(255,255,255,.5) inset, 0 0 28px rgba(92,6,50,.08);
    background: radial-gradient(circle, rgba(247,238,241,.65) 0%, transparent 70%);
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    border-color: rgba(26,110,142,.30);
    box-shadow:
      0 0 0 1px rgba(200,144,46,.20) inset,
      0 0 0 6px rgba(26,110,142,.05),
      0 0 48px rgba(11,42,64,.10),
      0 14px 36px rgba(11,42,64,.10);
    background:
      radial-gradient(circle at 50% 40%, rgba(255,255,255,.4) 0%, transparent 50%),
      radial-gradient(circle, transparent 64%, rgba(26,110,142,.08) 78%, transparent 88%);
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-ring-inner {
    border-color: rgba(200,144,46,.40);
    box-shadow: 0 0 0 1px rgba(255,255,255,.55) inset, 0 0 28px rgba(11,42,64,.08);
    background: radial-gradient(circle, rgba(232,240,248,.65) 0%, transparent 70%);
  }

  /* ---- Location tiles on rings ---- */
  html body .hub-grid.hub-orbit-active > .hub-orbit-center,
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer,
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    position: absolute !important;
    width: auto !important;
    max-width: 200px;
    margin: 0 !important;
    grid-column: auto !important;
    z-index: 2;
    cursor: grab;
    transition: box-shadow .22s ease, filter .22s ease, border-color .22s ease;
  }

  /* Center — richer material plate */
  html body .hub-grid.hub-orbit-active > .hub-orbit-center {
    width: min(260px, 34%) !important;
    max-width: 270px;
    min-width: 210px;
    z-index: 4;
    cursor: pointer;
    text-align: center;
    padding: 16px 18px !important;
    border-radius: 20px !important;
    box-shadow:
      var(--sh-card, 0 10px 32px rgba(0,0,0,.32)),
      0 0 0 1px rgba(255,255,255,.08) inset,
      0 1px 0 rgba(255,255,255,.12) inset !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-center {
    background:
      linear-gradient(160deg, rgba(240,171,252,.42), rgba(192,38,211,.30) 42%, rgba(88,28,135,.52)) !important;
    border: 1px solid rgba(253,244,255,.55) !important;
    box-shadow:
      0 0 40px rgba(232,121,249,.36),
      0 16px 40px rgba(0,0,0,.38),
      inset 0 1px 0 rgba(255,255,255,.2) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center {
    background:
      linear-gradient(165deg, rgba(255,255,255,.96), rgba(247,238,241,.92) 55%, rgba(243,226,233,.90)) !important;
    border: 1px solid rgba(201,164,92,.35) !important;
    border-left: 5px solid #5C0632 !important;
    box-shadow:
      0 2px 4px rgba(62,4,34,.06),
      0 18px 44px rgba(62,4,34,.14),
      0 0 0 1px rgba(201,164,92,.18),
      inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center {
    background:
      linear-gradient(165deg, rgba(255,255,255,.97), rgba(232,240,248,.94) 60%, rgba(220,232,242,.92)) !important;
    border: 1px solid rgba(200,144,46,.32) !important;
    border-left: 5px solid #0F3550 !important;
    box-shadow:
      0 2px 4px rgba(11,42,64,.07),
      0 18px 44px rgba(11,42,64,.15),
      0 0 0 1px rgba(200,144,46,.16),
      inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-center span {
    display: block; margin-top: 6px; font-size: 12.5px; line-height: 1.35;
  }

  html body .hub-grid.hub-orbit-active > .hub-orbit-outer {
    width: min(172px, 21%) !important;
    max-width: 184px;
    padding: 12px 13px !important;
    min-height: 0 !important;
    border-radius: 14px !important;
    box-shadow:
      var(--sh-card, 0 12px 32px rgba(0,0,0,.34)),
      0 2px 6px rgba(0,0,0,.12),
      inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-group {
    padding: 12px 14px !important;
  }
  html body .hub-grid.hub-orbit-active > a.hub-orbit-outer > span {
    font-size: 11.5px !important; line-height: 1.3;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer strong {
    font-size: 14.5px !important; line-height: 1.25;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    width: min(124px, 15%) !important;
    max-width: 132px;
    padding: 11px 12px !important;
    border-radius: 12px !important;
    text-align: center;
    font-size: 13.5px !important;
    font-weight: 600;
    z-index: 3;
    box-shadow:
      var(--sh-card, 0 10px 28px rgba(0,0,0,.32)),
      0 2px 6px rgba(0,0,0,.10),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner small {
    display: block; margin-top: 2px; font-size: 10.5px !important; font-weight: 500; line-height: 1.25;
  }
  html body .hub-grid.hub-orbit-active > .hub-group .hub-group-title {
    font-size: 14px !important; text-align: center;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    line-height: 1.25 !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    margin-top: 0 !important;
    padding: 3px 9px !important;
    border-radius: 999px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .1em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    position: relative !important;
    z-index: 1 !important;
  }
  /* Classic dusk: clear green Open now chip on orbit tiles */
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span {
    color: #bbf7d0 !important;
    background: rgba(6, 78, 59, .55) !important;
    border: 1px solid rgba(52, 211, 153, .45) !important;
    box-shadow: 0 0 12px rgba(16, 185, 129, .25), inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span::before {
    content: "" !important;
    width: 6px; height: 6px; border-radius: 50%;
    background: #34d399;
    box-shadow: 0 0 0 3px rgba(52, 211, 153, .22);
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span {
    color: #17543A !important;
    background: rgba(227, 242, 234, .95) !important;
    border: 1px solid rgba(31, 157, 97, .35) !important;
    box-shadow: 0 1px 2px rgba(62,4,34,.06) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-group .hub-group-title span {
    color: #1E7A4C !important;
    box-shadow: 0 1px 2px rgba(11,42,64,.06) !important;
  }

  /* Maroon / Enterprise location tile glass lift */
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-outer,
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    background:
      linear-gradient(165deg, rgba(255,255,255,.94), rgba(255,255,255,.82)) !important;
    border: 1px solid rgba(255,255,255,.72) !important;
    box-shadow:
      0 1px 2px rgba(62,4,34,.05),
      0 10px 28px rgba(62,4,34,.10),
      0 0 0 1px rgba(201,164,92,.12),
      inset 0 1px 0 rgba(255,255,255,.85) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    background:
      linear-gradient(165deg, rgba(255,255,255,.96), rgba(244,247,251,.88)) !important;
    border: 1px solid rgba(220,227,235,.95) !important;
    box-shadow:
      0 1px 2px rgba(11,42,64,.05),
      0 10px 28px rgba(11,42,64,.11),
      0 0 0 1px rgba(200,144,46,.10),
      inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-outer,
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    box-shadow:
      0 10px 28px rgba(0,0,0,.34),
      0 0 28px rgba(192,38,211,.10),
      inset 0 1px 0 rgba(255,255,255,.10) !important;
  }

  /* ---- AI left · Feedback right · Lock bottom-center (NOT on location rings) ---- */
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool {
    position: absolute !important;
    width: 152px !important;
    height: 56px !important;
    min-width: 152px !important;
    max-width: 152px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    grid-column: auto !important;
    z-index: 5;
    cursor: pointer;
    padding: 0 12px !important;
    border-radius: 999px !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    transition: transform .22s var(--a-spring, cubic-bezier(.34,1.56,.64,1)), box-shadow .22s ease, filter .22s ease;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool strong {
    font-size: 14px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool > span {
    display: none !important; /* keep labels equal — title only in the pill */
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool .hub-soon-badge,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool .hub-primary-badge {
    margin-left: 6px !important;
    vertical-align: middle;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool::after { content: none !important; }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-tool {
    background:
      linear-gradient(155deg, rgba(49,46,129,.55), rgba(76,29,149,.42) 45%, rgba(15,23,42,.55)) !important;
    border: 1px solid rgba(196,181,253,.45) !important;
    box-shadow:
      0 12px 32px rgba(0,0,0,.4),
      0 0 28px rgba(139,92,246,.22),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-tool::after {
    background: rgba(30,27,75,.85);
    color: #e9d5ff;
    border: 1px solid rgba(196,181,253,.45);
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-tool {
    background:
      linear-gradient(160deg, #ffffff, #F7EEF1 70%, #F3E2E9) !important;
    border: 1px solid rgba(138,21,56,.22) !important;
    box-shadow:
      0 2px 4px rgba(62,4,34,.06),
      0 14px 34px rgba(62,4,34,.14),
      0 0 0 1px rgba(201,164,92,.22),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-tool::after {
    background: #5C0632; color: #F8E8C8; border: 1px solid rgba(201,164,92,.5);
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-tool {
    background:
      linear-gradient(160deg, #ffffff, #E8F0F8 70%, #DCE8F3) !important;
    border: 1px solid rgba(15,53,80,.20) !important;
    border-radius: 999px !important;
    box-shadow:
      0 2px 4px rgba(11,42,64,.06),
      0 14px 34px rgba(11,42,64,.14),
      0 0 0 1px rgba(200,144,46,.20),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-tool::after {
    background: #0F3550; color: #E2B65C; border: 1px solid rgba(200,144,46,.45); border-radius: 4px;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover {
    filter: brightness(1.04);
    box-shadow: var(--sh-card-hover, 0 16px 40px rgba(0,0,0,.4)) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover {
    transform: translate(-50%, calc(-50% - 3px)) !important;
  }


  /* Lock pill shares tool chrome; position set in JS (bottom-center) */
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 152px !important;
    height: 56px !important;
    min-width: 152px !important;
    max-width: 152px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-family: Outfit, system-ui, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: .04em !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock::after { content: none !important; }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover {
    transform: translate(-50%, calc(-50% - 3px)) !important;
  }
  html.lais-hub-orbit body .hub-actions {
    justify-content: center;
    margin-top: 6px !important;
  }
  html.lais-hub-orbit body .hub-lock-hint {
    text-align: center;
    width: 100%;
  }

  /* Dragging / rotating */
  html body .hub-grid.hub-orbit-active.hub-orbit-rotating { cursor: grabbing; }
  html body .hub-grid.hub-orbit-active > .hub-orbit-dragging {
    cursor: grabbing !important;
    z-index: 8 !important;
    filter: brightness(1.05);
    box-shadow: var(--sh-card-hover, 0 16px 40px rgba(0,0,0,.35)) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer:hover,
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner:hover,
  html body .hub-grid.hub-orbit-active > .hub-orbit-center:hover {
    transform: translate(-50%, -50%) !important;
  }

  /* Controls bar — frosted chip */
  html body .hub-grid.hub-orbit-active .hub-orbit-controls {
    display: none !important; /* ‹ › rotate buttons removed — drag/wheel only */
    position: absolute;
    left: 50%;
    bottom: 108px;
    transform: translateX(-50%);
    z-index: 4;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(28,18,52,.88), rgba(18,12,40,.92));
    border: 1px solid rgba(232,121,249,.30);
    box-shadow:
      0 10px 28px rgba(0,0,0,.35),
      inset 0 1px 0 rgba(255,255,255,.08);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    max-width: calc(100% - 24px);
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-controls,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-controls {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(250,247,242,.90));
    border-color: rgba(0,0,0,.08);
    box-shadow: 0 10px 28px rgba(62,4,34,.10), inset 0 1px 0 rgba(255,255,255,.95);
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-controls {
    box-shadow: 0 10px 28px rgba(11,42,64,.10), inset 0 1px 0 rgba(255,255,255,.95);
  }
  html body .hub-orbit-btn {
    width: 34px; height: 34px; border-radius: 50%;
    border: 1px solid rgba(232,121,249,.4);
    background: linear-gradient(180deg, rgba(232,121,249,.22), rgba(124,58,237,.18));
    color: #fdf4ff; font-size: 20px; line-height: 1; cursor: pointer;
    flex: 0 0 auto; font-family: Outfit, system-ui, sans-serif;
    box-shadow: 0 2px 8px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.12);
  }
  html[data-theme="maroon"] body .hub-orbit-btn {
    border-color: rgba(92,6,50,.3); background: linear-gradient(180deg, #fff, #F7EEF1); color: #5C0632;
    box-shadow: 0 2px 6px rgba(62,4,34,.1), inset 0 1px 0 #fff;
  }
  html[data-theme="enterprise"] body .hub-orbit-btn {
    border-color: rgba(15,53,80,.3); background: linear-gradient(180deg, #fff, #E8F0F8); color: #0F3550;
    border-radius: 8px; box-shadow: 0 2px 6px rgba(11,42,64,.1), inset 0 1px 0 #fff;
  }
  html body .hub-orbit-btn:hover { filter: brightness(1.06); }
  html body .hub-orbit-hint {
    margin: 0; font-size: 11px; line-height: 1.35; letter-spacing: .02em;
    color: rgba(233,213,255,.84); white-space: normal; max-width: 46ch;
  }
  html[data-theme="maroon"] body .hub-orbit-hint { color: #5E5459; }
  html[data-theme="enterprise"] body .hub-orbit-hint { color: #405068; }

  html body .hub-actions { justify-content: center; margin-top: 8px !important; }

  html body .hub-grid.hub-orbit-reduced > .hub-orbit-center,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-outer,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-inner,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-tool {
    transition: none !important;
  }
}

@media (max-width: 899px), (hover: none) {
  .hub-orbit-stage,
  .hub-orbit-controls { display: none !important; }
  html body .hub-grid.hub-orbit-active,
  html body .hub-grid {
    display: grid !important;
    height: auto !important;
    min-height: 0 !important;
    position: relative !important;
  }
  html body .hub-grid > .hub-orbit-center,
  html body .hub-grid > .hub-orbit-outer,
  html body .hub-grid > .hub-orbit-inner,
  html body .hub-grid > .hub-orbit-tool {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: none !important;
  }
  html body .hub-grid > .hub-orbit-inner { display: block; }
  html body .hub-grid > .hub-orbit-tool::after { content: none; }
  /* Phone stack order: locations first feel; tools+lock still in DOM order near top — OK as vertical list */
  html body .hub-group-title { align-items: flex-start !important; gap: 10px !important; }
}


  /* Enterprise / Maroon: ensure Command Center title stays readable on light plates */
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center strong {
    color: #0F3550 !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center > span {
    color: #405068 !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center,
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center strong {
    color: #5C0632 !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center > span {
    color: #5E5459 !important;
  }


  /* Lock pill matches AI/Feedback (kill ghost/header-lock chrome in orbit) */
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock.btn,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock.btn-ghost,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock.hdr-ctl-lock {
    background: inherit !important;
    border-radius: 999px !important;
    box-shadow: inherit !important;
    color: inherit !important;
    letter-spacing: .04em !important;
  }

/* ---- Hub polish v4 (2026-10-06): upright labels, airy rings, equal tools ---- */
@media (min-width: 900px) and (hover: hover) {
  /* Never tilt orbit tile text with the ring */
  html body .hub-grid.hub-orbit-active > .hub-orbit-center,
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer,
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
  }
  /* Coming-soon dashed tiles: soft lift so they don't look flat */
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    box-shadow:
      0 8px 24px rgba(0,0,0,.22),
      0 1px 3px rgba(0,0,0,.10),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    box-shadow:
      0 1px 2px rgba(62,4,34,.04),
      0 10px 26px rgba(62,4,34,.09),
      0 0 0 1px rgba(201,164,92,.10),
      inset 0 1px 0 rgba(255,255,255,.85) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    box-shadow:
      0 1px 2px rgba(11,42,64,.04),
      0 10px 26px rgba(11,42,64,.10),
      0 0 0 1px rgba(200,144,46,.10),
      inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
  /* Equal bottom tools: reinforce identical metrics */
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock {
    width: 152px !important;
    min-width: 152px !important;
    max-width: 152px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
  }
}


/* ---- Hub polish v5 (2026-10-07): circle as hero, campus hierarchy, jewel center ---- */
@media (min-width: 900px) and (hover: hover) {
  /* Stage well: soft radial depth under rings (map still shows through) */
  html body .hub-grid.hub-orbit-active .hub-orbit-stage {
    background:
      radial-gradient(circle at 50% 46%, rgba(255,255,255,.035) 0%, transparent 58%) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-stage {
    background:
      radial-gradient(circle at 50% 46%, rgba(255,255,255,.28) 0%, transparent 56%) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-stage {
    background:
      radial-gradient(circle at 50% 46%, rgba(255,255,255,.22) 0%, transparent 56%) !important;
  }

  /* Outer ring — premium hairline + layered glow */
  html body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    border-width: 1.25px;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.06) inset,
      0 0 0 8px rgba(232,121,249,.035),
      0 0 64px rgba(192,38,211,.16),
      0 20px 48px rgba(0,0,0,.24) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    box-shadow:
      0 0 0 1px rgba(201,164,92,.26) inset,
      0 0 0 8px rgba(201,164,92,.055),
      0 0 56px rgba(92,6,50,.11),
      0 16px 40px rgba(62,4,34,.11) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active .hub-orbit-ring-outer {
    box-shadow:
      0 0 0 1px rgba(200,144,46,.24) inset,
      0 0 0 8px rgba(26,110,142,.05),
      0 0 56px rgba(11,42,64,.11),
      0 16px 40px rgba(11,42,64,.11) !important;
  }

  /* Command Center — jewel plate */
  html body .hub-grid.hub-orbit-active > .hub-orbit-center {
    border-radius: 22px !important;
    padding: 18px 20px !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-center {
    box-shadow:
      0 0 0 1px rgba(253,244,255,.5),
      0 0 48px rgba(232,121,249,.42),
      0 18px 44px rgba(0,0,0,.4),
      inset 0 1px 0 rgba(255,255,255,.28),
      inset 0 -1px 0 rgba(88,28,135,.25) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center {
    box-shadow:
      0 2px 4px rgba(62,4,34,.06),
      0 20px 48px rgba(62,4,34,.16),
      0 0 0 1px rgba(201,164,92,.28),
      0 0 36px rgba(201,164,92,.14),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center {
    box-shadow:
      0 2px 4px rgba(11,42,64,.07),
      0 20px 48px rgba(11,42,64,.16),
      0 0 0 1px rgba(200,144,46,.28),
      0 0 36px rgba(26,110,142,.12),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-center .hub-primary-badge {
    display: inline-block !important;
    margin-left: 8px !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
    vertical-align: middle !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-center .hub-primary-badge {
    background: rgba(253,224,71,.22) !important;
    color: #fef9c3 !important;
    border: 1px solid rgba(253,224,71,.4) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center .hub-primary-badge {
    background: rgba(201,164,92,.22) !important;
    color: #5C0632 !important;
    border: 1px solid rgba(201,164,92,.45) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center .hub-primary-badge {
    background: rgba(200,144,46,.2) !important;
    color: #0F3550 !important;
    border: 1px solid rgba(200,144,46,.42) !important;
  }

  /* Live campuses — stronger presence */
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon),
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    filter: none;
    opacity: 1;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon) {
    border-width: 1.5px !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon) strong,
  html body .hub-grid.hub-orbit-active > .hub-group .hub-group-title {
    font-weight: 750 !important;
    letter-spacing: -.01em;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon),
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    box-shadow:
      0 12px 32px rgba(0,0,0,.38),
      0 0 32px rgba(192,38,211,.14),
      inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon),
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    border-color: rgba(138,21,56,.18) !important;
    box-shadow:
      0 2px 4px rgba(62,4,34,.06),
      0 14px 32px rgba(62,4,34,.13),
      0 0 0 1px rgba(201,164,92,.16),
      inset 0 1px 0 rgba(255,255,255,.92) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon),
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-inner {
    border-color: rgba(15,53,80,.16) !important;
    box-shadow:
      0 2px 4px rgba(11,42,64,.06),
      0 14px 32px rgba(11,42,64,.13),
      0 0 0 1px rgba(200,144,46,.14),
      inset 0 1px 0 rgba(255,255,255,.92) !important;
  }

  /* Coming Soon — quieter, secondary */
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    opacity: .72 !important;
    filter: saturate(.85);
    transform-origin: center center;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon strong {
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon > span {
    font-size: 10.5px !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
    opacity: .75 !important;
  }
  html:not([data-theme="maroon"]):not([data-theme="enterprise"]):not([data-theme="gate"]) body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    background: linear-gradient(165deg, rgba(30,27,75,.42), rgba(15,23,42,.38)) !important;
    border: 1px dashed rgba(196,181,253,.28) !important;
    box-shadow:
      0 6px 18px rgba(0,0,0,.22),
      inset 0 1px 0 rgba(255,255,255,.05) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    background: linear-gradient(165deg, rgba(255,255,255,.72), rgba(247,238,241,.55)) !important;
    border: 1px dashed rgba(138,21,56,.18) !important;
    box-shadow:
      0 1px 2px rgba(62,4,34,.03),
      0 8px 20px rgba(62,4,34,.06),
      inset 0 1px 0 rgba(255,255,255,.7) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon {
    background: linear-gradient(165deg, rgba(255,255,255,.74), rgba(232,240,248,.55)) !important;
    border: 1px dashed rgba(15,53,80,.16) !important;
    box-shadow:
      0 1px 2px rgba(11,42,64,.03),
      0 8px 20px rgba(11,42,64,.07),
      inset 0 1px 0 rgba(255,255,255,.75) !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer.hub-choice-soon:hover {
    opacity: .88 !important;
    filter: saturate(.95) brightness(1.03);
  }

  /* Subtle hover lift for live tiles + center (keep upright translate) */
  html body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon):hover,
  html body .hub-grid.hub-orbit-active > .hub-orbit-inner:hover,
  html body .hub-grid.hub-orbit-active > .hub-orbit-center:hover {
    filter: brightness(1.04);
    box-shadow:
      var(--sh-card-hover, 0 18px 44px rgba(0,0,0,.4)),
      0 0 28px rgba(232,121,249,.12) !important;
  }
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon):hover,
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-inner:hover,
  html[data-theme="maroon"] body .hub-grid.hub-orbit-active > .hub-orbit-center:hover {
    box-shadow:
      0 4px 8px rgba(62,4,34,.08),
      0 20px 48px rgba(62,4,34,.16),
      0 0 0 1px rgba(201,164,92,.28),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-outer:not(.hub-choice-soon):hover,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-inner:hover,
  html[data-theme="enterprise"] body .hub-grid.hub-orbit-active > .hub-orbit-center:hover {
    box-shadow:
      0 4px 8px rgba(11,42,64,.08),
      0 20px 48px rgba(11,42,64,.16),
      0 0 0 1px rgba(200,144,46,.26),
      inset 0 1px 0 rgba(255,255,255,.95) !important;
  }

  /* Tool docks — equal chrome; Lock shares identity with AI/Feedback */
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock {
    letter-spacing: .03em !important;
  }
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool:hover,
  html body .hub-grid.hub-orbit-active > .hub-orbit-tool-lock:hover {
    filter: brightness(1.05);
  }

  /* Theme picker: stay clear of bottom-center Lock (right dock only) */
  html.lais-hub-orbit body .lais-theme-host {
    right: max(16px, env(safe-area-inset-right)) !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    transform: none !important;
  }
  html.lais-hub-orbit body .lais-theme-btn {
    box-shadow: 0 6px 20px rgba(0,0,0,.22) !important;
  }

  /* Keep hub block centered — do not stretch stage to pin Lock at viewport bottom */
  html.lais-hub-orbit body .hub:not(.hidden) {
    align-items: center !important;
    padding: 8px 16px 20px !important;
    padding-bottom: 20px !important;
  }
  html body .hub-grid.hub-orbit-active {
    height: min(720px, 78vh) !important;
    min-height: 640px !important;
    margin: 0 auto 8px !important;
    margin-bottom: 8px !important;
  }

  html body .hub-grid.hub-orbit-reduced > .hub-orbit-outer.hub-choice-soon:hover,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-outer:hover,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-inner:hover,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-center:hover,
  html body .hub-grid.hub-orbit-reduced > .hub-orbit-tool:hover {
    filter: none !important;
  }
}

/* Desktop hub (orbit layout only): centre the subtitle + the eyebrow accent bar under
   the heading so the title block shares the circle/Lock centre line. Horizontal only —
   top/bottom margins untouched, so nothing shifts vertically. Phone layout unaffected. */
html.lais-hub-orbit body .hub-card > .hub-hero > .sub,
html.lais-hub-orbit[data-theme] body .hub-card > .hub-hero > .sub {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  text-wrap: balance;
}
html.lais-hub-orbit[data-theme] body .hub-card > .hub-hero > .eyebrow::before {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Nov 3 2026 polish: with "reduce motion" on, a theme rule set transform:none on hub tiles, so the desktop orbit
   tiles lost their centring and slid onto each other. Keep the centring (layout only, no motion). */
@media (min-width: 900px) and (hover: hover) {
  html body .hub-grid.hub-orbit-active.hub-orbit-reduced > .hub-orbit-center,
  html body .hub-grid.hub-orbit-active.hub-orbit-reduced > .hub-orbit-outer,
  html body .hub-grid.hub-orbit-active.hub-orbit-reduced > .hub-orbit-inner,
  html body .hub-grid.hub-orbit-active.hub-orbit-reduced > .hub-orbit-tool { transform: translate(-50%, -50%) !important; }
}

/* Nov 3 2026 polish: AA fixes on light themes (display only)
   - "Who we serve" arrow was white on the light pink/blue pill (1.1:1) — now the link colour.
   - "Thanked" on manager rounds was light gold on white (about 3:1) — deeper gold, same hue (about 6:1). */
html[data-theme="maroon"]:not(#_tb) body a.wws-here .wws-arrow,
html[data-theme="enterprise"]:not(#_tb) body a.wws-here .wws-arrow { color: inherit !important; }
html[data-theme="maroon"]:not(#_tb) body .mr-thx { color: #7A5A1E !important; }
html[data-theme="enterprise"]:not(#_tb) body .mr-thx { color: #7F5410 !important; }

/* Nov 3 2026 polish: Past days headers on phones — a long summary ("… · incl. 10 VRI (time only)") squeezed the
   day name into three lines and drew over it. Let the summary drop under the day name instead. */
.day-group-header { flex-wrap: wrap; row-gap: 4px; }
.day-group-title { white-space: nowrap; }
@media (max-width: 600px) { .day-group-meta { white-space: normal !important; text-align: left; padding-left: 22px; } }

/* Nov 3 2026 polish: Enterprise sets --muted to a pale blue meant for its dark header, but these quiet
   labels sit on white cards (1.4–1.5:1). Use the theme's own secondary ink (--q-muted #405068, 7:1). */
html[data-theme="enterprise"]:not(#_tb) body table.cases .muted,
html[data-theme="enterprise"]:not(#_tb) body .lais-strip-empty,
html[data-theme="enterprise"]:not(#_tb) body td.census-name.muted,
html[data-theme="enterprise"]:not(#_tb) body button.census-reveal,
html[data-theme="enterprise"]:not(#_tb) body button.cm-rm { color: #405068 !important; }
/* Same story in Maroon/Sky for the CMC "No one free yet" strip line (1.5:1). */
html[data-theme="maroon"]:not(#_tb) body .lais-strip-empty { color: #6E4458 !important; }
