/* ═══════════════════════════════════════════════════════════════
   PRAS Field — Premium Polish Layer (Phase G)
   ───────────────────────────────────────────────────────────────
   Loaded AFTER theme-v2.css. Applies premium "WOW" treatments:
     • Mesh gradient page background (replaces flat off-white)
     • Glass card treatment with multi-shadow depth
     • Hero typography with dramatic weight contrast
     • Page entry stagger animation
     • Magnetic button hover (subtle scale + lift)
     • Pulsing live status indicators
     • Premium warranty tier cards (Inspection page)
     • Fix anti-brand blue buttons → gold-gradient
     • Custom scrollbar with gold accent
     • Particle-grid backdrop on hero sections

   Goal: take v2 from "modern functional" to "Linear / Vercel /
   Stripe Dashboard" tier. Tech-forward, premium, closer-focused.
   ═══════════════════════════════════════════════════════════════ */

/* ══════════ 1. PAGE-LEVEL MESH GRADIENT ═══════════════════════════ */

body[data-theme="v2"] {
  background: #FCFCFA;
  background-image:
    radial-gradient(ellipse 800px 600px at 8% -2%, rgba(232, 201, 122, 0.18) 0%, transparent 55%),
    radial-gradient(ellipse 700px 500px at 92% 10%, rgba(201, 168, 76, 0.10) 0%, transparent 55%),
    radial-gradient(ellipse 1200px 800px at 50% 100%, rgba(166, 138, 62, 0.06) 0%, transparent 60%),
    radial-gradient(ellipse 500px 400px at 100% 50%, rgba(52, 120, 246, 0.04) 0%, transparent 50%);
  background-attachment: fixed;
}

/* Subtle grid texture overlay — gives the page a "tech" feel without
   being noisy. Uses CSS-only (no image asset). */
body[data-theme="v2"]::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    linear-gradient(rgba(13, 13, 10, 0.02) 1px, transparent 1px),
    linear-gradient(90deg, rgba(13, 13, 10, 0.02) 1px, transparent 1px);
  background-size: 40px 40px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 30%, transparent 80%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 30%, black 30%, transparent 80%);
}

body[data-theme="v2"] .app-shell {
  position: relative;
  z-index: 1;
}

/* ══════════ 2. PAGE ENTRY ANIMATION ═════════════════════════════ */

@keyframes premium-fade-up {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes premium-fade-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes premium-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.6; transform: scale(1.4); }
}

@keyframes premium-shimmer-bg {
  0%   { background-position: -100% 50%; }
  100% { background-position: 200% 50%; }
}

@keyframes premium-glow {
  0%, 100% { box-shadow: 0 0 0 rgba(201, 168, 76, 0); }
  50%      { box-shadow: 0 0 20px rgba(201, 168, 76, 0.35); }
}

/* Stagger entry on every immediate child of the active panel-body */
body[data-theme="v2"] .panel-body > *,
body[data-theme="v2"] .tab-content.active > * {
  animation: premium-fade-up 380ms cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-fill-mode: both;
}
body[data-theme="v2"] .panel-body > *:nth-child(1)  { animation-delay: 0ms;   }
body[data-theme="v2"] .panel-body > *:nth-child(2)  { animation-delay: 60ms;  }
body[data-theme="v2"] .panel-body > *:nth-child(3)  { animation-delay: 110ms; }
body[data-theme="v2"] .panel-body > *:nth-child(4)  { animation-delay: 160ms; }
body[data-theme="v2"] .panel-body > *:nth-child(5)  { animation-delay: 200ms; }
body[data-theme="v2"] .panel-body > *:nth-child(6)  { animation-delay: 240ms; }
body[data-theme="v2"] .panel-body > *:nth-child(n+7) { animation-delay: 280ms; }

/* Respect users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
  body[data-theme="v2"] .panel-body > *,
  body[data-theme="v2"] .tab-content.active > * {
    animation: none;
  }
  body[data-theme="v2"]::before {
    animation: none;
  }
}

/* ══════════ 3. FIX ANTI-BRAND BLUE BUTTONS ═══════════════════════ */
/* The "+Route" / coldlist toggle button uses .btn-teal which my v2
   set to a Bootstrap-y blue. Anti-brand. Flip to gold-gradient.   */

body[data-theme="v2"] .btn-teal {
  background: var(--gold-grad) !important;
  background-size: 200% 200%;
  background-position: 0% 50%;
  color: var(--ink-1) !important;
  border: none !important;
  font-family: var(--font-header-v2);
  font-weight: 600;
  letter-spacing: -0.005em;
  border-radius: var(--radius-v2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: transform var(--transition-fast-v2),
              box-shadow var(--transition-v2),
              background-position 400ms ease;
}
body[data-theme="v2"] .btn-teal:hover {
  background-position: 100% 50% !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201, 168, 76, 0.35);
}

/* When the row's status is "Remove" (already routed) — danger ghost */
body[data-theme="v2"] .property-table tr td .btn-teal {
  min-width: 84px;
}

/* ══════════ 4. HERO TYPOGRAPHY ═══════════════════════════════════ */
/* Page titles get a more dramatic, premium treatment — the kind
   that makes the page feel like a product moment, not a list. */

body[data-theme="v2"] .panel-body > h2:first-child,
body[data-theme="v2"] .tab-content > h2:first-child,
body[data-theme="v2"] .panel-title,
body[data-theme="v2"] h1.page-title {
  font-family: var(--font-header-v2);
  font-size: 36px;
  font-weight: 700;
  letter-spacing: -0.035em; /* tighter — premium feel */
  line-height: 1.1;
  margin: 0 0 6px;
  color: var(--ink-1);
  background: linear-gradient(135deg, var(--ink-1) 0%, #44423B 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

body[data-theme="v2"] .panel-body > h2:first-child + p,
body[data-theme="v2"] .tab-content > h2:first-child + p,
body[data-theme="v2"] .panel-subtitle,
body[data-theme="v2"] h1.page-title + p {
  font-family: var(--font-body-v2);
  font-size: 16px;
  font-weight: 400;
  color: var(--ink-2);
  line-height: 1.5;
  margin: 0 0 32px;
  letter-spacing: -0.005em;
}

/* ══════════ 5. PREMIUM CARD GLASS TREATMENT ═════════════════════ */
/* Major KPI cards get a backdrop-filter glass effect + multi-layer
   shadow stack for true depth. Used on dashboard hero + AI Ops. */

body[data-theme="v2"] .dash-card,
body[data-theme="v2"] .aiops-card {
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(12px) saturate(140%);
  -webkit-backdrop-filter: blur(12px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.55);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,         /* top highlight */
    0 -1px 0 rgba(13, 13, 10, 0.04) inset,            /* bottom shadow */
    0 1px 3px rgba(13, 13, 10, 0.04),
    0 8px 24px rgba(13, 13, 10, 0.06),
    0 24px 60px rgba(13, 13, 10, 0.04);
}

/* The gradient stripe glows on hover */
body[data-theme="v2"] .dash-card:hover::before,
body[data-theme="v2"] .aiops-card:hover::before {
  filter: brightness(1.15) saturate(1.2);
}

body[data-theme="v2"] .dash-card:hover,
body[data-theme="v2"] .aiops-card:hover {
  transform: translateY(-3px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 -1px 0 rgba(13, 13, 10, 0.04) inset,
    0 4px 14px rgba(13, 13, 10, 0.08),
    0 16px 40px rgba(13, 13, 10, 0.10),
    0 32px 80px rgba(13, 13, 10, 0.06);
}

/* ══════════ 6. PREMIUM WARRANTY TIER CARDS (Inspection) ══════════ */
/* The 10/15/20 YEAR warranty selector is a brand moment. Apple Pro-
   tier card treatment — dramatic when selected. */

body[data-theme="v2"] [class*="warranty-tier"],
body[data-theme="v2"] .warranty-card,
body[data-theme="v2"] .recommended-system .tier-card {
  background: var(--surface-1);
  border: 1.5px solid var(--line-1);
  border-radius: var(--radius-lg-v2);
  padding: 18px 22px;
  position: relative;
  overflow: hidden;
  transition: all var(--transition-v2);
  cursor: pointer;
}

/* When a warranty tier is selected → premium glow + gold ring */
body[data-theme="v2"] [class*="warranty-tier"].is-selected,
body[data-theme="v2"] .warranty-card.is-selected,
body[data-theme="v2"] .recommended-system .tier-card.is-selected,
body[data-theme="v2"] .recommended-system .tier-card[aria-pressed="true"] {
  border-color: var(--gold-500);
  background: linear-gradient(135deg, var(--gold-50) 0%, rgba(255, 255, 255, 0.95) 100%);
  box-shadow:
    0 0 0 4px rgba(201, 168, 76, 0.12),
    0 8px 24px rgba(201, 168, 76, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.95) inset;
}

/* The "20 YEAR / NDL Diamond Pledge" card gets extra premium —
   targeted via :nth-child(3) since they're laid out 10/15/20 */
body[data-theme="v2"] .recommended-system > div:nth-child(3),
body[data-theme="v2"] [class*="warranty-tier-20"] {
  position: relative;
}

/* "20 YEAR" / "10 YEAR" / "15 YEAR" labels — display font for that
   editorial gravitas */
body[data-theme="v2"] [class*="warranty-tier"] > *:first-child,
body[data-theme="v2"] .warranty-card-year,
body[data-theme="v2"] .warranty-tier-name {
  font-family: var(--font-display-v2); /* Cinzel — brand moment */
  font-size: 20px;
  letter-spacing: 0.04em;
  font-weight: 600;
  color: var(--gold-700);
}

/* ══════════ 7. PULSING LIVE STATUS DOTS ═════════════════════════ */
/* Anywhere we show "Healthy" / live state, add a glowing pulse. */

body[data-theme="v2"] .aiops-pill-green,
body[data-theme="v2"] .aiops-pill-teal,
body[data-theme="v2"] .live-indicator {
  position: relative;
  padding-left: 22px;
}
body[data-theme="v2"] .aiops-pill-green::before,
body[data-theme="v2"] .aiops-pill-teal::before,
body[data-theme="v2"] .live-indicator::before {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
  box-shadow: 0 0 0 0 currentColor;
}
body[data-theme="v2"] .aiops-pill-green::after,
body[data-theme="v2"] .aiops-pill-teal::after,
body[data-theme="v2"] .live-indicator::after {
  content: '';
  position: absolute;
  left: 8px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
  animation: premium-pulse 2.4s ease-in-out infinite;
  opacity: 0.5;
}

/* ══════════ 8. MAGNETIC BUTTON HOVER ═════════════════════════════ */

body[data-theme="v2"] .btn:not(:disabled):hover {
  transform: translateY(-1.5px);
  letter-spacing: -0.003em; /* subtle */
}
body[data-theme="v2"] .btn:not(:disabled):active {
  transform: scale(0.97) translateY(0);
  transition-duration: 80ms;
}

/* Primary CTA gets a soft outer glow on hover */
body[data-theme="v2"] .btn-primary:hover,
body[data-theme="v2"] .btn-gold:hover,
body[data-theme="v2"] .btn-teal:hover {
  box-shadow:
    0 6px 18px rgba(201, 168, 76, 0.36),
    0 0 0 4px rgba(201, 168, 76, 0.08);
}

/* ══════════ 9. CUSTOM SCROLLBAR ═════════════════════════════════ */
@media (min-width: 768px) {
  body[data-theme="v2"] *::-webkit-scrollbar {
    width: 10px;
    height: 10px;
  }
  body[data-theme="v2"] *::-webkit-scrollbar-track {
    background: transparent;
  }
  body[data-theme="v2"] *::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, var(--line-2) 0%, var(--line-1) 100%);
    border-radius: 5px;
    border: 2px solid transparent;
    background-clip: padding-box;
    transition: background-color var(--transition-fast-v2);
  }
  body[data-theme="v2"] *::-webkit-scrollbar-thumb:hover {
    background: linear-gradient(180deg, var(--gold-500) 0%, var(--gold-700) 100%);
    background-clip: padding-box;
  }
}

/* ══════════ 10. SECTION DIVIDERS (subtle gold gradient lines) ═══ */

body[data-theme="v2"] hr,
body[data-theme="v2"] .section-divider {
  border: none;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--line-2) 20%,
    var(--gold-300) 50%,
    var(--line-2) 80%,
    transparent 100%
  );
  margin: 24px 0;
}

