/* FlipForge app stylesheet bundle: 58 files, same order as the source <head>. Generated at deploy. */
/* styles.css */
:root {
  --bg: #070d15;
  --bg-elevated: #0b1220;
  --surface: #111a2a;
  --surface-2: #162238;
  --surface-3: #1c2a43;
  --border: #293852;
  --border-soft: #1d2a40;
  --text: #f4f7fb;
  --text-soft: #c2cbd9;
  --muted: #8793a7;
  --gold: #e2bd42;
  --gold-strong: #f3cc45;
  --gold-deep: #80671e;
  --blue: #61a8ff;
  --blue-deep: #173b65;
  --green: #27d17f;
  --green-deep: #0d5135;
  --orange: #f6a916;
  --red: #ff6374;
  --purple: #a883ff;
  --shadow: 0 18px 50px rgba(0, 0, 0, .28);
  --radius: 14px;
  --radius-sm: 9px;
  --sidebar: 244px;
  --topbar: 76px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 85% -10%, rgba(51, 102, 170, .18), transparent 28rem),
    var(--bg);
}

button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid rgba(97, 168, 255, .78);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  z-index: 200;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  color: #07111f;
  background: #fff;
  border-radius: 8px;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.prototype-banner {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 6px 18px;
  color: #0b1320;
  background: linear-gradient(90deg, #d9b637, #f3d45c, #d9b637);
  font-size: 12px;
  letter-spacing: .02em;
}
.prototype-banner strong { font-size: 11px; letter-spacing: .09em; }

.app-shell {
  min-height: calc(100vh - 32px);
  display: grid;
  grid-template-columns: var(--sidebar) minmax(0, 1fr);
}

.sidebar {
  position: sticky;
  top: 0;
  z-index: 40;
  height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  background: rgba(5, 10, 17, .97);
  border-right: 1px solid var(--border-soft);
  box-shadow: 10px 0 30px rgba(0, 0, 0, .14);
}

.brand-block { padding: 22px 20px 18px; border-bottom: 1px solid var(--border-soft); }
.brand { display: inline-flex; flex-direction: column; text-decoration: none; }
.brand-name { font-size: 23px; font-weight: 850; letter-spacing: .12em; }
.brand-subtitle { margin-top: 4px; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .19em; }
.prototype-chip {
  display: inline-flex;
  margin-top: 13px;
  padding: 5px 8px;
  color: #0b1320;
  background: var(--gold);
  border-radius: 5px;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .08em;
}

.primary-nav {
  display: grid;
  gap: 4px;
  padding: 17px 12px;
  overflow-y: auto;
}
.primary-nav a {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  min-height: 42px;
  padding: 8px 11px;
  color: var(--text-soft);
  border: 1px solid transparent;
  border-radius: 9px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 650;
}
.primary-nav a span:first-child {
  color: var(--muted);
  font-size: 14px;
  font-weight: 800;
  text-align: center;
}
.primary-nav a:hover { color: var(--text); background: rgba(255, 255, 255, .035); }
.primary-nav a[aria-current="page"] {
  color: var(--text);
  background: linear-gradient(90deg, rgba(61, 103, 161, .34), rgba(32, 51, 79, .62));
  border-color: #355070;
  box-shadow: inset 3px 0 0 var(--gold);
}
.primary-nav a[aria-current="page"] span:first-child { color: var(--gold); }

.sidebar-footer { margin-top: auto; padding: 12px; border-top: 1px solid var(--border-soft); }
.plan-card {
  padding: 13px;
  background: linear-gradient(155deg, rgba(226, 189, 66, .12), rgba(22, 34, 56, .86));
  border: 1px solid rgba(226, 189, 66, .24);
  border-radius: 10px;
}
.plan-card .eyebrow { display: block; color: var(--gold); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.plan-card strong { display: block; margin: 5px 0 11px; font-size: 12px; }
.usage-row { display: flex; justify-content: space-between; color: var(--muted); font-size: 10px; }
.usage-track { height: 5px; margin: 7px 0 9px; overflow: hidden; background: rgba(255,255,255,.07); border-radius: 999px; }
.usage-track span { display: block; height: 100%; background: var(--gold); border-radius: inherit; }
.plan-card small { display: block; color: var(--muted); font-size: 9px; line-height: 1.45; }
.account-link {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 9px;
  margin-top: 10px;
  padding: 8px;
  border-radius: 9px;
  text-decoration: none;
}
.account-link:hover { background: rgba(255,255,255,.04); }
.account-link strong, .account-link small { display: block; }
.account-link strong { font-size: 11px; }
.account-link small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.avatar {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  color: #08101b;
  background: linear-gradient(145deg, #f3d15b, #9c7923);
  border: 1px solid #f9dc6c;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 900;
}

.workspace { min-width: 0; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: var(--topbar);
  display: grid;
  grid-template-columns: minmax(280px, 760px) auto;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 22px;
  background: rgba(7, 13, 21, .92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border-soft);
}
.menu-button { display: none !important; }
.global-search {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 0 13px;
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 10px;
}
.global-search > span { color: var(--muted); }
.global-search input {
  min-width: 0;
  height: 42px;
  color: var(--text);
  background: transparent;
  border: 0;
  outline: none;
}
.global-search input::placeholder { color: #6f7d92; }
kbd { padding: 3px 6px; color: var(--muted); background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: 5px; font-size: 9px; }
.topbar-actions { display: flex; align-items: center; gap: 9px; }
.date-button, .icon-button, .profile-button {
  color: var(--text-soft);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 9px;
}
.date-button { height: 42px; padding: 0 13px; white-space: nowrap; font-size: 11px; font-weight: 750; }
.icon-button {
  position: relative;
  width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  text-decoration: none;
  cursor: pointer;
}
.notification-dot {
  position: absolute;
  top: -5px;
  right: -5px;
  min-width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  color: #fff;
  background: var(--red);
  border: 2px solid var(--bg);
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
}
.profile-button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 10px 4px 5px;
  text-decoration: none;
}
.profile-copy strong, .profile-copy small { display: block; }
.profile-copy strong { font-size: 11px; }
.profile-copy small { color: var(--muted); font-size: 9px; }

#main-content { padding: 26px; }
.page { max-width: 1540px; margin: 0 auto; }
.page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 22px;
}
.eyebrow { color: var(--gold); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3, p { margin-top: 0; }
h1 { margin-bottom: 7px; font-size: clamp(25px, 3vw, 38px); line-height: 1.07; letter-spacing: -.025em; }
h2 { font-size: 17px; }
h3 { font-size: 13px; }
.page-heading p { max-width: 720px; margin-bottom: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.page-actions { display: flex; align-items: center; gap: 9px; }
.button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.button-primary { color: #07111d; background: var(--gold); border: 1px solid var(--gold-strong); }
.button-secondary { color: var(--text); background: var(--surface); border: 1px solid var(--border); }
.button:hover { filter: brightness(1.08); }

.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; margin-bottom: 15px; }
.metric-card, .panel {
  background: linear-gradient(145deg, rgba(22, 34, 56, .96), rgba(13, 22, 37, .96));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.metric-card { position: relative; min-height: 132px; padding: 17px; overflow: hidden; }
.metric-card::after { content: ""; position: absolute; width: 100px; height: 100px; right: -40px; bottom: -55px; background: radial-gradient(circle, var(--metric-glow, rgba(97,168,255,.17)), transparent 68%); }
.metric-top { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 10px; font-weight: 750; }
.metric-icon { width: 30px; height: 30px; display: grid; place-items: center; color: var(--metric-color, var(--blue)); background: rgba(255,255,255,.04); border: 1px solid var(--border-soft); border-radius: 8px; }
.metric-value { margin-top: 12px; font-size: 25px; font-weight: 900; letter-spacing: -.03em; }
.metric-note { display: flex; align-items: center; gap: 6px; margin-top: 6px; color: var(--muted); font-size: 10px; }
.metric-note.positive { color: var(--green); }
.metric-note.warning { color: var(--orange); }

.dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr); gap: 15px; align-items: start; }
.stack { display: grid; gap: 15px; }
.panel { overflow: hidden; }
.panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 17px 18px 14px;
  border-bottom: 1px solid var(--border-soft);
}
.panel-header h2 { margin-bottom: 4px; }
.panel-header p { margin-bottom: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.panel-body { padding: 17px 18px; }
.panel-link { color: var(--blue); font-size: 10px; font-weight: 800; text-decoration: none; }

.chart-shell { position: relative; min-height: 250px; }
.chart-legend { display: flex; flex-wrap: wrap; gap: 14px; margin-bottom: 12px; color: var(--muted); font-size: 10px; }
.legend-item { display: inline-flex; align-items: center; gap: 6px; }
.legend-swatch { width: 9px; height: 9px; border-radius: 3px; }
.line-chart { width: 100%; height: 220px; overflow: visible; }
.line-chart .grid { stroke: #223149; stroke-width: 1; }
.line-chart .area { fill: url(#valueArea); }
.line-chart .ask-line { fill: none; stroke: var(--blue); stroke-width: 3; }
.line-chart .value-line { fill: none; stroke: var(--green); stroke-width: 3; }
.line-chart .dot { stroke: var(--surface); stroke-width: 3; }
.chart-axis { fill: var(--muted); font-size: 9px; }
.chart-tooltip {
  position: absolute;
  min-width: 124px;
  padding: 9px 10px;
  color: var(--text);
  background: #050b13;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: var(--shadow);
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -112%);
  transition: opacity .12s ease;
  font-size: 9px;
}
.chart-tooltip.visible { opacity: 1; }
.chart-tooltip strong { display: block; margin-bottom: 4px; font-size: 10px; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 700px; }
th, td { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--border-soft); }
th { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
td { color: var(--text-soft); font-size: 11px; }
tbody tr { cursor: pointer; }
tbody tr:hover { background: rgba(97,168,255,.045); }
.card-cell { display: flex; align-items: center; gap: 10px; min-width: 250px; }
.card-thumb {
  width: 38px;
  height: 48px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  color: rgba(255,255,255,.78);
  background: linear-gradient(145deg, #223b63, #101827 70%);
  border: 1px solid #3a4d69;
  border-radius: 6px;
  font-size: 9px;
  font-weight: 900;
}
.card-cell strong, .card-cell small { display: block; }
.card-cell strong { color: var(--text); font-size: 11px; }
.card-cell small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 7px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .06em;
}
.status-buy { color: var(--green); background: rgba(39,209,127,.08); }
.status-watch { color: var(--gold); background: rgba(226,189,66,.08); }
.status-verify { color: var(--orange); background: rgba(246,169,22,.08); }
.status-pass { color: var(--red); background: rgba(255,99,116,.08); }
.score { font-weight: 900; color: var(--text); }
.value-positive { color: var(--green); font-weight: 850; }
.value-warning { color: var(--orange); font-weight: 850; }

.signal-list { display: grid; gap: 10px; }
.signal-row { display: grid; grid-template-columns: 110px 1fr auto; align-items: center; gap: 11px; }
.signal-label { color: var(--text-soft); font-size: 10px; font-weight: 750; }
.signal-track { height: 8px; overflow: hidden; background: #09111f; border: 1px solid var(--border-soft); border-radius: 999px; }
.signal-track span { display: block; height: 100%; border-radius: inherit; }
.signal-value { min-width: 42px; color: var(--text); font-size: 10px; font-weight: 850; text-align: right; }

.readiness-ring {
  --progress: 72%;
  width: 142px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  margin: 4px auto 16px;
  background: conic-gradient(var(--green) var(--progress), #1a2a41 0);
  border-radius: 50%;
}
.readiness-ring::before { content: ""; width: 108px; aspect-ratio: 1; background: var(--surface); border: 1px solid var(--border); border-radius: 50%; }
.readiness-ring-copy { position: absolute; text-align: center; }
.readiness-ring-copy strong { display: block; font-size: 24px; }
.readiness-ring-copy span { color: var(--muted); font-size: 9px; }
.check-list { display: grid; gap: 8px; }
.check-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 9px 10px; background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 8px; }
.check-mark { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 6px; font-size: 10px; font-weight: 900; }
.check-mark.ok { color: var(--green); background: rgba(39,209,127,.09); }
.check-mark.warn { color: var(--orange); background: rgba(246,169,22,.1); }
.check-item strong { display: block; font-size: 10px; }
.check-item small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }
.check-item > span:last-child { color: var(--muted); font-size: 9px; }

.activity-list { display: grid; gap: 2px; }
.activity-item { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--border-soft); }
.activity-item:last-child { border-bottom: 0; }
.activity-icon { width: 29px; height: 29px; display: grid; place-items: center; color: var(--blue); background: rgba(97,168,255,.08); border: 1px solid rgba(97,168,255,.18); border-radius: 8px; }
.activity-item strong, .activity-item small { display: block; }
.activity-item strong { font-size: 10px; }
.activity-item small { margin-top: 3px; color: var(--muted); font-size: 9px; }
.activity-time { color: var(--muted); font-size: 9px; }

.detail-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: 15px; align-items: start; }
.hero-card { padding: 20px; }
.hero-top { display: flex; justify-content: space-between; gap: 18px; }
.hero-identity { display: flex; gap: 16px; }
.large-card-thumb { width: 92px; height: 124px; display: grid; place-items: center; background: linear-gradient(145deg,#345587,#111a29 72%); border: 1px solid #466083; border-radius: 10px; box-shadow: var(--shadow); font-weight: 900; }
.hero-title h1 { font-size: clamp(22px, 2.4vw, 32px); }
.hero-title p { color: var(--muted); font-size: 11px; }
.hero-price { text-align: right; }
.hero-price strong { display: block; font-size: 27px; }
.hero-price span { color: var(--muted); font-size: 9px; }
.key-value-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; margin-top: 18px; }
.key-value { padding: 12px; background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 9px; }
.key-value span, .key-value strong { display: block; }
.key-value span { color: var(--muted); font-size: 9px; }
.key-value strong { margin-top: 5px; font-size: 13px; }

.explanation-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 11px; }
.explanation-card { padding: 14px; background: rgba(255,255,255,.022); border: 1px solid var(--border-soft); border-radius: 10px; }
.explanation-card h3 { display: flex; align-items: center; gap: 7px; }
.explanation-card ul { margin: 0; padding-left: 17px; color: var(--text-soft); font-size: 10px; line-height: 1.7; }

.compare-selectors { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 12px; }
.field label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 9px; font-weight: 800; }
.field select {
  width: 100%;
  min-height: 44px;
  padding: 0 11px;
  color: var(--text);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: 9px;
}
.swap-button { width: 42px; height: 42px; display: grid; place-items: center; color: var(--gold); background: var(--surface-2); border: 1px solid var(--gold-deep); border-radius: 50%; cursor: pointer; }
.comparison-table { display: grid; gap: 2px; }
.comparison-row { display: grid; grid-template-columns: minmax(110px,.65fr) 1fr 1fr; gap: 2px; }
.comparison-row > * { padding: 11px 12px; background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); }
.comparison-row .comparison-label { color: var(--muted); font-size: 9px; font-weight: 800; }
.comparison-row strong { font-size: 11px; }
.winner { color: var(--green); }

.population-bars { display: grid; gap: 12px; }
.population-row { display: grid; grid-template-columns: 72px 1fr 54px; align-items: center; gap: 10px; }
.population-row span { color: var(--text-soft); font-size: 10px; font-weight: 750; }
.population-bar { height: 22px; overflow: hidden; background: #09111f; border: 1px solid var(--border-soft); border-radius: 6px; }
.population-bar span { display: block; height: 100%; background: linear-gradient(90deg, var(--blue-deep), var(--blue)); border-radius: inherit; }
.population-row strong { text-align: right; font-size: 10px; }

.grade-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.grade-card { padding: 14px; background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 10px; }
.grade-card.recommended { border-color: var(--gold-deep); box-shadow: inset 0 3px 0 var(--gold); }
.grade-card span, .grade-card strong, .grade-card small { display: block; }
.grade-card span { color: var(--muted); font-size: 9px; }
.grade-card strong { margin: 7px 0 4px; font-size: 21px; }
.grade-card small { color: var(--text-soft); font-size: 9px; line-height: 1.5; }

.evidence-timeline { position: relative; display: grid; gap: 12px; }
.evidence-timeline::before { content: ""; position: absolute; left: 15px; top: 15px; bottom: 15px; width: 1px; background: var(--border); }
.evidence-step { position: relative; display: grid; grid-template-columns: 31px 1fr auto; gap: 11px; align-items: start; }
.step-dot { z-index: 1; width: 31px; height: 31px; display: grid; place-items: center; color: #08101b; background: var(--green); border: 4px solid var(--surface); border-radius: 50%; font-size: 9px; font-weight: 900; }
.step-dot.warn { background: var(--orange); }
.evidence-step strong, .evidence-step small { display: block; }
.evidence-step strong { font-size: 11px; }
.evidence-step small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.evidence-step time { color: var(--muted); font-size: 9px; }

.empty-state { padding: 54px 22px; text-align: center; }
.empty-state-icon { width: 54px; height: 54px; display: grid; place-items: center; margin: 0 auto 14px; color: var(--gold); background: rgba(226,189,66,.08); border: 1px solid var(--gold-deep); border-radius: 16px; font-size: 22px; }
.empty-state p { max-width: 540px; margin: 0 auto 18px; color: var(--muted); font-size: 11px; line-height: 1.6; }

.boundary-note { margin-top: 15px; padding: 13px 14px; color: var(--text-soft); background: rgba(226,189,66,.055); border: 1px solid rgba(226,189,66,.22); border-radius: 9px; font-size: 9px; line-height: 1.55; }
.boundary-note strong { color: var(--gold); }

.toast-region { position: fixed; z-index: 100; right: 20px; bottom: 20px; display: grid; gap: 8px; }
.toast { min-width: 260px; max-width: 360px; padding: 12px 14px; color: var(--text); background: #08101b; border: 1px solid var(--border); border-left: 4px solid var(--blue); border-radius: 9px; box-shadow: var(--shadow); font-size: 10px; animation: toast-in .2s ease both; }
@keyframes toast-in { from { opacity: 0; transform: translateY(8px); } }

.mobile-scrim { display: none; }

@media (max-width: 1180px) {
  :root { --sidebar: 218px; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-grid, .detail-grid { grid-template-columns: 1fr; }
  .key-value-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 900px) {
  .prototype-banner { justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: fixed;
    inset: 32px auto 0 0;
    width: min(86vw, 290px);
    height: calc(100vh - 32px);
    transform: translateX(-105%);
    transition: transform .2s ease;
  }
  .app-shell[data-nav-open="true"] .sidebar { transform: translateX(0); }
  .mobile-scrim { position: fixed; z-index: 35; inset: 32px 0 0; background: rgba(0,0,0,.6); }
  .app-shell[data-nav-open="true"] .mobile-scrim { display: block; }
  .topbar { grid-template-columns: auto minmax(160px,1fr) auto; padding: 12px 14px; }
  .menu-button { display: inline-grid !important; }
  .date-button, .profile-button { display: none; }
  #main-content { padding: 20px 16px; }
  .page-heading { align-items: flex-start; }
  .explanation-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .prototype-banner span { display: none; }
  .topbar { gap: 8px; }
  .global-search kbd { display: none; }
  .topbar-actions { gap: 6px; }
  .page-heading { display: grid; }
  .page-actions { width: 100%; }
  .page-actions .button { flex: 1; }
  .metric-grid { grid-template-columns: 1fr; }
  .metric-card { min-height: 115px; }
  .panel-header { padding: 15px; }
  .panel-body { padding: 15px; }
  .signal-row { grid-template-columns: 80px 1fr 38px; }
  .hero-top, .hero-identity { display: grid; }
  .hero-price { text-align: left; }
  .large-card-thumb { width: 74px; height: 100px; }
  .key-value-grid, .grade-grid { grid-template-columns: 1fr; }
  .compare-selectors { grid-template-columns: 1fr; }
  .swap-button { justify-self: center; transform: rotate(90deg); }
  .comparison-row { grid-template-columns: 100px 1fr 1fr; }
  .comparison-row > * { padding: 9px 8px; }
  .population-row { grid-template-columns: 58px 1fr 45px; }
  .toast-region { right: 12px; left: 12px; bottom: 12px; }
  .toast { min-width: 0; max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* brand.css */
/*
 * FlipForge approved visual system override
 * Uses the approved silver / black / gold palette and Geist Sans typography.
 * No external font or asset dependency is loaded by the prototype.
 */

:root {
  --bg: #030914;
  --bg-elevated: #07101d;
  --surface: #0a1321;
  --surface-2: #101a29;
  --surface-3: #172232;
  --border: rgba(139, 146, 143, .34);
  --border-soft: rgba(139, 146, 143, .18);
  --text: #f2f2f2;
  --text-soft: #d8dcdb;
  --muted: #8b928f;
  --silver: #cfd3d2;
  --silver-dark: #717876;
  --gold: #d4af37;
  --gold-strong: #edc34b;
  --gold-deep: #715915;
  --blue: #cfd3d2;
  --blue-deep: #3f4748;
  --purple: #8b928f;
  --green: #48c98c;
  --green-deep: #153e2d;
  --orange: #e9a42f;
  --red: #ee6a75;
  --shadow: 0 22px 65px rgba(0, 0, 0, .42);
  --radius: 5px;
  --radius-sm: 3px;
  font-family: Geist, "Geist Sans", "Helvetica Neue", Arial, sans-serif;
}

body {
  background:
    radial-gradient(circle at 72% -15%, rgba(212, 175, 55, .09), transparent 30rem),
    linear-gradient(145deg, #020610, #06101d 62%, #020711);
}

.prototype-banner {
  min-height: 34px;
  color: var(--gold-strong);
  background: rgba(2, 7, 15, .98);
  border-bottom: 1px solid rgba(212, 175, 55, .48);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.prototype-banner strong {
  color: var(--gold-strong);
  letter-spacing: .18em;
}

.prototype-banner span {
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: none;
}

.sidebar {
  background:
    linear-gradient(180deg, rgba(2, 7, 15, .99), rgba(4, 10, 18, .99)),
    #030914;
  border-right-color: rgba(212, 175, 55, .2);
  box-shadow: 14px 0 40px rgba(0, 0, 0, .3);
}

.brand-block {
  padding: 20px 18px 17px;
  border-bottom-color: rgba(212, 175, 55, .24);
}

.brand {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
}

.brand-mark {
  position: relative;
  width: 46px;
  height: 46px;
  display: block;
  filter: drop-shadow(0 6px 15px rgba(0, 0, 0, .5));
}

.brand-corner {
  position: absolute;
  width: 15px;
  height: 15px;
  border-color: #f2f2f2;
  border-style: solid;
  border-width: 0;
  box-shadow: 0 0 10px rgba(242, 242, 242, .08);
}

.brand-corner-tl {
  top: 2px;
  left: 2px;
  border-top-width: 6px;
  border-left-width: 6px;
}

.brand-corner-tr {
  top: 2px;
  right: 2px;
  border-top-width: 6px;
  border-right-width: 6px;
}

.brand-corner-bl {
  bottom: 2px;
  left: 2px;
  border-bottom-width: 6px;
  border-left-width: 6px;
}

.brand-corner-br {
  right: 2px;
  bottom: 2px;
  border-right-width: 6px;
  border-bottom-width: 6px;
}

.brand-center {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  background: linear-gradient(145deg, #edc34b, #b78918);
  border: 1px solid #f5d263;
  transform: translate(-50%, -50%);
  box-shadow:
    0 0 0 1px rgba(212, 175, 55, .22),
    0 0 18px rgba(212, 175, 55, .46);
}

.brand-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.brand-name {
  color: #f2f2f2;
  font-size: 20px;
  font-weight: 650;
  letter-spacing: .145em;
  line-height: 1;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .12);
}

.brand-subtitle {
  margin-top: 7px;
  color: var(--gold-strong);
  font-size: 8px;
  font-weight: 650;
  letter-spacing: .19em;
  line-height: 1.25;
  white-space: nowrap;
}

.prototype-chip {
  margin-top: 14px;
  margin-left: 60px;
  color: var(--gold-strong);
  background: rgba(212, 175, 55, .06);
  border: 1px solid rgba(212, 175, 55, .4);
  border-radius: 2px;
  letter-spacing: .15em;
}

.primary-nav a {
  min-height: 41px;
  color: #b8bfbd;
  border-radius: 2px;
  font-weight: 540;
  letter-spacing: .02em;
}

.primary-nav a span:first-child {
  color: var(--silver-dark);
}

.primary-nav a:hover {
  color: #f2f2f2;
  background: rgba(242, 242, 242, .025);
}

.primary-nav a[aria-current="page"] {
  color: #f2f2f2;
  background: linear-gradient(90deg, rgba(212, 175, 55, .11), rgba(212, 175, 55, .025));
  border-color: rgba(212, 175, 55, .38);
  box-shadow: inset 3px 0 0 var(--gold);
}

.primary-nav a[aria-current="page"] span:first-child {
  color: var(--gold-strong);
}

.plan-card {
  background:
    linear-gradient(145deg, rgba(212, 175, 55, .07), rgba(139, 146, 143, .025)),
    #080f19;
  border-color: rgba(212, 175, 55, .28);
  border-radius: 3px;
}

.usage-track span {
  background: linear-gradient(90deg, #8b6b15, var(--gold-strong));
}

.avatar {
  color: #050a10;
  background: linear-gradient(145deg, #f2f2f2, #8b928f);
  border-color: #d7dbda;
}

.topbar {
  background: rgba(3, 9, 20, .94);
  border-bottom-color: rgba(212, 175, 55, .17);
}

.global-search,
.date-button,
.icon-button,
.profile-button,
.field select {
  background: #070f1a;
  border-color: rgba(139, 146, 143, .32);
  border-radius: 3px;
}

.global-search:focus-within {
  border-color: rgba(212, 175, 55, .65);
  box-shadow: 0 0 0 3px rgba(212, 175, 55, .08);
}

.notification-dot {
  color: #070b10;
  background: var(--gold-strong);
  border-color: #030914;
}

.page-heading {
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(212, 175, 55, .16);
}

.eyebrow {
  color: var(--gold-strong);
  font-weight: 620;
  letter-spacing: .19em;
}

h1,
h2,
h3 {
  font-weight: 560;
}

h1 {
  color: #f2f2f2;
  letter-spacing: -.015em;
}

h2 {
  letter-spacing: .01em;
}

.button {
  border-radius: 2px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.button-primary {
  color: #070a0f;
  background: linear-gradient(145deg, #e6bd3e, #b78b1d);
  border-color: #f0c84c;
}

.button-secondary {
  color: #f2f2f2;
  background: rgba(242, 242, 242, .025);
  border-color: rgba(139, 146, 143, .42);
}

.metric-card,
.panel {
  background:
    linear-gradient(145deg, rgba(17, 27, 42, .94), rgba(6, 13, 23, .98));
  border-color: rgba(139, 146, 143, .3);
  border-radius: 5px;
  box-shadow: 0 18px 52px rgba(0, 0, 0, .28);
}

.metric-card::before,
.panel::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, rgba(212, 175, 55, .72), transparent 48%);
}

.metric-card::before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.metric-icon {
  color: var(--gold-strong);
  border-radius: 2px;
}

.panel-header {
  border-bottom-color: rgba(139, 146, 143, .18);
}

.panel-link {
  color: var(--gold-strong);
}

.line-chart .ask-line {
  stroke: #cfd3d2;
}

.line-chart .value-line {
  stroke: var(--gold-strong);
}

.line-chart .area {
  fill: rgba(212, 175, 55, .08);
}

.line-chart .grid {
  stroke: rgba(139, 146, 143, .2);
}

.legend-item:first-child .legend-swatch {
  background: #cfd3d2 !important;
}

.legend-item:nth-child(2) .legend-swatch {
  background: var(--gold-strong) !important;
}

.card-thumb,
.large-card-thumb {
  color: var(--gold-strong);
  background:
    linear-gradient(145deg, rgba(242, 242, 242, .08), transparent 38%),
    #08111d;
  border-color: rgba(139, 146, 143, .42);
  border-radius: 3px;
}

.signal-track,
.population-bar {
  background: #030914;
  border-color: rgba(139, 146, 143, .24);
  border-radius: 2px;
}

.population-bar span {
  background: linear-gradient(90deg, #705511, var(--gold-strong));
}

.readiness-ring {
  background: conic-gradient(var(--gold-strong) var(--progress), rgba(139, 146, 143, .18) 0);
}

.check-item,
.explanation-card,
.key-value,
.grade-card,
.comparison-row > * {
  background: rgba(242, 242, 242, .018);
  border-color: rgba(139, 146, 143, .2);
  border-radius: 3px;
}

.grade-card.recommended {
  border-color: rgba(212, 175, 55, .5);
  box-shadow: inset 0 3px 0 var(--gold);
}

.swap-button {
  color: var(--gold-strong);
  background: #08111d;
  border-color: rgba(212, 175, 55, .52);
  border-radius: 2px;
}

.boundary-note {
  color: #d9dcdb;
  background: rgba(212, 175, 55, .04);
  border-color: rgba(212, 175, 55, .25);
  border-radius: 2px;
}

.toast {
  border-left-color: var(--gold-strong);
  border-radius: 3px;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline-color: rgba(212, 175, 55, .92);
}

@media (max-width: 1180px) {
  .brand-name { font-size: 18px; }
  .brand-subtitle { font-size: 7px; }
}

@media (max-width: 900px) {
  .brand {
    grid-template-columns: 45px minmax(0, 1fr);
  }

  .prototype-chip {
    margin-left: 57px;
  }
}

@media (max-width: 640px) {
  .brand-name { font-size: 19px; }
  .brand-subtitle { white-space: normal; }
}

/* shell-fixes.css */
/*
 * Desktop shell containment fixes discovered during owner visual smoke.
 * Loaded after the approved brand layer.
 */

html,
body {
  max-width: 100%;
  /* `hidden` creates a scroll container in Chrome and breaks sticky UI. */
  overflow-x: clip;
  overscroll-behavior-x: none;
}

.app-shell,
.workspace,
.topbar,
.global-search,
.topbar-actions,
#main-content,
.page,
.panel,
.panel-body,
.detail-grid,
.dashboard-grid,
.stack,
.comparison-table,
.comparison-row,
.comparison-row > * {
  min-width: 0;
}

.app-shell {
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
}

.workspace {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

#main-content,
.page {
  width: 100%;
  max-width: 100%;
}

.sidebar {
  left: 0;
  align-self: start;
  overflow-x: hidden;
}

/* Keep the customer navigation and workspace header available during long pages. */
.sidebar,
.topbar {
  position: sticky;
  top: 0;
}

.primary-nav {
  min-height: 0;
  flex: 1 1 auto;
}

/*
 * The customer readability scale intentionally raises the brand descriptor and
 * tagline. Give the lockup enough usable width instead of shrinking the type.
 */
.brand-block {
  padding-left: 18px;
  padding-right: 8px;
  overflow: hidden;
}

.brand {
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  max-width: 100%;
}

.brand-copy {
  min-width: 0;
  max-width: 100%;
}

.brand-mark {
  width: 42px;
  height: 42px;
}

.brand-name {
  font-size: 18px;
  letter-spacing: .1em;
  white-space: nowrap;
}

.brand-subtitle {
  font-size: 14px;
  letter-spacing: .08em;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}

.brand-tagline {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

.prototype-chip {
  margin-left: 50px;
  max-width: calc(100% - 50px);
  white-space: normal;
}

.topbar {
  grid-template-columns: minmax(0, 1fr) auto;
}

.global-search {
  width: 100%;
}

.topbar-actions {
  flex: 0 0 auto;
}

.profile-button,
.date-button,
.notification-button {
  flex: 0 0 auto;
}

/*
 * Wide comparison content must scroll inside its own panel. It must never
 * enlarge the document or move the customer shell off the left edge.
 */
.comparison-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}

.comparison-row {
  width: 100%;
}

.comparison-row > * {
  overflow-wrap: anywhere;
}

@media (max-width: 1320px) {
  .profile-copy {
    display: none;
  }

  .profile-button {
    padding-right: 5px;
  }

  .date-button {
    padding-inline: 10px;
  }
}

@media (max-width: 1060px) {
  .date-button {
    display: none;
  }
}

@media (max-width: 900px) {
  /*
   * This file loads after styles.css. Reassert the off-canvas mobile position
   * here so the desktop sticky rule above cannot leave a translated sidebar
   * in normal grid flow and push the workspace below the first viewport.
   */
  .sidebar {
    position: fixed;
    top: 32px;
    right: auto;
    bottom: 0;
    left: 0;
    align-self: auto;
  }

  .topbar {
    position: sticky;
    top: 0;
  }

  .brand-block {
    padding-left: 16px;
    padding-right: 8px;
  }

  .brand {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 8px;
  }

  .prototype-chip {
    margin-left: 50px;
    max-width: calc(100% - 50px);
  }

  .comparison-row {
    min-width: 680px;
  }
}

/* feature-pages.css */
/* Remaining non-production SaaS route components. Loaded after shell containment fixes. */

.feature-grid,
.feature-split,
.mini-metric-grid,
.listing-grid,
.account-grid,
.entitlement-grid {
  display: grid;
  gap: 15px;
}

.feature-grid { grid-template-columns: minmax(0, 1.5fr) minmax(280px, .75fr); }
.feature-split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mini-metric-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.entitlement-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.mini-metric,
.listing-card,
.saved-search,
.allocation-item,
.alert-rule,
.security-row,
.entitlement-card,
.sell-summary {
  background: rgba(242, 242, 242, .018);
  border: 1px solid rgba(139, 146, 143, .22);
  border-radius: 3px;
}

.mini-metric { padding: 15px; }
.mini-metric span,
.mini-metric small,
.listing-card small,
.saved-search small,
.allocation-item small,
.alert-rule small,
.security-row small,
.entitlement-card small,
.sell-summary small {
  color: var(--muted);
}
.mini-metric span { display: block; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.mini-metric strong { display: block; margin-top: 7px; color: var(--text); font-size: 22px; }
.mini-metric small { display: block; margin-top: 5px; line-height: 1.45; }

.filter-bar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) 160px 160px auto;
  gap: 10px;
  align-items: end;
}
.filter-bar .field { min-width: 0; }
.filter-bar input,
.filter-bar select {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  color: var(--text);
  background: #07101b;
  border: 1px solid rgba(139, 146, 143, .32);
  border-radius: 3px;
}

.listing-card { padding: 15px; }
.listing-card header,
.alert-rule header,
.saved-search,
.allocation-item,
.security-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.listing-card h3,
.alert-rule h3,
.entitlement-card h3 { margin: 0; font-size: 14px; }
.listing-card p,
.alert-rule p,
.entitlement-card p { margin: 7px 0 0; color: var(--text-soft); font-size: 11px; line-height: 1.55; }
.listing-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 13px;
}
.listing-meta span { padding: 9px; background: rgba(3, 9, 20, .55); border: 1px solid var(--border-soft); }
.listing-meta small { display: block; }
.listing-meta strong { display: block; margin-top: 4px; font-size: 11px; }
.listing-actions { display: flex; gap: 8px; margin-top: 13px; }

.trend-chart,
.portfolio-chart {
  width: 100%;
  min-height: 250px;
  display: block;
}
.trend-chart .grid,
.portfolio-chart .grid { stroke: rgba(139, 146, 143, .18); stroke-width: 1; }
.trend-chart .demand-line,
.portfolio-chart .value-line { fill: none; stroke: var(--gold-strong); stroke-width: 3; }
.trend-chart .liquidity-line { fill: none; stroke: var(--silver); stroke-width: 3; }
.trend-chart .area,
.portfolio-chart .area { fill: rgba(212, 175, 55, .08); }
.trend-chart text,
.portfolio-chart text { fill: var(--muted); font-size: 9px; }

.saved-search-list,
.allocation-list,
.alert-list,
.security-list { display: grid; gap: 9px; }
.saved-search,
.allocation-item,
.security-row { padding: 12px; }
.saved-search strong,
.allocation-item strong,
.security-row strong { display: block; font-size: 11px; }
.saved-search small,
.allocation-item small,
.security-row small { display: block; margin-top: 3px; }

.allocation-bar {
  height: 7px;
  margin-top: 8px;
  overflow: hidden;
  background: #030914;
  border: 1px solid rgba(139, 146, 143, .22);
}
.allocation-bar span { display: block; height: 100%; background: linear-gradient(90deg, #725813, var(--gold-strong)); }

.portfolio-table td strong { white-space: normal; }
.positive-value { color: var(--green); }
.warning-value { color: var(--orange); }

.sell-controls {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(120px, .55fr));
  gap: 10px;
  align-items: end;
}
.sell-controls input,
.sell-controls select {
  width: 100%;
  min-height: 38px;
  padding: 8px 10px;
  color: var(--text);
  background: #07101b;
  border: 1px solid rgba(139, 146, 143, .32);
}
.sell-summary { padding: 16px; }
.sell-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.sell-summary-grid div { padding: 11px; background: rgba(3, 9, 20, .52); border: 1px solid var(--border-soft); }
.sell-summary-grid span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }
.sell-summary-grid strong { display: block; margin-top: 5px; font-size: 15px; }

.alert-rule { padding: 14px; }
.alert-rule + .alert-rule { margin-top: 9px; }
.alert-rule footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; }
.toggle-button { min-width: 72px; }
.toggle-button[aria-pressed="true"] { color: #050a10; background: var(--gold-strong); border-color: var(--gold-strong); }

.entitlement-card { padding: 14px; }
.entitlement-card[data-enabled="true"] { border-color: rgba(72, 201, 140, .4); }
.entitlement-card[data-enabled="false"] { border-color: rgba(233, 164, 47, .38); }
.entitlement-state { display: inline-flex; margin-top: 10px; padding: 4px 7px; border: 1px solid currentColor; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.entitlement-card[data-enabled="true"] .entitlement-state { color: var(--green); }
.entitlement-card[data-enabled="false"] .entitlement-state { color: var(--orange); }

.usage-grid { display: grid; gap: 12px; }
.usage-item header { display: flex; justify-content: space-between; gap: 10px; color: var(--text-soft); font-size: 11px; }
.usage-item .usage-track { height: 7px; }

.empty-filter-state { padding: 26px; text-align: center; color: var(--muted); border: 1px dashed rgba(139, 146, 143, .32); }

@media (max-width: 1180px) {
  .feature-grid { grid-template-columns: 1fr; }
  .mini-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sell-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .feature-split,
  .listing-grid,
  .account-grid,
  .entitlement-grid { grid-template-columns: 1fr; }
  .filter-bar,
  .sell-controls { grid-template-columns: 1fr; }
  .sell-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .listing-meta { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  .mini-metric-grid,
  .sell-summary-grid { grid-template-columns: 1fr; }
  .listing-actions { flex-direction: column; }
  .listing-actions .button { width: 100%; }
}

/* visual-intelligence.css */
/*
 * FlipForge SaaS Visual Intelligence layer
 * Staging/prototype presentation only. All decisions remain governed by the
 * existing Smart Opportunity and PSA authorities.
 */

.visual-intelligence-command {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr);
  gap: 14px;
  margin: 0 0 15px;
}

.visual-intelligence-command::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -70px -35px auto 35%;
  height: 260px;
  background: radial-gradient(circle, rgba(226, 189, 66, .11), transparent 67%);
  pointer-events: none;
}

.vi-card {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(18, 27, 42, .98), rgba(7, 13, 22, .98)),
    var(--surface);
  border: 1px solid rgba(137, 146, 143, .28);
  border-radius: var(--radius);
  box-shadow: 0 22px 64px rgba(0, 0, 0, .32);
}

.vi-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0 64%, rgba(255, 255, 255, .025) 64% 65%, transparent 65% 100%);
  pointer-events: none;
}

.vi-opportunity {
  min-height: 330px;
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 1fr);
}

.vi-card-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 330px;
  padding: 28px 18px;
  background:
    radial-gradient(circle at 50% 32%, rgba(226, 189, 66, .16), transparent 40%),
    linear-gradient(180deg, rgba(255, 255, 255, .03), transparent 46%),
    #080e17;
  border-right: 1px solid rgba(137, 146, 143, .22);
}

.vi-slab {
  position: relative;
  width: min(150px, 90%);
  aspect-ratio: 2.5 / 3.5;
  padding: 12px;
  background: linear-gradient(145deg, rgba(246, 248, 248, .17), rgba(71, 79, 81, .07));
  border: 1px solid rgba(242, 242, 242, .34);
  border-radius: 10px;
  box-shadow: 0 22px 45px rgba(0, 0, 0, .42), inset 0 0 0 4px rgba(255,255,255,.025);
  transform: perspective(780px) rotateY(4deg) rotateX(1deg);
}

.vi-slab-label {
  height: 36px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 6px;
  padding: 6px 7px;
  color: #121922;
  background: linear-gradient(180deg, #f5f6f5, #cfd3d2);
  border-radius: 5px 5px 2px 2px;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.vi-slab-label strong {
  color: #9a171d;
  font-size: 8px;
}

.vi-card-face {
  position: relative;
  height: calc(100% - 43px);
  display: grid;
  place-items: center;
  margin-top: 7px;
  overflow: hidden;
  color: #f6f7f8;
  background:
    linear-gradient(135deg, transparent 0 45%, rgba(226, 189, 66, .14) 45% 47%, transparent 47% 100%),
    radial-gradient(circle at 50% 35%, rgba(226, 189, 66, .19), transparent 34%),
    linear-gradient(145deg, #171d25, #05080d);
  border: 1px solid rgba(226, 189, 66, .37);
}

.vi-card-face::before,
.vi-card-face::after {
  content: "";
  position: absolute;
  width: 64%;
  aspect-ratio: 1;
  border: 1px solid rgba(226, 189, 66, .24);
  transform: rotate(45deg);
}

.vi-card-face::after {
  width: 39%;
  border-color: rgba(242, 242, 242, .18);
}

.vi-card-initials {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  color: var(--gold-strong);
  background: rgba(5, 8, 13, .72);
  border: 1px solid rgba(226, 189, 66, .54);
  border-radius: 50%;
  box-shadow: 0 0 34px rgba(226, 189, 66, .15);
  font-size: 25px;
  font-weight: 900;
  letter-spacing: .03em;
}

.vi-opportunity-copy {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 23px 25px 21px;
}

.vi-kicker-row,
.vi-decision-row,
.vi-card-actions,
.vi-value-row,
.vi-source-row {
  display: flex;
  align-items: center;
}

.vi-kicker-row {
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 13px;
}

.vi-kicker {
  color: var(--gold);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.vi-staging-badge {
  padding: 5px 8px;
  color: var(--text-soft);
  background: rgba(255, 255, 255, .035);
  border: 1px solid rgba(137, 146, 143, .25);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 750;
}

.vi-opportunity h2 {
  max-width: 760px;
  margin: 0 0 5px;
  font-size: clamp(20px, 2.2vw, 29px);
  line-height: 1.15;
  letter-spacing: -.02em;
}

.vi-card-meta {
  margin: 0 0 17px;
  color: var(--muted);
  font-size: 12px;
}

.vi-decision-row {
  flex-wrap: wrap;
  gap: 10px 14px;
  margin-bottom: 19px;
}

.vi-decision {
  min-width: 92px;
  display: inline-grid;
  place-items: center;
  min-height: 36px;
  padding: 0 15px;
  color: #07110c;
  background: linear-gradient(145deg, #42dc8f, #1fb86d);
  border: 1px solid #66efaa;
  border-radius: 8px;
  box-shadow: 0 0 26px rgba(39, 209, 127, .15);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .08em;
}

.vi-decision.status-watch {
  color: #1a1304;
  background: linear-gradient(145deg, #f2c74f, #cfa21e);
  border-color: #f7d974;
}

.vi-decision.status-verify {
  color: #171006;
  background: linear-gradient(145deg, #ffb64b, #d67f12);
  border-color: #ffc875;
}

.vi-decision.status-pass {
  color: #fff;
  background: linear-gradient(145deg, #db5868, #a92f42);
  border-color: #f18491;
}

.vi-decision-copy strong,
.vi-decision-copy span {
  display: block;
}

.vi-decision-copy strong {
  margin-bottom: 3px;
  font-size: 12px;
}

.vi-decision-copy span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.4;
}

.vi-value-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.vi-value-block {
  min-width: 0;
  padding: 12px 13px;
  background: rgba(255, 255, 255, .025);
  border: 1px solid rgba(137, 146, 143, .18);
  border-radius: 9px;
}

.vi-value-block span,
.vi-value-block strong,
.vi-value-block small {
  display: block;
}

.vi-value-block span {
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vi-value-block strong {
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1;
}

.vi-value-block small {
  margin-top: 6px;
  color: var(--text-soft);
  font-size: 9px;
}

.vi-value-block.is-positive strong,
.vi-value-block.is-positive small {
  color: var(--green);
}

.vi-source-row {
  justify-content: space-between;
  gap: 15px;
  margin-top: 14px;
  padding-top: 13px;
  color: var(--muted);
  border-top: 1px solid rgba(137, 146, 143, .16);
  font-size: 9px;
  line-height: 1.45;
}

.vi-source-row strong {
  color: var(--text-soft);
}

.vi-card-actions {
  gap: 8px;
  flex-shrink: 0;
}

.vi-action-link {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 11px;
  color: #07111d;
  background: var(--gold);
  border: 1px solid var(--gold-strong);
  border-radius: 7px;
  text-decoration: none;
  font-size: 9px;
  font-weight: 850;
}

.vi-scoreboard {
  min-height: 330px;
  padding: 21px;
}

.vi-scoreboard-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 17px;
}

.vi-scoreboard-header h2 {
  margin: 0 0 4px;
  font-size: 16px;
}

.vi-scoreboard-header p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.vi-score-mark {
  position: relative;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
}

.vi-score-mark span {
  position: absolute;
  width: 12px;
  height: 12px;
  border-style: solid;
  border-color: #eef0ef;
}

.vi-score-mark span:nth-child(1) { inset: 0 auto auto 0; border-width: 3px 0 0 3px; }
.vi-score-mark span:nth-child(2) { inset: 0 0 auto auto; border-width: 3px 3px 0 0; }
.vi-score-mark span:nth-child(3) { inset: auto auto 0 0; border-width: 0 0 3px 3px; }
.vi-score-mark span:nth-child(4) { inset: auto 0 0 auto; border-width: 0 3px 3px 0; }
.vi-score-mark::after {
  content: "";
  position: absolute;
  width: 9px;
  height: 9px;
  inset: 0;
  margin: auto;
  background: var(--gold);
  box-shadow: 0 0 18px rgba(226, 189, 66, .4);
}

.vi-primary-gauge {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 142px 1fr;
  align-items: center;
  gap: 17px;
  margin-bottom: 18px;
}

.vi-gauge {
  --gauge-value: 50;
  --gauge-color: var(--green);
  position: relative;
  width: 142px;
  height: 142px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--gauge-color) calc(var(--gauge-value) * 1%), rgba(255, 255, 255, .07) 0);
  box-shadow: 0 0 38px color-mix(in srgb, var(--gauge-color) 18%, transparent);
}

.vi-gauge::before {
  content: "";
  position: absolute;
  inset: 12px;
  background: #0a111b;
  border: 1px solid rgba(137, 146, 143, .2);
  border-radius: inherit;
}

.vi-gauge-copy {
  position: relative;
  z-index: 1;
  text-align: center;
}

.vi-gauge-copy strong,
.vi-gauge-copy span {
  display: block;
}

.vi-gauge-copy strong {
  font-size: 37px;
  line-height: 1;
}

.vi-gauge-copy span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.vi-gauge-explanation strong,
.vi-gauge-explanation span {
  display: block;
}

.vi-gauge-explanation strong {
  margin-bottom: 7px;
  color: var(--green);
  font-size: 13px;
}

.vi-gauge-explanation span {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.vi-factor-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.vi-factor {
  padding: 10px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(137, 146, 143, .17);
  border-radius: 8px;
}

.vi-factor-top {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 7px;
  font-size: 9px;
}

.vi-factor-top span { color: var(--muted); }
.vi-factor-top strong { font-size: 10px; }

.vi-factor-track {
  height: 5px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
  border-radius: 99px;
}

.vi-factor-track span {
  display: block;
  height: 100%;
  width: calc(var(--factor-value) * 1%);
  background: var(--factor-color, var(--gold));
  border-radius: inherit;
}

.vi-insight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 15px;
}

.vi-insight-card {
  min-width: 0;
  min-height: 248px;
  padding: 18px;
}

.vi-insight-header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.vi-insight-header h3 {
  margin: 0 0 4px;
  font-size: 14px;
}

.vi-insight-header p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.vi-insight-icon {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: var(--gold);
  background: rgba(226, 189, 66, .08);
  border: 1px solid rgba(226, 189, 66, .2);
  border-radius: 8px;
  font-size: 13px;
}

.vi-mini-chart {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  overflow: visible;
}

.vi-mini-chart .vi-grid-line {
  stroke: rgba(137, 146, 143, .14);
  stroke-width: 1;
}

.vi-mini-chart .vi-value-line {
  fill: none;
  stroke: var(--gold);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.vi-mini-chart .vi-ask-line {
  fill: none;
  stroke: #8f9998;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 5 5;
}

.vi-mini-chart .vi-area {
  fill: url(#viGoldArea);
}

.vi-chart-summary {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-top: 9px;
  color: var(--muted);
  font-size: 9px;
}

.vi-chart-summary strong {
  color: var(--text);
  font-size: 10px;
}

.vi-evidence-bars {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
}

.vi-evidence-row {
  display: grid;
  grid-template-columns: minmax(88px, 1fr) minmax(95px, 1.2fr) auto;
  align-items: center;
  gap: 9px;
}

.vi-evidence-row > span:first-child {
  color: var(--text-soft);
  font-size: 9px;
}

.vi-evidence-track {
  height: 7px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
  border-radius: 99px;
}

.vi-evidence-track span {
  display: block;
  height: 100%;
  width: var(--evidence-value);
  background: var(--evidence-color, var(--gold));
  border-radius: inherit;
}

.vi-evidence-row strong {
  min-width: 46px;
  text-align: right;
  font-size: 9px;
}

.vi-evidence-note {
  position: relative;
  z-index: 1;
  margin: 15px 0 0;
  padding-top: 12px;
  color: var(--muted);
  border-top: 1px solid rgba(137, 146, 143, .15);
  font-size: 9px;
  line-height: 1.5;
}

.vi-grade-bars {
  position: relative;
  z-index: 1;
  height: 133px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: end;
  gap: 12px;
  padding: 7px 5px 0;
  border-bottom: 1px solid rgba(137, 146, 143, .22);
}

.vi-grade-column {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: end;
  height: 100%;
  text-align: center;
}

.vi-grade-column strong {
  align-self: start;
  margin-bottom: 5px;
  font-size: 9px;
}

.vi-grade-bar {
  width: min(42px, 75%);
  height: var(--grade-height);
  justify-self: center;
  background: linear-gradient(180deg, var(--grade-color), color-mix(in srgb, var(--grade-color) 58%, #101721));
  border: 1px solid color-mix(in srgb, var(--grade-color) 75%, white);
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 0 25px color-mix(in srgb, var(--grade-color) 14%, transparent);
}

.vi-grade-column span {
  min-height: 27px;
  display: grid;
  place-items: center;
  padding-top: 7px;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.2;
}

.vi-authority-strip {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  margin: 0 0 15px;
  padding: 12px 14px;
  color: var(--text-soft);
  background: rgba(226, 189, 66, .045);
  border: 1px solid rgba(226, 189, 66, .2);
  border-radius: 10px;
  font-size: 9px;
  line-height: 1.45;
}

.vi-authority-strip strong {
  color: var(--gold);
  letter-spacing: .06em;
  text-transform: uppercase;
}

.vi-authority-strip a {
  color: var(--gold-strong);
  font-weight: 800;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .visual-intelligence-command { grid-template-columns: 1fr; }
  .vi-scoreboard { min-height: auto; }
  .vi-primary-gauge { grid-template-columns: 132px 1fr; }
  .vi-gauge { width: 132px; height: 132px; }
  .vi-insight-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vi-insight-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .vi-opportunity { grid-template-columns: 1fr; }
  .vi-card-visual {
    min-height: 245px;
    border-right: 0;
    border-bottom: 1px solid rgba(137, 146, 143, .22);
  }
  .vi-slab { width: 128px; }
  .vi-opportunity-copy { padding: 20px 18px; }
  .vi-value-row { grid-template-columns: 1fr; }
  .vi-source-row { align-items: flex-start; flex-direction: column; }
  .vi-insight-grid { grid-template-columns: 1fr; }
  .vi-insight-card:last-child { grid-column: auto; }
  .vi-authority-strip { grid-template-columns: auto 1fr; }
  .vi-authority-strip a { grid-column: 2; }
}

@media (max-width: 480px) {
  .vi-primary-gauge {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .vi-factor-grid { grid-template-columns: 1fr; }
  .vi-kicker-row { align-items: flex-start; flex-direction: column; }
  .vi-evidence-row { grid-template-columns: 1fr auto; }
  .vi-evidence-track { grid-column: 1 / -1; grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .vi-slab { transform: none; }
}

/* cockpit-expansion.css */
.cockpit-expansion {
  display: grid;
  gap: 18px;
  margin: 18px 0 22px;
}

.cockpit-section-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  background: linear-gradient(135deg, rgba(212, 175, 55, .09), rgba(13, 22, 37, .96));
  border: 1px solid rgba(212, 175, 55, .25);
  border-radius: 16px;
}
.cockpit-section-heading span:first-child {
  color: var(--gold);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cockpit-section-heading h2 { margin: 5px 0 7px; font-size: clamp(20px, 2vw, 29px); }
.cockpit-section-heading p { max-width: 840px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.cockpit-stage-chip {
  flex: 0 0 auto;
  padding: 7px 10px;
  color: #0a111c !important;
  background: var(--gold);
  border-radius: 999px;
  font-size: 9px !important;
  letter-spacing: .08em !important;
}

.cockpit-module-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.cockpit-module-card {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  min-height: 112px;
  padding: 15px;
  color: var(--text);
  background: linear-gradient(145deg, rgba(22, 34, 56, .98), rgba(11, 18, 31, .98));
  border: 1px solid var(--border);
  border-radius: 13px;
  text-decoration: none;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
}
.cockpit-module-card:hover { transform: translateY(-2px); border-color: rgba(212, 175, 55, .52); }
.cockpit-module-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--gold);
  background: rgba(212, 175, 55, .08);
  border: 1px solid rgba(212, 175, 55, .22);
  border-radius: 11px;
  font-weight: 900;
}
.cockpit-module-card strong,
.cockpit-module-card small,
.cockpit-module-card em { display: block; }
.cockpit-module-card strong { font-size: 13px; }
.cockpit-module-card small { margin-top: 4px; color: var(--text-soft); font-size: 10px; font-weight: 700; }
.cockpit-module-card em { margin-top: 7px; color: var(--muted); font-size: 9px; font-style: normal; line-height: 1.4; }
.cockpit-module-card > span:last-child { color: var(--gold); font-size: 18px; }

.cockpit-grid { display: grid; gap: 14px; }
.cockpit-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cockpit-market-grid { grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr); }
.cockpit-panel {
  min-width: 0;
  padding: 17px;
  background: linear-gradient(145deg, rgba(20, 31, 51, .98), rgba(10, 17, 29, .98));
  border: 1px solid var(--border);
  border-radius: 14px;
  box-shadow: 0 16px 38px rgba(0, 0, 0, .2);
}
.cockpit-panel > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 15px;
}
.cockpit-panel h3 { margin: 0 0 4px; font-size: 14px; }
.cockpit-panel header p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.cockpit-panel header a,
.cockpit-panel header > span { flex: 0 0 auto; color: var(--gold); font-size: 9px; font-weight: 800; text-decoration: none; }

.cockpit-donut-layout { display: grid; grid-template-columns: 190px 1fr; align-items: center; gap: 18px; }
.cockpit-donut {
  position: relative;
  width: 178px;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  background: conic-gradient(var(--donut-stops));
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.05), 0 14px 35px rgba(0,0,0,.22);
}
.cockpit-donut::after {
  content: "";
  position: absolute;
  inset: 28px;
  background: #0e1726;
  border: 1px solid var(--border);
  border-radius: 50%;
}
.cockpit-donut > span { position: relative; z-index: 1; text-align: center; }
.cockpit-donut strong,
.cockpit-donut small { display: block; }
.cockpit-donut strong { font-size: 19px; }
.cockpit-donut small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.cockpit-legend { display: grid; gap: 10px; }
.cockpit-legend > div { display: grid; grid-template-columns: 10px 1fr; column-gap: 8px; }
.cockpit-legend > div > span { width: 9px; height: 9px; margin-top: 2px; background: var(--legend-color); border-radius: 3px; grid-row: span 2; }
.cockpit-legend strong { font-size: 10px; }
.cockpit-legend small { color: var(--muted); font-size: 9px; }

.cockpit-unconfigured-note {
  margin-bottom: 13px;
  padding: 10px 11px;
  color: var(--text-soft);
  background: rgba(246, 169, 22, .08);
  border: 1px solid rgba(246, 169, 22, .2);
  border-radius: 9px;
  font-size: 9px;
  line-height: 1.5;
}
.cockpit-unconfigured-note strong { color: var(--orange); }
.cockpit-distribution { display: grid; gap: 10px; }
.cockpit-distribution-row { display: grid; grid-template-columns: 120px 1fr 24px; align-items: center; gap: 9px; font-size: 9px; }
.cockpit-distribution-row > span:first-child { color: var(--text-soft); }
.cockpit-distribution-track { height: 8px; overflow: hidden; background: rgba(255,255,255,.055); border-radius: 999px; }
.cockpit-distribution-track > span { display: block; width: var(--distribution-width); height: 100%; background: var(--distribution-color); border-radius: inherit; }
.cockpit-distribution-row strong { text-align: right; }

.cockpit-map-panel { overflow: hidden; }
.cockpit-map {
  position: relative;
  min-height: 310px;
  background:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    radial-gradient(circle at 22% 20%, rgba(39,209,127,.08), transparent 35%),
    radial-gradient(circle at 82% 24%, rgba(246,169,22,.08), transparent 35%),
    rgba(7, 13, 21, .68);
  background-size: 25% 25%, 25% 25%, auto, auto, auto;
  border: 1px solid var(--border-soft);
  border-radius: 12px;
}
.cockpit-map::before,
.cockpit-map::after { content: ""; position: absolute; background: rgba(255,255,255,.1); }
.cockpit-map::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.cockpit-map::after { top: 50%; left: 0; right: 0; height: 1px; }
.cockpit-axis { position: absolute; z-index: 1; color: var(--muted); font-size: 8px; font-weight: 750; }
.cockpit-axis-y { top: 8px; left: 10px; }
.cockpit-axis-x { right: 10px; bottom: 7px; }
.cockpit-quadrant { position: absolute; color: rgba(194,203,217,.46); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.cockpit-quadrant.q1 { left: 14px; top: 36px; }
.cockpit-quadrant.q2 { right: 14px; top: 36px; }
.cockpit-quadrant.q3 { left: 14px; bottom: 32px; }
.cockpit-quadrant.q4 { right: 14px; bottom: 32px; }
.cockpit-map-point {
  position: absolute;
  z-index: 2;
  left: var(--map-x);
  top: var(--map-y);
  width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  padding: 4px;
  transform: translate(-50%, -50%);
  color: #09111d;
  background: var(--gold);
  border: 3px solid rgba(255,255,255,.84);
  border-radius: 50%;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
}
.cockpit-map-point.status-buy { background: var(--green); }
.cockpit-map-point.status-watch { background: var(--blue); }
.cockpit-map-point.status-verify { background: var(--orange); }
.cockpit-map-point.status-pass { background: var(--red); }
.cockpit-map-point span { font-size: 9px; font-weight: 900; }
.cockpit-map-point small { position: absolute; top: 44px; color: var(--text-soft); font-size: 7px; font-weight: 800; white-space: nowrap; }
.cockpit-map-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 5px 12px; margin-top: 12px; color: var(--muted); font-size: 8px; }
.cockpit-map-list strong { color: var(--text); }

.cockpit-trade-grid { display: grid; grid-template-columns: 1fr 125px 1fr; gap: 10px; align-items: stretch; }
.cockpit-trade-side,
.cockpit-trade-balance { padding: 12px; background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 10px; }
.cockpit-trade-side > span,
.cockpit-trade-side strong,
.cockpit-trade-side small,
.cockpit-trade-balance span,
.cockpit-trade-balance strong,
.cockpit-trade-balance small { display: block; }
.cockpit-trade-side > span,
.cockpit-trade-balance span { color: var(--gold); font-size: 8px; font-weight: 850; text-transform: uppercase; letter-spacing: .1em; }
.cockpit-trade-side strong { margin-top: 8px; font-size: 10px; line-height: 1.4; }
.cockpit-trade-side small { margin-top: 8px; color: var(--muted); font-size: 8px; line-height: 1.45; }
.cockpit-trade-balance { display: grid; align-content: center; text-align: center; }
.cockpit-trade-balance strong { margin-top: 6px; font-size: 18px; }
.cockpit-trade-balance small { margin-top: 3px; color: var(--muted); font-size: 8px; }
.cockpit-boundary-copy { margin: 11px 0 0; color: var(--muted); font-size: 8px; line-height: 1.55; }
.cockpit-inline-link { display: inline-block; margin-top: 9px; color: var(--gold); font-size: 9px; font-weight: 800; text-decoration: none; }

.cockpit-grade-lanes { display: grid; gap: 10px; }
.cockpit-grade-lane { display: grid; grid-template-columns: 60px 1fr 58px; align-items: center; gap: 8px; }
.cockpit-grade-lane > span:first-child { color: var(--text-soft); font-size: 9px; font-weight: 800; }
.cockpit-grade-track { height: 13px; overflow: hidden; background: rgba(255,255,255,.05); border-radius: 999px; }
.cockpit-grade-track > span { display: block; width: var(--lane-width); height: 100%; background: linear-gradient(90deg, #8b928f, #d4af37); border-radius: inherit; }
.cockpit-grade-lane strong { text-align: right; font-size: 10px; }
.cockpit-grade-lane small { grid-column: 2 / 4; margin-top: -5px; color: var(--muted); font-size: 7px; }
.cockpit-grade-summary { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 13px; }
.cockpit-grade-summary span { padding: 9px; color: var(--muted); background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 8px; font-size: 8px; line-height: 1.45; }
.cockpit-grade-summary strong { color: var(--text); }

.cockpit-action-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.cockpit-action-card {
  min-height: 138px;
  display: grid;
  align-content: center;
  padding: 20px;
  color: var(--text);
  background: linear-gradient(135deg, rgba(97,168,255,.12), rgba(14,24,40,.98));
  border: 1px solid rgba(97,168,255,.28);
  border-radius: 14px;
  text-decoration: none;
}
.cockpit-action-card.is-gold { background: linear-gradient(135deg, rgba(212,175,55,.17), rgba(14,24,40,.98)); border-color: rgba(212,175,55,.32); }
.cockpit-action-card span { color: var(--gold); font-size: 9px; font-weight: 850; text-transform: uppercase; letter-spacing: .11em; }
.cockpit-action-card strong { margin-top: 8px; font-size: 16px; }
.cockpit-action-card small { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.cockpit-market-metrics { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 8px; margin-bottom: 12px; }
.cockpit-market-metrics span { padding: 9px; color: var(--muted); background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 8px; font-size: 8px; }
.cockpit-market-metrics strong { display: block; margin-bottom: 3px; color: var(--text); font-size: 14px; }
.cockpit-market-chart { width: 100%; min-height: 150px; }
.cockpit-market-chart line { stroke: rgba(255,255,255,.07); stroke-width: 1; }
.cockpit-market-chart path { fill: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 4; }
.cockpit-market-chart path.demand { stroke: var(--gold); }
.cockpit-market-chart path.liquidity { stroke: var(--blue); }
.cockpit-market-legend { display: flex; gap: 14px; color: var(--muted); font-size: 8px; }
.cockpit-market-legend span:first-child::before,
.cockpit-market-legend span:last-child::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; }
.cockpit-market-legend span:first-child::before { background: var(--gold); }
.cockpit-market-legend span:last-child::before { background: var(--blue); }

.cockpit-opportunity-list { display: grid; gap: 8px; }
.cockpit-opportunity-mini { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 9px; padding: 9px; color: var(--text); background: rgba(255,255,255,.025); border: 1px solid var(--border-soft); border-radius: 9px; text-decoration: none; }
.cockpit-mini-thumb { width: 31px; height: 39px; display: grid; place-items: center; color: #09111d; background: linear-gradient(145deg, #e3c55a, #7b641e); border-radius: 5px; font-size: 8px; font-weight: 900; }
.cockpit-opportunity-mini strong,
.cockpit-opportunity-mini small { display: block; }
.cockpit-opportunity-mini strong { font-size: 9px; }
.cockpit-opportunity-mini small { margin-top: 3px; color: var(--muted); font-size: 7px; }
.cockpit-mini-decision { padding: 4px 6px; border-radius: 999px; font-size: 7px; font-weight: 900; }
.cockpit-mini-decision.status-buy { color: var(--green); background: rgba(39,209,127,.1); }
.cockpit-mini-decision.status-watch { color: var(--blue); background: rgba(97,168,255,.1); }
.cockpit-mini-decision.status-verify { color: var(--orange); background: rgba(246,169,22,.1); }
.cockpit-mini-decision.status-pass { color: var(--red); background: rgba(255,99,116,.1); }

.cockpit-feed { display: grid; gap: 8px; }
.cockpit-feed > div { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 8px; padding: 9px; background: rgba(255,255,255,.022); border: 1px solid var(--border-soft); border-radius: 8px; }
.cockpit-feed > div > span:first-child { width: 27px; height: 27px; display: grid; place-items: center; color: var(--gold); background: rgba(212,175,55,.08); border-radius: 7px; font-size: 9px; font-weight: 900; }
.cockpit-feed strong,
.cockpit-feed small { display: block; }
.cockpit-feed strong { font-size: 9px; }
.cockpit-feed small { margin-top: 2px; color: var(--muted); font-size: 7px; }
.cockpit-feed time { color: var(--muted); font-size: 7px; white-space: nowrap; }

@media (max-width: 1180px) {
  .cockpit-module-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cockpit-market-grid { grid-template-columns: 1fr; }
  .cockpit-donut-layout { grid-template-columns: 150px 1fr; }
  .cockpit-donut { width: 145px; }
  .cockpit-donut::after { inset: 24px; }
}

@media (max-width: 900px) {
  .cockpit-grid-two,
  .cockpit-action-grid { grid-template-columns: 1fr; }
  .cockpit-map { min-height: 270px; }
  .cockpit-map-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .cockpit-section-heading { align-items: flex-start; flex-direction: column; }
  .cockpit-module-grid { grid-template-columns: 1fr; }
  .cockpit-donut-layout { grid-template-columns: 1fr; justify-items: center; }
  .cockpit-legend { width: 100%; grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cockpit-trade-grid { grid-template-columns: 1fr; }
  .cockpit-trade-balance { min-height: 90px; }
  .cockpit-market-metrics { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cockpit-map-point { width: 38px; min-height: 38px; }
  .cockpit-map-point small { top: 38px; }
}

@media (max-width: 480px) {
  .cockpit-panel { padding: 13px; }
  .cockpit-distribution-row { grid-template-columns: 96px 1fr 20px; }
  .cockpit-grade-lane { grid-template-columns: 48px 1fr 48px; }
  .cockpit-grade-summary { grid-template-columns: 1fr; }
  .cockpit-market-metrics { grid-template-columns: 1fr 1fr; }
  .cockpit-feed > div { grid-template-columns: 27px 1fr; }
  .cockpit-feed time { grid-column: 2; }
  .cockpit-map { min-height: 235px; }
  .cockpit-quadrant { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .cockpit-module-card { transition: none; }
  .cockpit-module-card:hover { transform: none; }
}

/* cockpit-layout-fix.css */
/*
 * Dashboard hierarchy correction for the expanded SaaS cockpit.
 * The full cockpit is the primary dashboard; legacy duplicate blocks are hidden
 * only after the replacement cockpit has rendered successfully.
 */

.dashboard-cockpit-primary > .cockpit-expansion {
  margin: 0 0 24px;
}

.dashboard-cockpit-primary .cockpit-section-heading {
  min-height: auto;
  padding: 22px 24px;
}

.dashboard-cockpit-primary .cockpit-section-heading h2 {
  margin-bottom: 7px;
  font-size: clamp(25px, 3vw, 38px);
}

.dashboard-cockpit-primary .cockpit-module-grid {
  margin-top: 16px;
}

.cockpit-deep-analysis-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin: 30px 0 14px;
  padding-top: 22px;
  border-top: 1px solid rgba(212, 175, 55, .28);
}

.cockpit-deep-analysis-heading > div > span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.cockpit-deep-analysis-heading h2 {
  margin: 6px 0 5px;
  font-size: clamp(22px, 2.5vw, 32px);
}

.cockpit-deep-analysis-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.cockpit-deep-analysis-heading > a {
  flex: 0 0 auto;
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
}

.dashboard-cockpit-primary > .visual-intelligence-layer {
  margin-top: 0;
}

.dashboard-cockpit-primary .visual-intelligence-command {
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
}

.dashboard-cockpit-primary .vi-opportunity,
.dashboard-cockpit-primary .vi-card-visual {
  min-height: 286px;
}

.dashboard-cockpit-primary .vi-card-visual {
  padding-top: 20px;
  padding-bottom: 20px;
}

.dashboard-cockpit-primary .vi-slab {
  width: min(132px, 88%);
}

.dashboard-cockpit-primary .vi-opportunity-copy {
  padding: 20px 22px 18px;
}

.dashboard-cockpit-primary .vi-opportunity h2 {
  font-size: clamp(20px, 2vw, 27px);
}

.cockpit-legacy-dashboard-block {
  display: none !important;
}

@media (max-width: 1180px) {
  .dashboard-cockpit-primary .visual-intelligence-command {
    grid-template-columns: 1fr;
  }

  .cockpit-deep-analysis-heading {
    align-items: flex-start;
  }
}

@media (max-width: 760px) {
  .dashboard-cockpit-primary .cockpit-section-heading,
  .cockpit-deep-analysis-heading {
    display: block;
  }

  .cockpit-deep-analysis-heading > a {
    display: inline-block;
    margin-top: 12px;
  }

  .dashboard-cockpit-primary .vi-opportunity {
    grid-template-columns: 1fr;
  }

  .dashboard-cockpit-primary .vi-card-visual {
    min-height: 230px;
    border-right: 0;
    border-bottom: 1px solid rgba(137, 146, 143, .22);
  }
}

/* cockpit-polish.css */
/* Final first-screen density pass for the FlipForge SaaS cockpit. */

.dashboard-cockpit-primary.cockpit-polished > .cockpit-expansion {
  gap: 12px;
  margin-bottom: 20px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-section-heading {
  align-items: center;
  min-height: 0;
  padding: 14px 16px;
  background: linear-gradient(135deg, rgba(212, 175, 55, .065), rgba(13, 22, 37, .96));
  border-radius: 12px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-section-heading h2 {
  margin: 3px 0 4px;
  font-size: clamp(22px, 2.15vw, 30px);
  line-height: 1.08;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-section-heading p {
  max-width: 760px;
  font-size: 10px;
  line-height: 1.45;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-stage-chip {
  padding: 6px 9px;
  font-size: 8px !important;
}

.cockpit-kpi-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}

.cockpit-kpi-card {
  min-width: 0;
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 11px 12px;
  background: linear-gradient(145deg, rgba(20, 31, 51, .98), rgba(10, 17, 29, .98));
  border: 1px solid var(--border);
  border-radius: 11px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .16);
}

.cockpit-kpi-card > div {
  min-width: 0;
}

.cockpit-kpi-card span,
.cockpit-kpi-card strong,
.cockpit-kpi-card small {
  display: block;
}

.cockpit-kpi-card > div > span {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.cockpit-kpi-card strong {
  margin-top: 5px;
  font-size: 18px;
  line-height: 1;
}

.cockpit-kpi-card small {
  margin-top: 6px;
  overflow: hidden;
  color: var(--muted);
  font-size: 7px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cockpit-kpi-icon {
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  display: grid !important;
  place-items: center;
  color: var(--gold);
  background: rgba(212, 175, 55, .08);
  border: 1px solid rgba(212, 175, 55, .22);
  border-radius: 9px;
  font-size: 14px;
  font-weight: 900;
}

.cockpit-kpi-market {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 84px;
}

.cockpit-kpi-sparkline {
  width: 84px;
  height: 30px;
  overflow: visible;
}

.cockpit-kpi-sparkline path {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 4px 8px rgba(212, 175, 55, .2));
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-grid {
  gap: 9px;
  margin-top: 0;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-card {
  min-height: 88px;
  gap: 10px;
  padding: 11px 12px;
  border-radius: 11px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-icon {
  width: 35px;
  height: 35px;
  border-radius: 9px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-card strong {
  font-size: 12px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-card small {
  margin-top: 3px;
  font-size: 9px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-module-card em {
  margin-top: 5px;
  font-size: 8px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-grid {
  gap: 11px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-panel {
  padding: 14px;
  border-radius: 12px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-panel > header {
  margin-bottom: 11px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-donut {
  width: 154px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-donut-layout {
  grid-template-columns: 165px 1fr;
  gap: 12px;
}

.dashboard-cockpit-primary.cockpit-polished .cockpit-map {
  min-height: 270px;
}

@media (max-width: 1320px) {
  .cockpit-kpi-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cockpit-kpi-market {
    grid-column: span 2;
  }
}

@media (max-width: 900px) {
  .dashboard-cockpit-primary.cockpit-polished .cockpit-section-heading {
    align-items: flex-start;
  }

  .cockpit-kpi-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cockpit-kpi-market {
    grid-column: span 2;
  }
}

@media (max-width: 640px) {
  .dashboard-cockpit-primary.cockpit-polished .cockpit-section-heading {
    display: block;
    padding: 13px;
  }

  .dashboard-cockpit-primary.cockpit-polished .cockpit-stage-chip {
    display: inline-block;
    margin-top: 10px;
  }

  .cockpit-kpi-strip,
  .dashboard-cockpit-primary.cockpit-polished .cockpit-module-grid {
    grid-template-columns: 1fr;
  }

  .cockpit-kpi-market {
    grid-column: auto;
  }

  .cockpit-kpi-card small {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cockpit-kpi-sparkline path {
    filter: none;
  }
}

/* cockpit-final-ux.css */
/* Final dashboard UX cleanup: concise overview, readable charts, and optional deep analysis. */

.dashboard-cockpit-primary.cockpit-final-ux > .page-heading {
  margin-bottom: 10px;
}

.dashboard-cockpit-primary.cockpit-final-ux > .page-heading h1 {
  font-size: clamp(26px, 2.7vw, 36px);
}

.dashboard-cockpit-primary.cockpit-final-ux > .page-heading p {
  max-width: 850px;
  font-size: 12px;
}

.dashboard-cockpit-primary.cockpit-final-ux .cockpit-section-heading {
  padding: 12px 14px;
}

.dashboard-cockpit-primary.cockpit-final-ux .cockpit-section-heading h2 {
  font-size: clamp(21px, 2vw, 28px);
}

.dashboard-cockpit-primary.cockpit-final-ux .cockpit-module-card {
  min-height: 82px;
}

.sidebar,
.primary-nav {
  scroll-behavior: auto !important;
}

.cockpit-analysis-details {
  margin: 24px 0 0;
  overflow: hidden;
  background: linear-gradient(145deg, rgba(18, 28, 46, .98), rgba(8, 14, 24, .98));
  border: 1px solid rgba(212, 175, 55, .26);
  border-radius: 14px;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .22);
}

.cockpit-analysis-details > summary {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.cockpit-analysis-details > summary::-webkit-details-marker {
  display: none;
}

.cockpit-analysis-details > summary:hover {
  background: rgba(212, 175, 55, .045);
}

.cockpit-analysis-details > summary:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}

.cockpit-analysis-summary-copy,
.cockpit-analysis-summary-copy small,
.cockpit-analysis-summary-copy strong,
.cockpit-analysis-summary-copy em {
  display: block;
}

.cockpit-analysis-summary-copy {
  min-width: 0;
}

.cockpit-analysis-summary-copy small {
  color: var(--gold);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.cockpit-analysis-summary-copy strong {
  margin-top: 5px;
  font-size: 14px;
}

.cockpit-analysis-summary-copy em {
  margin-top: 5px;
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cockpit-analysis-summary-action {
  flex: 0 0 auto;
  color: var(--gold);
  font-size: 10px;
  font-weight: 850;
}

.cockpit-analysis-summary-action span {
  display: inline-block;
  margin-left: 5px;
  transition: transform .18s ease;
}

.cockpit-analysis-details[open] .cockpit-analysis-summary-action span {
  transform: rotate(180deg);
}

.cockpit-analysis-details > .visual-intelligence-layer {
  padding: 0 14px 14px;
}

.cockpit-analysis-details .vi-authority-strip {
  margin-bottom: 0;
}

.cockpit-market-axis-labels {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin: 4px 2px 0;
  color: var(--muted);
  font-size: 8px;
}

.cockpit-market-chart .demand-dot {
  fill: var(--gold);
  stroke: #08101c;
  stroke-width: 1.5;
}

.cockpit-market-chart .liquidity-dot {
  fill: var(--green);
  stroke: #08101c;
  stroke-width: 1.5;
}

.cockpit-market-legend {
  margin-top: 7px;
}

.cockpit-market-legend span:first-child::before,
.cockpit-market-legend span:last-child::before {
  content: "";
  width: 7px;
  height: 7px;
  display: inline-block;
  margin-right: 5px;
  border-radius: 50%;
}

.cockpit-market-legend span:first-child::before {
  background: var(--gold);
}

.cockpit-market-legend span:last-child::before {
  background: var(--green);
}

.cockpit-map-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 13px;
  margin-top: 10px;
  color: var(--muted);
  font-size: 8px;
}

.cockpit-map-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 800;
}

.cockpit-map-legend i {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
}

.cockpit-map-legend i.status-buy { background: var(--green); }
.cockpit-map-legend i.status-watch { background: var(--blue); }
.cockpit-map-legend i.status-verify { background: var(--orange); }
.cockpit-map-legend i.status-pass { background: var(--red); }

.cockpit-map-legend em {
  margin-left: auto;
  font-style: normal;
}

.cockpit-grade-lane {
  grid-template-columns: 58px minmax(0, 1fr) 58px;
}

.cockpit-grade-delta {
  grid-column: 2 / 4;
  margin-top: -5px;
  color: var(--text-soft);
  font-size: 7px;
  font-style: normal;
  font-weight: 750;
}

.cockpit-grade-lane > small {
  margin-top: 1px;
}

.cockpit-grading-method-note {
  margin: 10px 0 0;
  padding-top: 9px;
  color: var(--muted);
  border-top: 1px solid var(--border-soft);
  font-size: 8px;
  line-height: 1.5;
}

@media (max-width: 900px) {
  .cockpit-analysis-details > summary {
    align-items: flex-start;
  }

  .cockpit-map-legend em {
    width: 100%;
    margin-left: 0;
  }
}

@media (max-width: 640px) {
  .cockpit-analysis-details > summary {
    display: block;
  }

  .cockpit-analysis-summary-copy em {
    white-space: normal;
  }

  .cockpit-analysis-summary-action {
    display: inline-block;
    margin-top: 10px;
  }

  .cockpit-analysis-details > .visual-intelligence-layer {
    padding: 0 9px 9px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cockpit-analysis-summary-action span {
    transition: none;
  }
}

/* sidebar-edge-fix.css */
/*
 * Final sidebar edge containment for desktop owner review.
 * Prevents the fixed customer shell from rendering a few pixels off the left
 * viewport edge while preserving the existing mobile off-canvas transform.
 */

@media (min-width: 901px) {
  .app-shell {
    grid-template-columns: var(--sidebar) minmax(0, 1fr);
  }

  .sidebar {
    inset-inline-start: 0;
    left: 0;
    width: var(--sidebar);
    min-width: var(--sidebar);
    max-width: var(--sidebar);
    margin-left: 0;
    transform: translateX(0);
    overflow-x: clip;
  }

  .sidebar > *,
  .brand-block,
  .primary-nav,
  .sidebar-footer,
  .plan-card,
  .account-link {
    min-width: 0;
    max-width: 100%;
    margin-left: 0;
  }

  .brand-block {
    padding-left: 22px;
    padding-right: 16px;
  }

  .primary-nav,
  .sidebar-footer {
    padding-left: 12px;
    padding-right: 12px;
  }

  .primary-nav a,
  .plan-card,
  .account-link {
    width: 100%;
  }
}

/* staging-browser.css */
.staging-only-nav[hidden] {
  display: none !important;
}

.staging-page {
  display: grid;
  gap: 18px;
}

.staging-loading {
  border: 1px solid rgba(97, 168, 255, 0.38);
  border-radius: 14px;
  padding: 14px 16px;
  background: rgba(97, 168, 255, 0.08);
  color: var(--text-primary);
}

.staging-error {
  border-color: rgba(255, 105, 120, 0.45);
}

.staging-error .panel-body strong {
  color: #ff8b98;
}

.staging-warning {
  border-color: rgba(246, 169, 22, 0.45);
}

.staging-warning ul {
  margin: 10px 0;
  padding-left: 20px;
}

.staging-health .panel-header {
  align-items: center;
}

.staging-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px 10px;
  border: 1px solid var(--panel-border);
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.staging-status-ok,
.staging-status-buy {
  border-color: rgba(39, 209, 127, 0.45);
  background: rgba(39, 209, 127, 0.12);
  color: var(--green);
}

.staging-status-warn,
.staging-status-watch {
  border-color: rgba(246, 169, 22, 0.45);
  background: rgba(246, 169, 22, 0.12);
  color: var(--orange);
}

.staging-status-verify {
  border-color: rgba(168, 131, 255, 0.45);
  background: rgba(168, 131, 255, 0.12);
  color: var(--purple);
}

.staging-status-pass,
.staging-status-unknown {
  border-color: rgba(164, 174, 191, 0.35);
  background: rgba(164, 174, 191, 0.08);
  color: var(--text-secondary);
}

.staging-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.staging-metrics .panel-body {
  display: grid;
  gap: 8px;
}

.staging-metrics span,
.staging-key-grid span {
  color: var(--text-secondary);
  font-size: 0.78rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.staging-metrics strong {
  font-size: clamp(1.45rem, 2vw, 2rem);
}

.staging-key-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.staging-key-grid > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.018);
}

.staging-key-grid strong {
  overflow-wrap: anywhere;
}

.staging-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.staging-empty {
  display: grid;
  gap: 8px;
  padding: 22px;
  text-align: center;
  color: var(--text-secondary);
}

.staging-page table tbody tr[data-staging-opportunity] {
  cursor: pointer;
}

.staging-page table tbody tr[data-staging-opportunity]:hover,
.staging-page table tbody tr[data-staging-opportunity]:focus-visible {
  background: rgba(97, 168, 255, 0.08);
  outline: none;
}

.staging-page table td small {
  display: block;
  margin-top: 4px;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .staging-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 850px) {
  .staging-metrics,
  .staging-key-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .staging-metrics,
  .staging-key-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .staging-page * {
    scroll-behavior: auto !important;
  }
}

/* staging-evaluation.css */
.staging-evaluation-page {
  --evaluation-accent: var(--purple);
}

.staging-evaluation-panel {
  border-color: rgba(168, 131, 255, 0.38);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.16);
}

.staging-evaluation-form {
  display: grid;
  gap: 18px;
}

.staging-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.staging-field {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.staging-field-wide {
  grid-column: 1 / -1;
}

.staging-field > span {
  color: var(--text-primary);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.staging-field small,
.staging-form-note {
  color: var(--text-secondary);
  line-height: 1.45;
}

.staging-field input,
.staging-field select,
.staging-field textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--panel-border);
  border-radius: 11px;
  padding: 11px 12px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--text-primary);
  font: inherit;
}

.staging-field textarea {
  resize: vertical;
}

.staging-field input:focus,
.staging-field select:focus,
.staging-field textarea:focus {
  border-color: rgba(168, 131, 255, 0.72);
  outline: 2px solid rgba(168, 131, 255, 0.18);
  outline-offset: 1px;
}

.staging-field select option {
  background: #111827;
  color: #f8fafc;
}

.staging-boundary-check {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 11px;
  align-items: start;
  border: 1px solid rgba(246, 169, 22, 0.36);
  border-radius: 12px;
  padding: 14px;
  background: rgba(246, 169, 22, 0.07);
  color: var(--text-primary);
  line-height: 1.5;
}

.staging-boundary-check input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--orange);
}

.staging-form-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.staging-form-actions .button[disabled] {
  cursor: wait;
  opacity: 0.62;
}

.staging-evaluation-result {
  border-color: rgba(39, 209, 127, 0.4);
}

.staging-value-intelligence {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(168, 131, 255, 0.3);
  border-radius: 14px;
  background: rgba(168, 131, 255, 0.055);
}

.staging-value-intelligence-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.staging-value-intelligence-head h3,
.staging-value-intelligence-head .eyebrow,
.staging-value-intelligence p {
  margin: 0;
}

.staging-value-intelligence-head h3 {
  margin-top: 3px;
  color: var(--text-primary);
}

.staging-value-context-badge {
  flex: 0 0 auto;
  border: 1px solid rgba(246, 169, 22, 0.4);
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(246, 169, 22, 0.08);
  color: var(--orange);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.staging-value-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.staging-value-intelligence-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--panel-border);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.02);
}

.staging-value-intelligence-grid span {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.staging-value-intelligence-grid strong {
  color: var(--text-primary);
  overflow-wrap: anywhere;
}

.staging-value-intelligence > p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.staging-result-copy {
  display: grid;
  gap: 8px;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.018);
}

.staging-result-copy p {
  margin: 0;
  color: var(--text-secondary);
  overflow-wrap: anywhere;
}

.staging-result-copy strong {
  color: var(--text-primary);
}

@media (max-width: 900px) {
  .staging-value-intelligence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .staging-form-grid {
    grid-template-columns: 1fr;
  }

  .staging-field-wide {
    grid-column: auto;
  }

  .staging-form-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .staging-form-actions .button {
    width: 100%;
    justify-content: center;
  }

  .staging-value-intelligence-head {
    align-items: stretch;
    flex-direction: column;
  }

  .staging-value-context-badge {
    align-self: flex-start;
  }

  .staging-value-intelligence-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .staging-evaluation-page * {
    transition: none !important;
  }
}

/* customer-card-intelligence.css */
.card-intelligence-assist {
  grid-column: 1 / -1;
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(213, 173, 83, 0.32);
  border-radius: 16px;
  background: linear-gradient(145deg, rgba(213, 173, 83, 0.08), rgba(255, 255, 255, 0.025));
}

.card-intelligence-heading,
.card-intelligence-result,
.card-intelligence-inline,
.card-intelligence-tabs {
  display: flex;
  align-items: center;
  gap: 10px;
}

.card-intelligence-heading > div,
.card-intelligence-result > div {
  display: grid;
  gap: 4px;
}

.card-intelligence-heading strong {
  font-size: 1.05rem;
}

.card-intelligence-heading small,
.card-intelligence-result small,
.card-intelligence-photo small {
  color: var(--text-muted, #a9a9a9);
  line-height: 1.45;
}

.card-intelligence-tabs {
  flex-wrap: wrap;
}

.card-intelligence-search label,
.card-intelligence-photo label {
  display: grid;
  gap: 8px;
}

.card-intelligence-inline input,
.card-intelligence-photo input[type="file"] {
  min-width: 0;
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.34);
  color: inherit;
  padding: 11px 12px;
}

.card-intelligence-inline input {
  flex: 1 1 320px;
}

.card-intelligence-results {
  display: grid;
  gap: 8px;
}

.card-intelligence-result {
  justify-content: space-between;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 12px;
  background: rgba(0, 0, 0, 0.22);
}

.card-intelligence-message {
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  font-size: 0.9rem;
}

.card-intelligence-error {
  border: 1px solid rgba(255, 120, 120, 0.35);
}

@media (max-width: 720px) {
  .card-intelligence-inline,
  .card-intelligence-result {
    align-items: stretch;
    flex-direction: column;
  }

  .card-intelligence-result .button {
    width: 100%;
  }
}

/* account-lifecycle.css */
.account-life-page{max-width:1360px}
.account-life-message{display:none;margin-bottom:14px;border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:11px 13px;color:var(--text-soft);font-size:12px;font-weight:700}
.account-life-message:not(:empty){display:block}.account-life-message[data-tone="ok"]{border-color:rgba(39,209,127,.55);color:var(--green)}.account-life-message[data-tone="error"]{border-color:rgba(255,106,122,.55);color:#ff9aa5}
.account-life-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.account-life-metric{display:grid;gap:5px;min-height:112px;border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:16px}.account-life-metric>span{color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.account-life-metric>strong{font-size:18px}.account-life-metric>small{color:var(--text-soft);line-height:1.5}.account-life-metric[data-tone="ok"]{border-color:rgba(39,209,127,.35)}.account-life-metric[data-tone="warn"]{border-color:rgba(240,176,61,.38)}
.account-life-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:15px}.account-life-form{display:grid;gap:14px}.account-life-form label{display:grid;gap:6px;color:var(--text);font-size:11px;font-weight:800}.account-life-form input{width:100%;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);padding:11px 12px;font:inherit}.account-life-form input:focus{border-color:var(--gold);outline:2px solid rgba(212,175,55,.16)}.account-life-form input:disabled{color:var(--text-muted);opacity:.8}.account-life-form small{color:var(--text-muted);line-height:1.5}.account-life-form .button{width:max-content}
.account-life-empty{display:grid;gap:12px;color:var(--text-soft)}.account-life-empty p{margin:0;line-height:1.55}.account-life-empty .button{width:max-content}.account-life-actions{margin-top:16px}.account-life-entitlements{margin-top:15px}
@media(max-width:980px){.account-life-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.account-life-grid{grid-template-columns:1fr}}
@media(max-width:560px){.account-life-metrics{grid-template-columns:1fr}.account-life-actions{align-items:stretch}.account-life-actions .button{width:100%}}

/* customer-intelligence.css */
.customer-intelligence-page,
.customer-evaluation-page {
  --customer-accent: var(--gold);
}

.customer-intelligence-actions {
  margin-top: 14px;
}

.customer-intelligence-list .panel-body {
  padding-top: 0;
}

.customer-contract-panel .panel-body {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.customer-contract-panel .panel-body > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.018);
}

.customer-contract-panel span,
.customer-intelligence-metrics span,
.customer-value-summary > span,
.customer-trace-step > div > span {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.customer-contract-panel strong {
  overflow-wrap: anywhere;
}

.customer-contract-panel details {
  margin: 0 18px 18px;
  border-top: 1px solid var(--panel-border);
  padding-top: 14px;
  color: var(--text-secondary);
}

.customer-contract-panel summary {
  cursor: pointer;
  color: var(--text-primary);
  font-weight: 800;
}

.customer-contract-panel li {
  margin: 7px 0;
  line-height: 1.45;
}

.customer-intelligence-hero {
  overflow: hidden;
  border-color: rgba(226, 189, 66, 0.34);
  background:
    radial-gradient(circle at 92% 5%, rgba(226, 189, 66, 0.12), transparent 34%),
    var(--surface);
}

.customer-intelligence-hero .panel-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
  gap: 28px;
  align-items: center;
  padding: clamp(20px, 3vw, 34px);
}

.customer-hero-copy {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.customer-hero-copy p,
.customer-trace-step p,
.customer-decision-boundary p {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

.customer-hero-title {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  min-width: 0;
}

.customer-hero-title h2 {
  margin: 0;
  min-width: 0;
  font-size: clamp(1.5rem, 3vw, 2.35rem);
  line-height: 1.08;
  overflow-wrap: anywhere;
}

.customer-tracked-state {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin-top: 8px;
  padding: 9px 12px;
  border: 1px solid rgba(39, 209, 127, 0.3);
  border-radius: 10px;
  background: rgba(39, 209, 127, 0.07);
}

.customer-tracked-state strong,
.customer-tracked-state small {
  display: block;
  overflow-wrap: anywhere;
}

.customer-tracked-state small {
  margin-top: 2px;
  color: var(--text-secondary);
}

.customer-value-summary {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 7px 14px;
  align-items: baseline;
  min-width: 0;
  max-width: 100%;
  padding: 18px;
  border: 1px solid rgba(226, 189, 66, 0.24);
  border-radius: 14px;
  background: rgba(5, 10, 17, 0.42);
}

.customer-value-summary > * {
  min-width: 0;
}

.customer-value-summary strong {
  font-size: clamp(1.1rem, 2vw, 1.75rem);
  text-align: right;
  overflow-wrap: anywhere;
}

.customer-value-summary small {
  grid-column: 1 / -1;
  margin-top: 5px;
  color: var(--text-secondary);
  text-align: right;
  overflow-wrap: anywhere;
}

.customer-intelligence-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.customer-intelligence-metrics article {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--panel-border);
  border-radius: 13px;
  background: linear-gradient(150deg, rgba(255, 255, 255, 0.025), rgba(255, 255, 255, 0.01));
}

.customer-intelligence-metrics strong {
  font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.customer-intelligence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.customer-intelligence-grid .panel-header {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 12px;
}

.customer-intelligence-grid .panel-header > div {
  flex: 1 1 280px;
  min-width: 0;
}

.customer-intelligence-grid .panel-header .staging-status {
  flex: 0 1 auto;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}

.customer-intelligence-page .staging-key-grid > div {
  min-width: 0;
}

.customer-intelligence-page .staging-key-grid strong {
  min-width: 0;
  font-size: clamp(0.92rem, 1.15vw, 1.08rem);
  line-height: 1.28;
  letter-spacing: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.customer-traceback {
  display: grid;
  gap: 0;
}

.customer-trace-step {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 5px 0 20px;
}

.customer-trace-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 31px;
  bottom: 0;
  left: 13px;
  width: 1px;
  background: var(--panel-border);
}

.customer-trace-step strong {
  display: block;
  margin: 4px 0 5px;
  color: var(--text-primary);
}

.customer-trace-step .check-mark.neutral {
  color: var(--blue);
  border-color: rgba(97, 168, 255, 0.35);
  background: rgba(97, 168, 255, 0.1);
}

.customer-decision-boundary {
  border-color: rgba(226, 189, 66, 0.34);
  background: linear-gradient(145deg, rgba(226, 189, 66, 0.09), rgba(255, 255, 255, 0.015));
}

.customer-decision-boundary h2 {
  margin: 7px 0 8px;
}

.customer-decision-boundary small {
  display: block;
  margin-top: 10px;
  color: var(--text-secondary);
}

.customer-intake-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  margin-top: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--panel-border);
}

.customer-intake-step > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  color: #07111f;
  background: var(--gold);
  border-radius: 50%;
  font-weight: 900;
}

.customer-intake-step strong,
.customer-intake-step small {
  display: block;
}

.customer-intake-step small {
  margin-top: 3px;
  color: var(--text-secondary);
  line-height: 1.4;
}

@media (max-width: 1050px) {
  .customer-intelligence-grid,
  .customer-intelligence-hero .panel-body {
    grid-template-columns: 1fr;
  }

  .customer-contract-panel .panel-body {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .customer-intelligence-page .staging-key-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .customer-contract-panel .panel-body,
  .customer-intelligence-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .customer-value-summary {
    grid-template-columns: 1fr;
  }

  .customer-value-summary strong,
  .customer-value-summary small {
    text-align: left;
  }
}

@media (max-width: 430px) {
  .customer-contract-panel .panel-body,
  .customer-intelligence-metrics {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-intelligence-page *,
  .customer-evaluation-page * {
    transition: none !important;
  }
}

/* customer-explainability.css */
.customer-metric-help {
  display: block;
  margin-top: 2px;
  color: var(--text-secondary);
  font-size: 0.76rem;
  line-height: 1.45;
}

.customer-supported-value-note {
  grid-column: 1 / -1;
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding-top: 12px;
  border-top: 1px solid rgba(226, 189, 66, 0.2);
}

.customer-supported-value-note strong,
.customer-supported-value-note span {
  text-align: left;
}

.customer-supported-value-note strong {
  font-size: 0.82rem;
}

.customer-supported-value-note span {
  color: var(--text-secondary);
  font-size: 0.78rem;
  line-height: 1.45;
}

.customer-intelligence-explainer {
  border-color: rgba(226, 189, 66, 0.26);
  background:
    linear-gradient(145deg, rgba(226, 189, 66, 0.06), rgba(255, 255, 255, 0.012)),
    var(--surface);
}

.customer-intelligence-explainer .panel-header p {
  max-width: 760px;
}

.customer-intelligence-explainer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.customer-intelligence-explainer-grid article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--panel-border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.018);
}

.customer-intelligence-explainer-grid article > span {
  color: var(--gold);
  font-size: 0.71rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  text-transform: uppercase;
}

.customer-intelligence-explainer-grid article > strong {
  color: var(--text-primary);
}

.customer-intelligence-explainer-grid article > p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.5;
}

.customer-intelligence-explainer > footer {
  padding: 0 18px 18px;
  color: var(--text-secondary);
  font-size: 0.78rem;
  line-height: 1.5;
}

@media (max-width: 980px) {
  .customer-intelligence-explainer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .customer-intelligence-explainer-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-intelligence-explainer *,
  .customer-metric-help,
  .customer-supported-value-note {
    transition: none !important;
  }
}

/* customer-dashboard.css */
.customer-dashboard-page {
  --dashboard-accent: var(--gold);
}

.customer-dashboard-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.customer-dashboard-metrics article {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 18px;
  border: 1px solid var(--panel-border);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0%, rgba(226, 189, 66, 0.08), transparent 42%),
    var(--surface);
}

.customer-dashboard-metrics article[data-tone="attention"] {
  border-color: rgba(246, 169, 22, 0.4);
}

.customer-dashboard-metrics article[data-tone="ready"] {
  border-color: rgba(39, 209, 127, 0.32);
}

.customer-dashboard-metrics span,
.customer-dashboard-opportunity-head span,
.customer-dashboard-opportunity-metrics span,
.customer-dashboard-contract span {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 820;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.customer-dashboard-metrics strong {
  font-size: clamp(1.65rem, 3vw, 2.4rem);
}

.customer-dashboard-metrics small,
.customer-dashboard-opportunity > small,
.customer-dashboard-next small {
  color: var(--text-secondary);
  line-height: 1.45;
}

.customer-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.65fr) minmax(300px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.customer-dashboard-saved footer {
  padding: 0 20px 20px;
}

.customer-dashboard-opportunities {
  display: grid;
  gap: 12px;
}

.customer-dashboard-opportunity {
  display: grid;
  gap: 11px;
  padding: 16px;
  border: 1px solid var(--panel-border);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.018);
}

.customer-dashboard-opportunity[data-staging-opportunity] {
  cursor: pointer;
}

.customer-dashboard-opportunity[data-staging-opportunity]:hover,
.customer-dashboard-opportunity[data-staging-opportunity]:focus-visible {
  border-color: rgba(226, 189, 66, 0.52);
  background: rgba(226, 189, 66, 0.055);
  outline: none;
}

.customer-dashboard-opportunity-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: start;
}

.customer-dashboard-opportunity h3,
.customer-dashboard-opportunity p {
  margin: 0;
}

.customer-dashboard-opportunity h3 {
  margin-top: 5px;
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.customer-dashboard-opportunity p {
  color: var(--text-secondary);
  line-height: 1.45;
}

.customer-dashboard-opportunity-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.customer-dashboard-opportunity-metrics > div,
.customer-dashboard-contract .panel-body > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--panel-border);
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.12);
}

.customer-dashboard-opportunity-metrics strong,
.customer-dashboard-contract strong {
  overflow-wrap: anywhere;
}

.customer-dashboard-next .panel-body {
  display: grid;
  gap: 10px;
}

.customer-dashboard-next .panel-body > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid var(--panel-border);
  border-radius: 11px;
  color: var(--text-primary);
  text-decoration: none;
}

.customer-dashboard-next .panel-body > a:hover,
.customer-dashboard-next .panel-body > a:focus-visible {
  border-color: rgba(226, 189, 66, 0.52);
  background: rgba(226, 189, 66, 0.055);
  outline: none;
}

.customer-dashboard-next .panel-body > a > span:first-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(226, 189, 66, 0.42);
  border-radius: 50%;
  color: var(--gold);
  font-weight: 850;
}

.customer-dashboard-next .panel-body > a > span:last-child {
  display: grid;
  gap: 4px;
}

.customer-dashboard-contract .panel-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 1050px) {
  .customer-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .customer-dashboard-metrics,
  .customer-dashboard-opportunity-metrics,
  .customer-dashboard-contract .panel-body {
    grid-template-columns: 1fr;
  }

  .customer-dashboard-opportunity-head {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-dashboard-page * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* customer-compare.css */
.customer-compare-page {
  --compare-accent: var(--gold);
}

.customer-compare-identity .panel-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.customer-compare-identity h2,
.customer-compare-identity p,
.customer-compare-card h2,
.customer-compare-card p,
.customer-compare-boundary h2,
.customer-compare-boundary p {
  margin: 0;
}

.customer-compare-identity h2,
.customer-compare-boundary h2 {
  margin-bottom: 7px;
}

.customer-compare-identity p,
.customer-compare-card p,
.customer-compare-boundary p {
  color: var(--text-secondary);
  line-height: 1.55;
}

.customer-compare-identity.same {
  border-color: rgba(39, 209, 127, 0.34);
  background: rgba(39, 209, 127, 0.045);
}

.customer-compare-identity.different {
  border-color: rgba(246, 169, 22, 0.36);
  background: rgba(246, 169, 22, 0.045);
}

.customer-compare-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.customer-compare-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 20px;
  border: 1px solid rgba(226, 189, 66, 0.26);
  border-radius: 14px;
  background:
    radial-gradient(circle at 95% 0%, rgba(226, 189, 66, 0.09), transparent 35%),
    var(--surface);
}

.customer-compare-card header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.customer-compare-card header > span:first-child,
.customer-compare-card-metrics span,
.customer-compare-contract span {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.customer-compare-card h2 {
  overflow-wrap: anywhere;
  font-size: clamp(1.2rem, 2vw, 1.65rem);
}

.customer-compare-card .button {
  width: fit-content;
}

.customer-compare-card-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.customer-compare-card-metrics > div,
.customer-compare-contract > div {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--panel-border);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.018);
}

.customer-compare-card-metrics strong {
  font-size: 1.3rem;
}

.customer-compare-table th,
.customer-compare-table td {
  vertical-align: middle;
}

.customer-compare-table tbody th {
  color: var(--text-secondary);
  font-size: 0.78rem;
  text-align: left;
}

.customer-compare-table td {
  color: var(--text-primary);
  font-weight: 780;
}

.customer-compare-boundary {
  border-color: rgba(226, 189, 66, 0.34);
  background: linear-gradient(145deg, rgba(226, 189, 66, 0.075), rgba(255, 255, 255, 0.012));
}

.customer-compare-contract {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.customer-compare-contract strong {
  overflow-wrap: anywhere;
}

.customer-compare-boundary details {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--panel-border);
  color: var(--text-secondary);
}

.customer-compare-boundary summary {
  cursor: pointer;
  color: var(--text-primary);
  font-weight: 800;
}

.customer-compare-boundary li {
  margin: 7px 0;
  line-height: 1.45;
}

@media (max-width: 900px) {
  .customer-compare-contract {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .customer-compare-cards,
  .customer-compare-contract,
  .customer-compare-card-metrics {
    grid-template-columns: 1fr;
  }

  .customer-compare-card .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-compare-page * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* customer-management.css */
.customer-management-page {
  display: grid;
  gap: 16px;
}

.customer-management-loading {
  min-height: 180px;
  display: grid;
  place-items: center;
}

.customer-management-select-panel .panel-body {
  padding: 14px 16px;
}

.customer-management-selector {
  display: grid;
  grid-template-columns: minmax(130px, .35fr) minmax(240px, 1fr);
  gap: 12px;
  align-items: center;
}

.customer-management-selector > span {
  color: var(--text-soft);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.customer-management-selector select {
  width: 100%;
  min-height: 42px;
  padding: 0 12px;
  color: var(--text);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 9px;
}

.customer-management-selector select:focus-visible,
.customer-management-page a:focus-visible,
.customer-management-page button:focus-visible {
  outline: 2px solid var(--gold-strong);
  outline-offset: 3px;
}

.customer-management-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.customer-management-metrics article {
  min-height: 96px;
  padding: 16px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018));
  border: 1px solid var(--border);
  border-radius: 12px;
}

.customer-management-metrics span,
.customer-management-key-grid span,
.customer-exit-values span {
  color: var(--text-soft);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.customer-management-metrics strong {
  color: var(--text);
  font-size: clamp(17px, 2vw, 26px);
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.customer-management-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(290px, .65fr);
  gap: 16px;
  align-items: start;
}

.customer-management-timeline {
  display: grid;
  gap: 0;
}

.customer-management-timeline article {
  position: relative;
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  padding: 0 0 18px;
}

.customer-management-timeline article:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 5px;
  top: 11px;
  bottom: 0;
  width: 1px;
  background: var(--border);
}

.customer-management-timeline-mark {
  width: 11px;
  height: 11px;
  margin-top: 3px;
  background: var(--gold-strong);
  border: 3px solid rgba(246, 197, 80, .18);
  border-radius: 50%;
  box-sizing: content-box;
  z-index: 1;
}

.customer-management-timeline article span,
.customer-management-timeline article p {
  color: var(--text-soft);
  font-size: 9px;
}

.customer-management-timeline article strong {
  display: block;
  margin: 3px 0 5px;
  color: var(--text);
  font-size: 11px;
}

.customer-management-timeline article p {
  margin: 0;
  line-height: 1.55;
}

.customer-management-key-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.customer-management-key-grid > div {
  min-height: 72px;
  padding: 12px;
  display: grid;
  align-content: space-between;
  gap: 8px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border-soft);
  border-radius: 9px;
}

.customer-management-key-grid strong {
  color: var(--text);
  font-size: 11px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.customer-management-flags {
  display: grid;
  gap: 8px;
}

.customer-management-flag {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 11px 12px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border-soft);
  border-radius: 9px;
}

.customer-management-flag span {
  color: var(--text-soft);
  font-size: 10px;
}

.customer-management-flag strong {
  color: var(--text);
  font-size: 10px;
}

.customer-management-flag[data-tone="attention"] strong {
  color: var(--orange);
}

.customer-exit-hero .panel-body {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}

.customer-exit-title {
  display: flex;
  gap: 10px;
  align-items: center;
  margin: 8px 0;
}

.customer-exit-title h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(17px, 2vw, 26px);
}

.customer-exit-hero p {
  margin: 0;
  color: var(--text-soft);
  font-size: 10px;
}

.customer-exit-values {
  min-width: 190px;
  display: grid;
  grid-template-columns: auto auto;
  gap: 7px 14px;
  align-items: baseline;
}

.customer-exit-values strong {
  color: var(--text);
  font-size: 18px;
  text-align: right;
}

.customer-management-checklist {
  display: grid;
  gap: 9px;
}

.customer-management-checklist > div {
  display: grid;
  grid-template-columns: 24px 1fr;
  gap: 10px;
  padding: 12px;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border-soft);
  border-radius: 9px;
}

.customer-management-checklist > div > span:first-child {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  color: var(--text-soft);
  background: rgba(255,255,255,.055);
  border-radius: 50%;
  font-weight: 900;
}

.customer-management-checklist > div[data-state="ready"] > span:first-child {
  color: var(--green);
  background: rgba(39,209,127,.12);
}

.customer-management-checklist > div[data-state="attention"] > span:first-child {
  color: var(--orange);
  background: rgba(246,169,22,.12);
}

.customer-management-checklist strong,
.customer-management-checklist small {
  display: block;
}

.customer-management-checklist strong {
  color: var(--text);
  font-size: 10px;
}

.customer-management-checklist small {
  margin-top: 4px;
  color: var(--text-soft);
  font-size: 9px;
  line-height: 1.5;
}

.customer-exit-boundary .panel-body {
  padding: 22px;
  background: linear-gradient(120deg, rgba(246,197,80,.09), rgba(97,168,255,.045));
}

.customer-exit-boundary h2 {
  margin: 7px 0;
  color: var(--text);
  font-size: 18px;
}

.customer-exit-boundary p {
  margin: 0;
  color: var(--text-soft);
  font-size: 10px;
  line-height: 1.6;
}

.customer-management-status-hero {
  padding: 28px;
  background: linear-gradient(135deg, rgba(246,169,22,.12), rgba(255,255,255,.025));
  border: 1px solid rgba(246,169,22,.28);
  border-radius: 14px;
}

.customer-management-status-hero[data-configured="true"] {
  background: linear-gradient(135deg, rgba(39,209,127,.12), rgba(255,255,255,.025));
  border-color: rgba(39,209,127,.28);
}

.customer-management-status-hero h2 {
  margin: 8px 0 5px;
  color: var(--text);
  font-size: 26px;
}

.customer-management-status-hero p {
  margin: 0;
  color: var(--text-soft);
  font: 700 10px/1.5 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.customer-management-limitations {
  margin: 0;
  padding-left: 18px;
  color: var(--text-soft);
  font-size: 10px;
  line-height: 1.65;
}

.customer-management-actions {
  margin-top: 12px;
}

/* Evidence Experience v2 — customer-first decision explanation */
.customer-management-page[data-ff-evidence-experience="v2"] {
  gap: 20px;
}

.customer-management-page[data-ff-evidence-experience="v2"] .page-heading {
  padding-bottom: 4px;
}

.customer-management-page[data-ff-evidence-experience="v2"] .page-heading h1 {
  max-width: 900px;
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: .98;
  letter-spacing: -.04em;
}

.customer-management-page[data-ff-evidence-experience="v2"] .page-heading p {
  max-width: 880px;
  font-size: 13px;
  line-height: 1.65;
}

.ff-evidence-readonly-note {
  padding: 12px 14px;
  color: var(--text-soft);
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border-soft);
  border-left: 2px solid rgba(246,197,80,.5);
  border-radius: 10px;
  font-size: 10px;
  line-height: 1.55;
}

.ff-evidence-readonly-note strong {
  color: var(--text);
}

.ff-evidence-selector-panel {
  opacity: .86;
}

.ff-evidence-selector-panel .panel-body {
  padding: 10px 14px;
}

.ff-evidence-proof-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: 28px;
  padding: clamp(24px, 4vw, 42px);
  background:
    radial-gradient(circle at 78% 25%, rgba(246,197,80,.11), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
  border: 1px solid rgba(246,197,80,.28);
  border-radius: 18px;
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.ff-evidence-kicker {
  color: var(--gold-strong);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .14em;
}

.ff-evidence-proof-copy h2,
.ff-evidence-next-step h2 {
  margin: 9px 0 12px;
  color: var(--text);
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1.08;
  letter-spacing: -.025em;
}

.ff-evidence-proof-copy > p,
.ff-evidence-next-step p {
  margin: 0;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.7;
}

.ff-evidence-proof-copy > p strong {
  color: var(--text);
}

.ff-evidence-principle {
  margin-top: 20px;
  padding: 14px 16px;
  display: grid;
  gap: 4px;
  background: rgba(246,197,80,.055);
  border: 1px solid rgba(246,197,80,.18);
  border-radius: 11px;
}

.ff-evidence-principle strong {
  color: var(--text);
  font-size: 11px;
}

.ff-evidence-principle span {
  color: var(--text-soft);
  font-size: 10px;
  line-height: 1.5;
}

.ff-evidence-funnel {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 10px;
  align-items: stretch;
}

.ff-evidence-funnel article {
  min-width: 0;
  padding: 18px 14px;
  display: grid;
  align-content: center;
  gap: 7px;
  text-align: center;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border);
  border-radius: 13px;
}

.ff-evidence-funnel article[data-tone="trusted"] {
  background: rgba(39,209,127,.07);
  border-color: rgba(39,209,127,.26);
}

.ff-evidence-funnel article[data-tone="excluded"] {
  background: rgba(246,169,22,.055);
  border-color: rgba(246,169,22,.22);
}

.ff-evidence-funnel article span {
  color: var(--text-soft);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.ff-evidence-funnel article strong {
  color: var(--text);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1;
}

.ff-evidence-funnel article small {
  color: var(--text-soft);
  font-size: 8px;
  line-height: 1.4;
}

.ff-evidence-funnel-arrow {
  align-self: center;
  color: var(--gold-strong);
  font-size: 17px;
  font-weight: 900;
}

.customer-management-page[data-ff-evidence-experience="v2"] .customer-management-metrics article {
  min-height: 126px;
  padding: 18px;
  align-content: start;
}

.customer-management-page[data-ff-evidence-experience="v2"] .customer-management-metrics article[data-tone="trusted"] {
  border-color: rgba(39,209,127,.25);
  background: linear-gradient(145deg, rgba(39,209,127,.075), rgba(255,255,255,.018));
}

.customer-management-page[data-ff-evidence-experience="v2"] .customer-management-metrics article[data-tone="excluded"] {
  border-color: rgba(246,169,22,.22);
  background: linear-gradient(145deg, rgba(246,169,22,.06), rgba(255,255,255,.018));
}

.ff-evidence-metric-copy {
  margin-top: 2px;
  color: var(--text-soft);
  font-size: 8px;
  line-height: 1.45;
}

.ff-evidence-content-grid {
  grid-template-columns: 1fr;
}

.ff-evidence-content-grid > .stack {
  display: grid;
  gap: 16px;
}

.ff-evidence-trusted-section {
  border-color: rgba(39,209,127,.22);
}

.ff-evidence-trusted-section .panel-header {
  background: linear-gradient(90deg, rgba(39,209,127,.055), transparent 60%);
}

.ff-evidence-disclosure {
  width: 100%;
}

.ff-evidence-disclosure > summary {
  padding: 12px 14px;
  color: var(--text);
  background: rgba(255,255,255,.025);
  border: 1px solid var(--border-soft);
  border-radius: 9px;
  cursor: pointer;
  font-size: 10px;
  font-weight: 800;
  list-style-position: inside;
}

.ff-evidence-disclosure[open] > summary {
  margin-bottom: 14px;
  border-color: rgba(246,197,80,.22);
}

.ff-evidence-disclosure-content {
  min-width: 0;
}

.ff-evidence-next-step {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: center;
  padding: clamp(22px, 3vw, 32px);
  background: linear-gradient(120deg, rgba(246,197,80,.09), rgba(255,255,255,.025));
  border: 1px solid rgba(246,197,80,.25);
  border-radius: 16px;
}

.ff-evidence-next-step > div {
  max-width: 760px;
}

.ff-evidence-next-step h2 {
  font-size: clamp(21px, 2.4vw, 30px);
}

.ff-evidence-next-step .button {
  flex: 0 0 auto;
  min-width: 210px;
  justify-content: center;
}

@media (max-width: 1050px) {
  .customer-management-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-management-grid {
    grid-template-columns: 1fr;
  }

  .ff-evidence-proof-hero {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .ff-evidence-funnel {
    grid-template-columns: 1fr;
  }

  .ff-evidence-funnel-arrow {
    transform: rotate(90deg);
    justify-self: center;
  }

  .ff-evidence-next-step {
    display: grid;
  }

  .ff-evidence-next-step .button {
    width: 100%;
  }
}

@media (max-width: 680px) {
  .customer-management-selector,
  .customer-management-key-grid,
  .customer-management-metrics {
    grid-template-columns: 1fr;
  }

  .customer-exit-hero .panel-body {
    display: grid;
  }

  .customer-exit-values {
    width: 100%;
  }

  .ff-evidence-proof-hero {
    padding: 20px;
  }

  .customer-management-page[data-ff-evidence-experience="v2"] .page-heading h1 {
    font-size: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-management-page *,
  .customer-management-page *::before,
  .customer-management-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* customer-portfolio.css */
.customer-portfolio-page {
  display: grid;
  gap: 18px;
}

.customer-portfolio-loading {
  min-height: 140px;
}

.customer-portfolio-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.customer-portfolio-metrics article {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface, #111419);
}

.customer-portfolio-metrics span,
.customer-portfolio-key-grid span {
  color: var(--text-soft);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.customer-portfolio-metrics strong {
  font-size: 24px;
  line-height: 1.05;
}

.customer-portfolio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 16px;
}

.customer-portfolio-key-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.customer-portfolio-key-grid > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-raised, #15181d);
}

.customer-portfolio-key-grid strong {
  overflow-wrap: anywhere;
}

.customer-portfolio-boundaries {
  display: grid;
  gap: 12px;
}

.customer-portfolio-boundaries > div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.customer-portfolio-boundaries > div:last-child {
  border-bottom: 0;
}

.customer-portfolio-boundaries > div > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid var(--line);
  border-radius: 50%;
  font-weight: 800;
}

.customer-portfolio-boundaries p {
  display: grid;
  gap: 4px;
  margin: 0;
}

.customer-portfolio-boundaries small,
.customer-portfolio-table small {
  display: block;
  margin-top: 4px;
  color: var(--text-soft);
  line-height: 1.4;
}

.customer-portfolio-table td {
  vertical-align: top;
}

.customer-portfolio-table td:first-child {
  min-width: 230px;
}

.customer-portfolio-actions {
  margin-top: 12px;
}

@media (max-width: 1050px) {
  .customer-portfolio-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-portfolio-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .customer-portfolio-metrics,
  .customer-portfolio-key-grid {
    grid-template-columns: 1fr;
  }

  .customer-portfolio-table {
    min-width: 760px;
  }
}

.customer-portfolio-page :focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .customer-portfolio-page *,
  .customer-portfolio-page *::before,
  .customer-portfolio-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}

.customer-portfolio-paused .panel-body,
.customer-portfolio-sell-watch .panel-body {
  display: grid;
  gap: 10px;
}

.customer-portfolio-paused p,
.customer-portfolio-sell-watch p {
  margin: 0;
  max-width: 760px;
  line-height: 1.55;
}

.customer-portfolio-sell-watch small {
  color: var(--text-soft, #9fa5b0);
  font-size: 12px;
}

.customer-portfolio-table td .button {
  white-space: nowrap;
}

.customer-portfolio-break-even {
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
}

.customer-portfolio-realized .panel-body {
  display: grid;
  gap: 10px;
}

/* customer-lifecycle.css */
.customer-lifecycle-page {
  display: grid;
  gap: 18px;
}

.customer-lifecycle-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .8fr);
  gap: 18px;
  align-items: start;
}

.customer-lifecycle-notice {
  padding: 12px 14px;
  border: 1px solid rgba(67, 174, 116, .45);
  border-radius: 10px;
  background: rgba(67, 174, 116, .1);
  color: #bde9cf;
  font-size: 12px;
}

.customer-lifecycle-form {
  display: grid;
  gap: 18px;
}

.customer-lifecycle-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.customer-lifecycle-fields label {
  display: grid;
  gap: 7px;
  color: var(--text-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.customer-lifecycle-fields input,
.customer-lifecycle-fields select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-raised, #15181d);
  color: var(--text, #f7f7f7);
  padding: 9px 11px;
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.customer-lifecycle-fields input:focus-visible,
.customer-lifecycle-fields select:focus-visible {
  outline: 2px solid var(--gold-strong);
  outline-offset: 2px;
}

.customer-lifecycle-fields .customer-lifecycle-check {
  grid-template-columns: auto 1fr;
  align-items: center;
  align-content: center;
  min-height: 42px;
  padding: 8px 0;
}

.customer-lifecycle-check input {
  width: 18px;
  min-height: 18px;
  accent-color: var(--gold-strong);
}

.customer-lifecycle-submit {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.customer-lifecycle-submit small {
  max-width: 580px;
  color: var(--text-soft);
  line-height: 1.55;
}

.customer-lifecycle-history {
  display: grid;
  gap: 12px;
}

.customer-lifecycle-history article {
  border-left: 2px solid rgba(207, 174, 84, .48);
  padding: 3px 0 3px 13px;
}

.customer-lifecycle-history span,
.customer-lifecycle-history p {
  display: block;
  color: var(--text-soft);
  font-size: 10px;
  line-height: 1.5;
}

.customer-lifecycle-history strong {
  display: block;
  margin: 3px 0;
  color: var(--text);
  font-size: 12px;
}

.customer-lifecycle-alerts {
  display: grid;
  gap: 12px;
}

.customer-lifecycle-alerts article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 15px;
  background: rgba(255, 255, 255, .015);
}

.customer-lifecycle-alerts article[data-due="true"] {
  border-color: rgba(212, 154, 70, .58);
  background: rgba(212, 154, 70, .07);
}

.customer-lifecycle-alerts h3 {
  margin: 4px 0;
  color: var(--text);
  font-size: 13px;
}

.customer-lifecycle-alerts p {
  margin: 0;
  color: var(--text-soft);
  font-size: 11px;
}

.customer-lifecycle-alerts article > div:last-child {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 9px;
  flex-wrap: wrap;
}

.customer-decision-timeline-panel {
  overflow: hidden;
}

.customer-decision-timeline-panel .panel-header {
  align-items: flex-start;
}

.customer-decision-timeline-boundary {
  display: flex;
  align-items: flex-start;
  gap: 8px 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(207, 174, 84, .3);
  border-radius: 10px;
  background: rgba(207, 174, 84, .06);
}

.customer-decision-timeline-boundary strong {
  color: var(--gold-strong, #d9bd72);
  font-size: 14px;
}

.customer-decision-timeline-boundary span {
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.55;
}

.customer-decision-timeline {
  position: relative;
  display: grid;
  gap: 14px;
}

.customer-decision-timeline::before {
  content: "";
  position: absolute;
  top: 18px;
  bottom: 18px;
  left: 10px;
  width: 1px;
  background: rgba(207, 174, 84, .28);
}

.customer-decision-timeline-entry {
  position: relative;
  margin-left: 28px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .018);
}

.customer-decision-timeline-entry::before {
  content: "";
  position: absolute;
  top: 18px;
  left: -24px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--gold-strong, #d9bd72);
  border-radius: 50%;
  background: var(--surface, #0f1114);
}

.customer-decision-timeline-entry[data-changed="true"] {
  border-color: rgba(207, 174, 84, .44);
}

.customer-decision-timeline-entry-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.customer-decision-timeline-entry-head span,
.customer-decision-timeline-entry-head strong {
  display: block;
}

.customer-decision-timeline-entry-head span {
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.45;
}

.customer-decision-timeline-entry-head strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 16px;
}

.customer-decision-timeline-signals {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.customer-decision-timeline-signals > span {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 9px;
  background: rgba(0, 0, 0, .12);
}

.customer-decision-timeline-signals small,
.customer-decision-timeline-signals strong {
  display: block;
  overflow-wrap: anywhere;
}

.customer-decision-timeline-signals small {
  color: var(--text-soft);
  font-size: 12px;
}

.customer-decision-timeline-signals strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 14px;
}

.customer-decision-timeline-changes,
.customer-decision-timeline-baseline,
.customer-decision-timeline-conditions {
  margin-top: 13px;
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.55;
}

.customer-decision-timeline-changes > strong,
.customer-decision-timeline-conditions summary {
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
}

.customer-decision-timeline-changes ul,
.customer-decision-timeline-conditions ul {
  margin: 7px 0 0;
  padding-left: 19px;
}

.customer-decision-timeline-changes li + li,
.customer-decision-timeline-conditions li + li {
  margin-top: 4px;
}

.customer-decision-timeline-conditions summary {
  cursor: pointer;
}

.customer-outcome-panel .panel-header {
  align-items: flex-start;
}

.customer-outcome-boundary {
  display: flex;
  align-items: flex-start;
  gap: 8px 14px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(207, 174, 84, .3);
  border-radius: 10px;
  background: rgba(207, 174, 84, .06);
}

.customer-outcome-boundary strong {
  color: var(--gold-strong, #d9bd72);
  font-size: 14px;
}

.customer-outcome-boundary span {
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.55;
}

.customer-outcome-baseline {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.customer-outcome-baseline > span,
.customer-outcome-checkpoint-grid > span {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 9px;
  background: rgba(0, 0, 0, .12);
}

.customer-outcome-baseline small,
.customer-outcome-baseline strong,
.customer-outcome-checkpoint-grid small,
.customer-outcome-checkpoint-grid strong {
  display: block;
  overflow-wrap: anywhere;
}

.customer-outcome-baseline small,
.customer-outcome-checkpoint-grid small {
  color: var(--text-soft);
  font-size: 12px;
}

.customer-outcome-baseline strong,
.customer-outcome-checkpoint-grid strong {
  margin-top: 3px;
  color: var(--text);
  font-size: 14px;
}

.customer-outcome-checkpoints {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.customer-outcome-checkpoint {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .018);
}

.customer-outcome-checkpoint[data-state="MEASURABLE"] {
  border-color: rgba(67, 174, 116, .42);
}

.customer-outcome-checkpoint-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.customer-outcome-checkpoint-head strong {
  color: var(--text);
  font-size: 14px;
}

.customer-outcome-checkpoint-grid {
  display: grid;
  gap: 8px;
}

.customer-outcome-waiting {
  margin: 10px 0 0;
  color: var(--text-soft);
  font-size: 14px;
  line-height: 1.55;
}

@media (max-width: 1050px) {
  .customer-lifecycle-grid {
    grid-template-columns: 1fr;
  }

  .customer-decision-timeline-signals {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .customer-outcome-checkpoints {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .customer-lifecycle-fields {
    grid-template-columns: 1fr;
  }

  .customer-lifecycle-alerts article {
    align-items: flex-start;
    flex-direction: column;
  }

  .customer-lifecycle-alerts article > div:last-child {
    justify-content: flex-start;
  }

  .customer-decision-timeline-entry-head {
    flex-direction: column;
  }

  .customer-decision-timeline-signals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .customer-outcome-baseline {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 430px) {
  .customer-decision-timeline-signals {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-lifecycle-page *,
  .customer-lifecycle-page *::before,
  .customer-lifecycle-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* customer-lifecycle-validation.css */
/* Customer-readable lifecycle form validation. Server-side lifecycle rules remain authoritative. */
.customer-lifecycle-validation {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid rgba(238, 106, 117, .5);
  border-left: 4px solid var(--red, #ee6a75);
  border-radius: 4px;
  background: rgba(238, 106, 117, .07);
}

.customer-lifecycle-validation strong {
  display: block;
  color: #ff8b96;
  font-size: 1rem;
  letter-spacing: .02em;
}

.customer-lifecycle-validation p {
  margin: 7px 0 5px;
  color: var(--text, #fff);
  line-height: 1.5;
}

.customer-lifecycle-validation small {
  color: var(--muted, #8b8f98);
}

.customer-lifecycle-form [aria-invalid="true"] {
  border-color: var(--red, #ee6a75) !important;
  box-shadow: 0 0 0 3px rgba(238, 106, 117, .12);
}

.customer-lifecycle-form [aria-invalid="true"]:focus {
  outline-color: var(--red, #ee6a75);
}

/* customer-reported-sales.css */
.ff-reported-sales .panel-body {
  display: grid;
  gap: 14px;
}

.ff-reported-sale {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-raised, #15181d);
}

.ff-reported-sale header {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ff-reported-sale small {
  color: var(--text-soft);
  font-size: 12px;
}

.ff-reported-sale-flags {
  margin: 0;
  padding-left: 18px;
  color: #f1d38a;
  font-size: 12px;
}

.ff-reported-sale-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ff-reported-sale-refund {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.ff-reported-sale-refund input {
  min-height: 38px;
  width: 140px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-raised, #15181d);
  color: var(--text, #f7f7f7);
  padding: 6px 10px;
  font: inherit;
}

.value-negative {
  color: #f19a8a;
}

.ff-reported-sales-empty {
  margin: 0;
  color: var(--text-soft);
  font-size: 13px;
}

/* customer-sell-watch.css */
.ff-sell-watch .panel-body {
  display: grid;
  gap: 14px;
}

.ff-sell-watch-channel select {
  max-width: 320px;
}

.ff-sell-watch-saved {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-raised, #15181d);
}

.ff-sell-watch-saved p {
  margin: 0;
  font-size: 14px;
  overflow-wrap: anywhere;
}

.ff-sell-watch-result {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-raised, #15181d);
}

.ff-sell-watch-result p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
}

.ff-sell-watch-breakdown {
  display: grid;
  gap: 4px;
  margin: 0;
}

.ff-sell-watch-breakdown div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}

.ff-sell-watch-breakdown dt {
  color: var(--text-soft);
}

.ff-sell-watch-breakdown dd {
  margin: 0;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.ff-sell-watch-breakdown div:nth-last-child(2) {
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid var(--line);
  font-weight: 600;
}

.ff-sell-watch-breakdown div:nth-last-child(2) dt {
  color: inherit;
}

.ff-sell-watch-note {
  color: var(--text-soft);
  font-size: 12px;
}

.ff-sell-watch .value-positive {
  color: #8fd6a4;
}

.ff-sell-watch .value-negative {
  color: #f19a8a;
}

.ff-sell-watch-break-even {
  margin: 0;
  font-size: 14px;
  line-height: 1.5;
}

.ff-sell-watch-break-even span {
  color: var(--text-soft, #9fa5b0);
}

/* customer-export.css */
.customer-export-page {
  display: grid;
  gap: 18px;
}

.customer-export-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
}

.customer-export-selector {
  display: grid;
  gap: 8px;
  color: var(--text-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.customer-export-selector select {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 11px;
  background: var(--surface-raised, #15181d);
  color: var(--text, #f7f7f7);
  font: inherit;
  letter-spacing: normal;
  text-transform: none;
}

.customer-export-selector select:focus-visible,
.customer-export-actions .button:focus-visible {
  outline: 2px solid var(--gold-strong);
  outline-offset: 2px;
}

.customer-export-checklist {
  display: grid;
  gap: 12px;
}

.customer-export-checklist > div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 11px 0;
  border-bottom: 1px solid var(--line);
}

.customer-export-checklist > div:last-child {
  border-bottom: 0;
}

.customer-export-checklist > div > span:first-child {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(67, 174, 116, .14);
  color: #8ed1ac;
  font-weight: 800;
}

.customer-export-checklist strong,
.customer-export-checklist small {
  display: block;
}

.customer-export-checklist small {
  margin-top: 4px;
  color: var(--text-soft);
  line-height: 1.45;
}

.customer-export-manifest {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.customer-export-manifest > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.customer-export-manifest span {
  color: var(--text-soft);
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.customer-export-manifest strong,
.customer-export-manifest code {
  color: var(--text);
}

.customer-export-manifest .customer-export-digest {
  grid-column: 1 / -1;
}

.customer-export-digest code {
  display: block;
  overflow-wrap: anywhere;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: rgba(0, 0, 0, .22);
  font-size: 11px;
  line-height: 1.5;
}

.customer-export-actions .panel-body {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.customer-export-actions small {
  flex-basis: 100%;
  color: var(--text-soft);
  line-height: 1.5;
}

.customer-export-notice {
  padding: 12px 14px;
  border: 1px solid rgba(67, 174, 116, .45);
  border-radius: 10px;
  background: rgba(67, 174, 116, .1);
  color: #bde9cf;
  font-size: 12px;
}

@media (max-width: 900px) {
  .customer-export-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .customer-export-manifest {
    grid-template-columns: 1fr;
  }

  .customer-export-actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-export-page *,
  .customer-export-page *::before,
  .customer-export-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

/* customer-discovery.css */
.customer-discovery-page {
  display: grid;
  gap: 18px;
}

.customer-discovery-form {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(150px, .7fr) 110px auto;
  gap: 12px;
  align-items: end;
}

.customer-discovery-form label {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.customer-discovery-form label > span {
  color: var(--text-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.customer-discovery-form input,
.customer-discovery-form select {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-raised, #15181d);
  color: var(--text, #f7f7f7);
  padding: 9px 11px;
  font: inherit;
}

.customer-discovery-form input:focus-visible,
.customer-discovery-form select:focus-visible,
.customer-discovery-actions .button:focus-visible,
.customer-discovery-search-actions .button:focus-visible,
.customer-discovery-identity-option .button:focus-visible {
  outline: 2px solid var(--gold-strong);
  outline-offset: 2px;
}

.customer-discovery-search-actions {
  display: grid;
  gap: 8px;
}

.customer-discovery-search-help {
  display: block;
  margin-top: 10px;
  color: var(--text-soft);
  line-height: 1.5;
}

.customer-discovery-search-help strong {
  color: var(--text);
}
.customer-discovery-search-help[data-ff-entry-guide] {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(240, 202, 88, .28);
  border-radius: 10px;
  background: rgba(240, 202, 88, .05);
}

.ff-entry-guide-title {
  margin: 0 0 6px;
  color: var(--text);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ff-entry-guide-list {
  margin: 0 0 8px;
  padding-left: 18px;
  display: grid;
  gap: 6px;
}

.ff-entry-guide-list li::marker {
  color: rgba(240, 202, 88, .9);
}

.customer-discovery-search-help[data-ff-entry-guide] small {
  display: block;
  color: var(--text-soft);
}

.customer-discovery-identity-assist {
  scroll-margin-top: 96px;
  border-color: rgba(240, 202, 88, .58);
  background: linear-gradient(145deg, rgba(213, 173, 83, .10), rgba(255, 255, 255, .022));
  box-shadow: 0 14px 38px rgba(0, 0, 0, .22);
}
.ff-discover-identity-required > .customer-discovery-identity-assist {
  border-left: 4px solid var(--gold-strong, #f0ca58);
}
.customer-discovery-identity-query {
  display:grid;
  gap:5px;
  margin:0 0 12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  background:rgba(0,0,0,.16);
}
.customer-discovery-identity-query span {
  color:var(--text-soft);
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.customer-discovery-identity-query strong {
  color:var(--text);
  font-size:13px;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.customer-discovery-identity-actions {
  display:flex;
  justify-content:flex-start;
  gap:8px;
  margin:0 0 12px;
}

.customer-discovery-identity-message {
  margin-bottom: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(213, 173, 83, .28);
  border-radius: 9px;
  background: rgba(213, 173, 83, .06);
  color: var(--text-soft);
  font-size: 12px;
  line-height: 1.5;
}

.customer-discovery-identity-options {
  display: grid;
  gap: 9px;
  margin-bottom: 12px;
}

.customer-discovery-identity-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(0, 0, 0, .16);
}

.customer-discovery-identity-option > div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.customer-discovery-identity-option strong {
  color: var(--text);
  overflow-wrap: anywhere;
}

.customer-discovery-identity-option small {
  color: var(--text-soft);
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.customer-discovery-provider,
.customer-discovery-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.customer-discovery-provider > span,
.customer-discovery-metrics > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255, 255, 255, .018);
  padding: 12px;
}

.customer-discovery-provider strong,
.customer-discovery-metrics strong {
  color: var(--text);
  overflow-wrap: anywhere;
}

.customer-discovery-provider small,
.customer-discovery-metrics small,
.customer-discovery-metrics span {
  color: var(--text-soft);
  line-height: 1.45;
}

.customer-discovery-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.customer-discovery-metrics span {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.customer-discovery-results {
  display: grid;
  gap: 14px;
}

.customer-discovery-summary {
  display: grid;
  gap: 4px;
  padding: 4px 2px;
}

.customer-discovery-summary strong {
  color: var(--text);
  font-size: 12px;
}

.customer-discovery-summary span {
  color: var(--text-soft);
  font-size: 11px;
}

.customer-discovery-candidate .panel-header {
  align-items: start;
}

.customer-discovery-score {
  display: grid;
  min-width: 82px;
  justify-items: end;
}

.customer-discovery-score strong {
  color: var(--gold-strong);
  font-size: 26px;
  line-height: 1;
}

.customer-discovery-score small {
  margin-top: 5px;
  color: var(--text-soft);
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.customer-discovery-copy {
  display: grid;
  gap: 8px;
  margin-top: 14px;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.6;
}

.customer-discovery-copy p {
  margin: 0;
}

.customer-discovery-copy strong {
  color: var(--text);
}

.customer-discovery-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
}

.customer-discovery-ranking-details,
.customer-discovery-identity-review {
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255, 255, 255, .018);
  padding: 11px 13px;
}

.customer-discovery-ranking-details {
  margin-top: 12px;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.55;
}

.customer-discovery-ranking-details summary,
.customer-discovery-identity-review > summary {
  color: var(--text);
  cursor: pointer;
  font-weight: 700;
}

.customer-discovery-ranking-details p {
  margin: 10px 0 6px;
}

.customer-discovery-identity-review {
  display: grid;
  gap: 12px;
  border-color: rgba(213, 173, 83, .32);
}

.customer-discovery-identity-review > p {
  margin: 0;
  color: var(--text-soft);
  font-size: 11px;
  line-height: 1.55;
}

.customer-discovery-candidate-review {
  border-style: dashed;
  border-color: rgba(213, 173, 83, .28);
}

.customer-discovery-notice {
  padding: 12px 14px;
  border: 1px solid rgba(67, 174, 116, .45);
  border-radius: 10px;
  background: rgba(67, 174, 116, .1);
  color: #bde9cf;
  font-size: 12px;
}

@media (max-width: 1100px) {
  .customer-discovery-form {
    grid-template-columns: 1fr 1fr;
  }

  .customer-discovery-search-actions,
  .customer-discovery-form button {
    width: 100%;
  }

  .customer-discovery-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .customer-discovery-form,
  .customer-discovery-provider,
  .customer-discovery-metrics {
    grid-template-columns: 1fr;
  }

  .customer-discovery-actions .button,
  .customer-discovery-identity-option .button {
    width: 100%;
  }

  .customer-discovery-identity-option {
    align-items: stretch;
    flex-direction: column;
  }

  .customer-discovery-score {
    justify-items: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .customer-discovery-page *,
  .customer-discovery-page *::before,
  .customer-discovery-page *::after {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}


/* Results-first Evaluate UX: completed searches land on the actionable result,
   not on provider diagnostics or instructional chrome. */
.customer-discovery-results{scroll-margin-top:96px;outline:none}
.customer-discovery-results:focus{outline:none}
.customer-discovery-results .customer-discovery-summary{
  position:relative;
}


/* Dynamic result stacks can gain decoration after the provider response.
   Keep browser scroll anchoring from dragging the viewport as those cards settle. */
.customer-discovery-page{overflow-anchor:none}
.customer-discovery-results{overflow-anchor:none}

/* No sold-price evidence yet: explain the beta boundary and offer a request. */
#main-content .customer-discovery-candidate .customer-discovery-metrics .customer-discovery-evidence-request,
.customer-discovery-metrics .customer-discovery-evidence-request {
  justify-self: start;
  width: auto;
  min-height: 0;
  text-align: left;
  text-transform: none;
  letter-spacing: normal;
  margin-top: 4px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--blue);
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

#main-content .customer-discovery-candidate .customer-discovery-metrics .customer-discovery-evidence-request:focus-visible,
.customer-discovery-metrics .customer-discovery-evidence-request:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
  border-radius: 2px;
}

/* customer-forge-heat.css */
.forge-heat-shell{display:grid;gap:20px;max-width:1500px;margin:0 auto;padding:4px 0 36px}.forge-heat-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:20px;padding:28px;border:1px solid rgba(216,180,93,.26);background:linear-gradient(135deg,rgba(216,180,93,.08),rgba(255,255,255,.018) 45%,rgba(0,0,0,.08));border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.18)}.forge-heat-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.forge-heat-pro-chip{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(216,180,93,.45);border-radius:999px;padding:4px 9px;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#e9cb7e;background:rgba(216,180,93,.09)}.forge-heat-hero h1{margin:8px 0 8px;font-size:clamp(2rem,4vw,3.45rem);line-height:.98;letter-spacing:-.045em}.forge-heat-lead{max-width:790px;margin:0;color:var(--muted,#a8adb7);font-size:1.02rem;line-height:1.65}.forge-heat-boundary{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:rgba(0,0,0,.2)}.forge-heat-boundary strong{font-size:.72rem;letter-spacing:.11em;text-transform:uppercase;color:#e9cb7e}.forge-heat-boundary span{font-weight:800}.forge-heat-boundary small{color:var(--muted,#9ba0aa);line-height:1.45}.forge-heat-summary{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.forge-heat-summary>div,.forge-heat-intelligence-bar>div{display:grid;gap:6px;padding:14px 16px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(0,0,0,.18)}.forge-heat-summary span,.forge-heat-intelligence-bar span,.forge-heat-metrics span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#9096a1)}.forge-heat-summary strong{font-size:1.35rem}.forge-heat-intelligence-bar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.forge-heat-intelligence-bar>summary{grid-column:1/-1;cursor:pointer;list-style:none;padding:13px 15px;border:1px solid rgba(216,180,93,.20);border-radius:12px;background:rgba(216,180,93,.035);color:#f5f2e9;font-size:.9rem;font-weight:800}.forge-heat-intelligence-bar>summary::-webkit-details-marker{display:none}.forge-heat-intelligence-bar strong{font-size:.88rem;line-height:1.4}.forge-heat-tabs{display:flex;gap:8px;overflow:auto;padding:2px 0}.forge-heat-tabs button{appearance:none;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:var(--muted,#adb2bd);padding:10px 14px;border-radius:999px;font:inherit;font-size:.85rem;font-weight:750;white-space:nowrap;cursor:pointer}.forge-heat-tabs button:hover,.forge-heat-tabs button:focus-visible{border-color:rgba(216,180,93,.35);color:#f5f2e9}.forge-heat-tabs button.is-active{color:#111;background:#e0bd66;border-color:#e0bd66}.forge-heat-tab-copy{display:grid;gap:4px}.forge-heat-tab-copy strong{font-size:1.05rem}.forge-heat-tab-copy span{color:var(--muted,#9da3ae);line-height:1.5}.forge-heat-list{display:grid;gap:16px}.forge-heat-card{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.016));box-shadow:0 18px 50px rgba(0,0,0,.14)}.forge-heat-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 22px;border-bottom:1px solid rgba(255,255,255,.06)}.forge-heat-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;border:1px solid rgba(216,180,93,.3);background:rgba(216,180,93,.08);font-weight:900;color:#e8c979}.forge-heat-identity{min-width:0}.forge-heat-kicker{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#d2b86e;font-weight:800}.forge-heat-identity h3{margin:5px 0 4px;font-size:1.1rem;line-height:1.25}.forge-heat-identity p{margin:0;color:var(--muted,#969ca7);font-size:.78rem}.forge-heat-score{display:grid;justify-items:end;line-height:1}.forge-heat-score strong{font-size:2.2rem;letter-spacing:-.05em;color:#f0cf7a}.forge-heat-score span{margin-top:4px;font-size:.66rem;letter-spacing:.1em;font-weight:900;color:#e3c46e}.forge-heat-metrics{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid rgba(255,255,255,.06)}.forge-heat-metrics>div{display:grid;gap:6px;padding:15px 18px;border-right:1px solid rgba(255,255,255,.05)}.forge-heat-metrics>div:last-child{border-right:0}.forge-heat-metrics strong{font-size:.94rem}.forge-heat-metrics small{display:block;margin-top:2px;color:#d6b967;font-size:.72rem}.forge-heat-reason-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}.forge-heat-reason-grid section{padding:18px 20px;border-right:1px solid rgba(255,255,255,.05)}.forge-heat-reason-grid section:last-child{border-right:0}.forge-heat-section-label{display:block;margin-bottom:9px;font-size:.69rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:#d7bd72}.forge-heat-reason-grid ul{display:grid;gap:7px;margin:0;padding-left:18px;color:var(--muted,#a4aab4);font-size:.82rem;line-height:1.45}.forge-heat-card-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;border-top:1px solid rgba(255,255,255,.06);background:rgba(0,0,0,.12)}.forge-heat-card-foot>span{color:var(--muted,#9197a3);font-size:.76rem}.forge-heat-empty,.forge-heat-history,.forge-heat-lock,.forge-heat-roadmap-boundary{border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(255,255,255,.022)}.forge-heat-empty{display:grid;justify-items:start;gap:8px;padding:28px}.forge-heat-empty strong{font-size:1.1rem}.forge-heat-empty p{max-width:720px;margin:0 0 8px;color:var(--muted,#9fa5b0);line-height:1.55}.forge-heat-history{display:flex;gap:18px;padding:28px}.forge-heat-history-icon{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:rgba(216,180,93,.09);border:1px solid rgba(216,180,93,.25);font-size:1.4rem;color:#e7c76f}.forge-heat-history h2,.forge-heat-lock h2{margin:5px 0 8px}.forge-heat-history p,.forge-heat-lock p{max-width:760px;color:var(--muted,#9da3ae);line-height:1.55}.forge-heat-roadmap-boundary{padding:18px 20px;border-style:dashed}.forge-heat-roadmap-boundary strong{color:#d9bf76}.forge-heat-roadmap-boundary p{margin:5px 0 0;color:var(--muted,#969ca7);font-size:.82rem;line-height:1.5}.forge-heat-lock{display:flex;gap:20px;align-items:flex-start;padding:30px}.forge-heat-lock-mark{display:grid;place-items:center;flex:0 0 68px;height:68px;border-radius:20px;border:1px solid rgba(216,180,93,.35);background:rgba(216,180,93,.09);color:#e7c76e;font-size:.85rem;font-weight:950;letter-spacing:.1em}.primary-nav a[data-route="forge-heat"]{position:relative}.primary-nav a[data-route="forge-heat"] .forge-nav-pro{margin-left:auto;font-size:.56rem;letter-spacing:.08em;font-weight:900;color:#e4c46e;border:1px solid rgba(216,180,93,.3);border-radius:999px;padding:2px 5px}.primary-nav a[data-route="forge-heat"][aria-current="page"] .forge-nav-pro{color:#17130b;border-color:rgba(0,0,0,.15);background:#e7c76e}@media (max-width:1100px){.forge-heat-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.forge-heat-metrics>div:nth-child(3){border-right:0}.forge-heat-metrics>div:nth-child(-n+3){border-bottom:1px solid rgba(255,255,255,.05)}.forge-heat-reason-grid{grid-template-columns:1fr}.forge-heat-reason-grid section{border-right:0;border-bottom:1px solid rgba(255,255,255,.05)}.forge-heat-reason-grid section:last-child{border-bottom:0}}@media (max-width:760px){.forge-heat-hero{grid-template-columns:1fr;padding:20px}.forge-heat-summary,.forge-heat-intelligence-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-heat-card-head{grid-template-columns:auto minmax(0,1fr)}.forge-heat-score{grid-column:2;justify-items:start}.forge-heat-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.forge-heat-metrics>div{border-bottom:1px solid rgba(255,255,255,.05)}.forge-heat-metrics>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.05)}.forge-heat-metrics>div:nth-child(even){border-right:0}.forge-heat-metrics>div:nth-last-child(-n+2){border-bottom:0}.forge-heat-card-foot{align-items:flex-start;flex-direction:column}.forge-heat-history,.forge-heat-lock{padding:22px}.forge-heat-lock{flex-direction:column}}@media (max-width:480px){.forge-heat-summary,.forge-heat-intelligence-bar{grid-template-columns:1fr}.forge-heat-metrics{grid-template-columns:1fr}.forge-heat-metrics>div{border-right:0!important}.forge-heat-metrics>div:not(:last-child){border-bottom:1px solid rgba(255,255,255,.05)}.forge-heat-rank{width:32px;height:32px}.forge-heat-hero h1{font-size:2.2rem}}

.forge-heat-why{display:grid;gap:8px;width:100%;max-width:720px;margin:4px 0 8px;padding:16px 18px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:rgba(0,0,0,.16)}
.forge-heat-why .forge-heat-section-label{margin-bottom:0}
.forge-heat-why p{margin:0;color:var(--muted,#9fa5b0);font-size:.86rem;line-height:1.5}
.forge-heat-why ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.forge-heat-why li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid rgba(255,255,255,.05);font-size:.9rem}
.forge-heat-why li:first-child{border-top:0}
.forge-heat-why li strong{font-size:.95rem;font-variant-numeric:tabular-nums;color:#e9cb7e}.forge-heat-after-costs{padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(216,180,93,.035)}.forge-heat-after-costs ul{display:grid;gap:6px;margin:0;padding-left:18px;color:var(--text,#e9e6dd);font-size:.86rem;line-height:1.5}.forge-heat-after-costs small{display:block;margin-top:8px;color:var(--muted,#969ca7);font-size:.74rem}.forge-heat-costs-note{margin:0;padding:12px 16px;border:1px dashed rgba(216,180,93,.3);border-radius:12px;color:var(--muted,#a4aab4);font-size:.84rem}

/* customer-market-view.css */
.market-view-shell {
  display: grid;
  gap: 22px;
  padding: 24px;
  color: var(--text, #f5f5f5);
}

.market-view-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr);
  gap: 24px;
  align-items: stretch;
  padding: 28px;
  border: 1px solid rgba(219, 190, 122, .26);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(219, 190, 122, .11), transparent 38%),
    linear-gradient(145deg, rgba(20, 20, 20, .98), rgba(7, 7, 7, .98));
}

.market-view-hero h1 {
  margin: 8px 0 10px;
  font-size: clamp(2.2rem, 5vw, 4.4rem);
  line-height: .96;
  letter-spacing: -.045em;
}

.market-view-hero > div > p {
  max-width: 760px;
  margin: 0;
  color: var(--text-muted, #b8b8b8);
  font-size: 1.02rem;
  line-height: 1.65;
}

.market-view-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.market-view-scope {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .09);
  border-radius: 18px;
  background: rgba(255, 255, 255, .035);
}

.market-view-scope > span,
.market-view-metric > span,
.market-view-health-grid span,
.market-view-coverage-card span {
  color: var(--text-muted, #a9a9a9);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.market-view-scope strong {
  font-size: 1.45rem;
  color: #e4c77f;
}

.market-view-scope p,
.market-view-scope small {
  margin: 0;
  color: var(--text-muted, #aaa);
  line-height: 1.45;
}

.market-view-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.market-view-metric {
  display: flex;
  min-height: 126px;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  background: rgba(255, 255, 255, .025);
}

.market-view-metric strong {
  font-size: 1.75rem;
  line-height: 1;
}

.market-view-metric small {
  color: var(--text-muted, #9f9f9f);
  line-height: 1.4;
}

.market-view-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.market-view-panel {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 18px;
  background: rgba(14, 14, 14, .92);
}

.market-view-panel header h2,
.market-view-broader h2 {
  margin: 5px 0 6px;
  font-size: 1.25rem;
}

.market-view-panel header p,
.market-view-broader p {
  margin: 0;
  color: var(--text-muted, #aaa);
  line-height: 1.55;
}

.market-view-bars {
  display: grid;
  gap: 15px;
  margin-top: 24px;
}

.market-view-bar-label {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
  font-size: .82rem;
}

.market-view-bar-label span {
  color: #d6d6d6;
  font-weight: 700;
}

.market-view-bar-track,
.market-view-coverage-track {
  overflow: hidden;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .08);
}

.market-view-bar-track span,
.market-view-coverage-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(219, 190, 122, .6), #e4c77f);
}

.market-view-health-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.market-view-health-grid > div {
  display: grid;
  gap: 5px;
  min-height: 108px;
  align-content: center;
  padding: 15px;
  border-radius: 13px;
  background: rgba(255, 255, 255, .035);
}

.market-view-health-grid strong {
  font-size: 1.28rem;
}

.market-view-health-grid small {
  color: var(--text-muted, #999);
  line-height: 1.35;
}

.market-view-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
}

.market-view-section-heading > a {
  white-space: nowrap;
  color: #e4c77f;
  font-weight: 700;
  text-decoration: none;
}

.market-view-value-list {
  display: grid;
  gap: 8px;
  margin-top: 18px;
}

.market-view-value-row {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .065);
  border-radius: 13px;
  background: rgba(255, 255, 255, .025);
}

.market-view-rank {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(219, 190, 122, .12);
  color: #e4c77f;
  font-weight: 800;
}

.market-view-value-identity,
.market-view-value-numbers {
  display: grid;
  gap: 4px;
}

.market-view-value-identity span,
.market-view-value-numbers span {
  color: var(--text-muted, #999);
  font-size: .82rem;
}

.market-view-value-numbers {
  text-align: right;
}

.market-view-value-numbers strong {
  color: #e4c77f;
  font-size: 1.08rem;
}

.market-view-coverage-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.market-view-coverage-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(255, 255, 255, .03);
}

.market-view-coverage-card > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.market-view-coverage-card strong {
  font-size: 1.25rem;
}

.market-view-coverage-card small {
  color: var(--text-muted, #999);
  line-height: 1.45;
}

.market-view-broader {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  padding: 22px;
  border: 1px dashed rgba(219, 190, 122, .28);
  border-radius: 18px;
  background: rgba(219, 190, 122, .035);
}

.market-view-broader-mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(219, 190, 122, .12);
  color: #e4c77f;
  font-size: 1.4rem;
}

.market-view-broader small {
  display: block;
  margin-top: 7px;
  color: var(--text-muted, #999);
  line-height: 1.45;
}

.market-view-boundary {
  margin: 0;
  padding: 14px 16px;
  border-left: 3px solid rgba(219, 190, 122, .7);
  background: rgba(255, 255, 255, .025);
  color: var(--text-muted, #aaa);
  line-height: 1.5;
}

.market-view-boundary > summary {
  cursor: pointer;
  list-style: none;
  color: #f1f1f1;
  font-size: .9rem;
  font-weight: 800;
}

.market-view-boundary > summary::-webkit-details-marker {
  display: none;
}

.market-view-boundary > p {
  margin: 10px 0 0;
  color: var(--text-muted, #aaa);
}

.market-view-boundary strong {
  color: #f1f1f1;
}

.market-view-loading,
.market-view-error,
.market-view-empty {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 24px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 16px;
  background: rgba(255, 255, 255, .025);
}

.market-view-loading p,
.market-view-error p,
.market-view-empty p {
  margin: 5px 0 0;
  color: var(--text-muted, #999);
}

.market-view-error {
  align-items: flex-start;
  flex-direction: column;
}

.market-view-spinner {
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  border: 3px solid rgba(255, 255, 255, .12);
  border-top-color: #e4c77f;
  border-radius: 50%;
  animation: market-view-spin .8s linear infinite;
}

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

@media (max-width: 980px) {
  .market-view-hero,
  .market-view-grid {
    grid-template-columns: 1fr;
  }

  .market-view-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .market-view-shell {
    padding: 16px;
  }

  .market-view-hero {
    padding: 20px;
  }

  .market-view-metrics,
  .market-view-health-grid,
  .market-view-coverage-grid {
    grid-template-columns: 1fr;
  }

  .market-view-section-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .market-view-value-row {
    grid-template-columns: 36px minmax(0, 1fr);
  }

  .market-view-value-numbers,
  .market-view-value-row .button {
    grid-column: 2;
    text-align: left;
  }
}

/* consumer-pro-navigation.css */
.ff-advanced-nav{margin:8px 0 2px;border-top:1px solid rgba(255,255,255,.06);padding-top:8px}.ff-advanced-nav>summary{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border-radius:9px;color:var(--muted,#9da3ae);font-size:.74rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;cursor:pointer;list-style:none;user-select:none}.ff-advanced-nav>summary::-webkit-details-marker{display:none}.ff-advanced-nav>summary::before{content:'＋';display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid rgba(216,180,93,.22);border-radius:6px;color:#d9bc6a;font-size:.75rem}.ff-advanced-nav[open]>summary::before{content:'−'}.ff-advanced-nav>summary:hover,.ff-advanced-nav>summary:focus-visible{color:#f2eee4;background:rgba(255,255,255,.035)}.ff-advanced-nav-links{display:grid;gap:2px;padding:2px 0 5px 14px}.ff-advanced-nav-links>a{font-size:.78rem;min-height:35px;opacity:.86}.ff-advanced-nav-links>a[aria-current="page"]{opacity:1}.ff-advanced-nav[open]{padding-bottom:3px}

/* Customer-first shell: keep the core decision journey primary. Market View is contextual, Alerts already has a topbar entry, and Getting Started is onboarding—not a permanent primary destination. Direct routes remain valid and reappear when active. */
.primary-nav>a[data-route="market-view"]:not([aria-current="page"]),
.primary-nav>a[data-route="alerts"]:not([aria-current="page"]),
.primary-nav>a[data-route="beta-start"]:not([aria-current="page"]){display:none}
.primary-nav>a[data-route="dashboard"],.primary-nav>a[data-route="discover"],.primary-nav>a[data-route="evaluate"],.primary-nav>a[data-route="opportunities"],.primary-nav>a[data-route="tracking"],.primary-nav>a[data-route="portfolio"]{font-weight:760}

@media (max-width:900px){.ff-advanced-nav>summary{min-height:42px}.ff-advanced-nav-links>a{min-height:40px}}
/* provider-evidence-visibility.css */
.provider-evidence-panel .panel-header {
  align-items: flex-start;
  gap: 1rem;
}

.provider-evidence-panel .panel-header p {
  max-width: 70ch;
}

.provider-evidence-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.provider-evidence-metric {
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.025);
}

.provider-evidence-metric span {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--muted, #8b8f98);
  font-size: 0.78rem;
}

.provider-evidence-metric strong {
  display: block;
  color: var(--text, #ffffff);
  font-size: 1.15rem;
  line-height: 1.2;
}

.provider-evidence-provider-message,
.provider-evidence-boundary {
  margin: 1rem 0 0;
}

.provider-evidence-provider-message {
  color: var(--muted, #8b8f98);
}

.provider-evidence-boundary {
  padding-top: 0.9rem;
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.12));
  color: var(--muted, #8b8f98);
}

.provider-evidence-boundary strong {
  color: var(--text, #ffffff);
}

@media (max-width: 980px) {
  .provider-evidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .provider-evidence-grid {
    grid-template-columns: 1fr;
  }
}

/* price-intelligence.css */
.price-intelligence-panel {
  margin-top: 1rem;
}

.price-intelligence-panel .panel-header {
  align-items: flex-start;
  gap: 1rem;
}

.price-intelligence-status {
  flex: 0 0 auto;
  white-space: nowrap;
}

.price-intelligence-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}

.price-intelligence-metric {
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}

.price-intelligence-metric span {
  display: block;
  margin-bottom: .35rem;
  color: var(--muted, #8b8f98);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.price-intelligence-metric strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--text, #fff);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
}

.price-intelligence-metric[data-decision="BUY"] strong {
  color: #d4af37;
}

.price-intelligence-ladder {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}

.price-intelligence-step {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .55rem .7rem;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  font-size: .82rem;
}

.price-intelligence-step strong {
  color: #fff;
}

.price-intelligence-boundary,
.price-intelligence-unavailable {
  margin: 1rem 0 0;
  color: var(--muted, #8b8f98);
  line-height: 1.55;
}

.price-intelligence-boundary strong {
  color: var(--text, #fff);
}

@media (max-width: 760px) {
  .price-intelligence-grid {
    grid-template-columns: 1fr;
  }

  .price-intelligence-status {
    white-space: normal;
  }
}

/* customer-entitlements.css */
.customer-entitlements-page{display:grid;gap:18px}.customer-entitlement-summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.customer-entitlement-current-head,.customer-entitlement-plan-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.customer-entitlement-current h2,.customer-entitlement-plan h3{margin:5px 0 0}.customer-entitlement-current dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0}.customer-entitlement-current dl div{padding:12px;border:1px solid var(--border-subtle,#243247);border-radius:12px;background:rgba(255,255,255,.02)}.customer-entitlement-current dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#8ea0b7)}.customer-entitlement-current dd{margin:5px 0 0;font-weight:700;overflow-wrap:anywhere}.customer-entitlement-usage-number{display:flex;align-items:baseline;gap:10px;margin:14px 0}.customer-entitlement-usage-number strong{font-size:2.35rem;line-height:1}.customer-entitlement-usage-number span{color:var(--text-muted,#8ea0b7)}.customer-entitlement-meter{display:grid;gap:8px}.customer-entitlement-meter>div:not(.usage-track){display:flex;justify-content:space-between;gap:12px}.customer-entitlement-usage small{display:block;margin-top:14px;color:var(--text-muted,#8ea0b7)}.customer-entitlement-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-entitlement-plan{margin:0}.customer-entitlement-plan ul{display:grid;gap:9px;margin:16px 0 0;padding:0;list-style:none}.customer-entitlement-plan li{display:flex;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid var(--border-subtle,#243247);font-size:.85rem}.customer-entitlement-plan li span{color:var(--text-muted,#8ea0b7)}.customer-entitlement-plan li strong{text-align:right}.customer-checkout-action{display:flex;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle,#243247)}.customer-checkout-action .button{width:100%;justify-content:center}.customer-entitlement-safety p{margin-bottom:0;color:var(--text-muted,#8ea0b7)}@media(max-width:900px){.customer-entitlement-summary,.customer-entitlement-plans{grid-template-columns:1fr}.customer-entitlement-current dl{grid-template-columns:1fr}}@media(max-width:560px){.customer-entitlement-current-head,.customer-entitlement-plan-head{align-items:flex-start;flex-direction:column}.customer-entitlement-plan li{align-items:flex-start;flex-direction:column}.customer-entitlement-plan li strong{text-align:left}}

/* core-platform-completion-v1.css */
/* FlipForge core-platform completion v1
   Presentation and customer-language cleanup only. No scoring, evidence,
   provider, tenant, billing, or transaction-authority changes. */

.ff-core-platform-completion .prototype-banner {
  min-height: 28px;
  padding: 6px 14px;
  border-bottom: 1px solid rgba(216,174,59,.18);
  background: #070b10;
  color: #9aa5af;
  font-size: .64rem;
  letter-spacing: .02em;
}

.ff-core-platform-completion .prototype-banner strong {
  color: #e5bf55;
  font-size: .62rem;
  letter-spacing: .11em;
}

.ff-core-platform-completion .primary-nav {
  gap: 2px;
  padding-top: 4px;
}

.ff-core-platform-completion .ff-nav-group-label {
  display: block;
  margin: 15px 12px 5px;
  color: #66727e;
  font-size: .55rem;
  font-weight: 850;
  letter-spacing: .14em;
  line-height: 1;
  text-transform: uppercase;
  user-select: none;
}

.ff-core-platform-completion .ff-nav-group-label:first-child {
  margin-top: 6px;
}

.ff-core-platform-completion .primary-nav a {
  min-height: 36px;
  margin-inline: 6px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #aab3bd;
  font-size: .76rem;
  font-weight: 650;
}

.ff-core-platform-completion .primary-nav a > span[aria-hidden="true"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  min-width: 22px;
  color: #7d8995;
  font-size: .72rem;
}

.ff-core-platform-completion .primary-nav a:hover,
.ff-core-platform-completion .primary-nav a:focus-visible {
  border-color: rgba(216,174,59,.14);
  color: #eef1f3;
  background: rgba(216,174,59,.035);
  outline: none;
}

.ff-core-platform-completion .primary-nav a.active,
.ff-core-platform-completion .primary-nav a[aria-current="page"] {
  border-color: rgba(216,174,59,.28);
  color: #f4f5f6;
  background:
    linear-gradient(90deg, rgba(216,174,59,.12), rgba(216,174,59,.025));
  box-shadow: inset 2px 0 0 #d8ae3b;
}

.ff-core-platform-completion .primary-nav a.active > span[aria-hidden="true"],
.ff-core-platform-completion .primary-nav a[aria-current="page"] > span[aria-hidden="true"] {
  color: #e8c65f;
}

.ff-core-platform-completion .sidebar-footer {
  background: linear-gradient(180deg, rgba(8,13,19,0), rgba(8,13,19,.86) 20%);
}

.ff-core-platform-completion .plan-card {
  border-color: rgba(216,174,59,.16);
  background: rgba(216,174,59,.025);
}

.ff-core-platform-completion .plan-card.ff-plan-card-link {
  cursor: pointer;
}

.ff-core-platform-completion .plan-card.ff-plan-card-link:hover,
.ff-core-platform-completion .plan-card.ff-plan-card-link:focus-visible {
  border-color: rgba(216,174,59,.3);
  background: rgba(216,174,59,.05);
  outline: 2px solid rgba(216,174,59,.45);
  outline-offset: 2px;
}

.ff-core-platform-completion .plan-card .eyebrow {
  color: #b49338;
}

.ff-core-platform-completion .plan-card > strong {
  color: #f0f2f4;
}

.ff-core-platform-completion .account-link {
  border-color: rgba(255,255,255,.05);
  background: rgba(255,255,255,.012);
}

.ff-core-platform-completion .account-link:hover,
.ff-core-platform-completion .account-link:focus-visible {
  border-color: rgba(216,174,59,.22);
  background: rgba(216,174,59,.035);
  outline: none;
}

.ff-core-platform-completion .global-search kbd {
  min-width: 42px;
  color: #7f8b96;
  font-size: .58rem;
  text-align: center;
}

.ff-core-platform-completion .staging-empty {
  min-height: 132px;
  align-content: center;
}

.ff-core-platform-completion .staging-empty strong {
  color: #eef1f3;
}

.ff-core-platform-completion .staging-empty p {
  max-width: 680px;
  color: #8f9aa6;
  line-height: 1.55;
}

.ff-core-platform-completion .ff-di-card .ff-di-empty strong {
  display: block;
  margin-bottom: 6px;
  color: #eef1f3;
  font-size: .9rem;
}

.ff-core-platform-completion .ff-di-card .ff-di-empty p {
  margin: 0 0 12px;
  color: #8f9aa6;
  line-height: 1.5;
}

.ff-core-platform-completion .ff-di-card .ff-di-empty .button {
  min-height: 38px;
  padding-inline: 14px;
}

@media (max-width: 900px) {
  .ff-core-platform-completion .ff-nav-group-label {
    margin-left: 10px;
  }
}
/* full-site-qa.css */

/* @import final-brand-lock.css (inlined) */
/*
 * FLIPFORGE FINAL BRAND LOCK — 2026-08-11
 *
 * Authoritative compact website/app header system:
 *   approved cube-in-corners vector icon + FLIPFORGE™ + CARD INTELLIGENCE
 * Typeface system: Geist Sans (with system fallbacks only when Geist is unavailable)
 * Palette: #000000 / #FFFFFF / #8B8F98 / #D4AF37 / #B8860B
 *
 * This file intentionally loads last so future feature CSS cannot silently drift
 * the primary product identity away from the approved visual system.
 */

@font-face {
  font-family: Geist;
  src: url("/assets/fonts/geist-latin-wght-normal.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

:root {
  --ff-black: #000000;
  --ff-white: #FFFFFF;
  --ff-silver: #8B8F98;
  --ff-gold: #D4AF37;
  --ff-deep-gold: #B8860B;

  --text: var(--ff-white);
  --silver: var(--ff-silver);
  --muted: var(--ff-silver);
  --gold: var(--ff-gold);
  --gold-strong: var(--ff-gold);
  --gold-deep: var(--ff-deep-gold);

  font-family: Geist, "Geist Sans", "Helvetica Neue", Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: Geist, "Geist Sans", "Helvetica Neue", Arial, sans-serif;
}

/* Approved horizontal header lockup. The icon is the repository's real vector
   master; the legacy CSS-drawn center square is deliberately retired. */
.brand {
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
}

.brand-mark {
  width: 46px;
  height: 46px;
  background: url("/brand/v2/master/FlipForge_Icon_Transparent_DarkBG.svg") center / contain no-repeat;
  filter: none;
}

.brand-mark > * {
  display: none !important;
}

.brand-copy {
  gap: 0;
}

.brand-name {
  display: inline-block;
  width: fit-content;
  color: var(--ff-white);
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .145em;
  line-height: 1;
  text-shadow: none;
  white-space: nowrap;
}

.brand-name::after {
  content: "™";
  position: relative;
  top: -.45em;
  margin-left: .18em;
  color: var(--ff-gold);
  font-size: .42em;
  font-weight: 600;
  letter-spacing: 0;
}

.brand-subtitle {
  margin-top: 7px;
  color: var(--ff-gold);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: .19em;
  line-height: 1.25;
  white-space: nowrap;
}

.prototype-chip,
.eyebrow,
.panel-link,
.primary-nav a[aria-current="page"] span:first-child {
  color: var(--ff-gold);
}

.prototype-chip {
  border-color: color-mix(in srgb, var(--ff-gold) 42%, transparent);
}

.primary-nav a[aria-current="page"] {
  border-color: color-mix(in srgb, var(--ff-gold) 38%, transparent);
  box-shadow: inset 3px 0 0 var(--ff-gold);
}

.button-primary {
  color: var(--ff-black);
  background: linear-gradient(145deg, var(--ff-gold), var(--ff-deep-gold));
  border-color: var(--ff-gold);
}

@media (max-width: 1180px) {
  .brand-name { font-size: 18px; }
  .brand-subtitle { font-size: 7px; }
}

@media (max-width: 640px) {
  .brand-name { font-size: 19px; }
  .brand-subtitle { white-space: normal; }
}



/*
 * FlipForge shared responsive hardening.
 *
 * This file intentionally fixes layout containment at the shared shell and
 * component level so customer pages do not need one-off overflow patches.
 * It changes presentation only; authority, evidence, tenant ownership and
 * persisted data remain untouched.
 */

/* The logo/footer are fixed shell regions. Let navigation absorb height and scroll. */
.brand-block,
.sidebar-footer {
  flex: 0 0 auto;
}

.primary-nav {
  min-height: 0;
  flex: 1 1 auto;
}

/* Shared headings must be allowed to shrink before their actions force overflow. */
.page-heading,
.page-heading > div,
.page-actions,
.panel-header,
.panel-header > div,
.stack,
.panel,
.panel-body {
  min-width: 0;
}

.page-heading > div,
.panel-header > div {
  max-width: 100%;
}

.page-heading h1,
.page-heading p,
.panel-header h2,
.panel-header p {
  overflow-wrap: anywhere;
}

.page-actions {
  max-width: 100%;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.page-actions .button {
  min-width: 0;
  max-width: 100%;
}

.panel-header {
  flex-wrap: wrap;
}

.panel-header > div {
  flex: 1 1 240px;
}

/* Shared grids and split rows must never keep their content's intrinsic width. */
.key-value,
.check-item > *,
.activity-item > *,
.hero-identity,
.hero-title,
.hero-price,
.comparison-row > *,
.evidence-step > *,
.customer-trace-step > div,
.customer-intake-step > *,
.customer-dashboard-opportunity-head > *,
.customer-compare-card header > *,
.customer-entitlement-current-head > *,
.customer-entitlement-plan-head > *,
.customer-entitlement-plan li > *,
.customer-lifecycle-alerts article > *,
.customer-management-flag > *,
.customer-exit-hero .panel-body > * {
  min-width: 0;
}

.key-value strong,
.check-item strong,
.check-item small,
.activity-item strong,
.activity-item small,
.comparison-row > *,
.evidence-step strong,
.evidence-step small,
.customer-trace-step strong,
.customer-trace-step p,
.customer-dashboard-opportunity-head strong,
.customer-dashboard-opportunity-head h3,
.customer-compare-card header,
.customer-entitlement-current-head,
.customer-entitlement-plan-head,
.customer-entitlement-plan li,
.customer-lifecycle-alerts article,
.customer-management-flag,
.customer-exit-hero .panel-body {
  overflow-wrap: anywhere;
}

.customer-trace-step {
  grid-template-columns: auto minmax(0, 1fr);
}

.customer-dashboard-opportunity-head,
.customer-compare-card header,
.customer-entitlement-current-head,
.customer-entitlement-plan-head,
.customer-entitlement-plan li,
.customer-lifecycle-alerts article,
.customer-management-flag,
.customer-exit-hero .panel-body {
  flex-wrap: wrap;
}

/* Comparison is the one intentional wide-data surface: contain scrolling locally. */
.comparison-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-x: contain;
}

.comparison-row > * {
  overflow-wrap: anywhere;
}

@media (max-width: 900px) {
  .page-heading {
    align-items: flex-start;
  }

  .page-actions {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .page-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
    gap: 8px;
  }

  .page-actions .button {
    width: 100%;
    min-height: 42px;
    padding-inline: 10px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
  }

  .panel-header > div {
    flex-basis: 100%;
  }

  .customer-trace-step {
    gap: 10px;
  }

  .customer-entitlement-current-head,
  .customer-entitlement-plan-head,
  .customer-lifecycle-alerts article,
  .customer-exit-hero .panel-body {
    align-items: flex-start;
  }
}

@media (max-width: 430px) {
  .page-actions {
    grid-template-columns: 1fr;
  }
}

/* consumer-ux-refinement.css */
.consumer-ux-ready .boundary-note {
  border-color: rgba(213, 173, 83, 0.2);
  background: linear-gradient(145deg, rgba(213, 173, 83, 0.055), rgba(255, 255, 255, 0.018));
  color: var(--muted, #aeb5c0);
}

.consumer-ux-ready .boundary-note strong {
  color: var(--text, #f7f8fa);
}

.consumer-ux-ready .consumer-state {
  border: 1px solid rgba(213, 173, 83, 0.22);
  border-radius: 14px;
  padding: 14px 16px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(213, 173, 83, 0.035));
}

.consumer-ux-ready .consumer-state-empty {
  display: grid;
  gap: 8px;
  min-height: 160px;
  align-content: center;
  justify-items: start;
}

.consumer-ux-ready .consumer-state-empty strong {
  font-size: 1.08rem;
  letter-spacing: -0.01em;
}

.consumer-ux-ready .consumer-state-loading {
  position: relative;
  overflow: hidden;
  color: var(--muted, #aeb5c0);
}

.consumer-ux-ready .consumer-state-loading::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-110%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.055), transparent);
  animation: consumer-state-sheen 1.35s ease-in-out infinite;
  pointer-events: none;
}

.consumer-ux-ready .consumer-state-error {
  border-color: rgba(255, 107, 107, 0.3);
  background: rgba(255, 107, 107, 0.065);
}

.consumer-ux-ready .staging-error.consumer-state {
  padding: 0;
}

.consumer-ux-ready .card-intelligence-heading .eyebrow,
.consumer-ux-ready .forge-heat-title-row .eyebrow {
  letter-spacing: 0.14em;
}

.consumer-ux-ready .card-intelligence-heading > div,
.consumer-ux-ready .forge-heat-hero > div:first-child {
  max-width: 760px;
}

@keyframes consumer-state-sheen {
  to { transform: translateX(110%); }
}

@media (prefers-reduced-motion: reduce) {
  .consumer-ux-ready .consumer-state-loading::after {
    animation: none;
    display: none;
  }
}

@media (max-width: 640px) {
  .consumer-ux-ready .consumer-state {
    padding: 12px 13px;
  }

  .consumer-ux-ready .consumer-state-empty {
    min-height: 140px;
  }
}

/* customer-professional-polish.css */
/* Final customer-facing product polish. Presentation only; no authority changes. */

.brand-tagline {
  margin-top: 6px;
  color: rgba(216, 220, 219, .68);
  font-size: 7.5px;
  font-weight: 520;
  letter-spacing: .045em;
  line-height: 1.25;
  white-space: nowrap;
}

.sidebar-footer .account-link { display: none; }
.ff-nav-group-label { display: none !important; }
.primary-nav [data-route="alerts"][hidden] { display: none !important; }

.prototype-banner {
  min-height: 29px;
  font-size: 10px;
  letter-spacing: .08em;
}

.prototype-banner strong {
  font-size: 10px;
  letter-spacing: .12em;
}

.prototype-banner span {
  font-size: 10px;
  opacity: .82;
}

.prototype-chip {
  padding: 5px 8px;
  font-size: 8px;
  letter-spacing: .1em;
}

.primary-nav a {
  min-height: 40px;
  gap: 10px;
  font-size: 13px;
  letter-spacing: .005em;
}

.primary-nav a > span:first-child.ff-nav-icon {
  display: inline-grid;
  place-items: center;
  width: 18px;
  min-width: 18px;
  height: 18px;
  color: var(--silver-dark);
  font-size: 0 !important;
}

.ff-nav-icon svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.primary-nav a[aria-current="page"] .ff-nav-icon { color: var(--gold-strong); }

.primary-nav a[data-route="forge-heat"] {
  opacity: .78;
}

.primary-nav a[data-route="forge-heat"]:hover { opacity: 1; }

.forge-nav-pro { display: none !important; }

.forge-nav-state {
  margin-left: auto;
  padding: 2px 5px;
  color: rgba(216, 220, 219, .65) !important;
  background: rgba(139, 146, 143, .06);
  border: 1px solid rgba(139, 146, 143, .18);
  border-radius: 3px;
  font-size: 7px !important;
  font-weight: 650;
  letter-spacing: .08em;
  line-height: 1.25;
}

.ff-secondary-nav-link {
  margin-top: 3px;
  opacity: .72;
}

.ff-advanced-nav > summary {
  font-size: 12px;
  letter-spacing: .025em;
}

#main-content .page-heading .eyebrow,
#main-content .forge-heat-title-row .eyebrow,
#main-content .panel .eyebrow {
  font-size: .66rem;
  font-weight: 650;
  letter-spacing: .12em;
}

#main-content .page-heading h1,
#main-content .forge-heat-hero h1 {
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  font-weight: 610;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.ff-trademark {
  position: relative;
  top: -.34em;
  margin-left: .08em;
  font-size: .32em;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 0;
  vertical-align: baseline;
}

#main-content .page-heading p {
  max-width: 760px;
  font-size: .94rem;
  line-height: 1.55;
}

#main-content .panel,
#main-content .metric-card,
#main-content .customer-dashboard-metrics article,
#main-content .customer-dashboard-opportunity,
#main-content .customer-dashboard-next .panel-body > a {
  border-radius: 7px !important;
  box-shadow: 0 14px 38px rgba(0, 0, 0, .22);
}

#main-content .panel-header {
  padding: 17px 19px;
}

#main-content .panel-header h2 {
  font-size: 1rem;
  font-weight: 620;
  letter-spacing: -.005em;
}

#main-content .panel-header p {
  max-width: 720px;
  font-size: .82rem;
  line-height: 1.45;
}

#main-content .panel-body { padding: 19px; }

#main-content .metric-card { min-height: 112px; }
#main-content .metric-top > span:first-child {
  font-size: .7rem;
  font-weight: 620;
  letter-spacing: .045em;
  text-transform: none;
}
#main-content .metric-value { font-weight: 610; letter-spacing: -.025em; }

.status-pill,
.staging-status,
.prototype-chip,
.forge-nav-state {
  border-radius: 4px;
  font-variant-numeric: tabular-nums;
}

.boundary-note {
  padding: 12px 14px;
  font-size: .8rem;
  line-height: 1.5;
  background: rgba(212, 175, 55, .025);
  border-color: rgba(212, 175, 55, .18);
}

.consumer-state-empty,
.staging-empty,
.forge-heat-empty {
  padding: 28px !important;
  text-align: left;
}

.ff-empty-cta { margin-top: 12px; }

.forge-heat-development {
  max-width: 920px;
  margin: 0 auto;
}

.forge-heat-development .forge-heat-lock-mark {
  display: grid;
  place-items: center;
  min-width: 52px;
  width: 52px;
  height: 52px;
  color: var(--gold-strong);
  background: rgba(212, 175, 55, .045);
  border: 1px solid rgba(212, 175, 55, .24);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
}

.forge-heat-development .forge-heat-boundary {
  opacity: .82;
}

.plan-card .eyebrow {
  font-size: 8px;
  letter-spacing: .1em;
}

.plan-card small {
  line-height: 1.45;
}

@media (max-width: 640px) {
  .brand-tagline { white-space: normal; }
  .forge-nav-state { font-size: 6px !important; }
  #main-content .page-heading h1,
  #main-content .forge-heat-hero h1 { font-size: 1.8rem; }
}

/* guided-mode-v1.css */
/* FlipForge Guided Mode v1 — contextual onboarding and next-step coaching. */
:root{
  --ff-guide-gold:#d4af37;
  --ff-guide-gold-strong:#f0ca58;
  --ff-guide-bg:#07111f;
  --ff-guide-bg-2:#030812;
  --ff-guide-line:rgba(212,175,55,.34);
  --ff-guide-muted:#aeb7c2;
  --ff-guide-success:#8ee0b8;
}

.ff-guide-launcher{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147481500;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(212,175,55,.6);
  border-radius:999px;
  background:linear-gradient(135deg,#10131a,#050607);
  color:#fff;
  box-shadow:0 18px 54px rgba(0,0,0,.42);
  font:800 12px/1 Inter,system-ui,sans-serif;
  cursor:pointer;
}
.ff-guide-launcher::before{
  content:"?";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:var(--ff-guide-gold);
  color:#030812;
  font-weight:950;
}
.ff-guide-launcher:hover,.ff-guide-launcher:focus-visible{border-color:var(--ff-guide-gold-strong);outline:none}

.ff-guide-panel{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:2147481600;
  width:min(370px,calc(100vw - 28px));
  overflow:hidden;
  border:1px solid var(--ff-guide-line);
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(212,175,55,.11),transparent 34%),
    linear-gradient(180deg,#091522,#04070d);
  color:#f5f6f7;
  box-shadow:0 24px 80px rgba(0,0,0,.58);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ff-guide-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  padding:15px 16px 13px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ff-guide-kicker{display:block;color:var(--ff-guide-gold-strong);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.ff-guide-head strong{display:block;margin-top:4px;font-size:15px;letter-spacing:-.01em}
.ff-guide-icon-button{
  flex:none;
  width:32px;
  height:32px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#b8c1cb;
  font-size:15px;
  cursor:pointer;
}
.ff-guide-icon-button:hover,.ff-guide-icon-button:focus-visible{color:#fff;border-color:rgba(212,175,55,.45);outline:none}
.ff-guide-body{padding:16px}
.ff-guide-location{display:inline-flex;margin-bottom:8px;padding:5px 8px;border:1px solid rgba(255,255,255,.11);border-radius:999px;color:#b9c1cc;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.ff-guide-body h2{margin:0 0 7px;font-size:21px;line-height:1.15;letter-spacing:-.025em}
.ff-guide-body>p{margin:0;color:var(--ff-guide-muted);font-size:12px;line-height:1.58}
.ff-guide-why{
  margin-top:13px;
  padding:11px 12px;
  border-left:2px solid rgba(212,175,55,.65);
  background:rgba(212,175,55,.045);
  color:#c9cfd6;
  font-size:11px;
  line-height:1.5;
}
.ff-guide-why strong{color:#fff}
.ff-guide-actions{display:grid;gap:8px;margin-top:14px}
.ff-guide-action{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid rgba(212,175,55,.56);
  border-radius:9px;
  background:linear-gradient(135deg,var(--ff-guide-gold-strong),var(--ff-guide-gold));
  color:#030812;
  font:900 11px/1.2 Inter,system-ui,sans-serif;
  text-align:center;
  cursor:pointer;
}
.ff-guide-action:hover,.ff-guide-action:focus-visible{filter:brightness(1.05);outline:none}
.ff-guide-action.secondary{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.025);color:#e7e9ec}
.ff-guide-action.secondary:hover,.ff-guide-action.secondary:focus-visible{border-color:rgba(212,175,55,.42);filter:none}

.ff-guide-progress{padding:12px 16px 10px;border-bottom:1px solid rgba(255,255,255,.06)}
.ff-guide-progress-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;color:#8993a0;font-size:9px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.ff-guide-step-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.ff-guide-step-nav button{
  display:grid;gap:3px;justify-items:center;min-width:0;padding:7px 4px;border:1px solid rgba(255,255,255,.09);border-radius:8px;
  background:rgba(255,255,255,.02);color:#9fa8b4;cursor:pointer
}
.ff-guide-step-nav button span{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:rgba(255,255,255,.06);font-size:9px;font-weight:900}
.ff-guide-step-nav button strong{font-size:9px;line-height:1.1;white-space:nowrap}
.ff-guide-step-nav button[data-done="true"]{border-color:rgba(212,175,55,.28);color:#e0c66d}
.ff-guide-step-nav button[data-current="true"]{border-color:rgba(240,202,88,.65);background:rgba(212,175,55,.08);color:#fff}
.ff-guide-step-nav button:hover,.ff-guide-step-nav button:focus-visible{border-color:rgba(240,202,88,.65);outline:none;color:#fff}
.ff-guide-route-nav{
  position:sticky;bottom:0;z-index:3;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px;
  padding:10px 16px;border-top:1px solid rgba(255,255,255,.07);background:rgba(4,7,13,.96);backdrop-filter:blur(8px)
}
.ff-guide-route-nav>span{display:block}
.ff-guide-route-nav .ff-guide-action{min-height:38px;margin:0}
.ff-guide-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 16px;border-top:1px solid rgba(255,255,255,.06);color:#7f8a98;font-size:9px}
.ff-guide-footer button{border:0;background:transparent;color:#aab4c1;padding:0;font:800 9px/1.2 Inter,system-ui,sans-serif;cursor:pointer}
.ff-guide-footer button:hover,.ff-guide-footer button:focus-visible{color:var(--ff-guide-gold-strong);outline:none}

.ff-guide-highlight{
  outline:none!important;
  box-shadow:0 0 0 2px rgba(240,202,88,.82),0 8px 24px rgba(0,0,0,.24)!important;
  transition:box-shadow .2s ease!important;
}
.ff-guide-highlight::after{display:none!important}
.ff-guide-input-focus{
  border-color:var(--ff-guide-gold-strong)!important;
  box-shadow:0 0 0 3px rgba(212,175,55,.18)!important;
}

/* Discover now has one unmistakable entry point. */
.ff-discover-coach{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:center;
  margin:0 0 14px;
  padding:18px 20px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(212,175,55,.075),rgba(255,255,255,.018));
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}
.ff-discover-coach>div:first-child{min-width:0}
.ff-discover-coach span{
  display:block;
  margin-bottom:5px;
  color:var(--ff-guide-gold-strong);
  font-size:9px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ff-discover-coach h2{margin:0;font-size:1.2rem;line-height:1.2;letter-spacing:-.015em}
.ff-discover-coach p{max-width:760px;margin:6px 0 0;color:#aeb7c2;font-size:.82rem;line-height:1.5}
.ff-discover-coach-actions{display:flex;gap:8px;flex:none;flex-wrap:wrap;justify-content:flex-end}
.ff-discover-results-label{
  display:grid;
  gap:3px;
  margin:18px 0 10px;
  padding:12px 14px;
  border-left:3px solid rgba(212,175,55,.68);
  background:rgba(212,175,55,.035);
}
.ff-discover-results-label strong{font-size:.88rem}
.ff-discover-results-label span{color:#9fa9b5;font-size:.76rem;line-height:1.45}

.ff-global-new-card{
  border-color:rgba(212,175,55,.42)!important;
  color:#f2d16e!important;
  background:rgba(212,175,55,.055)!important;
  white-space:nowrap;
}
.ff-global-new-card:hover,.ff-global-new-card:focus-visible{
  border-color:rgba(240,202,88,.72)!important;
  background:rgba(212,175,55,.095)!important;
  outline:none;
}

/* When the user chooses New card, old search output gets out of the way. */
.ff-start-new-card .customer-discovery-results,
.ff-start-new-card .customer-discovery-notice,
.ff-start-new-card .customer-discovery-identity-assist,
.ff-start-new-card .ff-discover-results-label,
.ff-start-new-card .panel:has(.customer-discovery-provider){display:none!important}
.ff-start-new-card .customer-discovery-search{margin-top:0!important}

.ff-guide-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:2147482000;
  display:grid;
  place-items:center;
  padding:18px;
  background:rgba(0,0,0,.76);
  backdrop-filter:blur(8px);
}
.ff-guide-modal{
  width:min(760px,100%);
  overflow:hidden;
  border:1px solid rgba(212,175,55,.38);
  border-radius:20px;
  background:
    radial-gradient(circle at 85% 0,rgba(212,175,55,.12),transparent 32%),
    linear-gradient(145deg,#0a1625,#03070d 72%);
  color:#f6f7f8;
  box-shadow:0 36px 120px rgba(0,0,0,.72);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.ff-guide-modal-main{padding:30px 30px 24px}
.ff-guide-modal .ff-guide-kicker{font-size:10px}
.ff-guide-modal h1{max-width:620px;margin:8px 0 10px;font-size:clamp(30px,5vw,48px);line-height:1.02;letter-spacing:-.045em}
.ff-guide-modal .ff-guide-intro{max-width:650px;margin:0;color:#b7c0cb;font-size:14px;line-height:1.65}
.ff-guide-modal-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.ff-guide-modal-step{padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:rgba(255,255,255,.02)}
.ff-guide-modal-step span{display:block;margin-bottom:6px;color:var(--ff-guide-gold-strong);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.ff-guide-modal-step strong{display:block;font-size:13px;line-height:1.35}
.ff-guide-modal-step p{margin:6px 0 0;color:#98a3b0;font-size:10px;line-height:1.48}
.ff-guide-modal-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:22px}
.ff-guide-modal-actions .ff-guide-action{width:auto;min-width:190px;padding-left:18px;padding-right:18px}
.ff-guide-modal-note{margin:13px 0 0;color:#788493;font-size:9px;line-height:1.45}

body.ff-guide-modal-open{overflow:hidden}

@media(max-width:900px){
  .ff-discover-coach{align-items:flex-start;flex-direction:column}
  .ff-discover-coach-actions{width:100%;justify-content:flex-start}
}

@media(max-width:760px){
  .ff-guide-panel{right:8px;bottom:8px;width:calc(100vw - 16px);max-height:min(72vh,620px);overflow:auto;border-radius:14px}
  .ff-guide-launcher{right:10px;bottom:10px}
  .ff-guide-modal-backdrop{align-items:end;padding:0}
  .ff-guide-modal{width:100%;max-height:88vh;overflow:auto;border-radius:18px 18px 0 0}
  .ff-guide-modal-main{padding:24px 18px 20px}
  .ff-guide-modal-steps{grid-template-columns:1fr}
  .ff-guide-modal-actions{display:grid}
  .ff-guide-modal-actions .ff-guide-action{width:100%;min-width:0}
  .ff-global-new-card{min-width:44px}
  .ff-discover-coach-actions .button{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .ff-guide-highlight{transition:none!important}
  .ff-guide-modal-backdrop{backdrop-filter:none}
}
/* customer-save-flow-v1.css */
/* FlipForge customer save/clear flow. Presentation only; evaluated decisions remain server-persisted. */
.ff-saved-decision-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  margin:0 0 14px;
  padding:15px 17px;
  border:1px solid rgba(87,196,132,.30);
  border-radius:10px;
  background:linear-gradient(135deg,rgba(87,196,132,.075),rgba(212,175,55,.035));
  box-shadow:0 12px 34px rgba(0,0,0,.18);
}
.ff-saved-decision-copy{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:center;min-width:0}
.ff-saved-decision-check{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(87,196,132,.12);border:1px solid rgba(87,196,132,.38);color:#9be3ba;font-weight:900}
.ff-saved-decision-copy strong{display:block;font-size:.92rem}
.ff-saved-decision-copy small{display:block;margin-top:3px;color:#aeb7c2;font-size:.75rem;line-height:1.45}
.ff-saved-decision-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.ff-saved-decision-actions .button{justify-content:center;min-width:0;text-align:center;white-space:normal}

.ff-discover-persistence-note{
  display:flex;
  gap:9px;
  align-items:flex-start;
  margin:0 0 14px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(255,255,255,.018);
  color:#9fa9b5;
  font-size:.75rem;
  line-height:1.48;
}
.ff-discover-persistence-note strong{color:#eceff2}
.ff-discover-persistence-note span:first-child{color:#f0ca58;font-weight:900}

@media(max-width:820px){
  .ff-saved-decision-actions{grid-template-columns:1fr}
  .ff-saved-decision-actions .button{width:100%}
}

/* discover-card-entry-emphasis-v1.css */
/* FlipForge Discover card-entry emphasis v1 */
.customer-discovery-page.ff-discover-above-fold > .page-heading{
  margin-bottom:.7rem;
}

.customer-discovery-page.ff-discover-above-fold > .customer-discovery-search{
  position:relative;
  overflow:visible;
  border:1px solid rgba(255,255,255,.10)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.012))!important;
  box-shadow:0 18px 50px rgba(0,0,0,.22)!important;
}

.customer-discovery-search.ff-guide-highlight{
  outline:none!important;
  outline-offset:0!important;
  box-shadow:0 0 0 1px rgba(212,175,55,.14),0 18px 50px rgba(0,0,0,.22)!important;
}
.customer-discovery-search.ff-guide-highlight::after{
  display:none!important;
  content:none!important;
}

.customer-discovery-search .panel-header{
  padding-top:12px;
  padding-bottom:10px;
}

.customer-discovery-search .panel-header h2{
  font-size:1.35rem;
  color:#fff;
}

.customer-discovery-search .panel-header p{
  max-width:820px;
  color:#b8c0ca;
  margin-top:.35rem;
}

.customer-discovery-form{
  grid-template-columns:minmax(180px,.7fr) 130px minmax(0,1fr);
  gap:12px;
}

.customer-discovery-form > label:has(input[name="exactCardQuery"]){
  grid-column:1 / -1;
  position:relative;
  gap:8px;
  padding:0;
  border:0;
  background:transparent;
}

.customer-discovery-form > label:has(input[name="exactCardQuery"]) > span{
  color:#d7dee7!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
}

.customer-discovery-form input[name="exactCardQuery"]{
  min-height:66px!important;
  padding:15px 17px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:11px!important;
  background:#0b1119!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:.005em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)!important;
}

.customer-discovery-form input[name="exactCardQuery"]::placeholder{
  color:#7f8996!important;
  font-weight:600;
}

.customer-discovery-form input[name="exactCardQuery"]:focus{
  border-color:#f0ca58!important;
  box-shadow:0 0 0 5px rgba(240,202,88,.18),0 10px 30px rgba(0,0,0,.25)!important;
  outline:none!important;
}

.ff-card-entry-helper{
  display:flex;
  align-items:flex-start;
  gap:9px;
  margin-top:3px;
  color:#aeb7c2;
  font-size:12px;
  line-height:1.5;
}
.ff-card-entry-helper::before{
  content:"TIP";
  flex:none;
  padding:3px 6px;
  border-radius:5px;
  background:rgba(240,202,88,.12);
  color:#f0ca58;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

.customer-discovery-search-actions{
  grid-column:1 / -1;
  display:flex!important;
  align-items:center;
  gap:10px!important;
  flex-wrap:wrap;
  padding-top:4px;
}
.customer-discovery-search-actions .button{
  width:auto!important;
  min-height:46px;
}
.customer-discovery-search-actions .button-primary{
  min-width:220px;
  font-weight:900;
}
.customer-discovery-search-actions [data-discovery-find-exact]{
  min-width:150px;
}
.customer-discovery-search-actions .ff-discover-result-control:first-of-type{
  margin-left:auto;
}
.customer-discovery-search-actions .ff-discover-result-control{
  border-color:rgba(255,255,255,.12);
  color:#c2cad4;
}

@media(max-width:1100px){
  .customer-discovery-form{grid-template-columns:1fr 140px}
  .customer-discovery-form > label:has(input[name="exactCardQuery"]){grid-column:1 / -1}
  .customer-discovery-search-actions{grid-column:1 / -1}
  .customer-discovery-search-actions .ff-discover-result-control:first-of-type{margin-left:0}
}

@media(max-width:680px){
  .customer-discovery-page.ff-discover-above-fold > .page-heading{margin-bottom:.5rem}
  .customer-discovery-form{grid-template-columns:1fr}
  .customer-discovery-form > label:has(input[name="exactCardQuery"]){grid-column:1}
  .customer-discovery-form input[name="exactCardQuery"]{min-height:62px!important;font-size:16px!important}
  .customer-discovery-search-actions{
    grid-column:1;
    display:grid!important;
    grid-template-columns:1fr;
  }
  .customer-discovery-search-actions .button{
    width:100%!important;
  }
  .customer-discovery-search-actions .button-primary,
  .customer-discovery-search-actions [data-discovery-find-exact]{
    min-width:0;
  }
}

@media(prefers-reduced-motion:reduce){
  .customer-discovery-form input[name="exactCardQuery"]{transition:none!important}
}

/* customer-ui-system-v1.css */
/* FlipForge definitive SaaS customer UI system.
 * Java/Core owns intelligence authority. Browser owns presentation only.
 */
:root {
  --ff-ui-bg: var(--bg, #070d15);
  --ff-ui-bg-deep: #050910;
  --ff-ui-panel: var(--surface, #111a2a);
  --ff-ui-panel-raised: var(--surface-2, #162238);
  --ff-ui-panel-soft: rgba(255,255,255,.025);
  --ff-ui-border: var(--border-soft, #1d2a40);
  --ff-ui-border-strong: var(--border, #293852);
  --ff-ui-text: var(--text, #f4f7fb);
  --ff-ui-text-soft: var(--text-soft, #c2cbd9);
  --ff-ui-muted: var(--muted, #8793a7);
  --ff-ui-gold: var(--gold, #e2bd42);
  --ff-ui-green: var(--green, #27d17f);
  --ff-ui-blue: var(--blue, #61a8ff);
  --ff-ui-orange: var(--orange, #f6a916);
  --ff-ui-red: var(--red, #ff6374);
  --ff-ui-radius-xs: 6px;
  --ff-ui-radius-sm: 9px;
  --ff-ui-radius-md: 13px;
  --ff-ui-radius-lg: 18px;
  --ff-ui-shadow-sm: 0 12px 30px rgba(0,0,0,.18);
  --ff-ui-shadow-lg: 0 26px 70px rgba(0,0,0,.34);
  --ff-ui-space-1: 4px;
  --ff-ui-space-2: 8px;
  --ff-ui-space-3: 12px;
  --ff-ui-space-4: 16px;
  --ff-ui-space-5: 20px;
  --ff-ui-space-6: 24px;
  --ff-ui-space-8: 32px;
  --ff-ui-space-10: 40px;
}

/* Shared customer primitives. These deliberately override accumulated one-off styling. */
#main-content .panel,
#main-content .metric-card,
#main-content .customer-dashboard-metrics article,
#main-content .customer-dashboard-opportunity,
#main-content .customer-dashboard-next .panel-body > a {
  border-color: var(--ff-ui-border) !important;
  border-radius: var(--ff-ui-radius-md) !important;
  box-shadow: var(--ff-ui-shadow-sm) !important;
}

#main-content .page-heading h1 {
  max-width: 900px;
  font-size: clamp(1.95rem, 3.3vw, 2.75rem);
  letter-spacing: -.035em;
}

#main-content .page-heading p {
  max-width: 780px;
  color: var(--ff-ui-text-soft);
}

.primary-nav a,
.ff-advanced-nav > summary {
  border-radius: var(--ff-ui-radius-xs);
}

/* Definitive Decision Intelligence route. */
.ff-di-page {
  max-width: 1440px;
  margin: 0 auto;
}

.ff-di-hero {
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(310px,.85fr);
  gap: var(--ff-ui-space-6);
  align-items: end;
  margin-bottom: var(--ff-ui-space-6);
}

.ff-di-hero-copy .eyebrow {
  display: block;
  margin-bottom: 8px;
  color: var(--ff-ui-gold);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ff-di-hero-copy h1 {
  margin: 0;
  color: var(--ff-ui-text);
  font-size: clamp(2.15rem, 4.2vw, 4rem);
  line-height: .98;
  letter-spacing: -.055em;
}

.ff-di-hero-copy p {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--ff-ui-text-soft);
  font-size: 1rem;
  line-height: 1.65;
}

.ff-di-hero-state {
  padding: 18px;
  border: 1px solid rgba(226,189,66,.26);
  border-radius: var(--ff-ui-radius-lg);
  background:
    radial-gradient(circle at 90% 4%, rgba(226,189,66,.12), transparent 35%),
    linear-gradient(145deg, rgba(17,26,42,.98), rgba(5,9,16,.98));
  box-shadow: var(--ff-ui-shadow-lg);
}

.ff-di-state-top,
.ff-di-state-value,
.ff-di-state-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.ff-di-state-top span,
.ff-di-state-meta span,
.ff-di-mini-label {
  color: var(--ff-ui-muted);
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ff-di-state-top strong {
  color: var(--ff-ui-gold);
  font-size: .72rem;
  letter-spacing: .08em;
}

.ff-di-state-value {
  margin-top: 22px;
  align-items: end;
}

.ff-di-state-value div span {
  display: block;
  color: var(--ff-ui-muted);
  font-size: .68rem;
}

.ff-di-state-value div strong {
  display: block;
  margin-top: 4px;
  color: var(--ff-ui-text);
  font-size: clamp(1.7rem,3vw,2.45rem);
  letter-spacing: -.04em;
}

.ff-di-state-arrow {
  padding-bottom: 8px;
  color: var(--ff-ui-gold);
  font-size: 1.15rem;
}

.ff-di-state-meta {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--ff-ui-border);
}

.ff-di-controls {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: var(--ff-ui-space-5);
  padding: 16px;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-md);
  background: rgba(255,255,255,.018);
}

.ff-di-control label {
  display: block;
  margin-bottom: 7px;
  color: var(--ff-ui-muted);
  font-size: .69rem;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ff-di-control select {
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  color: var(--ff-ui-text);
  background: var(--ff-ui-bg-deep);
  border: 1px solid var(--ff-ui-border-strong);
  border-radius: var(--ff-ui-radius-sm);
}

.ff-di-grid {
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: 14px;
}

.ff-di-card {
  position: relative;
  min-width: 0;
  padding: 20px;
  overflow: hidden;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-md);
  background: linear-gradient(160deg, rgba(17,26,42,.96), rgba(7,13,21,.98));
  box-shadow: var(--ff-ui-shadow-sm);
}

.ff-di-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(226,189,66,.72), transparent);
  opacity: .65;
}

.ff-di-card h2 {
  margin: 5px 0 0;
  color: var(--ff-ui-text);
  font-size: 1.1rem;
  letter-spacing: -.018em;
}

.ff-di-card > p {
  margin: 7px 0 0;
  color: var(--ff-ui-muted);
  font-size: .8rem;
  line-height: 1.5;
}

.ff-di-card-value { grid-column: span 7; }
.ff-di-card-factors { grid-column: span 5; }
.ff-di-card-evidence { grid-column: span 6; }
.ff-di-card-population { grid-column: span 6; }
.ff-di-card-compare { grid-column: 1 / -1; }

.ff-di-value-bars {
  display: grid;
  gap: 20px;
  margin-top: 24px;
}

.ff-di-bar-row {
  display: grid;
  grid-template-columns: 130px minmax(0,1fr) 78px;
  gap: 12px;
  align-items: center;
}

.ff-di-bar-row > span {
  color: var(--ff-ui-text-soft);
  font-size: .8rem;
}

.ff-di-bar-row > strong {
  color: var(--ff-ui-text);
  font-size: .84rem;
  text-align: right;
}

.ff-di-track {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255,255,255,.055);
}

.ff-di-track > span {
  display: block;
  width: var(--ff-width,0%);
  height: 100%;
  border-radius: inherit;
  background: var(--ff-color,var(--ff-ui-gold));
  box-shadow: 0 0 22px color-mix(in srgb, var(--ff-color,var(--ff-ui-gold)) 26%, transparent);
}

.ff-di-gap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 22px;
  padding: 13px 14px;
  border: 1px solid rgba(226,189,66,.18);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(226,189,66,.035);
}

.ff-di-gap span { color: var(--ff-ui-muted); font-size: .78rem; }
.ff-di-gap strong { color: var(--ff-ui-gold); font-size: 1rem; }

.ff-di-factor-list,
.ff-di-evidence-list {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.ff-di-factor-head,
.ff-di-evidence-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}

.ff-di-factor-head span,
.ff-di-evidence-head span {
  color: var(--ff-ui-text-soft);
  font-size: .78rem;
}

.ff-di-factor-head strong,
.ff-di-evidence-head strong {
  color: var(--ff-ui-text);
  font-size: .78rem;
}

.ff-di-evidence-item {
  padding: 12px;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(255,255,255,.018);
}

.ff-di-evidence-item[data-state="good"] { border-color: rgba(39,209,127,.22); }
.ff-di-evidence-item[data-state="warn"] { border-color: rgba(246,169,22,.22); }
.ff-di-evidence-item[data-state="context"] { border-color: rgba(97,168,255,.2); }

.ff-di-evidence-item small {
  display: block;
  margin-top: 5px;
  color: var(--ff-ui-muted);
  line-height: 1.45;
}

.ff-di-pop-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
  align-items: end;
  min-height: 228px;
  margin-top: 22px;
}

.ff-di-pop-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  min-width: 0;
}

.ff-di-pop-column strong {
  margin-bottom: 8px;
  color: var(--ff-ui-text);
  font-size: .8rem;
}

.ff-di-pop-bar {
  width: min(58px,65%);
  height: var(--ff-height,20%);
  min-height: 22px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, var(--ff-ui-gold), rgba(226,189,66,.28));
  box-shadow: 0 12px 26px rgba(0,0,0,.2);
}

.ff-di-pop-column span {
  margin-top: 9px;
  color: var(--ff-ui-muted);
  font-size: .7rem;
  text-align: center;
}

.ff-di-empty {
  display: grid;
  place-items: center;
  min-height: 228px;
  margin-top: 22px;
  padding: 24px;
  border: 1px dashed var(--ff-ui-border-strong);
  border-radius: var(--ff-ui-radius-sm);
  color: var(--ff-ui-muted);
  text-align: center;
  line-height: 1.55;
}

.ff-di-compare-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 20px;
}

.ff-di-compare-side {
  padding: 16px;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(255,255,255,.015);
}

.ff-di-compare-side header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.ff-di-compare-side h3 {
  margin: 0;
  color: var(--ff-ui-text);
  font-size: .95rem;
}

.ff-di-decision {
  display: inline-flex;
  padding: 4px 7px;
  border: 1px solid rgba(226,189,66,.24);
  border-radius: 999px;
  color: var(--ff-ui-gold);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .08em;
}

.ff-di-compare-metrics {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 8px;
  margin-top: 16px;
}

.ff-di-compare-metrics div {
  padding: 10px;
  border-top: 1px solid var(--ff-ui-border);
}

.ff-di-compare-metrics span {
  display: block;
  color: var(--ff-ui-muted);
  font-size: .64rem;
}

.ff-di-compare-metrics strong {
  display: block;
  margin-top: 4px;
  color: var(--ff-ui-text);
  font-size: .84rem;
}

.ff-di-authority {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 12px;
  align-items: start;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid rgba(226,189,66,.16);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(226,189,66,.025);
}

.ff-di-authority strong {
  color: var(--ff-ui-gold);
  font-size: .72rem;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.ff-di-authority span {
  color: var(--ff-ui-muted);
  font-size: .76rem;
  line-height: 1.5;
}

@media (max-width: 1050px) {
  .ff-di-hero { grid-template-columns: 1fr; }
  .ff-di-card-value,
  .ff-di-card-factors,
  .ff-di-card-evidence,
  .ff-di-card-population { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .ff-di-controls,
  .ff-di-compare-grid { grid-template-columns: 1fr; }
  .ff-di-bar-row { grid-template-columns: 92px minmax(0,1fr) 64px; gap: 8px; }
  .ff-di-compare-metrics { grid-template-columns: 1fr 1fr; }
  .ff-di-authority { grid-template-columns: 1fr; }
  .ff-di-hero-copy h1 { font-size: clamp(2rem,11vw,3.25rem); }
}

@media (prefers-reduced-motion: reduce) {
  .ff-di-page * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* decision-intelligence-server-v1.css */
/* Server-owned Decision Intelligence states. Presentation only. */
.ff-di-source {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 0 12px;
  padding: 5px 8px;
  border: 1px solid var(--ff-ui-border-strong);
  border-radius: 999px;
  color: var(--ff-ui-muted);
  background: rgba(255,255,255,.02);
  font-size: .61rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.ff-di-source-server {
  color: var(--ff-ui-green);
  border-color: rgba(39,209,127,.28);
  background: rgba(39,209,127,.045);
}

.ff-di-source-prototype {
  color: var(--ff-ui-orange);
  border-color: rgba(246,169,22,.28);
  background: rgba(246,169,22,.045);
}

.ff-di-loading,
.ff-di-error {
  display: grid;
  align-content: center;
  min-height: min(70vh,680px);
  padding: clamp(28px,6vw,72px);
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-lg);
  background:
    radial-gradient(circle at 80% 10%,rgba(226,189,66,.08),transparent 34%),
    linear-gradient(145deg,rgba(17,26,42,.96),rgba(5,9,16,.99));
  box-shadow: var(--ff-ui-shadow-lg);
}

.ff-di-loading strong,
.ff-di-error h1 {
  max-width: 760px;
  margin: 4px 0 0;
  color: var(--ff-ui-text);
  font-size: clamp(1.8rem,4vw,3.35rem);
  line-height: 1.02;
  letter-spacing: -.045em;
}

.ff-di-loading p,
.ff-di-error p,
.ff-di-error small {
  max-width: 720px;
  margin: 14px 0 0;
  color: var(--ff-ui-text-soft);
  line-height: 1.6;
}

.ff-di-error {
  border-color: rgba(255,99,116,.26);
}

.ff-di-error > strong {
  width: fit-content;
  color: var(--ff-ui-red);
  font-size: .7rem;
  letter-spacing: .08em;
}

.ff-di-error .button {
  width: fit-content;
  margin-top: 22px;
}

.ff-di-pop-context {
  display: grid;
  align-content: center;
  min-height: 228px;
  margin-top: 22px;
  padding: 24px;
  border: 1px solid rgba(97,168,255,.2);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(97,168,255,.025);
}

.ff-di-pop-context strong {
  color: var(--ff-ui-text);
  font-size: 1rem;
}

.ff-di-pop-context span {
  margin-top: 7px;
  color: var(--ff-ui-blue);
  font-size: .74rem;
}

.ff-di-pop-context small {
  margin-top: 12px;
  color: var(--ff-ui-muted);
  line-height: 1.55;
}

.ff-di-page[data-decision-intelligence-source="prototype"] .ff-di-card {
  border-color: rgba(246,169,22,.12);
}

.ff-di-page[data-decision-intelligence-source="server"] .ff-di-card::before {
  background: linear-gradient(180deg,transparent,rgba(39,209,127,.58),rgba(226,189,66,.55),transparent);
}

@media (max-width: 720px) {
  .ff-di-loading,
  .ff-di-error {
    min-height: 58vh;
    padding: 24px 18px;
  }
}

/* decision-intelligence-ux-v2.css */
/* Decision Intelligence UX v2 — presentation only. Server authority remains unchanged. */

.ff-di-page[data-ff-decision-intelligence-ux="v2"] .ff-di-hero {
  margin-bottom: 16px;
}

.ff-di-page[data-ff-decision-intelligence-ux="v2"] .ff-di-hero-copy h1 {
  max-width: 760px;
}

.ff-di-v2-command {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
}

.ff-di-v2-verdict,
.ff-di-v2-integrity,
.ff-di-v2-change {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-md);
  background:
    radial-gradient(circle at 90% 10%, rgba(226,189,66,.07), transparent 28%),
    linear-gradient(160deg, rgba(17,26,42,.98), rgba(6,11,19,.995));
  box-shadow: var(--ff-ui-shadow-sm);
}

.ff-di-v2-verdict::before,
.ff-di-v2-integrity::before,
.ff-di-v2-change::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: linear-gradient(180deg, transparent, rgba(226,189,66,.8), transparent);
}

.ff-di-v2-verdict {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 20px;
  padding: clamp(20px, 3vw, 30px);
}

.ff-di-v2-verdict[data-decision="BUY"] { border-color: rgba(39,209,127,.28); }
.ff-di-v2-verdict[data-decision="WATCH"] { border-color: rgba(97,168,255,.26); }
.ff-di-v2-verdict[data-decision="VERIFY"] { border-color: rgba(246,169,22,.3); }
.ff-di-v2-verdict[data-decision="PASS"] { border-color: rgba(255,99,116,.24); }

.ff-di-v2-kicker {
  display: block;
  color: var(--ff-ui-muted);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ff-di-v2-decision {
  display: inline-flex;
  width: fit-content;
  margin-top: 10px;
  padding: 7px 10px;
  border: 1px solid rgba(226,189,66,.28);
  border-radius: 999px;
  color: var(--ff-ui-gold);
  background: rgba(226,189,66,.045);
  font-size: .78rem;
  letter-spacing: .08em;
}

.ff-di-v2-verdict[data-decision="BUY"] .ff-di-v2-decision {
  color: var(--ff-ui-green);
  border-color: rgba(39,209,127,.3);
  background: rgba(39,209,127,.05);
}

.ff-di-v2-verdict[data-decision="WATCH"] .ff-di-v2-decision {
  color: var(--ff-ui-blue);
  border-color: rgba(97,168,255,.3);
  background: rgba(97,168,255,.05);
}

.ff-di-v2-verdict[data-decision="VERIFY"] .ff-di-v2-decision {
  color: var(--ff-ui-orange);
  border-color: rgba(246,169,22,.32);
  background: rgba(246,169,22,.05);
}

.ff-di-v2-verdict[data-decision="PASS"] .ff-di-v2-decision {
  color: var(--ff-ui-red);
  border-color: rgba(255,99,116,.28);
  background: rgba(255,99,116,.045);
}

.ff-di-v2-verdict h2,
.ff-di-v2-integrity h3,
.ff-di-v2-change h3 {
  margin: 10px 0 0;
  color: var(--ff-ui-text);
  letter-spacing: -.025em;
}

.ff-di-v2-verdict h2 {
  max-width: 880px;
  font-size: clamp(1.35rem, 2.3vw, 2.05rem);
  line-height: 1.08;
}

.ff-di-v2-verdict p,
.ff-di-v2-change p {
  max-width: 880px;
  margin: 11px 0 0;
  color: var(--ff-ui-text-soft);
  line-height: 1.58;
}

.ff-di-v2-verdict-metrics {
  display: grid;
  gap: 10px;
  align-content: start;
}

.ff-di-v2-verdict-metrics > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 50px;
  padding: 11px 13px;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(255,255,255,.018);
}

.ff-di-v2-verdict-metrics span {
  color: var(--ff-ui-muted);
  font-size: .73rem;
}

.ff-di-v2-verdict-metrics strong {
  color: var(--ff-ui-text);
  font-size: .88rem;
  text-align: right;
}

.ff-di-v2-intelligence-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 14px;
}

.ff-di-v2-integrity,
.ff-di-v2-change {
  padding: 20px;
}

.ff-di-v2-integrity > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 18px;
}

.ff-di-v2-integrity > header > strong {
  color: var(--ff-ui-gold);
  font-size: .8rem;
  white-space: nowrap;
}

.ff-di-v2-gates {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 18px;
}

.ff-di-v2-gate {
  display: grid;
  gap: 6px;
  min-height: 76px;
  padding: 11px;
  border: 1px solid var(--ff-ui-border);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(255,255,255,.016);
}

.ff-di-v2-gate[data-tone="good"] { border-color: rgba(39,209,127,.2); }
.ff-di-v2-gate[data-tone="warn"] { border-color: rgba(246,169,22,.24); }
.ff-di-v2-gate[data-tone="context"] { border-color: rgba(97,168,255,.2); }

.ff-di-v2-gate span {
  color: var(--ff-ui-muted);
  font-size: .67rem;
  line-height: 1.35;
}

.ff-di-v2-gate strong {
  color: var(--ff-ui-text);
  font-size: .8rem;
  line-height: 1.25;
}

.ff-di-v2-reasons {
  display: grid;
  gap: 7px;
  margin-top: 14px;
}

.ff-di-v2-reasons > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 9px 11px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 8px;
  background: rgba(255,255,255,.012);
}

.ff-di-v2-reasons span {
  color: var(--ff-ui-text-soft);
  font-size: .75rem;
}

.ff-di-v2-reasons strong {
  min-width: 30px;
  color: var(--ff-ui-orange);
  font-size: .78rem;
  text-align: right;
}

.ff-di-v2-reason-empty {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 13px;
  border: 1px dashed rgba(39,209,127,.22);
  border-radius: 8px;
}

.ff-di-v2-reason-empty strong { color: var(--ff-ui-text); font-size: .78rem; }
.ff-di-v2-reason-empty span { color: var(--ff-ui-muted); font-size: .72rem; line-height: 1.45; }

.ff-di-v2-evidence-link {
  display: inline-flex;
  margin-top: 14px;
  color: var(--ff-ui-gold);
  font-size: .76rem;
  font-weight: 750;
  text-decoration: none;
}

.ff-di-v2-evidence-link:hover,
.ff-di-v2-evidence-link:focus-visible {
  text-decoration: underline;
}

.ff-di-v2-change h3 {
  font-size: 1.05rem;
  line-height: 1.38;
}

.ff-di-v2-receipt {
  margin-top: 18px;
  border: 1px solid var(--ff-ui-border-strong);
  border-radius: var(--ff-ui-radius-sm);
  background: rgba(0,0,0,.14);
}

.ff-di-v2-receipt summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 14px;
  cursor: pointer;
  list-style: none;
}

.ff-di-v2-receipt summary::-webkit-details-marker { display: none; }

.ff-di-v2-receipt summary > span:first-child {
  display: grid;
  gap: 2px;
}

.ff-di-v2-receipt summary strong { color: var(--ff-ui-text); font-size: .79rem; }
.ff-di-v2-receipt summary small { color: var(--ff-ui-muted); font-size: .67rem; }
.ff-di-v2-receipt summary > span:last-child { color: var(--ff-ui-gold); }

.ff-di-v2-receipt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 0 14px 14px;
}

.ff-di-v2-receipt-grid > div {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 7px;
}

.ff-di-v2-receipt-grid span {
  color: var(--ff-ui-muted);
  font-size: .64rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.ff-di-v2-receipt-grid strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: var(--ff-ui-text-soft);
  font-size: .72rem;
}

.ff-di-v2-receipt > p {
  margin: 0;
  padding: 0 14px 14px;
  color: var(--ff-ui-muted);
  font-size: .67rem;
  line-height: 1.5;
}

.ff-di-v2-preview .ff-di-v2-verdict {
  grid-template-columns: 1fr;
  border-color: rgba(246,169,22,.22);
}

@media (max-width: 1020px) {
  .ff-di-v2-verdict,
  .ff-di-v2-intelligence-grid {
    grid-template-columns: 1fr;
  }

  .ff-di-v2-gates {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .ff-di-v2-verdict,
  .ff-di-v2-integrity,
  .ff-di-v2-change {
    padding: 16px;
  }

  .ff-di-v2-gates,
  .ff-di-v2-receipt-grid {
    grid-template-columns: 1fr;
  }

  .ff-di-v2-integrity > header {
    display: grid;
    gap: 7px;
  }

  .ff-di-v2-integrity > header > strong {
    white-space: normal;
  }
}


/* Phase 3 — signature Decision Receipt. Presentation only; server authority is unchanged. */
.ff-di-v3-receipt{
  margin-top:20px;
  border:1px solid rgba(212,175,55,.34);
  border-radius:18px;
  background:
    radial-gradient(circle at 86% 8%,rgba(212,175,55,.10),transparent 27%),
    linear-gradient(155deg,rgba(8,12,17,.995),rgba(2,5,8,.995));
  box-shadow:0 24px 58px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.025);
  overflow:hidden;
}
.ff-di-v3-receipt>summary{
  min-height:72px;
  padding:16px 18px;
  border-bottom:1px solid transparent;
  background:linear-gradient(90deg,rgba(212,175,55,.055),rgba(255,255,255,.012));
  transition:background .28s ease,border-color .28s ease;
}
.ff-di-v3-receipt[open]>summary{
  border-bottom-color:rgba(255,255,255,.075);
  background:linear-gradient(90deg,rgba(212,175,55,.09),rgba(255,255,255,.016));
}
.ff-di-v3-receipt-summary{display:flex;align-items:center;min-width:0}
.ff-di-v3-receipt-summary-copy{display:grid;gap:3px;min-width:0}
.ff-di-v3-receipt-summary-copy>strong{font-size:.94rem;letter-spacing:-.01em;color:#fff}
.ff-di-v3-receipt-summary-copy>small{font-size:.72rem;line-height:1.4;color:rgba(255,255,255,.60)}
.ff-di-v3-receipt-open{display:flex;align-items:center;gap:10px;flex:none;color:#d4af37;font-size:.72rem;font-weight:850;letter-spacing:.04em}
.ff-di-v3-receipt-open b{
  display:grid;place-items:center;width:30px;height:30px;border:1px solid rgba(212,175,55,.28);
  border-radius:50%;font-size:1rem;font-weight:500;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s ease
}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-open b{transform:rotate(45deg);background:rgba(212,175,55,.08)}

.ff-di-v3-receipt-object{
  position:relative;padding:20px;isolation:isolate;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    radial-gradient(circle at 94% 4%,rgba(212,175,55,.08),transparent 24%),
    #05090e;
  background-size:30px 30px,30px 30px,auto,auto;
}
.ff-di-v3-receipt-object::before{
  content:"";position:absolute;z-index:-1;inset:0 auto 0 0;width:5px;
  background:linear-gradient(180deg,#f0d184,#d4af37 48%,#9f7915);
  box-shadow:0 0 24px rgba(212,175,55,.16)
}
.ff-di-v3-receipt-brand{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:0 0 18px 8px;border-bottom:1px solid rgba(255,255,255,.08)
}
.ff-di-v3-receipt-brand img{display:block;width:min(260px,52%);height:auto}
.ff-di-v3-receipt-seal{
  display:grid;justify-items:end;gap:5px;padding:9px 11px;border:1px solid rgba(212,175,55,.28);
  border-radius:11px;background:rgba(212,175,55,.045)
}
.ff-di-v3-receipt-seal span{font-size:.62rem;font-weight:900;letter-spacing:.13em;color:rgba(240,209,132,.78)}
.ff-di-v3-receipt-seal strong{font-size:.93rem;letter-spacing:.08em;color:#f0d184}

.ff-di-v3-receipt-identity{padding:20px 8px 17px;border-bottom:1px solid rgba(255,255,255,.075)}
.ff-di-v3-receipt-identity>span{display:block;font-size:.63rem;font-weight:900;letter-spacing:.14em;color:#d4af37}
.ff-di-v3-receipt-identity h4{margin:7px 0 6px;font-size:clamp(1.15rem,2.2vw,1.65rem);line-height:1.15;letter-spacing:-.025em;color:#fff}
.ff-di-v3-receipt-identity p{margin:0;font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.60)}

.ff-di-v3-receipt-layers{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 8px
}
.ff-di-v3-receipt-layer{
  display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:start;
  min-height:132px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:13px;
  background:linear-gradient(150deg,rgba(255,255,255,.025),rgba(255,255,255,.008));
  transition:transform .24s ease,border-color .24s ease,background .24s ease,box-shadow .24s ease
}
.ff-di-v3-receipt-layer-number{
  display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(212,175,55,.28);
  border-radius:50%;font-size:.65rem;font-weight:900;color:#d4af37;background:rgba(212,175,55,.045)
}
.ff-di-v3-receipt-layer small{display:block;font-size:.61rem;font-weight:900;letter-spacing:.13em;color:rgba(240,209,132,.76)}
.ff-di-v3-receipt-layer strong{display:block;margin-top:6px;font-size:.84rem;line-height:1.3;color:#fff;overflow-wrap:anywhere}
.ff-di-v3-receipt-layer p{margin:7px 0 0;font-size:.73rem;line-height:1.48;color:rgba(255,255,255,.61)}
.ff-di-v3-receipt-layer[data-layer="decision"]{
  border-color:rgba(212,175,55,.34);
  background:linear-gradient(150deg,rgba(212,175,55,.075),rgba(255,255,255,.01))
}

.ff-di-v3-receipt-support{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 8px 16px
}
.ff-di-v3-receipt-support>div{
  padding:14px 15px;border:1px solid rgba(212,175,55,.16);border-radius:12px;
  background:rgba(212,175,55,.035)
}
.ff-di-v3-receipt-support span{display:block;font-size:.61rem;font-weight:900;letter-spacing:.12em;color:#d4af37}
.ff-di-v3-receipt-support p{margin:7px 0 0;font-size:.74rem;line-height:1.52;color:rgba(255,255,255,.68)}

.ff-di-v3-receipt-footer{
  display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:start;
  margin:0 8px;padding:14px 0 0;border-top:1px solid rgba(255,255,255,.075)
}
.ff-di-v3-receipt-footer>div{display:grid;gap:3px;min-width:110px}
.ff-di-v3-receipt-footer span{font-size:.59rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.43)}
.ff-di-v3-receipt-footer strong{font-size:.7rem;color:rgba(255,255,255,.78);overflow-wrap:anywhere}
.ff-di-v3-receipt-footer>p{margin:0;font-size:.68rem;line-height:1.5;color:rgba(255,255,255,.49)}
.ff-di-v3-receipt-machine-values{display:none!important}

/* Phase 4 — motion, timing, responsive behavior, and accessibility polish. */
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer{
  animation:ffDecisionReceiptLayerReveal .42s cubic-bezier(.2,.8,.2,1) both
}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(1){animation-delay:45ms}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(2){animation-delay:90ms}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(3){animation-delay:135ms}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(4){animation-delay:180ms}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(5){animation-delay:225ms}
.ff-di-v3-receipt[open] .ff-di-v3-receipt-layer:nth-child(6){animation-delay:270ms}
@keyframes ffDecisionReceiptLayerReveal{
  from{opacity:0;transform:translateY(10px) scale(.992)}
  to{opacity:1;transform:none}
}
@media (hover:hover){
  .ff-di-v3-receipt-layer:hover{
    transform:translateY(-2px);border-color:rgba(212,175,55,.25);
    box-shadow:0 12px 26px rgba(0,0,0,.18)
  }
}

@media (max-width:1020px){
  .ff-di-v3-receipt-footer{grid-template-columns:1fr 1fr}
  .ff-di-v3-receipt-footer>p{grid-column:1/-1}
}
@media (max-width:760px){
  .ff-di-v3-receipt-object{padding:17px}
  .ff-di-v3-receipt-layers,.ff-di-v3-receipt-support{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ff-di-v3-receipt{border-radius:15px}
  .ff-di-v3-receipt>summary{min-height:68px;padding:14px 15px}
  .ff-di-v3-receipt-open>span{display:none}
  .ff-di-v3-receipt-object{padding:15px 13px 16px}
  .ff-di-v3-receipt-brand{display:grid;justify-items:start;padding-left:8px}
  .ff-di-v3-receipt-brand img{width:min(230px,78%)}
  .ff-di-v3-receipt-seal{justify-items:start}
  .ff-di-v3-receipt-identity{padding-left:8px;padding-right:8px}
  .ff-di-v3-receipt-layers{padding:13px 8px}
  .ff-di-v3-receipt-layer{min-height:0;padding:13px}
  .ff-di-v3-receipt-support{padding-left:8px;padding-right:8px}
  .ff-di-v3-receipt-footer{grid-template-columns:1fr;margin:0 8px}
  .ff-di-v3-receipt-footer>p{grid-column:auto}
}
@media (max-width:420px){
  .ff-di-v3-receipt-layer{grid-template-columns:32px minmax(0,1fr);gap:9px}
  .ff-di-v3-receipt-layer-number{width:30px;height:30px}
}
@media (prefers-reduced-motion:reduce){
  .ff-di-v3-receipt>summary,
  .ff-di-v3-receipt-open b,
  .ff-di-v3-receipt-layer{transition:none!important}
  .ff-di-v3-receipt[open] .ff-di-v3-receipt-layer{animation:none!important;opacity:1!important;transform:none!important}
}

/* customer-cdi-signal-stack-v1.css */
/* Customer CDI Signal Stack v2 — presentation only; consumes saved/server-returned values. */
.ff-cdi-stack{
  margin:18px 0;
  overflow:hidden;
  border:1px solid rgba(212,175,55,.26);
  border-radius:20px;
  background:
    radial-gradient(circle at 82% 0%,rgba(212,175,55,.08),transparent 32%),
    linear-gradient(160deg,rgba(14,18,24,.99),rgba(5,7,10,.99));
  box-shadow:0 24px 64px rgba(0,0,0,.30);
}
.ff-cdi-verdict{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);
  gap:24px;
  align-items:end;
  padding:25px 28px 22px;
  border-bottom:1px solid rgba(255,255,255,.075);
}
.ff-cdi-kicker{
  display:block;
  margin-bottom:7px;
  color:#f0ca58;
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.1em;
}
.ff-cdi-verdict h2{
  max-width:820px;
  margin:0;
  color:#fff;
  font-size:clamp(1.9rem,3.6vw,2.8rem);
  line-height:1.04;
  letter-spacing:-.035em;
}
.ff-cdi-verdict p{
  max-width:760px;
  margin:10px 0 0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
  line-height:1.58;
}
.ff-cdi-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:13px;
}
.ff-cdi-meta span{
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:rgba(255,255,255,.63);
  font-size:.7rem;
  font-weight:750;
}
.ff-cdi-meta span:first-child{
  border-color:rgba(212,175,55,.28);
  color:#f0ca58;
}
.ff-cdi-card-id{
  padding:14px 15px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.ff-cdi-card-id span{
  display:block;
  margin-bottom:5px;
  color:rgba(255,255,255,.5);
  font-size:.69rem;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ff-cdi-card-id strong{
  display:block;
  color:#fff;
  font-size:.93rem;
  line-height:1.4;
}
.ff-cdi-start{padding:20px 28px 10px}
.ff-cdi-start-button{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  width:100%;
  padding:15px 17px;
  border:1px solid rgba(212,175,55,.5);
  border-radius:13px;
  background:linear-gradient(90deg,rgba(212,175,55,.15),rgba(212,175,55,.035));
  color:#fff;
  font:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.ff-cdi-start-button:hover,
.ff-cdi-start-button:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(240,202,88,.72);
  background:linear-gradient(90deg,rgba(212,175,55,.20),rgba(212,175,55,.05));
}
.ff-cdi-start-button span{
  flex:none;
  padding:6px 8px;
  border-radius:7px;
  background:#d4af37;
  color:#07090c;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.08em;
}
.ff-cdi-start-button strong{
  flex:1;
  color:#fff;
  font-size:.92rem;
}
.ff-cdi-start>small{
  display:block;
  margin-top:7px;
  color:rgba(255,255,255,.58);
  font-size:.76rem;
}
.ff-cdi-reasoning[hidden]{display:none!important}
.ff-cdi-reasoning{
  border-top:1px solid rgba(255,255,255,.065);
  background:rgba(3,8,18,.18);
}
.ff-cdi-caption{
  min-height:45px;
  margin:5px 28px 13px;
  padding:11px 13px;
  border-left:3px solid #d4af37;
  background:rgba(212,175,55,.055);
  color:rgba(255,255,255,.74);
  font-size:.86rem;
  line-height:1.45;
}
.ff-cdi-signals{
  position:relative;
  display:grid;
  gap:8px;
  padding:0 28px 18px;
}
.ff-cdi-signals::before{
  content:"";
  position:absolute;
  top:27px;
  bottom:45px;
  left:50px;
  width:1px;
  background:rgba(212,175,55,.15);
}
.ff-cdi-signal{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:36px 72px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(255,255,255,.018);
  opacity:.48;
  transform:translateY(4px);
  transition:opacity .24s ease,transform .24s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.ff-cdi-signal.is-live,
.ff-cdi-signal.is-complete{
  opacity:1;
  transform:translateY(0);
}
.ff-cdi-signal.is-live{
  border-color:rgba(212,175,55,.46);
  background:rgba(212,175,55,.065);
  box-shadow:inset 3px 0 0 #d4af37,0 10px 28px rgba(0,0,0,.16);
}
.ff-cdi-signal-index{
  color:rgba(255,255,255,.44);
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.08em;
}
.ff-cdi-signal-copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.ff-cdi-signal-copy span{
  color:#f0ca58;
  font-size:.68rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.ff-cdi-signal-copy strong{
  color:#fff;
  font-size:.93rem;
  line-height:1.33;
}
.ff-cdi-signal-copy small{
  color:rgba(255,255,255,.66);
  font-size:.79rem;
  line-height:1.43;
}
.ff-cdi-signal-state{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:rgba(89,215,150,.11);
  color:#59d796;
  font-size:.7rem;
  font-weight:900;
  opacity:0;
  transform:scale(.7);
  transition:opacity .2s ease,transform .2s ease;
}
.ff-cdi-signal.is-complete .ff-cdi-signal-state{
  opacity:1;
  transform:scale(1);
}
.ff-cdi-visual{
  position:relative;
  display:grid;
  place-items:center;
  width:68px;
  min-height:42px;
}
.ff-cdi-visual-exact{
  display:flex;
  justify-content:center;
  gap:5px;
}
.ff-cdi-visual-exact i{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border:1px solid rgba(89,215,150,.46);
  border-radius:5px;
  background:rgba(89,215,150,.08);
  color:#59d796;
  font-size:.68rem;
  font-style:normal;
  font-weight:900;
  transition:transform .22s ease,opacity .22s ease;
}
.ff-cdi-visual-exact[data-tone="review"] i{
  border-color:rgba(241,185,76,.44);
  background:rgba(241,185,76,.08);
  color:#f1b94c;
}
.ff-cdi-signal.is-live .ff-cdi-visual-exact i{animation:ff-cdi-check-pop .34s ease both}
.ff-cdi-signal.is-live .ff-cdi-visual-exact i:nth-child(2){animation-delay:.08s}
.ff-cdi-signal.is-live .ff-cdi-visual-exact i:nth-child(3){animation-delay:.16s}
.ff-cdi-visual-sales{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:4px;
  max-width:58px;
}
.ff-cdi-visual-sales i{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
}
.ff-cdi-visual-sales .is-kept{background:#59d796}
.ff-cdi-visual-sales .is-out{background:rgba(242,118,112,.56)}
.ff-cdi-visual-sales .is-neutral{background:rgba(255,255,255,.16)}
.ff-cdi-signal.is-live .ff-cdi-visual-sales i{animation:ff-cdi-dot-pop .28s ease both}
.ff-cdi-visual-price{
  display:flex;
  align-items:end;
  justify-content:center;
  gap:8px;
  height:42px;
  padding-bottom:4px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.ff-cdi-visual-price i{
  display:block;
  width:16px;
  min-height:4px;
  border-radius:4px 4px 1px 1px;
  transform-origin:bottom;
}
.ff-cdi-visual-price i[data-kind="ask"]{
  height:var(--ask,40%);
  background:#f0ca58;
}
.ff-cdi-visual-price i[data-kind="supported"]{
  height:var(--supported,55%);
  background:rgba(131,181,255,.9);
}
.ff-cdi-visual-price b{display:none}
.ff-cdi-visual-price.is-unavailable{
  align-items:center;
  border-bottom-style:dashed;
}
.ff-cdi-visual-price.is-unavailable i{
  height:6px;
  width:20px;
  background:rgba(255,255,255,.12);
}
.ff-cdi-visual-price.is-unavailable b{
  display:block;
  color:rgba(255,255,255,.5);
  font-size:.8rem;
}
.ff-cdi-signal.is-live .ff-cdi-visual-price i{animation:ff-cdi-bar-rise .52s ease both}
.ff-cdi-visual-uncertainty{
  display:flex;
  gap:8px;
  align-items:center;
}
.ff-cdi-mini-ring{
  position:relative;
  width:34px;
  height:34px;
  border-radius:50%;
  background:conic-gradient(#f0ca58 calc(var(--confidence) * 1%),rgba(255,255,255,.10) 0);
}
.ff-cdi-mini-ring::after{
  content:"";
  position:absolute;
  inset:5px;
  border-radius:50%;
  background:#0b1016;
}
.ff-cdi-mini-risk{
  display:block;
  width:28px;
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(89,215,150,.18),rgba(241,185,76,.18),rgba(242,118,112,.18));
}
.ff-cdi-mini-risk i{
  display:block;
  width:calc(var(--risk) * 1%);
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#59d796,#f1b94c,#f27670);
  transform-origin:left;
}
.ff-cdi-signal.is-live .ff-cdi-mini-ring{animation:ff-cdi-ring-pop .4s ease both}
.ff-cdi-signal.is-live .ff-cdi-mini-risk i{animation:ff-cdi-risk-fill .5s ease both}
@keyframes ff-cdi-check-pop{from{transform:scale(.55);opacity:.2}to{transform:scale(1);opacity:1}}
@keyframes ff-cdi-dot-pop{from{transform:scale(.45);opacity:.2}to{transform:scale(1);opacity:1}}
@keyframes ff-cdi-bar-rise{from{transform:scaleY(.12)}to{transform:scaleY(1)}}
@keyframes ff-cdi-ring-pop{from{transform:scale(.72);opacity:.35}to{transform:scale(1);opacity:1}}
@keyframes ff-cdi-risk-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ff-cdi-after{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  align-items:center;
  padding:15px 28px 20px;
  border-top:1px solid rgba(255,255,255,.07);
}
.ff-cdi-secondary,
.ff-cdi-replay{
  min-height:40px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#fff;
  font:inherit;
  font-size:.76rem;
  font-weight:850;
  cursor:pointer;
}
.ff-cdi-secondary:hover,
.ff-cdi-secondary:focus-visible,
.ff-cdi-replay:hover,
.ff-cdi-replay:focus-visible{
  border-color:rgba(212,175,55,.46);
  color:#f0ca58;
}
.ff-cdi-deep{
  margin:16px 0;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.014);
  overflow:hidden;
}
.ff-cdi-deep>summary{
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  min-height:64px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.ff-cdi-deep>summary::-webkit-details-marker{display:none}
.ff-cdi-deep>summary span{display:grid;gap:3px}
.ff-cdi-deep>summary strong{color:#fff;font-size:.86rem}
.ff-cdi-deep>summary small{color:rgba(255,255,255,.58);font-size:.75rem}
.ff-cdi-deep>summary b{color:#f0ca58;font-size:1rem;font-weight:500}
.ff-cdi-deep[open]>summary{border-bottom:1px solid rgba(255,255,255,.07)}
.ff-cdi-deep[open]>summary b{transform:rotate(45deg)}
.ff-cdi-evidence-guide{
  margin:14px 0 18px;
  border:1px solid rgba(212,175,55,.20);
  border-radius:11px;
  background:rgba(212,175,55,.028);
}
.ff-cdi-evidence-guide>summary{
  cursor:pointer;
  list-style:none;
  display:grid;
  gap:5px;
  padding:13px 15px;
  color:#fff;
  font-size:.9rem;
  line-height:1.45;
}
.ff-cdi-evidence-guide>summary::-webkit-details-marker{display:none}
.ff-cdi-evidence-guide>summary strong{
  color:#fff;
  font-size:.9rem;
}
.ff-cdi-evidence-guide>summary span{
  color:rgba(255,255,255,.64);
  font-size:.9rem;
  font-weight:500;
  letter-spacing:0;
}
.ff-cdi-returning{
  display:flex;
  justify-content:space-between;
  gap:18px;
  margin:12px 0 16px;
  padding:13px 15px;
  border:1px solid rgba(212,175,55,.20);
  border-radius:11px;
  background:rgba(212,175,55,.035);
  font-size:.84rem;
}
.ff-cdi-returning strong{color:#fff}
.ff-cdi-returning span{color:rgba(255,255,255,.64)}
.ff-cdi-outcome-guide{
  margin:14px 0 18px;
  padding:17px;
  border:1px solid rgba(212,175,55,.20);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(212,175,55,.05),rgba(255,255,255,.012));
}
.ff-cdi-outcome-guide header{
  max-width:760px;
}
.ff-cdi-outcome-guide header strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:1.08rem;
}
.ff-cdi-outcome-guide header p{
  margin:5px 0 0;
  color:rgba(255,255,255,.66);
  font-size:.82rem;
  line-height:1.5;
}
.ff-cdi-outcome-flow{
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:8px;
  align-items:stretch;
  margin-top:0;
}
.ff-cdi-outcome-flow article{
  min-width:0;
  padding:12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:10px;
  background:rgba(255,255,255,.018);
}
.ff-cdi-outcome-flow article[data-state="baseline"]{
  border-color:rgba(212,175,55,.32);
  background:rgba(212,175,55,.045);
}
.ff-cdi-outcome-flow article b{
  display:block;
  color:#f0ca58;
  font-size:.71rem;
  letter-spacing:.08em;
}
.ff-cdi-outcome-flow article strong{
  display:block;
  margin-top:5px;
  color:#fff;
  font-size:.83rem;
}
.ff-cdi-outcome-flow article small{
  display:block;
  margin-top:4px;
  color:rgba(255,255,255,.58);
  font-size:.72rem;
  line-height:1.4;
}
.ff-cdi-outcome-flow>i{
  display:grid;
  place-items:center;
  color:rgba(212,175,55,.7);
  font-style:normal;
}
.ff-cdi-receipt-arrival{
  animation:ff-cdi-receipt-arrival .9s ease both;
}
@keyframes ff-cdi-receipt-arrival{
  0%{box-shadow:0 0 0 0 rgba(212,175,55,.0)}
  38%{box-shadow:0 0 0 3px rgba(212,175,55,.24),0 16px 42px rgba(0,0,0,.22)}
  100%{box-shadow:0 0 0 0 rgba(212,175,55,.0)}
}
.ff-cdi-stack[data-decision="BUY"]{border-color:rgba(89,215,150,.24)}
.ff-cdi-stack[data-decision="WATCH"]{border-color:rgba(131,181,255,.24)}
.ff-cdi-stack[data-decision="VERIFY"]{border-color:rgba(212,175,55,.30)}
.ff-cdi-stack[data-decision="PASS"]{border-color:rgba(242,118,112,.22)}
@media (max-width:760px){
  .ff-cdi-verdict{
    grid-template-columns:1fr;
    padding:21px 20px 18px;
  }
  .ff-cdi-verdict h2{font-size:clamp(1.8rem,8vw,2.45rem)}
  .ff-cdi-start{padding:17px 20px 9px}
  .ff-cdi-caption{margin:5px 20px 12px}
  .ff-cdi-signals{padding:0 20px 16px}
  .ff-cdi-signals::before{left:39px}
  .ff-cdi-signal{
    grid-template-columns:30px 62px minmax(0,1fr);
    gap:10px;
    padding:13px 12px;
  }
  .ff-cdi-signal-state{
    grid-column:3;
    justify-self:start;
  }
  .ff-cdi-visual{width:58px}
  .ff-cdi-after{padding:14px 20px 18px}
  .ff-cdi-evidence-guide{grid-template-columns:1fr}
  .ff-cdi-outcome-flow{
    grid-template-columns:1fr 1fr;
  }
  .ff-cdi-outcome-flow>i{display:none}
}
@media (max-width:480px){
  .ff-cdi-stack{border-radius:16px}
  .ff-cdi-verdict{padding:19px 16px 16px}
  .ff-cdi-start{padding:15px 16px 8px}
  .ff-cdi-start-button{
    display:grid;
    justify-content:start;
    gap:8px;
  }
  .ff-cdi-caption{margin:5px 16px 11px}
  .ff-cdi-signals{
    padding:0 16px 14px;
  }
  .ff-cdi-signals::before{left:31px}
  .ff-cdi-signal{
    grid-template-columns:24px 54px minmax(0,1fr);
    gap:8px;
    padding:12px 10px;
  }
  .ff-cdi-visual{display:grid;width:50px}
  .ff-cdi-visual-exact{display:flex}
  .ff-cdi-visual-exact i{
    width:16px;
    height:16px;
    font-size:.58rem;
  }
  .ff-cdi-visual-sales{display:flex;max-width:48px}
  .ff-cdi-visual-sales i{width:8px;height:8px}
  .ff-cdi-visual-price{display:flex}
  .ff-cdi-visual-price i{width:12px}
  .ff-cdi-visual-uncertainty{display:flex}
  .ff-cdi-mini-ring{width:28px;height:28px}
  .ff-cdi-mini-risk{width:20px}
  .ff-cdi-after{
    display:grid;
    padding:13px 16px 17px;
  }
  .ff-cdi-secondary,.ff-cdi-replay{
    width:100%;
    text-align:center;
  }
  .ff-cdi-returning{display:grid}
  .ff-cdi-outcome-flow{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .ff-cdi-start-button,
  .ff-cdi-receipt-arrival,
  .ff-cdi-signal,
  .ff-cdi-signal-state,
  .ff-cdi-deep>summary b,
  .ff-cdi-visual-exact i,
  .ff-cdi-visual-sales i,
  .ff-cdi-visual-price i,
  .ff-cdi-mini-ring,
  .ff-cdi-mini-risk i{
    transition:none!important;
    animation:none!important;
  }
  .ff-cdi-signal{transform:none!important}
}
/* guided-mode-layout-fix-v1.css */
/* FlipForge Guided Mode desktop layout fix v1
 * Presentation only. Keeps the larger customer readability scale intact while
 * preventing the fixed guide from covering primary workspace content.
 */

/* Search-first private-beta lock.
 * Guided Mode remains available as the contextual side panel, but the legacy
 * first-run welcome modal may not cover or lock the customer workspace after
 * sign-in. A direct Discover link must expose the card-entry workflow
 * immediately instead of forcing onboarding instructions first.
 */
.ff-guide-modal-backdrop {
  display: none !important;
}

body.ff-guide-modal-open {
  overflow: auto !important;
}

@media (min-width: 1480px) {
  body:has(.ff-guide-panel) #main-content {
    padding-right: 414px;
  }

  body:has(.ff-guide-panel) .ff-guide-panel {
    width: 360px;
    max-height: calc(100vh - 116px);
    overflow: auto;
  }
}

@media (min-width: 1180px) and (max-width: 1479px) {
  body:has(.ff-guide-panel) .ff-guide-panel {
    width: min(330px, calc(100vw - 28px));
    max-height: calc(100vh - 104px);
    overflow: auto;
  }
}

/* Workspace clearance v2 (2026-10-15). The open guide is a fixed panel that covered the right-hand column of the
 * workspace, where the Evaluate submit button sits (at 1280x900 a mouse click on "Evaluate and save" landed on the
 * guide's route navigation). The reservations above (and in guided-mode-compact-v1.css) never applied:
 * customer-layout-system-v2.css sets "#main-content{padding:...!important}", which beats a non-important rule of
 * any specificity. These rules are !important so their more specific selector wins. Presentation only: the guide's
 * content, steps and actions are unchanged, and no evaluation behaviour changes.
 *
 * >=1480px: the panel is 330px wide (guided-mode-compact-v1.css) at 18px from the edge; reserve it plus a gap. */
@media (min-width: 1480px) {
  body:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content {
    padding-right: 382px !important;
  }
}

/* 1180-1479px: keep the side panel (310px) and reserve its column the same way. */
@media (min-width: 1180px) and (max-width: 1479px) {
  body:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content {
    padding-right: calc(min(310px, 100vw - 28px) + 42px) !important;
  }
}

/* Workspace clearance v3 (2026-10-26). The reservations above applied only to Evaluate and Discover, so on every
 * other page (Tracking with its Sell Watch panel, Portfolio, Forge Heat, Dashboard, Saved Decisions...) the open guide
 * still covered the right-hand column on laptop and desktop screens. Reserve the guide's column on every page while
 * the panel is open. Minimized or closed, nothing is reserved and pages use their full width. Presentation only. */
@media (min-width: 1480px) {
  body:has(.ff-guide-panel) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel) #main-content {
    padding-right: 382px !important;
  }
}

@media (min-width: 1180px) and (max-width: 1479px) {
  body:has(.ff-guide-panel) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel) #main-content {
    padding-right: calc(min(310px, 100vw - 28px) + 42px) !important;
  }
}

/* 761-1179px: a reserved side column would leave too little room for the workspace, so the open guide docks as a
 * bottom sheet (as on phones) and the workspace gets matching bottom room, so its last controls scroll clear of it. */
@media (min-width: 761px) and (max-width: 1179px) {
  /* !important: customer-layout-system-v2.css forces ".ff-guide-panel{max-height:calc(100vh - 28px)!important}". */
  body:has(.ff-guide-panel) .ff-guide-panel {
    left: 12px !important;
    right: 12px !important;
    bottom: 12px !important;
    top: auto !important;
    width: auto !important;
    max-height: 34vh !important;
    overflow: auto !important;
  }

  body:has(.ff-guide-panel) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content {
    padding-bottom: calc(34vh + 36px) !important;
  }
}

/* Phones: the guide starts minimized to its launcher (82px of bottom room is already reserved). When the customer
 * opens it, it is a 30vh bottom sheet (guided-mode-compact-v1.css); give the workspace the same bottom room. */
@media (max-width: 760px) {
  body:has(.ff-guide-panel) #main-content,
  body.ff-full-customer-app:has(.ff-guide-panel):has(#main-content [data-staging-evaluation-form], #main-content [data-customer-discovery-form]) #main-content {
    padding-bottom: calc(30vh + 28px) !important;
  }
}

/* The 761-1179px bottom sheet must not obscure the sidebar.
 * Between 901px and 1179px the customer sidebar remains docked; confine
 * the guide to the workspace, never across the sidebar's account/navigation.
 */
@media (min-width: 901px) and (max-width: 1179px) {
  body:has(.ff-guide-panel) .ff-guide-panel {
    left: calc(var(--ff-app-sidebar-width, 272px) + 12px) !important;
  }
}

/* At drawer widths, navigation must take precedence over the guide. This
 * mirrors the existing <=760px behavior at the tablet breakpoint as well.
 */
@media (min-width: 761px) and (max-width: 900px) {
  body.ff-mobile-nav-open .ff-guide-panel,
  body:has(.app-shell[data-nav-open="true"]) .ff-guide-panel {
    display: none !important;
  }
}

/* customer-readability.css */
/* FlipForge customer readability system
 * Presentation only. Java/Core remains the sole intelligence authority.
 * This is the single customer-facing typography/readability owner.
 */
:root {
  --ff-type-xs: .875rem;   /* 14px absolute customer text floor */
  --ff-type-sm: .9375rem;  /* 15px supporting copy */
  --ff-type-md: 1rem;      /* 16px normal reading copy */
  --ff-type-lg: 1.125rem;  /* 18px emphasis */
  --ff-type-xl: 1.375rem;  /* 22px section emphasis */
  --ff-text-secondary: #d7dde5;
  --ff-text-muted: #cbd3dd;
  --ff-text-subtle: #c0cad6;
  --text-soft: var(--ff-text-secondary);
  --muted: var(--ff-text-muted);
  --ff-guide-muted: var(--ff-text-muted);
}

html,
body {
  font-size: 16px;
  line-height: 1.55;
}

/* Shell and global navigation */
.prototype-banner,
.prototype-banner strong,
.prototype-banner span,
.prototype-chip,
.forge-nav-state,
.brand-tagline {
  font-size: var(--ff-type-xs) !important;
}

.primary-nav a {
  min-height: 46px;
  font-size: var(--ff-type-sm) !important;
  line-height: 1.3;
}

.primary-nav a small,
.primary-nav .nav-description,
.ff-secondary-nav-link,
.ff-advanced-nav > summary {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.4;
}

.ff-advanced-nav > summary {
  min-height: 42px;
}

.plan-card .eyebrow,
.plan-card strong,
.usage-row,
.plan-card small,
.account-link strong,
.account-link small,
.profile-copy strong,
.profile-copy small {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.45;
}

.global-search input {
  font-size: var(--ff-type-md) !important;
}

kbd,
.date-button {
  font-size: var(--ff-type-xs) !important;
}

/* Main customer workspace */
#main-content .page-heading .eyebrow,
#main-content .forge-heat-title-row .eyebrow,
#main-content .panel .eyebrow,
#main-content .eyebrow,
.eyebrow {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.4;
}

#main-content .page-heading p,
#main-content .forge-heat-lead,
#main-content .customer-lifecycle-page > header p,
#main-content .customer-portfolio-page > header p,
#main-content .customer-management-page > header p {
  font-size: var(--ff-type-md) !important;
  line-height: 1.55;
}

#main-content .panel-header h2 {
  font-size: var(--ff-type-lg);
}

#main-content .panel-header p,
.panel-header p,
#main-content .boundary-note,
#main-content .customer-lifecycle-notice,
#main-content .customer-portfolio-boundaries p,
#main-content .customer-portfolio-key-grid strong {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.52;
}

#main-content .panel-body,
#main-content .panel-body p,
#main-content .panel-body li,
#main-content .customer-lifecycle-page p,
#main-content .customer-portfolio-page p,
#main-content .customer-management-page p {
  font-size: var(--ff-type-sm);
  line-height: 1.52;
}

#main-content small,
#main-content .panel-link,
#main-content .metric-top,
#main-content .metric-note,
#main-content .metric-top > span:first-child,
#main-content .status-pill,
#main-content .staging-status {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.button,
#main-content button,
#main-content input,
#main-content select,
#main-content textarea {
  font-size: var(--ff-type-sm) !important;
}

.button,
#main-content button {
  min-height: 44px;
  padding-inline: 16px;
}

#main-content input,
#main-content select,
#main-content textarea {
  min-height: 46px;
  line-height: 1.4;
}

/* Tables and dense evidence surfaces */
th,
#main-content th {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.42;
}

td,
#main-content td,
.card-cell strong {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.5;
}

.card-cell small,
.customer-portfolio-table small,
.customer-portfolio-boundaries small {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.customer-dashboard-metrics span,
.customer-management-metrics span,
.customer-portfolio-metrics span,
.customer-portfolio-key-grid span,
.ff-v2-table th,
.ff-v2-table td small,
.ff-evidence-metric span,
.forge-heat-summary span,
.forge-heat-intelligence-bar span,
.forge-heat-metrics span {
  font-size: var(--ff-type-xs) !important;
}

/* Lifecycle / Tracking */
.customer-lifecycle-fields label,
.customer-lifecycle-submit small,
.customer-lifecycle-history span,
.customer-lifecycle-history p,
.customer-lifecycle-alerts p {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.customer-lifecycle-fields input,
.customer-lifecycle-fields select {
  min-height: 48px;
  font-size: var(--ff-type-md) !important;
}

.customer-lifecycle-history strong,
.customer-lifecycle-alerts h3 {
  font-size: var(--ff-type-md) !important;
}

/* Decision Intelligence */
.ff-di-hero-copy .eyebrow,
.ff-di-state-top span,
.ff-di-state-meta span,
.ff-di-mini-label,
.ff-di-control label,
.ff-di-state-value div span,
.ff-di-authority strong,
.ff-di-pop-column span,
.ff-di-compare-metrics span,
.ff-di-decision {
  font-size: var(--ff-type-xs) !important;
}

.ff-di-hero-copy p {
  font-size: var(--ff-type-md) !important;
  line-height: 1.55;
}

.ff-di-card h2 {
  font-size: 1.1875rem;
}

.ff-di-card > p,
.ff-di-bar-row > span,
.ff-di-factor-head span,
.ff-di-evidence-head span,
.ff-di-factor-head strong,
.ff-di-evidence-head strong,
.ff-di-authority span,
.ff-di-gap span {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.5;
}

.ff-di-bar-row > strong,
.ff-di-pop-column strong,
.ff-di-compare-metrics strong {
  font-size: var(--ff-type-md) !important;
}

.ff-di-compare-side h3 {
  font-size: var(--ff-type-md);
}

/* Dashboard, charts, state cards, and compact utility surfaces */
.signal-label,
.signal-value,
.check-item strong,
.activity-item strong,
.check-item small,
.check-item > span:last-child,
.activity-item small,
.activity-time,
.hero-price span,
.key-value span,
.readiness-ring-copy span,
.chart-legend,
.chart-tooltip,
.chart-axis {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.hero-title p {
  font-size: var(--ff-type-sm) !important;
}

.key-value strong {
  font-size: var(--ff-type-md) !important;
}

/* Forge Heat */
.forge-heat-title-row .eyebrow,
.forge-heat-boundary strong,
.forge-heat-boundary small,
.forge-heat-summary span,
.forge-heat-intelligence-bar span,
.forge-heat-tabs button,
.forge-heat-section-label,
.forge-heat-card-head .forge-heat-kicker,
.forge-heat-card-head p,
.forge-heat-score span,
.forge-heat-card-foot span,
.forge-heat-empty p,
.forge-heat-history .eyebrow {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.forge-heat-boundary span,
.forge-heat-card li,
.forge-heat-history p,
.forge-heat-empty strong {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.5;
}

/* Guided Mode */
.ff-guide-launcher,
.ff-guide-kicker,
.ff-guide-location,
.ff-guide-body > p,
.ff-guide-why,
.ff-guide-action,
.ff-guide-progress-top,
.ff-guide-footer,
.ff-guide-footer button,
.ff-discover-coach span,
.ff-discover-coach p,
.ff-discover-results-label span,
.ff-guide-modal .ff-guide-kicker,
.ff-guide-modal-step span,
.ff-guide-modal-step p,
.ff-guide-modal-note {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.5;
}

.ff-guide-head strong {
  font-size: var(--ff-type-md) !important;
}

.ff-guide-body h2 {
  font-size: 1.25rem !important;
  line-height: 1.22;
}

.ff-guide-body > p,
.ff-guide-action,
.ff-discover-coach p,
.ff-guide-modal-step strong,
.ff-guide-modal .ff-guide-intro {
  font-size: var(--ff-type-sm) !important;
}

.ff-guide-action {
  min-height: 44px;
}

.ff-discover-results-label strong,
.ff-guide-modal-step strong {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.45;
}

.ff-guide-icon-button {
  font-size: var(--ff-type-md) !important;
}

.brand-tagline {
  color: rgba(238, 241, 245, .92);
}

.forge-nav-state {
  color: rgba(238, 241, 245, .9) !important;
}

.ff-guide-icon-button,
.ff-guide-location,
.ff-guide-progress-top,
.ff-guide-footer,
.ff-guide-footer button,
.ff-guide-modal-note {
  color: var(--ff-text-subtle);
}

.ff-guide-why,
.ff-guide-modal-step p,
.ff-discover-results-label span {
  color: var(--ff-text-muted);
}

/* Commercial shell overrides previously kept in a separate typography patch. */
.ff-commercial-shell .brand-block {
  padding: 17px 8px 14px 16px;
  overflow: hidden;
}

.ff-commercial-shell .brand {
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 8px;
  max-width: 100%;
}

.ff-commercial-shell .brand-copy {
  min-width: 0;
  max-width: 100%;
}

.ff-commercial-shell .brand-mark,
.ff-commercial-shell .brand-mark.ff-approved-brand-mark img {
  width: 40px;
  height: 40px;
}

.ff-commercial-shell .brand-name {
  font-size: 1.125rem !important;
  letter-spacing: .08em;
  white-space: nowrap;
}

.ff-commercial-shell .brand-subtitle {
  margin-top: 5px;
  font-size: var(--ff-type-xs) !important;
  letter-spacing: .055em;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ff-commercial-shell .brand-tagline {
  max-width: 100%;
  font-size: var(--ff-type-xs) !important;
  letter-spacing: .01em;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}

.ff-commercial-shell .prototype-chip {
  margin: 10px 0 0 48px;
  width: auto;
  max-width: calc(100% - 48px);
  padding: 5px 8px;
  font-size: var(--ff-type-xs) !important;
  line-height: 1.3;
  white-space: normal;
}

.ff-commercial-shell .primary-nav a {
  min-height: 54px;
  font-size: var(--ff-type-sm) !important;
}

.ff-commercial-shell .primary-nav a::after {
  margin-top: 3px;
  color: var(--ff-text-subtle);
  font-size: var(--ff-type-xs) !important;
  line-height: 1.3;
}

.ff-commercial-shell .primary-nav a > span:first-child {
  font-size: var(--ff-type-sm) !important;
}

.ff-data-freshness,
.ff-kpi-label,
.ff-kpi-note,
.ff-v2-panel-head p,
.ff-decision-kicker,
.ff-recommendation-pill,
.ff-confidence-ring-copy span,
.ff-factor-row,
.ff-factor-row strong,
.ff-decision-stats span,
.ff-donut-copy span,
.ff-distribution-row,
.ff-distribution-row strong,
.ff-market-placeholder p,
.ff-v2-table th,
.ff-v2-table td,
.ff-attention-item strong,
.ff-attention-item small,
.ff-dashboard-boundary {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.45;
}

.ff-v2-panel-head h2,
.ff-decision-stats strong,
.ff-source-listing-copy strong {
  font-size: var(--ff-type-md) !important;
}

.ff-dashboard-head p,
.ff-decision-identity p,
.ff-market-placeholder p {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.5;
}

.ff-v2-table td {
  font-size: var(--ff-type-sm) !important;
  line-height: 1.5;
}

.ff-market-baseline::after {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.3;
}

.ff-commercial-shell .ff-source-listing-copy small,
.ff-commercial-shell .ff-source-listing-copy span,
.ff-commercial-shell .ff-source-listing-verified {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.4;
}

.ff-commercial-shell .ff-source-listing-copy strong {
  font-size: var(--ff-type-sm) !important;
}

.ff-guide-highlight::after {
  font-size: var(--ff-type-xs) !important;
  line-height: 1.15;
}

@media (max-width: 900px) {
  .ff-commercial-shell .brand-block {
    padding-left: 14px;
    padding-right: 8px;
  }

  .ff-commercial-shell .primary-nav a {
    min-height: 56px;
  }
}

@media (max-width: 760px) {
  html,
  body {
    font-size: 16px;
  }

  #main-content {
    padding: 20px 16px;
  }

  #main-content .page-heading p,
  #main-content .forge-heat-lead {
    font-size: var(--ff-type-md) !important;
  }

  .primary-nav a {
    font-size: var(--ff-type-md) !important;
  }

  .button,
  #main-content button {
    min-height: 46px;
    font-size: var(--ff-type-sm) !important;
  }

  td,
  #main-content td {
    font-size: var(--ff-type-sm) !important;
  }

  .ff-guide-panel {
    font-size: var(--ff-type-md);
  }
}

/* sidebar-nav-description-layout-fix-v1.css */
/* FlipForge sidebar navigation description layout fix.
 * Presentation only. Prevents readable two-line nav descriptions from colliding
 * with adjacent navigation rows after the customer typography rebalance.
 */

.ff-commercial-shell .primary-nav a {
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  align-content: center;
  min-height: 64px;
  height: auto;
  padding-top: 9px;
  padding-bottom: 9px;
  row-gap: 2px;
}

.ff-commercial-shell .primary-nav a > span:first-child.ff-nav-icon {
  grid-column: 1;
  grid-row: 1 / -1;
  align-self: center;
}

.ff-commercial-shell .primary-nav a::after,
.ff-commercial-shell .primary-nav a .nav-description,
.ff-commercial-shell .primary-nav a small {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  margin: 0;
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

@media (max-width: 900px) {
  .ff-commercial-shell .primary-nav a {
    min-height: 64px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

/* guided-mode-compact-v1.css */

/* @import customer-layout-system-v2.css?v=20260829-4 (inlined) */
/* FlipForge customer layout system v2 — definitive viewport and density owner.
 * Presentation only. Does not change scoring, evidence, lifecycle, billing,
 * entitlements, or transaction authority.
 */

:root{
  --ff-layout-content-max:1440px;
  --ff-layout-page-gap:18px;
  --ff-layout-panel-pad:16px;
}

.topbar{min-height:68px!important;padding:10px 18px!important}
.global-search input{height:40px!important}
.date-button,.icon-button{height:40px!important}
.icon-button{width:40px!important}
#main-content{padding:22px 24px 34px!important}
#main-content .page,#main-content .ff-di-page{max-width:var(--ff-layout-content-max)!important}
#main-content .page-heading{align-items:flex-start!important;gap:18px!important;margin-bottom:18px!important}
#main-content .page-heading>div:first-child{min-width:0}
#main-content .page-heading h1{max-width:820px!important;margin-bottom:6px!important;font-size:clamp(1.85rem,2.55vw,2.35rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}
#main-content .page-heading p{max-width:760px!important;margin-bottom:0!important;line-height:1.5!important}
#main-content .page-actions{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:8px!important}
#main-content .metric-grid,#main-content .customer-management-metrics,#main-content .customer-portfolio-metrics,#main-content .customer-dashboard-metrics{gap:11px!important;margin-bottom:13px!important}
#main-content .metric-card{min-height:108px!important;padding:15px!important}
#main-content .metric-value{margin-top:8px!important;font-size:23px!important}
#main-content .panel-header{padding:15px 16px 12px!important}
#main-content .panel-body{padding:15px 16px!important}
#main-content .dashboard-grid,#main-content .detail-grid,#main-content .customer-lifecycle-grid{gap:13px!important}
#main-content .stack{gap:13px!important}
#main-content .customer-management-select-panel{margin-bottom:12px!important}
#main-content .customer-management-metrics article,#main-content .customer-portfolio-metrics article{min-height:82px!important;padding:14px!important}
#main-content .customer-lifecycle-fields{gap:12px!important}
#main-content .customer-lifecycle-history article,#main-content .customer-lifecycle-alerts article{padding:13px!important}
.ff-di-hero{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)!important;gap:20px!important;align-items:start!important;margin-bottom:18px!important}
.ff-di-hero-copy h1{font-size:clamp(2rem,3.2vw,3rem)!important;line-height:1!important}
.ff-di-hero-copy p{margin-top:12px!important}
.ff-di-hero-state{padding:16px!important}
.ff-di-controls{gap:12px!important;margin-bottom:16px!important;padding:14px!important}
.ff-di-grid{gap:12px!important}.ff-di-card{padding:17px!important}.ff-di-card>p{margin-top:5px!important}
.ff-di-value-bars,.ff-di-factor-list,.ff-di-evidence-list{margin-top:17px!important}
.ff-di-pop-grid,.ff-di-empty{min-height:180px!important;margin-top:17px!important}.ff-di-compare-grid{margin-top:16px!important}
#main-content th,#main-content td{padding-top:10px!important;padding-bottom:10px!important}
.ff-guide-panel{max-height:calc(100vh - 28px)!important;overflow:auto!important}

@media(min-width:1000px){
  #main-content .page-heading+.boundary-note,#main-content .page-heading+.customer-lifecycle-notice{margin-top:-2px!important;margin-bottom:14px!important}
}
@media(max-width:1180px){#main-content{padding:20px!important}.ff-di-hero{grid-template-columns:1fr!important}}

/* Mobile is a single-column application. The sidebar and desktop shell must never
 * reserve horizontal space or force the task surface underneath the guide. */
@media(max-width:760px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  .app-shell{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .workspace{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  .sidebar{position:fixed!important;inset:0 auto 0 0!important;z-index:1000!important;margin:0!important}
  .topbar{display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;min-height:60px!important;padding:8px 10px!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
  .menu-button{width:44px!important;height:44px!important}
  .global-search{min-width:0!important;width:100%!important;max-width:100%!important}
  .global-search input{width:100%!important;min-width:0!important;height:44px!important;font-size:15px!important;text-overflow:ellipsis!important}
  .global-search kbd{display:none!important}
  .topbar-actions{display:none!important}
  #main-content{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:14px 12px 96px!important;overflow-x:hidden!important}
  #main-content *,#main-content *::before,#main-content *::after{box-sizing:border-box!important;min-width:0;max-width:100%!important}
  #main-content .page,#main-content .ff-di-page,#main-content section,#main-content article,#main-content form,#main-content .panel{width:100%!important;max-width:100%!important;min-width:0!important}
  #main-content .panel,#main-content .panel-body,#main-content .panel-header{overflow-wrap:anywhere!important;word-break:normal!important}
  #main-content .page-heading{display:grid!important;gap:10px!important;margin-bottom:13px!important}
  #main-content .page-heading h1{font-size:clamp(1.55rem,7.2vw,1.9rem)!important;line-height:1.08!important}
  #main-content .page-heading p{font-size:.94rem!important;line-height:1.45!important}
  #main-content .page-actions{justify-content:flex-start!important}
  #main-content .page-actions .button{flex:1 1 auto}
  #main-content .panel-header{padding:12px!important}
  #main-content .panel-body{padding:12px!important}
  #main-content .metric-grid,#main-content .customer-management-metrics,#main-content .customer-portfolio-metrics,#main-content .customer-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #main-content .metric-card{min-height:88px!important;padding:11px!important}
  #main-content .metric-value{font-size:20px!important}
  #main-content table{font-size:.86rem!important}
  #main-content th,#main-content td{padding:8px!important}
  .ff-di-grid>*{grid-column:1/-1!important}
}



/* @import mobile-shell-v3.css?v=20260829-1 (inlined) */
/* FlipForge mobile shell v3 — final phone chrome owner.
 * Presentation only. Loaded last so mobile Safari cannot fall back to stale
 * desktop shell rules. No scoring, evidence, lifecycle, billing, entitlement,
 * recommendation, or transaction-authority behavior changes.
 */

@media (max-width:760px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body{min-width:0!important}

  /* The sidebar already carries PRIVATE BETA. Do not spend a phone row on the
   * desktop beta banner. */
  .prototype-banner{display:none!important}

  .app-shell{display:block!important;min-height:100dvh!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  .workspace{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important}

  /* One compact mobile app bar: menu + search. */
  .topbar{
    position:sticky!important;
    top:0!important;
    z-index:80!important;
    display:grid!important;
    grid-template-columns:40px minmax(0,1fr)!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    min-height:54px!important;
    height:54px!important;
    padding:7px 9px!important;
    background:rgba(7,13,21,.97)!important;
    border-bottom:1px solid var(--border-soft)!important;
    backdrop-filter:blur(14px)!important;
  }

  .menu-button{
    display:inline-grid!important;
    place-items:center!important;
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    padding:0!important;
    border-radius:11px!important;
    font-size:20px!important;
    line-height:1!important;
  }

  .global-search{
    display:grid!important;
    grid-template-columns:18px minmax(0,1fr)!important;
    align-items:center!important;
    gap:7px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:40px!important;
    padding:0 10px!important;
    border-radius:11px!important;
    box-shadow:none!important;
  }
  .global-search>span{font-size:13px!important}
  .global-search input{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:38px!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1.2!important;
    text-overflow:ellipsis!important;
  }
  .global-search input::placeholder{font-size:14px!important}
  .global-search kbd{display:none!important}

  /* Nothing else gets a second row in the phone header. */
  .topbar-actions,.topbar>.topbar-actions,.notification-button,.profile-button,.date-button{display:none!important}

  #main-content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:12px 10px 82px!important;
    overflow-x:hidden!important;
  }

  #main-content .page-heading{gap:8px!important;margin-bottom:11px!important}
  #main-content .page-heading h1{font-size:clamp(1.45rem,6.7vw,1.78rem)!important;line-height:1.08!important}
  #main-content .page-heading p{font-size:.91rem!important;line-height:1.42!important}

  /* Off-canvas navigation must not reserve space or leave a visible icon rail. */
  .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    z-index:1000!important;
    width:min(86vw,310px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    transform:translateX(-105%)!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .app-shell[data-nav-open="true"] .sidebar{transform:translateX(0)!important}
  .mobile-scrim{position:fixed!important;inset:0!important;z-index:990!important}

  .brand-block{padding:16px 14px 13px!important}
  .brand{grid-template-columns:38px minmax(0,1fr)!important;gap:8px!important}
  .brand-mark{width:38px!important;height:38px!important}
  .brand-name{font-size:16px!important}
  .brand-subtitle{font-size:10px!important}
  .prototype-chip{margin:9px 0 0 46px!important;max-width:calc(100% - 46px)!important}

  .primary-nav{gap:2px!important;padding:10px!important}
  .primary-nav a{min-height:44px!important;padding:8px 10px!important;font-size:13px!important;border-radius:9px!important}
  .ff-advanced-nav summary{min-height:44px!important}

  .sidebar-footer{padding:10px!important}
  .plan-card{padding:11px!important}
}



/* FlipForge Guided Mode compact scale. */
.topbar-actions .date-button{text-decoration:none}
.ff-guide-panel{width:min(340px,calc(100vw - 28px))}
.ff-guide-head{padding:12px 14px 10px}
.ff-guide-kicker,.ff-guide-location,.ff-guide-progress-top,.ff-guide-footer,.ff-guide-footer button,.ff-guide-modal-note{font-size:11px!important;line-height:1.35!important}
.ff-guide-head strong{font-size:13px!important;line-height:1.3!important}
.ff-guide-body{padding:13px 14px}
.ff-guide-body h2{margin-bottom:6px;font-size:17px!important;line-height:1.18!important}
.ff-guide-body>p,.ff-guide-why,.ff-guide-action{font-size:13px!important;line-height:1.42!important}
.ff-guide-why{margin-top:10px;padding:9px 10px}
.ff-guide-actions{gap:7px;margin-top:11px}
.ff-guide-action{min-height:40px;padding:8px 10px}
.ff-guide-progress{padding:10px 14px 9px}
.ff-guide-footer{padding:9px 14px}
.ff-guide-icon-button{width:30px;height:30px;font-size:14px!important}

@media(min-width:1480px){body:has(.ff-guide-panel) #main-content{padding-right:382px}body:has(.ff-guide-panel) .ff-guide-panel{width:330px}}
@media(min-width:1180px) and (max-width:1479px){body:has(.ff-guide-panel) .ff-guide-panel{width:min(310px,calc(100vw - 28px))}}

/* Phone Guided Mode is a lightweight coach, not a second application surface.
 * Keep the active task visible and make the guide intentionally subordinate. */
@media(max-width:760px){
  .ff-guide-panel{left:8px!important;right:8px!important;bottom:8px!important;top:auto!important;width:auto!important;max-width:none!important;max-height:30vh!important;border-radius:13px!important;overflow:auto!important;box-shadow:0 12px 36px rgba(0,0,0,.5)!important}
  .ff-guide-head{position:sticky!important;top:0!important;z-index:2!important;padding:7px 10px 6px!important}
  .ff-guide-kicker{font-size:8px!important;letter-spacing:.1em!important}
  .ff-guide-head strong{font-size:11px!important;line-height:1.2!important}
  .ff-guide-icon-button{width:30px!important;height:30px!important}
  .ff-guide-body{padding:7px 10px 8px!important}
  .ff-guide-location{font-size:8px!important}
  .ff-guide-body h2{margin:3px 0 4px!important;font-size:14px!important;line-height:1.18!important}
  .ff-guide-body>p{margin:0!important;font-size:11px!important;line-height:1.32!important}
  .ff-guide-why{display:none!important}
  .ff-guide-actions{margin-top:7px!important;display:grid!important;grid-template-columns:1fr!important;gap:5px!important}
  .ff-guide-action{min-height:36px!important;padding:6px 8px!important;font-size:11px!important;line-height:1.25!important}
  .ff-guide-actions .ff-guide-action.secondary~.ff-guide-action.secondary{display:none!important}
  .ff-guide-progress{display:none!important}
  .ff-guide-route-nav{position:sticky!important;bottom:0!important;z-index:3!important;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)!important;gap:5px!important;padding:6px 10px!important;background:rgba(4,7,13,.98)!important}
  .ff-guide-route-nav .ff-guide-action{min-height:34px!important;padding:5px 7px!important;font-size:10px!important}
  .ff-guide-footer{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:6px!important;padding:5px 10px 6px!important;font-size:8px!important}
  .ff-guide-footer span{display:none!important}
  .ff-guide-footer button{font-size:9px!important;line-height:1.2!important}
  .ff-guide-launcher{right:10px!important;bottom:10px!important;min-height:38px!important;padding:8px 12px!important;font-size:11px!important}
}

/* guided-mode-light-v2.css */
/* Guided Mode v2 — light theme (founder decision 2026-10-21): a white help card with gold accents that stands apart
   from the dark workspace, with clear Minimize and Close controls at the top right. Loads after the v1 guide styles. */
.ff-guide-panel{background:#fbfaf6;color:#0b0f16;border-color:rgba(184,134,11,.55);box-shadow:0 24px 70px rgba(0,0,0,.55)}
.ff-guide-head{border-bottom-color:rgba(11,15,22,.09)}
.ff-guide-kicker{color:#8a6500}
.ff-guide-head strong,.ff-guide-body h2{color:#0b0f16}
.ff-guide-icon-button{border-color:rgba(11,15,22,.16);background:#fff;color:#3c4452}
.ff-guide-icon-button:hover,.ff-guide-icon-button:focus-visible{color:#0b0f16;border-color:#b8860b}
.ff-guide-location{border-color:rgba(11,15,22,.14);color:#4a5260}
.ff-guide-body>p{color:#3f4754}
.ff-guide-why{background:rgba(212,175,55,.14);border-left-color:#b8860b;color:#2b313b}
.ff-guide-why strong{color:#0b0f16}
.ff-guide-action.secondary{border-color:rgba(11,15,22,.18);background:#fff;color:#0b0f16}
.ff-guide-action.secondary:hover,.ff-guide-action.secondary:focus-visible{border-color:#b8860b}
.ff-guide-progress{border-bottom-color:rgba(11,15,22,.08)}
.ff-guide-progress-top{color:#5a6270}
.ff-guide-step-nav button{border-color:rgba(11,15,22,.12);background:#fff;color:#5a6270}
.ff-guide-step-nav button span{background:rgba(11,15,22,.07)}
.ff-guide-step-nav button[data-done="true"]{border-color:rgba(184,134,11,.45);color:#8a6500}
.ff-guide-step-nav button[data-current="true"]{border-color:#b8860b;background:rgba(212,175,55,.16);color:#0b0f16}
.ff-guide-step-nav button:hover,.ff-guide-step-nav button:focus-visible{border-color:#b8860b;color:#0b0f16}
.ff-guide-route-nav{background:rgba(251,250,246,.97);border-top-color:rgba(11,15,22,.09)}
.ff-guide-footer{border-top-color:rgba(11,15,22,.08);color:#5a6270}
.ff-guide-footer button{color:#3c4452}
.ff-guide-footer button:hover,.ff-guide-footer button:focus-visible{color:#8a6500}

/* Header controls: Minimize (−) folds the guide into the corner launcher; Close (×) turns Guided Mode off. */
.ff-guide-head-actions{display:flex;gap:6px;flex:none}
.ff-guide-panel .ff-guide-icon-button{width:34px;height:34px;display:grid;place-items:center;padding:0;font-size:18px;line-height:1;font-weight:700}
.ff-guide-panel .ff-guide-close{border-color:rgba(11,15,22,.28);color:#0b0f16}
.ff-guide-panel .ff-guide-close:hover,.ff-guide-panel .ff-guide-close:focus-visible{background:#0b0f16;border-color:#0b0f16;color:#fff;outline:none}
.ff-guide-panel .ff-guide-icon-button:focus-visible{box-shadow:0 0 0 3px rgba(212,175,55,.45)}

/* Corner launcher matches the light card, so a minimized or closed guide is easy to bring back. */
.ff-guide-launcher{background:#fbfaf6;color:#0b0f16;border-color:#b8860b}
.ff-guide-launcher:hover,.ff-guide-launcher:focus-visible{border-color:#8a6500;box-shadow:0 0 0 3px rgba(212,175,55,.35),0 18px 54px rgba(0,0,0,.42)}

/* forge-heat-control-room-v2.css */
/* Forge Heat control-room presentation. Presentation only; no scoring authority. */
.ff-heat-control-room{margin:16px 0 14px;border:1px solid rgba(218,175,79,.42);border-radius:16px;background:linear-gradient(180deg,rgba(22,26,29,.98),rgba(9,12,14,.98));box-shadow:0 0 0 1px rgba(218,175,79,.05),0 18px 55px rgba(0,0,0,.42);overflow:hidden}.ff-heat-console-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(218,175,79,.24);background:linear-gradient(90deg,rgba(218,175,79,.08),transparent 42%)}.ff-heat-console-head h2{margin:4px 0 0;font-size:1.05rem!important;letter-spacing:.045em;text-transform:uppercase}.ff-heat-live-dot{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(218,175,79,.4);border-radius:999px;padding:5px 9px;color:#e7c56b;font-size:.7rem;font-weight:900;letter-spacing:.12em}.ff-heat-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#e7c56b;box-shadow:0 0 10px rgba(231,197,107,.8)}.ff-heat-console-grid{display:grid;grid-template-columns:minmax(0,1fr) 210px;min-width:0}.ff-heat-table-wrap{min-width:0;overflow:auto}.ff-heat-table{width:100%;border-collapse:collapse;min-width:900px;font-variant-numeric:tabular-nums}.ff-heat-table th{padding:9px 10px;text-align:left;color:#aeb6bf;background:rgba(255,255,255,.025);border-bottom:1px solid rgba(255,255,255,.08);font-size:.67rem!important;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}.ff-heat-table td{padding:10px;border-bottom:1px solid rgba(255,255,255,.055);font-size:.78rem!important;vertical-align:middle;white-space:nowrap}.ff-heat-table tbody tr:first-child{background:linear-gradient(90deg,rgba(218,175,79,.12),rgba(218,175,79,.025))}.ff-heat-table td:nth-child(2){min-width:230px;white-space:normal}.ff-heat-table td:nth-child(2) strong{display:block;color:#f5f1e8;font-size:.79rem!important;line-height:1.28}.ff-heat-table td:nth-child(2) small{display:block;margin-top:2px;color:#8f99a3;font-size:.66rem!important}.ff-heat-rank-cell{color:#d9bc6a;font-weight:900}.ff-heat-score-pill{display:inline-flex;align-items:center;gap:4px;min-width:56px;border:1px solid rgba(218,175,79,.22);border-radius:7px;padding:4px 7px;font-weight:900}.ff-heat-score-pill[data-tone="white"]{color:#fff6cf;background:rgba(255,245,205,.1);box-shadow:0 0 14px rgba(255,230,150,.12)}.ff-heat-score-pill[data-tone="hot"]{color:#f0c96b;background:rgba(218,175,79,.09)}.ff-heat-score-pill[data-tone="heating"]{color:#dfb250}.ff-heat-score-pill[data-tone="warm"]{color:#c69738}.ff-heat-positive{color:#7bcf8a;font-weight:800}.ff-heat-band-panel{border-left:1px solid rgba(218,175,79,.19);padding:14px;background:linear-gradient(180deg,rgba(218,175,79,.035),rgba(255,255,255,.012))}.ff-heat-band-panel>strong{display:block;margin:6px 0 3px;color:#f3efe7;font-size:.82rem}.ff-heat-band-panel>small{display:block;color:#929ca6;font-size:.68rem!important;line-height:1.35}.ff-heat-bands{display:grid;gap:8px;margin-top:14px}.ff-heat-bands>div{display:grid;grid-template-columns:52px 1fr;gap:7px;align-items:center}.ff-heat-bands b{color:#d8b65b;font-size:.7rem}.ff-heat-bands span{color:#c6ccd2;font-size:.68rem!important}.ff-heat-deep-grid{display:grid;grid-template-columns:1.25fr .9fr .9fr;gap:10px;padding:10px;border-top:1px solid rgba(218,175,79,.16);background:rgba(0,0,0,.16)}.ff-heat-deep-grid>article{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:11px;padding:13px;background:rgba(13,17,20,.86)}.ff-heat-deep-grid h3{margin:5px 0 9px;font-size:.9rem!important}.ff-heat-deep-grid ul{margin:8px 0 0;padding-left:17px;color:#c8cfd6}.ff-heat-deep-grid li,.ff-heat-deep-grid p{font-size:.73rem!important;line-height:1.45}.ff-heat-deep-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:9px 0}.ff-heat-deep-metrics>div{border-left:2px solid rgba(218,175,79,.5);padding-left:7px}.ff-heat-deep-metrics span{display:block;color:#8f99a3;font-size:.63rem!important;text-transform:uppercase;letter-spacing:.05em}.ff-heat-deep-metrics strong{display:block;margin-top:2px;color:#f4efe4;font-size:.77rem}.ff-heat-authority-strip{display:flex;gap:8px;align-items:flex-start;padding:10px 14px;border-top:1px solid rgba(218,175,79,.17);color:#9aa3ad;background:rgba(218,175,79,.025);font-size:.68rem!important;line-height:1.4}.ff-heat-authority-strip strong{color:#d9bc6a;white-space:nowrap}.forge-heat-shell[data-ff-heat-control-room="true"]>.forge-heat-intelligence-bar,.forge-heat-shell[data-ff-heat-control-room="true"]>.forge-heat-list{display:none!important}.forge-heat-shell[data-ff-heat-control-room="true"] .forge-heat-tabs{margin-top:10px}
@media(max-width:1100px){.ff-heat-console-grid{grid-template-columns:1fr}.ff-heat-band-panel{border-left:0;border-top:1px solid rgba(218,175,79,.19)}.ff-heat-bands{grid-template-columns:repeat(5,minmax(0,1fr))}.ff-heat-bands>div{grid-template-columns:1fr}.ff-heat-deep-grid{grid-template-columns:1fr 1fr}.ff-heat-deep-dive{grid-column:1/-1}}
@media(max-width:760px){.ff-heat-control-room{margin:10px 0;border-radius:12px}.ff-heat-console-head{padding:11px 12px}.ff-heat-console-head h2{font-size:.9rem!important}.ff-heat-live-dot{font-size:.62rem!important}.ff-heat-table{min-width:760px}.ff-heat-table th{font-size:.61rem!important}.ff-heat-table td{padding:8px;font-size:.71rem!important}.ff-heat-band-panel{padding:11px}.ff-heat-bands{grid-template-columns:1fr 1fr;gap:6px}.ff-heat-bands>div{border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:7px}.ff-heat-deep-grid{grid-template-columns:1fr;padding:8px}.ff-heat-deep-dive{grid-column:auto}.ff-heat-deep-metrics{grid-template-columns:1fr 1fr}.ff-heat-authority-strip{display:block;padding:9px 11px}.ff-heat-authority-strip strong{display:block;margin-bottom:3px}.forge-heat-shell[data-ff-heat-control-room="true"] .forge-heat-tabs{overflow:auto;flex-wrap:nowrap!important;scrollbar-width:none}.forge-heat-shell[data-ff-heat-control-room="true"] .forge-heat-tabs button{white-space:nowrap;flex:0 0 auto}}

/* mobile-shell-v4.css */
/* FlipForge mobile shell v4 — authoritative phone drawer repair.
 * Presentation only. This file is linked last in the authenticated app so phone
 * navigation cannot inherit desktop spacing/description rules. No intelligence,
 * evidence, billing, tenant, recommendation, or transaction authority changes.
 */

/* Customer content must remain selectable/copyable and form fields must accept
 * native paste on desktop and mobile. Keep browser selection/callout behavior
 * intact across every authenticated route. */
#main-content,
#main-content *{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default!important;
}
input,
textarea,
[contenteditable="true"]{
  -webkit-user-select:text!important;
  user-select:text!important;
  -webkit-touch-callout:default!important;
}

@media (max-width:760px){
  html{-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}

  .sidebar{
    display:flex!important;
    flex-direction:column!important;
    width:min(88vw,340px)!important;
    max-width:340px!important;
    padding:0!important;
    background:#091019!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .ff-commercial-shell .brand-block{
    flex:0 0 auto!important;
    padding:14px 14px 11px!important;
    overflow:hidden!important;
  }
  .ff-commercial-shell .brand{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    align-items:center!important;
    gap:9px!important;
    width:100%!important;
  }
  .ff-commercial-shell .brand-mark,
  .ff-commercial-shell .brand-mark.ff-approved-brand-mark img{
    width:36px!important;
    height:36px!important;
  }
  .ff-commercial-shell .brand-copy{min-width:0!important}
  .ff-commercial-shell .brand-name{
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:.09em!important;
    white-space:nowrap!important;
  }
  .ff-commercial-shell .brand-subtitle{
    margin-top:5px!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.065em!important;
    white-space:normal!important;
  }
  .ff-commercial-shell .brand-tagline{display:none!important}
  .ff-commercial-shell .prototype-chip{
    display:inline-flex!important;
    width:auto!important;
    max-width:none!important;
    margin:9px 0 0 45px!important;
    padding:4px 8px!important;
    font-size:10px!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }

  .ff-commercial-shell .primary-nav{
    display:grid!important;
    flex:1 1 auto!important;
    align-content:start!important;
    gap:4px!important;
    min-height:0!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  .ff-commercial-shell .primary-nav > a,
  .ff-commercial-shell .ff-advanced-nav-links > a,
  .ff-commercial-shell .primary-nav > a.ff-nav-relocated,
  .ff-commercial-shell .primary-nav > .ff-mobile-account-nav{
    position:relative!important;
    display:grid!important;
    grid-template-columns:24px minmax(0,1fr) auto!important;
    grid-template-rows:1fr!important;
    align-items:center!important;
    align-content:center!important;
    column-gap:10px!important;
    row-gap:0!important;
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    height:48px!important;
    padding:0 12px!important;
    border-radius:10px!important;
    font-size:15px!important;
    font-weight:720!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .ff-commercial-shell .primary-nav a > span:first-child,
  .ff-commercial-shell .primary-nav a > span:first-child.ff-nav-icon{
    position:static!important;
    inset:auto!important;
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    width:24px!important;
    min-width:24px!important;
    margin:0!important;
    font-size:15px!important;
    line-height:1!important;
    text-align:center!important;
  }
  .ff-commercial-shell .primary-nav a::after,
  .ff-commercial-shell .primary-nav a .nav-description,
  .ff-commercial-shell .primary-nav a small{
    display:none!important;
    content:none!important;
  }
  .ff-commercial-shell .primary-nav a[data-route="market-view"]{white-space:nowrap!important}
  .ff-commercial-shell .forge-nav-pro{
    position:static!important;
    grid-column:3!important;
    grid-row:1!important;
    margin:0 0 0 6px!important;
    font-size:9px!important;
    line-height:1!important;
  }

  .ff-commercial-shell .ff-advanced-nav{margin:2px 0!important}
  .ff-commercial-shell .ff-advanced-nav > summary{
    min-height:44px!important;
    padding:0 12px!important;
    font-size:13px!important;
    line-height:1.2!important;
  }
  .ff-commercial-shell .ff-advanced-nav-links{
    gap:3px!important;
    padding:4px 0 2px!important;
  }

  .ff-commercial-shell .sidebar-footer{display:none!important}

  .ff-guide-launcher,
  .ff-guide-panel{z-index:90!important}
  body.ff-mobile-nav-open .ff-guide-launcher,
  body.ff-mobile-nav-open .ff-guide-panel,
  body.ff-mobile-nav-open #flipforge-production-identity-root{display:none!important}

  .app-shell[data-nav-open="true"] .sidebar{z-index:1000!important}
  .app-shell[data-nav-open="true"] .mobile-scrim{
    left:min(88vw,340px)!important;
    z-index:990!important;
  }
}

/* customer-only-shell-v1.css */
/* FlipForge customer-only beta shell v1
 * Customer beta presentation only. The beta intentionally exposes the simple
 * customer loop instead of the full internal/product architecture.
 */

body[data-ff-surface="customer"] .ff-customer-route-registry,
body[data-ff-surface="customer"] .staging-only-nav,
body[data-ff-surface="customer"] .ff-advanced-nav {
  display: none !important;
}

body[data-ff-surface="customer"] .brand-tagline {
  display: none !important;
}

body[data-ff-surface="customer"] .primary-nav {
  display: grid;
  gap: 8px;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

body[data-ff-surface="customer"] .primary-nav > a[data-ff-customer-core] {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 54px;
  height: auto;
  padding: 10px 12px;
  white-space: normal;
  line-height: 1.2;
}

body[data-ff-surface="customer"] .primary-nav > a[data-ff-customer-core] > span:first-child {
  position: static !important;
  width: 28px;
  min-width: 28px;
  margin: 0 !important;
  text-align: center;
}

body[data-ff-surface="customer"] .primary-nav > a::after,
body[data-ff-surface="customer"] .primary-nav > a .nav-description,
body[data-ff-surface="customer"] .primary-nav > a small {
  display: none !important;
  content: none !important;
}

body[data-ff-surface="customer"] .sidebar-footer .plan-card {
  display: none !important;
}

body[data-ff-surface="customer"] .prototype-chip {
  letter-spacing: .08em;
}

body[data-ff-surface="customer"] .ff-beta-simple-loop {
  display: grid;
  gap: 18px;
  margin: 20px 0 0;
  padding: 22px;
  border: 1px solid rgba(212, 175, 55, .24);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(212,175,55,.05), rgba(255,255,255,.018));
}

body[data-ff-surface="customer"] .ff-beta-simple-loop-copy {
  display: grid;
  gap: 6px;
}

body[data-ff-surface="customer"] .ff-beta-simple-loop-copy > span {
  color: var(--gold, #d4af37);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
}

body[data-ff-surface="customer"] .ff-beta-simple-loop-copy > strong {
  font-size: 1.18rem;
  line-height: 1.3;
}

body[data-ff-surface="customer"] .ff-beta-simple-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body[data-ff-surface="customer"] .ff-beta-simple-steps > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 14px;
  border-radius: 10px;
  background: rgba(255,255,255,.025);
}

body[data-ff-surface="customer"] .ff-beta-simple-steps b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 50%;
  color: var(--gold, #d4af37);
}

body[data-ff-surface="customer"] .ff-beta-simple-steps span {
  display: grid;
  gap: 5px;
}

body[data-ff-surface="customer"] .ff-beta-simple-steps strong {
  font-size: 1rem;
}

body[data-ff-surface="customer"] .ff-beta-simple-steps small {
  color: var(--muted, #9ba3ad);
  font-size: .9rem;
  line-height: 1.45;
}

body[data-ff-surface="customer"] .ff-customer-home-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0 0;
}

body[data-ff-surface="customer"] .ff-customer-home-action {
  display: grid;
  gap: 6px;
  min-height: 0;
  padding: 16px 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 11px;
  background: rgba(255,255,255,.018);
  color: inherit;
  text-decoration: none;
  transition: border-color .16s ease, background .16s ease;
}

body[data-ff-surface="customer"] .ff-customer-home-action:hover,
body[data-ff-surface="customer"] .ff-customer-home-action:focus-visible {
  border-color: rgba(212, 175, 55, .45);
  background: rgba(212, 175, 55, .045);
  outline: none;
}

body[data-ff-surface="customer"] .ff-customer-home-action strong {
  font-size: 1rem;
  line-height: 1.25;
}

body[data-ff-surface="customer"] .ff-customer-home-action small {
  color: var(--muted, #9ba3ad);
  line-height: 1.45;
}

html.ff-customer-simple-home body[data-ff-surface="customer"] #main-content .metric-grid,
html.ff-customer-simple-home body[data-ff-surface="customer"] #main-content .dashboard-grid,
html.ff-customer-simple-home body[data-ff-surface="customer"] #main-content .boundary-note {
  display: none !important;
}

body[data-ff-surface="customer"] .ff-customer-only-note {
  display: none !important;
}

body[data-ff-surface="customer"] .private-beta-step[data-ff-customer-hide="true"] {
  display: none !important;
}

/* Full customer application mode. This is presentation-only and is activated only
 * on /customer-app/. The controlled /app beta presentation above remains unchanged. */
body.ff-full-customer-app .prototype-banner {
  display: none !important;
}

body.ff-full-customer-app .prototype-chip {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #f4d983 !important;
  border-color: rgba(212, 175, 55, .42) !important;
  background: rgba(212, 175, 55, .08) !important;
}

body.ff-full-customer-app .primary-nav > .ff-advanced-nav {
  display: block !important;
  margin-top: 4px;
}

body.ff-full-customer-app .sidebar-footer .plan-card {
  display: grid !important;
}

body.ff-full-customer-app .primary-nav {
  gap: 6px;
}

body.ff-full-customer-app .primary-nav > a[data-ff-customer-core] {
  min-height: 46px;
  padding: 8px 11px;
}

body.ff-full-customer-app .ff-advanced-nav > summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

body.ff-full-customer-app .ff-advanced-nav-links {
  display: grid;
  gap: 6px;
  padding-top: 7px;
}

body.ff-full-customer-app .ff-advanced-nav-links a {
  min-height: 42px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 8px 11px;
  border-radius: 8px;
}

body.ff-full-customer-app .ff-full-customer-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.ff-full-customer-app .ff-customer-home-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.ff-full-customer-app #main-content .page-heading {
  margin-bottom: 18px;
}

body.ff-full-customer-app #main-content .page-heading h1 {
  max-width: 900px;
}

body.ff-full-customer-app .global-search,
body.ff-full-customer-app .notification-button,
body.ff-full-customer-app .topbar-actions a[href="#/opportunities"],
body.ff-full-customer-app .profile-button {
  display: flex !important;
}

@media (max-width: 1100px) {
  body.ff-full-customer-app .ff-full-customer-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body[data-ff-surface="customer"] .ff-beta-simple-steps,
  body[data-ff-surface="customer"] .ff-customer-home-actions,
  body.ff-full-customer-app .ff-full-customer-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  body[data-ff-surface="customer"] .primary-nav {
    flex: 0 0 auto !important;
    gap: 6px !important;
    padding: 10px !important;
    overflow-y: visible !important;
  }

  body[data-ff-surface="customer"] .primary-nav > a[data-ff-customer-core],
  body[data-ff-surface="customer"] .primary-nav > .ff-mobile-account-nav {
    min-height: 50px !important;
    height: auto !important;
    padding: 10px 12px !important;
    white-space: normal !important;
  }

  body[data-ff-surface="customer"] .brand-block {
    padding-bottom: 10px !important;
  }

  body[data-ff-surface="customer"] .ff-beta-simple-loop {
    padding: 16px;
  }

  body.ff-full-customer-app .topbar-actions a[href="#/opportunities"] {
    display: none !important;
  }
}

/* customer-app-system-v2.css */
/* FlipForge Full Customer App Visual System v2
 * Final presentation owner for /app/customer/ only.
 * Purpose: keep every customer route on one shell, density, typography,
 * spacing, and responsive contract without changing product authority.
 */

body.ff-full-customer-app {
  --ff-app-sidebar-width: 272px;
  --ff-app-topbar-height: 72px;
  --ff-app-content-max: 1440px;
  --ff-app-page-pad-x: 28px;
  --ff-app-page-pad-y: 24px;
  --ff-app-radius: 12px;
  --ff-app-control-height: 40px;
}

body.ff-full-customer-app .app-shell {
  grid-template-columns: var(--ff-app-sidebar-width) minmax(0, 1fr) !important;
  min-height: 100vh;
}

body.ff-full-customer-app .sidebar {
  width: var(--ff-app-sidebar-width) !important;
  min-width: var(--ff-app-sidebar-width) !important;
  max-width: var(--ff-app-sidebar-width) !important;
  box-sizing: border-box !important;
}

body.ff-full-customer-app .brand-block {
  padding: 18px 16px 14px !important;
}

body.ff-full-customer-app .brand {
  gap: 11px !important;
  align-items: center !important;
}

body.ff-full-customer-app .brand-name {
  font-size: 1.02rem !important;
  line-height: 1.05 !important;
  letter-spacing: .06em !important;
}

body.ff-full-customer-app .brand-subtitle {
  margin-top: 3px !important;
  font-size: .68rem !important;
  line-height: 1.2 !important;
  letter-spacing: .08em !important;
}

body.ff-full-customer-app .prototype-chip {
  min-height: 24px !important;
  padding: 4px 7px !important;
  border-radius: 999px !important;
  font-size: .66rem !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

body.ff-full-customer-app .primary-nav {
  gap: 4px !important;
  padding: 8px 10px 12px !important;
}

body.ff-full-customer-app .primary-nav > a[data-ff-customer-core],
body.ff-full-customer-app .ff-advanced-nav-links a {
  min-height: 44px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  gap: 9px !important;
  font-size: .88rem !important;
  line-height: 1.2 !important;
}

body.ff-full-customer-app .primary-nav > a[data-ff-customer-core] > span:first-child,
body.ff-full-customer-app .ff-advanced-nav-links a > span:first-child {
  width: 24px !important;
  min-width: 24px !important;
}

body.ff-full-customer-app .ff-advanced-nav {
  margin-top: 6px !important;
}

body.ff-full-customer-app .ff-advanced-nav > summary {
  min-height: 40px !important;
  padding: 8px 10px !important;
  border-radius: 9px !important;
  font-size: .8rem !important;
  line-height: 1.2 !important;
}

body.ff-full-customer-app .ff-advanced-nav-links {
  gap: 4px !important;
  padding-top: 5px !important;
}

body.ff-full-customer-app .sidebar-footer {
  padding: 10px !important;
}

body.ff-full-customer-app .plan-card {
  padding: 12px !important;
  border-radius: 10px !important;
}

body.ff-full-customer-app .account-link {
  min-height: 48px !important;
  margin-top: 8px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
}

body.ff-full-customer-app .workspace {
  min-width: 0 !important;
  width: 100% !important;
}

body.ff-full-customer-app .topbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  min-height: var(--ff-app-topbar-height) !important;
  height: var(--ff-app-topbar-height) !important;
  padding: 10px 18px !important;
  box-sizing: border-box !important;
  align-items: center !important;
}

body.ff-full-customer-app .global-search {
  min-width: 240px !important;
  max-width: 620px !important;
}

body.ff-full-customer-app .global-search input,
body.ff-full-customer-app .date-button,
body.ff-full-customer-app .icon-button,
body.ff-full-customer-app .profile-button {
  min-height: var(--ff-app-control-height) !important;
  height: var(--ff-app-control-height) !important;
}

body.ff-full-customer-app .topbar-actions {
  gap: 8px !important;
  align-items: center !important;
}

body.ff-full-customer-app #main-content {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: var(--ff-app-page-pad-y) var(--ff-app-page-pad-x) 40px !important;
}

body.ff-full-customer-app #main-content > .page,
body.ff-full-customer-app #main-content > .ff-di-page,
body.ff-full-customer-app #main-content > .forge-heat-shell,
body.ff-full-customer-app #main-content > .market-view-shell,
body.ff-full-customer-app #main-content .page {
  width: min(100%, var(--ff-app-content-max)) !important;
  max-width: var(--ff-app-content-max) !important;
  min-width: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.ff-full-customer-app #main-content .page-heading {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 20px !important;
  min-height: 76px !important;
  margin: 0 0 18px !important;
}

body.ff-full-customer-app #main-content .page-heading > div:first-child {
  min-width: 0 !important;
  max-width: 860px !important;
}

body.ff-full-customer-app #main-content .page-heading .eyebrow,
body.ff-full-customer-app #main-content .eyebrow {
  margin: 0 0 6px !important;
  font-size: .74rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .09em !important;
}

body.ff-full-customer-app #main-content h1,
body.ff-full-customer-app #main-content .page-heading h1,
body.ff-full-customer-app #main-content .ff-di-hero-copy h1 {
  margin: 0 !important;
  max-width: 900px !important;
  font-size: clamp(2rem, 2.6vw, 2.6rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}

body.ff-full-customer-app #main-content .page-heading p,
body.ff-full-customer-app #main-content .ff-di-hero-copy p {
  max-width: 800px !important;
  margin: 8px 0 0 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
}

body.ff-full-customer-app #main-content .page-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: var(--ff-app-control-height) !important;
}

body.ff-full-customer-app #main-content .button,
body.ff-full-customer-app #main-content button,
body.ff-full-customer-app #main-content select,
body.ff-full-customer-app #main-content input[type="text"],
body.ff-full-customer-app #main-content input[type="search"],
body.ff-full-customer-app #main-content input[type="number"] {
  min-height: var(--ff-app-control-height) !important;
}

body.ff-full-customer-app #main-content .panel,
body.ff-full-customer-app #main-content .metric-card,
body.ff-full-customer-app #main-content .ff-di-card,
body.ff-full-customer-app #main-content .ff-customer-home-action,
body.ff-full-customer-app #main-content .ff-beta-simple-loop {
  border-radius: var(--ff-app-radius) !important;
}

body.ff-full-customer-app #main-content .panel-header {
  padding: 14px 16px 11px !important;
}

body.ff-full-customer-app #main-content .panel-body {
  padding: 15px 16px !important;
}

body.ff-full-customer-app #main-content .panel-header h2,
body.ff-full-customer-app #main-content .section-title,
body.ff-full-customer-app #main-content h2 {
  font-size: clamp(1.25rem, 1.5vw, 1.55rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -.02em !important;
}

body.ff-full-customer-app #main-content h3 {
  font-size: 1.02rem !important;
  line-height: 1.3 !important;
}

body.ff-full-customer-app #main-content p,
body.ff-full-customer-app #main-content li,
body.ff-full-customer-app #main-content td,
body.ff-full-customer-app #main-content th,
body.ff-full-customer-app #main-content label,
body.ff-full-customer-app #main-content small {
  line-height: 1.48 !important;
}

body.ff-full-customer-app #main-content .metric-grid,
body.ff-full-customer-app #main-content .dashboard-grid,
body.ff-full-customer-app #main-content .detail-grid,
body.ff-full-customer-app #main-content .stack,
body.ff-full-customer-app #main-content .ff-di-grid {
  gap: 14px !important;
}

body.ff-full-customer-app #main-content .metric-card {
  min-height: 104px !important;
  padding: 14px !important;
}

body.ff-full-customer-app #main-content .metric-value {
  margin-top: 7px !important;
  font-size: 1.45rem !important;
  line-height: 1.15 !important;
}

body.ff-full-customer-app #main-content table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.ff-full-customer-app #main-content th,
body.ff-full-customer-app #main-content td {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.ff-full-customer-app .ff-di-hero {
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr) !important;
  gap: 18px !important;
  align-items: start !important;
  margin-bottom: 18px !important;
}

body.ff-full-customer-app .ff-di-hero-state,
body.ff-full-customer-app .ff-di-card,
body.ff-full-customer-app .ff-di-controls {
  padding: 15px !important;
}

body.ff-full-customer-app .ff-customer-home-actions {
  gap: 12px !important;
}

body.ff-full-customer-app .ff-customer-home-action {
  padding: 15px 16px !important;
}

@media (max-width: 1180px) {
  body.ff-full-customer-app {
    --ff-app-page-pad-x: 20px;
  }

  body.ff-full-customer-app .ff-di-hero {
    grid-template-columns: 1fr !important;
  }

  body.ff-full-customer-app .topbar-actions .profile-copy {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.ff-full-customer-app #main-content .page-heading {
    display: grid !important;
    min-height: 0 !important;
    gap: 12px !important;
  }

  body.ff-full-customer-app #main-content .page-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 760px) {
  body.ff-full-customer-app {
    --ff-app-topbar-height: 60px;
    --ff-app-page-pad-x: 12px;
    --ff-app-page-pad-y: 14px;
  }

  body.ff-full-customer-app .app-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.ff-full-customer-app .workspace {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  body.ff-full-customer-app .sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 1000 !important;
    width: min(86vw, 320px) !important;
    min-width: 0 !important;
    max-width: min(86vw, 320px) !important;
  }

  body.ff-full-customer-app .topbar {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-height: var(--ff-app-topbar-height) !important;
    height: var(--ff-app-topbar-height) !important;
    padding: 8px 10px !important;
  }

  body.ff-full-customer-app .menu-button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
  }

  body.ff-full-customer-app .global-search {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.ff-full-customer-app .global-search input {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    font-size: 15px !important;
  }

  body.ff-full-customer-app .global-search kbd,
  body.ff-full-customer-app .topbar-actions {
    display: none !important;
  }

  body.ff-full-customer-app #main-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: var(--ff-app-page-pad-y) var(--ff-app-page-pad-x) 92px !important;
    overflow-x: hidden !important;
  }

  body.ff-full-customer-app #main-content *,
  body.ff-full-customer-app #main-content *::before,
  body.ff-full-customer-app #main-content *::after {
    box-sizing: border-box !important;
    min-width: 0;
    max-width: 100% !important;
  }

  body.ff-full-customer-app #main-content h1,
  body.ff-full-customer-app #main-content .page-heading h1,
  body.ff-full-customer-app #main-content .ff-di-hero-copy h1 {
    font-size: clamp(1.7rem, 8vw, 2rem) !important;
    line-height: 1.08 !important;
  }

  body.ff-full-customer-app #main-content .page-heading p,
  body.ff-full-customer-app #main-content .ff-di-hero-copy p {
    font-size: .95rem !important;
  }

  body.ff-full-customer-app #main-content .page-actions {
    width: 100% !important;
  }

  body.ff-full-customer-app #main-content .page-actions .button,
  body.ff-full-customer-app #main-content .page-actions button {
    flex: 1 1 auto !important;
  }

  body.ff-full-customer-app #main-content .metric-grid,
  body.ff-full-customer-app #main-content .customer-management-metrics,
  body.ff-full-customer-app #main-content .customer-portfolio-metrics,
  body.ff-full-customer-app #main-content .customer-dashboard-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  body.ff-full-customer-app #main-content .metric-card {
    min-height: 88px !important;
    padding: 11px !important;
  }

  body.ff-full-customer-app #main-content .metric-value {
    font-size: 1.22rem !important;
  }

  body.ff-full-customer-app #main-content .panel-header,
  body.ff-full-customer-app #main-content .panel-body {
    padding: 12px !important;
  }
}

/* customer-title-parity-v1.css */

/* @import customer-mobile-drawer-v3.css (inlined) */
/* FlipForge full-customer mobile drawer v3
 * Presentation-only repair for /app/customer/ phone and narrow-tablet layouts.
 * Keeps the customer shell usable without changing intelligence, identity,
 * tenant, billing, grading, evidence, recommendation, or transaction authority.
 */

@media (max-width: 760px) {
  body.ff-full-customer-app .sidebar {
    display: flex !important;
    flex-direction: column !important;
    width: min(80vw, 304px) !important;
    min-width: 0 !important;
    max-width: min(80vw, 304px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
    transform: translateX(-105%) !important;
    transition: transform .18s ease !important;
    background: #091019 !important;
    border-right: 1px solid rgba(255,255,255,.10) !important;
    box-shadow: 18px 0 48px rgba(0,0,0,.38) !important;
  }

  body.ff-full-customer-app .app-shell[data-nav-open="true"] .sidebar {
    transform: translateX(0) !important;
  }

  body.ff-full-customer-app .brand-block {
    flex: 0 0 auto !important;
    padding: 14px 12px 10px !important;
    overflow: visible !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
  }

  body.ff-full-customer-app .brand {
    width: 100% !important;
    min-width: 0 !important;
    gap: 9px !important;
  }

  body.ff-full-customer-app .brand-mark {
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
  }

  body.ff-full-customer-app .brand-copy {
    min-width: 0 !important;
  }

  body.ff-full-customer-app .brand-name {
    font-size: .95rem !important;
    white-space: nowrap !important;
  }

  body.ff-full-customer-app .brand-subtitle {
    max-width: 185px !important;
    font-size: .64rem !important;
    line-height: 1.18 !important;
    white-space: normal !important;
  }

  body.ff-full-customer-app .prototype-chip {
    margin-top: 9px !important;
    min-height: 24px !important;
    padding: 4px 8px !important;
    font-size: .64rem !important;
  }

  body.ff-full-customer-app .primary-nav {
    display: grid !important;
    flex: 1 1 auto !important;
    align-content: start !important;
    gap: 3px !important;
    min-height: 0 !important;
    padding: 8px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin !important;
    scrollbar-color: rgba(255,255,255,.28) transparent !important;
  }

  body.ff-full-customer-app .primary-nav::-webkit-scrollbar {
    width: 5px !important;
  }

  body.ff-full-customer-app .primary-nav::-webkit-scrollbar-track {
    background: transparent !important;
  }

  body.ff-full-customer-app .primary-nav::-webkit-scrollbar-thumb {
    border-radius: 999px !important;
    background: rgba(255,255,255,.24) !important;
  }

  body.ff-full-customer-app .primary-nav > a[data-ff-customer-core],
  body.ff-full-customer-app .ff-advanced-nav-links a {
    min-height: 44px !important;
    height: 44px !important;
    padding: 7px 9px !important;
    gap: 8px !important;
    border-radius: 9px !important;
    font-size: .9rem !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }

  body.ff-full-customer-app .primary-nav > a[data-route="forge-heat"] {
    grid-template-columns: 24px minmax(0,1fr) auto !important;
  }

  body.ff-full-customer-app .forge-nav-pro {
    position: static !important;
    margin: 0 !important;
    justify-self: end !important;
    font-size: .58rem !important;
  }

  body.ff-full-customer-app .ff-advanced-nav > summary {
    min-height: 40px !important;
    padding: 7px 9px !important;
  }

  body.ff-full-customer-app .sidebar-footer {
    flex: 0 0 auto !important;
    padding: 8px !important;
    background: #091019 !important;
    border-top: 1px solid rgba(255,255,255,.08) !important;
  }

  /* Detailed plan information belongs on Account on phones; keeping the full card
   * in the drawer is what squeezed the navigation in the reported layout. */
  body.ff-full-customer-app .sidebar-footer .plan-card {
    display: none !important;
  }

  body.ff-full-customer-app .account-link {
    min-height: 48px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
  }

  body.ff-full-customer-app .mobile-scrim {
    position: fixed !important;
    inset: 0 !important;
    left: 0 !important;
    z-index: 990 !important;
    display: none !important;
    background: rgba(2,6,10,.72) !important;
    backdrop-filter: blur(2px) !important;
    pointer-events: none !important;
  }

  body.ff-full-customer-app .app-shell[data-nav-open="true"] .mobile-scrim {
    display: block !important;
    left: 0 !important;
    pointer-events: auto !important;
  }

  /* Reuse the existing menu toggle as an explicit close control while the drawer
   * is open. No extra JavaScript or alternate navigation authority is introduced. */
  body.ff-full-customer-app .app-shell[data-nav-open="true"] .menu-button {
    position: fixed !important;
    top: 10px !important;
    right: 10px !important;
    z-index: 1010 !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 11px !important;
    background: #111a24 !important;
    color: transparent !important;
    box-shadow: 0 10px 26px rgba(0,0,0,.28) !important;
  }

  body.ff-full-customer-app .app-shell[data-nav-open="true"] .menu-button::before {
    content: "×" !important;
    color: #f3f5f7 !important;
    font-size: 28px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  body.ff-full-customer-app .workspace,
  body.ff-full-customer-app #main-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 390px) {
  body.ff-full-customer-app .sidebar {
    width: min(82vw, 288px) !important;
    max-width: min(82vw, 288px) !important;
  }

  body.ff-full-customer-app .brand-subtitle {
    max-width: 170px !important;
  }
}



/* Full Customer title parity contract.
 * This file intentionally loads after customer-app-system-v2.css.
 * It neutralizes legacy route-specific mobile title overrides so every
 * full-customer page uses the same governed title scale.
 */

@media (max-width: 760px) {
  html.ff-full-customer-app body.ff-full-customer-app #main-content .page-heading.page-heading h1 {
    font-size: clamp(1.7rem, 8vw, 2rem) !important;
    line-height: 1.08 !important;
  }
}

/* private-beta.css */
.private-beta-page {
  --beta-accent: var(--gold);
}

.private-beta-hero {
  overflow: hidden;
  border-color: rgba(226, 189, 66, 0.36);
  background:
    radial-gradient(circle at 92% 0%, rgba(226, 189, 66, 0.15), transparent 38%),
    linear-gradient(145deg, rgba(226, 189, 66, 0.06), rgba(255, 255, 255, 0.012));
}

.private-beta-hero .panel-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.4fr);
  gap: clamp(20px, 4vw, 46px);
  align-items: center;
  padding: clamp(22px, 4vw, 42px);
}

.private-beta-hero-copy {
  display: grid;
  gap: 12px;
}

.private-beta-hero-copy h2 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(1.7rem, 4vw, 3rem);
  line-height: 1.06;
}

.private-beta-hero-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.98rem;
  line-height: 1.65;
}

.private-beta-progress {
  display: grid;
  gap: 10px;
  padding: 18px;
  border: 1px solid rgba(226, 189, 66, 0.28);
  border-radius: 14px;
  background: rgba(3, 8, 18, 0.55);
}

.private-beta-progress span,
.private-beta-status-card span,
.private-beta-step-copy > span {
  color: var(--text-secondary);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.private-beta-progress strong {
  font-size: 1.25rem;
}

.private-beta-progress small {
  color: var(--text-secondary);
  line-height: 1.5;
}

.private-beta-status-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.private-beta-status-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--panel-border);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.018);
}

.private-beta-status-card strong,
.private-beta-status-card small {
  overflow-wrap: anywhere;
}

.private-beta-status-card small {
  color: var(--text-secondary);
  line-height: 1.4;
}

.private-beta-status-card[data-tone="ok"] {
  border-color: rgba(39, 209, 127, 0.3);
  background: rgba(39, 209, 127, 0.055);
}

.private-beta-status-card[data-tone="warn"] {
  border-color: rgba(246, 169, 22, 0.32);
  background: rgba(246, 169, 22, 0.055);
}

.private-beta-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: 16px;
  align-items: start;
}

.private-beta-steps {
  display: grid;
  gap: 2px;
}

.private-beta-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid var(--panel-border);
}

.private-beta-step:last-child {
  border-bottom: 0;
}

.private-beta-step-number {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(226, 189, 66, 0.42);
  border-radius: 50%;
  color: var(--gold);
  background: rgba(226, 189, 66, 0.08);
  font-weight: 900;
}

.private-beta-step-copy strong,
.private-beta-step-copy small {
  display: block;
}

.private-beta-step-copy strong {
  margin: 4px 0;
}

.private-beta-step-copy small {
  color: var(--text-secondary);
  line-height: 1.45;
}

.private-beta-limit-list {
  display: grid;
  gap: 0;
}

.private-beta-limit {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 11px 0;
  border-bottom: 1px solid var(--panel-border);
}

.private-beta-limit:last-child {
  border-bottom: 0;
}

.private-beta-limit strong,
.private-beta-limit small {
  display: block;
}

.private-beta-limit small {
  margin-top: 3px;
  color: var(--text-secondary);
  line-height: 1.45;
}

.private-beta-feedback-form {
  display: grid;
  gap: 14px;
}

.private-beta-feedback-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.private-beta-feedback-form label {
  display: grid;
  gap: 6px;
  color: var(--text-primary);
  font-size: 0.78rem;
  font-weight: 800;
}

.private-beta-feedback-form input,
.private-beta-feedback-form select,
.private-beta-feedback-form textarea {
  width: 100%;
  border: 1px solid var(--panel-border);
  border-radius: 9px;
  background: rgba(3, 8, 18, 0.72);
  color: var(--text-primary);
  padding: 10px 11px;
  font: inherit;
}

.private-beta-feedback-form textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.5;
}

.private-beta-feedback-form input:focus-visible,
.private-beta-feedback-form select:focus-visible,
.private-beta-feedback-form textarea:focus-visible {
  border-color: var(--gold);
  outline: 2px solid rgba(226, 189, 66, 0.18);
  outline-offset: 1px;
}

.private-beta-consent {
  display: grid !important;
  grid-template-columns: auto 1fr;
  gap: 9px !important;
  align-items: start;
  color: var(--text-secondary) !important;
  font-weight: 650 !important;
  line-height: 1.45;
}

.private-beta-consent input {
  width: auto;
  margin-top: 3px;
}

.private-beta-feedback-note {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.76rem;
  line-height: 1.5;
}

.private-beta-message {
  min-height: 1.3em;
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.8rem;
}

.private-beta-message[data-tone="ok"] {
  color: var(--green);
}

.private-beta-message[data-tone="error"] {
  color: #ff9aa5;
}

@media (max-width: 1050px) {
  .private-beta-grid,
  .private-beta-hero .panel-body {
    grid-template-columns: 1fr;
  }

  .private-beta-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 650px) {
  .private-beta-feedback-row,
  .private-beta-status-grid {
    grid-template-columns: 1fr;
  }

  .private-beta-step {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .private-beta-step .button {
    grid-column: 2;
    width: fit-content;
  }
}

@media (prefers-reduced-motion: reduce) {
  .private-beta-page * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}


/* Private Beta Guide v2 — structured first-session hierarchy */
.private-beta-v2{
  display:grid;
  gap:18px;
  max-width:1280px;
  margin:0 auto;
}
.private-beta-v2-header{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:end;
  padding:8px 2px 4px;
}
.private-beta-v2-heading{max-width:760px}
.private-beta-v2-heading h1{
  margin:8px 0 10px;
  font-size:clamp(2.25rem,5vw,4.6rem);
  line-height:.95;
  letter-spacing:-.055em;
}
.private-beta-v2-heading p{
  max-width:690px;
  margin:0;
  color:var(--text-secondary);
  font-size:1rem;
  line-height:1.65;
}
.private-beta-v2-header-actions,
.private-beta-v2-mission-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.private-beta-v2-status{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.private-beta-v2-status .private-beta-status-card{
  min-height:112px;
  padding:14px;
}
.private-beta-v2-mission{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
  gap:24px;
  align-items:center;
  padding:clamp(22px,4vw,38px);
  border:1px solid rgba(226,189,66,.34);
  border-radius:22px;
  background:
    radial-gradient(circle at 82% 18%,rgba(226,189,66,.13),transparent 32%),
    linear-gradient(145deg,#08111b,#03070d 70%);
  box-shadow:0 28px 70px rgba(0,0,0,.24);
}
.private-beta-v2-mission::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,#000,transparent 86%);
}
.private-beta-v2-mission-copy{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
}
.private-beta-v2-number,
.private-beta-v2-stage-number{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:1px solid rgba(226,189,66,.4);
  border-radius:50%;
  color:var(--gold);
  background:rgba(226,189,66,.07);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.08em;
}
.private-beta-v2-mission h2{
  margin:7px 0 9px;
  font-size:clamp(1.75rem,3.8vw,3.2rem);
  line-height:1.02;
  letter-spacing:-.04em;
}
.private-beta-v2-mission p{
  max-width:690px;
  margin:0;
  color:var(--text-secondary);
  line-height:1.6;
}
.private-beta-v2-mission-actions{margin-top:18px}
.private-beta-v2-guide-state{
  position:relative;
  z-index:1;
  display:grid;
  gap:9px;
  padding:17px;
  border:1px solid rgba(226,189,66,.24);
  border-radius:15px;
  background:rgba(2,7,13,.66);
}
.private-beta-v2-guide-state>span{
  color:var(--text-secondary);
  font-size:.72rem;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.private-beta-v2-guide-state>strong{font-size:1.2rem}
.private-beta-v2-guide-state>small{
  color:var(--text-secondary);
  line-height:1.5;
}
.private-beta-v2-walkthrough .panel-header{align-items:end}
.private-beta-v2-journey{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.private-beta-v2-stage{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:14px;
  min-width:0;
  padding:17px;
  border:1px solid var(--panel-border);
  border-radius:14px;
  background:rgba(255,255,255,.017);
}
.private-beta-v2-stage>div>span{
  display:block;
  color:var(--gold);
  font-size:.67rem;
  font-weight:900;
  letter-spacing:.12em;
}
.private-beta-v2-stage strong{
  display:block;
  margin-top:7px;
  font-size:.98rem;
}
.private-beta-v2-stage p{
  margin:7px 0 0;
  color:var(--text-secondary);
  font-size:.8rem;
  line-height:1.5;
}
.private-beta-v2-stage .button{
  justify-self:start;
  align-self:end;
}
.private-beta-v2-secondary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.private-beta-v2-details{
  border:1px solid var(--panel-border);
  border-radius:15px;
  background:rgba(255,255,255,.014);
  overflow:hidden;
}
.private-beta-v2-details summary{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  padding:17px 18px;
  cursor:pointer;
  list-style:none;
}
.private-beta-v2-details summary::-webkit-details-marker{display:none}
.private-beta-v2-details summary span{display:grid;gap:4px}
.private-beta-v2-details summary strong{font-size:.95rem}
.private-beta-v2-details summary small{
  color:var(--text-secondary);
  font-size:.76rem;
  line-height:1.4;
}
.private-beta-v2-details summary b{
  color:var(--gold);
  font-size:1.1rem;
  font-weight:500;
}
.private-beta-v2-details[open] summary{
  border-bottom:1px solid var(--panel-border);
  background:rgba(226,189,66,.035);
}
.private-beta-v2-details[open] summary b{transform:rotate(45deg)}
.private-beta-v2-details-body{padding:4px 18px 10px}
.private-beta-v2-boundary{
  display:grid;
  grid-template-columns:minmax(240px,.55fr) minmax(0,1.45fr);
  gap:20px;
  align-items:center;
  padding:16px 18px;
  border-left:3px solid rgba(226,189,66,.7);
  border-radius:0 12px 12px 0;
  background:rgba(226,189,66,.045);
}
.private-beta-v2-boundary strong{display:block;margin-top:5px}
.private-beta-v2-boundary p{
  margin:0;
  color:var(--text-secondary);
  font-size:.8rem;
  line-height:1.55;
}
.private-beta-v2-feedback{margin-top:2px}

@media(max-width:1050px){
  .private-beta-v2-header{align-items:start}
  .private-beta-v2-status{grid-template-columns:repeat(2,minmax(0,1fr))}
  .private-beta-v2-mission{grid-template-columns:1fr}
  .private-beta-v2-journey{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .private-beta-v2-header{display:grid}
  .private-beta-v2-header-actions .button,
  .private-beta-v2-mission-actions .button{width:100%}
  .private-beta-v2-status,
  .private-beta-v2-journey,
  .private-beta-v2-secondary,
  .private-beta-v2-boundary{grid-template-columns:1fr}
  .private-beta-v2-mission{padding:19px;border-radius:18px}
  .private-beta-v2-mission-copy{grid-template-columns:1fr}
  .private-beta-v2-number{width:36px;height:36px}
  .private-beta-v2-stage{grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto}
  .private-beta-v2-stage .button{grid-column:2;width:100%}
}


/* Customer-visible persistent decision record system */
.private-beta-record-system{
  position:relative;
  overflow:hidden;
  padding:clamp(20px,3vw,30px);
  border:1px solid rgba(226,189,66,.3);
  border-radius:20px;
  background:
    radial-gradient(circle at 50% 45%,rgba(226,189,66,.11),transparent 32%),
    linear-gradient(145deg,rgba(8,17,27,.98),rgba(2,7,13,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.22);
}
.private-beta-record-system::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:radial-gradient(circle at 50% 50%,#000,transparent 82%);
}
.private-beta-record-head,
.private-beta-record-map,
.private-beta-record-footer{position:relative;z-index:1}
.private-beta-record-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.private-beta-record-head>div{max-width:760px}
.private-beta-record-head h2{
  margin:6px 0 8px;
  font-size:clamp(1.55rem,3vw,2.45rem);
  line-height:1.06;
  letter-spacing:-.035em;
}
.private-beta-record-head p{
  margin:0;
  color:var(--text-secondary);
  font-size:.88rem;
  line-height:1.58;
}
.private-beta-record-badge{
  flex:0 0 auto;
  padding:9px 11px;
  border:1px solid rgba(226,189,66,.34);
  border-radius:999px;
  background:rgba(226,189,66,.06);
  color:var(--gold);
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.1em;
}
.private-beta-record-map{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,.86fr) minmax(0,1fr);
  gap:14px;
  align-items:stretch;
}
.private-beta-record-rail{
  display:grid;
  gap:10px;
}
.private-beta-record-node{
  display:grid;
  align-content:center;
  gap:5px;
  min-height:118px;
  padding:15px;
  border:1px solid var(--panel-border);
  border-radius:13px;
  background:rgba(255,255,255,.018);
}
.private-beta-record-node>span,
.private-beta-record-core>span{
  color:var(--gold);
  font-size:.64rem;
  font-weight:900;
  letter-spacing:.11em;
}
.private-beta-record-node>strong{font-size:.96rem}
.private-beta-record-node>small{
  color:var(--text-secondary);
  font-size:.74rem;
  line-height:1.45;
}
.private-beta-record-core{
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  min-height:246px;
  padding:20px;
  border:1px solid rgba(226,189,66,.38);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(226,189,66,.08),rgba(3,8,18,.78));
  text-align:center;
}
.private-beta-record-stack{
  position:relative;
  width:112px;
  height:72px;
  margin-bottom:4px;
}
.private-beta-record-stack i{
  position:absolute;
  left:6px;
  right:6px;
  height:28px;
  border:1px solid rgba(226,189,66,.62);
  border-radius:50%;
  background:linear-gradient(180deg,rgba(226,189,66,.13),rgba(3,8,18,.9));
  box-shadow:0 0 22px rgba(226,189,66,.05);
}
.private-beta-record-stack i:nth-child(1){top:0}
.private-beta-record-stack i:nth-child(2){top:14px}
.private-beta-record-stack i:nth-child(3){top:28px}
.private-beta-record-stack i:nth-child(4){top:42px}
.private-beta-record-core>strong{
  max-width:240px;
  font-size:1.05rem;
}
.private-beta-record-core>p{
  max-width:260px;
  margin:0;
  color:var(--text-secondary);
  font-size:.72rem;
  line-height:1.45;
}
.private-beta-record-fields{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:5px;
  margin-top:3px;
}
.private-beta-record-fields small{
  padding:4px 6px;
  border:1px solid var(--panel-border);
  border-radius:999px;
  color:var(--text-secondary);
  font-size:.61rem;
  font-weight:800;
}
.private-beta-record-footer{
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--panel-border);
  color:var(--text-secondary);
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.03em;
}
.private-beta-record-footer b{color:var(--gold);font-weight:800}

@media(max-width:1050px){
  .private-beta-record-map{grid-template-columns:1fr 1fr}
  .private-beta-record-core{grid-column:1/-1;grid-row:1}
}
@media(max-width:700px){
  .private-beta-record-head{display:grid}
  .private-beta-record-badge{justify-self:start}
  .private-beta-record-map{grid-template-columns:1fr}
  .private-beta-record-core{grid-column:auto;grid-row:auto;min-height:220px}
  .private-beta-record-node{min-height:0}
  .private-beta-record-footer{justify-content:flex-start}
}

/* Card evidence request: reviewable card reference (only card-identity fields are sent). */
.private-beta-card-reference {
  display: grid;
  gap: 12px;
  margin: 0;
  min-width: 0;
  border: 1px solid rgba(226, 189, 66, 0.35);
  border-radius: 12px;
  background: rgba(226, 189, 66, 0.04);
  padding: 14px;
}

.private-beta-card-reference legend {
  padding: 0 6px;
  color: var(--text-primary);
  font-size: 0.86rem;
  font-weight: 800;
}

.private-beta-card-intro {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.82rem;
  line-height: 1.5;
}

.private-beta-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.private-beta-card-field {
  min-width: 0;
}

.private-beta-card-field-wide {
  grid-column: 1 / -1;
}

.private-beta-card-chip {
  justify-self: start;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1.4;
}

.private-beta-card-chip[data-tone="search"] {
  background: rgba(97, 168, 255, 0.14);
  color: #9cc8ff;
}

.private-beta-card-chip[data-tone="edited"] {
  background: rgba(226, 189, 66, 0.16);
  color: #f3d77a;
}

.private-beta-card-chip[data-tone="missing"] {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text-secondary);
}

.private-beta-card-remove {
  justify-self: start;
  border: 0;
  background: none;
  padding: 0;
  color: var(--text-secondary);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 650;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}

.private-beta-card-remove:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
  border-radius: 2px;
}

@media (max-width: 650px) {
  .private-beta-card-grid {
    grid-template-columns: 1fr;
  }
}

/* phase3-first-decision-activation-v1.css */
/* FlipForge Phase 3 — first-decision activation and returning-user intelligence home */
:root{
  --ff-p3-gold:#d4af37;
  --ff-p3-gold-soft:#f0d184;
  --ff-p3-deep:#b8860b;
  --ff-p3-ink:#02060c;
  --ff-p3-panel:#07101a;
  --ff-p3-line:rgba(255,255,255,.09);
  --ff-p3-muted:#9ba6b3;
  --ff-p3-green:#75c69d;
  --ff-p3-red:#e06b6b;
}
.ff-p3-activation{
  position:relative;overflow:hidden;margin:0 0 24px;padding:26px;
  border:1px solid rgba(212,175,55,.27);border-radius:24px;
  background:
    radial-gradient(circle at 78% 26%,rgba(212,175,55,.13),transparent 28%),
    linear-gradient(145deg,#07111b,#03070d 68%);
  box-shadow:0 28px 80px rgba(0,0,0,.28);
}
.ff-p3-activation::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:30px 30px;
  mask-image:linear-gradient(to bottom,#000,transparent 82%);
}
.ff-p3-activation-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:28px;align-items:center}
.ff-p3-kicker{display:block;color:var(--ff-p3-gold-soft);font-size:.72rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ff-p3-activation h2{margin:8px 0 10px;font-size:clamp(2rem,4.5vw,4rem);line-height:.96;letter-spacing:-.05em}
.ff-p3-activation p{max-width:650px;margin:0;color:#b0bac6;line-height:1.65}
.ff-p3-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.ff-p3-actions .button{min-height:44px}
.ff-p3-first-steps{display:grid;gap:9px}
.ff-p3-first-step{
  display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:12px 13px;
  border:1px solid var(--ff-p3-line);border-radius:14px;background:rgba(255,255,255,.018)
}
.ff-p3-first-step b{
  width:36px;height:36px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(212,175,55,.38);color:var(--ff-p3-gold);font-size:.75rem
}
.ff-p3-first-step strong{display:block;font-size:.88rem}
.ff-p3-first-step small{display:block;margin-top:3px;color:#85919f;font-size:.75rem;line-height:1.4}

/* Returning customer dashboard */
.ff-p3-returning{
  margin:0 0 22px;padding:20px;border:1px solid rgba(212,175,55,.18);border-radius:20px;
  background:linear-gradient(110deg,rgba(212,175,55,.065),rgba(255,255,255,.016));
}
.ff-p3-returning-head{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:14px}
.ff-p3-returning-head h2{margin:4px 0 0;font-size:1.45rem}
.ff-p3-returning-head p{margin:0;color:#929daa;font-size:.82rem}
.ff-p3-returning-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ff-p3-returning-card{
  min-height:110px;padding:15px;border:1px solid var(--ff-p3-line);border-radius:14px;
  background:#07101a;text-decoration:none;color:#fff;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease
}
.ff-p3-returning-card:hover{transform:translateY(-3px);border-color:rgba(212,175,55,.34);box-shadow:0 14px 30px rgba(0,0,0,.2)}
.ff-p3-returning-card span{display:block;color:var(--ff-p3-gold);font-size:.62rem;font-weight:900;letter-spacing:.12em}
.ff-p3-returning-card strong{display:block;margin-top:9px;font-size:.95rem}
.ff-p3-returning-card small{display:block;margin-top:6px;color:#8e99a6;line-height:1.4}

/* Animated real evaluate path */
.ff-p3-evaluate-shell{margin-bottom:10px}
.ff-p3-evaluate-shell--results-ready{display:none!important}
.ff-p3-evaluate-intro{
  position:relative;overflow:hidden;padding:13px 15px;border:1px solid rgba(212,175,55,.22);border-radius:14px;
  background:linear-gradient(135deg,#07111b,#03070d)
}
.ff-p3-evaluate-intro::after{display:none!important;content:none!important}
.ff-p3-evaluate-copy{position:relative;z-index:2}
.ff-p3-evaluate-copy small{color:var(--ff-p3-gold-soft);font-size:.64rem;font-weight:900;letter-spacing:.12em}
.ff-p3-evaluate-copy h2{margin:4px 0 3px;font-size:clamp(1.15rem,2vw,1.5rem);letter-spacing:-.025em}
.ff-p3-evaluate-copy p{margin:0;color:#a7b1bd;font-size:.78rem;line-height:1.4}
.ff-p3-evaluate-rail{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.ff-p3-evaluate-step{
  display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:7px;min-height:44px;
  padding:7px 9px;border:1px solid var(--ff-p3-line);border-radius:10px;background:rgba(3,8,14,.78)
}
.ff-p3-evaluate-step b{display:block;color:#83909d;font-size:.58rem;letter-spacing:.1em}
.ff-p3-evaluate-step strong{display:block;margin:0;font-size:.72rem}
.ff-p3-evaluate-step small{display:none}
.ff-p3-evaluate-shell--compact .ff-p3-evaluate-copy p{display:none}
.ff-p3-evaluate-shell--compact .ff-p3-evaluate-rail{margin-top:7px}
.ff-p3-evaluate-intro[data-stage="identity"] .ff-p3-evaluate-step[data-p3-step="identity"],
.ff-p3-evaluate-intro[data-stage="identity-review"] .ff-p3-evaluate-step[data-p3-step="identity"],
.ff-p3-evaluate-intro[data-stage="evidence"] .ff-p3-evaluate-step[data-p3-step="evidence"],
.ff-p3-evaluate-intro[data-stage="handoff"] .ff-p3-evaluate-step[data-p3-step="decision"]{
  border-color:rgba(212,175,55,.46);background:rgba(212,175,55,.08)
}
.ff-p3-evaluate-intro[data-stage="identity"] .ff-p3-evaluate-step[data-p3-step="identity"] b,
.ff-p3-evaluate-intro[data-stage="identity-review"] .ff-p3-evaluate-step[data-p3-step="identity"] b,
.ff-p3-evaluate-intro[data-stage="evidence"] .ff-p3-evaluate-step[data-p3-step="evidence"] b,
.ff-p3-evaluate-intro[data-stage="handoff"] .ff-p3-evaluate-step[data-p3-step="decision"] b{color:var(--ff-p3-gold)}
.customer-discovery-search.ff-p3-evaluate-card{
  border-color:rgba(212,175,55,.22)!important;
  box-shadow:0 22px 55px rgba(0,0,0,.18)
}

/* First result education */
.ff-p3-result-guide{
  position:relative;margin:18px 0;padding:22px;border:1px solid rgba(212,175,55,.24);border-radius:20px;
  background:linear-gradient(145deg,#07101a,#03070d);overflow:hidden
}
.ff-p3-result-guide::before{
  content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,var(--ff-p3-gold-soft),var(--ff-p3-deep))
}
.ff-p3-result-guide-head{padding-left:10px;display:flex;justify-content:space-between;gap:18px;align-items:start}
.ff-p3-result-guide-head h2{margin:6px 0 6px;font-size:1.55rem}
.ff-p3-result-guide-head p{margin:0;color:#96a1ae;line-height:1.55}
.ff-p3-result-pill{padding:9px 12px;border-radius:999px;background:var(--ff-p3-gold);color:#04070a;font-size:.72rem;font-weight:950;letter-spacing:.08em}
.ff-p3-result-guide[data-decision="BUY"] .ff-p3-result-pill{background:var(--ff-p3-green)}
.ff-p3-result-guide[data-decision="PASS"] .ff-p3-result-pill{background:var(--ff-p3-red)}
.ff-p3-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px}
.ff-p3-result-grid article{padding:14px;border:1px solid var(--ff-p3-line);border-radius:13px;background:rgba(255,255,255,.017)}
.ff-p3-result-grid span{display:block;color:var(--ff-p3-gold);font-size:.61rem;font-weight:900;letter-spacing:.11em}
.ff-p3-result-grid strong{display:block;margin-top:8px;font-size:.89rem}
.ff-p3-result-grid p{margin:6px 0 0;color:#8995a2;font-size:.76rem;line-height:1.45}
.ff-p3-decision-key{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.ff-p3-decision-key span{padding:7px 9px;border:1px solid var(--ff-p3-line);border-radius:999px;color:#8d99a6;font-size:.68rem}
.ff-p3-decision-key span[data-active="true"]{border-color:rgba(212,175,55,.46);color:#fff;background:rgba(212,175,55,.07)}
.ff-p3-result-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}

/* Gentle entrance; no hidden content for no-motion users */
.ff-p3-enter{animation:ffP3Enter .58s cubic-bezier(.2,.8,.2,1) both}
@keyframes ffP3Enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

@media(max-width:980px){
  .ff-p3-activation-grid{grid-template-columns:1fr}
  .ff-p3-returning-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:680px){
  .ff-p3-activation{padding:18px;border-radius:18px}
  .ff-p3-returning{padding:15px}
  .ff-p3-returning-head,.ff-p3-result-guide-head{display:block}
  .ff-p3-returning-grid,.ff-p3-result-grid{grid-template-columns:1fr}
  .ff-p3-evaluate-intro{padding:17px}
  .ff-p3-evaluate-rail{grid-template-columns:repeat(2,1fr)}
  .ff-p3-result-pill{display:inline-block;margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .ff-p3-enter{animation:none!important}
  .ff-p3-returning-card{transition:none!important}
}

/* First-session Home — suppress empty analytics until there is something to analyze */
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-head{
  align-items:start;
}
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-head h1{
  font-size:clamp(2rem,4vw,3.4rem);
  letter-spacing:-.045em;
}
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-head>div:first-child{
  max-width:720px;
}
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-head-actions,
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-kpi-grid,
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-main-grid,
.ff-commercial-dashboard.ff-p3-zero-dashboard .ff-dashboard-boundary{
  display:none!important;
}
.ff-p3-home-zero{
  margin-top:4px;
}
.ff-p3-home-zero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:30px;
  align-items:center;
}
.ff-p3-home-zero-copy h2{
  margin:8px 0 10px;
  max-width:680px;
  font-size:clamp(2.25rem,5vw,4.5rem);
  line-height:.96;
  letter-spacing:-.055em;
}
.ff-p3-home-zero-copy p{
  max-width:660px;
}
.ff-p3-home-learn{
  display:inline-block;
  margin-top:15px;
  color:var(--ff-p3-gold-soft);
  font-size:.8rem;
  font-weight:800;
  text-decoration:none;
}
.ff-p3-home-learn:hover,
.ff-p3-home-learn:focus-visible{
  text-decoration:underline;
}
.ff-p3-home-path{
  display:grid;
  gap:10px;
}
.ff-p3-home-zero-footer{
  position:relative;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(255,255,255,.08);
}
.ff-p3-home-zero-footer span{
  color:#fff;
  font-size:.8rem;
  font-weight:850;
}
.ff-p3-home-zero-footer small{
  max-width:650px;
  color:#8793a0;
  font-size:.74rem;
  line-height:1.45;
  text-align:right;
}
.ff-commercial-dashboard.ff-p3-returning-dashboard .ff-dashboard-head h1{
  letter-spacing:-.035em;
}

@media(max-width:900px){
  .ff-p3-home-zero-grid{grid-template-columns:1fr}
}
@media(max-width:680px){
  .ff-p3-home-zero-copy h2{font-size:clamp(2rem,12vw,3.25rem)}
  .ff-p3-home-zero .ff-p3-actions .button{width:100%}
  .ff-p3-home-zero-footer{display:grid}
  .ff-p3-home-zero-footer small{text-align:left}
}

/* customer-shell-brand-v1.css */
/*
 * FlipForge Customer Shell Brand Alignment v1 — presentation only.
 * Aligns the persistent customer shell (banner, sidebar, topbar, shell CTA, Guide me launcher)
 * with the locked Brand Sheet v2.1 and the Dashboard V3 surface:
 *   root #07080A · navigation surfaces #0B0D10 · rules #2A2E33
 *   white #FFFFFF · silver #888F98 · gold #D4AF37 · deep gold #B8860B
 * No blue tint, no neon, no decorative gradients. Loaded last so it wins over earlier shell layers.
 * Never changes routes, actions, guide workflow, recommendations or data.
 */
:root {
  --ff-shell-root: #07080a;
  --ff-shell-surface: #0b0d10;
  --ff-shell-raised: #121418;
  --ff-shell-rule: #2a2e33;
  --ff-shell-white: #ffffff;
  --ff-shell-silver: #888f98;
  --ff-shell-gold: #d4af37;
  --ff-shell-deep-gold: #b8860b;
}

/* Black-first page and workspace */
body.ff-commercial-shell,
body.ff-commercial-shell .app-shell[data-ff-interface="customer"],
body.ff-commercial-shell .app-shell[data-ff-interface="customer"] .workspace {
  background-color: var(--ff-shell-root) !important;
  background-image: none !important;
  color: var(--ff-shell-white);
}

/* Private Beta banner */
body.ff-commercial-shell .prototype-banner {
  background: #000000 !important;
  color: var(--ff-shell-silver) !important;
  border-color: var(--ff-shell-rule) !important;
}
body.ff-commercial-shell .prototype-banner strong { color: var(--ff-shell-gold) !important; }
body.ff-commercial-shell .prototype-banner span { color: var(--ff-shell-silver) !important; }

/* Sidebar */
.app-shell[data-ff-interface="customer"] .sidebar {
  background-color: var(--ff-shell-surface) !important;
  background-image: none !important;
  border-color: var(--ff-shell-rule) !important;
  box-shadow: none !important;
}
.app-shell[data-ff-interface="customer"] .sidebar-footer,
.app-shell[data-ff-interface="customer"] .sidebar .ff-core-nav {
  background-image: none !important;
  box-shadow: none !important;
}
.app-shell[data-ff-interface="customer"] .sidebar a,
.app-shell[data-ff-interface="customer"] .sidebar summary,
.app-shell[data-ff-interface="customer"] .sidebar strong,
.app-shell[data-ff-interface="customer"] .sidebar .forge-nav-state {
  color: var(--ff-shell-white) !important;
}
.app-shell[data-ff-interface="customer"] .sidebar small,
.app-shell[data-ff-interface="customer"] .sidebar .ff-advanced-hint,
.app-shell[data-ff-interface="customer"] .sidebar .usage-row {
  color: var(--ff-shell-silver) !important;
}
.app-shell[data-ff-interface="customer"] .sidebar .ff-nav-icon,
.app-shell[data-ff-interface="customer"] .sidebar .ff-nav-icon svg { color: var(--ff-shell-silver) !important; }
.app-shell[data-ff-interface="customer"] .sidebar a.active .ff-nav-icon,
.app-shell[data-ff-interface="customer"] .sidebar a[aria-current="page"] .ff-nav-icon,
.app-shell[data-ff-interface="customer"] .sidebar a.active .ff-nav-icon svg,
.app-shell[data-ff-interface="customer"] .sidebar a[aria-current="page"] .ff-nav-icon svg { color: var(--ff-shell-gold) !important; }
.app-shell[data-ff-interface="customer"] .sidebar .ff-core-nav,
.app-shell[data-ff-interface="customer"] .sidebar .plan-card {
  border-color: var(--ff-shell-rule) !important;
}
.app-shell[data-ff-interface="customer"] .sidebar a.active,
.app-shell[data-ff-interface="customer"] .sidebar a[aria-current="page"] {
  background-color: var(--ff-shell-raised) !important;
  background-image: none !important;
  border-color: var(--ff-shell-gold) !important;
  color: var(--ff-shell-gold) !important;
  box-shadow: none !important;
}
.app-shell[data-ff-interface="customer"] .sidebar .prototype-chip {
  background: transparent !important;
  color: var(--ff-shell-gold) !important;
  border-color: var(--ff-shell-deep-gold) !important;
}

/* Wordmark: FLIP white / FORGE gold, descriptor gold (colors of the official horizontal lockup) */
.app-shell[data-ff-interface="customer"] .brand-name { color: var(--ff-shell-white) !important; }
.app-shell[data-ff-interface="customer"] .brand-name .brand-forge,
.app-shell[data-ff-interface="customer"] .brand-name::after,
.app-shell[data-ff-interface="customer"] .brand-subtitle { color: var(--ff-shell-gold) !important; }

/* Topbar */
.app-shell[data-ff-interface="customer"] .topbar {
  background-color: var(--ff-shell-root) !important;
  background-image: none !important;
  border-color: var(--ff-shell-rule) !important;
  box-shadow: none !important;
}
.app-shell[data-ff-interface="customer"] .topbar .global-search,
.app-shell[data-ff-interface="customer"] .topbar .global-search input,
.app-shell[data-ff-interface="customer"] .topbar .icon-button,
.app-shell[data-ff-interface="customer"] .topbar .date-button:not(.ff-global-new-card),
.app-shell[data-ff-interface="customer"] .topbar .profile-button {
  background-color: var(--ff-shell-surface) !important;
  background-image: none !important;
  border-color: var(--ff-shell-rule) !important;
  color: var(--ff-shell-white) !important;
  box-shadow: none !important;
}
.app-shell[data-ff-interface="customer"] .topbar .global-search input::placeholder { color: var(--ff-shell-silver) !important; }
.app-shell[data-ff-interface="customer"] .topbar .global-search > span,
.app-shell[data-ff-interface="customer"] .sidebar .ff-mobile-account-nav span,
.app-shell[data-ff-interface="customer"] .topbar kbd,
.app-shell[data-ff-interface="customer"] .topbar .profile-copy small { color: var(--ff-shell-silver) !important; }
.app-shell[data-ff-interface="customer"] .topbar .profile-copy,
.app-shell[data-ff-interface="customer"] .topbar .profile-copy strong { color: var(--ff-shell-white) !important; }
.app-shell[data-ff-interface="customer"] .topbar .avatar {
  background: var(--ff-shell-gold) !important;
  color: #000000 !important;
}

/* Shell Evaluate CTA: flat gold, no gradient, no glow. Destination and behavior unchanged. */
.app-shell[data-ff-interface="customer"] .topbar .ff-global-new-card {
  background: var(--ff-shell-gold) !important;
  background-image: none !important;
  border: 1px solid var(--ff-shell-gold) !important;
  color: #000000 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
}
.app-shell[data-ff-interface="customer"] .topbar .ff-global-new-card:hover,
.app-shell[data-ff-interface="customer"] .topbar .ff-global-new-card:focus-visible {
  background: var(--ff-shell-deep-gold) !important;
  border-color: var(--ff-shell-deep-gold) !important;
  color: #000000 !important;
}
.app-shell[data-ff-interface="customer"] .topbar .ff-global-new-card:focus-visible {
  outline: 2px solid var(--ff-shell-white) !important;
  outline-offset: 2px !important;
}

/* Guide me launcher: flat, black/gold, and parked where it cannot cover page content. */
body.ff-commercial-shell .ff-guide-launcher {
  background: var(--ff-shell-surface) !important;
  background-image: none !important;
  border: 1px solid var(--ff-shell-deep-gold) !important;
  color: var(--ff-shell-white) !important;
  box-shadow: none !important;
}
body.ff-commercial-shell .ff-guide-launcher::before {
  background: var(--ff-shell-gold) !important;
  background-image: none !important;
  color: #000000 !important;
  box-shadow: none !important;
}
body.ff-commercial-shell .ff-guide-launcher:hover,
body.ff-commercial-shell .ff-guide-launcher:focus-visible { border-color: var(--ff-shell-gold) !important; }

/* Only >= 901px has a persistent sidebar; below that the drawer is off-canvas. */
@media (min-width: 901px) {
  body.ff-commercial-shell .ff-guide-launcher {
    left: 18px !important;
    right: auto !important;
    bottom: 18px !important;
    top: auto !important;
    width: 208px !important;
    max-width: 208px !important;
    justify-content: flex-start !important;
  }
}

/* Drawer navigation (<= 900px): launcher is appended to body, not inside the topbar.
 * Offset below the 32px Private Beta banner, next to search; it scrolls away with the page. */
@media (max-width: 900px) {
  .app-shell[data-ff-interface="customer"] .topbar { padding-right: 58px !important; }
  body.ff-commercial-shell .ff-guide-launcher {
    position: absolute !important;
    top: 39px !important;
    right: 9px !important;
    bottom: auto !important;
    left: auto !important;
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    padding-left: 7px !important;
    justify-content: flex-start !important;
    color: transparent !important;
    gap: 0 !important;
  }
  body.ff-commercial-shell .ff-guide-launcher::before { margin: 0 !important; flex: 0 0 24px !important; width: 24px !important; height: 24px !important; }
}

/* The phone shell hides the Private Beta banner <=760px; its topbar starts at page top. */
@media (max-width: 760px) {
  body.ff-commercial-shell .ff-guide-launcher { top: 7px !important; }
}

/* customer-focused-v3-v1.css */
/*
 * FlipForge Focused Dashboard V3 — owner preview only.
 * Only applied to ?dashboard=v3&focus=1 on an authenticated G1 read model.
 * No prices, scores, verdicts, records, or routing are invented or modified.
 * Palette is an extension of locked Brand v2.1; no decorative charts/glows.
 */
.ffv3-root[data-ffv3-focus="true"] {
  --ff-focus-buy:#60c99f;
  --ff-focus-watch:#d4af37;
  --ff-focus-verify:#adc4d7;
  --ff-focus-pass:#ef8d92;
  --ff-focus-info:#7dbdc7;
}
.ffv3-root[data-ffv3-focus="true"] .ffv3-layout {
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"dossier" "ledger";
}
@media (min-width:1200px) {
  .ffv3-root[data-ffv3-focus="true"] .ffv3-layout {
    grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);
    grid-template-areas:"dossier ledger";
    gap:20px;
  }
  .ffv3-root[data-ffv3-focus="true"] .ffv3-dossier-slot {position:static}
}
.ffv3-root[data-ffv3-focus="true"] .ffv3-command-bar {padding-bottom:10px}
.ffv3-root[data-ffv3-focus="true"] .ffv3-command-title h1 {letter-spacing:-.03em}
.ffv3-root[data-ffv3-focus="true"] .ffv3-dossier {border-color:#343a40}
.ffv3-root[data-ffv3-focus="true"] .ffv3-dossier > [data-ffv3-section="verdict"] {border-top-color:var(--ffv3-gold)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict-word {font-size:clamp(38px,4vw,54px);line-height:1.06}
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict-word[data-verdict="buy"],
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict[data-verdict="buy"] {color:var(--ff-focus-buy)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict-word[data-verdict="watch"],
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict[data-verdict="watch"] {color:var(--ff-focus-watch)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict-word[data-verdict="verify"],
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict[data-verdict="verify"] {color:var(--ff-focus-verify)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict-word[data-verdict="pass"],
.ffv3-root[data-ffv3-focus="true"] .ffv3-verdict[data-verdict="pass"] {color:var(--ff-focus-pass)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row[data-verdict="buy"] {border-left-color:var(--ff-focus-buy)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row[data-verdict="watch"] {border-left-color:var(--ff-focus-watch)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row[data-verdict="verify"] {border-left-color:var(--ff-focus-verify)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row[data-verdict="pass"] {border-left-color:var(--ff-focus-pass)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-dossier > [data-ffv3-section="verdict"]:has(.ffv3-verdict-word[data-verdict="buy"]) {border-top-color:var(--ff-focus-buy)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-dossier > [data-ffv3-section="verdict"]:has(.ffv3-verdict-word[data-verdict="verify"]) {border-top-color:var(--ff-focus-verify)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-dossier > [data-ffv3-section="verdict"]:has(.ffv3-verdict-word[data-verdict="pass"]) {border-top-color:var(--ff-focus-pass)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.ffv3-root[data-ffv3-focus="true"] .ffv3-row-grid > span:nth-child(2),
.ffv3-root[data-ffv3-focus="true"] .ffv3-row-grid > span:nth-child(4),
.ffv3-root[data-ffv3-focus="true"] .ffv3-row-grid > span:nth-child(5),
.ffv3-root[data-ffv3-focus="true"] .ffv3-row-next {display:none}
.ffv3-root[data-ffv3-focus="true"] .ffv3-evidence-preview {
  border-left:3px solid var(--ff-focus-info);
  padding:10px 12px;
  margin-top:10px;
}
.ffv3-root[data-ffv3-focus="true"] .ffv3-econ-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.ffv3-root[data-ffv3-focus="true"] .ffv3-econ-grid > :nth-child(4) {display:none}
.ffv3-root[data-ffv3-focus="true"] .ffv3-econ-grid .ffv3-fact dd {font-size:clamp(20px,2.7vw,29px)}
.ffv3-root[data-ffv3-focus="true"] .ffv3-econ-grid .ffv3-fact:nth-child(2) dd {color:var(--ffv3-gold)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-evidence-jump {
  width:100%;display:flex;align-items:center;justify-content:flex-end;
  min-height:38px;padding:8px 18px;border:0;border-top:1px solid var(--ffv3-line);
  color:#9fd3da;background:#0c1215;font:inherit;font-size:13px;font-weight:650;cursor:pointer;
}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-evidence-jump:hover {background:#112027}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-evidence-jump:focus-visible {outline:2px solid var(--ffv3-gold);outline-offset:-2px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-tabs {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  background:#0d0f11;border-top:1px solid var(--ffv3-line);border-bottom:1px solid var(--ffv3-line);
}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-tabs > button {
  min-height:46px;padding:10px 6px;border:0;border-bottom:2px solid transparent;
  color:#aeb6be;background:transparent;font:inherit;font-size:14px;font-weight:700;cursor:pointer;
}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-tabs > button[aria-selected="true"] {border-bottom-color:var(--ffv3-gold);color:#fff}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-tabs > button[data-ffv3-focus-tab="evidence"][aria-selected="true"] {border-bottom-color:var(--ff-focus-info)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-tabs > button:focus-visible {outline:2px solid var(--ffv3-gold);outline-offset:-3px}
.ffv3-root[data-ffv3-focus="true"] [data-ffv3-focus-panel][hidden] {display:none}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-body {padding:16px 18px 20px;display:grid;gap:12px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-body h3 {font-size:16px;letter-spacing:-.01em}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-reason,
.ffv3-root[data-ffv3-focus="true"] .ff-focus-provenance {font-size:14px;color:#c5cbd1;line-height:1.55}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-caution {font-size:13px;line-height:1.5;color:#b9c2c9}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-caution b {color:var(--ff-focus-verify)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-action {border-left:2px solid var(--ffv3-gold);background:#191c20;padding:10px 12px;display:grid;gap:4px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-action span {font-size:11px;color:#bbc2cb;text-transform:uppercase;letter-spacing:.08em}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-action strong {font-size:14px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-facts {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-facts .ffv3-fact {padding:10px;border:1px solid #343a40;border-radius:6px;background:#11151a}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcomes {display:grid;gap:0}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome {display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid var(--ffv3-line);font-variant-numeric:tabular-nums}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome span {color:#bcc4cc}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome strong {color:#f6f6f5}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome[data-negative="true"] strong {color:var(--ff-focus-pass)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome small {color:#aab2b9;min-width:56px;text-align:right}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-full-record {border-top:1px solid var(--ffv3-line)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-full-record > summary {padding:14px 18px;cursor:pointer;color:#cdd3d9;font-size:13px;font-weight:650}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-full-record > section {padding:16px 18px;border-top:1px solid var(--ffv3-line)}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-secondary {margin-top:14px;border:1px solid var(--ffv3-line);border-radius:8px}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-secondary > summary {padding:12px 14px;color:#c8ced3;font-size:13px;cursor:pointer}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-secondary .ffv3-analytics {border:0;margin-top:0}
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="decision-intelligence"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="why-this-decision"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="evidence"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="portfolio"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="alerts"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="forge-heat"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > a[data-route="market-view"],
html[data-ff-customer-focus="1"] .app-shell[data-ff-interface="customer"] .primary-nav > .ff-advanced-nav {display:none!important}
html[data-ff-customer-focus="1"] .primary-nav > .ff-focus-tools {
  order:100; /* The customer nav normalizer may reinsert core route links later. */
  display:block;border-top:1px solid #2a2e33;padding:8px 6px;margin-top:8px;color:#e0e4e8;
}
html[data-ff-customer-focus="1"] .ff-focus-tools > summary {cursor:pointer;padding:10px 12px;font-size:14px;font-weight:650}
html[data-ff-customer-focus="1"] .ff-focus-tool-links {display:grid;gap:3px;padding:4px 10px 10px}
html[data-ff-customer-focus="1"] .ff-focus-tool-links a {display:block;padding:8px 10px;border-radius:6px;font-size:13px;color:#bdc5cc;text-decoration:none}
html[data-ff-customer-focus="1"] .ff-focus-tool-links a:hover,
html[data-ff-customer-focus="1"] .ff-focus-tool-links a:focus-visible {color:#fff;background:#1b2025}
@media (max-width:560px) {
  .ffv3-root[data-ffv3-focus="true"] .ffv3-econ-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .ffv3-root[data-ffv3-focus="true"] .ff-focus-facts {grid-template-columns:1fr}
  .ffv3-root[data-ffv3-focus="true"] .ff-focus-body {padding:13px 14px 18px}
  .ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome {grid-template-columns:1fr auto;gap:5px 10px}
  .ffv3-root[data-ffv3-focus="true"] .ff-focus-outcome small {grid-column:2}
}
@media (prefers-reduced-motion:reduce) {
  .ffv3-root[data-ffv3-focus="true"] * {scroll-behavior:auto!important;transition:none!important}
}
.ffv3-root[data-ffv3-focus="true"] .ff-focus-evidence-link {display:inline-block;margin-top:12px;color:var(--ffv3-gold,#d4af37);font-weight:650;text-underline-offset:4px}
.ffv3-root[data-ffv3-focus="true"] [data-ffv3-breakeven] {margin-top:14px}

/* customer-trust-display-v1.css */
/* Shared customer trust display: legacy-result notice and disabled buttons. Display only. */

/* Disabled buttons must look unavailable (for example "Evaluate CSV" before a file is chosen). */
.button:disabled,
.button[disabled] {
  opacity: .55;
  cursor: not-allowed;
}

.ff-legacy-result {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(246, 169, 22, .38);
  border-radius: 10px;
  background: rgba(246, 169, 22, .08);
  color: inherit;
  font-size: 13px;
  line-height: 1.45;
}

.ff-legacy-result .ff-legacy-badge {
  color: #f6c35a;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .01em;
}

.ff-legacy-result .ff-legacy-notice {
  color: rgba(235, 238, 242, .82);
}

.ff-legacy-result-compact {
  display: flex;
  margin: 6px 0 0;
  padding: 3px 8px;
}

.ff-legacy-result-compact .ff-legacy-badge {
  font-size: 11px;
}

.ff-evidence-withheld-note {
  margin: 0 0 8px;
  color: rgba(235, 238, 242, .72);
  font-size: 13px;
}

.ff-legacy-result-compact .ff-legacy-notice {
  font-size: 12px;
}

.ff-legacy-saved-values {
  display: block;
  margin-top: 4px;
  color: #f6c35a;
  font-size: 12px;
}

.ff-provider-evidence-summary {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 8px 0;
  padding: 10px 12px;
  border: 1px solid rgba(235, 238, 242, .14);
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.45;
}

.ff-provider-evidence-summary span,
.ff-provider-evidence-summary p {
  margin: 0;
  color: rgba(235, 238, 242, .72);
}

.ff-provider-evidence-reasons {
  margin: 0;
  padding-left: 18px;
}

