/* PeopleFinder — Dark Professional Dashboard */

:root {
  --bg:          #080b0e;
  --bg2:         #0d1115;
  --surface:     #151a20;
  --surface2:    #1b2128;
  --border:      #252c34;
  --border2:     #34414a;
  --cyan:        #45d1c7;
  --cyan-dim:    #2fa9a2;
  --purple:      #6ea8ff;
  --purple-dim:  #477dca;
  --green:       #45d1c7;
  --red:         #ef4444;
  --yellow:      #f59e0b;
  --text:        #f3f5f7;
  --text2:       #a9b0bb;
  --text3:       #727b87;
  --mono:        'JetBrains Mono', 'Courier New', monospace;
  --sans:        'Inter', system-ui, sans-serif;
  --sidebar-w:   236px;
  --radius:      16px;
  --radius-sm:   10px;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  height: 100%;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  font-size: 14px;
  line-height: 1.6;
}

body {
  background-image:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 64px 64px;
  background-attachment: fixed;
}

a { color: var(--cyan); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ── Layout ──────────────────────────────────────────────────────────────── */

.sidebar {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: var(--sidebar-w);
  background: rgba(10,13,16,.94);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  z-index: 100;
}

.sidebar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 22px 18px;
  border-bottom: 1px solid var(--border);
}
.logo-icon { font-size: 20px; }
.logo-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(69,209,199,.75);
  border-radius: 10px;
  color: var(--cyan);
  font-size: 19px;
  font-weight: 700;
}
.logo-text {
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -.45px;
  display: block;
}
.logo-text span { color: var(--cyan); }
.logo-sub { display: block; margin-top: 1px; color: var(--text3); font-size: 10px; letter-spacing: .03em; }

.sidebar-nav { flex: 1; padding: 18px 10px; }

.nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 11px 13px;
  border-radius: var(--radius-sm);
  color: var(--text2);
  font-size: 13px;
  font-weight: 500;
  transition: all .15s;
  margin-bottom: 2px;
}
.nav-item:hover { background: var(--surface2); color: var(--text); text-decoration: none; }
.nav-item.active { background: rgba(69,209,199,.10); color: var(--cyan); box-shadow: inset 0 0 0 1px rgba(69,209,199,.14); }
.nav-icon { font-size: 11px; width: 16px; text-align: center; }

.sidebar-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--border);
}
.sidebar-badge {
  display: inline-block;
  background: rgba(239,68,68,.12);
  color: #ef4444;
  border: 1px solid rgba(239,68,68,.3);
  border-radius: 3px;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.sidebar-version { font-size: 11px; color: var(--text3); }

/* ── Investigator workspace refresh ─────────────────────────────────────── */

.nav-label {
  padding: 0 13px 8px;
  color: #59636f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.nav-label-spaced { margin-top: 24px; }
.authorization-row {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--text2);
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 4px;
}
.authorization-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 8px rgba(69,209,199,.55);
}
.mobile-bar { display: none; }
.eyebrow {
  margin-bottom: 5px;
  color: var(--cyan-dim);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.back-link {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--text3);
  font-size: 12px;
  font-weight: 600;
}
.back-link:hover { color: var(--cyan); text-decoration: none; }
.section-description {
  margin-top: 3px;
  color: var(--text3);
  font-size: 12px;
}

