/*
  console.css — Living Console shared chrome
  Shared by portal.html (authenticated) and snapshot-console.html (passwordless).
  Phase B shell: topbar, hero band, memory rail, funnel spine, main-grid skeleton,
  activation band frame, footer microcopy. No per-state content bodies.

  Inter Variable self-hosted contract (Phase B):
  Place the following files in /public/fonts/ before deployment:
    InterVariable.woff2        (variable font, full range)
    InterVariable-Italic.woff2 (variable italic, full range)
  Source: https://github.com/rsms/inter/releases (InterVariable.ttf subset exported
  to woff2, or the official woff2 files from the Inter release package).
  No Google Fonts CDN request is permitted; all font requests must resolve to /public/fonts/.
*/

@font-face {
  font-family: 'Inter Variable';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: local('Inter Variable'),
       url('/public/fonts/InterVariable.woff2') format('woff2');
}

@font-face {
  font-family: 'Inter Variable';
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: local('Inter Variable Italic'),
       url('/public/fonts/InterVariable-Italic.woff2') format('woff2');
}

/* ─── Design tokens (Snapshot Visual System Brief / v8 :root) ─── */
:root {
  --console-navy:       #09233f;
  --console-deep-blue:  #1f6f9e;
  --console-sky:        #c7e9f5;
  --console-teal:       #0f8f83;
  --console-gold:       #f5b84b;
  --console-ink:        #14202e;
  --console-muted:      #617080;
  --console-paper:      #f6f8f5;
  --console-divider:    #d9e2df;
  --console-card:       #f9fbfb;
  --console-white:      #ffffff;

  --console-font:       'Inter Variable', 'Inter', system-ui, -apple-system, sans-serif;

  --console-radius-sm:  4px;
  --console-radius-md:  8px;
  --console-radius-lg:  12px;
  --console-radius-pill: 999px;

  --console-shadow-sm:  0 1px 3px rgba(9,35,63,0.08), 0 1px 2px rgba(9,35,63,0.05);
  --console-shadow-md:  0 4px 16px rgba(9,35,63,0.12), 0 2px 6px rgba(9,35,63,0.07);
  --console-shadow-lg:  0 8px 32px rgba(9,35,63,0.18), 0 3px 10px rgba(9,35,63,0.09);

  --console-pill-h:     28px;
  --console-topbar-h:   60px;
  --console-spine-h:    52px;
}

/* ─── Reset scope ─── */
.lc-shell *, .lc-shell *::before, .lc-shell *::after {
  box-sizing: border-box;
}

/* ─── Shell root ─── */
.lc-shell {
  font-family: var(--console-font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--console-ink);
  background: var(--console-paper);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* ══════════════════════════════════════════════════════════
   TOPBAR
   ══════════════════════════════════════════════════════════ */
.lc-topbar {
  background: var(--console-navy);
  height: var(--console-topbar-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28px;
  position: sticky;
  top: 0;
  z-index: 200;
  flex-shrink: 0;
  gap: 16px;
}

.lc-topbar__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.lc-topbar__wordmark {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--console-white);
}

.lc-topbar__divider {
  color: rgba(255,255,255,0.25);
  font-weight: 300;
  font-size: 15px;
  margin: 0 2px;
}

.lc-topbar__product {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-sky);
}

.lc-topbar__domain {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.8);
  letter-spacing: 0.02em;
  text-align: center;
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lc-topbar__right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

/* Status pill */
.lc-status-pill {
  display: inline-flex;
  align-items: center;
  height: var(--console-pill-h);
  padding: 0 12px;
  border-radius: var(--console-radius-pill);
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: opacity 0.2s;
}

.lc-status-pill--snapshot   { background: rgba(199,233,245,0.18); color: var(--console-sky); border: 1px solid rgba(199,233,245,0.35); }
.lc-status-pill--analysis   { background: rgba(245,184,75,0.18);  color: var(--console-gold); border: 1px solid rgba(245,184,75,0.35); }
.lc-status-pill--report     { background: rgba(15,143,131,0.22);  color: #5ee8d8; border: 1px solid rgba(15,143,131,0.4); }
.lc-status-pill--checkout   { background: rgba(199,233,245,0.12); color: rgba(199,233,245,0.7); border: 1px solid rgba(199,233,245,0.2); }
.lc-status-pill--active     { background: rgba(15,143,131,0.28);  color: #5ee8d8; border: 1px solid rgba(15,143,131,0.5); }
.lc-status-pill--inactive   { background: rgba(97,112,128,0.2);   color: #a8bcc8; border: 1px solid rgba(97,112,128,0.35); }

/* ══════════════════════════════════════════════════════════
   HERO BAND
   ══════════════════════════════════════════════════════════ */
.lc-hero {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 50%, var(--console-teal) 100%);
  position: relative;
  overflow: hidden;
  padding: 56px 28px 48px;
}

.lc-hero__terrain {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.12;
}

.lc-hero__terrain svg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lc-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
}

.lc-hero__eyebrow {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 12px;
}

.lc-hero__headline {
  font-family: var(--console-font);
  font-size: clamp(28px, 4vw, 42px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--console-white);
  margin-bottom: 16px;
}

.lc-hero__copy {
  font-family: var(--console-font);
  font-size: 16px;
  font-weight: 450;
  line-height: 1.7;
  color: rgba(255,255,255,0.78);
  max-width: 560px;
  margin-bottom: 28px;
}

.lc-hero__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 28px;
}

/* Hero CTA buttons */
.lc-btn-hero-primary {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 24px;
  border-radius: var(--console-radius-md);
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.04em;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.lc-btn-hero-primary:hover { background: #0da899; transform: translateY(-1px); }

.lc-btn-hero-secondary {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 20px;
  border-radius: var(--console-radius-md);
  background: transparent;
  color: rgba(255,255,255,0.85);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-decoration: none;
  border: 1px solid rgba(255,255,255,0.3);
  cursor: pointer;
  transition: border-color 0.15s, color 0.15s;
}
.lc-btn-hero-secondary:hover { border-color: rgba(255,255,255,0.6); color: var(--console-white); }

/* Micro-proof strip */
.lc-hero__proof {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  align-items: center;
  border-top: 1px solid rgba(255,255,255,0.12);
  padding-top: 20px;
}

.lc-hero__proof-item {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: rgba(255,255,255,0.6);
  letter-spacing: 0.03em;
}

.lc-hero__proof-item strong {
  color: rgba(255,255,255,0.9);
  font-weight: 750;
}

/* ══════════════════════════════════════════════════════════
   MARKET MEMORY RAIL
   ══════════════════════════════════════════════════════════ */
.lc-memory-rail {
  background: var(--console-navy);
  border-top: 1px solid rgba(255,255,255,0.07);
  border-bottom: 1px solid rgba(255,255,255,0.07);
  overflow: hidden;
  position: relative;
  height: 44px;
  display: flex;
  align-items: center;
}

.lc-memory-rail__label {
  flex-shrink: 0;
  padding: 0 16px 0 20px;
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(199,233,245,0.5);
  border-right: 1px solid rgba(255,255,255,0.1);
  white-space: nowrap;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1px;
  line-height: 1.05;
}

.lc-memory-rail__track {
  flex: 1;
  overflow: hidden;
  position: relative;
}

.lc-memory-rail__inner {
  display: flex;
  gap: 0;
  align-items: center;
  animation: lc-scroll-rail 15s linear infinite;
  white-space: nowrap;
}

@keyframes lc-scroll-rail {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.lc-memory-rail__message {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 28px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: rgba(199,233,245,0.7);
  letter-spacing: 0.02em;
  border-right: 1px solid rgba(255,255,255,0.08);
  height: 44px;
}

.lc-memory-rail__message::before {
  content: '●';
  font-size: 6px;
  color: var(--console-teal);
  opacity: 0.8;
}

/* ══════════════════════════════════════════════════════════
   FUNNEL SPINE (ux-spine — four stages)
   ══════════════════════════════════════════════════════════ */
.lc-spine {
  background: var(--console-white);
  border-bottom: 1px solid var(--console-divider);
  position: sticky;
  top: var(--console-topbar-h);
  z-index: 150;
}

.lc-spine__inner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: stretch;
  height: var(--console-spine-h);
  overflow-x: auto;
  scrollbar-width: none;
}

.lc-spine__inner::-webkit-scrollbar { display: none; }

.lc-spine__stage {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 24px;
  border-right: 1px solid var(--console-divider);
  flex-shrink: 0;
  cursor: default;
  position: relative;
  transition: background 0.15s;
}

.lc-spine__stage:last-child { border-right: none; }

.lc-spine__stage--active {
  background: rgba(15,143,131,0.06);
}

.lc-spine__stage--active::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--console-teal);
}

.lc-spine__num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 750;
  flex-shrink: 0;
}

.lc-spine__stage--done .lc-spine__num {
  background: var(--console-teal);
  color: var(--console-white);
}

.lc-spine__stage--active .lc-spine__num {
  background: var(--console-teal);
  color: var(--console-white);
}

.lc-spine__stage--locked .lc-spine__num {
  background: var(--console-divider);
  color: var(--console-muted);
}

.lc-spine__stage-text {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.lc-spine__stage-label {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--console-ink);
}

.lc-spine__stage--locked .lc-spine__stage-label {
  color: var(--console-muted);
}

.lc-spine__stage--active .lc-spine__stage-label {
  color: var(--console-teal);
}

.lc-spine__stage-sub {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 500;
  color: var(--console-muted);
  letter-spacing: 0.03em;
}

/* ══════════════════════════════════════════════════════════
   MAIN GRID (two-column layout skeleton)
   ══════════════════════════════════════════════════════════ */
