:root {
  color-scheme: dark;
  --bg: #0b0c0d;
  --surface: rgba(15, 16, 18, 0.92);
  --surface-2: rgba(28, 30, 34, 0.84);
  --border: #24272c;
  --border-strong: #383d45;
  --text: #fafafa;
  --muted: #898989;
  --muted-2: #b4b4b4;
  --green: #3ecf8e;
  --green-link: #00c573;
  --green-border: rgba(62, 207, 142, 0.3);
  --danger: #ff6b5f;
  --warning: #ffd166;
  --radius: 16px;
  font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(113, 112, 255, 0.16), transparent 34rem),
    radial-gradient(circle at 82% 18%, rgba(62, 207, 142, 0.08), transparent 30rem),
    linear-gradient(180deg, rgba(255,255,255,0.018), transparent 42rem),
    var(--bg);
  color: var(--text);
}

button, input, select { font: inherit; }

button { cursor: pointer; }

a { color: inherit; }

.marketing-home {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 24px 0 86px;
}

.marketing-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 62px;
  margin-bottom: 38px;
}

.brand-mark,
.marketing-nav-links,
.hero-actions,
.proof-chips {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.brand-mark,
.marketing-nav-links a,
.primary-cta,
.ghost-cta {
  text-decoration: none;
}

.brand-mark {
  color: var(--text);
  font-weight: 600;
  letter-spacing: -0.03em;
}

.brand-glyph {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 10px;
  background: rgba(255,255,255,0.04);
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 12px;
  text-transform: uppercase;
}

.marketing-nav-links a {
  color: var(--muted-2);
  font-size: 13px;
  font-weight: 500;
}

.marketing-nav-links a:hover { color: var(--text); }

.marketing-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: clamp(18px, 2.4vw, 30px);
  align-items: stretch;
  min-height: 570px;
}

.hero-copy,
.radar-preview,
.login-card,
.marketing-feature-grid article,
.problem-section,
.reasoning-section,
.audience-grid article,
.org-note,
.access-section {
  border: 1px solid rgba(255,255,255,0.08);
  background: linear-gradient(180deg, rgba(255,255,255,0.052), rgba(255,255,255,0.018));
  box-shadow: 0 24px 90px rgba(0,0,0,0.22), 0 0 0 1px rgba(0,0,0,0.22);
}

.hero-copy {
  display: grid;
  align-content: center;
  padding: clamp(38px, 6.8vw, 88px);
  border-radius: 28px;
  position: relative;
  overflow: hidden;
}

.hero-copy::after {
  content: '';
  position: absolute;
  inset: auto -20% -35% 20%;
  height: 280px;
  background: radial-gradient(circle, rgba(113,112,255,0.2), transparent 70%);
  pointer-events: none;
}

.hero-orbit {
  position: absolute;
  inset: 28px 28px auto auto;
  width: min(42vw, 360px);
  aspect-ratio: 1;
  opacity: 0.42;
  pointer-events: none;
  z-index: 0;
}
.hero-orbit::before,
.hero-orbit::after,
.hero-orbit span {
  content: '';
  position: absolute;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 9999px;
}
.hero-orbit::before { inset: 0; border-color: rgba(62,207,142,0.13); }
.hero-orbit::after { inset: 18%; border-style: dashed; }
.hero-orbit span:nth-child(1) { inset: 38%; background: rgba(62,207,142,0.08); border-color: rgba(62,207,142,0.18); }
.hero-orbit span:nth-child(2) { width: 9px; height: 9px; right: 13%; top: 28%; background: var(--green); border: 0; box-shadow: 0 0 28px rgba(62,207,142,0.7); }
.hero-orbit span:nth-child(3) { width: 6px; height: 6px; left: 21%; bottom: 22%; background: #7170ff; border: 0; box-shadow: 0 0 22px rgba(113,112,255,0.7); }

.hero-copy > * { position: relative; z-index: 1; }

.hero-copy h1 {
  max-width: 780px;
  margin: 0;
  font-size: clamp(48px, 7.2vw, 88px);
  line-height: 0.94;
  font-weight: 500;
  letter-spacing: -0.068em;
  text-wrap: balance;
}

.hero-copy .lede {
  max-width: 690px;
  font-size: clamp(16px, 1.45vw, 18px);
  line-height: 1.68;
}

.hero-actions {
  flex-wrap: wrap;
  margin-top: 34px;
}

.primary-cta,
.ghost-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 17px;
  border-radius: 9999px;
  border: 1px solid rgba(255,255,255,0.1);
  font-size: 14px;
  font-weight: 600;
}

