:root {
  --bg: #f5f2ec;
  --surface: #fffefb;
  --surface-soft: #f0ede8;
  --text: #222222;
  --muted: #6e6965;
  --line: #e5ded3;
  --primary: #6e6965;
  --primary-dark: #383a3b;
  --accent: #c2a66b;
  --shadow: 0 18px 45px rgba(56, 58, 59, 0.08);
}

body.home-page {
  background: var(--bg);
  color: var(--text);
}

.home-page .topbar {
  background: rgba(56, 58, 59, 0.97);
  border-bottom: 1px solid rgba(194, 166, 107, 0.52);
  box-shadow: 0 10px 30px rgba(56, 58, 59, 0.12);
}

.home-page .home-brand-copy strong {
  color: #ffffff;
}

.home-page .home-brand-copy small {
  color: #d8d2c9;
}

.home-page .home-brand-logo {
  padding: 4px;
  border-radius: 12px;
  background: #fffefb;
}

.home-page .topbar .button-ghost {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.06);
}

.home-page .topbar .button-ghost:hover {
  border-color: var(--accent);
  background: rgba(194, 166, 107, 0.15);
}

.home-logo-card {
  background: rgba(255, 254, 251, 0.88);
  border-color: var(--line);
  box-shadow: 0 28px 70px rgba(56, 58, 59, 0.1);
}

.home-intro h1 span,
.home-page .eyebrow,
.route-card .route-action,
.flow-choice .choice-link,
.text-button {
  color: var(--primary-dark);
}

.home-lead,
.route-heading p,
.route-card p,
.flow-panel-head p,
.flow-choice span,
.registration-panel > p,
.quick-panel > p,
.registration-card small,
.quick-helper {
  color: var(--muted);
}

.district-notice {
  border-color: #d8c9ad;
  background: #f3ead9;
}

.district-icon {
  background: var(--accent);
  color: #222222;
}

.district-notice p,
.home-disclaimer-inner,
.home-disclaimer strong,
.home-footer-meta strong {
  color: #625d58;
}

.home-disclaimer-inner {
  border-top-color: var(--line);
}

.route-card,
.flow-panel,
.registration-card,
.lookup-card,
.form-header,
.form-section,
.stat-card,
.workspace-card,
dialog {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: var(--shadow);
}

.route-card:hover,
.registration-card:hover {
  border-color: #cbbdaa;
  box-shadow: 0 22px 55px rgba(56, 58, 59, 0.12);
}

.route-card::after,
.route-card-icon,
.module-chip,
.result-panel {
  background: var(--surface-soft);
}

.route-card-icon {
  color: var(--primary-dark);
}

.flow-close,
.flow-choice {
  border-color: var(--line);
  background: var(--surface);
  color: var(--text);
}

.flow-choice:hover {
  border-color: #cbbdaa;
  background: #f7f3ed;
}

.registration-panel,
.quick-panel {
  border-top-color: var(--line);
}

.registration-card .tag {
  background: #eeeae5;
  color: var(--primary-dark);
}

.lookup-methods {
  background: #e9e4dc;
}

.lookup-method {
  color: #625d58;
}

.lookup-method.active {
  background: var(--surface);
  color: var(--primary-dark);
  box-shadow: 0 3px 12px rgba(56, 58, 59, 0.1);
}

.quick-field input,
.input-row input,
.field input,
.field select,
.field textarea {
  border-color: var(--line);
  background: #fbf9f5;
  color: var(--text);
}

.quick-field input:focus,
.input-row input:focus,
.field input:focus,
.field select:focus,
.field textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(194, 166, 107, 0.16);
}

.quick-result,
.result-panel {
  border-color: #ddd3c4;
  color: #625d58;
}

.button-primary {
  background: var(--primary-dark);
  color: #ffffff;
}

.button-primary:hover {
  background: #222222;
}

.button-secondary {
  background: #e9e4dc;
  color: var(--text);
}

.button-ghost {
  border-color: var(--line);
}

.module-chip {
  color: var(--primary-dark);
}

.field input[readonly] {
  background: #eeebe6;
  color: #625d58;
}

.home-page .section-soft {
  background: var(--surface-soft);
  border-top-color: var(--line);
  border-bottom-color: var(--line);
}

.home-page .footer {
  background: #e9e4dc;
  border-top-color: #d6ccbd;
}

dialog::backdrop {
  background: rgba(34, 34, 34, 0.5);
}
