/* =========================================================================
   fda-tracker.css, FDA Tracker FEATURE styles. Always Cool (the page sets
   data-temp="cool"). Semantic tokens only, never a hardcoded hex.
   Foundation pass: hero + data readout. (Status board, calendar, newsroom,
   alerts add their styles here later.) Prefix: fda-
   ========================================================================= */

/* ===================== HERO, the live status banner ===================== */
.fda-hero{ position:relative; background:var(--bg-dark); overflow:hidden; border-bottom:1px solid var(--border-on-dark); }
.fda-hero__halo{ position:absolute; z-index:0; right:-12%; top:-30%; width:60vw; height:60vw; max-width:760px; max-height:760px;
  border-radius:var(--r-pill); pointer-events:none;
  background:radial-gradient(circle, rgba(var(--glow-rgb),.16) 0%, rgba(var(--glow-rgb),.04) 42%, transparent 70%); }
.fda-hero__inner{ position:relative; z-index:1; max-width:1280px; margin:0 auto; padding:var(--sp-16) var(--sp-12) var(--sp-12); }
.fda-hero__grid{ display:grid; grid-template-columns:1.35fr 0.85fr; gap:var(--sp-16); align-items:center; }
.fda-hero__copy{ min-width:0; }
@media(max-width:920px){ .fda-hero__grid{ grid-template-columns:1fr; gap:var(--sp-10); }
  .fda-hero__count{ order:-1; } }
.fda-hero__eyebrow{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:.3em;
  text-transform:uppercase; color:var(--accent-hover); margin-bottom:var(--sp-6); }
.fda-hero__title{ font-family:var(--font-heading); font-weight:200; font-size:clamp(40px,5.2vw,74px);
  line-height:var(--lh-tight); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; max-width:20ch; text-wrap:balance; }
.fda-hero__title .nam-pop{ font-weight:300; }
.fda-hero__sub{ margin:var(--sp-6) 0 0; max-width:62ch; }
.fda-hero__framing{ margin:var(--sp-6) 0 0; max-width:62ch; font-family:var(--font-body); font-weight:300;
  font-size:var(--fs-18); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); }
.fda-hero__framing b{ font-weight:600; }
.fda-hero__framing .mono{ font-family:var(--font-mono); }
.fda-hero__questions{ display:flex; flex-wrap:wrap; gap:var(--sp-3); margin-top:var(--sp-8); }
.fda-hero__q{ font-family:var(--font-mono); font-size:var(--fs-12); letter-spacing:.01em; color:var(--fg-on-dark-2);
  border:1px solid var(--border-on-dark); border-radius:var(--r-pill); padding:6px 12px; }
.fda-hero__advisory{ margin:var(--sp-6) 0 0; font-family:var(--font-body); font-weight:300; font-size:var(--fs-13);
  line-height:var(--lh-relaxed); color:var(--fg-on-dark-3); }
.fda-hero__advisory b{ font-weight:500; color:var(--fg-on-dark-2); }
.fda-hero__advisory .mono{ font-family:var(--font-mono); }
.fda-updated{ display:inline-flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-10);
  font-family:var(--font-mono); font-size:var(--fs-12); letter-spacing:.04em; color:var(--fg-on-dark-3); }
.fda-updated__dot{ width:8px; height:8px; border-radius:var(--r-pill); background:var(--status-success);
  box-shadow:0 0 8px var(--status-success); animation:nam-live-pulse 2.4s ease-in-out infinite; }
@media(prefers-reduced-motion: reduce){ .fda-updated__dot{ animation:none; } }

/* ===================== CATALYST COUNTDOWN (hero centerpiece) ===================== */
.fda-count{ border:1px solid var(--border-on-dark-strong); border-radius:var(--r-lg); padding:var(--sp-10) var(--sp-8);
  background:var(--bg-dark-card); box-shadow:var(--glow-sm); position:relative; overflow:hidden; }
.fda-count__label{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider);
  text-transform:uppercase; color:var(--fg-on-dark-3); margin-bottom:var(--sp-5); }
.fda-count__ticker{ display:flex; align-items:flex-end; gap:var(--sp-2); }
.fda-count__unit{ display:flex; flex-direction:column; align-items:center; }
.fda-count__unit b{ font-family:var(--font-mono); font-weight:500; font-size:clamp(30px,4vw,46px); line-height:1; color:var(--fg-on-dark-1); font-variant-numeric:tabular-nums; }
.fda-count__unit small{ font-family:var(--font-mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-on-dark-3); margin-top:var(--sp-2); }
.fda-count__sep{ font-family:var(--font-mono); font-size:clamp(26px,3.4vw,40px); line-height:1; color:var(--accent-hover); padding-bottom:14px; }
.fda-count__inreview{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-32); color:var(--accent-hover); }
.fda-count__date{ font-family:var(--font-mono); font-size:var(--fs-12); letter-spacing:.06em; color:var(--accent-hover); margin-top:var(--sp-5); }
.fda-count__btn{ width:100%; justify-content:center; margin-top:var(--sp-6); }

/* ===================== STATUS BOARD ===================== */
.fda-board{ background:var(--bg-dark); border-top:1px solid var(--border-on-dark); }
.fda-board__inner{ max-width:1280px; margin:0 auto; padding:var(--sp-16) var(--sp-12); }
.fda-board__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-6); flex-wrap:wrap; margin-bottom:var(--sp-8); }
.fda-board__title{ font-family:var(--font-heading); font-weight:200; font-size:clamp(28px,3.2vw,42px); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; }
.fda-board__legend{ display:flex; align-items:center; gap:var(--sp-3); font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.fda-board__legend-item{ display:inline-flex; align-items:center; gap:var(--sp-2); }
.fda-board__legend-sep{ opacity:.5; }

/* filters */
.fda-filters{ display:flex; gap:var(--sp-8); flex-wrap:wrap; margin-bottom:var(--sp-8); padding-bottom:var(--sp-6); border-bottom:1px solid var(--border-on-dark); }
.fda-filters__group{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; }
.fda-filters__label{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); margin-right:var(--sp-1); }
.fda-chip{ font-family:var(--font-heading); font-weight:500; font-size:11px; letter-spacing:.04em; color:var(--fg-on-dark-2);
  padding:6px 12px; border-radius:var(--r-pill); border:1px solid var(--border-on-dark); background:rgba(255,255,255,.03);
  transition:color var(--dur-base), border-color var(--dur-base), background var(--dur-base); }
