/* ════════════════════════════════════════════════════════════════
   Americana design system — lifted VERBATIM from Fable's mockups
   (~/Desktop/redesign-mockups/05-americana-full-depth.html). These are
   the exact tokens, shadows, hairlines, type scale, and component classes
   Fable designed — .amx- prefixed so they never collide with the app's
   own .card/.btn/.chip. Any Americana screen built with these classes IS
   Fable's design, not an approximation. Harmless when unused.
   ════════════════════════════════════════════════════════════════ */

:root {
  --amx-paper:#F7F7F5; --amx-card:#FFFFFF;
  --amx-navy:#1B2A52; --amx-navy-soft:#2A3C6E; --amx-red:#B22234;
  --amx-ink:#21262E; --amx-ink-2:#4A5160; --amx-ink-3:#7A8090;
  --amx-hairline:#E7E7E2; --amx-hairline-2:#EFEFEA; --amx-chipbg:#F2F2EE;
  --amx-inset:#FAFAF8;
  --amx-shadow:0 1px 3px rgba(0,0,0,0.06); --amx-radius:10px;
  --amx-mono:'Spline Sans Mono', ui-monospace, SFMono-Regular, monospace;
  --amx-sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;

  /* ── P1 additions (2026-06-23): action/accent + radius/shadow/motion scales.
     ADDITIVE ONLY — every original token above is untouched, so nothing
     regresses. Components get re-pointed to these in a follow-up edit.
     Design intent: primary actions = navy (--amx-action); flag-red is an
     ACCENT (--amx-accent) for rules, high-signal chips, focus — never
     sprinkled arbitrarily. Navy-tinted shadows read more premium than gray. */
  --amx-action:var(--amx-navy);
  --amx-action-hover:var(--amx-navy-soft);
  --amx-accent:var(--amx-red);
  --amx-on-action:#FFFFFF;
  --amx-radius-sm:6px;  --amx-radius-lg:14px;  --amx-radius-pill:999px;
  --amx-shadow-sm:0 1px 2px rgba(27,42,82,.05);
  --amx-shadow-md:0 4px 14px -4px rgba(27,42,82,.14);
  --amx-shadow-lg:0 14px 36px -10px rgba(27,42,82,.20);
  --amx-focus:0 0 0 3px rgba(178,34,52,.16);
  --amx-dur-fast:120ms; --amx-dur:200ms; --amx-dur-slow:400ms;
  --amx-ease:cubic-bezier(.2,.7,.2,1); --amx-ease-out:cubic-bezier(.16,.84,.44,1);
}

/* Honor reduced-motion everywhere Americana is used. */
@media (prefers-reduced-motion: reduce) {
  :root { --amx-dur-fast:0ms; --amx-dur:0ms; --amx-dur-slow:0ms; }
}

.amx-mono { font-family:var(--amx-mono); }

/* ---------- masthead / page header ---------- */
.amx-masthead {
  background:var(--amx-card); border-radius:var(--amx-radius);
  box-shadow:var(--amx-shadow); border:1px solid var(--amx-hairline-2);
  padding:24px 28px 20px; margin:0 0 22px; position:relative; overflow:hidden;
}
.amx-masthead::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--amx-navy) 0 70%, var(--amx-red) 70% 100%);
}
.amx-eyebrow {
  display:flex; justify-content:space-between; align-items:center;
  font:600 10.5px var(--amx-mono); letter-spacing:0.18em; color:var(--amx-ink-3);
  text-transform:uppercase; margin-bottom:14px;
}
.amx-eyebrow .accent { color:var(--amx-red); }
.amx-masthead h1 { font-size:30px; font-weight:800; letter-spacing:-0.015em; color:var(--amx-ink); line-height:1.15; }
.amx-masthead .sub { font-size:14.5px; color:var(--amx-ink-2); font-weight:500; margin-top:6px; }

/* ---------- cards ---------- */
.amx-card {
  background:var(--amx-card); border-radius:var(--amx-radius);
  box-shadow:0 1px 3px rgba(27,42,82,.07), 0 1px 2px rgba(27,42,82,.05);
  border:1px solid var(--amx-hairline);
  padding:22px 26px; margin-bottom:18px;
  color:var(--amx-ink); box-sizing:border-box;
  transition:box-shadow var(--amx-dur) var(--amx-ease), transform var(--amx-dur) var(--amx-ease);
}
.amx-card.tinted { background:var(--amx-inset); }
.amx-card.tight { padding:16px 18px; }

