/* Pastel dashboard theme. Remove this stylesheet link to restore theme-2026.css. */
:root {
  --pd-canvas: #dcecf2;
  --pd-canvas-deep: #cfe2ea;
  --pd-surface: rgba(255, 255, 255, 0.82);
  --pd-surface-solid: #ffffff;
  --pd-surface-blue: #e9f5f9;
  --pd-text: #102b3a;
  --pd-muted: #4c6674;
  --pd-primary: #07536f;
  --pd-primary-hover: #043d53;
  --pd-primary-soft: #d9eef6;
  --pd-accent: #0d7667;
  --pd-accent-soft: #d9f0e9;
  --pd-highlight: #d8ee75;
  --pd-highlight-soft: #f1f8cc;
  --pd-border: rgba(45, 92, 111, 0.2);
  --pd-border-strong: rgba(32, 79, 98, 0.36);
  --pd-shadow: 0 18px 48px rgba(40, 78, 94, 0.13);
  --pd-shadow-soft: 0 8px 24px rgba(40, 78, 94, 0.09);
  --pd-radius: 14px;
}

html {
  background: var(--pd-canvas);
}

body.app-2026 {
  --ui-bg: var(--pd-canvas);
  --ui-bg-strong: var(--pd-canvas-deep);
  --ui-surface: var(--pd-surface);
  --ui-surface-solid: var(--pd-surface-solid);
  --ui-surface-muted: rgba(237, 247, 250, 0.88);
  --ui-text: var(--pd-text);
  --ui-muted: var(--pd-muted);
  --ui-border: var(--pd-border);
  --ui-border-strong: var(--pd-border-strong);
  --ui-primary: var(--pd-primary);
  --ui-primary-hover: var(--pd-primary-hover);
  --ui-primary-soft: var(--pd-primary-soft);
  --ui-teal: var(--pd-accent);
  --ui-teal-soft: var(--pd-accent-soft);
  --ui-nav: rgba(239, 248, 251, 0.92);
  --ui-shadow: var(--pd-shadow);
  --ui-shadow-soft: var(--pd-shadow-soft);
  --ui-radius: 10px;
  color: var(--pd-text);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.38), transparent 38%),
    linear-gradient(315deg, rgba(187, 222, 232, 0.48), transparent 42%),
    var(--pd-canvas) !important;
}

body.app-2026::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.42;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.22) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.45), transparent 68%);
}

body.app-2026 a {
  color: #064f70;
}

body.app-2026 a:hover {
  color: #023c55;
}

body.app-2026 :where(a, button, input, select, textarea, summary):focus-visible {
  outline-color: #9a4c00 !important;
}

body.app-2026 .site-nav,
body.page-checklist .checklist-navbar {
  min-height: 62px;
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: rgba(235, 247, 250, 0.92) !important;
  box-shadow: 0 10px 32px rgba(49, 88, 103, 0.12);
}

body.app-2026 .site-nav .navbar-brand,
body.page-checklist .checklist-navbar .navbar-brand {
  color: var(--pd-text) !important;
  font-weight: 800;
}

body.app-2026 .site-nav .nav-link,
body.page-checklist .checklist-navbar .nav-link {
  min-height: 38px;
  padding: 0.42rem 0.72rem !important;
  border-color: transparent;
  border-radius: 999px;
  color: #314f5e !important;
  font-size: 0.84rem;
}

body.app-2026 .site-nav .nav-link:hover,
body.app-2026 .site-nav .nav-link:focus-visible,
body.page-checklist .checklist-navbar .nav-link:hover,
body.page-checklist .checklist-navbar .nav-link:focus-visible {
  border-color: var(--pd-border);
  background: rgba(255, 255, 255, 0.72);
  color: var(--pd-text) !important;
}

body.app-2026 .site-nav .nav-link.active,
body.page-checklist .checklist-navbar .nav-link.active {
  border-color: rgba(7, 83, 111, 0.18);
  background: var(--pd-surface-solid);
  box-shadow: 0 5px 14px rgba(46, 83, 98, 0.1);
  color: var(--pd-primary) !important;
}