.lc-main {
  flex: 1;
  max-width: 1500px;
  width: 100%;
  margin: 0 auto;
  padding: 32px 28px 80px;
  display: grid;
  grid-template-columns: 1fr 320px;
  grid-template-rows: auto;
  gap: 24px;
  align-items: start;
}

.lc-content-panel {
  min-width: 0;
}

.lc-side-rail {
  position: sticky;
  top: calc(var(--console-topbar-h) + var(--console-spine-h) + 24px);
}

/* Skeleton container labels */
.lc-region-label {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--console-muted);
  padding: 16px 20px 12px;
  border-bottom: 1px dashed var(--console-divider);
  background: var(--console-card);
  border-radius: var(--console-radius-md) var(--console-radius-md) 0 0;
  display: block;
}

.lc-region-body {
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  min-height: 200px;
  overflow: hidden;
}

.lc-region-body .lc-region-label {
  border-radius: 0;
}

.lc-region-placeholder {
  padding: 40px 20px;
  text-align: center;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: var(--console-muted);
  letter-spacing: 0.04em;
}

/* ══════════════════════════════════════════════════════════
   ACTIVATION BAND FRAME
   ══════════════════════════════════════════════════════════ */
.lc-activation-band {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 100%);
  border-radius: var(--console-radius-lg);
  padding: 36px 32px;
  margin-bottom: 24px;
  border: 1px solid rgba(15,143,131,0.25);
}

.lc-activation-band__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 10px;
}

.lc-activation-band__headline {
  font-family: var(--console-font);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--console-white);
  margin-bottom: 10px;
}

.lc-activation-band__copy {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 450;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  max-width: 480px;
  margin-bottom: 24px;
}

.lc-activation-band__actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

/* ══════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════ */
.lc-footer {
  background: var(--console-white);
  border-top: 1px solid var(--console-divider);
  padding: 20px 28px;
  text-align: center;
}

.lc-footer__microcopy {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: var(--console-muted);
  letter-spacing: 0.02em;
}

/* ══════════════════════════════════════════════════════════
   LOADING / ERROR STATES
   ══════════════════════════════════════════════════════════ */
.lc-shell[data-state="loading"] .lc-spine,
.lc-shell[data-state="loading"] .lc-main {
  opacity: 0.4;
  pointer-events: none;
}

.lc-loading-overlay {
  position: fixed;
  inset: 0;
  background: rgba(9,35,63,0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 500;
  backdrop-filter: blur(3px);
}

.lc-loading-overlay__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.lc-loading-overlay__spinner {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 3px solid rgba(199,233,245,0.2);
  border-top-color: var(--console-sky);
  animation: lc-spin 0.8s linear infinite;
}

@keyframes lc-spin {
  to { transform: rotate(360deg); }
}

.lc-loading-overlay__text {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.7);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.lc-error-band {
  background: rgba(255,80,60,0.1);
  border: 1px solid rgba(255,80,60,0.25);
  border-radius: var(--console-radius-md);
  padding: 20px 24px;
  margin: 24px 28px;
}

.lc-error-band__text {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: #e05050;
}

/* ══════════════════════════════════════════════════════════
   MOBILE
   ══════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .lc-topbar {
    padding: 0 16px;
    height: 52px;
  }

  .lc-topbar__domain {
    display: none;
  }

  .lc-hero {
    padding: 36px 16px 32px;
  }

  /* Spine collapses to scrollable top drawer behavior */
  .lc-spine {
    top: 52px;
  }

  .lc-spine__inner {
    height: 44px;
    padding: 0 8px;
  }

  .lc-spine__stage {
    padding: 0 14px;
  }

  .lc-spine__stage-sub {
    display: none;
  }

  /* Single column at narrow width */
  .lc-main {
    grid-template-columns: 1fr;
    padding: 20px 16px 120px;
    gap: 16px;
  }

  /* Right rail collapses to expandable Next move card */
  .lc-side-rail {
    position: static;
  }

  /* Primary CTA as sticky bottom pill at mobile */
  .lc-mobile-cta-pill {
    display: flex;
  }
}

@media (min-width: 769px) {
  .lc-mobile-cta-pill {
    display: none;
  }
}

/* Sticky bottom CTA pill (mobile only) */
.lc-mobile-cta-pill {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 180;
  background: var(--console-teal);
  color: var(--console-white);
  height: 48px;
  padding: 0 28px;
  border-radius: var(--console-radius-pill);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  box-shadow: var(--console-shadow-lg);
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  transition: background 0.15s;
}

.lc-mobile-cta-pill:hover { background: #0da899; }

/* Side rail expandable Next move card (mobile) */
.lc-next-move-card {
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
}

.lc-next-move-card__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-ink);
  background: none;
  border: none;
  cursor: pointer;
  border-bottom: 1px solid var(--console-divider);
}

.lc-next-move-card__toggle[aria-expanded="false"] + .lc-next-move-card__body {
  display: none;
}

.lc-next-move-card__body {
  padding: 16px;
}

/* ══════════════════════════════════════════════════════════
   SECTION C — Snapshot panel embed
   ══════════════════════════════════════════════════════════ */
.lc-snapshot-frame {
  width: 100%;
  border: none;
  display: block;
  border-radius: var(--console-radius-md);
}

.lc-snapshot-loading {
  padding: 48px 24px;
  text-align: center;
  font-family: var(--console-font);
  font-size: 13px;
  color: var(--console-muted);
  letter-spacing: 0.04em;
}

/* ══════════════════════════════════════════════════════════
   SECTION C — Right rail CTA card
   ══════════════════════════════════════════════════════════ */
.lc-rail-cta-card {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 100%);
  border: 1px solid rgba(15,143,131,0.3);
  border-radius: var(--console-radius-md);
  padding: 24px 20px;
}

.lc-rail-cta-card__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 10px;
}

.lc-rail-cta-card__headline {
  font-family: var(--console-font);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-white);
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}

.lc-rail-cta-card__copy {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
  margin-bottom: 18px;
}

.lc-rail-cta-card__btn {
  display: block;
  width: 100%;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 12px 16px;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}

.lc-rail-cta-card__btn:hover { background: #0da899; }

/* ══════════════════════════════════════════════════════════
   SECTION D — Intake form
   ══════════════════════════════════════════════════════════ */
.lc-intake-panel {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  padding: 32px 28px;
}

.lc-intake-panel__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-muted);
  margin-bottom: 10px;
}

.lc-intake-panel__headline {
  font-family: var(--console-font);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  color: var(--console-navy);
  margin-bottom: 8px;
  letter-spacing: -0.015em;
}

.lc-intake-panel__copy {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.65;
  margin-bottom: 28px;
  max-width: 480px;
}

.lc-intake-field {
  margin-bottom: 16px;
}

.lc-intake-field label {
  display: block;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-ink);
  margin-bottom: 6px;
}

.lc-intake-field input {
  width: 100%;
  padding: 11px 14px;
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 450;
  background: var(--console-paper);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  color: var(--console-ink);
  outline: none;
  transition: border-color 0.15s;
}

.lc-intake-field input:focus {
  border-color: var(--console-teal);
}

.lc-intake-field input::placeholder {
  color: var(--console-muted);
}

.lc-intake-submit {
  display: inline-flex;
  align-items: center;
  height: 46px;
  padding: 0 28px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  margin-top: 8px;
  transition: background 0.15s;
}

.lc-intake-submit:hover { background: #0da899; }
.lc-intake-submit:disabled { opacity: 0.55; cursor: not-allowed; }

.lc-intake-error {
  margin-top: 12px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: #e05050;
  min-height: 18px;
}

.lc-analysis-started {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  padding: 48px 32px;
  text-align: center;
}

.lc-analysis-started__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(15,143,131,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 22px;
}

.lc-analysis-started__headline {
  font-family: var(--console-font);
  font-size: 20px;
  font-weight: 900;
  color: var(--console-navy);
  margin-bottom: 10px;
  letter-spacing: -0.01em;
}

.lc-analysis-started__copy {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.7;
  max-width: 380px;
  margin: 0 auto 28px;
}

.lc-analysis-started__btn {
  display: inline-flex;
  align-items: center;
  height: 46px;
  padding: 0 28px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  transition: background 0.15s;
}

.lc-analysis-started__btn:hover { background: #0da899; }

/* ══════════════════════════════════════════════════════════
   SECTION E — Complimentary report panel
   ══════════════════════════════════════════════════════════ */
.lc-report-embed {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
  margin-bottom: 20px;
}

.lc-report-embed__inner {
  padding: 0;
}

.lc-report-iframe {
  width: 100%;
  border: none;
  display: block;
}

.lc-locked-grid {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
  margin-bottom: 20px;
}

.lc-locked-grid__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  border-bottom: 1px solid var(--console-divider);
  background: var(--console-card);
}

.lc-locked-grid__label {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-muted);
}

.lc-locked-grid__lock-note {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
  display: flex;
  align-items: center;
  gap: 5px;
}

.lc-locked-grid__table {
  width: 100%;
  border-collapse: collapse;
}

.lc-locked-grid__table thead th {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-muted);
  padding: 10px 16px;
  text-align: left;
  border-bottom: 1px solid var(--console-divider);
  background: var(--console-card);
}

.lc-locked-grid__table tbody td {
  padding: 10px 16px;
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-ink);
  border-bottom: 1px solid var(--console-divider);
  vertical-align: middle;
}

.lc-locked-grid__table tbody tr:last-child td {
  border-bottom: none;
}

.lc-locked-grid__table td.lc-locked-cell {
  color: var(--console-muted);
  font-style: italic;
  filter: blur(3.5px);
  user-select: none;
  pointer-events: none;
}

.lc-movement-preview {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
  margin-bottom: 20px;
}

.lc-movement-preview__header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--console-divider);
  background: var(--console-card);
}