/* ══════════ 11. INSPECTION QUICK FINDINGS — premium check ═══════ */
/* Each "Ponding / drainage staining visible" checkbox row should
   feel like a high-end product config UI. */

body[data-theme="v2"] .quick-findings .finding-row,
body[data-theme="v2"] [class*="finding-row"],
body[data-theme="v2"] .insp-section-body label {
  background: var(--surface-1);
  border: 1px solid var(--line-1);
  border-radius: var(--radius-v2);
  padding: 12px 16px;
  font-family: var(--font-body-v2);
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-1);
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  transition: all var(--transition-fast-v2);
}
body[data-theme="v2"] .quick-findings .finding-row:hover,
body[data-theme="v2"] [class*="finding-row"]:hover {
  border-color: var(--gold-300);
  background: var(--gold-50);
  transform: translateX(2px);
}
body[data-theme="v2"] .quick-findings input[type="checkbox"]:checked + label,
body[data-theme="v2"] [class*="finding-row"]:has(input:checked) {
  border-color: var(--gold-500);
  background: var(--gold-50);
  color: var(--ink-1);
  font-weight: 600;
}

/* ══════════ 12. PROPOSALS SENT — bigger amount, glow on signed ══ */

body[data-theme="v2"] .sent-card-total {
  font-family: var(--font-header-v2);
  font-size: 22px;
  font-weight: 700;
  color: var(--ink-1);
  letter-spacing: -0.02em;
  background: linear-gradient(135deg, var(--gold-700) 0%, var(--gold-500) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Signed deals get a celebration outline */
body[data-theme="v2"] .sent-card:has(.sd-signed) {
  border-color: rgba(14, 159, 110, 0.3);
  background: linear-gradient(135deg, var(--surface-1) 0%, rgba(14, 159, 110, 0.04) 100%);
}

/* ══════════ 13. SIDEBAR — premium depth + active glow halo ══════ */

body[data-theme="v2"] .app-sidebar {
  background:
    linear-gradient(180deg, #0E0D0A 0%, #16140F 100%),
    radial-gradient(ellipse at top left, rgba(201, 168, 76, 0.04) 0%, transparent 60%);
  border-right: 1px solid rgba(255, 255, 255, 0.04);
  box-shadow:
    inset -1px 0 0 rgba(201, 168, 76, 0.06);
}

body[data-theme="v2"] .app-sidebar__item.active::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radius-v2);
  pointer-events: none;
  box-shadow: 0 0 24px rgba(201, 168, 76, 0.15);
}

/* ══════════ 14. NAVBAR — gradient strip under logo ══════════════ */

body[data-theme="v2"] .navbar {
  position: relative;
  background: linear-gradient(180deg, #0A0908 0%, #14110D 100%);
}
body[data-theme="v2"] .navbar::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201, 168, 76, 0.4) 30%,
    rgba(201, 168, 76, 0.6) 50%,
    rgba(201, 168, 76, 0.4) 70%,
    transparent 100%
  );
}

/* ══════════ 15. KPI HERO — bigger, brighter, animated ═══════════ */

body[data-theme="v2"] .dash-card-num,
body[data-theme="v2"] .aiops-card-value,
body[data-theme="v2"] .dash-card .num,
body[data-theme="v2"] .aiops-card .num {
  font-family: var(--font-header-v2);
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1;
  background: linear-gradient(135deg, var(--ink-1) 0%, #38362F 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-variant-numeric: tabular-nums;
}

/* ══════════ 16. TODAY'S ROUTE — premium card with route number ═══ */

body[data-theme="v2"] .route-card {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(201, 168, 76, 0.12);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 1px 3px rgba(13, 13, 10, 0.05),
    0 8px 24px rgba(13, 13, 10, 0.04);
}
body[data-theme="v2"] .route-card:hover {
  border-color: rgba(201, 168, 76, 0.32);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 4px 12px rgba(13, 13, 10, 0.08),
    0 16px 40px rgba(13, 13, 10, 0.06);
}

/* ══════════ 17. PROPERTY-TABLE — refined header + row treatment ══ */

body[data-theme="v2"] .property-table-wrap {
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px) saturate(140%);
  -webkit-backdrop-filter: blur(8px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.95) inset,
    0 1px 3px rgba(13, 13, 10, 0.04),
    0 16px 40px rgba(13, 13, 10, 0.05);
}

body[data-theme="v2"] .property-table thead {
  background: linear-gradient(180deg,
    rgba(245, 242, 235, 0.95) 0%,
    rgba(245, 242, 235, 0.6) 100%
  );
  backdrop-filter: blur(4px);
  position: sticky;
  top: 0;
  z-index: 2;
}

/* ══════════ 18. CHIPS / PILLS / BADGES — soft glow ══════════════ */

body[data-theme="v2"] .badge-a,
body[data-theme="v2"] .badge-b,
body[data-theme="v2"] .badge-c,
body[data-theme="v2"] .aiops-pill,
body[data-theme="v2"] .sent-pill,
body[data-theme="v2"] .tier-pill,
body[data-theme="v2"] [class*="tier-"][class*="-pill"] {
  font-family: var(--font-header-v2);
  font-weight: 700;
  letter-spacing: 0.02em;
  border-radius: var(--radius-pill);
  padding: 4px 10px;
  font-size: 11px;
}

/* SAT badge (cold list "data" column) — modern tinted pill */
body[data-theme="v2"] [class*="-sat"],
body[data-theme="v2"] .data-sat {
  background: var(--gold-50);
  color: var(--gold-700);
  border: 1px solid var(--gold-300);
  font-family: var(--font-header-v2);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: var(--radius-sm-v2);
}