.fda-chip:hover{ color:var(--fg-on-dark-1); border-color:var(--border-on-dark-strong); }
.fda-chip.is-active{ background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:var(--glow-sm); }

/* table */
.fda-board__table{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); overflow:hidden; }
.fda-srow{ display:grid; grid-template-columns:1.7fr 1.2fr 1.4fr 0.9fr 1.5fr 1fr auto 22px; gap:var(--sp-5);
  align-items:center; padding:var(--sp-6) var(--sp-8); border-top:1px solid var(--border-on-dark); cursor:pointer;
  transition:background var(--dur-base); text-align:left; width:100%; background:none; }
.fda-srow-wrap:first-child .fda-srow{ border-top:0; }
.fda-srow:hover{ background:rgba(255,255,255,.02); }
.fda-srow-wrap.is-open .fda-srow{ background:rgba(255,255,255,.03); }
.fda-srow--head{ cursor:default; background:rgba(255,255,255,.02); }
.fda-srow--head .fda-srow__mol, .fda-srow--head .fda-srow__c{ font-family:var(--font-heading); font-weight:600; font-size:11px;
  letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-2); }
.fda-srow--head:hover{ background:rgba(255,255,255,.02); }
.fda-srow__mol{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.fda-srow__name{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-18); color:var(--fg-on-dark-1); }
.fda-srow__desc{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.fda-srow__c{ min-width:0; }
.fda-srow__cat{ font-family:var(--font-mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--fg-on-dark-2); }
.fda-srow__dates{ display:flex; flex-direction:column; gap:3px; }
.fda-srow__date{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--fg-on-dark-1); }
.fda-srow__milestone{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:1.3; }
.fda-srow__chev{ font-family:var(--font-mono); font-size:var(--fs-18); color:var(--fg-on-dark-3); text-align:center; }

/* VERDICT DOT, a traffic-light lamp + a word colored to its state (the "can I get it" signal) */
.vdot{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:600; font-size:var(--fs-13); white-space:nowrap; }
.vdot__mark{ width:13px; height:13px; border-radius:var(--r-pill); flex-shrink:0; }
.vdot--green .vdot__mark{ background:var(--status-success); box-shadow:0 0 9px rgba(79,181,138,.8); }
.vdot--amber .vdot__mark{ background:var(--status-warning); box-shadow:0 0 9px rgba(212,162,74,.8); }
.vdot--red .vdot__mark{ background:var(--status-danger); box-shadow:0 0 9px rgba(226,106,106,.8); }
.vdot__label{ font-size:var(--fs-13); font-weight:600; letter-spacing:.01em; }
.vdot--green .vdot__label{ color:var(--status-success); }
.vdot--amber .vdot__label{ color:var(--status-warning); }
.vdot--red .vdot__label{ color:var(--status-danger); }

/* STATUS PILL, a squared, monochrome regulatory tag marked with § (the "what the rule says" signal). Deliberately NOT round, NOT a traffic-light color. */
.spill{ display:inline-flex; align-items:center; font-family:var(--font-mono); font-weight:400; font-size:10px; letter-spacing:.06em;
  text-transform:uppercase; padding:5px 10px; border-radius:var(--r-sm); white-space:nowrap;
  background:rgba(255,255,255,.05); color:var(--fg-on-dark-2); border:1px solid var(--border-on-dark); }
.spill::before{ content:"\00a7"; margin-right:6px; color:var(--accent-hover); font-weight:700; font-size:11px; }
.spill--mini{ font-size:9px; padding:3px 7px; }
.spill--mini::before{ margin-right:4px; }
/* In the board row, let the regulatory pill wrap within its column instead of
   overrunning into the category cell. */
.fda-srow__c--pill .spill{ white-space:normal; align-items:flex-start; line-height:1.35; }

/* sparkline */
.fda-spark{ color:var(--accent-hover); margin-top:var(--sp-1); display:block; }
.fda-spark__node{ fill:var(--fg-on-dark-3); }
.fda-spark__node--next{ fill:var(--accent-hover); filter:drop-shadow(0 0 4px rgba(var(--glow-rgb),.8)); }

/* availability + notify */
.fda-avail{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; }
.fda-avail--green{ color:var(--status-success); }
.fda-avail--amber{ color:var(--accent-hover); }
.fda-avail--muted{ color:var(--fg-on-dark-3); }
.fda-notify{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wide); text-transform:uppercase;
  color:var(--fg-on-dark-2); padding:7px 12px; border-radius:var(--r-pill); border:1px solid var(--border-on-dark); background:rgba(255,255,255,.03);
  white-space:nowrap; transition:color var(--dur-base), border-color var(--dur-base); }
.fda-notify:hover{ color:var(--fg-on-dark-1); border-color:var(--border-on-dark-strong); }
.fda-notify.is-on{ color:var(--status-success); border-color:rgba(79,181,138,.4); }
/* Row-scale size modifier for the "Get started" CTA on Available rows — matches
   the notify button's footprint so the grid doesn't shift. Size only, no new color. */
.fda-cta{ font-size:10px; letter-spacing:var(--tracking-wide); text-transform:uppercase;
  padding:7px 14px; white-space:nowrap; }

/* inline drawer */
.fda-rowdrawer{ padding:var(--sp-2) var(--sp-8) var(--sp-8); border-top:1px solid var(--border-on-dark); background:rgba(255,255,255,.015); }
.fda-rowdrawer__grid{ display:grid; grid-template-columns:1.6fr 1fr; gap:var(--sp-10); padding-top:var(--sp-6); }
.fda-rowdrawer__signals{ display:flex; align-items:center; gap:var(--sp-4); margin-bottom:var(--sp-4); flex-wrap:wrap; }
.fda-rowdrawer__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-15); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); margin:0; max-width:60ch; }
.fda-rowdrawer__furniture{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-4) 0 0; max-width:60ch; }
.fda-rowdrawer__aside{ display:flex; flex-direction:column; gap:var(--sp-3); border-left:1px solid var(--border-on-dark); padding-left:var(--sp-8); }
.fda-rowdrawer__k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.fda-rowdrawer__v{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-14); color:var(--fg-on-dark-1); margin-bottom:var(--sp-3); }
.fda-board__empty{ padding:var(--sp-16); text-align:center; font-family:var(--font-body); color:var(--fg-on-dark-3); }
.fda-board__foot{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-8) 0 0; max-width:90ch; }

