/* 화면 구조는 그대로 두고 공통 색상과 기능별 상태 색상만 전환한다.
   공통 head에서 먼저 로드되므로 테마 선택자의 명시도로 이후 기본값보다 우선한다. */
.site-logo-image.site-logo-dark {
    display: none;
}

:root[data-theme="dark"] .site-logo-light {
    display: none;
}

:root[data-theme="dark"] .site-logo-dark {
    display: block;
}

:root[data-theme="dark"] {
    color-scheme: dark;
    --app-canvas: #0b121c;
    --app-surface: #121e2b;
    --app-surface-soft: #192838;
    --app-text: #eaf1f7;
    --app-text-strong: #f5f9fc;
    --app-muted: #9dafc2;
    --app-border: #293a4c;
    --app-control-border: #425a70;
    --app-control-hover-border: #76ded1;
    --app-primary: #76ded1;
    --app-primary-strong: #a1eee4;
    --app-primary-soft: #163b3d;
    --app-danger: #f0a5b2;
    --app-danger-border: #91606e;
    --app-danger-soft: #372633;
    --app-success: #8fddbd;
    --app-success-soft: #16382f;
    --app-warning: #efd18a;
    --app-warning-soft: #39321f;
    --app-page-background: #0b121c;
    --focus-ring-color: #a1eee4;
}

:root[data-theme="dark"] body {
    --focus-ring-color: #a1eee4;
}

:root[data-theme="dark"] .admin-app-page {
    --admin-control-hover-border: #76ded1;
    --admin-danger: #f0a5b2;
    --admin-danger-border: #91606e;
    --admin-danger-soft: #372633;
    --admin-success-border: #477866;
    --admin-success-soft: #16382f;
    --admin-inactive: #a7b6c9;
    --admin-inactive-soft: #253241;
    --admin-warning: #efd18a;
    --admin-warning-border: #87764c;
    --admin-warning-soft: #39321f;
    --admin-event-accent: #c5a8f6;
    --admin-closure-accent: #f0a5b2;
}

:root[data-theme="dark"] :is(.schedule-calendar-page, .admin-schedule-page) {
    --schedule-calendar-lesson: #a3e6df;
    --schedule-calendar-lesson-soft: #1b3a40;
    --schedule-calendar-event: #d4b8ff;
    --schedule-calendar-event-soft: #332b4a;
    --schedule-calendar-closure: #efb1bd;
    --schedule-calendar-closure-soft: #392c39;
    --schedule-calendar-cancelled-soft: #253241;
    --schedule-calendar-sunday: #eda5b2;
    --schedule-calendar-saturday: #9ebce9;
    --schedule-calendar-closure-day-soft: #281f2b;
    --schedule-calendar-dialog-shadow: rgba(0, 0, 0, 0.4);
    --schedule-calendar-dialog-backdrop: rgba(3, 9, 16, 0.72);
}

:root[data-theme="dark"] :is(.card, .site-header, .app-navigation, .attendance-save-bar) {
    border-color: var(--app-border);
    background: var(--app-surface);
    box-shadow: none;
}

:root[data-theme="dark"] .language-switcher-options {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

:root[data-theme="dark"] .parent-calendar-day-dialog {
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.4);
}

:root[data-theme="dark"] .parent-calendar-day-dialog::backdrop {
    background: rgba(3, 9, 16, 0.72);
}

/* 등급의 흰색·검정색 의미와 원본 로고·공지 사진의 색상은 유지한다. */
:root[data-theme="dark"] .swim-level-indicator::before {
    box-shadow: 0 0 0 1px var(--app-muted);
}

/* 날짜 선택기는 body에 추가되므로 관리자 본문의 상속에 의존하지 않는다. */
:root[data-theme="dark"] .air-datepicker {
    --adp-background-color: var(--app-surface);
    --adp-background-color-hover: var(--app-surface-soft);
    --adp-background-color-active: var(--app-primary-soft);
    --adp-color: var(--app-text);
    --adp-color-secondary: var(--app-muted);
    --adp-color-other-month: var(--app-muted);
    --adp-color-other-month-hover: var(--app-text);
    --adp-color-disabled: #7f90a3;
    --adp-color-disabled-in-range: #7f90a3;
    --adp-color-current-date: var(--app-primary-strong);
    --adp-day-name-color: var(--app-muted);
    --adp-border-color: var(--app-border);
    --adp-border-color-inner: var(--app-border);
    --adp-cell-background-color-selected: var(--app-primary);
    --adp-cell-background-color-selected-hover: var(--app-primary-strong);
    --adp-background-color-selected-other-month: var(--app-primary);
    --adp-background-color-selected-other-month-focused: var(--app-primary-strong);
    --adp-btn-color: var(--app-primary-strong);
}

:root[data-theme="dark"] .air-datepicker-cell.-selected- {
    color: var(--app-surface);
}
