@import url("pf-tokens.css");

html { --sidebar-w:248px; }

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

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

body {
}

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

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

.sidebar {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: var(--sidebar-w);
  background: color-mix(in srgb,var(--card-lo) 94%,transparent);
  border-right: 1px solid var(--line);
  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(--line);
}
.logo-icon { font-size: 20px; }
.logo-mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb,var(--blue) 75%,transparent);
  border-radius: 10px;
  color: var(--blue);
  font-size: 19px;
  font-weight: 700;
}
.logo-text {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -.45px;
  display: block;
}
.logo-text span { color: var(--blue); }
.logo-sub { display: block; margin-top: 1px; color: var(--ink-3); 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(--r-sm);
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 500;
  transition: all .15s;
  margin-bottom: 2px;
}
.nav-item:hover { background: var(--card-hi); color: var(--ink); text-decoration: none; }
.nav-item.active { background: color-mix(in srgb,var(--blue) 10%,transparent); color: var(--blue); box-shadow: inset 0 0 0 1px color-mix(in srgb,var(--blue) 14%,transparent); }
.nav-icon { font-size: 11px; width: 16px; text-align: center; }

.sidebar-footer {
  padding: 12px 16px;
  border-top: 1px solid var(--line);
}
.sidebar-badge {
  display: inline-block;
  background: color-mix(in srgb,var(--gauge-low) 12%,transparent);
  color: var(--gauge-low);
  border: 1px solid color-mix(in srgb,var(--gauge-low) 30%,transparent);
  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(--ink-3); }

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

