:root {
  --navy:#1C2536;
  --navy-2:#273247;
  --teal:#1A7E76;
  --teal-dark:#12645e;
  --gold:#C8901F;
  --indigo:#3E3B87;
  --green:#1F7A44;
  --red:#B03A2E;
  --ink:#26292E;
  --grey:#5A5E66;
  --mute:#8A919E;
  --band:#F5F6F7;
  --canvas:#EEF0F2;
  --border:#E4E3DE;
  --white:#FFFFFF;
  --shadow:0 1px 4px rgba(28,37,54,.05);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--canvas); color:var(--ink); font:13px/1.45 Arial,Helvetica,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:var(--teal); text-decoration:none; }
a:hover { text-decoration:underline; }
button,input,select { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:3px solid #45a89e; outline-offset:2px; }
.skip-link { position:fixed; inset:8px auto auto 8px; z-index:100; background:#fff; color:var(--navy); padding:10px 14px; transform:translateY(-150%); }
.skip-link:focus { transform:none; }
.wrap { width:100%; max-width:1320px; margin-inline:auto; padding-inline:22px; }
.muted { color:var(--grey); }
.brand-kicker,.section-label,.answer-label { margin:0; color:var(--teal); font-size:11px; font-weight:800; letter-spacing:2px; }
.masthead .brand-kicker,.login-brand .brand-kicker,.ask-hero .section-label { color:#63bcb3; }

.masthead { background:var(--navy); color:#fff; border-bottom:4px solid var(--gold); padding:26px 0 22px; }
.masthead.compact { padding-block:18px; }
.masthead-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.masthead h1 { margin:6px 0 2px; font-size:30px; line-height:1.12; letter-spacing:.3px; }
.masthead-sub { margin:4px 0 0; color:#AEB4BE; font-size:13.5px; }
.masthead-legend { display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-top:14px; }
.masthead-legend>span:last-child { margin-left:5px; color:#AEB4BE; font-size:11.5px; }
.masthead-legend .source-tag { min-height:20px; padding-inline:8px; }
.account-block { display:flex; align-items:center; justify-content:flex-end; gap:12px; flex-wrap:wrap; }
.account-name { color:#AEB4BE; font-size:11.5px; }
.confidential { border:1px solid rgba(200,144,31,.65); color:#E4BD6D; padding:4px 7px; font-size:9px; font-weight:bold; letter-spacing:1.1px; border-radius:4px; }

.tab-nav { position:sticky; top:0; z-index:30; background:#fff; border-bottom:1px solid var(--border); box-shadow:0 1px 6px rgba(28,37,54,.05); }
.tab-row { display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:thin; }
.tab { flex:none; display:flex; align-items:center; min-height:53px; border-bottom:3px solid transparent; color:var(--grey); padding:2px 15px 0; font-size:12px; font-weight:700; letter-spacing:.35px; white-space:nowrap; }
.tab:hover { color:var(--navy); text-decoration:none; background:#F8F9FA; }
.tab.active { color:var(--navy); border-bottom-color:var(--teal); }

.app-main { min-height:70vh; padding-block:22px 36px; }
.page-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin:0 0 16px; }
.page-intro h2,.ask-hero h2 { margin:4px 0 4px; color:var(--navy); font-size:22px; line-height:1.2; letter-spacing:-.15px; }
.page-intro p:not(.section-label),.ask-hero>p:not(.section-label) { max-width:900px; margin:0; color:var(--grey); font-size:13.5px; }

.button { display:inline-flex; min-height:36px; align-items:center; justify-content:center; border:1px solid transparent; border-radius:7px; padding:8px 14px; font-weight:700; font-size:12px; cursor:pointer; white-space:nowrap; transition:background .15s,border-color .15s,transform .08s,box-shadow .15s; }
.button:hover { text-decoration:none; }
.button:active { transform:translateY(1px); }
.button.primary { background:var(--teal); color:#fff; border-color:var(--teal); }
.button.primary:hover { background:var(--teal-dark); }
.button.secondary { background:#fff; color:var(--navy); border-color:#BBC1C9; }
.button.quiet { background:transparent; color:var(--navy); border-color:#C7CBD1; }
.button.quiet.light { color:#fff; border-color:rgba(255,255,255,.35); }
.button[aria-disabled="true"] { pointer-events:none; opacity:.45; }
.button.wide { width:100%; }
.text-button { border:0; background:none; color:var(--teal); min-height:36px; padding:5px 7px; font-weight:700; cursor:pointer; }
.text-button.positive { color:var(--green); }
.text-button.negative { color:var(--red); }

.alert { border-radius:7px; padding:11px 14px; margin-bottom:16px; border:1px solid; }
.alert.success { background:#E9F4EF; color:#155d39; border-color:#BBDACB; }
.alert.error { background:#FFF1EF; color:#8a2920; border-color:#E8BBB6; }
.alert.warning { background:#FCF5E6; color:#714F0D; border-color:#E7D098; }

.stat-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin:20px 0 18px; }
.stat-strip.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.stat { display:flex; min-width:0; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid var(--border); border-radius:8px; padding:14px 16px; box-shadow:0 1px 3px rgba(0,0,0,.04); }
.stat>span:first-child { order:2; display:block; margin-top:6px; color:var(--mute); font-size:10.5px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.stat>strong { order:1; display:block; margin:0; color:var(--teal); font-size:26px; line-height:1; font-variant-numeric:tabular-nums; }
.stat>.tag-list { order:3; margin-top:8px; }

.source-tag { display:inline-flex; align-items:center; min-height:20px; border-radius:4px; padding:2px 6px; font-size:9px; font-weight:800; letter-spacing:.7px; line-height:1; border:1px solid transparent; }
a.source-tag:hover { text-decoration:none; filter:brightness(.94); }
.tag-list { display:inline-flex; gap:4px; flex-wrap:wrap; }
.source-tag.lmr { color:#fff; background:var(--teal); }
.source-tag.web { color:var(--indigo); background:#E9E9F3; border-color:#D4D2E5; }
.source-tag.oem { color:#24576D; background:#E6F0F4; border-color:#C8DCE4; }
.source-tag.iktva { color:#17623D; background:#E6F2EB; border-color:#C3DDCE; }
.source-tag.est { color:#79530B; background:#FBF2DC; border-color:#E8D19D; }
.source-tag.tbc { color:#5F6671; background:#EDEDEF; border-color:#D8D9DC; }

.dashboard-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.primary-grid { margin-top:0; }
.span-4 { grid-column:span 4; }
.span-5 { grid-column:span 5; }
.span-7 { grid-column:span 7; }
.span-8 { grid-column:span 8; }
.panel,.table-panel { background:#fff; border:1px solid var(--border); border-radius:10px; padding:16px 18px 14px; box-shadow:var(--shadow); }
.panel h3,.table-panel h3 { margin:0; color:var(--navy); font-size:15px; }
.panel-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:12px; }
.panel-head p { margin:2px 0 0; color:var(--grey); font-size:11.5px; }
.table-panel { margin-top:18px; padding:0; overflow:hidden; }
.table-panel>.panel-head { padding:16px 18px 0; }

.bar-chart { display:grid; gap:8px; }
.bar-meta { display:flex; justify-content:space-between; gap:16px; margin-bottom:4px; font-size:11.5px; }
.bar-meta span { color:#343940; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bar-meta strong { color:var(--navy); font-variant-numeric:tabular-nums; }
.bar-track { height:6px; background:#E9EBEE; border-radius:2px; overflow:hidden; }
.bar-track span { display:block; height:100%; background:var(--teal); border-radius:2px; }
.panel:nth-child(even) .bar-track span { background:var(--indigo); }

.opportunity-list { display:grid; }
.opportunity-row { display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--border); color:var(--ink); }
.opportunity-row:last-child { border-bottom:0; }
.opportunity-row:hover { text-decoration:none; }
.opportunity-row>span:nth-child(2) { min-width:0; }
.opportunity-row strong,.opportunity-row small { display:block; }
.opportunity-row strong { color:var(--navy); font-size:12.5px; }
.opportunity-row small { color:var(--grey); margin-top:2px; }
.row-action { color:var(--teal); font-size:11px; font-weight:700; }
.score { display:inline-flex; align-items:center; justify-content:center; width:48px; height:36px; border-radius:6px; background:#E8E9EC; color:var(--navy); font-size:14px; font-weight:800; font-variant-numeric:tabular-nums; }
.score.medium { color:#694907; background:#FAEED3; }
.score.high { color:#fff; background:var(--teal); }
.confidence-stack { display:grid; gap:9px; margin:4px 0 15px; }
.confidence-stack div { display:flex; justify-content:space-between; align-items:center; background:var(--band); border:1px solid #EEEDE9; padding:8px 10px; border-radius:6px; }
.confidence-stack span { color:var(--grey); font-size:11.5px; }
.confidence-stack strong { color:var(--navy); font-size:17px; }

.filter-bar { display:flex; align-items:center; gap:12px; background:transparent; border:0; border-bottom:1px solid var(--border); border-radius:0; padding:10px 0 12px; margin:0 0 16px; }
.filter-bar label { color:var(--navy); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.6px; }
select,input { border:1px solid #C9CDD3; border-radius:7px; min-height:38px; background:#fff; color:var(--ink); padding:8px 11px; box-shadow:inset 0 1px 1px rgba(28,37,54,.03); }
select:focus,input:focus { border-color:var(--teal); }
.filter-bar select { min-width:min(420px,70vw); }
.filter-label { flex:none; color:var(--mute); font-size:10px; font-weight:800; letter-spacing:1px; }
.filter-chips { display:flex; flex:1; gap:6px; flex-wrap:wrap; }
.filter-chip { display:inline-flex; align-items:center; justify-content:center; min-height:28px; border:1px solid #C9CDD3; border-radius:18px; padding:5px 11px; background:#fff; color:var(--grey); font-size:10.5px; font-weight:700; line-height:1.1; }
.filter-chip:hover { border-color:var(--teal); color:var(--navy); text-decoration:none; }
.filter-chip.active { border-color:var(--navy); background:var(--navy); color:#fff; }
.filter-count { flex:none; color:var(--grey); font-size:11px; white-space:nowrap; }
.decision-block { display:grid; grid-template-columns:120px 1fr; gap:18px; align-items:start; }
.decision-score { background:var(--navy); color:#fff; border-top:5px solid var(--gold); border-radius:7px; padding:17px 12px; text-align:center; }
.decision-score strong,.decision-score span { display:block; }
.decision-score strong { font-size:29px; }
.decision-score span { margin-top:4px; color:#C7CCD4; font-size:9px; text-transform:uppercase; letter-spacing:.6px; }
.decision-block h4 { margin:0 0 6px; color:var(--navy); font-size:16px; }
.decision-block p { margin:5px 0; color:var(--grey); font-size:12px; }

.customer-hero { display:flex; align-items:center; justify-content:space-between; gap:22px; padding:17px 19px; margin-bottom:16px; background:var(--navy); color:#fff; border-radius:9px; border-top:4px solid var(--gold); }
.customer-hero>div:first-child { display:flex; align-items:center; gap:14px; }
.customer-monogram { display:flex; align-items:center; justify-content:center; flex:none; width:48px; height:48px; border-radius:7px; background:var(--teal); color:#fff; font-weight:800; }
.supplier-mark { display:flex; align-items:center; justify-content:center; flex:none; width:38px; height:38px; border-radius:6px; background:var(--navy); color:#fff; font-weight:800; }
.customer-hero h3 { margin:0; font-size:19px; }
.customer-hero p { margin:3px 0 0; color:#BEC4CE; }
.customer-hero dl { display:flex; gap:28px; margin:0; }
.customer-hero dl div { min-width:82px; }
.customer-hero dt { color:#AEB5C0; font-size:10px; text-transform:uppercase; }
.customer-hero dd { margin:2px 0 0; color:#fff; font-size:22px; font-weight:bold; }

.supplier-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.supplier-card { background:#fff; border:1px solid var(--border); border-left:5px solid var(--indigo); border-radius:9px; padding:15px 17px; box-shadow:var(--shadow); }
.supplier-card-head { display:flex; align-items:center; gap:11px; }
.supplier-card-head>div:nth-child(2) { min-width:0; flex:1; }
.supplier-card h3 { margin:0; color:var(--navy); font-size:15px; }
.supplier-card-head p { margin:2px 0 0; color:var(--grey); font-size:11px; }
.fit-badge { border-radius:12px; background:#ECEEF1; color:var(--grey); padding:3px 7px; font-size:9px; font-weight:bold; }
.fit-badge.strong { background:#DCEFE7; color:#17613c; }
.fit-badge.incumbent { background:#E5E7ED; color:var(--navy); }
.supplier-card dl { margin:14px 0 10px; }
.supplier-card dl div { display:grid; grid-template-columns:100px 1fr; gap:8px; padding:5px 0; border-top:1px solid #E8E9EB; }
.supplier-card dt { color:var(--teal); font-size:9px; font-weight:bold; text-transform:uppercase; }
.supplier-card dd { margin:0; font-size:11px; }
.evidence-copy { min-height:48px; margin:8px 0 11px; color:var(--grey); font-size:11px; }

.radar-layout { display:grid; grid-template-columns:260px 1fr; gap:18px; align-items:start; }
.radar-core { position:sticky; top:76px; display:flex; aspect-ratio:1; align-items:center; justify-content:center; flex-direction:column; color:#fff; background:var(--navy); border:14px solid #E2E5E7; box-shadow:inset 0 0 0 4px var(--gold); border-radius:50%; }
.radar-core span { color:#6DD0C5; font-size:46px; font-weight:800; }
.radar-core strong { font-size:14px; text-transform:uppercase; letter-spacing:1px; }
.radar-core small { color:#B5BCC6; }
.radar-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.radar-item { display:grid; grid-template-columns:1fr auto; gap:3px 10px; min-height:104px; padding:13px 14px; background:#fff; border:1px solid var(--border); border-left:5px solid var(--teal); border-radius:8px; color:var(--ink); }
.radar-item:hover { border-color:#AFCBC8; box-shadow:0 4px 12px rgba(28,37,54,.07); }
.radar-item>span:first-child { color:var(--gold); font-size:9px; font-weight:bold; text-transform:uppercase; letter-spacing:.6px; }
.radar-link { grid-column:1; color:var(--navy); font-size:14px; font-weight:800; }
.radar-item>small { grid-column:1/-1; color:var(--grey); }
.radar-item>.tag-list { grid-column:2; grid-row:1/3; justify-content:flex-end; align-content:start; }

.method-note { margin-bottom:15px; padding:12px 14px; background:#FBF2DC; border:1px solid #E5CD95; border-left:5px solid var(--gold); border-radius:6px; color:#5A451A; font-size:12px; }
.opportunity-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.opportunity-card { background:#fff; border:1px solid var(--border); border-top:5px solid var(--teal); border-radius:9px; padding:15px 17px 17px; box-shadow:var(--shadow); scroll-margin-top:70px; }
.opportunity-title { display:grid; grid-template-columns:54px 1fr auto; align-items:center; gap:12px; }
.opportunity-title h3 { margin:0; color:var(--navy); font-size:16px; }
.opportunity-title p { margin:2px 0 0; color:var(--grey); font-size:11.5px; }
.factor-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:6px; margin:15px 0 10px; }
.factor-grid div { background:var(--band); border-top:3px solid var(--teal); padding:8px 6px; text-align:center; }
.factor-grid span,.factor-grid strong { display:block; }
.factor-grid span { min-height:28px; color:var(--grey); font-size:8.5px; font-weight:bold; text-transform:uppercase; }
.factor-grid strong { color:var(--navy); font-size:17px; }
.rationale { color:var(--grey); font-size:11px; }
.recommended { margin-top:12px; padding:11px 12px; background:var(--navy); color:#fff; border-radius:6px; }
.recommended span { display:block; color:#D3A64C; font-size:9px; font-weight:bold; text-transform:uppercase; }
.recommended strong { display:block; margin:2px 0 3px; }
.recommended p { margin:0; color:#C6CBD3; font-size:11px; }

.inbox-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:16px; }
.upload-card { display:grid; grid-template-columns:1.3fr .7fr 1fr auto; align-items:end; gap:15px; background:#fff; border:1px solid var(--border); border-left:5px solid var(--teal); border-radius:9px; padding:15px 17px; box-shadow:var(--shadow); }
.upload-card h3 { margin:0; color:var(--navy); }
.upload-card p { margin:3px 0 0; color:var(--grey); font-size:11px; }
.field { display:grid; gap:6px; }
.field label { color:var(--navy); font-size:11px; font-weight:700; }
.pipeline { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; background:var(--navy); border-radius:9px; padding:14px; }
.pipeline span { display:flex; min-height:39px; align-items:center; justify-content:center; padding:5px; background:var(--navy-2); border:1px solid #465269; color:#fff; border-radius:5px; font-size:9px; font-weight:bold; text-transform:uppercase; }
.table-scroll { width:100%; overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:11.5px; }
thead th { background:var(--navy); color:#fff; border-bottom:3px solid var(--gold); text-align:left; padding:8px 10px; font-size:9.5px; text-transform:uppercase; letter-spacing:.45px; white-space:nowrap; }
tbody th,tbody td { border-right:1px solid var(--border); border-bottom:1px solid var(--border); padding:7px 10px; text-align:left; vertical-align:top; }
tbody th:last-child,tbody td:last-child { border-right:0; }
tbody th { color:var(--navy); }
tbody tr:nth-child(even) { background:var(--band); }
tbody tr:hover { background:#EDF5F4; }
td small,th small { display:block; color:var(--grey); margin-top:2px; }
.status { display:inline-flex; border-radius:10px; background:#E7E9EC; color:var(--navy); padding:2px 8px; font-size:9px; font-weight:bold; text-transform:uppercase; }
.status.complete,.status.verified { background:#DDEFE7; color:#155D38; }
.status.processing { background:#FBF0D5; color:#72500B; }
.status.failed,.status.rejected { background:#F9E2DF; color:#8B2C23; }
.error-copy { color:var(--red); max-width:320px; }
.inline-form { display:flex; gap:3px; }
.count-badge { background:var(--navy); color:#fff; border-radius:12px; padding:3px 8px; font-size:9px; font-weight:bold; }
.pagination { display:flex; align-items:center; gap:9px; }
.pagination span { color:var(--grey); font-size:11px; }

.ask-hero { background:var(--navy); color:#fff; border-bottom:4px solid var(--gold); border-radius:10px; padding:22px 24px 24px; }
.ask-hero h2 { color:#fff; }
.ask-hero>p:not(.section-label) { color:#BEC4CE; }
.ask-form { max-width:900px; margin-top:20px; }
.ask-form label { display:block; margin-bottom:6px; color:#fff; font-size:11px; font-weight:bold; }
.ask-form>div { display:grid; grid-template-columns:1fr auto; gap:8px; }
.ask-form input { width:100%; min-height:48px; }
.suggested { display:flex; align-items:center; gap:7px; flex-wrap:wrap; margin-top:12px; }
.suggested span { color:#AAB1BC; font-size:10px; }
.suggested a { color:#DDEAE9; border:1px solid #4C596E; border-radius:14px; padding:4px 9px; font-size:9.5px; }
.suggested a:hover { background:#2C394E; text-decoration:none; }
.answer-panel { margin-top:16px; background:#fff; border:1px solid var(--border); border-radius:9px; padding:20px; box-shadow:var(--shadow); }
.answer-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; border-bottom:1px solid var(--border); padding-bottom:13px; }
.answer-head h3 { margin:4px 0 0; color:var(--navy); font-size:17px; }
.answer-label { color:var(--teal); }
.answer-results article { display:grid; grid-template-columns:1fr auto; gap:16px; padding:13px 0; border-bottom:1px solid var(--border); }
.answer-results article:last-child { border-bottom:0; }
.answer-results h4 { margin:0 0 3px; color:var(--navy); }
.answer-results p { margin:0; color:var(--grey); font-size:12px; }
.answer-results mark { background:#F8E9C6; color:inherit; padding:0 2px; }
.confidence-inline { display:block; margin-top:5px; color:var(--grey); font-size:9px; white-space:nowrap; }
.answer-method { margin:14px 0 0; background:var(--band); padding:9px 11px; color:var(--grey); font-size:10px; }
.empty { padding:30px; text-align:center; color:var(--grey); }
.empty.compact { padding:15px; }

.export-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.export-card { display:flex; min-height:190px; flex-direction:column; align-items:flex-start; background:#fff; border:1px solid var(--border); border-top:5px solid var(--teal); border-radius:9px; padding:17px 19px; color:var(--ink); box-shadow:var(--shadow); }
.export-card:nth-child(2) { border-top-color:var(--gold); }
.export-card:nth-child(3) { border-top-color:var(--indigo); }
.export-card:hover { text-decoration:none; box-shadow:0 7px 20px rgba(28,37,54,.12); }
.file-type { color:var(--teal); font-size:10px; font-weight:bold; letter-spacing:1px; }
.export-card h3 { margin:12px 0 7px; color:var(--navy); font-size:17px; }
.export-card p { margin:0; color:var(--grey); }
.export-card strong { margin-top:auto; color:var(--teal); }
.report-preview { margin-top:17px; }
.summary-copy { max-width:900px; font-size:14px; }

.footer { background:var(--canvas); color:#fff; padding:0 0 24px; }
.footer .wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; width:calc(100% - 44px); max-width:1276px; padding:18px 22px; background:var(--navy); border-radius:10px; }
.footer strong,.footer span { display:block; }
.footer strong { font-size:11px; }
.footer span,.footer-tags { color:#AEB5BF; font-size:10px; }

.login-shell { display:grid; grid-template-columns:1.1fr .9fr; min-height:100dvh; background:var(--navy); }
.login-brand { display:flex; justify-content:space-between; flex-direction:column; padding:clamp(36px,6vw,82px); color:#fff; border-bottom:8px solid var(--gold); }
.login-brand h1 { max-width:650px; margin:12px 0 14px; font-size:clamp(36px,4.5vw,62px); line-height:1.04; letter-spacing:-1.2px; }
.login-lede { max-width:620px; color:#AEB4BE; font-size:15px; }
.source-legend { display:flex; flex-wrap:wrap; gap:7px; }
.login-panel { display:flex; align-items:center; justify-content:center; padding:32px; background:var(--canvas); }
.login-card { width:min(420px,100%); background:#fff; border:1px solid var(--border); border-top:6px solid var(--teal); border-radius:10px; padding:27px 29px; box-shadow:0 12px 34px rgba(28,37,54,.12); }
.login-card h2 { margin:5px 0 1px; color:var(--navy); font-size:24px; }
.stack-form { display:grid; gap:15px; margin-top:23px; }
.password-row { display:grid; grid-template-columns:1fr auto; gap:5px; }
.password-row input { min-width:0; width:100%; }
.security-note { margin:15px 0 0; padding-top:12px; border-top:1px solid var(--border); color:var(--mute); font-size:9px; font-weight:700; letter-spacing:.35px; }

.source-page { padding-block:26px 60px; }
.source-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.source-heading h2 { margin:7px 0 1px; color:var(--navy); }
.source-heading p { margin:0; color:var(--grey); }
.confidence-box { border-left:5px solid var(--teal); background:#fff; padding:10px 15px; min-width:165px; }
.confidence-box strong,.confidence-box span { display:block; }
.confidence-box strong { color:var(--teal); font-size:25px; }
.confidence-box span { color:var(--grey); font-size:10px; }
.source-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:16px; }
.source-grid blockquote { margin:10px 0 22px; padding:16px; background:var(--band); border-left:5px solid var(--gold); color:#3F444B; font-family:"Courier New",monospace; font-size:12px; }
.detail-list { margin:11px 0 0; }
.detail-list div { display:grid; grid-template-columns:105px 1fr; gap:10px; border-top:1px solid var(--border); padding:7px 0; }
.detail-list dt { color:var(--grey); font-size:10px; }
.detail-list dd { margin:0; color:var(--navy); font-size:11px; font-weight:bold; overflow-wrap:anywhere; }

.report-body { background:#CDD0D4; }
.report-actions { position:sticky; top:0; z-index:10; display:flex; justify-content:flex-end; gap:8px; width:210mm; margin:auto; padding:8px; background:#fff; }
.report-document { width:210mm; margin:0 auto 30px; background:#fff; box-shadow:0 6px 30px rgba(0,0,0,.18); }
.report-cover { min-height:297mm; display:flex; flex-direction:column; padding:30mm 20mm 18mm; background:var(--navy); color:#fff; border-bottom:10px solid var(--gold); }
.report-cover>p { color:#66BDB4; font-size:11px; font-weight:bold; letter-spacing:2px; }
.report-cover h1 { max-width:150mm; margin:45mm 0 5mm; font-size:34px; line-height:1.08; }
.report-cover h2 { margin:0; color:#B9C0CA; font-size:16px; font-weight:normal; }
.report-cover-meta { display:flex; justify-content:space-between; margin-top:auto; border-top:1px solid #4B566B; padding-top:8mm; color:#D6DAE0; font-size:10px; letter-spacing:1px; }
.report-section { min-height:275mm; padding:18mm; }
.report-section h2 { color:var(--navy); font-size:25px; }
.report-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:6mm; margin:15mm 0; }
.report-kpis div { border-top:4px solid var(--teal); background:var(--band); padding:7mm 5mm; }
.report-kpis strong,.report-kpis span { display:block; }
.report-kpis strong { color:var(--teal); font-size:27px; }
.report-kpis span { color:var(--grey); font-size:9px; text-transform:uppercase; }
.report-lede { max-width:140mm; color:var(--grey); font-size:15px; }
.report-columns { display:grid; grid-template-columns:repeat(3,1fr); gap:4mm; }
.report-columns div { background:var(--band); padding:5mm; }
.report-columns strong,.report-columns span { display:block; }
.report-columns strong { color:var(--navy); }
.report-columns span { color:var(--grey); font-size:10px; }
.report-opportunity { display:grid; grid-template-columns:25mm 1fr; gap:6mm; padding:6mm 0; border-bottom:1px solid var(--border); }
.report-opportunity>span { display:flex; height:18mm; align-items:center; justify-content:center; background:var(--teal); color:#fff; font-size:18px; font-weight:bold; }
.report-opportunity h3 { margin:0; color:var(--navy); }
.report-opportunity p { margin:2mm 0; color:var(--grey); font-size:10px; }
.report-footer { padding:6mm 18mm; background:var(--navy); color:#BFC5CE; font-size:8px; }

@media (max-width:1100px) {
  .stat-strip { grid-template-columns:repeat(3,1fr); }
  .supplier-grid { grid-template-columns:repeat(2,1fr); }
  .upload-card { grid-template-columns:1fr 1fr; }
  .upload-card>div:first-child { grid-column:1/-1; }
  .inbox-layout { grid-template-columns:1fr; }
  .pipeline { grid-template-columns:repeat(6,1fr); }
}

@media (max-width:800px) {
  .wrap { width:100%; padding-inline:16px; }
  .masthead { padding-block:18px; }
  .masthead-row,.page-intro,.footer .wrap { align-items:flex-start; flex-direction:column; }
  .masthead h1 { font-size:22px; }
  .masthead-legend>span:last-child { width:100%; margin:5px 0 0; line-height:1.4; }
  .account-block { justify-content:flex-start; }
  .stat-strip,.stat-strip.four { grid-template-columns:repeat(2,1fr); }
  .dashboard-grid,.source-grid { grid-template-columns:1fr; }
  .span-4,.span-5,.span-7,.span-8 { grid-column:1; }
  .supplier-grid,.opportunity-cards,.export-grid { grid-template-columns:1fr; }
  .customer-hero { align-items:flex-start; flex-direction:column; }
  .customer-hero dl { width:100%; justify-content:space-between; gap:10px; }
  .radar-layout { grid-template-columns:1fr; }
  .radar-core { position:static; width:210px; margin:auto; }
  .radar-list { grid-template-columns:1fr; }
  .login-shell { grid-template-columns:1fr; }
  .login-brand { min-height:43dvh; padding:35px 24px; }
  .login-brand h1 { font-size:38px; }
  .login-panel { padding:24px 15px; }
  .ask-form>div { grid-template-columns:1fr; }
  .footer .wrap { width:calc(100% - 32px); padding:17px 18px; }
}

@media (max-width:560px) {
  .app-main { padding-top:20px; }
  .stat-strip,.stat-strip.four { grid-template-columns:1fr 1fr; gap:8px; }
  .stat { padding:12px; }
  .stat>strong { font-size:23px; }
  .factor-grid { grid-template-columns:repeat(3,1fr); }
  .opportunity-title { grid-template-columns:50px 1fr; }
  .opportunity-title>.tag-list { grid-column:1/-1; }
  .decision-block { grid-template-columns:1fr; }
  .decision-score { display:flex; align-items:baseline; gap:8px; text-align:left; }
  .pipeline { grid-template-columns:repeat(3,1fr); }
  .upload-card { grid-template-columns:1fr; }
  .upload-card>div:first-child { grid-column:auto; }
  .filter-bar { align-items:stretch; flex-direction:column; }
  .filter-chips { flex-wrap:nowrap; margin-inline:-16px; padding:0 16px 5px; overflow-x:auto; }
  .filter-chip { flex:none; }
  .filter-count { align-self:flex-end; }
  .filter-bar select { min-width:0; width:100%; }
  .opportunity-row { grid-template-columns:48px 1fr; }
  .row-action { grid-column:2; }
  .answer-results article { grid-template-columns:1fr; }
}

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

@media print {
  @page { size:A4; margin:0; }
  body { background:#fff; }
  .no-print,.tab-nav,.masthead,.footer { display:none!important; }
  .report-document { margin:0; box-shadow:none; }
  .page-break { break-before:page; }
  .report-cover,.report-section { break-after:page; }
  a { color:inherit; text-decoration:none; }
}
