/* Semantic overrides for the application only. Document/PDF styles do not load
   this sheet. Component fallbacks retain the existing light palette. */
:root { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --page: #111a28;
  --surface: #1b283a;
  --surface-alt: #223248;
  --soft: #233d54;
  --ink: #e6edf5;
  --text: var(--ink);
  --muted: #b0bfd0;
  --border: #45586f;
  --brand-gray: var(--border);
  --brand-blue: #2e5da3;
  --hover: #356bb7;
  --accent-text: #92cef2;
  --navy: var(--accent-text);
  --text-detail: #b0bfd0;
  --text-strong: #e6edf5;
  --line-soft: #3c5067;
  --field-border: #7589a0;
  --tint-neutral: #26364b;
  --tint-blue: #243d55;
  --tint-danger: #442c34;
  --tint-warning: #413828;
  --tint-success: #233e38;
  --text-danger: #ffb3a7;
  --text-warning: #f4ce8b;
  --text-success: #9dd9bd;
  /* Error toasts need a solid background with white text. */
  --error: #a63838;
  --chart-blue: #72b9eb;
  --chart-sky: #38a8e2;
  --chart-green: #63c4b3;
  --chart-purple: #b69edc;
  --chart-gold: #e0b66c;
  --chart-grid: #45586f;
  --chart-hatch: #223248;
  --chart-capacity: #edab94;
  --chart-today: #ffbb95;
}
.appearance-control { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 60px; min-height: 44px; padding: 4px; border: 1px solid transparent; background: transparent; border-radius: 8px; }
.appearance-control:hover { background: var(--soft); border-color: transparent; }
.appearance-control:focus-visible { outline: 2px solid var(--brand-sky); }
.appearance-track { display: block; position: relative; width: 50px; height: 26px; border: 1px solid #8797ab; border-radius: 20px; background: #e4ebf4; color: #526886; }
.appearance-track svg { position: absolute; top: 5px; }
.appearance-sun { left: 4px; }
.appearance-moon { right: 4px; }
.appearance-thumb { position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px #17233b40; transition: transform .15s ease; }
.appearance-control[aria-checked="true"] .appearance-track { background: #315b93; border-color: #8db6de; color: #e5f2ff; }
.appearance-control[aria-checked="true"] .appearance-thumb { transform: translateX(24px); }
@media(prefers-reduced-motion: reduce) { .appearance-thumb { transition: none; } }
.login-options > .appearance-control { width: fit-content; margin: 0 0 24px auto; }
.topbar { height: auto; min-height: 83px; padding-top: 10px; padding-bottom: 10px; }
.profile { flex-wrap: wrap; justify-content: flex-end; }
:root[data-theme="dark"] .sidebar, :root[data-theme="dark"] .login-story { background-color: #152b49; }
:root[data-theme="dark"] .danger { color: var(--text-danger); }
:root[data-theme="dark"] input::placeholder, :root[data-theme="dark"] textarea::placeholder { color: #a9b8ca; opacity: 1; }
:root[data-theme="dark"] input, :root[data-theme="dark"] select, :root[data-theme="dark"] textarea { accent-color: #72b9eb; }
:root[data-theme="dark"] dialog::backdrop { background: #080f1cc9; }
:root[data-theme="dark"] .network-kind { color: var(--ink); }
/* Preserve supplied logos and the colours of satellite imagery. */
:root[data-theme="dark"] .client-logo-editor img { background: white; }
:root[data-theme="dark"] .time-consumption:not(.is-over) .time-consumption-track>rect { fill: var(--chart-blue); }
:root[data-theme="dark"] .time-consumption:not(.is-over) .time-consumption-track>.time-consumption-draft { fill: #b2daf5; }
:root[data-theme="dark"] .time-consumption.is-over .time-consumption-track>rect { fill: #ee9585; }
:root[data-theme="dark"] .time-consumption.is-over .time-consumption-track>.time-consumption-draft { fill: #f4c2b8; }
:root[data-theme="dark"] .histogram-legend .hatch-key:before { background: repeating-linear-gradient(135deg,var(--chart-hatch) 0 4px,#82bedf 4px 6px); }
:root[data-theme="dark"] .time-consumption.is-unknown .time-consumption-track { background: repeating-linear-gradient(135deg,var(--tint-neutral) 0 5px,var(--line-soft) 5px 7px); }
:root[data-theme="dark"] .histogram-legend .capacity-key:before { border-color: var(--chart-capacity); }
:root[data-theme="dark"] .planning-today-label { fill: var(--chart-today); }
@media(max-width: 800px) {
  .profile { justify-content: flex-start; }
  .profile .appearance-control { margin-left: auto; }
}
@media(max-width: 480px) {
  .profile { gap: 8px; }
  .profile > div { min-width: 170px; }
  .profile .appearance-control { margin-left: 0; }
}

:root[data-theme="dark"]{--planning-fill:#2a4666;--planning-stroke:#4c7199;--planning-ink:#e1efff;--planning-potential-fill:#233448;--planning-potential-stroke:#6c86a3;--planning-potential-ink:#c0d2e6;--planning-review-fill:#234453;--planning-review-stroke:#649eae}