.lc-movement-preview__label {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-muted);
}

.lc-movement-preview__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--console-teal);
}

.lc-movement-preview__body {
  padding: 16px 20px;
}

.lc-movement-item {
  padding: 10px 0;
  border-bottom: 1px solid var(--console-divider);
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.lc-movement-item:last-child {
  border-bottom: none;
}

.lc-movement-item__tag {
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--console-muted);
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-sm);
  padding: 3px 7px;
  white-space: nowrap;
  flex-shrink: 0;
  margin-top: 2px;
}

.lc-movement-item__text {
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-ink);
  line-height: 1.5;
}

.lc-movement-watch {
  padding: 14px 20px;
  background: var(--console-card);
  border-top: 1px solid var(--console-divider);
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
  line-height: 1.6;
}

.lc-build-cta {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 100%);
  border: 1px solid rgba(15,143,131,0.3);
  border-radius: var(--console-radius-md);
  padding: 28px 24px;
  text-align: center;
  margin-bottom: 20px;
}

.lc-build-cta__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 10px;
}

.lc-build-cta__headline {
  font-family: var(--console-font);
  font-size: 18px;
  font-weight: 900;
  color: var(--console-white);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
  line-height: 1.25;
}

.lc-build-cta__copy {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
  margin-bottom: 20px;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}

.lc-build-cta__btn {
  display: inline-flex;
  align-items: center;
  height: 44px;
  padding: 0 24px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  transition: background 0.15s;
}

.lc-build-cta__btn:hover { background: #0da899; }

/* ══════════════════════════════════════════════════════════
   REPORT GRID (complimentary_report_ready three-column layout)
   ══════════════════════════════════════════════════════════ */
.lc-main--report-grid {
  grid-template-columns: 260px 1fr 240px;
}

.lc-main--report-grid .lc-content-panel {
  min-width: 320px;
}

@media (max-width: 960px) {
  .lc-main--report-grid {
    grid-template-columns: 210px 1fr;
  }

  .lc-main--report-grid .lc-side-rail {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 768px) {
  .lc-main--report-grid {
    grid-template-columns: 1fr;
  }

  .lc-main--report-grid .lc-content-panel {
    min-width: 0;
  }
}

/* ══════════════════════════════════════════════════════════
   SECTION CATEGORY NAVIGATOR (complimentary_report_ready only)
   ══════════════════════════════════════════════════════════ */
.lc-snav-cat-rail {
  position: sticky;
  top: calc(var(--console-topbar-h) + var(--console-spine-h) + 24px);
  align-self: start;
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: visible;
  padding: 8px 0 10px;
}

.lc-snav-cat-item {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
  padding: 9px 14px;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 600;
  color: var(--console-ink);
  background: none;
  border: none;
  border-left: 3px solid transparent;
  cursor: pointer;
  text-align: left;
  transition: background 0.1s, color 0.1s, border-color 0.1s;
}

.lc-snav-cat-item:hover {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

.lc-snav-cat-item--active {
  background: rgba(15,143,131,0.08);
  border-left-color: var(--console-teal);
  color: var(--console-teal);
}

.lc-snav-cat-label {
  flex: 1;
  min-width: 0;
  white-space: normal;
  line-height: 1.3;
}

.lc-snav-cat-arrow {
  font-size: 14px;
  color: var(--console-muted);
  flex-shrink: 0;
  margin-top: 1px;
}

.lc-snav-cat-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
}

.lc-snav-cat-dot--locked {
  background: var(--console-divider);
  border: 1px solid var(--console-muted);
}

.lc-snav-cat-divider {
  height: 1px;
  background: var(--console-divider);
  margin: 6px 14px;
}

.lc-snav-cat-groups {
  position: relative;
}

.lc-snav-cat-scroll-wrap {
  display: contents;
}

.lc-snav-cat-scroll-track {
  display: contents;
}

.lc-snav-cat-divider--rail-sep {
  display: none;
}

.lc-snav-flyout {
  position: absolute;
  left: calc(100% + 4px);
  top: 0;
  width: 220px;
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  box-shadow: var(--console-shadow-md);
  z-index: 300;
  padding: 6px 0;
}

.lc-snav-flyout[hidden] {
  display: none;
}

.lc-snav-flyout-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  padding: 9px 16px;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-ink);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  line-height: 1.45;
  transition: background 0.1s, color 0.1s;
}

.lc-snav-flyout-item:hover {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

.lc-snav-flyout-item--locked {
  color: var(--console-muted);
}

.lc-snav-flyout-item--locked:hover {
  background: transparent;
  color: var(--console-muted);
}

.lc-snav-lock {
  flex-shrink: 0;
  margin-top: 1px;
  opacity: 0.5;
  color: var(--console-muted);
}

.lc-snav-panel-body {
  min-height: 300px;
}

.lc-section-content-wrap {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
}

.lc-section-iframe {
  width: 100%;
  border: none;
  display: block;
}

.lc-snav-sample-banner {
  padding: 12px 20px;
  background: rgba(15,143,131,0.06);
  border-left: 4px solid var(--console-teal);
  border-bottom: 1px solid var(--console-divider);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: var(--console-ink);
  line-height: 1.5;
}

.lc-snav-mobile-trigger {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 16px;
  height: 44px;
  background: var(--console-white);
  border: none;
  border-top: 1px solid var(--console-divider);
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-ink);
  grid-column: 1 / -1;
  margin: 0 -16px;
  flex-shrink: 0;
}

@media (max-width: 768px) {
  .lc-snav-cat-rail {
    display: none;
  }

  .lc-snav-mobile-trigger {
    display: flex;
  }
}

@media (min-width: 769px) {
  .lc-snav-mobile-trigger {
    display: none;
  }
}

.lc-snav-mobile-trigger:hover {
  background: rgba(15,143,131,0.04);
}

.lc-snav-mobile-trigger__left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.lc-snav-mobile-trigger__icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: var(--console-teal);
}

.lc-snav-mobile-trigger__section {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--console-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}

.lc-snav-mobile-trigger__chevron {
  flex-shrink: 0;
  color: var(--console-muted);
  font-size: 14px;
}

.lc-snav-mobile-overlay-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(9,35,63,0.55);
  z-index: 320;
}

.lc-snav-mobile-overlay-backdrop--open {
  display: block;
}

.lc-snav-mobile-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 330;
  flex-direction: column;
  background: var(--console-paper);
  overflow: hidden;
}

.lc-snav-mobile-overlay--open {
  display: flex;
}

.lc-snav-mobile-overlay__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  height: 52px;
  background: var(--console-navy);
  flex-shrink: 0;
  gap: 12px;
}

.lc-snav-mobile-overlay__title {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--console-white);
}

.lc-snav-mobile-overlay__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  background: rgba(255,255,255,0.1);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--console-radius-sm);
  cursor: pointer;
  color: var(--console-white);
  font-size: 18px;
  line-height: 1;
  padding: 0;
  flex-shrink: 0;
  transition: background 0.15s;
}

.lc-snav-mobile-overlay__close:hover {
  background: rgba(255,255,255,0.18);
}

.lc-snav-mobile-overlay__body {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0 0;
}

.lc-snav-mobile-overlay__footer {
  flex-shrink: 0;
  padding: 10px 16px 16px;
  background: var(--console-white);
  border-top: 1px solid var(--console-divider);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.lc-snav-mobile-row {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 16px;
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--console-ink);
  background: none;
  border: none;
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  text-align: left;
  transition: background 0.1s;
}

.lc-snav-mobile-row:hover {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

.lc-snav-mobile-row--active {
  background: rgba(15,143,131,0.08);
  color: var(--console-teal);
}

.lc-snav-mobile-row__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
}

.lc-snav-mobile-row__dot--locked {
  background: var(--console-divider);
  border: 1px solid var(--console-muted);
}

.lc-snav-mobile-row__label {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lc-snav-mobile-row__arrow {
  font-size: 14px;
  color: var(--console-muted);
  flex-shrink: 0;
  transition: transform 0.15s;
}

.lc-snav-mobile-row--expanded .lc-snav-mobile-row__arrow {
  transform: rotate(90deg);
}

.lc-snav-mobile-section-group {
  border-bottom: 1px solid var(--console-divider);
}

.lc-snav-mobile-section-group__header {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 16px;
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--console-ink);
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.1s;
}

.lc-snav-mobile-section-group__header:hover {
  background: rgba(15,143,131,0.04);
}

.lc-snav-mobile-section-group__header--expanded {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

.lc-snav-mobile-section-group__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
}

.lc-snav-mobile-section-group__label {
  flex: 1;
  min-width: 0;
}

.lc-snav-mobile-section-group__arrow {
  font-size: 14px;
  color: var(--console-muted);
  flex-shrink: 0;
  transition: transform 0.15s;
}

.lc-snav-mobile-section-group__header--expanded .lc-snav-mobile-section-group__arrow {
  transform: rotate(90deg);
}

.lc-snav-mobile-section-group__items {
  display: none;
  background: var(--console-card);
  border-top: 1px solid var(--console-divider);
}

.lc-snav-mobile-section-group__items--open {
  display: block;
}

.lc-snav-mobile-section-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 11px 16px 11px 32px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  color: var(--console-ink);
  background: none;
  border: none;
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  text-align: left;
  transition: background 0.1s, color 0.1s;
  line-height: 1.45;
}

.lc-snav-mobile-section-item:last-child {
  border-bottom: none;
}

