/* =====================================================================
   LAIS "Sky" theme  (v2 PREVIEW, Oct 28 2026) — 4th theme, opt-in per page
   Google-style dark (Pixel Weather + Fitbit references), friendly & calm.
   Display/CSS only. Active only when <html data-theme="sky">; pages opt in
   with <html data-lais-sky="1"> (University case log first).
   Sky sits on top of the Classic dark base, so every rule here is scoped to
   html[data-theme="sky"] and wins with specificity/!important.
   Revert: remove the lais-sky.css / lais-sky.js lines + data-lais-sky.

   Contrast (WCAG 2.x formula, computed Oct 28 2026; worst surface is card-2 #18191C):
     ink   #E3E3E3  12.80:1 on card #101113 · 14.45:1 on bg #131316
     ink-2 #C4C7C5   8.38:1 on card-2      ink-3 #A9ADB1 6.32:1 card-2 · 5.56:1 card-3
     blue  #A8C7FA   8.31:1 on card-2      on-blue #062E6F on blue 7.50:1 · on blue-hi 8.85:1
     yellow #FDD663 11.71:1 card · green #81C995 9.03:1 · cyan #8AB4F8 8.99:1 · red #F28B82 7.85:1 (card-2)
     control outlines: outline #9AA0A6 ≥4.49:1, outline-soft #7A7D7F ≥3.03:1 (1.4.11 non-text)
     Live DOM audit of every visible text node at 1440 and 390: 0 below AA; lowest 6.32:1.
   Radii: 28 cards · 20 inner tiles · 16 fields/FAB · 999 pills.
   Spacing: 4-pt grid (4/8/12/16/20/24/32).
   ===================================================================== */
/* Self-hosted Google Sans (SIL OFL 1.1, © 2017 Google; /public/fonts/google-sans/OFL.txt).
   Variable weight 400–700 + optical size. Only downloaded when a Sky rule uses it. No Google Fonts request. */