.primary-cta {
  color: #fff;
  background: #5e6ad2;
  border-color: rgba(130,143,255,0.48);
}

.primary-cta:hover { background: #7170ff; }

.ghost-cta {
  color: #dddddd;
  background: rgba(255,255,255,0.045);
  border-color: rgba(255,255,255,0.16);
}

.ghost-cta:hover { color: var(--text); border-color: rgba(255,255,255,0.3); background: rgba(255,255,255,0.07); }

.proof-chips {
  flex-wrap: wrap;
  margin-top: 24px;
}

.proof-chips span,
.pain-list li {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 9999px;
  background: rgba(0,0,0,0.18);
  color: var(--muted-2);
  font-size: 12px;
  line-height: 1.25;
}

.hero-note {
  max-width: 520px;
  margin: 22px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

.radar-preview {
  display: grid;
  align-content: center;
  gap: 14px;
  padding: clamp(22px, 3vw, 30px);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(62,207,142,0.16), transparent 18rem),
    radial-gradient(circle at 12% 88%, rgba(113,112,255,0.10), transparent 16rem),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
}

.radar-header,
.radar-card,
.radar-next-action,
.reason-card div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.radar-header .eyebrow { margin: 0; }

.radar-card {
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 19px;
  background: rgba(8,9,10,0.76);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.035);
}

.radar-card.recommended { border-color: rgba(62,207,142,0.42); background: linear-gradient(135deg, rgba(62,207,142,0.12), rgba(8,9,10,0.78)); box-shadow: 0 20px 54px rgba(62,207,142,0.08); }
.radar-card.check { border-color: rgba(255, 209, 102, 0.38); background: linear-gradient(135deg, rgba(255,209,102,0.075), rgba(8,9,10,0.78)); }
.radar-card.blocked { border-color: rgba(255, 107, 95, 0.28); background: linear-gradient(135deg, rgba(255,107,95,0.045), rgba(8,9,10,0.7)); opacity: 0.78; }

.radar-state,
.radar-next-action span,
.reason-card span {
  display: block;
  color: var(--muted);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}

.radar-header h2 {
  margin: 0;
  font-size: 24px;
  line-height: 1;
  letter-spacing: -0.045em;
  font-weight: 500;
}
.radar-card h3 {
  margin: 8px 0 5px;
  font-size: 20px;
  line-height: 1.1;
  letter-spacing: -0.04em;
  font-weight: 500;
}

.radar-card p {
  margin: 0;
  color: var(--muted-2);
  font-size: 13px;
  line-height: 1.45;
}
.radar-card small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 10.5px;
  letter-spacing: 0.25px;
  text-transform: uppercase;
}

.radar-card strong {
  flex: 0 0 auto;
  display: grid;
  justify-items: center;
  min-width: 58px;
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 27px;
  font-weight: 500;
  line-height: 1;
}
.radar-card strong span {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.radar-card.check strong { color: var(--warning); }
.radar-card.blocked strong { color: var(--danger); }

.radar-next-action {
  padding: 14px 16px;
  border: 1px dashed var(--border-strong);
  border-radius: 16px;
  background: rgba(0,0,0,0.18);
}

.radar-next-action strong,
.reason-card strong {
  color: var(--text);
  font-weight: 500;
  letter-spacing: -0.02em;
}

.marketing-section { margin-top: clamp(28px, 4vw, 54px); }
.workflow-section,
.audience-section { padding-top: clamp(8px, 2vw, 18px); }
.section-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin: 0 0 12px;
  padding: 5px 9px;
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 9999px;
  background: rgba(255,255,255,0.035);
  color: var(--muted-2);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.35px;
  text-transform: uppercase;
}

.section-heading {
  max-width: 760px;
  margin-bottom: 18px;
}

.section-heading h2,
.problem-section h2,
.reasoning-section h2,
.access-copy h2 {
  margin: 0;
  font-size: clamp(32px, 4.4vw, 54px);
  line-height: 1;
  letter-spacing: -0.055em;
  font-weight: 500;
  text-wrap: balance;
}

.problem-section,
.reasoning-section,
.access-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(24px, 5vw, 60px);
  align-items: center;
  padding: clamp(24px, 5vw, 54px);
  border-radius: 26px;
}

.problem-section p,
.reasoning-section p,
.access-copy p {
  margin: 0;
  color: var(--muted-2);
  font-size: 17px;
  line-height: 1.6;
}

.reasoning-section p,
.access-copy p { margin-top: 18px; }

.pain-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.marketing-feature-grid,
.audience-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 18px 0 0;
}