.nav-label {
  padding: 0 13px 8px;
  color: var(--ink-3);
  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(--ink-2);
  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(--blue);
  box-shadow: 0 0 8px color-mix(in srgb,var(--blue) 55%,transparent);
}
.mobile-bar { display: none; }
.eyebrow {
  margin-bottom: 5px;
  color: var(--blue-tx);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.back-link {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--ink-3);
  font-size: 12px;
  font-weight: 600;
}
.back-link:hover { color: var(--blue); text-decoration: none; }
.section-description {
  margin-top: 3px;
  color: var(--ink-3);
  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(--line-hi);
  border-radius: 18px;
  background: color-mix(in srgb,var(--card-lo) 96%,transparent);
  box-shadow: 0 18px 48px color-mix(in srgb,var(--card-lo) 24%,transparent);
}
.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 color-mix(in srgb,var(--blue) 25%,transparent);
  border-radius: 12px;
  background: color-mix(in srgb,var(--blue) 7%,transparent);
}
.search-command-copy { min-width: 0; flex: 1; }
.live-status-text { color: var(--ink); 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(--ink-2);
  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(--line);
  border-radius: 10px;
  background: var(--card-lo);
}
.search-command-metrics > div {
  min-width: 82px;
  padding: 8px 13px;
  text-align: right;
}
.search-command-metrics > div + div { border-left: 1px solid var(--line); }
.search-command-metrics strong {
  display: block;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 16px;
  line-height: 1.1;
}
.search-command-metrics span {
  display: block;
  color: var(--ink-3);
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.search-command-card .progress-bar-wrap {
  height: 3px;
  margin: 0;
  background: var(--card-lo);
}
.search-command-card .progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--blue-tx), var(--blue));
  box-shadow: 0 0 12px color-mix(in srgb,var(--blue) 25%,transparent);
}
.activity-drawer { border-top: 1px solid var(--line); }
.activity-drawer summary {
  display: flex;
  justify-content: space-between;
  padding: 11px 20px;
  color: var(--ink-2);
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.activity-drawer summary::-webkit-details-marker { display: none; }
.activity-summary-meta { color: var(--ink-3); 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(--line);
  background: var(--card-lo);
}

/* 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: var(--ink); 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(--line);
  border-radius: 13px;
  background: color-mix(in srgb,var(--card-lo) 94%,transparent);
  box-shadow: 0 10px 30px color-mix(in srgb,var(--card-lo) 25%,transparent);
  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(--ink-2);
  font: 600 11px var(--sans);
  cursor: pointer;
  white-space: nowrap;
}
.result-filter span {
  min-width: 19px;
  padding: 0 5px;
  border-radius: 9px;
  background: var(--card-hi);
  color: var(--ink-3);
  font: 600 9px var(--mono);
}
.result-filter:hover { color: var(--ink); background: var(--card); }
.result-filter.active { color: var(--blue); background: color-mix(in srgb,var(--blue) 10%,transparent); }
.result-filter.active span { color: var(--blue); background: color-mix(in srgb,var(--blue) 12%,transparent); }
.result-search-wrap {
  display: flex;
  align-items: center;
  gap: 7px;
  width: 270px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--card-lo);
  color: var(--ink-3);
}
.result-search-wrap:focus-within { border-color: var(--blue-tx); }
.result-search-wrap input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--ink);
  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(--line);
  border-radius: 13px;
  background: color-mix(in srgb,var(--card-lo) 90%,transparent);
  transition: border-color .15s, transform .15s, background .15s;
}
.result-card:hover {
  transform: translateY(-1px);
  border-color: var(--line-hi);
  background: var(--card-lo);
}
.rc-accent { background: var(--card-hi); }
.result-card-person .rc-accent { background: var(--blue-tx); }
.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 color-mix(in srgb,var(--blue) 28%,transparent);
  border-radius: 10px;
  background: color-mix(in srgb,var(--blue) 8%,transparent);
  color: var(--blue);
  font-size: 13px;
  font-weight: 800;
}
.rc-avatar-source {
  border-color: var(--line-hi);
  background: var(--card-hi);
  color: var(--ink-3);
}
.rc-heading { min-width: 0; flex: 1; }
.rc-meta { display: flex; align-items: center; gap: 7px; margin-bottom: 2px; }
.rc-source {
  color: var(--ink-3);
  font-family: var(--mono);
  font-size: 9px;
  text-transform: lowercase;
}
.rc-cat {
  padding: 1px 6px;
  border-radius: 7px;
  background: var(--card-hi);
  color: var(--ink-3);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rc-cat-people_record { background: color-mix(in srgb,var(--blue) 10%,transparent); color: var(--blue); }
.rc-cat-court { background: color-mix(in srgb,var(--blue) 10%,transparent); color: var(--blue-tx); }
.rc-title {
  overflow: hidden;
  color: var(--ink);
  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(--line-hi);
  border-radius: 7px;
  color: var(--blue);
  font-size: 10px;
  font-weight: 700;
}
.rc-open-link:hover, .rc-profile-link:hover {
  border-color: var(--blue-tx);
  background: color-mix(in srgb,var(--blue) 7%,transparent);
  text-decoration: none;
}
.rc-body {
  display: grid;
  gap: 5px;
  margin: 11px 0 0 45px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.rc-extra {
  color: var(--ink-2);
  font-size: 10px;
  line-height: 1.55;
}
.rc-label {
  margin-right: 5px;
  color: var(--ink-3);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.rc-phone {
  display: inline-flex;
  margin-right: 5px;
  color: var(--ink);
  font-family: var(--mono);
}
.rc-empty-detail {
  margin: 9px 0 0 45px;
  color: var(--ink-3);
  font-size: 10px;
}
.rc-deep-btn {
  padding: 5px 8px;
  border: 1px solid var(--line-hi);
  border-radius: 6px;
  background: var(--card-lo);
  color: var(--blue);
  font: 600 10px var(--sans);
  cursor: pointer;
}
.result-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 20px;
  border: 1px dashed var(--line-hi);
  border-radius: 13px;
  color: var(--ink-2);
}
.result-empty span { margin-top: 3px; color: var(--ink-3); font-size: 11px; }
.review-guide {
  position: sticky;
  top: 75px;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: color-mix(in srgb,var(--card-lo) 92%,transparent);
}
.review-guide-title {

  margin-bottom: 13px;
  color: var(--ink);
  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: color-mix(in srgb,var(--blue) 10%,transparent);
  color: var(--blue);
  font: 700 9px var(--mono);
}
.review-guide p { color: var(--ink-3); font-size: 10px; line-height: 1.45; }
.review-guide strong { display: block; color: var(--ink-2); font-size: 10px; }
.review-note {
  padding-top: 12px;
  border-top: 1px solid var(--line);
  color: var(--ink-3);
  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 color-mix(in srgb,var(--card-lo) 20%,transparent);
  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: color-mix(in srgb,var(--blue) 2.5%,transparent); }
.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(--ink-3); font-size: 11px; }
.shortcut-hint {
  padding: 3px 7px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink-3);
  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) {
  .sidebar {
    transform: translateX(-100%);
    transition: transform .2s ease;
    box-shadow: 16px 0 40px color-mix(in srgb,var(--card-lo) 45%,transparent);
  }
  .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(--line);
    border-radius: 8px;
    background: var(--card);
    color: var(--ink);
  }
  .mobile-brand { color: var(--ink); font-size: 14px; font-weight: 800; }
  .mobile-brand span { color: var(--blue); }
  .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: var(--ink);
  letter-spacing: -.4px;
}
.page-sub { font-size: 14px; color: var(--ink-2); 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(--r-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, var(--card-hi), var(--card-lo)); color: var(--ink); border: 1px solid var(--blue); box-shadow: inset 0 1px color-mix(in srgb,var(--ink) 8%,transparent); }
.btn-primary:hover { background: linear-gradient(180deg, var(--card-hi), var(--card)); border-color: var(--blue); }
.btn-secondary { background: var(--card-hi); color: var(--ink); border: 1px solid var(--line-hi); }
.btn-secondary:hover { background: var(--card-lo); }
.btn-ghost { background: transparent; color: var(--ink-2); border: 1px solid var(--line); }
.btn-ghost:hover { background: var(--card-hi); color: var(--ink); }
.btn-sm { padding: 5px 10px; font-size: 12px; }
.btn-launch { padding: 10px 24px; font-size: 14px; background: var(--blue); }

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

.stats-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
.stat-card {
  background: color-mix(in srgb,var(--card-lo) 88%,transparent);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 18px 20px;
  text-align: left;
}
.stat-num {
  font-size: 26px;
  font-weight: 700;
  color: var(--blue);
  font-family: var(--mono);
}
.stat-label { font-size: 11px; color: var(--ink-2); margin-top: 2px; text-transform: uppercase; letter-spacing: .07em; }

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

.card {
  background: color-mix(in srgb,var(--card-lo) 92%,transparent);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 22px;
  margin-bottom: 16px;
}
.card-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--ink-3);
  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 color-mix(in srgb,var(--blue) 28%,transparent);
  border-radius: var(--r);
  background: linear-gradient(120deg, color-mix(in srgb,var(--card-lo) 95%,transparent), color-mix(in srgb,var(--card-lo) 95%,transparent));
}
.refinement-card h3 { margin: 3px 0 4px; color: var(--ink); font-size: 15px; }
.refinement-card p { color: var(--ink-3); font-size: 11px; }
.refinement-options { display: flex; flex-wrap: wrap; align-content: center; gap: 8px; }
.refinement-option {
  border: 1px solid var(--line-hi);
  border-radius: 999px;
  padding: 8px 12px;
  color: var(--ink-2);
  background: color-mix(in srgb,var(--ink) 3.5%,transparent);
  cursor: pointer;
}
.refinement-option:hover, .refinement-option.active {
  color: var(--blue);
  border-color: var(--blue);
  background: color-mix(in srgb,var(--blue) 10%,transparent);
}
.refinement-skip { color: var(--ink-3); 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: var(--ink); font-size: 17px; font-weight: 700; }
.identity-status {
  align-self: flex-start;
  padding: 5px 9px;
  border-radius: 999px;
  color: var(--ink-2);
  background: var(--card-hi);
  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(--ink-3);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.identity-at-a-glance strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  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: var(--ink); font-size: 16px; }
.status-strong-match { color: var(--good); background: color-mix(in srgb,var(--good) 14%,transparent); }
.status-likely-match { color: var(--blue); background: color-mix(in srgb,var(--blue) 12%,transparent); }
.status-possible-match { color: var(--gauge-mid); background: color-mix(in srgb,var(--gauge-mid) 12%,transparent); }
.status-conflicting-identity { color: var(--gauge-low); background: color-mix(in srgb,var(--gauge-low) 12%,transparent); }
.status-confirmed { color: var(--gauge-good); background: color-mix(in srgb,var(--good) 16%,transparent); }
.status-rejected { color: var(--ink-3); background: color-mix(in srgb,var(--ink-3) 10%,transparent); }
.identity-profile.decision-confirmed {
  border-color: color-mix(in srgb,var(--good) 48%,transparent);
  box-shadow: inset 3px 0 0 var(--good);
}
.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(--line-hi);
  border-radius: 6px;
  padding: 6px 10px;
  color: var(--ink-2);
  background: color-mix(in srgb,var(--ink) 2.5%,transparent);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
}
.identity-action:hover { color: var(--ink); border-color: var(--ink-3); }
.identity-action.confirm { color: var(--gauge-good); border-color: color-mix(in srgb,var(--good) 36%,transparent); }
.identity-action.confirm:hover,
.identity-action.confirm.active { background: color-mix(in srgb,var(--good) 14%,transparent); border-color: var(--good); }
.identity-action.reject:hover,
.identity-action.reject.active { color: var(--low); background: color-mix(in srgb,var(--gauge-low) 9%,transparent); border-color: color-mix(in srgb,var(--gauge-low) 42%,transparent); }
.identity-action.reset { border-style: dashed; color: var(--ink-3); }
.identity-action:disabled { cursor: wait; opacity: .55; }
.identity-action-note { margin-left: auto; color: var(--ink-3); 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: color-mix(in srgb,var(--ink) 2.5%,transparent); }
.identity-metrics strong { display: block; color: var(--ink); font-size: 13px; text-transform: capitalize; }
.identity-metrics span { display: block; color: var(--ink-3); font-size: 9px; text-transform: uppercase; }
.identity-details { border-top: 1px solid var(--line); }
.identity-details summary {
  padding: 9px 16px;
  color: var(--blue-tx);
  background: color-mix(in srgb,var(--ink) 1.5%,transparent);
  cursor: pointer;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .03em;
  list-style-position: inside;
}
.identity-details summary:hover { color: var(--blue); background: color-mix(in srgb,var(--blue) 3.5%,transparent); }
.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(--ink-3);
  font-size: 11px;
}
.identity-row {
  display: grid;
  grid-template-columns: 88px 1fr;
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.identity-label {
  color: var(--ink-3);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.identity-value { color: var(--ink); font-family: var(--mono); margin-bottom: 4px; }
.identity-value small { display: block; color: var(--ink-3); font-family: var(--sans); }
.identity-sources { margin-top: 10px; }
.identity-match { color: var(--blue-tx); 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: var(--good); background: color-mix(in srgb,var(--good) 8%,transparent); }
.identity-conflicts span { color: var(--gauge-low); background: color-mix(in srgb,var(--gauge-low) 8%,transparent); }
@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: var(--ink);
}
.section-count {
  background: var(--card-hi);
  color: var(--ink-2);
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 600;
}
.breach-count { background: color-mix(in srgb,var(--gauge-low) 15%,transparent); color: var(--low); }

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

.cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
  margin-bottom: 32px;
}
.case-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: var(--r);
  padding: 18px;
  transition: border-color .15s;
}
.case-card:hover { border-color: var(--line-hi); }
.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: var(--ink); }
.case-desc { font-size: 12px; color: var(--ink-2); 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(--blue); font-family: var(--mono); }
.stat-lbl { font-size: 10px; color: var(--ink-3); 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(--ink-3); }

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

.form-card { background: var(--card); border: 1px solid var(--line); border-radius: var(--r); 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(--ink); margin-bottom: 6px; }
.required { color: var(--low); }
.form-optional { color: var(--ink-3); font-weight: 400; }
.form-input {
  width: 100%;
  background: var(--card-lo);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 13px;
  padding: 11px 13px;
  outline: none;
  transition: border-color .15s;
}
.form-input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px color-mix(in srgb,var(--blue) 9%,transparent); }
.form-input-lg { font-size: 15px; padding: 12px 14px; }
.form-input.input-error { border-color: var(--low); }
.form-textarea { min-height: 80px; resize: vertical; }
.form-select {
  background: var(--card-lo);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink);
  font-size: 13px;
  padding: 8px 10px;
  outline: none;
}
.form-select:focus { border-color: var(--blue); }
.form-hint { font-size: 12px; color: var(--ink-3); margin-top: 4px; }

.form-hint.inline { display: inline; margin-left: 6px; }
.form-divider { height: 1px; background: var(--line); 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(--blue); }

/* ── 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(--card-lo);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink-2);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .15s;
}
.type-tab:hover { border-color: var(--line-hi); color: var(--ink); }
.type-tab.active { background: color-mix(in srgb,var(--blue) 10%,transparent); border-color: color-mix(in srgb,var(--blue) 65%,transparent); color: var(--blue); }
.tab-icon { font-size: 14px; }

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

.sources-box {
  background: var(--card-lo);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 12px 14px;
  margin-bottom: 20px;
}
.sources-title { font-size: 11px; font-weight: 600; color: var(--ink-3); 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: color-mix(in srgb,var(--name) 15%,transparent); color: var(--good); }
.badge-closed  { background: color-mix(in srgb,var(--ink-3) 15%,transparent); color: var(--ink-3); }
.badge-pending { background: color-mix(in srgb,var(--gauge-mid) 15%,transparent); color: var(--warn); }
.badge-error   { background: color-mix(in srgb,var(--gauge-low) 15%,transparent); color: var(--low); }

.pill {
  display: inline-block;
  padding: 2px 7px;
  background: var(--card-hi);
  border: 1px solid var(--line);
  border-radius: 3px;
  font-size: 11px;
  font-family: var(--mono);
  color: var(--ink-2);
}
.pill-type-name     { background: color-mix(in srgb,var(--name) 8%,transparent); border-color: color-mix(in srgb,var(--name) 30%,transparent); color: var(--blue); }
.pill-type-email    { background: color-mix(in srgb,var(--gauge-low) 8%,transparent); border-color: color-mix(in srgb,var(--gauge-low) 30%,transparent); color: var(--low); }
.pill-type-phone    { background: color-mix(in srgb,var(--name) 8%,transparent); border-color: color-mix(in srgb,var(--name) 30%,transparent); color: var(--good); }
.pill-type-username { background: color-mix(in srgb,var(--gauge-mid) 8%,transparent); border-color: color-mix(in srgb,var(--gauge-mid) 30%,transparent); color: var(--warn); }
.pill-type-address  { background: color-mix(in srgb,var(--gauge-low) 8%,transparent); border-color: color-mix(in srgb,var(--gauge-low) 30%,transparent); color: var(--low); }
.pill-data { background: color-mix(in srgb,var(--gauge-low) 8%,transparent); border-color: color-mix(in srgb,var(--gauge-low) 20%,transparent); color: var(--low); font-size: 10px; }

.source-tag {
  display: inline-block;
  padding: 3px 8px;
  background: color-mix(in srgb,var(--name) 6%,transparent);
  border: 1px solid color-mix(in srgb,var(--name) 15%,transparent);
  border-radius: 3px;
  font-size: 11px;
  color: var(--blue);
}

.conf-badge { font-size: 11px; font-weight: 600; }
.conf-high   { color: var(--good); }
.conf-medium { color: var(--warn); }
.conf-low    { color: var(--ink-3); }

/* ── 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(--ink-3);
  padding: 8px 12px;
  border-bottom: 1px solid var(--line);
}
.data-table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.data-table tr:last-child td { border-bottom: none; }
.data-table tr:hover td { background: color-mix(in srgb,var(--ink) 2%,transparent); }
.mono { font-family: var(--mono); font-size: 12px; }
.muted { color: var(--ink-2); font-size: 12px; }
.link-sm { font-size: 12px; color: var(--blue); }
.breach-name { font-weight: 600; color: var(--low); }

/* ── 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(--card-lo);
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  padding: 12px;
}
.profile-source { font-size: 10px; color: var(--ink-3); text-transform: uppercase; margin-bottom: 4px; }
.profile-title { font-size: 13px; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.profile-url { font-size: 11px; color: var(--blue); 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(--line);
}
.address-row:last-child { border: none; }
.address-source { font-family: var(--mono); font-size: 11px; color: var(--ink-3); min-width: 130px; }
.address-title { flex: 1; font-size: 13px; }

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

/* ── 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(--line);
  background: var(--card-lo);
}
.live-status-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dot-running { background: var(--blue); box-shadow: 0 0 8px var(--blue); animation: pulse 1.2s infinite; }
.dot-done    { background: var(--good); }
.dot-error   { background: var(--low); }

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

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

.log-container {
  background: var(--card-lo);
  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(--ink-3); margin-right: 10px; }
.log-info    .log-msg { color: var(--ink-2); }
.log-success .log-msg { color: var(--good); }
.log-error   .log-msg { color: var(--low); }

.progress-bar-wrap { height: 3px; background: var(--card-lo); }
.progress-bar {
  height: 100%;
  background: linear-gradient(90deg, var(--blue), var(--blue-hi));
  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(--line);
  font-size: 13px;
}
.result-row:last-child { border: none; }
.result-source { font-family: var(--mono); font-size: 11px; color: var(--ink-3); min-width: 110px; }
.result-category { min-width: 80px; }
.badge-cat-social   { color: var(--blue); }
.badge-cat-breach   { color: var(--low); }
.badge-cat-phone_info { color: var(--good); }
.badge-cat-address  { color: var(--warn); }
.badge-cat-misc     { color: var(--ink-3); }
.result-title { flex: 1; }
.result-link { font-size: 12px; color: var(--blue); margin-left: auto; white-space: nowrap; }
.result-link-profile {
  font-size: 12px; color: var(--good); margin-left: auto; white-space: nowrap;
  background: color-mix(in srgb,var(--good) 10%,transparent); border: 1px solid color-mix(in srgb,var(--good) 30%,transparent);
  padding: 2px 8px; border-radius: 4px; text-decoration: none;
  transition: background .15s;
}
.result-link-profile:hover { background: color-mix(in srgb,var(--good) 20%,transparent); color: var(--good); }

.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(--line);
  border-radius: 6px;
  margin-bottom: 8px;
  background: var(--card);
  overflow: hidden;
  transition: border-color .15s;
}
.result-card:hover { border-color: var(--card-hi); }
.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(--ink-3);
  min-width: 110px;
  white-space: nowrap;
}
.rc-cat { font-size: 11px; min-width: 90px; }
.rc-cat-people_record { color: var(--blue); }
.rc-cat-court         { color: var(--warn); }
.rc-cat-web           { color: var(--low); }
.rc-cat-address       { color: var(--warn); }
.rc-cat-reference     { color: var(--ink-3); }
.rc-cat-misc          { color: var(--ink-3); }
.rc-title { flex: 1; color: var(--ink); font-weight: 500; }
.rc-open-link    { font-size: 12px; color: var(--blue); white-space: nowrap; text-decoration: none; }
.rc-profile-link { font-size: 12px; color: var(--good); white-space: nowrap; text-decoration: none;
  background: color-mix(in srgb,var(--good) 10%,transparent); border: 1px solid color-mix(in srgb,var(--good) 25%,transparent);
  padding: 2px 9px; border-radius: 4px; transition: background .15s; }
.rc-profile-link:hover { background: color-mix(in srgb,var(--good) 20%,transparent); }
.rc-body {
  border-top: 1px solid var(--line);
  padding: 8px 14px 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.rc-extra {
  font-size: 12px;
  color: var(--ink);
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px;
}
.rc-label {
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ink-3);
  white-space: nowrap;
  margin-right: 4px;
}
.rc-phone {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--good);
  background: color-mix(in srgb,var(--good) 10%,transparent);
  border: 1px solid color-mix(in srgb,var(--good) 25%,transparent);
  padding: 1px 8px;
  border-radius: 4px;
  font-weight: 600;
}
.rc-addr {
  font-family: var(--mono);
  font-size: 12px;
  color: var(--blue-tx);
}
.rc-hints { color: var(--ink-3); font-size: 11px; }
.rc-muted { color: var(--ink-3); font-size: 11px; font-style: italic; }
.rc-deep-btn {
  font-size: 11px;
  color: var(--blue-tx);
  background: color-mix(in srgb,var(--blue) 8%,transparent);
  border: 1px dashed color-mix(in srgb,var(--blue) 35%,transparent);
  padding: 3px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: background .15s;
}
.rc-deep-btn:hover { background: color-mix(in srgb,var(--blue) 16%,transparent); }
.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(--card); border: 1px solid var(--line); border-radius: var(--r); 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(--line); }
.provider-card-title { color: var(--ink); 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(--line); background: color-mix(in srgb,var(--ink) 1.5%,transparent); }
.provider-status { display: inline-flex; padding: 3px 8px; border-radius: 999px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.status-retrieved { color: var(--good); background: color-mix(in srgb,var(--good) 10%,transparent); border: 1px solid color-mix(in srgb,var(--good) 30%,transparent); }
.status-blocked { color: var(--low); background: color-mix(in srgb,var(--gauge-low) 10%,transparent); border: 1px solid color-mix(in srgb,var(--gauge-low) 30%,transparent); }
.status-manual { color: var(--warn); background: color-mix(in srgb,var(--warn) 10%,transparent); border: 1px solid color-mix(in srgb,var(--warn) 30%,transparent); }
.provider-note { color: var(--ink-3); font-size: 11px; padding-top: 8px; }
.web-result-snippet { color: var(--ink-2); line-height: 1.55; margin: 4px 0; }

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

.alert { padding: 10px 14px; border-radius: var(--r-sm); margin-bottom: 16px; font-size: 13px; }
.alert-error { background: color-mix(in srgb,var(--gauge-low) 12%,transparent); border: 1px solid color-mix(in srgb,var(--gauge-low) 30%,transparent); color: var(--low); }

/* ── 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: var(--ink); margin-bottom: 6px; }
.empty-sub { color: var(--ink-2); margin-bottom: 20px; }
.empty-inline { padding: 20px; color: var(--ink-2); font-size: 13px; }

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

.modal-box {
  background: var(--card);
  border: 1px solid var(--line-hi);
  border-radius: var(--r);
  width: 100%;
  max-width: 440px;
  padding: 24px;
  box-shadow: 0 20px 60px color-mix(in srgb,var(--card-lo) 70%,transparent);
  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: var(--ink); }
.modal-close {
  background: none; border: none; cursor: pointer;
  color: var(--ink-3); font-size: 20px; line-height: 1;
  padding: 0 4px; border-radius: var(--r-sm);
  transition: color .15s;
}
.modal-close:hover { color: var(--ink); }

/* ── Scrollbar ───────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--card-lo); }
::-webkit-scrollbar-thumb { background: var(--line-hi); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--ink-3); }

/* ── 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 ───────────────────────────────────── */

.sidebar-logo { padding:22px 18px; }
.logo-mark { display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid color-mix(in srgb,var(--blue) 72%,transparent);border-radius:10px;color:var(--blue);font-size:18px;font-weight:800;background:color-mix(in srgb,var(--blue) 3.5%,transparent);box-shadow:none }
.logo-text { display:block }
.logo-sub { display:block;color:var(--ink-3);font-size:10px;margin-top:1px }
.sidebar-nav { padding:18px 12px }
.nav-item { padding:11px 12px }
.nav-item.active { background:color-mix(in srgb,var(--blue) 10%,transparent);color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 14%,transparent) }
.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(--blue);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px }
.back-link { display:inline-block;color:var(--ink-3);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(--ink-3);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,color-mix(in srgb,var(--card-lo) 96%,transparent),color-mix(in srgb,var(--card-lo) 96%,transparent));border-color:color-mix(in srgb,var(--blue) 24%,transparent) }
.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(--ink);font-size:13px;text-transform:none;letter-spacing:0 }
.quick-search-heading p { color:var(--ink-3);font-size:11px }
.shortcut-hint { color:var(--ink-3);border:1px solid var(--line);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(--line-hi);
  border-radius:999px;
  background:color-mix(in srgb,var(--card-lo) 55%,transparent);
  color:var(--ink-2);
  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(--ink);border-color:color-mix(in srgb,var(--blue) 45%,transparent);transform:translateY(-1px) }