/* modal */
.fda-modal{ position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:var(--sp-6); }
.fda-modal__veil{ position:absolute; inset:0; background:rgba(1,9,29,.62); backdrop-filter:blur(3px); }
.fda-modal__panel{ position:relative; z-index:1; width:min(460px,100%); background:var(--bg-dark-elev);
  border:1px solid var(--border-on-dark-strong); border-radius:var(--r-lg); padding:var(--sp-12); box-shadow:var(--glow-md); }
.fda-modal__close{ position:absolute; top:var(--sp-5); right:var(--sp-5); width:36px; height:36px; border-radius:var(--r-pill);
  display:flex; align-items:center; justify-content:center; color:var(--fg-on-dark-2); border:1px solid var(--border-on-dark); }
.fda-modal__close:hover{ color:var(--fg-on-dark-1); border-color:var(--fg-on-dark-1); }
.fda-modal__h{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-24); color:var(--fg-on-dark-1); margin:var(--sp-3) 0 var(--sp-4); letter-spacing:var(--tracking-tight); }
.fda-modal__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0 0 var(--sp-6); }
.fda-modal__form{ display:flex; gap:var(--sp-2); flex-wrap:wrap; }
.fda-modal__form .nam-router__input{ flex:1; min-width:180px; }
.fda-modal__note{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-5) 0 0; }

/* ===================== CALENDAR (/fda-tracker/calendar) ===================== */
.fda-hero--cal .fda-hero__inner{ padding-bottom:var(--sp-12); }
.cal-wrap{ max-width:1280px; margin:0 auto; padding:var(--sp-12); }
.cal-seg{ display:inline-flex; border:1px solid var(--border-on-dark); border-radius:var(--r-pill); padding:4px; background:var(--bg-dark-card); gap:2px; }
.cal-seg__btn{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13); letter-spacing:.02em; color:var(--fg-on-dark-3);
  padding:9px 22px; border-radius:var(--r-pill); transition:color var(--dur-base), background var(--dur-base); }
.cal-seg__btn:hover{ color:var(--fg-on-dark-1); }
.cal-seg__btn.is-active{ background:var(--accent); color:#fff; box-shadow:var(--glow-sm); }
.cal-stage{ margin-top:var(--sp-10); }
.cal-foot{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-10) 0 0; max-width:90ch; }

/* View A · timeline */
.cal-timeline{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); padding:var(--sp-10) var(--sp-10) var(--sp-8); background:var(--bg-dark-card); }
.cal-tl__plot{ position:relative; }
.cal-tl__axis{ position:relative; height:26px; margin-left:160px; border-bottom:1px solid var(--border-on-dark); }
.cal-tl__year{ position:absolute; top:0; transform:translateX(-50%); }
.cal-tl__year-lbl{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--fg-on-dark-2); }
.cal-tl__q{ position:absolute; top:18px; height:8px; width:1px; background:rgba(255,255,255,.06); transform:translateX(-50%); }
.cal-tl__today{ position:absolute; top:0; bottom:0; width:1px; background:var(--accent); z-index:5; transform:translateX(-50%);
  box-shadow:0 0 10px rgba(var(--glow-rgb),.9); animation:nam-live-pulse 2.4s ease-in-out infinite; }
.cal-tl__today-lbl{ position:absolute; top:-3px; left:50%; transform:translateX(-50%); font-family:var(--font-mono); font-size:9px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--accent-hover); background:var(--bg-dark-card); padding:0 5px; white-space:nowrap; }
@media(prefers-reduced-motion: reduce){ .cal-tl__today{ animation:none; } }
.cal-tl__lanes{ position:relative; margin-top:var(--sp-2); }
.cal-lane{ display:grid; grid-template-columns:160px 1fr; align-items:center; height:46px; }
.cal-lane__label{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13); color:var(--fg-on-dark-2); display:flex; align-items:center; gap:var(--sp-2); padding-right:var(--sp-5); }
.cal-lane__count{ font-family:var(--font-mono); font-size:10px; color:var(--fg-on-dark-3); border:1px solid var(--border-on-dark); border-radius:var(--r-pill); padding:1px 6px; }
.cal-lane__track{ position:relative; height:100%; }
.cal-lane__rail{ position:absolute; top:50%; left:0; right:0; height:1px; background:linear-gradient(90deg, transparent, rgba(var(--glow-rgb),.32) 12%, rgba(var(--glow-rgb),.32) 88%, transparent); }
.cal-lane__mk-wrap{ position:absolute; top:50%; transform:translate(-50%,-50%); z-index:2; }
.cal-mk{ display:flex; align-items:center; justify-content:center; color:var(--fg-on-dark-2); transition:color var(--dur-base), transform var(--dur-base); }
.cal-mk svg{ fill:currentColor; stroke:none; }
.cal-mk svg circle[fill="none"]{ stroke:currentColor; }
.cal-mk:hover{ color:var(--fg-on-dark-1); transform:scale(1.25); }
.cal-mk--catalyst{ color:var(--accent-hover); filter:drop-shadow(0 0 6px rgba(var(--glow-rgb),.9)); }
.cal-mk__dot{ display:inline-block; width:12px; height:12px; border-radius:var(--r-pill); background:var(--accent-hover); filter:drop-shadow(0 0 6px rgba(var(--glow-rgb),.9)); }
.cal-tl__legend{ display:flex; gap:var(--sp-6); flex-wrap:wrap; margin-top:var(--sp-8); padding-top:var(--sp-6); border-top:1px solid var(--border-on-dark); }
.cal-tl__lg{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.cal-tl__lg svg{ fill:var(--fg-on-dark-2); }
.cal-tl__lg svg path{ fill:var(--fg-on-dark-2); }
.cal-tl__lg--cat{ color:var(--accent-hover); }
@media(max-width:780px){ .cal-tl__axis{ margin-left:0; }
  .cal-lane{ grid-template-columns:1fr; height:auto; gap:var(--sp-2); padding:var(--sp-4) 0; border-top:1px solid var(--border-on-dark); }
  .cal-lane__track{ height:30px; } }

/* detail card */
.cal-detail{ position:relative; margin-top:var(--sp-8); border:1px solid var(--border-on-dark-strong); border-radius:var(--r-lg);
  padding:var(--sp-10); background:var(--bg-dark-elev); box-shadow:var(--glow-sm); max-width:620px; }
.cal-detail__close{ position:absolute; top:var(--sp-5); right:var(--sp-5); width:34px; height:34px; border-radius:var(--r-pill);
  display:flex; align-items:center; justify-content:center; color:var(--fg-on-dark-2); border:1px solid var(--border-on-dark); }
.cal-detail__close:hover{ color:var(--fg-on-dark-1); }
.cal-detail__date{ font-family:var(--font-mono); font-size:var(--fs-13); color:var(--accent-hover); letter-spacing:.04em; }
.cal-detail__title{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-24); color:var(--fg-on-dark-1); margin:var(--sp-2) 0 var(--sp-4); letter-spacing:var(--tracking-tight); }
.cal-detail__why{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-15); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0 0 var(--sp-5); }
.cal-detail__note{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-5); border-radius:var(--r-md); background:var(--accent-soft); border:1px solid var(--border-on-dark-strong);
  font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); }