/* ---------- section headings + redrule ---------- */
.amx-sec-h { display:flex; align-items:baseline; gap:10px; margin-bottom:14px; }
.amx-sec-h::before {
  content:""; width:4px; height:15px; background:var(--amx-navy);
  border-radius:2px; align-self:center; flex:none;
}
.amx-sec-h h2 { font-size:12px; font-weight:800; letter-spacing:0.14em; text-transform:uppercase; color:var(--amx-navy); }
.amx-sec-h .sub { font-size:11.5px; color:var(--amx-ink-3); font-weight:500; }
.amx-sec-h .spacer { flex:1; }
.amx-sec-h .link { background:none; border:0; cursor:pointer; color:var(--amx-navy); font:700 12px var(--amx-sans); border-radius:6px; padding:4px 0; }
.amx-sec-h .link:focus-visible { outline:2px solid var(--amx-red); outline-offset:3px; }
.amx-redrule { height:1px; background:linear-gradient(90deg, var(--amx-red) 0, var(--amx-red) 42px, var(--amx-hairline) 42px); margin:0 0 16px; }

/* ---------- chips ---------- */
.amx-chip {
  display:inline-flex; align-items:center; gap:5px;
  font:600 10.5px/1 var(--amx-mono); letter-spacing:0.02em;
  padding:4px 8px; border-radius:5px; white-space:nowrap; max-width:100%;
}
.amx-chip.host { background:var(--amx-chipbg); color:var(--amx-ink-2); border:1px solid var(--amx-hairline); }
.amx-chip.high { background:#fff; color:var(--amx-red); border:1px solid rgba(178,34,52,0.38); }
.amx-chip.mod  { background:#fff; color:#8A6D1F; border:1px solid #D9C98F; }
.amx-chip.low  { background:#fff; color:var(--amx-ink-3); border:1px solid var(--amx-hairline); }
.amx-chip.navy { background:var(--amx-navy); color:#fff; }
.amx-chip.soft { background:var(--amx-chipbg); color:var(--amx-ink-2); border:1px solid var(--amx-hairline); }

/* ---------- stat strip (mono numerics) ---------- */
.amx-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:0; }
.amx-mstat { padding:18px 22px; border-left:1px solid var(--amx-hairline); }
.amx-mstat:first-child { border-left:0; }
.amx-mstat .v { font:600 32px var(--amx-mono); color:var(--amx-navy); line-height:1; }
.amx-mstat .v em { font-style:normal; color:var(--amx-red); }
.amx-mstat .k { font-size:13px; font-weight:700; color:var(--amx-ink); margin-top:11px; }
.amx-mstat .h { font-size:12px; color:var(--amx-ink-3); margin-top:2px; }

/* ---------- buttons ---------- */
.amx-btn { appearance:none; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border-radius:8px; font:700 14px var(--amx-sans); padding:12px 20px; border:1px solid transparent; text-decoration:none; white-space:nowrap; transition:background var(--amx-dur-fast) var(--amx-ease), border-color var(--amx-dur-fast) var(--amx-ease), transform var(--amx-dur-fast) var(--amx-ease), box-shadow var(--amx-dur-fast) var(--amx-ease); }
.amx-btn:focus-visible { outline:2px solid var(--amx-red); outline-offset:2px; box-shadow:var(--amx-focus); }
.amx-btn:active { transform:translateY(1px); }
.amx-btn.primary { background:var(--amx-action); color:var(--amx-on-action); border-color:var(--amx-action); box-shadow:0 8px 20px -10px rgba(27,42,82,0.5); }
.amx-btn.primary:hover { background:var(--amx-action-hover); border-color:var(--amx-action-hover); transform:translateY(-1px); }
.amx-btn.ghost { background:#fff; color:var(--amx-navy); border-color:var(--amx-hairline); }
.amx-btn.ghost:hover { border-color:var(--amx-navy); background:var(--amx-chipbg); }
.amx-btn:disabled,
.amx-btn[aria-disabled="true"] { cursor:not-allowed; opacity:.58; transform:none; box-shadow:none; }

/* ---------- ring (confidence/match/health) ---------- */
.amx-ring { width:84px; height:84px; border-radius:50%; flex:none; display:grid; place-items:center; position:relative; }
.amx-ring .arc { position:absolute; inset:0; border-radius:50%; }
.amx-ring .hole { width:64px; height:64px; border-radius:50%; background:#fff; display:grid; place-items:center; text-align:center; z-index:1; }
.amx-ring .num { font:600 22px var(--amx-mono); color:var(--amx-ink); line-height:1; }
.amx-ring .lbl { font:600 8.5px var(--amx-mono); letter-spacing:0.1em; color:var(--amx-red); text-transform:uppercase; margin-top:2px; }
.amx-ring-cap { font-size:11px; color:var(--amx-ink-3); text-align:center; margin-top:6px; font-weight:600; }

/* ---------- row lists ---------- */
.amx-rowlist .amx-row { display:flex; align-items:center; gap:14px; padding:13px 0; border-top:1px solid var(--amx-hairline-2); }
.amx-rowlist .amx-row:first-child { border-top:0; }
.amx-rowlist .amx-row .txt { flex:1; min-width:0; }
.amx-rowlist .amx-row .txt .nm { font-weight:700; color:var(--amx-ink); font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.amx-rowlist .amx-row .txt .note { color:var(--amx-ink-2); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* ---------- avatar ---------- */
.amx-av { width:42px; height:42px; border-radius:50%; background:var(--amx-navy); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex:none; }
.amx-av.red { background:rgba(178,34,52,0.10); color:var(--amx-red); width:36px; height:36px; border-radius:9px; font-size:13px; }

/* ---------- inset box (play angle / best path) ---------- */
.amx-inset { background:var(--amx-inset); border:1px solid var(--amx-hairline); border-left:3px solid var(--amx-navy); border-radius:8px; padding:12px 16px; font-size:13px; color:var(--amx-ink); }
.amx-inset.red { border-left-color:var(--amx-red); }
.amx-inset .tag { font:700 9.5px var(--amx-mono); letter-spacing:0.14em; color:var(--amx-red); text-transform:uppercase; display:block; margin-bottom:5px; }

/* ---------- tables ---------- */
.amx-t { width:100%; border-collapse:collapse; }
.amx-t th { font:700 9.5px var(--amx-mono); letter-spacing:0.12em; text-transform:uppercase; color:var(--amx-ink-3); text-align:left; padding:0 10px 8px 0; border-bottom:1px solid var(--amx-hairline); }
.amx-t td { padding:9px 10px 9px 0; border-bottom:1px solid var(--amx-hairline-2); font-size:13px; vertical-align:top; color:var(--amx-ink); }
.amx-t tr:last-child td { border-bottom:0; }
.amx-t td.num { font-family:var(--amx-mono); }

/* ---------- shared quiet states ---------- */
.amx-toolbar {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap; margin:0 0 16px;
}
.amx-toolbar .amx-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.amx-empty,
.amx-loading,
.amx-error {
  border:1px solid var(--amx-hairline); border-radius:var(--amx-radius);
  background:var(--amx-card); color:var(--amx-ink-2); box-shadow:var(--amx-shadow-sm);
  padding:22px 24px; font:500 14px/1.55 var(--amx-sans);
}
.amx-empty strong,
.amx-loading strong,
.amx-error strong { display:block; color:var(--amx-ink); font-size:14.5px; margin-bottom:3px; }
.amx-empty { background:var(--amx-inset); text-align:center; }
.amx-loading { position:relative; overflow:hidden; }
.amx-loading::before {
  content:""; position:absolute; inset:0; transform:translateX(-100%);
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.62), transparent);
  animation:amxShimmer 1.4s var(--amx-ease) infinite;
}
.amx-error { border-left:3px solid var(--amx-red); background:#fff; }
@keyframes amxShimmer { to { transform:translateX(100%); } }

/* ---------- health bars ---------- */
.amx-factor { display:grid; grid-template-columns:1fr 90px 44px; gap:14px; align-items:center; padding:8px 0; border-top:1px solid var(--amx-hairline-2); }
.amx-factor:first-child { border-top:0; }
.amx-factor .fk { font-size:12.5px; font-weight:600; color:var(--amx-ink); }
.amx-bar { height:6px; background:var(--amx-hairline-2); border-radius:3px; overflow:hidden; }
.amx-bar i { display:block; height:100%; background:var(--amx-navy); border-radius:3px; }
.amx-factor .fv { font:600 12.5px var(--amx-mono); color:var(--amx-red); text-align:right; }

@media (prefers-reduced-motion: reduce) {
  .amx-loading::before { animation:none; display:none; }
}

/* ── Dossier sections (redesign) — every dossier block carries
   data-section; give them all the Americana card treatment uniformly +
   the masthead top-bar on the executive brief. Scoped to body.amx-theme
   so it's flag-gated and the default dossier is untouched. ───────────── */
body.amx-theme #researchResultArea [data-section],
body.amx-theme #crmTierBody [data-section] {
  background:#fff !important; border:1px solid var(--amx-hairline-2) !important;
  border-radius:10px !important; box-shadow:var(--amx-shadow) !important;
  padding:22px 26px !important; margin-bottom:16px !important;
}
/* Executive brief = the masthead: navy→red signature top bar. */
body.amx-theme [data-section="executive-brief"] {
  position:relative; overflow:hidden; padding-top:24px !important;
}
body.amx-theme [data-section="executive-brief"]::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--amx-navy) 0 70%, var(--amx-red) 70% 100%);
}
/* Section labels → navy, the mockup heading colour. SCOPED to the dossier
   containers only — a bare [data-section] also matches nav elements. */
body.amx-theme #researchResultArea [data-section] > div:first-child,
body.amx-theme #crmTierBody [data-section] > div:first-child {
  color:var(--amx-navy) !important;
}

/* Detail header card (CRM person / church / biz / np detail) → Americana
   navy masthead with a red accent bar, matching the mockup (flag-gated). */
body.amx-theme .detail-header-card {
  background:linear-gradient(135deg, var(--amx-navy) 0%, var(--amx-navy-soft) 100%) !important;
  box-shadow:var(--amx-shadow) !important; border-radius:10px !important;
  position:relative; overflow:hidden;
}
body.amx-theme .detail-header-card::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--amx-red);
}