body.app-2026 .site-nav .btn.btn-secondary,
body.page-checklist .checklist-navbar .btn.btn-secondary,
body.app-2026 .navbar-toggler {
  border-color: var(--pd-border-strong) !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: var(--pd-text) !important;
}

body.app-2026 .navbar-toggler-icon,
body.page-checklist .navbar-toggler-icon {
  filter: invert(15%) sepia(18%) saturate(1653%) hue-rotate(155deg) brightness(90%);
}

body.app-2026 :where(.home-audit-layout, .page-hero, .section-surface, .surface-card, .audit-form-shell,
  .contrast-unified-panel, .wizard-result-panel, .audit-result-card) {
  border-color: rgba(255, 255, 255, 0.76) !important;
  border-radius: var(--pd-radius) !important;
  background: var(--pd-surface) !important;
  box-shadow: var(--pd-shadow);
  backdrop-filter: blur(22px) saturate(118%);
}

body.app-2026 .section-kicker,
body.app-2026 .contrast-input-kicker,
body.app-admin-stats .kicker {
  color: #385d6d;
}

body.app-2026 .btn {
  border-radius: 12px !important;
}

body.app-2026 .btn-primary,
body.app-admin-stats button {
  border-color: var(--pd-primary) !important;
  background: var(--pd-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px rgba(7, 83, 111, 0.22);
}

body.app-2026 .btn-primary:hover,
body.app-admin-stats button:hover {
  border-color: var(--pd-primary-hover) !important;
  background: var(--pd-primary-hover) !important;
}

body.app-2026 .btn-outline-primary,
body.app-2026 .btn-outline-primary.btn-glass {
  border-color: #176887 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #064a65 !important;
}

body.app-2026 .btn-outline-primary:hover,
body.app-2026 .btn-outline-primary.btn-glass:hover {
  border-color: var(--pd-primary) !important;
  background: var(--pd-primary-soft) !important;
  color: #04394e !important;
}

body.app-2026 :where(.form-control, .form-select),
body.app-admin-stats input {
  border-color: var(--pd-border-strong) !important;
  border-radius: 12px !important;
  color: var(--pd-text);
  background-color: rgba(255, 255, 255, 0.9) !important;
}

/* Home dashboard */
body.page-home .app-main-home {
  width: min(1540px, calc(100% - 28px));
}

body.page-home .home-audit-layout {
  grid-template-columns: minmax(280px, 0.27fr) minmax(0, 0.73fr);
  border: 1px solid rgba(255, 255, 255, 0.8) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
  background: rgba(235, 247, 250, 0.76) !important;
}

body.page-home .intro-panel {
  border-right-color: var(--pd-border);
  color: var(--pd-text);
  background:
    linear-gradient(160deg, rgba(232, 246, 250, 0.96), rgba(218, 237, 244, 0.94)),
    var(--pd-surface-blue);
}

body.page-home .intro-panel h1 {
  color: var(--pd-text);
}

body.page-home .intro-panel .lead {
  color: #405f6e;
}

body.page-home .intro-panel a {
  color: #064f70;
}

body.page-home .hero-support-copy {
  border-color: rgba(49, 102, 121, 0.2);
  color: #234b5d;
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 6px 16px rgba(55, 94, 109, 0.07);
}

body.page-home .intro-image-card {
  border-top-color: rgba(13, 118, 103, 0.3);
  background: #e7f4f8;
}

body.page-home .intro-image-card::before {
  background: linear-gradient(180deg, #dceff4 0%, rgba(220, 239, 244, 0) 100%);
}

body.page-home .intro-image-card img {
  filter: saturate(0.86) contrast(0.98);
}

body.page-home .audit-workspace {
  background: rgba(244, 251, 252, 0.66) !important;
}

body.page-home .audit-form-shell {
  border: 1px solid rgba(255, 255, 255, 0.88) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.88) !important;
  background: rgba(255, 255, 255, 0.68) !important;
}

body.page-home .audit-form-header .section-kicker {
  border-color: rgba(7, 83, 111, 0.18);
  background: var(--pd-highlight-soft);
  color: #415414;
}

body.app-2026 .wizard-progress li {
  border-color: var(--pd-border);
  background: rgba(255, 255, 255, 0.56);
}

body.app-2026 .wizard-progress li span {
  color: var(--pd-primary);
  background: #dceff6;
}

body.app-2026 .wizard-progress li.is-active {
  border-color: rgba(7, 83, 111, 0.34);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: inset 0 -3px 0 var(--pd-highlight);
}

body.app-2026 .wizard-progress li.is-active span,
body.app-2026 .wizard-progress li.is-complete span {
  background: var(--pd-primary);
}

body.app-2026 .wizard-progress-track {
  background: #d5e7ed;
}

body.app-2026 .wizard-progress-track span {
  background: linear-gradient(90deg, var(--pd-primary), var(--pd-accent), #8aa736);
}

body.page-home .wizard-step {
  border-left-color: var(--pd-accent);
}

body.app-2026 :where(.wizard-step-note, .engine-explainer-card, .wizard-help-card, .audit-review-card,
  .wizard-toggle-list .form-check, .contrast-input-card, .contrast-preview-card, .contrast-guidance-card) {
  border-color: var(--pd-border) !important;
  background: rgba(240, 249, 251, 0.72) !important;
}

body.app-2026 .engine-explainer-card {
  border-left-color: var(--pd-accent) !important;
}

body.app-2026 .wizard-choice label {
  border-color: var(--pd-border);
  background: rgba(255, 255, 255, 0.66);
}

body.app-2026 .wizard-choice input:checked + label {
  border-color: #37809b;
  background: #e4f3f8;
  box-shadow: inset 4px 0 0 var(--pd-primary);
}

body.app-2026 .wizard-actions {
  border-color: var(--pd-border);
  background: rgba(247, 252, 253, 0.9);
}

body.app-2026 .wizard-result-panel {
  border-top-color: var(--pd-accent) !important;
  background:
    linear-gradient(135deg, rgba(222, 243, 237, 0.72), rgba(224, 241, 248, 0.78)),
    rgba(255, 255, 255, 0.86) !important;
}

body.app-2026 .wizard-result-emoji {
  border-color: var(--pd-border);
  background: var(--pd-highlight-soft);
}

body.app-2026 .wizard-result-metrics > div,
body.app-2026 .lighthouse-score-card {
  border-color: rgba(53, 100, 116, 0.17);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 7px 18px rgba(44, 84, 99, 0.07);
}

body.app-2026 .manual-audit-callout {
  border-color: #d6c661 !important;
  color: #514500 !important;
  background: #faf6cf !important;
}

body.app-2026 .audit-loading-visual {
  background: linear-gradient(145deg, #d9edf4, #edf8fa);
}

body.app-2026 .audit-loading-progress {
  background: #d5e7ed;
}

body.app-2026 .audit-loading-progress span {
  background: linear-gradient(90deg, var(--pd-primary), var(--pd-accent), var(--pd-highlight));
}

/* Shared subpage dashboard treatment */
body.page-subpage .app-main {
  width: min(1440px, calc(100% - 28px));
}

body.page-subpage .page-hero {
  border-top: 1px solid rgba(255, 255, 255, 0.8) !important;
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0.82), rgba(226, 242, 247, 0.76)),
    var(--pd-surface) !important;
}

body.page-subpage .page-hero img {
  padding: 0.55rem;
  border: 1px solid rgba(255, 255, 255, 0.88);
  border-radius: 16px !important;
  background: rgba(255, 255, 255, 0.54);
  box-shadow: 0 10px 24px rgba(48, 85, 99, 0.09);
}

body.page-subpage :where(.card, .public-stat-card, .metrics-banner, .table-surface) {
  border-color: rgba(255, 255, 255, 0.78) !important;
  border-radius: var(--pd-radius) !important;
  background: rgba(255, 255, 255, 0.74) !important;
  box-shadow: var(--pd-shadow-soft) !important;
}

body.page-statistics .public-stat-card {
  border-top: 4px solid var(--pd-primary) !important;
}

body.page-statistics .public-stat-card:nth-child(2) {
  border-top-color: var(--pd-accent) !important;
}

body.page-statistics .public-stat-card:nth-child(3) {
  border-top-color: #8ca637 !important;
}

body.page-statistics .metrics-banner {
  color: #254b5c;
  background: rgba(226, 242, 247, 0.86) !important;
}

body.page-statistics #statsTable thead th {
  color: #2f5363;
  background: #e5f2f6;
}