.cal-detail__note-k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--accent-hover); }
.cal-detail__actions{ display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; margin-top:var(--sp-6); }
.cal-detail__ics{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase;
  color:var(--fg-on-dark-1); padding:11px 16px; border-radius:var(--r-pill); border:1px solid var(--border-on-dark-strong); }
.cal-detail__ics:hover{ border-color:var(--accent-hover); color:var(--accent-hover); }
.cal-detail__src{ margin-top:var(--sp-5); }

/* View B · month */
.cal-month{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); padding:var(--sp-8); background:var(--bg-dark-card); }
.cal-month__nav{ display:flex; align-items:center; justify-content:center; gap:var(--sp-8); margin-bottom:var(--sp-6); }
.cal-month__title{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-24); color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); min-width:180px; text-align:center; }
.cal-month__arrow{ width:40px; height:40px; border-radius:var(--r-pill); border:1px solid var(--border-on-dark); color:var(--fg-on-dark-2); font-size:var(--fs-16); }
.cal-month__arrow:hover{ color:var(--fg-on-dark-1); border-color:var(--border-on-dark-strong); }
.cal-month__dow{ display:grid; grid-template-columns:repeat(7,1fr); gap:var(--sp-2); margin-bottom:var(--sp-2); }
.cal-month__dow span{ font-family:var(--font-mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--fg-on-dark-3); text-align:center; padding:var(--sp-2) 0; }
.cal-month__grid{ display:grid; grid-template-columns:repeat(7,1fr); gap:var(--sp-2); }
.cal-cell{ min-height:84px; border:1px solid var(--border-on-dark); border-radius:var(--r-sm); padding:var(--sp-3); display:flex; flex-direction:column; gap:var(--sp-2); background:rgba(255,255,255,.012); }
.cal-cell--empty{ border-color:transparent; background:none; }
.cal-cell__d{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.cal-chip{ font-family:var(--font-heading); font-weight:500; font-size:10px; letter-spacing:.01em; text-align:left; color:var(--fg-on-dark-1);
  padding:5px 7px; border-radius:var(--r-sm); background:var(--accent-soft); border:1px solid var(--border-on-dark-strong); line-height:1.2; }
.cal-chip:hover{ border-color:var(--accent-hover); }
.cal-chip--catalyst{ box-shadow:var(--glow-sm); border-color:var(--accent-hover); }
@media(max-width:640px){ .cal-cell{ min-height:62px; } .cal-chip{ font-size:9px; } }

/* View C · agenda */
.cal-agenda{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); overflow:hidden; }
.cal-ag{ display:grid; grid-template-columns:150px 1fr; gap:var(--sp-6); padding:var(--sp-6) var(--sp-8); border-top:1px solid var(--border-on-dark); }
.cal-agenda .cal-ag:first-child{ border-top:0; }
.cal-ag--catalyst{ background:var(--accent-soft); }
.cal-ag__date{ font-family:var(--font-mono); font-size:var(--fs-13); color:var(--accent-hover); display:flex; flex-direction:column; gap:var(--sp-2); }
.cal-ag__proj{ font-family:var(--font-heading); font-weight:600; font-size:9px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--fg-on-dark-3); }
.cal-ag__title{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-18); color:var(--fg-on-dark-1); text-align:left; }
.cal-ag__title:hover{ color:var(--accent-hover); }
.cal-ag__why{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:var(--sp-2) 0 0; max-width:70ch; }
.cal-ag__actions{ display:flex; align-items:center; gap:var(--sp-5); flex-wrap:wrap; margin-top:var(--sp-4); }
.cal-ag__src, .cal-ag__act{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); }
.cal-ag__src:hover, .cal-ag__act:hover{ color:var(--fg-on-dark-1); }
@media(max-width:640px){ .cal-ag{ grid-template-columns:1fr; gap:var(--sp-3); } }

/* ===================== ALERT MODAL (extends .fda-modal) ===================== */
.fda-modal__chip{ display:flex; flex-direction:column; gap:3px; padding:var(--sp-4) var(--sp-5); border-radius:var(--r-md);
  background:var(--accent-soft); border:1px solid var(--border-on-dark-strong); margin:0 0 var(--sp-5);
  font-family:var(--font-heading); font-weight:500; font-size:var(--fs-14); color:var(--fg-on-dark-1); }
