/* Layout adapter: shared tokens and logo assets come from disban-design-system.html. */
:root {
  --bg: var(--ground); --cream: var(--ground); --white: var(--surface);
  --muted: var(--ink-muted); --orange: var(--acid-ink); --accent: var(--acid);
  --accent-dark: var(--acid); --green: var(--verdict-clean); --navy: var(--carbon);
  --font: var(--font-sans); --heading: var(--font-display); --mono: var(--font-mono);
}
body { background: var(--ground); color: var(--ink); font-family: var(--font-sans); font-size:14px; }
.brand-logo { width:142px !important; height:32px !important; object-fit:contain; }
.logo-light { display:none; }
[data-theme="light"] .logo-dark { display:none; }
[data-theme="light"] .logo-light { display:block; }
.wordmark,.brand { letter-spacing:normal; gap:0; }
h1,h2 { font-family:var(--font-display); font-weight:560; letter-spacing:-.045em; }
h3 { font-family:var(--font-sans); font-weight:600; }
button,.btn,.button,code,pre,input,textarea,select { font-family:var(--font-mono); }
:where(a,button,input,textarea,select):focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.theme-toggle { background:var(--surface); border:1px solid var(--line-strong); color:var(--ink); padding:8px 10px; min-height:36px; border-radius:4px; font:12px var(--font-mono); cursor:pointer; white-space:nowrap; }
.btn,.button { border-radius:4px; transition:background 100ms; font-weight:500; }
.btn { background:var(--acid); border-color:var(--acid); color:var(--on-acid); min-height:48px; }
.btn:hover { color:var(--on-acid) !important; transform:none; }
.btn.outline { background:var(--surface); color:var(--ink); border-color:var(--line-strong); }
.btn.outline:hover { background:var(--surface-sunken); color:var(--ink) !important; }
.btn.small { min-height:36px; }
.site-nav { height:64px; max-width:1200px; padding:0 32px; position:sticky; top:0; z-index:30; background:var(--ground); border-inline:1px solid var(--line); }
.site-nav nav { gap:24px; color:var(--ink-muted); }
.nav-buttons { gap:16px; }
.landing-hero,.principles,.feature-section,.developer-section,.pricing-section,.closing,.site-footer { max-width:1200px; border-inline:1px solid var(--line); }
.landing-hero { padding:128px 32px 96px; grid-template-columns:1.15fr 1fr; gap:48px; }
.landing-hero h1 { font-size:clamp(36px,4.4vw,56px); line-height:1.12; letter-spacing:-.05em; }
h1 em { color:var(--ink-muted); }
.eyebrow { color:var(--ink-muted); font-family:var(--font-display); font-size:11px; letter-spacing:.04em; }
.orange-dot { background:var(--ink-muted); }
.hero-copy>p { font-size:18px; line-height:28px; }
.signal-console,.price-card,.terminal { border-radius:6px; border-color:var(--line); }
.console-header,.console-foot { font-size:10px; }
.feature-section,.developer-section,.pricing-section { padding:96px 32px; }
.pricing-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.price-card { padding:32px; background:var(--surface); border-radius:10px; }
.price-card.featured { border:2px solid var(--ink); background:var(--surface); }
.plan-top>span,.price-card .discount-note,.price-card li:before { color:var(--ink-muted); }
.plan-price { font-family:var(--font-display); font-size:48px; letter-spacing:-.05em; }
.price-card li,.price-card>p { font-size:14px; }
.terminal { background:var(--carbon); color:var(--on-carbon); }
.terminal pre { color:var(--on-carbon); font-size:13px; line-height:22px; }
.terminal .terminal-top,.terminal .terminal-header { color:var(--on-carbon-muted); }
.terminal .string { color:var(--code-string); }
.auth-form-area>.theme-toggle { position:absolute; top:24px; right:24px; }
.auth-form-area { position:relative; }
.auth-card input,.auth-card select { background:var(--surface); border-color:var(--line-strong); color:var(--ink); border-radius:4px; }
.sidebar { width:232px; background:var(--surface); padding-top:24px; }
.main-shell { margin-left:232px; }
.sidebar nav a.active { background:var(--acid-soft); color:var(--acid-ink); }
.topbar { background:var(--ground); min-height:64px; }
.panel { background:var(--surface); border-color:var(--line); border-radius:6px; }
.badge.disposable { background:var(--verdict-disposable-soft); color:var(--verdict-disposable); }
.badge.free { background:var(--verdict-clean-soft); color:var(--verdict-clean); }
.badge.alias { background:var(--verdict-disposable-soft); color:var(--verdict-disposable); }
.badge.parked,.badge.testing { background:var(--verdict-risky-soft); color:var(--verdict-risky); }
.badge.error { background:var(--verdict-blocked-soft); color:var(--verdict-blocked); }
.badge.unknown { background:var(--surface-sunken); color:var(--ink-muted); }
@media(max-width:1000px) { .site-nav nav {gap:12px;} .nav-buttons {gap:8px;} .site-nav {padding:0 20px;} .landing-hero {gap:24px;} }
@media(max-width:760px) {
  .site-nav {height:auto; min-height:64px; padding:16px; gap:16px; flex-wrap:wrap;}
  .site-nav nav {order:3; width:100%; justify-content:space-between; display:flex;}
  .nav-buttons .login-link {display:none;} .nav-buttons .btn {font-size:11px; padding:8px;}
  .brand-logo {width:116px !important; height:28px !important;}
  .landing-hero {grid-template-columns:1fr; padding:64px 20px; gap:40px;}
  .landing-hero h1 {font-size:clamp(32px,8vw,48px);}
  .feature-section,.developer-section,.pricing-section {padding:64px 20px;}
  .pricing-grid {grid-template-columns:1fr;} .price-card {padding:24px;}
  .main-shell {margin-left:0;} .theme-toggle {font-size:11px; padding:8px;}
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after {animation:none !important; transition:none !important; scroll-behavior:auto !important;} }
/* Semantic status colors remain distinct from the brand accent. */
.console-verdict { background:var(--verdict-disposable-soft); border-color:var(--verdict-disposable-soft); }
.console-verdict strong { color:var(--verdict-disposable); }
.console-verdict strong i { background:var(--verdict-disposable); }
.console-verdict a,.step-ok { color:var(--ink-muted); }
.terminal-header,.terminal-comment,.terminal-foot { color:var(--on-carbon-muted); }
.primary,.dark { background:var(--acid); color:var(--on-acid); border-color:var(--acid); }
.primary:hover,.dark:hover { background:var(--acid); color:var(--on-acid); }
.error-box { background:var(--verdict-blocked-soft); color:var(--verdict-blocked); border-color:var(--verdict-blocked); }
.result-card.disposable { background:var(--verdict-disposable-soft); border-color:var(--verdict-disposable); }
.live-badge { background:var(--verdict-clean-soft); color:var(--verdict-clean); }
.live-badge>span,.status-dot.online { background:var(--verdict-clean); }
::selection { background:var(--acid); color:var(--on-acid); }
@media(min-width:721px) and (max-width:760px) { .main-shell {margin-left:232px;} }
.terminal>div:first-child { color:var(--on-carbon-muted); border-color:#232825; }
#floating-checker { position:fixed; bottom:24px; right:24px; z-index:40; min-height:48px; box-shadow:var(--shadow-overlay); }
#checker-dialog { width:min(680px,calc(100vw - 32px)); max-height:85dvh; padding:16px; background:var(--surface); color:var(--ink); border:1px solid var(--line-strong); border-radius:10px; overflow:auto; }
#checker-dialog::backdrop {background:rgba(0,0,0,.6);}
#checker-dialog .checker-panel {margin-top:12px;}
.checker-close {display:block; margin-left:auto;}
.quick-check-intro {padding:32px; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:16px;}
.quick-check-intro p {color:var(--ink-muted); line-height:1.7;}
.demo-grid {display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:32px;}
#demo-form {display:flex; flex-direction:column; gap:16px;}
#demo-form select {width:100%; min-width:0; padding:12px; background:var(--ground); color:var(--ink); border:1px solid var(--line-strong); border-radius:4px;}
#demo-result {min-height:220px; line-height:1.7;}
#billing-page .subscription-panel {margin-top:0;}
@media(max-width:760px) {.demo-grid {grid-template-columns:1fr;} #floating-checker {bottom:16px; right:16px;} .main-shell main {padding-bottom:88px;} }
.demo-toolbar {display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:32px 0 16px;}
.demo-toolbar [aria-pressed="true"] {background:var(--ink); color:var(--ground); border-color:var(--ink);}
.demo-stage {display:grid; grid-template-columns:1.1fr 1fr; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--surface);}
.demo-window {border-right:1px solid var(--line);}
.demo-window-bar {display:flex; justify-content:space-between; gap:12px; padding:16px; border-bottom:1px solid var(--line); font:10px var(--font-mono); color:var(--ink-muted);}
.demo-form-preview {padding:40px;}
.demo-form-preview h3 {font-size:26px; margin:20px 0 8px;}
.demo-form-preview>p {color:var(--ink-muted); line-height:1.6;}
.demo-form-preview label {display:block; margin:32px 0 8px; font-size:12px;}
.demo-typed-field {min-height:48px; padding:14px 12px; border:1px solid var(--line-strong); border-radius:4px; font:13px var(--font-mono); background:var(--ground); overflow-wrap:anywhere;}
#demo-inline-message {font-size:12px; min-height:38px; margin:12px 0;}
.demo-faux-submit {padding:16px; text-align:center; background:var(--ink); color:var(--ground); border-radius:4px; font:13px var(--font-mono);}
.demo-form-preview small {display:block; margin-top:16px; text-align:center; color:var(--ink-muted);}
.demo-decision {padding:40px;}
.demo-steps {list-style:none; padding:0; margin:32px 0;}
.demo-steps li {padding:16px 0; border-bottom:1px solid var(--line); color:var(--ink-muted); font-size:14px; transition:color 160ms;}
.demo-steps span {font:11px var(--font-mono); margin-right:16px;}
.demo-steps .complete {color:var(--ink);}
.demo-decision #demo-result {min-height:160px;}
.demo-stage[data-state="blocked"] .demo-typed-field {border-color:var(--verdict-disposable); background:var(--verdict-disposable-soft);}
.demo-stage[data-state="blocked"] #demo-inline-message,.demo-stage[data-state="blocked"] #demo-result h3 {color:var(--verdict-disposable);}
.demo-stage[data-state="allowed"] .demo-typed-field {border-color:var(--verdict-clean); background:var(--verdict-clean-soft);}
.demo-stage[data-state="allowed"] #demo-inline-message,.demo-stage[data-state="allowed"] #demo-result h3 {color:var(--verdict-clean);}
.demo-stage[data-state="checking"] .demo-typed-field {border-style:dashed;}
.demo-caret {color:var(--ink-muted);}
.demo-stage:not([data-state="typing"]) .demo-caret {visibility:hidden;}
.demo-progress {height:3px; background:var(--line); margin-top:16px;}
.demo-progress span {display:block; height:100%; width:0; background:var(--acid); transition:width 160ms;}
.demo-disclaimer {font-size:12px; line-height:1.7; color:var(--ink-muted); max-width:760px;}
@media(max-width:760px) {.demo-stage {grid-template-columns:1fr;} .demo-window {border-right:0; border-bottom:1px solid var(--line);} .demo-form-preview,.demo-decision {padding:24px;} .demo-decision #demo-result {min-height:120px;}}
/* Light surfaces share the canvas hue; overlays remain opaque and distinct. */
[data-theme="light"] {
  --surface:#eef0e9;
  --surface-sunken:#e5e8df;
  --overlay-surface:#f6f7f2;
}
[data-theme="dark"] { --overlay-surface:#171b18; }
dialog,#checker-dialog {
  background-color:var(--overlay-surface,var(--surface));
  background-image:none;
  color:var(--ink);
  opacity:1;
  border:1px solid var(--line-strong);
  border-radius:10px;
  box-shadow:var(--shadow-overlay);
}
dialog::backdrop,#checker-dialog::backdrop {
  background:rgba(7,9,8,.48);
  backdrop-filter:blur(3px);
}
[data-theme="light"] dialog::backdrop,[data-theme="light"] #checker-dialog::backdrop {
  background:rgba(32,40,34,.28);
}
#checker-dialog .checker-panel {background:transparent;}
#detail-content pre {background:var(--surface-sunken); color:var(--ink); padding:20px;}
select.theme-toggle {font:12px var(--font-mono); width:auto; max-width:150px;}
@media(max-width:760px) {select.theme-toggle {max-width:110px; font-size:10px;}}
#account-dialog {width:min(560px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:16px;border:1px solid var(--line-strong);border-radius:10px;}
#account-dialog form {display:grid;gap:12px;}
#account-dialog label {display:block;margin-bottom:6px;}
#account-dialog input,#account-dialog select {width:100%;padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--surface-sunken);color:var(--ink);}
#account-dialog p {color:var(--ink-muted);font-size:13px;line-height:1.6;}
.sidebar {overflow-y:auto; padding-top:20px;}
.sidebar .brand {margin-bottom:20px;}
.sidebar .workspace {padding:9px 10px; margin-bottom:20px;}
.sidebar .nav-caption {margin-bottom:8px;}
.sidebar .nav-caption.second {margin-top:20px;}
.sidebar nav {gap:3px;}
.sidebar nav a {padding:9px 13px; min-height:40px;}
.sidebar .sidebar-bottom {padding-top:24px;}
.sidebar .build-card {padding:12px 14px;}
.sidebar .build-icon {margin-bottom:8px;}
.sidebar .build-card p {margin:6px 0 10px;}
.sidebar .service-indicator {padding:14px 9px;}
@media(max-height:780px) {
  .sidebar {padding-top:14px;}
  .sidebar .brand {margin-bottom:14px;}
  .sidebar .workspace {margin-bottom:14px;}
  .sidebar .nav-caption.second {margin-top:14px;}
  .sidebar .sidebar-bottom {padding-top:16px;}
  .sidebar .build-icon,.sidebar .build-card p {display:none;}
  .sidebar .build-card a {margin-top:8px;}
}
.sidebar > * {flex-shrink:0;}