body.page-about .section-surface {
  padding: clamp(1rem, 2.2vw, 1.6rem);
}

body.page-about .card {
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

body.page-about .card:hover {
  transform: translateY(-2px);
  border-color: var(--pd-border-strong) !important;
  box-shadow: 0 14px 30px rgba(41, 80, 95, 0.12) !important;
}

/* Contrast checker */
body.page-contrast .contrast-unified-panel {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.82), rgba(226, 243, 247, 0.78)),
    var(--pd-surface-solid) !important;
}

body.page-contrast .contrast-page-purpose {
  border-left-color: var(--pd-accent);
  background: rgba(13, 118, 103, 0.08);
}

body.page-contrast .contrast-workbench,
body.page-contrast .contrast-guidance-card,
body.page-contrast .contrast-input-card,
body.page-contrast .contrast-preview-card {
  border-color: var(--pd-border) !important;
  background: rgba(255, 255, 255, 0.62) !important;
}

body.page-contrast .contrast-result-card {
  border-left-color: var(--pd-highlight) !important;
  background: #12394a;
  box-shadow: 0 12px 28px rgba(15, 54, 70, 0.18);
}

body.page-contrast .contrast-result-card > .contrast-input-kicker {
  color: #cbeaf5 !important;
}

body.page-contrast .contrast-swap-btn {
  background: rgba(255, 255, 255, 0.86);
}

