@charset "UTF-8";
/* Scoped presentation; no application or integration behaviour. */
.theme-app {
  color-scheme: dark;
  --bg: #08090a;
  --surface: #0f1011;
  --raised: #161718;
  --line: #23252a;
  --boundary: #383b3f;
  --ink: #d0d6e0;
  --muted: #8a8f98;
  --heading: #ffffff;
  --accent: #3b82f6;
  --accent-text: #60a5fa;
  --green: #d0d6e0;
  --red: #ff9d98;
  --amber: #e6c17a;
  --success: #87d6a0;
  --on-accent: #08090a;
  --selected: #0f1b30;
  --option-selected: #252a33;
  --row-hover: #131415;
  --success-bg: #14251c;
  --success-line: #294c37;
  --error-bg: #2b191a;
  --error-line: #633237;
  --warning-bg: #292316;
  --warning-line: #58482a;
  --menu-shadow: #0006;
  font-size: 14px;
  letter-spacing: -.01em;
}
/* Shared structure, two palettes. No duplicated page layouts. */
html[data-theme="light"] .theme-app {
  color-scheme: light;
  --bg: #f8fafc;
  --surface: #ffffff;
  --raised: #f1f5f9;
  --line: #dbe2ea;
  --boundary: #a5b1c0;
  --ink: #334155;
  --muted: #596579;
  --heading: #0f172a;
  --accent-text: #1d4ed8;
  --green: #334155;
  --red: #b42318;
  --amber: #805500;
  --success: #16703c;
  --selected: #e8f0ff;
  --option-selected: #dce8fa;
  --row-hover: #edf2f8;
  --success-bg: #e7f5ec;
  --success-line: #a9d7b9;
  --error-bg: #fff0ee;
  --error-line: #efb7b2;
  --warning-bg: #fff6df;
  --warning-line: #dfc78c;
  --menu-shadow: #0f172a1a;
}
/* The darker light-mode hover needs white text to retain contrast. */
html[data-theme="light"] .theme-app :is(button, .button):not(.quiet, .secondary, .period-option):hover { color: #fff; }
.theme-app hr { border: 0; border-top: 1px solid var(--line); }
.theme-app [hidden] { display: none !important; }
.theme-app .topbar { background: var(--surface); border-bottom: 1px solid var(--line); padding-top: 16px; padding-bottom: 16px; }
.theme-app .brand { font-size: 20px; letter-spacing: -.4px; gap: 10px; }
.theme-app .brand:hover { text-decoration: none; }
.theme-app .brand-name { font-weight: 400; }
.theme-app .brand-name strong { font-weight: 700; }
.theme-app .brand-mark { display: block; width: 40px; height: 34px; flex: none; }
.theme-app .brand-mark img { width: 40px; height: 34px; object-fit: contain; }
.theme-app .brand-on-light { display: none; }
html[data-theme="light"] .theme-app .brand-on-dark { display: none; }
html[data-theme="light"] .theme-app .brand-on-light { display: block; }
.theme-app .topbar nav { gap: 20px; }
.theme-app .topbar a { color: var(--ink); }
.theme-app .topbar .brand { color: var(--heading); }
.theme-app .user { color: var(--muted); }
.theme-app main { padding-top: 32px; }
.theme-app h1, .theme-app h2, .theme-app h3 { color: var(--heading); font-weight: 590; letter-spacing: -.025em; }
.theme-app h1 { font-size: 30px; margin-bottom: 10px; }
.theme-app h2 { font-size: 18px; margin-bottom: 16px; }
.theme-app .page-heading { margin-bottom: 24px; }
.theme-app a { color: var(--ink); }
.theme-app a:hover { color: var(--heading); }
.theme-app :is(a, button, input, select, summary, audio):focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.theme-app .skip:focus { background: var(--raised); color: var(--heading); }
.theme-app label { font-weight: 510; color: var(--ink); }
.theme-app footer { font-size: 12px; }
.theme-app .card {
  background: var(--surface);
  border-color: var(--line);
  border-radius: 12px;
  padding: 24px;
  margin-bottom: 20px;
  box-shadow: none;
}
.theme-app .dot { background: var(--amber); }
.theme-app .dot.green { background: var(--success); }
.theme-app input, .theme-app select {
  background: var(--raised);
  border-color: var(--boundary);
  border-radius: 6px;
  color: var(--ink);
  min-height: 40px;
  padding: 9px 11px;
}
.theme-app input::placeholder { color: var(--muted); opacity: 1; }
.theme-app button, .theme-app .button {
  background: var(--accent);
  color: var(--on-accent);
  border-color: var(--accent);
  border-radius: 6px;
  min-height: 40px;
  font-weight: 510;
  padding: 9px 16px;
}
.theme-app button:hover, .theme-app .button:hover { background: var(--accent-text); color: var(--on-accent); }
.theme-app .secondary, .theme-app .quiet { background: transparent; color: var(--ink); border-color: var(--boundary); }
.theme-app .quiet { min-height: 32px; padding: 5px 10px; }
.theme-app :is(.secondary, .quiet):hover { background: var(--raised); color: var(--heading); }
.theme-app summary { color: var(--ink); }
.theme-app .filter-pill {
  background: var(--surface);
  border-color: var(--boundary);
  color: var(--muted);
  border-radius: 999px;
  font-size: 12px;
  min-height: 34px;
  padding: 6px 12px;
}
.theme-app .filter-pill:hover { background: var(--raised); color: var(--heading); }
.theme-app .filter-pill.selected { background: var(--selected); border-color: var(--accent); color: var(--accent-text); font-weight: 510; }
.theme-app .active-filters .filter-pill { background: var(--raised); color: var(--ink); }
.theme-app .results-heading h2 { margin-bottom: 0; }
.theme-app th { background: var(--raised); text-transform: none; letter-spacing: 0; font-size: 12px; }
.theme-app td { padding: 18px 14px; border-color: var(--line); }
.theme-app tbody tr:hover { background: var(--row-hover); }
.theme-app .badge {
  border: 1px solid var(--boundary);
  border-radius: 4px;
  padding: 3px 8px;
  background: var(--raised);
  color: var(--ink);
  font-weight: 510;
}
.theme-app .badge:is(.processed, .confirmed) { background: var(--success-bg); border-color: var(--success-line); color: var(--success); }
.theme-app .outcome-success { color: var(--success); }
.theme-app .contact-phone { color: var(--heading); font-variant-numeric: tabular-nums; white-space: nowrap; }
.theme-app .contact-phone:hover { color: var(--accent-text); text-decoration: underline; text-underline-offset: 3px; }
.theme-app .badge:is(.failed, .uncertain) { background: var(--error-bg); border-color: var(--error-line); color: var(--red); }
.theme-app .badge:is(.waiting, .pending) { background: var(--warning-bg); border-color: var(--warning-line); color: var(--amber); }
.theme-app .notice { background: var(--warning-bg); border-color: var(--warning-line); color: var(--amber); }
.theme-app pre {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font-family: ui-monospace, Consolas, monospace;
  font-size: 12px;
}
.theme-app .pagination, .theme-app .timeline time { font-variant-numeric: tabular-nums; }

.theme-app .supervision-compact { border-block: 1px solid var(--line); margin: 0 0 20px; }
.theme-app .supervision-compact > summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 20px;
  padding: 12px 0;
  font-size: 12px;
  list-style: none;
}
.theme-app .supervision-compact > summary::-webkit-details-marker { display: none; }
.theme-app .supervision-more { margin-left: auto; color: var(--muted); }
.theme-app .supervision-more::after { content: ' ＋'; }
.theme-app .supervision-compact[open] .supervision-more::after { content: ' −'; }
.theme-app .supervision-body { padding: 4px 0 16px; }
.theme-app .supervision-body p { margin-bottom: 10px; }
.theme-app .supervision-body a { font-size: 12px; margin-left: 12px; }
.theme-app .call-browser .badge { white-space: normal; }
.theme-app .call-browser tbody tr:focus-within { background: var(--raised); }
.theme-app .table-scroll { padding: 4px; margin: -4px; }

@media (max-width: 720px) {
  .theme-app .page-heading { gap: 12px; }
  .theme-app .topbar nav { gap: 12px; flex-wrap: wrap; }
  .theme-app .supervision-compact > summary { gap: 8px 14px; }
  .theme-app .supervision-more { margin-left: 0; }
}