.policy-copy {max-width:760px;}
.policy-copy h2 {margin-top:32px;font-size:22px;}
.policy-copy p {line-height:1.75;margin:14px 0;color:var(--ink-muted);}
.policy-copy a {text-decoration:underline;text-underline-offset:3px;}
.site-footer>div {flex-wrap:wrap;}
/* Account operations use the same surface and typography tokens as the dashboard. */
.ops-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.ops-toolbar h2 {margin:0 0 6px;}
.ops-ticket-grid {display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:20px;align-items:start;}
.ops-ticket-list,.ops-thread,.ops-content {padding:20px;}
.ops-ticket {display:grid;gap:7px;text-align:left;width:100%;padding:16px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;overflow-wrap:anywhere;}
.ops-ticket span,.ops-ticket small {color:var(--ink-muted);font-size:12px;}
.ops-ticket:hover,.ops-ticket.selected {background:var(--acid-soft);}
.ops-empty {padding:30px 12px;color:var(--ink-muted);}
.ops-messages {display:grid;gap:14px;margin:20px 0;max-height:55vh;overflow:auto;}
.ops-message {padding:16px;background:var(--surface-sunken);border:1px solid var(--line);border-radius:6px;}
.ops-message.staff {border-left:3px solid var(--acid-ink);}
.ops-message>div {display:flex;justify-content:space-between;gap:12px;font-size:12px;}
.ops-message time {color:var(--ink-muted);}
.ops-message p {white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin-bottom:0;}
.ops-dialog {width:min(600px,calc(100vw - 32px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);}
.ops-dialog::backdrop {background:rgba(0,0,0,.5);backdrop-filter:blur(3px);}
.ops-dialog form,#ticket-reply-form {display:grid;gap:14px;}
.ops-dialog label {display:grid;gap:8px;}
.ops-dialog input,.ops-dialog select,.ops-dialog textarea,.ops-thread textarea,.ops-toolbar input,.ops-toolbar select {width:100%;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--surface-sunken);color:var(--ink);font:inherit;}
.ops-toolbar input {flex:1;min-width:170px;}.ops-toolbar select {width:auto;}
.ops-admin-tabs {display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px;}
.ops-admin-tabs .active {background:var(--acid-soft);color:var(--acid-ink);border-color:var(--acid-ink);}
.ops-metrics {display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px;margin-bottom:20px;}
.ops-metrics>.panel {padding:20px;display:grid;gap:14px;}.ops-metrics strong {font:32px var(--font-display);}
.ops-table-wrap {overflow:auto;} .ops-table-wrap td {vertical-align:top;overflow-wrap:anywhere;} .ops-table-wrap .button {margin:3px 0;}
@media(max-width:1000px){.ops-ticket-grid {grid-template-columns:1fr;}.ops-ticket-list #ticket-list{max-height:270px;overflow:auto;}}
@media(max-height:900px){.sidebar .build-card {display:none;}.sidebar .sidebar-bottom{padding-top:14px;}}
#support-page .button:not(.primary),#admin-page .button:not(.primary),.ops-dialog .button:not(.primary) {background:var(--surface-sunken);color:var(--ink);border:1px solid var(--line);}
#admin-page .ops-admin-tabs .button.active {background:var(--acid-soft);color:var(--acid-ink);border-color:var(--acid-ink);}

#domain-request-form { display: grid; gap: 16px; margin-top: 24px; }
#domain-request-form label { display: grid; gap: 8px; }
#domain-request-form input, #domain-request-form select, #domain-request-form textarea { width: 100%; box-sizing: border-box; }
#domain-request-form > button { justify-self: start; }
#admin-domains > .panel + .panel { margin-top: 20px; }

.administration-shell .sidebar > nav:not(#admin-sidebar-nav),
.administration-shell .sidebar > .nav-caption,
.administration-shell .build-card,
.administration-shell .topbar-docs,
.administration-shell #floating-checker { display: none !important; }
#admin-sidebar-nav { margin-top: 24px; }
#admin-sidebar-nav a { gap: 12px; }
#domain-inventory .ops-table-wrap { max-height: 600px; overflow: auto; }
#domain-inventory table { table-layout: fixed; width: 100%; min-width: 700px; }
#domain-inventory th, #domain-inventory td { overflow-wrap: anywhere; white-space: normal; }
#domain-inventory th:first-child { width: 25%; }

.domain-subnav { display: flex; gap: 24px; border-bottom: 1px solid var(--border); margin-bottom: 24px; overflow-x: auto; }
.domain-subnav [role="tab"] { appearance: none; background: transparent; border: 0; border-bottom: 2px solid transparent; padding: 12px 2px; color: var(--muted); font: inherit; white-space: nowrap; cursor: pointer; }
.domain-subnav [role="tab"][aria-selected="true"] { color: var(--ink); border-bottom-color: var(--acid); font-weight: 600; }
.domain-subnav [role="tab"]:focus-visible { outline: 2px solid var(--ink); outline-offset: -2px; }
#admin-domains > [role="tabpanel"][hidden] { display: none !important; }
#admin-domains > [role="tabpanel"] { margin-top: 0; }
#domain-edit { max-width: 800px; }
#domain-name { background: var(--surface-sunken); color: var(--ink); border: 1px solid var(--border); border-radius: 6px; padding: 12px; font: inherit; }