.quick-field-chip.active { color:var(--ink);background:color-mix(in srgb,var(--blue) 13%,transparent);border-color:color-mix(in srgb,var(--blue) 65%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent),0 0 0 3px color-mix(in srgb,var(--blue) 5%,transparent) }
.quick-field-chip:focus-visible { outline:2px solid var(--blue);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(--ink-3);font-size:9px;font-weight:500 }
.quick-age-chip.active span { color:color-mix(in srgb,var(--ink) 64%,transparent) }
.quick-input-shell,.quick-age-field {
  display:block;
  padding:7px 12px 8px;
  border:1px solid var(--line);
  border-radius:var(--r-sm);
  background:var(--card-lo);
  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(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 9%,transparent) }
.quick-input-label { display:block;margin-bottom:1px;color:var(--blue);font-size:9px;font-weight:700;letter-spacing:.07em;line-height:1.2;text-transform:uppercase }
.quick-input-label small { color:var(--ink-3);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(--ink-3);font-size:9px;font-weight:500 }
.quick-criteria-chip.active small { color:color-mix(in srgb,var(--ink) 58%,transparent) }
.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(--ink-3);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:var(--card-lo);color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase }
.case-list-row { padding:14px 18px;border-top:1px solid var(--line);transition:background .15s }
.case-list-row:hover { background:color-mix(in srgb,var(--ink) 1.8%,transparent) }
.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:color-mix(in srgb,var(--blue) 10%,transparent);border:1px solid color-mix(in srgb,var(--blue) 16%,transparent);color:var(--blue);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(--ink-3);font-size:11px }
.case-activity strong { color:var(--ink);font-family:var(--mono) }
.case-date { color:var(--ink-2);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(--line);border-radius:12px;background:color-mix(in srgb,var(--card-lo) 94%,transparent);backdrop-filter:blur(12px) }
.case-jumpbar a { color:var(--ink-2);padding:7px 11px;border-radius:7px;font-size:11px;font-weight:600 }
.case-jumpbar a:hover { color:var(--ink);background:var(--card-hi);text-decoration:none }
.case-jumpbar span { color:var(--blue);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 color-mix(in srgb,var(--card-lo) 12%,transparent) }
.provider-card-title,.identity-name { line-height:1.35 }
.kv-row { padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--card-lo) 78%,transparent) }
.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(--line);
  border-radius:13px;
  background:color-mix(in srgb,var(--card-lo) 90%,transparent);
}
.result-card:hover { transform:translateY(-1px);border-color:var(--line-hi);background:var(--card-lo) }
.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(--line);
  background:transparent;
}
.result-card .rc-title {
  display:block;
  overflow:hidden;
  color:var(--ink);
  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 */


html, body { }
body {
}

.sidebar {
  background: var(--card-lo);
  border-right-color: var(--card-lo);
  box-shadow: 8px 0 32px color-mix(in srgb,var(--card-lo) 12%,transparent);
}
.sidebar-logo { padding: 24px 20px; }
.logo-mark {
  width: 36px;
  height: 36px;
  flex-basis: 36px;
  border: 0;
  border-radius: 9px;
  background: var(--blue);
  color: var(--on-blue);
  font-size: 15px;
  letter-spacing: -.04em;
}
.logo-text { font-size: 15px; letter-spacing: -.025em; }
.logo-sub { color: var(--ink-3); }
.sidebar-nav { padding: 22px 14px; }
.nav-label { padding-left: 12px; color: var(--ink-3); }
.nav-item {
  min-height: 42px;
  margin-bottom: 4px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--ink-3);
}
.nav-item:hover { background: var(--card-lo); }
.nav-item.active {
  background: var(--card-lo);
  box-shadow: inset 3px 0 var(--blue);
  color: var(--ink);
}
.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(--line);
}
.eyebrow { color: var(--ink-3); font-size: 10px; }
.page-title { font-size: 30px; font-weight: 700; letter-spacing: -.035em; }
.page-sub { color: var(--ink-2); font-size: 13px; }
.header-actions { align-items: center; }
.workspace-status {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-right: 8px;
  color: var(--ink-3);
  font-size: 11px;
  font-weight: 600;
}
.workspace-status > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--good);
}