/* Admin dashboard */
body.app-admin-stats {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.42), transparent 36%),
    linear-gradient(315deg, rgba(179, 216, 227, 0.5), transparent 42%),
    var(--pd-canvas) !important;
}

body.app-admin-stats .shell {
  width: min(1480px, calc(100% - 28px));
}

body.app-admin-stats :where(.hero, .panel, .login-card, .kpi-card) {
  border-color: rgba(255, 255, 255, 0.78);
  border-radius: var(--pd-radius);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: var(--pd-shadow-soft);
}

body.app-admin-stats .hero {
  border-top: 1px solid rgba(255, 255, 255, 0.8);
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0.84), rgba(224, 241, 247, 0.78)),
    var(--pd-surface);
}

body.app-admin-stats .hero > a {
  border-color: #176887;
  border-radius: 999px;
  color: #064a65;
  background: rgba(255, 255, 255, 0.72);
}

body.app-admin-stats .hero-actions {
  display: flex;
  gap: 0.65rem;
  align-items: center;
}

body.app-admin-stats .theme-toggle {
  display: inline-grid;
  width: 48px;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  place-items: center;
  padding: 0;
  border: 1px solid #176887;
  border-radius: 50%;
  color: #064a65;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: none;
}

body.app-admin-stats .login-card {
  border-left-color: var(--pd-accent);
}

body.app-admin-stats .input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

body.app-admin-stats .input-row button {
  min-width: 150px;
  white-space: nowrap;
}

body.app-admin-stats .kpi-card {
  border-top-color: var(--pd-primary);
}

body.app-admin-stats .kpi-card:nth-child(2) {
  border-top-color: var(--pd-accent);
}

body.app-admin-stats .kpi-card:nth-child(3) {
  border-top-color: #8ca637;
}

body.app-admin-stats .kpi-card:nth-child(4) {
  border-top-color: #735a9f;
}

body.app-admin-stats :where(.metric-item, .activity-item, .empty) {
  border-color: var(--pd-border);
  background: rgba(234, 246, 249, 0.72);
}

body.app-admin-stats .bar-track {
  background: #d9e9ee;
}

body.app-admin-stats .bar-fill {
  background: linear-gradient(90deg, var(--pd-primary), var(--pd-accent));
}