@font-face { font-family: "Sky Google Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/public/fonts/google-sans/google-sans-latin-opsz-normal.woff2") format("woff2-variations"),
       url("/public/fonts/google-sans/google-sans-latin-opsz-normal.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: "Sky Google Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/public/fonts/google-sans/google-sans-latin-ext-opsz-normal.woff2") format("woff2-variations"),
       url("/public/fonts/google-sans/google-sans-latin-ext-opsz-normal.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; }
html[data-theme="sky"] {
  --sk-bg:#222932; --sk-bg-top:#3E4A5A; --sk-bg-mid:#2B333E;
  --sk-card:#101113; --sk-card-2:#18191C; --sk-card-3:#202226;
  --sk-line:#2C2E33; --sk-hair:rgba(255,255,255,.07); --sk-outline:#9AA0A6; --sk-outline-soft:#7A7D7F;
  --sk-ink:#E3E3E3; --sk-ink-2:#C4C7C5; --sk-ink-3:#A9ADB1;
  --sk-blue:#A8C7FA; --sk-blue-hi:#C2D7FB; --sk-on-blue:#062E6F; --sk-blue-tonal:rgba(168,199,250,.14);
  --sk-yellow:#FDD663; --sk-green:#81C995; --sk-cyan:#8AB4F8; --sk-red:#F28B82; --sk-tblue:#8AB4F8;
  /* Google brand set for chips and marks; the tints above carry text on near-black (AA) */
  --sk-g-blue:#4285F4; --sk-g-red:#EA4335; --sk-g-yellow:#FBBC04; --sk-g-green:#34A853;
  --sk-pink:var(--sk-g-red); --sk-lilac:var(--sk-g-blue); --sk-mint:var(--sk-g-green); --sk-peach:var(--sk-g-yellow);
  --sk-r-card:28px; --sk-r-tile:20px; --sk-r-field:16px; --sk-r-pill:999px;
  --sk-sans:"Sky Google Sans","Google Sans","Segoe UI",system-ui,-apple-system,Roboto,sans-serif;
  --sk-spring:cubic-bezier(.34,1.56,.64,1);
  --sk-shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.28);
  /* remap the legacy dusk tokens every inherited rule reads */
  --fg:var(--sk-ink) !important; --muted:var(--sk-ink-2) !important; --line:var(--sk-line) !important;
  --card:var(--sk-card) !important; --surface-raised:var(--sk-card-2) !important;
  --accent:var(--sk-blue) !important; --accent2:var(--sk-blue) !important; --accent-strong:var(--sk-blue) !important;
  --accent-hover:var(--sk-blue-hi) !important; --glow:transparent !important; --ok:var(--sk-green) !important;
  --gold:var(--sk-yellow) !important; --gold-dim:rgba(253,214,99,.14) !important;
  --success:var(--sk-green) !important; --danger:var(--sk-red) !important;
  --bg-deep:var(--sk-bg) !important; --bg-mid:var(--sk-bg) !important; --bg-top:var(--sk-bg) !important;
  color-scheme: dark;
  background-color: var(--sk-bg);
}

/* ---------- canvas & type ---------- */
html[data-theme="sky"] body {
  background: linear-gradient(180deg, var(--sk-bg-top) 0, var(--sk-bg-mid) 300px, var(--sk-bg) 680px, var(--sk-bg) 100%) !important;
  background-attachment: scroll !important;
  color: var(--sk-ink) !important;
  font-family: var(--sk-sans) !important;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  letter-spacing: .005em;
}
html[data-theme="sky"] body *, html[data-theme="sky"] body *::before, html[data-theme="sky"] body *::after { text-shadow: none !important; }
html[data-theme="sky"] body :is(h1,h2,h3,h4,.method-title,.sl-title,.cab-chat-head h2,.eyebrow,.sub,.hint,label,button,input,select,textarea,table,.btn,.tab,.cases-tab,.stat .v,.tally-row .mins,.mins,.num,.k,.u) { font-family: var(--sk-sans) !important; }
/* numbers: lining + tabular figures so minutes, counts and times line up in columns and never jitter while updating */
html[data-theme="sky"] body :is(.stat .v,.tally-row .mins,table.cases td,.sw-display,.lais-st-counts,.sk-hm,.cvs-v,.cvs-day,.pin-row input,time),
html[data-theme="sky"] .sk-chart :is(.sk-chart-big,.sk-chart-note,.sk-axis-t) { font-variant-numeric: lining-nums tabular-nums; }
/* one family everywhere (catches shared widgets such as the "Available now" strip that set Outfit/serif inline) */
html[data-theme="sky"] body *:not(code):not(kbd):not(pre):not(samp) { font-family: var(--sk-sans) !important; }
html[data-theme="sky"] body ::selection { background: rgba(168,199,250,.35); color: #fff; }
html[data-theme="sky"] body a { color: var(--sk-blue); }
html[data-theme="sky"] body .wrap { max-width: 1280px; }

/* ---------- header: soft faded campus "skyline" like the Weather screen ---------- */
html[data-theme="sky"] body #app .top {
  background: transparent !important; border: 0 !important; box-shadow: none !important;
  padding: 32px 4px 24px !important; margin-bottom: 8px !important; border-radius: 0 !important;
}
html[data-theme="sky"] body #app .top.campus-photo-top::before {
  opacity: .22 !important;
  filter: grayscale(1) contrast(.9) brightness(.9) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 46%), linear-gradient(180deg, #000 55%, transparent 100%) !important;
  -webkit-mask-composite: source-in; mask-composite: intersect;
  mask-image: linear-gradient(90deg, transparent 0, #000 46%), linear-gradient(180deg, #000 55%, transparent 100%) !important;
  background-color: transparent !important; border-radius: 0 !important;
}
html[data-theme="sky"] body #app .top.campus-photo-top::after { display: none !important; }
html[data-theme="sky"] body .top .eyebrow {
  color: var(--sk-ink-2) !important; font-size: 13px !important; font-weight: 500 !important;
  letter-spacing: .01em !important; text-transform: none !important; line-height: 20px !important;
}
html[data-theme="sky"] body .top h1 {
  font-size: 44px !important; line-height: 52px !important; font-weight: 400 !important; letter-spacing: -.015em !important;
  color: #fff !important; margin: 8px 0 8px !important;
}
html[data-theme="sky"] body .top h1::after {
  /* sparkle accent (rounded 4-point star) */
  content: ""; display: inline-block; width: 22px; height: 22px; margin-left: 10px; vertical-align: 18px;
  background: var(--sk-g-yellow);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.5 0 .9.3 1 .8l1 4.3c.3 1.4 1.4 2.5 2.8 2.8l4.3 1c.5.1.8.5.8 1s-.3.9-.8 1l-4.3 1c-1.4.3-2.5 1.4-2.8 2.8l-1 4.3c-.1.5-.5.8-1 .8s-.9-.3-1-.8l-1-4.3c-.3-1.4-1.4-2.5-2.8-2.8l-4.3-1c-.5-.1-.8-.5-.8-1s.3-.9.8-1l4.3-1c1.4-.3 2.5-1.4 2.8-2.8l1-4.3c.1-.5.5-.8 1-.8z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.5 0 .9.3 1 .8l1 4.3c.3 1.4 1.4 2.5 2.8 2.8l4.3 1c.5.1.8.5.8 1s-.3.9-.8 1l-4.3 1c-1.4.3-2.5 1.4-2.8 2.8l-1 4.3c-.1.5-.5.8-1 .8s-.9-.3-1-.8l-1-4.3c-.3-1.4-1.4-2.5-2.8-2.8l-4.3-1c-.5-.1-.8-.5-.8-1s.3-.9.8-1l4.3-1c1.4-.3 2.5-1.4 2.8-2.8l1-4.3c.1-.5.5-.8 1-.8z'/%3E%3C/svg%3E") center/contain no-repeat;
  animation: skyTwinkle 4.8s ease-in-out infinite;
}
@keyframes skyTwinkle { 0%,100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(.82) rotate(12deg); opacity: .85; } }
html[data-theme="sky"] body .top .sub { color: var(--sk-ink) !important; font-size: 16px !important; line-height: 24px !important; max-width: 62ch; opacity: 1 !important; }
html[data-theme="sky"] body .top .sub strong { color: #fff !important; font-weight: 600 !important; }
html[data-theme="sky"] body .top .hint { color: var(--sk-ink-2) !important; font-size: 14px !important; }
html[data-theme="sky"] body .wws-here {
  display: inline-flex !important; align-items: center; gap: 6px; margin-top: 12px !important;
  height: 36px; padding: 0 16px !important; border-radius: var(--sk-r-pill) !important;
  background: transparent !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important;
  font-size: 14px !important; font-weight: 500 !important; text-decoration: none !important; box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .3s var(--sk-spring);
}
html[data-theme="sky"] body .wws-here:hover { background: rgba(227,227,227,.08) !important; border-color: var(--sk-ink-2) !important; transform: translateY(-1px); }
html[data-theme="sky"] body .wws-here .wws-arrow { color: var(--sk-blue) !important; }
html[data-theme="sky"] body .sync-pill {
  height: 28px; padding: 0 12px !important; border-radius: var(--sk-r-pill) !important; font-size: 12px !important; font-weight: 500 !important;
  background: var(--sk-card-2) !important; color: var(--sk-ink-2) !important; border: 1px solid var(--sk-line) !important; box-shadow: none !important;
}
html[data-theme="sky"] body .sync-pill.ok { background: rgba(129,201,149,.12) !important; color: var(--sk-green) !important; border-color: rgba(129,201,149,.72) !important; }
html[data-theme="sky"] body .sync-pill .sync-dot { background: currentColor !important; box-shadow: none !important; }

/* header actions: outlined pills with icons (Fitbit "More options" / "Delete" chips) */
html[data-theme="sky"] body .top-actions { gap: 8px !important; }
html[data-theme="sky"] body .top-actions .hdr-ctl,
html[data-theme="sky"] body .top-actions a.btn,
html[data-theme="sky"] body .top-actions button.btn {
  height: 40px !important; padding: 0 16px 0 12px !important; gap: 8px !important;
  border-radius: var(--sk-r-pill) !important;
  background: rgba(11,11,12,.6) !important; color: var(--sk-ink) !important;
  border: 1px solid var(--sk-outline) !important; box-shadow: none !important;
  font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: background-color .2s ease, border-color .2s ease, transform .3s var(--sk-spring) !important;
}
html[data-theme="sky"] body .top-actions .hdr-ctl:hover,
html[data-theme="sky"] body .top-actions a.btn:hover,
html[data-theme="sky"] body .top-actions button.btn:hover { background: rgba(32,34,38,.94) !important; border-color: var(--sk-ink-2) !important; transform: translateY(-2px); }
/* The base page gives Lock a steel glow via #id selectors; under Sky it matches its sibling pills (no glow, no text-shadow). */
html[data-theme="sky"] body #lockBtn.hdr-ctl-lock, html[data-theme="sky"] body #lockBtnMobile.hdr-ctl-lock, html[data-theme="sky"] body #lockBtn2.hdr-ctl-lock, html[data-theme="sky"] body #hubLockBtn.hdr-ctl-lock {
  background: rgba(11,11,12,.6) !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important;
  box-shadow: none !important; font-weight: 500 !important; letter-spacing: .01em !important; text-shadow: none !important;
}
html[data-theme="sky"] body #lockBtn.hdr-ctl-lock:hover, html[data-theme="sky"] body #lockBtnMobile.hdr-ctl-lock:hover, html[data-theme="sky"] body #lockBtn2.hdr-ctl-lock:hover, html[data-theme="sky"] body #hubLockBtn.hdr-ctl-lock:hover { background: rgba(32,34,38,.94) !important; border-color: var(--sk-ink-2) !important; box-shadow: none !important; }
html[data-theme="sky"] body .top-actions .hdr-ctl::before {
  content: ""; width: 18px; height: 18px; flex: 0 0 18px; background: var(--sk-blue);
  -webkit-mask: var(--sk-ico) center/contain no-repeat; mask: var(--sk-ico) center/contain no-repeat;
  position: static !important; opacity: 1 !important; inset: auto !important; transform: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
}
html[data-theme="sky"] body .top-actions .hdr-ctl::after { content: none !important; display: none !important; }
html[data-theme="sky"] body .top-actions .hdr-ctl-lock { --sk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='3'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .top-actions .hdr-ctl[href*="map=1"] { --sk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .top-actions .hdr-ctl-glossary { --sk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 0 6.5 23H20v-5'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .top-actions .hdr-ctl-schedule { --sk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .top-actions .hdr-ctl[href*="manager"] { --sk-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M21.5 20a6.5 6.5 0 0 0-4-6'/%3E%3C/svg%3E"); }

/* ---------- cards ---------- */
html[data-theme="sky"] body .panel {
  background: var(--sk-card) !important; background-image: none !important;
  border: 1px solid var(--sk-hair) !important; border-radius: var(--sk-r-card) !important;
  box-shadow: var(--sk-shadow) !important; padding: 24px !important;
  -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
html[data-theme="sky"] body .panel::before, html[data-theme="sky"] body .panel::after { display: none !important; }
html[data-theme="sky"] body .layout { gap: 20px !important; }
html[data-theme="sky"] body .panel > h2,
html[data-theme="sky"] body .cases-panel h2,
html[data-theme="sky"] body .lais-st-head h3 {
  display: flex !important; align-items: center; gap: 12px;
  font-size: 22px !important; line-height: 28px !important; font-weight: 500 !important; letter-spacing: 0 !important;
  color: #fff !important; text-transform: none !important; margin: 0 0 4px !important;
}
/* rounded icon tile before each card title (like the Fitbit activity circle) */
html[data-theme="sky"] body .panel > h2::before,
html[data-theme="sky"] body .cases-panel h2::before,
html[data-theme="sky"] body .lais-st-head h3::before {
  content: ""; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
  background: var(--sk-tile, var(--sk-blue)) var(--sk-h-ico) center/20px 20px no-repeat;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
html[data-theme="sky"] body .panel.sk-p-form > h2 { --sk-tile: var(--sk-g-blue); --sk-h-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .panel.sk-p-stats > h2 { --sk-tile: var(--sk-g-green); --sk-h-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2E17' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5M4 19h16'/%3E%3Cpath d='m7 15 4-4 3 3 5-6'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .lais-st-head h3 { --sk-tile: var(--sk-g-red); --sk-h-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Cpath d='M16 4.5a3.5 3.5 0 0 1 0 7M21.5 20a6.5 6.5 0 0 0-4-6'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .cases-panel h2 { --sk-tile: var(--sk-g-red); --sk-h-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6h11M9 12h11M9 18h11'/%3E%3Ccircle cx='4.5' cy='6' r='1'/%3E%3Ccircle cx='4.5' cy='12' r='1'/%3E%3Ccircle cx='4.5' cy='18' r='1'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .panel > .hint, html[data-theme="sky"] body .panel .hint,
html[data-theme="sky"] body .cases-panel .hint { color: var(--sk-ink-2) !important; font-size: 14px !important; line-height: 20px !important; }
html[data-theme="sky"] body .panel > h2 + .hint { margin: 0 0 20px 52px !important; }

/* ---------- form ---------- */
html[data-theme="sky"] body .field { margin-bottom: 20px !important; }
html[data-theme="sky"] body .field label {
  font-size: 14px !important; line-height: 20px !important; font-weight: 500 !important; letter-spacing: .01em !important;
  text-transform: none !important; color: var(--sk-ink) !important; margin-bottom: 8px !important;
}
html[data-theme="sky"] body .field .req { color: var(--sk-yellow) !important; }
html[data-theme="sky"] body .field .hint, html[data-theme="sky"] body .hint { color: var(--sk-ink-3) !important; font-size: 13px !important; line-height: 18px !important; }
html[data-theme="sky"] body .field input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="sky"] body .field select,
html[data-theme="sky"] body .field textarea,
html[data-theme="sky"] body .cab-chat-form select,
html[data-theme="sky"] body .cab-chat-form input[type="text"] {
  height: 52px !important; padding: 0 16px !important; border-radius: var(--sk-r-field) !important;
  background: var(--sk-card) !important; color: var(--sk-ink) !important;
  border: 1px solid var(--sk-outline) !important; box-shadow: none !important;
  font-size: 16px !important; transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}
html[data-theme="sky"] body .field textarea { height: auto !important; min-height: 88px !important; padding: 14px 16px !important; line-height: 22px !important; }
html[data-theme="sky"] body .field select.minutes-scroll { height: auto !important; padding: 8px !important; }
html[data-theme="sky"] body .field select.minutes-scroll option { padding: 6px 10px; border-radius: 8px; }
html[data-theme="sky"] body .field select option, html[data-theme="sky"] body select option { background: #18191C !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .field input:not([type="checkbox"]):not([type="radio"]):hover,
html[data-theme="sky"] body .field select:hover, html[data-theme="sky"] body .field textarea:hover { border-color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body .field input:not([type="checkbox"]):not([type="radio"]):focus,
html[data-theme="sky"] body .field select:focus, html[data-theme="sky"] body .field textarea:focus,
html[data-theme="sky"] body .cab-chat-form select:focus, html[data-theme="sky"] body .cab-chat-form input[type="text"]:focus {
  border-color: var(--sk-blue) !important; box-shadow: inset 0 0 0 1px var(--sk-blue) !important; outline: none !important;
}
html[data-theme="sky"] body ::placeholder { color: var(--sk-ink-3) !important; opacity: 1 !important; }
html[data-theme="sky"] body .field-err, html[data-theme="sky"] body .gate-err { color: var(--sk-red) !important; font-size: 13px !important; }
html[data-theme="sky"] body input[type="time"]::-webkit-calendar-picker-indicator,
html[data-theme="sky"] body input[type="date"]::-webkit-calendar-picker-indicator { filter: invert(.85); }

/* toggle rows + Material switch */
html[data-theme="sky"] body .toggle-row {
  padding: 16px !important; border-radius: var(--sk-r-tile) !important; gap: 16px !important;
  background: var(--sk-card-2) !important; border: 1px solid transparent !important; box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}
html[data-theme="sky"] body .toggle-row:hover { background: var(--sk-card-3) !important; }
html[data-theme="sky"] body .toggle-row.on { background: rgba(168,199,250,.12) !important; border-color: rgba(168,199,250,.4) !important; }
html[data-theme="sky"] body .toggle-row .toggle-copy strong { font-size: 15px !important; font-weight: 500 !important; color: var(--sk-ink) !important; line-height: 22px; }
html[data-theme="sky"] body .toggle-row .toggle-copy span { color: var(--sk-ink-2) !important; font-size: 13px !important; line-height: 18px !important; }
html[data-theme="sky"] body .switch { width: 52px !important; height: 32px !important; }
html[data-theme="sky"] body .switch .slider {
  background: var(--sk-card-3) !important; border: 2px solid var(--sk-outline) !important; box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease !important;
}
html[data-theme="sky"] body .switch .slider:before {
  width: 16px !important; height: 16px !important; left: 6px !important; top: 6px !important;
  background: var(--sk-outline) !important; box-shadow: none !important;
  transition: transform .3s var(--sk-spring), width .2s ease, height .2s ease, top .2s ease, left .2s ease, background-color .2s ease !important;
}
html[data-theme="sky"] body .switch input:checked + .slider { background: var(--sk-blue) !important; border-color: var(--sk-blue) !important; }
html[data-theme="sky"] body .switch input:checked + .slider:before { width: 24px !important; height: 24px !important; top: 2px !important; left: 2px !important; background: var(--sk-on-blue) !important; transform: translateX(20px) !important; }
html[data-theme="sky"] body .switch input:focus-visible + .slider { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px; }

/* time method: outlined pill tiles (10-day forecast tiles) */
html[data-theme="sky"] body .method-chooser { gap: 12px !important; margin: 12px 0 16px !important; }
html[data-theme="sky"] body .method-card {
  border-radius: var(--sk-r-tile) !important; padding: 16px !important; text-align: left;
  display: flex !important; flex-direction: column !important; justify-content: flex-start !important; align-items: flex-start !important;
  background: transparent !important; border: 1px solid var(--sk-outline-soft) !important; box-shadow: none !important;
  color: var(--sk-ink) !important; transition: border-color .2s ease, background-color .2s ease, transform .3s var(--sk-spring) !important;
}
html[data-theme="sky"] body .method-card::before {
  content: ""; display: block; width: 32px; height: 32px; margin-bottom: 12px; border-radius: 50%;
  background: var(--sk-mc, var(--sk-yellow)) var(--sk-mc-ico) center/18px 18px no-repeat;
}
html[data-theme="sky"] body #modePick { --sk-mc: var(--sk-g-yellow); --sk-mc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2E00' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9 4-4 4 4M8 15l4 4 4-4'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body #modeStopwatch { --sk-mc: var(--sk-g-green); --sk-mc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2E17' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13.5' r='7.5'/%3E%3Cpath d='M12 10v3.5l2 2M10 2.5h4'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body #modeInOut { --sk-mc: var(--sk-g-blue); --sk-mc-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h13M13 7l5 5-5 5'/%3E%3C/svg%3E"); }
html[data-theme="sky"] body .method-card:hover { border-color: var(--sk-ink-2) !important; background: rgba(227,227,227,.04) !important; transform: translateY(-3px); }
html[data-theme="sky"] body .method-card:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px; }
html[data-theme="sky"] body .method-title { font-size: 16px !important; font-weight: 500 !important; color: var(--sk-ink) !important; margin-bottom: 4px !important; }
html[data-theme="sky"] body .method-sub { color: var(--sk-ink-2) !important; font-size: 13px !important; line-height: 18px !important; }
html[data-theme="sky"] body .active-method-bar { border-radius: var(--sk-r-pill) !important; background: var(--sk-blue-tonal) !important; border: 1px solid rgba(168,199,250,.35) !important; color: var(--sk-blue-hi) !important; padding: 6px 6px 6px 20px !important; font-weight: 500 !important; }
html[data-theme="sky"] body .stopwatch-card { background: var(--sk-card-2) !important; border: 0 !important; border-radius: var(--sk-r-tile) !important; box-shadow: none !important; padding: 20px !important; }
html[data-theme="sky"] body .sw-display { font-size: 56px !important; font-weight: 400 !important; color: #fff !important; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

/* ---------- buttons ---------- */
html[data-theme="sky"] body .btn {
  border-radius: var(--sk-r-pill) !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .3s var(--sk-spring), box-shadow .2s ease !important;
}
html[data-theme="sky"] body .btn-primary,
html[data-theme="sky"] body .sl-btn-primary {
  background: var(--sk-blue) !important; background-image: none !important; color: var(--sk-on-blue) !important;
  border: 0 !important; box-shadow: none !important; height: 48px; font-size: 15px !important; filter: none !important;
}
html[data-theme="sky"] body .btn-primary:hover, html[data-theme="sky"] body .sl-btn-primary:hover { background: var(--sk-blue-hi) !important; box-shadow: 0 4px 14px rgba(168,199,250,.22) !important; transform: translateY(-2px); }
html[data-theme="sky"] body .btn-primary:active, html[data-theme="sky"] body .sl-btn-primary:active { transform: translateY(0) scale(.98); }
html[data-theme="sky"] body .btn-primary::before, html[data-theme="sky"] body .btn-primary::after { display: none !important; }
html[data-theme="sky"] body #submitBtn { height: 56px !important; font-size: 16px !important; margin-top: 4px; }
html[data-theme="sky"] body .btn-ghost,
html[data-theme="sky"] body .sl-btn:not(.sl-btn-primary) {
  background: transparent !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important; box-shadow: none !important;
}
html[data-theme="sky"] body .btn-ghost:hover, html[data-theme="sky"] body .sl-btn:not(.sl-btn-primary):hover { background: rgba(227,227,227,.08) !important; border-color: var(--sk-ink-2) !important; transform: translateY(-1px); }
html[data-theme="sky"] body .btn:focus-visible, html[data-theme="sky"] body .sl-btn:focus-visible,
html[data-theme="sky"] body .tab:focus-visible, html[data-theme="sky"] body .cases-tab:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px !important; }
html[data-theme="sky"] body .btn:disabled { opacity: .45 !important; transform: none !important; }

/* tabs: segmented pills, light-blue active (Fitbit nav pill) */
html[data-theme="sky"] body .tabs { gap: 8px !important; margin-bottom: 16px !important; }
html[data-theme="sky"] body .tab, html[data-theme="sky"] body .cases-tab {
  height: 36px !important; padding: 0 18px !important; border-radius: var(--sk-r-pill) !important;
  background: transparent !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important; box-shadow: none !important;
  font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important;
  transition: background-color .2s ease, color .2s ease, transform .3s var(--sk-spring) !important;
}
html[data-theme="sky"] body .tab:hover, html[data-theme="sky"] body .cases-tab:hover { background: rgba(227,227,227,.08) !important; transform: translateY(-1px); }
html[data-theme="sky"] body .tab.active, html[data-theme="sky"] body .cases-tab.active { background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; border-color: var(--sk-blue) !important; }

/* ---------- totals: big number + small unit beside it ---------- */
html[data-theme="sky"] body .stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; margin-bottom: 16px !important; }
html[data-theme="sky"] body .stat {
  display: flex !important; flex-wrap: wrap; align-items: baseline; column-gap: 8px; min-width: 0;
  padding: 20px !important; border-radius: var(--sk-r-tile) !important;
  background: var(--sk-card-2) !important; border: 0 !important; box-shadow: none !important;
}
html[data-theme="sky"] body .stat::before, html[data-theme="sky"] body .stat::after { display: none !important; }
html[data-theme="sky"] body .stat .k { flex: 0 0 100%; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; color: var(--sk-ink-2) !important; margin-bottom: 4px; }
html[data-theme="sky"] body .stat .v {
  font-size: 56px !important; line-height: 60px !important; font-weight: 400 !important; letter-spacing: -.02em !important;
  color: #fff !important; margin: 0 !important; font-variant-numeric: tabular-nums;
  background: none !important; -webkit-text-fill-color: currentColor !important;
}
html[data-theme="sky"] body .stat .u { font-size: 16px !important; font-weight: 500 !important; color: var(--sk-ink-2) !important; white-space: nowrap; }
html[data-theme="sky"] body .stat .sk-hm { flex: 0 0 100%; margin-top: 4px; font-size: 13px; color: var(--sk-ink-3); font-variant-numeric: tabular-nums; }

/* VRI split as soft chips */
html[data-theme="sky"] body .cab-vri-split { gap: 8px !important; margin: 0 0 8px !important; background: none !important; border: 0 !important; padding: 0 !important; }
html[data-theme="sky"] body .cab-vri-split .cvs-row {
  padding: 12px 16px !important; border-radius: var(--sk-r-field) !important; background: transparent !important;
  border: 1px solid var(--sk-line) !important; color: var(--sk-ink) !important; box-shadow: none !important;
}
html[data-theme="sky"] body .cab-vri-split .cvs-k { color: var(--sk-ink) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-theme="sky"] body .cab-vri-split .cvs-k small { color: var(--sk-ink-3) !important; font-size: 12px !important; letter-spacing: 0 !important; text-transform: none !important; }
html[data-theme="sky"] body .cab-vri-split .cvs-v { color: var(--sk-ink) !important; font-weight: 500 !important; font-variant-numeric: tabular-nums; }
html[data-theme="sky"] body .cab-vri-split .cvs-base .cvs-k::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--sk-green); vertical-align: 1px; }
html[data-theme="sky"] body .cab-vri-split .cvs-dot { background: var(--sk-yellow) !important; box-shadow: none !important; }
html[data-theme="sky"] body .cab-night-note { background: var(--sk-card-2) !important; border: 0 !important; border-radius: var(--sk-r-field) !important; color: var(--sk-ink-2) !important; }

/* section labels + tally rows */
html[data-theme="sky"] body .section-label {
  font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important;
  color: var(--sk-ink-2) !important; margin: 24px 0 8px !important;
}
html[data-theme="sky"] body .tally-list { gap: 0 !important; border-radius: var(--sk-r-tile) !important; background: var(--sk-card-2); overflow: hidden auto; padding: 4px 0 !important; }
html[data-theme="sky"] body .tally-row {
  padding: 12px 16px !important; border-radius: 0 !important; background: transparent !important; border: 0 !important;
  box-shadow: inset 0 -1px 0 var(--sk-line) !important; transition: background-color .15s ease !important;
}
html[data-theme="sky"] body .tally-row:last-child { box-shadow: none !important; }
html[data-theme="sky"] body .tally-row:hover { background: rgba(227,227,227,.05) !important; }
html[data-theme="sky"] body .tally-row .name, html[data-theme="sky"] body .tally-row .person-name { font-size: 14px !important; font-weight: 500 !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .tally-row .mins { font-size: 14px !important; font-weight: 500 !important; color: var(--sk-blue) !important; font-variant-numeric: tabular-nums; background: none !important; -webkit-text-fill-color: currentColor !important; }
html[data-theme="sky"] body .tally-row .cvs-day { color: var(--sk-ink-3) !important; }
/* Empty states share one quiet treatment: filled tile, no dashed line, 14px secondary ink, same radius as the tiles around them. */
html[data-theme="sky"] body .tally-list .empty, html[data-theme="sky"] body .empty {
  background: var(--sk-card-2) !important; border: 0 !important; border-radius: var(--sk-r-tile) !important; color: var(--sk-ink-2) !important;
  font-size: 14px !important; line-height: 20px !important; font-style: normal !important; text-align: center !important;
}
html[data-theme="sky"] body #byDay { max-height: 320px !important; }
html[data-theme="sky"] body .tally-list .empty { border: 0 !important; background: transparent !important; }

/* ---------- Sky-only chart card (built by lais-sky.js) ---------- */
.sk-chart { display: none; }
html[data-theme="sky"] body .sk-chart { display: block; margin: 8px 0 4px; padding: 20px 20px 16px; border-radius: var(--sk-r-tile); background: var(--sk-card-2); }
html[data-theme="sky"] .sk-chart-head { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 500; color: var(--sk-ink); }
html[data-theme="sky"] .sk-chart-head svg { width: 20px; height: 20px; color: var(--sk-g-yellow); flex: 0 0 auto; }
html[data-theme="sky"] .sk-chart-big { display: flex; align-items: baseline; gap: 8px; margin: 12px 0 2px; }
html[data-theme="sky"] .sk-chart-big b { font-size: 44px; line-height: 48px; font-weight: 400; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
html[data-theme="sky"] .sk-chart-big span { font-size: 15px; font-weight: 500; color: var(--sk-ink-2); }
html[data-theme="sky"] .sk-chart-note { margin: 0 0 12px; font-size: 14px; line-height: 20px; color: var(--sk-ink-2); }
html[data-theme="sky"] .sk-chart svg.sk-plot { display: block; width: 100%; height: auto; overflow: visible; }
html[data-theme="sky"] .sk-chart .sk-guide { stroke-width: 2; stroke-linecap: round; stroke-dasharray: 0 7; fill: none; }
html[data-theme="sky"] .sk-chart .sk-axis-t { fill: var(--sk-ink-2); font-size: 12px; font-family: var(--sk-sans); font-variant-numeric: tabular-nums; }
html[data-theme="sky"] .sk-chart .sk-line { fill: none; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
html[data-theme="sky"] .sk-chart .sk-dot { stroke: var(--sk-card-2); stroke-width: 2.5; }
html[data-theme="sky"] .sk-legend { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 12px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--sk-ink-2); }
html[data-theme="sky"] .sk-legend li { display: inline-flex; align-items: center; gap: 8px; }
html[data-theme="sky"] .sk-legend i { width: 16px; height: 4px; border-radius: var(--sk-r-pill); display: inline-block; }
html[data-theme="sky"] .sk-legend i.dotted { height: 0; border-top: 3px dotted currentColor; background: none; border-radius: 0; }
html[data-theme="sky"] .sk-chart-empty { padding: 20px 0 8px; font-size: 14px; color: var(--sk-ink-2); }

/* ---------- live strip + Interpreters today (status colours kept: green available, red busy, grey not in) ---------- */
html[data-theme="sky"] body :is(.lais-st-row,.lais-strip-chip,.lais-strip-busy,.lais-strip-stale,.lais-st-light) {
  --st-rail:#9AA0A6; --st-ink:#E3E3E3; --st-tint:transparent; --st-pill-bg:transparent; --st-pill-ink:#C4C7C5; --st-pill-line:#7A7D7F;
}
html[data-theme="sky"] body :is(.lais-st-row,.lais-strip-chip,.lais-st-light).lais-st-available { --st-rail:#81C995; --st-pill-bg:rgba(129,201,149,.12); --st-pill-ink:#81C995; --st-pill-line:rgba(129,201,149,.72); }
html[data-theme="sky"] body :is(.lais-st-row,.lais-strip-chip,.lais-strip-busy,.lais-st-light).lais-st-busy { --st-rail:#F28B82; --st-pill-bg:rgba(242,139,130,.12); --st-pill-ink:#F28B82; --st-pill-line:rgba(242,139,130,.72); }
html[data-theme="sky"] body .lais-strip {
  background: var(--sk-card) !important; border: 1px solid var(--sk-hair) !important; border-radius: var(--sk-r-pill) !important;
  box-shadow: var(--sk-shadow) !important; padding: 8px 12px 8px 20px !important; margin: 0 0 20px !important; min-height: 56px; gap: 8px 12px !important;
}
html[data-theme="sky"] body .lais-strip-label { color: var(--sk-ink) !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; }
html[data-theme="sky"] body .lais-strip-label::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--sk-green); vertical-align: 1px; }
html[data-theme="sky"] body .lais-strip-empty { color: var(--sk-ink-2) !important; font-size: 14px !important; }
html[data-theme="sky"] body :is(.lais-strip-chip,.lais-strip-busy,.lais-strip-stale) { height: 32px; padding: 0 14px 0 12px !important; font: 500 13px/1 var(--sk-sans) !important; border-radius: var(--sk-r-pill) !important; box-shadow: none !important; transition: background-color .2s ease, transform .3s var(--sk-spring) !important; }
html[data-theme="sky"] body .lais-strip-busy:hover:not(:disabled) { transform: translateY(-1px); background: rgba(242,139,130,.18) !important; }
html[data-theme="sky"] body .lais-strip-link {
  display: inline-flex; align-items: center; height: 32px; padding: 0 14px; border-radius: var(--sk-r-pill);
  border: 1px solid var(--sk-outline); color: var(--sk-ink) !important; text-decoration: none !important; font-size: 13px !important; font-weight: 500 !important;
  transition: background-color .2s ease, transform .3s var(--sk-spring);
}
html[data-theme="sky"] body .lais-strip-link:hover { background: rgba(227,227,227,.08); transform: translateY(-1px); }
html[data-theme="sky"] body :is(.lais-strip-busy,.lais-strip-link):focus-visible, html[data-theme="sky"] body a.lais-st-name:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px; }
html[data-theme="sky"] body .lais-st { margin-top: 0 !important; }
html[data-theme="sky"] body .lais-st-head { margin: 0 0 16px !important; gap: 4px 12px !important; }
html[data-theme="sky"] body .lais-st-counts { color: var(--sk-ink-2) !important; font-size: 13px !important; font-weight: 500 !important; margin-left: 52px; }
html[data-theme="sky"] body .lais-st-note { color: var(--sk-ink-2) !important; font-size: 13px !important; text-align: left !important; margin-left: 52px; }
html[data-theme="sky"] body .lais-st-list { background: var(--sk-card-2) !important; border: 0 !important; border-radius: var(--sk-r-tile) !important; padding: 4px 0 !important; }
html[data-theme="sky"] body .lais-st-row { padding: 8px 16px !important; font-size: 14px !important; }
html[data-theme="sky"] body .lais-st-row + .lais-st-row { border-top: 1px solid var(--sk-line) !important; }
html[data-theme="sky"] body .lais-st-name { border-left: 0 !important; background: none !important; padding: 4px 0 !important; color: var(--sk-ink) !important; font-weight: 500 !important; gap: 12px !important; min-height: 32px; }
html[data-theme="sky"] body .lais-st-dot { width: 10px !important; height: 10px !important; box-shadow: none !important; }
html[data-theme="sky"] body .lais-st-pill { height: 28px; display: inline-flex !important; align-items: center; padding: 0 12px !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; }
html[data-theme="sky"] body .lais-st-since { color: var(--sk-ink-2) !important; font-size: 12px !important; }
html[data-theme="sky"] body .lais-st-light { width: 8px !important; height: 8px !important; box-shadow: none !important; margin-left: 8px !important; }
html[data-theme="sky"] body .lais-strip-busylist { padding: 4px 0 4px; }

/* ---------- team chat (re-tokens the shared chat palette; storybook serif → Google sans) ---------- */
html[data-theme="sky"] body .cab-chat-panel {
  --cc-ink:#E3E3E3; --cc-muted:#C4C7C5; --cc-gold:#FDD663; --cc-accent:#A8C7FA;
  --cc-rail:rgba(168,199,250,.35); --cc-card:#202226; --cc-card-line:transparent;
  --cc-me:rgba(168,199,250,.14); --cc-me-line:rgba(168,199,250,.5);
  --cc-well:#18191C; --cc-field:#101113; --cc-field-line:#9AA0A6; --cc-field-hover:#C4C7C5;
  --cc-ph:#A9ADB1; --cc-radius:16px; --cc-focus:inset 0 0 0 1px #A8C7FA; --cc-focus-line:#A8C7FA;
  --cc-chev:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23A8C7FA' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --cc-chip:rgba(253,214,99,.14); --cc-note-bg:transparent; --cc-role-bg:rgba(168,199,250,.14); --cc-role-ink:#C2D7FB;
  --cc-head:var(--sk-sans); --cc-body:var(--sk-sans); --cc-sans:var(--sk-sans);
  --cc-pill:#18191C; --cc-pill-line:#7A7D7F; --cc-pill-ink:#E3E3E3; --cc-pill-mine:rgba(168,199,250,.16); --cc-pill-mine-line:#A8C7FA;
  --cc-pop:#18191C; --cc-pop-line:#5C5F61; --cc-tip:#E3E3E3; --cc-tip-ink:#101113;
  background: var(--sk-card) !important;
}
html[data-theme="sky"] body .cab-chat-panel .cab-chat-head { text-align: left !important; padding: 0 !important; display: grid; grid-template-columns: 1fr auto; align-items: center; column-gap: 12px; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-kicker { grid-column: 1 / -1; order: 0; margin: 0 0 4px 52px !important; color: var(--sk-ink-2) !important; font-size: 13px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; }
html[data-theme="sky"] body .cab-chat-panel h2#cabChatTitle {
  display: flex !important; align-items: center; gap: 12px; margin: 0 !important; grid-row: 1; grid-column: 1;
  font-size: 22px !important; line-height: 28px !important; font-weight: 500 !important; letter-spacing: 0 !important; font-variant: normal !important; text-transform: none !important; color: #fff !important;
}
html[data-theme="sky"] body .cab-chat-panel .cab-chat-kicker { grid-row: 2; margin: 2px 0 0 52px !important; }
html[data-theme="sky"] body .cab-chat-panel h2#cabChatTitle::before {
  content: ""; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
  background: var(--sk-g-yellow) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233A2E00' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12a8 8 0 0 1-11.6 7.1L4 20l1-4.1A8 8 0 1 1 20 12z'/%3E%3C/svg%3E") center/20px 20px no-repeat;
}
html[data-theme="sky"] body .cab-chat-panel h2#cabChatTitle::after { display: none !important; content: none !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-live { position: static !important; transform: none !important; grid-row: 1; grid-column: 2; height: 28px; padding: 0 12px 0 10px !important; border-radius: var(--sk-r-pill) !important; background: var(--sk-card-2) !important; color: var(--sk-ink-2) !important; font-size: 12px !important; font-weight: 500 !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-live.is-live { background: rgba(129,201,149,.12) !important; color: var(--sk-green) !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-live.is-live .cab-chat-dot { background: var(--sk-green) !important; box-shadow: none !important; }
html[data-theme="sky"] body .cab-chat-panel .hint.cab-chat-sub { text-align: left !important; margin: 4px 0 16px 52px !important; max-width: none !important; font-size: 14px !important; line-height: 20px !important; color: var(--sk-ink-2) !important; font-style: normal !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-list { border-radius: var(--sk-r-tile) !important; box-shadow: none !important; border: 0 !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-empty { font-style: normal !important; font-size: 15px !important; color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-empty::before { content: "" !important; width: 24px; height: 24px; margin: 0 auto 8px; background: var(--sk-g-yellow);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.5 0 .9.3 1 .8l1 4.3c.3 1.4 1.4 2.5 2.8 2.8l4.3 1c.5.1.8.5.8 1s-.3.9-.8 1l-4.3 1c-1.4.3-2.5 1.4-2.8 2.8l-1 4.3c-.1.5-.5.8-1 .8s-.9-.3-1-.8l-1-4.3c-.3-1.4-1.4-2.5-2.8-2.8l-4.3-1c-.5-.1-.8-.5-.8-1s.3-.9.8-1l4.3-1c1.4-.3 2.5-1.4 2.8-2.8l1-4.3c.1-.5.5-.8 1-.8z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2c.5 0 .9.3 1 .8l1 4.3c.3 1.4 1.4 2.5 2.8 2.8l4.3 1c.5.1.8.5.8 1s-.3.9-.8 1l-4.3 1c-1.4.3-2.5 1.4-2.8 2.8l-1 4.3c-.1.5-.5.8-1 .8s-.9-.3-1-.8l-1-4.3c-.3-1.4-1.4-2.5-2.8-2.8l-4.3-1c-.5-.1-.8-.5-.8-1s.3-.9.8-1l4.3-1c1.4-.3 2.5-1.4 2.8-2.8l1-4.3c.1-.5.5-.8 1-.8z'/%3E%3C/svg%3E") center/contain no-repeat; display: block !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-msg { border-radius: var(--sk-r-tile) var(--sk-r-tile) var(--sk-r-tile) 8px !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-name label { font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .cab-chat-panel select#cabChatName, html[data-theme="sky"] body .cab-chat-panel input#cabChatInput { height: 52px !important; }
html[data-theme="sky"] body .cab-chat-panel select#cabChatName option { background: #18191C !important; color: #E3E3E3 !important; }
html[data-theme="sky"] body .cab-chat-panel .btn.cab-chat-send#cabChatSend {
  height: 52px !important; padding: 0 20px 0 24px !important; border-radius: var(--sk-r-pill) !important; border: 0 !important;
  background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; box-shadow: none !important; font-weight: 500 !important; filter: none !important;
}
html[data-theme="sky"] body .cab-chat-panel .btn.cab-chat-send#cabChatSend:hover:not(:disabled) { background: var(--sk-blue-hi) !important; box-shadow: 0 4px 14px rgba(168,199,250,.22) !important; transform: translateY(-2px); }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-note { box-shadow: none !important; border: 1px solid var(--sk-line); border-radius: var(--sk-r-field) !important; padding: 10px 14px !important; font-weight: 500 !important; color: var(--sk-ink-2) !important; font-size: 13px !important; }
html[data-theme="sky"] body .cab-chat-panel .cab-chat-err { color: var(--sk-red) !important; }

/* ---------- end of day ---------- */
html[data-theme="sky"] body .eod-panel { padding: 8px !important; border-radius: var(--sk-r-pill) !important; }
html[data-theme="sky"] body .eod-panel.sk-eod-open { padding: 24px !important; border-radius: var(--sk-r-card) !important; }
html[data-theme="sky"] body .eod-open-btn { height: 52px !important; border: 0 !important; color: var(--sk-ink) !important; font-size: 16px !important; }
html[data-theme="sky"] body .eod-open-btn:hover { background: rgba(227,227,227,.06) !important; transform: none !important; }
html[data-theme="sky"] body #eodCloseBtn { background: transparent !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important; box-shadow: none !important; border-radius: var(--sk-r-pill) !important; }
html[data-theme="sky"] body .feel-btn { border-radius: var(--sk-r-pill) !important; background: transparent !important; border: 1px solid var(--sk-outline-soft) !important; color: var(--sk-ink) !important; box-shadow: none !important; }
html[data-theme="sky"] body .feel-btn[aria-pressed="true"], html[data-theme="sky"] body .feel-btn.active, html[data-theme="sky"] body .feel-btn.on { background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; border-color: var(--sk-blue) !important; }

/* ---------- Stoplight card (re-tokens the shared Stoplight palette; status glyph + word kept) ---------- */
html[data-theme="sky"] body .sl {
  --sl-ink:#E3E3E3; --sl-muted:#C4C7C5; --sl-soft:#A9ADB1; --sl-gold:#FDD663; --sl-accent:#A8C7FA; --sl-accent-ink:#062E6F;
  --sl-card:#18191C; --sl-card-hover:#202226; --sl-line:#2C2E33; --sl-line-2:#2C2E33; --sl-well:#18191C;
  --sl-field:#101113; --sl-field-line:#9AA0A6; --sl-field-hover:#C4C7C5; --sl-ph:#A9ADB1;
  --sl-focus:inset 0 0 0 1px #A8C7FA; --sl-focus-line:#A8C7FA;
  --sl-primary:#A8C7FA; --sl-primary-ink:#062E6F; --sl-primary-shadow:none;
  --sl-ghost:transparent; --sl-ghost-hover:rgba(227,227,227,.08); --sl-ghost-line:#9AA0A6;
  --sl-shadow:none; --sl-r:20px; --sl-r-sm:16px;
  --sl-y:#FDD663; --sl-y-ink:#FDD663; --sl-y-bg:rgba(253,214,99,.12); --sl-y-line:rgba(253,214,99,.4);
  --sl-g:#81C995; --sl-g-ink:#81C995; --sl-g-bg:rgba(129,201,149,.12); --sl-g-line:rgba(129,201,149,.4);
  --sl-r-:#F28B82; --sl-r-ink:#F28B82; --sl-r-bg:rgba(242,139,130,.12); --sl-r-line:rgba(242,139,130,.4);
  --sl-n:#A8C7FA; --sl-n-ink:#C2D7FB; --sl-n-bg:rgba(168,199,250,.12); --sl-n-line:rgba(168,199,250,.4);
  --sl-head:var(--sk-sans); --sl-body:var(--sk-sans); --sl-sans:var(--sk-sans); --sl-num:var(--sk-sans);
  background: var(--sk-card) !important;
}
html[data-theme="sky"] body .sl .sl-kicker { color: var(--sk-ink-2) !important; font: 500 13px/20px var(--sk-sans) !important; letter-spacing: .01em !important; text-transform: none !important; }
html[data-theme="sky"] body .sl h2.sl-title { font-size: 22px !important; line-height: 28px !important; font-weight: 500 !important; letter-spacing: 0 !important; font-variant: normal !important; text-transform: none !important; color: #fff !important; }
html[data-theme="sky"] body .sl .sl-title::after { display: none !important; }
html[data-theme="sky"] body .sl :is(.sl-sub,.sl-hint,.sl-note,.sl-foot,.sl-howto-lead) { font-style: normal !important; color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body .sl .sl-btn { border-radius: var(--sk-r-pill) !important; font-weight: 500 !important; letter-spacing: .01em !important; text-transform: none !important; }
html[data-theme="sky"] body .sl .sl-btn-primary { background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; border: 0 !important; box-shadow: none !important; }
html[data-theme="sky"] body .sl .sl-btn-primary:hover { background: var(--sk-blue-hi) !important; transform: translateY(-2px); }
html[data-theme="sky"] body .sl .sl-empty { border: 0 !important; box-shadow: none !important; }
html[data-theme="sky"] body .sl .sl-empty :is(h3,h4,strong,b) { font-weight: 500 !important; color: var(--sk-ink) !important; font-variant: normal !important; letter-spacing: 0 !important; }

/* ---------- recent cases table ---------- */
html[data-theme="sky"] body .cases-table-wrap { border: 0 !important; border-radius: var(--sk-r-tile) !important; background: var(--sk-card-2) !important; }
html[data-theme="sky"] body table.cases { background: transparent !important; font-size: 14px !important; }
html[data-theme="sky"] body table.cases th {
  background: transparent !important; color: var(--sk-ink-2) !important; font-size: 12px !important; font-weight: 500 !important;
  letter-spacing: .02em !important; text-transform: none !important; border-bottom: 1px solid var(--sk-line) !important; padding: 14px 12px !important;
}
html[data-theme="sky"] body table.cases td { color: var(--sk-ink) !important; border-bottom: 1px solid var(--sk-line) !important; background: transparent !important; padding: 12px !important; }
html[data-theme="sky"] body table.cases tbody tr:last-child td { border-bottom: 0 !important; }
html[data-theme="sky"] body table.cases tbody tr:hover td { background: rgba(227,227,227,.04) !important; }
html[data-theme="sky"] body table.cases td.comment-cell { color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body table.cases td:last-of-type:not(:only-child) { white-space: nowrap; }
html[data-theme="sky"] body table.cases td:nth-last-child(2) { white-space: nowrap; }
html[data-theme="sky"] body table.cases td:is(.num,.mins), html[data-theme="sky"] body table.cases .mins { color: var(--sk-ink) !important; font-variant-numeric: tabular-nums; font-weight: 500 !important; }
html[data-theme="sky"] body table.cases .phi, html[data-theme="sky"] body .lais-nr { color: var(--sk-ink-2) !important; letter-spacing: .08em; }
html[data-theme="sky"] body table.cases .btn,
html[data-theme="sky"] body table.cases button:not(.lais-nr) {
  border-radius: var(--sk-r-pill) !important; background: transparent !important; border: 1px solid var(--sk-outline) !important; color: var(--sk-ink) !important; box-shadow: none !important; font-weight: 500 !important;
}
html[data-theme="sky"] body table.cases .btn:hover, html[data-theme="sky"] body table.cases button:not(.lais-nr):hover { background: rgba(227,227,227,.08) !important; }
html[data-theme="sky"] body .vri-tag, html[data-theme="sky"] body .noshow-badge, html[data-theme="sky"] body .shift-tag {
  border-radius: var(--sk-r-pill) !important; background: rgba(253,214,99,.12) !important; color: var(--sk-yellow) !important; border: 1px solid rgba(253,214,99,.32) !important; box-shadow: none !important; text-transform: none !important; letter-spacing: .01em !important;
}
html[data-theme="sky"] body .day-group { border: 0 !important; border-radius: var(--sk-r-tile) !important; background: var(--sk-card-2) !important; }
html[data-theme="sky"] body .day-group-header { background: transparent !important; color: var(--sk-ink) !important; padding: 16px !important; }
html[data-theme="sky"] body .day-group-header:hover { background: rgba(227,227,227,.05) !important; }
html[data-theme="sky"] body .day-group-chevron { color: var(--sk-blue) !important; }
html[data-theme="sky"] body .day-group-meta { color: var(--sk-ink-2) !important; }

/* ---------- misc ---------- */
html[data-theme="sky"] body .toast { border-radius: var(--sk-r-pill) !important; background: rgba(129,201,149,.12) !important; border: 1px solid rgba(129,201,149,.35) !important; color: var(--sk-green) !important; box-shadow: none !important; }
html[data-theme="sky"] body .success-overlay { background: rgba(10,10,12,.72) !important; }
html[data-theme="sky"] body .success-card { background: var(--sk-card) !important; border: 0 !important; border-radius: var(--sk-r-card) !important; box-shadow: 0 24px 64px rgba(0,0,0,.6) !important; }
html[data-theme="sky"] body .undo-bar { background: #E3E3E3 !important; color: #101113 !important; border-radius: var(--sk-r-field) !important; border: 0 !important; }
html[data-theme="sky"] body .undo-bar button { color: #0B57D0 !important; font-weight: 600 !important; }
html[data-theme="sky"] body .migrate-banner, html[data-theme="sky"] body .sync-banner { border-radius: var(--sk-r-tile) !important; background: var(--sk-card-2) !important; border: 1px solid var(--sk-line) !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .foot { color: var(--sk-ink-2) !important; font-size: 13px !important; }
html[data-theme="sky"] body .foot a { color: var(--sk-blue) !important; }
html[data-theme="sky"] body .lais-fp, html[data-theme="sky"] body .lais-fp * { font-family: var(--sk-sans) !important; }
html[data-theme="sky"] body :focus-visible { outline-color: var(--sk-blue) !important; }

/* ---------- phone: bottom tab bar with the theme control docked as its 5th tab (built by lais-sky.js) ---------- */
.sk-tabbar { display: none; }
@media (max-width: 760px) {
  html[data-theme="sky"] { --sk-r-card:24px; --sk-r-tile:18px; }
  html[data-theme="sky"] body .panel { padding: 20px !important; border-radius: var(--sk-r-card) !important; }
  html[data-theme="sky"] body .layout { gap: 16px !important; }
  html[data-theme="sky"] body #app .top { padding: 20px 0 16px !important; }
  html[data-theme="sky"] body .top h1 { font-size: 32px !important; line-height: 40px !important; }
  html[data-theme="sky"] body .top h1::after { width: 18px; height: 18px; vertical-align: 12px; margin-left: 8px; }
  html[data-theme="sky"] body .top .sub { font-size: 15px !important; line-height: 22px !important; }
  /* phone header actions: icon-over-label tiles (no truncation), no purple tray */
  html[data-theme="sky"] body .top-actions { background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; gap: 8px !important; }
  html[data-theme="sky"] body .top-actions .hdr-ctl,
  html[data-theme="sky"] body .top-actions a.btn,
  html[data-theme="sky"] body .top-actions button.btn {
    flex-direction: column !important; height: 60px !important; padding: 8px 4px 6px !important; gap: 4px !important;
    border-radius: var(--sk-r-tile) !important; font-size: 12px !important; line-height: 16px !important; letter-spacing: 0 !important;
    justify-content: center !important; text-overflow: clip !important;
  }
  html[data-theme="sky"] body .top-actions .hdr-ctl::before { width: 20px; height: 20px; flex: 0 0 20px; }
  html[data-theme="sky"] body .stat { padding: 16px !important; }
  html[data-theme="sky"] body .stat .v { font-size: 44px !important; line-height: 48px !important; }
  html[data-theme="sky"] body .stat .u { font-size: 14px !important; }
  html[data-theme="sky"] body .panel > h2 + .hint { margin-left: 0 !important; }
  html[data-theme="sky"] body .lais-strip { border-radius: var(--sk-r-card) !important; }
  html[data-theme="sky"] body .eod-panel { border-radius: var(--sk-r-card) !important; }

  /* Reserve the bar (12 + 56 + 12 = 80px, + 1px top line) plus a 16px breath, so the last card never sits under it. */
  html[data-theme="sky"] body { padding-bottom: calc(97px + env(safe-area-inset-bottom)) !important; }
  html[data-theme="sky"] .sk-tabbar {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147482000;
    padding: 12px 8px calc(12px + env(safe-area-inset-bottom)); background: #0E0F11; border-top: 1px solid var(--sk-hair);
    box-shadow: 0 -8px 24px rgba(0,0,0,.35); font-family: var(--sk-sans);
  }
  html[data-theme="sky"] .sk-tabbar.sk-has-theme { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  html[data-theme="sky"] .sk-tab-slot { display: block; min-height: 56px; }
  html[data-theme="sky"] .sk-tab {
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; min-width: 0; min-height: 56px; padding: 0; border: 0; background: none; cursor: pointer;
    color: var(--sk-ink-2); font: 500 12px/16px var(--sk-sans); letter-spacing: .01em; text-decoration: none; white-space: nowrap; -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="sky"] .sk-tab .sk-tab-ico { display: grid; place-items: center; width: 56px; height: 32px; border-radius: var(--sk-r-pill); transition: background-color .25s ease, transform .3s var(--sk-spring); }
  html[data-theme="sky"] .sk-tab svg { width: 24px; height: 24px; }
  html[data-theme="sky"] .sk-tab[aria-current="true"] { color: var(--sk-ink); font-weight: 700; }
  html[data-theme="sky"] .sk-tab[aria-current="true"] .sk-tab-ico { background: var(--sk-blue); color: var(--sk-on-blue); }
  html[data-theme="sky"] .sk-tab:active .sk-tab-ico { transform: scale(.92); }
  html[data-theme="sky"] .sk-tab:focus-visible { outline: none; }
  html[data-theme="sky"] .sk-tab:focus-visible .sk-tab-ico { outline: 2px solid var(--sk-blue); outline-offset: 2px; }

  /* Theme control docks INTO the tab bar as its 5th tab (same icon pill + label), so nothing floats over the page. */
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-host {
    left: auto !important; right: 8px !important; bottom: calc(12px + env(safe-area-inset-bottom)) !important;
    width: calc((100% - 16px) / 5); height: 56px; z-index: 2147482001 !important;
  }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn {
    display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: flex-start !important; gap: 4px !important;
    width: 100% !important; height: 56px !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
    background: none !important; box-shadow: none !important; transform: none !important;
    color: var(--sk-ink-2) !important; font: 500 12px/16px var(--sk-sans) !important; letter-spacing: .01em !important; -webkit-tap-highlight-color: transparent;
  }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn svg {
    box-sizing: content-box; width: 22px !important; height: 22px !important; padding: 5px 17px; border-radius: var(--sk-r-pill);
    color: var(--sk-ink-2) !important; transition: background-color .25s ease, transform .3s var(--sk-spring);
  }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn > span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn::after { content: "Theme"; content: "Theme" / ""; display: block; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn:hover { background: none !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn[aria-expanded="true"] { color: var(--sk-ink) !important; font-weight: 700 !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn[aria-expanded="true"] svg { background: var(--sk-yellow); color: #3A2E00 !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn:active svg { transform: scale(.92); }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn:focus-visible { outline: none !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn:focus-visible svg { outline: 2px solid var(--sk-blue); outline-offset: 2px; }
  /* popover opens upward from the bar, right-aligned, 12px clear of its top edge */
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-pop { left: auto !important; right: 0 !important; bottom: 80px !important; width: min(280px, calc(100vw - 16px)) !important; }
  html[data-theme="sky"] .lais-feedback-foot { margin-bottom: 24px !important; }
  html.lais-typing[data-theme="sky"] .sk-tabbar,
  html.lais-typing[data-theme="sky"][data-lais-sky="1"] .lais-theme-host { display: none !important; }
  html.lais-typing[data-theme="sky"] body { padding-bottom: 0 !important; }

  /* Locked (PIN card showing): no tab bar; the theme control returns to a small pill bottom-right, clear of the card. */
  html.sk-locked[data-theme="sky"][data-lais-sky="1"] .lais-theme-host { right: 16px !important; bottom: calc(16px + env(safe-area-inset-bottom)) !important; width: auto; height: auto; }
  html.sk-locked[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn {
    flex-direction: row !important; align-items: center !important; gap: 8px !important; width: auto !important; height: 40px !important; padding: 0 16px 0 12px !important;
    background: #18191C !important; border: 1px solid var(--sk-outline) !important; border-radius: var(--sk-r-pill) !important; box-shadow: 0 6px 20px rgba(0,0,0,.45) !important;
    color: var(--sk-ink) !important; font-weight: 600 !important; font-size: 13px !important;
  }
  html.sk-locked[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn svg { width: 16px !important; height: 16px !important; padding: 0; color: var(--sk-blue) !important; background: none !important; }
  html.sk-locked[data-theme="sky"][data-lais-sky="1"] .lais-theme-pop { bottom: 52px !important; }
}
html.lais-gate .sk-tabbar { display: none !important; }
@media (prefers-reduced-motion: reduce) {
  html[data-theme="sky"] body *, html[data-theme="sky"] body *::before { animation: none !important; transition-duration: .01ms !important; }
  html[data-theme="sky"] body :is(.btn,.tab,.cases-tab,.method-card,.wws-here,.hdr-ctl):hover { transform: none !important; }
}
/* One short label everywhere under Sky ("Theme"); the full "Choose your theme" text stays for screen readers. */
@media (min-width: 761px) {
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn > span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
  html[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn::after { content: "Theme"; content: "Theme" / ""; }
}
/* Desktop: theme control sits in the header action row, in flow (never floats over content while scrolling).
   It matches the header pills exactly: 40px pill, 18px blue icon, 14px/500 label, outline hairline. */
@media (min-width: 761px) {
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-host { position: relative !important; right: auto !important; bottom: auto !important; left: auto !important; top: auto !important; z-index: 40 !important; display: inline-flex; }
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn {
    height: 40px !important; padding: 0 16px 0 12px !important; gap: 8px !important; border-radius: var(--sk-r-pill) !important;
    background: rgba(11,11,12,.6) !important; color: var(--sk-ink) !important; border: 1px solid var(--sk-outline) !important; box-shadow: none !important;
    font-size: 14px !important; font-weight: 500 !important; letter-spacing: .01em !important; line-height: 1 !important;
    -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  }
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn svg { width: 18px !important; height: 18px !important; color: var(--sk-blue) !important; }
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn:hover { background: rgba(32,34,38,.94) !important; border-color: var(--sk-ink-2) !important; }
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-btn[aria-expanded="true"] { border-color: var(--sk-blue) !important; background: rgba(32,34,38,.94) !important; }
  html.sk-host-inline[data-theme="sky"][data-lais-sky="1"] .lais-theme-pop { top: calc(100% + 8px) !important; bottom: auto !important; right: 0 !important; left: auto !important; width: 280px !important; }
}
@media print { .sk-tabbar, .sk-chart { display: none !important; } }

/* ---------- late additions: delete chip, Find a patient, name reveal ---------- */
html[data-theme="sky"] body .btn-icon {
  width: 32px; height: 32px; border-radius: 50% !important; display: inline-grid; place-items: center; padding: 0 !important;
  background: transparent !important; color: var(--sk-red) !important; border: 1px solid var(--sk-outline-soft) !important; box-shadow: none !important;
  transition: background-color .2s ease, border-color .2s ease, transform .3s var(--sk-spring) !important;
}
html[data-theme="sky"] body .btn-icon:hover { background: rgba(242,139,130,.12) !important; border-color: var(--sk-red) !important; transform: scale(1.08); }
html[data-theme="sky"] body .btn-icon:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px; }
html[data-theme="sky"] body .lais-nr { border-radius: var(--sk-r-pill) !important; border-color: var(--sk-outline-soft) !important; color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body details.lais-fp {
  background: var(--sk-card) !important; border: 1px solid var(--sk-hair) !important; border-radius: var(--sk-r-tile) !important;
  box-shadow: var(--sk-shadow) !important; padding: 0 !important; color: var(--sk-ink) !important; overflow: hidden;
}
html[data-theme="sky"] body details.lais-fp > summary {
  min-height: 56px; display: flex; align-items: center; gap: 12px; padding: 0 20px !important; cursor: pointer; list-style: none;
  font-size: 16px !important; font-weight: 500 !important; color: var(--sk-ink) !important; transition: background-color .2s ease;
}
html[data-theme="sky"] body details.lais-fp > summary::-webkit-details-marker { display: none; }
html[data-theme="sky"] body details.lais-fp > summary::before {
  content: ""; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%;
  background: var(--sk-g-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B2E17' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6'/%3E%3Cpath d='m20 20-4.5-4.5'/%3E%3C/svg%3E") center/16px 16px no-repeat;
}
html[data-theme="sky"] body details.lais-fp > summary:hover { background: rgba(227,227,227,.04); }
html[data-theme="sky"] body details.lais-fp > summary:focus-visible { outline: 2px solid var(--sk-blue); outline-offset: -2px; border-radius: var(--sk-r-tile); }
html[data-theme="sky"] body details.lais-fp[open] > :not(summary) { margin-left: 20px !important; margin-right: 20px !important; }
html[data-theme="sky"] body details.lais-fp .fp-hint { color: var(--sk-ink-2) !important; font-size: 13px !important; }
html[data-theme="sky"] body details.lais-fp input { height: 48px !important; border-radius: var(--sk-r-field) !important; background: var(--sk-card) !important; border: 1px solid var(--sk-outline) !important; color: var(--sk-ink) !important; padding: 0 16px !important; }
html[data-theme="sky"] body details.lais-fp input:focus { border-color: var(--sk-blue) !important; box-shadow: inset 0 0 0 1px var(--sk-blue) !important; outline: none !important; }
html[data-theme="sky"] body details.lais-fp button { height: 48px !important; border-radius: var(--sk-r-pill) !important; background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; border: 0 !important; padding: 0 20px !important; font-weight: 500 !important; }
html[data-theme="sky"] body .foot { border-top-color: var(--sk-line) !important; }
html[data-theme="sky"] body .foot a, html[data-theme="sky"] body .foot button { color: var(--sk-blue) !important; }
html[data-theme="sky"] body .tally-row .name.sk-name-light { display: inline-flex !important; align-items: center; gap: 12px; min-width: 0; padding: 0 !important; margin: 0 !important; }
html[data-theme="sky"] body .tally-row .name > .lais-st-light { order: -1; flex: 0 0 auto; margin: 0 !important; position: static !important; transform: none !important; width: 8px !important; height: 8px !important; box-shadow: none !important; }
html[data-theme="sky"] body .tally-row .name > .person-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html[data-theme="sky"] body .tally-row .mins { white-space: nowrap; flex: 0 0 auto; }
/* "X h Y min": figures carry the weight, units step back (same baseline, AA on every card surface) */
html[data-theme="sky"] body .tally-row .mins .sk-n { font-weight: 600; color: var(--sk-blue); }
html[data-theme="sky"] body .tally-row .mins .sk-u { font-weight: 500; font-size: .86em; color: var(--sk-ink-2); letter-spacing: .01em; }
@media (max-width: 520px) {
  /* By day on phones: date line, detail line, then the total (no awkward mid-date wraps) */
  html[data-theme="sky"] body #byDay .tally-row { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  html[data-theme="sky"] body #byDay .tally-row .name { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
  html[data-theme="sky"] body #byDay .tally-row .mins { font-size: 15px !important; }
  html[data-theme="sky"] body .cab-chat-panel .cab-chat-list { min-height: 200px !important; max-height: 50vh !important; }
}
@media (max-width: 380px) {
  html[data-theme="sky"] body .top-actions { gap: 6px !important; }
  html[data-theme="sky"] body .top-actions .hdr-ctl, html[data-theme="sky"] body .top-actions a.btn, html[data-theme="sky"] body .top-actions button.btn { font-size: 11px !important; letter-spacing: -.01em !important; }
}
html[data-theme="sky"] body .sl .sl-head-side > :empty:not(button):not(a) { display: none !important; }

/* End of day launcher: same row anatomy as the other cards (icon tile · title · chevron) */
html[data-theme="sky"] body .eod-open-btn {
  display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 16px !important; width: 100% !important;
  height: 64px !important; padding: 0 20px 0 12px !important; border-radius: var(--sk-r-pill) !important; background: transparent !important;
  font-size: 18px !important; font-weight: 500 !important; text-align: left !important; letter-spacing: 0 !important; text-transform: none !important; box-shadow: none !important;
  transition: background-color .2s ease !important;
}
html[data-theme="sky"] body .eod-open-btn::before {
  content: ""; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
  background: var(--sk-g-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5z'/%3E%3C/svg%3E") center/20px 20px no-repeat;
  transition: transform .35s var(--sk-spring);
}
html[data-theme="sky"] body .eod-open-btn::after {
  content: ""; margin-left: auto; width: 20px; height: 20px; flex: 0 0 20px; background: var(--sk-ink-2);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
}
html[data-theme="sky"] body .eod-open-btn:hover::before { transform: scale(1.08) rotate(-8deg); }
html[data-theme="sky"] body .eod-open-btn:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px !important; }
html[data-theme="sky"] body table.cases td:first-child { white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { html[data-theme="sky"] body .eod-open-btn::before { transition: none; } }
html[data-theme="sky"] body .eod-open-btn::after { transition: transform .3s var(--sk-spring); }
html[data-theme="sky"] body .eod-panel.sk-eod-open .eod-open-btn::after { transform: rotate(90deg); }
/* End-of-day quick summary: stacked tiles, medium numeral (the 56px numeral is reserved for Totals) */
html[data-theme="sky"] body .eod-summary-panel { display: flex !important; flex-direction: column !important; gap: 12px !important; padding: 20px !important; border-radius: var(--sk-r-tile) !important; background: var(--sk-card-2) !important; border: 0 !important; }
html[data-theme="sky"] body .eod-summary-panel h3 { margin: 0 !important; font-size: 16px !important; font-weight: 500 !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .eod-summary-panel .stat { margin: 0 !important; background: var(--sk-card-3) !important; padding: 16px !important; width: auto !important; }
html[data-theme="sky"] body .eod-summary-panel .stat .v { font-size: 36px !important; line-height: 44px !important; }
html[data-theme="sky"] body .eod-summary-panel .stat .u { flex: 0 0 100%; font-size: 13px !important; white-space: normal; }
/* workload 0–10 scale: pastel-free, calm pill row; selected = primary blue */
html[data-theme="sky"] body .workload-panel { background: var(--sk-card-2) !important; border: 0 !important; border-radius: var(--sk-r-tile) !important; padding: 20px !important; }
html[data-theme="sky"] body .workload-panel h3 { font-size: 16px !important; font-weight: 500 !important; color: var(--sk-ink) !important; }
html[data-theme="sky"] body .workload-panel .pm-q { color: var(--sk-ink-2) !important; font-size: 13px !important; }
html[data-theme="sky"] body .workload-rail { gap: 6px !important; }
html[data-theme="sky"] body .workload-rail .feel-btn {
  height: 40px !important; border-radius: var(--sk-r-pill) !important; background: transparent !important; color: var(--sk-ink) !important;
  border: 1px solid var(--sk-outline-soft) !important; box-shadow: none !important; font: 500 14px/1 var(--sk-sans) !important; font-variant-numeric: tabular-nums;
  transition: background-color .2s ease, border-color .2s ease, transform .3s var(--sk-spring) !important;
}
html[data-theme="sky"] body .workload-rail .feel-btn:hover { border-color: var(--sk-ink-2) !important; background: rgba(227,227,227,.06) !important; transform: translateY(-2px); }
html[data-theme="sky"] body .workload-rail .feel-btn.active { background: var(--sk-blue) !important; color: var(--sk-on-blue) !important; border-color: var(--sk-blue) !important; }
html[data-theme="sky"] body .workload-rail .feel-btn:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px !important; }
html[data-theme="sky"] body .workload-legends-ltr { color: var(--sk-ink-2) !important; font-size: 12px !important; }
html[data-theme="sky"] body .workload-legends-ltr .wl-terrible { color: var(--sk-red) !important; }
html[data-theme="sky"] body .workload-legends-ltr .wl-mid { color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body .workload-legends-ltr .wl-fantastic { color: var(--sk-green) !important; }
@media (prefers-reduced-motion: reduce) { html[data-theme="sky"] body .workload-rail .feel-btn:hover { transform: none; } }

/* ── Sky: University lock card (page-local #gate; shared index dusk gate is untouched) ── */
html[data-theme="sky"] body #gate { background: transparent !important; }
html[data-theme="sky"] body #gate .gate-card {
  background: var(--sk-card) !important; border: 1px solid var(--sk-line) !important;
  border-radius: var(--sk-r-card) !important; box-shadow: 0 12px 40px rgba(0,0,0,.45) !important;
  padding: 32px 28px 28px !important; max-width: 360px !important; width: 100% !important;
}
html[data-theme="sky"] body #gate .eyebrow { color: var(--sk-ink-3) !important; letter-spacing: .12em !important; font-size: 11px !important; line-height: 16px !important; }
html[data-theme="sky"] body #gate h1 { font-family: var(--sk-sans) !important; font-size: 24px !important; line-height: 32px !important; font-weight: 500 !important; color: var(--sk-ink) !important; margin: 12px 0 4px !important; }
html[data-theme="sky"] body #gate .gate-card p:not(.gate-err) { color: var(--sk-ink-2) !important; font-size: 14px !important; line-height: 20px !important; margin: 0 0 24px !important; }
html[data-theme="sky"] body #gate .pin-row { gap: 12px !important; margin-bottom: 8px !important; }
html[data-theme="sky"] body #gate .pin-row input {
  width: 52px !important; height: 60px !important; border-radius: var(--sk-r-field) !important;
  background: var(--sk-card-2) !important; border: 1px solid var(--sk-outline) !important;
  color: var(--sk-ink) !important; font: 500 24px/1 var(--sk-sans) !important;
  box-shadow: none !important; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}
html[data-theme="sky"] body #gate .pin-row input:focus,
html[data-theme="sky"] body #gate .pin-row input:focus-visible {
  outline: none !important; border-color: var(--sk-blue) !important; background: var(--sk-card-3) !important;
  box-shadow: 0 0 0 3px rgba(168,199,250,.28) !important;
}
html[data-theme="sky"] body #gate #unlockBtn { margin-top: 8px !important; height: 48px !important; width: 100% !important; border-radius: 999px !important; }
/* Locked: no tab bar / FAB while the PIN card is showing */
html.sk-locked[data-theme="sky"] .sk-tabbar { display: none !important; }
html.sk-locked[data-theme="sky"] body { padding-bottom: 0 !important; }

/* Focus rings: one language across the page. 2px Sky blue, 2px gap, following each control's own curve.
   Full-width rows (the Find-a-patient summary) keep an inset ring so it never spills past the card edge. */
html[data-theme="sky"] body a.wws-here:focus-visible,
html[data-theme="sky"] body .lais-nr:focus-visible,
html[data-theme="sky"] body #laisFeedbackLink:focus-visible,
html[data-theme="sky"] body #laisWonyToggle:focus-visible { outline: 2px solid var(--sk-blue) !important; outline-offset: 2px !important; box-shadow: none !important; }
html[data-theme="sky"] body .switch input:focus, html[data-theme="sky"] body .switch input:focus-visible { box-shadow: none !important; }
html[data-theme="sky"] body .method-card .method-title { font-size: 15px !important; line-height: 20px !important; font-weight: 600 !important; letter-spacing: 0 !important; }
html[data-theme="sky"] body .method-card .method-sub { margin-top: 4px !important; font-size: 12px !important; line-height: 16px !important; font-weight: 400 !important; color: var(--sk-ink-2) !important; }
html[data-theme="sky"] body table.cases td[data-sk-min] { white-space: nowrap !important; font-variant-numeric: lining-nums tabular-nums; }
html[data-theme="sky"] body table.cases td[data-sk-min] .sk-n { font-weight: 600; color: var(--sk-ink); }
html[data-theme="sky"] body table.cases td[data-sk-min] .sk-u { font-weight: 500; font-size: .86em; color: var(--sk-ink-2); letter-spacing: .01em; }

/* v2 detail: on phones the base page docks "Interpreters today" inside the New case card,
   right under Log case. Give it a hairline divider and breathing room so it reads as its own section. */
html[data-theme="sky"] body .panel.sk-p-form > #cabAvail,
html[data-theme="sky"] body .panel.sk-p-form #cabAvail.lais-st {
  margin-top: 28px !important; padding-top: 24px !important;
  border-top: 1px solid var(--sk-line) !important;
}

/* v2 detail: the pinned × / Edit column of Recent cases (base keeps it sticky on the right so it is
   always reachable). Sky's transparent cells let scrolled rows show through it; give it the tile
   surface, a soft charcoal edge shadow, and keep the row hover as an overlay. */
html[data-theme="sky"] body .cases-panel table.cases td:last-child,
html[data-theme="sky"] body .cases-panel table.cases th:last-child {
  background-color: var(--sk-card-2) !important;
  box-shadow: -14px 0 14px -12px rgba(0,0,0,.7) !important;
}
html[data-theme="sky"] body .cases-panel table.cases tbody tr:hover td:last-child {
  background: linear-gradient(rgba(227,227,227,.04), rgba(227,227,227,.04)), var(--sk-card-2) !important;
}