.btn { border-radius: 7px; font-weight: 650; }
.btn-primary {
  border-color: var(--blue-hi);
  background: var(--blue);
  box-shadow: 0 1px 2px color-mix(in srgb,var(--card-lo) 22%,transparent);
  color: var(--on-blue);
}
.btn-primary:hover { border-color: var(--blue-tx); background: var(--good); }
.btn-secondary { background: var(--card-lo); }

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

.card { background: var(--card); box-shadow: 0 8px 28px color-mix(in srgb,var(--card-lo) 9%,transparent); }
.quick-search-card {
  position: relative;
  margin-bottom: 36px;
  padding: 26px 28px 24px;
  border: 1px solid var(--card-hi);
  background: var(--card-lo);
  box-shadow: 0 14px 36px color-mix(in srgb,var(--card-lo) 15%,transparent);
}
.quick-search-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 12px 0 0 12px;
  background: var(--blue);
  content: "";
}
.quick-search-heading { margin-bottom: 20px; }
.quick-search-heading .card-title {
  margin-top: 3px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -.02em;
}
.quick-search-heading p { max-width: 660px; color: var(--ink-2); font-size: 12px; }
.search-step {
  color: var(--blue);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.shortcut-hint { background: var(--card-lo); }
.criteria-label {
  margin-bottom: 8px;
  color: var(--ink-3);
  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: var(--card-hi);
  border-radius: 7px;
  background: var(--card-lo);
  color: var(--ink-3);
}
.quick-field-chip:hover:not(:disabled) {
  transform: none;
  border-color: var(--ink-3);
  background: var(--card-lo);
}
.quick-field-chip.active {
  border-color: var(--blue);
  background: var(--card-lo);
  box-shadow: none;
  color: var(--ink);
}
.chip-symbol { color: var(--blue); }
.quick-criteria-grid { gap: 11px; }
.quick-input-shell, .quick-age-field {
  min-height: 58px;
  padding: 9px 13px;
  border-color: var(--card);
  background: var(--card-lo);
}
.quick-input-shell:focus-within, .quick-age-field:focus-within {
  border-color: var(--blue);
  box-shadow: 0 0 0 2px color-mix(in srgb,var(--blue) 11%,transparent);
}
.quick-input-label { color: var(--good); }
.quick-multi-submit { min-width: 156px; font-size: 12px; }
.quick-hints {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 12px;
  color: var(--ink-3);
  font-size: 10px;
}

.section-header { margin-bottom: 12px; }
.section-title { color: var(--ink); font-size: 17px; }
.section-count {
  min-width: 24px;
  padding: 2px 7px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--ink-3);
  text-align: center;
}
.case-list { border-radius: 10px; box-shadow: 0 8px 24px color-mix(in srgb,var(--card-lo) 8%,transparent); }
.case-list-head { background: var(--card-lo); }
.case-list-row { min-height: 70px; }
.case-list-row:hover { background: var(--card-lo); }
.case-avatar {
  border-color: var(--card-hi);
  border-radius: 8px;
  background: var(--card-lo);
}
.badge { border-radius: 12px; }