body.app-admin-stats th {
  color: #355765;
  background: #e5f2f6;
}

/* Hidden checklist remains ready and visually consistent. */
body.page-checklist {
  --bg: var(--pd-canvas);
  --surface: var(--pd-surface-solid);
  --surface-soft: var(--pd-surface-blue);
  --ink: var(--pd-text);
  --muted: var(--pd-muted);
  --line: var(--pd-border);
  --blue: var(--pd-primary);
  --blue-dark: var(--pd-primary-hover);
  --mint: var(--pd-accent);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.36), transparent 38%),
    var(--pd-canvas) !important;
}

body.page-checklist :where(.hero, .panel, .metric, .criterion) {
  border-color: rgba(255, 255, 255, 0.8) !important;
  border-radius: var(--pd-radius) !important;
  background: rgba(255, 255, 255, 0.76) !important;
  box-shadow: var(--pd-shadow-soft) !important;
}

body.page-checklist .hero {
  background:
    linear-gradient(130deg, rgba(255, 255, 255, 0.86), rgba(224, 241, 247, 0.78)),
    var(--pd-surface) !important;
}

body.page-checklist .side .panel,
body.page-checklist .toolbar {
  background: rgba(242, 250, 252, 0.82) !important;
}

body.page-checklist .primary-action {
  border-color: var(--pd-primary) !important;
  background: var(--pd-primary) !important;
  color: #ffffff !important;
}

body.page-checklist .secondary-action,
body.page-checklist .icon-action {
  border-color: #176887 !important;
  background: rgba(255, 255, 255, 0.72) !important;
  color: #064a65 !important;
}

body.app-2026 .site-footer-modern,
body.page-checklist .site-footer {
  border-top: 1px solid rgba(255, 255, 255, 0.5);
  background: #12394a !important;
}

body.page-checklist .site-footer :where(h2, h3, p, .footer-kicker, .footer-credit, .meeting-kicker, .meeting-time) {
  color: #eff9fc !important;
}

body.page-checklist .site-footer :where(a, .footer-contact) {
  color: #bcecff !important;
}

body.page-checklist .site-footer :where(a, .footer-contact):hover {
  color: #ffffff !important;
}

body.page-checklist .accessibility-time-card :where(h3, p, .meeting-kicker, .meeting-time) {
  color: var(--pd-text) !important;
}

/* Dark mode keeps the visual system without losing contrast. */
body.dark-mode.app-2026 {
  --pd-canvas: #122731;
  --pd-canvas-deep: #0e2029;
  --pd-surface: rgba(24, 51, 63, 0.9);
  --pd-surface-solid: #193744;
  --pd-surface-blue: #1c3d4a;
  --pd-text: #f3f9fb;
  --pd-muted: #bfd1d8;
  --pd-primary: #8fd8f0;
  --pd-primary-hover: #b5e8f7;
  --pd-primary-soft: #204d5f;
  --pd-accent: #77d5c2;
  --pd-accent-soft: #1d4c43;
  --pd-highlight-soft: #3e471c;
  --pd-border: rgba(191, 222, 232, 0.2);
  --pd-border-strong: rgba(191, 222, 232, 0.38);
  --ui-primary: #8fd8f0;
  --ui-primary-hover: #b5e8f7;
  --ui-text: var(--pd-text);
  --ui-muted: var(--pd-muted);
  color: var(--pd-text);
  background: var(--pd-canvas) !important;
}

body.dark-mode.app-2026 a {
  color: #a9e4f7;
}

body.dark-mode.app-2026 :where(h1, h2, h3, h4, h5, h6, legend, label, strong) {
  color: #f3f9fb !important;
}

body.dark-mode.app-2026 :where(p, li, small, .wizard-inline-help, .wizard-status) {
  color: #bfd1d8;
}

body.dark-mode.app-2026 .site-nav,
body.dark-mode.page-checklist .checklist-navbar {
  border-color: rgba(191, 222, 232, 0.16);
  background: rgba(17, 39, 49, 0.94) !important;
}