/* PHONE badge (cold list when phone is the only data) — softer */
body[data-theme="v2"] [class*="-phone"],
body[data-theme="v2"] .data-phone {
  background: var(--surface-2);
  color: var(--ink-2);
  border: 1px solid var(--line-2);
  font-family: var(--font-header-v2);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.06em;
  padding: 2px 8px;
  border-radius: var(--radius-sm-v2);
}

/* ══════════ 19. TIER COLOR pills (10K-20K, 5K-10K, 20K+) ════════ */

body[data-theme="v2"] [class*="tier"][class*="10k-20k"],
body[data-theme="v2"] [class*="tier-medium"] {
  background: var(--gold-50);
  color: var(--gold-700);
  border: 1px solid var(--gold-300);
  font-weight: 700;
}
body[data-theme="v2"] [class*="tier"][class*="5k-10k"],
body[data-theme="v2"] [class*="tier-low"] {
  background: var(--info-bg);
  color: var(--info-fg);
  border: 1px solid #B5D0FB;
  font-weight: 700;
}
body[data-theme="v2"] [class*="tier"][class*="20k"]:not([class*="10k-20k"]),
body[data-theme="v2"] [class*="tier-high"] {
  background: var(--success-bg);
  color: var(--success-fg);
  border: 1px solid #B8DCC9;
  font-weight: 700;
}

/* ══════════ 20. EMERALD PLEDGE / DIAMOND PLEDGE BRAND MOMENTS ═══ */
/* When the proposal warranty name appears, it's a brand moment.   */

body[data-theme="v2"] [class*="emerald-pledge"],
body[data-theme="v2"] [class*="diamond-pledge"] {
  font-family: var(--font-display-v2);
  font-weight: 700;
  letter-spacing: 0.02em;
}
body[data-theme="v2"] [class*="emerald-pledge"] {
  background: linear-gradient(135deg, #1D9E75 0%, #14C48F 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
body[data-theme="v2"] [class*="diamond-pledge"] {
  background: linear-gradient(135deg, var(--gold-700) 0%, var(--gold-500) 50%, #E8C97A 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ══════════ 21. LOADING STATE — branded shimmer skeleton ════════ */

body[data-theme="v2"] .skeleton,
body[data-theme="v2"] .loading-shimmer {
  background: linear-gradient(
    90deg,
    var(--surface-2) 0%,
    rgba(232, 201, 122, 0.18) 50%,
    var(--surface-2) 100%
  );
  background-size: 200% 100%;
  animation: premium-shimmer-bg 1.6s ease-in-out infinite;
  border-radius: var(--radius-v2);
}

/* ══════════ 22. FORM FOCUS — premium glow ══════════════════════ */

body[data-theme="v2"] input:focus,
body[data-theme="v2"] textarea:focus,
body[data-theme="v2"] select:focus {
  outline: none;
  border-color: var(--gold-500);
  box-shadow:
    0 0 0 4px rgba(201, 168, 76, 0.15),
    0 0 20px rgba(201, 168, 76, 0.18);
}

/* ══════════ 23. SETTINGS / PROFILE — premium card stack ═════════ */

body[data-theme="v2"] [id^="tab-settings"] .panel-body > * + *,
body[data-theme="v2"] [id^="tab-profile"] .panel-body > * + * {
  margin-top: 16px;
}

/* ══════════ 24. SIDEBAR / BOTTOM-NAV SVG ICONS (replaces emoji) ═══ */

body[data-theme="v2"] .app-sidebar__icon,
body[data-theme="v2"] .app-bottom-nav__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  color: inherit;
  flex-shrink: 0;
}

/* If a sidebar icon span has a data-v2-icon attribute, the SVG is
   inline. If not (legacy emoji fallback), keep emoji visible at a
   reasonable size — avoids the blank-icon bug where font-size:0
   would hide emoji while the JS replacer might be racing. */
body[data-theme="v2"] .app-sidebar__icon:not([data-v2-icon]),
body[data-theme="v2"] .app-bottom-nav__icon:not([data-v2-icon]) {
  font-size: 16px;
}

body[data-theme="v2"] .app-sidebar__icon svg,
body[data-theme="v2"] .app-bottom-nav__icon svg {
  width: 20px;
  height: 20px;
  stroke-width: 1.75;
  opacity: 0.85;
  transition: opacity var(--transition-fast-v2),
              transform var(--transition-fast-v2);
}

body[data-theme="v2"] .app-sidebar__item:hover .app-sidebar__icon svg,
body[data-theme="v2"] .app-bottom-nav__item:hover .app-bottom-nav__icon svg {
  opacity: 1;
  transform: scale(1.05);
}

body[data-theme="v2"] .app-sidebar__item.active .app-sidebar__icon svg,
body[data-theme="v2"] .app-bottom-nav__item.active .app-bottom-nav__icon svg,
body[data-theme="v2"] .app-sidebar__item[aria-current="page"] .app-sidebar__icon svg {
  opacity: 1;
  stroke-width: 2;
}

/* ══════════ 25. GEIST FONT — apply globally inside v2 ════════════ */
/* Override v1 base styles to use Geist on every text element */

body[data-theme="v2"],
body[data-theme="v2"] *,
body[data-theme="v2"] button,
body[data-theme="v2"] input,
body[data-theme="v2"] select,
body[data-theme="v2"] textarea {
  font-family: 'Geist', 'Inter', system-ui, -apple-system, sans-serif;
  font-feature-settings: 'cv02', 'cv11'; /* Geist's stylistic alternates */
}

body[data-theme="v2"] code,
body[data-theme="v2"] pre,
body[data-theme="v2"] .mono,
body[data-theme="v2"] [class*="mono"] {
  font-family: 'Geist Mono', 'JetBrains Mono', ui-monospace, monospace;
}

/* Cinzel preserved for navbar brand + warranty tier names + drill modal title */
body[data-theme="v2"] .navbar-title,
body[data-theme="v2"] .navbar-brand,
body[data-theme="v2"] [class*="emerald-pledge"],
body[data-theme="v2"] [class*="diamond-pledge"],
body[data-theme="v2"] .drill-modal__title,
body[data-theme="v2"] .help-drawer__title,
body[data-theme="v2"] [class*="warranty-tier"] > *:first-child,
body[data-theme="v2"] .warranty-tier-name {
  font-family: 'Cinzel', Georgia, serif !important;
}

/* ════════════════════════════════════════════════════════════════
   FOREMAN PANEL (admin-only) — H.3 P6
   ──────────────────────────────────────────────────────────────── */

/* Sidebar unread badge — sits to the right of the Foreman label */
.app-sidebar__badge {
  margin-left: auto;
  background: linear-gradient(135deg, #DC4A47 0%, #B83734 100%);
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  padding: 2px 7px;
  border-radius: 999px;
  min-width: 18px;
  text-align: center;
  line-height: 1.4;
  box-shadow: 0 1px 3px rgba(220,74,71,0.35);
}

body[data-theme="v2"] .foreman-header {
  display: flex; justify-content: space-between; align-items: flex-start;
  gap: 16px;
}
body[data-theme="v2"] .foreman-refresh-btn {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 500;
  background: #FFFFFF;
  border: 1px solid #D9D5C8;
  color: #1A1815;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 200ms, box-shadow 200ms, border-color 200ms;
}
body[data-theme="v2"] .foreman-refresh-btn:hover {
  border-color: #C9A84C;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

body[data-theme="v2"] .foreman-loading,
body[data-theme="v2"] .foreman-empty {
  padding: 24px;
  color: #5A574F;
  text-align: center;
  font-size: 14px;
}

/* Hero strip — 4 KPI tiles */
body[data-theme="v2"] .foreman-hero {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}
@media (max-width: 900px) {
  body[data-theme="v2"] .foreman-hero {
    grid-template-columns: repeat(2, 1fr);
  }
}
body[data-theme="v2"] .foreman-hero__tile {
  position: relative;
  background: #FFFFFF;
  border: 1px solid #EAE7DD;
  border-radius: 14px;
  padding: 16px 18px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04);
  transition: transform 200ms, box-shadow 200ms;
}
body[data-theme="v2"] .foreman-hero__tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08), 0 16px 40px rgba(0,0,0,0.06);
}
body[data-theme="v2"] .foreman-hero__tile::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #A68A3E 100%);
}
body[data-theme="v2"] .foreman-hero__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #5A574F;
  font-weight: 600;
  margin-bottom: 6px;
}
body[data-theme="v2"] .foreman-hero__num {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 32px;
  font-weight: 600;
  color: #1A1815;
  line-height: 1;
  letter-spacing: -0.02em;
}
body[data-theme="v2"] .foreman-hero__sub {
  font-size: 12px;
  color: #5A574F;
  margin-top: 6px;
}

