/* ============================================================
 * Mana Theme Tokens
 * Central source for dark/light mode colors and shared aliases.
 * Keep component-specific layout rules in their component CSS.
 * ============================================================ */

:root {
    color-scheme: light;

    --bg-primary: #f8fafc;
    --bg-secondary: #ffffff;
    --bg-tertiary: #f1f5f9;
    --bg-hover: #e2e8f0;
    --border-color: #cbd5e1;
    --border-hover: #94a3b8;
    --text-primary: #0f172a;
    --text-secondary: #475569;
    --text-muted: #5a6a7e;
    --accent-blue-text: var(--accent-blue);

    --primary: #0055FF;
    --primary-dark: #0044cc;
    --accent: #0055FF;
    --accent-blue: #0055FF;
    --accent-blue-hover: #0044cc;
    --text-on-primary: #ffffff;
    --accent-cyan: #0ea5e9;
    --accent-purple: #7c3aed;
    --accent-purple-light: #ede9fe;
    --accent-green: #16a34a;
    --accent-orange: #ca8a04;
    --accent-red: #dc2626;
    --accent-pink: #ec4899;
    --se-green: var(--success);

    --success: #16a34a;
    --warn: #ca8a04;
    --warning: #ca8a04;
    --danger: #dc2626;
    --red: #dc2626;
    --green: #16a34a;

    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
    --shadow-glow: 0 0 20px rgba(0, 85, 255, 0.1);

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-full: 9999px;
    --transition-fast: 150ms ease;
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);
    --z-base: 10;
    --z-dropdown: 20;
    --z-sticky: 30;
    --z-overlay: 40;
    --z-modal: 50;
    --z-toast: 60;
    --z-tooltip: 70;

    --accent-2: #009688;

    --settings-bg: #f8fafc;
    --card-bg: #ffffff;
    --dark: #1e293b;
    --darker: #0f172a;
    --light: #f8fafc;
    --gray: #64748b;
    --disabled-color: #94a3b8;

    --accent-bg: rgba(37, 99, 235, .08);
    --tag-bg: rgba(0, 0, 0, .05);

    --fw-amber: #e8a020;
    --fw-teal: #0891b2;
    --fw-s1: var(--bg-secondary);
    --fw-s2: var(--bg-tertiary);
    --fw-border: var(--border-color);
    --fw-border2: var(--border-hover);
    --fw-dim: var(--text-muted);
    --fw-muted: var(--text-secondary);
    --fw-text: var(--text-primary);

    --bg0: var(--bg-primary);
    --bg1: var(--bg-secondary);
    --bg2: var(--bg-tertiary);
    --bo: var(--border-color);
    --p: var(--primary);
    --tx: var(--text-primary);
    --tx2: var(--text-secondary);
    --t1: var(--text-primary);
    --t2: var(--text-secondary);
    --t3: var(--text-muted);

    --bg: var(--bg-primary);
    --panel: var(--bg-secondary);
    --panel-2: var(--bg-tertiary);
    --border: var(--border-color);
    --text: var(--text-primary);
    --muted: var(--text-muted);
    --shadow: var(--shadow-lg);

    --bg-page: var(--bg-primary);
    --bg-panel: var(--bg-secondary);
    --bg-card: var(--bg-tertiary);
    --border-2: var(--border-hover);
    --text-1: var(--text-primary);
    --text-2: var(--text-secondary);
    --text-3: var(--text-muted);
    --accent-hover: var(--accent-blue-hover);
    --border-color-subtle: rgba(0,0,0,0.06);
    --tl-travel-bg: #94a3b8;
    --tl-slot-alt-bg: rgba(0,0,0,0.03);
    --primary-light: rgba(0, 85, 255, 0.10);
    --warning-light: rgba(202, 138, 4, 0.10);
    --modal-backdrop: rgba(0,0,0,0.75);
    --modal-shadow: 0 12px 48px rgba(0,0,0,.18);
}