/* Live search command center */
.live-page-header { margin-bottom: 20px; }
.search-command-card {
  overflow: hidden;
  margin-bottom: 28px;
  border: 1px solid var(--border2);
  border-radius: 18px;
  background: rgba(17,22,27,.96);
  box-shadow: 0 18px 48px rgba(0,0,0,.24);
}
.search-command-main {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
}
.status-orb {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(69,209,199,.25);
  border-radius: 12px;
  background: rgba(69,209,199,.07);
}
.search-command-copy { min-width: 0; flex: 1; }
.live-status-text { color: #fff; font-size: 14px; font-weight: 700; }
.live-search-info {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  margin-top: 3px;
}
.live-query {
  overflow: hidden;
  color: var(--text2);
  font-family: var(--mono);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.search-command-metrics {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg2);
}
.search-command-metrics > div {
  min-width: 82px;
  padding: 8px 13px;
  text-align: right;
}
.search-command-metrics > div + div { border-left: 1px solid var(--border); }
.search-command-metrics strong {
  display: block;
  color: #fff;
  font-family: var(--mono);
  font-size: 16px;
  line-height: 1.1;
}
.search-command-metrics span {
  display: block;
  color: var(--text3);
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.search-command-card .progress-bar-wrap {
  height: 3px;
  margin: 0;
  background: #0a0e12;
}
.search-command-card .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--cyan-dim), #6ea8ff);
  box-shadow: 0 0 12px rgba(69,209,199,.25);
}
.activity-drawer { border-top: 1px solid var(--border); }
.activity-drawer summary {
  display: flex;
  justify-content: space-between;
  padding: 11px 20px;
  color: var(--text2);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.activity-drawer summary::-webkit-details-marker { display: none; }
.activity-summary-meta { color: var(--text3); font-weight: 500; }
.activity-drawer[open] .chevron { display: inline-block; transform: rotate(180deg); }
.activity-drawer .log-container {
  max-height: 260px;
  min-height: 0;
  padding: 14px 20px 17px;
  border-top: 1px solid var(--border);
  background: #080c11;
}

/* Results workspace */
.results-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 17px;
}
.results-title-row { display: flex; align-items: center; gap: 9px; }
.results-title { color: #fff; font-size: 22px; line-height: 1.2; }
.results-actions { display: flex; gap: 8px; }
.result-toolbar {
  position: sticky;
  top: 12px;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
  padding: 9px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(13,17,21,.94);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
  backdrop-filter: blur(12px);
}
.result-filter-group { display: flex; gap: 4px; overflow-x: auto; }
.result-filter {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--text2);
  font: 600 11px var(--sans);
  cursor: pointer;
  white-space: nowrap;
}
.result-filter span {
  min-width: 19px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--surface2);
  color: var(--text3);
  font: 600 9px var(--mono);
}
.result-filter:hover { color: #fff; background: var(--surface); }
.result-filter.active { color: var(--cyan); background: rgba(69,209,199,.1); }
.result-filter.active span { color: var(--cyan); background: rgba(69,209,199,.12); }
.result-search-wrap {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 270px;
  padding: 7px 10px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: var(--bg);
  color: var(--text3);
}
.result-search-wrap:focus-within { border-color: var(--cyan-dim); }
.result-search-wrap input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
  font: 11px var(--sans);
}
.result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 245px;
  gap: 16px;
  align-items: start;
}
.results-preview { display: grid; gap: 9px; }
.result-card {
  position: relative;
  display: grid;
  grid-template-columns: 3px 1fr;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(21,26,32,.9);
  transition: border-color .15s, transform .15s, background .15s;
}
.result-card:hover {
  transform: translateY(-1px);
  border-color: var(--border2);
  background: #181e25;
}
.rc-accent { background: #48515c; }
.result-card-person .rc-accent { background: var(--cyan-dim); }
.rc-main { min-width: 0; padding: 14px 15px; }
.rc-identity { display: flex; align-items: center; gap: 11px; }
.rc-avatar {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(69,209,199,.28);
  border-radius: 10px;
  background: rgba(69,209,199,.08);
  color: var(--cyan);
  font-size: 13px;
  font-weight: 800;
}
.rc-avatar-source {
  border-color: var(--border2);
  background: var(--surface2);
  color: var(--text3);
}
.rc-heading { min-width: 0; flex: 1; }
.rc-meta { display: flex; align-items: center; gap: 7px; margin-bottom: 2px; }
.rc-source {
  color: var(--text3);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: lowercase;
}
.rc-cat {
  padding: 1px 6px;
  border-radius: 7px;
  background: var(--surface2);
  color: var(--text3);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rc-cat-people_record { background: rgba(69,209,199,.1); color: var(--cyan); }
.rc-cat-court { background: rgba(110,168,255,.1); color: #8bb9ff; }
.rc-title {
  overflow: hidden;
  color: #f4f6f8;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rc-actions { flex: 0 0 auto; }
.rc-open-link, .rc-profile-link {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid var(--border2);
  border-radius: 7px;
  color: var(--cyan);
  font-size: 10px;
  font-weight: 700;
}
.rc-open-link:hover, .rc-profile-link:hover {
  border-color: var(--cyan-dim);
  background: rgba(69,209,199,.07);
  text-decoration: none;
}
.rc-body {
  display: grid;
  gap: 5px;
  margin: 11px 0 0 45px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
}
.rc-extra {
  color: var(--text2);
  font-size: 10px;
  line-height: 1.55;
}
.rc-label {
  margin-right: 5px;
  color: var(--text3);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.rc-phone {
  display: inline-flex;
  margin-right: 5px;
  color: var(--text);
  font-family: var(--mono);
}
.rc-empty-detail {
  margin: 9px 0 0 45px;
  color: #5d6671;
  font-size: 10px;
}
.rc-deep-btn {
  padding: 5px 8px;
  border: 1px solid var(--border2);
  border-radius: 6px;
  background: var(--bg);
  color: var(--cyan);
  font: 600 10px var(--sans);
  cursor: pointer;
}
.result-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 20px;
  border: 1px dashed var(--border2);
  border-radius: 13px;
  color: var(--text2);
}
.result-empty span { margin-top: 3px; color: var(--text3); font-size: 11px; }
.review-guide {
  position: sticky;
  top: 75px;
  padding: 17px;
  border: 1px solid var(--border);
  border-radius: 13px;
  background: rgba(17,22,27,.92);
}
.review-guide-title {
  margin-bottom: 13px;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.review-guide ol { list-style: none; }
.review-guide li { display: flex; gap: 9px; margin-bottom: 13px; }
.review-guide li > span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  border-radius: 6px;
  background: rgba(69,209,199,.1);
  color: var(--cyan);
  font: 700 9px var(--mono);
}
.review-guide p { color: var(--text3); font-size: 10px; line-height: 1.45; }
.review-guide strong { display: block; color: var(--text2); font-size: 10px; }
.review-note {
  padding-top: 12px;
  border-top: 1px solid var(--border);
  color: #747e89;
  font-size: 9px;
  line-height: 1.5;
}

/* Existing pages: stronger structure and denser scanning */
.case-jumpbar {
  position: sticky;
  top: 12px;
  z-index: 15;
  box-shadow: 0 10px 30px rgba(0,0,0,.2);
  backdrop-filter: blur(12px);
}
.provider-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
}
.provider-card {
  border-radius: 9px;
  overflow: hidden;
}
.provider-card-head { padding: 12px 15px; }
.provider-card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 0 18px;
  padding: 8px 15px;
}
.provider-card-body .kv-row {
  display: block;
  min-width: 0;
  padding: 7px 0;
  border-bottom: 0;
}
.provider-card-body .kv-key {
  display: block;
  width: auto;
  margin-bottom: 3px;
}
.provider-card-body .kv-val {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.provider-card-foot { padding: 8px 15px; }
.case-list-row:hover { background: rgba(69,209,199,.025); }
.quick-search-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 13px;
}
.quick-search-heading p { margin-top: 2px; color: var(--text3); font-size: 11px; }
.shortcut-hint {
  padding: 3px 7px;
  border: 1px solid var(--border);
  border-radius: 6px;
  color: var(--text3);
  font-size: 9px;
}

@media (max-width: 1060px) {
  .result-layout { grid-template-columns: 1fr; }
  .review-guide { display: none; }
  .result-toolbar { top: 8px; }
}

@media (max-width: 780px) {
  :root { --sidebar-w: 240px; }
  .sidebar {
    transform: translateX(-100%);
    transition: transform .2s ease;
    box-shadow: 16px 0 40px rgba(0,0,0,.45);
  }
  .sidebar.sidebar-open { transform: translateX(0); }
  .main-content {
    margin-left: 0;
    padding: 18px 16px 48px;
  }
  .mobile-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: -4px 0 22px;
  }
  .mobile-menu {
    width: 34px;
    height: 34px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
  }
  .mobile-brand { color: #fff; font-size: 14px; font-weight: 800; }
  .mobile-brand span { color: var(--cyan); }
  .page-header { gap: 14px; }
  .page-title { font-size: 25px; }
  .search-command-main { align-items: flex-start; flex-wrap: wrap; }
  .search-command-copy { width: calc(100% - 56px); }
  .search-command-metrics { width: 100%; margin-left: 52px; }
  .search-command-metrics > div { flex: 1; text-align: left; }
  .results-heading { align-items: flex-start; flex-direction: column; }
  .result-toolbar { position: static; align-items: stretch; flex-direction: column; }
  .result-search-wrap { width: 100%; }
  .rc-title { white-space: normal; }
  .rc-body, .rc-empty-detail { margin-left: 0; }
  .quick-search-row { flex-direction: column; }
  .quick-type-select { flex-basis: auto; }
}

.main-content {
  margin-left: var(--sidebar-w);
  padding: 38px 42px 64px;
  min-height: 100vh;
  max-width: 1320px;
}

/* ── Page header ─────────────────────────────────────────────────────────── */

.page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 28px;
}
.page-title {
  font-size: 30px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -.4px;
}
.page-sub { font-size: 14px; color: var(--text2); margin-top: 5px; }
.header-actions { display: flex; gap: 8px; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */

.btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 17px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  border: none;
  transition: all .15s;
  white-space: nowrap;
  text-decoration: none !important;
}
.btn-primary  { background: linear-gradient(180deg, #225b59, #183f3e); color: #f8ffff; border: 1px solid #379e98; box-shadow: inset 0 1px rgba(255,255,255,.08); }
.btn-primary:hover { background: linear-gradient(180deg, #2b6c68, #1d4b49); border-color: var(--cyan); }
.btn-secondary { background: var(--surface2); color: var(--text); border: 1px solid var(--border2); }
.btn-secondary:hover { background: #243044; }
.btn-ghost { background: transparent; color: var(--text2); border: 1px solid var(--border); }
.btn-ghost:hover { background: var(--surface2); color: var(--text); }
.btn-sm { padding: 5px 10px; font-size: 12px; }
.btn-launch { padding: 10px 24px; font-size: 14px; background: var(--cyan); }

/* ── Stats row ───────────────────────────────────────────────────────────── */

.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
.stat-card {
  background: rgba(21,26,32,.88);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px 20px;
  text-align: left;
}
.stat-num {
  font-size: 26px;
  font-weight: 700;
  color: var(--cyan);
  font-family: var(--mono);
}
.stat-label { font-size: 11px; color: var(--text2); margin-top: 2px; text-transform: uppercase; letter-spacing: .07em; }

/* ── Cards ───────────────────────────────────────────────────────────────── */

.card {
  background: rgba(21,26,32,.92);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  margin-bottom: 16px;
}
.card-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--text3);
  margin-bottom: 14px;
}

.identity-list { display: grid; gap: 9px; }
.identity-profile { margin-bottom: 0; padding: 0; overflow: hidden; }
.refinement-card {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(320px, 1.2fr);
  gap: 20px;
  padding: 18px 20px;
  margin-bottom: 14px;
  border: 1px solid rgba(69,209,199,.28);
  border-radius: var(--radius);
  background: linear-gradient(120deg, rgba(25,42,43,.95), rgba(21,26,32,.95));
}
.refinement-card h3 { margin: 3px 0 4px; color: #fff; font-size: 15px; }
.refinement-card p { color: var(--text3); font-size: 11px; }
.refinement-options { display: flex; flex-wrap: wrap; align-content: center; gap: 8px; }
.refinement-option {
  border: 1px solid var(--border2);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--text2);
  background: rgba(255,255,255,.035);
  cursor: pointer;
}
.refinement-option:hover, .refinement-option.active {
  color: var(--cyan);
  border-color: var(--cyan);
  background: rgba(69,209,199,.1);
}
.refinement-skip { color: var(--text3); border-style: dashed; }
.identity-profile-head {
  display: grid;
  grid-template-columns: minmax(180px, 1.05fr) minmax(300px, 2fr) 82px auto;
  align-items: center;
  gap: 18px;
  padding: 14px 16px;
}
.identity-primary { min-width: 0; }
.identity-name { color: #fff; font-size: 17px; font-weight: 700; }
.identity-status {
  align-self: flex-start;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--text2);
  background: var(--surface2);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.identity-at-a-glance {
  display: grid;
  grid-template-columns: repeat(4, minmax(90px, 1fr));
  gap: 12px;
  min-width: 0;
}
.identity-at-a-glance div { min-width: 0; }
.identity-at-a-glance span,
.identity-score-compact span {
  display: block;
  margin-bottom: 2px;
  color: var(--text3);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.identity-at-a-glance strong {
  display: block;
  overflow: hidden;
  color: var(--text);
  font-size: 11px;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.identity-score-compact { text-align: center; }
.identity-score-compact strong { display: block; color: #fff; font-size: 16px; }
.status-strong-match { color: #79e0aa; background: rgba(63,185,80,.14); }
.status-likely-match { color: var(--cyan); background: rgba(69,209,199,.12); }
.status-possible-match { color: #e5bc68; background: rgba(229,188,104,.12); }
.status-conflicting-identity { color: #ff8585; background: rgba(239,68,68,.12); }
.status-confirmed { color: #89efb7; background: rgba(63,185,80,.16); }
.status-rejected { color: #a7afb9; background: rgba(167,175,185,.1); }
.identity-profile.decision-confirmed {
  border-color: rgba(63,185,80,.48);
  box-shadow: inset 3px 0 0 #3fb950;
}
.identity-profile.decision-rejected { opacity: .64; }
.identity-actions {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 16px 11px;
}
.identity-action {
  border: 1px solid var(--border2);
  border-radius: 6px;
  padding: 6px 10px;
  color: var(--text2);
  background: rgba(255,255,255,.025);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.identity-action:hover { color: #fff; border-color: #687583; }
.identity-action.confirm { color: #89efb7; border-color: rgba(63,185,80,.36); }
.identity-action.confirm:hover,
.identity-action.confirm.active { background: rgba(63,185,80,.14); border-color: #3fb950; }
.identity-action.reject:hover,
.identity-action.reject.active { color: #ff9c9c; background: rgba(239,68,68,.09); border-color: rgba(239,68,68,.42); }
.identity-action.reset { border-style: dashed; color: var(--text3); }
.identity-action:disabled { cursor: wait; opacity: .55; }
.identity-action-note { margin-left: auto; color: var(--text3); font-size: 9px; }
.identity-metrics {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 10px 0;
}
.identity-metrics div { padding: 9px; border-radius: 6px; background: rgba(255,255,255,.025); }
.identity-metrics strong { display: block; color: #fff; font-size: 13px; text-transform: capitalize; }
.identity-metrics span { display: block; color: var(--text3); font-size: 9px; text-transform: uppercase; }
.identity-details { border-top: 1px solid var(--border); }
.identity-details summary {
  padding: 9px 16px;
  color: var(--cyan-dim);
  background: rgba(255,255,255,.015);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  list-style-position: inside;
}
.identity-details summary:hover { color: var(--cyan); background: rgba(69,209,199,.035); }
.identity-detail-content { padding: 4px 16px 15px; }
.identity-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
}
.identity-meta, .identity-sources, .identity-match {
  color: var(--text3);
  font-size: 11px;
}
.identity-row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
}
.identity-label {
  color: var(--text3);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.identity-value { color: var(--text); font-family: var(--mono); margin-bottom: 4px; }
.identity-value small { display: block; color: var(--text3); font-family: var(--sans); }
.identity-sources { margin-top: 10px; }
.identity-match { color: var(--cyan-dim); margin-top: 3px; }
.identity-evidence, .identity-conflicts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.identity-evidence span, .identity-conflicts span {
  padding: 4px 7px;
  border-radius: 4px;
  font-size: 10px;
}
.identity-evidence span { color: #79e0aa; background: rgba(63,185,80,.08); }
.identity-conflicts span { color: #ff8585; background: rgba(239,68,68,.08); }
@media (max-width: 720px) {
  .refinement-card { grid-template-columns: 1fr; }
  .identity-metrics { grid-template-columns: 1fr 1fr; }
  .identity-profile-head { grid-template-columns: 1fr auto; gap: 10px; }
  .identity-at-a-glance { grid-column: 1 / -1; grid-row: 2; grid-template-columns: 1fr 1fr; }
  .identity-score-compact { display: none; }
  .identity-fields { grid-template-columns: 1fr; }
  .identity-actions { align-items: stretch; flex-direction: column; }
  .identity-action-note { margin-left: 0; }
}
.wide { max-width: 720px; }

/* ── Section header ──────────────────────────────────────────────────────── */

.section-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 24px 0 12px;
}
.section-title {
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}
.section-count {
  background: var(--surface2);
  color: var(--text2);
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 600;
}
.breach-count { background: rgba(239,68,68,.15); color: var(--red); }

/* ── Cases grid ──────────────────────────────────────────────────────────── */

.cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
  margin-bottom: 32px;
}
.case-card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 18px;
  transition: border-color .15s;
}
.case-card:hover { border-color: var(--border2); }
.case-closed { opacity: .6; }
.case-card-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 14px; }
.case-name { font-size: 15px; font-weight: 600; color: #fff; }
.case-desc { font-size: 12px; color: var(--text2); margin-top: 2px; }
.case-card-stats { display: flex; gap: 20px; margin-bottom: 14px; }
.case-stat { text-align: center; }
.stat-val { display: block; font-size: 18px; font-weight: 700; color: var(--cyan); font-family: var(--mono); }
.stat-lbl { font-size: 10px; color: var(--text3); text-transform: uppercase; }
.case-card-actions { display: flex; gap: 6px; flex-wrap: wrap; }

/* ── Quick search ────────────────────────────────────────────────────────── */

.quick-search-card { margin-bottom: 24px; }
.quick-search-row { display: flex; gap: 8px; }
.quick-type-select { flex: 0 0 140px; }
.quick-input { flex: 1; }
.quick-hints { margin-top: 6px; font-size: 12px; color: var(--text3); }

/* ── Forms ───────────────────────────────────────────────────────────────── */

.form-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; }
.form-group { margin-bottom: 20px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.form-label { display: block; font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 6px; }
.required { color: var(--red); }
.form-optional { color: var(--text3); font-weight: 400; }
.form-input {
  width: 100%;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-family: var(--sans);
  font-size: 13px;
  padding: 11px 13px;
  outline: none;
  transition: border-color .15s;
}
.form-input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(69,209,199,.09); }
.form-input-lg { font-size: 15px; padding: 12px 14px; }
.form-input.input-error { border-color: var(--red); }
.form-textarea { min-height: 80px; resize: vertical; }
.form-select {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text);
  font-size: 13px;
  padding: 8px 10px;
  outline: none;
}
.form-select:focus { border-color: var(--cyan); }
.form-hint { font-size: 12px; color: var(--text3); margin-top: 4px; }
.form-hint.inline { display: inline; margin-left: 6px; }
.form-divider { height: 1px; background: var(--border); margin: 20px 0; }
.form-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }
.checkbox-label { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.checkbox { width: 15px; height: 15px; margin-top: 2px; accent-color: var(--cyan); }

/* ── Search type tabs ────────────────────────────────────────────────────── */

.search-type-tabs { display: flex; gap: 4px; margin-bottom: 24px; flex-wrap: wrap; }
.type-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  color: var(--text2);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
}
.type-tab:hover { border-color: var(--border2); color: var(--text); }
.type-tab.active { background: rgba(69,209,199,.10); border-color: rgba(69,209,199,.65); color: var(--cyan); }
.tab-icon { font-size: 14px; }

/* ── Sources box ─────────────────────────────────────────────────────────── */

.sources-box {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px 14px;
  margin-bottom: 20px;
}
.sources-title { font-size: 11px; font-weight: 600; color: var(--text3); text-transform: uppercase; margin-bottom: 8px; }
.sources-list { display: flex; flex-wrap: wrap; gap: 6px; }

/* ── Badges & pills ──────────────────────────────────────────────────────── */

.badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.badge-active  { background: rgba(16,185,129,.15); color: var(--green); }
.badge-closed  { background: rgba(100,116,139,.15); color: var(--text3); }
.badge-pending { background: rgba(245,158,11,.15); color: var(--yellow); }
.badge-error   { background: rgba(239,68,68,.15); color: var(--red); }

.pill {
  display: inline-block;
  padding: 2px 7px;
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 11px;
  font-family: var(--mono);
  color: var(--text2);
}
.pill-type-name     { background: rgba(0,212,255,.08); border-color: rgba(0,212,255,.3); color: var(--cyan); }
.pill-type-email    { background: rgba(124,58,237,.08); border-color: rgba(124,58,237,.3); color: #a78bfa; }
.pill-type-phone    { background: rgba(16,185,129,.08); border-color: rgba(16,185,129,.3); color: var(--green); }
.pill-type-username { background: rgba(245,158,11,.08); border-color: rgba(245,158,11,.3); color: var(--yellow); }
.pill-type-address  { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.3); color: var(--red); }
.pill-data { background: rgba(239,68,68,.08); border-color: rgba(239,68,68,.2); color: #fca5a5; font-size: 10px; }

.source-tag {
  display: inline-block;
  padding: 3px 8px;
  background: rgba(0,212,255,.06);
  border: 1px solid rgba(0,212,255,.15);
  border-radius: 3px;
  font-size: 11px;
  color: var(--cyan);
}

.conf-badge { font-size: 11px; font-weight: 600; }
.conf-high   { color: var(--green); }
.conf-medium { color: var(--yellow); }
.conf-low    { color: var(--text3); }

/* ── Tables ──────────────────────────────────────────────────────────────── */

.data-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.data-table th {
  text-align: left;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .05em;
  color: var(--text3);
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
}
.data-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:hover td { background: rgba(255,255,255,.02); }
.mono { font-family: var(--mono); font-size: 12px; }
.muted { color: var(--text2); font-size: 12px; }
.link-sm { font-size: 12px; color: var(--cyan); }
.breach-name { font-weight: 600; color: #fca5a5; }

/* ── Table toolbar ───────────────────────────────────────────────────────── */

.table-toolbar { display: flex; gap: 8px; margin-bottom: 12px; }
.filter-input { max-width: 280px; }
.filter-select { flex: 0 0 160px; }

/* ── Profiles grid ───────────────────────────────────────────────────────── */

.profile-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.profile-item {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 12px;
}
.profile-source { font-size: 10px; color: var(--text3); text-transform: uppercase; margin-bottom: 4px; }
.profile-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 4px; }
.profile-url { font-size: 11px; color: var(--cyan); display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ── Address & KV blocks ─────────────────────────────────────────────────── */

.address-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border);
}
.address-row:last-child { border: none; }
.address-source { font-family: var(--mono); font-size: 11px; color: var(--text3); min-width: 130px; }
.address-title { flex: 1; font-size: 13px; }

.kv-block { margin-bottom: 16px; border-bottom: 1px solid var(--border); padding-bottom: 16px; }
.kv-block:last-child { border: none; margin: 0; }
.kv-source { font-family: var(--mono); font-size: 11px; color: var(--cyan); margin-bottom: 6px; }
.kv-row { display: flex; gap: 12px; padding: 3px 0; }
.kv-key { min-width: 140px; font-size: 12px; color: var(--text3); }
.kv-val { font-size: 12px; color: var(--text); }

/* ── Live search ─────────────────────────────────────────────────────────── */

.live-card { padding: 0; overflow: hidden; }
.live-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border);
  background: var(--bg2);
}
.live-status-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dot-running { background: var(--cyan); box-shadow: 0 0 8px var(--cyan); animation: pulse 1.2s infinite; }
.dot-done    { background: var(--green); }
.dot-error   { background: var(--red); }

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: .4; }
}

.live-status-text { font-weight: 600; font-size: 14px; color: #fff; }
.live-search-info { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.live-query { font-family: var(--mono); font-size: 12px; color: var(--text2); }

.log-container {
  background: #050810;
  font-family: var(--mono);
  font-size: 12px;
  padding: 16px 20px;
  height: 300px;
  overflow-y: auto;
  line-height: 1.7;
}
.log-entry { padding: 1px 0; }
.log-ts { color: var(--text3); margin-right: 10px; }
.log-info    .log-msg { color: var(--text2); }
.log-success .log-msg { color: var(--green); }
.log-error   .log-msg { color: var(--red); }

.progress-bar-wrap { height: 3px; background: var(--bg2); }
.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--cyan), var(--purple));
  width: 0%;
  transition: width .4s ease;
}

/* ── Results preview (live) ──────────────────────────────────────────────── */

.result-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--border);
  font-size: 13px;
}
.result-row:last-child { border: none; }
.result-source { font-family: var(--mono); font-size: 11px; color: var(--text3); min-width: 110px; }
.result-category { min-width: 80px; }
.badge-cat-social   { color: var(--cyan); }
.badge-cat-breach   { color: var(--red); }
.badge-cat-phone_info { color: var(--green); }
.badge-cat-address  { color: var(--yellow); }
.badge-cat-misc     { color: var(--text3); }
.result-title { flex: 1; }
.result-link { font-size: 12px; color: var(--cyan); margin-left: auto; white-space: nowrap; }
.result-link-profile {
  font-size: 12px; color: #3fb950; margin-left: auto; white-space: nowrap;
  background: rgba(63,185,80,.10); border: 1px solid rgba(63,185,80,.3);
  padding: 2px 8px; border-radius: 4px; text-decoration: none;
  transition: background .15s;
}
.result-link-profile:hover { background: rgba(63,185,80,.20); color: #3fb950; }

.results-actions { display: flex; gap: 8px; margin-top: 16px; }
.results-preview { margin-bottom: 8px; }

/* ── Rich result cards (live preview) ───────────────────────────────────── */
.result-card {
  border: 1px solid var(--border);
  border-radius: 6px;
  margin-bottom: 8px;
  background: var(--surface);
  overflow: hidden;
  transition: border-color .15s;
}
.result-card:hover { border-color: #444d5a; }
.rc-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  font-size: 13px;
}
.rc-source {
  font-family: var(--mono);
  font-size: 10px;
  color: var(--text3);
  min-width: 110px;
  white-space: nowrap;
}
.rc-cat { font-size: 11px; min-width: 90px; }
.rc-cat-people_record { color: var(--cyan); }
.rc-cat-court         { color: var(--yellow); }
.rc-cat-web           { color: #a78bfa; }
.rc-cat-address       { color: var(--yellow); }
.rc-cat-reference     { color: var(--text3); }
.rc-cat-misc          { color: var(--text3); }
.rc-title { flex: 1; color: var(--text); font-weight: 500; }
.rc-open-link    { font-size: 12px; color: var(--cyan); white-space: nowrap; text-decoration: none; }
.rc-profile-link { font-size: 12px; color: #3fb950; white-space: nowrap; text-decoration: none;
  background: rgba(63,185,80,.10); border: 1px solid rgba(63,185,80,.25);
  padding: 2px 9px; border-radius: 4px; transition: background .15s; }
.rc-profile-link:hover { background: rgba(63,185,80,.20); }
.rc-body {
  border-top: 1px solid var(--border);
  padding: 8px 14px 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.rc-extra {
  font-size: 12px;
  color: var(--text);
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}
.rc-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text3);
  white-space: nowrap;
  margin-right: 4px;
}
.rc-phone {
  font-family: var(--mono);
  font-size: 12px;
  color: #3fb950;
  background: rgba(63,185,80,.10);
  border: 1px solid rgba(63,185,80,.25);
  padding: 1px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.rc-addr {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--accent);
}
.rc-hints { color: var(--text3); font-size: 11px; }
.rc-muted { color: var(--text3); font-size: 11px; font-style: italic; }
.rc-deep-btn {
  font-size: 11px;
  color: var(--accent);
  background: rgba(88,166,255,.08);
  border: 1px dashed rgba(88,166,255,.35);
  padding: 3px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background .15s;
}
.rc-deep-btn:hover { background: rgba(88,166,255,.16); }
.rc-deep-btn:disabled { opacity: .5; cursor: default; }

/* ── Native provider result cards ───────────────────────────────────────── */
.provider-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 12px; }
.provider-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.provider-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--border); }
.provider-card-title { color: var(--text); font-size: 15px; font-weight: 600; margin-top: 4px; }
.provider-card-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.provider-card-body { padding: 8px 16px 12px; }
.provider-card-foot { padding: 10px 16px; border-top: 1px solid var(--border); background: rgba(255,255,255,.015); }
.provider-status { display: inline-flex; padding: 3px 8px; border-radius: 999px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.status-retrieved { color: var(--green); background: rgba(63,185,80,.1); border: 1px solid rgba(63,185,80,.3); }
.status-blocked { color: var(--red); background: rgba(239,68,68,.1); border: 1px solid rgba(239,68,68,.3); }
.status-manual { color: var(--yellow); background: rgba(210,153,34,.1); border: 1px solid rgba(210,153,34,.3); }
.provider-note { color: var(--text3); font-size: 11px; padding-top: 8px; }
.web-result-snippet { color: var(--text2); line-height: 1.55; margin: 4px 0; }

/* ── Alerts ──────────────────────────────────────────────────────────────── */

.alert { padding: 10px 14px; border-radius: var(--radius-sm); margin-bottom: 16px; font-size: 13px; }
.alert-error { background: rgba(239,68,68,.12); border: 1px solid rgba(239,68,68,.3); color: #fca5a5; }

/* ── Empty state ─────────────────────────────────────────────────────────── */

.empty-state { text-align: center; padding: 48px 24px; }
.empty-icon { font-size: 40px; margin-bottom: 12px; }
.empty-title { font-size: 18px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.empty-sub { color: var(--text2); margin-bottom: 20px; }
.empty-inline { padding: 20px; color: var(--text2); font-size: 13px; }

/* ── Modal ───────────────────────────────────────────────────────────────── */

.modal-box {
  background: var(--surface);
  border: 1px solid var(--border2);
  border-radius: var(--radius);
  width: 100%;
  max-width: 440px;
  padding: 24px;
  box-shadow: 0 20px 60px rgba(0,0,0,.7);
  animation: modal-in .15s ease;
}
@keyframes modal-in {
  from { opacity: 0; transform: translateY(-12px) scale(.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
.modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
}
.modal-title { font-size: 16px; font-weight: 600; color: #fff; }
.modal-close {
  background: none; border: none; cursor: pointer;
  color: var(--text3); font-size: 20px; line-height: 1;
  padding: 0 4px; border-radius: var(--radius-sm);
  transition: color .15s;
}
.modal-close:hover { color: var(--text); }

/* ── Scrollbar ───────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--text3); }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .form-row { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .main-content { padding: 16px; }
  .sidebar { display: none; }
  .main-content { margin-left: 0; }
}

/* ── Professional workspace refresh ───────────────────────────────────── */
:root {
  --bg:#080b0e; --bg2:#0d1115; --surface:#151a20; --surface2:#1b2128;
  --border:#252c34; --border2:#34414a; --cyan:#45d1c7; --cyan-dim:#2fa9a2;
  --sidebar-w:236px; --radius:16px; --radius-sm:10px;
}
.sidebar-logo { padding:22px 18px; }
.logo-mark { display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(69,209,199,.72);border-radius:10px;color:var(--cyan);font-size:18px;font-weight:800;background:rgba(69,209,199,.035);box-shadow:none }
.logo-text { display:block }
.logo-sub { display:block;color:var(--text3);font-size:10px;margin-top:1px }
.sidebar-nav { padding:18px 12px }
.nav-item { padding:11px 12px }
.nav-item.active { background:rgba(69,209,199,.10);color:var(--cyan);box-shadow:inset 0 0 0 1px rgba(69,209,199,.14) }
.main-content { padding:40px clamp(28px,4vw,64px) 80px;max-width:1440px }
.page-header { margin-bottom:28px }
.page-title { font-size:28px }
.eyebrow { color:var(--cyan);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px }
.back-link { display:inline-block;color:var(--text3);font-size:12px;margin-bottom:8px }
.stats-row { gap:14px;margin-bottom:20px }
.stat-card { padding:18px 20px;text-align:left;position:relative }
.stat-icon { position:absolute;right:16px;top:15px;color:var(--text3);font:10px var(--mono) }
.stat-num { font-size:25px }
.stat-label { font-size:11px;margin-top:1px }
.quick-search-card { margin-bottom:30px;padding:22px;background:linear-gradient(120deg,rgba(21,26,32,.96),rgba(17,31,32,.96));border-color:rgba(69,209,199,.24) }
.quick-search-heading { display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px }
.quick-search-heading .card-title { margin:0;color:var(--text);font-size:13px;text-transform:none;letter-spacing:0 }
.quick-search-heading p { color:var(--text3);font-size:11px }
.shortcut-hint { color:var(--text3);border:1px solid var(--border);border-radius:6px;padding:3px 7px;font-size:10px }
.quick-field-picker { display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px }
.quick-field-chip {
  appearance:none;
  min-height:32px;
  padding:6px 12px;
  border:1px solid var(--border2);
  border-radius:999px;
  background:rgba(8,11,14,.55);
  color:var(--text2);
  font:600 11px var(--sans);
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;
}
.quick-field-chip:hover:not(:disabled) { color:var(--text);border-color:rgba(69,209,199,.45);transform:translateY(-1px) }
.quick-field-chip.active { color:#dffffc;background:rgba(69,209,199,.13);border-color:rgba(69,209,199,.65);box-shadow:inset 0 0 0 1px rgba(69,209,199,.08),0 0 0 3px rgba(69,209,199,.05) }
.quick-field-chip:focus-visible { outline:2px solid var(--cyan);outline-offset:2px }
.quick-field-chip:disabled { opacity:.38;cursor:not-allowed }
.quick-age-chip { margin-left:3px;border-style:dashed }
.quick-age-chip span { margin-left:3px;color:var(--text3);font-size:9px;font-weight:500 }
.quick-age-chip.active span { color:rgba(223,255,252,.64) }
.quick-input-shell,.quick-age-field {
  display:block;
  padding:7px 12px 8px;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  background:var(--bg2);
  transition:border-color .15s,box-shadow .15s;
}
.quick-input-shell { flex:1;min-width:240px }
.quick-input-shell:focus-within,.quick-age-field:focus-within { border-color:var(--cyan);box-shadow:0 0 0 3px rgba(69,209,199,.09) }
.quick-input-label { display:block;margin-bottom:1px;color:var(--cyan);font-size:9px;font-weight:700;letter-spacing:.07em;line-height:1.2;text-transform:uppercase }
.quick-input-label small { color:var(--text3);font-size:8px;font-weight:500 }
.quick-input-shell .quick-input,.quick-age-field .form-input { height:22px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:13px }
.quick-age-field { display:none;flex:0 0 104px }
.quick-age-field.visible { display:block }
.quick-search-row > .btn { min-height:53px;justify-content:center }
.quick-criteria-chip small { margin-left:3px;color:var(--text3);font-size:9px;font-weight:500 }
.quick-criteria-chip.active small { color:rgba(255,255,255,.58) }
.chip-symbol { display:inline-block;min-width:10px }
.quick-multi-row { align-items:stretch }
.quick-criteria-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(220px,1fr));
  gap:10px;
  flex:1;
}
.quick-criteria-field { display:none }
.quick-criteria-field.visible { display:flex }
.quick-multi-submit { align-self:stretch;min-width:140px }
.section-title { font-size:16px }
.section-description { color:var(--text3);font-size:11px;margin-top:1px }
.cases-heading { justify-content:flex-start }
.case-list { padding:0;overflow:hidden }
.case-list-head,.case-list-row { display:grid;grid-template-columns:minmax(280px,1.8fr) minmax(170px,.8fr) 110px 90px 170px;gap:18px;align-items:center }
.case-list-head { padding:11px 18px;background:#101419;color:var(--text3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase }
.case-list-row { padding:14px 18px;border-top:1px solid var(--border);transition:background .15s }
.case-list-row:hover { background:rgba(255,255,255,.018) }
.case-primary { display:flex;align-items:center;gap:12px;min-width:0;color:inherit }
.case-primary:hover { text-decoration:none }
.case-avatar { display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:rgba(69,209,199,.10);border:1px solid rgba(69,209,199,.16);color:var(--cyan);font-weight:700 }
.case-name { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }
.case-desc { display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px }
.case-activity { display:flex;gap:14px;color:var(--text3);font-size:11px }
.case-activity strong { color:var(--text);font-family:var(--mono) }
.case-date { color:var(--text2);font-size:11px;font-family:var(--mono) }
.case-row-actions { display:flex;justify-content:flex-end;gap:6px }
.case-jumpbar { position:sticky;top:0;z-index:20;display:flex;gap:4px;margin:-8px 0 26px;padding:7px;border:1px solid var(--border);border-radius:12px;background:rgba(13,17,21,.94);backdrop-filter:blur(12px) }
.case-jumpbar a { color:var(--text2);padding:7px 11px;border-radius:7px;font-size:11px;font-weight:600 }
.case-jumpbar a:hover { color:var(--text);background:var(--surface2);text-decoration:none }
.case-jumpbar span { color:var(--cyan);margin-left:3px }
.identity-grid,.provider-card-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:14px }

/* Case review density: one scannable record per horizontal row. */
.provider-card-grid { grid-template-columns: 1fr; gap: 9px; }
.provider-card { border-radius: 9px; }
.provider-card-head { padding: 12px 15px; }
.provider-card-body {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
  gap: 0 18px;
  padding: 8px 15px;
}
.provider-card-body .kv-row {
  display: block;
  min-width: 0;
  padding: 7px 0;
  border-bottom: 0;
}
.provider-card-body .kv-key { display: block; width: auto; margin-bottom: 3px; }
.provider-card-body .kv-val { display: block; overflow: hidden; text-overflow: ellipsis; }
.provider-card-foot { padding: 8px 15px; }
.identity-profile,.provider-card { box-shadow:0 8px 30px rgba(0,0,0,.12) }
.provider-card-title,.identity-name { line-height:1.35 }
.kv-row { padding:7px 0;border-bottom:1px solid rgba(37,44,52,.78) }
.kv-row:last-child { border-bottom:0 }
.kv-key { flex:0 0 120px;min-width:0 }
.kv-val { overflow-wrap:anywhere }
.card:has(.data-table) { overflow-x:auto }
@media (max-width:1000px) {
  .case-list-head { display:none }
  .case-list-row { grid-template-columns:1fr auto }
  .case-activity,.case-date { display:none }
  .case-row-actions { grid-column:1/-1;justify-content:flex-start }
  .identity-grid,.provider-card-grid { grid-template-columns:1fr }
}
@media (max-width:640px) {
  .page-header { flex-direction:column;gap:16px }
  .header-actions { width:100%;flex-wrap:wrap }
  .header-actions .btn { flex:1;justify-content:center }
  .quick-search-row { flex-direction:column }
  .quick-criteria-grid { grid-template-columns:1fr }
  .quick-field-picker { gap:6px }
  .quick-field-chip { flex:1 1 auto }
  .quick-age-chip { margin-left:0 }
  .quick-input-shell,.quick-age-field { width:100%;min-width:0;flex:auto }
  .quick-search-row > .btn { width:100% }
  .case-jumpbar { overflow-x:auto;white-space:nowrap }
}

/* Phase 7 final cascade: live evidence workspace */
.results-preview { display:grid;gap:9px;margin-bottom:0 }
.result-card {
  position:relative;
  display:grid;
  grid-template-columns:3px minmax(0,1fr);
  padding:0;
  overflow:hidden;
  border:1px solid var(--border);
  border-radius:13px;
  background:rgba(21,26,32,.9);
}
.result-card:hover { transform:translateY(-1px);border-color:var(--border2);background:#181e25 }
.result-card .rc-main { min-width:0;padding:14px 15px }
.result-card .rc-body {
  display:grid;
  gap:5px;
  margin:11px 0 0 45px;
  padding:10px 0 0;
  border-top:1px solid var(--border);
  background:transparent;
}
.result-card .rc-title {
  display:block;
  overflow:hidden;
  color:#f4f6f8;
  font-size:13px;
  font-weight:650;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.result-card .rc-source { width:auto;flex:none }
.result-card .rc-cat { width:auto;flex:none }
.result-card .rc-extra { display:block;padding:0;border:0 }

@media (max-width:780px) {
  .sidebar { display:flex;transform:translateX(-100%) }
  .sidebar.sidebar-open { transform:translateX(0) }
  .main-content { margin-left:0;padding:18px 16px 48px }
  .mobile-bar { display:flex }
  .result-card .rc-title { white-space:normal }
  .result-card .rc-body { margin-left:0 }
}

/* Phase 10 — trusted research platform */
:root {
  --bg: #171b20;
  --bg2: #1d2228;
  --surface: #22282f;
  --surface2: #29313a;
  --border: #343c46;
  --border2: #46515e;
  --cyan: #5cc9c0;
  --cyan-dim: #48aaa3;
  --text: #f5f7f9;
  --text2: #b4bdc8;
  --text3: #7f8a97;
  --radius: 12px;
  --radius-sm: 8px;
  --sidebar-w: 248px;
}

html, body { background: var(--bg); }
body {
  background-image:
    radial-gradient(circle at 62% -18%, rgba(92,201,192,.055), transparent 34%),
    linear-gradient(180deg, #1a1f25 0, #171b20 420px);
}

.sidebar {
  background: #12161a;
  border-right-color: #2a3138;
  box-shadow: 8px 0 32px rgba(0,0,0,.12);
}
.sidebar-logo { padding: 24px 20px; }
.logo-mark {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border: 0;
  border-radius: 9px;
  background: var(--cyan);
  color: #10211f;
  font-size: 15px;
  letter-spacing: -.04em;
}
.logo-text { font-size: 15px; letter-spacing: -.025em; }
.logo-sub { color: #69747f; }
.sidebar-nav { padding: 22px 14px; }
.nav-label { padding-left: 12px; color: #596570; }
.nav-item {
  min-height: 42px;
  margin-bottom: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  color: #9da8b3;
}
.nav-item:hover { background: #1b2127; }
.nav-item.active {
  background: #202b2d;
  box-shadow: inset 3px 0 var(--cyan);
  color: #e9fffd;
}
.authorization-row { text-transform: none; letter-spacing: 0; }
.authorization-dot { box-shadow: none; }

.main-content {
  width: calc(100% - var(--sidebar-w));
  max-width: 1500px;
  padding: 46px clamp(34px,4.5vw,72px) 80px;
}
.page-header {
  align-items: center;
  margin-bottom: 30px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.eyebrow { color: var(--text3); font-size: 10px; }
.page-title { font-size: 30px; font-weight: 700; letter-spacing: -.035em; }
.page-sub { color: var(--text2); font-size: 13px; }
.header-actions { align-items: center; }
.workspace-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-right: 8px;
  color: var(--text3);
  font-size: 11px;
  font-weight: 600;
}
.workspace-status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #55c58b;
}

.btn { border-radius: 7px; font-weight: 650; }
.btn-primary {
  border-color: #61d2c8;
  background: #55b8b0;
  box-shadow: 0 1px 2px rgba(0,0,0,.22);
  color: #0f2523;
}
.btn-primary:hover { border-color: #77dfd6; background: #68ccc3; }
.btn-secondary { background: #2a323b; }

.stats-row {
  gap: 0;
  overflow: hidden;
  margin-bottom: 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
}
.stat-card {
  min-height: 102px;
  padding: 19px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.stat-card + .stat-card { border-left: 1px solid var(--border); }
.stat-icon { top: 18px; color: #697480; }
.stat-num {
  color: var(--text);
  font-family: var(--sans);
  font-size: 27px;
  font-weight: 700;
  letter-spacing: -.035em;
}
.stat-label {
  color: var(--text3);
  font-size: 10px;
  font-weight: 650;
}

.card { background: var(--surface); box-shadow: 0 8px 28px rgba(0,0,0,.09); }
.quick-search-card {
  position: relative;
  margin-bottom: 36px;
  padding: 26px 28px 24px;
  border: 1px solid #46545b;
  background: #21282e;
  box-shadow: 0 14px 36px rgba(0,0,0,.15);
}
.quick-search-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 12px 0 0 12px;
  background: var(--cyan);
  content: "";
}
.quick-search-heading { margin-bottom: 20px; }
.quick-search-heading .card-title {
  margin-top: 3px;
  color: var(--text);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.quick-search-heading p { max-width: 660px; color: var(--text2); font-size: 12px; }
.search-step {
  color: var(--cyan);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.shortcut-hint { background: #1a2025; }
.criteria-label {
  margin-bottom: 8px;
  color: var(--text3);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.quick-field-picker { gap: 8px; margin-bottom: 15px; }
.quick-field-chip {
  min-height: 34px;
  padding: 7px 13px;
  border-color: #414b56;
  border-radius: 7px;
  background: #1b2126;
  color: #aab4bf;
}
.quick-field-chip:hover:not(:disabled) {
  transform: none;
  border-color: #61717d;
  background: #222a31;
}
.quick-field-chip.active {
  border-color: #5cc9c0;
  background: #263b3c;
  box-shadow: none;
  color: #e6fffd;
}
.chip-symbol { color: var(--cyan); }
.quick-criteria-grid { gap: 11px; }
.quick-input-shell, .quick-age-field {
  min-height: 58px;
  padding: 9px 13px;
  border-color: #3c4650;
  background: #181e23;
}
.quick-input-shell:focus-within, .quick-age-field:focus-within {
  border-color: var(--cyan);
  box-shadow: 0 0 0 2px rgba(92,201,192,.11);
}
.quick-input-label { color: #91d9d3; }
.quick-multi-submit { min-width: 156px; font-size: 12px; }
.quick-hints {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  color: var(--text3);
  font-size: 10px;
}

.section-header { margin-bottom: 12px; }
.section-title { color: var(--text); font-size: 17px; }
.section-count {
  min-width: 24px;
  padding: 2px 7px;
  border: 1px solid var(--border);
  border-radius: 12px;
  color: var(--text3);
  text-align: center;
}
.case-list { border-radius: 10px; box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.case-list-head { background: #1b2126; }
.case-list-row { min-height: 70px; }
.case-list-row:hover { background: #262e35; }
.case-avatar {
  border-color: #40595a;
  border-radius: 8px;
  background: #263738;
}
.badge { border-radius: 12px; }

.modal-box {
  border-color: var(--border2);
  background: var(--surface);
  box-shadow: 0 24px 70px rgba(0,0,0,.42);
}

@media (max-width: 900px) {
  .workspace-status { display: none; }
  .stats-row { grid-template-columns: repeat(2, 1fr); }
  .stat-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--border); }
  .stat-card:nth-child(4) { border-top: 1px solid var(--border); }
}

@media (max-width: 780px) {
  .main-content { width: 100%; padding: 18px 16px 48px; }
}

@media (max-width: 520px) {
  .stats-row { grid-template-columns: 1fr; }
  .stat-card + .stat-card { border-left: 0; border-top: 1px solid var(--border); }
  .quick-search-card { padding: 21px 18px; }
  .shortcut-hint { display: none; }
}

/* ── Phase 12: professional case review desk ─────────────────────────── */
:root {
  --trust-blue: #5b8def;
  --trust-blue-strong: #76a4ff;
  --review-surface: #1d232a;
  --review-surface-raised: #232a32;
}

body { background-image: none; background-color: #181c21; }
.main-content { padding-top: 0; }
.app-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 58px;
  margin: 0 calc(clamp(34px,4.5vw,72px) * -1) 30px;
  padding: 0 clamp(34px,4.5vw,72px);
  border-bottom: 1px solid #303740;
  background: rgba(24,28,33,.94);
  backdrop-filter: blur(12px);
}
.topbar-context, .topbar-actions, .topbar-security { display: flex; align-items: center; }
.topbar-context { gap: 9px; font-size: 12px; }
.topbar-product { color: #f4f7fb; font-weight: 750; }
.topbar-separator { color: #4f5965; }
.topbar-section, .topbar-help { color: #929da9; }
.topbar-actions { gap: 18px; font-size: 11px; }
.topbar-help:hover { color: #fff; text-decoration: none; }
.topbar-security { gap: 7px; color: #9ca7b3; }
.topbar-security > span { width: 6px; height: 6px; border-radius: 50%; background: #55c58b; }
.topbar-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #3c4651;
  border-radius: 7px;
  background: #252c34;
  color: #d8e0e8;
  font-size: 10px;
  font-weight: 750;
}
.case-review-header {
  position: sticky;
  top: 0;
  z-index: 18;
  margin-bottom: 18px;
  padding: 4px 0 18px;
  background: linear-gradient(180deg, #181c21 82%, rgba(24,28,33,0));
}
.case-title-line { display: flex; align-items: center; gap: 12px; }
.case-id-label {
  padding: 3px 7px;
  border: 1px solid #39424c;
  border-radius: 5px;
  color: #818d99;
  font: 600 9px var(--mono);
  letter-spacing: .04em;
}
.case-summary-strip { border-radius: 8px; }
.case-summary-strip .stat-card { min-height: 78px; padding: 14px 20px; }
.case-summary-strip .stat-num { font-size: 22px; }
.case-jumpbar {
  top: 94px;
  border-radius: 8px;
  background: rgba(28,33,39,.96);
}
.refinement-card {
  border-left: 3px solid var(--trust-blue);
  border-radius: 8px;
  background: #20262d;
}
.refinement-option { border-radius: 6px; }
.refinement-option:hover, .refinement-option.active {
  border-color: var(--trust-blue);
  background: rgba(91,141,239,.12);
  color: #dce8ff;
}
.identity-list {
  overflow: hidden;
  gap: 0;
  border: 1px solid #303842;
  border-radius: 9px;
  background: var(--review-surface);
}
.identity-table-head, .identity-profile-head {
  display: grid;
  grid-template-columns: minmax(180px,1.1fr) minmax(260px,1.65fr) 110px 140px 105px;
  gap: 18px;
  align-items: center;
}
.identity-table-head {
  min-height: 39px;
  padding: 0 16px;
  border-bottom: 1px solid #303842;
  background: #20262d;
  color: #77828e;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.identity-profile {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.identity-profile + .identity-profile { border-top: 1px solid #303842; }
.identity-profile:hover { background: #222930; }
.identity-profile-head { min-height: 82px; padding: 13px 16px; }
.identity-name { color: #f2f5f8; font-size: 14px; letter-spacing: -.015em; }
.identity-meta { margin-top: 2px; font-size: 10px; }
.identity-at-a-glance {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 5px 14px;
}
.identity-at-a-glance strong {
  color: #d2d8df;
  font-size: 11px;
  font-weight: 550;
}
.identity-evidence-summary { color: #d8dee5; font-size: 11px; }
.identity-evidence-summary strong { font-size: 15px; }
.identity-evidence-summary span { color: #949faa; }
.identity-evidence-summary small, .identity-confidence-cell small {
  display: block;
  margin-top: 2px;
  color: #747f8a;
  font-size: 9px;
}
.identity-confidence-cell { display: flex; flex-direction: column; align-items: flex-start; }
.identity-status { border-radius: 5px; }
.status-unconfirmed, .status-possible-match { color: #d8ae68; background: rgba(216,174,104,.1); }
.status-likely-match { color: #9bbcff; background: rgba(91,141,239,.13); }
.identity-row-actions { display: flex; align-items: center; gap: 5px; justify-content: flex-end; }
.identity-review-button {
  min-height: 31px;
  padding: 6px 12px;
  border: 1px solid #5576b7;
  border-radius: 6px;
  background: #2a3a55;
  color: #dce8ff;
  font: 650 10px var(--sans);
  cursor: pointer;
}
.identity-review-button:hover { border-color: var(--trust-blue-strong); background: #31466b; }
.compact-reset { min-height: 31px; padding: 6px 8px; font-size: 9px; }
.identity-profile.decision-confirmed { box-shadow: inset 3px 0 #55c58b; }
.identity-profile.decision-rejected { opacity: .52; }
.identity-profile.decision-rejected:hover { opacity: .72; }
.identity-review-drawer {
  position: fixed;
  z-index: 501;
  top: 0;
  right: 0;
  width: min(560px, 92vw);
  height: 100vh;
  overflow: auto;
  border-left: 1px solid #3a434e;
  background: #1b2026;
  box-shadow: -24px 0 70px rgba(0,0,0,.42);
  transform: translateX(105%);
  transition: transform .22s ease;
}
.identity-review-drawer.open { transform: translateX(0); }
.identity-drawer-backdrop {
  position: fixed;
  z-index: 500;
  inset: 0;
  background: rgba(3,7,12,.6);
  backdrop-filter: blur(2px);
}
.identity-drawer-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 74px;
  padding: 14px 22px;
  border-bottom: 1px solid #343c46;
  background: rgba(27,32,38,.96);
}
.identity-drawer-header h2 { color: #f5f7fa; font-size: 17px; }
.drawer-eyebrow {
  color: #77838f;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.identity-drawer-close {
  width: 32px;
  height: 32px;
  border: 1px solid #3a444f;
  border-radius: 6px;
  background: #232a32;
  color: #b4bec8;
  font-size: 20px;
  cursor: pointer;
}
.identity-drawer-content { padding: 22px; }
.drawer-candidate-heading { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.drawer-candidate-heading h3 { color: #fff; font-size: 23px; letter-spacing: -.03em; }
.identity-drawer-content .identity-metrics { margin-bottom: 18px; }
.identity-drawer-content .identity-fields { grid-template-columns: 1fr; }
.drawer-decision-panel {
  margin-top: 22px;
  padding: 16px;
  border: 1px solid #3a444f;
  border-radius: 8px;
  background: #21272e;
}
.drawer-decision-panel p { color: #c5ccd4; font-size: 11px; }
.drawer-decision-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 9px; }
.drawer-decision-panel small { color: #727d88; font-size: 9px; }
body.drawer-open { overflow: hidden; }
.provider-card-grid { gap: 7px; }
.provider-card {
  border-radius: 7px;
  background: #1d2329;
  box-shadow: none;
}
.provider-card-head { min-height: 58px; align-items: center; }
.provider-card-body { grid-template-columns: repeat(4,minmax(0,1fr)); }
.provider-card-body .kv-row { padding-right: 16px; border-right: 1px solid #303842; }
.provider-card-body .kv-row:nth-child(4n) { border-right: 0; }

@media (max-width: 1120px) {
  .identity-table-head { display: none; }
  .identity-profile-head { grid-template-columns: 1fr 1.4fr 100px 120px; }
  .identity-row-actions { grid-column: 4; }
  .identity-evidence-summary { display: none; }
}
@media (max-width: 800px) {
  .app-topbar { display: none; }
  .identity-profile-head { grid-template-columns: 1fr auto; gap: 10px; }
  .identity-at-a-glance { grid-column: 1 / -1; }
  .identity-confidence-cell { grid-column: 1; }
  .identity-row-actions { grid-column: 2; grid-row: 3; }
  .provider-card-body { grid-template-columns: 1fr 1fr; }
  .topbar-security, .topbar-help { display: none; }
  .case-review-header { position: static; }
  .case-jumpbar { top: 0; }
}

/* ── Phase 13: accessible premium graphite palette ───────────────────── */
:root {
  --bg: #252a31;
  --bg2: #2b3139;
  --surface: #303740;
  --surface2: #38414b;
  --border: #48525e;
  --border2: #5a6775;
  --text: #ffffff;
  --text2: #d2d9e1;
  --text3: #aab5c1;
  --cyan: #72d8d0;
  --cyan-dim: #5fc4bc;
  --trust-blue: #79a5ff;
  --trust-blue-strong: #9bbcff;
  --review-surface: #303740;
  --review-surface-raised: #39424c;
}

html,
body {
  background-color: var(--bg);
}

body {
  background-image:
    radial-gradient(circle at 65% -20%, rgba(121,165,255,.08), transparent 38%),
    linear-gradient(180deg, #2b3038 0, #252a31 460px);
}

.sidebar {
  background: #20252b;
  border-right-color: #3f4852;
}

.logo-sub,
.nav-label,
.sidebar-version,
.section-description,
.back-link {
  color: #9da9b6;
}

.nav-item { color: #c1cad4; }
.nav-item:hover { background: #303740; color: #fff; }
.nav-item.active {
  background: #304044;
  color: #eafffd;
  box-shadow: inset 0 0 0 1px #476268;
}

.app-topbar {
  border-bottom-color: #4a545f;
  background: rgba(42,47,55,.96);
}
.topbar-separator { color: #84909c; }
.topbar-section,
.topbar-help,
.topbar-security { color: #c1cad4; }
.topbar-avatar {
  border-color: #596573;
  background: #3a424c;
  color: #f0f4f8;
}

.case-review-header {
  background: linear-gradient(180deg, #252a31 82%, rgba(37,42,49,0));
}
.case-id-label {
  border-color: #5a6673;
  color: #bdc7d1;
}
.case-jumpbar {
  border-color: #4d5864;
  background: rgba(48,55,64,.97);
}

.card,
.stat-card,
.search-command-card,
.quick-search-card,
.case-list,
.refinement-card {
  background-color: var(--surface);
  border-color: var(--border);
  box-shadow: 0 8px 24px rgba(0,0,0,.10);
}

.quick-search-card {
  background: linear-gradient(120deg, #303740, #304043);
}

.quick-field-chip,
.quick-criteria-chip,
.quick-age-chip,
.quick-input-shell,
.quick-age-field,
input,
select,
textarea {
  border-color: #596572;
  background: #293038;
  color: #f8fafc;
}

.quick-field-chip:hover:not(:disabled),
.quick-criteria-chip:hover,
.quick-age-chip:hover {
  border-color: #72808e;
  background: #343d46;
}

.identity-list {
  border-color: #53606d;
  background: var(--review-surface);
}
.identity-table-head {
  border-bottom-color: #53606d;
  background: #3a424c;
  color: #bdc7d1;
}
.identity-profile + .identity-profile { border-top-color: #4d5864; }
.identity-profile:hover { background: #39424c; }
.identity-name { color: #fff; }
.identity-meta,
.identity-evidence-summary span { color: #bac4ce; }
.identity-at-a-glance strong,
.identity-evidence-summary { color: #edf1f5; }
.identity-evidence-summary small,
.identity-confidence-cell small { color: #aeb9c4; }

.identity-review-button {
  border-color: #7898d6;
  background: #40557b;
  color: #fff;
}
.identity-review-button:hover {
  border-color: #a6c0f5;
  background: #4c6592;
}

.identity-review-drawer {
  border-left-color: #5c6875;
  background: #2d343c;
  box-shadow: -20px 0 56px rgba(0,0,0,.28);
}
.identity-drawer-backdrop { background: rgba(16,20,25,.52); }
.identity-drawer-header {
  border-bottom-color: #56616e;
  background: rgba(45,52,60,.97);
}
.drawer-eyebrow,
.drawer-decision-panel small { color: #aeb9c4; }
.identity-drawer-close {
  border-color: #64717e;
  background: #3d4650;
  color: #f0f4f8;
}
.drawer-decision-panel {
  border-color: #596572;
  background: #38414a;
}
.drawer-decision-panel p { color: #e0e5ea; }

.provider-card {
  border-color: #4d5965;
  background: #303740;
}
.provider-card-head { background: #353d46; }
.provider-card-body .kv-row { border-right-color: #4c5762; }
.kv-row { border-bottom-color: #48535e; }

.case-list-head { background: #39414a; color: #bac4ce; }
.case-list-row:hover,
.result-card:hover { background: #39424c; }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid rgba(121,165,255,.65);
  outline-offset: 2px;
}

/* Authentication */
.auth-page {
  min-height: 100vh;
  background: #2b3138;
  color: #f0f4f8;
}
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth-card {
  width: min(100%, 440px);
  padding: 32px;
  border: 1px solid #56616e;
  border-radius: 10px;
  background: #343c45;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
}
.auth-brand {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  border: 1px solid #79a5ff;
  border-radius: 9px;
  color: #b9ceff;
  font-weight: 800;
}
.auth-card h1 { margin: 0 0 8px; font-size: 26px; }
.auth-card > p { color: #c3ccd5; line-height: 1.6; }
.auth-form { margin-top: 24px; }
.auth-submit { width: 100%; justify-content: center; }
.auth-notice { margin: 24px 0 0; font-size: 12px; }
.auth-legal { display: flex; gap: 16px; margin-top: 16px; font-size: 12px; }
.policy-shell { width: min(100% - 32px, 820px); margin: 0 auto; padding: 48px 0; }
.policy-card {
  padding: clamp(24px, 5vw, 48px);
  border: 1px solid #56616e;
  border-radius: 10px;
  background: #343c45;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .25);
}
.policy-card h1 { margin: 4px 0 24px; font-size: clamp(26px, 4vw, 36px); }
.policy-card h2 { margin: 28px 0 8px; font-size: 19px; }
.policy-card p,
.policy-card li { color: #d1d8df; line-height: 1.7; }
.policy-card ul { padding-left: 24px; }
.policy-note { margin-top: 32px; padding-top: 20px; border-top: 1px solid #56616e; font-size: 13px; }