.fda-modal__chip-k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--accent-hover); }
.fda-modal__chip-signals{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-2); flex-wrap:wrap; }
.fda-modal__form2{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fda-modal__submit{ justify-content:center; margin-top:var(--sp-2); }
.fda-opt{ display:flex; align-items:flex-start; gap:var(--sp-3); font-family:var(--font-body); font-weight:300; font-size:var(--fs-13);
  line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); cursor:pointer; }
.fda-opt input{ margin-top:3px; accent-color:var(--accent); width:15px; height:15px; flex-shrink:0; }
.fda-opt--sms{ font-size:var(--fs-12); color:var(--fg-on-dark-3); padding:var(--sp-3) var(--sp-4); border:1px solid var(--border-on-dark); border-radius:var(--r-sm); }
.fda-modal__consent{ font-family:var(--font-body); font-size:11px; color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-5) 0 0; }
.fda-modal__success .fda-modal__actions{ display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; margin-top:var(--sp-6); }

/* ===================== PREFERENCE CENTER (/fda-tracker/alerts) ===================== */
.alc{ max-width:1100px; margin:0 auto; padding:var(--sp-12); }
.alc-foot{ font-family:var(--font-body); font-size:11px; color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-10) 0 0; max-width:92ch; }
.alc-empty{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); padding:var(--sp-16); text-align:center; background:var(--bg-dark-card); }
.alc-empty__h{ font-family:var(--font-heading); font-weight:300; font-size:var(--fs-32); color:var(--fg-on-dark-1); margin:0 0 var(--sp-4); }
.alc-empty__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-15); color:var(--fg-on-dark-2); margin:0 auto var(--sp-8); max-width:52ch; line-height:var(--lh-relaxed); }
.alc-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:var(--sp-6); align-items:start; }
.alc-main, .alc-side{ display:flex; flex-direction:column; gap:var(--sp-4); }
.alc-card{ border:1px solid var(--border-on-dark); border-radius:var(--r-lg); padding:var(--sp-8); background:var(--bg-dark-card); }
.alc-card--warn{ border-color:rgba(212,162,74,.4); background:rgba(212,162,74,.06); }
.alc-card--meta{ background:rgba(255,255,255,.015); }
.alc-card__h{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-18); color:var(--fg-on-dark-1); display:flex; align-items:center; gap:var(--sp-3); margin-bottom:var(--sp-2); }
.alc-card__n{ font-family:var(--font-mono); font-size:11px; color:var(--accent-hover); border:1px solid var(--border-on-dark-strong); border-radius:var(--r-pill); padding:1px 8px; }
.alc-card__sub{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:0 0 var(--sp-4); }
.alc-card__empty{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); color:var(--fg-on-dark-3); margin:0; }
.alc-card__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-14); color:var(--fg-on-dark-2); line-height:var(--lh-relaxed); margin:0 0 var(--sp-5); }
.alc-pills{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.alc-pill{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13);
  color:var(--fg-on-dark-1); background:rgba(255,255,255,.04); border:1px solid var(--border-on-dark-strong); border-radius:var(--r-pill); padding:6px 6px 6px 13px; }
.alc-pill__x{ width:20px; height:20px; border-radius:var(--r-pill); display:flex; align-items:center; justify-content:center; color:var(--fg-on-dark-3); font-size:15px; line-height:1; }
.alc-pill__x:hover{ color:var(--status-danger); background:rgba(226,106,106,.12); }
.alc-cats{ display:flex; flex-wrap:wrap; gap:var(--sp-2); }
.alc-cat{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13);
  color:var(--fg-on-dark-2); border:1px solid var(--border-on-dark); border-radius:var(--r-pill); padding:7px 13px; cursor:pointer; transition:color var(--dur-base), border-color var(--dur-base), background var(--dur-base); }
.alc-cat input{ display:none; }
.alc-cat:hover{ color:var(--fg-on-dark-1); border-color:var(--border-on-dark-strong); }
.alc-cat.is-on{ background:var(--accent-soft); border-color:var(--border-on-dark-strong); color:var(--fg-on-dark-1); }
.alc-switch{ display:flex; align-items:center; gap:var(--sp-3); cursor:pointer; margin-bottom:var(--sp-3); }
.alc-switch input{ display:none; }
.alc-switch__track{ width:38px; height:22px; border-radius:var(--r-pill); background:rgba(255,255,255,.08); border:1px solid var(--border-on-dark); position:relative; transition:background var(--dur-base); flex-shrink:0; }
.alc-switch__track::after{ content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:var(--r-pill); background:var(--fg-on-dark-3); transition:transform var(--dur-base), background var(--dur-base); }
.alc-switch input:checked + .alc-switch__track{ background:var(--accent); border-color:var(--accent); }
.alc-switch input:checked + .alc-switch__track::after{ transform:translateX(16px); background:#fff; }
.alc-switch input:disabled + .alc-switch__track{ opacity:.4; }
.alc-switch__label{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-14); color:var(--fg-on-dark-1); }
.alc-meta{ display:flex; justify-content:space-between; gap:var(--sp-4); padding:var(--sp-3) 0; border-top:1px solid var(--border-on-dark); font-family:var(--font-body); font-size:var(--fs-13); }
.alc-meta:first-of-type{ border-top:0; }
.alc-meta span{ color:var(--fg-on-dark-3); }
.alc-meta b{ color:var(--fg-on-dark-1); font-weight:500; font-family:var(--font-mono); font-size:var(--fs-12); }
.alc-unsub{ margin-top:var(--sp-5); font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--fg-on-dark-3); }
.alc-unsub:hover{ color:var(--status-danger); }
@media(max-width:780px){ .alc-grid{ grid-template-columns:1fr; } }

/* ===================== NEWSROOM (/fda-tracker/news) ===================== */
.news-wrap{ max-width:1100px; margin:0 auto; padding:var(--sp-12); }
.news-filters{ display:flex; align-items:center; gap:var(--sp-2); flex-wrap:wrap; margin-bottom:var(--sp-8); padding-bottom:var(--sp-6); border-bottom:1px solid var(--border-on-dark); }
.news-rss{ margin-left:auto; display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:600; font-size:10px;
  letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); border:1px solid var(--border-on-dark-strong); border-radius:var(--r-pill); padding:6px 12px; }