.lc-snav-mobile-section-item:hover {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

.lc-snav-mobile-section-item--locked {
  color: var(--console-muted);
}

.lc-snav-mobile-section-item--locked:hover {
  background: transparent;
  color: var(--console-muted);
}

.lc-snav-mobile-divider {
  height: 1px;
  background: var(--console-divider);
  margin: 4px 0;
}

/* ══════════════════════════════════════════════════════════
   ACTIVATION CHECKOUT STATE
   ══════════════════════════════════════════════════════════ */
.lc-checkout-panel {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
  margin-bottom: 24px;
}

.lc-checkout-panel__header {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 100%);
  padding: 28px 28px 24px;
  border-bottom: 1px solid rgba(15,143,131,0.25);
}

.lc-checkout-panel__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 10px;
}

.lc-checkout-panel__headline {
  font-family: var(--console-font);
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--console-white);
  margin-bottom: 10px;
}

.lc-checkout-panel__copy {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 450;
  color: rgba(255,255,255,0.72);
  line-height: 1.65;
  max-width: 520px;
}

.lc-checkout-panel__body {
  padding: 28px 28px;
}

.lc-checkout-what-you-get {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-muted);
  margin-bottom: 14px;
}

.lc-checkout-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--console-divider);
}

.lc-checkout-item:last-of-type {
  border-bottom: none;
  margin-bottom: 24px;
}

.lc-checkout-item__check {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(15,143,131,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--console-teal);
  font-size: 10px;
  font-weight: 750;
}

.lc-checkout-item__text {
  font-family: var(--console-font);
  font-size: 13px;
  color: var(--console-ink);
  line-height: 1.55;
}

.lc-checkout-item__text strong {
  font-weight: 700;
  color: var(--console-navy);
}

.lc-checkout-cta-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.lc-checkout-stub-note {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
  text-align: center;
  padding: 8px 0 0;
}

.lc-checkout-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 28px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  transition: background 0.15s;
  width: 100%;
}

.lc-checkout-btn:hover { background: #0da899; }
.lc-checkout-btn[disabled] { opacity: 0.55; cursor: not-allowed; }

/* ══════════════════════════════════════════════════════════
   REPORT RAIL FOOTER CONTROLS (complimentary_report_ready only)
   ══════════════════════════════════════════════════════════ */
.lc-snav-rail-footer {
  padding: 10px 10px 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lc-snav-rail-action {
  display: block;
  width: 100%;
  padding: 9px 12px;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  border-radius: var(--console-radius-sm);
  cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
  background: var(--console-teal);
  color: var(--console-white);
  border: 1.5px solid var(--console-teal);
}

.lc-snav-rail-action:hover {
  background: #0da899;
  border-color: #0da899;
}

.lc-snav-rail-action--secondary {
  background: transparent;
  color: var(--console-teal);
  border-color: var(--console-teal);
}

.lc-snav-rail-action--secondary:hover {
  background: rgba(15,143,131,0.08);
}

/* ══════════════════════════════════════════════════════════
   REPORT VIEWER OVERLAY (complimentary_report_ready only)
   ══════════════════════════════════════════════════════════ */
.lc-report-viewer {
  position: fixed;
  inset: 0;
  background: var(--console-paper);
  z-index: 400;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lc-report-viewer[hidden] {
  display: none;
}

.lc-report-viewer__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 28px;
  background: var(--console-white);
  border-bottom: 1px solid var(--console-divider);
  box-shadow: var(--console-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 410;
  gap: 16px;
  flex-shrink: 0;
}

.lc-report-viewer__back {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-muted);
  background: none;
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-sm);
  padding: 7px 14px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
}

.lc-report-viewer__back:hover {
  color: var(--console-ink);
  border-color: var(--console-ink);
}

.lc-report-viewer__content {
  flex: 1;
  overflow-y: auto;
  padding: 40px 32px;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* ══════════════════════════════════════════════════════════
   THREE-STATE SECTION MARKERS
   ══════════════════════════════════════════════════════════ */
.lc-snav-item-marker {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 3px;
}

.lc-snav-item-marker--teal {
  background: var(--console-teal);
}

.lc-snav-item-marker--gold {
  background: var(--console-gold);
  opacity: 0.85;
}

.lc-snav-item-marker--sky {
  background: var(--console-sky);
  opacity: 0.9;
}

.lc-snav-cat-dot--sky {
  background: var(--console-sky);
  opacity: 0.9;
}

.lc-snav-mobile-section-group__dot--sky {
  background: var(--console-sky);
  opacity: 0.9;
}

/* ══════════════════════════════════════════════════════════
   SECTION BADGES
   ══════════════════════════════════════════════════════════ */
.lc-snav-badge {
  display: inline-flex;
  align-items: center;
  height: 16px;
  padding: 0 6px;
  border-radius: var(--console-radius-pill);
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
}

.lc-snav-badge--preview {
  background: rgba(199,233,245,0.18);
  color: var(--console-sky);
  border: 1px solid rgba(199,233,245,0.35);
}

.lc-snav-badge--locked {
  background: rgba(245,184,75,0.15);
  color: var(--console-gold);
  border: 1px solid rgba(245,184,75,0.3);
}

.lc-snav-badge--finishline {
  background: rgba(15,143,131,0.12);
  color: var(--console-teal);
  border: 1px solid rgba(15,143,131,0.3);
}

/* ══════════════════════════════════════════════════════════
   FLYOUT FRAMING LINE
   ══════════════════════════════════════════════════════════ */
.lc-snav-flyout-framing {
  padding: 10px 14px 8px;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.5;
  border-bottom: 1px solid var(--console-divider);
  font-style: italic;
}

.lc-snav-flyout-divider {
  height: 1px;
  background: var(--console-divider);
  margin: 4px 0;
}

/* ══════════════════════════════════════════════════════════
   COMING SOON FLYOUT / MOBILE ITEMS
   ══════════════════════════════════════════════════════════ */
.lc-snav-coming-soon-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--console-sky);
  opacity: 0.55;
  flex-shrink: 0;
  margin-top: 3px;
}

.lc-snav-coming-soon-tag {
  margin-left: auto;
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--console-muted);
  opacity: 0.7;
  white-space: nowrap;
  flex-shrink: 0;
}

.lc-snav-flyout-item--coming-soon {
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
  color: var(--console-muted);
}

.lc-snav-flyout-item--coming-soon:hover {
  background: transparent;
  color: var(--console-muted);
}

.lc-snav-flyout-item--action {
  color: var(--console-teal);
  font-weight: 650;
  border-top: 1px solid var(--console-divider);
}

.lc-snav-mobile-section-item--coming-soon {
  pointer-events: none;
  cursor: default;
  opacity: 0.6;
  color: var(--console-muted);
}

.lc-snav-mobile-section-item--coming-soon:hover {
  background: transparent;
  color: var(--console-muted);
}

.lc-snav-mobile-build-action {
  color: var(--console-teal);
  font-weight: 650;
  border-top: 1px solid var(--console-divider);
  pointer-events: all;
  cursor: pointer;
  opacity: 1;
}

.lc-snav-mobile-build-action:hover {
  background: rgba(15,143,131,0.06);
  color: var(--console-teal);
}

/* ══════════════════════════════════════════════════════════
   MOBILE FRAMING LINE
   ══════════════════════════════════════════════════════════ */
.lc-snav-mobile-framing {
  padding: 12px 16px 10px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.5;
  border-bottom: 1px solid var(--console-divider);
  font-style: italic;
  background: var(--console-card);
}

/* ══════════════════════════════════════════════════════════
   STATUS CARD (top of rail)
   ══════════════════════════════════════════════════════════ */
.lc-snav-status-card {
  padding: 12px 14px;
  background: linear-gradient(135deg, rgba(9,35,63,0.07) 0%, rgba(15,143,131,0.06) 100%);
  border-radius: var(--console-radius-sm);
  border: 1px solid rgba(15,143,131,0.18);
  margin: 8px 10px 0;
}

.lc-snav-status-card__label {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 4px;
}

.lc-snav-status-card__meta {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-ink);
  line-height: 1.4;
}

.lc-snav-status-card__meta--muted {
  color: var(--console-muted);
  margin-bottom: 10px;
}

.lc-snav-status-card__btn {
  display: block;
  width: 100%;
  padding: 7px 10px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-sm);
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}

.lc-snav-status-card__btn:hover { background: #0da899; }

/* ══════════════════════════════════════════════════════════
   PERSISTENT ACTIVATION CARD (rail footer)
   ══════════════════════════════════════════════════════════ */
.lc-snav-activation-card {
  padding: 10px 12px;
  background: rgba(245,184,75,0.08);
  border: 1px solid rgba(245,184,75,0.25);
  border-radius: var(--console-radius-sm);
}

.lc-snav-activation-card__copy {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-ink);
  line-height: 1.45;
  margin-bottom: 8px;
}

.lc-snav-activation-card__btn {
  display: block;
  width: 100%;
  padding: 7px 10px;
  background: transparent;
  color: var(--console-teal);
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1.5px solid var(--console-teal);
  border-radius: var(--console-radius-sm);
  cursor: pointer;
  text-align: center;
  transition: background 0.15s, color 0.15s;
}

.lc-snav-activation-card__btn:hover {
  background: rgba(15,143,131,0.08);
}

/* ══════════════════════════════════════════════════════════
   SECTION UPSELL CARD (per-section gold card for locked sample sections)
   ══════════════════════════════════════════════════════════ */
.lc-section-upsell {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-left: 4px solid var(--console-gold);
  border-radius: var(--console-radius-md);
  padding: 20px 24px 20px 20px;
  margin-bottom: 0;
}

.lc-section-upsell__chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 22px;
  padding: 0 8px;
  background: rgba(245,184,75,0.12);
  border: 1px solid rgba(245,184,75,0.35);
  border-radius: var(--console-radius-pill);
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-gold);
  margin-bottom: 12px;
}

.lc-section-upsell__lock-icon {
  flex-shrink: 0;
  color: var(--console-gold);
}

