:root {
  --ink: #17212b;
  --muted: #64717d;
  --paper: #f4f6f8;
  --card: #ffffff;
  --line: #d9e0e6;
  --blue: #004a86;
  --blue-dark: #00355f;
  --amber: #9a5a18;
  --amber-accent: #c98032;
  --green: var(--blue);
  --green-dark: var(--blue-dark);
  --lime: var(--amber);
  --orange: #b7503d;
  font-family: "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(a, button, summary, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--amber);
  outline-offset: 3px;
  border-radius: 4px;
}
.app-header :where(a, button, summary, input, [tabindex]):focus-visible {
  outline-color: var(--amber-accent);
}
.hero :where(a, button, summary, input, [tabindex]):focus-visible {
  outline-color: white;
}

.hero {
  color: white;
  padding: 48px max(24px, calc((100vw - 1440px) / 2));
  background:
    radial-gradient(circle at 88% 10%, rgba(201,128,50,.28), transparent 26rem),
    linear-gradient(125deg, #002a4d, #004a86 65%, #17649f);
}
.hero__inner { display: flex; justify-content: space-between; align-items: end; gap: 32px; }
.eyebrow { margin: 0 0 10px; color: var(--lime); font-size: .72rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow--dark { color: var(--green); }
h1 { margin: 0; font-size: clamp(2.5rem, 6vw, 5rem); letter-spacing: -.055em; line-height: .92; }
.intro { margin: 18px 0 0; max-width: 740px; color: #d8e6f2; font-size: 1.08rem; }
.hero-actions { display: flex; flex-wrap: wrap; flex: none; justify-content: end; align-items: center; gap: 9px; }
.hero-actions form { margin: 0; }
.export, .amazon { text-decoration: none; font-weight: 760; }
.export { padding: 11px 15px; color: white; background: var(--amber); border-radius: 999px; font-size: .83rem; }
.export--quiet { color: white; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); }
.logout { padding: 10px 14px; color: white; background: transparent; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; cursor: pointer; }
.kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.18); border-radius: 15px; background: rgba(255,255,255,.18); }
.kpis > div { display: grid; gap: 3px; min-width: 0; padding: 18px 20px; background: rgba(0,38,70,.72); }
.kpis span, .kpis small { color: #c7d9e8; }
.kpis span { font-size: .74rem; font-weight: 750; text-transform: uppercase; }
.kpis strong { font-size: clamp(1.35rem, 2.4vw, 2rem); letter-spacing: -.03em; }

body > main { width: min(1440px, calc(100% - 40px)); margin: 0 auto; padding: 28px 0 80px; }
.method-note { display: grid; grid-template-columns: minmax(240px, .8fr) 1.6fr; gap: 28px; align-items: center; padding: 18px 20px; background: #eef5fa; border: 1px solid #c6dbe9; border-radius: 14px; }
.method-note p { margin: 5px 0 0; color: #405d73; font-size: .88rem; line-height: 1.45; }
.revenue-band { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid #c6dbe9; border-radius: 10px; }
.revenue-band span { display: grid; gap: 3px; padding: 11px 14px; background: rgba(255,255,255,.62); }
.revenue-band span + span { border-left: 1px solid #c6dbe9; }
.revenue-band small, .revenue-band em { color: #526f85; }
.revenue-band em { font-size: .72rem; font-style: normal; }

.segment-panel { margin: 24px 0; padding: 22px; background: var(--card); border: 1px solid var(--line); border-radius: 16px; }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 24px; margin-bottom: 16px; }
.section-heading h2 { margin: 0; font-size: 1.65rem; letter-spacing: -.03em; }
.section-heading > p { max-width: 480px; margin: 0; color: var(--muted); font-size: .83rem; }
.section-heading__title { display: flex; align-items: end; gap: 10px; min-width: 0; }
.section-heading__title > div:first-child { min-width: 0; }
.step-help { position: relative; z-index: 8; flex: none; margin-bottom: 2px; }
.step-help__trigger { display: grid; place-items: center; width: 28px; height: 28px; padding: 0; color: var(--blue); background: #e7f1f7; border: 1px solid #8fb7ce; border-radius: 50%; cursor: help; font-size: .8rem; font-weight: 900; }
.step-help__trigger:hover, .step-help.is-open > .step-help__trigger { color: white; background: var(--blue); border-color: var(--blue); }
.step-help__popover { position: absolute; z-index: 30; top: calc(100% + 10px); right: -8px; width: min(390px, calc(100vw - 48px)); padding: 15px 16px; color: var(--ink); background: white; border: 1px solid #b9cfdb; border-radius: 10px; box-shadow: 0 14px 38px rgba(0,42,77,.2); font-size: .78rem; font-weight: 400; line-height: 1.5; text-align: left; }
.step-help__popover::before { position: absolute; top: -6px; right: 15px; width: 10px; height: 10px; content: ""; background: white; border-top: 1px solid #b9cfdb; border-left: 1px solid #b9cfdb; transform: rotate(45deg); }
.step-help__popover > strong { display: block; margin-bottom: 7px; color: #173a55; font-size: .88rem; }
.step-help__popover p { margin: 7px 0 0; color: #405d73; }
.step-help:not(.is-open) > .step-help__popover { display: none; }
.step-help:not(.is-open):not(.suppress-focus-help):hover > .step-help__popover,
.step-help:not(.is-open):not(.suppress-focus-help):focus-within > .step-help__popover { display: block; }
.table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; contain: inline-size; }
table { width: 100%; border-collapse: collapse; font-size: .82rem; font-variant-numeric: tabular-nums; }
th { padding: 9px 10px; color: var(--muted); border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
th:first-child, th:nth-child(2), td:first-child, td:nth-child(2) { text-align: left; }
td { padding: 10px; border-bottom: 1px solid #ecece7; text-align: right; white-space: nowrap; }
tbody tr:last-child td { border-bottom: 0; }

.toolbar { position: sticky; z-index: 5; top: 0; display: grid; grid-template-columns: minmax(220px, 1.7fr) repeat(5, minmax(130px, 1fr)) auto auto; gap: 10px; align-items: end; padding: 14px 0; margin-bottom: 14px; background: rgba(244,246,248,.95); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.toolbar label, .structured-grid label, .review-box label { display: grid; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 760; }
input, select, textarea { width: 100%; color: var(--ink); background: white; border: 1px solid #c8cdc7; border-radius: 8px; outline: none; }
input, select { height: 39px; padding: 0 10px; }
input:focus, select:focus, textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(21,95,67,.11); }
.result-count { margin: 0 0 10px; color: var(--muted); font-size: .8rem; white-space: nowrap; }
.filter-submit { height: 39px; padding: 0 14px; color: white; background: var(--blue); border: 0; border-radius: 8px; cursor: pointer; font-size: .78rem; font-weight: 760; }

.products { display: grid; gap: 12px; }
.product { overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: 15px; box-shadow: 0 5px 22px rgba(22,45,35,.035); }
.product[hidden] { display: none; }
.product__summary { display: grid; grid-template-columns: 66px minmax(280px, 1fr) 170px auto; gap: 16px; align-items: center; padding: 16px 18px; }
.product__image { display: grid; place-items: center; width: 66px; height: 66px; overflow: hidden; color: var(--green); background: #edf0e9; border-radius: 11px; font-weight: 850; }
.product__image img { width: 100%; height: 100%; padding: 5px; background: white; object-fit: contain; }
.product__identity { min-width: 0; }
.brand { margin: 0 0 4px; color: var(--green); font-size: .72rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.product h3 { margin: 0; overflow: hidden; font-size: .98rem; letter-spacing: -.012em; line-height: 1.32; text-overflow: ellipsis; white-space: nowrap; }
.badges { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.badge { padding: 4px 7px; color: #4f5b55; background: #eff0eb; border-radius: 99px; font-size: .72rem; font-weight: 750; }
.badge--segment { color: white; background: var(--green); }
.badge--warn { color: #7d3d1d; background: #ffeadc; }
.badge--ok { color: #205b3f; background: #dcebd8; }
.badge--candidate { color: #55498b; background: #ebe8f8; }
.badge--observed { color: #004a86; background: #dcebf6; }
.product__commercial { display: grid; justify-items: end; gap: 2px; text-align: right; }
.product__commercial strong { font-size: 1.08rem; }
.product__commercial small { color: var(--muted); font-size: .72rem; }
.amazon { padding: 9px 11px; color: white; background: var(--green); border-radius: 8px; font-size: .77rem; white-space: nowrap; }
.amazon:hover, button:hover { background: var(--green-dark); }

.fact-strip { display: grid; grid-template-columns: repeat(6, minmax(72px, 1fr)) minmax(130px, 1.3fr); gap: 1px; background: var(--line); border-top: 1px solid var(--line); }
.fact-strip > span { display: grid; gap: 2px; padding: 9px 13px; background: #f6f6f1; }
.fact-strip small { color: var(--muted); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.fact-strip strong { font-size: .78rem; }
.fact-strip em { color: var(--muted); font-size: .72rem; font-style: normal; }
.fact-strip__sales { background: #eef3ea !important; }

.review-details { border-top: 1px solid var(--line); }
.review-details > summary { padding: 11px 18px; color: var(--green); background: #fafaf6; cursor: pointer; font-size: .77rem; font-weight: 800; }
.review-details[open] > summary { border-bottom: 1px solid var(--line); }
.review-content { padding: 18px; }
.structured-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; }
.evidence { margin: 16px 0; padding: 13px 15px; color: #5e625f; background: #f4f4ef; border-radius: 10px; font-size: .75rem; }
.evidence ul { display: grid; gap: 4px; margin: 7px 0 0; padding-left: 18px; }
.evidence small { color: #7d8681; }
.review-box { padding: 15px; background: #eef2ed; border-radius: 11px; }
.review-box__top { display: grid; grid-template-columns: 220px 1fr; align-items: end; gap: 18px; }
.review-box .confirm { display: flex; align-items: center; gap: 8px; height: 39px; color: var(--ink); font-size: .79rem; text-transform: none; }
.confirm input { width: 17px; height: 17px; }
.comment-label { display: block !important; margin: 12px 0 5px; }
textarea { min-height: 85px; padding: 10px 11px; resize: vertical; line-height: 1.45; }
.review-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; min-height: 40px; margin-top: 8px; }
.save-review { padding: 9px 13px; color: white; background: var(--green); border: 0; border-radius: 8px; cursor: pointer; font-size: .78rem; font-weight: 760; }
.save-review:disabled { opacity: .6; cursor: wait; }
.save-state { color: var(--muted); font-size: .73rem; }
.save-state--ok { color: var(--green); }
.save-state--error { color: #a0312c; }
.save-state--dirty { color: #9a5a23; }
.empty { padding: 50px; color: var(--muted); text-align: center; }
.pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; margin-top: 22px; padding: 14px 16px; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
.pagination a { color: var(--blue); font-weight: 760; text-decoration: none; }
.pagination a:last-child { justify-self: end; }
.pagination strong { color: var(--muted); font-size: .8rem; }

.login-page { min-height: 100vh; color: white; background: radial-gradient(circle at 80% 20%, #17649f, transparent 30rem), #002a4d; }
.login-shell { display: grid; place-items: center; min-height: 100vh; padding: 24px; }
.login-card { width: min(440px, 100%); padding: 34px; color: var(--ink); background: var(--card); border-radius: 20px; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.login-card h1 { font-size: 2.35rem; }
.login-card > p:not(.eyebrow):not(.login-error) { color: var(--muted); line-height: 1.5; }
.login-form { display: grid; gap: 15px; margin-top: 25px; }
.login-form label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.login-form button { height: 44px; color: white; background: var(--green); border: 0; border-radius: 9px; font-weight: 800; cursor: pointer; }
.login-error { padding: 10px; color: #912e28; background: #ffe6e3; border-radius: 8px; }
.login-card .eyebrow { color: var(--green); }

@media (max-width: 1180px) {
  .toolbar { grid-template-columns: repeat(3, 1fr); }
  .toolbar .search { grid-column: span 2; }
  .result-count { align-self: center; }
  .structured-grid { grid-template-columns: repeat(3, 1fr); }
  .fact-strip { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 800px) {
  .hero { padding-top: 34px; }
  .hero__inner, .section-heading { align-items: start; flex-direction: column; }
  .section-heading__title { width: 100%; }
  .hero-actions { justify-content: start; margin-top: 22px; }
  .kpis { grid-template-columns: repeat(2, 1fr); }
  body > main { width: min(100% - 24px, 1440px); }
  .method-note { grid-template-columns: 1fr; }
  .revenue-band { grid-template-columns: 1fr; }
  .revenue-band span + span { border-top: 1px solid #c6dbe9; border-left: 0; }
  .toolbar { position: static; grid-template-columns: 1fr 1fr; }
  .toolbar .search { grid-column: 1 / -1; }
  .product__summary { grid-template-columns: 52px 1fr auto; gap: 11px; padding: 13px; }
  .product__image { width: 52px; height: 52px; }
  .product__commercial { grid-column: 2; justify-items: start; text-align: left; }
  .amazon { grid-column: 3; grid-row: 1 / span 2; }
  .product h3 { white-space: normal; }
  .structured-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-strip { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 520px) {
  .kpis, .toolbar, .structured-grid, .fact-strip, .review-box__top { grid-template-columns: 1fr; }
  .toolbar .search { grid-column: auto; }
  .product__summary { grid-template-columns: 44px 1fr; }
  .product__image { width: 44px; height: 44px; }
  .product__commercial { grid-column: 1 / -1; }
  .amazon { grid-column: 1 / -1; grid-row: auto; text-align: center; }
  .fact-strip { grid-template-columns: repeat(2, 1fr); }
  .review-content { padding: 12px; }
  .review-actions { align-items: stretch; flex-direction: column; }
  .save-review { width: 100%; }
}

/* P1.2 application shell and hub pages */
.toolbar { top: 68px; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: white; background: var(--blue-dark); border-radius: 7px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.visually-hidden { 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; }
.app-header { position: sticky; z-index: 20; top: 0; display: grid; grid-template-columns: auto minmax(520px, 1fr) auto; align-items: center; gap: 22px; min-height: 68px; padding: 9px max(20px, calc((100vw - 1440px) / 2)); color: white; background: #002f55; border-bottom: 1px solid rgba(255,255,255,.14); box-shadow: 0 5px 22px rgba(0,31,56,.16); }
.app-header__brand > a { display: flex; align-items: center; gap: 9px; color: white; text-decoration: none; }
.app-header__brand span:last-child { display: grid; }
.app-header__brand strong { letter-spacing: .09em; }
.app-header__brand small { color: #aec8db; font-size: .72rem; }
.app-header__mark { display: grid; place-items: center; width: 34px; height: 34px; color: #002f55; background: var(--amber-accent); border-radius: 50%; font-weight: 900; }
.app-header__menu-toggle { display: none; align-items: center; gap: 7px; min-height: 44px; padding: 8px 11px; color: white; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.24); border-radius: 8px; cursor: pointer; font-weight: 800; }
.hub-nav { display: flex; justify-content: center; gap: 2px; }
.hub-nav a { padding: 10px 11px; color: #c9dbe8; border-radius: 7px; font-size: .78rem; font-weight: 750; text-decoration: none; }
.hub-nav a:hover, .hub-nav a[aria-current="page"] { color: white; background: rgba(255,255,255,.12); }
.app-header__actions { display: flex; align-items: center; justify-content: end; gap: 10px; }
.global-search input { width: 190px; height: 34px; color: white; background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.2); }
.global-search input:focus-visible { border-color: var(--amber-accent); box-shadow: none; }
.global-search input::placeholder { color: #b9cedd; }
.account-menu { position: relative; }
.account-menu summary { padding: 9px 10px; color: white; cursor: pointer; font-size: .74rem; font-weight: 760; }
.account-menu > div { position: absolute; right: 0; display: grid; gap: 9px; min-width: 180px; padding: 12px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 14px 40px rgba(0,0,0,.18); }
.account-menu small { color: var(--muted); }
.account-menu button { width: 100%; padding: 8px; color: white; background: var(--blue); border: 0; border-radius: 6px; cursor: pointer; }
.release-strip { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px; padding: 7px 20px; color: #4c6171; background: #e8f0f5; border-bottom: 1px solid #cfdae2; font-size: .72rem; }
.evidence-pill { display: inline-flex; align-items: center; width: fit-content; padding: 4px 7px; border-radius: 99px; font-size: .72rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.evidence-pill--confirmed { color: #003f70; background: #d8e9f5; }
.evidence-pill--observed { color: #00606c; background: #d9f0f0; }
.evidence-pill--candidate { color: #81500f; background: #fff0d3; }
.evidence-pill--blocked { color: #9d2d25; background: #ffe1dc; }
.hub-main { display: grid; min-width: 0; gap: 22px; }
.hub-main > *, .hub-grid, .hub-grid > *, .panel, .registry-panel, .inline-notice { min-width: 0; }
.page-heading { display: flex; justify-content: space-between; align-items: end; gap: 30px; padding: 18px 0 4px; }
.page-heading h1 { max-width: 900px; color: #183247; font-size: clamp(2.2rem, 4vw, 4.4rem); }
.page-heading > p { max-width: 520px; margin: 0; color: var(--muted); line-height: 1.55; }
.decision-banner { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 26px; background: white; border: 1px solid var(--line); border-left: 7px solid var(--orange); border-radius: 14px; }
.decision-banner--blocked { background: #fff7f4; border-left-color: #b42318; }
.decision-banner__status { margin: 0 0 5px; color: #b42318; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.decision-banner h2 { margin: 0; font-size: 1.5rem; }
.decision-banner p:last-child { margin: 7px 0 0; color: #5e6972; }
.button-link { display: inline-flex; align-items: center; justify-content: center; padding: 10px 14px; color: white; background: var(--blue); border: 1px solid var(--blue); border-radius: 8px; font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.button-link:hover { background: var(--blue-dark); }
.button-link--quiet { color: var(--blue); background: white; }
.button-row { display: flex; flex-wrap: wrap; gap: 9px; }
.text-link { color: var(--blue); font-weight: 800; }
.kpi-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.kpi-card { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 18px; background: white; border: 1px solid var(--line); border-radius: 13px; }
.kpi-card > p:first-child { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.kpi-card > strong { color: #123c5c; font-size: clamp(1.55rem, 2.3vw, 2.2rem); letter-spacing: -.04em; }
.kpi-card > small { color: var(--muted); }
.kpi-card .kpi-limit { min-height: 42px; margin: 2px 0; color: #40566a; font-size: .73rem; line-height: 1.45; }
.kpi-card > a { color: var(--blue); font-size: .75rem; font-weight: 800; }
.metadata { color: #486171; font-size: .73rem; }
.metadata summary { color: var(--blue); cursor: pointer; font-weight: 780; }
.metadata dl { display: grid; grid-template-columns: auto 1fr; gap: 5px 10px; margin: 9px 0; }
.metadata dt { color: var(--muted); font-weight: 780; }
.metadata dd { margin: 0; }
.hub-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; }
.hub-grid--wide { grid-template-columns: 1.35fr .85fr; }
.panel, .registry-panel, .inline-notice { min-width: 0; padding: 21px; background: white; border: 1px solid var(--line); border-radius: 14px; }
.panel, .registry-panel { overflow: hidden; }
.panel h2, .registry-panel h2 { margin: 0; color: #173a55; }
.section-kicker { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }
.funnel { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 0; margin: 18px 0 0; list-style: none; }
.funnel li { position: relative; display: grid; align-content: start; gap: 5px; min-height: 118px; padding: 16px; background: #edf4f8; border-right: 3px solid white; }
.funnel li:nth-child(2) { background: #dfedf5; }
.funnel li:nth-child(3) { background: #cde4f1; }
.funnel li:nth-child(4) { background: #badbea; }
.funnel strong { color: var(--blue); font-size: 1.3rem; }
.funnel span { color: #405d72; font-size: .72rem; }
.funnel a { margin-top: auto; color: var(--blue); font-size: .72rem; font-weight: 800; }
.alert-list { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; }
.alert-list li { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 14px; padding: 12px; border-left: 4px solid #7c94a5; background: #f3f6f8; border-radius: 8px; }
.alert-list__blocker, .alert-list__blocked { border-left-color: #b42318 !important; background: #fff3f1 !important; }
.alert-list__info { border-left-color: var(--blue) !important; }
.alert-list p { margin: 3px 0 0; color: var(--muted); font-size: .73rem; }
.alert-list a { color: var(--blue); font-size: .72rem; font-weight: 800; }
.bar-list { display: grid; gap: 12px; }
.bar-list > div { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(180px, 2fr) 58px minmax(150px, .8fr); align-items: center; gap: 11px; }
.bar-list span { color: #29475e; font-size: .78rem; font-weight: 760; }
.bar-list strong { color: #183247; font-size: .78rem; text-align: right; }
.bar-list small { color: var(--muted); font-size: .72rem; }
progress { width: 100%; height: 12px; overflow: hidden; appearance: none; border: 0; border-radius: 99px; background: #dfe8ee; }
progress::-webkit-progress-bar { background: #dfe8ee; border-radius: 99px; }
progress::-webkit-progress-value { background: linear-gradient(90deg, #006d86, #1d91a1); border-radius: 99px; }
progress::-moz-progress-bar { background: #087f94; border-radius: 99px; }
.evidence-line { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin: 18px 0 0; color: var(--muted); font-size: .72rem; }
.metric-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.metric-row div { padding: 12px; background: #f0f5f8; border-radius: 9px; }
.metric-row dt { color: var(--muted); font-size: .72rem; }
.metric-row dd { margin: 5px 0 0; color: #173a55; font-size: 1.15rem; font-weight: 850; }
.query-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }
.query-grid a { display: grid; gap: 4px; padding: 12px; color: #173a55; background: #f1f5f7; border: 1px solid #e1e8ec; border-radius: 9px; text-decoration: none; }
.query-grid span { color: var(--muted); font-size: .72rem; }
.section-tabs { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 16px; padding: 5px; background: #e7eef2; border-radius: 10px; }
.section-tabs a { padding: 9px 13px; color: #476174; border-radius: 7px; font-size: .76rem; font-weight: 800; text-decoration: none; }
.section-tabs a[aria-current="page"] { color: white; background: var(--blue); }
.registry-panel { margin-bottom: 18px; }
.registry-panel td small, .registry-panel td a { display: block; }
.registry-panel td { max-width: 420px; text-align: left; white-space: normal; }
.registry-panel code, .panel code { overflow-wrap: anywhere; font-size: .72rem; }
.inline-notice { margin-bottom: 16px; border-left: 4px solid var(--blue); }
.inline-notice p { margin: 4px 0 0; color: var(--muted); }
.feature-list { display: grid; gap: 1px; padding: 0; margin: 0; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 10px; list-style: none; }
.feature-list li { display: grid; grid-template-columns: minmax(130px, .35fr) 1fr; gap: 15px; padding: 13px; background: #f9fbfc; }
.feature-list span { color: var(--muted); font-size: .76rem; }
.set-cards, .comparison-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.set-cards section, .comparison-grid article { display: grid; align-content: start; gap: 7px; padding: 14px; background: #f1f5f7; border-radius: 10px; }
.set-cards h3, .comparison-grid h3 { margin: 0; color: #173a55; font-size: .96rem; }
.set-cards p, .comparison-grid p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.45; }
.set-cards strong, .comparison-grid strong { color: var(--blue); font-size: .74rem; }
.comparison-grid article > span { color: var(--amber); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.comparison-grid a { color: var(--blue); font-size: .72rem; font-weight: 800; }
.gate-list { display: grid; gap: 10px; }
.gate { display: grid; grid-template-columns: 90px 1fr minmax(180px, .5fr); align-items: center; gap: 15px; padding: 14px; color: inherit; border: 1px solid var(--line); border-left: 5px solid #718594; border-radius: 9px; text-decoration: none; }
.gate:hover { background: #f8fafb; box-shadow: 0 5px 18px rgba(18,60,92,.08); }
.gate > span { font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.gate h3 { margin: 0; font-size: .94rem; }
.gate p { margin: 4px 0 0; color: var(--muted); font-size: .73rem; }
.gate > strong { color: #425a6c; font-size: .72rem; }
.gate--blocked { border-left-color: #b42318; }
.gate--blocked > span { color: #b42318; }
.gate--open { border-left-color: var(--amber); }
.gate--open > span { color: #8a520a; }
.gate--ready { border-left-color: #147a71; }
.gate--ready > span { color: #147a71; }
.coverage-list { display: grid; gap: 8px; }
.coverage-list > div { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 12px; padding: 11px; background: #f2f6f8; border-radius: 8px; }
.coverage-list > article { display: grid; grid-template-columns: minmax(145px, .8fr) minmax(90px, .5fr) 2fr; align-items: center; gap: 12px; padding: 11px; background: #f2f6f8; border-radius: 8px; }
.coverage-list > article strong { color: #173a55; }
.coverage-list > article small { color: var(--muted); }
.coverage-list dt { color: #40586a; font-weight: 760; }
.coverage-list dd { margin: 0; color: #173a55; font-weight: 850; }
.comparison-callout { margin-top: 18px; padding: 15px 17px; border-left: 4px solid var(--blue); border-radius: 8px; background: #eef6fb; }
.comparison-callout strong { display: block; color: #173a55; }
.comparison-callout p { margin: 5px 0 0; }
.gate-summary { padding: 18px; background: #f2f6f8; border-radius: 10px; }
.gate-summary strong { display: block; font-size: 1.7rem; }
.gate-summary--blocked { color: #9f2c24; background: #fff0ed; }
.gate-summary p { margin-bottom: 0; }
.plain-list { color: #40586a; line-height: 1.7; }
.policy-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; margin: 14px 0; }
.policy-flow span { padding: 14px; color: #173a55; background: #e7f0f5; font-size: .74rem; font-weight: 800; text-align: center; }
.release-card { position: relative; overflow: hidden; }
.release-card__state { display: inline-flex; padding: 4px 7px; color: white; background: var(--blue); border-radius: 99px; font-size: .72rem; font-weight: 900; }
.release-card--candidate .release-card__state { color: #704409; background: #ffdf9e; }
.release-card--empty .release-card__state { color: #566570; background: #e2e8ec; }
.release-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.release-card dl div { padding: 10px; background: #f2f6f8; border-radius: 8px; }
.release-card dt { color: var(--muted); font-size: .72rem; }
.release-card dd { margin: 3px 0 0; color: #173a55; font-size: .78rem; font-weight: 800; }
.status-message { margin: 0 0 16px; padding: 12px 14px; border-radius: 8px; font-weight: 750; }
.status-message--success { color: #155b3d; background: #dff3e9; border: 1px solid #a8dcc3; }
.status-message--error { color: #8f211b; background: #ffe8e4; border: 1px solid #efb7ae; }
.gate-detail { max-width: 1180px; }
.gate-status-card { display: grid; grid-template-columns: 1.3fr .7fr; gap: 22px; padding: 22px; background: #fff8ee; border: 1px solid #ebd3aa; border-left: 7px solid var(--amber); border-radius: 14px; }
.gate-status-card--blocked { background: #fff3f1; border-color: #efc4bd; border-left-color: #b42318; }
.gate-status-card--approved { background: #edf7f5; border-color: #b9ddd8; border-left-color: #147a71; }
.gate-status-card h2 { margin: 9px 0 5px; color: #173a55; }
.gate-status-card p { margin: 0; color: var(--muted); }
.gate-status-card dl { display: grid; gap: 6px; margin: 0; }
.gate-status-card dl div { display: grid; grid-template-columns: 110px 1fr; gap: 8px; padding: 8px; background: rgba(255,255,255,.7); border-radius: 7px; }
.gate-status-card dt { color: var(--muted); font-size: .72rem; font-weight: 760; }
.gate-status-card dd { margin: 0; overflow-wrap: anywhere; font-size: .72rem; font-weight: 760; }
.gate-review-form { display: grid; gap: 16px; }
.gate-owner-row { display: grid; grid-template-columns: minmax(220px,.6fr) 1.4fr; gap: 12px; }
.gate-review-form label, .gate-decision-panel label { display: grid; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 760; }
.gate-checks { display: grid; gap: 12px; }
.gate-check { padding: 16px; background: #f7f9fa; border: 1px solid var(--line); border-left: 5px solid #758895; border-radius: 9px; }
.gate-check--passed { border-left-color: #147a71; }
.gate-check--failed { border-left-color: #b42318; background: #fff5f3; }
.gate-check legend { padding: 0 7px; color: #173a55; font-weight: 850; }
.gate-check h3 { margin: 9px 0 4px; }
.gate-check p { margin: 5px 0 12px; color: var(--muted); line-height: 1.5; }
.gate-check__fields { display: grid; grid-template-columns: minmax(160px,.45fr) 1.55fr; gap: 10px; margin-bottom: 10px; }
.gate-check dl { display: grid; grid-template-columns: 100px 1fr; gap: 6px 12px; margin: 10px 0 0; }
.gate-check dt { color: var(--muted); font-size: .72rem; font-weight: 760; }
.gate-check dd { margin: 0; overflow-wrap: anywhere; font-size: .76rem; }
.gate-review-form > .button-link, .gate-decision-panel .button-link { width: fit-content; cursor: pointer; }
.gate-decision-panel { display: grid; gap: 12px; }
.gate-decision-panel > p { margin: 0; color: var(--muted); }
.gate-decision-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.gate-decision-actions form { display: grid; align-content: start; gap: 10px; padding: 14px; background: #f5f8fa; border-radius: 9px; }
.button-link--danger { background: #9f2c24; border-color: #9f2c24; }
.button-link--danger:hover { background: #7f211b; }
.candidate-decision { margin-top: 18px; }
.quality-table td:nth-child(2) { width: 110px; }
.quality-table td:last-child { min-width: 280px; }
.promotion-form { display: grid; gap: 14px; max-width: 720px; margin-top: 20px; padding: 18px; background: #f2f6f8; border-radius: 10px; }
.promotion-form label { display: grid; gap: 6px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.promotion-form .button-link { width: fit-content; cursor: pointer; }
.account-create-form { max-width: none; grid-template-columns: repeat(4, minmax(150px, 1fr)) auto; align-items: end; }
.account-edit-form { display: grid; grid-template-columns: minmax(150px, 1.2fr) minmax(110px, .7fr) auto minmax(190px, 1fr) auto; gap: 7px; align-items: center; min-width: 650px; }
.account-edit-form button { height: 39px; padding: 0 12px; color: white; background: var(--blue); border: 0; border-radius: 8px; cursor: pointer; }
.checkbox-label { display: flex; align-items: center; gap: 5px; }
.checkbox-label input { width: 17px; height: 17px; }
.preview-banner { padding: 11px; color: #744509; background: #fff0ce; border: 1px solid #f4d792; border-radius: 8px; font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-align: center; }
.quota-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.quota-card { padding: 16px; background: #f2f6f8; border: 1px solid var(--line); border-radius: 10px; }
.quota-card h3 { margin-top: 0; color: #173a55; }
.quota-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.quota-card dl div { padding: 9px; background: white; border-radius: 7px; }
.quota-card dt { color: var(--muted); font-size: .72rem; }
.quota-card dd { margin: 3px 0 0; overflow-wrap: anywhere; color: #173a55; font-size: .74rem; font-weight: 780; }
.quota-form { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.quota-form label { display: grid; gap: 4px; color: var(--muted); font-size: .72rem; font-weight: 750; }
.quota-form button { align-self: end; min-height: 39px; color: white; background: var(--blue); border: 0; border-radius: 8px; cursor: pointer; }

/* P1.8 commercial market intelligence */
.estimate-panel { border-top: 5px solid var(--blue); }
.estimate-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.estimate-grid article { display: grid; align-content: start; gap: 7px; min-height: 132px; padding: 15px; background: #f0f5f8; border: 1px solid #dce7ed; border-radius: 10px; }
.estimate-grid article > span { color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.estimate-grid article > strong { color: #173a55; font-size: 1.55rem; letter-spacing: -.035em; }
.estimate-grid article > small { color: var(--muted); line-height: 1.45; }
.estimate-grid__focus { color: white; background: var(--blue) !important; border-color: var(--blue) !important; }
.estimate-grid__focus > span, .estimate-grid__focus > strong, .estimate-grid__focus > small { color: white !important; }
.analysis-table-wrap { width: 100%; min-width: 0; max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; contain: inline-size; }
.analysis-table { width: 100%; border-collapse: collapse; font-size: .75rem; }
.analysis-table th { padding: 9px 10px; color: #496273; background: #edf3f6; border-bottom: 2px solid #d8e4ea; text-align: left; white-space: nowrap; }
.analysis-table td { padding: 10px; color: #29475e; border-bottom: 1px solid #e2e9ed; text-align: left; vertical-align: top; }
.analysis-table tr:hover td { background: #f8fafb; }
.analysis-table--products { min-width: 1180px; }
.analysis-table--products td:first-child { min-width: 310px; }
.analysis-table--products td:first-child > * { display: block; }
.analysis-table--products a { margin: 3px 0; color: var(--blue); text-decoration: none; }
.analysis-table--products small { color: var(--muted); }
.complaint-list { display: grid; gap: 7px; }
.complaint-list details { padding: 10px 12px; background: #f4f7f8; border: 1px solid #e0e8ec; border-radius: 8px; }
.complaint-list summary { display: flex; justify-content: space-between; gap: 12px; cursor: pointer; color: #29475e; }
.complaint-list summary span { color: var(--muted); font-size: .72rem; }
.complaint-list p { margin: 9px 0 0; color: #526674; font-size: .75rem; line-height: 1.45; }
.complaint-list a { color: var(--blue); font-weight: 800; }
.intelligence-filters { display: grid; grid-template-columns: repeat(3, minmax(170px, 1fr)) auto; align-items: end; gap: 10px; margin: 14px 0; padding: 13px; background: #eef3f6; border-radius: 10px; }
.intelligence-filters label { display: grid; gap: 5px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.intelligence-filters select { height: 38px; padding: 0 8px; background: white; border: 1px solid #ccd9e0; border-radius: 7px; }
.intelligence-filters button { height: 38px; padding: 0 13px; color: white; background: var(--blue); border: 0; border-radius: 7px; font-weight: 800; cursor: pointer; }
.result-note { color: var(--muted); font-size: .72rem; }

/* P1.15 decision-first market lens */
.lens-page { max-width: 1540px; }
.lens-heading h1 { max-width: 760px; }
.lens-shell { display: grid; grid-template-columns: minmax(290px, 360px) minmax(0, 1fr); align-items: start; gap: 20px; }
.lens-filters { position: sticky; top: 84px; display: grid; gap: 14px; max-height: calc(100vh - 104px); padding: 18px; overflow-y: auto; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 10px 32px rgba(18,60,92,.07); }
.lens-filters__heading { display: flex; justify-content: space-between; align-items: start; gap: 12px; }
.lens-filters__heading h2 { margin: 2px 0 0; color: #173a55; font-size: 1.15rem; }
.lens-filters__heading a { color: var(--blue); font-size: .72rem; font-weight: 800; white-space: nowrap; }
.lens-filters__heading-actions { display: grid; justify-items: end; gap: 7px; }
.lens-filters__toggle { display: none; min-height: 38px; padding: 0 11px; color: white; background: var(--blue); border: 0; border-radius: 7px; font-weight: 800; cursor: pointer; }
.lens-filters__body { display: grid; gap: 13px; }
.lens-filters fieldset { min-width: 0; padding: 13px; margin: 0; background: #f7f9fa; border: 1px solid #dbe4e9; border-radius: 10px; }
.lens-filters legend { padding: 0 5px; color: #173a55; font-size: .8rem; font-weight: 850; }
.lens-filters fieldset > p { margin: 0 0 9px; color: var(--muted); font-size: .72rem; line-height: 1.4; }
.choice-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.choice-grid--three { grid-template-columns: 1fr; }
.choice-grid--control { grid-template-columns: 1fr; }
.choice-card { position: relative; display: flex; align-items: center; min-height: 42px; padding: 8px 9px; color: #36546a; background: white; border: 1px solid #d5e0e6; border-radius: 8px; cursor: pointer; font-size: .72rem; font-weight: 760; line-height: 1.25; }
.choice-card:has(input:checked) { color: #003d6a; background: #e4f2fa; border-color: #4b91b8; box-shadow: inset 0 0 0 1px #4b91b8; }
.choice-card input { flex: none; width: 16px; height: 16px; margin: 0 7px 0 0; }
.choice-card span small { display: block; margin-top: 3px; color: var(--muted); font-size: .72rem; font-weight: 650; line-height: 1.3; }
.lens-range-grid { display: grid; gap: 10px; }
.lens-filters label:not(.choice-card) { display: grid; gap: 4px; color: var(--muted); font-size: .72rem; font-weight: 760; }
.range-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.range-pair--opening { grid-template-columns: 1fr 1fr; }
.range-pair--opening label:last-child { grid-column: 1 / -1; }
.preview-fieldset { border-color: #efc5bd !important; background: #fff7f5 !important; }
.preview-fieldset__copy { display: grid; gap: 7px; margin-bottom: 10px; }
.preview-fieldset__copy p { margin: 0; color: #6d514d; font-size: .72rem; line-height: 1.45; }
.lens-submit { min-height: 46px; color: white; background: var(--blue); border: 0; border-radius: 9px; cursor: pointer; font-weight: 850; }
.lens-submit:hover { background: var(--blue-dark); }
.lens-results { display: grid; min-width: 0; gap: 16px; }
.lens-context { display: grid; gap: 11px; padding: 20px; color: white; background: linear-gradient(135deg, #003b69, #006182); border-radius: 14px; }
.lens-context h2 { margin: 2px 0 0; font-size: 1.3rem; }
.lens-context .eyebrow { color: #b9dae9; }
.filter-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.filter-chips span { padding: 6px 9px; color: #063955; background: #e5f3f7; border-radius: 99px; font-size: .72rem; font-weight: 800; }
.lens-id { margin: 0; color: #c3dce8; font-size: .72rem; overflow-wrap: anywhere; }
.lens-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.lens-kpis article { display: grid; align-content: start; gap: 6px; min-height: 130px; padding: 15px; background: white; border: 1px solid var(--line); border-top: 4px solid #7c94a5; border-radius: 11px; }
.lens-kpis__floor { border-top-color: #007987 !important; }
.lens-kpis p { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.lens-kpis strong { color: #173a55; font-size: clamp(1.35rem, 2.2vw, 2rem); letter-spacing: -.04em; }
.lens-kpis small { color: var(--muted); line-height: 1.4; }
.lens-market-values { border-top: 5px solid var(--blue); }
.market-levels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.market-levels article { display: grid; align-content: start; gap: 8px; min-height: 170px; padding: 14px; background: #f2f6f8; border: 1px solid #dbe5ea; border-radius: 9px; }
.market-levels h3 { margin: 0; color: #29475e; font-size: .85rem; }
.market-levels strong { color: #173a55; font-size: clamp(1.15rem, 2vw, 1.7rem); letter-spacing: -.035em; }
.market-levels small { color: var(--muted); line-height: 1.4; }
.market-levels__focus { background: #e5f1f7 !important; border-color: #77a8c2 !important; }
.amazon-working-band { display: grid; grid-template-columns: 1.2fr 1fr; align-items: center; gap: 16px; margin-top: 11px; padding: 14px; color: #284a60; background: #eef4e8; border-radius: 9px; }
.amazon-working-band p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.amazon-working-band > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; }
.amazon-working-band span { padding: 8px; color: #1d503f; background: white; border-radius: 7px; font-weight: 850; text-align: center; }
.coverage-flow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; }
.coverage-flow article { display: grid; gap: 4px; padding: 14px; background: #edf3f6; }
.coverage-flow strong { color: #173a55; font-size: 1.35rem; }
.coverage-flow span { color: var(--muted); font-size: .72rem; }
.unknown-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-top: 12px; }
.unknown-grid article { display: grid; gap: 3px; padding: 11px; background: #fff5e8; border-left: 4px solid var(--amber); border-radius: 7px; }
.unknown-grid strong { color: #5a421f; font-size: .76rem; }
.unknown-grid span, .unknown-grid small { color: #745f40; font-size: .72rem; }
.lens-product-table { min-width: 1260px; }
.lens-product-table td:first-child { min-width: 310px; white-space: normal; }
.lens-product-table td:first-child > * { display: block; }
.lens-product-table td small { display: block; margin-top: 3px; color: var(--muted); }
.lens-product-table a { color: var(--blue); text-decoration: none; }
.lens-product-table .table-action { margin-top: 5px; font-size: .72rem; font-weight: 800; }
.lens-product-actions { display: grid; justify-items: end; gap: 8px; max-width: 420px; }
.lens-product-actions p { margin: 0; color: var(--muted); text-align: right; }
.lens-product-actions .button-link { font-size: .72rem; }
.scenario-placeholder { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-style: dashed; }
.scenario-placeholder h2 { margin: 2px 0 7px; }
.scenario-placeholder p:last-child { max-width: 820px; margin: 0; color: var(--muted); line-height: 1.5; }
.inline-notice--error { border-left-color: #b42318; background: #fff3f1; }

/* P1.16 lens-bound 3/6/12 month planning */
.scenario-page { max-width: 1500px; }
.scenario-heading h1 { max-width: 800px; }
.scenario-disclaimer { margin-bottom: 16px; border-left-color: var(--amber); background: #fff7e8; }
.scenario-lens-map { border-top: 5px solid #52788f; }
.scenario-lens-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.scenario-lens-grid article { display: grid; align-content: start; gap: 7px; min-width: 0; padding: 16px; background: #f1f6f8; border: 1px solid #d9e5ea; border-radius: 10px; }
.scenario-lens-grid article > span, .scenario-reference-bar span { color: var(--muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.scenario-lens-grid article > strong { color: #173a55; font-size: 1.35rem; }
.scenario-lens-grid article > small, .scenario-reference-bar small { color: var(--muted); line-height: 1.45; }
.scenario-lens-grid code, .scenario-reference-bar code { color: #31566d; overflow-wrap: anywhere; }
.scenario-form { display: grid; gap: 16px; margin: 16px 0; }
.scenario-form fieldset { min-width: 0; margin: 0; padding: 14px; background: #f7f9fa; border: 1px solid #dbe4e9; border-radius: 10px; }
.scenario-form legend { padding: 0 5px; color: #173a55; font-weight: 850; }
.scenario-form label:not(.choice-card) { display: grid; align-content: start; gap: 5px; color: #536a7a; font-size: .72rem; font-weight: 800; }
.scenario-form label:not(.choice-card) > small { color: var(--muted); font-weight: 600; line-height: 1.35; }
.scenario-form input, .scenario-form select { width: 100%; height: 40px; padding: 0 9px; color: #173a55; background: white; border: 1px solid #c9d7df; border-radius: 7px; }
.scenario-frame-controls { display: grid; grid-template-columns: .9fr 1.1fr; gap: 12px; }
.scenario-frame-controls fieldset { display: grid; align-content: start; gap: 8px; }
.scenario-frame-controls fieldset > p { margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.scenario-frame-controls .choice-card { display: grid; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 10px; min-height: 52px; padding: 10px 12px; }
.scenario-form .scenario-frame-controls .choice-card input[type="radio"] { width: 18px; height: 18px; margin: 0; padding: 0; }
.scenario-frame-controls .choice-card span { min-width: 0; overflow-wrap: anywhere; }
.scenario-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0 15px; }
.scenario-tabs--products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.scenario-tabs a { display: grid; align-content: start; gap: 5px; min-height: 62px; padding: 11px; color: #31566d; background: #f3f6f8; border: 1px solid #d7e1e7; border-radius: 8px; text-decoration: none; }
.scenario-tabs a[aria-current="page"] { color: #003d6a; background: #e3f1f8; border-color: #4b91b8; box-shadow: inset 0 0 0 1px #4b91b8; }
.scenario-tabs a strong { font-size: .78rem; }
.scenario-tabs a small { color: var(--muted); line-height: 1.35; }
.scenario-input-grid { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; }
.scenario-input-grid label:first-child { grid-column: span 2; }
.scenario-horizon-inputs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.scenario-horizon-inputs fieldset { display: grid; align-content: start; gap: 9px; }
.advertising-benchmark { margin: 12px 0; }
.advertising-benchmark > p { color: var(--muted); line-height: 1.5; }
.advertising-benchmark ul { display: grid; gap: 6px; padding-left: 22px; }
.advertising-definition-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.advertising-definition-grid p, .scenario-metric-explainer p { display: grid; gap: 4px; margin: 0; padding: 11px; background: #f1f6f8; border-radius: 8px; }
.advertising-definition-grid span, .scenario-metric-explainer span { color: var(--muted); line-height: 1.4; }
.scenario-market-frame { border-top: 5px solid #657f90; }
.scenario-results { border-top: 5px solid var(--blue); }
.scenario-reference-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 12px; }
.scenario-reference-bar > div { display: grid; gap: 5px; padding: 13px; background: #eef4f7; border-radius: 8px; }
.scenario-reference-bar strong { color: #173a55; font-size: 1.25rem; }
.scenario-decision-callout { display: grid; gap: 5px; margin-bottom: 12px; padding: 16px 18px; color: #163d2d; background: #e5f4ec; border: 1px solid #a8d6bf; border-left: 6px solid #23805a; border-radius: 10px; }
.scenario-decision-callout > span { font-size: .72rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.scenario-decision-callout > strong { font-size: clamp(1.05rem, 2vw, 1.4rem); }
.scenario-decision-callout > p { margin: 0; line-height: 1.45; }
.scenario-result-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.scenario-result-cards article { display: grid; align-content: start; gap: 6px; padding: 16px; background: #f2f6f8; border: 1px solid #dae5ea; border-radius: 10px; }
.scenario-result-cards article:nth-child(2) { background: #e9f3f8; border-color: #9fc1d2; }
.scenario-result-cards p { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.scenario-result-cards > article > strong { color: #173a55; font-size: clamp(1.35rem, 2.3vw, 2rem); letter-spacing: -.04em; }
.scenario-result-cards small { color: var(--muted); }
.constraint-badge { margin-top: 4px; padding: 7px 9px; color: #173a55; background: #dcebf3; border-radius: 6px; font-size: .72rem; font-weight: 850; }
.scenario-result-cards dl { display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; margin: 8px 0 0; padding-top: 9px; border-top: 1px solid #d6e1e7; font-size: .72rem; }
.scenario-result-cards dt { color: var(--muted); }
.scenario-result-cards dd { margin: 0; color: #29475e; font-weight: 800; text-align: right; }
.scenario-metric-explainer { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin: 0 0 14px; font-size: .76rem; }
.full-budget-stress { margin: 0 0 14px; }
.full-budget-stress > p { color: var(--muted); line-height: 1.5; }
.negative { color: #a43c2c !important; font-weight: 850; }
.scenario-table td { white-space: nowrap; }
.scenario-table td small { display: block; color: var(--muted); }
.scenario-market-robustness { border-top: 5px solid #23805a; }
.inline-notice--success { border-left-color: #23805a; background: #eff8f3; }
.scenario-robustness-table .is-selected-reference { background: #e8f2f7; box-shadow: inset 4px 0 0 var(--blue); }
.scenario-robustness-table td small { display: block; margin-top: 3px; color: var(--muted); }
.scenario-sensitivity { border-top: 5px solid var(--amber); }
.scenario-sensitivity .metadata ul { display: grid; gap: 5px; padding-left: 20px; }

/* P1.19 immutable variant comparison */
.scenario-save-panel { border-top: 5px solid #7b5b96; }
.scenario-save-panel > p { max-width: 980px; margin: 0 0 14px; color: var(--muted); line-height: 1.5; }
.scenario-save-form { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.4fr) auto; align-items: end; gap: 12px; }
.scenario-save-form label { display: grid; gap: 5px; color: #536a7a; font-size: .72rem; font-weight: 800; }
.scenario-save-form input, .scenario-save-form textarea { width: 100%; padding: 9px; color: #173a55; background: white; border: 1px solid #c9d7df; border-radius: 7px; font: inherit; }
.scenario-save-form input { height: 42px; }
.scenario-save-form textarea { min-height: 72px; resize: vertical; }
.scenario-save-form .button-link { height: 42px; cursor: pointer; }
.decision-workspace { max-width: 1600px; }
.decision-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.decision-summary-grid article { display: grid; gap: 5px; padding: 15px; background: white; border: 1px solid var(--line); border-radius: 10px; }
.decision-summary-grid span { color: var(--muted); font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.decision-summary-grid strong { color: #173a55; font-size: 1.7rem; }
.decision-summary-grid small { color: var(--muted); line-height: 1.4; }
.decision-empty { display: grid; gap: 8px; justify-items: start; border-style: dashed; }
.decision-empty h2, .decision-empty p { margin: 0; }
.decision-empty > p:not(.eyebrow) { max-width: 850px; color: var(--muted); line-height: 1.5; }
.decision-matrix { border-top: 5px solid #7b5b96; }
.decision-comparison-table { min-width: 1540px; }
.decision-comparison-table td { vertical-align: top; }
.decision-comparison-table td:first-child { min-width: 285px; }
.decision-comparison-table td:nth-child(2), .decision-comparison-table td:nth-child(3) { min-width: 210px; }
.decision-comparison-table td > strong, .decision-comparison-table td > small, .decision-comparison-table td > code { display: block; }
.decision-comparison-table td > small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.decision-comparison-table td > code { margin-top: 6px; color: #526c7e; overflow-wrap: anywhere; }
.decision-comparison-table .filter-chips { margin-top: 7px; }
.decision-comparison-table .filter-chips span { font-size: .72rem; }
.is-stale-variant { background: #fff8ed; }
.release-badge { display: inline-flex; width: fit-content; margin-top: 5px; padding: 3px 7px; border-radius: 999px; font-size: .72rem; font-weight: 850; }
.release-badge--current { color: #176044; background: #dff3e8; }
.release-badge--stale { color: #855317; background: #f8e8c9; }
.decision-actions { display: grid; justify-items: start; gap: 8px; }
.decision-actions form { margin: 0; }
.text-button { padding: 0; color: #855317; background: transparent; border: 0; font: inherit; font-size: .72rem; font-weight: 850; text-decoration: underline; cursor: pointer; }
.decision-reading-guide ol { display: grid; gap: 7px; margin: 0; padding-left: 22px; color: var(--muted); line-height: 1.45; }

/* P1.17 · Manuell bestätigtes Produkt-Fit-Panel */
.product-fit-page { max-width: 1500px; }
.product-fit-form { display: grid; gap: 0; margin: 20px 0; padding: 0; overflow: hidden; border: 1px solid #b9ccd7; border-radius: 16px; box-shadow: 0 12px 32px rgba(22, 58, 82, .08); }
.product-fit-form > .section-heading { align-items: center; margin: 0; padding: 22px 24px; color: white; background: linear-gradient(125deg, #003b69, #006b82); border: 0; }
.product-fit-form > .section-heading h2 { color: white; font-size: clamp(1.35rem, 2.2vw, 1.8rem); }
.product-fit-form > .section-heading .eyebrow { margin-bottom: 6px; color: #f4c98e; }
.product-fit-form__intro { max-width: 800px; margin: 7px 0 0; color: #dbeaf2; font-size: .82rem; line-height: 1.45; }
.product-fit-form > .section-heading > a { flex: none; padding: 9px 12px; color: white; border: 1px solid rgba(255,255,255,.5); border-radius: 8px; font-size: .76rem; font-weight: 800; text-decoration: none; }
.product-fit-form > .section-heading > a:hover { background: rgba(255,255,255,.12); }
.product-fit-form fieldset { display: grid; align-content: start; min-width: 0; margin: 0; padding: 17px; background: #f7fafb; border: 1px solid #d4e1e7; border-radius: 12px; }
.product-fit-form legend { padding: 0 7px; color: #173a55; font-size: .88rem; font-weight: 850; }
.product-fit-form label:not(.choice-card) { display: grid; gap: 6px; color: #415d70; font-size: .78rem; font-weight: 800; }
.product-fit-form input:not([type="checkbox"]):not([type="radio"]), .product-fit-form select { width: 100%; height: 44px; padding: 0 11px; color: #173a55; background: white; border: 1px solid #b8ccd7; border-radius: 8px; font: inherit; }
.product-fit-form .choice-card { align-items: flex-start; min-height: 62px; padding: 11px; font-size: .76rem; }
.product-fit-form .choice-card:hover { border-color: #83aaba; background: #f8fcfd; }
.product-fit-form .choice-card span { min-width: 0; }
.product-fit-form .choice-card span small { margin-top: 5px; line-height: 1.35; }
.choice-grid--fit-ip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-fit-filter-grid, .product-fit-filter-grid--wide { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 14px; padding: 20px 22px 0; }
.product-fit-filter-grid--wide { padding-top: 16px; }
.product-fit-filter-grid fieldset { gap: 10px; }
.product-fit-inclusion-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 12px; margin: 16px 22px 0; padding: 17px; background: #eaf2f6; border: 1px solid #c9dce5; border-radius: 12px; }
.product-fit-form > .lens-submit { min-height: 52px; margin: 18px 22px 22px; font-size: .9rem; }
.product-fit-context { margin: 16px 0; }
.product-fit-identities { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.product-fit-identities .lens-id { padding: 8px 10px; background: rgba(255,255,255,.09); border-radius: 7px; }
.product-fit-kpis { margin-bottom: 16px; }
.product-fit-levels { border-top: 5px solid #23805a; }
.product-fit-model-block { margin-top: 12px; }
.product-fit-model-block ul { display: grid; gap: 5px; margin: 8px 0 0; padding-left: 20px; }
.product-fit-model-block li { line-height: 1.4; }
.product-fit-definitions dl { display: grid; grid-template-columns: minmax(150px, .35fr) 1fr; gap: 7px 14px; }
.product-fit-definitions dt { color: #29475e; font-weight: 850; }
.product-fit-definitions dd { margin: 0; color: var(--muted); line-height: 1.45; }
.product-fit-table td:first-child { min-width: 330px; }
.product-fit-table td small { display: block; margin-top: 4px; color: var(--muted); line-height: 1.4; }
.product-fit-catalog-table { min-width: 1260px; }
.product-fit-plan-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* P1.19.1 · scope card shown next to every observed lower-bound context */
.floor-scope { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 18px; margin: 16px 0; padding: 20px; color: #173a55; background: #eef6f8; border: 1px solid #bad5df; border-left: 7px solid #007987; border-radius: 12px; }
.floor-scope__heading h2 { margin: 3px 0 8px; font-size: clamp(1.15rem, 2vw, 1.45rem); }
.floor-scope__heading > p:last-child { margin: 0; color: #36586d; line-height: 1.5; }
.floor-scope__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; }
.floor-scope__facts div { padding: 11px; background: rgba(255,255,255,.82); border-radius: 8px; }
.floor-scope__facts dt { margin-bottom: 4px; color: #244a61; font-size: .72rem; font-weight: 850; text-transform: uppercase; }
.floor-scope__facts dd { margin: 0; color: #486579; font-size: .78rem; line-height: 1.45; }
.floor-scope__formula { grid-column: 1 / -1; margin: 0; color: #36586d; line-height: 1.5; }
.floor-scope > .text-link { grid-column: 1 / -1; width: fit-content; }

@media (max-width: 1180px) {
  .app-header { grid-template-columns: auto 1fr; }
  .hub-nav { grid-column: 1 / -1; grid-row: 2; justify-content: start; overflow-x: auto; }
  .app-header__actions { grid-column: 2; grid-row: 1; }
  .kpi-grid { grid-template-columns: repeat(2, 1fr); }
  .toolbar { top: 112px; }
  .lens-shell { grid-template-columns: 300px minmax(0, 1fr); }
  .lens-kpis, .market-levels { grid-template-columns: repeat(2, 1fr); }
  .scenario-input-grid { grid-template-columns: repeat(3, minmax(130px, 1fr)); }
  .scenario-tabs--products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-fit-filter-grid, .product-fit-filter-grid--wide { grid-template-columns: 1fr 1fr; }
  .product-fit-filter-grid--primary fieldset:first-child { grid-column: 1 / -1; }
  .choice-grid--fit-ip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-fit-inclusion-grid { grid-template-columns: repeat(2, minmax(150px, 1fr)); }
  .floor-scope { grid-template-columns: 1fr; }
}

@media (max-width: 800px) {
  .app-header { position: static; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; }
  .app-header__menu-toggle { display: inline-flex; grid-column: 2; grid-row: 1; }
  .app-header__actions, .hub-nav { grid-column: 1 / -1; grid-row: auto; justify-content: start; width: 100%; }
  .hub-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .app-header.is-collapsible .hub-nav { display: none; }
  .app-header.is-collapsible[data-nav-open="true"] .hub-nav { display: grid; }
  .hub-nav a { display: flex; align-items: center; min-height: 44px; }
  .gate-status-card, .gate-owner-row, .gate-check__fields, .gate-decision-actions { grid-template-columns: 1fr; }
  .app-header__actions { justify-content: space-between; }
  .global-search { flex: 1; }
  .global-search input { width: 100%; }
  .page-heading, .decision-banner { align-items: start; flex-direction: column; }
  .hub-grid, .hub-grid--wide { grid-template-columns: 1fr; }
  .funnel { grid-template-columns: 1fr 1fr; }
  .bar-list > div { grid-template-columns: minmax(110px, .7fr) 1.5fr 50px; }
  .bar-list small { grid-column: 2 / -1; }
  .query-grid { grid-template-columns: 1fr 1fr; }
  .set-cards, .comparison-grid { grid-template-columns: 1fr; }
  .gate { grid-template-columns: 80px 1fr; }
  .gate > strong { grid-column: 2; }
  .policy-flow { grid-template-columns: 1fr 1fr; }
  .account-create-form { grid-template-columns: 1fr 1fr; }
  .quota-grid { grid-template-columns: 1fr; }
  .estimate-grid { grid-template-columns: repeat(2, 1fr); }
  .intelligence-filters { grid-template-columns: 1fr 1fr; }
  .toolbar { top: 0; }
  .analysis-table--products th:first-child,
  .analysis-table--products td:first-child { position: sticky; left: 0; z-index: 1; background: white; box-shadow: 1px 0 #d8e4ea; }
  .analysis-table--products th:first-child { z-index: 2; background: #edf3f6; }
  #accounts .table-wrap { overflow: visible; contain: none; }
  #accounts table, #accounts tbody, #accounts tr, #accounts td { display: block; width: 100%; }
  #accounts thead { display: none; }
  #accounts tr { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
  #accounts td { display: grid; grid-template-columns: minmax(115px, .4fr) minmax(0, 1fr); gap: 10px; padding: 10px 12px; text-align: left; white-space: normal; }
  #accounts td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; }
  #accounts .account-edit-form { grid-template-columns: 1fr 1fr; min-width: 0; }
  .lens-shell { grid-template-columns: 1fr; }
  .lens-filters { position: static; max-height: none; }
  .lens-filters__heading-actions { justify-items: end; }
  .lens-filters__toggle { display: inline-flex; align-items: center; }
  .lens-filters.is-collapsible[data-filter-open="false"] .lens-filters__body { display: none; }
  .lens-kpis { grid-template-columns: repeat(2, 1fr); }
  .market-levels { grid-template-columns: 1fr 1fr; }
  .amazon-working-band { grid-template-columns: 1fr; }
  .coverage-flow { grid-template-columns: 1fr 1fr; }
  .unknown-grid { grid-template-columns: 1fr; }
  .scenario-placeholder { align-items: start; flex-direction: column; }
  .scenario-frame-controls, .scenario-lens-grid, .scenario-reference-bar { grid-template-columns: 1fr; }
  .scenario-horizon-inputs { grid-template-columns: 1fr; }
  .scenario-input-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .scenario-result-cards { grid-template-columns: 1fr; }
  .advertising-definition-grid, .scenario-metric-explainer { grid-template-columns: 1fr; }
  .scenario-save-form { grid-template-columns: 1fr; align-items: stretch; }
  .scenario-save-form .button-link { width: fit-content; }
  .decision-summary-grid { grid-template-columns: 1fr 1fr; }
  .decision-comparison-table { min-width: 0; }
  .decision-comparison-table, .decision-comparison-table tbody, .decision-comparison-table tr, .decision-comparison-table td { display: block; width: 100%; }
  .decision-comparison-table thead { display: none; }
  .decision-comparison-table tr { margin-bottom: 14px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; }
  .decision-comparison-table td { display: grid; grid-template-columns: minmax(120px, .35fr) minmax(0, 1fr); gap: 9px; min-width: 0 !important; padding: 10px 12px; text-align: left; white-space: normal; }
  .decision-comparison-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; }
  .decision-comparison-table td > * { grid-column: 2; }
  .product-fit-filter-grid, .product-fit-filter-grid--wide, .product-fit-inclusion-grid { grid-template-columns: 1fr; }
  .product-fit-filter-grid--primary fieldset:first-child { grid-column: auto; }
  .product-fit-form { padding: 0; }
  .product-fit-form > .section-heading { padding: 18px; }
  .product-fit-form > .section-heading > a { width: 100%; text-align: center; }
  .product-fit-filter-grid, .product-fit-filter-grid--wide { padding: 16px 14px 0; }
  .product-fit-inclusion-grid { margin: 15px 14px 0; }
  .product-fit-form > .lens-submit { margin: 16px 14px 18px; }
  .floor-scope__facts { grid-template-columns: 1fr; }
  .product-fit-identities { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .hub-nav { grid-template-columns: 1fr 1fr; }
  .release-strip { justify-content: flex-start; gap: 7px 12px; padding-inline: 12px; }
  .release-strip__secondary, .release-strip__alerts { display: none; }
  .release-strip__primary { max-width: calc(100vw - 132px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .kpi-grid, .metric-row, .query-grid, .release-card dl { grid-template-columns: 1fr; }
  .funnel { grid-template-columns: 1fr; }
  .bar-list > div { grid-template-columns: 1fr 62px; }
  .bar-list progress, .bar-list small { grid-column: 1 / -1; }
  .bar-list strong { grid-column: 2; grid-row: 1; }
  .coverage-list > div { grid-template-columns: 1fr auto; }
  .coverage-list > article { grid-template-columns: 1fr; }
  .coverage-list .evidence-pill { grid-column: 1 / -1; }
  .policy-flow { grid-template-columns: 1fr; }
  .account-create-form { grid-template-columns: 1fr; }
  .quota-form { grid-template-columns: 1fr; }
  .gate { grid-template-columns: 1fr; }
  .gate > strong { grid-column: 1; }
  .estimate-grid, .intelligence-filters { grid-template-columns: 1fr; }
  #accounts td, #accounts .account-edit-form { grid-template-columns: 1fr; }
  .choice-grid, .lens-kpis, .market-levels, .coverage-flow { grid-template-columns: 1fr; }
  .lens-filters__heading { align-items: center; }
  .lens-filters__heading-actions > a { display: none; }
  .range-pair { grid-template-columns: 1fr; }
  .range-pair--opening label:last-child { grid-column: auto; }
  .amazon-working-band > div:last-child { grid-template-columns: 1fr; }
  .lens-product-actions { justify-items: start; max-width: none; }
  .lens-product-actions p { text-align: left; }
  .lens-product-table { min-width: 0; }
  .lens-product-table, .lens-product-table tbody, .lens-product-table tr, .lens-product-table td { display: block; width: 100%; }
  .lens-product-table thead { display: none; }
  .lens-product-table tr { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
  .lens-product-table td { display: block; padding: 9px 11px; text-align: left; white-space: normal; }
  .lens-product-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; }
  .lens-product-table td::before { display: block; margin-bottom: 4px; }
  .lens-product-table td:first-child { min-width: 0; }
  .lens-product-table td:first-child > * { display: block; }
  .product-fit-table { min-width: 0; }
  .product-fit-table, .product-fit-table tbody, .product-fit-table tr, .product-fit-table td { display: block; width: 100%; }
  .product-fit-table thead { display: none; }
  .product-fit-table tr { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
  .product-fit-table td { display: block; padding: 9px 11px; text-align: left; white-space: normal; }
  .product-fit-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; }
  .product-fit-table td::before { display: block; margin-bottom: 4px; }
  .product-fit-table td:first-child { min-width: 0; }
  .product-fit-table td:first-child > * { display: block; }
  .product-fit-definitions dl { grid-template-columns: 1fr; }
  .product-fit-definitions dd { margin-bottom: 7px; }
  .product-fit-plan-actions { justify-content: flex-start; }
  .scenario-tabs, .scenario-tabs--products, .scenario-input-grid { grid-template-columns: 1fr; }
  .scenario-input-grid label:first-child { grid-column: auto; }
  .scenario-table { min-width: 0; }
  .scenario-table, .scenario-table tbody, .scenario-table tr, .scenario-table td { display: block; width: 100%; }
  .scenario-table thead { display: none; }
  .scenario-table tr { margin-bottom: 12px; overflow: hidden; border: 1px solid var(--line); border-radius: 9px; }
  .scenario-table td { display: block; padding: 9px 11px; text-align: left; white-space: normal; }
  .scenario-table td::before { content: attr(data-label); color: var(--muted); font-size: .72rem; font-weight: 800; }
  .scenario-table td::before { display: block; margin-bottom: 4px; }
  .decision-summary-grid { grid-template-columns: 1fr; }
}

@media print {
  .app-header,
  .release-strip,
  .toolbar,
  .section-tabs,
  .button-row,
  .pagination,
  .review-box,
  .gate-review-form,
  .gate-decision-panel,
  .promotion-form,
  .account-create-form,
  .account-edit-form,
  .quota-form { display: none !important; }
  .lens-filters { display: none !important; }
  .scenario-form { display: none !important; }
  .scenario-save-panel, .decision-actions { display: none !important; }
  body { min-width: 0; color: #000; background: #fff; }
  body > main { width: 100%; padding: 0; }
  .hero { padding: 20px 0; color: #000; background: #fff; }
  .intro, .kpis span, .kpis small { color: #000; }
  .kpis { border-color: #999; background: transparent; }
  .kpis > div { color: #000; background: #fff; }
  .panel,
  .registry-panel,
  .inline-notice,
  .kpi-card,
  .product,
  .gate,
  .release-card { break-inside: avoid; box-shadow: none; }
  .table-wrap,
  .analysis-table-wrap { overflow: visible; contain: none; }
  a { color: inherit; text-decoration: none; }
}
