@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,400;6..96,500;6..96,600&family=Hanken+Grotesk:wght@300;400;500;600;700&display=swap");

:root {
  --studio-black: #121211;
  --quantum-white: #fbfbfa;
  --paper-pure: #ffffff;
  --neutral-50: #fbfbfa;
  --neutral-100: #f1f1f0;
  --neutral-200: #e4e4e2;
  --neutral-300: #ccccca;
  --neutral-400: #adadab;
  --neutral-500: #888886;
  --neutral-600: #646462;
  --neutral-700: #474745;
  --neutral-800: #2c2c2b;
  --neutral-900: #1b1b1a;
  --ink: var(--studio-black);
  --muted: var(--neutral-600);
  --line: var(--neutral-300);
  --line-soft: var(--neutral-200);
  --soft: var(--neutral-100);
  --paper: var(--paper-pure);
  --green: var(--studio-black);
  --green-soft: var(--neutral-100);
  --flair: #c93a2b;
  --flair-deep: #6b2334;
  --golden-ground: #f2d49b;
  --rosin-amber: #f6b45a;
  --amber: #7a6320;
  --blue: #315d87;
  --red: #7a2e27;
  --positive: #3f5e3a;
  --signal-lime: #dfff7a;
  --signal-lime-border: #8eb52d;
  --signal-cyan: #9eeeed;
  --signal-cyan-border: #46aaa6;
  --signal-yellow: #ffe17a;
  --signal-yellow-border: #d5a925;
  --signal-coral: #ffb3aa;
  --signal-coral-border: #d65d51;
  --signal-mint: #bff4d2;
  --signal-mint-border: #65b985;
  --font-serif: "Bodoni Moda", "Times New Roman", Georgia, serif;
  --font-sans: "Hanken Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --type-xs: 12px;
  --type-sm: 13px;
  --type-body: 15px;
  --type-control: 14px;
  --type-h3: 18px;
  --type-h2: 23px;
  --type-h1: 36px;
  --control-height: 40px;
  --radius-control: 8px;
  --radius-surface: 8px;
  --ease-standard: cubic-bezier(0.22, 1, 0.36, 1);
}

html[data-font-size="extra-small"] { --type-xs: 10px; --type-sm: 11px; --type-body: 13px; --type-control: 12px; --type-h3: 16px; --type-h2: 20px; --type-h1: 31px; --control-height: 36px; }
html[data-font-size="small"] { --type-xs: 11px; --type-sm: 12px; --type-body: 14px; --type-control: 13px; --type-h3: 17px; --type-h2: 21px; --type-h1: 33px; --control-height: 38px; }
html[data-font-size="large"] { --type-xs: 14px; --type-sm: 15px; --type-body: 17px; --type-control: 16px; --type-h3: 20px; --type-h2: 26px; --type-h1: 40px; --control-height: 44px; }
html[data-font-size="extra-large"] { --type-xs: 15px; --type-sm: 17px; --type-body: 19px; --type-control: 18px; --type-h3: 23px; --type-h2: 29px; --type-h1: 44px; --control-height: 48px; }