.lc-section-upsell__headline {
  font-family: var(--console-font);
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-ink);
  margin-bottom: 8px;
  letter-spacing: -0.01em;
}

.lc-section-upsell__body {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.65;
  margin-bottom: 16px;
  max-width: 520px;
}

.lc-section-upsell__btn {
  display: inline-flex;
  align-items: center;
  height: 40px;
  padding: 0 20px;
  background: var(--console-gold);
  color: var(--console-navy);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  transition: opacity 0.15s;
}

.lc-section-upsell__btn:hover {
  opacity: 0.88;
}

.lc-section-upsell__tier-note {
  margin-top: 8px;
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
}

/* ══════════════════════════════════════════════════════════
   LIVING CONSOLE: MAIN VIEW
   ══════════════════════════════════════════════════════════ */
.lc-console-main {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 32px 28px 80px;
}

/* ── Pull list menus ── */
.lc-menu-block {
  background: var(--console-white);
  border: 1px solid rgba(15,143,131,0.3);
  border-radius: var(--console-radius-lg);
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: var(--console-shadow-sm);
  transition: box-shadow 0.18s ease;
}

.lc-menu-block:hover {
  box-shadow: var(--console-shadow-md);
  border-color: rgba(15,143,131,0.5);
}

.lc-menu-block__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px 14px;
  border-bottom: 1px solid var(--console-divider);
  background: linear-gradient(to bottom, var(--console-white), var(--console-card));
  cursor: pointer;
  transition: background 0.15s ease;
}

.lc-menu-block__header:hover {
  background: linear-gradient(to bottom, var(--console-card), rgba(199,233,245,0.35));
}

.lc-menu-block.is-collapsed .lc-menu-block__header {
  border-bottom: none;
}

.lc-menu-block__title {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-ink);
}

.lc-menu-block__toggle {
  width: 28px;
  height: 28px;
  border-radius: var(--console-radius-md);
  background: rgba(9,35,63,0.04);
  border: 1px solid rgba(15,143,131,0.3);
  cursor: pointer;
  color: var(--console-muted);
  font-size: 16px;
  line-height: 1;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, color 0.15s, transform 0.2s;
  transform: rotate(90deg);
  flex-shrink: 0;
}

.lc-menu-block__header:hover .lc-menu-block__toggle {
  background: rgba(9,35,63,0.08);
  color: var(--console-ink);
  border-color: rgba(15,143,131,0.5);
}

.lc-menu-block.is-collapsed .lc-menu-block__toggle {
  transform: rotate(0deg);
}

.lc-menu-block__toggle:hover {
  color: var(--console-ink);
}

.lc-menu-block__body {
  padding: 0;
}

.lc-menu-block.is-collapsed .lc-menu-block__body {
  display: none;
}

/* ── Pull row ── */
.lc-pull-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  transition: background 0.1s, background-color 0.6s, box-shadow 0.6s;
}

.lc-pull-row.is-focus-highlight { background-color: rgba(15,143,131,0.12); box-shadow: inset 0 0 0 2px rgba(15,143,131,0.45); }

.lc-pull-row:last-child {
  border-bottom: none;
}

.lc-pull-row:hover {
  background: rgba(15,143,131,0.04);
}

.lc-pull-row__meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}

.lc-pull-row__subject {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 700;
  color: var(--console-ink);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lc-pull-row__date {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
}

.lc-pull-row__type {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-teal);
}

.lc-pull-row__arrow {
  font-size: 18px;
  color: var(--console-muted);
  flex-shrink: 0;
}

.lc-pull-row__label {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--console-ink);
  letter-spacing: -0.01em;
  min-width: 0;
  flex: 1;
}

.lc-pull-row--collapsible {
  border-bottom: 1px solid var(--console-divider);
}

.lc-pull-row--collapsible[aria-expanded="true"] {
  background: rgba(15,143,131,0.05);
  border-bottom-color: transparent;
}

.lc-pull-row__arrow--drop {
  font-size: 20px;
  transition: transform 0.18s;
  display: inline-block;
}

.lc-pull-row--collapsible[aria-expanded="true"] .lc-pull-row__arrow--drop {
  transform: rotate(180deg);
}

.lc-pull-panel {
  border-bottom: 1px solid var(--console-divider);
  background: var(--console-card);
}

.lc-pull-panel__body {
  padding: 4px 0 8px;
}

/* ── Placeholder rows ── */
.lc-placeholder-row {
  padding: 20px;
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  font-style: italic;
}

/* ── Sample console tab ── */
.lc-sample-tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  background: rgba(15,143,131,0.06);
  border: 1px solid rgba(15,143,131,0.2);
  border-radius: var(--console-radius-md);
  margin-bottom: 16px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}

.lc-sample-tab:hover {
  background: rgba(15,143,131,0.10);
  border-color: rgba(15,143,131,0.35);
}

.lc-sample-tab__label {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 700;
  color: var(--console-teal);
  letter-spacing: 0.01em;
}

.lc-sample-tab__sub {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 450;
  color: var(--console-muted);
  margin-top: 2px;
}

.lc-sample-tab__arrow {
  font-size: 18px;
  color: var(--console-teal);
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════
   SECTION MENU VIEW (per-pull)
   ══════════════════════════════════════════════════════════ */
.lc-section-menu {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  overflow: hidden;
  margin-bottom: 20px;
}

.lc-section-menu__header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--console-divider);
  background: var(--console-card);
}

.lc-section-menu__back {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--console-muted);
  background: none;
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-sm);
  padding: 5px 12px;
  cursor: pointer;
  flex-shrink: 0;
  transition: color 0.15s, border-color 0.15s;
}

.lc-section-menu__back:hover {
  color: var(--console-ink);
  border-color: var(--console-ink);
}

.lc-section-menu__title {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 700;
  color: var(--console-ink);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lc-section-menu__date {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 500;
  color: var(--console-muted);
  flex-shrink: 0;
}

/* ── Section row ── */
.lc-section-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  transition: background 0.1s;
}

.lc-section-row:last-child {
  border-bottom: none;
}

.lc-section-row:hover {
  background: rgba(15,143,131,0.04);
}

.lc-section-row__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
}

.lc-section-row__label {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--console-ink);
  flex: 1;
  min-width: 0;
}

.lc-section-row__arrow {
  font-size: 16px;
  color: var(--console-muted);
  flex-shrink: 0;
}

.lc-section-row--has-submenu .lc-section-row__arrow {
  color: var(--console-teal);
}

/* ── Competitor sub-menu ── */
.lc-competitor-menu {
  background: var(--console-card);
  border-bottom: 1px solid var(--console-divider);
  padding: 4px 0;
}

.lc-competitor-menu__header {
  padding: 8px 20px 6px 36px;
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-muted);
}

.lc-competitor-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 20px 10px 36px;
  cursor: pointer;
  transition: background 0.1s;
  border-bottom: 1px solid rgba(217,226,223,0.5);
}

.lc-competitor-row:last-child {
  border-bottom: none;
}

.lc-competitor-row:hover {
  background: rgba(15,143,131,0.06);
}

.lc-competitor-row__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
}

.lc-competitor-row__dot--secondary {
  background: var(--console-muted);
  opacity: 0.6;
}

.lc-competitor-row__name {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 600;
  color: var(--console-ink);
  flex: 1;
}

.lc-competitor-row__tag {
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-teal);
  background: rgba(15,143,131,0.1);
  border-radius: var(--console-radius-pill);
  padding: 2px 7px;
  flex-shrink: 0;
}

.lc-competitor-row__tag--secondary {
  color: var(--console-muted);
  background: rgba(97,112,128,0.1);
}

.lc-competitor-row__arrow {
  font-size: 14px;
  color: var(--console-muted);
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════════════
   DOCUMENT CONTENT VIEW (letter-size)
   ══════════════════════════════════════════════════════════ */
.lc-doc-view {
  position: fixed;
  inset: 0;
  background: var(--console-paper);
  z-index: 400;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.lc-doc-view[hidden] {
  display: none;
}

.lc-doc-view__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 28px;
  background: var(--console-white);
  border-bottom: 1px solid var(--console-divider);
  box-shadow: var(--console-shadow-sm);
  position: sticky;
  top: 0;
  z-index: 410;
  gap: 16px;
  flex-shrink: 0;
}

.lc-doc-view__back {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-muted);
  background: none;
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-sm);
  padding: 7px 14px;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  flex-shrink: 0;
}

.lc-doc-view__back:hover {
  color: var(--console-ink);
  border-color: var(--console-ink);
}

.lc-doc-view__pdf-btn {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--console-white);
  background: var(--console-teal);
  border: 1px solid var(--console-teal);
  border-radius: var(--console-radius-sm);
  padding: 7px 14px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
  flex-shrink: 0;
  white-space: nowrap;
}

.lc-doc-view__pdf-btn:hover:not(:disabled) {
  background: #0da899;
  border-color: #0da899;
}

.lc-doc-view__pdf-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.lc-doc-view__title {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 700;
  color: var(--console-ink);
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-height: 1.25;
  flex: 1;
  text-align: center;
}

.lc-doc-view__content {
  flex: 1;
  overflow-y: auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 24px 80px;
  background: var(--console-paper);
}

.lc-doc-view__paper {
  width: 100%;
  max-width: 816px;
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  box-shadow: var(--console-shadow-sm);
  min-height: 1056px;
  overflow: hidden;
}

.lc-doc-view__loading {
  padding: 60px 40px;
  text-align: center;
  font-family: var(--console-font);
  font-size: 13px;
  color: var(--console-muted);
  letter-spacing: 0.04em;
}

.lc-doc-view__iframe {
  width: 100%;
  border: none;
  display: block;
  min-height: 1056px;
}