/* Key Nugget cards (dossier) → mockup-05 card treatment: warm hairline,
   whisper shadow, navy mono category label. Targets the existing
   data-section-row markup; scoped to the dossier containers (flag-gated). */
body.amx-theme #researchResultArea [data-section-row="key-nugget"],
body.amx-theme #crmTierBody [data-section-row="key-nugget"] {
  border:1px solid var(--amx-hairline-2) !important;
  border-left:1px solid var(--amx-hairline-2) !important;
  border-radius:10px !important; box-shadow:var(--amx-shadow) !important;
  padding:16px 18px !important;
}
body.amx-theme #researchResultArea [data-section-row="key-nugget"] > div:first-child,
body.amx-theme #crmTierBody [data-section-row="key-nugget"] > div:first-child {
  font-family:var(--amx-mono) !important; color:var(--amx-navy) !important;
  font-size:9px !important; letter-spacing:0.12em !important; font-weight:700 !important;
}

/* ── Research · Act 1 — input as an experience (Fable redesign) ───────
   The flagship's input stops being an 8-field form and becomes a single
   command field ("Who do you want to know better?") with a progressively
   revealed anchors panel, depth cards, and a corner quota meter. All
   underlying input IDs are preserved — only the chrome changes. */
.amx-act1-card { background:var(--amx-card); border:1px solid var(--amx-hairline);
  border-radius:14px; box-shadow:var(--amx-shadow); padding:28px 30px; margin-bottom:24px; }