.modal-box {
  border-color: var(--line-hi);
  background: var(--card);
  box-shadow: 0 24px 70px color-mix(in srgb,var(--card-lo) 42%,transparent);
}

@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(--line); }
  .stat-card:nth-child(4) { border-top: 1px solid var(--line); }
}

@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(--line); }
  .quick-search-card { padding: 21px 18px; }
  .shortcut-hint { display: none; }
}

/* ── Phase 12: professional case review desk ─────────────────────────── */


body { }
.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 var(--card-lo);
  background: color-mix(in srgb,var(--card-lo) 94%,transparent);
  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: var(--ink); font-weight: 750; }
.topbar-separator { color: var(--ink-3); }
.topbar-section, .topbar-help { color: var(--ink-3); }
.topbar-actions { gap: 18px; font-size: 11px; }
.topbar-help:hover { color: var(--ink); text-decoration: none; }
.topbar-security { gap: 7px; color: var(--ink-3); }
.topbar-security > span { width: 6px; height: 6px; border-radius: 50%; background: var(--good); }
.topbar-avatar {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid var(--card);
  border-radius: 7px;
  background: var(--card-lo);
  color: var(--ink-2);
  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, var(--card-lo) 82%, transparent);
}
.case-title-line { display: flex; align-items: center; gap: 12px; }
.case-id-label {
  padding: 3px 7px;
  border: 1px solid var(--card);
  border-radius: 5px;
  color: var(--ink-3);
  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: color-mix(in srgb,var(--card-lo) 96%,transparent);
}
.refinement-card {
  border-left: 3px solid var(--blue);
  border-radius: 8px;
  background: var(--card-lo);
}
.refinement-option { border-radius: 6px; }
.refinement-option:hover, .refinement-option.active {
  border-color: var(--blue);
  background: color-mix(in srgb,var(--blue) 12%,transparent);
  color: var(--ink-2);
}
.identity-list {
  overflow: hidden;
  gap: 0;
  border: 1px solid var(--card-lo);
  border-radius: 9px;
  background: var(--card);
}
.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 var(--card-lo);
  background: var(--card-lo);
  color: var(--ink-3);
  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 var(--card-lo); }
.identity-profile:hover { background: var(--card-lo); }
.identity-profile-head { min-height: 82px; padding: 13px 16px; }
.identity-name { color: var(--ink); 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: var(--neutral);
  font-size: 11px;
  font-weight: 550;
}
.identity-evidence-summary { color: var(--ink-2); font-size: 11px; }
.identity-evidence-summary strong { font-size: 15px; }
.identity-evidence-summary span { color: var(--ink-3); }
.identity-evidence-summary small, .identity-confidence-cell small {
  display: block;
  margin-top: 2px;
  color: var(--ink-3);
  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: var(--warn); background: color-mix(in srgb,var(--warn) 10%,transparent); }