body.dark-mode.app-2026 .site-nav .navbar-brand,
body.dark-mode.app-2026 .site-nav .nav-link,
body.dark-mode.page-checklist .checklist-navbar .navbar-brand,
body.dark-mode.page-checklist .checklist-navbar .nav-link {
  color: #eff8fb !important;
}

body.dark-mode.app-2026 .site-nav .nav-link.active,
body.dark-mode.page-checklist .checklist-navbar .nav-link.active {
  background: #244b5b;
  color: #ffffff !important;
}

body.dark-mode.page-home .intro-panel {
  color: var(--pd-text);
  background: linear-gradient(155deg, #173743, #102934);
}

body.dark-mode.page-home .intro-panel h1,
body.dark-mode.page-home .intro-panel .lead {
  color: var(--pd-text);
}

body.dark-mode.page-home .hero-support-copy,
body.dark-mode.app-2026 :where(.wizard-choice label, .wizard-result-metrics > div, .lighthouse-score-card),
body.dark-mode.page-subpage :where(.card, .public-stat-card, .metrics-banner, .table-surface),
body.dark-mode.app-admin-stats :where(.hero, .panel, .login-card, .kpi-card),
body.dark-mode.page-checklist :where(.hero, .panel, .metric, .criterion) {
  border-color: var(--pd-border) !important;
  background: rgba(25, 55, 68, 0.88) !important;
  color: var(--pd-text);
}

body.dark-mode.page-subpage .page-hero {
  border-color: var(--pd-border) !important;
  background:
    linear-gradient(135deg, rgba(36, 76, 91, 0.96), rgba(22, 49, 61, 0.98)),
    var(--pd-surface-solid) !important;
}

body.dark-mode.page-subpage .page-hero img {
  border-color: var(--pd-border-strong);
  background: rgba(207, 235, 243, 0.1);
  box-shadow: 0 12px 28px rgba(3, 17, 23, 0.24);
}

body.dark-mode.page-subpage .section-surface {
  border-color: var(--pd-border) !important;
  background: rgba(17, 36, 49, 0.88) !important;
}

body.dark-mode.page-statistics .metrics-banner {
  color: #e7f5f9;
  background: #1c414f !important;
}

body.dark-mode.page-statistics #statsTable {
  --bs-table-bg: #193744;
  --bs-table-color: #edf8fb;
  --bs-table-striped-bg: #204653;
  --bs-table-striped-color: #edf8fb;
  --bs-table-border-color: rgba(191, 222, 232, 0.2);
}

body.dark-mode.page-statistics #statsTable thead th {
  color: #eaf7fb;
  background: #244c5b;
}

body.dark-mode.app-2026 .btn-primary {
  border-color: #8fd8f0 !important;
  background: #8fd8f0 !important;
  color: #092632 !important;
}

body.dark-mode.app-2026 .btn-outline-primary,
body.dark-mode.app-2026 .btn-outline-primary.btn-glass {
  border-color: #8fd8f0 !important;
  background: rgba(143, 216, 240, 0.08) !important;
  color: #c8effb !important;
}

body.dark-mode.page-checklist .primary-action {
  border-color: #8fd8f0 !important;
  background: #8fd8f0 !important;
  color: #092632 !important;
}

body.dark-mode.page-checklist .segmented button {
  border-color: var(--pd-border-strong) !important;
  background: #193744 !important;
  color: #e8f6fa !important;
}

body.dark-mode.page-checklist .segmented button[aria-pressed="true"] {
  border-color: #8fd8f0 !important;
  background: #8fd8f0 !important;
  color: #092632 !important;
}

body.dark-mode.page-checklist .site-footer .footer-contact {
  border-color: rgba(188, 236, 255, 0.4) !important;
  background: #1b4656 !important;
  color: #d9f4ff !important;
}

body.dark-mode.page-checklist .accessibility-time-card :where(h3, p, .meeting-kicker, .meeting-time) {
  color: #102b3a !important;
}

body.dark-mode.app-admin-stats .hero-actions > a,
body.dark-mode.app-admin-stats .theme-toggle {
  border-color: #8fd8f0;
  color: #dff6fd;
  background: rgba(143, 216, 240, 0.1);
}