.amx-act1-hero { margin-bottom:18px; }
.amx-act1-q { display:block; font-family:var(--amx-sans); font-size:23px; font-weight:800;
  color:var(--amx-navy); letter-spacing:-0.015em; line-height:1.18; margin-bottom:12px; }
.amx-act1-name { width:100%; padding:16px 18px; border:1.5px solid var(--amx-hairline);
  border-radius:11px; font-size:19px; font-weight:600; color:var(--amx-ink);
  background:var(--amx-inset); font-family:var(--amx-sans);
  transition:border-color .15s ease, background .15s ease; box-sizing:border-box; }
.amx-act1-name:focus { outline:none; border-color:var(--amx-navy); background:#fff; }
.amx-act1-name::placeholder { color:var(--amx-ink-3); font-weight:500; }
.amx-act1-hint { margin-top:8px; font-size:12.5px; color:var(--amx-ink-3); line-height:1.5; }

.amx-anchors { margin-bottom:18px; border:1px solid var(--amx-hairline);
  border-radius:11px; background:var(--amx-paper); overflow:hidden; }
.amx-anchors > summary { list-style:none; cursor:pointer; padding:13px 16px;
  font-size:14px; font-weight:700; color:var(--amx-navy); display:flex;
  align-items:center; gap:9px; user-select:none; }
.amx-anchors > summary::-webkit-details-marker { display:none; }
.amx-anchors > summary::before { content:'+'; font-family:var(--amx-mono);
  font-weight:700; color:var(--amx-red); font-size:17px; width:14px;
  text-align:center; display:inline-block; line-height:1; }
.amx-anchors[open] > summary::before { content:'–'; }
.amx-anchors > summary .amx-anchors-sub { font-weight:500; color:var(--amx-ink-3); font-size:12.5px; }
.amx-anchors-body { padding:14px 16px 16px; border-top:1px solid var(--amx-hairline); }
.amx-anchors-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:14px; }
.amx-anchors-grid.amx-single { grid-template-columns:1fr; }
.amx-fld-label { display:block; font-size:12px; font-weight:600;
  color:var(--amx-ink-2); margin-bottom:5px; }
.amx-fld { width:100%; padding:10px 13px; border:1px solid var(--amx-hairline);
  border-radius:8px; font-size:14px; color:var(--amx-ink); background:#fff;
  font-family:var(--amx-sans); box-sizing:border-box; resize:vertical; }