.marketing-feature-grid article,
.audience-grid article {
  padding: 22px;
  border-radius: 19px;
}
.marketing-feature-grid article {
  min-height: 168px;
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.012));
}
.audience-grid article {
  background: rgba(255,255,255,0.026);
}

.marketing-feature-grid span {
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 12px;
}

.marketing-feature-grid h3,
.audience-grid h3 {
  margin: 18px 0 8px;
  font-size: 20px;
  letter-spacing: -0.03em;
}

.audience-grid h3 { margin-top: 0; }

.marketing-feature-grid p,
.audience-grid p {
  margin: 0;
  color: var(--muted-2);
  line-height: 1.45;
}

.reason-card {
  display: grid;
  gap: 12px;
  padding: 22px;
  border: 1px solid var(--green-border);
  border-radius: 20px;
  background: rgba(62,207,142,0.055);
}

.reason-card div {
  min-height: 52px;
  padding: 14px 16px;
  border: 1px solid rgba(255,255,255,0.07);
  border-radius: 14px;
  background: rgba(0,0,0,0.22);
}

.org-note {
  padding: 18px 20px;
  border-radius: 18px;
}

.org-note p {
  margin: 0;
  color: var(--muted-2);
  line-height: 1.55;
}

.org-note strong { color: var(--text); font-weight: 500; }

.access-copy .primary-cta { margin-top: 24px; }

.login-card {
  display: grid;
  align-content: start;
  padding: 28px;
  border-radius: 24px;
}

.login-card h2 {
  margin: 0;
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1;
  letter-spacing: -0.05em;
  font-weight: 500;
}

.login-card p {
  color: var(--muted-2);
  line-height: 1.5;
}

.login-form {
  display: grid;
  gap: 14px;
  margin-top: 20px;
}

.login-submit {
  width: 100%;
  border-radius: 12px;
}

.login-error {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 102, 102, 0.35);
  border-radius: 12px;
  background: rgba(255, 102, 102, 0.08);
  color: #ffb3b3;
  font-size: 13px;
  line-height: 1.4;
}
.login-error[hidden] { display: none; }

.login-form small {
  color: var(--muted);
  line-height: 1.4;
}

.dashboard-app.hidden { display: none; }

.page-shell {
  width: min(1180px, calc(100vw - 32px));
  margin: 0 auto;
  padding: 40px 0 56px;
}

.topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(41, 41, 41, 0.84), rgba(15, 15, 15, 0.78));
}

.eyebrow {
  margin: 0 0 10px;
  font-family: 'Source Code Pro', ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--green);
}

h1, h2 { margin: 0; font-weight: 400; letter-spacing: -0.04em; }

h1 { font-size: clamp(42px, 8vw, 76px); line-height: 1; }

h2 { font-size: 28px; line-height: 1.1; }

.lede { max-width: 640px; margin: 16px 0 0; color: var(--muted-2); line-height: 1.55; }
.hero-line {
  max-width: 660px;
  margin: 18px 0 0;
  color: #e8e8e8;
  font-size: clamp(17px, 2.1vw, 22px);
  line-height: 1.35;
  letter-spacing: -0.025em;
}
.radar-meta-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.radar-meta-row span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 9999px;
  background: rgba(0,0,0,0.18);
  color: var(--muted-2);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 10px;
  letter-spacing: 0.22px;
  text-transform: uppercase;
  text-align: center;
}


.topbar-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }

.status-pill, .pill-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 18px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  background: #0f0f0f;
  color: var(--text);
  font-size: 14px;
  font-weight: 500;
}

.status-pill.ok { border-color: var(--green-border); color: var(--green); }
.status-pill.error { border-color: rgba(255, 107, 95, 0.45); color: var(--danger); }
.status-pill.pending { color: var(--muted-2); }

.pill-button:hover { border-color: var(--green-border); color: var(--green); }

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

.metric-card, .panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}

.metric-card {
  padding: 20px;
  min-height: 138px;
}

.metric-card.accent { border-color: var(--green-border); background: linear-gradient(180deg, rgba(62, 207, 142, 0.09), rgba(23, 23, 23, 0.9)); }
.metric-label { display: block; color: var(--muted); font-size: 13px; margin-bottom: 18px; }
.metric-card strong { display: block; font-size: 42px; font-weight: 400; letter-spacing: -0.05em; line-height: 1; }
.metric-card small { color: var(--muted-2); }

.screen-switcher {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  margin: 18px 0;
}
.screen-tab {
  width: 100%;
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  background: #0f0f0f;
  color: var(--muted-2);
}
.screen-tab:hover,
.screen-tab.active {
  border-color: var(--green-border);
  color: var(--green);
  background: rgba(62, 207, 142, 0.08);
}
.hidden { display: none !important; }