@media (max-width: 768px) {
  .lc-console-main {
    padding: 20px 16px 80px;
  }

  .lc-doc-view__bar {
    padding: 10px 16px;
  }

  .lc-doc-view__content {
    padding: 16px 8px 60px;
  }
}

/* ══════════════════════════════════════════════════════════
   PULL TRIGGER BANNER
   ══════════════════════════════════════════════════════════ */
.lc-pull-trigger {
  background: linear-gradient(90deg, var(--console-navy) 0%, #0d3a5c 60%, rgba(15,143,131,0.18) 100%);
  border-bottom: 1px solid rgba(15,143,131,0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 28px;
  flex-shrink: 0;
}

.lc-pull-trigger__label {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  letter-spacing: 0.02em;
  flex: 1;
  min-width: 0;
}

.lc-pull-trigger__queued {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: #5ee8d8;
  letter-spacing: 0.01em;
}

.lc-pull-trigger__btn {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 18px;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.05em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s, opacity 0.15s;
}

.lc-pull-trigger__btn:hover:not(:disabled) {
  background: #0da899;
}

.lc-pull-trigger__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: var(--console-muted);
}

@media (max-width: 768px) {
  .lc-pull-trigger {
    padding: 12px 16px;
    gap: 12px;
  }

  .lc-pull-trigger__label {
    font-size: 12px;
  }
}

/* ══════════════════════════════════════════════════════════
   SAMPLE CONSOLE BAND
   ══════════════════════════════════════════════════════════ */
.lc-sample-band {
  background: linear-gradient(90deg, #0d3a5c 0%, #1a4e72 60%, rgba(31,111,158,0.18) 100%);
  border-bottom: 1px solid rgba(199,233,245,0.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 28px;
  flex-shrink: 0;
}

.lc-sample-band__label {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: rgba(255,255,255,0.78);
  letter-spacing: 0.02em;
  flex: 1;
  min-width: 0;
}

.lc-sample-band__btn {
  display: inline-flex;
  align-items: center;
  height: 36px;
  padding: 0 18px;
  background: #14a99a;
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.04em;
  border: none;
  border-radius: var(--console-radius-md);
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background 0.15s;
}

.lc-sample-band__btn:hover {
  background: #19b8a7;
}

.lc-sample-band__btn:focus-visible {
  outline: 2px solid var(--console-white);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .lc-sample-band {
    padding: 12px 16px;
    gap: 12px;
  }

  .lc-sample-band__label {
    font-size: 12px;
  }
}

/* ══════════════════════════════════════════════════════════
   PULL UPSELL MODAL
   ══════════════════════════════════════════════════════════ */
.lc-upsell-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(9,35,63,0.65);
  backdrop-filter: blur(3px);
  z-index: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lc-upsell-backdrop[hidden] {
  display: none;
}

.lc-upsell-modal {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-lg);
  box-shadow: var(--console-shadow-lg);
  padding: 40px 36px 36px;
  max-width: 460px;
  width: 100%;
  position: relative;
}

.lc-upsell-close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
  color: var(--console-muted);
  padding: 4px 6px;
  border-radius: var(--console-radius-sm);
  transition: color 0.15s, background 0.15s;
}

.lc-upsell-close:hover {
  color: var(--console-ink);
  background: var(--console-card);
}

.lc-upsell-modal__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 10px;
}

.lc-upsell-modal__headline {
  font-family: var(--console-font);
  font-size: 20px;
  font-weight: 900;
  line-height: 1.25;
  color: var(--console-navy);
  margin-bottom: 12px;
  letter-spacing: -0.015em;
}

.lc-upsell-modal__copy {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.7;
  margin-bottom: 28px;
}

.lc-upsell-modal__cta {
  width: 100%;
  justify-content: center;
}

/* ══════════════════════════════════════════════════════════
   MENU TWO: YOUR ACCUMULATED INTELLIGENCE TAB ROWS
   ══════════════════════════════════════════════════════════ */
.lc-menu2-tab-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--console-divider);
  cursor: pointer;
  transition: background 0.1s;
}

.lc-menu2-tab-row:last-child {
  border-bottom: none;
}

.lc-menu2-tab-row:hover {
  background: rgba(15,143,131,0.04);
}

.lc-menu2-tab-row__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--console-teal);
  flex-shrink: 0;
  opacity: 0.5;
}

.lc-menu2-tab-row__label {
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--console-ink);
  letter-spacing: -0.01em;
  flex: 1;
  min-width: 0;
}

.lc-menu2-tab-row__arrow {
  font-size: 18px;
  color: var(--console-muted);
  flex-shrink: 0;
}

/* ======================================================
   Snapshot console: intake CTA card above menus
   ====================================================== */
.lc-snapshot-intake-cta-card {
  background: linear-gradient(135deg, var(--console-navy) 0%, #0d3a5c 100%);
  border: 1px solid rgba(15,143,131,0.3);
  border-radius: var(--console-radius-md);
  padding: 28px 24px 24px;
  margin-bottom: 20px;
}

.lc-snapshot-intake-cta-card__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-sky);
  margin-bottom: 10px;
}

.lc-snapshot-intake-cta-card__headline {
  font-family: var(--console-font);
  font-size: 17px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-white);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}

.lc-snapshot-intake-cta-card__copy {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
  margin-bottom: 20px;
}

.lc-snapshot-intake-cta-card__btn {
  display: block;
  width: 100%;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 13px 16px;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}

.lc-snapshot-intake-cta-card__btn:hover { background: #0da899; }

.lc-snapshot-intake-cta-card.is-form-mode {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
}

/* ======================================================
   Snapshot console: pull row open indicator
   ====================================================== */
.lc-pull-row--snapshot-open {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 20px;
  cursor: pointer;
  border-radius: var(--console-radius-md);
  transition: background 0.12s;
  font-family: var(--console-font);
}

.lc-pull-row--snapshot-open:hover {
  background: rgba(15,143,131,0.04);
}

/* ======================================================
   Snapshot PDF conversion modal
   ====================================================== */
.lc-pdf-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7,20,35,0.72);
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lc-pdf-modal-backdrop[hidden] {
  display: none;
}

.lc-pdf-modal {
  background: var(--console-white);
  border-radius: var(--console-radius-md);
  padding: 36px 32px 28px;
  max-width: 420px;
  width: 90%;
  position: relative;
  box-shadow: 0 8px 32px rgba(7,20,35,0.28);
}

.lc-pdf-modal__close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  font-size: 16px;
  color: var(--console-muted);
  cursor: pointer;
  line-height: 1;
  padding: 2px 6px;
}

.lc-pdf-modal__close:hover { color: var(--console-ink); }

.lc-pdf-modal__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 10px;
}

.lc-pdf-modal__headline {
  font-family: var(--console-font);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-navy);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}

.lc-pdf-modal__copy {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.65;
  margin-bottom: 22px;
}

.lc-pdf-modal__cta {
  display: block;
  width: 100%;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 14px 16px;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}

.lc-pdf-modal__cta:hover { background: #0da899; }
.lc-pdf-modal__cta:disabled { opacity: 0.6; cursor: not-allowed; }

.lc-pdf-modal__status {
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-muted);
  margin-top: 12px;
  text-align: center;
  min-height: 18px;
}

.lc-prepull-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7,20,35,0.72);
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lc-prepull-backdrop[hidden] {
  display: none;
}

.lc-prepull-modal {
  background: var(--console-white);
  border-radius: var(--console-radius-md);
  padding: 36px 32px 28px;
  max-width: 460px;
  width: 90%;
  position: relative;
  box-shadow: 0 8px 32px rgba(7,20,35,0.28);
  max-height: 88vh;
  overflow-y: auto;
}

.lc-prepull-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  font-size: 16px;
  color: var(--console-muted);
  cursor: pointer;
  line-height: 1;
  padding: 2px 6px;
}

.lc-prepull-close:hover { color: var(--console-ink); }

.lc-prepull-modal__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 10px;
}

.lc-prepull-modal__headline {
  font-family: var(--console-font);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-navy);
  margin-bottom: 18px;
  letter-spacing: -0.01em;
}

.lc-prepull-modal__options {
  display: flex;
  flex-direction: column;
  gap: 14px;
  margin-bottom: 18px;
}

.lc-prepull-toggle-row {
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  padding: 14px 16px;
}

.lc-prepull-toggle-label {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  cursor: pointer;
}

.lc-prepull-toggle-wrap {
  position: relative;
  flex: 0 0 auto;
  margin-top: 2px;
}

.lc-toggle-input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.lc-toggle-track {
  display: block;
  width: 40px;
  height: 22px;
  border-radius: var(--console-radius-pill);
  background: var(--console-divider);
  transition: background 0.15s;
  position: relative;
}

.lc-toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--console-white);
  box-shadow: var(--console-shadow-sm);
  transition: transform 0.15s;
}

.lc-toggle-input:checked + .lc-toggle-track {
  background: var(--console-teal);
}

.lc-toggle-input:checked + .lc-toggle-track .lc-toggle-thumb {
  transform: translateX(18px);
}

.lc-toggle-input:focus-visible + .lc-toggle-track {
  outline: 2px solid var(--console-deep-blue);
  outline-offset: 2px;
}

.lc-prepull-toggle-text {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 500;
  color: var(--console-ink);
  line-height: 1.5;
}

.lc-prepull-modal__note {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.6;
  margin-bottom: 8px;
}

.lc-prepull-modal__confirm {
  display: block;
  width: 100%;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 14px 16px;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
  margin-top: 14px;
}

.lc-prepull-modal__confirm:hover { background: #0da899; }
.lc-prepull-modal__confirm:disabled { opacity: 0.6; cursor: not-allowed; }

.lc-prepull-modal__status {
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-muted);
  margin-top: 12px;
  text-align: center;
  min-height: 18px;
}

