:root {
  color-scheme: light;
  --font-sans: "Inter", "SF Pro Text", "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --bg: #f4f7f8;
  --panel: #ffffff;
  --panel-2: #f8fafc;
  --ink: #14212b;
  --muted: #647181;
  --line: #d8e2ea;
  --topbar: rgba(255, 255, 255, 0.92);
  --nav: #f8fafc;
  --nav-2: #edf2f7;
  --nav-active: #ffffff;
  --nav-text: #25313d;
  --nav-muted: #667085;
  --nav-border: #dce3ec;
  --primary: #2563eb;
  --primary-hover: #1d4ed8;
  --primary-ink: #ffffff;
  --blue: #1d4ed8;
  --logo-blue: #2563eb;
  --logo-blue-soft: #eff6ff;
  --green: #15803d;
  --amber: #b45309;
  --red: #b42318;
  --teal: #2563eb;
  --button-muted-bg: #f1f5f9;
  --button-muted-hover: #e2e8f0;
  --button-muted-ink: #263442;
  --track-bg: #e7edf4;
  --selected-bg: #eff6ff;
  --code-bg: #eef2f7;
  --code-ink: #334155;
  --status-good-bg: #dcfce7;
  --status-warn-bg: #fef3c7;
  --status-bad-bg: #fee2e2;
  --status-muted-bg: #e2e8f0;
  --status-muted-ink: #475569;
  --alarm-bg: #fef3c7;
  --alarm-border: #fde68a;
  --alarm-ink: #92400e;
  --notice-bg: #e0f2fe;
  --notice-ink: #075985;
  --warning-panel-bg: #fff7ed;
  --warning-panel-border: #fed7aa;
  --warning-panel-ink: #7c2d12;
  --demo-panel-bg: #eff6ff;
  --demo-panel-border: #bfdbfe;
  --demo-panel-ink: #1e3a8a;
  --public-demo-card-bg: #ffffff;
  --public-demo-card-border: #cbdde6;
  --public-demo-card-eyebrow: #2563eb;
  --public-demo-card-heading: #10212b;
  --public-demo-card-copy: #25313d;
  --public-demo-section-bg: #eef5f6;
  --shadow: 0 1px 2px rgba(23, 32, 42, 0.05), 0 10px 28px rgba(23, 32, 42, 0.06);
  --shadow-hover: 0 1px 2px rgba(23, 32, 42, 0.08), 0 16px 36px rgba(23, 32, 42, 0.1);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #101214;
  --panel: #181c20;
  --panel-2: #20262b;
  --ink: #edf2f7;
  --muted: #a0aab6;
  --line: #2d353d;
  --topbar: rgba(24, 28, 32, 0.94);
  --nav: #15191d;
  --nav-2: #20262b;
  --nav-active: #1d2429;
  --nav-text: #e7edf4;
  --nav-muted: #9aa5b1;
  --nav-border: #2d353d;
  --primary: #2563eb;
  --primary-hover: #3b82f6;
  --primary-ink: #ffffff;
  --blue: #60a5fa;
  --logo-blue: #2563eb;
  --logo-blue-soft: rgba(37, 99, 235, 0.16);
  --green: #34d399;
  --amber: #fbbf24;
  --red: #f87171;
  --teal: #60a5fa;
  --button-muted-bg: #242b31;
  --button-muted-hover: #303940;
  --button-muted-ink: #e5edf7;
  --track-bg: #2b343b;
  --selected-bg: rgba(96, 165, 250, 0.14);
  --code-bg: #20262b;
  --code-ink: #dbeafe;
  --status-good-bg: rgba(52, 211, 153, 0.17);
  --status-warn-bg: rgba(251, 191, 36, 0.18);
  --status-bad-bg: rgba(248, 113, 113, 0.18);
  --status-muted-bg: #2b343b;
  --status-muted-ink: #cbd5e1;
  --alarm-bg: rgba(251, 191, 36, 0.18);
  --alarm-border: rgba(251, 191, 36, 0.36);
  --alarm-ink: #fde68a;
  --notice-bg: rgba(96, 165, 250, 0.18);
  --notice-ink: #bfdbfe;
  --warning-panel-bg: rgba(251, 146, 60, 0.16);
  --warning-panel-border: rgba(251, 146, 60, 0.36);
  --warning-panel-ink: #fed7aa;
  --demo-panel-bg: rgba(37, 99, 235, 0.16);
  --demo-panel-border: rgba(37, 99, 235, 0.38);
  --demo-panel-ink: #dbeafe;
  --public-demo-card-bg: #f8fafc;
  --public-demo-card-border: #94a3b8;
  --public-demo-card-eyebrow: #1d4ed8;
  --public-demo-card-heading: #0f172a;
  --public-demo-card-copy: #25313d;
  --public-demo-section-bg: #171e22;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.32), 0 16px 36px rgba(0, 0, 0, 0.28);
  --shadow-hover: 0 1px 2px rgba(0, 0, 0, 0.36), 0 20px 44px rgba(0, 0, 0, 0.36);
}

* {
  box-sizing: border-box;
}

[hidden] {
  display: none !important;
}

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: 14px;
  line-height: 1.45;
}

a {
  color: inherit;
  text-decoration: none;
}

.app-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  background: var(--nav);
  border-right: 1px solid var(--nav-border);
  color: var(--nav-text);
  display: flex;
  flex-direction: column;
  gap: 18px;
  height: 100vh;
  overflow-y: auto;
  padding: 16px 14px;
  position: sticky;
  top: 0;
}

.sidebar-backdrop,
.mobile-topbar-brand {
  display: none;
}

.mobile-nav-toggle {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  flex: 0 0 auto;
  height: 38px;
  justify-content: center;
  padding: 0;
  width: 38px;
}

.mobile-nav-toggle span {
  background: currentColor;
  border-radius: 999px;
  display: block;
  height: 2px;
  width: 17px;
}

.mobile-nav-toggle span + span {
  margin-top: 4px;
}

.mobile-brand-lockup {
  align-items: center;
  color: var(--ink);
  display: inline-flex;
  gap: 10px;
  min-width: 0;
}

.mobile-brand-lockup .brand-mark {
  flex: 0 0 auto;
  height: 34px;
  width: 34px;
}

.mobile-brand-lockup strong,
.mobile-brand-lockup small {
  display: block;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mobile-brand-lockup strong {
  font-size: 14px;
}

.mobile-brand-lockup small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  margin-top: 2px;
}

.mobile-brand-lockup > span:last-child {
  min-width: 0;
}

.brand {
  align-items: center;
  display: flex;
  gap: 12px;
  padding: 4px 6px 10px;
}

.brand strong {
  color: var(--nav-text);
  display: block;
  font-size: 15px;
  line-height: 1.2;
}

.brand span {
  color: var(--nav-muted);
  display: block;
  font-size: 12px;
  margin-top: 3px;
}

.brand-mark {
  align-items: center;
  background: transparent;
  border-radius: 8px;
  display: grid;
  height: 38px;
  justify-content: center;
  overflow: hidden;
  width: 38px;
}

.brand-logo-mark {
  display: block;
  height: 100%;
  width: 100%;
}

.nav-list {
  display: grid;
  gap: 3px;
}

.nav-list a {
  border-radius: 6px;
  color: var(--nav-muted);
  display: block;
  font-weight: 700;
  line-height: 1.25;
  padding: 10px 12px;
  position: relative;
}

.nav-list a:hover,
.nav-list a.active {
  background: var(--logo-blue-soft);
  box-shadow: inset 3px 0 0 var(--logo-blue);
  color: var(--nav-text);
}

.nav-section {
  border-top: 1px solid var(--nav-border);
  display: grid;
  gap: 3px;
  margin-top: 14px;
  padding-top: 12px;
}