.status-likely-match { color: var(--blue-tx); background: color-mix(in srgb,var(--blue) 13%,transparent); }
.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 var(--blue);
  border-radius: 6px;
  background: var(--card-lo);
  color: var(--ink-2);
  font: 650 10px var(--sans);

  cursor: pointer;
}
.identity-review-button:hover { border-color: var(--blue-hi); background: var(--card); }
.compact-reset { min-height: 31px; padding: 6px 8px; font-size: 9px; }
.identity-profile.decision-confirmed { box-shadow: inset 3px 0 var(--good); }
.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 var(--card);
  background: var(--card-lo);
  box-shadow: -24px 0 70px color-mix(in srgb,var(--card-lo) 42%,transparent);
  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: color-mix(in srgb,var(--card-lo) 60%,transparent);
  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 var(--card);
  background: color-mix(in srgb,var(--card-lo) 96%,transparent);
}
.identity-drawer-header h2 { color: var(--ink); font-size: 17px; }
.drawer-eyebrow {
  color: var(--ink-3);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.identity-drawer-close {
  width: 32px;
  height: 32px;
  border: 1px solid var(--card);
  border-radius: 6px;
  background: var(--card-lo);
  color: var(--ink-3);
  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: var(--ink); 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 var(--card);
  border-radius: 8px;
  background: var(--card-lo);
}
.drawer-decision-panel p { color: var(--neutral); font-size: 11px; }
.drawer-decision-actions { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 9px; }
.drawer-decision-panel small { color: var(--ink-3); font-size: 9px; }
body.drawer-open { overflow: hidden; }
.provider-card-grid { gap: 7px; }
.provider-card {
  border-radius: 7px;
  background: var(--card-lo);
  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 var(--card-lo); }
.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 ───────────────────── */


html,
body {
}

body {
}

.sidebar {
  background: var(--card-lo);
  border-right-color: var(--card);
}

.logo-sub,
.nav-label,
.sidebar-version,
.section-description,
.back-link {
  color: var(--ink-3);
}

.nav-item { color: var(--neutral); }
.nav-item:hover { background: var(--card-lo); color: var(--ink); }
.nav-item.active {
  background: var(--card);
  color: var(--ink);
  box-shadow: inset 0 0 0 1px var(--card-hi);
}

.app-topbar {
  border-bottom-color: var(--card-hi);
  background: color-mix(in srgb,var(--card-lo) 96%,transparent);
}
.topbar-separator { color: var(--ink-3); }
.topbar-section,
.topbar-help,
.topbar-security { color: var(--neutral); }
.topbar-avatar {
  border-color: var(--card-hi);
  background: var(--card);
  color: var(--ink);
}

.case-review-header {
  background: linear-gradient(180deg, var(--card-lo) 82%, transparent);
}
.case-id-label {
  border-color: var(--card-hi);
  color: var(--neutral);
}
.case-jumpbar {
  border-color: var(--card-hi);
  background: color-mix(in srgb,var(--card-lo) 97%,transparent);
}

.card,
.stat-card,
.search-command-card,
.quick-search-card,
.case-list,
.refinement-card {
  background-color: var(--card);
  border-color: var(--line);
  box-shadow: 0 8px 24px color-mix(in srgb,var(--card-lo) 10%,transparent);
}

.quick-search-card {
  background: linear-gradient(120deg, var(--card-lo), var(--card));
}

.quick-field-chip,
.quick-criteria-chip,
.quick-age-chip,
.quick-input-shell,
.quick-age-field,
input,
select,
textarea {
  border-color: var(--card-hi);
  background: var(--card-lo);
  color: var(--ink);
}

.quick-field-chip:hover:not(:disabled),
.quick-criteria-chip:hover,
.quick-age-chip:hover {
  border-color: var(--ink-3);
  background: var(--card);
}

.identity-list {
  border-color: var(--card-hi);
  background: var(--card);
}
.identity-table-head {
  border-bottom-color: var(--card-hi);
  background: var(--card);
  color: var(--neutral);
}
.identity-profile + .identity-profile { border-top-color: var(--card-hi); }
.identity-profile:hover { background: var(--card); }
.identity-name { color: var(--ink); }
.identity-meta,
.identity-evidence-summary span { color: var(--neutral); }
.identity-at-a-glance strong,
.identity-evidence-summary { color: var(--ink-2); }
.identity-evidence-summary small,
.identity-confidence-cell small { color: var(--ink-3); }

.identity-review-button {
  border-color: var(--blue);
  background: var(--card-hi);
  color: var(--ink);
}
.identity-review-button:hover {
  border-color: var(--blue-tx);
  background: var(--card-hi);
}

.identity-review-drawer {
  border-left-color: var(--card-hi);
  background: var(--card-lo);
  box-shadow: -20px 0 56px color-mix(in srgb,var(--card-lo) 28%,transparent);
}
.identity-drawer-backdrop { background: color-mix(in srgb,var(--card-lo) 52%,transparent); }
.identity-drawer-header {
  border-bottom-color: var(--card-hi);
  background: color-mix(in srgb,var(--card-lo) 97%,transparent);
}
.drawer-eyebrow,
.drawer-decision-panel small { color: var(--ink-3); }
.identity-drawer-close {
  border-color: var(--ink-3);
  background: var(--card);
  color: var(--ink);
}
.drawer-decision-panel {
  border-color: var(--card-hi);
  background: var(--card);
}
.drawer-decision-panel p { color: var(--ink-2); }

.provider-card {
  border-color: var(--card-hi);
  background: var(--card-lo);
}
.provider-card-head { background: var(--card); }
.provider-card-body .kv-row { border-right-color: var(--card-hi); }
.kv-row { border-bottom-color: var(--card-hi); }

.case-list-head { background: var(--card); color: var(--neutral); }
.case-list-row:hover,
.result-card:hover { background: var(--card); }

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid color-mix(in srgb,var(--blue-hi) 65%,transparent);
  outline-offset: 2px;
}

/* Authentication */
.auth-page {
  min-height: 100vh;
  color: var(--ink);
}
.auth-shell {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth-card {
  width: min(100%, 440px);
  padding: 32px;
  border: 1px solid var(--card-hi);
  border-radius: 10px;
  background: var(--card);
  box-shadow: 0 18px 45px color-mix(in srgb,var(--card-lo) 25%,transparent);
}
.auth-brand {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  border: 1px solid var(--blue-hi);
  border-radius: 9px;
  color: var(--neutral);
  font-weight: 800;
}
.auth-card h1 { margin: 0 0 8px; font-size: 26px; }
.auth-card > p { color: var(--neutral); 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 var(--card-hi);
  border-radius: 10px;
  background: var(--card);
  box-shadow: 0 18px 45px color-mix(in srgb,var(--card-lo) 25%,transparent);
}
.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: var(--neutral); line-height: 1.7; }
.policy-card ul { padding-left: 24px; }
.policy-note { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--card-hi); font-size: 13px; }

/* ── Shared /pf component system ───────────────────────────────────────── */
body{height:auto;margin:0;min-height:100vh;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--blue-tx)}
.panel,.card,.form-card,.auth-card,.policy-card,.search-command-card,.review-guide{border:1px solid var(--line);border-radius:var(--r);background:var(--card);box-shadow:0 1px 2px color-mix(in srgb,var(--card-lo) 14%,transparent),0 8px 24px -12px color-mix(in srgb,var(--card-lo) 30%,transparent)}
.panel{padding:20px 22px;margin-bottom:16px}.panel.tight{padding:0;overflow:hidden}
.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid var(--line);border-radius:5px;background:var(--card-lo);color:var(--ink-3);font-size:11px;font-weight:600;white-space:nowrap}.chip.on{border-color:var(--blue);color:var(--blue-tx)}.chip.good{border-color:color-mix(in srgb,var(--good) 50%,transparent);color:var(--good)}.chip.low{border-color:color-mix(in srgb,var(--low) 50%,transparent);color:var(--low)}
.meter{display:inline-flex;min-width:56px;min-height:5px;align-items:center;overflow:hidden;border-radius:3px;background:color-mix(in srgb,var(--gauge-mid) 22%,transparent);color:var(--ink-2)}.meter.conf-low,.meter.status-conflicting-identity{background:color-mix(in srgb,var(--gauge-low) 26%,transparent);color:var(--low)}.meter.conf-medium,.meter.status-possible-match,.meter.status-unconfirmed{background:color-mix(in srgb,var(--gauge-mid) 22%,transparent);color:var(--gauge-mid)}.meter.conf-high,.meter.status-strong-match,.meter.status-likely-match,.meter.status-confirmed{background:color-mix(in srgb,var(--gauge-good) 20%,transparent);color:var(--good)}
.stats{display:flex;gap:22px;flex-wrap:wrap}.stat{flex:1 1 120px}.stat .stat-num,.stat b{display:block;color:var(--ink);font-size:20px;font-weight:720;line-height:1.1;font-variant-numeric:tabular-nums}.stat .stat-label,.stat span:not(.stat-icon){color:var(--ink-3);font-size:9.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.cols{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px;align-items:start}
table.cands{width:100%;border-collapse:collapse;color:var(--ink);font-size:14px}table.cands th{position:sticky;top:0;z-index:2;padding:9px 14px;border-bottom:1px solid var(--line);background:var(--card-hi);color:var(--ink-3);font-size:10px;font-weight:700;letter-spacing:.1em;text-align:left;text-transform:uppercase;white-space:nowrap}table.cands td{padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--ink) 7%,transparent);vertical-align:middle}table.cands tbody tr:hover{background:var(--card-hi)}table.cands tbody tr:last-child td{border-bottom:0}
.sidebar{background:var(--card-lo);border-right-color:var(--line)}.main-content{min-height:100vh}.app-topbar,.case-review-header{background:color-mix(in srgb,var(--card-lo) 96%,transparent)}
.btn-primary,.btn-launch{border-color:var(--blue);background:linear-gradient(180deg,var(--blue-hi),var(--blue));color:var(--on-blue)}.btn-primary:hover,.btn-launch:hover{border-color:var(--blue-hi);background:linear-gradient(180deg,var(--blue-hi),var(--blue))}
input,select,textarea,.form-input,.form-select{border-color:var(--line-hi);background:var(--card-lo);color:var(--ink)}input:focus,select:focus,textarea:focus,.form-input:focus,.form-select:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 30%,transparent)}
.auth-page{color:var(--ink)}.auth-card,.policy-card{background:var(--card)}
@media(max-width:960px){.cols{grid-template-columns:1fr}}