/* Grid: alerts | tasks + memory */
body[data-theme="v2"] .foreman-grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  gap: 16px;
}
@media (max-width: 1100px) {
  body[data-theme="v2"] .foreman-grid {
    grid-template-columns: 1fr;
  }
}

body[data-theme="v2"] .foreman-card {
  background: #FFFFFF;
  border: 1px solid #EAE7DD;
  border-radius: 14px;
  padding: 16px 18px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  display: flex;
  flex-direction: column;
  min-height: 200px;
}
body[data-theme="v2"] .foreman-card__header {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid #F1EDE2;
  padding-bottom: 10px;
  margin-bottom: 12px;
}
body[data-theme="v2"] .foreman-card__header h3 {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 16px; font-weight: 600;
  color: #1A1815; margin: 0;
  letter-spacing: -0.01em;
}
body[data-theme="v2"] .foreman-card__sub {
  font-size: 12px;
  color: #8A877E;
  font-weight: 500;
}

/* Alert items */
body[data-theme="v2"] .foreman-alerts-list {
  display: flex; flex-direction: column; gap: 10px;
}
body[data-theme="v2"] .foreman-alert {
  border: 1px solid #EAE7DD;
  border-radius: 10px;
  padding: 12px 14px;
  background: #FAFAF7;
  transition: border-color 200ms, transform 200ms;
}
body[data-theme="v2"] .foreman-alert:hover {
  border-color: #D9D5C8;
}
body[data-theme="v2"] .foreman-alert__head {
  display: flex; align-items: center; gap: 10px; margin-bottom: 8px;
  flex-wrap: wrap;
}
body[data-theme="v2"] .foreman-alert__sev {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 3px 8px;
  border-radius: 999px;
}
body[data-theme="v2"] .foreman-alert__subject {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: #1A1815;
  flex: 1; min-width: 0;
  letter-spacing: -0.01em;
}
body[data-theme="v2"] .foreman-alert__time {
  font-size: 11px;
  color: #8A877E;
  flex-shrink: 0;
}
body[data-theme="v2"] .foreman-alert__body {
  font-size: 13px;
  line-height: 1.5;
  color: #2E2C27;
  margin: 0 0 10px;
  white-space: pre-wrap;
}
body[data-theme="v2"] .foreman-alert__actions {
  display: flex; gap: 6px; flex-wrap: wrap;
}
body[data-theme="v2"] .foreman-alert__btn {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 12px;
  font-weight: 500;
  padding: 6px 11px;
  border-radius: 7px;
  cursor: pointer;
  border: 1px solid #D9D5C8;
  background: #FFFFFF;
  color: #1A1815;
  transition: all 160ms;
}
body[data-theme="v2"] .foreman-alert__btn--useful:hover {
  background: rgba(14,159,110,0.08);
  border-color: #0E9F6E;
  color: #0E9F6E;
}
body[data-theme="v2"] .foreman-alert__btn--not:hover {
  background: rgba(217,126,42,0.08);
  border-color: #D97E2A;
  color: #D97E2A;
}
body[data-theme="v2"] .foreman-alert__btn--dismiss:hover {
  background: rgba(138,135,126,0.08);
  border-color: #8A877E;
  color: #5A574F;
}
body[data-theme="v2"] .foreman-alert__status {
  display: flex; gap: 6px;
}
body[data-theme="v2"] .foreman-alert__pill {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 999px;
  background: #F1EDE2;
  color: #5A574F;
}
body[data-theme="v2"] .foreman-alert__pill--useful {
  background: rgba(14,159,110,0.12); color: #0E9F6E;
}
body[data-theme="v2"] .foreman-alert__pill--not_useful,
body[data-theme="v2"] .foreman-alert__pill--irrelevant {
  background: rgba(217,126,42,0.12); color: #D97E2A;
}