.amx-fld:focus { outline:none; border-color:var(--amx-navy); }
@media (max-width:640px){ .amx-anchors-grid { grid-template-columns:1fr; } }

body.amx-theme #researchNotes {
  border:1px solid var(--amx-hairline) !important; border-radius:8px !important;
  background:#fff !important; color:var(--amx-ink) !important;
  font-family:var(--amx-sans) !important; box-shadow:none !important;
}
body.amx-theme #researchNotes:focus {
  outline:none !important; border-color:var(--amx-navy) !important;
}
body.amx-theme #researchQuotaRow,
body.amx-theme #researchTierExplainer {
  background:var(--amx-inset) !important; border-color:var(--amx-hairline) !important;
  border-radius:8px !important; color:var(--amx-ink-2) !important;
}
body.amx-theme #researchQuotaRow span,
body.amx-theme #researchQuotaRow div {
  color:inherit;
}
body.amx-theme #researchTierSelector button {
  border-radius:10px !important; box-shadow:var(--amx-shadow) !important;
  font-family:var(--amx-sans) !important;
}
body.amx-theme #researchTierWeb span[style*="#DCFCE7"] {
  background:rgba(178,34,52,0.10) !important; color:var(--amx-red) !important;
}
body.amx-theme #researchBtn {
  border-radius:8px !important; background:var(--amx-navy) !important;
  border-color:var(--amx-navy) !important; box-shadow:0 8px 20px -12px rgba(27,42,82,0.45) !important;
  font-family:var(--amx-sans) !important;
}
body.amx-theme .ap-compliance-pilot-banner,
body.amx-theme .ap-compliance-pilot-output {
  background:var(--amx-inset) !important; border:1px solid var(--amx-hairline) !important;
  border-left:3px solid var(--amx-navy) !important; color:var(--amx-ink-2) !important;
  border-radius:8px !important; box-shadow:var(--amx-shadow) !important;
}
body.amx-theme .ap-compliance-pilot-banner > div:first-child {
  color:var(--amx-navy) !important; font:800 11px/1.2 var(--amx-mono) !important;
  letter-spacing:0.12em !important; text-transform:uppercase !important; margin-bottom:6px !important;
}
body.amx-theme #crmNoteInput {
  border:1px solid var(--amx-hairline) !important; border-radius:8px !important;
  background:#fff !important; color:var(--amx-ink) !important;
  font-family:var(--amx-sans) !important;
}
body.amx-theme .amx-notes-card {
  background:#fff !important; border:1px solid var(--amx-hairline-2) !important;
  border-radius:10px !important; box-shadow:var(--amx-shadow) !important;
  padding:18px !important; margin-top:16px !important;
}
body.amx-theme .amx-notes-card h4 {
  color:var(--amx-navy) !important; font:800 12px/1.2 var(--amx-mono) !important;
  letter-spacing:0.14em !important; text-transform:uppercase !important; margin:0 0 12px !important;
}
body.amx-theme #crmNoteInput:focus {
  outline:none !important; border-color:var(--amx-navy) !important;
}
body.amx-theme [data-ap-crm-action="add-note"] {
  background:var(--amx-navy) !important; border:1px solid var(--amx-navy) !important;
  border-radius:8px !important; box-shadow:0 8px 20px -12px rgba(27,42,82,0.45) !important;
  font-family:var(--amx-sans) !important;
}