.priority-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px;
  margin: 0 0 18px;
}

.priority-tab {
  min-height: 36px;
  padding: 8px 13px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  background: #0f0f0f;
  color: var(--muted-2);
  font-size: 13px;
}
.priority-tab:hover,
.priority-tab.active {
  border-color: var(--green-border);
  color: var(--green);
  background: rgba(62, 207, 142, 0.08);
}

.filters-panel {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) minmax(120px, 1fr) minmax(120px, 1fr) minmax(120px, 0.8fr) auto;
  gap: 12px;
  padding: 16px;
  margin-bottom: 18px;
  align-items: end;
}

label span { display: block; color: var(--muted); font-size: 12px; margin-bottom: 7px; }
input, select {
  width: 100%;
  min-height: 42px;
  padding: 9px 12px;
  border-radius: 10px;
  border: 1px solid var(--border-strong);
  background: #0f0f0f;
  color: var(--text);
  outline: none;
}
input:focus, select:focus { border-color: var(--green-border); box-shadow: 0 0 0 3px rgba(62, 207, 142, 0.08); }
.checkbox-filter {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid var(--border-strong);
  border-radius: 10px;
  background: #0f0f0f;
  white-space: nowrap;
}
.checkbox-filter input { width: auto; min-height: 0; accent-color: var(--green); }
.checkbox-filter span { margin: 0; color: var(--muted-2); font-size: 13px; }
.checkbox-filter:focus-within { border-color: var(--green-border); box-shadow: 0 0 0 3px rgba(62, 207, 142, 0.08); }

.content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
}

.panel { padding: 18px; }
.panel-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.panel-header.compact { margin-bottom: 8px; }
.muted { color: var(--muted); font-size: 14px; }
.side-stack { display: grid; gap: 18px; align-content: start; }

.opportunities-list { display: grid; gap: 10px; }