.news-rss:hover{ color:var(--fg-on-dark-1); border-color:var(--fg-on-dark-1); }
.news-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(300px,1fr)); gap:var(--sp-4); }
.news-card{ display:flex; flex-direction:column; gap:var(--sp-3); padding:var(--sp-8); border-radius:var(--r-md);
  background:rgba(255,255,255,.025); border:1px solid var(--border-on-dark); transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base); }
.news-card:hover{ transform:translateY(-3px); border-color:rgba(var(--glow-rgb),.45); }
.news-card__top{ display:flex; align-items:center; justify-content:space-between; gap:var(--sp-3); }
.news-card__cat{ font-family:var(--font-mono); font-size:10px; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-hover); }
.news-card__date{ font-family:var(--font-mono); font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.news-card__headline{ font-family:var(--font-heading); font-weight:400; font-size:var(--fs-18); line-height:var(--lh-snug); color:var(--fg-on-dark-1); margin:0; }
.news-card__summary{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; flex:1; }
.news-card__more{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); }
.news-empty{ font-family:var(--font-body); color:var(--fg-on-dark-3); grid-column:1 / -1; text-align:center; padding:var(--sp-12); }
.news-foot{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-10) 0 0; max-width:90ch; }

/* hub latest strip */
.news-latest{ background:var(--bg-dark); border-top:1px solid var(--border-on-dark); }
.news-latest__inner{ max-width:1280px; margin:0 auto; padding:var(--sp-16) var(--sp-12); }
.news-latest__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-6); flex-wrap:wrap; margin-bottom:var(--sp-8); }
.news-latest__title{ font-family:var(--font-heading); font-weight:200; font-size:clamp(28px,3.2vw,42px); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; }

/* ===================== HUB CALENDAR EMBED STRIP (§3.3) ===================== */
.fda-calstrip{ background:var(--bg-dark); border-top:1px solid var(--border-on-dark); }
.fda-calstrip__inner{ max-width:1280px; margin:0 auto; padding:var(--sp-16) var(--sp-12); }
.fda-calstrip__head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sp-6); flex-wrap:wrap; margin-bottom:var(--sp-8); }
.fda-calstrip__title{ font-family:var(--font-heading); font-weight:200; font-size:clamp(28px,3.2vw,42px); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; }
.fda-calstrip__list{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:var(--sp-4); }
.fda-calstrip__item{ display:flex; flex-direction:column; gap:var(--sp-2); padding:var(--sp-6); border-radius:var(--r-md);
  background:rgba(255,255,255,.025); border:1px solid var(--border-on-dark); transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base); }
.fda-calstrip__item:hover{ transform:translateY(-3px); border-color:rgba(var(--glow-rgb),.45); }
.fda-calstrip__item.is-catalyst{ background:var(--accent-soft); border-color:var(--border-on-dark-strong); box-shadow:var(--glow-sm); }
.fda-calstrip__date{ font-family:var(--font-mono); font-size:var(--fs-13); color:var(--accent-hover); letter-spacing:.03em; }
.fda-calstrip__date small{ color:var(--fg-on-dark-3); }
.fda-calstrip__t{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-15); line-height:var(--lh-snug); color:var(--fg-on-dark-1); }
.fda-calstrip__why{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); }

/* single post */
.news-post{ max-width:740px; margin:0 auto; padding:var(--sp-16) var(--sp-12) var(--sp-24); }
.news-post__cat{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-hover); margin:var(--sp-8) 0 var(--sp-4); }
.news-post__headline{ font-family:var(--font-heading); font-weight:300; font-size:clamp(30px,4vw,48px); line-height:var(--lh-tight); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:0; text-wrap:balance; }
.news-post__meta{ display:flex; align-items:center; gap:var(--sp-3); margin-top:var(--sp-6); font-family:var(--font-mono); font-size:var(--fs-12); color:var(--fg-on-dark-3); }
.news-post__byline{ font-family:var(--font-body); font-size:var(--fs-13); color:var(--fg-on-dark-2); margin-top:var(--sp-3); padding-bottom:var(--sp-6); border-bottom:1px solid var(--border-on-dark); }
.news-post__byline b{ color:var(--fg-on-dark-1); font-weight:500; }
.news-post__lede{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-20); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); margin:var(--sp-8) 0 var(--sp-6); }
.news-post__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-16); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0 0 var(--sp-5); }
.news-change{ margin:var(--sp-8) 0; padding:var(--sp-8); border-radius:var(--r-md); background:var(--accent-soft); border:1px solid var(--border-on-dark-strong); }
.news-change__h{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--accent-hover); margin-bottom:var(--sp-3); }
.news-change__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-15); line-height:var(--lh-relaxed); color:var(--fg-on-dark-1); margin:0; }
.news-change__verdict{ display:flex; flex-direction:column; gap:var(--sp-2); margin-top:var(--sp-5); padding-top:var(--sp-5); border-top:1px solid var(--border-on-dark); }
.news-change__vk{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.news-change__dots{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.news-change__arrow{ color:var(--fg-on-dark-3); }
.news-change__nomove{ font-family:var(--font-edit, var(--font-body)); font-style:italic; font-size:var(--fs-13); color:var(--accent-hover); }
.news-change__pill{ font-family:var(--font-mono); font-size:11px; color:var(--fg-on-dark-2); }
.news-sources{ margin:var(--sp-8) 0; }
.news-sources__h{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); margin-bottom:var(--sp-3); }
.news-sources__list{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:var(--sp-2); }
.news-sources__list a{ font-family:var(--font-body); font-size:var(--fs-14); color:var(--accent-hover); }
.news-sources__list a:hover{ color:var(--fg-on-dark-1); }
.news-post__furniture{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-6) 0; padding-top:var(--sp-6); border-top:1px solid var(--border-on-dark); }
.news-cta{ display:flex; align-items:center; gap:var(--sp-6); flex-wrap:wrap; margin-top:var(--sp-8); }
@media(max-width:560px){ .news-post{ padding:var(--sp-10) var(--sp-6) var(--sp-16); } }