/* Task list */
body[data-theme="v2"] .foreman-tasks-list {
  display: flex; flex-direction: column; gap: 8px;
  margin-bottom: 12px;
}
body[data-theme="v2"] .foreman-task {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 12px;
  border: 1px solid #EAE7DD;
  border-radius: 9px;
  background: #FAFAF7;
  font-size: 13px;
  transition: border-color 160ms;
}
body[data-theme="v2"] .foreman-task:hover {
  border-color: #D9D5C8;
}
body[data-theme="v2"] .foreman-task__pri {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  padding: 3px 7px;
  border-radius: 5px;
  background: #F1EDE2;
  color: #5A574F;
  flex-shrink: 0;
}
body[data-theme="v2"] .foreman-task__pri--5 { background: rgba(220,74,71,0.14); color: #DC4A47; }
body[data-theme="v2"] .foreman-task__pri--4 { background: rgba(217,126,42,0.14); color: #D97E2A; }
body[data-theme="v2"] .foreman-task__pri--3 { background: rgba(52,120,246,0.12); color: #3478F6; }
body[data-theme="v2"] .foreman-task__content {
  flex: 1; min-width: 0;
  color: #1A1815;
  word-break: break-word;
}
body[data-theme="v2"] .foreman-task__due {
  font-size: 11px;
  color: #8A877E;
  flex-shrink: 0;
}
body[data-theme="v2"] .foreman-task__actions {
  display: flex; gap: 4px; flex-shrink: 0;
}
body[data-theme="v2"] .foreman-task__btn {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 11px; font-weight: 500;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid #D9D5C8;
  background: #FFFFFF;
  color: #1A1815;
  cursor: pointer;
}
body[data-theme="v2"] .foreman-task__btn--done:hover {
  background: rgba(14,159,110,0.08);
  border-color: #0E9F6E; color: #0E9F6E;
}
body[data-theme="v2"] .foreman-task__btn--dismiss:hover {
  background: rgba(138,135,126,0.08);
  border-color: #8A877E; color: #5A574F;
}
body[data-theme="v2"] .foreman-task__row {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
body[data-theme="v2"] .foreman-task--answered {
  background: rgba(14,159,110,0.04);
  border-color: rgba(14,159,110,0.20);
}
body[data-theme="v2"] .foreman-task--thinking {
  background: linear-gradient(90deg, #FAFAF7 0%, rgba(201,168,76,0.08) 50%, #FAFAF7 100%);
  background-size: 200% 100%;
  animation: foremanShimmer 1.6s ease-in-out infinite;
  border-color: rgba(201,168,76,0.30);
}
@keyframes foremanShimmer {
  0%   { background-position: 100% 0; }
  100% { background-position: -100% 0; }
}
body[data-theme="v2"] .foreman-task__status {
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 3px 7px; border-radius: 999px;
  background: #F1EDE2; color: #5A574F;
  flex-shrink: 0;
}
body[data-theme="v2"] .foreman-task__status--answered {
  background: rgba(14,159,110,0.14); color: #0E9F6E;
}
body[data-theme="v2"] .foreman-task__status--thinking {
  background: rgba(201,168,76,0.18); color: #9A7B26;
}
body[data-theme="v2"] .foreman-task__status--closed {
  background: #F5F2EB; color: #8A877E;
}
body[data-theme="v2"] .foreman-task__answer {
  margin: 8px 0 2px;
  padding: 10px 12px;
  background: #FFFFFF;
  border: 1px solid rgba(14,159,110,0.20);
  border-left: 3px solid #0E9F6E;
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.5;
  color: #1A1815;
  white-space: pre-wrap;
}

/* Add-task form */
body[data-theme="v2"] .foreman-task-add {
  display: flex; gap: 6px; padding-top: 10px; border-top: 1px solid #F1EDE2;
}
body[data-theme="v2"] .foreman-task-add input[type="text"] {
  flex: 1; min-width: 0;
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 13px;
  padding: 8px 12px;
  border: 1px solid #D9D5C8;
  border-radius: 7px;
  background: #FFFFFF;
  color: #1A1815;
}
body[data-theme="v2"] .foreman-task-add input[type="text"]:focus {
  outline: none;
  border-color: #C9A84C;
  box-shadow: 0 0 0 3px rgba(201,168,76,0.20);
}
body[data-theme="v2"] .foreman-task-add select {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 12px; font-weight: 600;
  padding: 7px 10px;
  border: 1px solid #D9D5C8;
  border-radius: 7px;
  background: #FFFFFF;
  color: #1A1815;
  cursor: pointer;
}
body[data-theme="v2"] .foreman-task-add button {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 600;
  padding: 7px 14px;
  border-radius: 7px;
  border: none;
  background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #A68A3E 100%);
  color: #1A1815;
  cursor: pointer;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: transform 200ms, box-shadow 200ms;
}
body[data-theme="v2"] .foreman-task-add button:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(201,168,76,0.25);
}

/* Memory list */
body[data-theme="v2"] .foreman-memory-list {
  display: flex; flex-direction: column; gap: 8px;
  max-height: 420px; overflow-y: auto;
}
body[data-theme="v2"] .foreman-mem {
  border: 1px solid #EAE7DD;
  border-radius: 9px;
  padding: 10px 12px;
  background: #FAFAF7;
  font-size: 12.5px;
}
body[data-theme="v2"] .foreman-mem__head {
  display: flex; gap: 8px; align-items: center;
  margin-bottom: 6px;
  flex-wrap: wrap;
}
body[data-theme="v2"] .foreman-mem__cat {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 7px;
  border-radius: 999px;
  background: #F1EDE2;
  color: #5A574F;
}
body[data-theme="v2"] .foreman-mem__cat--pattern    { background: rgba(201,168,76,0.18); color: #9A7B26; }
body[data-theme="v2"] .foreman-mem__cat--feedback   { background: rgba(52,120,246,0.12); color: #3478F6; }
body[data-theme="v2"] .foreman-mem__cat--decision   { background: rgba(14,159,110,0.10); color: #0E9F6E; }
body[data-theme="v2"] .foreman-mem__cat--observation{ background: rgba(138,135,126,0.14); color: #5A574F; }
body[data-theme="v2"] .foreman-mem__subj {
  font-weight: 600; color: #1A1815;
  flex: 1; min-width: 0;
}
body[data-theme="v2"] .foreman-mem__imp {
  font-size: 10px; color: #8A877E;
}
body[data-theme="v2"] .foreman-mem__time {
  font-size: 10px; color: #8A877E;
}
body[data-theme="v2"] .foreman-mem__body {
  margin: 0;
  color: #2E2C27;
  line-height: 1.45;
}

/* ════════════════════════════════════════════════════════════════
   DASHBOARD PRO (Team Dashboard, full optimization) — H.2
   ──────────────────────────────────────────────────────────────── */
body[data-theme="v2"] .dashpro-header {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
}
body[data-theme="v2"] .dashpro-refresh-btn {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 13px; font-weight: 500;
  background: #FFFFFF; border: 1px solid #D9D5C8; color: #1A1815;
  padding: 8px 14px; border-radius: 8px; cursor: pointer;
  transition: transform 200ms, box-shadow 200ms, border-color 200ms;
}
body[data-theme="v2"] .dashpro-refresh-btn:hover {
  border-color: #C9A84C; transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
body[data-theme="v2"] .dashpro-loading,
body[data-theme="v2"] .dashpro-empty {
  padding: 24px; color: #5A574F; text-align: center; font-size: 14px;
}

/* Hero strip — 8 KPI tiles, responsive grid */
body[data-theme="v2"] .dashpro-hero {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}
@media (max-width: 1100px) {
  body[data-theme="v2"] .dashpro-hero { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  body[data-theme="v2"] .dashpro-hero { grid-template-columns: 1fr; }
}
body[data-theme="v2"] .dashpro-kpi {
  position: relative; background: #FFFFFF;
  border: 1px solid #EAE7DD; border-radius: 14px;
  padding: 14px 16px; overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 4px 12px rgba(0,0,0,0.04);
  transition: transform 200ms, box-shadow 200ms;
}
body[data-theme="v2"] .dashpro-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.08), 0 16px 40px rgba(0,0,0,0.06);
}
body[data-theme="v2"] .dashpro-kpi::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(135deg,#E8C97A 0%,#C9A84C 50%,#A68A3E 100%);
}
body[data-theme="v2"] .dashpro-kpi--success::before { background: linear-gradient(135deg,#34D399 0%,#0E9F6E 100%); }
body[data-theme="v2"] .dashpro-kpi--warn::before    { background: linear-gradient(135deg,#F4B870 0%,#D97E2A 100%); }
body[data-theme="v2"] .dashpro-kpi--info::before    { background: linear-gradient(135deg,#60A5FA 0%,#3478F6 100%); }

body[data-theme="v2"] .dashpro-kpi__label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em;
  color: #5A574F; font-weight: 600; margin-bottom: 5px;
}
body[data-theme="v2"] .dashpro-kpi__num {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 28px; font-weight: 600; color: #1A1815;
  line-height: 1.1; letter-spacing: -0.02em;
}
body[data-theme="v2"] .dashpro-kpi__sub {
  font-size: 11px; color: #5A574F; margin-top: 6px;
}
body[data-theme="v2"] .dashpro-kpi__spark {
  position: absolute; bottom: 8px; right: 8px;
  width: 110px; height: 32px;
  color: rgba(201,168,76,0.55); pointer-events: none;
}
body[data-theme="v2"] .dashpro-kpi--success .dashpro-kpi__spark { color: rgba(14,159,110,0.55); }
body[data-theme="v2"] .dashpro-kpi--info .dashpro-kpi__spark    { color: rgba(52,120,246,0.55); }

/* Rows */
body[data-theme="v2"] .dashpro-row {
  display: grid; gap: 16px; margin-bottom: 16px;
}
body[data-theme="v2"] .dashpro-row--reps-funnel       { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
body[data-theme="v2"] .dashpro-row--geo-flags         { grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr); }
body[data-theme="v2"] .dashpro-row--timeseries       { grid-template-columns: 1fr; }
body[data-theme="v2"] .dashpro-row--calendar-forecast { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
@media (max-width: 1100px) {
  body[data-theme="v2"] .dashpro-row--reps-funnel,
  body[data-theme="v2"] .dashpro-row--geo-flags,
  body[data-theme="v2"] .dashpro-row--calendar-forecast { grid-template-columns: 1fr; }
}

body[data-theme="v2"] .dashpro-card {
  background: #FFFFFF; border: 1px solid #EAE7DD; border-radius: 14px;
  padding: 16px 18px; box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
body[data-theme="v2"] .dashpro-card__header {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid #F1EDE2; padding-bottom: 10px; margin-bottom: 12px;
}
body[data-theme="v2"] .dashpro-card__header h3 {
  font-family: 'Geist', 'Inter Tight', sans-serif;
  font-size: 16px; font-weight: 600; color: #1A1815; margin: 0;
  letter-spacing: -0.01em;
}
body[data-theme="v2"] .dashpro-card__sub { font-size: 12px; color: #8A877E; font-weight: 500; }

/* Reps grid */
body[data-theme="v2"] .dashpro-reps__grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}
body[data-theme="v2"] .dashpro-rep {
  border: 1px solid #EAE7DD; border-radius: 12px;
  padding: 12px 14px; background: #FAFAF7;
  transition: border-color 200ms, transform 200ms;
}
body[data-theme="v2"] .dashpro-rep:hover { border-color: #D9D5C8; transform: translateY(-1px); }
body[data-theme="v2"] .dashpro-rep__head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 10px;
  margin-bottom: 8px;
}
body[data-theme="v2"] .dashpro-rep__name {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 15px; font-weight: 600; color: #1A1815;
  letter-spacing: -0.01em;
}
body[data-theme="v2"] .dashpro-rep__meta { font-size: 11px; color: #5A574F; margin-top: 2px; }
body[data-theme="v2"] .dashpro-rep__score {
  text-align: right; flex-shrink: 0;
  background: linear-gradient(135deg, rgba(201,168,76,0.18) 0%, rgba(201,168,76,0.06) 100%);
  padding: 6px 10px; border-radius: 8px;
}
body[data-theme="v2"] .dashpro-rep__score-num {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 22px; font-weight: 700; color: #9A7B26;
  line-height: 1;
}
body[data-theme="v2"] .dashpro-rep__score-label {
  font-size: 9px; text-transform: uppercase; letter-spacing: 0.08em;
  color: #9A7B26; font-weight: 600; margin-top: 2px;
}
body[data-theme="v2"] .dashpro-rep__radar { margin: 4px 0 8px; }
body[data-theme="v2"] .dashpro-radar__lbl {
  font-family: 'Geist','Inter',sans-serif;
  font-size: 8px; fill: #5A574F; font-weight: 500;
}
body[data-theme="v2"] .dashpro-rep__last7 {
  display: flex; gap: 6px; flex-wrap: wrap; align-items: center;
  font-size: 11px; color: #5A574F; margin-bottom: 6px;
}
body[data-theme="v2"] .dashpro-rep__chip {
  background: #F1EDE2; border-radius: 6px;
  padding: 2px 7px; font-weight: 500;
}
body[data-theme="v2"] .dashpro-rep__stalled {
  font-size: 11px; color: #D97E2A;
  background: rgba(217,126,42,0.10);
  border-radius: 6px; padding: 5px 8px;
  border: 1px solid rgba(217,126,42,0.18);
}
body[data-theme="v2"] .dashpro-rep__stalled--none {
  color: #5A574F; background: transparent; border: 1px dashed #E0DDD2;
}

/* Funnel */
body[data-theme="v2"] .dashpro-funnel__list { display: flex; flex-direction: column; gap: 6px; }
body[data-theme="v2"] .dashpro-funnel__row {
  display: grid; grid-template-columns: 90px 1fr 60px;
  align-items: center; gap: 8px;
  font-size: 12px;
}
body[data-theme="v2"] .dashpro-funnel__label { color: #5A574F; font-weight: 500; }
body[data-theme="v2"] .dashpro-funnel__bar-wrap {
  position: relative; background: #F5F2EB; border-radius: 6px; height: 22px;
}
body[data-theme="v2"] .dashpro-funnel__bar {
  height: 100%; border-radius: 6px;
  background: linear-gradient(90deg, #C9A84C 0%, #B89636 100%);
  transition: width 320ms ease-out;
}
body[data-theme="v2"] .dashpro-funnel__count {
  position: absolute; right: 8px; top: 50%; transform: translateY(-50%);
  font-family: 'Geist','Inter Tight',sans-serif;
  font-weight: 600; color: #1A1815; font-size: 11px;
}
body[data-theme="v2"] .dashpro-funnel__conv-cell { text-align: right; }
body[data-theme="v2"] .dashpro-funnel__conv {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-weight: 600; font-size: 11px; color: #0E9F6E;
}
body[data-theme="v2"] .dashpro-funnel__conv--warn { color: #D97E2A; }

/* Geo */
body[data-theme="v2"] .dashpro-geo__table {
  width: 100%; border-collapse: collapse; font-size: 12px;
}
body[data-theme="v2"] .dashpro-geo__table th {
  text-align: left; font-weight: 600; padding: 8px 6px; color: #5A574F;
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em;
  border-bottom: 1px solid #F1EDE2;
}
body[data-theme="v2"] .dashpro-geo__table td {
  padding: 10px 6px; border-bottom: 1px solid #F5F2EB; color: #1A1815;
}
body[data-theme="v2"] .dashpro-geo__state {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-weight: 700; color: #9A7B26;
}
body[data-theme="v2"] .dashpro-geo__dollars { font-weight: 600; }

/* Time-series row */
body[data-theme="v2"] .dashpro-ts__row {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px;
}
@media (max-width: 1100px) { body[data-theme="v2"] .dashpro-ts__row { grid-template-columns: 1fr; } }
body[data-theme="v2"] .dashpro-chart {
  background: #FAFAF7; border: 1px solid #EAE7DD;
  border-radius: 10px; padding: 12px 14px;
}
body[data-theme="v2"] .dashpro-chart__title {
  font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em;
  color: #5A574F; font-weight: 600; margin-bottom: 6px;
}
body[data-theme="v2"] .dashpro-chart__meta {
  display: flex; justify-content: space-between; margin-top: 4px;
  font-size: 11px; color: #5A574F;
}

/* Activity calendar */
body[data-theme="v2"] .dashpro-cal__wrap {
  overflow-x: auto;
}
body[data-theme="v2"] .dashpro-cal__svg {
  display: block; min-width: 640px;
}
body[data-theme="v2"] .dashpro-cal__cell--0 { fill: #F1EDE2; }
body[data-theme="v2"] .dashpro-cal__cell--1 { fill: #E8C97A; opacity: 0.45; }
body[data-theme="v2"] .dashpro-cal__cell--2 { fill: #DDC275; opacity: 0.7; }
body[data-theme="v2"] .dashpro-cal__cell--3 { fill: #C9A84C; }
body[data-theme="v2"] .dashpro-cal__cell--4 { fill: #9A7B26; }
body[data-theme="v2"] .dashpro-cal__legend {
  display: flex; align-items: center; gap: 4px; justify-content: flex-end;
  margin-top: 8px; font-size: 11px; color: #5A574F;
}
body[data-theme="v2"] .dashpro-cal__cell-key {
  display: inline-block; width: 10px; height: 10px; border-radius: 2px;
}
body[data-theme="v2"] .dashpro-cal__cell-key.dashpro-cal__cell--0 { background: #F1EDE2; }
body[data-theme="v2"] .dashpro-cal__cell-key.dashpro-cal__cell--1 { background: #E8C97A; opacity: 0.45; }
body[data-theme="v2"] .dashpro-cal__cell-key.dashpro-cal__cell--2 { background: #DDC275; opacity: 0.7; }
body[data-theme="v2"] .dashpro-cal__cell-key.dashpro-cal__cell--3 { background: #C9A84C; }
body[data-theme="v2"] .dashpro-cal__cell-key.dashpro-cal__cell--4 { background: #9A7B26; }

/* Flags */
body[data-theme="v2"] .dashpro-flag__list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 6px;
  max-height: 320px; overflow-y: auto;
}
body[data-theme="v2"] .dashpro-flag__row {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 8px 10px; background: #FAFAF7;
  border: 1px solid #EAE7DD; border-radius: 8px;
  font-size: 12px; color: #1A1815;
}
body[data-theme="v2"] .dashpro-flag__sev {
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.06em;
  padding: 3px 7px; border-radius: 999px;
  background: #F1EDE2; color: #5A574F;
  flex-shrink: 0;
}
body[data-theme="v2"] .dashpro-flag__sev--warn,
body[data-theme="v2"] .dashpro-flag__sev--ok { background: rgba(217,126,42,0.14); color: #D97E2A; }
body[data-theme="v2"] .dashpro-flag__sev--error,
body[data-theme="v2"] .dashpro-flag__sev--urgent { background: rgba(220,74,71,0.14); color: #DC4A47; }
body[data-theme="v2"] .dashpro-flag__sev--info { background: rgba(52,120,246,0.12); color: #3478F6; }

/* Forecast */
body[data-theme="v2"] .dashpro-forecast__grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px;
}
body[data-theme="v2"] .dashpro-forecast__cell {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-radius: 10px;
  padding: 12px 14px;
}
body[data-theme="v2"] .dashpro-forecast__label {
  font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em;
  color: #5A574F; font-weight: 600; margin-bottom: 6px;
}
body[data-theme="v2"] .dashpro-forecast__num {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 22px; font-weight: 600; color: #1A1815;
  line-height: 1; letter-spacing: -0.01em;
}
body[data-theme="v2"] .dashpro-forecast__sub {
  font-size: 11px; color: #5A574F; margin-top: 5px;
}

/* ════════════════════════════════════════════════════════════════
   SARGE TAB — rep training + grade view
   ──────────────────────────────────────────────────────────────── */
body[data-theme="v2"] .sarge-tab__header {
  display: flex; justify-content: space-between; align-items: flex-start; gap: 16px;
}
body[data-theme="v2"] .sarge-tab__refresh {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 13px; font-weight: 500;
  background: #FFFFFF; border: 1px solid #D9D5C8; color: #1A1815;
  padding: 8px 14px; border-radius: 8px; cursor: pointer;
  transition: transform 200ms, box-shadow 200ms, border-color 200ms;
}
body[data-theme="v2"] .sarge-tab__refresh:hover { border-color: #C9A84C; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }

body[data-theme="v2"] .sarge-tab__loading,
body[data-theme="v2"] .sarge-tab__empty,
body[data-theme="v2"] .sarge-empty {
  padding: 24px; color: #5A574F; text-align: center; font-size: 14px;
}

/* Hero */
body[data-theme="v2"] .sarge-hero {
  display: grid; grid-template-columns: 1fr auto; gap: 16px;
  background: linear-gradient(135deg, rgba(201,168,76,0.10) 0%, rgba(201,168,76,0.02) 100%);
  border: 1px solid rgba(201,168,76,0.28); border-radius: 16px;
  padding: 22px 24px; margin-bottom: 16px;
  position: relative; overflow: hidden;
}
body[data-theme="v2"] .sarge-hero::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #A68A3E 100%);
}
body[data-theme="v2"] .sarge-hero__name {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 28px; font-weight: 700; color: #1A1815;
  letter-spacing: -0.02em; line-height: 1;
}
body[data-theme="v2"] .sarge-hero__belt {
  display: inline-block; margin-top: 8px; padding: 4px 11px; border-radius: 999px;
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
  background: #1A1815; color: #F0EBE0;
}
body[data-theme="v2"] .sarge-hero__belt--white   { background: #FFFFFF; color: #1A1815; border: 1px solid #D9D5C8; }
body[data-theme="v2"] .sarge-hero__belt--green   { background: #0E9F6E; color: #FFFFFF; }
body[data-theme="v2"] .sarge-hero__belt--blue    { background: #3478F6; color: #FFFFFF; }
body[data-theme="v2"] .sarge-hero__belt--purple  { background: #7C3AED; color: #FFFFFF; }
body[data-theme="v2"] .sarge-hero__belt--brown   { background: #78350F; color: #FFFFFF; }
body[data-theme="v2"] .sarge-hero__belt--black   { background: #1A1815; color: #C9A84C; }
body[data-theme="v2"] .sarge-hero__sub { margin-top: 10px; font-size: 13px; color: #5A574F; }
body[data-theme="v2"] .sarge-hero__right { text-align: right; align-self: center; }
body[data-theme="v2"] .sarge-hero__score {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 56px; font-weight: 700; color: #1A1815;
  line-height: 1; letter-spacing: -0.03em;
}
body[data-theme="v2"] .sarge-hero__score-of { font-size: 18px; color: #8A877E; font-weight: 500; }
body[data-theme="v2"] .sarge-hero__score--empty { color: #C9C5B8; font-size: 36px; }
body[data-theme="v2"] .sarge-hero__score-label {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: #5A574F; margin-top: 4px;
}

/* Daily gate */
body[data-theme="v2"] .sarge-gate {
  background: #FFFFFF; border: 1px solid #EAE7DD;
  border-radius: 12px; padding: 14px 16px;
  margin-bottom: 16px;
}
body[data-theme="v2"] .sarge-gate--done { border-color: rgba(14,159,110,0.3); background: rgba(14,159,110,0.04); }
body[data-theme="v2"] .sarge-gate__head {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px;
}
body[data-theme="v2"] .sarge-gate__label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; color: #5A574F; }
body[data-theme="v2"] .sarge-gate__status { font-size: 13px; color: #1A1815; font-weight: 500; }
body[data-theme="v2"] .sarge-gate--done .sarge-gate__status { color: #0E9F6E; font-weight: 600; }
body[data-theme="v2"] .sarge-gate__bar { height: 8px; background: #F1EDE2; border-radius: 999px; overflow: hidden; }
body[data-theme="v2"] .sarge-gate__fill {
  height: 100%; background: linear-gradient(90deg, #C9A84C 0%, #B89636 100%);
  transition: width 320ms ease-out;
}
body[data-theme="v2"] .sarge-gate--done .sarge-gate__fill { background: linear-gradient(90deg, #34D399 0%, #0E9F6E 100%); }

/* Rows */
body[data-theme="v2"] .sarge-tab__row { display: grid; gap: 16px; margin-bottom: 16px; }
body[data-theme="v2"] .sarge-tab__row--two { grid-template-columns: 1fr 1fr; }
@media (max-width: 900px) { body[data-theme="v2"] .sarge-tab__row--two { grid-template-columns: 1fr; } }

/* Card */
body[data-theme="v2"] .sarge-card {
  background: #FFFFFF; border: 1px solid #EAE7DD;
  border-radius: 14px; padding: 16px 18px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
body[data-theme="v2"] .sarge-card__head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 1px solid #F1EDE2; padding-bottom: 10px; margin-bottom: 12px;
}
body[data-theme="v2"] .sarge-card__head h3 {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 16px; font-weight: 600; color: #1A1815; margin: 0; letter-spacing: -0.01em;
}
body[data-theme="v2"] .sarge-card__sub { font-size: 12px; color: #8A877E; }

/* Radar */
body[data-theme="v2"] .sarge-radar__lbl { font-family: 'Geist','Inter',sans-serif; font-size: 10px; fill: #5A574F; font-weight: 600; }
body[data-theme="v2"] .sarge-radar__val { fill: #C9A84C; font-weight: 700; }

/* Quick actions */
body[data-theme="v2"] .sarge-actions { display: flex; flex-direction: column; gap: 8px; }
body[data-theme="v2"] .sarge-actions__hint { font-size: 11px; color: #8A877E; margin-top: 4px; line-height: 1.5; }
body[data-theme="v2"] .sarge-btn {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 14px; font-weight: 500; padding: 10px 14px;
  border-radius: 9px; border: 1px solid #D9D5C8; background: #FFFFFF;
  color: #1A1815; cursor: pointer; transition: transform 200ms, box-shadow 200ms, border-color 200ms;
}
body[data-theme="v2"] .sarge-btn:hover { border-color: #C9A84C; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.06); }
body[data-theme="v2"] .sarge-btn--prim {
  background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #A68A3E 100%);
  color: #1A1815; border: none; font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
body[data-theme="v2"] .sarge-btn--prim:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(201,168,76,0.25); }

/* Certificates */
body[data-theme="v2"] .sarge-certs {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
}
body[data-theme="v2"] .sarge-cert {
  position: relative; padding: 12px 14px; border-radius: 11px;
  border: 1px solid #EAE7DD; background: #FAFAF7;
  display: flex; flex-direction: column; gap: 4px;
  transition: transform 200ms, box-shadow 200ms;
}
body[data-theme="v2"] .sarge-cert--earned {
  background: linear-gradient(135deg, rgba(201,168,76,0.10) 0%, rgba(201,168,76,0.02) 100%);
  border-color: rgba(201,168,76,0.30);
}
body[data-theme="v2"] .sarge-cert--earned::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(135deg, #E8C97A 0%, #C9A84C 50%, #A68A3E 100%);
}
body[data-theme="v2"] .sarge-cert--locked { opacity: 0.62; }
body[data-theme="v2"] .sarge-cert__name { font-family: 'Geist','Inter Tight',sans-serif; font-weight: 600; font-size: 13px; color: #1A1815; }
body[data-theme="v2"] .sarge-cert__desc { font-size: 11px; color: #5A574F; line-height: 1.35; }
body[data-theme="v2"] .sarge-cert__check {
  position: absolute; top: 8px; right: 10px;
  font-size: 12px; font-weight: 700; color: #0E9F6E;
}
body[data-theme="v2"] .sarge-cert__lock {
  position: absolute; top: 8px; right: 10px; font-size: 11px; opacity: 0.5;
}

/* Recent attempts */
body[data-theme="v2"] .sarge-attempts { display: flex; flex-direction: column; gap: 10px; max-height: 380px; overflow-y: auto; }
body[data-theme="v2"] .sarge-attempt {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-radius: 10px;
  padding: 10px 12px;
}
body[data-theme="v2"] .sarge-attempt__head {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px;
}
body[data-theme="v2"] .sarge-attempt__overall {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 13px; font-weight: 700; padding: 3px 9px; border-radius: 6px;
  background: #F1EDE2; color: #5A574F;
}
body[data-theme="v2"] .sarge-attempt__overall--high { background: rgba(14,159,110,0.14); color: #0E9F6E; }
body[data-theme="v2"] .sarge-attempt__overall--mid  { background: rgba(217,126,42,0.14); color: #D97E2A; }
body[data-theme="v2"] .sarge-attempt__overall--low  { background: rgba(220,74,71,0.14); color: #DC4A47; }
body[data-theme="v2"] .sarge-attempt__time { font-size: 11px; color: #8A877E; }
body[data-theme="v2"] .sarge-attempt__prompt {
  font-size: 12px; color: #5A574F; font-style: italic; margin-bottom: 4px;
}
body[data-theme="v2"] .sarge-attempt__feedback {
  font-size: 13px; color: #1A1815; line-height: 1.4;
}

/* Coach memos */
body[data-theme="v2"] .sarge-memos { display: flex; flex-direction: column; gap: 10px; max-height: 380px; overflow-y: auto; }
body[data-theme="v2"] .sarge-memo {
  border: 1px solid #EAE7DD; border-left-width: 3px; border-radius: 9px;
  padding: 10px 12px; background: #FAFAF7;
}
body[data-theme="v2"] .sarge-memo--passed { border-left-color: #0E9F6E; }
body[data-theme="v2"] .sarge-memo--miss   { border-left-color: #D97E2A; }
body[data-theme="v2"] .sarge-memo__when { font-size: 11px; color: #8A877E; margin-bottom: 4px; }
body[data-theme="v2"] .sarge-memo__one {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 13px; font-weight: 600; color: #1A1815; margin-bottom: 4px;
}
body[data-theme="v2"] .sarge-memo__body { font-size: 12px; color: #5A574F; line-height: 1.45; }

/* Ask Sarge */
body[data-theme="v2"] .sarge-ask__form { display: flex; gap: 8px; }
body[data-theme="v2"] .sarge-ask__form input {
  flex: 1; min-width: 0; font-family: 'Geist','Inter',sans-serif;
  font-size: 14px; padding: 10px 14px; border: 1px solid #D9D5C8;
  border-radius: 9px; background: #FFFFFF; color: #1A1815;
}
body[data-theme="v2"] .sarge-ask__form input:focus {
  outline: none; border-color: #C9A84C; box-shadow: 0 0 0 3px rgba(201,168,76,0.20);
}
body[data-theme="v2"] .sarge-ask__reply { margin-top: 12px; }
body[data-theme="v2"] .sarge-ask__pending {
  font-size: 13px; color: #8A877E; font-style: italic;
}
body[data-theme="v2"] .sarge-ask__msg {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-left: 3px solid #C9A84C;
  border-radius: 9px; padding: 12px 14px; font-size: 14px; color: #1A1815;
  line-height: 1.5; white-space: pre-wrap;
}
body[data-theme="v2"] .sarge-ask__err {
  background: rgba(220,74,71,0.06); border: 1px solid rgba(220,74,71,0.20);
  border-radius: 9px; padding: 10px 12px; font-size: 13px; color: #DC4A47;
}

/* ════════════════════════════════════════════════════════════════
   SARGE — Training Path
   ──────────────────────────────────────────────────────────────── */
body[data-theme="v2"] .sarge-path { margin-bottom: 16px; }
body[data-theme="v2"] .sarge-path__bar {
  height: 8px; background: #F1EDE2; border-radius: 999px; overflow: hidden;
  margin-bottom: 12px;
}
body[data-theme="v2"] .sarge-path__fill {
  height: 100%; background: linear-gradient(90deg, #C9A84C 0%, #B89636 100%);
  transition: width 320ms ease-out;
}
body[data-theme="v2"] .sarge-path__focus {
  background: linear-gradient(135deg, rgba(201,168,76,0.10) 0%, rgba(201,168,76,0.02) 100%);
  border: 1px solid rgba(201,168,76,0.28);
  border-radius: 11px; padding: 14px 16px; margin-bottom: 12px;
}
body[data-theme="v2"] .sarge-path__focus-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em;
  text-transform: uppercase; color: #9A7B26; margin-bottom: 4px;
}
body[data-theme="v2"] .sarge-path__focus-title {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 18px; font-weight: 600; color: #1A1815; margin-bottom: 4px;
  letter-spacing: -0.01em;
}
body[data-theme="v2"] .sarge-path__focus-meta {
  font-size: 12px; color: #5A574F; margin-bottom: 10px;
}
body[data-theme="v2"] .sarge-path__open { width: auto; }
body[data-theme="v2"] .sarge-path__done {
  text-align: center; padding: 16px; font-size: 14px; color: #0E9F6E;
  background: rgba(14,159,110,0.06); border: 1px solid rgba(14,159,110,0.20);
  border-radius: 10px; margin-bottom: 12px; font-weight: 500;
}

body[data-theme="v2"] .sarge-path__days { display: flex; flex-direction: column; gap: 6px; }
body[data-theme="v2"] .sarge-path__day {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-radius: 9px;
  padding: 0; overflow: hidden;
}
body[data-theme="v2"] .sarge-path__day--done {
  background: rgba(14,159,110,0.04); border-color: rgba(14,159,110,0.20);
}
body[data-theme="v2"] .sarge-path__day summary {
  list-style: none; padding: 10px 14px; cursor: pointer;
  display: flex; align-items: center; gap: 10px;
  font-family: 'Geist','Inter Tight',sans-serif;
  font-weight: 500; font-size: 14px; color: #1A1815;
}
body[data-theme="v2"] .sarge-path__day summary::-webkit-details-marker { display: none; }
body[data-theme="v2"] .sarge-path__day-num { font-weight: 700; }
body[data-theme="v2"] .sarge-path__day-stats {
  margin-left: auto; font-size: 12px; color: #8A877E; font-weight: 500;
}
body[data-theme="v2"] .sarge-path__day-check { color: #0E9F6E; font-weight: 700; }

body[data-theme="v2"] .sarge-path__lessons {
  list-style: none; padding: 0 14px 12px; margin: 0;
  display: flex; flex-direction: column; gap: 4px;
}
body[data-theme="v2"] .sarge-path__lesson { background: transparent; }
body[data-theme="v2"] .sarge-path__lesson-btn {
  width: 100%; text-align: left; padding: 8px 12px; border-radius: 7px;
  background: #FFFFFF; border: 1px solid #EAE7DD; cursor: pointer;
  display: grid; grid-template-columns: 24px 1fr auto auto; gap: 10px;
  align-items: center; transition: all 200ms;
  font-family: inherit;
}
body[data-theme="v2"] .sarge-path__lesson-btn:hover {
  border-color: #C9A84C; transform: translateX(2px);
}
body[data-theme="v2"] .sarge-path__lesson-status { font-size: 14px; color: #8A877E; font-weight: 700; }
body[data-theme="v2"] .sarge-path__lesson--passed .sarge-path__lesson-status { color: #0E9F6E; }
body[data-theme="v2"] .sarge-path__lesson--failed .sarge-path__lesson-status { color: #DC4A47; }
body[data-theme="v2"] .sarge-path__lesson-title {
  font-size: 13px; color: #1A1815; font-weight: 500;
}
body[data-theme="v2"] .sarge-path__lesson-type {
  font-size: 10px; color: #8A877E; padding: 2px 7px;
  background: #F1EDE2; border-radius: 5px; text-transform: uppercase;
  letter-spacing: 0.04em; font-weight: 600;
}
body[data-theme="v2"] .sarge-path__lesson-mins { font-size: 11px; color: #8A877E; }

/* Lesson viewer */
body[data-theme="v2"] .sarge-lesson-viewer { margin-top: 16px; }
body[data-theme="v2"] .sarge-lesson {
  background: #FFFFFF; border: 1px solid #C9A84C; border-radius: 12px;
  padding: 18px 22px; box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
body[data-theme="v2"] .sarge-lesson__head {
  display: flex; justify-content: space-between; align-items: flex-start;
  border-bottom: 1px solid #F1EDE2; padding-bottom: 12px; margin-bottom: 16px;
}
body[data-theme="v2"] .sarge-lesson__day {
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em;
  text-transform: uppercase; color: #9A7B26; margin-bottom: 2px;
}
body[data-theme="v2"] .sarge-lesson__title {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 22px; font-weight: 700; color: #1A1815; letter-spacing: -0.02em;
}
body[data-theme="v2"] .sarge-lesson__md { line-height: 1.65; color: #1A1815; }
body[data-theme="v2"] .sarge-lesson__video {
  width: 100%; aspect-ratio: 16/9; border: none; border-radius: 9px;
  margin-bottom: 14px;
}
body[data-theme="v2"] .sarge-lesson__pending {
  background: #FAFAF7; padding: 24px; text-align: center;
  border-radius: 9px; color: #8A877E; margin-bottom: 14px; font-style: italic;
}
body[data-theme="v2"] .sarge-lesson__actions {
  border-top: 1px solid #F1EDE2; padding-top: 14px; margin-top: 14px;
  display: flex; gap: 8px;
}

body[data-theme="v2"] .sarge-md__h2 {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 22px; font-weight: 700; color: #1A1815;
  margin: 18px 0 8px; letter-spacing: -0.02em;
}
body[data-theme="v2"] .sarge-md__h3 {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 17px; font-weight: 600; color: #1A1815;
  margin: 16px 0 6px; letter-spacing: -0.01em;
}
body[data-theme="v2"] .sarge-md__h4 {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 15px; font-weight: 600; color: #5A574F;
  margin: 14px 0 4px; text-transform: uppercase; letter-spacing: 0.04em;
}
body[data-theme="v2"] .sarge-md__p { margin: 8px 0; }
body[data-theme="v2"] .sarge-md__ul,
body[data-theme="v2"] .sarge-md__ol { margin: 8px 0 8px 22px; padding: 0; }
body[data-theme="v2"] .sarge-md__ul li,
body[data-theme="v2"] .sarge-md__ol li { margin: 3px 0; }
body[data-theme="v2"] .sarge-md__inline {
  background: #F1EDE2; padding: 1px 6px; border-radius: 4px;
  font-family: 'Geist Mono','JetBrains Mono',monospace; font-size: 0.92em;
}
body[data-theme="v2"] .sarge-md__code {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-radius: 8px;
  padding: 12px 14px; overflow-x: auto;
  font-family: 'Geist Mono','JetBrains Mono',monospace; font-size: 13px;
  margin: 10px 0;
}

/* Quiz */
body[data-theme="v2"] .sarge-lesson__quiz { display: flex; flex-direction: column; gap: 14px; }
body[data-theme="v2"] .sarge-quiz__q {
  background: #FAFAF7; border: 1px solid #EAE7DD; border-radius: 9px;
  padding: 12px 14px;
}
body[data-theme="v2"] .sarge-quiz__qtext {
  font-weight: 600; color: #1A1815; margin-bottom: 8px;
}
body[data-theme="v2"] .sarge-quiz__choices { display: flex; flex-direction: column; gap: 4px; }
body[data-theme="v2"] .sarge-quiz__choice {
  display: flex; align-items: flex-start; gap: 8px; padding: 6px 8px;
  border-radius: 6px; cursor: pointer; transition: background 160ms;
}
body[data-theme="v2"] .sarge-quiz__choice:hover { background: #F1EDE2; }
body[data-theme="v2"] .sarge-quiz__result {
  margin-top: 14px; padding: 14px 16px; border-radius: 10px;
  border: 1px solid;
}
body[data-theme="v2"] .sarge-quiz__result--pass {
  background: rgba(14,159,110,0.06); border-color: rgba(14,159,110,0.30);
}
body[data-theme="v2"] .sarge-quiz__result--fail {
  background: rgba(217,126,42,0.06); border-color: rgba(217,126,42,0.30);
}
body[data-theme="v2"] .sarge-quiz__score {
  font-family: 'Geist','Inter Tight',sans-serif;
  font-size: 18px; font-weight: 700; margin-bottom: 10px;
}
body[data-theme="v2"] .sarge-quiz__detail {
  font-size: 13px; padding: 6px 0; border-bottom: 1px dashed #EAE7DD;
}
body[data-theme="v2"] .sarge-quiz__detail:last-child { border-bottom: none; }
body[data-theme="v2"] .sarge-quiz__detail--miss { color: #5A574F; }
body[data-theme="v2"] .sarge-quiz__explain {
  color: #5A574F; font-style: italic; font-size: 12px;
}

/* ══════════ End ═════════════════════════════════════════════════ */