* { box-sizing: border-box; }
html { background: var(--quantum-white); color: var(--ink); font-family: var(--font-sans); letter-spacing: 0; scroll-behavior: auto; }
body { line-height: 1.5; margin: 0; min-width: 320px; }
a { color: var(--ink); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; letter-spacing: 0; }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.skip-link { background: var(--signal-yellow); border: 1px solid var(--signal-yellow-border); color: #2d2200; font-weight: 700; left: 16px; padding: 9px 12px; position: fixed; top: -80px; z-index: 100; }
.skip-link:focus { top: 12px; }

.topbar { align-items: center; background: var(--quantum-white); border-bottom: 1px solid var(--line); display: flex; height: 64px; justify-content: space-between; padding: 0 24px; position: sticky; top: 0; z-index: 10; }
.brand { align-items: center; color: var(--ink); display: flex; gap: 10px; min-width: 0; }
.brand:hover { text-decoration: none; }
.brand-mark { align-items: center; background: var(--ink); border-radius: var(--radius-control); color: var(--quantum-white); display: inline-flex; flex: 0 0 34px; font-family: var(--font-serif); font-size: 19px; font-weight: 500; height: 34px; justify-content: center; }
.brand-mark.large { height: 42px; width: 42px; }
.brand strong, .brand small { display: block; }
.brand strong { font-family: var(--font-serif); font-size: 16px; font-weight: 500; }
.brand small { color: var(--muted); font-size: 11px; margin-top: 1px; }
.topbar-actions { align-items: center; display: flex; gap: 14px; }
.environment { background: var(--neutral-100); border: 1px solid var(--line-soft); border-radius: 999px; color: var(--neutral-700); font-size: 11px; font-weight: 600; padding: 4px 9px; }
.user-name { color: var(--muted); font-size: 13px; }
.role-label { border-left: 1px solid var(--line); color: var(--muted); font-size: 12px; padding-left: 14px; }
.text-button { background: none; border: 0; color: var(--ink); cursor: pointer; padding: 6px; }

.app-shell { display: grid; grid-template-columns: 228px minmax(0, 1fr); min-height: calc(100vh - 64px); }
.sidebar { background: var(--studio-black); display: flex; flex-direction: column; gap: 2px; height: calc(100vh - 64px); overflow-y: auto; padding: 16px 12px 24px; position: sticky; top: 64px; }
.sidebar a { align-items: center; border-left: 2px solid transparent; border-radius: var(--radius-control); color: var(--neutral-300); display: flex; font-size: 13px; gap: 10px; min-height: 40px; padding: 9px 12px; transition: background 160ms var(--ease-standard), color 160ms var(--ease-standard); }
.sidebar a svg { flex: 0 0 17px; height: 17px; opacity: .82; width: 17px; }
.sidebar a:hover { background: var(--neutral-900); color: var(--quantum-white); text-decoration: none; }
.sidebar a:hover svg { opacity: 1; }
.sidebar a[aria-current="page"] { background: var(--quantum-white); border-left-color: var(--flair); color: var(--ink); font-weight: 600; }
.sidebar a[aria-current="page"] svg { opacity: 1; }
.nav-label { color: var(--neutral-500); font-size: 10px; font-weight: 600; margin: 18px 12px 6px; text-transform: uppercase; }
.main-content { background: var(--quantum-white); min-width: 0; padding: 32px 28px 48px; }
.message-stack { display: grid; gap: 8px; max-width: min(440px, calc(100vw - 32px)); position: fixed; right: 24px; top: 78px; width: 100%; z-index: 50; }
.message { align-items: center; background: var(--neutral-100); border: 1px solid var(--line); border-left: 4px solid var(--neutral-600); box-shadow: 0 12px 30px rgb(18 18 17 / 12%); color: var(--ink); display: grid; font-size: 13px; gap: 12px; grid-template-columns: minmax(0, 1fr) 32px; padding: 10px 10px 10px 13px; transition: opacity 160ms var(--ease-standard), transform 160ms var(--ease-standard); }
.message .icon-button { background: transparent; border-color: transparent; height: 30px; width: 30px; }
.message.is-leaving { opacity: 0; transform: translateY(-8px); }
.message.error { background: #fae8e8; border-color: #ebc1c1; color: var(--red); }
.message.error { border-left-color: var(--signal-coral-border); }
.message.info { background: #e9f0f6; border-color: #c7d7e5; border-left-color: var(--signal-cyan-border); color: var(--blue); }
.message.success { background: #edf4eb; border-color: #c8d8c4; border-left-color: var(--signal-lime-border); color: var(--positive); }
.back-to-top-button { --back-to-top-offset: 24px; background: var(--studio-black); border-color: var(--studio-black); bottom: var(--back-to-top-offset); box-shadow: 0 8px 24px rgb(18 18 17 / 16%); color: var(--quantum-white); height: 44px; opacity: 0; pointer-events: none; position: fixed; right: 24px; transform: translateY(8px); transition: bottom 220ms var(--ease-standard), opacity 180ms var(--ease-standard), transform 220ms var(--ease-standard); width: 44px; z-index: 30; }
.back-to-top-button:hover { background: var(--neutral-800); border-color: var(--studio-black); }
.back-to-top-button.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
.back-to-top-button[hidden] { display: none; }

.release-dialog {
  background: var(--paper);
  border: 1px solid var(--neutral-400);
  border-radius: 0;
  box-shadow: 0 24px 70px rgb(18 18 17 / 24%);
  color: var(--ink);
  margin: auto;
  max-height: min(720px, calc(100vh - 40px));
  max-width: min(560px, calc(100vw - 32px));
  overflow: auto;
  padding: 0;
  width: 100%;
}
.release-dialog::backdrop { background: rgb(18 18 17 / 58%); }
.release-dialog-accent { background: var(--flair); height: 4px; }
.release-dialog-header { align-items: flex-start; display: flex; gap: 24px; justify-content: space-between; padding: 26px 28px 0; }
.release-dialog-header h2 { font-size: 26px; }
.release-dialog-header .icon-button { flex: 0 0 auto; }
.release-dialog-date { color: var(--muted); font-size: var(--type-sm); margin: 7px 0 0; }
.release-dialog-intro { color: var(--muted); margin: 20px 28px 0; }
.release-note-list { display: grid; gap: 0; list-style: none; margin: 22px 28px 26px; padding: 0; }
.release-note-list li { align-items: flex-start; border-top: 1px solid var(--line-soft); display: grid; gap: 12px; grid-template-columns: 20px minmax(0, 1fr); padding: 13px 0; }
.release-note-list li:last-child { border-bottom: 1px solid var(--line-soft); }
.release-note-list svg { color: var(--positive); height: 17px; margin-top: 2px; width: 17px; }
.release-dialog-footer { align-items: center; background: var(--neutral-100); border-top: 1px solid var(--line); display: flex; gap: 10px; justify-content: flex-end; padding: 16px 28px; }

.page-header { align-items: flex-end; border-bottom: 1px solid var(--line); display: flex; gap: 24px; justify-content: space-between; margin-bottom: 28px; padding-bottom: 22px; }
.page-intro { color: var(--muted); margin: 9px 0 0; max-width: 72ch; }
.eyebrow { color: var(--flair-deep); font-size: 10px; font-weight: 600; margin: 0 0 7px; text-transform: uppercase; }
h1, h2, h3 { font-family: var(--font-serif); font-weight: 500; letter-spacing: 0; margin: 0; }
h1 { font-size: 31px; line-height: 1.08; }
h2 { font-size: 19px; line-height: 1.25; }
h3 { font-size: 15px; line-height: 1.3; }
.snapshot-note { color: var(--muted); font-size: 12px; margin: 0; }
.record-total { align-items: baseline; display: flex; gap: 6px; }
.record-total strong { font-size: 24px; }
.record-total span { color: var(--muted); font-size: 12px; }

.metric-grid { display: grid; gap: 1px; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-bottom: 28px; }
.metric { background: var(--paper); border: 1px solid var(--line); color: var(--ink); min-width: 0; padding: 18px; }
.metric:first-child, .metric:last-child { border-radius: 0; }
.metric:hover { border-color: var(--ink); position: relative; text-decoration: none; }
.metric span { color: var(--muted); display: block; font-size: 11px; margin-bottom: 8px; }
.metric strong { font-size: 24px; }
.section-block { margin-top: 36px; }
.section-heading { align-items: flex-end; display: flex; gap: 18px; justify-content: space-between; margin-bottom: 14px; }
.section-heading > a { font-size: 13px; font-weight: 700; }
.quality-grid { background: var(--paper); border: 1px solid var(--line); border-radius: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.quality-grid div { border-right: 1px solid var(--line); padding: 15px 18px; }
.quality-grid div:last-child { border-right: 0; }
.quality-grid span { color: var(--muted); display: block; font-size: 12px; }
.quality-grid strong { color: var(--red); display: block; font-size: 21px; margin-top: 5px; }

.filters { align-items: end; background: var(--paper); border: 1px solid var(--line); border-radius: 0; display: flex; flex-wrap: wrap; gap: 12px; padding: 14px; }
.filters label { display: grid; gap: 5px; min-width: 150px; }
.filters label > span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.filters .search-field { flex: 1 1 240px; }
input, select, textarea { background: white; border: 1px solid var(--neutral-300); border-radius: var(--radius-control); color: var(--ink); min-width: 0; padding: 8px 10px; }
input, select { height: 36px; }
textarea { line-height: 1.45; min-height: 72px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--ink); outline: 2px solid var(--neutral-300); }
input[type="checkbox"], input[type="radio"] { accent-color: var(--studio-black); height: 18px; min-width: 18px; padding: 0; width: 18px; }
.filter-actions { display: flex; gap: 8px; }
.primary-button, .secondary-button { align-items: center; border-radius: var(--radius-control); cursor: pointer; display: inline-flex; font-size: 12px; font-weight: 600; height: 36px; justify-content: center; padding: 0 14px; transition: background 160ms var(--ease-standard), border-color 160ms var(--ease-standard); }
.primary-button { background: var(--ink); border: 1px solid var(--ink); color: var(--quantum-white); }
.primary-button:hover { background: var(--neutral-800); }
.secondary-button { background: white; border: 1px solid var(--neutral-300); color: var(--ink); }
.secondary-button:hover { border-color: var(--ink); }
.primary-button:hover, .secondary-button:hover { text-decoration: none; }
.primary-button:disabled, .secondary-button:disabled, .icon-button:disabled { background: var(--neutral-200); border-color: var(--neutral-300); color: var(--neutral-500); cursor: not-allowed; opacity: 1; }
.icon-text-button { gap: 7px; }
.icon-text-button svg { height: 16px; width: 16px; }
.danger { color: var(--red); }
.bids-page-header { align-items: stretch; display: grid; grid-template-columns: minmax(280px, .72fr) minmax(560px, 1.28fr); }
.bids-page-header > div:first-child { align-content: center; border-left: 3px solid var(--flair); display: grid; padding: 12px 0 12px 20px; }
.bids-page-header h1 { font-size: 46px; line-height: .98; }
.refresh-control { align-items: center; background: var(--studio-black); border: 1px solid var(--studio-black); border-top: 3px solid var(--flair); color: var(--neutral-300); display: flex; font-size: 12px; gap: 18px; justify-content: flex-end; padding: 14px 16px; }
.refresh-control form { margin: 0; }
.refresh-form { align-items: center; border-right: 1px solid var(--neutral-700); display: flex; gap: 10px; padding-right: 18px; }
.refresh-limit { display: grid; gap: 3px; }
.refresh-label { align-items: center; color: var(--neutral-300); display: flex; font-size: 9px; font-weight: 800; gap: 5px; text-transform: uppercase; }
.refresh-label label { cursor: pointer; }
.refresh-limit input { background: var(--neutral-900); border-color: var(--neutral-600); color: var(--quantum-white); height: 36px; padding: 6px 9px; width: 72px; }
.refresh-control .primary-button { background: var(--quantum-white); border-color: var(--quantum-white); color: var(--studio-black); min-width: 112px; }
.refresh-control .primary-button:hover { background: var(--signal-lime); border-color: var(--signal-lime); }
.refresh-control .primary-button:disabled { background: var(--neutral-700); border-color: var(--neutral-700); color: var(--neutral-300); }
.refresh-control .primary-button.is-refreshing svg { animation: refresh-spin 1.1s linear infinite; }
.refresh-status { display: grid; gap: 3px; min-width: 180px; }
.refresh-status > span { align-items: baseline; display: grid; gap: 2px; grid-template-columns: 88px minmax(0, 1fr); }
.refresh-status strong { color: var(--neutral-400); font-size: 10px; font-weight: 600; text-transform: uppercase; }
.refresh-status time { color: var(--quantum-white); font-size: 11px; font-variant-numeric: tabular-nums; }
.refresh-status small { color: var(--signal-lime); font-size: 10px; max-width: 300px; }
.tooltip-wrap { display: inline-flex; position: relative; }
.info-tooltip-trigger { align-items: center; background: transparent; border: 0; color: var(--neutral-400); cursor: help; display: inline-flex; height: 18px; justify-content: center; padding: 0; width: 18px; }
.info-tooltip-trigger:hover, .info-tooltip-trigger:focus-visible { color: var(--quantum-white); }
.info-tooltip-trigger svg { height: 14px; width: 14px; }
.info-tooltip { background: var(--studio-black); border: 1px solid var(--neutral-600); color: var(--quantum-white); font-size: 11px; font-weight: 400; left: auto; line-height: 1.45; opacity: 0; padding: 9px 10px; pointer-events: none; position: absolute; right: -8px; text-transform: none; top: calc(100% + 10px); transform: none; transition: opacity 120ms ease; visibility: hidden; width: 270px; z-index: 40; }
.tooltip-wrap:hover .info-tooltip, .tooltip-wrap:focus-within .info-tooltip { opacity: 1; visibility: visible; }
.refresh-progress-panel { background: var(--studio-black); border: 1px solid var(--studio-black); color: var(--quantum-white); display: grid; gap: 18px; margin: -12px 0 28px; padding: 22px 24px 20px; }
.refresh-progress-panel[hidden] { display: none; }
.refresh-progress-main { align-items: end; display: grid; gap: 28px; grid-template-columns: 170px minmax(0, 1fr); }
.refresh-progress-main h2 { color: var(--quantum-white); font-family: var(--font-sans); font-size: 21px; font-weight: 500; margin: 0 0 4px; }
.refresh-progress-main p { color: var(--neutral-300); font-size: var(--type-sm); margin: 0; }
.refresh-live-label { align-items: center; color: var(--signal-lime); display: inline-flex; font-size: var(--type-xs); gap: 9px; text-transform: uppercase; }
.refresh-live-label > span { background: currentColor; display: block; height: 8px; width: 8px; }
.refresh-progress-panel[data-state="failed"] .refresh-live-label, .refresh-progress-panel[data-state="manual_intervention"] .refresh-live-label { color: var(--signal-coral); }
.refresh-progress-panel progress { accent-color: var(--signal-lime); background: var(--neutral-800); border: 0; height: 7px; width: 100%; }
.refresh-progress-panel progress::-webkit-progress-bar { background: var(--neutral-800); }
.refresh-progress-panel progress::-webkit-progress-value { background: var(--signal-lime); }
.refresh-progress-panel progress::-moz-progress-bar { background: var(--signal-lime); }
.refresh-progress-meta { color: var(--neutral-400); display: grid; font-size: var(--type-xs); gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); text-transform: uppercase; }
.refresh-progress-meta span { display: grid; gap: 3px; }
.refresh-progress-meta strong { color: var(--quantum-white); font-size: var(--type-sm); font-variant-numeric: tabular-nums; font-weight: 500; text-transform: none; }
.refresh-phase-track { display: grid; gap: 8px; grid-template-columns: repeat(9, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.refresh-phase-track li { border-top: 2px solid var(--neutral-700); color: var(--neutral-500); font-size: 10px; padding-top: 7px; text-transform: uppercase; }
.refresh-phase-track li.is-complete { border-color: var(--signal-lime); color: var(--neutral-200); }
.refresh-phase-track li.is-current { border-color: var(--quantum-white); color: var(--quantum-white); }
@keyframes refresh-spin { to { transform: rotate(360deg); } }
.table-actions { align-items: center; color: var(--muted); display: flex; font-size: 12px; justify-content: space-between; min-height: 52px; }
.table-action-buttons { align-items: center; display: flex; gap: 8px; }

.table-wrap { -webkit-overflow-scrolling: touch; background: var(--paper); border: 1px solid var(--line); border-radius: 0; max-width: 100%; overflow-x: auto; overflow-y: hidden; scrollbar-gutter: stable; scrollbar-width: thin; }
.table-wrap > table { min-width: 100%; width: max-content; }
table { border-collapse: collapse; font-size: 12px; min-width: 100%; table-layout: auto; }
th { background: var(--neutral-200); border-bottom: 1px solid var(--neutral-300); color: var(--neutral-700); font-size: 10px; font-weight: 700; height: 42px; padding: 0 12px; text-align: left; text-transform: uppercase; white-space: nowrap; }
td { background: white; border-top: 1px solid var(--line-soft); max-width: 260px; padding: 11px 12px; vertical-align: top; }
tbody tr:nth-child(even) td { background: #f7f7f6; }
tbody tr:hover td { background: #eceeec; }
.sort-link { align-items: center; color: inherit; display: inline-flex; gap: 5px; }
.sort-link svg { height: 13px; width: 13px; }
.requirement-link { color: var(--ink); display: -webkit-box; font-weight: 400; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.long-cell { line-height: 1.45; min-width: 220px; max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.bids-table .long-cell { max-width: none; min-width: 0; }
.nowrap { white-space: nowrap; }
.number-cell { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.status-pill { background: var(--neutral-100); border-radius: 999px; color: var(--neutral-700); display: inline-block; font-size: 10px; font-weight: 600; max-width: 170px; overflow: hidden; padding: 4px 8px; text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; }
.tone-success { background: var(--signal-lime); border: 1px solid var(--signal-lime-border); color: #263500; }
.tone-info { background: var(--signal-cyan); border: 1px solid var(--signal-cyan-border); color: #123f3d; }
.tone-warning { background: var(--signal-yellow); border: 1px solid var(--signal-yellow-border); color: #4d3900; }
.outcome-tag { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 700; gap: 6px; line-height: 1.2; padding: 6px 10px; white-space: nowrap; }
.outcome-tag::before { background: currentColor; border-radius: 50%; content: ""; height: 6px; width: 6px; }
.outcome-submitted { background: var(--neutral-200); border-color: var(--neutral-500); color: var(--neutral-900); }
.outcome-under-evaluation { background: var(--signal-cyan); border-color: var(--signal-cyan-border); color: #123f3d; }
.outcome-awarded { background: var(--signal-lime); border-color: var(--signal-lime-border); color: #263500; }
.outcome-not-awarded { background: var(--signal-coral); border-color: var(--signal-coral-border); color: #5b1710; }
.outcome-withdrawn { background: var(--signal-yellow); border-color: var(--signal-yellow-border); color: #4d3900; }
.priority-pill, .review-tag, .quality-ok { border-radius: 999px; display: inline-block; font-size: 10px; font-weight: 600; padding: 4px 8px; white-space: nowrap; }
/* Priority/outcome pills carry a border as well as colour so hue is never the
   only signal (WCAG 1.4.1). Text/background pairs are all >= 4.5:1 (AA). */
.priority-pill, .review-tag { border: 1px solid transparent; }
.priority-high { background: var(--signal-coral); border-color: var(--signal-coral-border); color: #5b1710; }
.priority-medium { background: var(--signal-yellow); border-color: var(--signal-yellow-border); color: #4d3900; }
.priority-low { background: var(--signal-mint); border-color: var(--signal-mint-border); color: #173f27; }
.priority-unassigned { background: var(--neutral-200); border-color: var(--neutral-400); color: var(--neutral-700); }
.pipeline-stage-pill { background: var(--signal-cyan); border: 1px solid var(--signal-cyan-border); border-radius: 999px; color: #123f3d; display: inline-flex; font-size: var(--type-body); font-weight: 650; max-width: 100%; padding: 6px 10px; }
.discovery-priority-note { color: var(--neutral-500); font-size: var(--type-sm); }
.review-tag { background: var(--signal-yellow); border-color: var(--signal-yellow-border); color: #4d3900; max-width: 160px; overflow: hidden; text-overflow: ellipsis; }
.quality-ok { color: var(--positive); padding-left: 0; }

/* Deadline urgency (F3): days-left emphasis, meets AA on its cell tint. */
/* Inline "needs review" marker; replaces the Data Quality column on Bids. */
.review-flag { color: #79490a; display: inline-flex; vertical-align: -2px; }
.review-flag svg { height: 14px; width: 14px; }

.deadline-indicator { align-items: center; border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-variant-numeric: tabular-nums; font-weight: 700; justify-content: center; min-height: 26px; min-width: 32px; padding: 3px 8px; white-space: nowrap; }
.deadline-indicator.due-soon { background: var(--signal-yellow); border-color: var(--signal-yellow-border); color: #4d3900; }
.deadline-indicator.due-urgent { background: var(--signal-coral); border-color: var(--signal-coral-border); color: #5b1710; }

.faq { display: grid; gap: 8px; }
.faq details { background: var(--paper); border: 1px solid var(--line); }
.faq summary { cursor: pointer; font-weight: 600; padding: 12px 14px; }
.faq summary:hover { background: var(--soft); }
.faq .faq-body { border-top: 1px solid var(--line-soft); padding: 12px 14px; }
.faq .faq-body p { margin: 0; }

.mark-sent-form { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }

.demo-badge { background: #faedcf; border-color: var(--amber); color: #5d4914; font-weight: 700; }

.view-toggle { display: inline-flex; border: 1px solid var(--line); border-radius: var(--radius-control); overflow: hidden; }
.view-toggle a { align-items: center; color: var(--muted); display: inline-flex; font-size: 12px; font-weight: 600; gap: 6px; padding: 7px 12px; }
.view-toggle a:hover { background: var(--soft); text-decoration: none; }
.view-toggle a + a { border-left: 1px solid var(--line); }
.view-toggle a.is-active { background: var(--ink); color: var(--quantum-white); }
.view-toggle svg { height: 15px; width: 15px; }

.focus-card { background: var(--paper); border: 1px solid var(--line); margin-bottom: 16px; padding: 22px 24px; }
.focus-card > h2 { font-size: 22px; margin: 4px 0 14px; }
.focus-progress { color: var(--muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.focus-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }

/* "Why it matched" tag on the Bids requirement cell (#2). */
.match-tag { background: var(--neutral-100); border: 1px solid var(--line-soft); border-radius: 999px; color: var(--neutral-700); display: inline-block; font-size: 10px; margin-left: 8px; padding: 2px 8px; vertical-align: middle; white-space: nowrap; }

a.is-disabled { opacity: .5; pointer-events: none; }
.brief-sources { border: 1px solid var(--line); border-radius: var(--radius-control); display: grid; gap: 8px; margin: 4px 0; padding: 12px 14px; }
.brief-sources legend { color: var(--muted); font-size: 10px; font-weight: 800; padding: 0 4px; text-transform: uppercase; }
.inline-check { align-items: center; display: flex; gap: 8px; }
.inline-check input { height: auto; width: auto; }
.brief-source-option { align-items: center; display: grid !important; gap: 10px !important; grid-template-columns: 20px minmax(0, 1fr); min-height: 42px; padding: 7px 8px; }
.brief-source-option:hover { background: var(--neutral-100); }
.brief-source-option input { height: 18px !important; margin: 0; width: 18px !important; }
.brief-source-option > span { color: var(--ink) !important; display: grid; font-size: var(--type-body) !important; gap: 2px; text-transform: none !important; }
.brief-source-option strong { font-size: var(--type-body); }
.brief-source-option small { color: var(--muted); font-size: var(--type-sm); font-weight: 400; }
.brief-remember-option { border: 1px solid var(--line-soft); margin-top: 4px; }
.brief-providers { margin-top: 6px; }
.brief-provider-list { display: grid; gap: 5px; list-style: none; margin: 6px 0; padding: 0; }
.brief-provider-list li { align-items: center; display: flex; font-size: 13px; gap: 8px; }

.best-quote { background: #edf4eb; }
.best-quote td:first-child { box-shadow: inset 3px 0 0 var(--positive); }

.rejected-sellers { margin-top: 14px; }
.rejected-sellers summary { color: var(--muted); cursor: pointer; font-size: 13px; font-weight: 600; padding: 6px 0; }
.rejected-sellers summary:hover { color: var(--ink); }

.row-actions { min-width: 0; }
td.row-actions { white-space: nowrap; }
.row-actions form { display: inline-flex; margin: 0; }
.row-action-cluster { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; min-width: 0; }

.seller-match-table-wrap { width: 100%; }
.seller-match-table-wrap > .seller-match-table { min-width: 940px; table-layout: fixed; width: 100% !important; }
.seller-match-table .seller-column { width: 34%; }
.seller-match-table .authenticity-column { width: 18%; }
.seller-match-table .fit-column { width: 12%; }
.seller-match-table .decision-column { width: 14%; }
.seller-match-table .actions-column { width: 22%; }
.seller-match-table td { vertical-align: middle; }
.seller-match-table td:first-child { overflow-wrap: anywhere; }
.seller-match-table td:last-child { padding-right: 14px; }

.product-lines-table table { min-width: 1000px; table-layout: fixed; width: 100%; }
.product-lines-table th:nth-child(1), .product-lines-table td:nth-child(1) { width: 84px; }
.product-lines-table th:nth-child(2), .product-lines-table td:nth-child(2) { width: 19%; }
.product-lines-table th:nth-child(3), .product-lines-table td:nth-child(3) { width: 15%; }
.product-lines-table th:nth-child(4), .product-lines-table td:nth-child(4) { width: 24%; }
.product-lines-table th:nth-child(5), .product-lines-table td:nth-child(5) { width: 76px; }
.product-lines-table th:nth-child(6), .product-lines-table td:nth-child(6) { width: auto; }
.product-lines-table th:nth-child(7), .product-lines-table td:nth-child(7) { width: 86px; }

.product-line-editor-header { align-items: flex-end; }
.product-line-editor { display: grid; gap: 16px; max-width: 1240px; }
.product-line-form-section { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-surface); padding: 24px; }
.product-line-editor label { display: grid; gap: 7px; min-width: 0; }
.product-line-editor label > span { color: var(--neutral-700); font-size: var(--type-xs); font-weight: 700; text-transform: uppercase; }
.product-line-editor input:not([type="checkbox"]), .product-line-editor textarea {
  background: var(--quantum-white);
  border: 1px solid var(--neutral-300);
  border-radius: var(--radius-control);
  color: var(--ink);
  min-width: 0;
  padding: 11px 12px;
  width: 100%;
}
.product-line-editor textarea { line-height: 1.55; resize: vertical; }
.product-line-identity-grid { display: grid; gap: 16px; grid-template-columns: minmax(260px, 1.4fr) minmax(220px, 1fr); }
.product-line-toggle-field { align-items: center; background: var(--neutral-100); border: 1px solid var(--line-soft); border-radius: var(--radius-control); display: flex !important; gap: 10px !important; grid-column: 1 / -1; padding: 12px 14px; }
.product-line-toggle-field input { flex: 0 0 18px; height: 18px; margin: 0; width: 18px; }
.product-line-toggle-field > span { color: var(--ink) !important; font-size: var(--type-body) !important; font-weight: 500 !important; text-transform: none !important; }
.product-line-keyword-grid, .product-line-guidance-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.keyword-editor-panel { align-content: start; background: var(--neutral-50); border: 1px solid var(--line-soft); border-radius: var(--radius-control); padding: 16px; }
.keyword-editor-panel textarea { min-height: 250px; }
.keyword-editor-panel [data-keyword-count] { color: var(--muted); font-size: var(--type-xs); min-height: 18px; }
.product-line-guidance-grid .span-two { grid-column: 1 / -1; }
.product-line-form-actions { background: color-mix(in srgb, var(--quantum-white) 94%, transparent); border: 1px solid var(--line); border-radius: var(--radius-surface); bottom: 16px; margin-top: 0; padding: 12px; position: sticky; z-index: 3; }
/* Columns: 1 Requirement · 2 Bid No. · 3 Ministry · 4 Organization · 5 Closes
   · 6 Days Left · 7 Priority · 8 Actions (last-child, sticky). */
.bids-table { border-color: var(--line-soft); border-radius: 8px; box-shadow: 0 1px 2px rgb(18 18 17 / 3%); }
.bids-table table { min-width: 1220px; table-layout: fixed; width: 100%; }
.bids-table th { background: var(--quantum-white); border-bottom-color: var(--line); color: var(--neutral-600); font-weight: 600; height: 48px; padding-left: 14px; padding-right: 14px; }
.bids-table td { border-top-color: var(--line-soft); line-height: 1.48; padding: 15px 14px; transition: background-color 160ms var(--ease-standard); }
.bids-table tbody tr:nth-child(even) td { background: #f9f9f8; }
.bids-table tbody tr:hover td, .bids-table tbody tr:focus-visible td { background: var(--neutral-100); }
.bids-table th:nth-child(1), .bids-table td:nth-child(1) { min-width: 300px; width: auto; }
.bids-table th:nth-child(2), .bids-table td:nth-child(2) { overflow-wrap: anywhere; white-space: normal; width: 148px; }
.bids-table td:nth-child(2) { color: var(--neutral-700); font-size: var(--type-xs); }
.bid-no-link { color: var(--ink); display: grid; font-variant-numeric: tabular-nums; gap: 1px; line-height: 1.35; width: fit-content; }
.bid-no-prefix, .bid-no-suffix { white-space: nowrap; }
.bid-no-prefix { color: var(--neutral-600); font-size: 10px; }
.bid-no-suffix { font-size: var(--type-sm); font-weight: 600; }
.bids-table th:nth-child(3), .bids-table td:nth-child(3) { width: 132px; }
.bids-table th:nth-child(4), .bids-table td:nth-child(4) { width: 184px; }
.bids-table th:nth-child(5), .bids-table td:nth-child(5) { width: 172px; }
.bids-table th:nth-child(6), .bids-table td:nth-child(6) { width: 92px; }
.bids-table th:nth-child(7), .bids-table td:nth-child(7) { width: 116px; }
.bids-table th:last-child, .bids-table td:last-child { border-left: 1px solid var(--line-soft); padding-left: 10px; padding-right: 10px; right: 0; width: 104px; }
.bids-table th:last-child, .bids-table td:last-child { background: var(--paper); position: sticky; z-index: 2; }
.bids-table tbody tr:nth-child(even) td:last-child { background: #f9f9f8; }
.bids-table th:last-child { background: var(--quantum-white); z-index: 3; }
.bids-table tbody tr:hover td:last-child, .bids-table tbody tr:focus-visible td:last-child { background: var(--neutral-100); }
.bids-table .row-actions .icon-button { background: transparent; border-color: transparent; }
.bids-table .row-actions .icon-button:hover { background: var(--paper); border-color: var(--neutral-300); }
.bids-table .requirement-link { line-height: 1.52; -webkit-line-clamp: 3; }
.clickable-row { cursor: pointer; }
.clickable-row:focus { outline: 0; }
.clickable-row:focus-visible td:first-child { box-shadow: inset 3px 0 0 var(--studio-black); }
.icon-button { align-items: center; background: white; border: 1px solid var(--neutral-300); border-radius: var(--radius-control); color: var(--ink); cursor: pointer; display: inline-flex; flex: 0 0 32px; height: 32px; justify-content: center; padding: 0; width: 32px; }
.icon-button:hover { background: var(--soft); border-color: var(--ink); text-decoration: none; }
.icon-button svg { height: 15px; width: 15px; }
.sr-only { clip: rect(0, 0, 0, 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.table-wrap .sr-only { left: 0; position: fixed; top: 0; }
.empty-state { color: var(--muted); padding: 24px; text-align: center; }
.empty-panel { background: white; border: 1px solid var(--line); border-radius: 0; color: var(--muted); padding: 30px; text-align: center; }
.form-notice { background: var(--mint-wash); color: var(--ink); margin-bottom: 18px; padding: 12px 16px; text-align: left; }
.compact-table table { min-width: 760px; width: 100%; }
.run-list { background: var(--paper); border: 1px solid var(--line); border-radius: 0; }
.run-list > div { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 12px; grid-template-columns: 120px minmax(160px, 1fr) 150px; padding: 11px 14px; }
.run-list > div:last-child { border-bottom: 0; }
.run-list > div > span:last-child { color: var(--muted); font-size: 12px; text-align: right; }
.pagination { align-items: center; display: flex; gap: 18px; justify-content: flex-end; padding: 18px 0 4px; }
.pagination span, .pagination a, .pagination strong { font-size: 13px; }
.pagination span { color: #9ca5a1; }

.edit-form { background: white; border: 1px solid var(--line); border-radius: 0; display: grid; gap: 14px; max-width: 760px; padding: 22px; }
.edit-form label { display: grid; gap: 6px; }
.edit-form label > span, .edit-form p label { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.edit-form ul.errorlist { color: var(--red); font-size: 12px; list-style: none; margin: 0; padding: 0; }
.edit-form small { color: var(--muted); font-size: 11px; }
.form-actions { display: flex; gap: 8px; margin-top: 6px; }
.compact-edit { border: 0; padding: 0; }
.compact-edit p { display: grid; gap: 5px; margin: 0 0 12px; }
.compact-filters { margin-bottom: 18px; }
.bid-toolbar { align-items: center; background: white; border: 1px solid var(--line); border-radius: 0; display: flex; gap: 12px; justify-content: space-between; padding: 12px 14px; }
.search-toolbar { align-items: center; display: flex; flex: 1; gap: 8px; margin: 0; }
.search-toolbar input[type="search"] { flex: 1; min-width: 220px; }
.single-search { background: white; border: 1px solid var(--line); border-radius: 0; max-width: 720px; padding: 12px; }
.toolbar-actions { align-items: center; display: flex; gap: 7px; }
.undo-banner { align-items: center; background: var(--neutral-100); border: 1px solid var(--line); border-radius: 0; display: flex; justify-content: space-between; margin-bottom: 12px; padding: 10px 12px; }
.undo-banner form { margin: 0; }
.filterable-heading { align-items: center; display: table-cell; }
.filterable-heading > span { vertical-align: middle; }
.column-menu { display: inline-block; margin-left: 5px; position: relative; vertical-align: middle; }
.column-menu summary { align-items: center; border-radius: 3px; cursor: pointer; display: inline-flex; height: 24px; justify-content: center; list-style: none; width: 24px; }
.column-menu summary::-webkit-details-marker { display: none; }
.column-menu summary:hover, .column-menu[open] summary { background: #dfe7e3; }
.column-menu summary svg { height: 13px; width: 13px; }
.column-menu form { background: white; border: 1px solid var(--neutral-300); border-radius: 0; box-shadow: 0 8px 28px rgba(18, 18, 17, .08); display: grid; gap: 10px; left: 0; min-width: 0; padding: 12px; position: absolute; top: 28px; width: min(280px, calc(100vw - 32px)); z-index: 20; }
.column-menu.align-right form { left: auto; right: 0; }
.filterable-heading.menu-open { position: relative; z-index: 6; }
.column-menu form label { display: grid; gap: 5px; }
.column-menu form label > span { color: var(--muted); font-size: 10px; font-weight: 800; }
.quality-notice { align-items: flex-start; background: #fff6e7; border: 1px solid #edd4a5; border-radius: 0; color: #6f4a0b; display: flex; gap: 12px; margin-bottom: 18px; padding: 13px 15px; }
.quality-notice svg { flex: 0 0 18px; height: 18px; margin-top: 1px; width: 18px; }
.quality-notice ul { margin: 5px 0 0; padding-left: 18px; }
.quality-notice form { align-self: center; margin: 0 0 0 auto; }
.quality-notice-copy { flex: 1; min-width: 0; }
.quality-notice-copy p { font-size: var(--type-sm); margin: 8px 0 0; }
.quality-notice.is-error { background: #fae8e8; border-color: #ebc1c1; color: var(--red); }
.pdf-panel { margin-top: 18px; }
.pdf-frame { background: white; border: 1px solid var(--line); border-radius: 0; display: block; height: min(76vh, 980px); min-height: 620px; width: 100%; }
.header-actions, .title-with-guide { align-items: center; display: flex; gap: 8px; }
.header-actions form { margin: 0; }
.field-guide { position: relative; }
.field-guide summary { list-style: none; }
.field-guide summary::-webkit-details-marker { display: none; }
.field-guide dl { background: white; border: 1px solid var(--neutral-300); border-radius: 0; box-shadow: 0 8px 28px rgba(18, 18, 17, .08); display: grid; gap: 10px; left: 40px; margin: 0; padding: 14px; position: absolute; top: 0; width: min(520px, 70vw); z-index: 20; }
.field-guide dl > div { display: grid; gap: 2px; }
.field-guide dt { font-size: 11px; font-weight: 800; }
.field-guide dd { color: var(--muted); font-size: 11px; margin: 0; }
.autocomplete-field { position: relative; }
.autocomplete-results { background: white; border: 1px solid var(--neutral-300); box-shadow: 0 8px 28px rgba(18, 18, 17, .08); display: grid; left: 0; position: absolute; right: 0; top: 100%; z-index: 30; }
.autocomplete-results:empty { display: none; }
.autocomplete-results button { background: white; border: 0; border-bottom: 1px solid var(--line); color: var(--ink); cursor: pointer; padding: 9px 10px; text-align: left; }
.autocomplete-results button:hover { background: var(--soft); }
.toggle-button { background: #c7d0cc; border: 0; border-radius: 12px; cursor: pointer; height: 22px; padding: 2px; position: relative; width: 38px; }
.toggle-button span { background: white; border-radius: 50%; display: block; height: 18px; transition: transform .15s ease; width: 18px; }
.toggle-button.is-on { background: var(--green); }
.toggle-button.is-on span { transform: translateX(16px); }
.select-cell { text-align: center; width: 42px; }
.select-cell input { height: 16px; width: 16px; }
.cell-note { color: var(--muted); display: block; font-size: 10px; line-height: 1.35; margin-top: 4px; }
.dashboard-core-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-attention { margin-top: 28px; }
.dashboard-attention .section-heading { align-items: center; }
.section-copy { color: var(--muted); font-size: var(--type-sm); margin: 7px 0 0; max-width: 72ch; }
.attention-table table { min-width: 760px; table-layout: fixed; width: 100%; }
.attention-table .attention-priority { width: 120px; }
.attention-table .attention-organization { width: 270px; }
.attention-table .attention-days { width: 90px; }
.attention-table .long-cell { max-width: none; min-width: 0; overflow-wrap: anywhere; }
.attention-table .long-cell a { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.compact-empty { padding: 22px; }
.dashboard-finance { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.dashboard-finance > div:nth-child(4) { border-right: 0; }
.dashboard-finance-core > div { border-bottom: 0; }
.operating-grid strong { color: var(--ink); }
.overdue-label { background: #fbe5e5; border-radius: 4px; color: #8d2e2e; display: block; font-size: 9px; font-weight: 800; margin-top: 4px; padding: 3px 5px; width: fit-content; }
.reminder-form { max-width: 900px; }

.work-list { display: grid; gap: 8px; }
.work-item { align-items: center; background: white; border: 1px solid var(--line); border-radius: 0; display: grid; gap: 18px; grid-template-columns: minmax(0, 1fr) 190px 72px 34px; min-height: 94px; padding: 15px 16px; }
.work-item:hover { border-color: var(--ink); }
.clickable-work-item { cursor: pointer; }
.clickable-work-item:focus { border-color: var(--ink); outline: 2px solid var(--flair); outline-offset: 2px; }
.work-title { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; }
.work-title > a { color: var(--ink); font-size: 15px; font-weight: 500; line-height: 1.35; }
.work-meta { color: var(--muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 8px 14px; margin-top: 9px; }
.work-deadline, .seller-count { border-left: 1px solid var(--line); display: grid; gap: 4px; min-height: 54px; padding-left: 16px; }
.work-deadline span, .seller-count span, .financial-grid span, .deadline-band span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.work-deadline strong { font-size: 13px; }
.work-deadline small { color: var(--muted); font-size: 11px; }
.seller-count strong { font-size: 22px; }
.submitted-work-item { grid-template-columns: minmax(0, 1fr) minmax(170px, 0.38fr) minmax(210px, 0.45fr) 34px; }
.submitted-milestone, .submitted-commercial { border-left: 1px solid var(--line); min-height: 58px; padding-left: 16px; }
.submitted-milestone { display: grid; gap: 4px; }
.submitted-milestone span, .submitted-commercial span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.submitted-milestone strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.submitted-milestone small { color: var(--muted); font-size: 11px; }
.submitted-commercial { align-items: start; display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.submitted-commercial > div { display: grid; gap: 5px; }
.submitted-commercial strong { font-size: 13px; font-variant-numeric: tabular-nums; }
.work-note { color: var(--neutral-700); display: -webkit-box; font-size: 11px; line-height: 1.45; margin: 8px 0 0; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }

.breadcrumb { align-items: center; color: var(--muted); display: flex; font-size: 12px; gap: 8px; margin-bottom: 18px; }
.breadcrumb a { align-items: center; display: inline-flex; gap: 5px; }
.breadcrumb svg { height: 14px; width: 14px; }
.detail-header { align-items: flex-start; display: flex; gap: 32px; justify-content: space-between; margin-bottom: 24px; }
.detail-title-copy { min-width: 0; }
.detail-header h1 { font-size: 25px; max-width: 980px; }
.detail-header p { color: var(--muted); font-size: 13px; margin: 8px 0 0; }
.detail-meta { align-items: center; display: flex; flex-wrap: wrap; gap: 5px 0; }
.detail-meta span { align-items: center; display: inline-flex; }
.detail-meta span + span::before { color: var(--neutral-400); content: "•"; margin: 0 9px; }
.detail-meta a { text-decoration: underline; text-underline-offset: 3px; }
.detail-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }
.detail-actions form { margin: 0; }
.deadline-band { background: var(--neutral-100); border: 1px solid var(--line); border-left: 3px solid var(--flair); border-radius: 0; display: grid; grid-template-columns: 1.1fr .7fr 1fr .7fr; margin-bottom: 24px; }
.deadline-band > div { border-right: 1px solid var(--line); display: grid; gap: 5px; padding: 13px 16px; }
.deadline-band > div:last-child { border-right: 0; }
.deadline-band strong { font-size: 13px; }
.detail-grid { display: grid; gap: 24px; grid-template-columns: minmax(280px, .8fr) minmax(420px, 1.2fr); }
.detail-section-nav { align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-surface); display: flex; gap: 4px; margin: 0 0 28px; overflow-x: auto; padding: 7px; position: sticky; scrollbar-width: thin; top: 64px; z-index: 8; }
.detail-section-nav > span { color: var(--neutral-600); flex: 0 0 auto; font-size: var(--type-xs); font-weight: 800; padding: 8px 10px; text-transform: uppercase; }
.detail-section-nav a { border-left: 2px solid transparent; border-radius: var(--radius-control); color: var(--neutral-700); flex: 0 0 auto; font-size: var(--type-sm); font-weight: 600; padding: 8px 10px; white-space: nowrap; }
.detail-section-nav a:hover, .detail-section-nav a:focus-visible { background: var(--signal-cyan); border-left-color: var(--signal-cyan-border); color: #123f3d; text-decoration: none; }
.detail-section-nav a.is-current { background: var(--studio-black); border-left-color: var(--flair); color: var(--quantum-white); }
.detail-section { border-top: 1px solid var(--line); margin-top: 42px; padding-top: 28px; scroll-margin-top: 132px; }
.detail-grid .detail-section { margin-top: 0; }
.detail-section > .section-heading { align-items: center; border-left: 3px solid var(--flair); padding-left: 13px; }
#tender-terms > .section-heading { border-left-color: var(--signal-cyan-border); }
#financial-security > .section-heading { border-left-color: var(--signal-yellow-border); }
#items-documents > .section-heading, #identified-sellers > .section-heading { border-left-color: var(--signal-mint-border); }
#delivery-schedule > .section-heading, #commercials > .section-heading { border-left-color: var(--signal-lime-border); }
#packing-requirements > .section-heading, #supplier-quotes > .section-heading { border-left-color: var(--signal-coral-border); }
#pipeline > .section-heading, #submission > .section-heading { border-left-color: var(--signal-cyan-border); }
#bid-scope > .section-heading, #reverse-auction > .section-heading { border-left-color: var(--signal-yellow-border); }
.detail-list { display: grid; gap: 1px; margin: 0; }
.detail-list > div { background: white; display: grid; grid-template-columns: 160px minmax(0, 1fr); padding: 10px 12px; }
.detail-list dt { color: var(--muted); font-size: 11px; }
.detail-list dd { font-size: 12px; margin: 0; }
.inline-controls { display: grid; gap: 10px; }
.inline-controls form { align-items: center; display: flex; gap: 8px; }
.inline-controls select { flex: 1; }
.financial-grid { background: white; border: 1px solid var(--line); border-radius: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.financial-grid > div { border-right: 1px solid var(--line); display: grid; gap: 7px; padding: 15px; }
.financial-grid > div:last-child { border-right: 0; }
.financial-grid strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.submit-band { align-items: center; display: grid; gap: 24px; grid-template-columns: minmax(220px, .7fr) minmax(400px, 1.3fr); }
.submit-band p { color: var(--muted); font-size: 12px; margin: 7px 0 0; }
.submit-band form { align-items: end; display: grid; gap: 8px; grid-template-columns: 180px minmax(220px, 1fr) 160px; }
.submit-band textarea { min-height: 36px; }
.document-list { list-style: none; margin: 16px 0 0; padding: 0; }
.document-list li { align-items: center; border-top: 1px solid var(--line); display: flex; font-size: 12px; justify-content: space-between; padding: 9px 0; }
.document-intelligence { scroll-margin-top: 80px; }
.document-facts { background: white; border: 1px solid var(--line); border-radius: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; overflow: hidden; }
.document-facts > div { border-bottom: 1px solid var(--line); display: grid; gap: 8px; grid-template-columns: 170px minmax(0, 1fr); min-height: 58px; padding: 14px 16px; }
.document-facts > div:nth-child(4n+3), .document-facts > div:nth-child(4n+4) { background: #f7f7f6; }
.document-facts > div:nth-child(odd):not(.span-two) { border-right: 1px solid var(--line); }
.document-facts > div:last-child { border-bottom: 0; }
.document-facts .span-two { grid-column: 1 / -1; }
.document-facts dt { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.document-facts dd { font-size: 12px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.detail-disclosure { border: 1px solid var(--line); border-top: 0; }
.detail-disclosure summary { align-items: center; background: var(--neutral-100); cursor: pointer; display: flex; justify-content: space-between; list-style: none; padding: 13px 16px; }
.detail-disclosure summary::-webkit-details-marker { display: none; }
.detail-disclosure summary > span { display: grid; gap: 2px; }
.detail-disclosure summary strong { font-size: var(--type-body); }
.detail-disclosure summary small { color: var(--muted); font-size: var(--type-sm); }
.detail-disclosure summary svg { height: 17px; transition: transform 160ms var(--ease-standard); width: 17px; }
.detail-disclosure[open] summary svg { transform: rotate(90deg); }
.detail-disclosure .document-facts { border: 0; border-top: 1px solid var(--line); }
.document-facts-primary { border-bottom: 0; }
.document-money-grid { display: grid; gap: 18px; grid-template-columns: minmax(320px, .8fr) minmax(380px, 1.2fr); }
.document-money-panel { background: white; border: 1px solid var(--line); min-width: 0; overflow: hidden; }
.emd-scope-total { align-items: end; background: var(--signal-yellow); border-bottom: 1px solid var(--signal-yellow-border); display: grid; gap: 3px; padding: 13px 16px; }
.emd-scope-total span, .emd-scope-total small { color: #4d3900; font-size: var(--type-xs); }
.emd-scope-total span { font-weight: 700; text-transform: uppercase; }
.emd-scope-total strong { color: #302300; font-size: var(--type-h3); font-variant-numeric: tabular-nums; }
.document-money-panel > h3 { background: var(--neutral-100); border-bottom: 1px solid var(--line); margin: 0; padding: 12px 14px; }
.document-money-panel > .muted-copy { display: block; margin: 0; padding: 16px; }
.document-money-panel .detail-list > div { padding-left: 14px; padding-right: 14px; }
.compact-document-table { max-height: 360px; overflow-y: auto; }
.document-money-panel .compact-document-table { border: 0; }
.compact-document-table table { min-width: 0; table-layout: fixed; width: 100%; }

/* Submitted bid workbench: glass is reserved for navigation; content stays opaque. */
.submitted-detail-header { margin-bottom: 30px; }
.submitted-summary-band { box-shadow: 0 12px 30px rgb(18 18 17 / 5%); margin-bottom: 22px; }
.award-conversion-banner {
  align-items: center;
  background: color-mix(in srgb, var(--signal-lime) 32%, var(--paper));
  border: 1px solid var(--signal-lime-border);
  border-left: 4px solid var(--signal-lime-border);
  border-radius: var(--radius-surface);
  display: grid;
  gap: 16px;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  margin: 0 0 22px;
  padding: 18px 20px;
}
.award-conversion-icon {
  align-items: center;
  background: var(--signal-lime);
  border: 1px solid var(--signal-lime-border);
  border-radius: var(--radius-control);
  display: inline-flex;
  height: 44px;
  justify-content: center;
  width: 44px;
}
.award-conversion-icon svg { height: 21px; width: 21px; }
.award-conversion-copy { min-width: 0; }
.award-conversion-kicker { color: #516619; display: block; font-size: var(--type-xs); font-weight: 800; margin-bottom: 3px; text-transform: uppercase; }
.award-conversion-copy h2 { font-family: var(--font-sans); font-size: var(--type-h3); font-weight: 650; line-height: 1.25; }
.award-conversion-copy p { color: var(--neutral-700); font-size: var(--type-sm); margin: 4px 0 0; max-width: 72ch; }
.submitted-detail-nav {
  backdrop-filter: blur(18px) saturate(140%);
  background: rgb(255 255 255 / 82%);
  box-shadow: 0 12px 28px rgb(18 18 17 / 7%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}
.submitted-detail-grid {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.submitted-workspace-section {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-surface);
  box-shadow: 0 12px 28px rgb(18 18 17 / 4%);
  margin-top: 0;
  min-width: 0;
  padding: 22px;
}
.submitted-workspace-section > .section-heading { align-items: flex-start; margin-bottom: 22px; }
.submitted-workspace-section > .section-heading h2 { font-size: var(--type-h2); }
.submitted-workspace-section > .section-heading p { color: var(--muted); font-size: var(--type-sm); margin: 5px 0 0; max-width: 60ch; }
.submitted-edit-form { gap: 2px; max-width: none; }
.submitted-edit-form p { margin-bottom: 16px; }
.submitted-edit-form button { justify-self: start; min-width: 156px; }
.submitted-readonly-copy { color: var(--neutral-700); margin: 0; }
.submitted-finance-section { grid-column: 1 / -1; }
.submitted-finance-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(300px, .72fr) minmax(360px, 1.28fr); }
.submitted-finance-layout > .submitted-document-list:only-child { grid-column: 1 / -1; }
.submitted-document-list { border: 1px solid var(--line); border-radius: var(--radius-surface); margin: 0; overflow: hidden; }
.submitted-document-list li { padding: 13px 15px; }
.submitted-document-list li:first-child { border-top: 0; }
.submitted-workspace-section input[type="file"] { height: auto; min-height: var(--control-height); }
.submitted-workspace-section input[type="file"]::file-selector-button {
  background: var(--neutral-100);
  border: 1px solid var(--neutral-300);
  border-radius: var(--radius-control);
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  margin-right: 10px;
  padding: 7px 10px;
}
.submitted-workspace-section input[type="file"]::file-selector-button:hover { background: var(--neutral-200); }
.compact-document-table th:first-child, .compact-document-table td:first-child { width: 46%; }
.schedule-table table { min-width: 1040px; table-layout: fixed; width: 100%; }
.schedule-table th:nth-child(1), .schedule-table td:nth-child(1) { width: 90px; }
.schedule-table th:nth-child(3), .schedule-table td:nth-child(3) { width: 110px; }
.schedule-table th:nth-child(4), .schedule-table td:nth-child(4), .schedule-table th:nth-child(5), .schedule-table td:nth-child(5) { width: 210px; }
.schedule-table .long-cell { max-width: none; min-width: 0; overflow-wrap: anywhere; }
.source-prose { background: white; border-left: 2px solid var(--ink); font-size: 12px; line-height: 1.65; margin: 0; padding: 14px 16px; }
.field-source { color: var(--muted); display: block; font-size: 10px; margin-top: 5px; }
.document-link { align-items: center; display: inline-flex; font-size: 11px; gap: 6px; white-space: nowrap; }
.document-link svg { height: 14px; width: 14px; }
.source-document-actions { justify-content: flex-start; }
.delivery-table table { min-width: 980px; table-layout: fixed; width: 100%; }
.delivery-table th:nth-child(1), .delivery-table td:nth-child(1) { width: 90px; }
.delivery-table th:nth-child(3), .delivery-table td:nth-child(3) { width: 105px; }
.delivery-table th:nth-child(4), .delivery-table td:nth-child(4), .delivery-table th:nth-child(5), .delivery-table td:nth-child(5) { width: 115px; }
.delivery-table th:nth-child(6), .delivery-table td:nth-child(6) { width: 230px; }
.delivery-table .long-cell { max-width: none; min-width: 0; overflow-wrap: anywhere; }
.insight-page-header > div { max-width: 1000px; }
.insight-page-header .page-intro { max-width: 86ch; }
.section-count, .section-status, .muted-copy { color: var(--muted); font-size: 11px; }
.section-status { display: block; margin-top: 4px; }
.empty-panel strong { color: var(--ink); display: block; margin-bottom: 6px; }
.empty-panel p { margin: 0; }
.page-end-actions { align-items: center; background: var(--studio-black); border-radius: var(--radius-surface) var(--radius-surface) 0 0; border-top: 4px solid var(--flair); color: var(--quantum-white); display: grid; gap: 28px; grid-template-columns: minmax(280px, 1fr) auto; margin: 48px -28px -48px; padding: 28px; }
.page-end-actions h2, .page-end-actions p { color: var(--quantum-white); }
.page-end-actions p { font-size: var(--type-sm); margin: 6px 0 0; max-width: 68ch; }
.page-end-actions .eyebrow { color: var(--golden-ground); margin: 0 0 5px; }
.page-end-actions .detail-actions { max-width: 760px; }
.page-end-actions .secondary-button { background: var(--neutral-900); border-color: var(--neutral-600); color: var(--quantum-white); }
.page-end-actions .secondary-button:hover { background: var(--neutral-800); border-color: var(--quantum-white); }
.page-end-actions .primary-button { background: var(--signal-lime); border-color: var(--signal-lime-border); color: #263500; }

.auth-shell { align-items: center; background: var(--quantum-white); display: flex; min-height: calc(100vh - 64px); justify-content: center; padding: 30px 18px; }
.login-panel { background: white; border: 1px solid var(--line); border-radius: 0; width: min(420px, 100%); }
.account-panel { background: white; border: 1px solid var(--line); border-radius: 0; max-width: 560px; }
.account-panel p { margin: 0; padding: 24px; }
.account-panel .login-form > div { display: grid; gap: 6px; }
.account-panel .login-form ul { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 4px 0 8px; padding-left: 18px; }
.login-heading { border-bottom: 1px solid var(--line); padding: 28px; }
.login-heading .brand-mark { margin-bottom: 20px; }
.login-heading h1 { font-size: 24px; }
.login-form { display: grid; gap: 8px; padding: 28px; }
.login-form label { color: var(--muted); font-size: 12px; font-weight: 700; margin-top: 6px; }
.login-form .primary-button { margin-top: 14px; width: 100%; }
.form-error { background: #fae8e8; color: var(--red); font-size: 12px; margin: 0; padding: 12px 28px; }

/* Accessible operational type scale */
body { font-size: var(--type-body); }
h1 { font-size: var(--type-h1); }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); }
.sidebar a, .brand strong, .work-title > a { font-size: var(--type-body); }
.brand small, .snapshot-note, .record-total span, .metric span, .table-actions, .section-count, .section-status, .muted-copy, .cell-note, .field-source, .source-prose, .empty-panel, .message, .pagination span, .pagination a, .pagination strong { font-size: var(--type-sm); }
.eyebrow, .nav-label, .filters label > span, .refresh-limit span, th, .document-facts dt, .work-deadline span, .seller-count span, .financial-grid span, .deadline-band span, .edit-form label > span, .edit-form p label { font-size: var(--type-xs); }
table, .document-facts dd, .detail-list dd, .submit-band p, .document-list li { font-size: var(--type-control); }
.detail-list dt, .work-meta, .work-deadline small, .field-guide dt, .field-guide dd, .document-link, .edit-form small { font-size: var(--type-sm); }
.primary-button, .secondary-button, input, select, textarea, button { font-size: var(--type-control); }
input, select { height: var(--control-height); }
.primary-button, .secondary-button { height: var(--control-height); }
.icon-button { height: var(--control-height); width: var(--control-height); }
.icon-button svg { height: 17px; width: 17px; }
.status-pill, .priority-pill, .review-tag, .quality-ok { font-size: var(--type-xs); }
.deadline-band strong, .work-deadline strong { font-size: var(--type-body); }
.document-money-grid h3 { font-size: var(--type-body); }

.font-size-control { align-items: center; border: 1px solid var(--neutral-300); border-radius: var(--radius-control); display: grid; grid-template-columns: repeat(5, 32px); overflow: hidden; }
.font-size-control button { align-items: baseline; background: white; border: 0; border-right: 1px solid var(--neutral-300); color: var(--ink); cursor: pointer; display: inline-flex; font-family: var(--font-serif); font-size: 15px; height: 34px; justify-content: center; padding: 0; }
.font-size-control button:last-child { border-right: 0; }
.font-size-control button span { font-family: var(--font-sans); font-size: 10px; margin-left: 1px; }
.font-size-control button:hover { background: var(--neutral-100); }
.font-size-control button[aria-pressed="true"] { background: var(--ink); color: white; }
.sidebar-account { align-items: center; border-bottom: 1px solid var(--neutral-800); display: flex; gap: 9px; margin-bottom: 10px; min-height: 50px; padding-bottom: 13px; }
.sidebar-account svg { flex: 0 0 17px; height: 17px; width: 17px; }

.account-settings-grid { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(500px, 1.3fr) minmax(320px, .7fr); }
.account-profile-form { max-width: none; }
.account-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.account-form-grid label { display: grid; gap: 6px; }
.account-form-grid label > span, .account-security-row span { color: var(--muted); font-size: var(--type-xs); font-weight: 700; text-transform: uppercase; }
.account-role-field { grid-column: 1 / -1; }
.account-security-panel { background: white; border: 1px solid var(--line); display: grid; gap: 22px; padding: 22px; }
.account-security-row { align-items: center; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; justify-content: space-between; padding: 16px 0; }
.account-security-row > div { display: grid; gap: 5px; }
.account-security-row strong { font-size: var(--type-h3); letter-spacing: 2px; }
.account-security-panel > p { color: var(--muted); font-size: var(--type-sm); margin: -8px 0 0; }
.account-security-panel form { margin: 0; }

.inline-controls form { display: grid; grid-template-columns: minmax(0, 1fr) 150px; }
.inline-controls select, .inline-controls .secondary-button { height: var(--control-height); width: 100%; }
.speech-button[aria-pressed="true"] { background: var(--ink); color: white; }

.seller-search-progress { background: var(--neutral-100); border: 1px solid var(--line); border-left: 3px solid var(--flair); margin-bottom: 16px; padding: 18px; }
.seller-search-progress[hidden] { display: none; }
.seller-progress-heading { align-items: end; display: flex; justify-content: space-between; }
.seller-progress-heading > div { display: grid; gap: 3px; }
.seller-progress-kicker { color: var(--muted); font-size: var(--type-xs); font-weight: 700; text-transform: uppercase; }
.seller-progress-heading strong { font-size: var(--type-body); }
.seller-search-progress progress { accent-color: var(--ink); display: block; height: 8px; margin: 12px 0 8px; width: 100%; }
.seller-search-progress > p { color: var(--muted); font-size: var(--type-sm); margin: 0; }
.seller-progress-steps { display: grid; gap: 1px; grid-template-columns: repeat(5, 1fr); list-style: none; margin: 15px 0 0; padding: 0; }
.seller-progress-steps li { border-top: 2px solid var(--neutral-300); color: var(--muted); font-size: var(--type-xs); padding-top: 7px; }
.seller-progress-steps li.is-current { border-color: var(--flair); color: var(--ink); }
.seller-progress-steps li.is-complete { border-color: var(--ink); color: var(--ink); }

.seller-search-notice { align-items: center; background: #fff7e9; border: 1px solid #ead3a5; display: grid; gap: 14px; grid-template-columns: 22px minmax(0, 1fr) auto; margin-bottom: 16px; padding: 16px 18px; }
.seller-search-notice > svg { color: var(--amber); height: 20px; width: 20px; }
.seller-search-notice strong { display: block; font-size: var(--type-body); }
.seller-search-notice p { color: var(--muted); font-size: var(--type-sm); margin: 3px 0 0; }
.seller-search-notice.is-error { background: #fae8e8; border-color: #ebc1c1; }
.seller-search-notice.is-error > svg { color: var(--red); }

.settings-layout { align-items: start; display: grid; gap: 28px; grid-template-columns: minmax(520px, 1.25fr) minmax(300px, .75fr); }
.provider-settings-form { gap: 0; max-width: none; padding: 0; }
.settings-section { border-bottom: 1px solid var(--line); display: grid; gap: 16px; padding: 24px; }
.settings-section:last-of-type { border-bottom: 0; }
.settings-section-heading { align-items: start; display: grid; gap: 14px; grid-template-columns: 34px minmax(0, 1fr) auto; }
.settings-section-heading h2 { font-size: var(--type-h3); }
.settings-section-heading p { color: var(--muted); font-size: var(--type-sm); margin: 4px 0 0; }
.settings-index { color: var(--flair-deep); font-family: var(--font-serif); font-size: var(--type-h3); }
.provider-state { border: 1px solid var(--line); color: var(--muted); font-size: var(--type-xs); padding: 4px 8px; white-space: nowrap; }
.provider-state.is-ready { background: #edf4eb; border-color: #c8d8c4; color: var(--positive); }
.toggle-row { align-items: center; background: var(--neutral-100); display: flex !important; gap: 12px !important; padding: 14px; }
.toggle-row input { height: 19px; width: 19px; }
.toggle-row > span { color: var(--ink) !important; display: grid; gap: 2px; text-transform: none !important; }
.toggle-row strong { font-size: var(--type-body); }
.toggle-row small { color: var(--muted); font-size: var(--type-sm); font-weight: 400; text-transform: none; }
.check-row { align-items: center; display: flex !important; gap: 8px !important; }
.check-row input { height: 18px; width: 18px; }
.check-row > span { color: var(--red) !important; font-size: var(--type-sm) !important; text-transform: none !important; }
.configuration-note { background: var(--neutral-100); color: var(--muted); font-size: var(--type-sm); margin: 0; padding: 10px 12px; }
.stored-key-row { align-items: center; background: #edf4eb; border: 1px solid #c8d8c4; display: grid; gap: 12px; grid-template-columns: 20px minmax(0, 1fr) auto; padding: 12px 14px; }
.stored-key-row > svg { color: var(--positive); height: 18px; width: 18px; }
.stored-key-row > div { display: grid; gap: 3px; }
.stored-key-row strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: var(--type-sm); letter-spacing: 0; }
.stored-key-row span { color: var(--muted); font-size: var(--type-xs); }
.provider-settings-form > .form-actions { border-top: 1px solid var(--line); margin: 0; padding: 20px 24px 24px; }
.settings-aside { display: grid; gap: 1px; }
.settings-aside > section { background: white; border: 1px solid var(--line); padding: 22px; }
.settings-aside h2 { font-size: var(--type-h3); }
.settings-aside p:not(.eyebrow) { color: var(--muted); font-size: var(--type-sm); line-height: 1.6; margin: 8px 0 0; }
.numbered-flow { display: grid; gap: 0; list-style: none; margin: 16px 0 0; padding: 0; }
.numbered-flow li { border-top: 1px solid var(--line-soft); display: grid; gap: 3px; padding: 12px 0; }
.numbered-flow li strong { font-size: var(--type-body); }
.numbered-flow li span { color: var(--muted); font-size: var(--type-sm); }
.usage-list { margin: 14px 0 0; }
.usage-list > div { border-top: 1px solid var(--line-soft); display: flex; justify-content: space-between; padding: 9px 0; }
.usage-list dt, .usage-list dd { font-size: var(--type-sm); margin: 0; }
.usage-list dd { font-variant-numeric: tabular-nums; }

.commercial-header { align-items: end; }
.commercial-header > div:first-child { max-width: 760px; }
.commercial-header > div:first-child > p:last-child { color: var(--muted); margin: 7px 0 0; }
.commercial-bid-meta { display: grid; gap: 4px 14px; grid-template-columns: auto auto; }
.commercial-bid-meta span { color: var(--muted); font-size: var(--type-xs); text-transform: uppercase; }
.commercial-workbench { align-items: start; display: grid; gap: 22px; grid-template-columns: minmax(460px, 1.05fr) minmax(440px, .95fr); }
.cost-sheet, .pricing-sheet { background: white; border: 1px solid var(--line); padding: 22px; }
.pricing-sheet { position: sticky; top: 84px; }
.live-total { font-family: var(--font-serif); font-size: var(--type-h2); font-variant-numeric: tabular-nums; }
.cost-input-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cost-input-grid label, .quote-input, .margin-override-panel label { display: grid; gap: 6px; }
.cost-input-grid label > span, .quote-input > span, .margin-override-panel label > span, .target-margin-control label > span { color: var(--muted); font-size: var(--type-xs); font-weight: 700; text-transform: uppercase; }
.cost-input-grid small, .quote-input small, .margin-override-panel small { color: var(--muted); font-size: var(--type-xs); line-height: 1.35; }
.cost-input-grid .span-two { grid-column: 1 / -1; }
.pricing-summary { border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, 1fr); margin: 18px 0; }
.pricing-summary > div { display: grid; gap: 5px; padding: 15px 0; }
.pricing-summary span, .target-margin-control span, .scenario-heading span { color: var(--muted); font-size: var(--type-xs); text-transform: uppercase; }
.pricing-summary strong, .target-margin-control strong { font-family: var(--font-serif); font-size: var(--type-h2); font-variant-numeric: tabular-nums; }
.is-negative { color: var(--red); }
.target-margin-control { align-items: end; background: var(--neutral-100); display: grid; gap: 18px; grid-template-columns: minmax(180px, .7fr) minmax(200px, 1.3fr); padding: 14px; }
.target-margin-control label, .target-margin-control > div { display: grid; gap: 6px; }
.number-suffix { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) 32px; }
.number-suffix input { border-radius: var(--radius-control) 0 0 var(--radius-control); }
.number-suffix span { align-items: center; background: white; border: 1px solid var(--neutral-300); border-left: 0; display: flex; height: var(--control-height); justify-content: center; }
.scenario-heading { align-items: baseline; display: flex; justify-content: space-between; margin: 22px 0 8px; }
.scenario-table { border-bottom: 1px solid var(--line); }
.scenario-row { align-items: center; border-top: 1px solid var(--line); display: grid; gap: 10px; grid-template-columns: 70px 1fr 1fr var(--control-height); min-height: 52px; }
.scenario-row > span { font-variant-numeric: tabular-nums; }
.scenario-labels { color: var(--muted); font-size: var(--type-xs); min-height: 34px; text-transform: uppercase; }
.scenario-row .icon-button { justify-self: end; }
.margin-override-panel { border-bottom: 1px solid var(--line); margin-top: 18px; padding-bottom: 18px; }
.margin-override-panel summary { cursor: pointer; font-weight: 600; padding: 8px 0; }
.margin-override-panel > div { display: grid; gap: 12px; grid-template-columns: 180px minmax(0, 1fr); padding-top: 10px; }
.commercial-actions { margin-top: 20px; }

@media (max-width: 1100px) {
  .metric-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .dashboard-core-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metric, .metric:first-child, .metric:last-child { border-radius: 0; }
  .work-item { grid-template-columns: minmax(0, 1fr) 170px 60px 34px; }
  .submitted-work-item { grid-template-columns: minmax(0, 1fr) 160px 190px 34px; }
  .detail-grid { grid-template-columns: 1fr; }
  .submitted-detail-grid { grid-template-columns: 1fr; }
  .submitted-finance-section { grid-column: auto; }
  .document-money-grid { grid-template-columns: 1fr; }
  .financial-grid { grid-template-columns: repeat(2, 1fr); }
  .financial-grid > div:nth-child(2) { border-right: 0; }
  .financial-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .dashboard-columns { grid-template-columns: 1fr; }
  .dashboard-finance { grid-template-columns: repeat(2, 1fr); }
  .dashboard-finance > div { border-bottom: 1px solid var(--line); }
  .account-settings-grid, .commercial-workbench, .settings-layout { grid-template-columns: 1fr; }
  .submit-band { grid-template-columns: 1fr; }
  .submit-band form { grid-template-columns: 1fr; }
  .pricing-sheet { position: static; }
  .bids-page-header { grid-template-columns: 1fr; }
  .refresh-control { justify-content: space-between; }
}

@media (max-width: 760px) {
  .release-dialog-header { padding: 22px 20px 0; }
  .release-dialog-intro { margin-left: 20px; margin-right: 20px; }
  .release-note-list { margin-left: 20px; margin-right: 20px; }
  .release-dialog-footer { align-items: stretch; flex-direction: column-reverse; padding: 16px 20px; }
  .release-dialog-footer .primary-button, .release-dialog-footer .secondary-button { width: 100%; }
  .topbar { height: 58px; padding: 0 14px; }
  .environment, .user-name { display: none; }
  .topbar-actions > .text-button { display: none; }
  .app-shell { display: block; min-height: calc(100vh - 58px); }
  .sidebar { flex-direction: row; gap: 4px; height: auto; overflow-x: auto; overflow-y: hidden; padding: 8px; position: sticky; top: 58px; z-index: 9; }
  .sidebar-account { margin-bottom: 0; }
  .sidebar a { flex: 0 0 auto; padding: 8px 10px; white-space: nowrap; }
  .nav-label { display: none; }
  .main-content { padding: 20px 14px 30px; }
  .message-stack { left: 14px; max-width: none; right: 14px; top: 70px; width: auto; }
  .back-to-top-button { --back-to-top-offset: 16px; right: 16px; }
  .page-header { align-items: flex-start; gap: 16px; }
  h1 { font-size: 24px; }
  .snapshot-note { max-width: 130px; text-align: right; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quality-grid { grid-template-columns: repeat(2, 1fr); }
  .quality-grid div:nth-child(2) { border-right: 0; }
  .quality-grid div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .filters { align-items: stretch; display: grid; grid-template-columns: 1fr 1fr; }
  .filters .search-field, .filter-actions { grid-column: 1 / -1; }
  .filter-actions > * { flex: 1; }
  .run-list > div { grid-template-columns: 100px minmax(140px, 1fr); }
  .run-list > div > span:last-child { display: none; }
  .refresh-control { align-items: stretch; flex-direction: column; text-align: left; }
  .refresh-form { border-bottom: 1px solid var(--neutral-700); border-right: 0; justify-content: space-between; padding: 0 0 12px; }
  .refresh-status { min-width: 0; }
  .refresh-progress-panel { margin-top: -8px; padding: 20px 16px; }
  .refresh-progress-main { align-items: start; gap: 12px; grid-template-columns: 1fr; }
  .refresh-progress-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .refresh-phase-track { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .bid-toolbar { align-items: stretch; flex-direction: column; }
  .toolbar-actions { justify-content: flex-end; }
  .bids-table { background: transparent; border: 0; overflow: visible; }
  .bids-table table, .bids-table tbody { display: block; min-width: 0; width: 100%; }
  .bids-table thead { display: none; }
  .bids-table tbody { display: grid; gap: 10px; }
  .bids-table tbody tr { background: white; border: 1px solid var(--line); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .bids-table td, .bids-table tbody td, .bids-table td:nth-last-child(-n+4) { background: white; border: 0; box-shadow: none; max-width: none; min-width: 0; padding: 7px 8px; position: static; width: auto; }
  .bids-table td::before { color: var(--neutral-500); content: attr(data-label); display: block; font-size: 9px; font-weight: 600; margin-bottom: 3px; text-align: left; text-transform: uppercase; }
  .bids-table td:first-child { border-bottom: 1px solid var(--line-soft); grid-column: 1 / -1; padding-bottom: 10px; }
  .bids-table td:nth-child(2), .bids-table td:nth-child(4), .bids-table td:last-child { grid-column: 1 / -1; }
  .bids-table td:last-child { border-top: 1px solid var(--line-soft); justify-content: flex-end; margin-top: 3px; padding-top: 10px; }
  .bids-table tbody tr:hover td:nth-last-child(-n+3) { background: white; }
  .work-item { align-items: start; grid-template-columns: minmax(0, 1fr) 34px; }
  .work-deadline, .seller-count { border-left: 0; border-top: 1px solid var(--line); grid-column: 1 / -1; grid-row: auto; min-height: 0; padding: 10px 0 0; }
  .submitted-work-item { grid-template-columns: minmax(0, 1fr) 34px; }
  .submitted-milestone, .submitted-commercial { border-left: 0; border-top: 1px solid var(--line); grid-column: 1 / -1; min-height: 0; padding: 10px 0 0; }
  .deadline-band { grid-template-columns: 1fr; }
  .deadline-band > div { border-bottom: 1px solid var(--line); border-right: 0; }
  .deadline-band > div:last-child { border-bottom: 0; }
  .detail-header { display: block; }
  .detail-actions { justify-content: flex-start; margin-top: 14px; }
  .detail-section-nav { margin-left: -14px; margin-right: -14px; padding-left: 10px; position: static; }
  .detail-section-nav > span { display: none; }
  .detail-meta { align-items: flex-start; flex-direction: column; }
  .detail-meta span + span::before { content: none; }
  .award-conversion-banner { align-items: start; grid-template-columns: 44px minmax(0, 1fr); }
  .award-conversion-banner > .primary-button { grid-column: 2; justify-self: start; }
  .submitted-finance-layout { grid-template-columns: 1fr; }
  .page-end-actions { grid-template-columns: 1fr; margin: 40px -14px -30px; padding: 24px 14px; }
  .page-end-actions .detail-actions { align-items: stretch; display: grid; grid-template-columns: 1fr; margin-top: 0; width: 100%; }
  .page-end-actions .detail-actions > *, .page-end-actions .detail-actions form button { width: 100%; }
  .pdf-frame { min-height: 520px; }
  .document-facts { grid-template-columns: 1fr; }
  .document-facts > div, .document-facts > div:nth-child(odd):not(.span-two) { border-right: 0; grid-template-columns: 1fr; }
  .document-facts > div:nth-child(4n+3), .document-facts > div:nth-child(4n+4) { background: white; }
  .document-facts > div:nth-child(even) { background: #f7f7f6; }
  .document-facts .span-two { grid-column: auto; }
  .detail-disclosure summary { align-items: flex-start; gap: 14px; }
  .submit-band { grid-template-columns: 1fr; }
  .submit-band form { grid-template-columns: 1fr; }
  .account-security-row { align-items: flex-start; flex-direction: column; gap: 14px; }
  .commercial-header { display: block; }
  .commercial-bid-meta { margin-top: 14px; max-width: 260px; }
  .seller-search-notice { align-items: start; grid-template-columns: 22px minmax(0, 1fr); }
  .seller-search-notice .secondary-button { grid-column: 2; justify-self: start; }
}

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

@media (max-width: 440px) {
  .brand small { display: none; }
  .metric-grid, .quality-grid, .filters { grid-template-columns: 1fr; }
  .quality-grid div { border-bottom: 1px solid var(--line); border-right: 0; }
  .quality-grid div:last-child { border-bottom: 0; }
  .page-header { display: block; }
  .record-total { margin-top: 12px; }
  .snapshot-note { margin-top: 8px; max-width: none; text-align: left; }
  .refresh-control { align-items: flex-start; margin-top: 12px; text-align: left; }
  .refresh-form { align-items: stretch; flex-direction: column; width: 100%; }
  .refresh-form .primary-button { width: 100%; }
  .bids-page-header > div:first-child { padding-left: 14px; }
  .bids-page-header h1 { font-size: 34px; }
  .info-tooltip { left: 0; right: auto; transform: none; width: min(270px, calc(100vw - 56px)); }
  .table-actions { align-items: flex-start; flex-direction: column; padding: 10px 0; }
  .table-action-buttons { width: 100%; }
  .table-action-buttons > * { flex: 1; }
  .search-toolbar { align-items: stretch; flex-direction: column; }
  .search-toolbar input[type="search"] { min-width: 0; }
  .toolbar-actions { flex-wrap: wrap; justify-content: flex-start; }
  .financial-grid { grid-template-columns: 1fr; }
  .financial-grid > div { border-bottom: 1px solid var(--line); border-right: 0; }
  .financial-grid > div:last-child { border-bottom: 0; }
  .work-title { display: block; }
  .work-title .priority-pill { margin-top: 7px; }
  .award-conversion-banner { grid-template-columns: 1fr; padding: 16px; }
  .award-conversion-banner > .primary-button { grid-column: auto; width: 100%; }
  .submitted-workspace-section { padding: 17px; }
  .account-form-grid, .cost-input-grid, .target-margin-control, .margin-override-panel > div { grid-template-columns: 1fr; }
  .account-role-field, .cost-input-grid .span-two { grid-column: auto; }
  .cost-sheet, .pricing-sheet, .account-profile-form, .account-security-panel { padding: 16px; }
  .scenario-row { gap: 6px; grid-template-columns: 48px minmax(74px, 1fr) minmax(74px, 1fr) var(--control-height); }
  .settings-section { padding: 18px; }
  .settings-section-heading { grid-template-columns: 30px minmax(0, 1fr); }
  .provider-state { grid-column: 2; justify-self: start; }
  .inline-controls form { grid-template-columns: 1fr; }
}

/* One visible corner language across the product. Joined controls, pills, and circles
   keep their functional shapes; every outer surface uses the same 8px radius. */
.brand-mark,
.sidebar a,
.message,
.release-dialog,
.metric,
.quality-grid,
.filters,
.refresh-control,
.info-tooltip,
.refresh-progress-panel,
.table-wrap,
.focus-card,
.empty-panel,
.run-list,
.edit-form,
.bid-toolbar,
.single-search,
.undo-banner,
.column-menu form,
.quality-notice,
.pdf-frame,
.field-guide dl,
.work-item,
.deadline-band,
.financial-grid,
.document-facts,
.document-money-panel,
.login-panel,
.account-panel,
.account-security-panel,
.seller-search-progress,
.seller-search-notice,
.provider-state,
.toggle-row,
.configuration-note,
.stored-key-row,
.settings-aside > section,
.cost-sheet,
.pricing-sheet,
.target-margin-control,
.detail-disclosure,
.source-prose,
.action-watch,
.error-page {
  border-radius: var(--radius-surface);
}
.release-dialog,
.quality-grid,
.run-list,
.deadline-band,
.financial-grid,
.document-facts,
.document-money-panel,
.detail-disclosure {
  overflow: hidden;
}
.column-menu summary,
.overdue-label {
  border-radius: var(--radius-control);
}
.number-suffix span {
  border-radius: 0 var(--radius-control) var(--radius-control) 0;
}
.refresh-progress-panel progress,
.refresh-progress-panel progress::-webkit-progress-bar,
.refresh-progress-panel progress::-webkit-progress-value,
.refresh-progress-panel progress::-moz-progress-bar {
  border-radius: var(--radius-surface);
}
@media (max-width: 760px) {
  .product-line-identity-grid,
  .product-line-keyword-grid,
  .product-line-guidance-grid {
    grid-template-columns: 1fr;
  }
  .product-line-guidance-grid .span-two {
    grid-column: auto;
  }
  .product-line-form-section {
    padding: 18px;
  }
  .product-line-form-actions {
    bottom: 8px;
  }
  .bids-table tbody tr {
    border-radius: var(--radius-surface);
    overflow: hidden;
  }
}

.refresh-progress-actions {
  align-items: center;
  border-top: 1px solid var(--neutral-700);
  color: var(--neutral-300);
  display: flex;
  font-size: var(--type-sm);
  justify-content: space-between;
  padding-top: 15px;
}
.refresh-progress-actions[hidden] { display: none; }
.refresh-progress-actions .secondary-button {
  background: var(--neutral-900);
  border-color: var(--neutral-600);
  color: var(--quantum-white);
}

.action-watch {
  align-items: center;
  background: var(--studio-black);
  border: 1px solid var(--neutral-700);
  bottom: 24px;
  box-shadow: 0 16px 44px rgb(18 18 17 / 22%);
  color: var(--quantum-white);
  display: grid;
  gap: 12px;
  grid-template-columns: 22px minmax(220px, 1fr) auto;
  max-width: min(620px, calc(100vw - 48px));
  padding: 13px 15px;
  position: fixed;
  right: 24px;
  z-index: 60;
}
.action-watch[hidden] { display: none; }
.action-watch > svg { animation: refresh-spin 1.1s linear infinite; color: var(--signal-lime); height: 19px; width: 19px; }
.action-watch > div { display: grid; gap: 2px; }
.action-watch strong { font-size: var(--type-sm); }
.action-watch span { color: var(--neutral-300); font-size: var(--type-xs); }
.action-watch a { color: var(--signal-lime); font-size: var(--type-sm); font-weight: 700; }
.action-watch.has-error { border-color: var(--signal-coral-border); }
.action-watch.has-error > svg { animation: none; color: var(--signal-coral); }
.is-working[aria-disabled="true"] { pointer-events: none; }

.support-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(360px, .8fr) minmax(460px, 1.2fr);
}
.support-report-form { max-width: none; }
.issue-report { border-bottom: 1px solid var(--line-soft); display: grid; gap: 8px; padding: 15px 17px; }
.issue-report:last-child { border-bottom: 0; }
.issue-report > div { align-items: center; display: flex; gap: 10px; justify-content: space-between; }
.issue-report p { margin: 0; }
.issue-report small { color: var(--muted); }
.issue-report pre { overflow-x: auto; white-space: pre-wrap; }
.error-page { background: var(--paper); border: 1px solid var(--line); margin: 8vh auto 0; max-width: 720px; padding: 34px; }
.error-page p:not(.eyebrow) { color: var(--muted); max-width: 60ch; }

@media (max-width: 900px) {
  .support-layout { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .action-watch { bottom: 14px; grid-template-columns: 20px minmax(0, 1fr); left: 14px; max-width: none; right: 14px; }
  .action-watch a { grid-column: 2; }
  .refresh-progress-actions { align-items: stretch; flex-direction: column; gap: 10px; }
}