.nav-section > span {
  color: var(--nav-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  padding: 0 12px 4px;
  text-transform: uppercase;
}

.tier-card {
  background: var(--panel);
  border: 1px solid var(--nav-border);
  border-radius: 8px;
  box-shadow: var(--shadow);
  margin-top: auto;
  padding: 14px;
}

.tier-card span,
.tier-card small {
  color: var(--nav-muted);
  display: block;
  font-size: 12px;
}

.tier-card strong {
  color: var(--nav-text);
  display: block;
  font-size: 20px;
  margin: 4px 0;
}

.main {
  background: var(--bg);
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-width: 0;
}

.main-content {
  flex: 1 0 auto;
  padding: 22px 24px 34px;
}

.topbar {
  align-items: center;
  background: var(--topbar);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(12px);
  display: flex;
  gap: 18px;
  justify-content: space-between;
  min-height: 78px;
  padding: 14px 24px;
  position: sticky;
  top: 0;
  z-index: 12;
}

.page-heading {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.topbar h1 {
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
}

.page-context {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.breadcrumbs {
  align-items: center;
  color: var(--muted);
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  line-height: 1.2;
}

.breadcrumbs a {
  color: var(--blue);
}

.breadcrumbs a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.breadcrumb-separator {
  color: var(--muted);
}

.breadcrumb-current {
  color: var(--muted);
}

.eyebrow {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

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

.theme-toggle {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  height: 36px;
  justify-content: center;
  padding: 0;
  width: 36px;
}

.theme-toggle:hover {
  background: var(--button-muted-bg);
  border-color: color-mix(in srgb, var(--primary) 32%, var(--line));
}

.theme-toggle-icon {
  border: 2px solid currentColor;
  border-radius: 999px;
  display: inline-block;
  height: 17px;
  position: relative;
  width: 17px;
}

.theme-toggle-icon::before,
.theme-toggle-icon::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  position: absolute;
}

.theme-toggle-icon::before {
  height: 3px;
  left: 50%;
  top: -7px;
  transform: translateX(-50%);
  width: 3px;
  box-shadow:
    0 24px 0 currentColor,
    12px 12px 0 currentColor,
    -12px 12px 0 currentColor;
}

.theme-toggle-icon::after {
  height: 3px;
  left: -7px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  box-shadow: 24px 0 0 currentColor;
}

:root[data-theme="dark"] .theme-toggle-icon {
  background: currentColor;
  border: 0;
  height: 19px;
  width: 19px;
}

:root[data-theme="dark"] .theme-toggle-icon::before {
  background: var(--panel);
  box-shadow: none;
  height: 15px;
  left: 7px;
  top: -1px;
  transform: none;
  width: 15px;
}

:root[data-theme="dark"] .theme-toggle-icon::after {
  display: none;
}

.alarm-menu {
  position: relative;
}

.alarm-menu summary {
  align-items: center;
  background: var(--alarm-bg);
  border: 1px solid var(--alarm-border);
  border-radius: 999px;
  color: var(--alarm-ink);
  cursor: pointer;
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 6px;
  list-style: none;
  padding: 6px 10px 6px 7px;
}

.alarm-menu summary::-webkit-details-marker {
  display: none;
}

.alarm-bell {
  align-items: center;
  animation: alarmPulse 1.8s infinite;
  background: var(--amber);
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  height: 22px;
  justify-content: center;
  position: relative;
  width: 22px;
}

.alarm-bell::before {
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 999px 999px 3px 3px;
  content: "";
  height: 10px;
  position: absolute;
  top: 5px;
  width: 10px;
}

.alarm-bell::after {
  background: currentColor;
  border-radius: 999px;
  bottom: 4px;
  content: "";
  height: 4px;
  position: absolute;
  width: 4px;
}

.alarm-dropdown {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  min-width: 340px;
  padding: 10px;
  position: absolute;
  right: 0;
  top: 38px;
  z-index: 20;
}

.alarm-header {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 4px 4px 10px;
}

.alarm-header a {
  color: var(--blue);
  font-weight: 800;
}

.alarm-item {
  border-radius: 6px;
  display: grid;
  gap: 5px;
  padding: 10px;
}

.alarm-item:hover {
  background: var(--panel-2);
}

.alarm-item small {
  color: var(--muted);
}

.status-pill,
.badge {
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  white-space: nowrap;
}

.account-menu {
  position: relative;
}

.account-menu summary {
  cursor: pointer;
  list-style: none;
}

.account-menu summary::-webkit-details-marker {
  display: none;
}

.avatar-mark {
  align-items: center;
  background: var(--button-muted-bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--nav-text);
  display: inline-flex;
  font-weight: 800;
  height: 36px;
  justify-content: center;
  width: 36px;
}

.account-dropdown {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 9px;
  min-width: 240px;
  padding: 12px;
  position: absolute;
  right: 0;
  top: 44px;
  z-index: 20;
}

.full-width {
  width: 100%;
}

.ghost-button,
.primary-button {
  border: 1px solid transparent;
  border-radius: 6px;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 9px 12px;
}

.ghost-button {
  background: var(--button-muted-bg);
  border-color: var(--line);
  color: var(--button-muted-ink);
}

.ghost-button:hover {
  background: var(--button-muted-hover);
}

.primary-button {
  background: var(--primary);
  color: var(--primary-ink);
}

.primary-button:hover {
  background: var(--primary-hover);
}

.danger-button {
  background: var(--red);
  border: 1px solid transparent;
  border-radius: 6px;
  color: #ffffff;
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 9px 12px;
}

.danger-button:hover {
  filter: brightness(0.93);
}

.primary-button:disabled,
.ghost-button:disabled,
.danger-button:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.primary-button:focus-visible,
.ghost-button:focus-visible,
.danger-button:focus-visible,
.theme-toggle:focus-visible,
.icon-action:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--primary) 28%, transparent);
  outline-offset: 2px;
}

.grid {
  display: grid;
  gap: 16px;
}

.account-tabs {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 4px;
  margin-top: 18px;
  overflow-x: auto;
}

.account-tabs a {
  border-bottom: 3px solid transparent;
  color: var(--muted);
  font-weight: 800;
  padding: 11px 14px 10px;
  white-space: nowrap;
}

.account-tabs a:hover,
.account-tabs a.active {
  border-color: var(--blue);
  color: var(--ink);
}

.stats-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.two-col {
  grid-template-columns: minmax(0, 1.3fr) minmax(320px, 0.7fr);
}

.dashboard-graphs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.usage-dashboard-grid {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  margin-top: 16px;
}

.usage-section-header {
  align-items: flex-start;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.usage-section-header h2,
.usage-section-header p {
  margin: 0;
}

.usage-section-header p {
  margin-top: 4px;
}

.usage-growth-card,
.usage-summary-card {
  min-width: 0;
}

.usage-growth-chart {
  display: grid;
  gap: 8px;
  min-height: 250px;
  padding-top: 12px;
}

.usage-line-plot {
  background:
    linear-gradient(to right, transparent 0, transparent calc(100% - 1px), var(--line) calc(100% - 1px)),
    linear-gradient(to bottom, transparent, var(--panel-2));
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
  min-height: 220px;
  position: relative;
}

.usage-line-svg {
  inset: 0;
  overflow: visible;
  position: absolute;
  height: 100%;
  width: 100%;
}

.usage-line-grid {
  opacity: 0.65;
  stroke: var(--line);
  stroke-width: 1;
  vector-effect: non-scaling-stroke;
}

.usage-line-area {
  fill: color-mix(in srgb, var(--blue) 14%, transparent);
}

.usage-line-stroke {
  fill: none;
  stroke: var(--blue);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
}

.usage-line-point {
  background: var(--panel);
  border: 2px solid var(--blue);
  border-radius: 999px;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 16%, transparent);
  height: 11px;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 11px;
}

.usage-line-axis {
  min-height: 16px;
  position: relative;
}

.usage-line-axis small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  position: absolute;
  transform: translateX(-50%);
  white-space: nowrap;
}

.usage-growth-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 14px;
}

.usage-growth-legend span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.usage-growth-legend strong {
  color: var(--ink);
}

.usage-summary-metrics {
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 16px;
  padding-bottom: 16px;
}

.usage-summary-metrics div {
  display: grid;
  gap: 3px;
}

.usage-summary-metrics span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.usage-summary-metrics strong {
  font-size: 24px;
  line-height: 1.1;
}

.usage-breakdown {
  display: grid;
  gap: 10px;
}

.usage-breakdown + .usage-breakdown {
  margin-top: 18px;
}

.usage-breakdown h3 {
  font-size: 13px;
  margin: 0;
}

.service-fill {
  background: var(--amber);
}

.usage-region-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.danger-zone-card {
  border-color: color-mix(in srgb, var(--red) 36%, var(--line));
}

.usage-region-list span {
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  display: inline-flex;
  font-size: 12px;
  font-weight: 800;
  gap: 7px;
  line-height: 1;
  min-height: 28px;
  padding: 7px 9px;
}

.usage-region-list strong {
  color: var(--ink);
}

.dashboard-onboarding {
  margin-top: 0;
  padding: 20px;
}

.dashboard-onboarding-layout {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
}

.dashboard-onboarding-main {
  display: grid;
  gap: 18px;
}

.dashboard-onboarding-side {
  border-left: 1px solid var(--line);
  display: grid;
  gap: 18px;
  padding-left: 22px;
}

.dashboard-onboarding-side div {
  display: grid;
  gap: 8px;
}

.dashboard-onboarding-side form {
  margin: 0;
}

.dashboard-onboarding h2 {
  font-size: 22px;
  margin: 10px 0 8px;
}

.dashboard-onboarding p {
  line-height: 1.55;
  max-width: 900px;
}

