/* ── Gym Theme System ─────────────────────────────────────────────────────── */

/* ─── Dark theme (default) ──────────────────────────────────────────────── */
:root {
    /* Accent — JS ThemeModule overwrites these at runtime */
    --accent:      #ff6b00;
    --accent-h:    #e05a00;
    --accent-text: #ffffff;
    --accent-10:   rgba(255,107,0,.10);
    --accent-12:   rgba(255,107,0,.12);
    --accent-15:   rgba(255,107,0,.15);
    --accent-20:   rgba(255,107,0,.20);
    --accent-22:   rgba(255,107,0,.22);
    --accent-30:   rgba(255,107,0,.30);
    --accent-40:   rgba(255,107,0,.40);

    /* Panel backgrounds */
    --p-bg:    #0f0f0f;
    --p-sb:    #111111;
    --p-card:  #141414;
    --p-modal: #161616;
    --p-inp:   #1a1a1a;
    --p-inp2:  #1e1e1e;
    --p-bord:  #1e1e1e;
    --p-bord2: #2a2a2a;
    --p-bord3: #222222;

    /* Panel text */
    --p-txt:   #e2e8f0;
    --p-txt2:  #cccccc;
    --p-txt3:  #aaaaaa;
    --p-muted: #888888;
    --p-dim:   #666666;
    --p-dim2:  #555555;
    --p-dim3:  #444444;

    /* Landing page */
    --bg:         #0d0d0d;
    --bg2:        #111111;
    --bg3:        #1a1a1a;
    --text:       #e2e8f0;
    --text-muted: #94a3b8;
    --border:     #222222;
    --radius:     12px;
    --navbar-bg:  rgba(13,13,13,.92);
}

/* ─── Light theme overrides ──────────────────────────────────────────────── */
[data-theme="light"] {
    --p-bg:    #f0f2f5;
    --p-sb:    #ffffff;
    --p-card:  #ffffff;
    --p-modal: #ffffff;
    --p-inp:   #f5f5f5;
    --p-inp2:  #eeeeee;
    --p-bord:  #e5e7eb;
    --p-bord2: #d1d5db;
    --p-bord3: #e0e0e0;
    --p-txt:   #111827;
    --p-txt2:  #374151;
    --p-txt3:  #4b5563;
    --p-muted: #6b7280;
    --p-dim:   #9ca3af;
    --p-dim2:  #d1d5db;
    --p-dim3:  #9ca3af;
    --bg:         #f8f9fa;
    --bg2:        #ffffff;
    --bg3:        #f0f2f5;
    --bg4:        #e8eaed;
    --text:       #111827;
    --text-muted: #6b7280;
    --muted:      #6b7280;
    --muted2:     #9ca3af;
    --border:     #e5e7eb;
    --navbar-bg:  rgba(255,255,255,.95);
}

/* member_portal.css — ring track hardcoded stroke */
[data-theme="light"] .ring-bg { stroke: var(--border); }

/* Portal topbar toggle — compact variant */
#portalThemeToggle { padding: .1rem; gap: .05rem; }
#portalThemeToggle button { width: 24px; height: 24px; font-size: .7rem; }

/* ─── Member portal: login card ──────────────────────────────────────────── */
.login-card {
    background: var(--bg2);
    border: 1px solid var(--border);
    border-radius: 24px;
    padding: 2rem 1.75rem;
}
.login-wrap {
    background: radial-gradient(ellipse at 50% 25%, var(--accent-10) 0%, transparent 65%),
                var(--bg);
}
@media(min-width:900px) {
    /* member_portal.css sets body:#060606 here — restore for light mode */
    [data-theme="light"] body { background: var(--bg) !important; }
    [data-theme="light"] .portal-root {
        box-shadow: 0 0 40px rgba(0,0,0,.10), 0 0 0 1px rgba(0,0,0,.06) !important;
    }
}