body.dark-mode.app-admin-stats button:not(.theme-toggle) {
  border-color: #8fd8f0 !important;
  color: #092632 !important;
  background: #8fd8f0 !important;
}

body.dark-mode.app-admin-stats button:not(.theme-toggle):hover,
body.dark-mode.app-admin-stats button:not(.theme-toggle):focus-visible {
  border-color: #b5e8f7 !important;
  background: #b5e8f7 !important;
}

body.dark-mode.app-admin-stats .theme-toggle:hover,
body.dark-mode.app-admin-stats .theme-toggle:focus-visible {
  color: #092632;
  background: #8fd8f0;
}

body.dark-mode.app-admin-stats :where(.metric-item, .activity-item, .empty) {
  border-color: var(--pd-border);
  background: #1d414e;
}

body.dark-mode.app-admin-stats input {
  border-color: var(--pd-border-strong) !important;
  color: #f3f9fb !important;
  background: #142d39 !important;
}

body.dark-mode.app-admin-stats input::placeholder {
  color: #a9c0ca;
  opacity: 1;
}

body.dark-mode.app-admin-stats .bar-track {
  background: #294c59;
}

body.dark-mode.app-admin-stats table {
  color: #edf8fb;
  background: #193744;
}

body.dark-mode.app-admin-stats th {
  color: #eaf7fb;
  background: #244c5b;
}

body.dark-mode.app-admin-stats :where(td, th) {
  border-color: rgba(191, 222, 232, 0.2);
}

@media (min-width: 1101px) {
  body.page-home .app-main-home {
    height: calc(100dvh - 114px);
  }

  body.page-home .home-audit-layout {
    box-shadow: 0 22px 54px rgba(42, 81, 96, 0.16);
  }

  body.page-home .intro-panel {
    background:
      linear-gradient(155deg, rgba(232, 246, 250, 0.98), rgba(213, 235, 242, 0.96)),
      var(--pd-surface-blue);
  }

  body.page-home .hero-support-copy {
    background: rgba(255, 255, 255, 0.64);
  }

  body.page-home .audit-workspace {
    background: rgba(240, 249, 251, 0.66) !important;
  }

  body.page-home .audit-form-shell {
    box-shadow: 0 12px 28px rgba(42, 81, 96, 0.08);
  }
}

@media (max-width: 1100px) {
  body.page-home .home-audit-layout {
    grid-template-columns: 1fr;
  }

  body.page-home .intro-panel {
    border-right: 0;
    border-bottom: 1px solid var(--pd-border);
  }
}