.opp-card {
  display: block;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(15, 15, 15, 0.62);
  overflow: hidden;
}
.opp-card:hover,
.opp-card[open] { border-color: var(--border-strong); }
.opp-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: 16px;
  list-style: none;
  cursor: pointer;
}
.opp-summary::-webkit-details-marker { display: none; }
.opp-title-text { color: var(--text); font-size: 17px; line-height: 1.25; }
.opp-card[open] .opp-title-text,
.opp-summary:hover .opp-title-text { color: var(--green); }
.card-right { display: grid; gap: 8px; justify-items: end; align-content: start; }
.expand-cue {
  color: var(--muted);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-transform: uppercase;
}
.opp-card[open] .expand-cue { color: var(--green); }
.semantic-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.semantic-badge {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 9999px;
  padding: 4px 8px;
  color: var(--text);
  background: rgba(255,255,255,0.04);
  font-size: 11px;
}
.opp-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 9999px;
  padding: 5px 9px;
  color: var(--muted-2);
  font-size: 12px;
}
.chip.green { color: var(--green); border-color: var(--green-border); }
.chip.analyzed { color: var(--green); border-color: var(--green-border); background: rgba(62, 207, 142, 0.08); }
.chip.urgent { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); }
.chip.soon { color: var(--warning); border-color: rgba(255, 209, 102, 0.35); }
.chip.expired { color: var(--muted); text-decoration: line-through; }
.opp-source { color: var(--muted); font-size: 13px; margin-top: 10px; }
.opp-description {
  max-width: 70ch;
  margin: 10px 0 0;
  color: var(--muted-2);
  font-size: 14px;
  line-height: 1.45;
}
.eligibility-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px 10px;
  max-width: 76ch;
  margin: 12px 0 0;
}
.eligibility-list div {
  padding: 8px 9px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.025);
}
.eligibility-list dt {
  margin: 0 0 3px;
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.eligibility-list dd {
  margin: 0;
  color: var(--muted-2);
  font-size: 12px;
  line-height: 1.35;
}
.score-badge {
  display: grid;
  justify-items: center;
  min-width: 58px;
  padding: 8px 9px;
  border: 1px solid var(--green-border);
  border-radius: 12px;
  color: var(--green);
  background: rgba(62, 207, 142, 0.08);
  font-family: 'Source Code Pro', monospace;
  line-height: 1;
}
.score-badge span,
.score-badge small { color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: 0.4px; }
.score-badge strong { margin-top: 3px; font-size: 19px; font-weight: 700; }
.score-badge small { margin-top: 5px; font-size: 9px; }
.score-badge.unreviewed {
  color: var(--muted);
  border-color: var(--border);
  background: rgba(255,255,255,0.025);
}
.score-badge.analyzed-score { border-color: var(--green-border); }
.score-badge.deadline-badge {
  color: var(--muted-2);
  border-color: var(--border-strong);
  background: rgba(255,255,255,0.035);
}
.score-badge.deadline-badge strong { color: var(--text); }
.score-badge.deadline-badge.urgent { border-color: rgba(255, 107, 95, 0.45); background: rgba(255, 107, 95, 0.08); }
.score-badge.deadline-badge.urgent strong { color: var(--danger); }
.score-badge.deadline-badge.soon { border-color: rgba(255, 209, 102, 0.35); background: rgba(255, 209, 102, 0.07); }
.score-badge.deadline-badge.soon strong { color: var(--warning); }
.score-badge.deadline-badge.expired { border-color: rgba(255,255,255,0.08); opacity: 0.68; }
.score-badge.deadline-badge.unknown strong { color: var(--muted); }
.opp-expanded {
  display: grid;
  gap: 16px;
  padding: 0 16px 16px;
  border-top: 1px solid var(--border);
}
.opp-expanded section { padding-top: 14px; }
.opp-expanded h3 {
  margin: 0 0 7px;
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.decision-panel {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
}
.fit-score {
  display: grid;
  place-items: center;
  min-height: 92px;
  border: 1px solid var(--green-border);
  border-radius: 14px;
  background: rgba(62, 207, 142, 0.08);
}
.fit-score span { color: var(--muted); font-size: 12px; }
.fit-score strong { color: var(--green); font-size: 34px; font-weight: 400; letter-spacing: -0.05em; }
.opp-description.full { max-width: 86ch; }
.card-notes { margin: 0; padding-left: 18px; color: var(--muted-2); font-size: 13px; line-height: 1.5; }
.raw-source-block p { color: var(--muted-2); font-size: 13px; }
.open-source-button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid var(--green-border);
  border-radius: 9999px;
  color: var(--green);
  text-decoration: none;
  font-size: 13px;
}
.open-source-button:hover { background: rgba(62, 207, 142, 0.08); }
.review-controls {
  grid-template-columns: minmax(220px, 2fr) minmax(160px, 1fr) minmax(240px, 2fr);
}
.match-controls {
  grid-template-columns: minmax(220px, 1.4fr) minmax(180px, 0.8fr) minmax(360px, 2fr) minmax(240px, 1.4fr);
}
.match-bucket-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 8px;
  align-items: end;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  padding-bottom: 2px;
}
.match-bucket-tabs .priority-tab {
  flex: 0 0 auto;
  white-space: nowrap;
}
.review-explainer {
  min-height: 42px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px 12px;
  border: 1px dashed var(--border-strong);
  border-radius: 10px;
  color: var(--muted-2);
  font-size: 12px;
}
.review-explainer strong { color: var(--green); font-family: 'Source Code Pro', ui-monospace, monospace; text-transform: uppercase; letter-spacing: 0.4px; }
.review-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 22px;
  padding: 20px 22px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(15, 15, 15, 0.62);
}
.match-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(15, 15, 15, 0.72);
}
.match-card.eligible { border-color: var(--green-border); background: linear-gradient(180deg, rgba(62, 207, 142, 0.055), rgba(15, 15, 15, 0.72)); }
.match-card.unknown { border-color: rgba(255, 209, 102, 0.35); }
.match-card.ineligible { border-color: rgba(255, 107, 95, 0.35); opacity: 0.9; }
.match-card.ignored { opacity: 0.54; }
.match-card.ignored h3 a { color: var(--muted); }
.match-card-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px;
}
.match-title-block { min-width: 0; }
.match-kicker { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.match-card h3 { margin: 9px 0 0; font-size: clamp(18px, 2vw, 22px); font-weight: 550; line-height: 1.18; letter-spacing: -0.02em; }
.match-card h3 a { color: var(--text); text-decoration: none; }
.match-card h3 a:hover { color: var(--green); }
.match-primary-action { justify-self: end; white-space: nowrap; min-height: 40px; padding-inline: 15px; }
.match-fit-pill {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  color: var(--muted-2);
  background: rgba(255,255,255,0.025);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.25px;
  text-transform: uppercase;
}
.match-fit-pill.high { color: var(--green); border-color: var(--green-border); background: rgba(62,207,142,0.08); }
.match-fit-pill.mid  { color: var(--warning); border-color: rgba(247, 184, 75, 0.45); background: rgba(247,184,75,0.08); }
.match-fit-pill.low  { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); background: rgba(255,107,95,0.08); }
.match-metrics-compact {
  display: grid;
  grid-template-columns: minmax(90px, 0.72fr) minmax(150px, 1fr) minmax(170px, 1fr);
  gap: 8px;
  margin: 0;
}
.match-metrics-compact div {
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,0.025);
}
.match-metrics-compact dt { color: var(--muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.35px; }
.match-metrics-compact dd { margin: 5px 0 0; color: var(--text); font-size: 15px; line-height: 1.25; overflow-wrap: anywhere; }
.match-metrics-compact dd small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; }
.match-score-metric dd { color: var(--green); font-family: 'Source Code Pro', ui-monospace, monospace; font-size: 22px; letter-spacing: -0.03em; }
.match-score-metric dd small { display: inline; margin-left: 2px; font-size: 11px; color: var(--muted); }
.match-bottom-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto);
  gap: 10px;
  align-items: center;
}
.match-status-note { margin: 0; color: var(--muted-2); font-size: 13px; line-height: 1.45; }
.match-blockers {
  display: inline-flex;
  justify-self: end;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 9999px;
  color: var(--muted-2);
  background: rgba(255,255,255,0.025);
  font-size: 12px;
}
.match-blockers strong { color: var(--muted); font-family: 'Source Code Pro', ui-monospace, monospace; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.35px; }
.match-blockers.ok { border-color: var(--green-border); color: var(--green); }
.match-blockers.danger { border-color: rgba(255, 107, 95, 0.45); color: var(--danger); }
.review-card-main { min-width: 0; }
.review-card.pause_candidate { border-color: rgba(255, 209, 102, 0.35); }
.review-card.manual_verify,
.review-card.review_top { border-color: var(--green-border); }
.review-card.paused { opacity: 0.74; }
.review-heading { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.review-card h3 { margin: 10px 0 0; font-size: 18px; font-weight: 500; }
.review-state {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 9999px;
  color: var(--muted-2);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-transform: uppercase;
}
.review-state.pause_candidate { color: var(--warning); border-color: rgba(255, 209, 102, 0.35); }
.review-state.eligible { color: var(--green); border-color: var(--green-border); }
.review-state.unknown { color: var(--warning); border-color: rgba(255, 209, 102, 0.35); }
.review-state.ineligible { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); }
.workflow-state {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid var(--border-strong);
  border-radius: 9999px;
  color: var(--muted-2);
  background: rgba(255,255,255,0.025);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-transform: uppercase;
}
.workflow-state.shortlist { color: var(--green); border-color: var(--green-border); }
.workflow-state.maybe,
.workflow-state.drafting,
.workflow-state.waiting { color: var(--warning); border-color: rgba(255, 209, 102, 0.35); }
.workflow-state.ignore { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); }
.workflow-state.applied { color: var(--text); border-color: rgba(255,255,255,0.32); }
.workflow-state.unsorted { color: var(--muted); }
.match-workflow-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding-top: 2px;
}
.match-workflow-actions button {
  min-height: 39px;
  padding: 8px 10px;
  border: 1px solid var(--border-strong);
  border-radius: 9999px;
  background: #0f0f0f;
  color: var(--muted-2);
  font-size: 12px;
  letter-spacing: 0.15px;
  cursor: pointer;
}
.match-workflow-actions button:hover,
.match-workflow-actions button.selected { border-color: var(--green-border); color: var(--green); background: rgba(62,207,142,0.08); }
.match-workflow-actions [data-match-workflow-action="hide"].selected { border-color: rgba(255, 107, 95, 0.45); color: var(--danger); background: rgba(255,107,95,0.08); }
.match-feedback { grid-column: 1 / -1; }
.review-state.manual_verify,
.review-state.review_top { color: var(--green); border-color: var(--green-border); }
.review-state.paused { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); }
.review-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 14px 0;
}
.review-metrics div {
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255,255,255,0.025);
}
.review-metrics dt { color: var(--muted); font-size: 11px; text-transform: uppercase; }
.review-metrics dd { margin: 4px 0 0; color: var(--text); font-size: 18px; }
.review-small { margin: 6px 0; color: var(--muted-2); font-size: 13px; }
.review-samples { margin: 12px 0 0; padding-left: 18px; color: var(--muted-2); font-size: 13px; line-height: 1.45; }
.review-actions { display: grid; gap: 10px; align-content: start; }
.review-actions button {
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--border-strong);
  border-radius: 9999px;
  background: #0f0f0f;
  color: var(--muted-2);
  font-size: 13px;
  letter-spacing: 0.2px;
}
.review-actions button:hover,
.review-actions button.selected { border-color: var(--green-border); color: var(--green); }
.review-actions button.selected { background: rgba(62, 207, 142, 0.08); }
.review-actions small { color: var(--muted); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.review-actions code { color: var(--muted-2); }
.review-feedback {
  display: grid;
  gap: 6px;
  margin-top: 4px;
  padding: 10px;
  border: 1px solid var(--border-strong);
  border-radius: 12px;
  background: rgba(255,255,255,0.035);
  color: var(--muted-2);
  font-size: 12px;
  line-height: 1.45;
}
.review-feedback[hidden] { display: none; }
.review-feedback strong {
  color: var(--green);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  text-transform: uppercase;
  letter-spacing: 0.35px;
}
.review-feedback.warning strong { color: var(--warning); }
.review-feedback.danger strong,
.review-feedback.error strong { color: var(--danger); }
.review-feedback code {
  display: block;
  padding: 7px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #0b0b0b;
  color: var(--text);
  overflow-wrap: anywhere;
}

.review-expand { margin-top: 12px; border-top: 1px dashed var(--border); padding-top: 10px; }
.review-expand > summary {
  cursor: pointer;
  list-style: none;
  color: var(--muted-2);
  font-size: 12px;
  letter-spacing: 0.35px;
  text-transform: uppercase;
  padding: 6px 0;
  user-select: none;
}
.review-expand > summary::-webkit-details-marker { display: none; }
.review-expand > summary::before { content: "▸ "; color: var(--muted); }
.review-expand[open] > summary::before { content: "▾ "; color: var(--green); }
.review-expand > summary:hover { color: var(--green); }

.review-opps-scroll { margin-top: 12px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.review-opps-table {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: 13px;
  color: var(--muted-2);
}
.review-opps-table th, .review-opps-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  text-align: left;
  vertical-align: top;
}
.review-opps-table th {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: var(--muted);
  font-weight: 500;
  padding-bottom: 8px;
}
.review-opps-table td.opp-title-cell { min-width: 280px; line-height: 1.4; }
.review-opps-table td.opp-fit-cell { width: 64px; }
.review-opps-table td.opp-deadline-cell { width: 110px; white-space: nowrap; color: var(--muted); }
.review-opps-table td.opp-decision-cell { width: 110px; color: var(--muted); }
.review-opps-table td.opp-actions-cell { width: 1%; white-space: nowrap; }
.review-opps-table td a { color: var(--text); text-decoration: none; border-bottom: 1px dotted var(--border-strong); }
.review-opps-table td a:hover { color: var(--green); border-color: var(--green-border); }
.review-opps-table tr.has-decision td:first-child { border-left: 2px solid var(--green); }

.fit-score {
  display: inline-block;
  min-width: 32px;
  padding: 2px 7px;
  border-radius: 9999px;
  border: 1px solid var(--border-strong);
  font-family: 'Source Code Pro', ui-monospace, monospace;
  font-size: 11px;
  text-align: center;
}
.fit-score.high { color: var(--green); border-color: var(--green-border); background: rgba(62,207,142,0.08); }
.fit-score.mid  { color: var(--warning); border-color: rgba(247, 184, 75, 0.45); background: rgba(247,184,75,0.08); }
.fit-score.low  { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); background: rgba(255,107,95,0.08); }
.fit-score.na   { color: var(--muted); }