/* ===================== PER-MOLECULE STATUS PAGE (/fda-tracker/{molecule}) ===================== */
.mol{ max-width:760px; margin:0 auto; padding:var(--sp-12) var(--sp-12) var(--sp-24); }
.mol-trio{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; margin-bottom:var(--sp-10); }
.mol-trio__step{ display:flex; flex-direction:column; gap:1px; font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13); color:var(--fg-on-dark-2);
  border:1px solid var(--border-on-dark); border-radius:var(--r-md); padding:var(--sp-3) var(--sp-5); transition:color var(--dur-base), border-color var(--dur-base); }
.mol-trio__step small{ font-family:var(--font-mono); font-size:9px; letter-spacing:.06em; text-transform:uppercase; color:var(--fg-on-dark-3); }
.mol-trio__step:hover{ color:var(--fg-on-dark-1); border-color:var(--border-on-dark-strong); }
.mol-trio__step.is-current{ background:var(--accent-soft); border-color:var(--border-on-dark-strong); color:var(--fg-on-dark-1); }
.mol-trio__step.is-current small{ color:var(--accent-hover); }
.mol-trio__arrow{ color:var(--fg-on-dark-3); }
.mol-eyebrow{ font-family:var(--font-mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-hover); }
.mol-name{ font-family:var(--font-heading); font-weight:200; font-size:clamp(40px,6vw,72px); line-height:var(--lh-tight); letter-spacing:var(--tracking-tight); color:var(--fg-on-dark-1); margin:var(--sp-3) 0 0; }
.mol-desc{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-16); color:var(--fg-on-dark-3); margin-top:var(--sp-2); }
.mol-signals{ display:grid; grid-template-columns:repeat(3,auto); gap:var(--sp-10); margin:var(--sp-10) 0; padding:var(--sp-8); border:1px solid var(--border-on-dark); border-radius:var(--r-lg); background:var(--bg-dark-card); }
.mol-signal{ display:flex; flex-direction:column; gap:var(--sp-3); }
.mol-signal__k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.mol-signal__avail{ font-family:var(--font-heading); font-weight:600; font-size:var(--fs-14); color:var(--fg-on-dark-1); }
.mol-qa{ margin:var(--sp-10) 0; }
.mol-qa__q{ font-family:var(--font-heading); font-weight:400; font-size:var(--fs-24); color:var(--fg-on-dark-1); margin:0 0 var(--sp-4); letter-spacing:var(--tracking-tight); }
.mol-qa__a{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-16); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; max-width:66ch; }
.mol-next{ display:flex; align-items:center; gap:var(--sp-4); flex-wrap:wrap; padding:var(--sp-6) var(--sp-8); border:1px solid var(--border-on-dark); border-radius:var(--r-md); background:rgba(255,255,255,.02); }
.mol-next__k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.mol-next__v{ font-family:var(--font-mono); font-size:var(--fs-14); color:var(--fg-on-dark-1); margin-right:auto; }
.mol-furniture{ font-family:var(--font-body); font-size:var(--fs-12); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-6) 0; max-width:80ch; }
.mol-cta{ display:flex; align-items:center; gap:var(--sp-6); flex-wrap:wrap; margin-top:var(--sp-6); }
.mol-eeat{ margin-top:var(--sp-12); }
/* embeddable badge */
.mol-embed{ margin-top:var(--sp-12); padding:var(--sp-8); border:1px solid var(--border-on-dark); border-radius:var(--r-lg); background:rgba(255,255,255,.015); }
.mol-embed__h{ font-family:var(--font-heading); font-weight:500; font-size:var(--fs-16); color:var(--fg-on-dark-1); }
.mol-embed__p{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); color:var(--fg-on-dark-3); margin:var(--sp-2) 0 var(--sp-5); line-height:var(--lh-relaxed); }
.mol-embed__badge{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:600; font-size:var(--fs-12);
  color:var(--fg-on-dark-1); background:var(--bg-dark); border:1px solid var(--border-on-dark-strong); border-radius:var(--r-pill); padding:8px 14px; }
.mol-embed__codewrap{ display:flex; gap:var(--sp-2); align-items:stretch; margin-top:var(--sp-5); flex-wrap:wrap; }
.mol-embed__code{ flex:1; min-width:240px; font-family:var(--font-mono); font-size:11px; line-height:1.5; color:var(--fg-on-dark-3);
  background:var(--bg-dark); border:1px solid var(--border-on-dark); border-radius:var(--r-sm); padding:var(--sp-4); overflow-x:auto; white-space:pre-wrap; word-break:break-all; max-height:120px; }
.mol-embed__copy{ font-family:var(--font-heading); font-weight:600; font-size:11px; letter-spacing:var(--tracking-wide); text-transform:uppercase; color:var(--fg-on-dark-1);
  border:1px solid var(--border-on-dark-strong); border-radius:var(--r-md); padding:0 var(--sp-6); white-space:nowrap; }
.mol-embed__copy:hover{ color:var(--accent-hover); border-color:var(--accent-hover); }
/* verdict dot mark, usable standalone (badge preview) */
.vdot__mark.vdot--green{ background:var(--status-success); box-shadow:0 0 8px rgba(79,181,138,.65); }
.vdot__mark.vdot--amber{ background:var(--status-warning); box-shadow:0 0 8px rgba(212,162,74,.65); }
.vdot__mark.vdot--red{ background:var(--status-danger); box-shadow:0 0 8px rgba(226,106,106,.65); }
@media(max-width:640px){ .mol{ padding:var(--sp-10) var(--sp-6) var(--sp-16); } .mol-signals{ grid-template-columns:1fr; gap:var(--sp-5); } }

/* Board reflows to the stacked two-signal layout across the whole tablet / small-laptop
   band, the 8-column grid collides between ~920–1080px otherwise (review P2). */