/* Case redesign: grouped evidence review and source coverage rail. */
body { background-attachment: scroll; background-color: var(--card-lo); }
.case-review-stats .stat-card { flex-basis: 120px; }
.case-review-tabs {
  display: flex;
  gap: 6px;
  margin: 0 0 20px;
  flex-wrap: wrap;
}
.case-review-tabs a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  color: var(--ink-2);
  font-size: 12px;
  font-weight: 650;
}
.case-review-tabs a:hover,
.case-review-tabs a.active {
  border-color: var(--blue);
  background: color-mix(in srgb,var(--blue) 11%,transparent);
  color: var(--blue-tx);
  text-decoration: none;
}
.case-review-tabs span { color: var(--ink-3); font: 600 10px var(--mono); }
.case-review-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) 285px;
  gap: 16px;
  align-items: start;
}
.case-group-label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 22px 2px 9px;
  color: var(--ink-3);
  font: 700 10px var(--mono);
  letter-spacing: .11em;
  text-transform: uppercase;
}
.case-group-label::after { content: ""; flex: 1; height: 1px; background: var(--line); }
.case-group-label span {
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 99px;
  letter-spacing: 0;
}
.case-person,
.case-coincidences,
.case-state-fallback,
.case-empty-group,
.case-rail-panel,
.case-record-card,
.case-identity-row {
  border: 1px solid var(--line);
  background: var(--card);
}
.case-person { overflow: hidden; margin-bottom: 9px; border-radius: 10px; }
.case-person-best { border-color: color-mix(in srgb,var(--blue) 48%,transparent); }
.case-person > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}
.case-person > summary::-webkit-details-marker,
.case-coincidences > summary::-webkit-details-marker,
.case-state-fallback > summary::-webkit-details-marker { display: none; }
.case-person-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 8px;
  background: var(--card-lo);
  color: var(--blue-tx);
  font-size: 12px;
  font-weight: 750;
}
.case-person-who { min-width: 0; flex: 1; }
.case-person-who strong { display: block; color: var(--blue-tx); font-size: 15px; }
.case-person-who small { display: block; color: var(--ink-3); font-size: 11px; }
.case-confidence { display: flex; align-items: center; gap: 8px; }
.case-confidence-track {
  width: 72px;
  height: 7px;
  overflow: hidden;
  border-radius: 99px;
  background: var(--card-lo);
}
.case-confidence-track i { display: block; height: 100%; border-radius: inherit; }
.case-confidence-low { background: var(--gauge-low); }
.case-confidence-mid { background: var(--gauge-mid); }
.case-confidence-good { background: var(--gauge-good); }
.case-confidence-percent { width: 34px; color: var(--ink-2); font: 600 11px var(--mono); text-align: right; }
.case-no-confidence { color: var(--ink-3); font: 600 10px var(--mono); white-space: nowrap; }
.case-person-caret { color: var(--ink-3); font-size: 20px; transition: transform .15s; }
.case-person[open] .case-person-caret { transform: rotate(90deg); }
.case-record-list { display: grid; gap: 9px; padding: 0 16px 15px; }
.case-record-card { padding: 13px 15px; border-radius: 8px; background: var(--card-lo); }
.case-record-source {
  margin-bottom: 4px;
  color: var(--ink-3);
  font: 650 9px var(--mono);
  letter-spacing: .09em;
  text-transform: uppercase;
}
.case-record-card h4 { color: var(--ink); font-size: 13px; }
.case-data-status { margin-left: 6px; color: var(--good); font-size: 10px; font-weight: 650; }
.case-record-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(125px,1fr));
  gap: 11px 16px;
  margin-top: 11px;
}
.case-record-facts dt {
  color: var(--ink-3);
  font: 700 9px var(--mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.case-record-facts dd { margin-top: 3px; color: var(--ink); font-size: 12px; }
.case-record-facts dd span { display: block; }
.case-record-facts dd small { color: var(--ink-3); }
.case-subject-party { color: var(--blue-tx); font-weight: 650; }
.case-record-footer {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 11px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
  color: var(--ink-3);
  font: 600 10px var(--mono);
}
.case-record-footer a { color: var(--blue-tx); font: 600 11px var(--sans); }
.case-record-footer span { margin-left: auto; text-align: right; }
.case-coincidences,
.case-state-fallback { overflow: hidden; border-radius: 9px; background: var(--card-lo); }
.case-coincidences > summary,
.case-state-fallback > summary { padding: 11px 14px; color: var(--ink-2); cursor: pointer; font-size: 12px; font-weight: 650; }
.case-coincidences > div,
.case-state-fallback > div { padding: 0 9px 1px; }
.case-empty-group { padding: 14px 16px; border-radius: 8px; color: var(--ink-3); font-size: 11px; }
.case-other-findings .case-record-card { margin-bottom: 8px; }
.case-source-rail { position: sticky; top: 106px; }
.case-rail-panel { margin-bottom: 11px; padding: 15px 16px; border-radius: 9px; }
.case-rail-panel h2 {
  margin-bottom: 9px;
  color: var(--ink-3);
  font: 700 10px var(--mono);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.case-source-row { display: flex; align-items: center; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--line); color: var(--ink-2); font-size: 11px; }
.case-source-row:last-of-type { border-bottom: 0; }
.case-source-row em { margin-left: auto; color: var(--ink-3); font: 500 9px var(--mono); font-style: normal; }
.case-source-dot { width: 7px; height: 7px; flex: 0 0 7px; border-radius: 50%; background: var(--ink-3); }
.case-source-dot.has-data { background: var(--gauge-good); }
.case-source-dot.not-enabled { background: var(--gauge-mid); }
.case-rail-panel p { margin-top: 9px; color: var(--ink-3); font-size: 10px; line-height: 1.5; }
.case-review-section { scroll-margin-top: 20px; margin-top: 30px; }
.case-identity-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 14px; padding: 11px 13px; border-radius: 7px; }
.case-identity-row + .case-identity-row { margin-top: 6px; }
.case-identity-row strong,
.case-identity-row small { display: block; }
.case-identity-row small { color: var(--ink-3); font-size: 10px; }
.case-identity-actions { display: flex; gap: 5px; }
@media(max-width:1050px) {
  .case-review-layout { grid-template-columns: 1fr; }
  .case-source-rail { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
}
@media(max-width:720px) {
  .case-source-rail { grid-template-columns: 1fr; }
  .case-person > summary { flex-wrap: wrap; }
  .case-confidence { margin-left: 50px; }
  .case-record-footer { align-items: flex-start; flex-direction: column; }
  .case-record-footer span { margin-left: 0; text-align: left; }
  .case-identity-row { grid-template-columns: 1fr; }
}

/* Investigator workspace v1.1 components; colours remain pf-tokens.css. */
.workspace-tiles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
.workspace-tile { background:var(--card); border:1px solid var(--line); border-radius:var(--r-sm); padding:13px 15px; }
.workspace-tile-label,.workspace-label { display:block; color:var(--ink-3); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.workspace-tile-value { display:block; color:var(--ink); font:800 24px var(--mono); margin:2px 0; }
.workspace-tile-sub { color:var(--ink-3); font-size:11px; }
.workspace-spark { display:flex; align-items:end; gap:2px; height:18px; margin-top:6px; overflow:hidden; }.workspace-spark i { flex:1; min-height:2px; background:color-mix(in srgb,var(--blue) 40%,transparent); border-radius:2px; }.workspace-spark i:last-child { background:var(--blue); }
.provider-strip { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:10px 13px; margin-bottom:18px; background:var(--card-lo); border:1px solid var(--line); border-radius:var(--r-sm); font-size:11px; }.provider-health { display:inline-flex; align-items:center; gap:5px; color:var(--ink-2); font-family:var(--mono); }.provider-health small { color:var(--warn); }.provider-cap { margin-left:auto; color:var(--ink-3); }.health-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--line-hi); }.health-ok { background:var(--good); }.health-warn { background:var(--warn); }.health-off { background:var(--line-hi); }
.workspace-case-head,.case-list-row { grid-template-columns:2fr 1.05fr .9fr .7fr auto; }.confidence-wrap { display:block; min-width:110px; color:var(--good); font:10px var(--mono); }.confidence-wrap b { font-weight:600; }.confidence-track { display:block; height:5px; margin-top:5px; overflow:hidden; background:var(--card-lo); border-radius:3px; }.confidence-track em { display:block; height:100%; background:var(--good); border-radius:inherit; }.confidence-warning { color:var(--warn); }.confidence-warning .confidence-track em { background:var(--warn); }.confidence-wrap small { display:block; color:var(--warn); font-family:var(--sans); font-size:9px; }.workspace-coverage span { display:flex; gap:3px; }.workspace-coverage small { color:var(--ink-3); font:10px var(--mono); }
.command-palette { position:fixed; inset:0; z-index:1000; display:grid; place-items:start center; padding-top:15vh; background:color-mix(in srgb,var(--card-lo) 72%,transparent); backdrop-filter:blur(5px); }.command-palette[hidden] { display:none; }.command-box { width:min(560px,calc(100vw - 32px)); padding:14px; background:var(--card); border:1px solid var(--line-hi); border-radius:var(--r); box-shadow:0 24px 70px color-mix(in srgb,var(--card-lo) 70%,transparent); }.command-item { display:block; padding:10px 12px; color:var(--ink-2); border-bottom:1px solid var(--line); }.command-item:hover,.command-item:focus { background:var(--card-hi); color:var(--ink); text-decoration:none; }.command-help,.command-empty { color:var(--ink-3); font-size:11px; padding:9px 2px 0; }
.audit-filters { display:flex; gap:10px; align-items:end; flex-wrap:wrap; }.audit-filters label { flex:1; min-width:140px; color:var(--ink-3); font-size:10px; text-transform:uppercase; }.audit-filters .form-input { display:block; margin-top:4px; }.audit-table { overflow:hidden; border:1px solid var(--line); border-radius:var(--r-sm); }.audit-row,.audit-row summary { display:grid; grid-template-columns:1.3fr 1fr 1.4fr 1.2fr .7fr; gap:10px; align-items:center; padding:10px 12px; color:var(--ink-2); font-size:11px; }.audit-row { border-bottom:1px solid var(--line); background:var(--card); }.audit-row:last-child { border-bottom:0; }.audit-head { background:var(--card-lo); color:var(--ink-3); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.audit-row summary { cursor:pointer; list-style:none; padding:0; }.audit-row summary::-webkit-details-marker { display:none; }.audit-detail { grid-column:1/-1; margin-top:10px; padding:10px; border-top:1px solid var(--line); background:var(--card-lo); }.audit-detail pre { overflow:auto; color:var(--ink-2); font:10px var(--mono); white-space:pre-wrap; }.audit-pager { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
@media (max-width:900px) { .workspace-tiles { grid-template-columns:repeat(2,1fr); } .provider-cap { width:100%; margin-left:0; } .workspace-case-head,.case-list-row { grid-template-columns:1fr 1fr; } .workspace-case-head span:nth-child(n+3),.case-list-row > *:nth-child(n+3) { display:none; } }
.workspace-intro { padding:12px 14px; margin-bottom:16px; border:1px solid color-mix(in srgb,var(--blue) 25%,transparent); border-radius:var(--r-sm); background:color-mix(in srgb,var(--blue) 6%,transparent); }.workspace-intro p { color:var(--ink-3); font-size:11px; }.type-tab small { margin-left:3px; color:var(--ink-3); font:9px var(--mono); text-transform:uppercase; }.live-run-panel { margin-bottom:18px; }.workspace-panel-title { display:flex; align-items:baseline; gap:10px; margin-bottom:9px; }.workspace-panel-title h2 { color:var(--ink); font-size:16px; }.workspace-run-row { display:flex; align-items:center; gap:10px; padding:8px 0; border-bottom:1px dashed var(--line); font-size:11px; }.workspace-run-row:last-child { border-bottom:0; }.workspace-run-row b { min-width:110px; color:var(--ink-2); font:600 11px var(--mono); }.run-track { flex:1; height:5px; overflow:hidden; border-radius:3px; background:var(--card-lo); }.run-track em { display:block; height:100%; border-radius:inherit; background:var(--blue-hi); }.run-status { margin-left:auto; color:var(--ink-3); font:10px var(--mono); }.run-ok { color:var(--good); }.run-skipped,.run-empty { color:var(--ink-3); }.run-error { color:var(--low); }.run-run { color:var(--blue-hi); }
.profile-hero { display:flex; align-items:center; gap:16px; margin-bottom:12px; }.profile-hero h2 { color:var(--blue); font-size:22px; }.profile-sub { color:var(--ink-3); font-size:11px; }.profile-dial { width:76px; height:76px; flex:0 0 76px; display:grid; place-items:center; border:0; border-radius:50%; background:conic-gradient(var(--blue) 0 var(--score),var(--card-lo) var(--score) 360deg); cursor:pointer; }.profile-dial span { display:grid; place-items:center; width:60px; height:60px; border-radius:50%; background:var(--card); color:var(--ink); font:800 15px var(--mono); }.profile-actions { display:flex; flex-wrap:wrap; gap:6px; margin-left:auto; }.score-explain { padding:0; margin-bottom:18px; }.score-explain summary { padding:12px 15px; color:var(--blue-tx); cursor:pointer; font-weight:700; }.score-explain summary span { margin-left:8px; color:var(--ink-3); font-size:10px; font-weight:400; }.explain-grid { display:grid; gap:7px; padding:12px 15px; border-top:1px solid var(--line); background:var(--card-lo); }.explain-grid div { display:flex; gap:12px; font-size:11px; }.explain-grid div span { color:var(--ink-3); }.noisy-or { color:var(--blue-tx); font-size:11px; }.match-preview { display:flex; justify-content:space-between; gap:6px; padding:7px 0; border-bottom:1px solid var(--line); font-size:10px; }.match-preview b { color:var(--ink-2); }.match-preview span { color:var(--warn); font:10px var(--mono); white-space:nowrap; }
@media(max-width:720px){.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-actions{width:100%;margin-left:0}}