.lc-gate-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(7,20,35,0.72);
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lc-gate-backdrop[hidden] {
  display: none;
}

.lc-gate-modal {
  background: var(--console-white);
  border-radius: var(--console-radius-md);
  padding: 36px 32px 28px;
  max-width: 480px;
  width: 90%;
  position: relative;
  box-shadow: 0 8px 32px rgba(7,20,35,0.28);
  max-height: 88vh;
  overflow-y: auto;
}

.lc-gate-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  font-size: 16px;
  color: var(--console-muted);
  cursor: pointer;
  line-height: 1;
  padding: 2px 6px;
}

.lc-gate-close:hover { color: var(--console-ink); }

.lc-gate-modal__eyebrow {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 10px;
}

.lc-gate-modal__headline {
  font-family: var(--console-font);
  font-size: 18px;
  font-weight: 800;
  line-height: 1.3;
  color: var(--console-navy);
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}

.lc-gate-modal__copy {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 450;
  color: var(--console-muted);
  line-height: 1.6;
  margin-bottom: 18px;
}

.lc-gate-competitors {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}

.lc-gate-competitor-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  padding: 10px 14px;
}

.lc-gate-competitor-name {
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 600;
  color: var(--console-ink);
}

.lc-gate-competitor-tier {
  font-weight: 450;
  color: var(--console-muted);
}

.lc-gate-competitor-badge {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-left: 6px;
}

.lc-gate-competitor-badge.is-new { color: var(--console-gold); }

.lc-gate-competitor-remove {
  flex: 0 0 auto;
  background: none;
  border: none;
  font-size: 14px;
  color: var(--console-muted);
  cursor: pointer;
  line-height: 1;
  padding: 4px 6px;
}

.lc-gate-competitor-remove:hover { color: #c0392b; }

.lc-gate-tier-group {
  margin-bottom: 14px;
}

.lc-gate-tier-header {
  font-family: var(--console-font);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--console-deep-blue);
  margin-bottom: 8px;
}

.lc-gate-tier-empty {
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-muted);
  padding: 6px 2px 2px;
}

.lc-gate-competitor-domain {
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 450;
  color: var(--console-muted);
  margin-left: 6px;
}

.lc-gate-competitor-controls {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 0 0 auto;
}

.lc-gate-move {
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-sm);
  color: var(--console-deep-blue);
  font-size: 10px;
  line-height: 1;
  width: 24px;
  height: 24px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s;
}

.lc-gate-move:hover { background: var(--console-card); border-color: var(--console-deep-blue); }
.lc-gate-move:disabled { opacity: 0.35; cursor: not-allowed; }

.lc-gate-add-hint {
  font-family: var(--console-font);
  font-size: 12px;
  color: #c0392b;
  min-height: 16px;
  margin-bottom: 12px;
}

.lc-gate-add-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

/* Inputs must be allowed to shrink or the Add button is pushed past the modal's
   edge (observed live, 070826: the row overflowed and the button was invisible). */
.lc-gate-add-row .lc-gate-add-input {
  min-width: 0;
  flex: 1 1 180px;
}

.lc-gate-add-input,
.lc-gate-freetext {
  flex: 1 1 auto;
  font-family: var(--console-font);
  font-size: 13px;
  color: var(--console-ink);
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  border-radius: var(--console-radius-md);
  padding: 10px 12px;
}

.lc-gate-add-input:focus,
.lc-gate-freetext:focus {
  outline: none;
  border-color: var(--console-deep-blue);
}

.lc-gate-freetext {
  width: 100%;
  resize: vertical;
  margin-bottom: 16px;
}

.lc-gate-add-btn {
  flex: 0 0 auto;
  background: var(--console-navy);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 700;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 10px 16px;
  cursor: pointer;
  transition: background 0.15s;
}

.lc-gate-add-btn:hover { background: #0d2c4d; }

.lc-gate-approve {
  display: block;
  width: 100%;
  background: var(--console-teal);
  color: var(--console-white);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: none;
  border-radius: var(--console-radius-md);
  padding: 14px 16px;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}

.lc-gate-approve:hover { background: #0da899; }
.lc-gate-approve:disabled { opacity: 0.6; cursor: not-allowed; }

.lc-gate-modal__status {
  font-family: var(--console-font);
  font-size: 12px;
  color: var(--console-muted);
  margin-top: 12px;
  text-align: center;
  min-height: 18px;
}

/* ══════════════════════════════════════════════════════════
   CONTENT BAND (shared wrapper for how-it-works, context band)
   ══════════════════════════════════════════════════════════ */
.lc-content-band {
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 0 28px;
}

/* ══════════════════════════════════════════════════════════
   HOW YOUR CONSOLE WORKS
   ══════════════════════════════════════════════════════════ */
.lc-how-it-works {
  background: var(--console-paper);
  padding-bottom: 8px;
}

.htu-head {
  text-align: center;
  margin: 30px 0 2px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--console-teal);
}

.htu-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin: 18px auto 0;
}

.htu-card {
  background: var(--console-card);
  border: 1px solid var(--console-divider);
  border-radius: 12px;
  padding: 18px;
}

.htu-kicker {
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: var(--console-teal);
  margin-bottom: 9px;
}

.htu-title {
  font-size: 15px;
  font-weight: 800;
  color: var(--console-navy);
  margin-bottom: 6px;
}

.htu-copy {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--console-muted);
  margin: 0;
}

/* ══════════════════════════════════════════════════════════
   CONTEXT BAND
   ══════════════════════════════════════════════════════════ */
.lc-ctx-band-wrap {
  background: var(--console-paper);
  padding-bottom: 4px;
}

.ctx-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 22px auto 8px;
  background: linear-gradient(135deg, var(--console-navy), #0d3a5c);
  border-radius: 14px;
  padding: 22px 26px;
}

.ctx-band__text {
  flex: 1;
  min-width: 0;
}

.ctx-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--console-gold);
  margin-bottom: 6px;
}

.ctx-copy {
  font-size: 13.5px;
  line-height: 1.6;
  color: rgba(255,255,255,.78);
  max-width: 620px;
  margin: 0;
}

/* ══════════════════════════════════════════════════════════
   STATUS BANNER (above menus)
   ══════════════════════════════════════════════════════════ */
.status-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: nowrap;
  padding: 10px 14px;
  margin: 0 0 16px;
  border-radius: 10px;
  background: rgba(15,143,131,.08);
  border: 1px solid rgba(15,143,131,.20);
}

.status-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.status-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 12px;
  border-radius: 8px;
  background: var(--console-white);
  border: 1px solid var(--console-divider);
  font-family: var(--console-font);
  font-size: 12.5px;
  font-weight: 750;
  color: var(--console-navy);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: var(--console-shadow-sm);
  transition: background 0.15s, border-color 0.15s;
}

.status-chip:hover {
  background: var(--console-card);
  border-color: var(--console-teal);
}

.status-chip--muted {
  color: var(--console-muted);
  font-weight: 600;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--console-gold);
  box-shadow: 0 0 0 4px rgba(245,184,75,.18);
  flex: none;
}

.status-update-btn {
  height: 34px;
  padding: 0 16px;
  border-radius: 8px;
  background: var(--console-teal);
  color: #fff;
  border: none;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  cursor: pointer;
  white-space: nowrap;
  flex: none;
  transition: background 0.15s;
}

.status-update-btn:hover:not(:disabled) { background: #0da899; }
.status-update-btn:disabled { opacity: 0.5; cursor: not-allowed; background: var(--console-muted); }

/* ══════════════════════════════════════════════════════════
   MARKET MEMORY PREVIEW — dwell-and-rotate
   ══════════════════════════════════════════════════════════ */

/* "Preview" second line under "Market Memory" in rail label */
.lc-memory-rail__label .preview {
  font-size: 9px;
  letter-spacing: .18em;
  display: block;
  text-align: center;
}

.mem-rotator {
  position: relative;
  flex: 1;
  height: 44px;
  overflow: hidden;
}

.mem-msg {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  display: flex;
  align-items: center;
  padding: 0 28px;
  font-family: var(--console-font);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .02em;
  color: rgba(199,233,245,0.78);
  white-space: nowrap;
  opacity: 0;
  animation: memcycle 10.5s infinite;
}

.mem-msg:nth-child(1) { animation-delay: 0s; }
.mem-msg:nth-child(2) { animation-delay: 3.5s; }
.mem-msg:nth-child(3) { animation-delay: 7s; }

@keyframes memcycle {
  0%   { opacity: 0; transform: translateY(5px); }
  4%   { opacity: 1; transform: translateY(0); }
  28%  { opacity: 1; transform: translateY(0); }
  33%  { opacity: 0; transform: translateY(-5px); }
  100% { opacity: 0; }
}

/* ══════════════════════════════════════════════════════════
   MOBILE — top section new pieces
   ══════════════════════════════════════════════════════════ */
@media (max-width: 760px) {
  .lc-content-band {
    padding: 0 16px;
  }

  .htu-head {
    margin-top: 24px;
  }

  .htu-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 16px;
  }

  .ctx-band {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
  }

  .ctx-band .lc-btn-hero-primary {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .ctx-copy {
    max-width: none;
  }
}

@media (max-width: 520px) {
  .status-chip {
    font-size: 11.5px;
    padding: 6px 10px;
  }

  .status-update-btn {
    font-size: 11px;
    padding: 0 12px;
  }
}

@media (max-width: 768px) {
  .lc-how-it-works {
    padding-bottom: 4px;
  }
}

/* ══════════════════════════════════════════════════════════
   FOOTER COPYRIGHT
   ══════════════════════════════════════════════════════════ */
.lc-footer__copyright {
  font-family: var(--console-font);
  font-size: 11px;
  font-weight: 450;
  color: var(--console-muted);
  letter-spacing: 0.02em;
  margin-top: 4px;
}

/* ══════════════════════════════════════════════════════════
   TOPBAR GEAR BUTTON
   ══════════════════════════════════════════════════════════ */
.lc-topbar__gear {
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: rgba(255,255,255,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  color: #fff;
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s;
  line-height: 1;
  padding: 0;
}
.lc-topbar__gear:hover { background: rgba(255,255,255,.22); }

/* ══════════════════════════════════════════════════════════
   SETTINGS VIEW OVERLAY
   ══════════════════════════════════════════════════════════ */
.lc-settings-view {
  position: fixed;
  inset: 0;
  z-index: 500;
  background: var(--console-paper);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}

.lc-settings-view[hidden] {
  display: none;
}

.lc-settings-topbar {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  background: var(--console-navy);
  color: #fff;
  flex-shrink: 0;
}

.lc-settings-back {
  background: none;
  border: none;
  color: rgba(255,255,255,.85);
  font-family: var(--console-font);
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 6px;
  letter-spacing: 0.02em;
  transition: background 0.15s;
}
.lc-settings-back:hover { background: rgba(255,255,255,.12); }

/* Settings page layout — adapted from issue reference styles */
.set-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 28px 24px 60px;
}

.set-head {
  font-size: 26px;
  font-weight: 850;
  letter-spacing: -.02em;
  margin: 6px 0 4px;
  color: var(--console-navy);
  font-family: var(--console-font);
}

.set-sub {
  font-size: 14px;
  color: var(--console-muted);
  margin: 0 0 26px;
  font-family: var(--console-font);
  line-height: 1.5;
}

.set-group {
  background: #fff;
  border: 1px solid var(--console-divider);
  border-radius: 14px;
  margin-bottom: 18px;
  overflow: hidden;
}

.set-group__head {
  padding: 14px 20px;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--console-teal);
  border-bottom: 1px solid var(--console-divider);
  font-family: var(--console-font);
}

