/* White and navy are also brand foregrounds/backgrounds; do not invert them. */
html[data-theme="dark"] {
    --ink: #edf1f5;
    --muted: #b9c3ce;
    --line: #46505b;
    --soft: #22262c;
    --shadow: 0 18px 45px rgba(0, 0, 0, .25);
    --acs-surface: #202329;
    --acs-heading: #f2f5f8;
}
html[data-theme="dark"] body { background: #16191d; }
html[data-theme="dark"] .main-header { background: #1c2026; }
html[data-theme="dark"] :is(h1,h2,h3,.brand-text strong,.metric-card strong,.acs-public-price,label) { color: var(--acs-heading); }
html[data-theme="dark"] :is(.dropdown-menu,.primary-nav.open,.dashboard-card,.metric-card,.checklist-box,.info-card,.service-card,.form-card,.process-grid div) { background: var(--acs-surface); }
html[data-theme="dark"] .nav-toggle span:not(.sr-only) { background: var(--acs-heading); }
html[data-theme="dark"] :is(.eyebrow,.post-meta) { color: #69d7cb; }
html[data-theme="dark"] :is(.text-link,.primary-nav a[aria-current="page"]) { color: #92c9ff; }
html[data-theme="dark"] .btn-outline { background: var(--acs-surface); color: var(--acs-heading); }
html[data-theme="dark"] .btn-outline:hover { border-color: #92c9ff; color: #92c9ff; }
html[data-theme="dark"] :is(input,select,textarea) { background: #191d23; color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] :is(input,textarea)::placeholder { color: #a8b4c1; opacity: 1; }
html[data-theme="dark"] :is(input,select,textarea):focus-visible { outline: 2px solid #92c9ff; outline-offset: 2px; }
html[data-theme="dark"] .acs-app-body { background: #16191d; }
html[data-theme="dark"] :is(.acs-stat,.acs-panel,.acs-form,.acs-table,.acs-empty,.acs-ops-steps span,.acs-attention-items a,.acs-ops-metric,.acs-ops-empty,.acs-mini-list,.acs-compact-form,.acs-cost-box,.acs-start-grid a,.acs-schedule-summary div,.acs-schedule-card,.acs-schedule-side,.acs-plan-option) { background: var(--acs-surface); color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] :is(.acs-ops-overview,.acs-attention-strip,.acs-property-ops,.acs-work-packet,.acs-operating-board,.acs-start-paths,.acs-action-strip,.acs-schedule-summary,.acs-access-panel) { background: #232830; }
html[data-theme="dark"] :is(.acs-tree li,.acs-mini-list li,.acs-notice-list li,.acs-work-meta span) { background: #272d35; color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] :is(.acs-stat strong,.acs-kpi strong,.acs-ops-steps span,.acs-attention-items strong,.acs-ops-metric strong,.acs-ops-empty strong,.acs-mini-list strong,.acs-notice-list strong,.acs-cost-box strong,.acs-start-grid strong,.acs-action-strip strong,.acs-schedule-summary strong,.acs-schedule-side strong,.acs-plan-option strong,.acs-form label,.acs-inline-label) { color: var(--acs-heading); }
html[data-theme="dark"] :is(.acs-stat span,.acs-table th,.acs-empty,.acs-subtle,.acs-ops-overview p,.acs-property-ops-head p,.acs-attention-items span,.acs-ops-metric span,.acs-mini-list span,.acs-notice-list span,.acs-cost-box span,.acs-start-paths p,.acs-start-grid span,.acs-action-strip>div:first-child,.acs-schedule-summary span,.acs-schedule-side span,.acs-plan-option small) { color: var(--muted); }
html[data-theme="dark"] :is(.acs-table th,.acs-table td,.acs-kpi,.acs-cost-box span) { border-color: var(--line); }
html[data-theme="dark"] .acs-badge { background: #163e38; color: #9ee9d8; }
html[data-theme="dark"] .acs-ops-metric.needs-attention { background: #3e3319; border-color: #d8b34e; }
html[data-theme="dark"] .acs-notice-list .is-unread { background: #243b50; border-color: #92c9ff; }
html[data-theme="dark"] .acs-success { background: #18382a; border-color: #5baf85; color: #a9edc7; }
html[data-theme="dark"] .acs-plan-option span { color: #92c9ff; }
/* Branded bands keep their white foregrounds and original button contrast. */
html[data-theme="dark"] :is(.hero,.page-hero,.footer-cta,.navy-band) :is(h1,h2,h3,.eyebrow,label) { color: #fff; }
/* Keep the brand and both menu controls within narrow phone headers. */
@media (max-width: 620px) {
    .main-header .nav-shell { flex-wrap: wrap; gap: 10px; padding-block: 12px; }
    .main-header .brand { flex: 1 0 100%; min-width: 0; }
    .main-header .brand-text { min-width: 0; }
    .main-header .brand-text strong { overflow-wrap: anywhere; }
    .main-header .nav-toggle { flex: 0 0 44px; }
}
@media (max-width: 900px) {
    .acs-topbar nav { flex: 1 0 100%; width: 100%; }
    .acs-topbar .acs-app-network-menu { margin-left: auto; }
}