.onboarding-steps {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.onboarding-steps div {
  border-left: 3px solid var(--line);
  display: grid;
  gap: 5px;
  padding: 2px 0 2px 12px;
}

.onboarding-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.onboarding-actions form {
  margin: 0;
}

.dashboard-empty-panel {
  display: grid;
  gap: 8px;
  padding: 18px;
}

.dashboard-empty-panel p {
  margin: 0;
  max-width: 620px;
}

.dashboard-empty-panel .primary-button,
.dashboard-empty-panel .ghost-button {
  justify-self: start;
}

.account-edit-layout {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
}

.card,
.table-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.card {
  padding: 18px;
}

.card h2,
.table-card h2 {
  font-size: 16px;
  line-height: 1.25;
  margin: 0 0 12px;
}

.card h3 {
  font-size: 14px;
  margin: 18px 0 8px;
}

.chart-list {
  display: grid;
  gap: 13px;
}

.chart-row {
  display: grid;
  gap: 7px;
}

.chart-link,
.stat-link,
.risk-tile-link {
  color: inherit;
  text-decoration: none;
}

.chart-link {
  border-radius: 8px;
  margin: -6px;
  padding: 6px;
  transition: background 0.16s ease;
}

.chart-link:hover,
.chart-link:focus-visible {
  background: var(--panel-2);
}

.chart-label {
  align-items: baseline;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.chart-label span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.bar-track {
  background: var(--track-bg);
  border-radius: 999px;
  height: 10px;
  overflow: hidden;
}

.bar-fill {
  background: var(--blue);
  border-radius: inherit;
  height: 100%;
  min-width: 4px;
}

.category-financial,
.savings-fill {
  background: var(--green);
}

.category-security {
  background: var(--red);
}

.category-stability {
  background: var(--amber);
}

.category-performance {
  background: var(--blue);
}

.risk-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.risk-tile {
  border-radius: 8px;
  display: grid;
  gap: 5px;
  padding: 12px;
}

.risk-tile span {
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.risk-tile strong {
  font-size: 26px;
}

.spark-bars {
  align-items: end;
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(14, minmax(0, 1fr));
  height: 152px;
}

.spark-column {
  align-items: center;
  display: grid;
  gap: 6px;
  grid-template-rows: 1fr auto;
  height: 100%;
}

.spark-fill {
  align-self: end;
  background: var(--teal);
  border-radius: 5px 5px 0 0;
  min-height: 0;
  width: 100%;
}

.spark-column small {
  color: var(--muted);
  font-size: 10px;
}

.stat {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.stat-link,
.risk-tile-link {
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.stat-link:hover,
.risk-tile-link:hover {
  border-color: color-mix(in srgb, var(--blue) 48%, transparent);
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}

.stat-link:focus-visible,
.risk-tile-link:focus-visible,
.chart-link:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--blue) 30%, transparent);
  outline-offset: 2px;
}

.stat span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.stat small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.stat strong {
  font-size: 28px;
  line-height: 1.1;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.finding-health-card {
  position: relative;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.finding-health-card:hover {
  border-color: color-mix(in srgb, var(--blue) 48%, transparent);
  box-shadow: var(--shadow-hover);
  transform: translateY(-1px);
}

.finding-health-card:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--blue) 30%, transparent);
  outline-offset: 2px;
}

.finding-health-meter {
  background: linear-gradient(90deg, #f59e0b 0%, #facc15 36%, #84cc16 68%, #15803d 100%);
  border-radius: 999px;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.2);
  height: 10px;
  margin: 1px 0;
  position: relative;
}

.finding-health-indicator {
  background: var(--panel);
  border: 2px solid var(--ink);
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
  display: block;
  height: 16px;
  left: clamp(8px, var(--health-position), calc(100% - 8px));
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 16px;
}

.status-title {
  align-items: center;
  display: flex;
  gap: 9px;
  min-width: 0;
}

.provider-label-with-logo {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  min-width: 0;
  vertical-align: middle;
}

.provider-logo {
  background: #ffffff;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 6px;
  box-sizing: border-box;
  display: inline-block;
  flex: 0 0 auto;
  height: var(--provider-logo-size, 22px);
  object-fit: contain;
  padding: 3px;
  width: var(--provider-logo-size, 22px);
}

.provider-logo-large {
  height: 28px;
  width: 28px;
}

.connection-icon {
  align-items: center;
  border-radius: 999px;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 900;
  height: 24px;
  justify-content: center;
  width: 24px;
}

.connection-icon.connected {
  background: var(--green);
}

.connection-icon.disconnected {
  background: var(--red);
}

.table-card {
  overflow: hidden;
}

.table-header {
  align-items: center;
  background: var(--panel);
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 18px;
}

.table-header h2,
.table-header p {
  margin: 0;
}

.table-header p {
  margin-top: 4px;
}

.flush-header {
  border-bottom: 0;
}

table {
  border-collapse: collapse;
  width: 100%;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 13px 16px;
  text-align: left;
  vertical-align: top;
}

th {
  background: var(--panel-2);
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}

.cloud-accounts-table-card th,
.cloud-accounts-table-card td {
  vertical-align: middle;
}

.cloud-accounts-table-card .badge {
  align-items: center;
}

tbody tr:hover td {
  background: color-mix(in srgb, var(--panel-2) 70%, transparent);
}

tr:last-child td {
  border-bottom: 0;
}

.selected-row td {
  background: var(--selected-bg);
}

.muted {
  color: var(--muted);
}

.status-good {
  background: var(--status-good-bg);
  color: var(--green);
}

.status-warn {
  background: var(--status-warn-bg);
  color: var(--amber);
}

.status-bad,
.severity-high {
  background: var(--status-bad-bg);
  color: var(--red);
}

.status-muted,
.severity-info {
  background: var(--status-muted-bg);
  color: var(--status-muted-ink);
}

.severity-medium {
  background: var(--status-warn-bg);
  color: var(--amber);
}

.severity-low {
  background: var(--selected-bg);
  color: var(--blue);
}

.severity-high,
.severity-medium,
.severity-low,
.severity-info {
  border-color: transparent;
}

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

.list-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 7px;
  padding: 13px;
}

.list-item strong {
  font-size: 14px;
}