[data-theme="light"] .login-card {
    background: #ffffff;
    border-color: #e5e7eb;
    box-shadow: 0 12px 48px rgba(0,0,0,.09);
}
[data-theme="light"] .login-wrap {
    background: radial-gradient(ellipse at 50% 25%, var(--accent-10) 0%, transparent 65%),
                var(--bg);
}
[data-theme="light"] .mp-input {
    background: var(--bg3);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .mp-input:focus { border-color: var(--accent); }
[data-theme="light"] .mp-label { color: var(--muted); }
[data-theme="light"] .mp-btn-outline { border-color: var(--border); color: var(--muted); }

/* ─── Shared: theme mode toggle widget ──────────────────────────────────── */
/* Used on landing page (index.php) and panel topbar. Panel overrides with --p-* vars. */
.theme-mode-toggle {
    display: flex;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: 8px;
    padding: .15rem;
    gap: .1rem;
}
.theme-mode-toggle button {
    width: 28px; height: 28px;
    border: none; background: transparent;
    color: rgba(255,255,255,.65);
    border-radius: 6px; cursor: pointer;
    transition: background .12s, color .12s;
    font-size: .8rem;
    display: flex; align-items: center; justify-content: center;
    font-family: inherit;
}
.theme-mode-toggle button:hover { background: rgba(255,255,255,.12); color: #fff; }
.theme-mode-toggle button.active { background: rgba(255,255,255,.18); color: #fff; }

[data-theme="light"] .landing-theme-toggle {
    background: rgba(0,0,0,.07);
    border-color: rgba(0,0,0,.12);
}
[data-theme="light"] .landing-theme-toggle button { color: rgba(0,0,0,.45); }
[data-theme="light"] .landing-theme-toggle button:hover { background: rgba(0,0,0,.09); color: rgba(0,0,0,.75); }
[data-theme="light"] .landing-theme-toggle button.active { background: rgba(0,0,0,.12); color: var(--accent); }

/* ─── Panel: light theme component overrides ─────────────────────────────── */
/* [data-theme] attr adds 0,1,0,0 specificity → beats plain .class rules */

[data-theme="light"] body { background: var(--p-bg); color: var(--p-txt); }

/* Sidebar */
[data-theme="light"] .sidebar { background: var(--p-sb); border-right-color: var(--p-bord); }
[data-theme="light"] .sidebar-brand { border-bottom-color: var(--p-bord); }
[data-theme="light"] .sidebar-brand .gym-sub { color: var(--p-dim); }
[data-theme="light"] .sidebar-nav .nav-link { color: var(--p-muted); }
[data-theme="light"] .sidebar-nav .nav-link:hover { background: var(--p-inp); color: var(--p-txt2); }
[data-theme="light"] .sidebar-nav .nav-link.active { background: var(--accent-10); }
[data-theme="light"] .sidebar-nav .nav-divider { border-top-color: var(--p-bord); }
[data-theme="light"] .sidebar-nav .nav-section { color: var(--p-dim); }
[data-theme="light"] .sidebar-nav .nav-link .nav-badge { border-color: var(--p-sb); }
[data-theme="light"] .sidebar-footer { border-top-color: var(--p-bord); }
[data-theme="light"] .sidebar-user .user-info .name { color: var(--p-txt2); }
[data-theme="light"] .sidebar-user .user-info .role { color: var(--p-dim); }
[data-theme="light"] .sidebar-user .logout-btn { color: var(--p-dim); }
[data-theme="light"] .sidebar.collapsed .nav-link[data-tooltip]:hover::before {
    background: var(--p-card); color: var(--p-txt); border-color: var(--p-bord);
}

/* Topbar */
[data-theme="light"] .topbar { background: var(--p-sb); border-bottom-color: var(--p-bord); }
[data-theme="light"] .topbar .toggle-sidebar { color: var(--p-muted); }
[data-theme="light"] .topbar .toggle-sidebar:hover { background: var(--p-inp); color: var(--p-txt2); }
[data-theme="light"] .topbar .page-title { color: var(--p-txt2); }
[data-theme="light"] .topbar .home-link { color: var(--p-dim); }

/* Stat cards */
[data-theme="light"] .stat-card { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .stat-card .stat-label { color: var(--p-dim); }
[data-theme="light"] .stat-card .stat-sub   { color: var(--p-dim2); }
[data-theme="light"] .stat-card .stat-value { color: var(--p-txt); }

/* Tables */
[data-theme="light"] .table-wrapper { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .table-toolbar { border-bottom-color: var(--p-bord); }
[data-theme="light"] .table-toolbar .search-wrap i { color: var(--p-muted); }
[data-theme="light"] .table-toolbar .search-wrap input {
    background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt2);
}
[data-theme="light"] .table-toolbar .search-wrap input::placeholder { color: var(--p-muted); }
[data-theme="light"] .table-toolbar .filter-select {
    background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt2);
}
[data-theme="light"] thead th {
    background: var(--p-card); color: var(--p-muted); border-bottom-color: var(--p-bord);
}
[data-theme="light"] tbody tr { border-bottom-color: var(--p-bord); }
[data-theme="light"] tbody tr:hover { background: var(--p-inp); }
[data-theme="light"] tbody td { color: var(--p-txt2); }
[data-theme="light"] .table-pagination { border-top-color: var(--p-bord); color: var(--p-dim); }
[data-theme="light"] .table-empty { color: var(--p-muted); }
@media(max-width:640px) {
    [data-theme="light"] .rt tbody tr { background: var(--p-card); border-color: var(--p-bord); }
    [data-theme="light"] .rt tbody tr:hover { background: var(--p-card); }
    [data-theme="light"] .rt tbody td { border-bottom-color: var(--p-bord); }
    [data-theme="light"] .rt tbody td[data-label]::before { color: var(--p-dim); }
}

/* Modals */
[data-theme="light"] .modal-content { background: var(--p-modal); border-color: var(--accent-20); }
[data-theme="light"] .modal-header {
    background: linear-gradient(135deg, var(--accent-22), var(--accent-10));
    border-bottom-color: var(--accent-20);
}
[data-theme="light"] .modal-header .modal-title { color: var(--p-txt); }
[data-theme="light"] .modal-footer { border-top-color: var(--p-bord); }
[data-theme="light"] .form-label { color: var(--p-txt3); }
[data-theme="light"] .form-control,
[data-theme="light"] .form-select { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt2); }
[data-theme="light"] .form-control:focus,
[data-theme="light"] .form-select:focus { background: var(--p-card); color: var(--p-txt); }
[data-theme="light"] .form-control::placeholder { color: var(--p-muted); }

/* Global action bar */
[data-theme="light"] .global-action-bar { background: rgba(255,255,255,.97); border-top-color: var(--p-bord); }
[data-theme="light"] .ab-btn.secondary { background: var(--p-inp); color: var(--p-txt2); border-color: var(--p-bord2); }
[data-theme="light"] .ab-btn.secondary:hover { background: var(--p-inp2); color: var(--p-txt); }

/* Sub-tab nav */
[data-theme="light"] .sub-tab-nav { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .sub-tab { color: var(--p-muted); }
[data-theme="light"] .sub-tab.active { background: var(--p-card); color: var(--p-txt); }
[data-theme="light"] .sub-tab:hover:not(.active) { color: var(--p-txt2); }
[data-theme="light"] .sub-tab-divider { background: var(--p-bord); }
[data-theme="light"] .settings-tab-nav { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .settings-tab-btn { color: var(--p-muted); }
[data-theme="light"] .settings-tab-btn.active { background: var(--p-card); color: var(--p-txt); }

/* Socios view buttons */
[data-theme="light"] .socios-view-btn { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .socios-view-btn:hover { border-color: var(--p-muted); color: var(--p-txt2); }

/* Landing section cards */
[data-theme="light"] .landing-section-card { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .editor-plan-row { background: var(--p-inp); border-color: var(--p-bord); }

/* Inline action buttons */
[data-theme="light"] .ia-edit { color: var(--p-muted); }
[data-theme="light"] .ia-edit:hover { color: var(--p-txt); background: var(--p-inp2); }
[data-theme="light"] .btn-tbl:hover { background: var(--p-inp); }

/* User cards */
[data-theme="light"] .user-card { border-bottom-color: var(--p-bord); }
[data-theme="light"] .user-card:hover { background: var(--p-inp); }
[data-theme="light"] .user-card-name { color: var(--p-txt2); }
[data-theme="light"] .user-card-meta { color: var(--p-dim); }
[data-theme="light"] .dir-card-btn { border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .dir-card-btn:hover { border-color: var(--p-muted); color: var(--p-txt2); }

/* Sistema layout */
[data-theme="light"] .sis-nav { background: var(--p-card); border-right-color: var(--p-bord); }
[data-theme="light"] .sis-nav-item { color: var(--p-muted); }
[data-theme="light"] .sis-nav-item:hover { background: var(--p-inp); color: var(--p-txt2); }
[data-theme="light"] .sis-nav-divider { background: var(--p-bord); }

/* Audit — early overrides (detail panel classes) */
[data-theme="light"] #auditDetailPanel    { background: var(--p-card); border-left-color: var(--p-bord); }
[data-theme="light"] .audit-detail-code   { background: var(--p-inp); color: #2563eb; }
[data-theme="light"] .audit-detail-pre    { background: var(--p-inp); color: var(--p-txt2); }
[data-theme="light"] .audit-detail-row    { border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-detail-key    { color: var(--p-dim); }
[data-theme="light"] .audit-detail-hero   { background: var(--p-inp); }

/* Security */
[data-theme="light"] .sec-subnav-btn         { color: var(--p-muted); }
[data-theme="light"] .sec-subnav-btn.active   { color: #2563eb; border-bottom-color: #2563eb; }
[data-theme="light"] .sec-subnav-btn:hover:not(.active) { color: var(--p-txt2); }
[data-theme="light"] .sec-section             { border-bottom-color: var(--p-bord); }
[data-theme="light"] .sec-section-title       { color: #2563eb; }
[data-theme="light"] .sec-config-group        { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .sec-config-group-title  { color: var(--p-txt2); }
[data-theme="light"] .sec-config-row          { border-bottom-color: var(--p-bord); }
[data-theme="light"] .sec-config-label        { color: var(--p-txt2); }
[data-theme="light"] .sec-config-desc         { color: var(--p-muted); }
[data-theme="light"] .sec-config-input        { background: var(--p-card); border-color: var(--p-bord2); color: var(--p-txt); }
[data-theme="light"] .sec-config-input:focus  { border-color: #2563eb; }
[data-theme="light"] .sec-blocked-item        { border-bottom-color: var(--p-bord); }
[data-theme="light"] .sec-top-ip              { border-bottom-color: var(--p-bord); }
[data-theme="light"] .sec-ip-addr             { background: var(--p-inp2); border-color: var(--p-bord2); color: #2563eb; }
[data-theme="light"] .sec-bar-track           { background: var(--p-bord); }

/* Delegate cards */
[data-theme="light"] .delegate-card { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .delegate-avatar { background: var(--p-inp); color: var(--p-muted); }
[data-theme="light"] .delegate-name { color: var(--p-txt2); }
[data-theme="light"] .delegate-status { background: var(--p-inp); color: var(--p-dim); border-color: var(--p-bord); }
[data-theme="light"] .delegate-perm-row { border-bottom-color: var(--p-bord); }
[data-theme="light"] .delegate-perm-label { color: var(--p-txt2); }
[data-theme="light"] .delegate-perm-desc { color: var(--p-dim); }
[data-theme="light"] .delegate-preset-btn { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .delegate-preset-btn:hover { border-color: var(--p-muted); color: var(--p-txt2); }

/* Mailmaker */
[data-theme="light"] .mailmaker-grid { border-color: var(--p-bord); }
[data-theme="light"] .mailmaker-left { background: var(--p-card); border-right-color: var(--p-bord); }
[data-theme="light"] .mailmaker-section-title { background: var(--p-inp); border-bottom-color: var(--p-bord); color: var(--p-dim); }
[data-theme="light"] .mm-list-row { border-bottom-color: var(--p-bord); color: var(--p-txt2); }
[data-theme="light"] .mm-list-row:hover { background: var(--p-inp); }
[data-theme="light"] .mm-label { color: var(--p-dim); }
[data-theme="light"] .mm-input { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt); }
[data-theme="light"] .mm-vars { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .mm-vars-label { color: var(--p-muted); }
[data-theme="light"] .mm-var-chip { background: var(--p-inp2); }
[data-theme="light"] .mm-new-btn { border-color: var(--p-bord2); color: var(--p-muted); }

/* Planificacion */
[data-theme="light"] .prog-card { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .prog-card:hover { border-color: var(--p-bord2); }
[data-theme="light"] .prog-card-meta { color: var(--p-dim); }
[data-theme="light"] .prog-card-desc { color: var(--p-dim); }
[data-theme="light"] .sched-day { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .sched-day-name { color: var(--p-dim); }
[data-theme="light"] .sched-ex-row { color: var(--p-txt3); }
[data-theme="light"] .sched-ex-thumb-ph { background: var(--p-inp); color: var(--p-dim); }
[data-theme="light"] .sched-rest { color: var(--p-bord2); }
[data-theme="light"] .planif-day-cols { border-top-color: var(--p-bord); }
[data-theme="light"] .planif-col-left { border-right-color: var(--p-bord); }
[data-theme="light"] .planif-col-hdr { background: var(--p-inp); border-bottom-color: var(--p-bord); }
[data-theme="light"] .day-item-row { border-bottom-color: var(--p-bord); }
[data-theme="light"] .day-item-num { color: var(--p-muted); }
[data-theme="light"] .day-item-thumb { background: var(--p-inp); }
[data-theme="light"] .day-item-grupo { color: var(--p-dim); }
[data-theme="light"] .add-ex-row:hover { background: var(--p-inp); }
[data-theme="light"] .add-ex-thumb { background: var(--p-inp); }
[data-theme="light"] .planif-ex-hint { color: var(--p-dim); border-top-color: var(--p-bord); }
[data-theme="light"] .planif-ex-count { color: var(--p-muted); }
[data-theme="light"] .add-ex-grupo-badge { background: rgba(255,107,0,.06); }
[data-theme="light"] .add-ex-add-btn { border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .planif-col-hdr-row .search-wrap input { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt); }
[data-theme="light"] .planif-col-hdr-row .filter-select { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt); }

/* Exercise library */
[data-theme="light"] .ex-lib-grid { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .ex-lib-card { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .ex-lib-thumb { background: var(--p-inp); }
[data-theme="light"] .ex-lib-equip { color: var(--p-muted); }
[data-theme="light"] .ej-img-upload-box { border-color: var(--p-bord); background: var(--p-card); }
[data-theme="light"] .ej-img-drop-zone { border-color: var(--p-bord2); }
[data-theme="light"] .day-item-ghost  { background: var(--p-inp) !important; }
[data-theme="light"] .day-item-chosen { background: var(--p-inp); }
[data-theme="light"] .day-item-drag   { background: var(--p-inp); }

/* ─── Landing page light theme (index.php) ───────────────────────────────── */

/* Body & base */
[data-theme="light"] body { background: var(--bg); color: var(--text); }

/* Navbar */
[data-theme="light"] .navbar-gym .brand { color: var(--accent); }
[data-theme="light"] .navbar-gym nav a { color: var(--text-muted); }
[data-theme="light"] .navbar-gym nav a:hover { color: var(--text); }
[data-theme="light"] .navbar-gym .nav-btn-member,
[data-theme="light"] .navbar-gym .nav-btn-member:hover { color: #fff; }
[data-theme="light"] .nav-btn-staff { color: var(--text-muted); border-color: var(--border); }
[data-theme="light"] .nav-btn-staff:hover { color: var(--text); border-color: var(--text-muted); }
@media(max-width:768px) {
    [data-theme="light"] .navbar-gym nav { background: rgba(255,255,255,.98); }
    [data-theme="light"] .nav-access { border-top-color: var(--border); }
}

/* Hero — light gradient keeps the accent glow via ::before */
[data-theme="light"] .hero { color: var(--text); }
[data-theme="light"] .hero p { color: var(--text-muted); }

/* Sections */
[data-theme="light"] #nosotros { background: var(--bg2); }
[data-theme="light"] #planes   { background: var(--bg); }
[data-theme="light"] #horarios { background: var(--bg); }
[data-theme="light"] #contacto { background: var(--bg2); }
[data-theme="light"] #galeria  { background: var(--bg2); }
[data-theme="light"] #ubicacion { background: var(--bg2); }
[data-theme="light"] footer    { background: var(--bg); border-top-color: var(--border); color: var(--text-muted); }
[data-theme="light"] .footer-gym-name { color: var(--accent); }
[data-theme="light"] .footer-nav-list a { color: var(--text-muted); }
[data-theme="light"] .footer-bottom { border-top-color: var(--border); color: var(--text-muted); }
[data-theme="light"] .footer-access-btn.staff { color: var(--text-muted); border-color: var(--border); }

/* Plan cards */
[data-theme="light"] .plan-card { background: var(--bg3); border-color: var(--border); }
[data-theme="light"] .plan-card:hover { border-color: var(--accent); }
[data-theme="light"] .plan-name { color: var(--text); }
[data-theme="light"] .plan-period { color: var(--text-muted); }
[data-theme="light"] .plan-desc   { color: var(--text-muted); }
[data-theme="light"] .plan-card:not(.featured) .plan-cta { background: transparent; border-color: var(--border); color: var(--text); }
[data-theme="light"] .plan-card:not(.featured) .plan-cta:hover { border-color: var(--accent); color: var(--accent); }
[data-theme="light"] .tier-label { color: var(--text-muted); }

/* About */
[data-theme="light"] .about-text ul li { color: var(--text-muted); }
[data-theme="light"] .about-img { background: var(--bg3); border-color: var(--border); }
[data-theme="light"] .about-img-placeholder { color: var(--text-muted); }

/* Contact */
[data-theme="light"] .contact-item-text p { color: var(--text-muted); }
[data-theme="light"] .social-link { background: var(--bg3); border-color: var(--border); color: var(--text-muted); }
[data-theme="light"] .schedule-row { border-bottom-color: var(--border); }
[data-theme="light"] .schedule-row span:first-child { color: var(--text-muted); }

/* Carousel caption stays white-on-dark — inherits from its own gradient */

/* Secondary button */
[data-theme="light"] .btn-secondary { color: var(--text); border-color: var(--border); }
[data-theme="light"] .btn-secondary:hover { border-color: var(--accent); color: var(--accent); }

/* Mobile nav — matches landing.css breakpoint */
@media(max-width:1024px) {
    [data-theme="light"] .navbar-gym nav { background: rgba(255,255,255,.98); border-bottom-color: var(--border); }
    [data-theme="light"] .nav-access { border-top-color: var(--border); }
}

/* ─── Login page (loginform.php) light theme ─────────────────────────────── */
[data-theme="light"] {
    --card-bg:    #ffffff;
    --input-bg:   #f5f7fa;
    --border-focus: var(--accent);
}
[data-theme="light"] .login-page { background: var(--bg); }
[data-theme="light"] .login-card {
    background: var(--card-bg);
    border-color: var(--border);
    box-shadow: 0 8px 40px rgba(0,0,0,.08);
}
[data-theme="light"] .login-card input,
[data-theme="light"] .login-card .form-control {
    background: var(--input-bg);
    border-color: var(--border);
    color: var(--text);
}
[data-theme="light"] .login-card input::placeholder { color: var(--text-muted); }
[data-theme="light"] .login-card label { color: var(--text-muted); }
[data-theme="light"] .login-header h1 { color: var(--accent); }
[data-theme="light"] .login-header p  { color: var(--text-muted); }

/* ─── Stats sheet (light mode) ──────────────────────────────────────────── */
[data-theme="light"] #statsSheet { background: var(--p-card); border-top-color: var(--p-bord); }
[data-theme="light"] .stats-header { border-bottom-color: var(--p-bord); }
[data-theme="light"] .stats-title { color: var(--p-txt); }
[data-theme="light"] .stats-periods { border-bottom-color: var(--p-bord); }
[data-theme="light"] .stats-kpi-card { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .stats-chart-title { color: var(--p-dim); }
[data-theme="light"] .stat-card.clickable:hover { border-color: var(--accent); }

/* ─── Action drawer (light mode) ────────────────────────────────────────── */
[data-theme="light"] #actionDrawer { background: var(--p-card); border-top-color: var(--p-bord); }
[data-theme="light"] .drawer-handle { background: var(--p-bord2); }
[data-theme="light"] .drawer-title  { color: var(--p-txt); border-bottom-color: var(--p-bord); }
[data-theme="light"] .drawer-btn    { color: var(--p-txt2); }
[data-theme="light"] .drawer-btn:hover { background: var(--p-inp); }
[data-theme="light"] .drawer-btn-icon  { background: var(--p-inp); color: var(--p-muted); }
[data-theme="light"] .tbl-clickable:hover { background: var(--p-inp) !important; }

/* ─── Topbar theme toggle (light mode) ───────────────────────────────────── */
[data-theme="light"] .theme-mode-toggle { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .theme-mode-toggle button { color: var(--p-muted); }
[data-theme="light"] .theme-mode-toggle button:hover { background: var(--p-inp2); color: var(--p-txt2); }
[data-theme="light"] .theme-mode-toggle button.active { background: var(--p-card); color: var(--accent); }

/* ─── Panel: catch-all overrides for JS-generated content ────────────────── */

/* Progress bar tracks (payments, uploads) */
[data-theme="light"] [id$="Progress"] > div:first-child,
[data-theme="light"] .progress-track { background: var(--p-bord2) !important; }

/* Topbar text (hardcoded in panel.php) */
[data-theme="light"] .topbar .page-title { color: var(--p-txt2) !important; }

/* Pending tabs bar (members.js) */
[data-theme="light"] #memberPendingTabs { background: var(--p-inp) !important; border-top-color: var(--p-bord) !important; }

/* Socios & dashboard inline toolbar labels */
[data-theme="light"] .table-toolbar span[style] { color: var(--p-txt2) !important; }

/* Modal body base text */
[data-theme="light"] .modal-body { color: var(--p-txt2); }
[data-theme="light"] .modal-body p { color: var(--p-txt2); }

/* btn-close in light modals */
[data-theme="light"] .modal-header .btn-close-white {
    filter: invert(1) grayscale(1);
}

/* Planificacion / scheduling column header */
[data-theme="light"] .planif-col-hdr { color: var(--p-txt2); }

/* Section labels in panel (hardcoded gray in dashboard) */
[data-theme="light"] .table-toolbar span { color: var(--p-txt2); }

/* Global action bar in light mode */
[data-theme="light"] .global-action-bar { box-shadow: 0 -2px 12px rgba(0,0,0,.08); }

/* ─── Audit CSS (audit.css) — light theme overrides ─────────────────────── */
[data-theme="light"] #auditPanelModal .modal-content { background: var(--p-sb); color: var(--p-txt); }
[data-theme="light"] .audit-bottom-nav  { background: var(--p-sb); border-top-color: var(--p-bord); }
[data-theme="light"] .audit-nav-btn     { color: var(--p-muted); }
[data-theme="light"] .audit-nav-btn.active { color: #2563eb; }
[data-theme="light"] .audit-nav-btn::before { background: #2563eb; }
[data-theme="light"] .audit-stats       { background: var(--p-card); border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-stat,
[data-theme="light"] .audit-stat-card   { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .audit-stat__value { color: #2563eb; }
[data-theme="light"] .audit-stat__label { color: var(--p-muted); }
[data-theme="light"] .audit-date-bar    { background: var(--p-card); border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-date-group label { color: var(--p-muted); }
[data-theme="light"] .audit-date-input  { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt); color-scheme: light; }
[data-theme="light"] .audit-date-input:focus { border-color: #2563eb; }
[data-theme="light"] .audit-date-sep    { color: var(--p-dim); }
[data-theme="light"] .audit-date-quick  { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .audit-date-quick.active,
[data-theme="light"] .audit-date-quick:hover { border-color: #2563eb; color: #2563eb; background: rgba(37,99,235,.08); }
[data-theme="light"] .audit-section-bar { background: var(--p-card); border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-section-btn { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .audit-section-btn.active,
[data-theme="light"] .audit-section-btn:hover { border-color: #2563eb; color: #2563eb; background: rgba(37,99,235,.08); }
[data-theme="light"] .audit-chip-bar    { background: var(--p-card); border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-chip        { background: var(--p-inp); border-color: var(--p-bord); color: var(--p-muted); }
[data-theme="light"] .audit-chip.active,
[data-theme="light"] .audit-chip:hover  { border-color: #2563eb; color: #2563eb; background: rgba(37,99,235,.07); }
[data-theme="light"] .audit-chip-count  { background: var(--p-inp2); }
[data-theme="light"] .audit-user-chip   { border-color: rgba(37,99,235,.35); background: rgba(37,99,235,.1); color: #2563eb; }
[data-theme="light"] .audit-log-item    { border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-log-item:hover  { background: var(--p-inp); }
[data-theme="light"] .audit-log-item:active { background: var(--p-inp2); }
[data-theme="light"] .audit-log-action  { color: var(--p-txt2); }
[data-theme="light"] .audit-log-meta   { color: var(--p-dim); }
[data-theme="light"] .audit-log-time   { color: var(--p-dim2); }
[data-theme="light"] .audit-log-user   { color: #2563eb; }
[data-theme="light"] .audit-empty      { color: var(--p-dim); }
[data-theme="light"] .audit-load-more  { border-top-color: var(--p-bord); }
[data-theme="light"] .audit-detail-header  { background: var(--p-card); border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-detail-hero    { border-bottom-color: var(--p-bord); }
[data-theme="light"] .audit-detail-panel   { background: var(--p-card); border-left-color: var(--p-bord); }
[data-theme="light"] .audit-detail-filter-btn { border-color: var(--p-bord2); color: var(--p-muted); }
[data-theme="light"] .audit-detail-filter-btn:hover { border-color: #2563eb; color: #2563eb; }
[data-theme="light"] .audit-detail-title   { color: var(--p-txt2); }

/* Planificacion schedule — light mode day cards */
[data-theme="light"] .sched-week-scroll { background: transparent; }
[data-theme="light"] .sched-day         { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .sched-day-name    { color: var(--p-dim); }
[data-theme="light"] .planif-col-hdr    { color: var(--p-txt2); }

/* Mailmaker (correos) — light mode */
[data-theme="light"] .mm-v2            { background: var(--p-bg); }
[data-theme="light"] .mm-tpl-card      { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .mm-tpl-card:hover{ border-color: var(--accent); }
[data-theme="light"] .mm-tpl-card.active { border-color: var(--accent); background: var(--accent-10); }
[data-theme="light"] .mm-tpl-name      { color: var(--p-txt2); }
[data-theme="light"] .mm-tpl-sub       { color: var(--p-muted); }
[data-theme="light"] .mm-group-header  { border-bottom-color: var(--p-bord); background: var(--p-inp); }
[data-theme="light"] .mm-admin-badge   { background: rgba(59,130,246,.1); color: #2563eb; border-color: rgba(59,130,246,.25); }
[data-theme="light"] .mm-editor-card   { background: var(--p-card); border-color: var(--p-bord); }
[data-theme="light"] .mm-editor-title  { color: var(--p-txt); border-bottom-color: var(--p-bord); }
[data-theme="light"] .mm-input         { background: var(--p-inp); border-color: var(--p-bord2); color: var(--p-txt); }
[data-theme="light"] .mm-label         { color: var(--p-dim); }
[data-theme="light"] .mm-vars-row      { background: var(--p-inp); border-color: var(--p-bord); }
[data-theme="light"] .mm-vars-label    { color: var(--p-muted); }