[data-theme="dark"] {
    color-scheme: dark;

    --bg-primary: #0a0a0c;
    --bg-secondary: #101013;
    --bg-tertiary: #17171b;
    --bg-hover: #1f1f25;
    --border-color: #27272f;
    --border-hover: #35353f;
    --text-primary: #e2e2e8;
    --text-secondary: #a0a0b0;
    --text-muted: #8a8a9a;

    --primary: #0055FF;
    --primary-dark: #0044cc;
    --accent: #0055FF;
    --accent-blue: #0055FF;
    --accent-blue-hover: #0044cc;
    --accent-blue-text: #4d90ff;
    --accent-cyan: #38bdf8;
    --accent-purple: #8b5cf6;
    --accent-purple-light: #ddd6fe;
    --accent-green: #10b981;
    --accent-orange: #f59e0b;
    --accent-red: #ef4444;
    --accent-pink: #ec4899;
    --se-green: var(--success);

    --success: #10b981;
    --warn: #f59e0b;
    --warning: #f59e0b;
    --danger: #ef4444;
    --red: #ef4444;
    --green: #10b981;

    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
    --shadow-glow: 0 0 20px rgba(0, 85, 255, 0.15);

    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --radius-full: 9999px;
    --transition-fast: 150ms ease;
    --transition-base: 250ms cubic-bezier(0.4, 0, 0.2, 1);

    --accent-2: #2cd5b8;

    --dark: #17171b;
    --darker: #0a0a0c;
    --light: #17171b;
    --gray: #70707f;
    --disabled-color: #70707f;

    --fw-amber: #e8a020;
    --fw-teal: #06b6d4;

    --settings-bg: var(--bg-primary);
    --card-bg: var(--bg-secondary);

    --accent-bg: rgba(0, 85, 255, .12);
    --tag-bg: rgba(255, 255, 255, .06);
    --border-color-subtle: rgba(255,255,255,0.07);
    --tl-travel-bg: #4a5568;
    --tl-slot-alt-bg: rgba(10,16,32,0.5);
    --primary-light: rgba(0, 85, 255, 0.18);
    --warning-light: rgba(245, 158, 11, 0.18);
    --modal-shadow: 0 28px 72px rgba(0,0,0,.85);
}

/* OS dark preference — only applies when no explicit theme is set.
 * Using :not([data-theme="light"]) means this block is skipped when the user
 * explicitly chose light mode, so :root light values win without any override.
 * Keep token values in sync with [data-theme="dark"] above. */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --bg-primary: #0a0a0c;
        --bg-secondary: #101013;
        --bg-tertiary: #17171b;
        --bg-hover: #1f1f25;
        --border-color: #27272f;
        --border-hover: #35353f;
        --text-primary: #e2e2e8;
        --text-secondary: #a0a0b0;
        --text-muted: #8a8a9a;
        --primary: #0055FF;
        --primary-dark: #0044cc;
        --accent: #0055FF;
        --accent-blue: #0055FF;
        --accent-blue-hover: #0044cc;
        --accent-blue-text: #4d90ff;
        --accent-cyan: #38bdf8;
        --accent-purple: #8b5cf6;
        --accent-green: #10b981;
        --accent-orange: #f59e0b;
        --accent-red: #ef4444;
        --accent-pink: #ec4899;
        --success: #10b981;
        --warn: #f59e0b;
        --warning: #f59e0b;
        --danger: #ef4444;
        --red: #ef4444;
        --green: #10b981;
        --se-green: var(--success);
        --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
        --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
        --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
        --shadow-glow: 0 0 20px rgba(0, 85, 255, 0.15);
        --accent-2: #2cd5b8;
        --dark: #17171b;
        --darker: #0a0a0c;
        --light: #17171b;
        --gray: #70707f;
        --disabled-color: #70707f;
        --fw-amber: #e8a020;
        --fw-teal: #06b6d4;
        --settings-bg: var(--bg-primary);
        --card-bg:     var(--bg-secondary);
        --accent-bg: rgba(0, 85, 255, .12);
        --tag-bg: rgba(255, 255, 255, .06);
        --border-color-subtle: rgba(255,255,255,0.07);
        --accent-purple-light: #ddd6fe;
        --tl-travel-bg: #4a5568;
        --tl-slot-alt-bg: rgba(10,16,32,0.5);
        --primary-light: rgba(0, 85, 255, 0.18);
        --warning-light: rgba(245, 158, 11, 0.18);
        --modal-shadow: 0 28px 72px rgba(0,0,0,.85);
    }
}

