body.theme-dark {
    color-scheme: dark;

    --sidebar-bg: #0f172a;
    --sidebar-text: #94a3b8;
    --sidebar-text-active: #f1f5f9;
    --sidebar-hover: #1e293b;
    --sidebar-active: #60a5fa;

    --main-bg: #0b1120;
    --main-text: #e2e8f0;
    --border: #334155;

    --surface: #1e293b;
    --surface-muted: #162032;
    --text-muted: #94a3b8;
    --text-subtle: #64748b;
    --accent: #60a5fa;
    --input-bg: #0f172a;
}

body.theme-dark .main__header,
body.theme-dark .settings-form__fieldset,
body.theme-dark .form-group__input,
body.theme-dark .admin-card,
body.theme-dark .admin-list__item,
body.theme-dark .activity-list__item,
body.theme-dark .programme-tabs__tab,
body.theme-dark .participant-list__item,
body.theme-dark .participants-grid__item,
body.theme-dark .lodgings-grid__item,
body.theme-dark .shopping-list__header,
body.theme-dark .shopping-list__item,
body.theme-dark .courses-create,
body.theme-dark .galerie-album__header,
body.theme-dark .galerie-grid__item,
body.theme-dark .galerie-album__upload,
body.theme-dark .galerie-lightbox__dialog {
    background: var(--surface);
}

body.theme-dark .main__content p,
body.theme-dark .home-intro,
body.theme-dark .admin-intro,
body.theme-dark .admin-card__text,
body.theme-dark .admin-empty,
body.theme-dark .programme-empty,
body.theme-dark .admin-list__meta,
body.theme-dark .form-group__optional,
body.theme-dark .activity-list__location,
body.theme-dark .activity-list--admin .activity-list__address,
body.theme-dark .activity-list__notes,
body.theme-dark .participant-list__name,
body.theme-dark .form-group__checkbox,
body.theme-dark .participants-grid__name,
body.theme-dark .lodgings-grid__meta,
body.theme-dark .lodgings-grid__notes,
body.theme-dark .galerie-album__description,
body.theme-dark .todo-list__description,
body.theme-dark .shopping-list__meta-line {
    color: var(--text-muted);
}

body.theme-dark .form-group__help,
body.theme-dark .participant-list__meta,
body.theme-dark .lodgings-grid__meta-label {
    color: var(--text-subtle);
}

body.theme-dark .theme-switch {
    background: var(--surface-muted);
}

body.theme-dark .theme-switch__btn {
    color: var(--text-muted);
}

body.theme-dark .theme-switch__btn:hover {
    color: var(--main-text);
}

body.theme-dark .theme-switch__btn--active {
    background: var(--surface);
    color: var(--main-text);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

body.theme-dark .alert--success {
    background: #064e3b;
    color: #6ee7b7;
    border-color: #047857;
}

body.theme-dark .alert--error {
    background: #450a0a;
    color: #fca5a5;
    border-color: #7f1d1d;
}

body.theme-dark .alert code {
    background: rgba(255, 255, 255, 0.08);
}

body.theme-dark .form-group__input {
    background: var(--input-bg);
    color: var(--main-text);
}

body.theme-dark .btn--primary:hover {
    background: #3b82f6;
}

body.theme-dark .btn--secondary {
    background: var(--surface);
    color: var(--main-text);
}

body.theme-dark .btn--secondary:hover {
    background: #334155;
}

body.theme-dark .admin-card--link:hover {
    box-shadow: 0 2px 8px rgba(96, 165, 250, 0.15);
}

body.theme-dark .participant-list__photo--placeholder,
body.theme-dark .participants-grid__photo--placeholder {
    background: #334155;
    color: #cbd5e1;
}

body.theme-dark .participant-list__status,
body.theme-dark .participants-grid__status {
    background: #1e3a5f;
    color: #93c5fd;
}

body.theme-dark .todo-list__assignee {
    background: #134e4a;
    color: #5eead4;
}

body.theme-dark .todo-form__assignees {
    background: var(--surface-muted);
}

body.theme-dark .lodgings-grid__dates {
    color: var(--accent);
}

body.theme-dark .shopping-list__btn {
    background: var(--surface);
}

body.theme-dark .shopping-list__btn--add:hover {
    background: #1e3a5f;
}

body.theme-dark .shopping-list__btn--remove:hover {
    background: #450a0a;
    border-color: #7f1d1d;
}

body.theme-dark .courses-tabs__add {
    background: var(--surface);
    color: var(--sidebar-active);
    border-color: var(--sidebar-active);
}

body.theme-dark .courses-tabs__add:hover,
body.theme-dark .courses-tabs__add[aria-expanded="true"] {
    background: var(--sidebar-active);
    color: #fff;
}

body.theme-dark .galerie-grid__media {
    background: var(--surface-muted);
}

body.theme-dark .galerie-lightbox__close {
    background: rgba(255, 255, 255, 0.1);
    color: var(--main-text);
}

body.theme-dark .galerie-lightbox__close:hover {
    background: rgba(255, 255, 255, 0.16);
}