/* ── Research flagship surface — premium workbench treatment ─────────── */
.amx-research-masthead {
  margin-bottom:18px;
}
.amx-research-masthead h1 {
  font-size:32px;
  letter-spacing:-0.01em;
}
.amx-research-workbench {
  position:relative;
  padding:30px !important;
  border-color:var(--amx-hairline-2);
  box-shadow:0 16px 42px -28px rgba(27,42,82,.30), 0 1px 3px rgba(27,42,82,.07);
  overflow:hidden;
}
.amx-research-workbench::before {
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:linear-gradient(180deg,var(--amx-navy),var(--amx-red));
}
.amx-research-subject {
  max-width:880px;
}
.amx-research-context {
  padding:16px 18px;
  border:1px solid var(--amx-hairline);
  border-radius:12px;
  background:var(--amx-inset);
}
.amx-research-context label {
  font:800 11px/1.25 var(--amx-mono) !important;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--amx-navy) !important;
  margin-bottom:8px !important;
}
.amx-research-context label span {
  font-family:var(--amx-sans);
  letter-spacing:0;
  text-transform:none;
}
.amx-research-context > div:last-child {
  color:var(--amx-ink-3) !important;
  line-height:1.5;
  margin-top:8px !important;
}
body.amx-theme .ap-compliance-pilot-banner {
  margin-bottom:16px !important;
  padding:12px 16px !important;
  background:#fff !important;
  border-color:var(--amx-hairline) !important;
  border-left-color:var(--amx-red) !important;
  color:var(--amx-ink-2) !important;
  box-shadow:var(--amx-shadow-sm) !important;
}
body.amx-theme .ap-compliance-pilot-banner > div:first-child {
  color:var(--amx-red) !important;
}
.amx-research-quota {
  border-radius:10px !important;
  background:#fff !important;
  border-color:var(--amx-hairline) !important;
  box-shadow:var(--amx-shadow-sm);
}
.amx-research-depth {
  margin-top:18px !important;
  padding-top:18px;
  border-top:1px solid var(--amx-hairline);
}
.amx-research-depth-head label {
  font:800 10.5px/1 var(--amx-mono) !important;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--amx-navy) !important;
}
.amx-tier-grid {
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:14px !important;
}
.amx-tier-card {
  position:relative;
  min-height:94px !important;
  padding:18px 20px !important;
  border-width:1px !important;
  border-radius:12px !important;
  box-shadow:0 1px 3px rgba(27,42,82,.07) !important;
  overflow:hidden;
}
.amx-tier-card::before {
  content:"";
  position:absolute;
  left:0; top:0; bottom:0;
  width:3px;
  background:var(--amx-hairline);
}
.amx-tier-card:hover {
  transform:translateY(-1px);
  box-shadow:0 10px 24px -18px rgba(27,42,82,.35) !important;
}
.amx-tier-card:focus-visible {
  outline:2px solid var(--amx-red);
  outline-offset:2px;
  box-shadow:var(--amx-focus), 0 10px 24px -18px rgba(27,42,82,.35) !important;
}
.amx-tier-card[style*="background: rgb(27, 42, 82)"]::before,
.amx-tier-card[style*="background:#1B2A52"]::before,
.amx-tier-card[style*="background: #1B2A52"]::before {
  background:var(--amx-red);
}
body.amx-theme #researchTierExplainer {
  margin-top:12px !important;
  padding:13px 15px !important;
  border-left-color:var(--amx-navy) !important;
  background:#fff !important;
  box-shadow:var(--amx-shadow-sm) !important;
}
.amx-research-run-btn {
  min-height:46px;
  padding:13px 24px !important;
  border-radius:10px !important;
  letter-spacing:0;
  box-shadow:0 12px 26px -14px rgba(27,42,82,.55) !important;
}
.amx-research-run-btn:focus-visible {
  outline:2px solid var(--amx-red);
  outline-offset:3px;
  box-shadow:var(--amx-focus), 0 12px 26px -14px rgba(27,42,82,.55) !important;
}
.amx-research-status {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  margin-left:12px !important;
  color:var(--amx-ink-3) !important;
  font-weight:600;
}

/* ── Discover · shared type-filter tabs (one surface, many entity types) ── */
.amx-disc-tabs { display:flex; gap:2px; flex-wrap:wrap; margin:0 0 20px;
  border-bottom:1px solid var(--amx-hairline); }
.amx-disc-tab { display:inline-flex; align-items:center; gap:7px; background:none;
  border:none; cursor:pointer; padding:10px 15px 11px; font-family:var(--amx-sans);
  font-size:13.5px; font-weight:650; color:var(--amx-ink-2);
  border-bottom:2.5px solid transparent; margin-bottom:-1px;
  transition:color .12s ease, border-color .12s ease; }
.amx-disc-tab i { width:16px; height:16px; flex-shrink:0; }
.amx-disc-tab:hover { color:var(--amx-navy); }
.amx-disc-tab.is-active { color:var(--amx-navy); font-weight:800;
  border-bottom-color:var(--amx-red); }

/* ── Act 3 · pinned dossier action bar ───────────────────────────────── */
.amx-act3-bar { position:sticky; bottom:0; z-index:30;
  display:flex; align-items:center; gap:8px; flex-wrap:wrap;
  margin:20px -4px 0; padding:14px 18px;
  background:rgba(255,255,255,0.96); backdrop-filter:saturate(140%) blur(10px);
  border:1px solid var(--amx-hairline); border-radius:12px 12px 0 0;
  border-bottom:none; box-shadow:0 -10px 30px -16px rgba(27,42,82,0.32); }
.amx-act3-bar::before { content:''; position:absolute; top:0; left:0; height:3px;
  width:72px; background:var(--amx-red); border-radius:12px 0 0 0; }
