/* Public site — force landing materials on every non-panel page */
body.legal-page,
body.appeal-tactical,
body.ml-public-tactical,
body.status-tactical,
body.auth-tactical {
  font-family: var(--font, "Barlow Condensed", "Segoe UI", sans-serif) !important;
  letter-spacing: 0.02em !important;
  color: var(--text, #f2f2f2) !important;
  background: var(--bg, #080808) !important;
  background-image: none !important;
  animation: none !important;
}

body.legal-page::before,
body.appeal-tactical::before,
body.ml-public-tactical::before,
body.status-tactical::before,
body.auth-tactical::before {
  opacity: 1 !important;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
  background-size: 48px 48px !important;
  mask-image: linear-gradient(to bottom, #000 0%, transparent 85%) !important;
  animation: none !important;
}

body.legal-page::after,
body.appeal-tactical::after,
body.ml-public-tactical::after,
body.status-tactical::after,
body.auth-tactical::after {
  opacity: 1 !important;
  background: radial-gradient(ellipse 80% 50% at 50% -20%, rgba(255, 92, 26, 0.12), transparent 55%) !important;
  animation: none !important;
}

body.legal-page .footer,
body.appeal-tactical .footer,
body.ml-public-tactical .footer,
body.status-tactical .footer,
body.auth-tactical .footer,
body.docs-tactical .footer {
  border-top: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: #080808 !important;
}

body.legal-page .footer-desc,
body.appeal-tactical .footer-desc,
body.ml-public-tactical .footer-desc,
body.status-tactical .footer-desc,
body.docs-tactical .footer-desc {
  color: var(--text-soft, #9a9a9a) !important;
}

/* ══ LEGAL / ERROR ══ */
body.legal-page .legal-inner {
  width: min(1180px, calc(100% - 2rem)) !important;
  padding: 0 !important;
}

body.legal-page .legal-breadcrumb a {
  font-family: var(--mono, "JetBrains Mono", monospace) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--text-soft, #9a9a9a) !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.3) !important;
}

body.legal-page .legal-breadcrumb a:hover {
  color: var(--accent, #ff5c1a) !important;
  border-color: var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: rgba(255, 92, 26, 0.06) !important;
}

body.legal-page .legal-title {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  font-weight: 800 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
  color: var(--text, #f2f2f2) !important;
}

body.legal-page .legal-title::after {
  display: none !important;
}

body.legal-page .legal-lead {
  color: var(--text-soft, #9a9a9a) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
}

body.legal-page .legal-meta {
  font-family: var(--mono, "JetBrains Mono", monospace) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--text-dim, #666) !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  border-left: 2px solid var(--accent, #ff5c1a) !important;
  border-radius: 0 !important;
  background: var(--bg-panel, #0d0d0d) !important;
  padding: 0.65rem 0.85rem !important;
}

body.legal-page .legal-hub-grid {
  gap: 1px !important;
  background: var(--line, rgba(255, 255, 255, 0.1)) !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
}

body.legal-page .legal-hub-grid a {
  border: none !important;
  border-radius: 0 !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 1.15rem 1.25rem !important;
}

body.legal-page .legal-hub-grid a:hover {
  transform: none !important;
  background: var(--bg-elev, #111111) !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

body.legal-page .legal-hub-grid a > span:first-child {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--text, #f2f2f2) !important;
}

body.legal-page .legal-hub-grid a > span:last-child {
  font-size: 0.82rem !important;
  color: var(--text-soft, #9a9a9a) !important;
}

body.legal-page .legal-prose {
  margin-top: 1.25rem !important;
  padding: 1.35rem 1.45rem !important;
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
  color: var(--text-soft, #9a9a9a) !important;
  line-height: 1.65 !important;
}

body.legal-page .legal-prose h2 {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  font-size: 1.05rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--text, #f2f2f2) !important;
  border-bottom: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
}

body.legal-page .legal-prose h3 {
  font-size: 0.88rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--text, #f2f2f2) !important;
}

body.legal-page .legal-prose a {
  color: var(--accent, #ff5c1a) !important;
  border-bottom: 1px solid rgba(255, 92, 26, 0.35) !important;
}

body.legal-page .legal-callout {
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  border-left: 2px solid var(--accent, #ff5c1a) !important;
  border-radius: 0 !important;
  background: rgba(0, 0, 0, 0.35) !important;
  box-shadow: none !important;
}

body.legal-page .error-code {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  background: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  color: var(--accent, #ff5c1a) !important;
}

body.legal-page .error-msg {
  color: var(--text-soft, #9a9a9a) !important;
}

/* ══ APPEAL ══ */
body.appeal-tactical .appeal-card,
body.appeal-tactical .appeal-status-card {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
}

body.appeal-tactical .step-dot {
  border-radius: 0 !important;
  font-family: var(--mono, "JetBrains Mono", monospace) !important;
  letter-spacing: 0.1em !important;
}

body.appeal-tactical .step-dot.active {
  color: var(--accent, #ff5c1a) !important;
  border-color: var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: rgba(255, 92, 26, 0.06) !important;
  box-shadow: none !important;
}

body.appeal-tactical .policy-note {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  border-left: 2px solid var(--accent, #ff5c1a) !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

body.appeal-tactical .card-title,
body.appeal-tactical h1 {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ══ ML ══ */
body.ml-public-tactical .chart-card,
body.ml-public-tactical .table-card,
body.ml-public-tactical .ml-empty-note {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
}

body.ml-public-tactical .ml-heading,
body.ml-public-tactical .hero-title {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

/* ══ STATUS ══ */
body.status-tactical .hero-card,
body.status-tactical .panel,
body.status-tactical .svc-row,
body.status-tactical .ep-row,
body.status-tactical .connect-tile {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
}

body.status-tactical .hero-title,
body.status-tactical .panel-head h2 {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--text, #f2f2f2) !important;
}

body.status-tactical .hero-sub,
body.status-tactical .connect-hint {
  color: var(--text-soft, #9a9a9a) !important;
}

/* ══ AUTH ══ */
body.auth-tactical .auth-card {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
}

body.auth-tactical .auth-card h1 {
  font-family: var(--font, "Barlow Condensed", sans-serif) !important;
  letter-spacing: 0.06em !important;
}

body.auth-tactical .auth-card .btn,
body.auth-tactical .auth-card input {
  border-radius: 0 !important;
}

body.legal-page .btn,
body.appeal-tactical .btn,
body.ml-public-tactical .btn,
body.status-tactical .btn,
body.auth-tactical .btn {
  border-radius: 0 !important;
}

body.legal-page input,
body.legal-page textarea,
body.legal-page select,
body.appeal-tactical input,
body.appeal-tactical textarea,
body.appeal-tactical select,
body.appeal-tactical .form-input,
body.auth-tactical input,
body.auth-tactical textarea {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
  background: rgba(0, 0, 0, 0.35) !important;
  color: var(--text, #f2f2f2) !important;
  box-shadow: none !important;
}

body.appeal-tactical .alert,
body.appeal-tactical #appeal-status-result {
  border-radius: 0 !important;
  border: 1px solid var(--line, rgba(255, 255, 255, 0.1)) !important;
}

body.status-tactical .bg-grid {
  display: none !important;
}

body.status-tactical .main {
  width: min(1180px, calc(100% - 2rem)) !important;
}

body.status-tactical .panel.secondary,
body.status-tactical .svc-row,
body.status-tactical .ep-row,
body.status-tactical .connect-tile {
  background: var(--bg-panel, #0d0d0d) !important;
}

body.status-tactical .hero-icon-wrap,
body.status-tactical .uptime-pill,
body.status-tactical .connect-icon,
body.status-tactical .ep-badge {
  border-radius: 0 !important;
}

body.status-tactical .hero-card {
  background: var(--bg-panel, #0d0d0d) !important;
  box-shadow: none !important;
}

body.ml-public-tactical .ml-empty-note {
  color: var(--text-soft, #9a9a9a) !important;
}

body.legal-page .legal-callout {
  background: rgba(0, 0, 0, 0.35) !important;
}
