:root {
  color-scheme:light;
  --mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --brand:#14513d;
  --brand-hover:#103f30;
  --brand-tint:#e9f2ed;
  --ink:#141615;
  --secondary:#464a47;
  --muted:#626963;
  --subtle:#7c807d;
  --line:#e1e3df;
  --soft:#f5f6f3;
  --paper:#fff;
  --sidebar:#fafbf8;
  --good:#1d7a3a;
  --good-bg:#e3f2e7;
  --warn:#8a5800;
  --warn-bg:#fbefd5;
  --neutral:#585d59;
  --neutral-bg:#eceeea;
  --critical:#a1332b;
  --critical-bg:#f9e5e2;
  --focus:#2a78d6;
  --series:#14513d;
  --shadow:0 8px 32px #14291b0a;
  --overlay:#0b19145c;
  --radius:10px;
  --sidebar-width:224px;
  --chart-grid:#e1e3df;
  --button-text:#fff;
}
@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) {
    color-scheme:dark;
    --brand:#91d5b3;
    --brand-hover:#ade4c9;
    --brand-tint:#203c30;
    --ink:#eef2ec;
    --secondary:#bec6bd;
    --muted:#a0aaa0;
    --subtle:#8d998f;
    --line:#343d35;
    --soft:#181d19;
    --paper:#1e2420;
    --sidebar:#191f1b;
    --good:#9ad5a9;
    --good-bg:#253d2d;
    --warn:#edc575;
    --warn-bg:#413723;
    --neutral:#bdc7bd;
    --neutral-bg:#303831;
    --critical:#f1b1a9;
    --critical-bg:#472b29;
    --focus:#7fbbff;
    --series:#91d5b3;
    --shadow:0 8px 32px #0002;
    --overlay:#0008;
    --chart-grid:#3b453d;
    --button-text:#102c1e;
  }
}
:root[data-theme=dark] {
  color-scheme:dark;
  --brand:#91d5b3;
  --brand-hover:#ade4c9;
  --brand-tint:#203c30;
  --ink:#eef2ec;
  --secondary:#bec6bd;
  --muted:#a0aaa0;
  --subtle:#8d998f;
  --line:#343d35;
  --soft:#181d19;
  --paper:#1e2420;
  --sidebar:#191f1b;
  --good:#9ad5a9;
  --good-bg:#253d2d;
  --warn:#edc575;
  --warn-bg:#413723;
  --neutral:#bdc7bd;
  --neutral-bg:#303831;
  --critical:#f1b1a9;
  --critical-bg:#472b29;
  --focus:#7fbbff;
  --series:#91d5b3;
  --shadow:0 8px 32px #0002;
  --overlay:#0008;
  --chart-grid:#3b453d;
  --button-text:#102c1e;
}
* {
  box-sizing:border-box;
}
html {
  font-size:14px;
  scroll-behavior:smooth;
}
body {
  margin:0;
  overflow-wrap:anywhere;
  background:var(--soft);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
button,input,select {
  font:inherit;
}
button,a,input,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
button:disabled {
  cursor:not-allowed;
  opacity:.5;
}
a {
  color:inherit;
  text-decoration:none;
}
a:hover {
  color:var(--brand);
}
button,input,select,a {
  touch-action:manipulation;
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible {
  outline:3px solid var(--focus);
  outline-offset:3px;
}
h1:focus {
  outline:none;
}
svg {
  flex-shrink:0;
  vertical-align:middle;
}
h1,h2,h3,p {
  margin:0;
}
h1 {
  font-size:28px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:-1px;
}
h2 {
  font-size:15px;
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.2px;
}
h3 {
  font-size:14px;
  font-weight:550;
}
p {
  color:var(--secondary);
}
strong,.strong {
  font-weight:550;
}
input,select {
  width:100%;
  min-width:0;
  max-width:100%;
  min-height:39px;
  border:1px solid var(--line);
  border-radius:6px;
  background:var(--paper);
  color:var(--ink);
  padding:8px 11px;
}
input::placeholder {
  color:var(--muted);
  opacity:1;
}
select {
  padding-right:26px;
}
input:hover,select:hover {
  border-color:var(--subtle);
}
kbd {
  font:11px Inter,sans-serif;
  border:1px solid var(--line);
  padding:2px 5px;
  border-radius:4px;
  color:var(--muted);
  white-space:nowrap;
}
table, .stat-value,.countdown,.inline-stats,.finding-count,.list-count {
  font-variant-numeric:tabular-nums;
}
::selection {
  background:var(--brand-tint);
  color:var(--ink);
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.skip-link {
  position:fixed;
  top:-100px;
  left:12px;
  z-index:100;
  background:var(--paper);
  padding:12px;
  border:1px solid var(--line);
  border-radius:6px;
}
.skip-link:focus {
  top:8px;
}
.muted {
  color:var(--muted);
}
.subtext {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:400;
  margin-top:3px;
}
.eyebrow {
  font-size:10px;
  letter-spacing:1.3px;
  font-weight:600;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--brand);
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:37px;
  border:1px solid var(--line);
  border-radius:6px;
  padding:8px 12px;
  background:var(--paper);
  color:var(--ink);
  font-size:12px;
  font-weight:550;
  line-height:1.4;
  white-space:nowrap;
  transition:background .15s,border-color .15s;
}
.button:hover {
  background:var(--soft);
  border-color:var(--subtle);
  color:var(--ink);
}
.button.primary {
  color:var(--button-text);
  background:var(--brand);
  border-color:var(--brand);
}
.button.primary:hover {
  background:var(--brand-hover);
  border-color:var(--brand-hover);
}
.button.small {
  min-height:31px;
  padding:5px 9px;
  font-size:11px;
}
.button.danger {
  color:var(--critical);
}
.button.danger-solid {
  background:var(--critical);
  color:var(--paper);
  border-color:var(--critical);
}
.icon-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px;
  border:0;
  border-radius:5px;
  color:var(--muted);
  background:transparent;
  min-height:34px;
  min-width:34px;
}
.icon-button:hover {
  background:var(--neutral-bg);
  color:var(--ink);
}
.text-link {
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--brand);
  white-space:nowrap;
  font-weight:500;
}
.external {
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:var(--brand);
  overflow-wrap:anywhere;
}
.external:hover,.text-link:hover {
  text-decoration:underline;
}
.back-link {
  display:inline-block;
  font-size:12px;
  color:var(--muted);
  margin-bottom:18px;
}
.badge {
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:3px 7px;
  border-radius:5px;
  font-size:10px;
  font-weight:550;
  line-height:1.5;
  max-width:100%;
  vertical-align:middle;
}
.status-dot {
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  flex-shrink:0;
}
.good {
  color:var(--good);
  background:var(--good-bg);
}
.warn {
  color:var(--warn);
  background:var(--warn-bg);
}
.neutral {
  color:var(--neutral);
  background:var(--neutral-bg);
}
.critical {
  color:var(--critical);
  background:var(--critical-bg);
}
.chips {
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}
.rule-chip {
  font-size:10px;
  display:inline-flex;
  white-space:nowrap;
  padding:3px 6px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:4px;
  color:var(--secondary);
}
.rule-chip:hover {
  background:var(--brand-tint);
  color:var(--brand);
}
.avatar {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--neutral-bg);
  border:1px solid var(--line);
  color:var(--secondary);
  width:32px;
  height:32px;
  border-radius:8px;
  font-size:11px;
  font-weight:550;
  flex-shrink:0;
}
.company-avatar {
  border-radius:7px;
  background:var(--soft);
  font-size:10px;
}
.large-avatar {
  height:48px;
  width:48px;
  font-size:16px;
  border-radius:11px;
}
.company {
  display:flex;
  align-items:center;
  gap:10px;
}
.company>div {
  min-width:0;
}
.company a.strong {
  white-space:nowrap;
}
.company .subtext {
  font-size:10px;
}
.brand-mark {
  width:32px;
  height:32px;
  border-radius:8px;
  background:var(--brand);
  color:var(--paper);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.brand-mark svg {
  width:29px;
  height:29px;
}
.sidebar {
  width:var(--sidebar-width);
  position:fixed;
  inset:0 auto 0 0;
  z-index:30;
  background:var(--sidebar);
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  padding:25px 14px 12px;
  overflow-y:auto;
}
.brand {
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 10px;
  font-size:17px;
  letter-spacing:-.6px;
  font-weight:600;
}
.brand-sub {
  font-weight:400;
  font-size:11px;
  letter-spacing:.2px;
  color:var(--muted);
  display:block;
  line-height:1.6;
}
.workspace-label {
  display:flex;
  align-items:center;
  gap:6px;
  font-size:10px;
  color:var(--muted);
  margin:28px 10px 19px;
}
.workspace-dot {
  width:6px;
  height:6px;
  background:var(--good);
  border-radius:50%;
}
.workspace-short {
  margin-left:auto;
  border:1px solid var(--line);
  border-radius:3px;
  font-size:9px;
  padding:0 3px;
}
.sidebar nav {
  display:flex;
  flex-direction:column;
  gap:4px;
}
.sidebar nav a {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 11px;
  border:1px solid transparent;
  border-radius:6px;
  font-size:12px;
  color:var(--secondary);
  min-height:37px;
}
.sidebar nav a svg {
  color:var(--muted);
  width:17px;
}
.sidebar nav a:hover {
  background:var(--soft);
}
.sidebar nav a.active {
  background:var(--brand-tint);
  color:var(--brand);
  font-weight:550;
}
.sidebar nav a.active svg {
  color:var(--brand);
}
.nav-new {
  font-size:8px;
  margin-left:auto;
  letter-spacing:.8px;
  padding:1px 4px;
  border:1px solid var(--line);
  border-radius:3px;
  color:var(--muted);
}
.nav-section {
  margin:23px 11px 6px;
  font-size:9px;
  letter-spacing:1px;
  font-weight:550;
  color:var(--muted);
}
.sidebar-bottom {
  margin-top:auto;
  padding:35px 6px 0;
}
.demo-indicator {
  font-size:10px;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  border-bottom:1px solid var(--line);
  padding:0 3px 12px;
  margin-bottom:13px;
}
.demo-indicator>span:last-child {
  margin-left:auto;
  font-size:9px;
}
.user-menu {
  display:flex;
  align-items:center;
  gap:8px;
}
.user-info {
  flex:1;
  min-width:0;
}
.user-info strong {
  font-size:11px;
  display:block;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.user-info>span {
  display:block;
  font-size:9px;
  color:var(--muted);
}
.user-avatar {
  width:29px;
  height:29px;
  border-radius:50%;
  background:var(--brand-tint);
  color:var(--brand);
}
.logout {
  display:flex;
  align-items:center;
  gap:7px;
  background:none;
  border:0;
  color:var(--muted);
  font-size:10px;
  padding:9px 2px 0;
}
.workspace {
  margin-left:var(--sidebar-width);
  width:calc(100% - var(--sidebar-width));
  min-width:0;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:stretch;
}
/* Flex/grid children must shrink before their tables can scroll locally. */
.workspace>*,.main>*,.today-grid>*,.two-col>*,.page-heading>*,
.radar-hero>*,.report-summary>*,.finding-head>*,.settings-layout>*,
.company>div,.check-row>div,.blocker>div,.activity-item>div {
  min-width:0;
}
.topbar {
  height:72px;
  flex-shrink:0;
  background:var(--paper);
  border-bottom:1px solid var(--line);
  padding:0 32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
.breadcrumb {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:11px;
  white-space:nowrap;
}
.breadcrumb>span,.breadcrumb svg {
  color:var(--muted);
}
.topbar-actions {
  display:flex;
  align-items:center;
  gap:18px;
}
.search-trigger {
  display:flex;
  align-items:center;
  gap:9px;
  background:none;
  border:0;
  color:var(--muted);
  font-size:11px;
  padding:8px 0;
}
.search-trigger kbd {
  margin-left:30px;
}
.main {
  padding:34px 32px 24px;
  max-width:1600px;
  width:100%;
  margin:0 auto;
  flex:1;
  min-width:0;
  outline:none;
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-bottom:29px;
}
.page-heading p {
  font-size:12px;
  color:var(--muted);
  margin-top:8px;
}
.as-of {
  font-size:10px;
  display:flex;
  align-items:center;
  gap:6px;
  color:var(--muted);
  text-align:right;
}
.page-footer {
  max-width:1600px;
  padding:12px 32px 24px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:10px;
  color:var(--muted);
  width:100%;
  margin:auto;
}
.mobile-top {
  display:none;
}
.stats-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius);
  margin-bottom:26px;
  overflow:hidden;
}
.stat {
  min-width:0;
  padding:20px 18px;
}
.stat+.stat {
  border-left:1px solid var(--line);
}
.stat-label {
  font-size:10px;
  color:var(--muted);
  display:block;
  margin-bottom:9px;
}
.stat-value {
  font-size:27px;
  line-height:1.15;
  font-weight:550;
  letter-spacing:-1px;
  color:var(--ink);
  white-space:normal;
}
.stat-unit {
  font-size:16px;
  letter-spacing:-.5px;
  color:var(--muted);
  font-weight:400;
}
.stat-detail {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:10px;
}
.stat-detail .badge {
  font-size:9px;
  padding:2px 5px;
}
.panel {
  border:1px solid var(--line);
  background:var(--paper);
  border-radius:var(--radius);
  min-width:0;
  overflow:hidden;
}
.panel-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:18px 21px;
  border-bottom:1px solid var(--line);
}
.panel-head>.muted {
  font-size:11px;
}
.panel-pad {
  padding:21px;
}
.panel-pad>p+p {
  margin-top:12px;
}
.section-gap {
  margin-top:25px;
}
.today-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);
  gap:24px;
}
.today-grid>.panel,.today-grid>div>.panel {
  height:100%;
}
.two-col {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.two-col.detail-grid {
  margin-bottom:25px;
}
.deadline {
  display:flex;
  align-items:center;
  gap:17px;
  padding:23px 21px;
}
.deadline+.deadline {
  border-top:1px solid var(--line);
}
.countdown {
  width:53px;
  flex-shrink:0;
  text-align:center;
  border:1px solid var(--line);
  background:var(--soft);
  border-radius:7px;
  padding:7px 3px;
}
.countdown strong {
  font-size:23px;
  display:block;
  line-height:1.25;
  letter-spacing:-.6px;
}
.countdown span {
  font-size:9px;
  color:var(--muted);
}
.countdown.near {
  background:var(--warn-bg);
  border-color:transparent;
}
.countdown.near span {
  color:var(--warn);
}
.deadline-copy {
  flex:1;
  min-width:0;
}
.deadline-copy>a {
  font-size:12px;
}
.deadline-copy p {
  font-size:11px;
  margin:4px 0;
}
.deadline-copy .subtext {
  font-size:10px;
}
.deadline-copy>.badge {
  margin-top:5px;
}
.deadline>svg {
  color:var(--muted);
}
.radar-preview {
  min-width:0;
  padding:24px;
  background:var(--brand-tint);
  border:1px solid var(--line);
  border-radius:var(--radius);
}
.radar-preview>h2 {
  font-size:21px;
  font-weight:550;
  letter-spacing:-.7px;
  line-height:1.35;
  margin:16px 0 10px;
}
.radar-preview>p {
  font-size:12px;
  max-width:300px;
  line-height:1.7;
}
.radar-preview>.button {
  margin-top:17px;
}
.last-run {
  border-top:1px solid var(--line);
  padding-top:16px;
  margin-top:20px;
}
.last-run>.eyebrow {
  font-size:8px;
  letter-spacing:1px;
  color:var(--muted);
}
.last-run p {
  font-size:11px;
  line-height:1.65;
  margin:8px 0 11px;
}
.last-run .text-link {
  font-size:11px;
}
.table-scroll {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-x:contain;
}
table {
  border-collapse:collapse;
  width:100%;
  font-size:11px;
  text-align:left;
}
th {
  background:var(--sidebar);
  color:var(--muted);
  font-size:10px;
  font-weight:500;
  padding:11px 19px;
  white-space:nowrap;
  border-bottom:1px solid var(--line);
}
td {
  padding:14px 19px;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  color:var(--secondary);
}
td strong,td .strong {
  color:var(--ink);
}
tbody tr:last-child td {
  border-bottom:0;
}
tbody tr:hover {
  background:var(--sidebar);
}
td .subtext {
  font-size:10px;
}
td .badge {
  white-space:nowrap;
}
td .chips {
  min-width:90px;
  max-width:240px;
}
.reasons {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:155px;
  font-size:11px;
}
.reasons span:before {
  content:'·';
  margin-right:5px;
  color:var(--muted);
}
.score {
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  font-size:11px;
}
.score-track {
  width:43px;
  height:4px;
  display:block;
  border-radius:1px;
  background:var(--neutral-bg);
  overflow:hidden;
}
.score-track>span {
  height:100%;
  display:block;
  background:var(--series);
}
.score>strong {
  color:var(--ink);
  font-weight:500;
}
.inline-stats {
  display:flex;
  gap:35px;
  margin-bottom:15px;
}
.inline-stats strong {
  display:block;
  font-size:25px;
  letter-spacing:-.7px;
  line-height:1.3;
}
.inline-stats span {
  font-size:10px;
  color:var(--muted);
}
.chart {
  width:100%;
  max-width:680px;
  margin-top:10px;
}
.chart svg {
  width:100%;
  height:auto;
  overflow:visible;
}
.chart-label {
  font-family:Inter,sans-serif;
  font-size:11px;
  fill:var(--ink);
}
.gridline {
  stroke:var(--chart-grid);
  stroke-width:1;
  vector-effect:non-scaling-stroke;
}
.chart-bar {
  fill:var(--series);
}
.chart-hit {
  fill:transparent;
}
.chart-point:hover .chart-bar,.chart-point:focus .chart-bar {
  opacity:.75;
}
.chart-point:focus {
  outline:none;
}
.chart-point:focus-visible .chart-hit {
  stroke:var(--focus);
  stroke-width:1;
}
.chart-tooltip {
  visibility:hidden;
  pointer-events:none;
}
.chart-point:hover .chart-tooltip,.chart-point:focus .chart-tooltip {
  visibility:visible;
}
.chart-tooltip rect {
  fill:var(--paper);
  stroke:var(--line);
}
.chart-tooltip text {
  fill:var(--ink);
  font-family:Inter,sans-serif;
  font-size:10px;
}
.chart-caption {
  text-align:center;
  color:var(--muted);
  font-size:10px;
  margin-top:5px;
}
.blocker {
  display:flex;
  align-items:flex-start;
  gap:11px;
  padding:21px;
}
.blocker+.blocker {
  border-top:1px solid var(--line);
}
.blocker>div {
  flex:1;
}
.blocker h3 {
  font-size:12px;
}
.blocker p {
  font-size:11px;
  margin:5px 0;
  line-height:1.65;
}
.blocker .badge {
  font-size:9px;
}
.warning-icon {
  color:var(--warn);
  padding-top:2px;
}
.blocker .subtext {
  font-size:10px;
}
.radar-hero {
  display:flex;
  align-items:center;
  gap:24px;
  background:var(--brand-tint);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:30px;
  margin-bottom:26px;
}
.radar-symbol {
  color:var(--brand);
  width:80px;
  height:80px;
  border:1px solid var(--line);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.radar-hero>div:nth-child(2) {
  flex:1;
}
.radar-hero h2 {
  font-size:23px;
  margin:8px 0;
  letter-spacing:-.6px;
}
.radar-hero p {
  font-size:12px;
  max-width:520px;
}
.run-cell {
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-width:270px;
  max-width:550px;
}
.run-cell>.badge {
  flex-shrink:0;
}
.report-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:12px 0 24px;
}
.report-summary h2 {
  font-size:25px;
  margin:10px 0;
}
.report-summary p {
  font-size:13px;
  max-width:730px;
  line-height:1.8;
}
.report-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  margin-bottom:24px;
}
.finding {
  margin-bottom:24px;
}
.finding-head {
  padding:24px;
  display:flex;
  gap:24px;
  justify-content:space-between;
  flex-wrap:wrap;
}
.finding-stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  width:100%;
}
.finding-head h2 {
  font-size:17px;
}
.finding-head p {
  margin:8px 0;
  font-size:12px;
}
.finding-head .external {
  font-size:11px;
}
.finding-count {
  flex-shrink:0;
  min-width:0;
  text-align:left;
}
.finding-count strong {
  font-size:27px;
  display:block;
  letter-spacing:-.8px;
}
.finding-count span {
  color:var(--muted);
  font-size:11px;
}
.table-foot {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:13px 20px;
  font-size:10px;
  color:var(--muted);
  border-top:1px solid var(--line);
}
.table-foot .text-link {
  font-size:10px;
}
.step-list {
  list-style:none;
  padding:10px 0 0;
  margin:0;
}
.step-list li {
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 0;
  font-size:12px;
}
.step-list svg {
  color:var(--good);
}
.run-progress {
  margin-bottom:25px;
}
.progress-track {
  height:3px;
  background:var(--neutral-bg);
  border-radius:2px;
  overflow:hidden;
  margin-top:18px;
}
.progress-track>span {
  display:block;
  height:100%;
  width:35%;
  background:var(--brand);
  animation:scan 2s ease-in-out infinite;
}
@keyframes scan {
  0% {
    transform:translateX(-100%);
  }
  100% {
    transform:translateX(400%);
  }
}
.filter-bar {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  align-items:flex-end;
  padding:19px 20px;
  border-bottom:1px solid var(--line);
}
.filter-field {
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:120px;
}
.filter-field>span:first-child,.field>span {
  font-size:10px;
  font-weight:550;
  color:var(--secondary);
}
.filter-field select,.filter-field input {
  font-size:11px;
  min-height:35px;
}
.filter-reset {
  margin-bottom:2px;
}
.filter-count {
  font-size:11px;
  margin-left:auto;
  align-self:center;
  color:var(--muted);
}
.search-field {
  min-width:185px;
  flex:1;
}
.input-icon {
  position:relative;
  display:block;
}
.input-icon>svg {
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
}
.input-icon input {
  padding-left:35px;
}
.sort-row {
  flex-basis:100%;
  display:flex;
  align-items:center;
  gap:15px;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.sort-row .filter-field {
  flex-direction:row;
  align-items:center;
  gap:9px;
  min-width:auto;
}
.sort-row .filter-field>span {
  white-space:nowrap;
}
.sort-row .filter-field select {
  width:auto;
}
.sort-row>.muted {
  font-size:10px;
  margin-left:auto;
}
.pagination {
  border-top:1px solid var(--line);
  padding:14px 19px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  color:var(--muted);
  gap:12px;
}
.pagination>div {
  display:flex;
  align-items:center;
  gap:12px;
}
.page-number {
  white-space:nowrap;
}
.rule-description {
  max-width:230px;
  min-width:160px;
}
.lead-copy {
  font-size:14px;
  line-height:1.8;
}
.definition {
  margin:18px 0;
}
.definition>div {
  display:flex;
  gap:15px;
  margin:10px 0;
  font-size:12px;
}
.definition dt {
  width:90px;
  color:var(--muted);
  flex-shrink:0;
}
.definition dd {
  margin:0;
}
.source-links {
  display:flex;
  flex-wrap:wrap;
  gap:15px;
  border-top:1px solid var(--line);
  padding-top:16px;
  font-size:12px;
}
.scope-chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:17px;
}
.scope-chips>span {
  border:1px solid var(--line);
  padding:6px 9px;
  background:var(--soft);
  border-radius:6px;
  font-size:11px;
}
.scope-chips+p {
  font-size:12px;
  line-height:1.8;
  margin-bottom:21px;
}
.notice {
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:14px;
  border-radius:6px;
  margin-bottom:15px;
  font-size:12px;
}
.notice svg {
  flex-shrink:0;
  margin-top:1px;
}
.date-list>div {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
}
.date-list>div+div {
  border-top:1px solid var(--line);
}
.date-list strong {
  font-size:13px;
}
.account-overview {
  display:flex;
  align-items:center;
  gap:18px;
  padding:23px;
}
.account-overview .chips {
  font-size:12px;
}
.account-meta {
  display:flex;
  flex-wrap:wrap;
  gap:13px;
  color:var(--muted);
  font-size:11px;
  margin-top:7px;
}
.account-score {
  margin-left:auto;
  text-align:right;
}
.account-score .score {
  margin-top:6px;
  font-size:18px;
}
.detail-list>div {
  padding:18px 21px;
  font-size:12px;
}
.detail-list>div+div {
  border-top:1px solid var(--line);
}
.detail-list p {
  margin-top:7px;
  line-height:1.8;
}
.signal-item {
  display:flex;
  align-items:flex-start;
  gap:15px;
  padding:22px;
}
.signal-item+.signal-item {
  border-top:1px solid var(--line);
}
.timeline-icon {
  width:32px;
  height:32px;
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:50%;
  border:1px solid var(--line);
  color:var(--muted);
  background:var(--soft);
  flex-shrink:0;
}
.signal-content {
  flex:1;
  min-width:0;
}
.signal-content h3 {
  margin:8px 0;
  font-size:13px;
}
.signal-content>p {
  font-size:12px;
  margin-top:8px;
}
.signal-meta {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:13px;
  font-size:10px;
  color:var(--muted);
}
.signal-meta .strong {
  font-size:12px;
  color:var(--ink);
}
.points {
  font-size:15px;
  color:var(--ink);
  text-align:right;
  white-space:nowrap;
}
.points>span {
  display:block;
  font-size:9px;
  color:var(--muted);
}
.signal-toolbar {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.filter-chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.filter-chip {
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--secondary);
  font-size:11px;
  padding:7px 10px;
  border-radius:6px;
  text-align:left;
}
.filter-chip span {
  font-size:9px;
  color:var(--muted);
  white-space:nowrap;
}
.filter-chip:hover,.filter-chip.active {
  border-color:var(--brand);
  background:var(--brand-tint);
  color:var(--brand);
}
.sending-grid {
  margin-bottom:25px;
}
.check-row {
  display:flex;
  gap:11px;
  align-items:center;
  padding:17px 20px;
}
.check-row+.check-row {
  border-top:1px solid var(--line);
}
.check-symbol {
  width:25px;
  height:25px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.check-row>div {
  flex:1;
}
.check-row strong {
  font-size:11px;
}
.check-row .subtext {
  font-size:10px;
}
.check-row .badge {
  font-size:9px;
}
.suppression-search {
  padding:30px;
  text-align:center;
  max-width:850px;
  margin:0 auto 33px;
}
.shield-icon {
  display:inline-flex;
  padding:13px;
  background:var(--brand-tint);
  color:var(--brand);
  border-radius:12px;
  margin-bottom:15px;
}
.suppression-search h2 {
  font-size:22px;
  letter-spacing:-.5px;
}
.suppression-search>p {
  font-size:12px;
  margin:8px 0 20px;
}
.suppression-search form {
  max-width:550px;
  margin:auto;
}
.suppression-search input {
  min-height:44px;
}
.search-hint {
  font-size:12px;
  color:var(--muted);
  padding:24px 16px;
}
.suppression-match {
  display:flex;
  justify-content:space-between;
  text-align:left;
  align-items:center;
  gap:15px;
  padding:18px 0;
  margin-top:10px;
  border-top:1px solid var(--line);
}
.suppression-match strong {
  font-size:13px;
}
.search-no-match {
  padding:20px 0 0;
}
.search-no-match p {
  font-size:12px;
  margin-top:10px;
}
.section-title {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin:25px 0 15px;
}
.section-title>.muted {
  font-size:11px;
}
.list-cards {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}
.list-card {
  padding:21px;
  display:flex;
  flex-direction:column;
}
.list-card h3 {
  font-size:12px;
  min-height:42px;
  line-height:1.7;
  margin:18px 0;
}
.list-card .chips>svg {
  margin-right:auto;
  color:var(--muted);
}
.list-count {
  font-size:30px;
  line-height:1.3;
  letter-spacing:-.7px;
}
.list-card>.subtext {
  font-size:10px;
}
.list-card-footer {
  border-top:1px solid var(--line);
  padding-top:14px;
  margin-top:20px;
  font-size:10px;
  color:var(--muted);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.compact-summary {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
  flex-wrap:wrap;
}
.compact-summary>span:last-child {
  font-size:11px;
  color:var(--muted);
}
.source-detail {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin-top:6px;
}
.activity-item {
  display:flex;
  align-items:flex-start;
  gap:17px;
  padding:23px;
}
.activity-item+.activity-item {
  border-top:1px solid var(--line);
}
.activity-item>div {
  flex:1;
  min-width:0;
}
.activity-item h3 {
  font-size:13px;
}
.activity-item p {
  font-size:10px;
  margin-top:7px;
  color:var(--muted);
}
.activity-item time {
  font-size:10px;
  color:var(--muted);
  white-space:nowrap;
}
.dot-separator {
  margin:0 5px;
}
.row-actions {
  display:flex;
  gap:7px;
}
.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 24px;
  max-width:760px;
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
}
.field input {
  font-size:12px;
}
.team-form .filter-field select {
  min-height:39px;
  font-size:12px;
}
.help {
  font-size:11px;
  color:var(--muted);
  margin:12px 0;
}
.form-message {
  font-size:12px;
  margin:14px 0;
}
.form-message:empty {
  display:none;
}
.error {
  color:var(--critical);
}
.success {
  color:var(--good);
}
.team-form>.button {
  margin-top:7px;
}
.settings-layout {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.settings-layout>.panel:last-child {
  grid-column:1/-1;
}
.theme-options {
  display:flex;
  gap:12px;
  margin-top:18px;
}
.theme-choice {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex:1;
  min-height:59px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--secondary);
  font-size:12px;
}
.theme-choice[aria-pressed=true] {
  border-color:var(--brand);
  background:var(--brand-tint);
  color:var(--brand);
}
.password-form {
  max-width:480px;
}
.password-form .field+.field {
  margin-top:17px;
}
.empty {
  text-align:center;
  padding:44px 24px;
  color:var(--muted);
}
.empty>svg {
  margin-bottom:12px;
  color:var(--muted);
}
.empty p {
  font-weight:500;
  font-size:13px;
  color:var(--ink);
}
.empty>span {
  display:block;
  margin-top:7px;
  font-size:12px;
}
.page-error {
  padding:65px 20px;
  text-align:center;
}
.page-error h1 {
  font-size:23px;
  margin:15px 0;
}
.page-error p {
  margin:12px 0 25px;
}
.skeleton {
  background:var(--neutral-bg);
  border-radius:6px;
  animation:pulse 1.3s ease-in-out infinite;
}
.sk-title {
  height:30px;
  width:240px;
  margin:5px 0 12px;
}
.sk-subtitle {
  height:15px;
  width:55%;
  margin-bottom:35px;
}
.sk-panel {
  height:120px;
  margin-bottom:30px;
}
.sk-row {
  height:50px;
  margin-bottom:12px;
}
@keyframes pulse {
  50% {
    opacity:.4;
  }
}
[aria-busy=true] {
  cursor:progress;
}
#accounts-results[aria-busy=true],#signal-results[aria-busy=true] {
  opacity:.55;
}
dialog {
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink);
  border-radius:12px;
  padding:0;
  box-shadow:0 20px 90px #0003;
  width:570px;
  max-width:calc(100vw - 32px);
  max-height:85vh;
  overflow-y:auto;
}
dialog::backdrop {
  background:var(--overlay);
}
.dialog-body {
  padding:25px;
}
.dialog-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin-bottom:18px;
}
.dialog-head h2 {
  font-size:19px;
}
.dialog-body>p {
  font-size:12px;
  margin-bottom:16px;
  overflow-wrap:anywhere;
}
.dialog-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:23px;
}
#search-dialog {
  margin:14vh auto auto;
  width:620px;
}
.search-dialog-head {
  display:flex;
  align-items:center;
  gap:12px;
  padding:15px 18px;
  border-bottom:1px solid var(--line);
}
.search-dialog-head>svg {
  color:var(--muted);
}
.search-dialog-head input {
  border:0;
  padding:8px 0;
  border-radius:0;
  font-size:14px;
}
.search-results {
  max-height:55vh;
  overflow:auto;
  padding:8px;
}
.search-group {
  font-size:10px;
  color:var(--muted);
  padding:12px 12px 5px;
  letter-spacing:.5px;
}
.search-result {
  display:block;
  padding:11px 12px;
  border-radius:6px;
  font-size:12px;
  overflow-wrap:anywhere;
}
.search-result:hover,.search-result:focus {
  background:var(--brand-tint);
}
.search-footer {
  font-size:10px;
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding:13px 18px;
}
#toast {
  position:fixed;
  bottom:24px;
  left:calc(50% + 100px);
  transform:translate(-50%,12px);
  background:var(--ink);
  color:var(--paper);
  padding:12px 19px;
  border-radius:8px;
  box-shadow:var(--shadow);
  font-size:12px;
  z-index:100;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  max-width:calc(100vw - 32px);
  width:max-content;
}
#toast.visible {
  opacity:1;
  transform:translate(-50%,0);
}
.login-page {
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px 20px;
}
.login-brand {
  display:flex;
  gap:11px;
  align-items:center;
  font-size:20px;
  letter-spacing:-.5px;
  font-weight:600;
  margin-bottom:30px;
}
.login-brand .brand-mark {
  width:38px;
  height:38px;
  border-radius:9px;
}
.login-brand .subtext {
  font-size:11px;
  letter-spacing:.4px;
  margin:0;
}
.login-card {
  width:100%;
  max-width:408px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:var(--shadow);
  padding:35px;
}
.login-card h1 {
  font-size:34px;
  letter-spacing:-1.2px;
  margin:16px 0 12px;
}
.login-subtitle {
  font-size:12px;
  color:var(--muted);
  margin-bottom:28px;
}
.login-card .field {
  margin-bottom:17px;
}
.login-card .field>span {
  font-size:11px;
}
.login-card input {
  min-height:43px;
}
.login-card .button {
  width:100%;
  min-height:42px;
  margin-top:4px;
  justify-content:space-between;
  padding:10px 15px;
}
.login-card .google-button {
  justify-content:center;
  gap:10px;
  margin:0;
}
.login-or {
  display:flex;
  align-items:center;
  gap:12px;
  margin:20px 0;
  font-size:11px;
  color:var(--muted);
}
.login-or::before,.login-or::after {
  content:'';
  flex:1;
  border-top:1px solid var(--line);
}
.login-help {
  font-size:11px;
  text-align:center;
  color:var(--muted);
  line-height:1.9;
  margin-top:24px;
}
.mock-login {
  margin-top:22px;
  border-top:1px solid var(--line);
  padding-top:17px;
  text-align:center;
  font-size:10px;
  color:var(--muted);
  line-height:1.8;
}
.login-footer {
  font-size:10px;
  color:var(--muted);
  margin-top:27px;
  letter-spacing:.4px;
}
.boot {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:100vh;
  color:var(--muted);
}
@media(min-width:1600px) {
  .main {
    padding:42px;
  }
  .topbar {
    padding:0 42px;
  }
}
@media(max-width:1250px) {
  :root {
    --sidebar-width:205px;
  }
  .main {
    padding:27px 24px;
  }
  .topbar {
    padding:0 24px;
  }
  .stats-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .stat:nth-child(4) {
    border-left:0;
  }
  .stat:nth-child(n+4) {
    border-top:1px solid var(--line);
  }
  .stat {
    padding:17px 20px;
  }
  .today-grid {
    grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);
    gap:20px;
  }
  .page-heading {
    flex-wrap:wrap;
    gap:12px;
  }
  .page-heading .as-of {
    text-align:left;
  }
  .radar-hero {
    gap:20px;
    padding:25px;
    flex-wrap:wrap;
  }
  .radar-hero>.button {
    margin-left:100px;
  }
  .radar-hero>div:nth-child(2) {
    flex-basis:60%;
  }
  .list-cards {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .search-trigger kbd {
    margin-left:8px;
  }
  .activity-item {
    flex-wrap:wrap;
  }
  .activity-item time {
    margin-left:49px;
  }
  .sending-grid {
    grid-template-columns:1fr;
  }
  .check-row {
    padding:15px 20px;
  }
  .sending-grid .chart {
    max-width:680px;
    margin:auto;
  }
  .filter-field {
    min-width:110px;
  }
  .account-filters .filter-field {
    flex:1;
  }
  .sort-row .filter-field {
    flex:0;
  }
  .account-filters .search-field {
    min-width:220px;
  }
  .topbar-actions {
    gap:14px;
  }
}
@media(max-width:1000px) {
  .two-col {
    grid-template-columns:1fr;
  }
  .today-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .radar-preview {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:25px;
    align-items:start;
  }
  .radar-preview>.eyebrow,.radar-preview>h2,.radar-preview>p {
    grid-column:1;
  }
  .radar-preview>.button {
    grid-column:2;
    grid-row:2;
  }
  .radar-preview>.last-run {
    grid-column:1/-1;
  }
  .radar-preview>h2 br {
    display:initial;
  }
  .topbar .breadcrumb>span,.topbar .breadcrumb>svg {
    display:none;
  }
  .search-trigger>span,.search-trigger>kbd {
    display:none;
  }
  .search-trigger {
    padding:8px;
  }
  .today-grid {
    gap:24px;
  }
  .settings-layout {
    grid-template-columns:1fr;
  }
  .report-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .report-stats>.stat:nth-child(3) {
    border-left:0;
  }
  .report-stats>.stat:nth-child(n+3) {
    border-top:1px solid var(--line);
  }
  .signal-toolbar {
    flex-direction:column;
  }
  .radar-hero>.button {
    margin-left:0;
  }
  .radar-symbol {
    width:62px;
    height:62px;
  }
  .radar-symbol svg {
    width:38px;
  }
  .report-summary {
    flex-wrap:wrap;
  }
  .radar-hero h2 {
    font-size:21px;
  }
  .form-grid {
    grid-template-columns:1fr 1fr;
  }
  .account-overview {
    flex-wrap:wrap;
  }
  .account-score {
    margin-left:0;
  }
  .stat-value {
    font-size:26px;
  }
  .page-heading h1 {
    font-size:26px;
  }
}
@media(max-width:760px) {
  :root {
    --sidebar-width:0px;
  }
  .mobile-top {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 18px;
    background:var(--paper);
    border-bottom:1px solid var(--line);
    min-height:63px;
  }
  .mobile-brand {
    display:flex;
    align-items:center;
    gap:9px;
    font-size:15px;
    font-weight:600;
    letter-spacing:-.5px;
  }
  .mobile-brand .brand-mark {
    width:29px;
    height:29px;
    border-radius:7px;
  }
  .mobile-brand .brand-mark svg {
    width:26px;
  }
  .mobile-brand .muted {
    font-size:12px;
    font-weight:400;
  }
  .sidebar {
    display:none;
    position:static;
    width:auto;
    max-height:none;
    padding:16px 18px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  body.menu-open .sidebar {
    display:flex;
  }
  .sidebar .brand,.workspace-label {
    display:none;
  }
  .sidebar nav {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px 12px;
  }
  .sidebar nav a {
    min-height:42px;
    font-size:12px;
  }
  .nav-section {
    grid-column:1/-1;
    margin:12px 10px 1px;
  }
  .sidebar-bottom {
    padding-top:20px;
  }
  .user-menu {
    max-width:340px;
  }
  .sidebar-bottom .demo-indicator {
    max-width:340px;
  }
  .logout {
    padding:12px 0;
  }
  .workspace {
    margin-left:0;
    min-height:calc(100vh - 63px);
  }
  .topbar {
    height:62px;
    padding:0 18px;
    gap:10px;
  }
  .topbar .breadcrumb {
    font-size:11px;
  }
  .topbar-actions {
    gap:8px;
  }
  .topbar .button {
    font-size:11px;
    padding:8px 10px;
  }
  .topbar [data-run] {
    width:38px;
    height:38px;
    padding:0;
    flex-shrink:0;
  }
  .topbar .run-label {
    display:none;
  }
  .topbar .search-trigger {
    min-width:36px;
    min-height:36px;
    justify-content:center;
  }
  .main {
    padding:25px 18px 20px;
  }
  .page-heading {
    margin-bottom:23px;
    gap:14px;
  }
  .page-heading h1 {
    font-size:26px;
    letter-spacing:-.8px;
  }
  .page-heading p {
    font-size:12px;
    line-height:1.7;
  }
  .page-heading .as-of {
    font-size:9px;
  }
  .stats-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-bottom:22px;
  }
  .stats-grid>.stat,.report-stats>.stat {
    border-left:0;
    border-top:0;
  }
  .stats-grid>.stat:nth-child(even),.report-stats>.stat:nth-child(even) {
    border-left:1px solid var(--line);
  }
  .stats-grid>.stat:nth-child(n+3),.report-stats>.stat:nth-child(n+3) {
    border-top:1px solid var(--line);
  }
  .finding-stats {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
  }
  .stat {
    padding:17px 12px;
  }
  .stat-label {
    font-size:9px;
    line-height:1.5;
    min-height:27px;
    margin-bottom:6px;
  }
  .stat-value {
    font-size:25px;
  }
  .stat-unit {
    font-size:13px;
  }
  .stat-detail {
    font-size:9px;
    line-height:1.6;
    margin-top:8px;
  }
  .stat-detail .badge {
    font-size:8px;
    padding:2px 4px;
    gap:3px;
  }
  .stat-detail .status-dot {
    width:4px;
    height:4px;
  }
  .today-grid,.two-col {
    gap:20px;
  }
  .panel-head {
    padding:17px;
  }
  .panel-head h2 {
    font-size:14px;
  }
  .panel-head>.text-link {
    font-size:10px;
  }
  .panel-pad {
    padding:18px;
  }
  .deadline {
    padding:20px 16px;
    gap:13px;
  }
  .deadline-copy p {
    font-size:10px;
  }
  .deadline-copy .subtext {
    font-size:9px;
  }
  .deadline>svg {
    display:none;
  }
  .countdown {
    width:48px;
  }
  .countdown strong {
    font-size:21px;
  }
  .radar-preview {
    display:block;
    padding:23px;
  }
  .radar-preview>h2 {
    font-size:22px;
  }
  .radar-preview>p {
    max-width:100%;
  }
  .radar-preview>.button {
    margin:18px 0 0;
  }
  .last-run p {
    font-size:12px;
  }
  .section-gap {
    margin-top:21px;
  }
  th,td {
    padding:13px 16px;
  }
  .table-scroll:focus-visible {
    outline-offset:-3px;
  }
  .blocker {
    padding:20px 17px;
    gap:10px;
  }
  .blocker>.badge {
    font-size:8px;
  }
  .blocker p {
    font-size:11px;
  }
  .page-footer {
    padding:15px 18px 23px;
    font-size:9px;
  }
  .radar-hero {
    padding:23px;
    gap:17px;
  }
  .radar-hero .radar-symbol {
    display:none;
  }
  .radar-hero h2 {
    font-size:23px;
  }
  .radar-hero p {
    line-height:1.8;
  }
  .radar-hero .eyebrow {
    font-size:9px;
  }
  .report-summary h2 {
    font-size:25px;
  }
  .report-summary p {
    font-size:12px;
  }
  .report-summary .eyebrow {
    font-size:9px;
  }
  .report-stats .stat-label {
    min-height:0;
  }
  .report-stats .stat {
    padding:17px;
  }
  .finding-head {
    padding:20px;
    gap:15px;
  }
  .finding-count strong {
    font-size:24px;
  }
  .finding-count span {
    font-size:9px;
  }
  .finding-head h2 {
    font-size:15px;
  }
  .finding-head p {
    font-size:11px;
  }
  .finding-head .external {
    font-size:10px;
  }
  .table-foot {
    padding:13px 16px;
    gap:12px;
    font-size:9px;
  }
  .table-foot .text-link {
    font-size:9px;
  }
  .filter-bar {
    padding:16px;
    gap:12px;
  }
  .filter-field {
    min-width:120px;
    flex:1;
    max-width:100%;
  }
  .filter-count {
    margin-left:0;
  }
  .account-filters .search-field {
    flex-basis:100%;
  }
  .account-filters .filter-field {
    min-width:125px;
  }
  .account-filters .sort-row .filter-field {
    min-width:0;
    flex:initial;
  }
  .sort-row {
    flex-wrap:wrap;
    gap:12px;
  }
  .sort-row>.muted {
    margin-left:0;
    width:100%;
  }
  .sort-row .filter-field>span {
    font-size:9px;
  }
  .sort-row .filter-field select {
    font-size:10px;
  }
  .pagination {
    padding:13px 15px;
    font-size:9px;
    gap:8px;
    flex-wrap:wrap;
  }
  .pagination>div {
    gap:8px;
    margin-left:auto;
  }
  .pagination .button.small {
    font-size:10px;
  }
  .page-number {
    font-size:9px;
  }
  .rule-description {
    min-width:160px;
  }
  .definition>div {
    font-size:11px;
  }
  .scope-chips>span {
    font-size:10px;
  }
  .account-overview {
    padding:20px;
    gap:13px;
  }
  .account-overview>div:nth-child(2) {
    flex:1;
    min-width:180px;
  }
  .account-meta {
    font-size:10px;
    gap:8px;
  }
  .account-score {
    flex-basis:100%;
    border-top:1px solid var(--line);
    padding-top:12px;
    text-align:left;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .account-score .score {
    margin:0;
    font-size:16px;
  }
  .signal-item {
    padding:20px 16px;
    gap:10px;
  }
  .signal-item .timeline-icon {
    display:none;
  }
  .signal-meta {
    gap:5px 12px;
    font-size:10px;
  }
  .signal-content h3 {
    font-size:12px;
    line-height:1.7;
  }
  .points {
    font-size:13px;
  }
  .filter-chip {
    font-size:10px;
    padding:8px;
  }
  .filter-chip span {
    font-size:9px;
  }
  .signal-toolbar {
    gap:17px;
  }
  .signal-toolbar form {
    align-self:stretch;
  }
  .signal-toolbar form .filter-field {
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .signal-toolbar select {
    width:auto;
  }
  .check-row {
    padding:16px;
    gap:9px;
  }
  .check-row .badge {
    font-size:8px;
    padding:3px 5px;
  }
  .check-row strong {
    font-size:11px;
  }
  .check-row .subtext {
    font-size:9px;
  }
  .check-symbol {
    width:22px;
    height:22px;
  }
  .suppression-search {
    padding:25px 20px;
  }
  .suppression-search h2 {
    font-size:22px;
  }
  .suppression-search>p {
    font-size:11px;
    line-height:1.8;
  }
  .suppression-search input {
    font-size:12px;
  }
  .section-title>.muted {
    font-size:9px;
  }
  .list-cards {
    gap:13px;
    grid-template-columns:minmax(0,1fr);
  }
  .list-card {
    padding:16px;
  }
  .list-card h3 {
    font-size:11px;
    min-height:56px;
  }
  .list-card .chips .badge {
    font-size:8px;
  }
  .list-card-footer {
    font-size:9px;
  }
  .list-count {
    font-size:27px;
  }
  .suppression-match {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .activity-item {
    padding:20px 16px;
    gap:12px;
  }
  .activity-item h3 {
    font-size:12px;
    line-height:1.7;
  }
  .activity-item p {
    font-size:9px;
    overflow-wrap:anywhere;
  }
  .activity-item time {
    margin-left:44px;
    font-size:9px;
  }
  .activity-item .timeline-icon {
    width:32px;
  }
  .form-grid {
    grid-template-columns:1fr;
  }
  .form-grid .filter-field {
    gap:7px;
  }
  .form-grid .field>span,.form-grid .filter-field>span {
    font-size:11px;
  }
  .settings-layout {
    gap:20px;
  }
  .settings-layout .company {
    flex-wrap:wrap;
  }
  .theme-options {
    gap:8px;
  }
  .theme-choice {
    font-size:11px;
    gap:6px;
    min-height:57px;
  }
  .theme-choice svg {
    width:18px;
  }
  .password-form {
    max-width:none;
  }
  .empty {
    padding:35px 20px;
  }
  .empty p {
    font-size:12px;
  }
  .empty>span {
    font-size:11px;
  }
  .list-cards .subtext {
    font-size:9px;
  }
  #toast {
    left:50%;
    font-size:11px;
    bottom:17px;
  }
  .search-dialog-head {
    padding:13px;
    gap:9px;
  }
  .search-dialog-head input {
    font-size:12px;
  }
  .search-result {
    font-size:11px;
  }
  .dialog-body {
    padding:21px;
  }
  .dialog-head h2 {
    font-size:18px;
  }
  .login-card {
    padding:29px;
  }
  .login-page {
    padding:30px 18px;
  }
  .login-card h1 {
    font-size:32px;
  }
  .login-card .field input {
    font-size:16px;
  }
  .login-brand {
    margin-bottom:25px;
  }
  .login-footer {
    font-size:9px;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
.sort-heading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}
.sort-heading:hover,
th[aria-sort=ascending] .sort-heading,
th[aria-sort=descending] .sort-heading {
  color: var(--ink);
}

/* LoneReport logo (from lonereport.com) */
.logo{display:inline-flex;align-items:center;flex-shrink:0}
.logo img{display:block;height:28px;width:auto}
.logo-lg img{height:40px}
.logo-sm img{height:24px}
.logo-on-dark{display:none!important}
:root[data-theme=dark] .logo-on-light{display:none!important}
:root[data-theme=dark] .logo-on-dark{display:block!important}
@media(prefers-color-scheme:dark){
  :root:not([data-theme=light]) .logo-on-light{display:none!important}
  :root:not([data-theme=light]) .logo-on-dark{display:block!important}
}
.brand{flex-direction:column;align-items:flex-start;gap:3px;padding:0 10px}
.brand .brand-sub{padding-left:19px;line-height:1.2}
.login-brand{flex-direction:column;gap:6px}
.login-brand .subtext{letter-spacing:.4px}
.mobile-brand{gap:10px}
.mobile-brand .muted{font-size:12px;font-weight:500;padding-left:10px;border-left:1px solid var(--line)}
.brand-leaf{display:inline-flex}
.brand-leaf img{height:28px;width:auto}

/* Campaigns share the desk's surfaces, status colors and spacing. */
:root { --series-follow:#2a78d6; }
:root[data-theme=dark] { --series-follow:#7fbbff; }
@media(prefers-color-scheme:dark) {
  :root:not([data-theme=light]) { --series-follow:#7fbbff; }
}
.campaign-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.campaign-card { display:block; padding:26px; transition:border-color .15s; }
.campaign-card:hover { color:var(--ink); border-color:var(--brand); }
.campaign-card-top,.campaign-meta { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.campaign-card-top { justify-content:space-between; color:var(--brand); margin-bottom:22px; }
.campaign-card h2 { font-size:21px; line-height:1.4; margin-bottom:5px; }
.campaign-card>.campaign-deadline { margin:24px 0; padding:18px 0; border-block:1px solid var(--line); }
.campaign-card>.text-link { margin-top:22px; }
.campaign-meta,.campaign-dates,.campaign-deadline { font-size:12px; }
.campaign-meta { color:var(--secondary); }
.campaign-dates { margin-top:12px; color:var(--muted); }
.campaign-deadline { display:flex; flex-direction:column; gap:5px; align-items:flex-start; }
.campaign-deadline strong { color:var(--ink); font-size:16px; }
.campaign-deadline>span:not(.badge) { color:var(--muted); }
.campaign-header { display:flex; justify-content:space-between; gap:24px; margin:-8px 0 28px; }
.campaign-header>* { min-width:0; }
.campaign-metrics { display:flex; gap:28px; margin:0; }
.campaign-metrics>div { display:flex; flex-direction:column-reverse; gap:4px; }
.campaign-metrics dt { font-size:11px; color:var(--muted); }
.campaign-metrics dd { margin:0; font-size:25px; font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
.campaign-card .campaign-metrics { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.active-campaign { margin-bottom:25px; }
.active-campaign .panel-head { background:var(--brand-tint); }
.active-campaign-body { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:22px 32px; padding:24px; }
.active-campaign-body>* { min-width:0; }
.active-campaign-body h3 { font-size:19px; margin-bottom:12px; }
.campaign-stages { list-style:none; display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); padding:26px 20px; margin:0; }
.campaign-stage { position:relative; padding:0 12px; min-width:0; }
.campaign-stage:before { content:''; position:absolute; height:1px; background:var(--line); left:12px; right:-12px; top:14px; }
.campaign-stage:last-child:before { display:none; }
.stage-marker { position:relative; display:flex; align-items:center; justify-content:center; width:29px; height:29px; border:1px solid var(--line); border-radius:50%; background:var(--soft); color:var(--muted); font-size:10px; }
.has-count .stage-marker { color:var(--brand); background:var(--brand-tint); border-color:var(--brand); }
.stage-value { display:block; font-size:32px; font-weight:600; letter-spacing:-1px; margin:18px 0 8px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.campaign-stage h3 { font-size:12px; line-height:1.55; min-height:38px; }
.campaign-stage p { font-size:11px; color:var(--muted); margin-top:10px; line-height:1.65; }
.is-waiting .stage-value,.is-waiting h3 { color:var(--muted); }
.plan-legend { display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center; font-size:12px; margin-bottom:12px; }
.plan-legend>span { display:inline-flex; align-items:center; gap:7px; }
.plan-legend i { width:10px; height:10px; border-radius:2px; }
.plan-first { fill:var(--series); background:var(--series); }
.plan-follow { fill:var(--series-follow); background:var(--series-follow); }
.plan-scroll { overflow-x:auto; max-width:100%; }
.plan-scroll:focus-visible { outline-offset:-3px; }
.plan-chart { display:block; max-width:none; margin:0 auto; }
.plan-direct { font-weight:500; }
.plan-summary { font-size:12px; color:var(--secondary); margin-top:12px; }
.campaign-audience { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr); gap:28px; }
.campaign-funnel { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:0; gap:8px; }
.campaign-funnel li { min-width:0; padding:20px 12px; background:var(--brand-tint); border-top:3px solid var(--brand); }
.campaign-funnel li:nth-child(2) { margin-top:15px; }
.campaign-funnel li:nth-child(3) { margin-top:30px; }
.campaign-funnel li:nth-child(4) { margin-top:45px; }
.campaign-funnel strong { display:block; font-size:29px; font-weight:600; font-variant-numeric:tabular-nums; }
.campaign-funnel span { display:block; font-size:12px; color:var(--secondary); margin-top:12px; }
.campaign-breakdown h3,.next-wave h3,.email-subjects h3 { font-size:13px; margin-bottom:14px; }
.campaign-breakdown dl { margin:0; }
.campaign-breakdown dl>div { display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--line); font-size:12px; }
.campaign-breakdown dt { color:var(--secondary); }
.campaign-breakdown dd { margin:0; font-weight:600; font-variant-numeric:tabular-nums; }
.campaign-breakdowns { display:grid; gap:24px; }
.campaign-exclusions { display:grid; grid-template-columns:1fr 1fr; gap:32px; padding-top:26px; margin-top:26px; border-top:1px solid var(--line); }
.next-wave { background:var(--soft); padding:20px; border-radius:7px; align-self:start; }
.next-wave p { color:var(--secondary); font-size:12px; line-height:1.8; }
.email-subjects { margin-bottom:24px; }
.email-subjects ul { list-style:none; padding:0; margin:0; display:grid; gap:9px; font-size:13px; }
.campaign-emails { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:start; }
.email-preview { min-width:0; border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.email-preview>h3 { font-size:13px; padding:14px 20px; border-bottom:1px solid var(--line); background:var(--soft); }
.email-body { white-space:pre-wrap; font-size:13px; line-height:1.85; padding:22px; }
.merge-field { background:var(--brand-tint); color:var(--brand); border-radius:4px; padding:2px 5px; font-size:.92em; }
.email-variants { padding:0 22px; font-size:12px; line-height:1.8; }
.email-variants>div { border-top:1px solid var(--line); padding:18px 0; }
.email-variants h4 { font-size:11px; margin:0 0 7px; }
.email-variants p { color:var(--secondary); white-space:pre-wrap; }
.campaign-titles { display:grid; gap:5px; min-width:180px; }
@media(max-width:1100px) {
  .campaign-stages { padding-inline:10px; }
  .campaign-stage { padding-inline:7px; }
  .campaign-stage:before { left:7px; right:-7px; }
  .campaign-stage h3 { font-size:11px; }
  .campaign-audience { grid-template-columns:1fr; }
  .campaign-breakdowns { grid-template-columns:1fr 1fr; }
}
@media(max-width:760px) {
  .campaign-cards,.campaign-emails,.campaign-exclusions,.campaign-breakdowns { grid-template-columns:minmax(0,1fr); }
  .campaign-card { padding:22px; }
  .campaign-header { flex-direction:column; margin-top:0; }
  .active-campaign-body { padding:18px; gap:22px; }
  .active-campaign-body h3 { font-size:18px; }
  .active-campaign-body .campaign-metrics { width:100%; border-top:1px solid var(--line); padding-top:16px; justify-content:space-between; }
  .campaign-stages { grid-template-columns:minmax(0,1fr); padding:8px 18px; }
  .campaign-stage { display:grid; grid-template-columns:30px 48px minmax(0,1fr); column-gap:13px; align-items:start; padding:20px 0; }
  .campaign-stage:before { width:1px; height:auto; left:14px; top:33px; bottom:-20px; right:auto; }
  .stage-marker { grid-column:1; grid-row:1/3; }
  .stage-value { grid-column:2; grid-row:1/3; font-size:28px; margin:0; line-height:1.1; min-width:3.2ch; }
  .campaign-stage h3 { grid-column:3; font-size:12px; min-height:0; }
  .campaign-stage p { grid-column:3; margin-top:6px; }
  .campaign-funnel { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campaign-funnel li:nth-child(n) { margin:0; padding:16px; }
  .campaign-funnel strong { font-size:26px; }
  .campaign-exclusions { gap:24px; }
  .plan-legend { font-size:11px; }
  .campaign-emails { gap:18px; }
  .email-body { padding:18px; }
  .email-variants { padding:0 18px; }
}

/* Daily leads and the morning engine use the shared desk surfaces. */
.nav-count { margin-left:auto; min-width:22px; padding:1px 6px; border-radius:5px; background:var(--warn-bg); color:var(--warn); text-align:center; font-size:10px; font-variant-numeric:tabular-nums; }
.nav-count[hidden] { display:none; }
.today-work { margin-bottom:25px; }
.today-work.has-leads { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:24px; }
.today-work .active-campaign { margin-bottom:0; }
.today-work>div { display:grid; gap:24px; min-width:0; }
.today-leads .panel-head { background:var(--brand-tint); }
.today-leads .button { margin-top:24px; }
.leads-review-count { margin:18px 0 14px; color:var(--secondary); }
.leads-review-count strong { font-size:32px; color:var(--ink); letter-spacing:-1px; }
#lead-day-picker { margin-bottom:24px; max-width:340px; }
.leads-stats { grid-template-columns:repeat(5,minmax(0,1fr)); }
.lead-cards { display:grid; gap:24px; margin-top:22px; }
.lead-card { padding:26px; overflow-wrap:anywhere; }
.lead-card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:16px; }
.lead-card-head h2 { font-size:21px; line-height:1.4; }
.lead-card-head h3 { font-size:14px; }
.lead-card-head>.badge { flex-shrink:0; }
.lead-signal { padding:22px 0; margin-top:20px; border-top:1px solid var(--line); }
.lead-signal .chips { font-size:11px; }
.lead-signal h3 { font-size:14px; line-height:1.7; margin:12px 0 8px; }
.lead-opening { padding:20px 24px; background:var(--soft); border-left:3px solid var(--brand); border-radius:0 6px 6px 0; }
.lead-opening blockquote { margin:0; font-size:15px; line-height:1.8; white-space:pre-wrap; }
.lead-opening p { font-size:12px; line-height:1.8; margin-top:12px; white-space:pre-wrap; }
.lead-people { margin-top:22px; }
.lead-person { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; padding:16px 0; border-bottom:1px solid var(--line); font-size:13px; }
.lead-person>div { min-width:0; }
.mono { font-family:var(--mono); }
.lead-actions { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px; margin-top:22px; }
.lead-actions .row-actions { margin-left:auto; }
.lead-actions>div { min-width:0; }
.lead-exclusions { margin:0; }
.lead-exclusions>div { display:flex; justify-content:space-between; gap:20px; padding:10px 0; font-size:12px; }
.lead-exclusions dt { color:var(--secondary); }
.lead-exclusions dd { margin:0; font-weight:600; font-variant-numeric:tabular-nums; }
.daily-engine .check-row>div { flex:1; min-width:0; overflow-wrap:anywhere; }
.engine-summary p { font-size:14px; font-weight:500; }
.engine-history-title { font-size:12px; margin-bottom:14px; }
.engine-history { display:flex; gap:7px; margin-bottom:12px; }
.engine-run { position:relative; flex:1; max-width:48px; min-width:0; height:32px; display:flex; align-items:center; justify-content:center; border-radius:4px; }
.engine-run.good { background:var(--good-bg); color:var(--good); }
.engine-run.critical { background:var(--critical-bg); color:var(--critical); }
.engine-tooltip { position:absolute; visibility:hidden; bottom:calc(100% + 8px); left:0; z-index:2; width:205px; padding:9px 12px; border:1px solid var(--line); border-radius:6px; background:var(--paper); color:var(--ink); font-size:11px; box-shadow:var(--shadow); }
.engine-run:nth-child(n+8) .engine-tooltip { left:auto; right:0; }
.engine-run:hover .engine-tooltip,.engine-run:focus .engine-tooltip { visibility:visible; }
.engine-signals { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-bottom:30px; }
.engine-signals article { min-width:0; overflow-wrap:anywhere; }
.engine-signals .lead-card-head { flex-wrap:wrap; gap:10px; }
.engine-signals .muted { font-size:12px; line-height:1.8; margin-top:12px; }
.engine-signal-count { margin-top:16px; font-size:13px; font-weight:600; }
@media(max-width:1100px) {
 .today-work.has-leads { grid-template-columns:minmax(0,1fr); }
 .engine-signals { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
 .leads-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .lead-card { padding:18px; }
 .lead-card-head h2 { font-size:18px; }
 .lead-card-head { flex-wrap:wrap; }
 .lead-opening { padding:17px; }
 .lead-opening blockquote { font-size:13px; }
 .lead-person,.engine-signals { grid-template-columns:minmax(0,1fr); }
 .engine-tooltip { width:140px; }
 .engine-run:nth-child(n+5) .engine-tooltip { left:auto; right:0; }
 .engine-history { gap:5px; }
 .engine-run { height:28px; }
 .engine-run svg { width:12px; }
}