.metric-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.referral-metrics {
  color: var(--muted);
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.referral-metrics span {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 2px;
  padding: 8px;
}

.referral-metrics strong {
  color: var(--ink);
}

.referral-link-row {
  align-items: stretch;
  display: inline-flex;
  gap: 8px;
}

.referral-link {
  color: var(--blue);
  font-weight: 700;
  max-width: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.icon-button {
  align-items: center;
  display: inline-grid;
  justify-content: center;
  min-height: 38px;
  padding: 0;
  width: 40px;
}

.referral-copy-button {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  white-space: nowrap;
}

.copy-icon {
  color: currentColor;
  display: inline-block;
  height: 17px;
  position: relative;
  width: 15px;
}

.copy-icon::before,
.copy-icon::after {
  border: 2px solid currentColor;
  border-radius: 3px;
  content: "";
  height: 12px;
  position: absolute;
  width: 10px;
}

.copy-icon::before {
  left: 0;
  top: 3px;
}

.copy-icon::after {
  background: var(--button-muted-bg);
  left: 4px;
  top: 0;
}

.copy-button[data-copied="true"] {
  background: var(--status-good-bg);
  color: var(--green);
}

.copy-button[data-copied="true"] .copy-icon::before,
.copy-button[data-copied="true"] .copy-icon::after {
  border: 0;
}

.copy-button[data-copied="true"] .copy-icon::after {
  background: transparent;
  border-bottom: 3px solid currentColor;
  border-right: 3px solid currentColor;
  border-radius: 0;
  height: 12px;
  left: 4px;
  top: 0;
  transform: rotate(40deg);
  width: 7px;
}

.region-group-row th {
  background: var(--panel-2);
  color: var(--ink);
  font-size: 13px;
  letter-spacing: 0;
  text-align: left;
}

.resource-title {
  display: grid;
  gap: 3px;
}

.region-rollup-section {
  display: grid;
  gap: 14px;
}

.section-heading {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.section-heading h2,
.section-heading p {
  margin: 0;
}

.section-heading h2 {
  font-size: 18px;
}

.region-rollup-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.region-rollup-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  padding: 16px;
}

.region-rollup-card.has-failures {
  border-left: 4px solid var(--red);
}

.region-rollup-header {
  align-items: start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.region-rollup-header h3 {
  font-size: 16px;
  margin: 0 0 8px;
}

.region-rollup-region-link {
  color: var(--ink);
  text-decoration: none;
}

.region-rollup-region-link:hover {
  color: var(--blue);
}

.region-rollup-recommendations {
  display: grid;
  gap: 2px;
  justify-items: end;
  text-align: right;
}

.region-rollup-recommendations strong {
  font-size: 28px;
  line-height: 1;
}

.region-rollup-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.region-rollup-metrics div {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 3px;
  padding: 10px;
}

.region-rollup-metrics strong {
  font-size: 16px;
}

.region-rollup-actions {
  border-top: 1px solid var(--line);
  display: flex;
  justify-content: flex-end;
  padding-top: 12px;
}

.scan-step-state-summary {
  display: grid;
  gap: 0;
}

.scan-step-state-summary .section-heading {
  border-bottom: 1px solid var(--line);
  padding: 16px 18px;
}

.scan-step-state-list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  padding: 16px 18px 18px;
}

.scan-step-state-item {
  align-items: start;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 14px;
}

.scan-step-state-main {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  min-width: 0;
}

.scan-step-state-item strong {
  font-size: 20px;
  line-height: 1;
}

.scan-step-state-item small {
  line-height: 1.45;
}

.region-failure-list {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
  padding-top: 12px;
}

.region-failure-list summary {
  color: var(--blue);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}

.region-failure-list summary::-webkit-details-marker {
  display: none;
}

.region-failure-list div {
  display: grid;
  gap: 2px;
}

.guidance-panel {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px;
}

.guidance-panel h2,
.guidance-panel p {
  margin: 0;
}

.guidance-panel h2 {
  font-size: 16px;
  margin-bottom: 4px;
}

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

.inventory-filter-bar {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 16px;
}

.inventory-filter-link {
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: inline-flex;
  gap: 8px;
  min-height: 34px;
  padding: 7px 10px;
  text-decoration: none;
}

.inventory-filter-link:hover,
.inventory-filter-link.active {
  background: var(--selected-bg);
  border-color: color-mix(in srgb, var(--blue) 48%, transparent);
  color: var(--blue);
}

.inventory-filter-link small {
  color: var(--muted);
}

.inventory-filter-grid {
  align-items: end;
  display: grid;
  gap: 12px;
}

.inventory-filter-form {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(160px, 1fr)) auto;
  width: 100%;
}

.inventory-filter-form label {
  color: var(--ink);
  font-weight: 900;
}

.inventory-filter-form .compact-field {
  display: grid;
  gap: 6px;
  margin: 0;
}

.inventory-filter-form .filter-actions {
  align-self: end;
  padding-top: 24px;
}

.workload-inventory-filter-form {
  grid-template-columns: repeat(5, minmax(140px, 1fr)) auto;
}

.workload-inventory-filter-panel .inventory-filter-grid {
  padding: 16px 18px 18px;
}

.workload-inventory-filter-panel .filter-actions {
  padding-top: 25px;
}

.filter-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.filter-select-all {
  white-space: nowrap;
}

.inventory-selection-panel {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.inventory-selection-copy {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.approval-bulk-panel {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.approval-bulk-panel h2,
.approval-bulk-panel p {
  margin: 0;
}

.approval-bulk-panel p {
  margin-top: 4px;
}

.approval-form-toolbar {
  align-items: end;
  background: var(--panel);
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px 16px;
}

.approval-form-grid {
  grid-template-columns: minmax(150px, 0.7fr) repeat(3, minmax(170px, 1fr));
}

.select-column {
  text-align: center;
  width: 78px;
}

.select-column input {
  height: 18px;
  width: 18px;
}

.approval-code-row {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(0, 1fr) auto;
}

.approval-code-value {
  background: var(--code-bg);
  border-radius: 6px;
  color: var(--code-ink);
  display: block;
  font-size: 12px;
  max-width: 440px;
  overflow-wrap: anywhere;
  padding: 8px;
}

.approval-code-compact {
  max-width: 220px;
  white-space: nowrap;
}

.approvals-table table {
  min-width: 880px;
}

.approval-code-preview {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inline-detail-disclosure {
  display: inline-block;
}

.inline-detail-disclosure summary {
  color: var(--blue);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
  list-style: none;
}

.inline-detail-disclosure summary::-webkit-details-marker {
  display: none;
}

.inline-detail-disclosure[open] {
  display: block;
  margin-top: 8px;
}

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

.inventory-resource-item {
  align-items: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr);
  padding: 14px;
}

.inventory-resource-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.inventory-resource-main h3,
.inventory-resource-main p {
  margin: 0;
}

.inventory-resource-main h3 {
  font-size: 16px;
  line-height: 1.25;
}

.inventory-resource-main .muted {
  overflow-wrap: anywhere;
}

.inventory-resource-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.inventory-resource-facts div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.inventory-resource-facts span {
  font-size: 12px;
  font-weight: 700;
}

.inventory-resource-facts strong {
  font-size: 14px;
  overflow-wrap: anywhere;
}

.inventory-resource-details,
.approval-resource-details,
.recommendation-card-details {
  grid-column: 1 / -1;
}

.detail-disclosure {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.detail-disclosure summary {
  color: var(--blue);
  cursor: pointer;
  font-weight: 800;
  list-style: none;
  padding: 10px 12px;
}

.detail-disclosure summary::-webkit-details-marker {
  display: none;
}

.detail-disclosure[open] summary {
  border-bottom: 1px solid var(--line);
}

.detail-disclosure-body {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.compact-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.compact-facts span {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  padding: 5px 9px;
}

.approval-workflow-form {
  display: contents;
}

.approval-workflow-panel {
  align-items: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 16px;
}

.approval-workflow-fields {
  display: grid;
  gap: 12px;
}

.approval-primary-fields {
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(190px, 240px) minmax(260px, 1fr);
}

.approval-primary-fields input[type="date"] {
  min-height: 42px;
}

.approval-extra-fields {
  max-width: 720px;
}

.approval-extra-fields summary {
  color: var(--blue);
  cursor: pointer;
  font-weight: 800;
  padding: 4px 0;
}

.approval-extra-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(200px, 1fr));
  padding-top: 8px;
}

.approval-submit-panel {
  align-items: center;
  display: grid;
  gap: 10px;
  justify-items: end;
}

.approval-dialog {
  background: transparent;
  border: 0;
  color: var(--ink);
  max-width: calc(100vw - 32px);
  padding: 0;
  width: min(640px, calc(100vw - 32px));
}

.approval-dialog::backdrop {
  background: rgba(15, 23, 42, 0.48);
}

.approval-dialog-panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow-hover);
  display: grid;
  gap: 16px;
  padding: 18px;
}

.approval-dialog-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.approval-dialog .form-actions {
  justify-content: flex-end;
}

.approval-dialog-warning {
  background: var(--warning-panel-bg);
  border: 1px solid var(--warning-panel-border);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  padding: 12px;
}

.approval-dialog-warning[hidden] {
  display: none;
}

.approval-dialog-warning strong {
  color: var(--warning-panel-ink);
}

.approval-dialog-warning p {
  margin: 0;
}

.approval-dialog-warning ul {
  color: var(--muted);
  display: grid;
  gap: 4px;
  margin: 2px 0 0;
  padding-left: 18px;
}

.approval-confirm-row {
  align-items: flex-start;
  color: var(--warning-panel-ink);
  cursor: pointer;
  display: flex;
  font-weight: 800;
  gap: 8px;
  line-height: 1.35;
  margin-top: 4px;
}

.approval-confirm-row input {
  flex: 0 0 auto;
  margin-top: 2px;
}

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

.approval-select-all-panel {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px 14px;
}

.approval-resource-option,
.approval-resource-empty {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  padding: 14px;
}

.approval-resource-option {
  align-items: start;
  cursor: default;
  grid-template-columns: minmax(84px, 0.25fr) minmax(0, 1.2fr) minmax(320px, 0.8fr);
}

.approval-resource-option:hover {
  border-color: color-mix(in srgb, var(--blue) 36%, var(--line));
}

.approval-resource-option:has(input:checked) {
  background: var(--selected-bg);
  border-color: color-mix(in srgb, var(--blue) 46%, var(--line));
}

.approval-resource-check {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  gap: 8px;
  min-height: 34px;
}

.approval-resource-check input {
  height: 18px;
  width: 18px;
}

.approval-resource-summary {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.approval-resource-summary strong {
  font-size: 16px;
  line-height: 1.25;
}

.approval-resource-summary .muted {
  overflow-wrap: anywhere;
}

.approval-resource-meta {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.approval-resource-meta > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.approval-resource-meta .muted {
  font-size: 12px;
  font-weight: 700;
}

.approval-resource-meta strong {
  font-size: 14px;
  overflow-wrap: anywhere;
}

.approval-resource-empty h3,
.approval-resource-empty p {
  margin: 0;
}

.workload-context-name,
.workload-inline-name {
  color: var(--ink);
  font-weight: 900;
}

.workload-template-guidance {
  display: grid;
  gap: 14px;
  padding: 16px 18px 18px;
}

.workload-template-guidance p {
  margin: 0;
  max-width: 900px;
}

.workload-template-account-list {
  display: grid;
  gap: 10px;
}

.workload-template-account-row {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
  padding: 12px;
}

.workload-template-account-row div {
  display: grid;
  gap: 3px;
}

.scan-frequency-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  padding: 0 16px 16px;
}

.scan-frequency-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  padding: 12px;
}

.scan-frequency-panel > div:first-child {
  display: grid;
  gap: 3px;
}

.inline-number-field {
  align-items: center;
  display: flex;
  gap: 8px;
}

.inline-number-field input {
  max-width: 110px;
}

.approval-duration-input {
  max-width: 110px;
}

.compact-field {
  margin: 0;
}

.toggle-row {
  align-items: center;
  color: var(--ink);
  display: inline-flex;
  font-weight: 700;
  gap: 8px;
}

.compact-admin-form {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(120px, 0.5fr) minmax(160px, 1fr) auto;
}

.recommendation-list {
  display: grid;
  gap: 12px;
}

.recommendation-card {
  align-items: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0, 1.5fr) minmax(220px, 0.8fr) auto;
  padding: 14px;
}

.recommendation-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.recommendation-main h3,
.recommendation-main p {
  margin: 0;
}

.recommendation-main h3 {
  font-size: 16px;
  line-height: 1.25;
}

.recommendation-main a {
  color: var(--ink);
}

.recommendation-main a:hover {
  color: var(--blue);
}

.recommendation-title-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.recommendation-facts {
  display: grid;
  gap: 10px;
}

.recommendation-facts div {
  display: grid;
  gap: 3px;
}

.recommendation-facts span {
  font-size: 12px;
  font-weight: 700;
}

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

.recommendation-detail {
  display: grid;
  gap: 14px;
}

.recommendation-detail p {
  line-height: 1.45;
  margin: 5px 0 0;
}

.recommendation-detail select:disabled {
  background: var(--panel-2);
  color: var(--ink);
  opacity: 1;
}

.evidence-item {
  gap: 10px;
}

.evidence-scroll-list {
  max-height: min(680px, 64vh);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 4px;
  scrollbar-gutter: stable;
}

.evidence-item-header {
  align-items: flex-start;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.evidence-item-header > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.evidence-data-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.evidence-data-item {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
}

.evidence-data-item dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.evidence-data-item dd {
  font-weight: 700;
  margin: 0;
  overflow-wrap: anywhere;
}

.suppression-panel {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 12px;
  margin-top: 16px;
  padding-top: 16px;
}

details.suppression-panel {
  border: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 0;
}

.suppression-panel h3 {
  font-size: 14px;
  margin: 0;
}

.suppression-panel p {
  margin: 0;
}

.inline-action-link {
  color: var(--blue);
  display: inline-flex;
  font-weight: 800;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
}

.inline-action-link:hover {
  text-decoration: underline;
}

.inline-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inline-action-button {
  background: transparent;
  border: 0;
  color: var(--blue);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 0;
  white-space: nowrap;
}

.inline-action-button:hover {
  text-decoration: underline;
}

.icon-action {
  align-items: center;
  background: var(--button-muted-bg);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  width: 32px;
}

.icon-action:hover {
  background: var(--button-muted-hover);
}

.admin-icon {
  display: inline-block;
  height: 16px;
  position: relative;
  width: 16px;
}

.admin-icon-details {
  border: 2px solid currentColor;
  border-radius: 3px;
}

.admin-icon-details::before,
.admin-icon-details::after {
  background: currentColor;
  content: "";
  height: 2px;
  left: 3px;
  position: absolute;
  right: 3px;
}

.admin-icon-details::before {
  top: 4px;
}

.admin-icon-details::after {
  top: 9px;
}

.admin-icon-view {
  border: 2px solid currentColor;
  border-radius: 999px 999px 999px 999px / 800px 800px 800px 800px;
  height: 11px;
  margin-top: 2px;
}

.admin-icon-view::after {
  background: currentColor;
  border-radius: 999px;
  content: "";
  height: 5px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 5px;
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.search-row {
  align-items: end;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(260px, 1fr) auto;
  padding: 0 16px 16px;
}

.view-as-banner {
  align-items: center;
  background: var(--warning-panel-bg);
  border: 1px solid var(--warning-panel-border);
  border-radius: 8px;
  color: var(--warning-panel-ink);
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
  padding: 12px 14px;
}

.view-as-banner strong,
.view-as-banner span {
  display: block;
}

.view-as-banner span {
  font-size: 12px;
  margin-top: 2px;
}

.view-as-banner.demo-view {
  background: var(--demo-panel-bg);
  border-color: var(--demo-panel-border);
  color: var(--demo-panel-ink);
}

.assistance-action {
  align-items: center;
  display: inline-flex;
  gap: 7px;
}

.request-icon {
  color: currentColor;
  display: inline-block;
  flex: 0 0 auto;
  height: 16px;
  position: relative;
  width: 16px;
}

.request-icon-document {
  border: 2px solid currentColor;
  border-radius: 3px;
}

.request-icon-document::after {
  background: var(--panel);
  border-bottom: 2px solid currentColor;
  border-left: 2px solid currentColor;
  content: "";
  height: 5px;
  position: absolute;
  right: -2px;
  top: -2px;
  width: 5px;
}

.ghost-button .request-icon-document::after {
  background: var(--button-muted-bg);
}

.primary-button .request-icon-document::after {
  background: var(--primary);
}

.request-icon-help::before {
  background: currentColor;
  clip-path: polygon(0 38%, 68% 12%, 68% 88%, 0 62%);
  content: "";
  height: 12px;
  left: 1px;
  position: absolute;
  top: 2px;
  width: 13px;
}

.request-icon-help::after {
  background: currentColor;
  border-radius: 1px;
  content: "";
  height: 6px;
  left: 5px;
  position: absolute;
  top: 10px;
  transform: rotate(-18deg);
  width: 3px;
}

.flash {
  border-radius: 8px;
  font-weight: 700;
  margin-bottom: 16px;
  padding: 12px 14px;
}

.flash-notice {
  background: var(--notice-bg);
  color: var(--notice-ink);
}

.flash-alert {
  background: var(--status-bad-bg);
  color: var(--red);
}

.auth-shell {
  align-items: center;
  background: linear-gradient(135deg, #202a36, #2563eb);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 24px;
}

.auth-panel {
  background: var(--panel);
  border-radius: 8px;
  box-shadow: var(--shadow);
  max-width: 420px;
  padding: 24px;
  width: 100%;
}

.auth-brand {
  margin-bottom: 22px;
}

.auth-brand strong {
  color: var(--ink);
}

.auth-main {
  display: grid;
  grid-template-rows: auto auto 1fr;
}

.auth-page-grid {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(320px, 520px) minmax(280px, 1fr);
  max-width: 1040px;
}

.auth-card {
  display: grid;
  gap: 16px;
}

.auth-card h2,
.auth-support-card h2 {
  font-size: 22px;
  line-height: 1.2;
}

.auth-heading {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.auth-heading p {
  line-height: 1.45;
  margin-top: 6px;
}

.auth-links {
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 14px;
}

.auth-links a {
  color: var(--blue);
  font-weight: 800;
}

.auth-support-card {
  display: grid;
  gap: 14px;
}

.auth-support-card h2 {
  margin: 0;
}

.auth-sidebar .tier-card {
  display: grid;
  gap: 8px;
}

.public-page {
  background: var(--bg);
  color: var(--ink);
  min-height: 100vh;
}

.public-nav {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  padding: 22px 24px;
}

.public-brand-link {
  color: inherit;
  text-decoration: none;
}

.public-nav-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}

.public-nav-links a {
  border-radius: 6px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  padding: 8px 10px;
  text-decoration: none;
}

.public-nav-links a:hover,
.public-nav-links a.active {
  background: var(--logo-blue-soft);
  color: var(--ink);
  box-shadow: inset 0 -2px 0 var(--logo-blue);
}

.public-nav-actions,
.public-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-actions .button_to {
  margin: 0;
}

.public-content-shell {
  margin: 0 auto;
  max-width: 980px;
  padding: 28px 24px 64px;
}

.public-content-card {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  display: grid;
  gap: 16px;
  padding: 24px;
}

.public-markdown {
  display: grid;
  gap: 14px;
}

.public-markdown h2,
.public-markdown h3,
.public-markdown h4,
.public-markdown p,
.public-markdown ul {
  margin: 0;
}

.public-markdown h2 {
  font-size: 26px;
  line-height: 1.2;
}

.public-markdown h3 {
  font-size: 20px;
  line-height: 1.25;
  margin-top: 8px;
}

.public-markdown h4 {
  font-size: 16px;
  line-height: 1.3;
  margin-top: 4px;
}

.public-markdown p,
.public-markdown li {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.6;
}

.public-markdown ul {
  display: grid;
  gap: 8px;
  padding-left: 22px;
}

.public-markdown a {
  color: var(--primary);
  font-weight: 700;
}

.security-document-card {
  gap: 22px;
}

.security-document-header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.security-document-header h1 {
  font-size: 30px;
  line-height: 1.2;
  margin: 4px 0 6px;
}

.security-document-summary {
  border-left: 4px solid var(--primary);
  color: var(--ink);
  font-size: 17px;
  line-height: 1.6;
  margin: 0;
  padding-left: 16px;
}

.security-document-sections {
  display: grid;
  gap: 18px;
}

.security-document-section {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  padding-top: 18px;
}

.security-document-section h2 {
  font-size: 20px;
  line-height: 1.25;
  margin: 0;
}

.security-document-section ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 22px;
}

.security-document-section li {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.55;
}

.public-footer {
  border-top: 1px solid var(--line);
  margin-top: 18px;
}

.public-footer-inner {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 1180px;
  padding: 20px 24px 28px;
}

.public-footer-brand,
.public-footer-links a {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.public-footer-brand:hover,
.public-footer-links a:hover {
  color: var(--ink);
}

.public-footer-links {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.public-demo-card {
  background: var(--public-demo-card-bg);
  border: 1px solid var(--public-demo-card-border);
  border-left: 4px solid var(--primary);
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: var(--public-demo-card-heading);
  display: grid;
  gap: 14px;
  max-width: 660px;
  padding: 18px;
}

.public-demo-card .eyebrow {
  color: var(--public-demo-card-eyebrow);
}

.public-demo-card h2 {
  color: var(--public-demo-card-heading);
  font-size: 22px;
  font-weight: 800;
  line-height: 1.2;
  margin: 4px 0 8px;
}

.public-demo-card p {
  color: var(--public-demo-card-copy);
  font-size: 15px;
  line-height: 1.5;
}

.public-demo-card .button_to {
  margin: 0;
}

.public-hero {
  align-items: start;
  display: grid;
  gap: 32px;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
  margin: 0 auto;
  max-width: 1180px;
  padding: 34px 24px 54px;
}

.public-copy {
  display: grid;
  gap: 18px;
}

.public-copy h1 {
  font-size: 46px;
  line-height: 1.04;
  margin: 0;
  max-width: 760px;
}

.public-copy p,
.public-section p,
.public-invite p {
  font-size: 17px;
  line-height: 1.55;
  margin: 0;
}

.public-cloud-strip {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-cloud-badge {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: inline-flex;
  font-size: 14px;
  font-weight: 800;
  gap: 8px;
  min-height: 40px;
  padding: 6px 10px;
}

.public-proof-grid,
.public-feature-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}

.public-proof-grid div,
.public-feature-grid article {
  align-content: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  padding: 14px;
}

.public-proof-grid div {
  border-top: 3px solid rgba(21, 94, 117, 0.28);
  min-height: 260px;
  padding: 18px;
}

.public-proof-grid span,
.public-feature-grid p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.public-preview {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: var(--ink);
  margin-top: 12px;
  overflow: hidden;
}

.preview-toolbar {
  align-items: center;
  background: #14212b;
  color: #ffffff;
  display: flex;
  gap: 8px;
  padding: 12px 14px;
}

.preview-toolbar span {
  background: #94a3b8;
  border-radius: 999px;
  height: 10px;
  width: 10px;
}

.preview-toolbar strong {
  font-size: 12px;
  margin-left: auto;
}

.preview-dashboard {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 16px;
}

.preview-stat,
.preview-list,
.preview-region {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  display: grid;
  gap: 8px;
  padding: 12px;
}

.preview-stat span {
  color: var(--nav-muted);
  font-size: 12px;
  font-weight: 700;
}

.preview-stat strong {
  color: var(--primary);
  font-size: 24px;
}

.preview-list,
.preview-region {
  grid-column: 1 / -1;
}

.preview-list > strong,
.preview-region > strong {
  color: var(--ink);
  font-weight: 800;
}

.preview-list div {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: auto minmax(0, 1fr);
}

.preview-list p {
  color: var(--nav-text);
  font-weight: 650;
  margin: 0;
}

.preview-region span {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--nav-text);
  font-weight: 650;
  padding: 8px 10px;
}

.public-section,
.public-invite {
  display: grid;
  gap: 20px;
  margin: 0 auto;
  max-width: 1180px;
  padding: 36px 24px;
}

.public-section h2,
.public-invite h2 {
  font-size: 26px;
  margin: 0 0 8px;
}

.public-invite {
  grid-template-columns: minmax(0, 760px);
  justify-content: start;
}

.public-demo-section {
  background: var(--public-demo-section-bg);
  border-block: 1px solid var(--line);
  max-width: none;
  padding-inline: max(24px, calc((100vw - 1180px) / 2 + 24px));
}

.public-demo-section > *,
.public-pricing-section > * {
  max-width: 1180px;
}

.public-pricing-table {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  border-spacing: 0;
  box-shadow: var(--shadow);
  max-width: 100%;
  overflow: hidden;
  width: max-content;
}

.public-comparison-section {
  background: var(--panel-2);
  border-bottom: 1px solid var(--line);
  border-top: 1px solid var(--line);
  max-width: none;
  padding-left: max(24px, calc((100% - 1180px) / 2 + 24px));
  padding-right: max(24px, calc((100% - 1180px) / 2 + 24px));
}

.public-comparison-scroll {
  overflow-x: auto;
}

.public-comparison-table {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 980px;
  width: 100%;
}

.public-comparison-table th,
.public-comparison-table td {
  border-bottom: 1px solid var(--line);
  padding: 14px;
  text-align: left;
  vertical-align: top;
}

.public-comparison-table thead th {
  background: var(--panel);
  color: var(--ink);
  font-size: 13px;
}

.public-comparison-table tbody th {
  color: var(--ink);
  font-size: 13px;
  min-width: 150px;
}

.public-comparison-table td {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
  min-width: 175px;
}

.public-comparison-table tbody tr:last-child th,
.public-comparison-table tbody tr:last-child td {
  border-bottom: 0;
}

.public-alpha-price-note {
  color: var(--ink);
  margin: 10px 0 0;
}

.public-pricing-table th,
.public-pricing-table td {
  border-bottom: 1px solid var(--line);
  padding: 14px 16px;
  text-align: left;
}

.public-pricing-table th {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.public-pricing-table td:last-child,
.public-pricing-table th:last-child {
  text-align: right;
}

.public-pricing-table tbody tr:last-child td {
  border-bottom: 0;
}

.public-pricing-table strong {
  color: var(--ink);
}

.public-price-fee span {
  color: var(--muted);
  display: block;
  font-size: 13px;
  margin-top: 3px;
}

.public-walkthrough-section {
  border-top: 1px solid var(--line);
}

.public-walkthrough-heading {
  max-width: 860px;
}

.walkthrough-carousel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: var(--ink);
  display: grid;
  gap: 14px;
  padding: 16px;
}

.walkthrough-radio {
  left: -9999px;
  opacity: 0;
  position: absolute;
}

.walkthrough-tabs {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.walkthrough-tabs label {
  align-content: start;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--nav-text);
  cursor: pointer;
  display: grid;
  gap: 8px;
  min-height: 92px;
  padding: 12px;
}

.walkthrough-tabs label span {
  align-items: center;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 999px;
  color: var(--primary);
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  height: 26px;
  justify-content: center;
  width: 26px;
}

.walkthrough-tabs label strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
}

.walkthrough-stage {
  min-height: 0;
}

.walkthrough-slide {
  display: none;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 310px);
}

.walkthrough-frame {
  aspect-ratio: 16 / 10;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 0;
  overflow: hidden;
}

.walkthrough-frame img {
  display: block;
  height: 100%;
  object-fit: cover;
  object-position: left top;
  width: 100%;
}

.walkthrough-caption {
  align-content: start;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  padding: 16px;
}

.walkthrough-caption span {
  color: var(--primary);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.walkthrough-caption h3 {
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
}

.walkthrough-caption p {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.5;
}

.walkthrough-radio:nth-of-type(1):checked ~ .walkthrough-tabs label:nth-child(1),
.walkthrough-radio:nth-of-type(2):checked ~ .walkthrough-tabs label:nth-child(2),
.walkthrough-radio:nth-of-type(3):checked ~ .walkthrough-tabs label:nth-child(3),
.walkthrough-radio:nth-of-type(4):checked ~ .walkthrough-tabs label:nth-child(4),
.walkthrough-radio:nth-of-type(5):checked ~ .walkthrough-tabs label:nth-child(5),
.walkthrough-radio:nth-of-type(6):checked ~ .walkthrough-tabs label:nth-child(6) {
  border-color: color-mix(in srgb, var(--primary) 46%, var(--line));
  box-shadow: inset 0 3px 0 var(--primary);
}

.walkthrough-radio:nth-of-type(1):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(1),
.walkthrough-radio:nth-of-type(2):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(2),
.walkthrough-radio:nth-of-type(3):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(3),
.walkthrough-radio:nth-of-type(4):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(4),
.walkthrough-radio:nth-of-type(5):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(5),
.walkthrough-radio:nth-of-type(6):checked ~ .walkthrough-stage .walkthrough-slide:nth-child(6) {
  display: grid;
}

.landing-hero {
  grid-template-columns: minmax(0, 1fr) minmax(380px, 500px);
  padding-top: 44px;
}

.landing-hero-copy h1 {
  max-width: 820px;
}

.landing-hero-copy p {
  max-width: 800px;
}

.landing-actions {
  margin-top: 2px;
}

.landing-decision-panel {
  align-self: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  color: var(--ink);
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 18px;
}

.landing-decision-header,
.landing-decision-footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.landing-decision-header span,
.landing-decision-footer span {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.landing-decision-header strong,
.landing-decision-footer strong {
  color: var(--ink);
}

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

.landing-decision-list div {
  align-items: start;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 12px;
}

.landing-decision-list p {
  color: var(--nav-text);
  font-weight: 650;
  line-height: 1.45;
  margin: 0;
}

.landing-decision-footer {
  align-items: start;
  background: color-mix(in srgb, var(--primary) 10%, var(--panel));
  border: 1px solid color-mix(in srgb, var(--primary) 24%, var(--line));
  border-radius: 8px;
  flex-direction: column;
  gap: 6px;
  padding: 12px;
}

.landing-decision-footer span {
  line-height: 1.45;
}

.landing-value-section,
.landing-workflow-section {
  border-top: 1px solid var(--line);
}

.landing-trust-section {
  background: var(--public-demo-section-bg);
  border-block: 1px solid var(--line);
  max-width: none;
  padding-inline: max(24px, calc((100vw - 1180px) / 2 + 24px));
}

.landing-trust-section > * {
  max-width: 1180px;
}

.landing-outcome-grid,
.landing-trust-grid,
.landing-question-grid {
  display: grid;
  gap: 12px;
}

.landing-outcome-grid,
.landing-trust-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.landing-question-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.landing-outcome-grid article,
.landing-trust-grid article,
.landing-question-grid article {
  align-content: start;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 9px;
  min-height: 180px;
  padding: 16px;
}

.landing-outcome-grid article:nth-child(1) {
  border-top: 3px solid var(--green);
}

.landing-question-grid article:nth-child(1) {
  border-top: 3px solid color-mix(in srgb, var(--primary) 70%, var(--line));
}

.landing-outcome-grid article:nth-child(2),
.landing-question-grid article:nth-child(2) {
  border-top: 3px solid var(--red);
}

.landing-outcome-grid article:nth-child(3),
.landing-question-grid article:nth-child(3) {
  border-top: 3px solid var(--blue);
}

.landing-outcome-grid article:nth-child(4),
.landing-question-grid article:nth-child(4) {
  border-top: 3px solid var(--amber);
}

.landing-trust-grid article {
  border-top: 3px solid color-mix(in srgb, var(--primary) 70%, var(--line));
}

.landing-outcome-grid strong,
.landing-trust-grid strong,
.landing-question-grid strong {
  color: var(--ink);
  font-size: 16px;
}

.landing-outcome-grid p,
.landing-trust-grid p,
.landing-question-grid p {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}

.landing-question-grid article > span {
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  height: 30px;
  justify-content: center;
  width: 30px;
}

.landing-pricing-callout {
  align-items: center;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  grid-template-columns: minmax(0, 1fr) auto;
  margin-top: 18px;
}

.landing-callout-actions {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.landing-invite-section {
  padding-top: 28px;
}

.product-tour-header {
  align-items: stretch;
  background: var(--demo-panel-bg);
  border: 1px solid var(--demo-panel-border);
  border-radius: 8px;
  color: var(--demo-panel-ink);
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 16px;
  padding: 16px;
}

.product-tour-copy {
  display: grid;
  gap: 6px;
}

.product-tour-copy h2 {
  font-size: 20px;
  line-height: 1.2;
  margin: 0;
}

.product-tour-copy p {
  line-height: 1.5;
  margin: 0;
}

.product-tour-note {
  border-top: 1px solid var(--demo-panel-border);
  font-size: 13px;
  padding-top: 8px;
}

.product-tour-highlights {
  display: grid;
  gap: 6px;
  line-height: 1.4;
  margin: 4px 0 0;
  padding-left: 18px;
}

.product-tour-highlights li {
  padding-left: 2px;
}

.product-tour-actions {
  align-items: flex-end;
  align-self: stretch;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.product-tour-actions .button_to {
  margin: 0;
}

.invite-form {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 18px;
}

.public-flash {
  margin: 0 auto 12px;
  max-width: 1132px;
}

input[type="email"],
input[type="password"],
input[type="text"],
input[type="number"],
input[type="date"],
select,
textarea {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  font: inherit;
  padding: 10px 12px;
  width: 100%;
}

textarea {
  line-height: 1.45;
  resize: vertical;
}

.field {
  display: grid;
  gap: 6px;
  margin-bottom: 14px;
}

.field-hint {
  color: var(--muted);
  font-size: 13px;
  margin: 0;
}

.form-error {
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
}

.readonly-field {
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 6px;
  display: flex;
  gap: 8px;
  min-height: 40px;
  padding: 9px 12px;
}

.info-tooltip {
  align-items: center;
  background: var(--notice-bg);
  border-radius: 999px;
  color: var(--notice-ink);
  cursor: help;
  display: inline-flex;
  font-size: 11px;
  font-weight: 900;
  height: 18px;
  justify-content: center;
  position: relative;
  width: 18px;
}

.tooltip-bubble {
  background: var(--ink);
  border-radius: 6px;
  bottom: calc(100% + 8px);
  color: var(--panel);
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  line-height: 1.3;
  opacity: 0;
  padding: 7px 9px;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  transition: opacity 0.14s ease;
  visibility: hidden;
  white-space: nowrap;
  z-index: 30;
}

.info-tooltip:hover .tooltip-bubble,
.info-tooltip:focus .tooltip-bubble {
  opacity: 1;
  visibility: visible;
}

.actions {
  margin: 16px 0;
}

.form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricing-ranges-scroll {
  overflow-x: auto;
}

.pricing-ranges-table {
  min-width: 900px;
}

.pricing-ranges-table th,
.pricing-ranges-table td {
  vertical-align: middle;
}

.pricing-ranges-table input:not([type="checkbox"]),
.pricing-ranges-table select {
  min-width: 105px;
  width: 100%;
}

.pricing-range-remove,
.pricing-range-new-label {
  text-align: center;
}

.pricing-range-new-row td {
  background: var(--panel-2);
}

.pricing-range-new-label {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.pricing-ranges-actions {
  align-items: center;
  border-top: 1px solid var(--line);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 14px 16px;
}

.pricing-ranges-actions p {
  margin: 0;
}

.settings-vertical-fields {
  display: grid;
  gap: 14px;
  max-width: 560px;
}

.settings-form select {
  justify-self: start;
  max-width: 100%;
  width: fit-content;
}

.provider-fields-section {
  border-top: 1px solid var(--line);
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  margin-top: 2px;
  padding-top: 14px;
}

.provider-fields-section p {
  margin: 4px 0 0;
}

.provider-fields-grid {
  margin: 0;
}

.account-form:not(.wizard-form) {
  display: grid;
  gap: 16px;
}

.account-form:not(.wizard-form) .role-name-field {
  grid-column: 1 / -1;
}

.breakable-text {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.wizard-form {
  display: grid;
  gap: 16px;
}

.wizard-steps {
  background: var(--button-muted-bg);
  border-radius: 8px;
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 4px;
}

.wizard-step {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--muted);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  padding: 9px 10px;
}

.wizard-step.active {
  background: var(--panel);
  box-shadow: 0 1px 3px rgba(31, 41, 51, 0.12);
  color: var(--ink);
}

.wizard-stage {
  display: grid;
  gap: 12px;
}

.wizard-form[data-wizard-ready="true"] .wizard-stage {
  display: none;
}

.wizard-form[data-wizard-ready="true"] .wizard-stage.active {
  display: grid;
}

.wizard-stage h3 {
  font-size: 15px;
  margin: 0;
}

.wizard-stage p {
  margin: 0;
}

.cloud-option {
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 12px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 12px;
}

.cloud-option div {
  display: grid;
  gap: 4px;
}

.cloud-option.selected {
  background: var(--selected-bg);
  border-color: color-mix(in srgb, var(--blue) 48%, transparent);
  box-shadow: inset 3px 0 0 var(--blue);
}

.cloud-option.disabled {
  background: var(--panel-2);
  color: var(--muted);
}

.checkbox-row {
  align-items: center;
  display: flex;
  gap: 8px;
  margin: 12px 0;
}

.radio-field {
  border: 0;
  margin: 0 0 14px;
  padding: 0;
}

.radio-field legend {
  font-weight: 700;
  margin-bottom: 6px;
}

.radio-options {
  display: grid;
  gap: 8px;
}

.radio-option {
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 11px 12px;
}

.radio-option:has(input:checked) {
  background: var(--selected-bg);
  border-color: color-mix(in srgb, var(--blue) 48%, transparent);
  box-shadow: inset 3px 0 0 var(--blue);
}

.radio-option span {
  display: grid;
  gap: 4px;
}

.form-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.compact-actions {
  justify-content: flex-end;
  margin-top: 0;
}

.inline-scan-form {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.inline-scan-form select {
  min-width: 180px;
}

.scrollable-table {
  max-height: 360px;
  overflow: auto;
  overscroll-behavior: contain;
}

.admin-scans-scrollable {
  max-height: 620px;
}

.scrollable-table table {
  min-width: 860px;
}

.scrollable-table thead th {
  background: var(--panel-2);
  position: sticky;
  top: 0;
  z-index: 1;
}

.scan-api-calls-table {
  border-top: 1px solid var(--line);
}

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

.scan-history-disclosure {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

.scan-history-disclosure summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.scan-history-disclosure summary::-webkit-details-marker {
  display: none;
}

.scan-history-disclosure summary::after {
  content: "+";
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: var(--panel-2);
  color: var(--muted);
  font-weight: 700;
}

.scan-history-disclosure[open] summary::after {
  content: "-";
}

.scan-history-summary-main,
.scan-history-summary-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex-wrap: wrap;
}

.scan-history-summary-main strong {
  color: var(--ink);
}

.scan-history-details {
  border-top: 1px solid var(--line);
  padding: 14px 16px 16px;
}

.scan-history-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 10px;
}

.scan-history-metrics div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: var(--panel-2);
}

.scan-history-metrics span,
.scan-history-metrics strong {
  display: block;
}

.scan-history-message {
  margin: 12px 0 0;
}

.code-block {
  background: #17202a;
  border-radius: 8px;
  color: #dbeafe;
  font-size: 12px;
  line-height: 1.45;
  max-height: 420px;
  overflow: auto;
  padding: 14px;
  white-space: pre-wrap;
}

.security-review-callout {
  align-items: flex-start;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin: 12px 0 16px;
  padding: 14px;
}

.security-review-callout > div > strong {
  display: block;
  margin-bottom: 4px;
}

.security-review-callout p {
  margin: 0;
}

.account-setup-callout {
  display: block;
}

.account-setup-steps {
  display: grid;
  gap: 8px;
  line-height: 1.5;
  margin: 8px 0 0;
  padding-left: 22px;
}

.key-system-settings-layout {
  align-items: start;
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  margin-top: 12px;
}

.key-system-detail {
  margin: 12px 0 0;
}

.setup-script-heading {
  align-items: flex-start;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 10px;
}

.setup-script-heading .ghost-button {
  flex: 0 0 auto;
}

.compact-actions {
  flex: 0 0 auto;
  gap: 8px;
}

.multi-select-widget {
  border: 1px solid var(--line);
  border-radius: 8px;
  margin: 0 0 14px;
  padding: 0;
}

.multi-select-widget legend {
  font-weight: 700;
  margin-left: 12px;
  padding: 0 5px;
}

.multi-select-toolbar {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 10px 12px;
}

.multi-select-scroll {
  display: grid;
  gap: 0;
  max-height: 360px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.multi-select-option {
  align-items: flex-start;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  padding: 11px 12px;
}

.multi-select-option:last-child {
  border-bottom: 0;
}

.multi-select-option:hover {
  background: var(--panel-2);
}

.multi-select-option:has(input:checked) {
  background: var(--selected-bg);
  box-shadow: inset 3px 0 0 var(--blue);
}

.multi-select-check {
  margin-top: 6px;
}

.multi-select-body {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.multi-select-title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.multi-select-title strong,
.multi-select-meta,
.multi-select-evidence {
  overflow-wrap: anywhere;
}

.multi-select-evidence {
  line-height: 1.35;
}

.template-disclosure {
  margin-top: 14px;
}

.scan-technical-disclosure summary {
  align-items: center;
  cursor: pointer;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  list-style: none;
  padding: 16px;
}

.scan-technical-disclosure summary::-webkit-details-marker {
  display: none;
}

.scan-technical-disclosure summary > span:first-child {
  display: grid;
  gap: 4px;
}

.scan-technical-disclosure[open] summary {
  border-bottom: 1px solid var(--line);
}

.scan-technical-disclosure .scrollable-table,
.scan-technical-disclosure table {
  margin: 0;
}

.dashboard-detail-disclosure {
  border: 0;
  background: transparent;
}

.notice-panel {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 6px;
  margin-top: 16px;
  padding: 12px;
}

.scan-findings-notice {
  background: var(--status-warn-bg);
  border-color: var(--alarm-border);
  border-left: 4px solid var(--amber);
}

.notice-panel p {
  margin: 0;
}

.chat-thread {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.chat-message {
  border: 1px solid var(--line);
  border-radius: 8px;
  display: grid;
  gap: 8px;
  max-width: 760px;
  padding: 12px;
}

.chat-message p {
  margin: 0;
}

.customer-message {
  background: var(--panel-2);
}

.admin-message {
  background: var(--selected-bg);
  border-color: color-mix(in srgb, var(--blue) 34%, var(--line));
  margin-left: auto;
}

.chat-meta {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.chat-meta span,
.chat-note {
  color: var(--muted);
  font-size: 12px;
}

.chat-note {
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.response-form {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}

.template-disclosure summary {
  color: var(--blue);
  cursor: pointer;
  font-weight: 800;
  padding: 8px 0;
}

.template-disclosure .code-block {
  max-height: 620px;
}

code {
  background: var(--code-bg);
  border-radius: 5px;
  color: var(--code-ink);
  font-size: 12px;
  padding: 3px 5px;
  word-break: break-word;
}

.inline-code {
  display: block;
  max-width: 320px;
  overflow-wrap: anywhere;
  padding: 7px 8px;
}

.sales-guide-content {
  color: var(--ink);
  line-height: 1.55;
  margin: 0 auto;
  max-width: 1080px;
}

.sales-guide-content .top-nav,
.sales-guide-content .guide-nav {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}

.sales-guide-content .top-nav a,
.sales-guide-content .guide-nav a {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  font-weight: 700;
  padding: 8px 11px;
}

.sales-guide-content .top-nav a.active,
.sales-guide-content .guide-nav a.active {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--primary-ink);
}

.sales-guide-content .hero,
.sales-guide-content .panel,
.sales-guide-content .callout,
.sales-guide-content .script-block {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.sales-guide-content .hero {
  border-left: 5px solid var(--teal);
  padding: 26px;
}

.sales-guide-content .hero p {
  color: var(--muted);
  font-size: 18px;
  margin: 10px 0 0;
  max-width: 900px;
}

.sales-guide-content h1,
.sales-guide-content h2,
.sales-guide-content h3 {
  line-height: 1.2;
}

.sales-guide-content h1 {
  font-size: 34px;
  margin: 0;
}

.sales-guide-content h2 {
  font-size: 22px;
  margin: 0 0 12px;
}

.sales-guide-content h3 {
  font-size: 17px;
  margin: 20px 0 8px;
}

.sales-guide-content .grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  margin-top: 18px;
}

.sales-guide-content .panel,
.sales-guide-content .callout,
.sales-guide-content .script-block {
  padding: 20px;
}

.sales-guide-content .panel p,
.sales-guide-content .panel ul,
.sales-guide-content .callout p,
.sales-guide-content .script-block p {
  margin-top: 0;
}

.sales-guide-content .muted {
  color: var(--muted);
}

.sales-guide-content .tag {
  background: var(--demo-panel-bg);
  border: 1px solid var(--demo-panel-border);
  border-radius: 999px;
  color: var(--demo-panel-ink);
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  margin: 0 8px 8px 0;
  padding: 4px 9px;
}

.sales-guide-content .section {
  margin-top: 22px;
}

.sales-guide-content .quote {
  border-left: 4px solid var(--teal);
  color: var(--ink);
  margin: 10px 0 0;
  padding-left: 14px;
}

.sales-guide-content .brand-asset-preview {
  align-items: center;
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 8px;
  display: flex;
  justify-content: center;
  margin-bottom: 14px;
  min-height: 220px;
  padding: 18px;
}

.sales-guide-content .brand-asset-preview img {
  display: block;
  height: 168px;
  width: 168px;
}

.sales-guide-content .compact-post {
  font-size: 18px;
  max-width: 900px;
}

.sales-guide-content .walkthrough-list {
  margin-bottom: 0;
}

.sales-guide-content .walkthrough-list li {
  margin-bottom: 10px;
}

.sales-guide-content .objection {
  border-top: 1px solid var(--line);
  margin-top: 16px;
  padding-top: 16px;
}

.sales-guide-content .objection strong {
  display: block;
  margin-bottom: 8px;
}

.sales-guide-content .response {
  background: var(--panel-2);
  border: 1px solid var(--line);
  border-radius: 7px;
  margin-left: 18px;
  padding: 12px 14px;
}

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

.sales-guide-content .setup-script-grid {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.sales-guide-content .setup-script-card {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}

.sales-guide-content .setup-script-card h3 {
  margin-top: 0;
}

.sales-guide-content .setup-script {
  background: #101928;
  border: 1px solid #26364d;
  border-radius: 8px;
  color: #edf5ff;
  font-size: 13px;
  line-height: 1.45;
  margin: 12px 0 0;
  overflow-x: auto;
  padding: 14px 16px;
  white-space: pre;
}

.sales-guide-content .setup-script code {
  background: transparent;
  border-radius: 0;
  color: inherit;
  padding: 0;
}

.sales-guide-content .link-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.sales-guide-content .link-cloud a {
  background: var(--demo-panel-bg);
  border: 1px solid var(--demo-panel-border);
  border-radius: 7px;
  color: var(--demo-panel-ink);
  font-weight: 800;
  padding: 7px 9px;
}

.sales-guide-content .coverage-table {
  border-collapse: collapse;
  font-size: 14px;
  width: 100%;
}

.sales-guide-content .coverage-table th,
.sales-guide-content .coverage-table td {
  border-top: 1px solid var(--line);
  padding: 10px;
  text-align: left;
  vertical-align: top;
}

.sales-guide-content .coverage-table th {
  background: var(--panel-2);
  color: var(--ink);
}

.sales-guide-content .coverage-table td:first-child {
  font-weight: 800;
  white-space: nowrap;
}

.sales-guide-content .scan-key {
  color: var(--ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 800;
  word-break: break-word;
}

.sales-guide-content .footer-nav {
  display: flex;
  justify-content: space-between;
  margin-top: 28px;
}

.sales-guide-content .footer-nav a {
  color: var(--primary);
  font-weight: 800;
}

@keyframes alarmPulse {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.08);
  }
}

@media (max-width: 980px) {
  .app-shell {
    display: block;
  }

  .sidebar {
    bottom: 0;
    box-shadow: 18px 0 36px rgba(15, 23, 42, 0.2);
    height: 100vh;
    height: 100dvh;
    left: 0;
    max-width: 320px;
    padding-bottom: 24px;
    position: fixed;
    top: 0;
    transform: translateX(-105%);
    transition: transform 180ms ease;
    width: min(84vw, 320px);
    z-index: 50;
  }

  body.sidebar-open {
    overflow: hidden;
  }

  body.sidebar-open .sidebar {
    transform: translateX(0);
  }

  .sidebar-backdrop {
    background: rgba(2, 8, 23, 0.48);
    border: 0;
    display: block;
    inset: 0;
    opacity: 0;
    padding: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity 180ms ease;
    z-index: 45;
  }

  body.sidebar-open .sidebar-backdrop {
    opacity: 1;
    pointer-events: auto;
  }

  .stats-grid,
  .two-col,
  .account-edit-layout,
  .dashboard-onboarding-layout,
  .dashboard-graphs,
  .usage-dashboard-grid,
  .inventory-filter-form,
  .workload-inventory-filter-form,
  .inventory-resource-item,
  .inventory-resource-facts,
  .approval-workflow-panel,
  .approval-primary-fields,
  .approval-extra-grid,
  .approval-dialog-grid,
  .approval-resource-option,
  .approval-resource-meta,
  .approval-form-toolbar,
  .approval-form-grid,
  .onboarding-steps,
  .key-system-settings-layout,
  .auth-page-grid,
  .form-grid,
  .recommendation-card,
  .evidence-data-grid,
  .public-hero,
  .public-invite,
  .landing-pricing-callout,
  .product-tour-header {
    grid-template-columns: 1fr;
  }

  .public-copy h1 {
    font-size: 34px;
  }

  .public-nav {
    align-items: flex-start;
    flex-direction: column;
  }

  .public-nav-links {
    justify-content: flex-start;
  }

  .public-proof-grid,
  .public-feature-grid,
  .landing-outcome-grid,
  .landing-trust-grid,
  .landing-question-grid,
  .walkthrough-slide {
    grid-template-columns: 1fr;
  }

  .public-proof-grid div {
    min-height: 0;
  }

  .walkthrough-tabs {
    grid-template-columns: repeat(5, minmax(176px, 1fr));
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .walkthrough-tabs label {
    min-height: 86px;
  }

  .landing-hero {
    padding-top: 28px;
  }

  .landing-decision-panel {
    margin-top: 0;
  }

  .landing-decision-list div {
    grid-template-columns: 1fr;
  }

  .landing-outcome-grid article,
  .landing-trust-grid article,
  .landing-question-grid article {
    min-height: 0;
  }

  .landing-callout-actions {
    justify-content: flex-start;
  }

  .public-pricing-table th,
  .public-pricing-table td {
    padding: 12px;
  }

  .topbar {
    align-items: center;
    display: grid;
    gap: 12px;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 0;
    padding: 12px 16px;
    position: sticky;
    z-index: 30;
  }

  .mobile-topbar-brand {
    align-items: center;
    display: flex;
    gap: 10px;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
  }

  .topbar .page-heading {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .topbar-actions {
    align-self: center;
    flex-wrap: nowrap;
    grid-column: 2;
    grid-row: 1;
  }

  .alarm-dropdown,
  .account-dropdown {
    max-width: calc(100vw - 32px);
  }

  .alarm-dropdown {
    min-width: min(340px, calc(100vw - 32px));
  }

  .account-dropdown {
    min-width: min(240px, calc(100vw - 32px));
  }

  .main-content {
    padding: 16px;
  }

  .product-tour-header {
    margin-bottom: 14px;
    padding: 14px;
  }

  .product-tour-actions {
    align-items: flex-start;
    justify-content: flex-start;
  }

  .guidance-panel,
  .inventory-selection-panel,
  .security-document-header,
  .security-review-callout,
  .recommendation-actions {
    align-items: flex-start;
    flex-direction: column;
  }

  .inventory-filter-form .filter-actions {
    padding-top: 0;
  }

  .inventory-selection-panel .primary-button {
    justify-content: center;
    width: 100%;
  }

  .scan-history-disclosure summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .scan-history-disclosure summary::after {
    position: absolute;
    right: 16px;
    top: 14px;
  }

  .scan-history-disclosure summary {
    position: relative;
    padding-right: 50px;
  }

  .scan-history-metrics {
    grid-template-columns: 1fr;
  }

  .dashboard-onboarding-side {
    border-left: 0;
    border-top: 1px solid var(--line);
    padding-left: 0;
    padding-top: 18px;
  }

  .sales-guide-content h1 {
    font-size: 28px;
  }

  .sales-guide-content .two-column {
    grid-template-columns: 1fr;
  }

  .sales-guide-content .footer-nav {
    gap: 12px;
    flex-direction: column;
  }
}

@media print {
  .public-nav,
  .public-footer,
  .security-document-header .public-actions {
    display: none;
  }

  body,
  .public-page {
    background: #ffffff;
  }

  .public-content-shell {
    max-width: none;
    padding: 0;
  }

  .public-content-card {
    border: 0;
    box-shadow: none;
    padding: 0;
  }

  .security-document-header h1 {
    font-size: 24px;
  }

  .security-document-section {
    break-inside: avoid;
  }
}
