/* PJTF — Dark mode (data-theme="dark" on html) */

html[data-theme="dark"] {
    color-scheme: dark;
    --pjtf-bg: #0f172a;
    --pjtf-surface: #1e293b;
    --pjtf-surface-muted: #334155;
    --pjtf-border: #475569;
    --pjtf-text: #f1f5f9;
    --pjtf-text-muted: #94a3b8;
    --pjtf-brand: #60a5fa;
    --pjtf-brand-soft: rgba(96, 165, 250, 0.14);
    --pjtf-danger: #f87171;
    --pjtf-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    /* Admin — Équipes (colonnes drag & drop) */
    --e-bg: #0f172a;
    --e-panel: #1e293b;
    --e-border: #475569;
    --e-muted: #94a3b8;
    --e-text: #f1f5f9;
    --e-brand: #60a5fa;
    --e-danger: #f87171;
    --e-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    /* Admin — Utilisateurs */
    --ua-card: #1e293b;
    --ua-text: #f1f5f9;
    --ua-muted: #94a3b8;
    --ua-border: #475569;
    --ua-brand: #60a5fa;
    --ua-brand-600: #3b82f6;
    --ua-danger: #f87171;
    --ua-danger-600: #ef4444;
    --ua-ring: rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] body {
    background-color: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .compte-page {
    background: transparent;
    color: var(--pjtf-text);
}

html[data-theme="dark"] .mobile-bottom-nav,
html[data-theme="dark"] .team-section-nav,
html[data-theme="dark"] .admin-section-nav {
    background: #111827;
    border-color: #334155;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .mobile-bottom-nav__item,
html[data-theme="dark"] .team-section-nav__item,
html[data-theme="dark"] .admin-section-nav__item {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .mobile-bottom-nav__item:hover,
html[data-theme="dark"] .team-section-nav__item:hover,
html[data-theme="dark"] .admin-section-nav__item:hover {
    color: var(--pjtf-text);
    background: rgba(255, 255, 255, 0.06);
}

html[data-theme="dark"] .mobile-bottom-nav__item.is-active,
html[data-theme="dark"] .team-section-nav__item.is-active,
html[data-theme="dark"] .admin-section-nav__item.is-active {
    color: var(--pjtf-brand);
    background: var(--pjtf-brand-soft);
    box-shadow: none;
}

html[data-theme="dark"] .team-section-nav__item--action,
html[data-theme="dark"] .admin-section-nav__item--action {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .team-section-nav__item--action:hover,
html[data-theme="dark"] .admin-section-nav__item--action:hover {
    background: rgba(96, 165, 250, 0.18);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .team-section-nav,
html[data-theme="dark"] .admin-section-nav {
    background: #172033;
    border-color: #334155;
}

html[data-theme="dark"] .compte-card,
html[data-theme="dark"] .compte-section,
html[data-theme="dark"] .pjtf-card,
html[data-theme="dark"] .card,
html[data-theme="dark"] .pjtf-container,
html[data-theme="dark"] .no-team__card {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .compte-profile__meta strong,
html[data-theme="dark"] .pjtf-title,
html[data-theme="dark"] .compte-section__title,
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .compte-profile__meta small,
html[data-theme="dark"] .compte-link__hint,
html[data-theme="dark"] .compte-note,
html[data-theme="dark"] .compte-section__desc {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .compte-badge {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .compte-avatar {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .pjtf-btn--danger {
    background: #991b1b;
    border-color: #991b1b;
    color: #fecaca;
}

html[data-theme="dark"] .pjtf-btn--danger:hover {
    background: #b91c1c;
}

html[data-theme="dark"] .compte-link,
html[data-theme="dark"] .compte-theme__option {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .compte-link:hover,
html[data-theme="dark"] .compte-theme__option:hover {
    background: #3b4a61;
}

html[data-theme="dark"] .compte-theme__option.is-active {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-brand);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .pjtf-input,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] textarea {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

/* background-color seulement : ne pas écraser background-image des selects custom */
html[data-theme="dark"] select {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ua-alert.success {
    background: rgba(34, 197, 94, 0.15);
    color: #86efac;
}

html[data-theme="dark"] .ua-alert.error {
    background: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
}

html[data-theme="dark"] .btn-retour-preform,
html[data-theme="dark"] .btn-preform-back,
html[data-theme="dark"] .btn--ghost {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
}

html[data-theme="dark"] #page-loader {
    background: rgba(2, 6, 23, 0.92);
}

/* ===== Punch ===== */
html[data-theme="dark"] .punch-status-banner--in {
    background: rgba(34, 197, 94, 0.12);
    border-bottom-color: rgba(34, 197, 94, 0.28);
}

html[data-theme="dark"] .punch-status-banner__title {
    color: #86efac;
}

html[data-theme="dark"] .punch-status-banner__address {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .punch-status-banner__duration {
    color: #4ade80;
}

html[data-theme="dark"] .punch-wrapper,
html[data-theme="dark"] main {
    background-color: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .punch-title {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .punch-wrapper label,
html[data-theme="dark"] .punch-commercial-fields label,
html[data-theme="dark"] #addressBlock label,
html[data-theme="dark"] #currentAddress,
html[data-theme="dark"] .residentiel-choice-block label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .select-chantier,
html[data-theme="dark"] .punch-commercial-fields .select-chantier {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .punch-toast--success {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
    box-shadow: 0 2px 12px rgba(34, 197, 94, 0.12);
}

html[data-theme="dark"] .punch-toast--error {
    background: rgba(239, 68, 68, 0.16);
    color: #fca5a5;
    box-shadow: 0 2px 12px rgba(239, 68, 68, 0.1);
}

html[data-theme="dark"] .alert-error {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

html[data-theme="dark"] .ua-modal-content {
    background: var(--pjtf-surface);
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
}

html[data-theme="dark"] .address-dropdown {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .address-item {
    color: var(--pjtf-text);
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .address-item:hover {
    background: var(--pjtf-surface-muted);
}

/* ===== Mon équipe / Heures ===== */
html[data-theme="dark"] .pjtf-page.pjtf-mt-team {
    background: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .pjtf-toolbar {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .pjtf-title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .pjtf-btn:not(.pjtf-btn--primary):not(.btn-warning):not(.btn-danger):not(.btn-primary) {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .pjtf-input {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card__header,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card > summary.mt-card__header {
    background: var(--pjtf-surface-muted) !important;
    border-bottom-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card > summary.mt-card__header::after {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card:hover > summary.mt-card__header::after,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card > summary.mt-card__header:focus-visible::after {
    border-color: var(--pjtf-brand);
}

html[data-theme="dark"] .mt-punch-dot {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card__title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card__total {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card__total b {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card:hover > summary.mt-card__header {
    background: #3b4a61 !important;
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team details.mt-card[open] > summary.mt-card__header {
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.table thead th {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text-muted);
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.table tbody td {
    color: var(--pjtf-text);
    border-top-color: var(--pjtf-border);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-card .card-body {
    background: var(--pjtf-surface) !important;
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table thead th {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text-muted);
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody td {
    background: transparent;
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr {
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr.mt-row-open {
    background: rgba(245, 158, 11, 0.12);
}

@media (max-width: 768px) {
    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr {
        background: var(--pjtf-surface) !important;
        border-color: var(--pjtf-border) !important;
        color: var(--pjtf-text);
        box-shadow: var(--pjtf-shadow);
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr:hover {
        background: var(--pjtf-surface-muted) !important;
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody td {
        color: var(--pjtf-text);
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody td[data-label]:not([data-label="Date"]) {
        border-top-color: var(--pjtf-border) !important;
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody td[data-label]::before {
        color: var(--pjtf-text-muted);
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr.mt-row-open {
        background: rgba(245, 158, 11, 0.14) !important;
        border-color: rgba(245, 158, 11, 0.35) !important;
        box-shadow: none;
    }

    html[data-theme="dark"] .pjtf-page.pjtf-mt-team table.mt-spacious.table tbody tr.mt-row-open td {
        background: transparent !important;
        color: var(--pjtf-text) !important;
    }
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-time,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-note,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-created-by {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-mapbtn {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-border);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] #createModal .mt-dropup-select__trigger,
html[data-theme="dark"] #editModal .mt-dropup-select__trigger {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] #createModal .mt-dropup-select__menu,
html[data-theme="dark"] #editModal .mt-dropup-select__menu {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] #createModal .mt-dropup-select__option,
html[data-theme="dark"] #editModal .mt-dropup-select__option {
    color: var(--pjtf-text);
}

html[data-theme="dark"] #createModal .mt-dropup-select__option:hover,
html[data-theme="dark"] #editModal .mt-dropup-select__option:hover,
html[data-theme="dark"] #createModal .mt-dropup-select__option.is-selected,
html[data-theme="dark"] #editModal .mt-dropup-select__option.is-selected {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-mapbtn:hover {
    background: rgba(96, 165, 250, 0.22);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .chip--neutral {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] tr.mt-row-open td {
    background: rgba(245, 158, 11, 0.18) !important;
}

html[data-theme="dark"] tr.mt-row-open .chip {
    background: rgba(245, 158, 11, 0.22);
    border-color: rgba(245, 158, 11, 0.45);
    color: #fcd34d;
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-actions .btn-warning {
    background: rgba(245, 158, 11, 0.14);
    color: #fdba74;
    border-color: rgba(245, 158, 11, 0.45);
    box-shadow: none;
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-actions .btn-warning:hover {
    background: rgba(245, 158, 11, 0.22);
    border-color: rgba(251, 146, 60, 0.65);
    color: #fde68a;
}

/* ===== EXTRA / Rapports (reportform) ===== */
html[data-theme="dark"] .form-page {
    --bg: var(--pjtf-bg);
    --card: var(--pjtf-surface);
    --text: var(--pjtf-text);
    --muted: var(--pjtf-text-muted);
    --border: var(--pjtf-border);
    --brand: var(--pjtf-brand);
    --brand-600: #3b82f6;
    --ring: rgba(96, 165, 250, 0.25);
    background: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .rf-card,
html[data-theme="dark"] .rf-accordion {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .rf-title,
html[data-theme="dark"] .rf-card h2,
html[data-theme="dark"] .rf-field > span,
html[data-theme="dark"] .rf-label,
html[data-theme="dark"] .rf-plumber-section-title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .rf-sub,
html[data-theme="dark"] .rf-hint,
html[data-theme="dark"] .rf-photos-count {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .rf-field input,
html[data-theme="dark"] .rf-field textarea,
html[data-theme="dark"] .rf-row input,
html[data-theme="dark"] .rf-plumber-row select,
html[data-theme="dark"] .rf-plumber-row input[type="text"],
html[data-theme="dark"] .rf-user-option {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .rf-field input::placeholder,
html[data-theme="dark"] .rf-row input::placeholder,
html[data-theme="dark"] .rf-field textarea::placeholder {
    color: #64748b;
}

html[data-theme="dark"] .rf-user-name {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .rf-accordion-header {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .btn-secondary {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .btn-secondary:hover {
    background: #3b4a61;
}

html[data-theme="dark"] .rf-photos-btn {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .rf-plumber-remove {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

/* ===== Éléments communs ===== */
html[data-theme="dark"] label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ua-input {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pf-header .btn-preform-back {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
}

/* ===== Rapports — sélecteur de type (preform) ===== */
html[data-theme="dark"] .pf-wrapper,
html[data-theme="dark"] .pf-wrapper main {
    background: transparent;
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pf-title {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .pf-sub {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pf-card,
html[data-theme="dark"] .pf-card-button {
    background: var(--pjtf-surface) !important;
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .pf-card h3,
html[data-theme="dark"] .pf-card-button h3 {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .pf-card p,
html[data-theme="dark"] .pf-card-button p {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pf-card:hover,
html[data-theme="dark"] .pf-card-button:hover {
    border-color: var(--pjtf-brand);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .pf-modal-content {
    background: var(--pjtf-surface) !important;
    border: 1px solid var(--pjtf-border);
    color: var(--pjtf-text);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .pf-modal-content h2 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pf-modal-close {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pf-subcard {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pf-subcard:hover {
    background: #3b4a61;
    border-color: var(--pjtf-brand);
}

/* ===== EXTRA / formulaires — signature & footer ===== */
html[data-theme="dark"] .rf-footer {
    background: rgba(15, 23, 42, 0.92);
    border-color: var(--pjtf-border);
    backdrop-filter: blur(8px);
}

html[data-theme="dark"] .extra-signature-wrap canvas,
html[data-theme="dark"] #extra-signature-canvas {
    background: var(--pjtf-surface-muted) !important;
    border-color: var(--pjtf-border) !important;
}

html[data-theme="dark"] .btn-primary {
    background: #2563eb;
    color: #fff;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.25);
}

html[data-theme="dark"] .btn-primary:hover {
    background: #1d4ed8;
}

/* ===== Mon équipe — modales & punch en cours ===== */
html[data-theme="dark"] .mt-modal,
html[data-theme="dark"] #editModal .mt-modal,
html[data-theme="dark"] #createModal .mt-modal {
    background: var(--pjtf-surface) !important;
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .mt-modal h3,
html[data-theme="dark"] #editModal .mt-modal h3,
html[data-theme="dark"] #createModal .mt-modal h3 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] #editModal .mt-field label,
html[data-theme="dark"] #createModal .mt-modal-form label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] #editModal .mt-field input:not([type="checkbox"]),
html[data-theme="dark"] #editModal .mt-field select,
html[data-theme="dark"] #createModal .mt-modal-form input:not([type="checkbox"]),
html[data-theme="dark"] #createModal .mt-modal-form select {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] #editModal .mt-field small,
html[data-theme="dark"] #createModal .mt-modal-form small {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] #editModal .mt-duration-chip {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-border);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] #editModal .mt-duration-chip:hover {
    background: rgba(96, 165, 250, 0.22);
}

html[data-theme="dark"] #editModal .mt-duration-chip.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

html[data-theme="dark"] #editModal .mt-duration-preview {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] #editModal .mt-modal-actions,
html[data-theme="dark"] #createModal .mt-modal-actions {
    border-top-color: var(--pjtf-border);
    background: var(--pjtf-surface);
}

html[data-theme="dark"] .mt-week-btn {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .chevron {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-date,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-address,
html[data-theme="dark"] .pjtf-page.pjtf-mt-team .mt-addressFull {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .mt-open-badge {
    background: rgba(239, 68, 68, 0.18);
    border-color: rgba(239, 68, 68, 0.4);
    color: #fca5a5;
}

html[data-theme="dark"] .pjtf-page.pjtf-mt-team .chip--warn {
    background: rgba(245, 158, 11, 0.18);
    border-color: rgba(245, 158, 11, 0.4);
    color: #fcd34d;
}

/* ===== Connexion (page publique) ===== */
html[data-theme="dark"] .login-fullscreen {
    background: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .login-box {
    background: var(--pjtf-surface);
    border: 1px solid var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .login-box h1 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .login-box label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .login-box .login-remember label {
    color: var(--pjtf-text-muted);
    font-weight: 500;
}

html[data-theme="dark"] .login-box .login-remember input[type="checkbox"] {
    accent-color: var(--pjtf-brand);
}

html[data-theme="dark"] .login-box .form-input {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .login-box .form-input::placeholder {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .login-box .error {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.4);
    color: #fca5a5;
}

html[data-theme="dark"] .login-box button {
    background: #2563eb;
    color: #fff;
}

html[data-theme="dark"] .login-box button:hover {
    background: #1d4ed8;
}

/* ===== Modal carte (IN/OUT) ===== */
html[data-theme="dark"] .map-modal-card {
    background: var(--pjtf-surface);
    border: 1px solid var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .map-modal-head {
    border-bottom-color: var(--pjtf-border);
    background: var(--pjtf-surface);
}

html[data-theme="dark"] .map-modal-title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .map-modal-close {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .map-modal-close:hover {
    color: var(--pjtf-text);
}

/* ===== Équipes & utilisateurs (Gérer l'équipe) ===== */
html[data-theme="dark"] .ed-page {
    background: transparent;
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-subtitle {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-col,
html[data-theme="dark"] .ed-accordion {
    background: var(--pjtf-surface) !important;
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ed-accordion[open] > .ed-accordion__summary {
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .ed-accordion__summary:hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .ed-col__title h2 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-count {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-accordion__chevron {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-badge--commercial,
html[data-theme="dark"] .ed-badge--manager {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .ed-badge--residential {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

html[data-theme="dark"] .ed-badge--neutral,
html[data-theme="dark"] .ed-badge--employee {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-user__inner {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-user__meta b {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-user__meta small,
html[data-theme="dark"] .ed-label,
html[data-theme="dark"] .ed-move-label {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-user__project span:not(.ed-label),
html[data-theme="dark"] .ed-user__address span:not(.ed-label) {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-empty {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-drag-handle {
    background: rgba(255, 255, 255, 0.06);
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ed-drag-handle:active {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ed-team-select {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ed-accordion.ed-accordion--drag-hover > .ed-accordion__summary {
    background: var(--pjtf-brand-soft);
}

html[data-theme="dark"] .is-chosen .ed-user__inner {
    box-shadow: 0 0 0 2px rgba(96, 165, 250, 0.55);
}

html[data-theme="dark"] .ed-alert--success {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.35);
    color: #86efac;
}

html[data-theme="dark"] .ed-alert--danger {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

@media (max-width: 1024px) {
    html[data-theme="dark"] .ed-punch-status {
        background: var(--pjtf-surface);
        border-color: var(--pjtf-border);
    }

    html[data-theme="dark"] .ed-punch-status--in {
        background: rgba(34, 197, 94, 0.12);
        border-color: rgba(34, 197, 94, 0.35);
    }

    html[data-theme="dark"] .ed-punch-status--out {
        background: rgba(239, 68, 68, 0.12);
        border-color: rgba(239, 68, 68, 0.35);
    }

    html[data-theme="dark"] .ed-punch-status--in .ed-punch-status__label {
        color: #86efac;
    }

    html[data-theme="dark"] .ed-punch-status--out .ed-punch-status__label {
        color: #fca5a5;
    }
}

/* ===== Admin — général ===== */
html[data-theme="dark"] .admin-landing {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .admin-landing .al-title {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .admin-landing .al-sub {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .admin-landing .al-card {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .admin-landing .al-card h2 {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .admin-landing .al-card p {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .admin-landing .al-card:hover {
    border-color: var(--pjtf-brand);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .btn-secondary {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
}

html[data-theme="dark"] .btn-secondary:hover {
    background: #3b4a61;
}

html[data-theme="dark"] .btn-light {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
}

html[data-theme="dark"] .btn-light:hover {
    background: #3b4a61;
}

/* ===== Admin — Équipes (drag & drop) ===== */
html[data-theme="dark"] .al-col {
    background: var(--e-panel) !important;
    border-color: var(--e-border) !important;
    box-shadow: var(--e-shadow);
}

html[data-theme="dark"] .al-col-acc {
    border: none;
    box-shadow: none;
}

html[data-theme="dark"] .al-col-acc .al-col__header,
html[data-theme="dark"] .al-col-acc .al-col-acc__summary {
    border-bottom: none;
}

html[data-theme="dark"] .al-col__header {
    border-bottom-color: var(--e-border);
}

html[data-theme="dark"] .al-col-acc__chevron {
    border-color: var(--e-muted);
}

html[data-theme="dark"] .al-col__header h2,
html[data-theme="dark"] .al-toolbar .pjtf-title {
    color: var(--e-text);
}

html[data-theme="dark"] .pjtf-container.equipe-admin {
    background: transparent;
    box-shadow: none;
}

html[data-theme="dark"] .al-col__header .al-count,
html[data-theme="dark"] .al-col__header .al-actions .al-count {
    color: var(--e-text);
    background: var(--pjtf-surface-muted);
}

html[data-theme="dark"] .user-card__inner {
    background: var(--pjtf-surface-muted) !important;
    border-color: var(--e-border) !important;
}

html[data-theme="dark"] .al-punch-dot {
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.35);
}

html[data-theme="dark"] .user-card .user-meta b {
    color: var(--e-text);
}

html[data-theme="dark"] .user-card .user-meta small,
html[data-theme="dark"] .user-empty {
    color: var(--e-muted);
}

html[data-theme="dark"] .user-card .user-handle {
    color: var(--e-muted);
}

html[data-theme="dark"] .user-card .user-move-select {
    background: var(--pjtf-surface);
    border-color: var(--e-border);
    color: var(--e-text);
}

html[data-theme="dark"] .al-dropdown__trigger {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--e-border);
    color: var(--e-text);
}

html[data-theme="dark"] .al-dropdown__trigger::after {
    border-color: var(--e-muted);
}

html[data-theme="dark"] .al-dropdown__trigger:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .al-dropdown__menu {
    background: var(--pjtf-surface);
    border-color: var(--e-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .al-dropdown__option {
    color: var(--e-text);
}

html[data-theme="dark"] .al-dropdown__option:hover,
html[data-theme="dark"] .al-dropdown__option.is-selected {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .al-modal__dialog {
    background: var(--e-panel);
    color: var(--e-text);
    border: 1px solid var(--e-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .al-modal__dialog h3 {
    color: var(--e-text);
}

html[data-theme="dark"] .al-modal .al-field label {
    color: var(--e-muted);
}

html[data-theme="dark"] .al-alert--success {
    background: rgba(34, 197, 94, 0.15);
    border-color: rgba(34, 197, 94, 0.35);
    color: #86efac;
}

html[data-theme="dark"] .al-alert--error,
html[data-theme="dark"] .al-alert--danger {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

html[data-theme="dark"] .al-alert--info {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-border);
    color: var(--pjtf-brand);
}

/* ===== Admin — Punch ===== */
html[data-theme="dark"] .admin-flex {
    background: var(--pjtf-bg);
    box-shadow: none;
}

html[data-theme="dark"] .admin-flex .admin-main,
html[data-theme="dark"] .admin-main {
    background: var(--pjtf-bg);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-title-main {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .admin-aside .ap-title {
    color: #fff;
}

html[data-theme="dark"] .ap-sub,
html[data-theme="dark"] .ap-col-muted,
html[data-theme="dark"] .ap-empty,
html[data-theme="dark"] .ap-date .ap-range,
html[data-theme="dark"] .ap-sub,
html[data-theme="dark"] .ap-geo .ap-coords,
html[data-theme="dark"] .ap-week .ap-more {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-week .ap-card {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ap-week .ap-day {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-week .ap-hours,
html[data-theme="dark"] .ap-card .ap-hours {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-card.total {
    border-color: rgba(96, 165, 250, 0.45);
}

html[data-theme="dark"] .ap-card.total .ap-hours,
html[data-theme="dark"] .ap-week .ap-hours {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-week .ap-list {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-row.ap-head {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-row {
    border-bottom-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .admin-main .ap-title,
html[data-theme="dark"] .ap-row .ap-title,
html[data-theme="dark"] .ap-job .ap-title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-chip {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-mapbtn {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-border);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-current {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
}

html[data-theme="dark"] .ap-current h3 {
    color: #fcd34d;
}

html[data-theme="dark"] .ap-current p {
    color: #fde68a;
}

html[data-theme="dark"] .ap-modal-card {
    background: var(--pjtf-surface) !important;
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ap-modal-card h3 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-field label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-form-hint {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-modal-close {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-emp-picker__label {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-emp-dropdown__trigger {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-emp-dropdown__trigger::after {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ap-emp-dropdown__trigger:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .ap-emp-dropdown__menu {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ap-emp-dropdown__option {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-emp-dropdown__option:hover,
html[data-theme="dark"] .ap-emp-dropdown__option.is-selected {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-emp-dropdown__dot.emp-dot,
html[data-theme="dark"] .ap-emp-dropdown__option .emp-dot {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
}

html[data-theme="dark"] .ap-emp-heading {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-date strong {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-week-select,
html[data-theme="dark"] #weekly-hours-container select {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%2394a3b8'%3E%3Cpath d='M5.5 8.5L10 13l4.5-4.5' stroke='%2394a3b8' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 1em;
}

html[data-theme="dark"] .ap-week-select option,
html[data-theme="dark"] #weekly-hours-container select option {
    background: var(--pjtf-surface);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-week-pdf-link {
    background: var(--pjtf-brand-soft);
    border-color: var(--pjtf-border);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ap-week-pdf-link:hover {
    background: rgba(96, 165, 250, 0.22);
}

html[data-theme="dark"] .ap-error-msg {
    color: var(--pjtf-danger);
}

html[data-theme="dark"] .ap-field input,
html[data-theme="dark"] .ap-field select,
html[data-theme="dark"] .ap-field-select {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ap-field input:focus,
html[data-theme="dark"] .ap-field select:focus,
html[data-theme="dark"] .ap-field-select:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .ap-pdf-viewer {
    border-color: var(--pjtf-border);
    background: var(--pjtf-surface-muted);
}

html[data-theme="dark"] .ap-pdf-modal-card {
    background: var(--pjtf-surface);
    color: var(--pjtf-text);
    border: 1px solid var(--pjtf-border);
}

html[data-theme="dark"] .ap-force-out {
    background: #dc2626;
    color: #fff;
}

html[data-theme="dark"] .ap-force-out:hover {
    background: #b91c1c;
}

html[data-theme="dark"] .ap-edit {
    background: #2563eb;
    color: #fff;
}

html[data-theme="dark"] .ap-edit:hover {
    background: #1d4ed8;
}

html[data-theme="dark"] .ap-delete {
    background: #dc2626;
    color: #fff;
}

html[data-theme="dark"] .ap-delete:hover {
    background: #b91c1c;
}

html[data-theme="dark"] .admin-aside .employee-link {
    color: #fff;
}

html[data-theme="dark"] .admin-aside .employee-link:hover {
    background: rgba(255, 255, 255, 0.14);
}

html[data-theme="dark"] .admin-aside .employee-link.active,
html[data-theme="dark"] .admin-aside .employee-link[aria-current="true"] {
    background: rgba(255, 255, 255, 0.22);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

@media (max-width: 1023px) {
    html[data-theme="dark"] .ap-row {
        background: var(--pjtf-surface);
        border-color: var(--pjtf-border);
        box-shadow: var(--pjtf-shadow);
    }

    html[data-theme="dark"] .ap-range {
        color: var(--pjtf-text-muted);
    }
}

@media (max-width: 767px) {
    html[data-theme="dark"] .hi-row {
        background: var(--pjtf-surface);
        border-color: var(--pjtf-border);
        box-shadow: var(--pjtf-shadow);
    }

    html[data-theme="dark"] .hi-table .hi-row:not(.hi-head):hover {
        background: var(--pjtf-surface);
    }
}

/* ===== Admin — Historique ===== */
html[data-theme="dark"] .hist-index {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-header h1 {
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .hi-header .hi-sub,
html[data-theme="dark"] .hi-empty,
html[data-theme="dark"] .hi-pagination-info {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .hi-filters input[type="text"],
html[data-theme="dark"] .hi-filters input[type="date"] {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-filters input:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .hi-dropdown__trigger {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-dropdown__trigger::after {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .hi-dropdown__trigger:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .hi-dropdown__menu {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .hi-dropdown__option {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-dropdown__option:hover,
html[data-theme="dark"] .hi-dropdown__option.is-selected {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .hi-table {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .hi-row {
    border-bottom-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-row.hi-head {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-title {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hi-subtitle {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .hi-table .hi-row:not(.hi-head):hover {
    background: rgba(255, 255, 255, 0.04);
}

html[data-theme="dark"] .hi-badge--rep {
    background: rgba(99, 102, 241, 0.2);
    color: #a5b4fc;
}

html[data-theme="dark"] .hi-badge--res {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

html[data-theme="dark"] .hi-badge--com {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .hi-badge--extra {
    background: rgba(245, 158, 11, 0.18);
    color: #fcd34d;
}

html[data-theme="dark"] .hist-index .hi-pagination .ua-simple-pagination a,
html[data-theme="dark"] .hist-index .hi-pagination .ua-simple-pagination span {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .hist-index .hi-pagination .ua-simple-pagination a:hover {
    background: #3b4a61;
    border-color: var(--pjtf-border);
}

html[data-theme="dark"] .hist-index .hi-pagination .ua-simple-pagination .disabled {
    color: var(--pjtf-text-muted);
    border-color: var(--pjtf-border);
}

/* ===== Admin — Utilisateurs ===== */
html[data-theme="dark"] .ua-page {
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-title {
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-card {
    background: var(--ua-card);
    border-color: var(--ua-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ua-create-acc__summary {
    color: var(--ua-text);
    border-bottom: none;
}

html[data-theme="dark"] .ua-create-acc__summary::after {
    border-color: var(--ua-muted);
}

html[data-theme="dark"] .ua-label {
    color: var(--ua-text);
    background: transparent;
}

html[data-theme="dark"] .ua-btn.ghost {
    background: var(--pjtf-surface-muted);
    border-color: var(--ua-border);
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-btn.ghost:hover {
    background: #3b4a61;
}

html[data-theme="dark"] .ua-btn.danger {
    background: rgba(239, 68, 68, 0.12);
    border-color: rgba(239, 68, 68, 0.35);
    color: #fca5a5;
}

html[data-theme="dark"] .ua-btn.danger:hover {
    background: rgba(239, 68, 68, 0.2);
}

html[data-theme="dark"] .ua-table thead tr {
    background: var(--pjtf-surface-muted);
}

html[data-theme="dark"] .ua-table th,
html[data-theme="dark"] .ua-table td {
    border-bottom-color: var(--ua-border);
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

@media (max-width: 760px) {
    html[data-theme="dark"] .ua-card.ua-table {
        background: transparent;
        border: none;
        box-shadow: none;
        padding: 0;
    }

    html[data-theme="dark"] .ua-table .ua-row {
        background: var(--pjtf-surface) !important;
        border-color: var(--pjtf-border);
        box-shadow: var(--pjtf-shadow);
        color: var(--pjtf-text);
    }

    html[data-theme="dark"] .ua-table .ua-row:hover {
        background: var(--pjtf-surface-muted) !important;
    }

    html[data-theme="dark"] .ua-table td {
        color: var(--pjtf-text);
    }

    html[data-theme="dark"] .ua-table td::before {
        color: var(--pjtf-text-muted);
    }
}

html[data-theme="dark"] .ua-modal-content h3 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ua-field__hint {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ua-dropdown__trigger {
    background-color: var(--pjtf-surface-muted);
    border-color: var(--ua-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ua-dropdown__trigger::after {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ua-dropdown__trigger:focus {
    border-color: var(--pjtf-brand);
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.25);
}

html[data-theme="dark"] .ua-dropdown__menu {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .ua-dropdown__option {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .ua-dropdown__option:hover,
html[data-theme="dark"] .ua-dropdown__option.is-selected {
    background: var(--pjtf-brand-soft);
    color: var(--pjtf-brand);
}

html[data-theme="dark"] .ua-empty-cell {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ua-badge--neutral {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

html[data-theme="dark"] .ua-badge--info {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .ua-badge--yes {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

html[data-theme="dark"] .ua-badge--no {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ua-badge--role-admin {
    background: rgba(34, 197, 94, 0.18);
    color: #86efac;
}

html[data-theme="dark"] .ua-badge--role-manager {
    background: rgba(59, 130, 246, 0.2);
    color: #93c5fd;
}

html[data-theme="dark"] .ua-badge--role-employee {
    background: var(--pjtf-surface-muted);
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .ua-badge--scope-both {
    color: var(--ua-text) !important;
}

html[data-theme="dark"] .ua-details-panel {
    background: var(--pjtf-surface);
    border-color: var(--ua-border);
    box-shadow: var(--pjtf-shadow);
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-pagination nav a {
    background: var(--pjtf-surface-muted);
    border-color: var(--ua-border);
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-pagination nav a:hover {
    background: #3b4a61;
}

html[data-theme="dark"] .ua-simple-pagination a,
html[data-theme="dark"] .ua-simple-pagination span {
    background: var(--pjtf-surface-muted);
    border-color: var(--ua-border);
    color: var(--ua-text);
}

html[data-theme="dark"] .ua-simple-pagination .disabled {
    color: var(--pjtf-text-muted);
    border-color: var(--pjtf-border);
}

/* ===== Admin — Projets & adresses ===== */
html[data-theme="dark"] .pro-page-header__intro h1 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-subtitle,
html[data-theme="dark"] .pro-muted,
html[data-theme="dark"] .pro-label {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pro-card {
    background: var(--pjtf-surface);
    border-color: var(--pjtf-border);
    box-shadow: var(--pjtf-shadow);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-card-head h2,
html[data-theme="dark"] .pro-project-title h2 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-create-acc__summary {
    color: var(--pjtf-text);
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pro-create-acc__summary::after {
    border-color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pro-input,
html[data-theme="dark"] .pro-select {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-pill {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-project-head {
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pro-address-item {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
}

html[data-theme="dark"] .pro-address {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-address-meta {
    color: var(--pjtf-text-muted);
}

html[data-theme="dark"] .pro-divider {
    background: var(--pjtf-border);
}

html[data-theme="dark"] .pro-acc__chev {
    background: var(--pjtf-surface-muted);
    border-color: var(--pjtf-border);
}

html[data-theme="dark"] .pro-acc__chev::before {
    border-color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-modal-card {
    background: var(--pjtf-surface) !important;
    border-color: var(--pjtf-border);
    color: var(--pjtf-text);
    box-shadow: var(--pjtf-shadow);
}

html[data-theme="dark"] .pro-modal-head {
    border-bottom-color: var(--pjtf-border);
}

html[data-theme="dark"] .pro-modal-head h3 {
    color: var(--pjtf-text);
}

html[data-theme="dark"] .pro-x {
    color: var(--pjtf-text-muted);
}

.compte-theme {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.compte-theme__option {
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    color: #0f172a;
    font-size: 0.875rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.compte-theme__option.is-active {
    background: rgba(26, 115, 232, 0.1);
    border-color: #1a73e8;
    color: #1a73e8;
}

.compte-section__desc {
    margin: 0 0 12px;
    font-size: 0.85rem;
    color: #64748b;
}

@media (max-width: 480px) {
    .compte-theme {
        grid-template-columns: 1fr;
    }
}
