:root {
  --bg: #f5f7f8;
  --panel: #ffffff;
  --ink: #101820;
  --muted: #68737d;
  --line: #dfe5e8;
  --soft: #eef3f2;
  --accent: #173f35;
  --accent-2: #2a6556;
  --accent-soft: #e5efeb;
  --gold: #a1772b;
  --gold-soft: #f6efdf;
  --danger: #a94d46;
  --danger-soft: #f7e9e7;
  --shadow: 0 10px 30px rgba(20, 36, 43, .07);
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
button, input, select { font: inherit; }
button { cursor: pointer; }
.app-shell { display: grid; grid-template-columns: 260px minmax(0, 1fr); min-height: 100vh; }
.sidebar { position: sticky; top: 0; height: 100vh; background: #102920; color: #f8fbf9; padding: 26px 18px 20px; display: flex; flex-direction: column; }
.brand-row { display: flex; gap: 12px; align-items: center; padding: 0 8px 28px; }
.brand-mark { width: 42px; height: 42px; border-radius: 13px; background: #e1c98d; color: #173f35; display: grid; place-items: center; font-weight: 900; font-size: 20px; }
.brand-name { font-weight: 800; letter-spacing: -.02em; }
.brand-sub { font-size: 12px; color: #9cb2a9; margin-top: 2px; }
.nav { display: grid; gap: 7px; }
.nav-item { border: 0; background: transparent; color: #b8c8c1; padding: 12px 13px; text-align: left; border-radius: 10px; display: flex; align-items: center; gap: 10px; font-weight: 650; }
.nav-item:hover { background: rgba(255,255,255,.05); color: white; }
.nav-item.active { background: rgba(255,255,255,.10); color: white; }
.sidebar-section { margin-top: 28px; }
.sidebar-label { color: #789087; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; padding: 0 8px 9px; }
.workspace-card { display: flex; gap: 10px; align-items: center; padding: 11px; border: 1px solid rgba(255,255,255,.08); border-radius: 12px; background: rgba(255,255,255,.035); }
.workspace-icon { width: 34px; height: 34px; border-radius: 9px; display: grid; place-items: center; background: #24483d; color: #d5e6df; font-size: 11px; font-weight: 900; }
.workspace-title { font-size: 13px; font-weight: 750; }
.workspace-meta { font-size: 11px; color: #8fa59c; margin-top: 3px; }
.sidebar-footer { margin-top: auto; padding: 12px 8px 0; }
.founder-badge { display: inline-flex; padding: 5px 7px; border-radius: 6px; background: #e1c98d; color: #173f35; font-size: 9px; font-weight: 900; letter-spacing: .08em; }
.footer-copy { font-size: 11px; color: #789087; line-height: 1.5; margin-top: 10px; }
.main { padding: 28px 34px 56px; min-width: 0; }
.topbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.topbar h1, .section-intro h2 { margin: 3px 0 0; font-size: 29px; line-height: 1.1; letter-spacing: -.035em; }
.eyebrow { font-size: 10px; font-weight: 900; letter-spacing: .12em; color: var(--accent-2); }
.top-actions, .hero-actions, .source-actions { display: flex; align-items: center; gap: 10px; }
.primary-btn, .secondary-btn, .ghost-btn { border-radius: 9px; padding: 10px 14px; font-weight: 750; transition: .16s ease; }
.primary-btn { border: 1px solid var(--accent); background: var(--accent); color: white; box-shadow: 0 4px 12px rgba(23,63,53,.16); }
.primary-btn:hover { transform: translateY(-1px); background: #0f332b; }
.secondary-btn { border: 1px solid #bdcbc5; background: white; color: var(--accent); }
.secondary-btn:hover { background: var(--accent-soft); }
.ghost-btn { border: 1px solid var(--line); background: transparent; color: var(--muted); }
.text-btn { border: 0; background: transparent; color: var(--accent-2); font-weight: 800; padding: 4px; }
.view { display: none; animation: fade .2s ease; }
.view.active { display: block; }
@keyframes fade { from { opacity: .3; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.hero-card { background: linear-gradient(125deg, #173f35, #244f43); color: white; border-radius: 18px; padding: 34px; box-shadow: var(--shadow); display: grid; grid-template-columns: 1.5fr .75fr; gap: 32px; position: relative; overflow: hidden; }
.hero-card:after { content: ""; position: absolute; width: 320px; height: 320px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; right: -110px; top: -170px; }
.hero-content { position: relative; z-index: 1; max-width: 670px; }
.hero-content h2 { font-size: clamp(31px, 4vw, 48px); line-height: 1.01; letter-spacing: -.045em; margin: 14px 0 14px; }
.hero-content p { color: #cfe0d9; font-size: 16px; line-height: 1.65; margin: 0 0 24px; max-width: 670px; }
.hero-content .secondary-btn { background: transparent; border-color: rgba(255,255,255,.35); color: white; }
.pill { display: inline-flex; background: rgba(225,201,141,.13); border: 1px solid rgba(225,201,141,.32); color: #f2ddb0; padding: 6px 8px; font-size: 10px; border-radius: 999px; font-weight: 900; letter-spacing: .07em; }
.hero-stat-panel { align-self: stretch; border-left: 1px solid rgba(255,255,255,.12); padding-left: 28px; display: grid; align-content: center; gap: 20px; position: relative; z-index: 1; }
.hero-stat { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; border-bottom: 1px solid rgba(255,255,255,.10); padding-bottom: 14px; }
.hero-stat:last-child { border-bottom: 0; }
.hero-stat-label { color: #a9c0b6; font-size: 12px; }
.hero-stat strong { font-size: 24px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.stats-grid { margin-top: 16px; }
.stat-card, .panel { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 4px 18px rgba(20,36,43,.035); }
.stat-card { padding: 18px 20px; }
.stat-label { color: var(--muted); font-size: 12px; font-weight: 700; }
.stat-value { font-size: 28px; font-weight: 850; letter-spacing: -.04em; margin-top: 7px; }
.stat-caption { color: var(--muted); font-size: 12px; margin-top: 5px; line-height: 1.45; }
.content-grid { margin-top: 16px; }
.panel { padding: 20px; }
.panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 16px; }
.panel-head.compact { align-items: center; }
.panel-head h3 { margin: 3px 0 0; font-size: 18px; letter-spacing: -.02em; }
.opportunity-list, .peer-list { display: grid; gap: 8px; }
.opportunity-item, .peer-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.opportunity-item:first-child, .peer-item:first-child { border-top: 0; }
.opportunity-name, .peer-name { font-weight: 750; font-size: 13px; }
.opportunity-meta, .peer-meta { color: var(--muted); font-size: 11px; margin-top: 3px; }
.gap-badge { font-size: 11px; font-weight: 850; padding: 5px 7px; border-radius: 7px; background: var(--danger-soft); color: var(--danger); white-space: nowrap; }
.peer-rank { font-size: 11px; font-weight: 800; color: var(--accent); background: var(--accent-soft); padding: 5px 7px; border-radius: 7px; }
.insight-panel { margin-top: 16px; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; border-color: #d8c79f; background: linear-gradient(180deg, white, #fffdf9); }
.insight-icon { width: 44px; height: 44px; border-radius: 12px; background: var(--gold-soft); color: var(--gold); display: grid; place-items: center; font-size: 20px; }
.insight-copy h3 { margin: 3px 0 5px; font-size: 17px; }
.insight-copy p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.section-intro { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin-bottom: 20px; }
.section-intro p { margin: 8px 0 0; color: var(--muted); max-width: 650px; font-size: 13px; line-height: 1.6; }
.toolbar { display: flex; gap: 10px; margin-bottom: 12px; }
.toolbar input, .toolbar select, .metric-select-wrap select { border: 1px solid var(--line); background: white; border-radius: 9px; padding: 11px 12px; color: var(--ink); outline: none; }
.toolbar input { flex: 1; min-width: 0; }
.toolbar input:focus, .toolbar select:focus, .metric-select-wrap select:focus { border-color: #7da295; box-shadow: 0 0 0 3px rgba(42,101,86,.08); }
.table-panel { padding: 0; overflow: hidden; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th { text-align: left; font-size: 10px; color: var(--muted); letter-spacing: .07em; text-transform: uppercase; padding: 13px 16px; background: #fafbfb; border-bottom: 1px solid var(--line); }
.data-table td { padding: 15px 16px; border-bottom: 1px solid var(--line); font-size: 13px; }
.data-table tr:last-child td { border-bottom: 0; }
.agency-cell strong { display: block; }
.agency-cell span { color: var(--muted); font-size: 11px; display: block; margin-top: 3px; }
.status-badge { display: inline-flex; padding: 5px 7px; border-radius: 999px; font-size: 10px; font-weight: 850; }
.status-current { color: var(--accent); background: var(--accent-soft); }
.status-expired { color: #7e6636; background: var(--gold-soft); }
.coverage { display: flex; align-items: center; gap: 8px; }
.coverage-track { width: 70px; height: 6px; border-radius: 999px; background: #edf0f1; overflow: hidden; }
.coverage-fill { height: 100%; background: var(--accent-2); border-radius: inherit; }
.row-btn { border: 0; background: transparent; color: var(--accent-2); font-weight: 800; }
.metric-select-wrap { display: grid; gap: 5px; min-width: 230px; }
.metric-select-wrap label { font-size: 10px; text-transform: uppercase; letter-spacing: .08em; color: var(--muted); font-weight: 850; }
.compare-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 16px; align-items: start; }
.comparable-panel { position: sticky; top: 20px; }
.count-pill { background: var(--soft); color: var(--muted); border-radius: 999px; padding: 5px 8px; font-size: 10px; font-weight: 800; }
.comparable-controls { display: grid; gap: 7px; }
.comp-row { display: flex; gap: 9px; align-items: center; padding: 9px 8px; border-radius: 9px; }
.comp-row:hover { background: #f7f9f9; }
.comp-row input { accent-color: var(--accent); }
.comp-copy { min-width: 0; }
.comp-copy strong { display: block; font-size: 12px; }
.comp-copy span { display: block; color: var(--muted); font-size: 10px; margin-top: 2px; }
.compare-main { min-width: 0; }
.compare-stats { margin-top: 0; }
.focus-stat { border-color: #b7cec5; background: linear-gradient(180deg, #fff, #f8fbfa); }
.ranking-panel, .source-panel { margin-top: 16px; }
.ranking-bars { display: grid; gap: 8px; }
.rank-row { display: grid; grid-template-columns: 130px minmax(0, 1fr) 110px; gap: 12px; align-items: center; padding: 10px; border-radius: 10px; border: 1px solid transparent; }
.rank-row:hover, .rank-row.selected { background: #f7faf9; border-color: #dfe9e5; }
.rank-row.focus { background: #f2f7f5; }
.rank-label { min-width: 0; }
.rank-label strong { display: block; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rank-label span { font-size: 10px; color: var(--muted); }
.bar-track { height: 9px; background: #ecf0ef; border-radius: 999px; overflow: hidden; }
.bar-fill { height: 100%; background: linear-gradient(90deg, #355f53, #71968b); border-radius: inherit; min-width: 4px; }
.rank-value { text-align: right; font-weight: 850; font-size: 13px; }
.source-body { border: 1px solid var(--line); border-radius: 10px; background: #fbfcfc; padding: 16px; }
.empty-source { color: var(--muted); font-size: 12px; line-height: 1.55; }
.source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.source-key { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; font-weight: 850; }
.source-value { font-size: 13px; font-weight: 750; margin-top: 4px; }
.source-quote { grid-column: 1 / -1; padding: 14px; background: white; border-left: 3px solid var(--accent-2); color: #3f4a50; font-size: 12px; line-height: 1.6; }
.verified-badge { background: var(--accent-soft); color: var(--accent); padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 850; }
.priority-scan-panel { overflow: hidden; }
.priority-scan-head { align-items: flex-start; gap: 14px; }
.priority-scan-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.priority-scan-note { margin: -2px 0 14px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: #f8faf9; color: var(--muted); font-size: 10px; line-height: 1.5; }
.priority-scan-results { display: grid; gap: 9px; }
.priority-row { display: grid; grid-template-columns: minmax(170px,1.35fr) repeat(3,minmax(90px,.7fr)) auto; gap: 10px; align-items: center; width: 100%; padding: 12px 13px; border: 1px solid var(--line); border-radius: 11px; background: white; color: inherit; text-align: left; cursor: pointer; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; }
.priority-row:hover { border-color: #a6bbb3; transform: translateY(-1px); box-shadow: 0 7px 18px rgba(20,36,43,.06); }
.priority-title { min-width: 0; }
.priority-title strong { display: block; font-size: 12px; line-height: 1.25; }
.priority-title span { display: block; margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.priority-fact { min-width: 0; }
.priority-fact span { display: block; color: var(--muted); font-size: 8px; letter-spacing: .04em; text-transform: uppercase; font-weight: 800; }
.priority-fact strong { display: block; margin-top: 3px; font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.priority-badge-stack { display: flex; align-items: flex-end; justify-content: center; flex-direction: column; gap: 5px; min-width: 100px; }
.priority-score { font-size: 8px; font-weight: 850; letter-spacing: .04em; color: var(--muted); text-transform: uppercase; }
.priority-empty { padding: 18px; border: 1px dashed var(--line); border-radius: 11px; color: var(--muted); font-size: 10px; line-height: 1.5; }
.priority-strengths { margin-top: 12px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-size: 9px; line-height: 1.5; }
.priority-strengths strong { color: var(--ink); }
.priority-trust.verified { color: #1f6b4f; }
.priority-trust.mixed { color: #84631c; }

.packet-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 16px; align-items: start; }
.packet-find { border-top: 1px solid var(--line); padding: 14px 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.packet-find:first-child { border-top: 0; padding-top: 0; }
.packet-find strong { font-size: 13px; display: block; }
.packet-find p { color: var(--muted); font-size: 11px; line-height: 1.5; margin: 4px 0 0; }
.remove-btn { border: 0; color: #9b5a55; background: transparent; font-weight: 850; font-size: 11px; }
.packet-preview { background: #e9edeb; padding: 22px; }
.preview-paper { background: white; min-height: 610px; box-shadow: 0 12px 25px rgba(20,36,43,.08); padding: 34px; border-radius: 3px; }
.preview-brand { font-size: 12px; font-weight: 900; color: var(--accent); }
.preview-kicker { font-size: 9px; letter-spacing: .12em; color: var(--muted); font-weight: 850; margin-top: 28px; }
.preview-paper h3 { font-size: 25px; letter-spacing: -.03em; margin: 6px 0 6px; }
.preview-meta { color: var(--muted); font-size: 10px; }
.preview-rule { height: 2px; background: var(--accent); margin: 20px 0 22px; }
.preview-paper h4 { margin: 18px 0 6px; font-size: 12px; }
.preview-paper p { font-size: 11px; line-height: 1.6; color: #48535a; }
.preview-findings { display: grid; gap: 9px; }
.preview-finding { padding: 10px; background: #f6f8f7; border-left: 2px solid var(--accent-2); }
.preview-finding strong { font-size: 10px; display: block; }
.preview-finding span { font-size: 9px; color: var(--muted); display: block; margin-top: 3px; }
.preview-note { margin-top: 28px; font-size: 9px; line-height: 1.5; color: #7a858b; border-top: 1px solid var(--line); padding-top: 10px; }
.modal-backdrop { display: none; position: fixed; inset: 0; background: rgba(6,18,14,.48); place-items: center; z-index: 50; padding: 20px; }
.modal-backdrop.show { display: grid; }
.modal { position: relative; width: min(460px,100%); background: white; border-radius: 16px; box-shadow: 0 24px 80px rgba(0,0,0,.22); padding: 28px; }
.modal h2 { margin: 5px 0 10px; }
.modal p { color: var(--muted); line-height: 1.6; font-size: 13px; }
.modal-close { position: absolute; right: 14px; top: 12px; border: 0; background: transparent; font-size: 25px; color: #7b858b; }
@media (max-width: 1020px) {
  .app-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .main { padding: 24px 22px 50px; }
  .hero-card { grid-template-columns: 1fr; }
  .hero-stat-panel { border-left: 0; border-top: 1px solid rgba(255,255,255,.12); padding-left: 0; padding-top: 20px; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .hero-stat { display: block; border-bottom: 0; }
  .hero-stat-label { display: block; margin-bottom: 6px; }
  .compare-layout { grid-template-columns: 1fr; }
  .comparable-panel { position: static; }
  .comparable-controls { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .priority-row { grid-template-columns: 1fr 1fr; }
  .priority-title { grid-column: 1 / -1; }
  .priority-badge-stack { align-items: flex-start; min-width: 0; }
  .packet-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .app-shell { display: block; }
  .sidebar { position: static; height: auto; padding: 16px; }
  .brand-row { padding-bottom: 14px; }
  .nav { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 5px; }
  .nav-item { justify-content: center; padding: 10px 6px; font-size: 11px; }
  .nav-item span { display: none; }
  .sidebar-section, .sidebar-footer { display: none; }
  .main { padding: 20px 14px 40px; }
  .topbar { align-items: flex-end; }
  .top-actions .ghost-btn { display: none; }
  .hero-card { padding: 24px; }
  .hero-stat-panel { grid-template-columns: 1fr; }
  .grid-3, .grid-2 { grid-template-columns: 1fr; }
  .insight-panel { grid-template-columns: auto 1fr; }
  .insight-panel .secondary-btn { grid-column: 1 / -1; }
  .section-intro { align-items: flex-start; flex-direction: column; }
  .metric-select-wrap { width: 100%; }
  .toolbar { flex-direction: column; }
  .comparable-controls { grid-template-columns: 1fr; }
  .rank-row { grid-template-columns: 105px minmax(0,1fr) 80px; gap: 8px; }
  .source-grid { grid-template-columns: 1fr; }
  .source-quote { grid-column: 1; }
  .packet-preview { padding: 10px; }
  .preview-paper { padding: 24px; }
}

/* Build 2 — Contract Intake */
.intake-backdrop, .record-backdrop { z-index: 80; }
.intake-modal { position: relative; width: min(860px, 100%); max-height: min(880px, calc(100vh - 28px)); overflow: auto; background: white; border-radius: 18px; box-shadow: 0 28px 100px rgba(0,0,0,.28); }
.intake-header { padding: 28px 32px 18px; display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; border-bottom: 1px solid var(--line); }
.intake-header h2 { margin: 5px 0 8px; font-size: 28px; letter-spacing: -.035em; }
.intake-header p { margin: 0; max-width: 620px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.intake-save-note { white-space: nowrap; border-radius: 999px; padding: 6px 9px; background: var(--accent-soft); color: var(--accent); font-size: 10px; font-weight: 850; }
.intake-progress { padding: 18px 32px; background: #fafbfb; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto; align-items: center; gap: 8px; }
.intake-step-dot { border: 0; background: transparent; color: #8a9499; display: flex; align-items: center; gap: 7px; padding: 0; cursor: default; }
.intake-step-dot span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; border: 1px solid #cbd3d6; background: white; font-size: 10px; font-weight: 900; }
.intake-step-dot strong { font-size: 10px; letter-spacing: .03em; }
.intake-step-dot.active { color: var(--accent); }
.intake-step-dot.active span { background: var(--accent); color: white; border-color: var(--accent); }
.intake-step-dot.done span { background: var(--accent-soft); color: var(--accent); border-color: #b6cdc4; }
.progress-line { height: 1px; background: #dce2e4; }
.intake-body { padding: 28px 32px 8px; min-height: 410px; }
.intake-step { display: none; }
.intake-step.active { display: block; animation: fade .18s ease; }
.step-kicker { color: var(--accent-2); font-size: 9px; font-weight: 900; letter-spacing: .12em; }
.intake-step h3 { margin: 5px 0 8px; font-size: 23px; letter-spacing: -.025em; }
.step-copy { margin: 0 0 22px; color: var(--muted); font-size: 13px; line-height: 1.6; max-width: 700px; }
.drop-zone { min-height: 210px; border: 2px dashed #bdcbc5; border-radius: 15px; background: #fafcfb; display: grid; place-items: center; align-content: center; gap: 8px; text-align: center; padding: 24px; color: var(--muted); transition: .16s ease; }
.drop-zone:hover, .drop-zone.drag { border-color: var(--accent-2); background: #f4f8f6; }
.drop-zone input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.drop-zone strong { color: var(--ink); font-size: 15px; }
.drop-zone span:last-child { font-size: 11px; }
.drop-icon { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-size: 22px; font-weight: 800; }
.selected-file { margin-top: 12px; border: 1px solid #b9cec5; background: #f5faf8; border-radius: 12px; padding: 13px 14px; }
.file-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; }
.file-copy strong { display: block; font-size: 12px; }
.file-copy span { display: block; color: var(--muted); font-size: 10px; margin-top: 3px; }
.file-check { color: var(--accent); background: var(--accent-soft); border-radius: 999px; padding: 5px 7px; font-size: 10px; font-weight: 850; }
.intake-callout { margin-top: 16px; border-left: 3px solid var(--accent-2); background: #f7faf9; padding: 12px 14px; display: grid; gap: 4px; }
.intake-callout.gold { border-left-color: var(--gold); background: #fffaf0; }
.intake-callout strong { font-size: 11px; }
.intake-callout span { color: var(--muted); font-size: 11px; line-height: 1.55; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 15px; }
.field { display: grid; gap: 6px; }
.field.full { grid-column: 1 / -1; }
.field > span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; font-weight: 850; }
.field > span small { font-size: 9px; font-weight: 750; text-transform: none; letter-spacing: 0; opacity: .75; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid var(--line); border-radius: 9px; padding: 11px 12px; outline: none; color: var(--ink); background: white; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #7da295; box-shadow: 0 0 0 3px rgba(42,101,86,.08); }
.review-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.review-item { border: 1px solid var(--line); border-radius: 10px; padding: 12px; background: #fbfcfc; min-width: 0; }
.review-item.full { grid-column: 1 / -1; }
.review-item span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; font-weight: 850; }
.review-item strong { display: block; margin-top: 5px; font-size: 12px; overflow-wrap: anywhere; }
.confirm-row { margin-top: 18px; display: flex; gap: 9px; align-items: flex-start; font-size: 12px; color: #465158; line-height: 1.45; }
.confirm-row input { margin-top: 2px; accent-color: var(--accent); }
.intake-error { margin: 0 32px 10px; background: var(--danger-soft); color: var(--danger); border: 1px solid #edcfcb; border-radius: 9px; padding: 9px 11px; font-size: 11px; font-weight: 700; }
.intake-footer { position: sticky; bottom: 0; background: white; border-top: 1px solid var(--line); padding: 15px 32px; display: flex; align-items: center; gap: 9px; }
.footer-spacer { flex: 1; }
.intake-badge { display: inline-flex; padding: 5px 7px; border-radius: 999px; background: #eef1f6; color: #566175; font-size: 10px; font-weight: 850; white-space: nowrap; }
.source-captured { display: inline-flex; align-items: center; gap: 6px; color: var(--accent); font-size: 11px; font-weight: 800; white-space: nowrap; }
.record-modal { width: min(620px, 100%); }
.record-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 18px 0 20px; }
.record-line { border: 1px solid var(--line); background: #fbfcfc; border-radius: 10px; padding: 11px; }
.record-line.full { grid-column: 1 / -1; }
.record-line span { display:block; color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; font-weight: 850; }
.record-line strong { display:block; margin-top: 4px; font-size: 12px; overflow-wrap:anywhere; }
.record-status { grid-column: 1/-1; border-left: 3px solid var(--gold); background: #fffaf0; padding: 11px 12px; font-size: 11px; color: #65552f; line-height: 1.5; }
.record-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.danger-btn { color: var(--danger); border-color: #e3c1bd; }

@media (max-width: 760px) {
  .intake-modal { max-height: calc(100vh - 10px); border-radius: 14px; }
  .intake-header { padding: 24px 18px 16px; }
  .intake-header { display: block; }
  .intake-save-note { display: inline-flex; margin-top: 10px; }
  .intake-progress { padding: 14px 18px; gap: 5px; }
  .intake-step-dot strong { display: none; }
  .intake-body { padding: 22px 18px 8px; min-height: 0; }
  .form-grid, .review-grid, .record-body { grid-template-columns: 1fr; }
  .field.full, .review-item.full, .record-line.full, .record-status { grid-column: 1; }
  .intake-footer { padding: 12px 18px; }
  .intake-error { margin-left: 18px; margin-right: 18px; }
}


/* Build 3 — Source Reader + Review */
.intake-progress.three-step { grid-template-columns: auto 1fr auto 1fr auto; }

.library-success {
  position: relative;
  margin: 0 0 18px;
  display: grid;
  grid-template-columns: auto minmax(0,1fr) auto auto auto;
  align-items: center;
  gap: 14px;
  border: 2px solid #77aa94;
  background: linear-gradient(135deg,#f3fbf7 0%,#eaf7f1 100%);
  border-radius: 15px;
  padding: 17px 18px;
  box-shadow: 0 9px 28px rgba(28,92,70,.10);
}
.library-success[hidden] { display: none; }
.success-mark {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: white;
  font-size: 21px;
  font-weight: 900;
  box-shadow: 0 4px 14px rgba(28,92,70,.20);
}
.success-copy { min-width: 0; }
.success-copy strong { display: block; color: var(--accent); font-size: 14px; }
.success-copy span { display: block; margin-top: 3px; color: #506159; font-size: 11px; line-height: 1.45; }
.success-dismiss {
  border: 0;
  background: transparent;
  color: #6f7b75;
  font-size: 22px;
  line-height: 1;
  padding: 7px;
}
tr.just-saved td { background: #f3faf6; }
tr.just-saved td:first-child { box-shadow: inset 3px 0 0 var(--accent); }

.analysis-badge {
  display: inline-flex;
  padding: 5px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
  background: #fff6dd;
  color: #765d20;
}
.analysis-badge.ready { background: #eaf5f0; color: var(--accent); }
.analysis-badge.ocr { background: var(--danger-soft); color: var(--danger); }
.source-coverage-text { display: grid; gap: 2px; font-size: 10px; color: var(--muted); }
.source-coverage-text strong { color: var(--ink); font-size: 11px; }
.record-status.ready { border-left-color: var(--accent); background: #f1f8f5; color: #31584a; }
.record-status.ocr { border-left-color: var(--danger); background: #fff5f4; color: #74433e; }
.record-analysis-summary {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 8px;
}
.record-mini-stat {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 11px;
  background: #fbfcfc;
}
.record-mini-stat span { display:block; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.07em; font-weight:850; }
.record-mini-stat strong { display:block; margin-top:4px; font-size:15px; }

.extraction-backdrop { z-index: 95; }
.extraction-modal {
  position: relative;
  width: min(980px, 100%);
  max-height: min(900px, calc(100vh - 24px));
  display: flex;
  flex-direction: column;
  background: white;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 30px 110px rgba(0,0,0,.30);
}
.extraction-header {
  padding: 27px 32px 18px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  border-bottom: 1px solid var(--line);
}
.extraction-header h2 { margin: 5px 0 7px; font-size: 28px; letter-spacing: -.035em; }
.extraction-header p { margin: 0; max-width: 700px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.extraction-state {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 6px 9px;
  background: #eef1f6;
  color: #5f6979;
  font-size: 10px;
  font-weight: 850;
  white-space: nowrap;
}
.extraction-state.running { background:#fff5d8; color:#775e1f; }
.extraction-state.ready { background:var(--accent-soft); color:var(--accent); }
.extraction-state.ocr { background:var(--danger-soft); color:var(--danger); }

.extraction-progress-wrap { padding: 15px 32px 14px; background: #fafbfb; border-bottom: 1px solid var(--line); }
.extraction-progress-line { height: 7px; border-radius: 999px; overflow: hidden; background: #e5e9e7; }
.extraction-progress-line span { display:block; width:0%; height:100%; background: var(--accent); transition: width .18s ease; }
.extraction-progress-copy { margin-top: 8px; display:flex; justify-content:space-between; gap:12px; font-size:10px; color:var(--muted); }
.extraction-progress-copy strong { color:var(--ink); font-size:10px; }

.extraction-toolbar {
  padding: 14px 32px;
  display: grid;
  grid-template-columns: minmax(260px,1fr) auto;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--line);
}
.extraction-toolbar input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 11px;
  outline: none;
}
.extraction-toolbar input:focus { border-color:#7da295; box-shadow:0 0 0 3px rgba(42,101,86,.08); }
.extraction-summary { color:var(--muted); font-size:10px; text-align:right; white-space:nowrap; }
.extraction-summary strong { color:var(--ink); }

.extraction-body {
  flex: 1;
  min-height: 300px;
  overflow: auto;
  padding: 22px 32px 30px;
  background: #fbfcfc;
}
.extraction-empty {
  min-height: 260px;
  border: 1px dashed #cbd4d0;
  border-radius: 13px;
  display: grid;
  place-items: center;
  text-align: center;
  color: var(--muted);
  background: white;
  padding: 28px;
  line-height: 1.55;
}
.extraction-message {
  border: 1px solid var(--line);
  border-left: 3px solid var(--gold);
  background: #fffaf0;
  border-radius: 10px;
  padding: 15px;
  color: #66562f;
  font-size: 12px;
  line-height: 1.55;
}
.extraction-message.error { border-left-color:var(--danger); background:#fff5f4; color:#76443f; }

.provision-list { display:grid; gap:12px; }
.provision-card {
  border: 1px solid var(--line);
  border-radius: 13px;
  background: white;
  overflow: hidden;
}
.provision-card.verified { border-color:#9bbcaf; box-shadow:0 0 0 1px rgba(42,101,86,.05); }
.provision-head {
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #edf0ef;
}
.provision-title { min-width:0; }
.provision-title strong { display:block; font-size:12px; }
.provision-title span { display:block; margin-top:3px; color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.provision-page {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--accent);
  font-size:10px;
  font-weight:850;
  white-space:nowrap;
}
.provision-body { padding: 13px 14px; }
.provision-snippet { color:#435047; font-size:11px; line-height:1.65; white-space:pre-wrap; }
.provision-actions {
  margin-top: 12px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.verify-source-btn {
  border: 1px solid #b8c9c1;
  background: #f7faf9;
  color: var(--accent);
  border-radius: 8px;
  padding: 7px 9px;
  font-size:10px;
  font-weight:850;
}
.verify-source-btn.verified { background:var(--accent); color:white; border-color:var(--accent); }
.open-page-btn { border:0; background:transparent; color:var(--accent-2); font-size:10px; font-weight:800; padding:7px 0; }
.no-results { padding:26px; text-align:center; color:var(--muted); font-size:12px; }

.extraction-footer {
  padding: 14px 32px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border-top:1px solid var(--line);
  background:white;
}
.extraction-footnote { color:var(--muted); font-size:10px; line-height:1.4; }

@media (max-width: 760px) {
  .library-success { grid-template-columns:auto 1fr auto; }
  .library-success .primary-btn { grid-column:1/-1; width:100%; }
  .success-dismiss { grid-column:3; grid-row:1; }
  .record-analysis-summary { grid-template-columns:1fr; }
  .extraction-modal { max-height:calc(100vh - 8px); border-radius:14px; }
  .extraction-header { padding:24px 18px 16px; display:block; }
  .extraction-state { margin-top:10px; }
  .extraction-progress-wrap, .extraction-toolbar, .extraction-body, .extraction-footer { padding-left:18px; padding-right:18px; }
  .extraction-toolbar { grid-template-columns:1fr; }
  .extraction-summary { text-align:left; white-space:normal; }
  .extraction-footer { align-items:flex-start; }
}


/* Build 4 — OCR states */
.analysis-badge.running { background:#fff5d8; color:#775e1f; }
.extraction-message.ocr-ready { border-left-color:#b88a22; background:#fffbef; color:#5f522f; }
.ocr-action-row { margin-top:18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.ocr-action-row span { font-size:10px; color:var(--muted); }

/* BargainScope Cloud */
.cloud-status-btn { display:inline-flex; align-items:center; gap:8px; border:1px solid #cfd9d4; background:#fff; color:#29433b; border-radius:999px; padding:9px 12px; font-weight:800; cursor:pointer; }
.cloud-status-btn:hover { border-color:#9fb4ab; }
.cloud-dot { width:9px; height:9px; border-radius:50%; background:#aeb8b4; box-shadow:0 0 0 3px rgba(174,184,180,.14); }
.cloud-status-btn.signed-in .cloud-dot { background:#2f7a5f; box-shadow:0 0 0 3px rgba(47,122,95,.14); }
.cloud-status-btn.error .cloud-dot { background:#b64f4f; box-shadow:0 0 0 3px rgba(182,79,79,.12); }
.cloud-backdrop { z-index:80; }
.cloud-modal { width:min(760px, calc(100vw - 30px)); max-height:calc(100vh - 34px); overflow:auto; background:#fff; border-radius:20px; box-shadow:0 26px 80px rgba(20,35,30,.28); padding:26px; position:relative; }
.cloud-modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-right:34px; }
.cloud-modal-head h2 { margin:4px 0 8px; font-size:28px; letter-spacing:-.035em; }
.cloud-modal-head p { margin:0; color:#607169; line-height:1.55; max-width:570px; }
.cloud-project-pill { white-space:nowrap; border:1px solid #d6e0dc; background:#f5f8f7; border-radius:999px; padding:7px 10px; color:#586a62; font-size:11px; font-weight:850; }
.cloud-auth-panel, .cloud-account-panel { margin-top:22px; border:1px solid #dce4e0; border-radius:16px; padding:18px; background:#fbfcfc; }
.cloud-security-note { margin-bottom:16px; border-left:4px solid #2f7a5f; background:#eef7f3; padding:12px 14px; border-radius:9px; color:#43584f; line-height:1.45; }
.cloud-auth-mode-copy { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin:0 0 12px; color:#43584f; }
.cloud-auth-mode-copy strong { font-size:16px; color:#203a30; }
.cloud-auth-mode-copy span { font-size:13px; color:#708078; }
.cloud-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.cloud-auth-actions { display:flex; gap:10px; margin-top:16px; }
.cloud-account-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.cloud-account-row > div { display:grid; gap:4px; }
.cloud-account-row span { color:#718079; font-size:12px; }
.cloud-account-row strong { font-size:15px; }
.cloud-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0; }
.cloud-stats > div { border:1px solid #dce4e0; background:#fff; border-radius:12px; padding:13px; display:grid; gap:5px; }
.cloud-stats span { color:#718079; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.cloud-stats strong { font-size:22px; }
.cloud-action-stack { display:grid; gap:12px; }
.cloud-backup-card, .cloud-sync-card { display:flex; align-items:center; justify-content:space-between; gap:18px; border-radius:14px; padding:16px; }
.cloud-backup-card { border:1px solid #cfe0d8; background:#f3f8f6; }
.cloud-sync-card { border:1px solid #d9d8e7; background:#f7f6fb; }
.cloud-backup-card p, .cloud-sync-card p { margin:5px 0 0; color:#607169; font-size:13px; line-height:1.45; max-width:480px; }
.cloud-progress { margin-top:16px; }
.cloud-progress-track { height:8px; border-radius:999px; background:#e7ecea; overflow:hidden; }
.cloud-progress-track span { display:block; width:0; height:100%; background:#2f7a5f; transition:width .2s ease; }
.cloud-progress-copy { display:flex; justify-content:space-between; gap:14px; margin-top:7px; color:#607169; font-size:12px; }
.cloud-message { margin-top:16px; border-radius:12px; padding:12px 14px; background:#eef7f3; color:#38564a; border:1px solid #cfe4da; line-height:1.45; }
.cloud-message.error { background:#fff1f1; color:#8a3838; border-color:#efd0d0; }
.cloud-modal-foot { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:18px; color:#7a8881; font-size:12px; }
.cloud-inline { display:inline-flex; align-items:center; gap:5px; margin-top:4px; font-size:11px; font-weight:800; color:#4a665b; }
.cloud-inline.pending { color:#8b6f2b; }
.cloud-inline.error { color:#a04343; }
.record-cloud-line { background:#f5f8f7; border:1px solid #dbe4e0; border-radius:12px; padding:12px 14px; display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:10px; }
.record-cloud-line span { color:#6f8078; font-size:12px; }
.record-cloud-line strong { color:#304c41; font-size:13px; }
@media (max-width:760px) {
  .cloud-modal-head { display:block; }
  .cloud-project-pill { display:inline-block; margin-top:10px; }
  .cloud-form-grid, .cloud-stats { grid-template-columns:1fr; }
  .cloud-backup-card, .cloud-sync-card, .cloud-modal-foot { align-items:stretch; flex-direction:column; }
  .cloud-auth-actions { flex-direction:column; }
  .cloud-auth-actions button, .cloud-backup-card button, .cloud-sync-card button { width:100%; }
  .top-actions { flex-wrap:wrap; justify-content:flex-end; }
}

/* Hosted authentication */
.cloud-auth-form { display:block; }

.auth-security-note { margin-top:8px; font-size:11px; line-height:1.45; color:#7a8982; }

.cloud-forgot-btn { margin-left:auto; }
.cloud-account-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.cloud-email-verified { color:#2f6b53; }
@media (max-width:720px){ .cloud-forgot-btn{ margin-left:0; } }


/* Build 8 — AI Contract Analyzer */
.ai-primary-btn{background:linear-gradient(135deg,#7c5cff,#5b39d8)!important;border-color:#7c5cff!important;color:#fff!important}
.record-ai-line{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border:1px solid rgba(124,92,255,.25);border-radius:12px;background:rgba(124,92,255,.07);gap:16px}
.record-ai-line span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.record-ai-line strong{color:#7c5cff}.record-ai-line.pending strong{color:var(--text)}
.ai-backdrop{z-index:1250}.ai-modal{width:min(1040px,94vw);max-height:92vh;overflow:hidden;background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 28px 90px rgba(0,0,0,.35);display:flex;flex-direction:column;position:relative}
.ai-header{display:flex;justify-content:space-between;gap:24px;padding:28px 30px 20px;border-bottom:1px solid var(--border)}.ai-header h2{margin:4px 0 6px}.ai-header p{margin:0;color:var(--muted);max-width:720px}
.ai-state{flex:0 0 auto;align-self:flex-start;padding:7px 11px;border-radius:999px;background:var(--chip);font-size:12px;font-weight:800;color:var(--muted)}.ai-state.ready{background:rgba(43,174,102,.12);color:#209153}.ai-state.running{background:rgba(124,92,255,.12);color:#6d4cec}.ai-state.error{background:rgba(207,62,62,.12);color:#c23939}
.ai-progress{display:flex;align-items:center;gap:14px;margin:18px 30px 0;padding:14px 16px;border:1px solid rgba(124,92,255,.22);background:rgba(124,92,255,.06);border-radius:12px}.ai-progress div:last-child{display:flex;flex-direction:column;gap:3px}.ai-progress span{color:var(--muted);font-size:13px}.ai-spinner{width:24px;height:24px;border:3px solid rgba(124,92,255,.18);border-top-color:#7c5cff;border-radius:50%;animation:ai-spin .85s linear infinite}@keyframes ai-spin{to{transform:rotate(360deg)}}
.ai-summary{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:1px;margin:18px 30px 0;border:1px solid var(--border);background:var(--border);border-radius:12px;overflow:hidden}.ai-summary>div{background:var(--panel);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.ai-summary span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.ai-summary strong{font-size:13px}
.ai-body{padding:20px 30px 28px;overflow:auto}.ai-agreement-summary,.ai-warnings{display:flex;flex-direction:column;gap:7px;padding:15px 16px;border-radius:12px;margin-bottom:14px}.ai-agreement-summary{background:var(--surface);border:1px solid var(--border)}.ai-agreement-summary span,.ai-warnings span{font-size:13px;line-height:1.5;color:var(--muted)}.ai-warnings{background:rgba(225,157,40,.08);border:1px solid rgba(225,157,40,.25)}
.ai-provision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-provision-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:16px;box-shadow:0 5px 16px rgba(0,0,0,.03)}.ai-provision-card.status-found{border-left:4px solid #2bae66}.ai-provision-card.status-uncertain{border-left:4px solid #d99b28}.ai-provision-card.status-not_found{border-left:4px solid #a7acb7;opacity:.86}
.ai-provision-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.ai-provision-head>div{display:flex;flex-direction:column;gap:4px}.ai-category{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#7254e8;font-weight:800}.ai-status-pill{white-space:nowrap;font-size:11px;font-weight:800;padding:5px 8px;border-radius:999px;background:var(--chip);color:var(--muted)}
.ai-normalized{margin:14px 0 10px;display:flex;flex-direction:column;gap:4px}.ai-normalized span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.ai-normalized strong{font-size:15px}.ai-source-meta{font-size:12px;color:var(--muted);margin-bottom:8px}.ai-provision-card blockquote{margin:8px 0;padding:11px 13px;border-left:3px solid var(--border);background:var(--surface);font-size:12.5px;line-height:1.5;color:var(--text)}.ai-no-source{padding:10px 12px;background:var(--surface);border-radius:8px;color:var(--muted);font-size:12px}.ai-explanation{font-size:12.5px;line-height:1.5;color:var(--muted);margin-top:10px}.ai-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:11px;color:var(--muted)}
.ai-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 30px;border-top:1px solid var(--border);background:var(--panel)}
@media(max-width:800px){.ai-provision-list{grid-template-columns:1fr}.ai-summary{grid-template-columns:repeat(2,1fr)}.ai-header{flex-direction:column}.ai-body{padding:16px}.ai-progress,.ai-summary{margin-left:16px;margin-right:16px}.ai-footer{padding:14px 16px}.ai-card-footer{align-items:flex-start;flex-direction:column}}


/* Build 9 — human review + real-contract comparison */
.ai-progress[hidden]{display:none!important}
.ai-review-intro{display:grid;grid-template-columns:1fr auto;gap:8px 16px;align-items:center;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(42,101,86,.22);border-radius:12px;background:rgba(42,101,86,.055)}
.ai-review-intro strong{font-size:13px}.ai-review-intro span{grid-column:1;color:var(--muted);font-size:12.5px;line-height:1.45}.ai-review-intro button{grid-column:2;grid-row:1/span 2}
.ai-review-status{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.ai-review-status>span:last-child{font-size:10.5px;color:var(--muted)}
.ai-review-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.ai-review-badge.approved{background:#e6f5ec;color:#1f6f47}.ai-review-badge.excluded{background:#f1f1f2;color:#666}.ai-review-badge.pending{background:#fff5d9;color:#8a6418}
.ai-review-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.ai-review-actions button{border:1px solid var(--border);background:white;border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer}.ai-review-actions button:hover{border-color:#7da295}.ai-review-actions .review-approve-btn.active,.ai-review-actions .review-correct-btn.active{background:#e6f5ec;border-color:#82b99a;color:#1f6f47}.ai-review-actions .review-na-btn.active{background:#f1f1f2;color:#555}.ai-review-actions .review-reset-btn{margin-left:auto;color:var(--muted)}
.ai-provision-card.review-approved{box-shadow:0 0 0 2px rgba(43,174,102,.08),0 5px 16px rgba(0,0,0,.03)}.ai-provision-card.review-excluded{opacity:.68}
.compare-select-group{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.real-compare-notice{margin:-6px 0 18px;padding:11px 14px;border:1px solid rgba(42,101,86,.18);background:rgba(42,101,86,.045);border-radius:10px;color:var(--muted);font-size:12.5px}.real-compare-notice strong{color:var(--ink)}.real-compare-notice[hidden]{display:none}
.real-comp-row{grid-template-columns:auto 1fr auto;align-items:center}.real-focus-btn{font-size:10px;white-space:nowrap}
.compare-empty-note{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:12.5px;line-height:1.45}.compare-empty-note strong{color:var(--ink)}.compare-empty-note.large{padding:24px}
.real-compare-row{width:100%;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:13px 14px;display:grid;grid-template-columns:minmax(170px,.8fr) minmax(260px,1.8fr) auto;gap:16px;align-items:center;text-align:left;cursor:pointer;color:var(--ink)}.real-compare-row:hover,.real-compare-row.selected{border-color:#7da295;background:rgba(42,101,86,.035)}.real-compare-row.focus{box-shadow:inset 3px 0 0 #2a6556}.real-compare-agency{display:flex;flex-direction:column;gap:3px}.real-compare-agency span{font-size:11px;color:var(--muted)}.real-compare-value{font-size:13px;line-height:1.4;font-weight:750}.real-compare-value.missing{font-weight:600;color:var(--muted);font-style:italic}.real-compare-cite{font-size:11px;color:var(--muted);white-space:nowrap}
.compare-stats .stat-value{font-size:clamp(18px,2vw,30px);overflow-wrap:anywhere}
@media(max-width:900px){.real-compare-row{grid-template-columns:1fr}.real-compare-cite{white-space:normal}.ai-review-intro{grid-template-columns:1fr}.ai-review-intro button{grid-column:1;grid-row:auto}.compare-select-group{width:100%}}

.comparison-ready-inline{background:#e6f5ec!important;color:#1f6f47!important;border-color:#b9dfca!important}

/* Build 14 — Universal Fast Intake preserved from Build 11 */
.intake-callout.fast{border-left-color:#5b39d8;background:#f7f5ff}
.fast-detect-status{margin:0 0 15px;border:1px solid #c9c1f6;background:#f8f7ff;border-radius:12px;padding:12px 14px;display:flex;gap:10px;align-items:flex-start;color:#4d427e}
.fast-detect-status strong{display:block;color:#2f2859;font-size:12px;margin-bottom:2px}
.fast-detect-status span{display:block;font-size:11px;line-height:1.5}
.fast-detect-status.partial{border-color:#e5d7a6;background:#fffaf0;color:#77642a}
.fast-detect-status.partial strong{color:#5f4f20}
.file-fast-state{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:850;color:#5b39d8;margin-top:3px}
.file-fast-state.reading::before{content:'';width:8px;height:8px;border-radius:50%;border:2px solid #d5cff7;border-top-color:#5b39d8;animation:fastSpin .8s linear infinite}
.file-fast-state.ready{color:var(--accent)}
.file-fast-state.warn{color:#8a651b}
@keyframes fastSpin{to{transform:rotate(360deg)}}
.fast-pipeline-note{font-size:10px;color:var(--muted);font-weight:700}


/* Build 14 — server-side URL intake preserved from Build 13.1 */
.universal-or{display:flex;align-items:center;gap:12px;margin:15px 0;color:#8b9599;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.universal-or:before,.universal-or:after{content:"";height:1px;background:var(--line);flex:1}
.url-import-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;border:1px solid var(--line);background:#fbfcfc;border-radius:12px;padding:13px}
.url-input-wrap{display:grid;gap:5px}
.url-input-wrap label{font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.url-input-wrap input{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px 11px;outline:none;color:var(--ink);background:white}
.url-input-wrap input:focus{border-color:#7da295;box-shadow:0 0 0 3px rgba(42,101,86,.08)}
.url-input-wrap span{font-size:10px;line-height:1.45;color:var(--muted)}
.paste-fallback{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:#fbfcfc;padding:10px 12px}
.paste-fallback summary{cursor:pointer;font-size:11px;font-weight:850;color:#3e4b50}
.paste-fallback p{font-size:10px;color:var(--muted);line-height:1.5;margin:8px 0}
.paste-fallback textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:10px;resize:vertical;min-height:110px;color:var(--ink);background:white;margin-bottom:8px}
.source-url-note{display:block!important;margin-top:4px!important;color:#5b39d8!important;overflow-wrap:anywhere}
@media (max-width: 700px){.url-import-row{grid-template-columns:1fr}.url-import-row .secondary-btn{width:100%}}

/* Build 14 — Sector Profiles preserved from Build 12 */
.sector-profile-note{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8faf9;font-size:13px;line-height:1.45}
.sector-profile-note strong{white-space:nowrap;color:var(--ink)}.sector-profile-note span{color:var(--muted)}
.sector-profile-note.active-profile{border-color:#b9cec5;background:var(--accent-soft)}
.sector-profile-note.active-profile strong{color:var(--accent)}
.sector-profile-note.core-profile{border-color:#dfcfaa;background:var(--gold-soft)}
.sector-profile-note.core-profile strong{color:#7b5d23}
.sector-inline{display:inline-flex;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.02em}
.sector-inline.active{background:var(--accent-soft);color:var(--accent)}
.review-item small{display:block;margin-top:4px;color:#94a3b8;font-size:11px}


/* Build 14 — Source Page Discovery */
.discovery-or{margin-top:11px}.discovery-row{background:#f8f7ff;border-color:#d8d2f5}
.source-discovery-results{margin-top:10px;border:1px solid #d8d2f5;background:#fbfaff;border-radius:12px;overflow:hidden}
.discovery-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #e6e1fa;background:#f7f5ff}
.discovery-head strong{display:block;font-size:12px;color:#33285f}.discovery-head span{display:block;margin-top:3px;font-size:10px;color:#70688e}
.discovery-badge{margin:0!important;white-space:nowrap;background:#ebe6ff;color:#5b39d8!important;border-radius:999px;padding:4px 8px;font-weight:900;letter-spacing:.04em}
.discovery-list{display:grid}.discovery-item{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #eeeafa}.discovery-item:first-child{border-top:0}
.discovery-copy{min-width:0}.discovery-copy strong{display:block;font-size:12px;color:var(--ink);line-height:1.35}.discovery-copy span{display:block;margin-top:3px;font-size:10px;font-weight:800;color:#5b39d8}.discovery-copy small{display:block;margin-top:4px;font-size:9px;color:var(--muted);line-height:1.4}
.discovery-empty{display:grid;gap:4px;padding:14px}.discovery-empty strong{font-size:12px}.discovery-empty span{font-size:10px;line-height:1.5;color:var(--muted)}
.discovery-loading{display:flex;align-items:center;gap:9px;padding:14px;font-size:11px;color:#4d427e}.discovery-loading span{width:12px;height:12px;border-radius:50%;border:2px solid #d5cff7;border-top-color:#5b39d8;animation:fastSpin .8s linear infinite}
@media (max-width:700px){.discovery-item{grid-template-columns:1fr}.discovery-import{width:100%}.discovery-head{align-items:center}}

/* Build 14.2 — Discovery Session Return */
.section-intro-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.discovery-head-actions{display:flex;gap:8px;align-items:center}
.discovery-clear-btn{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:800;cursor:pointer;padding:5px 7px}
.discovery-item.already-imported{background:rgba(42,101,86,.045);border-color:rgba(42,101,86,.24)}
.ai-footer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#resumeDiscoveryBtn[hidden],#successImportAnotherBtn[hidden],#aiImportAnotherBtn[hidden]{display:none!important}
@media(max-width:800px){
  .section-intro-actions{width:100%;justify-content:stretch}
  .section-intro-actions button{flex:1 1 auto}
  .ai-footer{align-items:flex-start;flex-direction:column}
  .ai-footer-actions{width:100%;justify-content:stretch}
  .ai-footer-actions button{flex:1 1 auto}
}


/* Build 15 — Comparison Engine v2 */
.compare-v2-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.real-compare-set-tools{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfb}
.real-compare-set-tools[hidden]{display:none!important}.real-compare-set-tools label{display:grid;gap:5px}.real-compare-set-tools label>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:850}
.real-compare-set-tools select{width:100%;border:1px solid var(--border);background:white;border-radius:8px;padding:8px;font:inherit;font-size:11px;color:var(--ink)}
.real-compare-set-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.real-compare-set-actions .secondary-btn{padding:7px 9px;font-size:10px}.real-compare-set-actions .text-btn{font-size:10px}.real-compare-set-actions button:disabled{opacity:.45;cursor:not-allowed}
.comparison-mode-note{margin:0 0 10px;padding:10px 12px;border:1px solid #dce7e3;border-radius:9px;background:#f8fbfa;color:var(--muted);font-size:11px;line-height:1.45}.comparison-mode-note strong{color:var(--ink)}
.real-compare-row{grid-template-columns:34px minmax(150px,.8fr) minmax(190px,1.25fr) 70px auto}.real-rank-number{font-size:12px;font-weight:900;color:var(--accent);text-align:center}.real-compare-position{display:flex;justify-content:flex-end}.position-badge{display:inline-flex;padding:4px 6px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.position-badge.best{background:#e6f5ec;color:#1f6f47}.position-badge.low{background:#fff0ea;color:#9b543b}
.source-mini{font-size:10px;color:var(--muted);line-height:1.4;margin-top:4px}.source-edit-action{display:flex;justify-content:flex-end;align-items:end}.compare-edit-value-btn{font-size:10px;padding:8px 10px}
.comparison-value-modal{width:min(560px,100%)}.comparison-value-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0 10px}.comparison-value-form label{display:grid;gap:6px}.comparison-value-form label>span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}.comparison-value-form input,.comparison-value-form select{width:100%;border:1px solid var(--border);border-radius:9px;padding:10px 11px;background:white;font:inherit;color:var(--ink)}
.comparison-auto-note{padding:10px 12px;border-radius:9px;background:#f6f8f7;color:var(--muted);font-size:11px;line-height:1.45}.comparison-value-error{margin-top:10px;color:#9b4238;font-size:11px;font-weight:750}.comparison-value-error[hidden]{display:none!important}.comparison-value-actions{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;margin-top:18px}
@media(max-width:1180px){.compare-v2-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.real-compare-row{grid-template-columns:34px 1fr}.real-compare-value,.real-compare-position,.real-compare-cite{grid-column:2}.real-compare-position{justify-content:flex-start}.compare-v2-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.compare-v2-stats,.comparison-value-form{grid-template-columns:1fr}.comparison-value-actions{grid-template-columns:1fr}.comparison-value-actions span{display:none}}
.position-badge.tied{background:#eef1f2;color:#59646a}
.ai-comparison-hint{margin-top:8px;padding:8px 10px;border:1px solid #dce7e3;border-radius:9px;background:#f8fbfa;display:grid;grid-template-columns:auto auto 1fr;gap:8px;align-items:center}.ai-comparison-hint span{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.ai-comparison-hint strong{font-size:12px;color:var(--accent)}.ai-comparison-hint em{font-size:10px;color:var(--muted);font-style:normal;text-align:right}
@media(max-width:620px){.ai-comparison-hint{grid-template-columns:1fr}.ai-comparison-hint em{text-align:left}}


/* Build 15.1 — obvious comparison launch */
.compare-launch-btn{display:inline-flex;align-items:center;gap:7px}
.compare-launcher-modal{width:min(720px,100%);max-height:min(82vh,760px);display:flex;flex-direction:column}
.compare-launcher-modal>p{margin-bottom:12px}
.compare-launcher-summary{padding:10px 12px;border:1px solid rgba(42,101,86,.18);background:rgba(42,101,86,.045);border-radius:10px;font-size:12.5px;color:var(--muted);margin-bottom:10px}
.compare-launcher-summary strong{color:var(--ink)}
.compare-launcher-list{display:grid;gap:8px;overflow:auto;min-height:120px;padding:2px 3px 2px 0}
.compare-launch-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 14px;align-items:center;border:1px solid var(--line);border-radius:11px;padding:11px 12px;background:#fff}
.compare-launch-item.selected{border-color:rgba(42,101,86,.35);background:rgba(42,101,86,.035)}
.compare-launch-item.not-ready{background:#fafbfa;color:var(--muted)}
.compare-launch-peer{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer}
.compare-launch-peer input,.compare-launch-focus input{margin-top:3px;accent-color:var(--accent-2)}
.compare-launch-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.compare-launch-copy strong{color:var(--ink);font-size:13px}
.compare-launch-copy span{font-size:11.5px;color:var(--muted);white-space:normal}
.compare-launch-side{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.compare-launch-focus{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--accent-2);cursor:pointer}
.compare-launch-ready{font-size:10.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-2);background:rgba(42,101,86,.08);border-radius:999px;padding:5px 7px}
.compare-launch-ready.needs-review{color:#8a6240;background:#f5eee7}
.compare-launch-review{font-size:11px!important}
.compare-launcher-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:14px;margin-top:10px;border-top:1px solid var(--line)}
.row-action-group{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.quick-compare-btn{font-size:11.5px!important}
@media(max-width:700px){.compare-launch-item{grid-template-columns:1fr}.compare-launch-side{justify-content:flex-start}.compare-launcher-actions button{flex:1}.row-action-group{align-items:flex-end;flex-direction:column;gap:2px}}

/* Build 15.2 — dedicated Compare workspace, trust badges, profiles, duplicate cleanup */
.compare-builder-panel{margin:0 0 18px;padding:16px}.compare-builder-head{gap:14px}.compare-builder-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.compare-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:10px;margin-top:12px}.compare-filter-grid label,.comparison-profile-grid label{display:grid;gap:5px;min-width:0}.compare-filter-grid label>span,.comparison-profile-grid label>span{font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.compare-filter-grid input,.compare-filter-grid select,.comparison-profile-grid input,.comparison-profile-grid select{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:white;padding:8px 9px;font:inherit;font-size:11px;color:var(--ink)}.range-pair{display:grid;grid-template-columns:1fr 1fr;gap:5px}.compare-filter-summary{margin-top:11px;padding:9px 11px;border-radius:9px;background:#fafbfb;border:1px solid var(--line);font-size:11.5px;color:var(--muted)}.compare-filter-summary strong{color:var(--ink)}
.real-comp-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-radius:9px}.real-comp-row.filter-match{background:rgba(42,101,86,.03)}.real-comp-row.outside-filter{opacity:.72}.real-comp-select{display:flex;align-items:flex-start;gap:9px;min-width:0;cursor:pointer}.real-comp-select input{margin-top:3px;accent-color:var(--accent-2)}.comp-copy small{font-size:10px;color:var(--muted);font-weight:500}.real-comp-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end}.profile-btn{font-size:10px!important}
.trust-badge{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:3px 6px;font-size:9px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.04em;margin-top:4px}.trust-badge.verified{background:#e6f5ec;color:#1f6f47}.trust-badge.ai{background:#eef3f6;color:#536975}.trust-badge.attention{background:#fff2df;color:#946622}.trust-source-value{display:flex;align-items:center}.trust-source-value .trust-badge{font-size:10px!important;margin:0}.profile-inline{display:inline-flex;margin-top:4px;font-size:10px;color:#50655d}.profile-inline.muted{color:var(--muted)}
.duplicate-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;margin:0 0 12px;border:1px solid #ead4bc;background:#fff9f2;border-radius:10px}.duplicate-summary>div{display:flex;flex-direction:column;gap:2px}.duplicate-summary strong{font-size:12px;color:var(--ink)}.duplicate-summary span{font-size:11px;color:var(--muted)}.duplicate-badge{display:inline-flex;width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.duplicate-badge.exact{background:#ffe8e4;color:#9c453c}.duplicate-badge.probable{background:#fff2df;color:#946622}.danger-text{color:#a14b43!important}.duplicate-modal{width:min(820px,100%);max-height:min(84vh,820px);display:flex;flex-direction:column}.duplicate-list{display:grid;gap:12px;overflow:auto;min-height:120px}.duplicate-group{border:1px solid #efc9c2;border-radius:11px;background:#fffafa;padding:10px}.duplicate-group.probable{border-color:#ead4bc;background:#fffaf3}.duplicate-group-head{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.duplicate-group-head strong{font-size:12px}.duplicate-group-head span{font-size:10.5px;color:var(--muted)}.duplicate-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 0;border-top:1px solid rgba(0,0,0,.055);align-items:center}.duplicate-record:first-of-type{border-top:0}.duplicate-record>div{display:flex;flex-direction:column;gap:2px}.duplicate-record>div:last-child{align-items:flex-end}.duplicate-record strong{font-size:12px}.duplicate-record span,.duplicate-record small{font-size:10.5px;color:var(--muted)}
.comparison-profile-modal{width:min(700px,100%)}.comparison-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.comparison-profile-grid label:nth-last-child(-n+2){grid-column:auto}
@media(max-width:1150px){.compare-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}}
@media(max-width:760px){.compare-filter-grid,.comparison-profile-grid{grid-template-columns:1fr 1fr}.real-comp-row{grid-template-columns:1fr}.real-comp-actions{justify-content:flex-start}.duplicate-summary{align-items:flex-start;flex-direction:column}.duplicate-record{grid-template-columns:1fr}.duplicate-record>div:last-child{align-items:flex-start}}
@media(max-width:520px){.compare-filter-grid,.comparison-profile-grid{grid-template-columns:1fr}.range-pair{grid-template-columns:1fr 1fr}}

/* Build 15.3 — bargaining-unit identity, like-for-like safeguards, duplicate hygiene */
.compare-like-toggle{display:flex;align-items:flex-start;gap:9px;margin-top:11px;padding:10px 12px;border:1px solid #d7e5df;background:#f7fbf9;border-radius:10px;cursor:pointer}.compare-like-toggle input{margin-top:3px;accent-color:var(--accent-2)}.compare-like-toggle span{display:flex;flex-direction:column;gap:2px}.compare-like-toggle strong{font-size:11.5px;color:var(--ink)}.compare-like-toggle small{font-size:10.5px;line-height:1.35;color:var(--muted)}
.unit-inline{display:inline-flex;width:max-content;max-width:100%;margin-top:4px;padding:3px 6px;border-radius:999px;font-size:9.5px;font-weight:800;letter-spacing:.015em}.unit-inline.identified-unit{background:#eaf4f0;color:#2f6a58}.unit-inline.verified-unit{background:#e6f5ec;color:#1f6f47}.unit-inline.unknown-unit{background:#fff2df;color:#946622}.unit-identity-line{font-weight:800!important;color:#3f5d52!important}.real-comp-row.unit-mismatch{background:#fff9f2!important;border-color:#ead4bc!important}.real-comp-row.unit-mismatch .unit-identity-line{color:#946622!important}.profile-unit-field{grid-column:1 / -1}.profile-unit-field small{font-size:10px;color:var(--muted);line-height:1.35}.identity-summary blockquote{margin:7px 0 0;padding:8px 10px;border-left:3px solid var(--accent-2);background:#fafcfa;border-radius:0 8px 8px 0;font-size:11px;color:#465a52}
.duplicate-group-head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.duplicate-group-head>div{display:flex;flex-direction:column;gap:2px}.duplicate-clean-group{white-space:nowrap;font-size:10.5px!important}.duplicate-record.recommended-keeper{background:#f7fbf9;margin:0 -6px;padding-left:6px;padding-right:6px;border-radius:8px}.duplicate-keeper-note{font-size:9.5px!important;font-weight:800;color:#2f6a58!important}.duplicate-record .unit-inline{margin-top:0}
@media(max-width:760px){.duplicate-group-head{flex-direction:column}.duplicate-clean-group{width:100%}.profile-unit-field{grid-column:auto}}


/* Build 17 — Account Access */
body.auth-pending { overflow:hidden; }
/* Build 17.1 — Safari-safe hidden state for the production account gate.
   Author-level display rules on these elements can otherwise override the HTML hidden attribute. */
.access-startup[hidden],
.access-gate[hidden],
.app-shell[hidden],
.access-loading[hidden],
.access-form[hidden],
.access-field[hidden],
.access-message[hidden],
.access-text-btn[hidden] { display:none !important; }

.access-startup { min-height:100vh; display:grid; place-items:center; padding:28px 18px; background:
  radial-gradient(circle at 20% 10%, rgba(225,201,141,.13), transparent 32%),
  linear-gradient(145deg,#0e2d24,#173f35 58%,#245448); }
.access-startup-card { width:min(430px,100%); background:rgba(255,255,255,.97); border:1px solid rgba(255,255,255,.35); border-radius:20px; box-shadow:0 22px 60px rgba(4,24,18,.28); padding:28px; }
.access-startup-card .access-brand { margin-bottom:24px; }
.access-startup-row { display:flex; align-items:center; gap:12px; color:#496159; font-size:14px; font-weight:750; padding-top:18px; border-top:1px solid #e4e9e7; }
.cloud-status-btn #cloudStatusText { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.access-gate { min-height:100vh; display:grid; place-items:center; padding:28px 18px; background:
  radial-gradient(circle at 15% 10%, rgba(225,201,141,.20), transparent 30%),
  linear-gradient(145deg, #0c221b 0%, #14392f 58%, #1e4f42 100%); }
.access-shell { width:min(470px, 100%); }
.access-back-link { display:inline-block; margin:0 0 14px 4px; color:#d5e5df; text-decoration:none; font-size:12px; font-weight:750; }
.access-back-link:hover { color:white; text-decoration:underline; }
.access-card { background:#fff; border:1px solid rgba(255,255,255,.22); border-radius:22px; box-shadow:0 30px 90px rgba(0,0,0,.30); padding:30px; }
.access-brand { display:flex; align-items:center; gap:12px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.access-brand .brand-name { color:var(--ink); font-size:18px; }
.access-brand .brand-sub { color:#708078; }
.access-copy { padding:25px 0 16px; }
.access-copy h1 { margin:6px 0 8px; font-size:30px; letter-spacing:-.04em; line-height:1.08; }
.access-copy p { margin:0; color:var(--muted); font-size:13px; line-height:1.55; }
.access-loading { display:flex; align-items:center; gap:10px; min-height:74px; padding:18px 0; color:#5f7068; font-size:13px; font-weight:700; }
.access-spinner { width:18px; height:18px; border-radius:50%; border:2px solid #dce5e1; border-top-color:var(--accent-2); animation:accessSpin .8s linear infinite; }
@keyframes accessSpin { to { transform:rotate(360deg); } }
.access-form { display:grid; gap:13px; }
.access-field { display:grid; gap:6px; }
.access-field > span { font-size:11px; font-weight:850; color:#465b52; }
.access-field input { width:100%; border:1px solid #ccd8d3; border-radius:10px; background:#fff; padding:12px 13px; color:var(--ink); outline:none; }
.access-field input:focus { border-color:#6c9a8a; box-shadow:0 0 0 3px rgba(42,101,86,.09); }
.access-primary { width:100%; border:1px solid var(--accent); border-radius:10px; background:var(--accent); color:#fff; padding:12px 15px; font-weight:850; box-shadow:0 5px 14px rgba(23,63,53,.18); }
.access-primary:hover { background:#0f332b; }
.access-primary:disabled, .access-text-btn:disabled { cursor:wait; opacity:.62; }
.access-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.access-text-btn { border:0; background:transparent; color:var(--accent-2); padding:4px 0; font-size:12px; font-weight:800; }
.access-message { border-radius:10px; padding:11px 12px; background:#eef7f3; color:#38564a; border:1px solid #cfe4da; font-size:12px; line-height:1.45; }
.access-message.error { background:#fff1f1; color:#8a3838; border-color:#efd0d0; }
.access-security { margin-top:20px; border-left:4px solid #2f7a5f; background:#f1f7f4; border-radius:9px; padding:11px 12px; color:#53665d; font-size:11px; line-height:1.5; }
.access-security strong { color:#29473b; }
.access-legal { margin-top:14px; color:#88948f; font-size:10px; line-height:1.5; text-align:center; }
.access-legal a { color:#607d72; }
@media (max-width:560px) {
  .access-gate { place-items:start center; padding:20px 12px 28px; }
  .access-card { padding:23px 19px; border-radius:18px; }
  .access-copy h1 { font-size:26px; }
  .access-actions { align-items:flex-start; flex-direction:column; }
}

/* Build 17.3 — account security */
.account-status-line { margin-top:4px; }
.account-status-badge { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:5px 8px; font-size:10px!important; font-weight:850; letter-spacing:.02em; border:1px solid #cfe4da; background:#eef7f3; color:#2f6b53!important; }
.account-status-badge.pending { border-color:#e5d8ae; background:#fff8e8; color:#80651d!important; }
.account-security-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.account-security-card { border:1px solid #dce4e0; background:#fff; border-radius:14px; padding:15px; min-width:0; }
.account-security-copy { display:grid; gap:5px; }
.account-security-label { color:#718079; font-size:9px!important; font-weight:900; letter-spacing:.08em; }
.account-security-copy strong { color:#203a30; font-size:14px; }
.account-security-copy p { margin:0; color:#65766e; font-size:12px; line-height:1.5; }
.account-security-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:13px; }
.account-security-actions button { flex:0 0 auto; }
.cloud-password-change { display:grid; gap:10px; margin-top:14px; padding-top:14px; border-top:1px solid #e2e8e5; }
.cloud-password-change[hidden] { display:none!important; }
.account-password-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:2px; }
.account-isolation-note { display:flex; gap:7px; align-items:flex-start; margin-top:14px; border-left:4px solid #2f7a5f; background:#eef7f3; border-radius:9px; padding:11px 12px; color:#53665d; font-size:11px; line-height:1.45; }
.account-isolation-note strong { white-space:nowrap; color:#29473b; }
@media (max-width:760px) {
  .account-security-grid { grid-template-columns:1fr; }
  .account-security-actions, .account-password-actions { flex-direction:column; }
  .account-security-actions button, .account-password-actions button { width:100%; }
  .account-isolation-note { display:block; }
  .account-isolation-note strong { display:block; margin-bottom:4px; }
}
#cloudSignedOut[hidden],
#cloudSignedIn[hidden],
#cloudVerifyEmail[hidden] { display:none!important; }

/* Build 17.5 — server-controlled account entitlement foundation */
.account-entitlement-card { grid-column:1 / -1; background:linear-gradient(180deg,#fbfdfc 0%,#f5f9f7 100%); }
.account-entitlement-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.account-entitlement-text { margin:10px 0 0; color:#65766e; font-size:12px; line-height:1.55; }
.account-entitlement-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.account-entitlement-facts > div { display:grid; gap:3px; border:1px solid #dce4e0; background:#fff; border-radius:10px; padding:10px 11px; }
.account-entitlement-facts span { color:#718079; font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
.account-entitlement-facts strong { color:#203a30; font-size:12px; }
.account-server-note { margin-top:12px; border-left:3px solid #2f7a5f; background:#eef7f3; color:#53665d; padding:10px 12px; border-radius:8px; font-size:11px; line-height:1.5; }
.account-status-badge.entitlement-free { border-color:#cfe4da; background:#eef7f3; color:#2f6b53!important; }
.account-status-badge.entitlement-trial { border-color:#cadbef; background:#eef5ff; color:#3b638d!important; }
.account-status-badge.entitlement-active,
.account-status-badge.entitlement-admin { border-color:#c9e3d4; background:#eaf8f0; color:#236446!important; }
.account-status-badge.entitlement-past_due { border-color:#ecd7a3; background:#fff8e8; color:#80651d!important; }
.account-status-badge.entitlement-canceled,
.account-status-badge.entitlement-blocked,
.account-status-badge.entitlement-error { border-color:#e8c7c3; background:#fff1ef; color:#8a463f!important; }
@media (max-width:680px) {
  .account-entitlement-head { flex-direction:column; }
  .account-entitlement-facts { grid-template-columns:1fr; }
}



/* Build 19 — Deep Contract Extraction */
.ai-deep-terms{margin:10px 0 12px;padding:10px 12px;border:1px solid var(--line,#d9e1ea);border-radius:12px;background:rgba(15,55,82,.035);display:grid;gap:8px}
.ai-deep-terms-title{font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;opacity:.68}
.ai-deep-term{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr);gap:4px 12px;padding-top:8px;border-top:1px solid rgba(15,55,82,.09)}
.ai-deep-term:first-of-type{border-top:0;padding-top:0}
.ai-deep-term strong{font-size:13px}.ai-deep-term span{font-size:13px}.ai-deep-term small{grid-column:1/-1;font-size:11px;line-height:1.45;opacity:.72}
@media(max-width:760px){.ai-deep-term{grid-template-columns:1fr}.ai-deep-term small{grid-column:auto}}


/* Build 20 — Contract Fingerprint */
.fingerprint-overview{border-left:4px solid var(--accent)}
.fingerprint-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.fingerprint-map-card{appearance:none;text-align:left;border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:13px 14px;display:grid;gap:4px;cursor:pointer;color:var(--ink);font:inherit;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}
.fingerprint-map-card:hover{transform:translateY(-1px);border-color:rgba(42,101,86,.38);box-shadow:0 7px 18px rgba(19,48,39,.06)}
.fingerprint-map-card span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-weight:850}
.fingerprint-map-card strong{font-size:15px;color:var(--accent)}
.fingerprint-map-card small{font-size:10px;line-height:1.35;color:var(--muted)}
.fingerprint-filterbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 10px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fafbfb}
.fingerprint-filterbar>div:first-child{display:grid;gap:3px}.fingerprint-filterbar>div:first-child strong{font-size:13px}.fingerprint-filterbar>div:first-child span{font-size:11px;color:var(--muted)}
.fingerprint-filter-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.fingerprint-filter-actions button{border:1px solid var(--border);background:white;border-radius:999px;padding:7px 10px;font:inherit;font-size:10px;font-weight:850;color:var(--muted);cursor:pointer}
.fingerprint-filter-actions button.active{background:var(--accent);border-color:var(--accent);color:white}
.fingerprint-group{border:1px solid var(--border);border-radius:14px;background:var(--panel);margin:12px 0;overflow:hidden;scroll-margin-top:18px}
.fingerprint-group>summary{list-style:none;cursor:pointer;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fbfcfc}
.fingerprint-group>summary::-webkit-details-marker{display:none}.fingerprint-group>summary:before{content:'+';width:24px;height:24px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-weight:900;color:var(--accent);flex:0 0 auto}.fingerprint-group[open]>summary:before{content:'−'}
.fingerprint-group>summary>div:first-of-type{display:grid;gap:4px;flex:1}.fingerprint-group>summary strong{font-size:14px}.fingerprint-group>summary span{font-size:11px;line-height:1.4;color:var(--muted)}
.fingerprint-group-stats{display:flex!important;gap:6px!important;flex:0 0 auto!important;align-items:center!important}.fingerprint-group-stats b{font-size:9px;padding:5px 7px;border-radius:999px;background:var(--surface);color:var(--muted);white-space:nowrap}.fingerprint-group-stats b.attention{background:#fff5df;color:#8a6421}
.fingerprint-group-body{padding:14px;border-top:1px solid var(--border)}
.fingerprint-empty{display:grid;gap:5px;padding:22px;border:1px dashed var(--border);border-radius:12px;text-align:center;color:var(--muted)}.fingerprint-empty strong{color:var(--ink)}
@media(max-width:1050px){.fingerprint-map{grid-template-columns:repeat(2,minmax(0,1fr))}.fingerprint-filterbar{align-items:flex-start;flex-direction:column}.fingerprint-filter-actions{justify-content:flex-start}}
@media(max-width:650px){.fingerprint-map{grid-template-columns:1fr}.fingerprint-group>summary{align-items:flex-start;flex-wrap:wrap}.fingerprint-group-stats{width:100%;padding-left:42px;flex-wrap:wrap}.fingerprint-filter-actions button{flex:1 1 auto}.fingerprint-group-body{padding:10px}}

/* Build 20.1 — Readable Contract Fingerprint + verification notice */
.ai-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}
.fingerprint-verification-notice{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px;padding:14px 16px;border:1px solid #ead4a6;border-left:4px solid #d99b28;border-radius:12px;background:#fffaf0}
.fingerprint-verification-notice>div{display:grid;gap:4px}.fingerprint-verification-notice strong{font-size:12.5px;color:var(--ink)}.fingerprint-verification-notice span{font-size:11.5px;line-height:1.5;color:var(--muted)}
.fingerprint-context-line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 13px;margin-bottom:12px;border:1px solid var(--border);border-radius:10px;background:#fbfcfc;font-size:11.5px;color:var(--muted)}.fingerprint-context-line strong{color:var(--ink)}
.fingerprint-plain-summary{display:grid;gap:5px;padding:13px 15px;margin-bottom:14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.fingerprint-plain-summary strong{font-size:12.5px}.fingerprint-plain-summary span{font-size:12px;line-height:1.5;color:var(--muted)}
.fingerprint-notes{margin-bottom:12px;border:1px solid var(--border);border-radius:10px;background:#fbfcfc}.fingerprint-notes>summary{cursor:pointer;padding:10px 13px;font-size:11px;font-weight:800;color:var(--muted)}.fingerprint-notes>div{display:grid;gap:6px;padding:0 13px 12px}.fingerprint-notes span{font-size:11px;line-height:1.45;color:var(--muted)}
.fingerprint-map{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.fingerprint-map-card{padding:11px 12px}.fingerprint-map-card strong{font-size:14px}.fingerprint-map-card small{font-size:9.5px}
.fingerprint-filterbar{padding:9px 11px;margin:13px 0 9px}.fingerprint-filterbar>div:first-child strong{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fingerprint-group>summary{padding:13px 14px}.fingerprint-group>summary>div:first-of-type{gap:0}.fingerprint-group>summary strong{font-size:13.5px}.fingerprint-group .ai-provision-list{grid-template-columns:1fr;gap:8px}
.fingerprint-term-card{border:1px solid var(--border);border-radius:11px;background:var(--panel);overflow:hidden}.fingerprint-term-card>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:12px 13px}.fingerprint-term-card>summary::-webkit-details-marker{display:none}.fingerprint-term-card>summary:after{content:'›';font-size:18px;color:var(--muted);transition:transform .14s ease}.fingerprint-term-card[open]>summary:after{transform:rotate(90deg)}
.fingerprint-term-summary-main{display:grid;gap:2px;min-width:0}.fingerprint-term-summary-main>span{font-size:9.5px;font-weight:900;letter-spacing:.065em;text-transform:uppercase;color:#7254e8}.fingerprint-term-summary-main>strong{font-size:14px;line-height:1.35;color:var(--ink)}.fingerprint-term-summary-main>small{font-size:10.5px;line-height:1.35;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fingerprint-simple-status{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:900;letter-spacing:.025em;background:#f1f1f2;color:#666}.fingerprint-simple-status.verified{background:#e6f5ec;color:#1f6f47}.fingerprint-simple-status.attention{background:#fff5d9;color:#8a6418}.fingerprint-simple-status.unverified{background:#eef0ff;color:#5b4aae}.fingerprint-simple-status.excluded{background:#f1f1f2;color:#666}
.fingerprint-term-expanded{display:grid;gap:12px;padding:12px 13px 13px;border-top:1px solid var(--border);background:#fcfdfd}.fingerprint-term-details{display:grid;gap:6px}.fingerprint-term-details>strong,.fingerprint-source-block>strong,.fingerprint-explanation>strong{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.fingerprint-subterm{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(180px,1.3fr) auto;gap:8px 12px;align-items:baseline;padding:7px 0;border-top:1px solid rgba(0,0,0,.055)}.fingerprint-subterm:first-of-type{border-top:0}.fingerprint-subterm span{font-size:11.5px;color:var(--muted)}.fingerprint-subterm b{font-size:12px;color:var(--ink)}.fingerprint-subterm small{font-size:9.5px;color:var(--muted)}
.fingerprint-source-block{display:grid;gap:6px}.fingerprint-source-block>span{font-size:11px;color:var(--muted)}.fingerprint-source-block blockquote{margin:0;padding:10px 12px;border-left:3px solid var(--border);background:var(--surface);font-size:11.5px;line-height:1.5}
.fingerprint-explanation{display:grid;gap:5px}.fingerprint-explanation span{font-size:11.5px;line-height:1.45;color:var(--muted)}
.fingerprint-term-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--border);font-size:10px;color:var(--muted)}
@media(max-width:800px){.ai-summary{grid-template-columns:repeat(3,1fr)}.fingerprint-verification-notice{grid-template-columns:1fr}.fingerprint-verification-notice button{justify-self:start}}
@media(max-width:650px){.fingerprint-term-card>summary{grid-template-columns:minmax(0,1fr) auto}.fingerprint-term-card>summary:after{display:none}.fingerprint-simple-status{align-self:start}.fingerprint-subterm{grid-template-columns:1fr}.fingerprint-term-footer{align-items:flex-start;flex-direction:column}}


/* Build 21 — Regional Contract Discovery */
.regional-discovery-panel{margin-bottom:18px}.regional-controls-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.regional-controls-grid .full{grid-column:1/-1}.regional-primary-actions,.regional-result-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.regional-source-note,.regional-import-note{margin-top:14px;padding:13px 15px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025);font-size:13px;line-height:1.55;color:var(--muted)}.regional-source-note strong,.regional-import-note strong{color:var(--text)}.regional-stats{margin:0 0 18px}.regional-progress{margin:0 0 18px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.regional-results-panel{min-height:320px}.regional-results-head{align-items:flex-start}.regional-discovery-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}.regional-empty{padding:30px;border:1px dashed var(--border);border-radius:14px;text-align:center;color:var(--muted);display:flex;flex-direction:column;gap:6px}.regional-empty strong{color:var(--text)}.regional-agency{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.02);overflow:hidden}.regional-agency-head{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:center;padding:14px 16px}.regional-agency-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.regional-agency-copy strong{font-size:15px;color:var(--text)}.regional-agency-copy span,.regional-agency-copy small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.regional-status{font-size:12px;font-weight:700;padding:6px 9px;border-radius:999px;border:1px solid var(--border);color:var(--muted);background:rgba(255,255,255,.03)}.regional-status.found{color:#a8efc5;border-color:rgba(68,191,117,.35);background:rgba(68,191,117,.09)}.regional-status.searching{color:#d7c4ff;border-color:rgba(149,105,255,.35);background:rgba(149,105,255,.09)}.regional-status.unresolved{color:#ffd59a;border-color:rgba(230,170,77,.35);background:rgba(230,170,77,.08)}.regional-status.error{color:#ffb2b2;border-color:rgba(235,93,93,.35);background:rgba(235,93,93,.08)}.regional-candidates{border-top:1px solid var(--border);padding:4px 12px 12px}.regional-candidate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:11px 4px;border-bottom:1px solid rgba(255,255,255,.055)}.regional-candidate:last-child{border-bottom:0}.regional-candidate input{margin-top:4px}.regional-candidate-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.regional-candidate-copy strong{font-size:13px}.regional-candidate-copy span,.regional-candidate-copy small{font-size:12px;color:var(--muted);overflow-wrap:anywhere}.regional-candidate-badge{font-size:11px;padding:5px 7px;border-radius:8px;background:rgba(255,255,255,.04);color:var(--muted);white-space:nowrap}.regional-candidate.imported{opacity:.7}.regional-candidate.imported .regional-candidate-badge{color:#a8efc5}.regional-agency-detail{padding:0 16px 12px;color:var(--muted);font-size:12px}.regional-url-field input{width:100%}@media(max-width:900px){.regional-controls-grid{grid-template-columns:1fr}.regional-controls-grid .full{grid-column:auto}.regional-agency-head{grid-template-columns:1fr}.regional-candidate{grid-template-columns:auto minmax(0,1fr)}.regional-candidate-badge{grid-column:2}}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1050px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.grid-4{grid-template-columns:1fr}}

.status-badge.status-unknown{color:#ffd59a;border-color:rgba(230,170,77,.35);background:rgba(230,170,77,.08)}

/* Build 21.1 — discovery quality + review flow */
.regional-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:10px;align-items:center;margin:0 0 18px}.regional-flow-step{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.025);min-width:0}.regional-flow-step>b{display:grid;place-items:center;width:26px;height:26px;flex:0 0 26px;border-radius:999px;background:rgba(149,105,255,.13);color:#d9c9ff;font-size:12px}.regional-flow-step>span{display:flex;flex-direction:column;gap:2px;min-width:0}.regional-flow-step strong{font-size:12px;color:var(--text)}.regional-flow-step small{font-size:11px;color:var(--muted);line-height:1.35}.regional-flow-arrow{color:var(--muted);font-size:14px;text-align:center}.regional-status.review{color:#d7c4ff;border-color:rgba(149,105,255,.35);background:rgba(149,105,255,.09)}.regional-candidate.strong{background:rgba(68,191,117,.025)}.regional-candidate.review{background:rgba(149,105,255,.025)}.regional-candidate.filtered{opacity:.72;background:rgba(255,255,255,.012)}.regional-candidate-badge.strong{color:#a8efc5;background:rgba(68,191,117,.09);border:1px solid rgba(68,191,117,.18)}.regional-candidate-badge.review{color:#d7c4ff;background:rgba(149,105,255,.09);border:1px solid rgba(149,105,255,.18)}.regional-candidate-badge.filtered{color:var(--muted);background:rgba(255,255,255,.03);border:1px solid var(--border)}.regional-source-url{opacity:.72}.regional-filtered-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 4px 2px;color:var(--muted);font-size:11px;line-height:1.4}.regional-filtered-toggle{appearance:none;border:1px solid var(--border);background:rgba(255,255,255,.035);color:var(--muted);border-radius:9px;padding:6px 9px;font:inherit;font-size:11px;cursor:pointer}.regional-filtered-toggle:hover{color:var(--text);border-color:rgba(149,105,255,.35)}
@media(max-width:980px){.regional-flow{grid-template-columns:1fr 1fr}.regional-flow-arrow{display:none}}@media(max-width:620px){.regional-flow{grid-template-columns:1fr}}