@media(max-width:1080px){
  .fda-srow, .fda-srow--head{ grid-template-columns:1fr auto; gap:var(--sp-3); padding:var(--sp-6); }
  .fda-srow--head{ display:none; }
  .fda-srow__c--cat, .fda-srow__c--dates{ grid-column:1 / -1; }
  .fda-srow__c--verdict{ grid-column:1; } .fda-srow__c--pill{ grid-column:2; justify-self:end; }
  .fda-srow__c--avail{ grid-column:1; } .fda-srow__c--notify{ grid-column:2; justify-self:end; }
  .fda-srow__chev{ display:none; }
  .fda-rowdrawer__grid{ grid-template-columns:1fr; gap:var(--sp-6); }
  .fda-rowdrawer__aside{ border-left:0; border-top:1px solid var(--border-on-dark); padding-left:0; padding-top:var(--sp-5); }
}

/* ===================== FOUNDATION DATA READOUT (kept for reference, unused on hub) ===================== */
.fda-readout{ max-width:1280px; margin:0 auto; padding:var(--sp-12); }
.fda-readout__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-4); }
.fda-readout__cell{ padding:var(--sp-8); border-radius:var(--r-md); background:rgba(255,255,255,.025);
  border:1px solid var(--border-on-dark); display:flex; flex-direction:column; gap:var(--sp-2); }
.fda-readout__n{ font-family:var(--font-heading); font-weight:200; font-size:var(--fs-48); line-height:1; color:var(--fg-on-dark-1); letter-spacing:var(--tracking-tight); }
.fda-readout__n small{ font-family:var(--font-mono); font-size:var(--fs-14); color:var(--accent-hover); font-weight:400; margin-left:var(--sp-2); }
.fda-readout__k{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.fda-readout__d{ font-family:var(--font-body); font-weight:300; font-size:var(--fs-13); line-height:var(--lh-relaxed); color:var(--fg-on-dark-2); margin:0; }
.fda-readout__note{ font-family:var(--font-body); font-size:var(--fs-13); color:var(--fg-on-dark-3); line-height:var(--lh-relaxed); margin:var(--sp-8) 0 0; max-width:80ch; }

/* The two-signal legend, visible proof the dot and pill are distinct systems */
.fda-legend{ display:flex; gap:var(--sp-8); flex-wrap:wrap; margin-top:var(--sp-8); padding-top:var(--sp-8); border-top:1px solid var(--border-on-dark); }
.fda-legend__group{ display:flex; flex-direction:column; gap:var(--sp-3); }
.fda-legend__h{ font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:var(--tracking-wider); text-transform:uppercase; color:var(--fg-on-dark-3); }
.fda-legend__row{ display:flex; align-items:center; gap:var(--sp-3); flex-wrap:wrap; }
.fda-dot{ display:inline-flex; align-items:center; gap:var(--sp-2); font-family:var(--font-heading); font-weight:500; font-size:var(--fs-13); color:var(--fg-on-dark-2); }
.fda-dot__mark{ width:11px; height:11px; border-radius:var(--r-pill); flex-shrink:0; }
.fda-dot__mark--green{ background:var(--status-success); box-shadow:0 0 8px rgba(79,181,138,.6); }
.fda-dot__mark--amber{ background:var(--status-warning); box-shadow:0 0 8px rgba(212,162,74,.6); }
.fda-dot__mark--red{ background:var(--status-danger); box-shadow:0 0 8px rgba(226,106,106,.6); }
.fda-pill{ display:inline-block; font-family:var(--font-heading); font-weight:600; font-size:10px; letter-spacing:.06em;
  text-transform:uppercase; padding:5px 11px; border-radius:var(--r-pill); white-space:nowrap;
  background:var(--accent-soft); color:var(--accent-hover); border:1px solid var(--border-on-dark-strong); }

@media(max-width:780px){ .fda-readout__grid{ grid-template-columns:1fr; } .fda-legend{ flex-direction:column; gap:var(--sp-6); } }

/* =========================================================================
   PANEL + GROUPING PASS, ports the monograph treatment to the Tracker:
   accent-marker section headers · the data board as one elevated grouped
   panel · loose card grids unified to the KB card material. Token-driven.
   ========================================================================= */

/* ---- accent-marker section headers ---- */
.fda-board__title, .fda-calstrip__title, .news-latest__title{ display:inline-flex; align-items:center; gap:var(--sp-4); }
.fda-board__title::before, .fda-calstrip__title::before, .news-latest__title::before{
  content:""; flex-shrink:0; width:5px; height:.78em; border-radius:3px;
  background:linear-gradient(var(--accent-hover), var(--accent));
  box-shadow:0 0 14px rgba(var(--glow-rgb),.55);
}

/* ---- the status board → one elevated, grouped panel ---- */
.fda-board__table{
  border-radius:var(--r-xl);
  background:linear-gradient(168deg,
    color-mix(in srgb, var(--bg-dark-card) 90%, #fff) 0%,
    var(--bg-dark-card) 58%,
    color-mix(in srgb, var(--bg-dark-card) 80%, var(--bg-dark)) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055), 0 18px 48px rgba(0,0,0,.30);
}
.fda-srow--head{ background:rgba(255,255,255,.045); }
.fda-srow:hover{ background:rgba(255,255,255,.04); }
.fda-srow-wrap.is-open .fda-srow{ background:rgba(255,255,255,.055); }
.fda-rowdrawer{ background:rgba(0,0,0,.20); }            /* recessed well inside the panel */

/* ---- catalyst countdown → same panel material, glow kept ---- */
.fda-count{
  background:linear-gradient(168deg,
    color-mix(in srgb, var(--bg-dark-card) 92%, #fff) 0%,
    var(--bg-dark-card) 60%,
    color-mix(in srgb, var(--bg-dark-card) 80%, var(--bg-dark)) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), var(--glow-md);
}

/* ---- loose card grids → unified KB card material ---- */
.fda-calstrip__item, .news-card{
  border-radius:var(--r-lg);
  background:linear-gradient(165deg, rgba(255,255,255,.055), rgba(255,255,255,.013));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}
.fda-calstrip__item:hover, .news-card:hover{
  border-color:rgba(var(--glow-rgb),.5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 16px 40px rgba(0,0,0,.4);
}
.fda-calstrip__item.is-catalyst{
  background:linear-gradient(165deg, rgba(var(--glow-rgb),.17), rgba(var(--glow-rgb),.04));
  border-color:rgba(var(--glow-rgb),.5);
}