.review-row-actions { display: inline-flex; flex-wrap: nowrap; gap: 6px; }
.review-row-actions button {
  min-height: 32px;
  min-width: 32px;
  padding: 4px 10px;
  border: 1px solid var(--border-strong);
  border-radius: 9999px;
  background: #0f0f0f;
  color: var(--muted-2);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}
.review-row-actions button:hover,
.review-row-actions button.selected { border-color: var(--green-border); color: var(--green); }
.review-row-actions button.selected { background: rgba(62, 207, 142, 0.08); }

.review-row-feedback td {
  background: rgba(255,255,255,0.025);
  padding: 8px 10px;
  font-size: 11.5px;
  color: var(--muted-2);
  border-bottom: 1px solid var(--border);
}
.review-row-feedback code {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 6px;
  border: 1px solid var(--border);
  border-radius: 6px;
  background: #0b0b0b;
  color: var(--text);
  font-size: 11px;
  overflow-wrap: anywhere;
}
.review-row-feedback strong { color: var(--green); text-transform: uppercase; letter-spacing: 0.3px; font-size: 10.5px; }
.review-row-feedback.warning strong { color: var(--warning); }
.review-row-feedback.danger strong, .review-row-feedback.error strong { color: var(--danger); }

.bars { display: grid; gap: 12px; }
.bar-row { display: grid; gap: 6px; }
.bar-label { display: flex; justify-content: space-between; color: var(--muted-2); font-size: 13px; }
.bar-track { height: 8px; overflow: hidden; border-radius: 999px; background: #0f0f0f; border: 1px solid var(--border); }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--green), rgba(62,207,142,0.35)); border-radius: inherit; }

.notes-list { margin: 0; padding-left: 18px; color: var(--muted-2); line-height: 1.55; font-size: 14px; }
.empty-state, .error-state { padding: 28px; border: 1px dashed var(--border-strong); border-radius: 14px; color: var(--muted-2); }
.error-state { color: var(--danger); border-color: rgba(255, 107, 95, 0.45); }

/* Review tab: full-width single column, hide opportunities sidebar */
body.review-mode .page-shell { width: min(1380px, calc(100vw - 32px)); }
body.review-mode .content-grid { grid-template-columns: minmax(0, 1fr); }
body.review-mode .side-stack { display: none; }
body.review-mode .opportunities-list { gap: 16px; }

@media (max-width: 900px) {
  .topbar,
  .content-grid,
  .marketing-grid,
  .problem-section,
  .reasoning-section,
  .access-section {
    grid-template-columns: 1fr;
    display: grid;
  }
  .metrics-grid,
  .marketing-feature-grid,
  .audience-grid { grid-template-columns: repeat(2, 1fr); }
  .filters-panel { grid-template-columns: 1fr 1fr; }
  .radar-preview { min-height: 0; }
}

@media (max-width: 620px) {
  .page-shell, .marketing-home { width: min(100vw - 20px, 1180px); padding-top: 10px; }
  .marketing-nav { align-items: stretch; flex-direction: column; margin-bottom: 18px; gap: 10px; }
  .marketing-nav-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; width: 100%; }
  .marketing-nav-links a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 7px 5px;
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 9999px;
    background: rgba(255,255,255,0.025);
    font-size: 11px;
    text-align: center;
  }
  .hero-copy, .radar-preview, .login-card, .problem-section, .reasoning-section, .access-section { padding: 22px; border-radius: 22px; }
  .hero-copy h1 { font-size: clamp(39px, 12.4vw, 56px); letter-spacing: -0.058em; }
  .hero-line { font-size: 17px; }
  .radar-card small { font-size: 11px; color: var(--muted-2); }
  .hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .primary-cta, .ghost-cta { width: 100%; }
  .proof-chips, .pain-list { gap: 8px; }
  .marketing-feature-grid, .audience-grid { grid-template-columns: 1fr; display: grid; }
  .radar-header, .radar-card, .radar-next-action, .reason-card div { align-items: flex-start; }
  .radar-meta-row { grid-template-columns: 1fr; }
  .radar-card { gap: 10px; }
  .topbar { padding: 20px; }
  .screen-switcher { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; padding: 9px; }
  .screen-tab { min-height: 40px; padding: 8px 8px; font-size: 13px; }
  .match-bucket-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    padding-bottom: 0;
  }
  .match-bucket-tabs .priority-tab {
    width: 100%;
    min-height: 40px;
    padding-inline: 8px;
    text-align: center;
  }
  .match-bucket-tabs .priority-tab:first-child { grid-column: 1 / -1; }
  .metrics-grid, .filters-panel, .opp-summary, .eligibility-list, .decision-panel, .review-card, .review-metrics { grid-template-columns: 1fr; }
  .match-card-top, .match-metrics-compact, .match-bottom-line { grid-template-columns: 1fr; }
  .match-workflow-actions { grid-template-columns: 1fr 1fr; }
  .match-workflow-actions [data-match-workflow-action="needs_manual_eligibility_check"] { grid-column: 1 / -1; }
  .match-primary-action { justify-self: stretch; justify-content: center; order: 3; }
  .match-blockers { justify-self: stretch; border-radius: 12px; align-items: flex-start; }
  .topbar-actions { justify-content: flex-start; }
  body.review-mode .page-shell { width: min(100vw - 16px, 1380px); }
  .review-card { padding: 16px; gap: 14px; }
  .review-actions { grid-template-columns: 1fr 1fr; }
  .review-actions .review-action-help,
  .review-actions .review-feedback { grid-column: 1 / -1; }
}


@media (max-width: 420px) {
  .page-shell, .marketing-home { width: min(100vw - 16px, 1180px); }
  .marketing-nav-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-copy, .radar-preview, .login-card, .problem-section, .reasoning-section, .access-section { padding: 19px; }
  .hero-copy h1 { font-size: clamp(36px, 12vw, 48px); }
  .section-heading h2, .problem-section h2, .reasoning-section h2, .access-copy h2 { font-size: clamp(28px, 9vw, 38px); }
  .radar-card { padding: 15px; }
}