@media (max-width: 768px) {
  body.app-2026 .site-nav,
  body.page-checklist .checklist-navbar {
    border-radius: 0 0 14px 14px;
  }

  body.app-2026 .navbar-collapse,
  body.page-checklist .navbar-collapse {
    border-color: var(--pd-border);
    background: rgba(255, 255, 255, 0.92);
  }

  body.dark-mode.app-2026 .navbar-collapse,
  body.dark-mode.page-checklist .navbar-collapse {
    border-color: var(--pd-border);
    background: rgba(17, 39, 49, 0.98);
  }

  body.app-2026 .site-nav .nav-link,
  body.page-checklist .checklist-navbar .nav-link {
    border-radius: 10px;
  }

  body.page-home .intro-panel {
    display: block;
    background:
      linear-gradient(145deg, rgba(235, 248, 251, 0.98), rgba(219, 238, 244, 0.96)),
      var(--pd-surface-blue);
  }

  body.page-home .intro-image-card {
    display: none;
  }

  body.app-admin-stats .input-row {
    grid-template-columns: 1fr;
  }

  body.app-admin-stats .input-row button {
    width: 100%;
  }

  body.app-admin-stats .hero-actions {
    width: 100%;
    justify-content: space-between;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.app-2026,
  body.app-2026 .site-nav,
  body.page-checklist .checklist-navbar,
  body.app-2026 :where(.home-audit-layout, .page-hero, .section-surface, .surface-card, .audit-form-shell,
    .wizard-result-panel, .contrast-unified-panel),
  body.app-admin-stats :where(.hero, .panel, .login-card, .kpi-card) {
    backdrop-filter: none;
    background-color: var(--pd-surface-solid) !important;
  }
}

@media (forced-colors: active) {
  body.app-2026::before {
    display: none;
  }
}

/* Final dark-mode overrides stay last so responsive light surfaces cannot win. */
html body.dark-mode.app-2026 nav.site-nav .navbar-nav .nav-link,
html body.dark-mode.page-checklist nav.checklist-navbar .navbar-nav .nav-link {
  color: #eff8fb !important;
}

html body.dark-mode.app-2026 nav.site-nav a.nav-link:not(.active) {
  color: #eff8fb !important;
}

html body.dark-mode.page-home .audit-workspace,
html body.dark-mode.page-home .audit-form-shell {
  border-color: var(--pd-border) !important;
  background: #193744 !important;
}

html body.dark-mode.page-home .audit-form-header h2,
html body.dark-mode.page-home .wizard-step-head h3 {
  color: #f3f9fb !important;
}

html body.dark-mode.page-home :where(.wizard-step-head p, .wizard-inline-help, .wizard-status) {
  color: #c5d8df !important;
}

html body.dark-mode.page-home :where(.wizard-step-note, .engine-explainer-card, .wizard-help-card,
  .audit-review-card, .wizard-toggle-list .form-check, .wizard-choice label) {
  border-color: var(--pd-border) !important;
  background: #1d414e !important;
  color: #f3f9fb !important;
}

html body.dark-mode.page-home .wizard-result-panel {
  border-color: rgba(119, 213, 194, 0.42) !important;
  border-top-color: #77d5c2 !important;
  background:
    linear-gradient(135deg, rgba(30, 70, 79, 0.96), rgba(22, 48, 60, 0.98)),
    #193744 !important;
  color: #f3f9fb !important;
  box-shadow: 0 14px 32px rgba(3, 17, 23, 0.24);
}

html body.dark-mode.page-home .wizard-result-panel :where(.wizard-result-summary p, .wizard-result-summary span) {
  color: #c9dce3 !important;
}

html body.dark-mode.page-home .wizard-result-emoji {
  border-color: var(--pd-border-strong) !important;
  background: #183646 !important;
}

html body.dark-mode.page-home .wizard-result-panel .btn-outline-primary {
  border-color: #8fd8f0 !important;
  background: rgba(143, 216, 240, 0.08) !important;
  color: #dff6fd !important;
}

html body.dark-mode.page-home .wizard-result-panel .btn-outline-primary:hover,
html body.dark-mode.page-home .wizard-result-panel .btn-outline-primary:focus-visible {
  background: #8fd8f0 !important;
  color: #092632 !important;
}

html body.dark-mode.page-subpage .page-hero {
  border-color: var(--pd-border) !important;
  background:
    linear-gradient(135deg, rgba(36, 76, 91, 0.96), rgba(22, 49, 61, 0.98)),
    #193744 !important;
}

html body.dark-mode.page-subpage .page-hero :where(h1, p, .lead) {
  color: #f3f9fb !important;
}

html body.dark-mode.page-checklist :where(.hero, .panel, .metric, .criterion, .toolbar) {
  border-color: var(--pd-border) !important;
  background: #193744 !important;
  color: #f3f9fb !important;
}

html body.dark-mode.page-checklist .workspace .side .panel,
html body.dark-mode.page-checklist .workspace .content .panel {
  border-color: var(--pd-border) !important;
  background: #193744 !important;
  color: #f3f9fb !important;
}

html body.dark-mode.page-checklist :where(.panel, .metric, .criterion, .toolbar) :where(h2, h3, p, span, label, b, strong) {
  color: #eaf5f8 !important;
}

html body.dark-mode.page-checklist .accessibility-time-card :where(h3, p, .meeting-kicker, .meeting-time) {
  color: #eff9fc !important;
}

html body.dark-mode.page-checklist .accessibility-time-card .meeting-time {
  border-color: rgba(188, 236, 255, 0.32) !important;
  background: #1b4656 !important;
  color: #eff9fc !important;
}
