:root { color-scheme: light; }
:root[data-theme="dark"] {
  color-scheme: dark;
  --color-bg:#090909;--color-surface:#151515;--color-surface-soft:#1d1d1d;
  --color-control:#0f0f0f;--color-text:#f3f3f3;--color-muted:#aaa;
  --color-border:#3b3b3b;--color-danger:#ff8178;--color-success:#83d69c;
  --color-primary:#f47f20;--color-primary-hover:#ffa052;--shadow:0 5px 28px #0009;
  --color-empty-bg:#202020;--color-empty-border:#555;
  --color-disabled-bg:#242424;--color-disabled-border:#494949;--color-disabled-text:#aaa;
  --color-available-bg:#173523;--color-available-border:#397650;--color-available-text:#9ae2b2;
  --color-unavailable-bg:#3c2020;--color-unavailable-border:#7c4545;--color-unavailable-text:#ffaaa4;
  --color-warning-bg:#3a2718;--color-warning-text:#ffbd85;
}
:root[data-theme="dark"][data-theme-variant="navy"]{--color-bg:#0b1420;--color-surface:#152231;--color-surface-soft:#1b2a3a;--color-control:#101c28;--color-text:#edf2f7;--color-muted:#b0bfce;--color-border:#405062;--color-danger:#ed786f;--color-success:#81d59a;--color-primary:#ef7d22;--color-primary-hover:#f39b56;--shadow:0 4px 24px #0005;--color-empty-bg:#233247;--color-empty-border:#506680;--color-disabled-bg:#233247;--color-disabled-border:#405673;--color-disabled-text:#aebdd0;--color-available-bg:#203a2c;--color-available-border:#467a58;--color-available-text:#a1e7b5;--color-unavailable-bg:#41252a;--color-unavailable-border:#80515a;--color-unavailable-text:#ffaaa4;--color-warning-bg:#412c23;--color-warning-text:#ffb48f}
[data-theme="dark"] :is(.report-item.resolved,.availability-stat,.availability-chip,.availability-modal,.modal-body,.account-default-panel,.candidature-card,.availability-referee-card,.availability-filter-panel,.quiz-answer,.badge,.availability-day-row,.availability-panel,.availability-table,.calendar-day,.calendar-event,.referee-calendar-section,.designation-calendar-section) { background: var(--color-surface); color: var(--color-text); }
[data-theme="dark"] :is(.notice.warning,.club-warning,.match-report-link,.badge.off,.quiz-answer.wrong) { color: var(--color-warning-text); background: var(--color-warning-bg); }
[data-theme="dark"] :is(.badge.ok,.quiz-answer.correct,.availability-chip) { color: var(--color-available-text); background: var(--color-available-bg); }
[data-theme="dark"] .staff-report-card.resolved { background: var(--color-surface); }
[data-theme="dark"] :is(input,select,textarea) { background: var(--color-control); color: var(--color-text); }
[data-theme="dark"] .button.danger { color: #1b1515; }
.preserve-lines { white-space: pre-wrap; overflow-wrap: anywhere; }
@media print { [data-theme-toggle] { display:none; } :root[data-theme="dark"] { --color-bg: white; --color-surface: white; --color-surface-soft:white; --color-text:black; --color-muted:#444; color-scheme:light; } }

[data-theme="dark"] :is(.custom-select-search,.availability-range-fallback,.availability-mini-table > div,.availability-calendar-day,.availability-day-title,.availability-day-row h2,.availability-subtitle,.availability-chip,.date-chip,.date-chip button,.calendar-slot,.calendar-slot.temporary,.candidature-message,.badge.status,.flash.success,.flash.error) { background: var(--color-surface-soft); color: var(--color-text); }
[data-theme="dark"] .flash.warning { border-color: color-mix(in srgb,var(--color-warning-text) 45%,transparent); color: var(--color-warning-text); background: var(--color-warning-bg); }
[data-theme="dark"] .availability-calendar-day.outside { background: var(--color-bg); }
[data-theme="dark"] .referee-calendar-weekday { background: var(--color-surface-soft); }
[data-theme="dark"] .referee-calendar-day:not(.available):not(.unavailable):not(.mixed) { background: var(--color-surface); color: var(--color-text); }
[data-theme="dark"] .referee-calendar-day.available, [data-theme="dark"] .calendar-status-choice.available { background: var(--color-available-bg); color: var(--color-available-text); }
[data-theme="dark"] .referee-calendar-day.unavailable, [data-theme="dark"] .calendar-status-choice.unavailable { background: var(--color-unavailable-bg); color: var(--color-unavailable-text); }
[data-theme="dark"] .referee-calendar-day.mixed { background: linear-gradient(135deg, var(--color-available-bg) 0 49%, var(--color-unavailable-bg) 51% 100%); color: var(--color-text); }
[data-theme="dark"] .designation-calendar-day.has-matches { background: #233650; color: #bcd5ff; }
[data-theme="dark"] .match-day-choice { background: #233650; border-color: #405d83; }
[data-theme="dark"] .staff-match-day-card { background: var(--color-surface); border-color: var(--color-border); }
[data-theme="dark"] .staff-day-slot-summary, [data-theme="dark"] .staff-availability-person { background: var(--color-surface-soft); }
[data-theme="dark"] .staff-availability-column.available { background: #203a2c; color: #a1e7b5; }
[data-theme="dark"] .staff-availability-column.unavailable { background: #41252a; color: #ffaaa4; }
[data-theme="dark"] .staff-availability-column.missing { background:#26313d;color:#c0ccd8;border-color:#596879; }
[data-theme="dark"] .staff-day-match-card { background: var(--color-surface-soft); }
[data-theme="dark"] .availability-reopen-panel, [data-theme="dark"] .availability-reopen-panel.active { background: var(--color-surface); }
[data-theme="dark"] .custom-option.availability-unavailable, [data-theme="dark"] .custom-option.availability-missing { opacity: .82; }
[data-theme="dark"] .custom-option.availability-unavailable:hover, [data-theme="dark"] .custom-option.availability-missing:hover { background: color-mix(in srgb, var(--color-disabled-bg) 82%, white 18%); color: var(--color-text); opacity: 1; }
[data-theme="dark"] .custom-option.availability-available { background: #203a2c; }

[data-theme="dark"] body { background: var(--color-bg); }
[data-theme="dark"] .site-header { background: color-mix(in srgb, var(--color-surface) 96%, transparent); }
[data-theme="dark"][data-theme-variant="navy"] .site-header { background: #1b2530f5; }
[data-theme="dark"] :is(.analytics-filters,.analytics-kpi,.analytics-card,.analytics-tabs) { background:var(--color-surface); }
[data-theme="dark"] :is(.analytics-rate.good) { color:#9de2b1;background:#183b27; }
[data-theme="dark"] :is(.analytics-rate.average) { color:#ffd98a;background:#43351b; }
[data-theme="dark"] :is(.analytics-rate.low) { color:#ffaaa4;background:#41252a; }
[data-theme="dark"] .analytics-avatar { color:#ffb578;background:#4d2d18; }
[data-theme="dark"] .analytics-method { color:#bdd9f7;background:#192f45;border-color:#315779; }
[data-theme="dark"] .observation-match-card.selected,[data-theme="dark"] .observation-match-card:hover { background:#3b2b20; }
[data-theme="dark"] .distribution-number { color:#a4e1ba;background:#1d3a28; }
[data-theme="dark"] .distribution-number.missing { color:#ffb2aa;background:#45272a; }
[data-theme="dark"] .distribution-table tbody tr.distribution-removal-pending {
  color:var(--color-text);
  background:var(--color-warning-bg);
  box-shadow:inset 5px 0 var(--color-primary);
}
[data-theme="dark"] .distribution-table tbody tr.distribution-removal-pending td {
  background:transparent;
}
[data-theme="dark"] :is(.distribution-removal-title,.distribution-change-note,.distribution-removal-check span) {
  color:var(--color-warning-text)!important;
}
[data-theme="dark"] .distribution-removal-check input {
  accent-color:var(--color-primary);
}
.site-header { flex-wrap: wrap; gap: 12px; }
.nav { flex-wrap: wrap; gap: 12px; }
[data-theme="dark"] .referee-availability-item.available { background: rgba(46, 157, 87, 0.16); color: #83d6a0; }
[data-theme="dark"] .referee-availability-item.unavailable { background: rgba(197, 72, 72, 0.16); color: #f0a1a1; }
[data-theme="dark"] .referee-availability-item span, [data-theme="dark"] .referee-availability-item small { color: var(--color-text); }
[data-theme="dark"] .custom-date-trigger,[data-theme="dark"] .custom-date-nav { background:var(--color-control); }

/* Every status surface follows the active dark palette instead of retaining a light fallback. */
[data-theme="dark"] :is(.notice,.flash,.match-return-danger,.match-double-badge,.distribution-double,.calendar-lock-message) {
  border-color: color-mix(in srgb, var(--color-warning-text) 38%, var(--color-border));
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}
[data-theme="dark"] :is(.notice,.flash,.match-return-danger,.match-double-badge,.distribution-double,.calendar-lock-message) :is(small,strong,span,i) {
  color: inherit;
}
[data-theme="dark"] .match-return-danger:not(.source) {
  border-color: color-mix(in srgb, var(--color-danger) 45%, var(--color-border));
  color: var(--color-danger);
  background: color-mix(in srgb, var(--color-danger) 14%, var(--color-surface));
}
[data-theme="dark"] .match-return-danger:not(.source) small { color: var(--color-text); }
[data-theme="dark"] .match-return-danger.source {
  border-color: color-mix(in srgb, var(--color-warning-text) 42%, var(--color-border));
  color: var(--color-warning-text);
  background: var(--color-warning-bg);
}
[data-theme="dark"] .match-report-link { padding: 4px 7px; border-radius: 7px; }
[data-theme="dark"] .match-report-link.resolved {
  color: var(--color-available-text);
  background: var(--color-available-bg);
}
[data-theme="dark"] .flash.success { color: var(--color-available-text); background: var(--color-available-bg); }
[data-theme="dark"] .flash.error { color: var(--color-unavailable-text); background: var(--color-unavailable-bg); }
[data-theme="dark"] .notice.success { border-color:var(--color-available-border);color:var(--color-available-text);background:var(--color-available-bg); }
[data-theme="dark"] .notice.error { border-color:var(--color-unavailable-border);color:var(--color-unavailable-text);background:var(--color-unavailable-bg); }
[data-theme="dark"] .match-state-icon { color:var(--color-muted);background:var(--color-surface-soft); }
[data-theme="dark"] .match-state-icon.complete { color:var(--color-available-text);background:var(--color-available-bg); }
[data-theme="dark"] .match-state-icon.pending { color:var(--color-warning-text);background:var(--color-warning-bg); }
[data-theme="dark"] :is(.staff-day-match-card.complete .staff-day-match-status,.staff-day-slot-summary .available) { color:var(--color-available-text);background:var(--color-available-bg); }
[data-theme="dark"] :is(.staff-day-match-card.warning .staff-day-match-status,.staff-day-slot-summary .missing) { color:var(--color-warning-text);background:var(--color-warning-bg); }
[data-theme="dark"] :is(.staff-day-match-card.empty .staff-day-match-status,.staff-day-slot-summary .unavailable) { color:var(--color-unavailable-text);background:var(--color-unavailable-bg); }
[data-theme="dark"] .staff-day-match-card.warning .staff-day-match-assignment { color:var(--color-warning-text); }
[data-theme="dark"] .staff-day-match-card.complete .staff-day-match-assignment { color:var(--color-available-text); }
[data-theme="dark"] .staff-day-match-card.empty .staff-day-match-assignment { color:var(--color-unavailable-text); }
[data-theme="dark"] :is(.staff-report-author-icon,.match-confirm-dialog-icon,.analytics-icon.warning) { color:var(--color-warning-text);background:var(--color-warning-bg); }
[data-theme="dark"] :is(.staff-report-author-icon.club,.analytics-icon.danger) { color:var(--color-unavailable-text);background:var(--color-unavailable-bg); }
[data-theme="dark"] :is(.staff-report-author-icon.arbitre,.analytics-icon.blue,.analytics-icon.violet) { color:var(--color-text);background:var(--color-surface-soft); }
[data-theme="dark"] .staff-report-delete { border-color:var(--color-unavailable-border);color:var(--color-unavailable-text);background:var(--color-unavailable-bg); }
[data-theme="dark"] .import-change-field .before { color:var(--color-unavailable-text);background:var(--color-unavailable-bg); }
[data-theme="dark"] .import-change-field .after { color:var(--color-available-text);background:var(--color-available-bg); }
[data-theme="dark"] :is(.analytics-hour-grid .level-1,.analytics-hour-grid .level-2) { color:var(--color-warning-text);background:var(--color-warning-bg); }
[data-theme="dark"] .analytics-kpi.featured .analytics-icon { color:var(--color-primary);background:var(--color-surface); }
[data-theme="dark"] :is(.availability-subtitle,.availability-day-row h2,.availability-day-title) { color:var(--color-text);background:var(--color-warning-bg); }
[data-theme="dark"] :is(.calendar-slot.permanent,.date-chip) { color:var(--color-available-text);background:var(--color-available-bg); }
[data-theme="dark"] .calendar-slot.temporary { color:var(--color-warning-text);background:var(--color-warning-bg); }
[data-theme="dark"] :is(.calendar-slot.permanent,.calendar-slot.temporary,.date-chip) :is(span,small,button) { color:inherit; }
[data-theme="dark"] .button.danger { color:#fff; }

/* The black theme must stay neutral; navy keeps its intentionally blue accents. */
:root[data-theme="dark"]:not([data-theme-variant="navy"]) :is(.designation-calendar-day.has-matches,.match-day-choice) {
  color:var(--color-text);
  border-color:var(--color-border);
  background:var(--color-surface-soft);
}
:root[data-theme="dark"]:not([data-theme-variant="navy"]) :is(.analytics-method,.staff-availability-column.missing) {
  color:var(--color-text);
  border-color:var(--color-border);
  background:var(--color-surface-soft);
}
.practical-page{max-width:1080px}.practical-search{display:flex;align-items:center;gap:10px;margin:18px 0;padding:0 15px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow)}.practical-search i{color:var(--color-primary)}.practical-search input{width:100%;border:0!important;background:transparent!important;box-shadow:none!important}.practical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.practical-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:17px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:var(--shadow)}.practical-card-icon{display:grid;width:45px;height:45px;place-items:center;border-radius:12px;color:var(--color-primary);background:var(--color-warning-bg)}.practical-card h2{margin:0;font-size:.95rem}.practical-card p{margin:4px 0 0;color:var(--color-muted);font-size:.76rem;line-height:1.45}.practical-info-list{display:grid;gap:10px}.practical-info-card{overflow:hidden;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:var(--shadow)}.practical-info-card>summary{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.practical-info-card>summary::-webkit-details-marker{display:none}.practical-info-card>summary>span{display:grid;width:39px;height:39px;place-items:center;border-radius:11px;color:var(--color-primary);background:var(--color-warning-bg)}.practical-info-card>summary div{display:grid}.practical-info-card>summary small{color:var(--color-muted);font-size:.65rem;text-transform:uppercase}.practical-info-card>summary>i{color:var(--color-muted);transition:transform .18s}.practical-info-card[open]>summary>i{transform:rotate(180deg)}.practical-info-content{padding:0 18px 18px;border-top:1px solid var(--color-border)}.practical-info-content>p{line-height:1.65}.practical-answer{margin:14px 0;padding:15px;border-left:4px solid var(--color-primary);border-radius:0 12px 12px 0;background:var(--color-surface-soft)}.practical-answer p{margin:6px 0 0;line-height:1.65}@media(max-width:760px){.practical-grid{grid-template-columns:1fr}.practical-card{grid-template-columns:auto 1fr}.practical-card .button{grid-column:1/-1;justify-content:center}}