.set-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--console-soft, #f1f5f4);
}
.set-row:last-child { border-bottom: none; }

.set-row__main { min-width: 0; }

.set-row__title {
  font-size: 14.5px;
  font-weight: 750;
  color: var(--console-navy);
  font-family: var(--console-font);
}

.set-row__desc {
  font-size: 12.5px;
  color: var(--console-muted);
  margin-top: 3px;
  line-height: 1.5;
  font-family: var(--console-font);
}

.set-row__action {
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
}

.btn-set {
  padding: 9px 15px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 750;
  border: 1px solid var(--console-divider);
  background: #fff;
  color: var(--console-navy);
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--console-font);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  transition: background 0.12s;
}
.btn-set:hover { background: var(--console-card); }
.btn-set:disabled { opacity: 0.6; cursor: not-allowed; }

.btn-set--primary {
  background: var(--console-teal);
  color: #fff;
  border-color: var(--console-teal);
}
.btn-set--primary:hover { background: #0da899; }
.btn-set--primary:disabled { background: var(--console-muted); border-color: var(--console-muted); }

.field {
  border: 1px solid var(--console-divider);
  border-radius: 8px;
  padding: 9px 11px;
  font-size: 13.5px;
  color: var(--console-navy);
  min-width: 190px;
  font-family: var(--console-font);
  background: #fff;
  outline: none;
  transition: border-color 0.15s;
}
.field:focus { border-color: var(--console-teal); }

.badge {
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 3px 7px;
  border-radius: 5px;
  font-family: var(--console-font);
  vertical-align: middle;
}
.badge--wired { background: rgba(15,143,131,.14); color: var(--console-teal); }
.badge--stub  { background: rgba(245,184,75,.18); color: #9a6b12; }
.badge--next  { background: rgba(9,35,63,.10); color: var(--console-navy); }

.chk-list {
  padding: 6px 20px 16px;
}

.chk {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  font-size: 14px;
  color: var(--console-navy);
  border-bottom: 1px solid var(--console-soft, #f4f7f6);
  font-family: var(--console-font);
  cursor: pointer;
}
.chk:last-child { border-bottom: none; }

.chk input {
  width: 17px;
  height: 17px;
  accent-color: var(--console-teal);
  flex-shrink: 0;
}

.toggle {
  width: 42px;
  height: 24px;
  border-radius: 999px;
  background: var(--console-teal);
  position: relative;
  flex: none;
  cursor: pointer;
  transition: background 0.15s;
}
.toggle::after {
  content: '';
  position: absolute;
  right: 3px;
  top: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: right 0.15s, left 0.15s;
}
.toggle--off { background: var(--console-divider); }
.toggle--off::after { left: 3px; right: auto; }

.lc-settings-footer-copy {
  text-align: center;
  font-size: 12px;
  color: var(--console-muted);
  margin-top: 32px;
  font-family: var(--console-font);
}

/* ══════════════════════════════════════════════════════════
   INFO MODALS (contact-email + login-email confirmation)
   ══════════════════════════════════════════════════════════ */
.lc-info-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 600;
  background: rgba(9,35,63,.65);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.lc-info-modal-backdrop[hidden] {
  display: none;
}

.lc-info-modal {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px 28px;
  max-width: 460px;
  width: 100%;
  box-shadow: 0 24px 64px rgba(0,0,0,.35);
}

.lc-info-modal__title {
  font-family: var(--console-font);
  font-size: 20px;
  font-weight: 850;
  color: var(--console-navy);
  margin: 0 0 14px;
  letter-spacing: -.01em;
}

.lc-info-modal__body {
  font-family: var(--console-font);
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--console-ink);
  margin: 0 0 22px;
}

.lc-info-modal__btn {
  display: block;
  width: 100%;
  padding: 13px 20px;
  border-radius: 9px;
  background: var(--console-teal);
  color: #fff;
  border: none;
  font-family: var(--console-font);
  font-size: 14px;
  font-weight: 800;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}
.lc-info-modal__btn:hover { background: #0da899; }

/* ══════════════════════════════════════════════════════════
   REACTIVATION POPUP
   ══════════════════════════════════════════════════════════ */
.scrim {
  position: fixed;
  inset: 0;
  z-index: 550;
  background: rgba(9,35,63,.72);
  backdrop-filter: blur(3px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.scrim[hidden] {
  display: none;
}

.react-card {
  width: 100%;
  max-width: 520px;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 30px 80px rgba(0,0,0,.45);
}

.react-top {
  background: linear-gradient(135deg, var(--console-navy), #0d3a5c);
  padding: 26px 28px 22px;
  color: #fff;
}

.react-eyebrow {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--console-gold);
  margin-bottom: 8px;
  font-family: var(--console-font);
}

.react-title {
  font-size: 23px;
  font-weight: 850;
  letter-spacing: -.02em;
  margin: 0;
  font-family: var(--console-font);
}

.react-body {
  padding: 24px 28px 8px;
}

.react-copy {
  font-size: 14.5px;
  line-height: 1.65;
  color: var(--console-ink, #14202e);
  margin: 0 0 20px;
  font-family: var(--console-font);
}

.ticker-wrap {
  background: var(--console-soft, #f9fbfb);
  border: 1px solid var(--console-divider);
  border-radius: 14px;
  padding: 18px;
  text-align: center;
  margin-bottom: 6px;
}

.ticker-label {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--console-muted);
  margin-bottom: 12px;
  font-family: var(--console-font);
}

.ticker {
  display: flex;
  justify-content: center;
  gap: 14px;
}

.tick { min-width: 64px; }

.tick-num {
  font-size: 30px;
  font-weight: 850;
  color: var(--console-navy);
  line-height: 1;
  font-variant-numeric: tabular-nums;
  font-family: var(--console-font);
}

.tick-unit {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--console-muted);
  margin-top: 6px;
  font-family: var(--console-font);
}

.tick-sep {
  font-size: 26px;
  font-weight: 300;
  color: var(--console-divider);
  align-self: flex-start;
}

.react-actions {
  padding: 18px 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.btn-react {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 14px 20px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 800;
  background: var(--console-teal);
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: var(--console-font);
  transition: background 0.15s;
}
.btn-react:hover { background: #0da899; }

.btn-later {
  display: block;
  text-align: center;
  text-decoration: none;
  padding: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--console-muted);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--console-font);
}

/* ══════════════════════════════════════════════════════════
   SETTINGS — MOBILE
   ══════════════════════════════════════════════════════════ */
@media (max-width: 600px) {
  .set-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .set-row__action {
    width: 100%;
  }

  .field {
    min-width: 0;
    width: 100%;
  }
}

/* ── Competitor sub-menu tier subheadings (BATCH B) ── */
.lc-competitor-menu__tier {
  padding: 10px 20px 4px 36px;
  font-family: var(--console-font);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--console-teal);
  border-top: 1px solid rgba(217,226,223,0.5);
}

/* ── Submenu bracketing: expanded competitor menus read as a distinct inset block (BATCH C) ── */
.lc-competitor-menu {
  background: rgba(15,143,131,0.05);
  border-left: 3px solid var(--console-teal);
}
.lc-competitor-menu .lc-competitor-row:hover {
  background: rgba(15,143,131,0.1);
}

/* ── Caret rotation: section-row arrows point down when the submenu is expanded (BATCH D) ── */
.lc-section-row__arrow {
  display: inline-block;
  transition: transform 0.15s ease;
}
.lc-section-row.is-open .lc-section-row__arrow {
  transform: rotate(90deg);
}

/* ── Reader inset: fragment views start flush at the paper's rounded corner and the
   first heading was clipped; inset the iframe's rendering box (BATCH D) ── */
.lc-doc-view__iframe {
  padding: 22px 18px 0;
  box-sizing: border-box;
  background: var(--console-white);
}