body {
    background: var(--bg-primary);
    color: var(--text-primary);
}

input,
select,
textarea {
    background: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border-color);
}

table {
    color: var(--text-primary);
}

td,
th {
    border-color: var(--border-color);
}

::-webkit-scrollbar-track {
    background: var(--bg-tertiary);
}

::-webkit-scrollbar-thumb {
    background: var(--border-hover);
    border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--text-muted);
}

[data-theme="light"] input,
[data-theme="light"] select,
[data-theme="light"] textarea,
[data-theme="light"] .fc,
[data-theme="light"] .fs,
[data-theme="light"] .zg-search-input,
[data-theme="light"] .tep-datum-input,
[data-theme="light"] .zt-fg select,
[data-theme="light"] .zt-fg input[type=date],
[data-theme="light"] .form-control,
[data-theme="light"] .form-select,
[data-theme="light"] .form-textarea {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
    border-color: var(--border-color) !important;
}

[data-theme="light"] option {
    background: var(--bg-secondary) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .form-control::placeholder,
[data-theme="light"] .form-select::placeholder,
[data-theme="light"] .fc::placeholder,
[data-theme="light"] .fs::placeholder,
[data-theme="light"] .zg-search-input::placeholder,
[data-theme="light"] input::placeholder,
[data-theme="light"] textarea::placeholder {
    color: var(--text-muted) !important;
    opacity: 1;
}

[data-theme="light"] .card,
[data-theme="light"] .lc-panel,
[data-theme="light"] .tc-bar,
[data-theme="light"] .modal-content,
[data-theme="light"] .dropdown-menu,
[data-theme="light"] .panel {
    background: var(--bg-secondary) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] tr:hover td {
    background: var(--bg-tertiary);
}

[data-theme="light"] .badge {
    filter: brightness(0.9);
}

[data-theme="light"] pre,
[data-theme="light"] code {
    background: var(--bg-tertiary) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .firma-card {
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
}

[data-theme="light"] .firma-box {
    background: var(--bg-tertiary);
    border-color: var(--border-color);
}

[data-theme="light"] .fb-name {
    color: var(--text-primary);
}

[data-theme="light"] .fb-email {
    color: var(--text-secondary);
}

[data-theme="light"] .badge-blue,
[data-theme="light"] .badge-info,
[data-theme="light"] .badge-prio-normal,
[data-theme="light"] .vc-typ.ticket,
[data-theme="light"] .alert-info {
    background: color-mix(in srgb, var(--accent-blue) 12%, transparent) !important;
    color: var(--primary-dark) !important;
    border-color: color-mix(in srgb, var(--accent-blue) 30%, transparent) !important;
}

[data-theme="light"] .badge-on {
    background: color-mix(in srgb, var(--success) 15%, transparent);
    color: var(--success);
    border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
}

[data-theme="light"] .badge-off {
    background: color-mix(in srgb, var(--danger) 12%, transparent);
    color: var(--danger);
    border: 1px solid color-mix(in srgb, var(--danger) 25%, transparent);
}

[data-theme="dark"] .badge-blue,
[data-theme="dark"] .badge-info,
[data-theme="dark"] .badge-prio-normal,
[data-theme="dark"] .vc-typ.ticket,
[data-theme="dark"] .alert-info {
    background: color-mix(in srgb, var(--accent-blue) 15%, transparent);
    color: var(--accent-blue-text);
    border-color: color-mix(in srgb, var(--accent-blue) 30%, transparent);
}

[data-theme="dark"] .badge-on {
    background: color-mix(in srgb, var(--success) 15%, transparent);
    color: var(--success);
    border: 1px solid color-mix(in srgb, var(--success) 30%, transparent);
}

[data-theme="dark"] .badge-off {
    background: color-mix(in srgb, var(--danger) 15%, transparent);
    color: var(--danger);
    border: 1px solid color-mix(in srgb, var(--danger) 25%, transparent);
}

[data-theme="light"] .alert-success {
    background: color-mix(in srgb, var(--success) 10%, transparent) !important;
    border-color: color-mix(in srgb, var(--success) 40%, transparent) !important;
    color: #166534 !important;
}

[data-theme="light"] .alert-error {
    background: color-mix(in srgb, var(--danger) 8%, transparent) !important;
    border-color: color-mix(in srgb, var(--danger) 35%, transparent) !important;
    color: var(--danger) !important;
}

.time-val,
.rate,
.rest-warn,
.ablauf-warn {
    color: var(--warn);
}

.rest-neg,
.ablauf-danger {
    color: var(--danger);
}

[data-theme="light"] [class*="-container"],
[data-theme="light"] [class*="-wrapper"],
[data-theme="light"] [class*="-box"],
[data-theme="light"] [class*="-section"] {
    color: inherit;
}

/* ── Dashboard / main.php light mode overrides ── */
[data-theme="light"] .sa-topbar {display:flex;align-items:center;gap:1rem;padding:8px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;height:48px;}
[data-theme="light"] .sa-user {margin-left:auto;font-size:.82rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;}
[data-theme="light"] .sa-link {color:var(--text-secondary);font-size:.82rem;padding:4px 10px;border-radius:4px;text-decoration:none;border:1px solid var(--border-color);transition:all .15s;}
[data-theme="light"] .kpi-card {
    background: var(--bg-secondary); border: 1px solid var(--border-color); border-radius: 0.75rem;
    padding: 1.5rem; display: flex; align-items: center; justify-content: space-between;
    transition: transform 0.2s;
}
[data-theme="light"] .unidentified-widget {
    background: color-mix(in srgb, var(--danger) 6%, var(--bg-secondary));
    border: 2px solid var(--danger); border-radius: 0.75rem; padding: 1.5rem;
    margin-bottom: 1.5rem; position: relative; overflow: hidden;
}
[data-theme="light"] .unidentified-item {
    background: var(--bg-tertiary); border: 1px solid var(--border-color); border-radius: 0.5rem; padding: 1rem;
    display: flex; align-items: center; justify-content: space-between; transition: all 0.2s;
}
[data-theme="light"] .unidentified-meta { display:flex; gap:1rem; color:var(--text-secondary); font-size:0.75rem; }
[data-theme="light"] .btn-view-unidentified { background:var(--border-color); color:var(--text-secondary); }
[data-theme="light"] .timeline-pro-container {
    background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; margin-bottom: 1.5rem;
}
[data-theme="light"] .timeline-pro-header {
    height: 60px; display: flex; align-items: center; justify-content: space-between;
    padding: 0 1.5rem; border-bottom: 1px solid var(--border-color); background: var(--bg-tertiary); flex-shrink: 0;
}
[data-theme="light"] .btn-nav {
    background: var(--border-color); border: 1px solid var(--border-hover); color: var(--text-secondary); border-radius: 4px;
    padding: 6px 12px; font-size: 0.8rem; cursor: pointer; text-decoration: none;
    display: flex; align-items: center; gap: 4px;
}
[data-theme="light"] .dash-tl-ruler { height:42px; background:var(--bg-tertiary); border-bottom:2px solid var(--border-color); display:flex; position:sticky; top:0; z-index:20; }
[data-theme="light"] .dash-tl-label-col { width:150px; flex-shrink:0; border-right:1px solid var(--border-color); background:var(--bg-primary); }
[data-theme="light"] .dash-tl-label { width:150px; flex-shrink:0; padding:0 10px; background:var(--bg-primary); border-right:1px solid var(--border-color); display:flex; align-items:center; gap:8px; z-index:10; color:var(--text-primary); }
[data-theme="light"] .dash-tl-body { background:var(--bg-secondary); cursor:grab; }
[data-theme="light"] .dash-tl-row { border-bottom:1px solid var(--bg-tertiary); }
[data-theme="light"] .dash-tl-slot { border-right:1px solid rgba(0,0,0,.06); }
[data-theme="light"] .dash-tl-rhour span { color:var(--text-muted); }
[data-theme="light"] .dash-tl-rhour.midnight span { color:var(--accent-blue); }
[data-theme="light"] .tl-edit-modal-inner { background:var(--bg-secondary); border-radius:12px; width:min(96vw,900px); height:min(92vh,720px); display:flex; flex-direction:column; box-shadow:0 24px 64px rgba(0,0,0,.9); overflow:hidden; }
[data-theme="light"] .tl-edit-modal-header { display:flex; align-items:center; justify-content:space-between; padding:10px 16px; background:var(--bg-tertiary); border-bottom:1px solid var(--border-color); flex-shrink:0; }
[data-theme="light"] .tl-edit-modal-title { font-size:.88rem; font-weight:700; color:var(--text-primary); }
[data-theme="light"] .tl-edit-modal-close { background:none; border:none; color:var(--text-secondary); font-size:1.1rem; cursor:pointer; padding:4px 9px; border-radius:4px; transition:color .15s,background .15s; }
[data-theme="light"] .chart-container { background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:0.75rem; padding:1.5rem; height:300px; }
[data-theme="light"] .permission-note {
    background: var(--border-color); color: var(--text-secondary); font-size: 0.75rem; padding: 0.25rem 0.75rem;
    border-radius: 1rem; display: inline-flex; align-items: center; gap: 0.25rem;
}
[data-theme="light"] .dash-section { background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:0.75rem; overflow:hidden; }
[data-theme="light"] .dash-section-header {
    display:flex; align-items:center; justify-content:space-between; padding:0.85rem 1.25rem;
    cursor:pointer; user-select:none; background:var(--bg-tertiary); border-bottom:1px solid var(--border-color); transition:background 0.15s;
}
[data-theme="light"] .dash-section-header:hover { background:var(--bg-tertiary); }
[data-theme="light"] .dash-section-title { display:flex; align-items:center; gap:0.65rem; font-size:0.9rem; font-weight:600; color:var(--text-primary); }
[data-theme="light"] .dash-section-badge { background:var(--border-color); color:var(--text-secondary); padding:0.15rem 0.55rem; border-radius:9999px; font-size:0.72rem; font-weight:600; }
[data-theme="light"] .dash-section-chevron { color:var(--text-muted); transition:transform 0.2s; font-size:0.8rem; }
[data-theme="light"] .ds-empty { padding:1.5rem; text-align:center; color:var(--text-muted); font-size:0.85rem; }
[data-theme="light"] .ds-link { color: var(--accent-blue); }
[data-theme="light"] html { background:var(--bg-primary); color:var(--text-primary); }
[data-theme="light"] body { background-color:var(--bg-primary); background-image:url('/assets/images/08cc9f3c75bc.svg'); background-size:cover; background-position:center center; background-repeat:no-repeat; background-attachment:fixed; color:var(--text-primary); }
[data-theme="light"] .sa-content { background: transparent; }
[data-theme="light"] .tl-container, [data-theme="light"] .tl-header, [data-theme="light"] .timeline-container { background:var(--bg-secondary); border-color:var(--border-color); color:var(--text-primary); }
[data-theme="light"] .tl-row, [data-theme="light"] .tl-lane { background:var(--bg-secondary); border-bottom-color:var(--bg-tertiary); }
[data-theme="light"] .tl-label, [data-theme="light"] .tl-name { background:var(--bg-primary); border-right-color:var(--border-color); color:var(--text-primary); }
[data-theme="light"] .tl-ruler, [data-theme="light"] .tl-hour-ruler { background:var(--bg-tertiary); border-bottom-color:var(--border-color); }
[data-theme="light"] .kpi-value, [data-theme="light"] .stat-value { color:var(--text-primary); }
[data-theme="light"] .kpi-label, [data-theme="light"] .stat-label { color:var(--text-secondary); }
[data-theme="light"] .stat-card { background:var(--bg-secondary); border-color:var(--border-color); }
[data-theme="light"] .section-header, [data-theme="light"] .widget-header { background:var(--bg-tertiary); border-color:var(--border-color); color:var(--text-primary); }
[data-theme="light"] .widget, [data-theme="light"] .widget-body { background:var(--bg-secondary); border-color:var(--border-color); color:var(--text-primary); }
[data-theme="light"] #dashThemeToggle { background:var(--bg-tertiary); border-color:var(--border-color); color:var(--text-secondary); }
[data-theme="light"] .unidentified-title h2 { color:var(--text-primary); }
[data-theme="light"] .unidentified-info h4 { color:var(--text-primary); }
[data-theme="dark"] .dash-tl-infobar { background:var(--bg-primary); border-top:1px solid var(--border-color); }
.dash-tl-hint { color:var(--text-secondary); }
[data-theme="light"] .dash-tl-infobar { background:var(--bg-tertiary); border-top-color:var(--border-color); }
[data-theme="light"] .dash-tl-hint { color:var(--text-muted); }
[data-theme="light"] .timeline-pro-header h3 { color:var(--text-primary); }
[data-theme="light"] .date-nav span { color: var(--accent-blue); }
[data-theme="light"] .kpi-card .kpi-value { color:var(--text-primary); }
[data-theme="light"] .kpi-card .kpi-label { color:var(--text-secondary); }
[data-theme="light"] .kpi-card .kpi-sub { color:var(--text-muted); }
[data-theme="light"] .btn-today { background: var(--accent-blue) !important; border-color: var(--accent-blue) !important; color: #ffffff !important; }

/* Light-mode button contrast: later page-local <style> blocks define several colored
   button families with dark token text. Keep those readable without changing dark mode. */
[data-theme="light"] .btn-primary,
[data-theme="light"] .btn-view,
[data-theme="light"] .btn-delete,
[data-theme="light"] .btn-qr,
[data-theme="light"] .btn-wartung,
[data-theme="light"] .action-btn,
[data-theme="light"] .btn-p,
[data-theme="light"] .btn-r,
[data-theme="light"] .btn-purple,
[data-theme="light"] .btn-assign,
[data-theme="light"] .se-btn-primary,
[data-theme="light"] .rs-btn-primary,
[data-theme="light"] .n-btn-primary,
[data-theme="light"] .mobile-btn-primary,
[data-theme="light"] .mobile-chip.active,
[data-theme="light"] .crm-btn-primary,
[data-theme="light"] .btn-new-deal,
[data-theme="light"] .btn-xs.primary,
[data-theme="light"] .btn-save,
[data-theme="light"] .btn-remove,
[data-theme="light"] .btn-activate,
[data-theme="light"] .btn-deactivate,
[data-theme="light"] .btn-reset {
    color: #ffffff !important;
}

[data-theme="light"] .btn-success,
[data-theme="light"] .btn-g,
[data-theme="light"] .lc .btn-s,
[data-theme="light"] .tc .btn-s,
[data-theme="light"] .btn-reactivate,
[data-theme="light"] .form-container .btn-add,
[data-theme="light"] .btn-primary-sm {
    background: #166534 !important;
    border-color: #166534 !important;
    color: #ffffff !important;
}

[data-theme="light"] .btn-warning,
[data-theme="light"] .btn-regenerate,
[data-theme="light"] .btn-skills {
    background: #92400e !important;
    border-color: #92400e !important;
    color: #ffffff !important;
}
[data-theme="light"] .dash-tl-rhour::before { background:var(--border-hover); }
[data-theme="light"] .dash-tl-rhour::after { background:var(--border-color); }
[data-theme="light"] .dash-tl-row { border-bottom-color:var(--border-color); }
[data-theme="light"] .dash-tl-slot { border-right-color:rgba(0,0,0,.05); }
[data-theme="light"] .dash-tl-slot.alt { background:rgba(241,245,249,.5); }
[data-theme="light"] .tl-leg { color:var(--text-secondary); }
[data-theme="light"] .tl-leg-sep { background:var(--border-hover); }
[data-theme="light"] .dash-tl-frist-lbl { color:var(--text-muted); }
[data-theme="light"] .dash-section-table th { background:var(--bg-tertiary); color:var(--text-secondary); border-bottom-color:var(--border-color); }
[data-theme="light"] .dash-section-table td { color:var(--text-primary); border-bottom-color:var(--border-color); }
[data-theme="light"] .dash-section-table tr:hover td { background:color-mix(in srgb, var(--accent-blue) 4%, transparent); }

/* ============================================================
 * Accessibility — prefers-reduced-motion
 * Disable all animations/transitions for users who prefer reduced motion.
 * ============================================================ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ============================================================
 * Accessibility — Focus States (WCAG 2.1 AA)
 * ============================================================ */
:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 3px;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--primary) 20%, transparent);
}