.amx-act3-bar > button, .amx-act3-bar > a { box-shadow:none !important; }
.amx-action-btn,
.amx-action-state {
  appearance:none; display:inline-flex; align-items:center; justify-content:center;
  gap:7px; min-height:40px; padding:9px 16px; border-radius:8px;
  font:700 13.5px/1.1 var(--amx-sans); border:1px solid var(--amx-hairline);
  background:#fff; color:var(--amx-navy); text-decoration:none; white-space:nowrap;
}
.amx-action-btn { cursor:pointer; transition:background var(--amx-dur-fast) var(--amx-ease), border-color var(--amx-dur-fast) var(--amx-ease), transform var(--amx-dur-fast) var(--amx-ease), box-shadow var(--amx-dur-fast) var(--amx-ease); }
.amx-action-btn:hover { border-color:var(--amx-navy); background:var(--amx-chipbg); transform:translateY(-1px); }
.amx-action-btn:focus-visible { outline:2px solid var(--amx-red); outline-offset:2px; }
.amx-action-btn i,
.amx-action-state i { width:16px; height:16px; stroke-width:2.2; flex:none; }
.amx-action-btn.primary {
  background:var(--amx-action); border-color:var(--amx-action); color:var(--amx-on-action);
  box-shadow:0 10px 22px -12px rgba(27,42,82,0.50) !important;
}
.amx-action-btn.primary:hover { background:var(--amx-action-hover); border-color:var(--amx-action-hover); transform:translateY(-1px); }
.amx-action-btn.ghost { background:#fff; color:var(--amx-navy); }
.amx-action-btn.ghost:hover { background:var(--amx-chipbg); }
.amx-action-btn.link {
  background:transparent; border-color:transparent; color:var(--amx-ink-2);
  padding-left:10px; padding-right:10px;
}
.amx-action-btn.link:hover { color:var(--amx-navy); background:var(--amx-chipbg); border-color:var(--amx-hairline); }
.amx-action-state {
  cursor:default; color:#166534; background:#F0FDF4; border-color:#BBF7D0;
}

.amx-social-row {
  display:flex; align-items:center; gap:9px; flex-wrap:wrap; margin:10px 0 24px;
  color:var(--amx-ink-3); font:800 10.5px/1 var(--amx-mono);
  letter-spacing:0.12em; text-transform:uppercase;
}
.amx-social-btn {
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%; background:#fff; color:var(--amx-navy);
  border:1px solid var(--amx-hairline); text-decoration:none;
  transition:border-color .12s, transform .12s, background .12s;
}
.amx-social-btn:hover { border-color:var(--amx-navy); transform:translateY(-1px); background:var(--amx-inset); }
.amx-social-btn i { width:15px; height:15px; stroke-width:2.1; }
.amx-social-mark {
  font:900 11px/1 var(--amx-sans); letter-spacing:-0.01em;
  color:inherit; text-transform:uppercase;
}
.amx-social-btn.verified { color:#166534; border-color:#BBF7D0; background:#F0FDF4; }
.amx-social-verified {
  position:absolute; right:-3px; bottom:-3px; width:14px; height:14px; border-radius:50%;
  background:#166534; color:#fff; border:2px solid #fff;
  display:flex; align-items:center; justify-content:center;
  font:800 9px/1 var(--amx-sans); letter-spacing:0; text-transform:none;
}

/* ── Demonstration Mode badge (enterprise-safe screen-shares) ─────────── */
.amx-demo-badge { position:fixed; bottom:14px; left:50%; transform:translateX(-50%);
  z-index:9999; display:flex; align-items:center; gap:10px;
  background:var(--amx-navy); color:#fff; padding:9px 17px; border-radius:999px;
  font-family:var(--amx-sans); font-size:12px; font-weight:800; letter-spacing:0.05em;
  box-shadow:0 8px 28px -8px rgba(0,0,0,0.5); border:1px solid rgba(255,255,255,0.16);
  pointer-events:none; }
.amx-demo-badge .amx-demo-dot { width:8px; height:8px; border-radius:50%;
  background:var(--amx-red); box-shadow:0 0 0 3px rgba(178,34,52,0.35); }
.amx-demo-badge .amx-demo-sub { font-weight:500; letter-spacing:0; opacity:0.82;
  font-size:11px; border-left:1px solid rgba(255,255,255,0.26); padding-left:10px; }

/* ── Avatar dropdown menu ─────────────────────────────────────────────── */
.amx-avatar-caret { margin-left:6px; font-size:10px; color:var(--amx-ink-3); }
.amx-avatar-menu { position:absolute; top:calc(100% + 8px); right:0; min-width:212px;
  background:var(--amx-card); border:1px solid var(--amx-hairline); border-radius:12px;
  box-shadow:0 12px 32px -10px rgba(27,42,82,0.30); padding:6px; z-index:9998;
  font-family:var(--amx-sans); text-align:left; }
.amx-avatar-menu .amx-av-item { display:block; width:100%; text-align:left; background:none;
  border:none; cursor:pointer; padding:9px 12px; border-radius:8px; font-size:13.5px;
  font-weight:600; color:var(--amx-ink); }
.amx-avatar-menu .amx-av-item:hover { background:var(--amx-inset); color:var(--amx-navy); }
.amx-avatar-menu .amx-av-head { padding:9px 12px 4px; font-family:var(--amx-mono);
  font-size:9px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
  color:var(--amx-ink-3); }
.amx-avatar-menu .amx-av-sep { height:1px; background:var(--amx-hairline); margin:6px 4px; }
.amx-avatar-menu .amx-av-signout { color:var(--amx-red); }
.amx-avatar-menu .amx-av-signout:hover { background:#FBEAEC; color:var(--amx-red); }

/* ---------- responsive Americana foundation ---------- */
@media (max-width: 900px) {
  .amx-masthead { padding:22px 24px 20px; }
  .amx-card { padding:20px 22px; }
  .amx-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .amx-mstat { border-left:0; border-top:1px solid var(--amx-hairline); padding:16px 18px; }
  .amx-mstat:nth-child(-n+2) { border-top:0; }
  .amx-mstat:nth-child(2n) { border-left:1px solid var(--amx-hairline); }
}

@media (max-width: 640px) {
  .amx-masthead { padding:20px 18px 18px; margin-bottom:18px; border-radius:9px; }
  .amx-eyebrow { flex-wrap:wrap; gap:6px 10px; letter-spacing:.14em; line-height:1.5; }
  .amx-masthead h1 { font-size:28px; line-height:1.12; overflow-wrap:anywhere; }
  .amx-masthead .sub { font-size:14px; line-height:1.55; }
  .amx-card { padding:18px; border-radius:9px; }
  .amx-card.tight { padding:15px 16px; }
  .amx-stats { grid-template-columns:1fr; }
  .amx-mstat,
  .amx-mstat:nth-child(2n) {
    border-left:0; border-top:1px solid var(--amx-hairline);
    padding:14px 0;
  }
  .amx-mstat:first-child { border-top:0; }
  .amx-mstat:nth-child(-n+2):not(:first-child) { border-top:1px solid var(--amx-hairline); }
  .amx-mstat .v { font-size:30px; }
  .amx-mstat .k { margin-top:8px; line-height:1.35; }
  .amx-sec-h { align-items:flex-start; flex-wrap:wrap; gap:8px; }
  .amx-sec-h h2 { line-height:1.35; }
  .amx-sec-h .link { margin-left:auto; }
  .amx-rowlist .amx-row { align-items:flex-start; gap:12px; }
  .amx-rowlist .amx-row .txt .nm,
  .amx-rowlist .amx-row .txt .note { white-space:normal; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .amx-factor { grid-template-columns:1fr 72px 34px; gap:10px; }
  .amx-toolbar { align-items:stretch; }
  .amx-toolbar .amx-actions,
  .amx-toolbar .amx-btn,
  .amx-btn { width:100%; }
  .amx-act1-card { padding:22px 18px; border-radius:12px; }
  .amx-act1-q { font-size:21px; }
  .amx-act1-name { font-size:17px; padding:14px 15px; }
  .amx-anchors > summary { align-items:flex-start; flex-wrap:wrap; gap:8px 10px; }
  .amx-anchors > summary .amx-anchors-sub { display:block; flex-basis:100%; padding-left:24px; line-height:1.45; }
  .amx-research-masthead h1 { font-size:28px; }
  .amx-research-workbench { padding:22px 18px !important; }
  .amx-research-context { padding:14px; border-radius:11px; }
  .amx-research-quota { align-items:flex-start !important; }
  .amx-research-quota > div:first-child { gap:8px 12px !important; }
  .amx-tier-grid { grid-template-columns:1fr !important; }
  .amx-tier-card { min-height:88px !important; padding:16px 17px !important; }
  .amx-research-run-btn { width:100%; min-height:48px; }
  .amx-research-status { display:flex; margin:10px 0 0 !important; min-height:0; }
  .amx-act3-bar { margin-left:0; margin-right:0; padding:12px; }
  .amx-action-btn,
  .amx-action-state { width:100%; min-height:42px; }
}

@media (max-width: 420px) {
  .amx-masthead { padding:18px 16px; }
  .amx-masthead h1 { font-size:27px; }
  .amx-empty,
  .amx-loading,
  .amx-error { padding:18px 16px; }
}
