/**
 * ÁitFoirne – professional SaaS theme (blue palette)
 * Frontend-only. Add .af-* classes alongside existing Bootstrap / legacy classes.
 */

:root {
    --af-primary: #2563eb;
    --af-primary-hover: #1d4ed8;
    --af-primary-light: #3b82f6;
    --af-bg: #0f172a;
    --af-bg-elevated: #1e293b;
    --af-card-bg: rgba(30, 41, 59, 0.92);
    --af-card-border: rgba(148, 163, 184, 0.22);
    --af-card-shadow: 0 4px 20px rgba(15, 23, 42, 0.35);
    --af-text: #f8fafc;
    --af-text-muted: #94a3b8;
    --af-accent: #f59e0b;
    --af-success: #22c55e;
    --af-warning: #f59e0b;
    --af-danger: #ef4444;
    --af-radius: 8px;
    --af-radius-card: 12px;
}

/* ---- App shell (Classic only) ---- */
.theme-classic.af-app {
    background-color: var(--af-bg);
    color: var(--af-text);
}

.theme-classic.af-app .container.mt-4 {
    max-width: 1320px;
}

/* ---- Navbar (Classic only) ---- */
.theme-classic .af-navbar.main-navbar {
    background: linear-gradient(110deg, #1e40af 0%, #1e3a8a 100%) !important;
    border-bottom: 1px solid rgba(37, 99, 235, 0.35);
    box-shadow: 0 2px 12px rgba(15, 23, 42, 0.25);
}

.theme-classic .af-navbar .navbar-brand {
    color: #fff !important;
    font-weight: 700;
}

.theme-classic .af-navbar .nav-link.nav-glossy,
.theme-classic .af-navbar .btn-nav-glossy {
    background: rgba(255, 255, 255, 0.12);
    color: #fff !important;
    border-radius: var(--af-radius);
    border: 1px solid rgba(255, 255, 255, 0.15);
    font-weight: 600;
    box-shadow: none;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.theme-classic .af-navbar .nav-link.nav-glossy:hover,
.theme-classic .af-navbar .nav-link.nav-glossy.active,
.theme-classic .af-navbar .btn-nav-glossy:hover,
.theme-classic .af-navbar .btn-nav-glossy:focus {
    background: rgba(255, 255, 255, 0.22);
    color: #fff !important;
    box-shadow: none;
}

.theme-classic .af-navbar .btn-nav-glossy {
    background: rgba(245, 158, 11, 0.9);
    color: #1e293b !important;
    border-color: transparent;
}

.theme-classic .af-navbar .btn-nav-glossy:hover {
    background: #fbbf24;
    color: #0f172a !important;
}

/* ---- Cards (Classic only) ---- */
.theme-classic .af-card,
.theme-classic.af-app .glass-card.af-card,
.theme-classic.af-app .card.glass-card.af-card {
    background: var(--af-card-bg) !important;
    border: 1px solid var(--af-card-border) !important;
    border-radius: var(--af-radius-card) !important;
    box-shadow: var(--af-card-shadow) !important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.theme-classic .af-card:hover,
.theme-classic.af-app .glass-card.af-card:hover {
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.45) !important;
    transform: translateY(-2px);
}

/* ---- Buttons ---- */
.af-btn-square {
    border-radius: var(--af-radius) !important;
}

.theme-classic .af-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.6rem 1.25rem;
    min-width: 140px;
    font-weight: 600;
    font-size: 1rem;
    color: #fff !important;
    background: var(--af-primary) !important;
    border: 1px solid var(--af-primary-hover) !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25) !important;
    text-decoration: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.theme-classic .af-btn-primary:hover,
.theme-classic .af-btn-primary:focus {
    background: var(--af-primary-hover) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
    transform: translateY(-1px);
}

.theme-classic .af-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.55rem 1.1rem;
    font-weight: 600;
    color: var(--af-text) !important;
    background: transparent !important;
    border: 1px solid var(--af-card-border) !important;
    border-radius: var(--af-radius) !important;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.theme-classic .af-btn-secondary:hover,
.theme-classic .af-btn-secondary:focus {
    background: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(148, 163, 184, 0.4) !important;
    color: #fff !important;
}

/* ---- Status pills ---- */
.af-pill-success {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
    border: 1px solid rgba(34, 197, 94, 0.35);
}

.af-pill-warning {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.35);
}

.af-pill-danger {
    background: rgba(239, 68, 68, 0.15);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.35);
}

.af-pill-neutral {
    background: rgba(148, 163, 184, 0.15);
    color: #cbd5e1;
    border: 1px solid rgba(148, 163, 184, 0.3);
}

.af-pill-success,
.af-pill-warning,
.af-pill-danger,
.af-pill-neutral {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: var(--af-radius);
    padding: 0.3rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
}

/* ---- Tabs (Classic only) ---- */
.theme-classic .af-tabs.nurse-navbar .nav-link {
    border-radius: var(--af-radius) !important;
    color: var(--af-text-muted) !important;
    font-weight: 600;
    border: 1px solid transparent;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-classic .af-tabs.nurse-navbar .nav-link:hover {
    background: rgba(255, 255, 255, 0.06);
    color: #fff !important;
}

.theme-classic .af-tabs.nurse-navbar .nav-link.active {
    background: rgba(37, 99, 235, 0.2) !important;
    color: #fff !important;
    border-color: var(--af-primary-light) !important;
    box-shadow: inset 0 -2px 0 var(--af-primary);
}

.theme-classic .af-tabs.nurse-navbar .nav-link.active::after {
    display: none;
}

.theme-classic .nurse-navbar-card.af-card {
    background: var(--af-bg-elevated) !important;
    border: 1px solid var(--af-card-border) !important;
    border-radius: var(--af-radius-card) !important;
}

/* ---- Modals (Classic only) ---- */
.theme-classic .af-modal.modal-content,
.theme-classic .modal-content.af-modal,
.theme-classic .glass-modal.af-modal {
    background: var(--af-card-bg);
    border: 1px solid var(--af-card-border);
    border-radius: var(--af-radius-card);
    color: var(--af-text);
}

.theme-classic .af-modal .modal-header {
    border-bottom: 1px solid var(--af-card-border);
    background: rgba(15, 23, 42, 0.5);
}

.theme-classic .af-modal .modal-footer {
    border-top: 1px solid var(--af-card-border);
}

/* ---- Admin dashboard hero (Classic only) ---- */
.theme-classic .af-hero.hero-section {
    background: linear-gradient(135deg, #1e3a8a 0%, #1e293b 100%) !important;
}

.theme-classic .af-hero.hero-section::before {
    background: rgba(15, 23, 42, 0.35);
}

.theme-classic.af-app a.btn-glossy {
    background: var(--af-primary) !important;
    color: #fff !important;
    border-radius: var(--af-radius) !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25) !important;
}

.theme-classic.af-app a.btn-glossy:hover {
    background: var(--af-primary-hover) !important;
    color: #fff !important;
}

/* ---- Login page ---- */
body.af-login-page {
    min-height: 100vh;
    background: linear-gradient(160deg, #1e3a8a 0%, #0f172a 55%, #1e293b 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.af-login-page .login-container {
    width: 100%;
    max-width: 440px;
}

.af-login-page .login-card.af-card {
    background: #fff !important;
    border: 1px solid rgba(148, 163, 184, 0.25) !important;
    border-radius: var(--af-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.35) !important;
    overflow: hidden;
}

.af-login-page .login-card::before {
    display: none;
}

.af-login-page .login-header {
    background: linear-gradient(110deg, #1e40af 0%, #2563eb 100%);
    border-radius: 0;
    box-shadow: none;
}

.af-login-page .form-label {
    color: #1e40af;
}

.af-login-page .form-input {
    border-radius: var(--af-radius);
    border-color: #cbd5e1;
    background: #f8fafc;
}

.af-login-page .form-input:focus {
    border-color: var(--af-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    transform: none;
}

.af-login-page .btn-primary.af-btn-primary {
    max-width: 100%;
    border-radius: var(--af-radius) !important;
}

.af-login-page .login-alert-error {
    border-left-color: var(--af-danger);
    color: #b91c1c;
    background: #fef2f2;
}

.af-login-page .login-alert-success {
    border-left-color: var(--af-success);
    color: #15803d;
    background: #f0fdf4;
}

/* ---- Employee portal accents (Classic only) ---- */
.theme-classic.af-app .feature-icon i {
    color: var(--af-primary-light) !important;
}

/* Override legacy inline gradient action links (Classic only) */
.theme-classic.af-app .glass-card .card-body a[style*="linear-gradient"],
.theme-classic.af-app .af-card .card-body a[style*="linear-gradient"],
.theme-classic.af-app .hero-section a[style*="linear-gradient"] {
    background: var(--af-primary) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--af-radius) !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.25) !important;
    padding: 0.6rem 1.25rem !important;
    font-weight: 600 !important;
    font-size: 1rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    min-width: 140px;
    transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.theme-classic.af-app .glass-card .card-body a[style*="linear-gradient"]:hover,
.theme-classic.af-app .af-card .card-body a[style*="linear-gradient"]:hover,
.theme-classic.af-app .hero-section a[style*="linear-gradient"]:hover {
    background: var(--af-primary-hover) !important;
    color: #fff !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35) !important;
    transform: translateY(-1px);
}

.theme-classic.af-app h4.text-white,
.theme-classic.af-app .card-title.text-white {
    color: var(--af-text) !important;
}

.theme-classic.af-app .text-gradient {
    background: linear-gradient(90deg, #60a5fa 0%, #2563eb 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.theme-classic.af-app .today-date {
    background: rgba(37, 99, 235, 0.15);
    color: #93c5fd;
    border: 1px solid rgba(59, 130, 246, 0.3);
    border-radius: var(--af-radius);
}

/* ==========================================================================
   THEME: Classic (default)
   Body carries `theme-classic` on first paint. Rules above apply globally
   via `.af-app` and are unchanged — Classic look is preserved as-is.
   ========================================================================== */

.theme-classic {
    /* Marker class only; styling lives in the shared `.af-app` rules above. */
}

/* ---- Theme toggle UI (both themes) ---- */
.af-theme-toggle-wrap {
    display: flex;
    align-items: center;
    gap: 0.35rem;
}

.af-theme-toggle-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.75);
    white-space: nowrap;
}

.af-theme-toggle {
    display: inline-flex;
    border-radius: var(--af-radius);
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.25);
}

.af-theme-btn {
    padding: 0.2rem 0.55rem;
    font-size: 0.72rem;
    font-weight: 600;
    border: none;
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease;
}

.af-theme-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    color: #fff;
}

.af-theme-btn.active {
    background: rgba(255, 255, 255, 0.92);
    color: #1e40af;
}

/* ==========================================================================
   THEME: New — light / modern SaaS (scoped under `.theme-new` only)
   Palette: primary #2563eb | success #16a34a | accent #f59e0b (alerts only)
            page #0f172a | card #e2e8f0 (admin dash) | text #111827 on cards | #e5e7eb on dark
   ========================================================================== */

.theme-new {
    --af-new-primary: #2563eb;
    --af-new-primary-hover: #1d4ed8;
    --af-new-success: #16a34a;
    --af-new-success-hover: #15803d;
    --af-new-accent: #f59e0b;
    --af-new-bg: #0f172a;
    --af-new-bg-elevated: #1e293b;
    --af-new-surface: #eef2f6;
    --af-new-surface-muted: #e2e8f0;
    --af-new-border: #cbd5e1;
    --af-new-text: #111827;
    --af-new-text-on-dark: #e5e7eb;
    --af-new-text-muted: #475569;
    --af-new-text-muted-soft: #64748b;
    --af-new-text-heading-dark: #e5e7eb;
    --af-new-text-heading-light: #111827;
    --af-new-text-desc: #1e3a8a;
    --af-new-text-desc-neutral: #374151;
    --af-new-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
    --af-new-shadow-hover: 0 2px 8px rgba(15, 23, 42, 0.1);
    --af-new-radius: 8px;
    --af-new-radius-card: 8px;
    --af-new-radius-btn: 6px;
    --af-new-btn-outline-bg: #ffffff;
    --af-new-btn-outline-bg-hover: #eff6ff;
}

/* ---- App shell (dark canvas) ---- */
.theme-new.af-app {
    background-color: var(--af-new-bg);
    color: var(--af-new-text-on-dark);
}

.theme-new.af-app .container.mt-4 {
    max-width: 100%;
}

/* ---- Navbar (calm primary blue) ---- */
.theme-new .af-navbar.main-navbar {
    background: linear-gradient(180deg, #1e40af 0%, #2563eb 100%);
    border-bottom: 1px solid #1d4ed8;
    box-shadow: 0 2px 10px rgba(15, 23, 42, 0.12);
}

.theme-new .af-navbar .navbar-brand {
    color: #fff;
    font-weight: 700;
}

.theme-new .af-navbar .nav-link.nav-glossy,
.theme-new .af-navbar .btn-nav-glossy {
    background: transparent;
    color: rgba(255, 255, 255, 0.88);
    border: 1px solid transparent;
    border-radius: var(--af-new-radius);
    box-shadow: none;
}

.theme-new .af-navbar .nav-link.nav-glossy:hover,
.theme-new .af-navbar .nav-link.nav-glossy.active {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
}

.theme-new .af-navbar .btn-nav-glossy {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.22);
}

.theme-new .af-navbar .btn-nav-glossy:hover {
    background: rgba(255, 255, 255, 0.22);
    color: #fff;
}

.theme-new .af-navbar .nav-link.text-white,
.theme-new .af-navbar span.text-white {
    color: rgba(255, 255, 255, 0.92);
}

.theme-new .af-theme-toggle-label {
    color: rgba(255, 255, 255, 0.78);
}

.theme-new .af-theme-toggle {
    border-color: rgba(255, 255, 255, 0.28);
}

.theme-new .af-theme-btn {
    background: rgba(255, 255, 255, 0.1);
    color: rgba(255, 255, 255, 0.9);
}

.theme-new .af-theme-btn:hover {
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
}

.theme-new .af-theme-btn.active {
    background: #fff;
    color: var(--af-new-primary);
}

/* ---- Cards ---- */
.theme-new .af-card,
.theme-new.af-app .glass-card.af-card,
.theme-new.af-app .card.glass-card.af-card,
.theme-new.af-app .card.af-card {
    background: var(--af-new-surface);
    border: 1px solid var(--af-new-border);
    border-radius: var(--af-new-radius-card);
    box-shadow: var(--af-new-shadow);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    padding: 0;
}

.theme-new .af-card .card-body,
.theme-new.af-app .af-card .card-body {
    padding: 1.25rem;
}

.theme-new .af-card:hover,
.theme-new.af-app .glass-card.af-card:hover {
    box-shadow: var(--af-new-shadow-hover);
    transform: none;
}

.theme-new .nurse-navbar-card.af-card {
    background: var(--af-new-surface);
    border: 1px solid var(--af-new-border);
}

/* Schedule navbar — full width + dashboard tile parity (New Theme only) */
.theme-new .af-schedule-nav-shell {
    width: 100%;
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    padding: 1rem 0 0.25rem;
    background: linear-gradient(180deg, var(--af-new-bg-elevated) 0%, var(--af-new-bg) 4rem);
}

.theme-new .af-schedule-nav-container.container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

@media (min-width: 992px) {
    .theme-new .af-schedule-nav-container.container {
        padding-left: 1.75rem;
        padding-right: 1.75rem;
    }
}

.theme-new .af-schedule-nav-card.nurse-navbar-card.af-card,
.theme-new .af-schedule-nav-card.af-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    margin-bottom: 1.25rem !important;
}

.theme-new .af-schedule-nav-card.shadow-lg {
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-schedule-nav-title.text-light,
.theme-new .af-schedule-nav-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-schedule-nav-icon,
.theme-new .af-schedule-nav-icon[style] {
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-nav-tabs.af-tabs {
    border-bottom: none;
    gap: 0.4rem;
    flex-wrap: wrap;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-item {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link {
    width: 100%;
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
    font-size: 0.92rem !important;
    padding: 0.55rem 0.85rem !important;
    box-shadow: none !important;
    margin: 0;
    position: static;
    overflow: visible;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link::before,
.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link::after {
    display: none !important;
    content: none !important;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link i,
.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link i[class*="fa-"] {
    color: inherit !important;
    filter: none !important;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link:hover,
.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link.active {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: none !important;
}

@media (max-width: 991px) {
    .theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link {
        font-size: 0.88rem !important;
        padding: 0.5rem 0.65rem !important;
    }
}

/* ---- Typography (scoped: tiles vs hero) ---- */
.theme-new .af-admin-dashboard > .row > .col-12 > h2.fw-bold {
    color: var(--af-new-text-heading-dark);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.theme-new .af-employee-portal-heading {
    color: var(--af-new-text);
}

.theme-new .af-tile-card .card-title,
.theme-new .af-tile-card h3,
.theme-new .af-tile-card h4,
.theme-new .af-tile-card h5,
.theme-new .af-tile-card h6 {
    color: var(--af-new-text-heading-light);
    font-weight: 700;
}

.theme-new .af-tile-card .card-text,
.theme-new .af-tile-card p {
    color: var(--af-new-text-desc);
    font-weight: 500;
    line-height: 1.55;
}

.theme-new .af-tile-card .text-white,
.theme-new .af-tile-card.text-white {
    color: var(--af-new-text-heading-light);
}

.theme-new .af-tile-card .text-white-50,
.theme-new .af-tile-card .small,
.theme-new .af-tile-card .text-uppercase {
    color: var(--af-new-text-muted);
}

.theme-new .af-tile-card .text-info {
    color: var(--af-new-primary);
}

.theme-new .af-tile-card .text-success {
    color: var(--af-new-success);
}

.theme-new .af-tile-card .text-warning {
    color: var(--af-new-accent);
}

.theme-new.af-app .text-white-50,
.theme-new.af-app .text-light {
    color: var(--af-new-text-muted);
}

.theme-new.af-app .text-muted {
    color: var(--af-new-text-muted-soft);
}

/* ---- Buttons (utility classes — New Theme dashboard style) ---- */
.theme-new .af-btn-square {
    border-radius: var(--af-new-radius-btn);
}

.theme-new .af-btn-primary,
.theme-new .btn.af-btn-primary,
.theme-new a.af-btn-primary,
.theme-new button.af-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.55rem 1.15rem;
    min-height: 42px;
    min-width: auto;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.25;
    color: #fff !important;
    background: var(--af-new-primary, #2563eb) !important;
    background-image: none !important;
    border: 1px solid var(--af-new-primary-hover, #1d4ed8) !important;
    border-radius: var(--af-new-radius-btn, 8px);
    box-shadow: none !important;
    text-decoration: none;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-new .af-btn-primary:hover,
.theme-new .af-btn-primary:focus,
.theme-new .btn.af-btn-primary:hover,
.theme-new .btn.af-btn-primary:focus,
.theme-new a.af-btn-primary:hover,
.theme-new button.af-btn-primary:hover {
    background: var(--af-new-primary-hover, #1d4ed8) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #1e40af !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-btn-primary:focus-visible,
.theme-new .btn.af-btn-primary:focus-visible,
.theme-new a.af-btn-primary:focus-visible,
.theme-new button.af-btn-primary:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.45);
    outline-offset: 2px;
}

.theme-new .af-btn-secondary,
.theme-new .btn.af-btn-secondary,
.theme-new a.af-btn-secondary,
.theme-new button.af-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    min-height: 42px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.25;
    color: var(--af-new-primary, #2563eb) !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px);
    box-shadow: none !important;
    text-decoration: none;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-new .af-btn-secondary:hover,
.theme-new .af-btn-secondary:focus,
.theme-new .btn.af-btn-secondary:hover,
.theme-new .btn.af-btn-secondary:focus,
.theme-new a.af-btn-secondary:hover,
.theme-new button.af-btn-secondary:hover {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-btn-secondary:focus-visible,
.theme-new .btn.af-btn-secondary:focus-visible,
.theme-new a.af-btn-secondary:focus-visible,
.theme-new button.af-btn-secondary:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.35);
    outline-offset: 2px;
}

.theme-new .af-btn-danger,
.theme-new .btn.af-btn-danger,
.theme-new a.af-btn-danger,
.theme-new button.af-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    min-height: 42px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.25;
    color: #b91c1c !important;
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #fecaca !important;
    border-radius: var(--af-new-radius-btn, 8px);
    box-shadow: none !important;
    text-decoration: none;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-new .af-btn-danger:hover,
.theme-new .af-btn-danger:focus,
.theme-new .btn.af-btn-danger:hover,
.theme-new .btn.af-btn-danger:focus,
.theme-new a.af-btn-danger:hover,
.theme-new button.af-btn-danger:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #991b1b !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-btn-danger:focus-visible,
.theme-new .btn.af-btn-danger:focus-visible,
.theme-new a.af-btn-danger:focus-visible,
.theme-new button.af-btn-danger:focus-visible {
    outline: 2px solid rgba(220, 38, 38, 0.35);
    outline-offset: 2px;
}

.theme-new .af-btn-warning,
.theme-new .btn.af-btn-warning,
.theme-new a.af-btn-warning,
.theme-new button.af-btn-warning {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    min-height: 42px;
    font-weight: 600;
    font-size: 0.95rem;
    line-height: 1.25;
    color: #b45309 !important;
    background: #fffbeb !important;
    background-image: none !important;
    border: 1px solid #fde68a !important;
    border-radius: var(--af-new-radius-btn, 8px);
    box-shadow: none !important;
    text-decoration: none;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-new .af-btn-warning:hover,
.theme-new .af-btn-warning:focus,
.theme-new .btn.af-btn-warning:hover,
.theme-new button.af-btn-warning:hover {
    background: #fef3c7 !important;
    border-color: #fcd34d !important;
    color: #92400e !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-btn-icon,
.theme-new .btn.af-btn-icon,
.theme-new button.af-btn-icon,
.theme-new a.af-btn-icon {
    min-width: 36px;
    width: 36px;
    height: 36px;
    min-height: 36px;
    padding: 0 !important;
    gap: 0;
}

.theme-new .af-btn-icon i,
.theme-new .btn.af-btn-icon i {
    margin: 0 !important;
    font-size: 0.9rem;
}

.theme-new .af-btn-success,
.theme-new .btn.af-btn-success,
.theme-new a.af-btn-success {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.55rem 1.1rem;
    font-weight: 600;
    font-size: 0.95rem;
    color: #fff;
    background: var(--af-new-success);
    border: 1px solid var(--af-new-success-hover);
    border-radius: var(--af-new-radius);
    box-shadow: 0 1px 4px rgba(22, 163, 74, 0.2);
    text-decoration: none;
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

.theme-new .af-btn-success:hover,
.theme-new .af-btn-success:focus,
.theme-new a.af-btn-success:hover {
    background: var(--af-new-success-hover);
    color: #fff;
    box-shadow: 0 3px 10px rgba(22, 163, 74, 0.28);
}

/* Legacy glossy / gradient buttons → New palette */
.theme-new.af-app a.btn-glossy,
.theme-new.af-app .btn-publish-live {
    background: var(--af-new-primary);
    color: #fff;
    border: none;
    border-radius: var(--af-new-radius);
    box-shadow: 0 1px 4px rgba(37, 99, 235, 0.2);
}

.theme-new.af-app a.btn-glossy:hover,
.theme-new.af-app .btn-publish-live:hover {
    background: var(--af-new-primary-hover);
    color: #fff;
}

.theme-new.af-app .glass-card .card-body a[style*="linear-gradient"],
.theme-new.af-app .af-card .card-body a[style*="linear-gradient"],
.theme-new.af-app .af-tile-card a[style*="linear-gradient"],
.theme-new.af-app .hero-section a[style*="linear-gradient"] {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new.af-app .glass-card .card-body a[style*="linear-gradient"]:hover,
.theme-new.af-app .af-card .card-body a[style*="linear-gradient"]:hover,
.theme-new.af-app .af-tile-card a[style*="linear-gradient"]:hover,
.theme-new.af-app .hero-section a[style*="linear-gradient"]:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* Outline Bootstrap buttons on schedule / admin (only when not using af-btn-* design system) */
.theme-new .af-schedule-page .btn-outline-light:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-schedule-page .btn-outline-danger:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-schedule-page .btn-outline-success:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-schedule-page .btn-outline-info:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-schedule-page .btn-outline-warning:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-schedule-page .btn-outline-primary:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success),
.theme-new .af-admin-dashboard .btn-outline-light:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success) {
    color: var(--af-new-text);
    border-color: var(--af-new-border);
    background: var(--af-new-surface);
    border-radius: var(--af-new-radius);
}

.theme-new .af-schedule-page .btn-outline-light:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover,
.theme-new .af-schedule-page .btn-outline-danger:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover,
.theme-new .af-schedule-page .btn-outline-success:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover,
.theme-new .af-schedule-page .btn-outline-info:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover,
.theme-new .af-schedule-page .btn-outline-warning:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover,
.theme-new .af-schedule-page .btn-outline-primary:not(.af-btn-secondary):not(.af-btn-primary):not(.af-btn-success):hover {
    background: var(--af-new-surface-muted);
    color: var(--af-new-primary);
    border-color: #bfdbfe;
}

/* ---- Status pills ---- */
.theme-new .af-pill-success {
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #86efac;
}

.theme-new .af-pill-warning {
    background: #fef3c7;
    color: #b45309;
    border: 1px solid #fcd34d;
}

.theme-new .af-pill-danger {
    background: #fee2e2;
    color: #b91c1c;
    border: 1px solid #fca5a5;
}

.theme-new .af-pill-neutral {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* ---- Tabs ---- */
.theme-new .af-tabs {
    border-bottom: 1px solid var(--af-new-border);
}

.theme-new .af-tabs .af-tab,
.theme-new .af-tabs.nurse-navbar .nav-link {
    color: var(--af-new-text-muted);
    border: 1px solid transparent;
    border-radius: var(--af-new-radius) var(--af-new-radius) 0 0;
    font-weight: 600;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-tabs .af-tab:hover,
.theme-new .af-tabs.nurse-navbar .nav-link:hover {
    background: #f1f5f9;
    color: var(--af-new-text);
}

.theme-new .af-tabs .af-tab.af-tab-active,
.theme-new .af-tabs .af-tab.active,
.theme-new .af-tabs.nurse-navbar .nav-link.active {
    background: var(--af-new-primary);
    color: #fff;
    border-color: var(--af-new-primary);
    box-shadow: none;
}

.theme-new .af-tabs.nurse-navbar .nav-link.active::after {
    display: none;
}

/* ---- Modals ---- */
.theme-new .af-modal.modal-content,
.theme-new .modal-content.af-modal,
.theme-new .glass-modal.af-modal {
    background: var(--af-new-surface);
    border: 1px solid var(--af-new-border);
    border-radius: var(--af-new-radius-card);
    color: var(--af-new-text);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.15);
}

.theme-new .af-modal .modal-header,
.theme-new .modal-content.af-modal .modal-header {
    background: var(--af-new-surface-muted);
    border-bottom: 1px solid var(--af-new-border);
    color: var(--af-new-text);
}

.theme-new .af-modal .modal-footer,
.theme-new .modal-content.af-modal .modal-footer {
    border-top: 1px solid var(--af-new-border);
    background: var(--af-new-surface-muted);
}

.theme-new .af-schedule-page .btn-glass:not(.af-btn-primary):not(.af-btn-secondary):not(.af-btn-success) {
    background: var(--af-new-surface-muted);
    color: var(--af-new-text);
    border: 1px solid var(--af-new-border);
    border-radius: var(--af-new-radius);
}

.theme-new .af-schedule-page .btn-glass:not(.af-btn-primary):not(.af-btn-secondary):not(.af-btn-success):hover {
    background: #eff6ff;
    color: var(--af-new-primary);
    border-color: #bfdbfe;
}

.theme-new .af-schedule-page .modal-content.glass-modal .modal-title,
.theme-new .af-schedule-page .modal-content.af-modal .text-light {
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-page .btn-close-white {
    filter: none;
}

/* ---- Admin dashboard hero (soft blend into dark page) ---- */
.theme-new .af-hero.hero-section {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
    margin-bottom: 0;
    padding: 3.25rem 0 2.25rem;
    border-bottom: 1px solid rgba(148, 163, 184, 0.14);
}

.theme-new .af-hero.hero-section::before {
    background: transparent;
}

.theme-new .af-hero h1,
.theme-new .af-hero .display-4,
.theme-new .af-hero p.lead,
.theme-new .af-hero .text-white {
    color: var(--af-new-text-on-dark);
    font-weight: 700;
}

.theme-new .af-hero p.lead {
    font-weight: 400;
    color: #cbd5e1;
}

.theme-new .af-hero .date-display.af-card {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    background: var(--af-dash-surface-elevated, #edf1f7);
    border: 1px solid var(--af-dash-border, #bcc6d4);
    color: var(--af-new-text-heading-light);
    box-shadow: 0 1px 4px rgba(15, 23, 42, 0.1);
    font-weight: 500;
    letter-spacing: 0.01em;
}

.theme-new .af-hero .date-display span {
    color: var(--af-new-text-heading-light);
    font-weight: 600;
}

.theme-new .af-hero .date-display .fw-bold {
    color: var(--af-new-text);
    font-weight: 700;
}

/* Analogue clock — New Theme, desktop only */
.af-analogue-clock {
    display: none;
}

.theme-new .af-hero-datetime {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.5rem;
}

@media (min-width: 992px) {
    .theme-new .af-hero-datetime .af-analogue-clock {
        display: block;
    }
}

.theme-new .af-analogue-clock__svg {
    display: block;
}

.theme-new .af-analogue-clock__face {
    fill: var(--af-dash-surface-elevated, #edf1f7);
    stroke: var(--af-dash-border, #bcc6d4);
    stroke-width: 1.5;
}

.theme-new .af-analogue-clock__hand line {
    stroke: var(--af-new-primary);
    stroke-linecap: round;
}

.theme-new .af-analogue-clock__hand--hour line {
    stroke-width: 2.5;
}

.theme-new .af-analogue-clock__hand--minute line {
    stroke-width: 1.5;
    opacity: 0.9;
}

.theme-new .af-analogue-clock__center {
    fill: var(--af-new-primary);
}

.theme-new .af-hero a.af-btn-primary,
.theme-new .af-hero a[style*="linear-gradient"] {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-hero a.af-btn-primary:hover,
.theme-new .af-hero a[style*="linear-gradient"]:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-admin-dashboard.container,
.theme-new .af-admin-dashboard.container.mb-5 {
    max-width: 100%;
    padding: 2rem 1.5rem 3rem;
    background: linear-gradient(180deg, var(--af-new-bg-elevated) 0%, var(--af-new-bg) 8rem);
}

.theme-new .af-hero .container,
.theme-new .af-hero .hero-content {
    max-width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.theme-new .af-admin-dashboard h2.fw-bold {
    color: var(--af-new-text-heading-dark);
    font-weight: 700;
    letter-spacing: -0.01em;
}

/* Section titles on light cards (Clock-In, module tiles, widgets) */
.theme-new .af-admin-dashboard .af-tile-card h4.card-title,
.theme-new .af-admin-dashboard .af-tile-card h5.fw-bold,
.theme-new .af-new-modules .af-tile-card h4.card-title,
.theme-new .af-new-modules .af-tile-card h5.fw-bold,
.theme-new .af-admin-dashboard .af-tile-card h5.text-white {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700;
}

/* ---- Admin dashboard: softer surfaces, rhythm, SaaS polish ---- */
.theme-new .af-admin-dashboard,
.theme-new .af-workforce-widgets {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    --af-dash-shadow-hover: 0 2px 10px rgba(15, 23, 42, 0.07);
    --af-dash-section-gap: 2.75rem;
}

.theme-new .af-admin-dashboard.container,
.theme-new .af-admin-dashboard.container.mb-5 {
    padding: 2.5rem 1.75rem 3.5rem;
}

.theme-new .af-admin-dashboard h2.fw-bold,
.theme-new .af-admin-dashboard > .row > .col-12 > h2.fw-bold {
    margin-bottom: var(--af-dash-section-gap) !important;
}

.theme-new .af-admin-dashboard .af-stat-row {
    margin-bottom: var(--af-dash-section-gap) !important;
}

.theme-new .af-admin-dashboard section.mt-5 {
    margin-top: var(--af-dash-section-gap) !important;
}

.theme-new .af-admin-dashboard section.mb-4 {
    margin-bottom: 1.75rem !important;
}

.theme-new .af-admin-dashboard .af-new-modules {
    margin-top: 0.5rem;
    --bs-gutter-y: 1.5rem;
}

.theme-new .af-admin-dashboard .af-card,
.theme-new .af-admin-dashboard .af-tile-card,
.theme-new .af-admin-dashboard .glass-card.af-card,
.theme-new .af-admin-dashboard .af-stat-row .af-stat-card,
.theme-new .af-workforce-widgets .af-card,
.theme-new .af-workforce-widgets .af-tile-card,
.theme-new .af-workforce-widgets .glass-card.af-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-admin-dashboard .af-card:hover,
.theme-new .af-admin-dashboard .af-tile-card:hover,
.theme-new .af-workforce-widgets .af-card:hover,
.theme-new .af-workforce-widgets .af-tile-card:hover {
    box-shadow: var(--af-dash-shadow-hover) !important;
    transform: none;
}

.theme-new .af-admin-dashboard .af-card .card-body,
.theme-new .af-admin-dashboard .af-tile-card .card-body {
    padding: 1.35rem;
}

.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .card-body {
    padding: 1.5rem;
}

.theme-new .af-admin-dashboard .af-tile-card a[href][style],
.theme-new .af-admin-dashboard .af-tile-card a.af-btn-primary,
.theme-new .af-admin-dashboard .af-tile-card button[style],
.theme-new .af-admin-dashboard .af-tile-card button.af-btn-primary,
.theme-new .af-admin-dashboard .af-stat-card a[href][style],
.theme-new .af-admin-dashboard .af-stat-card button[style],
.theme-new .af-admin-dashboard .af-stat-card a.af-btn-primary,
.theme-new .af-admin-dashboard .af-stat-card button.af-btn-primary {
    background: var(--af-dash-surface-elevated) !important;
}

.theme-new .af-admin-dashboard .bg-primary.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-warning.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-danger.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-info.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-success.bg-opacity-10 {
    background: rgba(37, 99, 235, 0.07) !important;
    border-radius: var(--af-new-radius);
}

.theme-new .af-admin-dashboard .af-stat-card .bg-dark.bg-opacity-25 {
    background: var(--af-dash-surface-muted) !important;
}

.theme-new .af-workforce-widgets {
    padding-top: 3rem !important;
    padding-bottom: 3.5rem !important;
}

.theme-new .af-workforce-widgets h3.text-white {
    margin-bottom: 2rem !important;
}

.theme-new .af-workforce-widgets .row.g-4 {
    --bs-gutter-y: 1.5rem;
}

.theme-new .af-hero.af-admin-dashboard.af-new-hero {
    padding: 3rem 0 2.5rem;
    margin-bottom: 0;
}

/* ---- Dashboard stat cards (top row widgets) ---- */
.theme-new .af-stat-row .af-stat-card {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
    color: var(--af-new-text);
}

.theme-new .af-stat-card.border-success,
.theme-new .af-stat-card.border-warning,
.theme-new .af-stat-card.border-info,
.theme-new .af-stat-card.border-danger {
    border-color: var(--af-new-border) !important;
}

.theme-new .af-stat-card h6.text-uppercase,
.theme-new .af-stat-card h6.text-info {
    color: var(--af-new-text-muted) !important;
    font-weight: 600;
    letter-spacing: 0.06em;
    font-size: 0.72rem;
}

.theme-new .af-stat-card.af-stat-success h6.text-success {
    color: var(--af-new-success) !important;
}

.theme-new .af-stat-card.af-stat-time.border-primary {
    border-color: var(--af-new-border, #e2e8f0) !important;
}

.theme-new .af-stat-card.af-stat-time {
    color: var(--af-new-text-muted, #64748b);
}

.theme-new .af-stat-card.af-stat-time .af-stat-time__clock-status,
.theme-new .af-stat-card.af-stat-time .af-stat-time__break-active-label,
.theme-new .af-stat-card.af-stat-time .af-stat-time__break-type,
.theme-new .af-stat-card.af-stat-time .af-stat-time__break-status {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-stat-card.af-stat-time .af-stat-time__clock-status.is-in {
    color: var(--af-new-success, #198754) !important;
}

.theme-new .af-stat-card.af-stat-time .af-stat-time__break-elapsed {
    color: var(--af-new-primary, #0d6efd) !important;
}

.theme-new .af-stat-card.af-stat-time .af-stat-time__break-section-label {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.45;
}

.theme-new .af-stat-card.af-stat-time .text-primary {
    color: var(--af-new-primary, #0d6efd) !important;
}

.theme-new .af-stat-card h3,
.theme-new .af-stat-card h3.mb-0 {
    color: var(--af-new-text) !important;
    font-weight: 700;
    font-size: 1.75rem;
}

.theme-new .af-stat-card span,
.theme-new .af-stat-card .small,
.theme-new .af-stat-card .mt-2.text-info {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-stat-card .text-warning {
    color: var(--af-new-accent) !important;
}

.theme-new .af-stat-card .text-success {
    color: var(--af-new-success) !important;
}

.theme-new .af-stat-card .border-top.border-light {
    border-color: var(--af-new-border) !important;
}

.theme-new .af-stat-card .bg-primary.bg-opacity-10,
.theme-new .af-stat-card .bg-warning.bg-opacity-10,
.theme-new .af-stat-card .bg-danger.bg-opacity-10,
.theme-new .af-stat-card .bg-info.bg-opacity-10,
.theme-new .af-stat-card .bg-success.bg-opacity-10 {
    background: #e8eef8 !important;
    border-radius: var(--af-new-radius);
}

.theme-new .af-stat-card i.fas.fa-2x,
.theme-new .af-stat-card i.fas.fa-2x.text-primary,
.theme-new .af-stat-card i.fas.fa-2x.text-info,
.theme-new .af-stat-card i.fas.fa-2x.text-danger {
    color: var(--af-new-primary) !important;
}

.theme-new .af-stat-card.af-stat-alert i.fas.fa-2x.text-warning {
    color: var(--af-new-primary) !important;
}

.theme-new .af-stat-card.af-stat-success i.fas.fa-2x.text-success {
    color: var(--af-new-success) !important;
}

.theme-new .af-stat-card i.fas.text-info:not(.fa-2x) {
    color: var(--af-new-primary) !important;
}

.theme-new .af-stat-card .progress {
    background: var(--af-new-surface-muted);
}

.theme-new .af-stat-card .progress-bar.bg-info {
    background: var(--af-new-primary) !important;
}

.theme-new .af-stat-card .alert-danger {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #92400e;
}

.theme-new .af-stat-card .bg-dark.bg-opacity-25 {
    background: var(--af-new-surface-muted) !important;
}

.theme-new .af-stat-card .small.text-white,
.theme-new .af-stat-card .text-white:not(.card) {
    color: var(--af-new-text) !important;
}

.theme-new .af-stat-card a[href][style],
.theme-new .af-stat-card button[style],
.theme-new .af-stat-card a.af-btn-primary,
.theme-new .af-stat-card button.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-stat-card a[href][style]:hover,
.theme-new .af-stat-card button[style]:hover,
.theme-new .af-stat-card a.af-btn-primary:hover,
.theme-new .af-stat-card button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* ---- Workforce status widgets (beats page-local dark glass styles) ---- */
.theme-new .af-workforce-widgets {
    background: var(--af-new-bg);
}

.theme-new .af-workforce-widgets h3.text-white {
    color: var(--af-new-text-heading-dark);
    font-weight: 700;
}

.theme-new .af-workforce-widgets .glass-card.af-card,
.theme-new .af-workforce-widgets .af-tile-card {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: var(--af-new-text);
}

.theme-new .af-workforce-widgets .glass-card:hover,
.theme-new .af-workforce-widgets .af-tile-card:hover {
    transform: none !important;
    box-shadow: var(--af-dash-shadow-hover, var(--af-new-shadow-hover)) !important;
}

.theme-new .af-workforce-widgets .border-start.border-success {
    border-left-color: var(--af-new-success) !important;
}

.theme-new .af-workforce-widgets .border-start.border-warning {
    border-left-color: var(--af-new-border) !important;
}

.theme-new .af-workforce-widgets .border-start.border-danger {
    border-left-color: var(--af-new-accent) !important;
}

.theme-new .af-workforce-widgets .border-start.border-info {
    border-left-color: var(--af-new-primary) !important;
}

.theme-new .af-workforce-widgets .card-title {
    color: var(--af-new-text) !important;
    font-weight: 700;
}

.theme-new .af-workforce-widgets .card-title.text-success,
.theme-new .af-workforce-widgets .card-title.text-success i {
    color: var(--af-new-success) !important;
}

.theme-new .af-workforce-widgets .card-title.text-danger,
.theme-new .af-workforce-widgets .card-title.text-danger i,
.theme-new .af-workforce-widgets .card-title.text-warning,
.theme-new .af-workforce-widgets .card-title.text-warning i,
.theme-new .af-workforce-widgets .card-title.text-info,
.theme-new .af-workforce-widgets .card-title.text-info i {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-workforce-widgets .card-title i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-workforce-widgets .border-success .card-title i.fas {
    color: var(--af-new-success) !important;
}

.theme-new .af-workforce-widgets .list-group-item.text-white,
.theme-new .af-workforce-widgets .nurse-name,
.theme-new .af-workforce-widgets .nurse-meta {
    color: var(--af-new-text) !important;
}

.theme-new .af-workforce-widgets .nurse-meta {
    color: var(--af-new-text-muted) !important;
    opacity: 1;
}

.theme-new .af-workforce-widgets .pill-time {
    color: var(--af-new-text-muted);
    background: var(--af-new-surface-muted);
    border-color: var(--af-new-border);
}

.theme-new .af-workforce-widgets .badge.bg-success {
    background: #dcfce7 !important;
    color: #15803d !important;
}

.theme-new .af-workforce-widgets .badge.bg-warning {
    background: var(--af-new-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-workforce-widgets .badge.bg-danger {
    background: #fef3c7 !important;
    color: #b45309 !important;
}

.theme-new .af-workforce-widgets .badge.bg-info {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

.theme-new .af-workforce-widgets .btn-outline-success,
.theme-new .af-workforce-widgets .btn-outline-warning,
.theme-new .af-workforce-widgets .btn-outline-danger {
    color: var(--af-new-primary) !important;
    border-color: var(--af-new-border) !important;
    background: var(--af-new-surface) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-workforce-widgets .btn-outline-success:hover,
.theme-new .af-workforce-widgets .btn-outline-warning:hover,
.theme-new .af-workforce-widgets .btn-outline-danger:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: var(--af-new-primary-hover) !important;
}

/* ---- Tile system: unified icons, borders, shadows ---- */
.theme-new .af-admin-dashboard .af-tile-card,
.theme-new .af-new-modules .af-tile-card,
.theme-new .af-module-dashboard .af-tile-card,
.theme-new .af-module-dashboard .af-module-card {
    background: var(--af-dash-surface, var(--af-new-surface));
    border: 1px solid var(--af-dash-border, var(--af-new-border));
    border-radius: var(--af-new-radius-card);
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow));
}

.theme-new .af-tile-card {
    border-color: var(--af-new-border);
    box-shadow: var(--af-new-shadow);
}

.theme-new .af-tile-card.border-success,
.theme-new .af-tile-card.border-info,
.theme-new .af-tile-card.border-warning,
.theme-new .af-tile-card.border-danger,
.theme-new .af-tile-card.border-0 {
    border-color: var(--af-new-border);
}

.theme-new .af-tile-card.admin-section-card,
.theme-new .af-tile-card[style*="border-left"] {
    border-left: 3px solid var(--af-new-primary);
}

.theme-new .af-tile-card[style*="box-shadow"] {
    box-shadow: var(--af-new-shadow);
}

/* Icons: primary blue default; green for clinical / on-duty success only */
.theme-new .af-admin-dashboard .af-tile-card i,
.theme-new .af-new-modules .af-tile-card i,
.theme-new .af-module-dashboard .af-tile-card i,
.theme-new .af-tile-card .feature-icon i,
.theme-new .af-tile-icon-wrap i,
.theme-new .af-tile-card i.fas,
.theme-new .af-tile-card i.far,
.theme-new .af-tile-card i.fa-2x {
    color: var(--af-new-primary);
}

.theme-new .af-admin-dashboard .af-tile-card i[style],
.theme-new .af-new-modules .af-tile-card i[style],
.theme-new .af-module-dashboard .af-tile-card i[style],
.theme-new .af-tile-card .feature-icon i[style],
.theme-new .af-tile-icon-wrap i[style],
.theme-new .af-tile-card i.fas[style],
.theme-new .af-tile-card i.far[style],
.theme-new .af-tile-card i.fa-2x[style],
.theme-new .af-new-modules .af-tile-card i.text-success,
.theme-new .af-new-modules .af-tile-card i.text-info,
.theme-new .af-new-modules .af-tile-card i.text-warning,
.theme-new .af-new-modules .af-tile-card i.text-danger,
.theme-new .af-new-modules .af-tile-card i.text-primary {
    color: var(--af-new-primary) !important;
}

.theme-new .af-tile-card.af-tile-clinical i,
.theme-new .af-tile-card.af-tile-clinical i.fas,
.theme-new .af-tile-icon-clinical,
.theme-new .af-tile-card.af-tile-accent-success i,
.theme-new .af-module-dashboard .af-tile-card.af-tile-accent-success i {
    color: var(--af-new-primary) !important;
}

.theme-new .af-tile-card.af-tile-accent-warning i,
.theme-new .af-stat-card.af-stat-alert i.fas:not(.fa-2x) {
    color: var(--af-new-primary) !important;
}

/* Admin dashboard icons — blue default; green only for success / on-duty */
.theme-new .af-admin-dashboard i.fas,
.theme-new .af-admin-dashboard i.far,
.theme-new .af-new-modules i.fas,
.theme-new .af-new-modules i.far {
    color: var(--af-new-primary) !important;
}

.theme-new .af-admin-dashboard .af-stat-success i.fas,
.theme-new .af-admin-dashboard .af-stat-success i.far,
.theme-new .af-workforce-widgets .border-success .card-title i.fas,
.theme-new .af-admin-dashboard .online-users-list i.fas.text-success {
    color: var(--af-new-success) !important;
}

/* Stat card icon wells — neutral blue tint */
.theme-new .af-admin-dashboard .bg-primary.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-warning.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-danger.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-info.bg-opacity-10,
.theme-new .af-admin-dashboard .bg-success.bg-opacity-10 {
    background: #eff6ff !important;
}

.theme-new .af-admin-dashboard .af-tile-card .text-info {
    color: var(--af-new-text-muted) !important;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.theme-new .af-new-modules .af-tile-card .card-title.text-white,
.theme-new .af-new-modules .af-tile-card h4.card-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700;
}

.theme-new .af-new-modules .af-tile-card .card-text.text-white,
.theme-new .af-admin-dashboard .af-tile-card .card-text,
.theme-new .af-admin-dashboard .af-tile-card p:not(.small):not(.text-warning),
.theme-new .af-new-modules .af-tile-card .card-text,
.theme-new .af-module-dashboard .af-tile-card .card-text {
    color: var(--af-new-text-desc) !important;
    font-weight: 500;
    line-height: 1.55;
}

.theme-new .af-admin-dashboard .af-tile-card h3 {
    color: var(--af-new-text);
    font-weight: 700;
}

.theme-new .af-admin-dashboard .af-tile-card .text-warning {
    color: var(--af-new-accent);
}

/* Tile typography on light cards */
.theme-new .af-admin-dashboard .af-tile-card .card-title,
.theme-new .af-admin-dashboard .af-tile-card h4,
.theme-new .af-new-modules .af-tile-card .card-title,
.theme-new .af-new-modules .af-tile-card h4,
.theme-new .af-module-dashboard .af-tile-card .card-title {
    color: var(--af-new-text-heading-light);
    font-weight: 700;
}

.theme-new .af-admin-dashboard .af-tile-card .text-white,
.theme-new .af-new-modules .af-tile-card .text-white {
    color: var(--af-new-text-heading-light);
}

/* Module tile icons — flat primary blue (no per-tile colours) */
.theme-new .af-new-modules .af-tile-card .feature-icon i,
.theme-new .af-new-modules .af-tile-card .af-tile-icon-wrap i,
.theme-new .af-new-modules .af-tile-card .af-tile-icon,
.theme-new .af-new-modules .af-tile-card i.fas,
.theme-new .af-new-modules .af-tile-card i.far,
.theme-new .af-new-modules .af-tile-card i.fas::before,
.theme-new .af-new-modules .af-tile-card i.far::before,
.theme-new .af-new-modules .af-tile-card i.fas.fa-2x,
.theme-new .af-new-modules .af-tile-card i.fas[style],
.theme-new .af-new-modules .af-tile-card i.fas.text-success,
.theme-new .af-new-modules .af-tile-card i.fas.text-info,
.theme-new .af-new-modules .af-tile-card i.fas.text-warning,
.theme-new .af-new-modules .af-tile-card i.fas.text-danger,
.theme-new .af-new-modules .af-tile-card i.fas.text-primary {
    color: var(--af-new-primary) !important;
}

.theme-new .af-new-modules .af-tile-card.af-tile-clinical .feature-icon i,
.theme-new .af-new-modules .af-tile-card.af-tile-clinical i.fas,
.theme-new .af-new-modules .af-tile-card.af-tile-clinical i.far,
.theme-new .af-new-modules .af-tile-card i.af-tile-icon-clinical {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

/* Buttons inside admin / module tiles — outlined blue */
.theme-new .af-admin-dashboard .af-tile-card a,
.theme-new .af-new-modules .af-tile-card a,
.theme-new .af-module-dashboard .af-tile-card a,
.theme-new .af-admin-dashboard .af-tile-card .btn,
.theme-new .af-new-modules .af-tile-card .btn,
.theme-new .af-admin-dashboard .af-tile-card button[style] {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    padding: 0.55rem 1.15rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-admin-dashboard .af-tile-card a:hover,
.theme-new .af-new-modules .af-tile-card a:hover,
.theme-new .af-module-dashboard .af-tile-card a:hover,
.theme-new .af-admin-dashboard .af-tile-card button[style]:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-module-dashboard .af-tile-card a.af-btn-success,
.theme-new .af-module-dashboard .btn-success.af-btn-success {
    background: var(--af-new-success) !important;
    border-color: var(--af-new-success-hover) !important;
}

.theme-new .af-module-dashboard .btn-outline-primary,
.theme-new .af-module-dashboard .btn-outline-info,
.theme-new .af-module-dashboard .btn-outline-success {
    background: transparent !important;
    color: var(--af-new-text-on-dark) !important;
    border: 1px solid rgba(148, 163, 184, 0.35) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-module-dashboard .btn-outline-primary:hover,
.theme-new .af-module-dashboard .btn-outline-info:hover,
.theme-new .af-module-dashboard .btn-outline-success:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    color: #fff !important;
    border-color: rgba(148, 163, 184, 0.5) !important;
}

.theme-new .af-module-dashboard {
    background: var(--af-new-bg);
    padding-bottom: 2rem;
}

.theme-new .af-module-dashboard h2.text-white {
    color: var(--af-new-text-on-dark);
    font-weight: 700;
}

/* ============================================================
   New Theme: override inline tile + nav styles (Classic safe)
   Uses !important only to beat legacy inline style="" attrs.
   ============================================================ */

/* Icons — all module tiles default to primary blue */
.theme-new .af-admin-dashboard .af-tile-card i.fas,
.theme-new .af-admin-dashboard .af-tile-card i.far,
.theme-new .af-new-modules .af-tile-card i.fas,
.theme-new .af-new-modules .af-tile-card i.far,
.theme-new .af-admin-dashboard .af-tile-icon,
.theme-new .af-new-modules .af-tile-icon,
.theme-new .af-new-modules .af-tile-card i.fas::before,
.theme-new .af-new-modules .af-tile-card i.far::before,
.theme-new .af-admin-dashboard .af-tile-card h5 i.fas[style],
.theme-new .af-admin-dashboard .af-tile-card .feature-icon i.fas {
    color: var(--af-new-primary) !important;
}

/* Healthcare / clinical module tiles use primary blue (not green) */
.theme-new .af-tile-card.af-tile-clinical i.fas,
.theme-new .af-tile-card.af-tile-clinical i.far,
.theme-new .af-tile-icon-clinical {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

/* Buttons — neutralise inline gradients + JS hover colours */
.theme-new .af-admin-dashboard .af-tile-card a[href][style],
.theme-new .af-new-modules .af-tile-card a[href][style],
.theme-new .af-admin-dashboard .af-tile-card a.af-btn-primary,
.theme-new .af-new-modules .af-tile-card a.af-btn-primary,
.theme-new .af-admin-dashboard .af-tile-card button.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    padding: 0.55rem 1.15rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-admin-dashboard .af-tile-card a[href][style]:hover,
.theme-new .af-new-modules .af-tile-card a[href][style]:hover,
.theme-new .af-admin-dashboard .af-tile-card a[href][style]:focus,
.theme-new .af-new-modules .af-tile-card a[href][style]:focus,
.theme-new .af-admin-dashboard .af-tile-card a.af-btn-primary:hover,
.theme-new .af-new-modules .af-tile-card a.af-btn-primary:hover,
.theme-new .af-admin-dashboard .af-tile-card button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* Inline badges on tiles → theme pills */
.theme-new .af-admin-dashboard .af-tile-card .af-new-badge[style],
.theme-new .af-new-modules .af-tile-card .af-new-badge[style],
.theme-new .af-admin-dashboard .af-tile-card .badge[style],
.theme-new .af-new-modules .af-tile-card .badge[style] {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    font-weight: 600 !important;
}

.theme-new .af-tile-card .af-pill-warning[style],
.theme-new .af-tile-card .badge[style*="193,7"],
.theme-new .af-tile-card .badge[style*="255,107"] {
    background: #fef3c7 !important;
    color: #b45309 !important;
    border: 1px solid #fcd34d !important;
}

.theme-new .af-tile-card .af-pill-danger[style],
.theme-new .af-tile-card .badge[style*="dc3545"] {
    background: #fee2e2 !important;
    color: #b91c1c !important;
    border: 1px solid #fca5a5 !important;
}

.theme-new .af-tile-card .af-pill-neutral[style] {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

/* Navbar — calm, no neon */
.theme-new .af-navbar.main-navbar {
    background: #2563eb;
    border-bottom: 1px solid #1d4ed8;
}

.theme-new .af-navbar .nav-link.nav-glossy,
.theme-new .af-navbar .btn-nav-glossy {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 500;
}

.theme-new .af-navbar .nav-link.nav-glossy i,
.theme-new .af-navbar .btn-nav-glossy i {
    color: inherit !important;
}

.theme-new .af-navbar .nav-link.nav-glossy:hover,
.theme-new .af-navbar .nav-link.nav-glossy.active {
    background: rgba(255, 255, 255, 0.16) !important;
    color: #fff !important;
}

.theme-new .af-navbar .btn-nav-glossy {
    background: rgba(255, 255, 255, 0.12) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.theme-new .af-navbar .btn-nav-glossy:hover {
    background: rgba(255, 255, 255, 0.2) !important;
}

.theme-new .af-navbar .badge,
.theme-new .af-navbar .badge.bg-danger {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #fff !important;
    border: none;
    font-weight: 600;
}

.theme-new .af-navbar .text-warning,
.theme-new .af-navbar .fa-crown.text-warning {
    color: #fde68a !important;
}

.theme-new .af-admin-dashboard .glass-card.af-card[style*="rgba(15,23,42"],
.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] {
    background: var(--af-dash-surface) !important;
    border-color: var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light);
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] h5,
.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] h5.text-white {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] span,
.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] #tcLoading,
.theme-new .af-admin-dashboard .af-tile-card[style*="background:rgba"] #tcEmpty {
    color: var(--af-new-text-desc-neutral) !important;
}

/* Clock-In Timeline widget — lives outside .af-admin-dashboard; light card needs dark labels */
.theme-new .glass-card.af-card.af-tile-card[style*="rgba(15,23,42"],
.theme-new .af-tile-card[style*="background:rgba(15,23,42"] {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border-color: var(--af-dash-border, #bcc6d4) !important;
    box-shadow: var(--af-dash-shadow, 0 1px 3px rgba(15, 23, 42, 0.04)) !important;
}

.theme-new .glass-card.af-card.af-tile-card[style*="rgba(15,23,42"] h5.text-white,
.theme-new .af-tile-card[style*="background:rgba(15,23,42"] h5.text-white {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new #tcLastUpdate {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new #tcLoading,
.theme-new #tcEmpty {
    color: var(--af-new-text-desc-neutral) !important;
}

.theme-new .tc-name-text {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new #tcWidget .tc-ruler-label {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new #tcWidget .tc-ruler-tick {
    background: rgba(15, 23, 42, 0.12) !important;
}

.theme-new #tcWidget .tc-track {
    background: rgba(15, 23, 42, 0.06) !important;
}

/* Currently on Break widget — New Theme */
.theme-new .af-breaks-widget[style*="rgba(15,23,42"],
.theme-new .af-breaks-widget.af-tile-card[style*="background:rgba"] {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border-color: var(--af-dash-border, #bcc6d4) !important;
    box-shadow: var(--af-dash-shadow, 0 1px 3px rgba(15, 23, 42, 0.04)) !important;
}

.theme-new .af-breaks-widget h5.text-white {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new #brLastUpdate {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new #brLoading,
.theme-new #brEmpty {
    color: var(--af-new-text-desc-neutral) !important;
}

.theme-new .br-name-text {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .br-dept-badge {
    color: #c2410c !important;
    background: rgba(251, 146, 60, 0.14) !important;
    border-color: rgba(251, 146, 60, 0.35) !important;
}

.theme-new .br-row {
    background: rgba(15, 23, 42, 0.04) !important;
}

.theme-new .br-type-badge {
    color: var(--af-new-text-desc-neutral) !important;
}

.theme-new .br-detail {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .br-detail.is-overbreak {
    color: #b91c1c !important;
}

.theme-new .br-row.is-overbreak {
    background: rgba(239, 68, 68, 0.1) !important;
    border: 1px solid rgba(239, 68, 68, 0.35) !important;
}

.theme-new .af-breaks-widget a[href] {
    color: #c2410c !important;
}

.theme-new .af-employee-portal .btn-gradient-admin {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-employee-portal .btn-gradient-admin:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new.af-app .text-gradient {
    background: linear-gradient(90deg, #2563eb 0%, #3b82f6 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.theme-new.af-app .today-date {
    background: #eff6ff;
    color: var(--af-new-primary);
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius);
}

/* ---- Employee portal (mobile-first) — page shell + admin tile parity ---- */
.theme-new .af-employee-portal-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    --af-dash-shadow-hover: 0 2px 10px rgba(15, 23, 42, 0.07);
    padding: 2.5rem 1.25rem 3.5rem;
    max-width: 100%;
}

.theme-new .af-employee-portal-page .welcome-container h2,
.theme-new .af-employee-portal-page .welcome-container h2 span,
.theme-new .af-employee-portal .welcome-container h2,
.theme-new .af-employee-portal .welcome-container h2 span {
    color: var(--af-new-text-heading-dark) !important;
}

.theme-new .af-employee-portal-page .welcome-container p,
.theme-new .af-employee-portal-page .welcome-container p[style],
.theme-new .af-employee-portal .welcome-container p,
.theme-new .af-employee-portal .welcome-container p[style*="a3d5ff"] {
    color: #94a3b8 !important;
}

.theme-new .af-employee-portal-page .welcome-container h2 span[style*="ffd60a"],
.theme-new .af-employee-portal .welcome-container h2 span[style*="ffd60a"] {
    color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal .wave-hand-container {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.theme-new .af-employee-portal-page h4.text-center.text-white,
.theme-new .af-employee-portal-page .af-employee-portal-heading,
.theme-new .af-employee-portal-page .af-employee-portal-heading i,
.theme-new .af-employee-portal h4.text-center.text-white,
.theme-new .af-employee-portal .af-employee-portal-heading,
.theme-new .af-employee-portal .af-employee-portal-heading i {
    color: var(--af-new-text-heading-dark) !important;
}

.theme-new .af-employee-portal-page .af-employee-portal-heading i[style],
.theme-new .af-employee-portal .af-employee-portal-heading i[style] {
    color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules {
    --bs-gutter-y: 1.5rem;
    margin-top: 0.25rem;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card,
.theme-new .af-employee-portal-page .af-employee-modules .card.glass-card.af-card.af-tile-card,
.theme-new .af-employee-portal-page .af-employee-modules .glass-card.af-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card[style*="box-shadow"] {
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card:hover {
    box-shadow: var(--af-dash-shadow-hover) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-body {
    padding: 1.5rem;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-title.text-white,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card h4.card-title,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card h5.fw-bold {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-text.text-white,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-text,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card p.card-text {
    color: var(--af-new-text-desc) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a[href][style],
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a.af-btn-primary,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card button[style],
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .btn-gradient-admin {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    padding: 0.55rem 1.15rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a[href][style]:hover,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a[href][style]:focus,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a.af-btn-primary:hover,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card button[style]:hover,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .btn-gradient-admin:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal .admin-section-card {
    border-left-color: var(--af-new-primary);
}

/* Admin quick-link icons (non-tile rows) — blue only */
.theme-new .af-admin-dashboard i.fas[style*="color"],
.theme-new .af-employee-portal .row i.fas[style*="color"] {
    color: var(--af-new-primary) !important;
}

.theme-new .af-admin-dashboard .af-stat-success i.fas[style*="color"],
.theme-new .af-admin-dashboard .af-tile-clinical i.fas[style*="color"],
.theme-new .af-admin-dashboard .online-users-list i.fas.text-success {
    color: var(--af-new-success) !important;
}

.theme-new .af-employee-portal-page .policy-status-card,
.theme-new .af-employee-portal-page .policy-card-inner,
.theme-new .af-employee-portal .policy-status-card,
.theme-new .af-employee-portal .policy-card-inner {
    background: var(--af-dash-surface, var(--af-new-surface));
    border: 1px solid var(--af-dash-border, var(--af-new-border));
    border-radius: var(--af-new-radius-card);
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow));
    color: var(--af-new-text);
}

@media (max-width: 480px) {
    .theme-new .af-employee-portal-page {
        padding: 1.5rem 0.75rem 2.5rem;
    }

    .theme-new .af-employee-portal .row.text-center,
    .theme-new .af-employee-portal-page .af-employee-modules {
        margin-left: 0;
        margin-right: 0;
    }

    .theme-new .af-employee-portal .col-md-4,
    .theme-new .af-employee-portal-page .af-employee-modules .col-md-4 {
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    .theme-new .af-employee-portal .card.glass-card.af-card,
    .theme-new .af-employee-portal-page .af-employee-modules .af-tile-card {
        margin-bottom: 0.75rem;
    }

    .theme-new .af-employee-portal .card-body,
    .theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-body {
        padding: 1.15rem;
    }

    .theme-new .af-employee-portal .af-btn-primary,
    .theme-new .af-employee-portal a.af-btn-primary,
    .theme-new .af-employee-portal .af-btn-success,
    .theme-new .af-employee-portal .card-body a[style*="linear-gradient"],
    .theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a[href][style],
    .theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a.af-btn-primary {
        width: 100%;
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }

    .theme-new .af-theme-toggle-wrap {
        flex-wrap: wrap;
        justify-content: center;
    }
}

/* ---- Schedule page ---- */
.theme-new .af-schedule-page.container.my-4 {
    max-width: 100%;
    width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.theme-new .af-schedule-page h2 {
    color: var(--af-new-text);
    font-weight: 700;
}

.theme-new .af-schedule-page .form-label {
    color: var(--af-new-text);
    font-weight: 600;
}

.theme-new .af-schedule-page .form-select,
.theme-new .af-schedule-page .form-control {
    border-color: var(--af-new-border);
    border-radius: var(--af-new-radius);
    background: var(--af-new-surface);
    color: var(--af-new-text);
}

.theme-new .af-schedule-page .alert-info {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1e40af;
}

.theme-new .af-schedule-page .alert-warning {
    background: #fffbeb;
    border-color: #fcd34d;
    color: #92400e;
}

.theme-new .af-schedule-page #calendar {
    background: var(--af-new-surface);
    border: 1px solid var(--af-new-border);
    border-radius: var(--af-new-radius-card);
    box-shadow: var(--af-new-shadow);
    padding: 0.75rem;
}

.theme-new .af-schedule-page .af-week-publish-status-panel {
    background: var(--af-new-surface);
    border: 1px solid var(--af-new-border);
    border-radius: var(--af-new-radius-card);
    box-shadow: var(--af-new-shadow);
    overflow: hidden;
}

.theme-new .af-schedule-page .af-week-publish-status-panel .card-header {
    background: var(--af-new-surface-muted);
    border-bottom: 1px solid var(--af-new-border);
    color: var(--af-new-primary);
}

.theme-new .af-schedule-page .af-week-publish-status-panel .card-header h5,
.theme-new .af-schedule-page .af-week-publish-status-panel__title,
.theme-new .af-schedule-page .af-week-publish-status-panel__subtitle {
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-page .af-publish-matrix {
    color: var(--af-new-text);
    --bs-table-bg: var(--af-new-surface);
    --bs-table-color: var(--af-new-text);
    --bs-table-border-color: var(--af-new-border);
    --bs-table-striped-bg: var(--af-new-surface-muted);
    --bs-table-hover-bg: var(--af-new-surface-muted);
}

.theme-new .af-schedule-page .af-publish-matrix-dept-col {
    background: var(--af-new-surface-muted);
    color: var(--af-new-text);
    border-color: var(--af-new-border);
}

.theme-new .af-schedule-page .af-publish-week-col--selected,
.theme-new .af-schedule-page .af-publish-matrix-cell.af-publish-week-col--selected {
    box-shadow: inset 0 0 0 2px var(--af-new-primary, #2563eb);
    background: rgba(37, 99, 235, 0.08);
}

.theme-new .af-schedule-page .af-publish-dept-row--selected .af-publish-matrix-dept-col {
    border-left: 3px solid var(--af-new-primary, #2563eb);
    font-weight: 700;
}

.theme-new .af-schedule-page .af-publish-cell--highlight {
    background: rgba(245, 158, 11, 0.12);
}

.theme-new .af-schedule-page .af-publish-matrix-legend {
    background: var(--af-new-surface-muted);
    border-top: 1px solid var(--af-new-border);
    color: var(--af-new-text-muted);
}

.theme-new .af-schedule-page .af-publish-matrix-legend-note {
    color: var(--af-new-primary);
}

.theme-new .af-schedule-page .af-publish-cell-link {
    color: inherit;
}

.theme-new .af-schedule-page .af-publish-risk-icon {
    color: #dc2626;
}

.theme-new .af-schedule-page .fc-theme-standard td,
.theme-new .af-schedule-page .fc-theme-standard th {
    border-color: var(--af-new-border);
}

.theme-new .af-schedule-page .fc-col-header-cell {
    background: var(--af-new-surface-muted);
    color: var(--af-new-text);
}

.theme-new .af-schedule-page .fc-daygrid-day-number {
    color: var(--af-new-text-muted);
}

.theme-new .af-schedule-page .af-draft-overlay-legend {
    color: var(--af-new-text-muted);
}

.theme-new .af-schedule-page .af-legend-removal {
    display: none;
}

.theme-new .af-schedule-page .form-check-label {
    color: var(--af-new-text);
}

.theme-new .af-schedule-page .fc-event.af-draft-overlay-event {
    border-style: dashed !important;
    border-width: 2px !important;
    background: #fff8e1 !important;
    color: #212529 !important;
}

.theme-new .af-schedule-page .fc-event.af-live-not-in-draft-event {
    opacity: 0.5;
    text-decoration: line-through;
    border-style: dotted !important;
}

.theme-new .af-schedule-page .fc-button-primary {
    background: var(--af-new-primary);
    border-color: var(--af-new-primary-hover);
    border-radius: var(--af-new-radius);
}

.theme-new .af-schedule-page .fc-button-primary:hover {
    background: var(--af-new-primary-hover);
}

.theme-new .af-schedule-page .table thead tr {
    background: var(--af-new-surface-muted);
    color: var(--af-new-text);
}

.theme-new .af-schedule-page .table-bordered th,
.theme-new .af-schedule-page .table-bordered td {
    border-color: var(--af-new-border);
}

@media (max-width: 700px) {
    .theme-new .af-schedule-page .filter-responsive .btn {
        width: 100%;
    }

    .theme-new .af-schedule-page #calendar {
        padding: 0.5rem;
        border-radius: var(--af-new-radius);
    }
}

/* Override page-local dark body style in schedule.html (Classic keeps its own) */
.theme-new.af-app .af-schedule-page {
    background: transparent;
}

/* ---- Schedule rota page: dashboard-style sections (New Theme) ---- */
.theme-new.af-app:has(.af-schedule-rota) {
    background-color: var(--af-new-bg);
}

.theme-new .af-schedule-page.af-schedule-rota {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    --af-dash-shadow-hover: 0 2px 10px rgba(15, 23, 42, 0.07);
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-schedule-page .af-schedule-title {
    color: var(--af-new-primary) !important;
    font-weight: 700;
}

/* Schedule period: Classic keeps d.m.Y; New Theme shows d/m – d/m Y */
.af-schedule-period-new {
    display: none;
}

.theme-new .af-schedule-period-classic {
    display: none;
}

.theme-new .af-schedule-period-new {
    display: inline;
}

.theme-new .af-schedule-page .af-schedule-period-alert .af-schedule-period-label,
.theme-new .af-schedule-page .af-schedule-period-alert .af-schedule-period-new {
    color: var(--af-new-primary) !important;
    font-weight: 600;
}

.theme-new .af-schedule-page .af-schedule-period-alert .af-schedule-period-label {
    margin-right: 0.35rem;
}

/* Calendar period heading above grid (replaces FullCalendar toolbar title in New Theme) */
.af-schedule-calendar-period-heading {
    display: none;
}

.theme-new .af-schedule-page .af-schedule-calendar-period-heading {
    display: block;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--af-new-primary) !important;
    letter-spacing: 0.01em;
    margin-bottom: 0.5rem !important;
}

.theme-new .af-schedule-page .af-schedule-calendar-period-new {
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-page .fc .fc-toolbar-title {
    display: none !important;
}

/* Add Shift (filters row): blue outline like other primary actions — Classic unchanged */
.theme-new .af-schedule-page .af-schedule-filters button[data-bs-target="#addShiftModal"].af-btn-success {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    padding: 0.45rem 0.95rem !important;
    min-width: 0 !important;
}

.theme-new .af-schedule-page .af-schedule-filters button[data-bs-target="#addShiftModal"].af-btn-success i {
    color: inherit !important;
}

.theme-new .af-schedule-page .af-schedule-filters button[data-bs-target="#addShiftModal"].af-btn-success:hover,
.theme-new .af-schedule-page .af-schedule-filters button[data-bs-target="#addShiftModal"].af-btn-success:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* Light cards on schedule pages: no white/light text on pale surfaces */
.theme-new .af-schedule-page .af-schedule-filters .form-label,
.theme-new .af-schedule-page .af-schedule-table-card .card-header,
.theme-new .af-schedule-page .af-schedule-table-card .card-body,
.theme-new .af-schedule-page .af-schedule-table-card h4,
.theme-new .af-schedule-page .af-schedule-table-card h5,
.theme-new .af-schedule-page .af-schedule-table-card .text-light {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-schedule-page .af-schedule-table-card .text-muted {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-page .af-schedule-filters {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
    padding: 1rem 1.15rem;
}

.theme-new .af-schedule-page .af-schedule-toolbar {
    gap: 0.75rem;
}

.theme-new .af-schedule-page #publishStatusBadge.alert-warning {
    border-radius: var(--af-new-radius);
}

.theme-new .af-schedule-page .af-schedule-period-alert {
    border-radius: var(--af-new-radius);
}

.theme-new .af-schedule-page .af-schedule-actions {
    gap: 0.65rem;
}

.theme-new .af-schedule-page .af-schedule-calendar-wrap #calendar {
    margin-bottom: 0;
}

.theme-new .af-schedule-page .fc-day-today {
    background: rgba(37, 99, 235, 0.06) !important;
}

.theme-new .af-schedule-page .fc-col-header-cell-cushion {
    color: var(--af-new-text) !important;
    text-decoration: none !important;
}

.theme-new .af-schedule-page .af-schedule-table-card {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
    overflow: hidden;
}

.theme-new .af-schedule-page .af-schedule-table-card .af-schedule-table-card__header {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    color: var(--af-new-text-heading-light) !important;
    border-bottom: 1px solid var(--af-dash-border, var(--af-new-border));
    font-weight: 700;
}

.theme-new .af-schedule-page .af-schedule-table-card .card-body {
    background: var(--af-dash-surface, var(--af-new-surface));
    color: var(--af-new-text);
}

.theme-new .af-schedule-page .af-schedule-table-card .table thead.table-dark {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-page .af-schedule-table-card .table thead.table-dark th {
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-schedule-page .af-schedule-table-card .text-muted {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-page .modal-content.glass-modal .modal-body .text-light,
.theme-new .af-schedule-page .modal-content.af-modal .modal-body .text-light,
.theme-new .af-schedule-page .modal-content.glass-modal .modal-body p.text-light {
    color: var(--af-new-text) !important;
}

/* (removed: white titles on gradient headers — af-schedule-modal block below uses New Theme colours) */

/* Schedule modals: reliable interaction (Bootstrap 5 backdrop is on body) */
.theme-new .af-schedule-page .modal.show,
.theme-new .af-schedule-manual-page .modal.show {
    z-index: 99999 !important;
}

.theme-new .af-schedule-page .modal-dialog,
.theme-new .af-schedule-manual-page .modal-dialog {
    pointer-events: auto !important;
}

/* ---- Schedule modals: unified shell + buttons (New Theme) ---- */
.theme-new .af-schedule-page .af-schedule-modal.modal-content {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-schedule-page .af-schedule-modal.bg-dark,
.theme-new .af-schedule-page .af-schedule-modal.text-light {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border, var(--af-new-border)) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-header,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.bg-success,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.bg-danger,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.bg-warning,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.bg-secondary,
.theme-new .af-schedule-page .af-schedule-modal .modal-header[style*="linear-gradient"] {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-title,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.text-white .modal-title,
.theme-new .af-schedule-page .af-schedule-modal .modal-header.text-dark .modal-title {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-header .modal-title i,
.theme-new .af-schedule-page .af-schedule-modal .modal-header i.fas,
.theme-new .af-schedule-page .af-schedule-modal .modal-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-header .btn-close,
.theme-new .af-schedule-page .af-schedule-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-header .btn-close:hover,
.theme-new .af-schedule-page .af-schedule-modal .modal-header .btn-close-white:hover {
    opacity: 0.85;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .text-light,
.theme-new .af-schedule-page .af-schedule-modal .modal-body p.text-light,
.theme-new .af-schedule-page .af-schedule-modal .modal-body small.text-white {
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .form-label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .form-select,
.theme-new .af-schedule-page .af-schedule-modal .modal-body .form-control {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .shift-detail-label {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .shift-detail-value {
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-body .text-secondary {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-avatar {
    background: linear-gradient(135deg, #dbeafe 0%, #eff6ff 100%) !important;
    color: var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-schedule-page .af-schedule-modal .modal-footer {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    border-top: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
}

/* Modal buttons: primary outline (Cancel, Add, Swap, Mark, Close, OK) */
.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-primary,
.theme-new .af-schedule-page .af-schedule-modal a.af-btn-primary,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 0;
}

.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger) i,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-primary:not(.af-btn-danger) i {
    color: inherit !important;
}

.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):focus,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-primary:not(.af-btn-danger):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* Modal buttons: danger outline (Delete, destructive restore/delete-all) */
.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-danger,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 0;
}

.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-danger i,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-danger i {
    color: inherit !important;
}

.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-danger:hover,
.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-danger:focus,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* Publish modal: success confirm → primary blue outline in New Theme */
.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-success,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-success {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-schedule-page .af-schedule-modal .btn.af-btn-success:hover,
.theme-new .af-schedule-page .af-schedule-modal button.af-btn-success:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* In-modal alerts on schedule page */
.theme-new .af-schedule-page .af-schedule-modal .alert-info,
.theme-new .af-schedule-page #publishStatusMsg .alert-info,
.theme-new .af-schedule-page .af-schedule-period-alert.alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: var(--af-new-primary) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .alert-success,
.theme-new .af-schedule-page #publishStatusMsg .alert-success {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .alert-warning,
.theme-new .af-schedule-page #publishStatusMsg .alert-warning,
.theme-new .af-schedule-page #publishStatusBadge.alert-warning {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .alert-danger,
.theme-new .af-schedule-page #publishStatusMsg .alert-danger,
.theme-new .af-schedule-page #leaveErrorMessage.alert-danger {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-page .af-schedule-modal .alert-link {
    color: var(--af-new-primary) !important;
    font-weight: 600;
}

/* Schedule modals — beat page-local glass-modal white text (schedule + manual pages) */
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-modal.af-schedule-modal,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal.af-schedule-modal {
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body *,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-body *,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body * {
    color: inherit !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-header,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-header,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-header {
    padding: 1rem 1.25rem !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-title,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-title,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-title.text-white,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-title,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-title.text-light {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-body,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body {
    color: var(--af-new-text) !important;
    padding: 1.25rem !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body p,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body strong,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body b,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-body p,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body p,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body strong,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body b {
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .text-light,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body p.text-light,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark.text-light .modal-body,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body .text-light,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body h6.text-light {
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .text-muted,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body .text-muted,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal #employeeList .text-center.text-muted {
    color: var(--af-new-text-muted) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn-outline-light,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-footer .btn-outline-light,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn-outline-light {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn-outline-light:hover,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-footer .btn-outline-light:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn-outline-light:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-primary,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-footer .btn.af-btn-primary,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-primary,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-primary,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-primary:hover,
.theme-new body:has(.af-schedule-page) .modal-content.af-schedule-modal.bg-dark .modal-footer .btn.af-btn-primary:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-primary:hover,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-primary:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-secondary,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-secondary {
    color: var(--af-new-text-muted) !important;
    background: #fff !important;
    border: 2px solid var(--af-dash-border, var(--af-new-border)) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-success,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-success {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-success:hover,
.theme-new body:has(.af-schedule-page) .modal-content.glass-modal.af-schedule-modal .modal-body .btn.af-btn-success:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

/* ---- Review Draft / manual schedule (New Theme) ---- */
.theme-new .af-schedule-manual-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    max-width: 100%;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-schedule-manual-page .af-schedule-manual-header {
    display: none !important;
}

.theme-new .af-schedule-manual-page #publishStatusInfo,
.theme-new .af-schedule-manual-page #publishStatusInfo.text-light {
    color: var(--af-new-text-muted) !important;
    font-weight: 500;
}

.theme-new .af-schedule-manual-assigned-section {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    max-width: 100%;
}

.theme-new .af-schedule-manual-page .af-schedule-manual-title {
    color: var(--af-new-text-heading-dark) !important;
    font-weight: 700;
}

.theme-new .af-schedule-manual-page .af-schedule-manual-subtitle {
    color: #cbd5e1 !important;
}

.theme-new .af-schedule-manual-page .af-schedule-filters.glass-card,
.theme-new .af-schedule-manual-page .af-schedule-filters.filter-container {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-filters .form-label.text-light {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 600;
}

.theme-new .af-schedule-manual-page .af-schedule-filters .form-select.bg-dark {
    background: var(--af-new-surface) !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-schedule-manual-page #publishAllSummary {
    background: rgba(251, 146, 60, 0.12) !important;
    border-color: rgba(251, 146, 60, 0.35) !important;
    color: #9a3412 !important;
}

.theme-new .af-schedule-manual-page .af-schedule-stats .af-schedule-stat-tile,
.theme-new .af-schedule-manual-page .af-schedule-stats .stat-card {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-stats .stat-label {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-grid-wrap .day-column {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow));
}

.theme-new .af-schedule-manual-page .day-name {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-schedule-manual-page .day-date {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-manual-page .day-header {
    border-bottom-color: var(--af-new-border) !important;
}

.theme-new .af-schedule-manual-page .shift-slot {
    background: rgba(239, 68, 68, 0.08) !important;
    border-color: #f87171 !important;
}

.theme-new .af-schedule-manual-page .shift-slot.assigned {
    background: rgba(34, 197, 94, 0.1) !important;
    border-color: #22c55e !important;
}

.theme-new .af-schedule-manual-page .shift-name {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-schedule-manual-page .shift-time {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-schedule-manual-page .requirements {
    color: #dc2626 !important;
}

.theme-new .af-schedule-manual-page .requirements.met {
    color: #16a34a !important;
}

.theme-new .af-schedule-manual-page .employee-badge {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    color: var(--af-new-text) !important;
    border: 1px solid var(--af-new-border);
}

.theme-new .af-schedule-manual-page .employee-badge:hover {
    background: #eff6ff !important;
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-loading .text-light,
.theme-new .af-schedule-manual-page .af-schedule-empty .text-light,
.theme-new .af-schedule-manual-page .af-schedule-empty h4.text-light {
    color: var(--af-new-text-heading-dark) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-empty .text-muted {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-manual-page .af-schedule-assigned-panel {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow, var(--af-new-shadow)) !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel h4.text-light,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel h4.text-light {
    color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel h4 i,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel h4 i {
    color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .glass-card.p-3,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .glass-card.p-3 {
    background: var(--af-dash-surface-elevated, var(--af-new-surface-muted)) !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius) !important;
    color: var(--af-new-text) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .glass-card strong,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .glass-card strong {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .glass-card .text-muted,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .glass-card .text-muted {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-schedule-manual-assigned-section #assignedList .text-white,
.theme-new .af-schedule-manual-page #assignedList .text-white {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .badge.bg-success,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .badge.bg-success {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .badge.bg-warning.text-dark,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .badge.bg-warning.text-dark {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fcd34d !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .badge.bg-danger,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .badge.bg-danger {
    background: #fee2e2 !important;
    color: #991b1b !important;
    border: 1px solid #fca5a5 !important;
}

.theme-new .af-schedule-manual-assigned-section .af-schedule-assigned-panel .badge.bg-secondary,
.theme-new .af-schedule-manual-page .af-schedule-assigned-panel .badge.bg-secondary {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text-muted) !important;
    border: 1px solid var(--af-dash-border) !important;
}

/* Manual schedule modals (incl. dynamic info/confirm — appended to body) */
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal.af-schedule-modal,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-header {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    color: var(--af-new-text-heading-light) !important;
    padding: 1rem 1.25rem !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-title,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-title.text-light {
    color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-header i.fas,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-header .btn-close,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body {
    background: var(--af-dash-surface, var(--af-new-surface)) !important;
    color: var(--af-new-text) !important;
    padding: 1.25rem !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body p,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body h6,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body h6.text-light,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body .text-light {
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body .text-muted {
    color: var(--af-new-text-muted) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body .text-warning {
    color: #b45309 !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body .text-danger {
    color: #b91c1c !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-body .text-success {
    color: #15803d !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .modal-footer {
    background: var(--af-dash-surface-muted, var(--af-new-surface-muted)) !important;
    border-top: 1px solid var(--af-dash-border, var(--af-new-border)) !important;
    padding: 0.85rem 1.25rem !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .employee-item {
    color: var(--af-new-text) !important;
    background: #fff !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .employee-item:hover {
    background: rgba(37, 99, 235, 0.06) !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item.available {
    background: rgba(34, 197, 94, 0.08) !important;
    border-color: #86efac !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item.sick {
    background: rgba(245, 158, 11, 0.1) !important;
    border-color: #fcd34d !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item.holiday {
    background: rgba(14, 165, 233, 0.08) !important;
    border-color: #7dd3fc !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .employee-item.not_available {
    background: var(--af-dash-surface-muted) !important;
    border-color: var(--af-dash-border) !important;
    opacity: 1 !important;
}

.theme-new body:has(.af-schedule-manual-page) #employeeList .text-muted,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal #employeeList .text-muted {
    color: var(--af-new-text-muted) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .status-badge.bg-warning.text-dark {
    color: #92400e !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .status-badge:not(.bg-warning) {
    color: #fff !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .btn.af-btn-primary,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .btn.af-btn-primary:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .btn.af-btn-secondary,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal button.af-btn-secondary {
    color: var(--af-new-text-muted) !important;
    background: #fff !important;
    border: 2px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .btn.af-btn-secondary:hover,
.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal button.af-btn-secondary:hover {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-schedule-manual-page) .modal-content.glass-modal.af-modal .alert {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-schedule-manual-page .modal-content.glass-modal.af-modal .modal-title.text-light,
.theme-new .af-schedule-manual-page .modal-content.glass-modal.af-modal .text-light,
.theme-new .af-schedule-manual-page .modal-content.glass-modal.af-modal h6.text-light {
    color: var(--af-new-text) !important;
}

.theme-new .af-schedule-manual-page .modal-content.glass-modal.af-modal .text-muted {
    color: var(--af-new-text-muted-soft) !important;
}

.theme-new .af-schedule-manual-page .employee-item {
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text);
}

.theme-new .af-schedule-manual-page .employee-item:hover {
    background: var(--af-new-surface-muted) !important;
}

/* (assigned panel card rules moved above — shared with af-schedule-manual-assigned-section) */

/* Schedule + Review Draft: af-btn-* matches dashboard design system */
.theme-new .af-schedule-page .btn.af-btn-primary,
.theme-new .af-schedule-page a.af-btn-primary,
.theme-new .af-schedule-page button.af-btn-primary,
.theme-new .af-schedule-manual-page .btn.af-btn-primary,
.theme-new .af-schedule-manual-page button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.theme-new .af-schedule-page .btn.af-btn-primary i,
.theme-new .af-schedule-page a.af-btn-primary i,
.theme-new .af-schedule-page button.af-btn-primary i,
.theme-new .af-schedule-manual-page .btn.af-btn-primary i,
.theme-new .af-schedule-manual-page button.af-btn-primary i {
    color: inherit !important;
}

.theme-new .af-schedule-page .btn.af-btn-primary:hover,
.theme-new .af-schedule-page a.af-btn-primary:hover,
.theme-new .af-schedule-page button.af-btn-primary:hover,
.theme-new .af-schedule-manual-page .btn.af-btn-primary:hover,
.theme-new .af-schedule-manual-page button.af-btn-primary:hover,
.theme-new .af-schedule-manual-page .btn.af-btn-primary:focus,
.theme-new .af-schedule-page .btn.af-btn-primary:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
}

.theme-new .af-schedule-page .btn.af-btn-primary:hover i,
.theme-new .af-schedule-page a.af-btn-primary:hover i,
.theme-new .af-schedule-manual-page .btn.af-btn-primary:hover i {
    color: inherit !important;
}

.theme-new .af-schedule-page .btn.af-btn-secondary,
.theme-new .af-schedule-page a.af-btn-secondary,
.theme-new .af-schedule-page button.af-btn-secondary,
.theme-new .af-schedule-manual-page .btn.af-btn-secondary,
.theme-new .af-schedule-manual-page button.af-btn-secondary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.theme-new .af-schedule-page .btn.af-btn-secondary:hover,
.theme-new .af-schedule-page a.af-btn-secondary:hover,
.theme-new .af-schedule-manual-page .btn.af-btn-secondary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-schedule-page .btn.af-btn-success,
.theme-new .af-schedule-page a.af-btn-success,
.theme-new .af-schedule-page button.af-btn-success,
.theme-new .af-schedule-manual-page .btn.af-btn-success,
.theme-new .af-schedule-manual-page button.af-btn-success {
    color: #fff !important;
    background: var(--af-new-success) !important;
    background-image: none !important;
    border: 1px solid var(--af-new-success-hover) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: 0 1px 4px rgba(22, 163, 74, 0.2) !important;
    font-weight: 600 !important;
}

.theme-new .af-schedule-page .btn.af-btn-success:hover,
.theme-new .af-schedule-page button.af-btn-success:hover,
.theme-new .af-schedule-manual-page .btn.af-btn-success:hover,
.theme-new .af-schedule-page .btn.af-btn-success:focus,
.theme-new .af-schedule-manual-page .btn.af-btn-success:focus {
    background: var(--af-new-success-hover) !important;
    color: #fff !important;
    border-color: var(--af-new-success-hover) !important;
}

.theme-new .af-schedule-page .btn-publish-live.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    animation: none !important;
}

.theme-new .af-schedule-page .btn-publish-live.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
}

.theme-new .af-schedule-manual-page #publishAllBtn.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new .af-schedule-manual-page #publishAllBtn.af-btn-primary:hover:not(:disabled) {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    box-shadow: none !important;
    transform: none !important;
}

/* ==========================================================================
   Define Shift Types page (New Theme only)
   ========================================================================== */

.theme-new .af-define-shift-types-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    max-width: 100%;
    width: 100%;
    animation: none !important;
    animation-name: none !important;
    animation-duration: 0s !important;
    opacity: 1 !important;
    transform: none !important;
}

/* No page-enter animation (animate.css fadeIn on wrapper — New Theme only) */
.theme-new .af-define-shift-types-page.animate__animated,
.theme-new .af-define-shift-types-page.animate__fadeIn {
    --animate-duration: 0s !important;
    animation: none !important;
    animation-name: none !important;
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-layout,
.theme-new .af-define-shift-types-page .af-shift-types-form-col,
.theme-new .af-define-shift-types-page .af-shift-types-table-col {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-define-shift-types-page .af-shift-types-layout {
        display: grid;
        grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
        gap: 1.75rem;
        align-items: start;
    }

    .theme-new .af-define-shift-types-page .af-shift-types-form-col .row,
    .theme-new .af-define-shift-types-page .af-shift-types-table-col .row {
        justify-content: stretch !important;
        margin-left: 0;
        margin-right: 0;
    }

    .theme-new .af-define-shift-types-page .af-shift-types-form-col .row > [class*="col-"],
    .theme-new .af-define-shift-types-page .af-shift-types-table-col .row > [class*="col-"] {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
    }

    .theme-new .af-define-shift-types-page .af-shift-types-table-col br {
        display: none;
    }

    .theme-new .af-define-shift-types-page .af-shift-types-filter {
        padding-top: 0 !important;
    }
}

.theme-new .af-define-shift-types-page .af-shift-types-form-card,
.theme-new .af-define-shift-types-page .af-shift-types-table-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-card-header,
.theme-new .af-define-shift-types-page .af-shift-types-form-card .card-header.bg-gradient-primary,
.theme-new .af-define-shift-types-page .af-shift-types-table-card .card-header.bg-gradient-secondary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-card-title,
.theme-new .af-define-shift-types-page .af-shift-types-card-header .text-white {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-card-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-form-card .card-body,
.theme-new .af-define-shift-types-page .af-shift-types-table-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-define-shift-types-page .form-label,
.theme-new .af-define-shift-types-page label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-define-shift-types-page .form-control,
.theme-new .af-define-shift-types-page .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-filter .form-label {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-define-shift-types-page .table thead.bg-light {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-define-shift-types-page .table thead th {
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-define-shift-types-page .table tbody tr:hover {
    background-color: rgba(37, 99, 235, 0.04) !important;
}

.theme-new .af-define-shift-types-page .table td .text-muted {
    color: var(--af-new-text-muted-soft) !important;
}

/* Shift colour chips: do not override inline background-color on .color-badge */

.theme-new .af-define-shift-types-page .btn.af-btn-primary,
.theme-new .af-define-shift-types-page a.af-btn-primary,
.theme-new .af-define-shift-types-page button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    min-width: 0;
}

.theme-new .af-define-shift-types-page .btn.af-btn-primary:not(.af-btn-danger) i,
.theme-new .af-define-shift-types-page a.af-btn-primary i,
.theme-new .af-define-shift-types-page button.af-btn-primary:not(.af-btn-danger) i {
    color: inherit !important;
}

.theme-new .af-define-shift-types-page .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-define-shift-types-page a.af-btn-primary:hover,
.theme-new .af-define-shift-types-page button.af-btn-primary:not(.af-btn-danger):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-define-shift-types-page .btn.af-btn-danger,
.theme-new .af-define-shift-types-page button.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 0;
}

.theme-new .af-define-shift-types-page .btn.af-btn-danger:hover,
.theme-new .af-define-shift-types-page button.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-messages .alert,
.theme-new .af-define-shift-types-page #shift-type-message .alert {
    border-radius: var(--af-new-radius-card) !important;
    font-size: 1rem;
    padding: 0.85rem 1.15rem;
}

.theme-new .af-define-shift-types-page .af-shift-types-messages .alert-info,
.theme-new .af-define-shift-types-page #shift-type-message .alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-messages .alert-success,
.theme-new .af-define-shift-types-page #shift-type-message .alert-success {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-messages .alert-warning,
.theme-new .af-define-shift-types-page #shift-type-message .alert-warning {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-table-card .alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-define-shift-types-page .af-shift-types-messages .alert-danger,
.theme-new .af-define-shift-types-page #shift-type-message .alert-danger {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
}

.theme-new body:has(.af-define-shift-types-page) #successModal .fa-check.text-success {
    color: var(--af-new-primary) !important;
}

/* Modals (siblings outside .container — scope via :has) */
.theme-new body:has(.af-define-shift-types-page) .modal.show {
    z-index: 99999 !important;
}

.theme-new body:has(.af-define-shift-types-page) .modal-dialog {
    pointer-events: auto !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal.modal-content {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header.bg-gradient-info,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header.bg-gradient-warning,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header.bg-gradient-danger,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header.bg-gradient-success {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-title,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header.text-white .modal-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .modal-footer {
    background: var(--af-dash-surface-muted) !important;
    border-top: 1px solid var(--af-dash-border) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .form-control,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .alert-warning {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .alert-danger {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .alert-success {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger),
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal button.af-btn-primary:not(.af-btn-danger):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .btn.af-btn-danger,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal button.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal .btn.af-btn-danger:hover,
.theme-new body:has(.af-define-shift-types-page) .af-schedule-modal button.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* ==========================================================================
   Set Shift Requirements page (New Theme only)
   ========================================================================== */

.theme-new .af-set-shift-requirements-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    max-width: 100%;
    width: 100%;
    animation: none !important;
    animation-name: none !important;
    animation-duration: 0s !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-set-shift-requirements-page.animate__animated,
.theme-new .af-set-shift-requirements-page.animate__fadeIn {
    --animate-duration: 0s !important;
    animation: none !important;
    animation-name: none !important;
    animation-duration: 0s !important;
    animation-delay: 0s !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-page-title {
    color: var(--af-new-primary) !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-filter-card,
.theme-new .af-set-shift-requirements-page .af-shift-req-calendar-card,
.theme-new .af-set-shift-requirements-page .af-shift-req-form-card,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-card-header,
.theme-new .af-set-shift-requirements-page .af-shift-req-calendar-card .card-header.bg-gradient-primary,
.theme-new .af-set-shift-requirements-page .af-shift-req-form-card .card-header.bg-gradient-info,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .card-header.bg-gradient-secondary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-card-title,
.theme-new .af-set-shift-requirements-page .af-shift-req-card-header .text-white,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .card-header .text-white {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-card-header i.fas,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .card-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-calendar-card #current-week-range {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-set-shift-requirements-page .af-shift-req-filter-card .card-body,
.theme-new .af-set-shift-requirements-page .af-shift-req-calendar-card .card-body,
.theme-new .af-set-shift-requirements-page .af-shift-req-form-card .card-body,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-set-shift-requirements-page .form-label,
.theme-new .af-set-shift-requirements-page label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-set-shift-requirements-page .form-control,
.theme-new .af-set-shift-requirements-page .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .calendar-day {
    background: #fff !important;
    border: 1px solid var(--af-dash-border) !important;
    box-shadow: none !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .calendar-day.weekend {
    background: var(--af-dash-surface-elevated) !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .calendar-day.today {
    background: #eff6ff !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .calendar-day:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08) !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .calendar-date {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-set-shift-requirements-page .modern-calendar .day-name {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-set-shift-requirements-page .add-requirement-btn {
    border-color: var(--af-dash-border) !important;
    color: var(--af-new-text-muted) !important;
    background: var(--af-dash-surface-elevated) !important;
}

.theme-new .af-set-shift-requirements-page .add-requirement-btn:hover {
    border-color: var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    background: #eff6ff !important;
}

/* Shift colour chips: preserve inline background-color on .shift-badge */

.theme-new .af-set-shift-requirements-page .table thead.table-light,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .table thead {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-set-shift-requirements-page .table thead th,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .table thead th {
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.875rem;
}

.theme-new .af-set-shift-requirements-page .table tbody tr:hover,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .table tbody tr:hover {
    background-color: rgba(37, 99, 235, 0.04) !important;
}

.theme-new .af-set-shift-requirements-page .btn.af-btn-primary,
.theme-new .af-set-shift-requirements-page button.af-btn-primary:not(.af-btn-danger),
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .btn.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 0;
}

.theme-new .af-set-shift-requirements-page .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-set-shift-requirements-page button.af-btn-primary:not(.af-btn-danger):hover,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .btn.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-set-shift-requirements-page .btn.af-btn-danger,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .btn.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 0;
}

.theme-new .af-set-shift-requirements-page .btn.af-btn-danger:hover,
.theme-new body:has(.af-set-shift-requirements-page) .af-shift-req-table-card .btn.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* Modals (siblings outside .container) */
.theme-new body:has(.af-set-shift-requirements-page) .modal.show {
    z-index: 99999 !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .modal-dialog {
    pointer-events: auto !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal.modal-content {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header.bg-gradient-primary,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header.bg-gradient-warning {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-title,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header.text-white .modal-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .modal-footer {
    background: var(--af-dash-surface) !important;
    border-top: 1px solid var(--af-dash-border) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .form-control,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .form-control.bg-light,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal #edit-shift-type-display,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal #edit-date-display {
    background: var(--af-dash-surface-elevated) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger),
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new body:has(.af-set-shift-requirements-page) .af-schedule-modal button.af-btn-primary:not(.af-btn-danger):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* ==========================================================================
   Generate Schedule page (New Theme only)
   ========================================================================== */

.theme-new .af-generate-schedule-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    max-width: 100%;
    width: 100%;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-main-card,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-card-header,
.theme-new .af-generate-schedule-page .af-generate-schedule-main-card .card-header.bg-gradient-primary,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card .card-header.bg-gradient-info {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-card-title,
.theme-new .af-generate-schedule-page .af-generate-schedule-card-header .text-white {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-card-header i.fas,
.theme-new .af-generate-schedule-page .af-generate-schedule-card-header i.fa-solid,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card .card-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-main-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-generate-schedule-page .form-label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-generate-schedule-page .form-label.text-primary {
    color: var(--af-new-primary) !important;
}

.theme-new .af-generate-schedule-page .form-control,
.theme-new .af-generate-schedule-page .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-generate-schedule-page .form-control.bg-dark,
.theme-new .af-generate-schedule-page .form-select.bg-dark {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-main-card .card-footer.bg-dark {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text-muted) !important;
    border-top: 1px solid var(--af-dash-border) !important;
}

.theme-new .af-generate-schedule-page #generation-info .alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
    border-radius: var(--af-new-radius-card) !important;
}

.theme-new .af-generate-schedule-page #generation-success.alert-success {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
    border-radius: var(--af-new-radius-card) !important;
}

.theme-new .af-generate-schedule-page #generation-log.bg-dark {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-generate-schedule-page #generation-message.text-gradient,
.theme-new .af-generate-schedule-page .text-gradient {
    color: var(--af-new-text) !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
}

.theme-new .af-generate-schedule-page .progress.glass-card {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-dash-border) !important;
}

.theme-new .af-generate-schedule-page .progress-bar {
    background-color: var(--af-new-primary) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card .text-primary {
    color: var(--af-new-primary) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card .alert-warning {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
    border-radius: var(--af-new-radius-card) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-generate-schedule-page .btn.af-btn-primary,
.theme-new .af-generate-schedule-page button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-generate-schedule-page .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-generate-schedule-page button.af-btn-primary:not(.af-btn-danger):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
}

.theme-new .af-generate-schedule-page .btn.af-btn-danger,
body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-generate-schedule-page .btn.af-btn-danger:hover,
body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* Generate Schedule modals */
body.theme-new:has(.af-generate-schedule-page) .modal.show {
    z-index: 99999 !important;
}

body.theme-new:has(.af-generate-schedule-page) .modal-dialog {
    pointer-events: auto !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal.modal-content {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-header,
body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-header.bg-gradient-primary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-header i.fas {
    color: var(--af-new-primary) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .modal-footer {
    background: var(--af-dash-surface) !important;
    border-top: 1px solid var(--af-dash-border) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .alert-danger {
    background: #fef2f2 !important;
    border: 1px solid #fca5a5 !important;
    color: #991b1b !important;
    border-radius: var(--af-new-radius) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .bg-light {
    background: var(--af-dash-surface-elevated) !important;
    color: var(--af-new-text-muted) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .form-control {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):not(.af-btn-secondary) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-primary:not(.af-btn-danger):not(.af-btn-secondary):hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* Generate Schedule — page shell & layout */
body.theme-new:has(.af-generate-schedule-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-generate-schedule-page .glass-card:hover,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-card:hover,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-card:hover {
    transform: none !important;
}

.theme-new .af-generate-schedule-page .btn-gradient-primary,
.theme-new .af-generate-schedule-page .btn.btn-gradient-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-generate-schedule-page .btn-gradient-primary:hover,
.theme-new .af-generate-schedule-page .btn.btn-gradient-primary:hover,
.theme-new .af-generate-schedule-page .btn-gradient-primary:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-generate-schedule-page #generation-success .btn-gradient-primary,
.theme-new .af-generate-schedule-page #generation-success .btn.btn-gradient-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new .af-generate-schedule-page #generation-success .btn-gradient-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

.theme-new .af-generate-schedule-section-divider {
    border-color: var(--af-new-border) !important;
    opacity: 1 !important;
}

/* Generate Schedule — filters & multi-select */
.theme-new .af-generate-schedule-page .af-generate-schedule-filters .filter-field,
.theme-new .af-generate-schedule-page .af-generate-schedule-department-select {
    min-height: 2.75rem;
}

.theme-new .af-generate-schedule-page .af-generate-schedule-department-select option {
    color: var(--af-new-text);
    background: #fff;
}

/* Generate Schedule — progress, status, log */
.theme-new .af-generate-schedule-page .af-generate-schedule-status-spinner {
    color: var(--af-new-primary) !important;
    border-color: var(--af-new-primary) !important;
    border-right-color: transparent !important;
}

.theme-new .af-generate-schedule-page #generation-log .text-info,
.theme-new .af-generate-schedule-page .af-generate-schedule-log .text-info {
    color: #1d4ed8 !important;
}

.theme-new .af-generate-schedule-page #generation-log .text-warning,
.theme-new .af-generate-schedule-page .af-generate-schedule-log .text-warning {
    color: #b45309 !important;
}

.theme-new .af-generate-schedule-page #generation-log .text-danger,
.theme-new .af-generate-schedule-page .af-generate-schedule-log .text-danger {
    color: #b91c1c !important;
}

.theme-new .af-generate-schedule-page #generation-log .text-success,
.theme-new .af-generate-schedule-page .af-generate-schedule-log .text-success {
    color: #15803d !important;
}

.theme-new .af-generate-schedule-page #generation-log .text-gradient,
.theme-new .af-generate-schedule-page .af-generate-schedule-log .text-gradient {
    color: var(--af-new-text-muted) !important;
    background: none !important;
    -webkit-text-fill-color: currentColor !important;
}

.theme-new .af-generate-schedule-page #generation-log strong,
.theme-new .af-generate-schedule-page .af-generate-schedule-log strong {
    color: var(--af-new-text-heading-light) !important;
}

/* Generate Schedule — blocker overlay */
.theme-new .af-generate-schedule-blocker {
    background: rgba(15, 23, 42, 0.45) !important;
}

.theme-new .af-generate-schedule-blocker-message,
.theme-new .af-generate-schedule-blocker .af-generate-schedule-blocker-spinner,
.theme-new .af-generate-schedule-blocker .spinner-border {
    color: #f8fafc !important;
}

/* Generate Schedule — info section */
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .text-muted,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body small.text-muted {
    color: var(--af-new-text-muted) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body hr {
    border-color: var(--af-new-border) !important;
    opacity: 1 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .list-unstyled li,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body ol.small,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body ul.small {
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body h6.text-primary {
    color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon {
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-primary,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-success,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-warning,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-danger {
    background: #dbeafe !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-primary i,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-success i,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-warning i,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon.bg-danger i,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-factor-icon i {
    color: #2563eb !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .text-success,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .text-info,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .text-warning,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .text-danger,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-info-body .list-unstyled i {
    color: #2563eb !important;
}

/* Generate Schedule — stats row */
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-icon,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-icon.text-primary,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-icon.text-success,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-icon.text-warning,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-icon.text-info {
    color: #2563eb !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-value {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-stat-card .text-muted {
    color: var(--af-new-text-muted) !important;
}

/* Generate Schedule — PIN / security modal refinements */
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-security-modal .modal-title,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-title {
    color: var(--af-new-primary) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-pin-label,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-body .form-label.text-dark {
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-pin-input,
body.theme-new:has(.af-generate-schedule-page) #passwordInput {
    border-radius: var(--af-new-radius) !important;
    border-width: 2px !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-pin-input.is-invalid,
body.theme-new:has(.af-generate-schedule-page) #passwordInput.is-invalid {
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 0.2rem rgba(220, 38, 38, 0.2) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-help .text-muted {
    color: var(--af-new-text-muted) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-secondary,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-footer .btn.af-btn-secondary {
    color: #475569 !important;
    background: #fff !important;
    background-image: none !important;
    border: 2px solid var(--af-new-border) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-schedule-modal .btn.af-btn-secondary:hover,
body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-footer .btn.af-btn-secondary:hover {
    background: #edf1f7 !important;
    color: #111827 !important;
    border-color: var(--af-new-border) !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-footer .btn.af-btn-danger,
body.theme-new:has(.af-generate-schedule-page) #confirmGenerate.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    border: 2px solid #f87171 !important;
}

body.theme-new:has(.af-generate-schedule-page) .af-generate-schedule-modal-footer .btn.af-btn-danger:hover,
body.theme-new:has(.af-generate-schedule-page) #confirmGenerate.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* ==========================================================================
   Sick Days (Leave Management) page (New Theme only)
   ========================================================================== */

body.theme-new:has(.af-sick-days-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-days-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-sick-days-page .animate-fade-in,
.theme-new .af-sick-days-page .page-header.animate-fade-in,
.theme-new .af-sick-days-page tr.animate-fade-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-sick-days-page .af-sick-days-header.page-header {
    background: var(--af-new-surface) !important;
    border: 1px solid var(--af-new-border) !important;
    box-shadow: var(--af-new-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-sick-days-page .af-sick-days-page-title.text-gradient {
    background: none !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
}

.theme-new .af-sick-days-page .af-sick-days-header .text-light {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-sick-days-page .af-sick-days-calendar-card,
.theme-new .af-sick-days-page .af-sick-days-table-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-sick-days-page .af-sick-days-card-header,
.theme-new .af-sick-days-page .af-sick-days-calendar-card .card-header.bg-gradient-primary,
.theme-new .af-sick-days-page .af-sick-days-table-card .card-header.bg-gradient-success {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
    padding: 1.25rem 1.5rem !important;
    border-top-left-radius: calc(var(--af-new-radius-card) - 1px) !important;
    border-top-right-radius: calc(var(--af-new-radius-card) - 1px) !important;
}

.theme-new .af-sick-days-page .af-sick-days-card-header .row {
    align-items: center;
    row-gap: 0.75rem;
}

.theme-new .af-sick-days-page .af-sick-days-card-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
}

.theme-new .af-sick-days-page .af-sick-days-card-title,
.theme-new .af-sick-days-page .af-sick-days-card-header .text-white {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-sick-days-page .af-sick-days-card-header i.fas,
.theme-new .af-sick-days-page .af-sick-days-card-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-sick-days-page .af-sick-days-calendar-card .card-body,
.theme-new .af-sick-days-page .af-sick-days-table-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-days-page .filter-field {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

.theme-new .af-sick-days-page .filter-field option {
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-days-page .table-modern thead tr th,
.theme-new .af-sick-days-page .table-modern .bg-table {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-days-page .table-modern tbody tr {
    background: #fff !important;
}

.theme-new .af-sick-days-page .table-modern tbody tr:hover {
    background: rgba(37, 99, 235, 0.04) !important;
    transform: none !important;
}

.theme-new .af-sick-days-page .table-modern tbody td {
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

/* Leave type badges: preserve .badge-* semantic colours */

.theme-new .af-sick-days-page .btn.af-btn-primary,
.theme-new .af-sick-days-page a.af-btn-primary,
.theme-new .af-sick-days-page button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    transform: none !important;
}

.theme-new .af-sick-days-page .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-sick-days-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-sick-days-page .btn.af-btn-danger,
.theme-new .af-sick-days-page a.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-sick-days-page .btn.af-btn-danger:hover,
.theme-new .af-sick-days-page a.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

/* FullCalendar — light surface (New Theme only) */
.theme-new .af-sick-days-page #sickLeaveCalendar .fc {
    background: var(--af-dash-surface-elevated) !important;
    backdrop-filter: none !important;
}

.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-toolbar {
    background: var(--af-dash-surface-muted) !important;
}

.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-toolbar-title,
.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-col-header-cell-cushion,
.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-daygrid-day-number {
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-daygrid-day {
    background: #fff !important;
}

.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-button {
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-button:hover,
.theme-new .af-sick-days-page #sickLeaveCalendar .fc .fc-button.fc-button-active {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

/* SweetAlert2 */
body.theme-new:has(.af-sick-days-page) .swal2-popup.glass-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.15) !important;
    color: var(--af-new-text) !important;
}

body.theme-new:has(.af-sick-days-page) .swal2-popup .btn.btn-gradient-primary,
body.theme-new:has(.af-sick-days-page) .swal2-popup .btn.btn-gradient-secondary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

body.theme-new:has(.af-sick-days-page) .swal2-popup .btn.btn-gradient-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

/* ==========================================================================
   Add / Edit Leave form page (New Theme only)
   ========================================================================== */

.theme-new body:has(.af-sick-day-form-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-day-form-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-sick-day-form-page.animate__animated,
.theme-new .af-sick-day-form-page.animate__fadeIn {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-card-header,
.theme-new .af-sick-day-form-page .af-sick-day-form-card .card-header.bg-gradient-primary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-primary) !important;
    padding: 1.25rem 1.5rem !important;
    border-top-left-radius: calc(var(--af-new-radius-card) - 1px) !important;
    border-top-right-radius: calc(var(--af-new-radius-card) - 1px) !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-card-title,
.theme-new .af-sick-day-form-page .af-sick-day-form-card-header.text-white h3 {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-card-header i.fas,
.theme-new .af-sick-day-form-page .af-sick-day-form-card-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-section,
.theme-new .af-sick-day-form-page .form-section {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-section-title.text-gradient,
.theme-new .af-sick-day-form-page .section-title.text-gradient,
.theme-new .af-sick-day-form-page .form-check-label.text-gradient {
    background: none !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    border-bottom-color: var(--af-dash-border) !important;
    font-weight: 700 !important;
}

.theme-new .af-sick-day-form-page .af-sick-day-form-section-title i.fas,
.theme-new .af-sick-day-form-page .section-title i.fas,
.theme-new .af-sick-day-form-page .section-title i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-sick-day-form-page .form-label,
.theme-new .af-sick-day-form-page label.form-label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-sick-day-form-page .form-control,
.theme-new .af-sick-day-form-page .form-select,
.theme-new .af-sick-day-form-page textarea.form-control {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-sick-day-form-page .form-control:focus,
.theme-new .af-sick-day-form-page .form-select:focus,
.theme-new .af-sick-day-form-page textarea.form-control:focus {
    background: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-sick-day-form-page .form-check-input {
    border-color: var(--af-new-border) !important;
    background: #fff !important;
}

.theme-new .af-sick-day-form-page .form-check-input:checked {
    background-color: var(--af-new-primary) !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-sick-day-form-page .form-check-input:focus {
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
}

.theme-new .af-sick-day-form-page .text-muted,
.theme-new .af-sick-day-form-page .form-text,
.theme-new .af-sick-day-form-page .helptext {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-sick-day-form-page .btn.af-btn-primary,
.theme-new .af-sick-day-form-page a.af-btn-primary,
.theme-new .af-sick-day-form-page button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    transform: none !important;
}

.theme-new .af-sick-day-form-page .btn.af-btn-primary:hover,
.theme-new .af-sick-day-form-page a.af-btn-primary:hover,
.theme-new .af-sick-day-form-page button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-sick-day-form-page .btn.af-btn-primary:hover i,
.theme-new .af-sick-day-form-page a.af-btn-primary:hover i,
.theme-new .af-sick-day-form-page button.af-btn-primary:hover i {
    color: #fff !important;
}

.theme-new .af-sick-day-form-page .flatpickr-day.selected,
.theme-new .af-sick-day-form-page .flatpickr-day.selected:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-sick-day-form-page .flatpickr-day.today {
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-sick-day-form-page .flatpickr-day:hover {
    background: rgba(37, 99, 235, 0.12) !important;
}

/* ==========================================================================
   Holidays page (New Theme only)
   ========================================================================== */

.theme-new body:has(.af-holidays-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holidays-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-holidays-page .animate-fade-in,
.theme-new .af-holidays-page .page-header.animate-fade-in,
.theme-new .af-holidays-page tr.animate-fade-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-holidays-page .af-holidays-header.page-header {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-holidays-page .af-holidays-page-title.text-gradient {
    background: none !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
}

.theme-new .af-holidays-page .af-holidays-header .text-light {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-holidays-page .af-holidays-calendar-card,
.theme-new .af-holidays-page .af-holidays-table-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-holidays-page .af-holidays-card-header,
.theme-new .af-holidays-page .af-holidays-calendar-card .card-header.bg-gradient-primary,
.theme-new .af-holidays-page .af-holidays-table-card .card-header.bg-gradient-success {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
    padding: 1.25rem 1.5rem !important;
    border-top-left-radius: calc(var(--af-new-radius-card) - 1px) !important;
    border-top-right-radius: calc(var(--af-new-radius-card) - 1px) !important;
}

.theme-new .af-holidays-page .af-holidays-card-header .row {
    align-items: center;
    row-gap: 0.75rem;
}

.theme-new .af-holidays-page .af-holidays-card-title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin: 0;
}

.theme-new .af-holidays-page .af-holidays-card-title,
.theme-new .af-holidays-page .af-holidays-card-header .text-white {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-holidays-page .af-holidays-card-header i.fas,
.theme-new .af-holidays-page .af-holidays-card-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-holidays-page .af-holidays-calendar-card .card-body,
.theme-new .af-holidays-page .af-holidays-table-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holidays-page .filter-field {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

.theme-new .af-holidays-page .filter-field option {
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holidays-page .table-modern thead tr th,
.theme-new .af-holidays-page .table-modern .bg-table {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holidays-page .table-modern tbody tr {
    background: #fff !important;
}

.theme-new .af-holidays-page .table-modern tbody tr:hover {
    background: rgba(37, 99, 235, 0.04) !important;
    transform: none !important;
}

.theme-new .af-holidays-page .table-modern tbody td {
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-holidays-page .btn.af-btn-primary,
.theme-new .af-holidays-page a.af-btn-primary,
.theme-new .af-holidays-page button.af-btn-primary:not(.af-btn-danger) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    transform: none !important;
}

.theme-new .af-holidays-page .btn.af-btn-primary:not(.af-btn-danger):hover,
.theme-new .af-holidays-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-holidays-page .btn.af-btn-danger,
.theme-new .af-holidays-page button.af-btn-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-holidays-page .btn.af-btn-danger:hover {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: #dc2626 !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc {
    background: var(--af-dash-surface-elevated) !important;
    backdrop-filter: none !important;
}

/* Calendar period heading above grid (Holidays + Sick Days — New Theme) */
.af-holidays-calendar-period-heading,
.af-sick-days-calendar-period-heading {
    display: none;
}

.theme-new .af-holidays-page .af-holidays-calendar-period-heading,
.theme-new .af-sick-days-page .af-sick-days-calendar-period-heading {
    display: block;
    text-align: center;
    font-size: 1.35rem;
    font-weight: 700;
    color: var(--af-new-primary) !important;
    letter-spacing: 0.01em;
    margin-bottom: 0.75rem !important;
}

.theme-new .af-holidays-page .af-holidays-calendar-period-heading .af-holidays-calendar-period-label,
.theme-new .af-holidays-page .af-holidays-calendar-period-heading .af-holidays-calendar-period-new,
.theme-new .af-sick-days-page .af-sick-days-calendar-period-heading .af-sick-days-calendar-period-label,
.theme-new .af-sick-days-page .af-sick-days-calendar-period-heading .af-sick-days-calendar-period-new {
    color: var(--af-new-primary) !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc .fc-toolbar {
    background: var(--af-dash-surface-muted) !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc .fc-toolbar-title,
.theme-new .af-holidays-page #holidayCalendar .fc .fc-col-header-cell-cushion,
.theme-new .af-holidays-page #holidayCalendar .fc .fc-daygrid-day-number {
    color: var(--af-new-text) !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc .fc-daygrid-day {
    background: #fff !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc .fc-button {
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-holidays-page #holidayCalendar .fc .fc-button:hover,
.theme-new .af-holidays-page #holidayCalendar .fc .fc-button.fc-button-active {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

.theme-new body:has(.af-holidays-page) .swal2-popup.glass-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.15) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-holidays-page) .swal2-popup .btn.btn-gradient-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-holidays-page) .swal2-popup .btn.btn-gradient-danger {
    color: #b91c1c !important;
    background: #fef2f2 !important;
    background-image: none !important;
    border: 2px solid #f87171 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-holidays-page) .swal2-popup .btn.btn-outline-secondary {
    color: var(--af-new-text-muted) !important;
    background: #fff !important;
    border: 2px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-btn) !important;
}

.theme-new body:has(.af-holidays-page) .swal2-popup .btn.btn-gradient-primary:hover,
.theme-new body:has(.af-holidays-page) .swal2-popup .btn.btn-gradient-danger:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* ==========================================================================
   Add / Edit Holiday form page (New Theme only)
   ========================================================================== */

.theme-new body:has(.af-holiday-form-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holiday-form-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-holiday-form-page.animate__animated,
.theme-new .af-holiday-form-page.animate__fadeIn {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-card-header,
.theme-new .af-holiday-form-page .af-holiday-form-card .card-header.bg-gradient-primary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-primary) !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-card-title,
.theme-new .af-holiday-form-page .af-holiday-form-card-header.text-white h3 {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-card-header i.fas,
.theme-new .af-holiday-form-page .af-holiday-form-card-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-section,
.theme-new .af-holiday-form-page .form-section {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-section-title.text-gradient,
.theme-new .af-holiday-form-page .section-title.text-gradient {
    background: none !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    border-bottom-color: var(--af-dash-border) !important;
    font-weight: 700 !important;
}

.theme-new .af-holiday-form-page .af-holiday-form-section-title i.fas,
.theme-new .af-holiday-form-page .section-title i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-holiday-form-page .form-label,
.theme-new .af-holiday-form-page label {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-holiday-form-page .form-control,
.theme-new .af-holiday-form-page .form-select,
.theme-new .af-holiday-form-page textarea.form-control {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-holiday-form-page .form-control:focus,
.theme-new .af-holiday-form-page .form-select:focus,
.theme-new .af-holiday-form-page textarea.form-control:focus {
    background: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holiday-form-page .form-check-input:checked {
    background-color: var(--af-new-primary) !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-holiday-form-page .text-muted,
.theme-new .af-holiday-form-page .form-text,
.theme-new .af-holiday-form-page .helptext {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-holiday-form-page .btn.af-btn-primary,
.theme-new .af-holiday-form-page a.af-btn-primary,
.theme-new .af-holiday-form-page button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    transform: none !important;
}

.theme-new .af-holiday-form-page .btn.af-btn-primary:hover,
.theme-new .af-holiday-form-page a.af-btn-primary:hover,
.theme-new .af-holiday-form-page button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-holiday-form-page .btn.af-btn-primary:hover i,
.theme-new .af-holiday-form-page a.af-btn-primary:hover i,
.theme-new .af-holiday-form-page button.af-btn-primary:hover i {
    color: #fff !important;
}

/* ==========================================================================
   Weekly Cover page (New Theme only)
   ========================================================================== */

.theme-new .af-weekly-cover-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-weekly-cover-page .af-weekly-cover-hero-card,
.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card,
.theme-new .af-weekly-cover-page .af-weekly-cover-table-card,
.theme-new .af-weekly-cover-page .af-weekly-cover-empty-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-hero-card .text-light,
.theme-new .af-weekly-cover-page .af-weekly-cover-hero-card strong {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-hero-card i.fa-lightbulb {
    color: #ca8a04 !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-header {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    padding: 0.85rem 1rem !important;
    gap: 0.5rem 1rem !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-title.text-light {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .text-muted.small {
    color: var(--af-new-text) !important;
    flex: 1 1 220px;
    min-width: 0;
    line-height: 1.5;
}

/* Flat status labels (not green/amber buttons) */
.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-success {
    background: transparent !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 0 0 0.35rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    vertical-align: baseline;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-success i.fas,
.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-success i[style*="color:#10B981"],
.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-success i[style*="color:#10b981"] {
    color: var(--af-new-primary) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-warning.text-dark {
    background: transparent !important;
    background-image: none !important;
    color: #b45309 !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 0 0 0.35rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    vertical-align: baseline;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-week-header .badge.bg-warning.text-dark i.fas {
    color: #b45309 !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card label.text-light {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .form-control,
.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .form-select {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .btn-outline-light:not(.btn-primary):not(.btn-warning) {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .btn-group .btn-primary {
    background: var(--af-new-primary) !important;
    border-color: var(--af-new-primary) !important;
    color: #fff !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .btn-group .btn-warning.text-dark {
    background: #fbbf24 !important;
    border-color: #f59e0b !important;
    color: #78350f !important;
}

.theme-new .af-weekly-cover-page #publishAllBtn.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-weekly-cover-page #publishAllBtn.af-btn-primary:hover:not(:disabled) {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-weekly-cover-page .btn.af-btn-primary,
.theme-new .af-weekly-cover-page a.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-weekly-cover-page .btn.af-btn-primary:hover,
.theme-new .af-weekly-cover-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-table-card .table-dark {
    --bs-table-bg: #fff;
    --bs-table-color: var(--af-new-text);
    --bs-table-hover-bg: rgba(37, 99, 235, 0.04);
    --bs-table-border-color: var(--af-dash-border);
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-table-card .table thead tr[style] {
    background: var(--af-dash-surface-muted) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-table-card .table thead th {
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-table-card .table tbody td .text-light {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-weekly-cover-page .af-weekly-cover-table-card .table tbody td .text-muted {
    color: var(--af-new-text-muted) !important;
}

/* Coverage status badges: preserve inline background/color on cells */

.theme-new .af-weekly-cover-page .af-weekly-cover-empty-card .text-muted {
    color: var(--af-new-text-muted) !important;
}

/* Drill-down modal */
.theme-new body:has(.af-weekly-cover-page) .modal.show {
    z-index: 99999 !important;
}

.theme-new body:has(.af-weekly-cover-page) .modal-dialog {
    pointer-events: auto !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .af-schedule-modal.modal-content,
.theme-new body:has(.af-weekly-cover-page) #infoModal .modal-content,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .modal-content {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-header,
.theme-new body:has(.af-weekly-cover-page) #infoModal .modal-header,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .modal-header {
    background: var(--af-dash-surface-muted) !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-title,
.theme-new body:has(.af-weekly-cover-page) #infoModal .modal-title,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .modal-title {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal #drilldownSubtitle {
    color: var(--af-new-text-muted) !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-body,
.theme-new body:has(.af-weekly-cover-page) #infoModal .modal-body,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .modal-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-body .text-white {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-footer,
.theme-new body:has(.af-weekly-cover-page) #infoModal .modal-footer,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .modal-footer {
    background: var(--af-dash-surface) !important;
    border-top: 1px solid var(--af-dash-border) !important;
}

.theme-new body:has(.af-weekly-cover-page) #infoModal .btn-primary,
.theme-new body:has(.af-weekly-cover-page) #confirmModal .btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-weekly-cover-page) #confirmModal .btn-secondary {
    color: var(--af-new-text-muted) !important;
    background: #fff !important;
    border: 2px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-btn) !important;
}

.theme-new body:has(.af-weekly-cover-page) .alert.alert-success,
.theme-new body:has(.af-weekly-cover-page) .alert.alert-warning,
.theme-new body:has(.af-weekly-cover-page) .alert.alert-danger {
    border-radius: var(--af-new-radius-card) !important;
}

/* ==========================================================================
   Shift Statistics page (New Theme only)
   ========================================================================== */

.theme-new body:has(.af-shift-stats-page) {
    background: var(--af-new-bg) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-shift-stats-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-shift-stats-page.animate__animated,
.theme-new .af-shift-stats-page.animate__fadeIn {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-shift-stats-page .animate-fade-in,
.theme-new .af-shift-stats-page .week-column.animate-fade-in,
.theme-new .af-shift-stats-page .month-column.animate-fade-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-filter-card,
.theme-new .af-shift-stats-page .af-shift-stats-stats-card,
.theme-new .af-shift-stats-page .af-shift-stats-week-card,
.theme-new .af-shift-stats-page .af-shift-stats-month-card,
.theme-new .af-shift-stats-page .af-shift-stats-history-card,
.theme-new .af-shift-stats-page .af-shift-stats-directory-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-card-header,
.theme-new .af-shift-stats-page .card-header.bg-gradient-primary,
.theme-new .af-shift-stats-page .card-header.bg-gradient-secondary,
.theme-new .af-shift-stats-page .card-header.bg-gradient-success {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

/* Filter hero card: full width on large screens (Classic keeps col-xxl-10) */
.theme-new .af-shift-stats-page > .row.justify-content-center.mb-4 > .col-xxl-10 {
    flex: 0 0 100%;
    max-width: 100%;
}

.theme-new .af-shift-stats-page .af-shift-stats-card-title,
.theme-new .af-shift-stats-page .af-shift-stats-card-header .text-white {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-card-header i.fas,
.theme-new .af-shift-stats-page .af-shift-stats-card-header i.fa-solid {
    color: var(--af-new-primary) !important;
}

/* Employee count badge in directory header — flat blue label */
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .af-shift-stats-card-header .badge.bg-light.text-dark {
    background: transparent !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: none !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-filter-card .card-body,
.theme-new .af-shift-stats-page .af-shift-stats-stats-card .card-body,
.theme-new .af-shift-stats-page .af-shift-stats-week-card .card-body,
.theme-new .af-shift-stats-page .af-shift-stats-month-card .card-body,
.theme-new .af-shift-stats-page .af-shift-stats-history-card .card-body,
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .card-body {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-shift-stats-page .form-label.text-light {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-shift-stats-page .form-control-lg,
.theme-new .af-shift-stats-page .form-select-lg {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
    border-radius: var(--af-new-radius) !important;
}

.theme-new .af-shift-stats-page .form-control-lg:focus,
.theme-new .af-shift-stats-page .form-select-lg:focus {
    background: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
}

.theme-new .af-shift-stats-page .autocomplete-list {
    background: #fff !important;
    border: 1px solid var(--af-dash-border) !important;
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-shift-stats-page .autocomplete-item {
    color: var(--af-new-text) !important;
    border-bottom-color: var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .autocomplete-item:hover {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--af-new-primary) !important;
}

.theme-new .af-shift-stats-page .stat-card {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
}

.theme-new .af-shift-stats-page .stat-card::before {
    display: none !important;
}

.theme-new .af-shift-stats-page .stat-label {
    color: var(--af-new-text-muted) !important;
    opacity: 1 !important;
}

/* Preserve stat-value semantic colours (text-info, text-success, etc.) */

.theme-new .af-shift-stats-page .week-column,
.theme-new .af-shift-stats-page .month-column {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .column-header {
    color: var(--af-new-text-heading-light) !important;
    border-bottom-color: var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .column-header .small {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-shift-stats-page .shift-slot {
    background: #fff !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .shift-slot:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08) !important;
}

/* Preserve .shift-slot.day / .night / .absent border-left semantics */

.theme-new .af-shift-stats-page .shift-type-name {
    color: var(--af-new-text) !important;
}

.theme-new .af-shift-stats-page .shift-slot .text-white,
.theme-new .af-shift-stats-page .shift-slot strong.text-white {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-shift-stats-page .day-of-week {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-shift-stats-page .shift-time-display {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-history-card .table thead,
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .table thead {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-history-card .table thead th,
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .table thead th {
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-shift-stats-page .af-shift-stats-history-card .table tbody tr:not(.table-warning):not(.table-dark):not(.weekend-row):hover,
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .table tbody tr.hover-effect:hover {
    background-color: rgba(37, 99, 235, 0.04) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Employee ID under name (Classic keeps text-white on dark table) */
.theme-new .af-shift-stats-page .af-shift-stats-directory-card .table tbody td small.text-white {
    color: var(--af-new-text-muted) !important;
    font-weight: 500;
}

/* Preserve table-warning (absent), table-dark (night), weekend-row semantics */

.theme-new .af-shift-stats-page .btn.af-btn-primary,
.theme-new .af-shift-stats-page a.af-btn-primary,
.theme-new .af-shift-stats-page button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    transform: none !important;
}

.theme-new .af-shift-stats-page .btn.af-btn-primary:hover,
.theme-new .af-shift-stats-page a.af-btn-primary:hover,
.theme-new .af-shift-stats-page button.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
}

.theme-new .af-shift-stats-page .btn.af-btn-primary:hover i,
.theme-new .af-shift-stats-page a.af-btn-primary:hover i {
    color: #fff !important;
}

/* ==========================================================================
   Paid Hours Report page (New Theme only)
   ========================================================================== */

.theme-new .af-paid-hours-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-paid-hours-page .af-paid-hours-hero-card,
.theme-new .af-paid-hours-page .af-paid-hours-filter-card,
.theme-new .af-paid-hours-page .af-paid-hours-stat-card,
.theme-new .af-paid-hours-page .af-paid-hours-table-card,
.theme-new .af-paid-hours-page .af-paid-hours-empty-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-paid-hours-page .af-paid-hours-hero-card .text-light,
.theme-new .af-paid-hours-page .af-paid-hours-hero-card strong {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-paid-hours-page .paid-soft-text,
.theme-new .af-paid-hours-page .paid-muted-text {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-paid-hours-page .paid-report-label {
    color: var(--af-new-text) !important;
}

.theme-new .af-paid-hours-page .paid-report-input,
.theme-new .af-paid-hours-page .paid-report-select {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-paid-hours-page .paid-report-input:focus,
.theme-new .af-paid-hours-page .paid-report-select:focus {
    background: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 0 0 0.16rem rgba(37, 99, 235, 0.15) !important;
}

.theme-new .af-paid-hours-page .paid-report-select option {
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-paid-hours-page .paid-summary-label {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-paid-hours-page .af-paid-hours-stat-card .text-light {
    color: var(--af-new-text-heading-light) !important;
}

/* Preserve summary value accent colours (inline #FCD34D, #FCA5A5, #BFDBFE) */

.theme-new .af-paid-hours-page .af-paid-hours-table-card .table-dark,
.theme-new .af-paid-hours-page .af-paid-hours-table-card .paid-table {
    --bs-table-bg: #fff;
    --bs-table-color: var(--af-new-text);
    --bs-table-hover-bg: rgba(37, 99, 235, 0.04);
    --bs-table-border-color: var(--af-dash-border);
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-paid-hours-page .paid-table thead tr {
    background: var(--af-dash-surface-muted) !important;
}

.theme-new .af-paid-hours-page .paid-table thead th {
    color: var(--af-new-text) !important;
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-paid-hours-page .paid-table tbody td {
    border-color: var(--af-dash-border) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-paid-hours-page .paid-table tbody .text-light {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-paid-hours-page .paid-table tfoot tr {
    background: var(--af-dash-surface-muted) !important;
    border-top: 2px solid var(--af-dash-border) !important;
}

.theme-new .af-paid-hours-page .paid-table tfoot .text-warning {
    color: #b45309 !important;
}

.theme-new .af-paid-hours-page .af-paid-hours-empty-card .text-light {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-paid-hours-page .btn.af-btn-primary,
.theme-new .af-paid-hours-page a.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-paid-hours-page .btn.af-btn-primary:hover,
.theme-new .af-paid-hours-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* ==========================================================================
   Holiday Balance Overview page (New Theme only)
   ========================================================================== */

.theme-new .af-holiday-balance-overview-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-filter-card,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-info-card,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-empty-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card .text-light,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card strong {
    color: var(--af-new-primary) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card span[style*="color:#E5E7EB"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card span[style*="color:#e5e7eb"] {
    color: var(--af-new-text-muted) !important;
    opacity: 1 !important;
}

/* Hero badges: light card needs dark readable label text (not pale grey on muted blue) */
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card .badge[style*="background:rgba(15,23,42"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card .badge[style*="color:#E5E7EB"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card .badge[style*="color:#e5e7eb"] {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-hero-card .badge[style*="background:rgba(251,191,36"] {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-filter-card label.text-light,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-filter-card .form-check-label {
    color: var(--af-new-text) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-filter-card .form-select {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-info-card [style*="color:#F9FAFB"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-info-card [style*="color:#CBD5E1"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-info-card [style*="color:#94A3B8"] {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-info-card .fw-bold {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card .table-dark {
    --bs-table-bg: #fff;
    --bs-table-color: var(--af-new-text);
    --bs-table-hover-bg: rgba(37, 99, 235, 0.04);
    --bs-table-border-color: var(--af-dash-border);
    background: #fff !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card .table thead tr[style] {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card table.table-dark thead th,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card .table-dark > thead > tr > th,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card .table thead th,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card .table thead th.text-light {
    color: var(--af-new-text-heading-light) !important;
    -webkit-text-fill-color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

/* Table body: employee + department (override inline light greys on white rows) */
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:first-child .fw-semibold,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:first-child .fw-semibold[style*="color:#F9FAFB"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:first-child .fw-semibold[style*="color:#f9fafb"] {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:nth-child(2) span,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:nth-child(2) span[style*="color:#E5E7EB"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody tr > td:nth-child(2) span[style*="color:#e5e7eb"] {
    color: var(--af-new-text) !important;
}

/* Numeric columns: readable emphasis colours on light background */
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#BFDBFE"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#bfdbfe"] {
    color: #1d4ed8 !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#FCA5A5"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#fca5a5"] {
    color: #b91c1c !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#A7F3D0"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#a7f3d0"] {
    color: #047857 !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#FDBA74"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody span[style*="color:#fdba74"] {
    color: #c2410c !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .current-balance-cell[style*="color:#6EE7B7"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .current-balance-cell[style*="color:#6ee7b7"] {
    color: #047857 !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .current-balance-cell[style*="color:#F97316"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .current-balance-cell[style*="color:#f97316"] {
    color: #c2410c !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .manual-adjustment-cell div[style*="color:#94A3B8"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tbody .manual-adjustment-cell div[style*="color:#94a3b8"] {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card td .small[style*="color:#CBD5E1"],
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card td .small[style*="color:#cbd5e1"] {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 500;
}

.theme-new .af-holiday-balance-overview-page .holiday-balance-correction-input {
    background: #fff !important;
    color: var(--af-new-text) !important;
    border-color: var(--af-new-border) !important;
}

.theme-new .af-holiday-balance-overview-page .save-holiday-balance-correction-btn.af-btn-primary {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    color: var(--af-new-primary) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    min-width: 74px;
}

.theme-new .af-holiday-balance-overview-page .save-holiday-balance-correction-btn.af-btn-primary:hover:not(:disabled) {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

/* Footer totals: readable emphasis on light surface (New Theme only) */
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tfoot tr[style] {
    background: var(--af-dash-surface-muted) !important;
    border-top: 2px solid var(--af-dash-border) !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-table-card tfoot .fw-bold[style*="color:#FBBF24"] {
    color: #b45309 !important;
}

.theme-new .af-holiday-balance-overview-page a.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-holiday-balance-overview-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
}

.theme-new .af-holiday-balance-overview-page .af-holiday-balance-empty-card h5,
.theme-new .af-holiday-balance-overview-page .af-holiday-balance-empty-card p {
    color: var(--af-new-text-muted) !important;
}

/* ==========================================================================
   Edit Holiday Balance page (New Theme only)
   ========================================================================== */

.theme-new .af-edit-holiday-balance-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-main-card {
    background: var(--af-dash-surface) !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-card-header,
.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-main-card > .card-header.bg-primary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-card-title {
    color: var(--af-new-text-heading-light) !important;
    font-weight: 700 !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-card-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-main-card > .card-body.bg-dark {
    background: var(--af-dash-surface) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-section-card {
    background: var(--af-dash-surface-elevated) !important;
    border-color: var(--af-dash-border) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-section-header,
.theme-new .af-edit-holiday-balance-page .af-edit-holiday-balance-section-card > .card-header.bg-secondary {
    background: var(--af-dash-surface-muted) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-edit-holiday-balance-page .form-label.text-white {
    color: var(--af-new-text) !important;
    font-weight: 600;
}

.theme-new .af-edit-holiday-balance-page .form-control,
.theme-new .af-edit-holiday-balance-page .form-select {
    background: #fff !important;
    border-color: var(--af-new-border) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-edit-holiday-balance-page .form-control:focus,
.theme-new .af-edit-holiday-balance-page .form-select:focus {
    background: #fff !important;
    border-color: var(--af-new-primary) !important;
    color: var(--af-new-text) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
}

.theme-new .af-edit-holiday-balance-page .form-control[readonly] {
    background: var(--af-dash-surface-muted) !important;
    color: var(--af-new-text) !important;
}

.theme-new .af-edit-holiday-balance-page .text-muted,
.theme-new .af-edit-holiday-balance-page .form-text.text-muted {
    color: var(--af-new-text-muted) !important;
}

.theme-new .af-edit-holiday-balance-page .btn.af-btn-primary,
.theme-new .af-edit-holiday-balance-page a.af-btn-primary,
.theme-new .af-edit-holiday-balance-page button.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new .af-edit-holiday-balance-page .btn.af-btn-primary:hover,
.theme-new .af-edit-holiday-balance-page a.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

/* ==========================================================================
   Schedule section — mobile / small screens (New Theme only)
   Dashboard tiles, schedule nav, and all Schedule Management pages.
   ========================================================================== */

@media (max-width: 767px) {
    .theme-new .af-schedule-page.container,
    .theme-new .af-schedule-page.container-fluid,
    .theme-new .container-fluid.af-schedule-page,
    .theme-new .container.py-4.af-schedule-page {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    .theme-new .af-schedule-nav-container.container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link {
        font-size: 0.82rem !important;
        padding: 0.48rem 0.55rem !important;
        min-height: 40px;
    }

    .theme-new .af-admin-dashboard.container,
    .theme-new .af-admin-dashboard.container.mb-5 {
        padding: 1.25rem 0.75rem 2rem;
    }

    /* Comfortable tap targets without forcing 120px min-width on compact controls */
    .theme-new .af-schedule-page .btn-sm.af-btn-primary,
    .theme-new .af-schedule-page .btn-sm.af-btn-danger,
    .theme-new .af-schedule-page .btn-group-sm .af-btn-primary,
    .theme-new .af-schedule-page .btn-group-sm .af-btn-danger {
        min-width: 0;
        min-height: 36px;
        padding: 0.4rem 0.65rem;
    }

    .theme-new .af-schedule-page .btn.af-btn-primary:not(.btn-sm),
    .theme-new .af-schedule-page a.af-btn-primary:not(.btn-sm),
    .theme-new .af-schedule-page button.af-btn-primary:not(.btn-sm):not(.af-btn-danger) {
        min-width: 0;
        min-height: 44px;
    }

    .theme-new .af-set-shift-requirements-page .af-shift-req-week-nav {
        flex-wrap: wrap;
        gap: 0.5rem;
        justify-content: center;
    }

    .theme-new .af-set-shift-requirements-page .af-shift-req-week-nav #current-week-range {
        flex: 1 1 100%;
        text-align: center;
        margin: 0 0 0.25rem !important;
    }

    .theme-new .af-shift-stats-page form.row .d-grid > .btn,
    .theme-new .af-shift-stats-page form.row .d-grid > a.btn {
        width: 100%;
    }

    .theme-new .af-sick-days-page .af-sick-days-calendar-card .card-header .row,
    .theme-new .af-holidays-page .af-holidays-calendar-card .card-header .row {
        row-gap: 0.75rem;
    }

    .theme-new .af-sick-days-page .af-sick-days-calendar-card form,
    .theme-new .af-holidays-page .af-holidays-calendar-card form {
        width: 100%;
    }

    .theme-new .af-sick-days-page .af-sick-days-calendar-card form .filter-field,
    .theme-new .af-holidays-page .af-holidays-calendar-card form .filter-field {
        min-width: 0 !important;
        flex: 1 1 100%;
    }

    .theme-new .af-sick-days-page .af-sick-days-calendar-card form .btn,
    .theme-new .af-holidays-page .af-holidays-calendar-card form .btn,
    .theme-new .af-sick-days-page .af-sick-days-calendar-card form a.btn,
    .theme-new .af-holidays-page .af-holidays-calendar-card form a.btn {
        min-height: 44px;
    }

    .theme-new .af-paid-hours-page form .d-flex.flex-wrap.gap-2 {
        width: 100%;
    }

    .theme-new .af-paid-hours-page form .d-flex.flex-wrap.gap-2 .btn,
    .theme-new .af-paid-hours-page form .d-flex.flex-wrap.gap-2 a.btn {
        flex: 1 1 calc(50% - 0.25rem);
        min-height: 44px;
    }

    .theme-new .af-weekly-cover-page .af-weekly-cover-filter-card form > .col-12.col-md-auto {
        width: 100%;
    }

    .theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .btn-group {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .theme-new .af-weekly-cover-page .af-weekly-cover-filter-card .btn-group .btn {
        flex: 1 1 auto;
        min-height: 40px;
    }

    .theme-new .af-holiday-balance-overview-page td.text-end.py-2:last-child .d-flex.gap-1 {
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    .theme-new .af-holiday-balance-overview-page .holiday-balance-correction-input {
        width: 100% !important;
        max-width: 9rem;
    }

    .theme-new .af-holiday-balance-overview-page .save-holiday-balance-correction-btn {
        min-width: 0;
        width: 100%;
        max-width: 9rem;
        min-height: 40px;
    }

    .theme-new .af-sick-days-page .af-sick-days-header,
    .theme-new .af-holidays-page .af-holidays-header {
        padding: 1.25rem;
    }

    .theme-new .af-shift-stats-page .schedule-grid {
        gap: 12px !important;
    }

    .theme-new .af-shift-stats-page .week-column,
    .theme-new .af-shift-stats-page .month-column {
        min-width: 260px !important;
    }

    .theme-new .af-schedule-page .table-responsive {
        -webkit-overflow-scrolling: touch;
    }

    .theme-new body:has(.af-schedule-page) .modal-dialog {
        margin: 0.65rem auto;
        max-width: calc(100% - 1.25rem);
    }

    .theme-new body:has(.af-schedule-page) .modal-dialog.modal-lg {
        max-width: calc(100% - 1.25rem);
    }

    .theme-new body:has(.af-schedule-page) .af-schedule-modal .modal-body,
    .theme-new body:has(.af-weekly-cover-page) #drilldownModal .modal-body {
        max-height: min(68vh, calc(100dvh - 11rem));
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .theme-new body:has(.af-schedule-page) .af-schedule-modal .modal-footer {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .theme-new body:has(.af-schedule-page) .af-schedule-modal .modal-footer .btn {
        min-height: 44px;
    }

    body.theme-new:has(.af-sick-days-page) .swal2-popup.glass-card,
    .theme-new body:has(.af-holidays-page) .swal2-popup.glass-card {
        width: calc(100% - 1.25rem) !important;
        max-width: 100% !important;
        margin: 0.5rem auto !important;
    }
}

@media (max-width: 480px) {
    .theme-new .af-schedule-nav-tabs.nurse-navbar .nav-item {
        flex: 1 1 calc(50% - 0.25rem);
        min-width: calc(50% - 0.25rem);
    }

    .theme-new .af-schedule-nav-tabs.nurse-navbar .nav-link {
        font-size: 0.78rem !important;
        padding: 0.45rem 0.4rem !important;
    }

    .theme-new .af-paid-hours-page form .d-flex.flex-wrap.gap-2 .btn,
    .theme-new .af-paid-hours-page form .d-flex.flex-wrap.gap-2 a.btn {
        flex: 1 1 100%;
    }

    .theme-new .af-generate-schedule-page .btn-lg.af-btn-primary {
        width: 100%;
    }

    .theme-new .af-sick-days-page .af-sick-days-header .btn-lg,
    .theme-new .af-holidays-page .af-holidays-header .btn-lg {
        width: 100%;
        margin-top: 0.5rem;
    }
}

/* ==========================================================================
   New Theme: MODULE TILE ICONS — force flat primary blue (final cascade)
   Beats inline style="", Bootstrap text-* utilities, and FA ::before glyphs.
   Green reserved for stat/on-duty widgets only — NOT module navigation tiles.
   ========================================================================== */

.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .feature-icon,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .af-tile-icon-wrap,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .feature-icon.mb-2 {
    color: var(--af-new-primary) !important;
}

.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .feature-icon i,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .af-tile-icon-wrap i,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.af-tile-icon,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card .card-body > .feature-icon i,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.fa-2x,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.far.fa-2x,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.fa-2x::before,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.far.fa-2x::before,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas[style],
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-success,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-info,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-warning,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-danger,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-primary,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card.af-tile-clinical i.fas,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card i.af-tile-icon-clinical {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

/* Safety net: module tiles in admin dashboard (incl. feature-icon.mb-2 without wrap) */
.theme-new .af-admin-dashboard .af-tile-card:not(.af-stat-card) .card-body > .feature-icon i.fas,
.theme-new .af-admin-dashboard .af-tile-card:not(.af-stat-card) .card-body > .feature-icon i.far,
.theme-new .af-admin-dashboard .af-tile-card:not(.af-stat-card) .card-body > .feature-icon.mb-2 i.fas {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

/* Tile action-link icons inherit button colour, not module icon blue */
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card a i.fas,
.theme-new .af-admin-dashboard .af-new-modules .af-tile-card a i.far,
.theme-new .af-admin-dashboard .af-tile-card:not(.af-stat-card) a i.fas {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Success/on-duty widgets only — keep green */
.theme-new .af-admin-dashboard .af-stat-card.af-stat-success i.fas.fa-2x,
.theme-new .af-admin-dashboard .af-stat-card.af-stat-success i.far.fa-2x,
.theme-new .af-workforce-widgets .border-success .card-title i.fas,
.theme-new .af-admin-dashboard .online-users-list i.fas.text-success {
    color: var(--af-new-success) !important;
    -webkit-text-fill-color: var(--af-new-success) !important;
}

/* ==========================================================================
   Employee portal module tiles — force flat primary blue (final cascade)
   ========================================================================== */

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .feature-icon,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .af-tile-icon-wrap,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .feature-icon.mb-2 {
    color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .feature-icon i,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .af-tile-icon-wrap i,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.af-tile-icon,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-body > .feature-icon i,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card .card-body > i.fas,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.fa-2x,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.far.fa-2x,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.fa-2x::before,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.far.fa-2x::before,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas[style],
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.text-success,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.text-info,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.text-warning,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.text-danger,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card i.fas.text-primary {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a i.fas,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a i.far {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

/* ==========================================================================
   Global micro-interactions (New Theme only)
   ========================================================================== */

.theme-new .af-btn-primary,
.theme-new .af-btn-secondary,
.theme-new a.af-btn-primary,
.theme-new a.af-btn-secondary,
.theme-new .af-theme-btn,
.theme-new .af-navbar .nav-link,
.theme-new .af-navbar .btn-nav-glossy,
.theme-new .af-tile-card,
.theme-new .af-card,
.theme-new .af-stat-card,
.theme-new .policy-status-btn,
.theme-new .btn-gradient-admin {
    transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
}

.theme-new .af-btn-primary:focus-visible,
.theme-new .af-btn-secondary:focus-visible,
.theme-new a.af-btn-primary:focus-visible,
.theme-new a.af-btn-secondary:focus-visible,
.theme-new .af-theme-btn:focus-visible,
.theme-new .af-navbar .nav-link:focus-visible,
.theme-new .af-navbar .btn-nav-glossy:focus-visible,
.theme-new .af-new-modules .af-tile-card a:focus-visible,
.theme-new .af-employee-portal-page .af-employee-modules .af-tile-card a:focus-visible,
.theme-new .af-admin-dashboard .af-tile-card a:focus-visible,
.theme-new .policy-status-btn:focus-visible {
    outline: 2px solid var(--af-new-primary);
    outline-offset: 2px;
}

.theme-new .af-admin-dashboard,
.theme-new .af-employee-portal-page,
.theme-new .af-module-dashboard {
    animation: af-new-page-enter 0.28s ease forwards;
}

@keyframes af-new-page-enter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .theme-new *,
    .theme-new *::before,
    .theme-new *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ==========================================================================
   Employee portal — admin modules parity (final cascade)
   Hooks: .af-employee-portal-page.af-admin-dashboard + .af-new-modules
   Beats page-local employee_home.html .glass-card and inline tile styles.
   ========================================================================== */

.theme-new .af-employee-portal-page.af-admin-dashboard {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    --af-dash-shadow-hover: 0 2px 10px rgba(15, 23, 42, 0.07);
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .glass-card.af-card,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .card.glass-card.af-tile-card {
    background: var(--af-dash-surface) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .glass-card.af-card:hover,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .card.glass-card.af-tile-card:hover {
    transform: none !important;
    box-shadow: var(--af-dash-shadow-hover) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .card-title.text-white,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card h4.card-title,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card h5.fw-bold {
    color: var(--af-new-text-heading-light) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .card-text.text-white,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .card-text,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card p.card-text {
    color: var(--af-new-text-desc) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .feature-icon i,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .af-tile-icon-wrap i,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.af-tile-icon,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .card-body > i.fas,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.fa-2x,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.fa-2x::before,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas[style],
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-success,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-info,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-warning,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-danger,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card i.fas.text-primary {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a[href][style],
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a.af-btn-primary,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .btn-gradient-admin {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    text-decoration: none !important;
    padding: 0.55rem 1.15rem !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 140px;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a[href][style]:hover,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a[href][style]:focus,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a.af-btn-primary:hover,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card .btn-gradient-admin:hover {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a i.fas,
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-tile-card a i.far {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}

/* Time Clock self-view — dark slate panel, light text, New Theme status pills */
.theme-new .af-employee-portal-page.af-admin-dashboard .af-new-modules .af-timeclock-self-view.glass-card.af-card,
.theme-new .af-timeclock-self-view.glass-card.af-card {
    background: var(--af-new-bg-elevated, #1e293b) !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-timeclock-self-view .card-title.text-white,
.theme-new .af-timeclock-self-view h5.card-title {
    color: var(--af-new-text-on-dark, #e5e7eb) !important;
    font-weight: 700;
}

.theme-new .af-timeclock-self-view .card-title i.fas[style] {
    color: #93c5fd !important;
}

.theme-new .af-timeclock-self-view p.text-white,
.theme-new .af-timeclock-self-view .text-white.fw-semibold,
.theme-new .af-timeclock-self-view p.text-white strong {
    color: #f1f5f9 !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-self-view .text-white-50,
.theme-new .af-timeclock-self-view .small.text-white-50 {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-self-view .text-white.fw-semibold .text-white-50 {
    color: #94a3b8 !important;
}

/* Status pills — match New Theme af-pill palette */
.theme-new .af-timeclock-self-view .badge.rounded-pill {
    font-weight: 600 !important;
    font-size: 0.8rem !important;
    padding: 0.4rem 0.85rem !important;
    letter-spacing: 0.01em;
}

.theme-new .af-timeclock-self-view .badge.bg-success {
    background: #dcfce7 !important;
    color: #15803d !important;
    border: 1px solid #86efac !important;
}

.theme-new .af-timeclock-self-view .badge.bg-success i.fas {
    color: #16a34a !important;
}

.theme-new .af-timeclock-self-view .badge.bg-secondary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-timeclock-self-view .badge.bg-secondary i.fas {
    color: #2563eb !important;
}

.theme-new .af-timeclock-self-view .badge.bg-warning {
    background: #fef3c7 !important;
    color: #b45309 !important;
    border: 1px solid #fcd34d !important;
}

.theme-new .af-timeclock-self-view .badge.bg-warning.text-dark {
    color: #b45309 !important;
}

.theme-new .af-timeclock-self-view .badge.bg-warning i.fas {
    color: #d97706 !important;
}

.theme-new .af-timeclock-self-view .alert-dark {
    background: rgba(15, 23, 42, 0.45) !important;
    color: #e2e8f0 !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
}

.theme-new .af-timeclock-self-view .alert-warning {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fcd34d !important;
}

/* Employee portal — workplace distance card */
.theme-new .af-employee-portal-page .af-workplace-distance-card.glass-card.af-card {
    background: var(--af-new-bg-elevated, #1e293b) !important;
    border: 1px solid rgba(148, 163, 184, 0.28) !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.18) !important;
}

.theme-new .af-employee-portal-page .af-workplace-distance-card .card-title.text-white,
.theme-new .af-employee-portal-page .af-workplace-distance-card .card-text.text-white {
    color: var(--af-new-text-on-dark, #e5e7eb) !important;
}

.theme-new .af-employee-portal-page .af-workplace-distance-card .text-white-50,
.theme-new .af-employee-portal-page .af-workplace-distance-card #workplaceDistanceMeta {
    color: #94a3b8 !important;
}

.theme-new .af-employee-portal-page .af-workplace-distance-card i.af-tile-icon {
    color: #93c5fd !important;
}

/* ==========================================================================
   Schedule modals — maximum-specificity reset (beats page-local <style> blocks)
   create_schedule_manual.html: .modal-content.glass-modal * { color:#f8f9fa !important }
   and #employeeList rules load AFTER theme.css in {% block content %}
   ========================================================================== */

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal.af-modal,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal.af-schedule-modal,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-modal.af-schedule-modal,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal.af-modal,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal.af-schedule-modal {
    background: var(--af-dash-surface, #e2e8f0) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border, #bcc6d4) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.18) !important;
    color: var(--af-new-text) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Beat .modal-content.glass-modal * { color: #f8f9fa !important } */
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal.af-modal *:not(.btn):not(.badge):not(.status-badge),
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal.af-schedule-modal *:not(.btn):not(.badge):not(.status-badge),
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal *:not(.btn):not(.badge):not(.status-badge),
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-modal.af-schedule-modal *:not(.btn):not(.badge):not(.status-badge),
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal.af-modal *:not(.btn):not(.badge):not(.status-badge),
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal.af-schedule-modal *:not(.btn):not(.badge):not(.status-badge) {
    color: var(--af-new-text) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-header,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-header {
    background: var(--af-dash-surface-muted, #d5dde8) !important;
    background-image: none !important;
    border-bottom: 1px solid var(--af-dash-border, #bcc6d4) !important;
    color: var(--af-new-text) !important;
    padding: 1rem 1.25rem !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header .modal-title,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-title.text-light,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-title,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-title.text-white,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-title,
.theme-new.af-app .af-schedule-manual-page .modal-content.glass-modal .modal-title {
    color: var(--af-new-primary) !important;
    -webkit-text-fill-color: var(--af-new-primary) !important;
    font-weight: 700 !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header i.fas,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header i.fa-solid,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-header i.fas {
    color: var(--af-new-primary) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header .btn-close,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-header .btn-close-white,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-header .btn-close,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-header .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-body,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-body,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.af-schedule-modal.bg-dark.text-light .modal-body {
    background: var(--af-dash-surface, #e2e8f0) !important;
    color: var(--af-new-text) !important;
    padding: 1.25rem !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body p,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body strong,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body b,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body h6,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-body h6.text-light,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-body p,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.af-schedule-modal.bg-dark .modal-body,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-body p {
    color: var(--af-new-text) !important;
}

/* Beat page rules: .modal-content.glass-modal .text-muted and #employeeList .text-muted */
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .text-muted,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .text-muted,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .text-center.text-muted,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .text-muted,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal #employeeList .text-muted,
.theme-new.af-app .af-schedule-manual-page .modal-content.glass-modal .text-muted {
    color: var(--af-new-text-muted) !important;
}

/* Beat #employeeList .employee-item { color: #f8f9fa !important } */
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .employee-item,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal #employeeList .employee-item {
    color: var(--af-new-text) !important;
    background: #fff !important;
    border-color: var(--af-dash-border, #bcc6d4) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item:hover,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .employee-item:hover,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal #employeeList .employee-item:hover {
    background: rgba(37, 99, 235, 0.06) !important;
    color: var(--af-new-primary) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item.available {
    background: rgba(34, 197, 94, 0.08) !important;
    border-color: #86efac !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item.sick {
    background: rgba(245, 158, 11, 0.1) !important;
    border-color: #fcd34d !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item.holiday {
    background: rgba(14, 165, 233, 0.08) !important;
    border-color: #7dd3fc !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .employee-item.not_available {
    background: var(--af-dash-surface-muted, #d5dde8) !important;
    border-color: var(--af-dash-border, #bcc6d4) !important;
    opacity: 1 !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .text-danger,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .text-danger {
    color: #b91c1c !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .text-warning,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .text-warning {
    color: #b45309 !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal #employeeList .text-success,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .text-success {
    color: #15803d !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-footer,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-footer {
    background: var(--af-dash-surface-muted, #d5dde8) !important;
    border-top: 1px solid var(--af-dash-border, #bcc6d4) !important;
    padding: 0.85rem 1.25rem !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer button,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-footer .btn,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-footer .btn,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.af-schedule-modal.bg-dark .modal-footer .btn {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.af-btn-primary,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.btn-primary,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-footer .btn.af-btn-primary,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.af-schedule-modal.bg-dark .modal-footer .btn.af-btn-primary {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn:hover,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn:focus,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-primary:hover,
.theme-new.af-app .af-schedule-manual-page ~ .modal .modal-content.glass-modal .modal-footer .btn.af-btn-primary:hover {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.af-btn-secondary,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.btn-secondary,
.theme-new.af-app body:has(.af-schedule-page) .modal .modal-content.glass-modal.af-schedule-modal .modal-footer .btn.af-btn-secondary {
    color: var(--af-new-text-muted) !important;
    background: #fff !important;
    border: 2px solid var(--af-dash-border, #bcc6d4) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.af-btn-secondary:hover,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn.btn-secondary:hover {
    background: var(--af-dash-surface-muted, #d5dde8) !important;
    color: var(--af-new-text) !important;
}

.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn:hover i,
.theme-new.af-app body:has(.af-schedule-manual-page) .modal .modal-content.glass-modal .modal-footer .btn:focus i {
    color: inherit !important;
}

/* Publish Schedule button — primary blue (not legacy green) on manual page */
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.btn-success.af-btn-success,
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.af-btn-success {
    color: var(--af-new-primary) !important;
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary) !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    font-weight: 600 !important;
}

.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.btn-success.af-btn-success:hover,
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.btn-success.af-btn-success:focus,
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.af-btn-success:hover,
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.af-btn-success:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    transform: none !important;
}

.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.btn-success.af-btn-success i,
.theme-new.af-app .af-schedule-manual-page #publishScheduleBtn.af-btn-success:hover i {
    color: inherit !important;
}

/* =============================================================================
   Schedule Help Center
   ============================================================================= */

.af-schedule-help-page {
    padding-bottom: 2rem;
}

.af-schedule-help-hero {
    padding: 1.25rem 1.5rem;
    border-radius: 12px;
}

.af-schedule-help-hero__title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}

.af-schedule-help-hero__subtitle {
    font-size: 0.92rem;
    opacity: 0.9;
    max-width: 52rem;
}

.af-schedule-help-search-input {
    border-radius: 8px;
}

.af-schedule-help-nav {
    padding: 0;
    border-radius: 12px;
    top: 1rem;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
}

.af-schedule-help-nav__header {
    padding: 0.85rem 1rem;
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.af-schedule-help-nav-list {
    padding: 0.5rem;
}

.af-schedule-help-nav-link {
    border-radius: 8px;
    padding: 0.55rem 0.75rem;
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    transition: background 0.15s ease;
}

.af-schedule-help-nav-link .af-schedule-help-nav-icon {
    width: 1.1rem;
    text-align: center;
    opacity: 0.85;
}

.af-schedule-help-section {
    border-radius: 12px;
    overflow: hidden;
}

.af-schedule-help-section__header {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.af-schedule-help-section__icon-wrap {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 1.1rem;
}

.af-schedule-help-section__title {
    font-size: 1.2rem;
    font-weight: 700;
}

.af-schedule-help-section__body {
    padding: 1.25rem 1.5rem 1.5rem;
}

.af-schedule-help-section--match {
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.35);
}

.af-help-keyword-badge {
    font-weight: 500;
    font-size: 0.72rem;
    margin-right: 0.25rem;
    opacity: 0.85;
}

.af-help-prose h3.af-help-h3,
.af-help-prose h4.af-help-h4,
.af-help-prose h5.af-help-h5 {
    margin-top: 1.25rem;
    margin-bottom: 0.65rem;
    font-weight: 700;
}

.af-help-prose h3.af-help-h3 { font-size: 1.05rem; }
.af-help-prose h4.af-help-h4 { font-size: 1rem; }
.af-help-prose h5.af-help-h5 { font-size: 0.95rem; }

.af-help-prose p {
    margin-bottom: 0.75rem;
    line-height: 1.6;
}

.af-help-list {
    margin-bottom: 1rem;
    padding-left: 1.25rem;
}

.af-help-list li {
    margin-bottom: 0.35rem;
    line-height: 1.55;
}

.af-help-callout {
    border-left: 4px solid #0d6efd;
    padding: 0.75rem 1rem;
    margin: 1rem 0;
    border-radius: 0 8px 8px 0;
    background: rgba(13, 110, 253, 0.08);
}

.af-help-callout--warning {
    border-left-color: #fd7e14;
    background: rgba(253, 126, 20, 0.1);
}

.af-help-callout--tip {
    border-left-color: #198754;
    background: rgba(25, 135, 84, 0.1);
}

.af-help-callout p {
    margin: 0;
}

.af-help-table {
    margin: 1rem 0;
}

.af-help-table th {
    font-weight: 600;
    white-space: nowrap;
}

/* Classic schedule help (glass / dark cards) */
body:not(.theme-new) .af-schedule-help-hero,
body:not(.theme-new) .af-schedule-help-nav,
body:not(.theme-new) .af-schedule-help-section {
    background: linear-gradient(135deg, rgba(30, 58, 138, 0.75), rgba(6, 95, 70, 0.45));
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #f8fafc;
}

body:not(.theme-new) .af-schedule-help-hero__icon {
    color: #ffd600;
}

body:not(.theme-new) .af-schedule-help-section__icon-wrap {
    background: rgba(255, 214, 0, 0.15);
    color: #ffd600;
}

body:not(.theme-new) .af-schedule-help-nav-link {
    color: rgba(248, 250, 252, 0.85);
}

body:not(.theme-new) .af-schedule-help-nav-link:hover,
body:not(.theme-new) .af-schedule-help-nav-link.active {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

body:not(.theme-new) .af-help-keyword-badge {
    background: rgba(255, 255, 255, 0.15);
    color: #e2e8f0;
}

body:not(.theme-new) .af-help-table {
    color: #f1f5f9;
}

body:not(.theme-new) .af-help-table th,
body:not(.theme-new) .af-help-table td {
    border-color: rgba(255, 255, 255, 0.15);
}

body:not(.theme-new) .af-schedule-help-search-input {
    background: #1a2035;
    color: #fff;
    border-color: #334155;
}

/* New theme */
.theme-new .af-schedule-help-hero {
    background: var(--af-new-surface, #fff);
    border: 1px solid var(--af-new-border, #e2e8f0);
    box-shadow: var(--af-new-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}

.theme-new .af-schedule-help-hero__title {
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-schedule-help-hero__icon {
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-schedule-help-hero__subtitle {
    color: var(--af-new-text-muted, #64748b);
}

.theme-new .af-schedule-help-search-label {
    color: var(--af-new-text-muted, #64748b);
    font-weight: 600;
    font-size: 0.8rem;
}

.theme-new .af-schedule-help-nav {
    background: var(--af-new-surface, #fff);
    border: 1px solid var(--af-new-border, #e2e8f0);
    box-shadow: var(--af-new-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}

.theme-new .af-schedule-help-nav__header {
    color: var(--af-new-primary, #0d6efd);
    border-bottom-color: var(--af-new-border, #e2e8f0);
}

.theme-new .af-schedule-help-nav-link {
    color: var(--af-new-text, #1e293b);
}

.theme-new .af-schedule-help-nav-link:hover {
    background: rgba(13, 110, 253, 0.06);
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-schedule-help-nav-link.active {
    background: rgba(13, 110, 253, 0.12);
    color: var(--af-new-primary, #0d6efd);
    font-weight: 600;
}

.theme-new .af-schedule-help-nav-link .af-schedule-help-nav-icon {
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-schedule-help-section {
    background: var(--af-new-surface, #fff);
    border: 1px solid var(--af-new-border, #e2e8f0);
    box-shadow: var(--af-new-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06));
}

.theme-new .af-schedule-help-section__header {
    border-bottom-color: var(--af-new-border, #e2e8f0);
    background: linear-gradient(135deg, rgba(13, 110, 253, 0.04), rgba(32, 201, 151, 0.04));
}

.theme-new .af-schedule-help-section__icon-wrap {
    background: rgba(13, 110, 253, 0.12);
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-schedule-help-section__title {
    color: var(--af-new-text, #1e293b);
}

.theme-new .af-help-prose {
    color: var(--af-new-text, #334155);
}

.theme-new .af-help-keyword-badge {
    background: rgba(13, 110, 253, 0.1);
    color: var(--af-new-primary, #0d6efd);
}

.theme-new .af-help-callout {
    background: rgba(13, 110, 253, 0.06);
    color: var(--af-new-text, #334155);
}

.theme-new .af-help-table th {
    background: rgba(13, 110, 253, 0.06);
    color: var(--af-new-text, #1e293b);
}

.theme-new .af-schedule-help-section--match {
    box-shadow: 0 0 0 2px rgba(13, 110, 253, 0.45);
}

/* ==========================================================================
   Employee Permissions (New Theme only)
   ========================================================================== */

.theme-new .af-employee-permissions-page {
    --af-dash-surface: #e2e8f0;
    --af-dash-surface-elevated: #edf1f7;
    --af-dash-surface-muted: #d5dde8;
    --af-dash-border: #bcc6d4;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.04), 0 2px 6px rgba(15, 23, 42, 0.03);
    --af-dash-shadow-hover: 0 2px 10px rgba(15, 23, 42, 0.07);
    max-width: 100%;
    padding: 2rem 1.25rem 3rem;
    background: linear-gradient(180deg, var(--af-new-bg-elevated) 0%, var(--af-new-bg) 8rem);
}

.theme-new .af-employee-permissions-page .permissions-shell {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Dashboard-style cards */
.theme-new .af-employee-permissions-page .permissions-hero-card,
.theme-new .af-employee-permissions-page .filter-card,
.theme-new .af-employee-permissions-page .employee-card,
.theme-new .af-employee-permissions-page .empty-state-wrap,
.theme-new .af-employee-permissions-page .employee-summary-card,
.theme-new .af-employee-permissions-page .content-card,
.theme-new .af-employee-permissions-page .af-card.glass-card {
    background: var(--af-dash-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-dash-border) !important;
    border-radius: var(--af-new-radius-card) !important;
    box-shadow: var(--af-dash-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-employee-permissions-page .employee-card:hover,
.theme-new .af-employee-permissions-page .employee-summary-card:hover,
.theme-new .af-employee-permissions-page .content-card:hover {
    box-shadow: var(--af-dash-shadow-hover) !important;
}

.theme-new .af-employee-permissions-page .permissions-hero-card,
.theme-new .af-employee-permissions-page .filter-card,
.theme-new .af-employee-permissions-page .employee-summary-card {
    padding: 1.35rem 1.5rem !important;
}

.theme-new .af-employee-permissions-page .employee-card-self {
    border-color: rgba(37, 99, 235, 0.4) !important;
}

.theme-new .af-employee-permissions-page .permissions-hero-actions {
    display: none !important;
}

/* Hero */
.theme-new .af-employee-permissions-page .permissions-hero-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
}

.theme-new .af-employee-permissions-page .permissions-eyebrow {
    color: var(--af-new-primary) !important;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}

.theme-new .af-employee-permissions-page .permissions-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
    font-weight: 700;
    font-size: 1.75rem;
    letter-spacing: -0.02em;
}

.theme-new .af-employee-permissions-page .permissions-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.95rem;
    max-width: 42rem;
}

/* Card headers (dashboard stat-card rhythm) */
.theme-new .af-employee-permissions-page .employee-card-top,
.theme-new .af-employee-permissions-page .employee-card-body,
.theme-new .af-employee-permissions-page .employee-card-footer {
    padding: 1.15rem 1.25rem !important;
}

.theme-new .af-employee-permissions-page .employee-card-top,
.theme-new .af-employee-permissions-page .employee-card-footer,
.theme-new .af-employee-permissions-page .content-card-header {
    border-color: var(--af-dash-border) !important;
}

.theme-new .af-employee-permissions-page .employee-card-top {
    border-bottom: 1px solid var(--af-dash-border) !important;
}

.theme-new .af-employee-permissions-page .employee-card-footer {
    border-top: 1px solid var(--af-dash-border) !important;
    display: flex;
    justify-content: flex-start;
}

.theme-new .af-employee-permissions-page .content-card-header {
    padding: 1.25rem 1.5rem 1rem !important;
    border-bottom: 1px solid var(--af-dash-border) !important;
    background: var(--af-dash-surface-elevated);
}

.theme-new .af-employee-permissions-page .content-card-header h4.af-permissions-section-title {
    color: var(--af-new-primary) !important;
    font-weight: 700;
    font-size: 1.1rem;
    letter-spacing: -0.01em;
}

.theme-new .af-employee-permissions-page .content-card-header h4.af-permissions-section-title i {
    color: var(--af-new-primary) !important;
    opacity: 0.9;
}

.theme-new .af-employee-permissions-page .content-card-header h4 {
    color: var(--af-new-text-heading-light, #1e293b) !important;
    font-weight: 700;
    font-size: 1.05rem;
}

.theme-new .af-employee-permissions-page .content-card-header h4 .text-info {
    color: var(--af-new-primary) !important;
}

.theme-new .af-employee-permissions-page .content-card-header p {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.875rem;
}

.theme-new .af-employee-permissions-page .content-card-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

.theme-new .af-employee-permissions-page .af-permissions-grid-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 0.75rem;
}

.theme-new .af-employee-permissions-page .af-permissions-selected-count {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--af-new-text-muted, #64748b);
}

.theme-new .af-employee-permissions-page .af-permissions-selected-count strong {
    color: var(--af-new-primary);
    font-weight: 700;
    font-size: 0.95rem;
}

body:not(.theme-new) .af-employee-permissions-page .af-permissions-grid-toolbar {
    display: none;
}

/* Form controls */
.theme-new .af-employee-permissions-page .modern-label {
    color: var(--af-new-text, #334155) !important;
    font-weight: 600;
    font-size: 0.875rem;
    margin-bottom: 0.4rem;
}

.theme-new .af-employee-permissions-page .modern-control {
    background: #fff !important;
    color: var(--af-new-text, #334155) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius, 8px) !important;
    min-height: 42px !important;
    padding: 0.5rem 0.85rem !important;
    box-shadow: none !important;
    font-size: 0.9rem;
}

.theme-new .af-employee-permissions-page .modern-control:focus {
    border-color: var(--af-new-primary) !important;
    background: #fff !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
    color: var(--af-new-text, #334155) !important;
}

/* Employee list cards */
.theme-new .af-employee-permissions-page .af-permissions-employee-grid {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.theme-new .af-employee-permissions-page .employee-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.theme-new .af-employee-permissions-page .employee-card-body {
    flex: 1 1 auto;
}

.theme-new .af-employee-permissions-page .employee-name {
    color: var(--af-new-text-heading-light, #1e293b) !important;
    font-weight: 700;
    font-size: 1rem;
}

.theme-new .af-employee-permissions-page .employee-meta {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.85rem;
}

.theme-new .af-employee-permissions-page .employee-avatar {
    width: 52px !important;
    height: 52px !important;
    border: 2px solid rgba(37, 99, 235, 0.3) !important;
}

.theme-new .af-employee-permissions-page .employee-avatar-fallback {
    background: rgba(37, 99, 235, 0.1) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    font-size: 1rem;
}

.theme-new .af-employee-permissions-page .summary-label {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.theme-new .af-employee-permissions-page .summary-count {
    color: var(--af-new-text-heading-light, #1e293b) !important;
    font-weight: 700;
    font-size: 0.95rem;
}

/* Section badges — hide model emojis on new theme */
.theme-new .af-employee-permissions-page .section-badge__full {
    display: none !important;
}

body:not(.theme-new) .af-employee-permissions-page .section-badge__plain {
    display: none !important;
}

.theme-new .af-employee-permissions-page .self-badge,
.theme-new .af-employee-permissions-page .staff-badge {
    background: rgba(180, 83, 9, 0.1) !important;
    color: #b45309 !important;
    border: 1px solid rgba(180, 83, 9, 0.2);
    font-size: 0.68rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
}

.theme-new .af-employee-permissions-page .section-badge {
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--af-new-primary) !important;
    border: 1px solid rgba(37, 99, 235, 0.18) !important;
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.3rem 0.55rem;
}

.theme-new .af-employee-permissions-page .permission-badges {
    gap: 0.35rem;
}

.theme-new .af-employee-permissions-page .self-warning {
    background: rgba(180, 83, 9, 0.08) !important;
    color: #92400e !important;
    border: 1px solid rgba(180, 83, 9, 0.2) !important;
    font-weight: 600;
    min-height: auto;
    border-radius: var(--af-new-radius, 8px);
    font-size: 0.85rem;
    padding: 0.55rem 0.75rem;
    width: 100%;
    text-align: left;
    justify-content: flex-start;
}

/* Empty states */
.theme-new .af-employee-permissions-page .empty-inline-icon,
.theme-new .af-employee-permissions-page .empty-state-icon {
    width: 44px;
    height: 44px;
    border-radius: var(--af-new-radius, 8px);
    background: rgba(37, 99, 235, 0.1) !important;
    color: var(--af-new-primary) !important;
    font-size: 1rem;
}

.theme-new .af-employee-permissions-page .empty-inline-state h6,
.theme-new .af-employee-permissions-page .empty-state-wrap h4 {
    color: var(--af-new-text-heading-light, #1e293b) !important;
    font-weight: 700;
}

.theme-new .af-employee-permissions-page .empty-inline-state p,
.theme-new .af-employee-permissions-page .empty-state-wrap p {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.9rem;
}

.theme-new .af-employee-permissions-page .empty-state-wrap {
    padding: 2.5rem 1.5rem !important;
}

/* Detail: employee summary */
.theme-new .af-employee-permissions-page .meta-pill {
    background: var(--af-dash-surface-elevated) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    color: var(--af-new-text, #475569) !important;
    font-weight: 500;
    font-size: 0.8rem;
    padding: 0.4rem 0.7rem;
}

.theme-new .af-employee-permissions-page .meta-pill-success {
    background: rgba(37, 99, 235, 0.06) !important;
    color: var(--af-new-primary) !important;
    border-color: rgba(37, 99, 235, 0.2) !important;
}

.theme-new .af-employee-permissions-page .meta-pill-warning {
    background: rgba(180, 83, 9, 0.08) !important;
    color: #b45309 !important;
    border-color: rgba(180, 83, 9, 0.2) !important;
}

.theme-new .af-employee-permissions-page .summary-stat-card {
    background: var(--af-dash-surface-elevated) !important;
    background-image: none !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius-card) !important;
    min-height: 110px;
}

.theme-new .af-employee-permissions-page .summary-stat-value {
    color: var(--af-new-primary) !important;
    font-weight: 700;
    font-size: 2rem;
}

.theme-new .af-employee-permissions-page .summary-stat-label {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.85rem;
}

/* Select Access grid — compact tiles */
.theme-new .af-employee-permissions-page .af-permissions-access-grid {
    --bs-gutter-x: 0.85rem;
    --bs-gutter-y: 0.85rem;
}

.theme-new .af-employee-permissions-page .permission-option {
    position: relative;
    display: block;
    height: 100%;
    cursor: pointer;
}

.theme-new .af-employee-permissions-page .permission-option input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.theme-new .af-employee-permissions-page .permission-option-inner {
    background: #fff !important;
    border: 1.5px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius, 8px) !important;
    text-align: left;
    padding: 0.8rem 2.35rem 0.8rem 0.85rem !important;
    min-height: 5.5rem;
    transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.theme-new .af-employee-permissions-page .permission-option:hover .permission-option-inner {
    transform: none;
    border-color: rgba(37, 99, 235, 0.45) !important;
    background: var(--af-dash-surface-elevated) !important;
}

.theme-new .af-employee-permissions-page .permission-option input[type="checkbox"]:checked ~ .permission-option-inner,
.theme-new .af-employee-permissions-page .permission-option-featured input[type="checkbox"]:checked ~ .permission-option-inner {
    border: 2px solid var(--af-new-primary) !important;
    background: rgba(37, 99, 235, 0.11) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12) !important;
}

/* Checkmark — top-right corner, clearly visible when selected */
.theme-new .af-employee-permissions-page .permission-checkmark {
    top: 0.5rem;
    right: 0.5rem;
    left: auto;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    border: 2px solid var(--af-new-border, #cbd5e1) !important;
    background: #fff !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}

.theme-new .af-employee-permissions-page .permission-option input[type="checkbox"]:checked + .permission-checkmark {
    background: var(--af-new-primary) !important;
    background-image: none !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.4) !important;
}

.theme-new .af-employee-permissions-page .permission-option input[type="checkbox"]:checked + .permission-checkmark::after {
    content: "";
    position: absolute;
    left: 7px;
    top: 3px;
    width: 7px;
    height: 13px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg);
}

/* Hide colorful permission icon blocks on new theme */
.theme-new .af-employee-permissions-page .permission-icon,
.theme-new .af-employee-permissions-page [class*="permission-icon-"] {
    display: none !important;
}

.theme-new .af-employee-permissions-page .permission-option-inner h5 {
    color: var(--af-new-primary) !important;
    font-weight: 600;
    font-size: 0.88rem;
    margin-bottom: 0.3rem;
    line-height: 1.3;
}

.theme-new .af-employee-permissions-page .permission-option input[type="checkbox"]:checked ~ .permission-option-inner h5 {
    color: var(--af-new-primary-hover, #1d4ed8) !important;
    font-weight: 700;
}

.theme-new .af-employee-permissions-page .permission-option-inner p {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.78rem;
    line-height: 1.45;
    margin-bottom: 0;
}

/* Buttons — compact dashboard style */
.theme-new .af-employee-permissions-page .btn.af-btn-primary,
.theme-new .af-employee-permissions-page a.af-btn-primary,
.theme-new .af-employee-permissions-page button.af-btn-primary {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0.45rem 0.95rem !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    border-radius: var(--af-new-radius-btn) !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-permissions-page .btn-primary-glow,
.theme-new .af-employee-permissions-page .btn-soft-light {
    background: var(--af-new-btn-outline-bg) !important;
    background-image: none !important;
    color: var(--af-new-primary) !important;
    border: 2px solid var(--af-new-primary) !important;
    box-shadow: none !important;
}

.theme-new .af-employee-permissions-page .btn-primary-glow:hover,
.theme-new .af-employee-permissions-page .btn-primary-glow:focus,
.theme-new .af-employee-permissions-page .btn-soft-light:hover,
.theme-new .af-employee-permissions-page .btn-soft-light:focus {
    background: var(--af-new-primary) !important;
    color: #fff !important;
    border-color: var(--af-new-primary) !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-permissions-page button.btn.af-permissions-save-btn,
.theme-new .af-employee-permissions-page .af-permissions-save-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.4rem !important;
    width: auto !important;
    min-width: 140px !important;
    min-height: 0 !important;
    padding: 0.6rem 1.25rem !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #fff !important;
    background: linear-gradient(110deg, #3a9afe 0%, #2b87fc 100%) !important;
    background-color: #2b87fc !important;
    background-image: linear-gradient(110deg, #3a9afe 0%, #2b87fc 100%) !important;
    border: none !important;
    border-radius: var(--af-new-radius, 8px) !important;
    box-shadow: 0 1px 4px rgba(37, 99, 235, 0.22) !important;
    text-decoration: none !important;
    transform: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease !important;
}

.theme-new .af-employee-permissions-page button.btn.af-permissions-save-btn:hover,
.theme-new .af-employee-permissions-page button.btn.af-permissions-save-btn:focus,
.theme-new .af-employee-permissions-page .af-permissions-save-btn:hover,
.theme-new .af-employee-permissions-page .af-permissions-save-btn:focus {
    color: #fff !important;
    background: linear-gradient(110deg, #4ab2ff 0%, #3a9afe 100%) !important;
    background-color: #3a9afe !important;
    background-image: linear-gradient(110deg, #4ab2ff 0%, #3a9afe 100%) !important;
    border: none !important;
    box-shadow: 0 2px 8px rgba(37, 99, 235, 0.3) !important;
    transform: none !important;
}

.theme-new .af-employee-permissions-page .af-permissions-filter-btn {
    width: auto !important;
}

.theme-new .af-employee-permissions-page .af-permissions-card-btn {
    width: auto !important;
}

.theme-new .af-employee-permissions-page .af-permissions-action-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
    padding-top: 0.25rem;
}

@media (min-width: 992px) {
    .theme-new .af-employee-permissions-page {
        padding: 2.5rem 1.75rem 3.5rem;
    }
}

@media (max-width: 767px) {
    .theme-new .af-employee-permissions-page {
        padding: 1.25rem 0.75rem 2rem;
    }

    .theme-new .af-employee-permissions-page .permissions-title {
        font-size: 1.4rem;
    }

    .theme-new .af-employee-permissions-page .permissions-hero-top {
        flex-direction: column;
    }

    .theme-new .af-employee-permissions-page .employee-avatar {
        width: 56px !important;
        height: 56px !important;
    }

    .theme-new .af-employee-permissions-page .employee-name {
        font-size: 1.1rem;
    }

    .theme-new .af-employee-permissions-page .af-permissions-action-bar > *,
    .theme-new .af-employee-permissions-page .af-permissions-filter-btn,
    .theme-new .af-employee-permissions-page .af-permissions-card-btn {
        width: 100% !important;
    }

    .theme-new .af-employee-permissions-page .employee-card-footer {
        justify-content: stretch;
    }
}

/* ============================================================
   Time Clock — New Theme (Daily Attendance, Help Center, Nav)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.af-timeclock-nt-shell {
    display: none;
}

.theme-new .af-timeclock-nt-shell {
    display: block;
}

.theme-new .af-timeclock-page,
.theme-new .af-timeclock-admin-page,
.theme-new .af-timeclock-help-page {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Dashboard card — hide Open Time Clock on New Theme only */
.theme-new .af-new-modules .af-tile-card .af-timeclock-dash-open {
    display: none !important;
}

.theme-new .af-new-modules .af-tile-card .af-timeclock-dash-reports {
    width: 100% !important;
}

/* Nav subtitle — readable on New Theme */
.theme-new .af-timeclock-nav-card .af-timeclock-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-timeclock-nav-card .af-schedule-nav-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #timeclockNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ---- Daily Attendance: New Theme overview header ---- */
.theme-new .af-timeclock-hero {
    background: var(--af-new-surface, #fff) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-new-shadow, 0 1px 3px rgba(15, 23, 42, 0.06)) !important;
    color: var(--af-new-text, #1e293b);
    margin-bottom: 1rem !important;
}

.theme-new .af-timeclock-hero__top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
}

.theme-new .af-timeclock-hero__main {
    flex: 1 1 16rem;
    min-width: 0;
}

.theme-new .af-timeclock-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--af-new-text-heading-light, #0f172a);
    line-height: 1.25;
}

.theme-new .af-timeclock-subtitle {
    font-size: 0.92rem;
    color: var(--af-new-text-muted, #64748b);
    line-height: 1.55;
    max-width: 40rem;
}

.theme-new .af-timeclock-hero-meta {
    font-size: 0.84rem;
}

.theme-new .af-timeclock-meta-item {
    color: var(--af-new-text-muted, #64748b);
    font-weight: 500;
}

.theme-new .af-timeclock-meta-item i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-meta-live {
    color: var(--af-new-text, #334155) !important;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

.theme-new .af-timeclock-live-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #16a34a;
    flex-shrink: 0;
}

.theme-new .af-timeclock-meta-muted {
    color: var(--af-new-text-muted, #94a3b8) !important;
}

.theme-new .af-timeclock-hero-stats {
    flex: 0 1 auto;
}

.theme-new .af-timeclock-stat-chip {
    background: #fff !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius, 8px);
    padding: 0.6rem 0.9rem;
    min-width: 5rem;
    text-align: center;
    box-shadow: none !important;
}

.theme-new .af-timeclock-stat-value {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    color: #0f172a !important;
    line-height: 1.2;
}

.theme-new .af-timeclock-stat-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b !important;
    margin-top: 0.15rem;
    opacity: 1 !important;
}

/* Hide New-Theme-only panels on Classic */
.af-timeclock-team-warning {
    display: none;
}

.af-timeclock-export-nt-shell {
    display: none;
}

/* ---- Hide sections on New Theme only ---- */
.theme-new .af-timeclock-admin-page .af-timeclock-admin-self-actions,
.theme-new .af-timeclock-admin-page .af-timeclock-payroll-panel,
.theme-new .af-timeclock-admin-page .af-timeclock-team-panel {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.theme-new .af-timeclock-nav-payroll-tab {
    display: none !important;
}

.theme-new .af-timeclock-export-nt-shell {
    display: block !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-classic {
    display: none !important;
}

/* ---- Daily Attendance: hide classic gradient header on New Theme ---- */
.theme-new .af-timeclock-admin-page .modern-header {
    display: none !important;
}

.theme-new .af-timeclock-admin-page.container-fluid {
    margin-top: 0 !important;
    padding-top: 0.5rem !important;
}

.theme-new .af-timeclock-admin-page .timeclock-card {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .timeclock-card > .card-body {
    padding-top: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.theme-new .af-timeclock-admin-page .glass-card,
.theme-new .af-timeclock-admin-page .filter-card,
.theme-new .af-timeclock-admin-page .af-card {
    background: var(--af-new-surface, #fff) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-new-shadow, 0 1px 3px rgba(15, 23, 42, 0.06)) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-timeclock-admin-page .glass-card:hover,
.theme-new .af-timeclock-admin-page .stat-card:hover,
.theme-new .af-timeclock-admin-page .department-card:hover,
.theme-new .af-timeclock-admin-page .filter-card:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card:hover {
    transform: none !important;
    box-shadow: var(--af-new-shadow, 0 1px 3px rgba(15, 23, 42, 0.06)) !important;
}

.theme-new .af-timeclock-admin-page .fade-in,
.theme-new .af-timeclock-admin-page .slide-in {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .pulse-active,
.theme-new .af-timeclock-admin-page .status-dot {
    animation: none !important;
}

.theme-new .af-timeclock-admin-page .stat-card::before {
    display: none !important;
}

/* Action panels — neutral cards */
.theme-new .af-timeclock-admin-page .mass-action-section,
.theme-new .af-timeclock-admin-page .mass-action-section[style],
.theme-new .af-timeclock-admin-page .mass-action-section[style*="gradient"],
.theme-new .af-timeclock-admin-page .mass-action-section[style*="linear-gradient"] {
    background: var(--af-new-surface, #fff) !important;
    background-image: none !important;
    color: var(--af-new-text, #1e293b) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: none !important;
    padding: 1rem 1.25rem !important;
    margin-bottom: 1rem !important;
}

.theme-new .af-timeclock-admin-page .mass-action-section h5,
.theme-new .af-timeclock-admin-page .mass-action-section h6,
.theme-new .af-timeclock-admin-page .mass-action-section p,
.theme-new .af-timeclock-admin-page .mass-action-section small {
    color: var(--af-new-text, #1e293b) !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-admin-page .mass-action-section i.fas,
.theme-new .af-timeclock-admin-page .mass-action-section i.fa-solid {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-payroll-panel .badge.bg-light {
    background: var(--af-new-bg-elevated, #f1f5f9) !important;
    color: var(--af-new-text-muted, #64748b) !important;
    border: 1px solid var(--af-new-border, #e2e8f0);
    font-weight: 500 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-team-warning {
    display: block !important;
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.84rem;
    line-height: 1.45;
}

/* KPI statistic cards */
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card,
.theme-new .af-timeclock-admin-page .card.stat-card,
.theme-new .af-timeclock-admin-page .card.stat-card[style],
.theme-new .af-timeclock-admin-page .card.stat-card[style*="gradient"] {
    background: var(--af-new-surface, #fff) !important;
    background-image: none !important;
    color: var(--af-new-text, #1e293b) !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card.card.stat-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card .card-text,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card .card-title,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card h2,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card small {
    color: var(--af-new-text, #1e293b) !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card i.fas,
.theme-new .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card i.fas::before,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card.text-white i.fas,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card.text-white i.fas::before,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card i.fas.fa-3x,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card i.fas.fa-3x::before,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card i.fas.opacity-50,
.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card i.fas.opacity-50::before,
.theme-new .af-timeclock-admin-page .af-tc-kpi-icon,
.theme-new .af-timeclock-admin-page .af-tc-kpi-icon::before {
    color: #2563eb !important;
    fill: #2563eb !important;
    stroke: #2563eb !important;
    -webkit-text-fill-color: #2563eb !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
    background-color: rgba(37, 99, 235, 0.07) !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    border-radius: var(--af-new-radius, 8px);
    padding: 0.45rem;
    width: 2.75rem;
    height: 2.75rem;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card h2 {
    font-size: 1.75rem !important;
    font-weight: 700 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-kpi-card .duration-bar {
    display: none !important;
}

/* Department performance cards */
.theme-new .af-timeclock-admin-page .department-card,
.theme-new .af-timeclock-admin-page .department-card[style*="linear-gradient"] {
    background: var(--af-new-surface, #fff) !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: none !important;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .department-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .department-card .card-body,
.theme-new .af-timeclock-admin-page .department-card .card-title,
.theme-new .af-timeclock-admin-page .department-card small {
    color: var(--af-new-text, #1e293b) !important;
}

.theme-new .af-timeclock-admin-page .department-card i.fas,
.theme-new .af-timeclock-admin-page .department-card .af-tc-dept-icon,
.theme-new .af-timeclock-admin-page .department-card .af-tc-dept-icon::before,
.theme-new .af-timeclock-admin-page .af-timeclock-dept-stats .af-tc-dept-icon,
.theme-new .af-timeclock-admin-page .af-timeclock-dept-stats .af-tc-dept-icon::before {
    color: #2563eb !important;
    fill: #2563eb !important;
    stroke: #2563eb !important;
    -webkit-text-fill-color: #2563eb !important;
    opacity: 1 !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .department-card .badge.bg-light.text-primary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .department-card .badge.bg-success {
    background: #ecfdf5 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .department-card .text-white-80 {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

/* Filter card */
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .card-title,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .form-label {
    color: var(--af-new-text-heading-light, #0f172a) !important;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .card-title i.text-success,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .form-label i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card small.text-success {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-card .card-title i.text-success {
    color: var(--af-new-primary, #2563eb) !important;
}

/* New Theme button baseline — Daily Attendance page */
.theme-new .af-timeclock-admin-page .af-btn-primary,
.theme-new .af-timeclock-admin-page button.af-btn-primary,
.theme-new .af-timeclock-admin-page a.af-btn-primary {
    min-width: auto;
    min-height: 2.5rem;
    padding: 0.55rem 1.15rem;
    font-weight: 600;
    font-size: 0.92rem;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-timeclock-admin-page .af-btn-primary:hover,
.theme-new .af-timeclock-admin-page button.af-btn-primary:hover,
.theme-new .af-timeclock-admin-page a.af-btn-primary:hover {
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-btn-secondary,
.theme-new .af-timeclock-admin-page button.af-btn-secondary,
.theme-new .af-timeclock-admin-page a.af-btn-secondary {
    min-width: auto;
    min-height: 2.5rem;
    padding: 0.5rem 1rem;
    font-weight: 600;
    font-size: 0.92rem;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.theme-new .af-timeclock-admin-page .af-btn-secondary:hover,
.theme-new .af-timeclock-admin-page button.af-btn-secondary:hover,
.theme-new .af-timeclock-admin-page a.af-btn-secondary:hover {
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-apply.af-btn-primary {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-apply.af-btn-primary:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-apply.af-btn-primary:focus {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-reset.af-btn-secondary,
.theme-new .af-timeclock-admin-page .note-badge.af-btn-secondary {
    background: #fff !important;
    border: 1px solid var(--af-new-border, #cbd5e1) !important;
    color: var(--af-new-text, #334155) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-reset.af-btn-secondary:hover,
.theme-new .af-timeclock-admin-page .note-badge.af-btn-secondary:hover {
    background: var(--af-new-bg-elevated, #f8fafc) !important;
    border-color: #cbd5e1 !important;
    color: var(--af-new-text, #334155) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-show-today-btn.af-btn-primary {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-show-today-btn.af-btn-primary:hover {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

.theme-new .af-timeclock-admin-page .form-control,
.theme-new .af-timeclock-admin-page .form-select {
    border-radius: var(--af-new-radius, 8px) !important;
    border: 1px solid var(--af-new-border, #cbd5e1) !important;
    border-width: 1px !important;
    color: var(--af-new-text, #1e293b);
    background: #fff !important;
    min-height: 2.5rem;
}

.theme-new .af-timeclock-admin-page .form-control:focus,
.theme-new .af-timeclock-admin-page .form-select:focus {
    border-color: var(--af-new-primary, #2563eb) !important;
    box-shadow: 0 0 0 0.15rem rgba(37, 99, 235, 0.12) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .btn-primary {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .btn-primary:hover {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .btn-outline-secondary {
    background: #fff !important;
    border: 1px solid var(--af-new-border, #cbd5e1) !important;
    color: var(--af-new-text-muted, #64748b) !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .btn-outline-secondary:hover {
    background: var(--af-new-bg-elevated, #f8fafc) !important;
    border-color: var(--af-new-border, #cbd5e1) !important;
    color: var(--af-new-text-muted, #64748b) !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Export buttons — dashboard outline style (blue border/text, light blue hover) */
.theme-new .af-timeclock-admin-page .af-timeclock-export-group {
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0.5rem;
}

@media (min-width: 768px) {
    .theme-new .af-timeclock-admin-page .af-timeclock-export-group {
        width: auto;
        margin-top: 0;
    }
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .af-timeclock-export-btn,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-success,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-danger,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-outline-success,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-outline-danger {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    font-weight: 600;
    font-size: 0.82rem;
    min-height: 2.5rem;
    transform: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn i,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .af-timeclock-export-btn i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn:focus,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-success:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-danger:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-outline-success:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn-outline-danger:hover,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .af-timeclock-export-btn:hover {
    background: var(--af-new-btn-outline-bg-hover, #eff6ff) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn:hover i,
.theme-new .af-timeclock-admin-page .af-timeclock-export-group .af-timeclock-export-btn:hover i {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Filter summary */
.theme-new .af-timeclock-admin-page .bg-light.rounded-3 {
    background: var(--af-new-bg-elevated, #f8fafc) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
}

.theme-new .af-timeclock-admin-page .bg-light.rounded-3 .badge {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .bg-light.rounded-3 .badge.bg-info {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
}

.theme-new .af-timeclock-admin-page .bg-light.rounded-3 .badge.bg-warning {
    background: #fffbeb !important;
    color: #92400e !important;
    border: 1px solid #fde68a;
}

.theme-new .af-timeclock-admin-page .bg-light.rounded-3 .text-primary i {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Section headings */
.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions .card-title,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .card-title,
.theme-new .af-timeclock-admin-page .af-timeclock-dept-stats .card-title {
    color: var(--af-new-text-heading-light, #0f172a) !important;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-dept-stats .card-title i.text-primary {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions .card-title i.text-warning,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .card-title i.text-info {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions .badge.bg-warning,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .badge.bg-info,
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousCount.badge.bg-secondary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions small.text-success {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions small.text-success .fa-circle {
    color: #16a34a !important;
}

/* Tables — light readable headers on all Daily Attendance tables */
.theme-new .af-timeclock-admin-page .table-modern {
    border: 1px solid var(--af-new-border, #e2e8f0);
    border-radius: var(--af-new-radius, 8px);
}

.theme-new .af-timeclock-admin-page .table-modern thead th {
    background: #fff !important;
    background-image: none !important;
    color: var(--af-new-text-heading-light, #0f172a) !important;
    border: none !important;
    border-bottom: 1px solid var(--af-new-border, #e2e8f0) !important;
    text-transform: none;
    letter-spacing: normal;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.75rem 1rem;
}

.theme-new .af-timeclock-admin-page .table-modern tbody tr {
    transition: none !important;
}

.theme-new .af-timeclock-admin-page .table-modern tbody tr:hover {
    background: rgba(15, 23, 42, 0.02) !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .table-modern td,
.theme-new .af-timeclock-admin-page .table-modern td strong.text-dark {
    color: var(--af-new-text, #1e293b) !important;
}

.theme-new .af-timeclock-admin-page .employee-avatar {
    background: var(--af-new-bg-elevated, #e2e8f0) !important;
    background-image: none !important;
    color: var(--af-new-text-heading-light, #0f172a) !important;
    border: 1px solid var(--af-new-border, #cbd5e1);
}

.theme-new .af-timeclock-admin-page img.rounded-circle[style*="667eea"],
.theme-new .af-timeclock-admin-page img.rounded-circle[style*="border"] {
    border-color: var(--af-new-border, #cbd5e1) !important;
}

/* Badges — dashboard-matched light pills (high specificity vs Bootstrap) */
.theme-new .af-timeclock-admin-page .table-modern .badge,
.theme-new .af-timeclock-admin-page .badge-modern {
    border-radius: 999px !important;
    box-shadow: none !important;
    animation: none !important;
    font-weight: 600 !important;
}

.theme-new .af-timeclock-admin-page .af-tc-badge-dept,
.theme-new .af-timeclock-admin-page .table-modern td .badge.bg-secondary.badge-modern,
.theme-new .af-timeclock-admin-page .table-modern .badge.bg-secondary.badge-modern,
.theme-new .af-timeclock-admin-page .af-tc-badge-completed,
.theme-new .af-timeclock-admin-page .badge.bg-secondary.badge-modern {
    background: #eff6ff !important;
    background-image: none !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-timeclock-admin-page .af-tc-badge-duration,
.theme-new .af-timeclock-admin-page .table-modern .badge.bg-info.badge-modern {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new .af-timeclock-admin-page .af-tc-badge-duration i,
.theme-new .af-timeclock-admin-page .table-modern .badge.bg-info.badge-modern i {
    color: #64748b !important;
}

.theme-new .af-timeclock-admin-page .af-tc-badge-active,
.theme-new .af-timeclock-admin-page .table-modern .badge.bg-success.badge-modern:not(.af-tc-badge-duration) {
    background: #ecfdf5 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.theme-new .af-timeclock-admin-page .badge-modern,
.theme-new .af-timeclock-admin-page .badge.bg-secondary:not(.badge-modern) {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .badge.bg-success {
    background: #ecfdf5 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0;
}

.theme-new .af-timeclock-admin-page .badge.bg-warning,
.theme-new .af-timeclock-admin-page .badge.bg-warning.text-dark {
    background: #fffbeb !important;
    color: #92400e !important;
    border: 1px solid #fde68a;
}

.theme-new .af-timeclock-admin-page .badge.bg-info,
.theme-new .af-timeclock-admin-page .badge.bg-info.text-dark {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
}

.theme-new .af-timeclock-admin-page .badge.bg-danger {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca;
}

.theme-new .af-timeclock-admin-page .badge.bg-primary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
}

.theme-new .af-timeclock-admin-page .badge.bg-dark,
.theme-new .af-timeclock-admin-page .table-modern .badge.bg-dark.badge-modern {
    background: #f8fafc !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new .af-timeclock-admin-page .badge.bg-success .status-dot.bg-white {
    background: #16a34a !important;
}

.theme-new .af-timeclock-admin-page .badge.bg-light.text-primary,
.theme-new .af-timeclock-admin-page .department-card .badge.bg-light.text-primary {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .department-card .badge.bg-success {
    background: #ecfdf5 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .duration-bar {
    background: var(--af-new-bg-elevated, #e2e8f0) !important;
}

.theme-new .af-timeclock-admin-page .duration-fill {
    transition: none !important;
}

.theme-new .af-timeclock-admin-page .duration-fill.bg-success,
.theme-new .af-timeclock-admin-page .duration-fill.bg-white {
    background: #94a3b8 !important;
}

/* Note / action buttons — dashboard outline blue */
.theme-new .af-timeclock-admin-page .note-badge,
.theme-new .af-timeclock-admin-page .btn-sm.btn-info,
.theme-new .af-timeclock-admin-page .btn-sm.btn-outline-primary {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    min-height: 2rem;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .note-badge i,
.theme-new .af-timeclock-admin-page .btn-sm.btn-info i,
.theme-new .af-timeclock-admin-page .btn-sm.btn-outline-primary i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .note-badge:hover,
.theme-new .af-timeclock-admin-page .btn-sm.btn-info:hover,
.theme-new .af-timeclock-admin-page .btn-sm.btn-outline-primary.note-badge:hover {
    transform: none !important;
    background: var(--af-new-btn-outline-bg-hover, #eff6ff) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .note-badge:hover i,
.theme-new .af-timeclock-admin-page .btn-sm.btn-info:hover i,
.theme-new .af-timeclock-admin-page .btn-sm.btn-outline-primary.note-badge:hover i {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Panel action buttons */
.theme-new .af-timeclock-admin-page .mass-action-section .btn,
.theme-new .af-timeclock-admin-page .mass-action-section .btn-light,
.theme-new .af-timeclock-admin-page .mass-action-section .btn-success,
.theme-new .af-timeclock-admin-page .mass-action-section .btn-danger,
.theme-new .af-timeclock-admin-page .mass-action-section .btn-warning,
.theme-new .af-timeclock-admin-page .mass-action-section .btn-info {
    background: #fff !important;
    background-image: none !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    font-weight: 600;
    border-width: 1px !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-payroll-panel .btn-light {
    background: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    border-color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-team-panel .btn-warning {
    background: #fff !important;
    color: #92400e !important;
    border: 1px solid #d97706 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-team-panel .btn-info {
    background: #fff !important;
    color: var(--af-new-text, #334155) !important;
    border: 1px solid var(--af-new-border, #cbd5e1) !important;
}

.theme-new .af-timeclock-admin-page .btn-group .btn:hover,
.theme-new .af-timeclock-admin-page .mass-action-section .btn:hover {
    transform: none !important;
}

/* Summary row — four dashboard-style stat cells */
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0.75rem 0 0 !important;
    margin-top: 1.25rem !important;
    box-shadow: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .row,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .row {
    --bs-gutter-x: 0.75rem;
    --bs-gutter-y: 0.75rem;
}

.theme-new .af-timeclock-admin-page .af-timeclock-summary-cell,
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .row > [class*="col-"],
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .row > [class*="col-"] {
    background: var(--af-new-surface, #fff) !important;
    background-image: none !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    padding: 1rem 0.75rem !important;
    box-shadow: var(--af-new-shadow, 0 1px 3px rgba(15, 23, 42, 0.06)) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .row > [class*="col-"].border-end,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .row > [class*="col-"].border-end {
    border-right: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-summary-icon {
    display: block;
    font-size: 1.15rem;
    color: var(--af-new-primary, #2563eb) !important;
    opacity: 1 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-summary-value,
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary strong,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light strong {
    color: var(--af-new-text-heading-light, #0f172a) !important;
    font-weight: 700 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .text-primary,
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .text-success,
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .text-info,
.theme-new .af-timeclock-admin-page .af-timeclock-records-summary .text-dark,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .text-primary,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .text-success,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .text-info,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light .text-dark {
    color: var(--af-new-text-heading-light, #0f172a) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-records-summary p.text-muted,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .mt-4.p-4.bg-light p.text-muted {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.85rem;
    font-weight: 500;
    margin-top: 0.25rem !important;
}

/* Empty states — restrained blue icons */
.theme-new .af-timeclock-admin-page .text-center.py-5 i.fa-5x {
    color: var(--af-new-primary, #2563eb) !important;
    opacity: 0.35 !important;
}

.theme-new .af-timeclock-admin-page .text-center.py-5 h4,
.theme-new .af-timeclock-admin-page .text-center.py-5 p.text-muted {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-timeclock-admin-page .text-center.py-5 .btn-primary {
    background: var(--af-new-btn-outline-bg, #fff) !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
}

.theme-new .af-timeclock-admin-page .text-center.py-5 .btn-primary:hover {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

.theme-new .af-timeclock-admin-page .text-center.py-5 .btn-primary i {
    color: inherit !important;
}

/* Page decorative icons — dashboard blue accent */
.theme-new .af-timeclock-admin-page .af-timeclock-export-card .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-filter-card .form-label i,
.theme-new .af-timeclock-admin-page .af-timeclock-dept-stats .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-active-sessions .card-title i,
.theme-new .af-timeclock-admin-page .af-timeclock-records-card .card-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Modals — neutral on New Theme */
.theme-new .af-timeclock-admin-page .modal-header.bg-primary,
.theme-new .af-timeclock-admin-page .modal-header.bg-info {
    background: var(--af-new-bg-elevated, #f8fafc) !important;
    color: var(--af-new-text-heading-light, #0f172a) !important;
    border-bottom: 1px solid var(--af-new-border, #e2e8f0);
}

.theme-new .af-timeclock-admin-page .modal-header .btn-close-white {
    filter: none;
    opacity: 0.65;
}

.theme-new .af-timeclock-admin-page .modal-content {
    border: 1px solid var(--af-new-border, #e2e8f0);
    border-radius: var(--af-new-radius-card, 12px);
}

.theme-new .af-timeclock-admin-page .glow-text {
    text-shadow: none !important;
}

/* Time difference text — keep semantic colours readable */
.theme-new .af-timeclock-admin-page .time-difference.text-success {
    color: #166534 !important;
}

.theme-new .af-timeclock-admin-page .time-difference.text-danger {
    color: #991b1b !important;
}

.theme-new .af-timeclock-admin-page .time-difference.text-warning {
    color: #92400e !important;
}

.theme-new .af-timeclock-admin-page .time-difference.text-info {
    color: #334155 !important;
}

/* Help Center page — reuse schedule help styling */
.theme-new .af-timeclock-help-page {
    padding-bottom: 2rem;
}

.theme-new .af-timeclock-help-page .af-schedule-help-hero,
.theme-new .af-timeclock-help-page .af-schedule-help-nav,
.theme-new .af-timeclock-help-page .af-schedule-help-section {
    animation: none !important;
    transform: none !important;
}

.theme-new .af-timeclock-help-page .af-schedule-help-section:hover {
    transform: none !important;
}

/* Suspicious Attendance Activity */
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card {
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .card-title {
    color: var(--af-new-text-heading-light, #0f172a) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .card-title i.text-warning {
    color: #d97706 !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousCount {
    background: var(--af-new-bg-elevated, #f1f5f9) !important;
    color: var(--af-new-text, #334155) !important;
    border: 1px solid var(--af-new-border, #e2e8f0);
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-intro {
    color: var(--af-new-text-muted, #64748b) !important;
    line-height: 1.55;
}

/* Suspicious table — light header (avoid dark --af-new-bg-elevated on thead) */
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern,
.theme-new .af-timeclock-admin-page #suspiciousTable {
    border: 1px solid var(--af-new-border, #e2e8f0);
    border-radius: var(--af-new-radius, 8px);
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern thead th,
.theme-new .af-timeclock-admin-page #suspiciousTable thead th {
    background: #fff !important;
    background-image: none !important;
    color: #0f172a !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.75rem 1rem;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern tbody tr,
.theme-new .af-timeclock-admin-page #suspiciousTable tbody tr {
    transition: none !important;
    border-bottom: 1px solid #f1f5f9;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern tbody tr:hover,
.theme-new .af-timeclock-admin-page #suspiciousTable tbody tr:hover {
    background: rgba(15, 23, 42, 0.02) !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern td,
.theme-new .af-timeclock-admin-page #suspiciousTable td,
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .table-modern td strong.text-dark,
.theme-new .af-timeclock-admin-page #suspiciousTable td strong.text-dark {
    color: #1e293b !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousEmpty h5,
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousEmpty p {
    color: #64748b !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousLoading p {
    color: #64748b !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .employee-avatar[style*="linear-gradient"],
.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .employee-avatar[style*="dc3545"] {
    background: var(--af-new-bg-elevated, #e2e8f0) !important;
    background-image: none !important;
    color: var(--af-new-text-heading-light, #0f172a) !important;
    border: 1px solid var(--af-new-border, #cbd5e1);
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card .badge.bg-danger {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca;
    font-weight: 600;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #suspiciousLoading .spinner-border.text-secondary {
    color: var(--af-new-text-muted, #94a3b8) !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #refreshSuspicious {
    color: #334155 !important;
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    min-height: 2.5rem;
    font-weight: 600;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-timeclock-admin-page .af-timeclock-suspicious-card #refreshSuspicious:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 768px) {
    .theme-new .af-timeclock-hero__top {
        padding: 1rem;
    }

    .theme-new .af-timeclock-title {
        font-size: 1.3rem;
    }

    .theme-new .af-timeclock-hero-stats {
        width: 100%;
    }

    .theme-new .af-timeclock-stat-chip {
        flex: 1 1 calc(33% - 0.5rem);
        min-width: 0;
    }

    .theme-new .af-timeclock-admin-page .af-timeclock-export-group .btn {
        flex: 1 1 100%;
    }

    .theme-new #timeclockNavTabs .nav-link {
        font-size: 0.78rem;
        padding: 0.45rem 0.65rem;
        white-space: nowrap;
    }
}

/* KPI summary row — dashboard blue icons (Font Awesome ::before + load-order safety) */
.theme-new .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card.text-white .card-body i.fas.fa-3x.opacity-50,
.theme-new .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card.text-white .card-body i.fas.fa-3x.opacity-50::before {
    color: #2563eb !important;
    -webkit-text-fill-color: #2563eb !important;
    opacity: 1 !important;
}

/* ==========================================================================
   Time Clock Daily Attendance — decorative icon colour (final cascade)
   Root override beaten: .card.stat-card / .department-card .card-title set
   color:#1e293b !important; icons inherit via currentColor on ::before unless
   locked here. Bootstrap .opacity-50 also greyed icons at 50% opacity.
   ========================================================================== */

body.theme-new.af-app .af-timeclock-admin-page .af-tc-kpi-icon,
body.theme-new.af-app .af-timeclock-admin-page .af-tc-kpi-icon::before,
body.theme-new.af-app .af-timeclock-admin-page .af-tc-dept-icon,
body.theme-new.af-app .af-timeclock-admin-page .af-tc-dept-icon::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card.text-white[style] .card-body > .d-flex > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card.text-white[style] .card-body > .d-flex > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card[style*="gradient"] .card-body i.fas.fa-3x.opacity-50,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .card.stat-card.af-timeclock-kpi-card[style*="gradient"] .card-body i.fas.fa-3x.opacity-50::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card .card-body i.fas.fa-3x.opacity-50,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card .card-body i.fas.fa-3x.opacity-50::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-dept-stats .card-title > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-dept-stats .card-title > i.fas.text-primary,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-dept-stats .card-title > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-dept-stats .card-title > i.fas.text-primary::before,
body.theme-new.af-app .af-timeclock-admin-page .department-card .card-title i.fas,
body.theme-new.af-app .af-timeclock-admin-page .department-card .card-body.text-white .card-title > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .department-card .card-title i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .department-card .card-body.text-white .card-title > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-filter-card .card-title i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-filter-card .card-title i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-filter-card .form-label i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-filter-card .form-label i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-export-card .card-title i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-export-card .card-title i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-active-sessions .card-title > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-active-sessions .card-title > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-records-card .card-title > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-records-card .card-title > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-meta-item > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-meta-item > i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-summary-icon,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-summary-icon::before,
body.theme-new.af-app .af-timeclock-admin-page .bg-light.rounded-3 .text-primary > i.fas,
body.theme-new.af-app .af-timeclock-admin-page .bg-light.rounded-3 .text-primary > i.fas::before {
    color: #2563eb !important;
    fill: #2563eb !important;
    stroke: #2563eb !important;
    -webkit-text-fill-color: #2563eb !important;
    opacity: 1 !important;
    filter: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
}

/* KPI icon tiles — lock glyph colour after card.text-white / stat-card colour reset */
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card i.fas.fa-3x.opacity-50,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-stat-row .af-timeclock-kpi-card i.fas.fa-3x.opacity-50::before {
    background-color: rgba(37, 99, 235, 0.07) !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
}

/* Status icons — preserve semantic colours (must follow decorative block) */
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-suspicious-card .card-title > i.fas.text-warning,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-suspicious-card .card-title > i.fas.text-warning::before {
    color: #d97706 !important;
    -webkit-text-fill-color: #d97706 !important;
}

body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-active-sessions small.text-success .fa-circle,
body.theme-new.af-app .af-timeclock-admin-page .af-timeclock-active-sessions small.text-success .fa-circle::before {
    color: #16a34a !important;
    -webkit-text-fill-color: #16a34a !important;
}

body.theme-new.af-app .af-timeclock-admin-page .time-difference i.fas,
body.theme-new.af-app .af-timeclock-admin-page .time-difference i.fas::before,
body.theme-new.af-app .af-timeclock-admin-page .table-modern .badge i.fas,
body.theme-new.af-app .af-timeclock-admin-page .table-modern .badge i.fas::before {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
}

/* ============================================================
   Employee & Department Management — New Theme (Phase 1)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

/* Classic: legacy in-page navbar only; hide shared New Theme nav shell */
.theme-classic .af-employee-mgmt-nav-shell {
    display: none !important;
}

/* New Theme: hide legacy in-page navbar on manage_employees */
.theme-new .af-employee-mgmt-classic-nav {
    display: none !important;
}

/* Nav subtitle — readable on New Theme */
.theme-new .af-employee-mgmt-nav-card .af-employee-mgmt-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-employee-mgmt-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-employee-mgmt-nav-card .af-schedule-nav-icon,
.theme-new .af-employee-mgmt-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #employeeMgmtNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ---- Employee list page shell ---- */
.theme-new .af-employee-mgmt-page {
    --af-emp-surface: #ffffff;
    --af-emp-surface-muted: #f8fafc;
    --af-emp-border: #bfdbfe;
    --af-emp-border-strong: #93c5fd;
    --af-emp-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1.25rem 1.25rem 2.5rem !important;
    background: var(--af-new-bg, #f1f5f9);
    animation: none !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-employee-mgmt-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

body:not(.theme-new) .af-employee-mgmt-page-lead {
    display: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-page-title {
    display: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-toolbar {
    justify-content: flex-end !important;
    margin-bottom: 0.5rem !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-page-lead {
    color: var(--af-primary-light, #3b82f6) !important;
    font-size: 0.95rem;
    line-height: 1.5;
    margin-top: 0 !important;
    display: block !important;
}

/* New Theme: hide import/export toolbar actions moved to Import & Export tab */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-classic-only-actions {
    display: none !important;
}

/* New Theme: hide row-level Holiday Balance (Classic unchanged) */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-holiday-action {
    display: none !important;
}

/* Main content card */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-content-card.af-card.glass-card {
    background: var(--af-emp-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-emp-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-emp-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-card-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

/* Filter form */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-label {
    color: var(--af-new-text, #334155) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-label i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-select,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-control {
    background: #fff !important;
    color: var(--af-new-text, #334155) !important;
    border: 1px solid var(--af-new-border, #e2e8f0) !important;
    border-radius: var(--af-new-radius, 8px) !important;
    min-height: 42px;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-select:focus,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-filter-form .form-control:focus {
    border-color: var(--af-new-primary, #2563eb) !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

/* Count / filter badges */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-counts .badge.bg-info {
    background: #dbeafe !important;
    color: #1e40af !important;
    border: 1px solid #bfdbfe;
    font-weight: 600;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-counts .badge.bg-warning {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-counts .btn-outline-secondary {
    color: var(--af-new-primary, #2563eb) !important;
    background: #fff !important;
    border: 1px solid var(--af-emp-border-strong) !important;
    font-weight: 600;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-counts .btn-outline-secondary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
}

/* Toolbar buttons — dashboard style, no gradients */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee[style] {
    background: #2563eb !important;
    background-image: none !important;
    background-size: auto !important;
    color: #fff !important;
    border: 1px solid #1d4ed8 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.2) !important;
    padding: 0.5rem 1rem !important;
    transform: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee::after {
    display: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee:hover,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee:focus {
    background: #1d4ed8 !important;
    background-image: none !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee .btn-icon {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility[style] {
    background: #fff !important;
    background-image: none !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    padding: 0.45rem 0.9rem !important;
    font-weight: 600 !important;
    transform: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility::after {
    display: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility:hover,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility:focus {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility--pdf:hover,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility--pdf:focus {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-color: #fecaca !important;
}

/* Table */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-table-wrap {
    border: 1px solid var(--af-emp-border);
    border-radius: var(--af-new-radius, 8px);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table-wrap::after {
    display: none !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table {
    margin-bottom: 0 !important;
    background: #fff;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table thead th,
.theme-new .af-employee-mgmt-page .af-employee-mgmt-table.table thead th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border-color: #e2e8f0 !important;
    font-weight: 700;
    font-size: 0.85rem;
    white-space: nowrap;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table tbody td {
    border-color: #e2e8f0 !important;
    color: #334155 !important;
    vertical-align: middle;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table.table-hover tbody tr:hover {
    background-color: #f8fafc !important;
}

.theme-new .af-employee-mgmt-page .af-employee-mgmt-table .text-secondary {
    color: #64748b !important;
}

/* Status / department badges */
.theme-new .af-employee-mgmt-page .badge.bg-danger {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border: 1px solid #cbd5e1;
}

.theme-new .af-employee-mgmt-page .badge.bg-secondary {
    background: #dbeafe !important;
    color: #1e40af !important;
    border: 1px solid #bfdbfe;
}

.theme-new .af-employee-mgmt-page .badge.system-badge {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a;
}

.theme-new .af-employee-mgmt-page .badge.bg-glass-day {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .badge.bg-glass-shift {
    background: #eff6ff !important;
    background-image: none !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .system-employee-row {
    background: #fffbeb !important;
    background-image: none !important;
}

.theme-new .af-employee-mgmt-page .system-employee-row td {
    border-color: #fde68a !important;
}

.theme-new .af-employee-mgmt-page .system-avatar {
    background: #fef3c7 !important;
    background-image: none !important;
    color: #92400e !important;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .rounded-circle.bg-secondary {
    background: #e2e8f0 !important;
    background-image: none !important;
    box-shadow: none !important;
}

.theme-new .af-employee-mgmt-page .system-subtitle {
    color: #64748b !important;
}

/* Row action buttons */
.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-primary {
    color: #2563eb !important;
    background: #fff !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-primary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-danger {
    color: #b91c1c !important;
    background: #fff !important;
    border-color: #fecaca !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-danger:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-info {
    color: #2563eb !important;
    background: #fff !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-info:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

/* Empty state */
.theme-new .af-employee-mgmt-page .alert-info {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e40af !important;
    border-radius: var(--af-new-radius, 8px);
}

/* Import modal — New Theme light panel */
.theme-new #importEmployeesModalContent.bg-dark,
.theme-new #importEmployeesModalContent {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.12) !important;
}

.theme-new #importEmployeesModalContent .modal-header {
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new #importEmployeesModalContent .modal-footer {
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new #importEmployeesModalContent .modal-title {
    color: #1e293b !important;
    font-weight: 700;
}

.theme-new #importEmployeesModalContent .modal-title i {
    color: #2563eb !important;
}

.theme-new #importEmployeesModalContent .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new #importEmployeesModalContent code {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #e2e8f0;
}

.theme-new #importEmployeesModalContent .text-info,
.theme-new #importEmployeesModalContent a.text-info {
    color: #2563eb !important;
}

.theme-new #importEmployeesModalContent .form-control.bg-secondary {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new #importEmployeesModalContent .btn-outline-light {
    color: #64748b !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new #importEmployeesModalContent .btn-outline-light:hover {
    background: #f8fafc !important;
    color: #334155 !important;
}

.theme-new #importEmployeesModalContent .btn-primary {
    background: #2563eb !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
    box-shadow: none !important;
}

.theme-new #importEmployeesModalContent .btn-primary:hover {
    background: #1d4ed8 !important;
}

/* Mobile card rows — neutral, no lift */
@media (max-width: 576px) {
    .theme-new .af-employee-mgmt-page .table tr {
        box-shadow: none !important;
        border: 1px solid #e2e8f0 !important;
        border-radius: 8px !important;
        background: #fff !important;
    }

    .theme-new .af-employee-mgmt-page .af-employee-mgmt-actions {
        width: 100%;
    }

    .theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-utility,
    .theme-new .af-employee-mgmt-page .af-employee-mgmt-actions .btn-add-employee {
        flex: 1 1 calc(50% - 0.5rem);
        justify-content: center;
    }
}

/* ============================================================
   Employee Management — Departments page (New Theme, Phase 2)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-new .af-manage-departments-page {
    animation: none !important;
    opacity: 1 !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-departments-header {
    margin-bottom: 1.25rem !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-page-header-surface {
    background: #fff;
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius-card, 12px);
    padding: 1.15rem 1.35rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.theme-new .af-manage-departments-page .af-employee-mgmt-page-title {
    display: block !important;
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-page-lead {
    display: block !important;
    color: var(--af-primary-light, #3b82f6) !important;
}

/* Shared content cards */
.theme-new .af-manage-departments-page .af-employee-mgmt-add-card,
.theme-new .af-manage-departments-page .af-employee-mgmt-list-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: none !important;
    overflow: hidden;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-card-header.bg-gradient-primary {
    background: #f8fafc !important;
    background-image: none !important;
    color: #334155 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    padding: 1rem 1.25rem !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-card-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-card-title i {
    color: #2563eb !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-card-body {
    padding: 1.25rem 1.5rem !important;
    background: #fff !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-list-body {
    padding: 0 !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-list-body .af-employee-mgmt-table-wrap {
    border: none;
    border-radius: 0;
}

/* Add form */
.theme-new .af-manage-departments-page .af-employee-mgmt-add-form label,
.theme-new .af-manage-departments-page .af-employee-mgmt-form-label {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-add-form input[type="text"],
.theme-new .af-manage-departments-page .af-employee-mgmt-add-form input[type="email"],
.theme-new .af-manage-departments-page .af-employee-mgmt-add-form .form-control {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius, 8px) !important;
    min-height: 42px;
    box-shadow: none !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-add-form input:focus,
.theme-new .af-manage-departments-page .af-employee-mgmt-add-form .form-control:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-btn-save {
    width: 100%;
}

/* Department list table */
.theme-new .af-manage-departments-page .af-employee-mgmt-table thead tr th,
.theme-new .af-manage-departments-page .af-employee-mgmt-table .bg-table {
    background: #f1f5f9 !important;
    background-image: none !important;
    color: #334155 !important;
    font-weight: 700 !important;
    font-size: 0.85rem !important;
    letter-spacing: normal !important;
    text-shadow: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    -webkit-text-fill-color: #334155 !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-table .text-gradient {
    background: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
    -webkit-text-fill-color: #334155 !important;
    color: #334155 !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-table tbody tr {
    transition: none !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-table tbody tr:hover {
    background: #f8fafc !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-table tbody td {
    color: #334155 !important;
    border-color: #e2e8f0 !important;
    vertical-align: middle;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-table .fw-semibold {
    font-weight: 600 !important;
    color: #1e293b !important;
}

/* Delete row button */
.theme-new .af-manage-departments-page .af-employee-mgmt-btn-delete,
.theme-new .af-manage-departments-page .btn-gradient-danger.btn-sm {
    min-width: 36px;
    width: 36px;
    height: 36px;
    padding: 0 !important;
}

/* Messages and empty state */
.theme-new .af-manage-departments-page .af-employee-mgmt-messages .alert,
.theme-new .af-manage-departments-page .af-employee-mgmt-empty-state {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e40af !important;
    border-radius: var(--af-new-radius, 8px) !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
}

.theme-new .af-manage-departments-page .af-employee-mgmt-empty-state i {
    color: #2563eb !important;
}

/* Delete confirmation modal */
.theme-new .af-employee-mgmt-delete-modal.glass-card,
.theme-new .af-employee-mgmt-delete-modal {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.12) !important;
    backdrop-filter: none !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-delete-modal-header.bg-gradient-danger {
    background: #fff !important;
    background-image: none !important;
    color: #1e293b !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
}

.theme-new .af-employee-mgmt-delete-modal .modal-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
}

.theme-new .af-employee-mgmt-delete-modal .modal-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-mgmt-employee-delete-modal .modal-title i {
    color: #b91c1c !important;
}

.theme-new .af-employee-mgmt-delete-modal .btn-close-white {
    filter: none !important;
    opacity: 0.55;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-delete-modal-body {
    color: #334155 !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-delete-modal-body .text-dark {
    color: #334155 !important;
}

.theme-new .af-employee-mgmt-delete-modal .alert-warning {
    background: #fffbeb !important;
    border: 1px solid #fde68a !important;
    color: #92400e !important;
}

.theme-new .af-employee-mgmt-delete-modal .text-danger {
    color: #b91c1c !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-delete-modal-footer {
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-cancel {
    transform: none !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-delete-confirm,
.theme-new .af-employee-mgmt-delete-modal .btn-gradient-danger {
    background: #fff !important;
    background-image: none !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: none !important;
    transform: none !important;
    font-weight: 600 !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-delete-confirm:hover,
.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-delete-confirm:focus,
.theme-new .af-employee-mgmt-delete-modal .btn-gradient-danger:hover,
.theme-new .af-employee-mgmt-delete-modal .btn-gradient-danger:focus {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
    transform: none !important;
    box-shadow: none !important;
}

@media (max-width: 767px) {
    .theme-new .af-manage-departments-page {
        padding-bottom: 2rem !important;
    }

    .theme-new .af-manage-departments-page .af-employee-mgmt-page-title {
        font-size: 1.3rem !important;
    }

    .theme-new .af-manage-departments-page .af-employee-mgmt-table-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .theme-new .af-manage-departments-page .af-employee-mgmt-delete-modal-footer .btn {
        width: 100%;
        margin-bottom: 0.35rem;
    }
}

/* ============================================================
   Employee Add/Edit Form — New Theme (Phase 3)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-new .af-employee-form-page {
    --af-emp-form-surface: #ffffff;
    --af-emp-form-border: #bfdbfe;
    --af-emp-form-border-muted: #e2e8f0;
    --af-emp-form-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1.25rem 1.25rem 2.5rem !important;
    background: var(--af-new-bg, #f1f5f9);
    animation: none !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-employee-form-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

body:not(.theme-new) .af-employee-form-header,
body:not(.theme-new) .af-employee-form-page-lead,
body:not(.theme-new) .af-employee-form-nt-help {
    display: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-main-header,
.theme-new .af-employee-form-page .af-employee-form-back-btn-classic {
    display: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-header-card {
    background: #ffffff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.theme-new .af-employee-form-page .af-employee-form-header-card .af-employee-form-page-title {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-form-page .af-employee-form-header-card .af-employee-form-page-lead {
    color: var(--af-primary-light, #3b82f6) !important;
}

.theme-new .af-employee-form-page .af-employee-form-page-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

.theme-new .af-employee-form-page .af-employee-form-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-form-page .af-employee-form-page-lead {
    color: var(--af-primary-light, #3b82f6) !important;
    font-size: 0.95rem;
    line-height: 1.5;
    max-width: 48rem;
}

.theme-new .af-employee-form-page .af-employee-form-back-btn {
    color: #2563eb !important;
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-back-btn:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
}

.theme-new .af-employee-form-page .af-employee-form-work-title-classic {
    display: none !important;
}

body:not(.theme-new) .af-employee-form-page .af-employee-form-work-title-nt {
    display: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-stats-title-classic {
    display: none !important;
}

body:not(.theme-new) .af-employee-form-page .af-employee-form-stats-title-nt {
    display: none !important;
}

/* Main wrapper — sections only on New Theme */
.theme-new .af-employee-form-page .af-employee-form-main-card.glass-card {
    background: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
}

.theme-new .af-employee-form-page .af-employee-form-main-body {
    padding: 0 !important;
}

/* Section cards */
.theme-new .af-employee-form-page .af-employee-form-section.glass-card {
    background: var(--af-emp-form-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-emp-form-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-emp-form-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transition: none !important;
    overflow: hidden;
}

.theme-new .af-employee-form-page .af-employee-form-section-header.bg-gradient-info,
.theme-new .af-employee-form-page .af-employee-form-section-header.bg-gradient-success,
.theme-new .af-employee-form-page .af-employee-form-section-header.bg-gradient-warning,
.theme-new .af-employee-form-page .af-employee-form-section-header.bg-gradient-secondary,
.theme-new .af-employee-form-page .af-employee-form-section-header.bg-gradient-purple {
    background: #f8fafc !important;
    background-image: none !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-bottom: 1px solid var(--af-emp-form-border-muted) !important;
    border-radius: 0 !important;
    padding: 1rem 1.25rem !important;
}

.theme-new .af-employee-form-page .af-employee-form-section-title,
.theme-new .af-employee-form-page .af-employee-form-section-title span {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

.theme-new .af-employee-form-page .af-employee-form-section-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-form-page .af-employee-form-section-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
    background: #fff !important;
}

.theme-new .af-employee-form-page .af-employee-form-subsection-title,
.theme-new .af-employee-form-page .af-employee-form-subsection-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-form-page .af-employee-form-section-divider {
    border-color: #e2e8f0 !important;
    opacity: 1 !important;
}

.theme-new .af-employee-form-page .af-employee-form-nt-help {
    color: #64748b !important;
    font-size: 0.875rem;
    line-height: 1.45;
}

/* Form controls (crispy + manual fields) */
/* Field labels — restrained blue accent (not shift/day selection labels) */
.theme-new .af-employee-form-page .af-employee-form-section-body label.form-label,
.theme-new .af-employee-form-page .af-employee-form-section-body .form-group > label,
.theme-new .af-employee-form-page .af-employee-form-section-body .mb-3 > label,
.theme-new .af-employee-form-page .af-employee-form-section-body .col-12 > .form-group > label,
.theme-new .af-employee-form-page .af-employee-form-section-body .col-md-6 > .form-group > label,
.theme-new .af-employee-form-page #availableDaysLabel,
.theme-new .af-employee-form-page #availableShiftsLabel {
    color: #2563eb !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.theme-new .af-employee-form-page .af-employee-form-section-body label .asteriskField,
.theme-new .af-employee-form-page .af-employee-form-section-body label .text-danger,
.theme-new .af-employee-form-page #availableDaysLabel .text-danger,
.theme-new .af-employee-form-page #availableShiftsLabel .text-danger {
    color: #dc2626 !important;
}

.theme-new .af-employee-form-page .day-pill .form-check-label,
.theme-new .af-employee-form-page .shift-card .form-check-label {
    color: inherit !important;
    font-weight: inherit !important;
}

.theme-new .af-employee-form-page .form-control,
.theme-new .af-employee-form-page .form-select,
.theme-new .af-employee-form-page input[type="text"],
.theme-new .af-employee-form-page input[type="email"],
.theme-new .af-employee-form-page input[type="password"],
.theme-new .af-employee-form-page input[type="date"],
.theme-new .af-employee-form-page input[type="file"],
.theme-new .af-employee-form-page textarea,
.theme-new .af-employee-form-page select {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid var(--af-emp-form-border-muted) !important;
    border-radius: var(--af-new-radius, 8px) !important;
    min-height: 42px;
    box-shadow: none !important;
}

.theme-new .af-employee-form-page .form-control:focus,
.theme-new .af-employee-form-page .form-select:focus,
.theme-new .af-employee-form-page input:focus,
.theme-new .af-employee-form-page select:focus,
.theme-new .af-employee-form-page textarea:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
    background: #fff !important;
    color: #334155 !important;
}

.theme-new .af-employee-form-page .form-text,
.theme-new .af-employee-form-page small.text-muted,
.theme-new .af-employee-form-page .af-employee-form-section-body small.text-muted {
    color: #64748b !important;
}

.theme-new .af-employee-form-page .invalid-feedback,
.theme-new .af-employee-form-page .invalid-feedback.custom-validation-error {
    color: #b91c1c !important;
    font-size: 0.875rem !important;
}

.theme-new .af-employee-form-page .is-invalid .form-control,
.theme-new .af-employee-form-page .is-invalid .form-select,
.theme-new .af-employee-form-page #availableDaysContainer.is-invalid,
.theme-new .af-employee-form-page #availableShiftsContainer.is-invalid {
    border-color: #fca5a5 !important;
}

.theme-new .af-employee-form-page #availableDaysContainer.is-invalid,
.theme-new .af-employee-form-page #availableShiftsContainer.is-invalid {
    padding: 0.75rem;
    border: 1px solid #fecaca !important;
    border-radius: 8px;
    background: #fef2f2;
}

/* Photo upload area */
.theme-new .af-employee-form-page #photoPreview.rounded-circle.border,
.theme-new .af-employee-form-page #photoPreview.img-fluid {
    border-color: #bfdbfe !important;
}

.theme-new .af-employee-form-page #photoPreview.bg-light {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-employee-form-page #photoPreview .text-muted {
    color: #94a3b8 !important;
}

/* Available working days */
.theme-new .af-employee-form-page .day-pill {
    padding: 0;
    margin: 0;
}

.theme-new .af-employee-form-page .day-pill .form-check-input {
    position: absolute;
    opacity: 0;
}

.theme-new .af-employee-form-page .day-pill .form-check-label {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    background: #fff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.875rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-form-page .day-pill .form-check-input:checked + .form-check-label {
    background: #2563eb;
    color: #fff;
    border-color: #1d4ed8;
    box-shadow: none !important;
}

.theme-new .af-employee-form-page .day-pill .form-check-input:focus + .form-check-label {
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.15) !important;
}

/* Shift Type selection cards */
.theme-new .af-employee-form-page .shift-card {
    padding: 0;
    margin-bottom: 0;
    height: 100%;
}

.theme-new .af-employee-form-page .shift-card .form-check-input {
    position: absolute;
    opacity: 0;
}

.theme-new .af-employee-form-page .shift-card .form-check-label {
    display: block;
    height: 100%;
    padding: 0.85rem 1rem;
    border-radius: 8px;
    background: #fff;
    border: 1px solid #bfdbfe;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-form-page .shift-card .form-check-input:checked + .form-check-label {
    background: #eff6ff;
    border: 2px solid #2563eb;
    box-shadow: none !important;
}

.theme-new .af-employee-form-page .shift-card .form-check-input:focus + .form-check-label {
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

.theme-new .af-employee-form-page .shift-content {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.theme-new .af-employee-form-page .shift-name {
    font-weight: 600;
    color: #1e293b !important;
    font-size: 0.92rem;
    line-height: 1.35;
}

.theme-new .af-employee-form-page .af-shift-card-icon {
    color: #2563eb !important;
    opacity: 1 !important;
}

.theme-new .af-employee-form-page .shift-time {
    font-size: 0.82rem;
    color: #64748b !important;
    line-height: 1.4;
}

.theme-new .af-employee-form-page .shift-card .form-check-input:checked + .form-check-label .af-shift-card-icon {
    color: #1d4ed8 !important;
}

.theme-new .af-employee-form-page .shift-card .form-check-input:checked + .form-check-label .shift-name {
    color: #1e293b !important;
}

.theme-new .af-employee-form-page .shift-card .form-check-input:checked + .form-check-label .shift-time {
    color: #475569 !important;
}

.theme-new .af-employee-form-page .shift-duration {
    font-size: 0.75rem;
    color: #94a3b8 !important;
}

/* User account section */
.theme-new .af-employee-form-page .alert-glass-info {
    background: #eff6ff !important;
    color: #1e40af !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 8px !important;
}

.theme-new .af-employee-form-page .alert-glass-warning {
    background: #fffbeb !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
    border-radius: 8px !important;
}

.theme-new .af-employee-form-page .glass-card-inner {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new .af-employee-form-page .btn-glass-warning,
.theme-new .af-employee-form-page .btn-glass-success {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    color: #2563eb !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-form-page .btn-glass-warning:hover,
.theme-new .af-employee-form-page .btn-glass-success:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
}

/* Statistics / summary cards */
.theme-new .af-employee-form-page .stat-card {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    padding: 1rem 1.1rem;
    border-radius: 10px;
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    color: #334155 !important;
    box-shadow: var(--af-emp-form-shadow) !important;
    height: 100%;
}

.theme-new .af-employee-form-page .stat-card.bg-glass-blue,
.theme-new .af-employee-form-page .stat-card.bg-glass-green,
.theme-new .af-employee-form-page .stat-card.bg-glass-orange,
.theme-new .af-employee-form-page .stat-card.bg-glass-red,
.theme-new .af-employee-form-page .stat-card.bg-glass-teal {
    background: #fff !important;
    background-image: none !important;
}

.theme-new .af-employee-form-page .stat-icon {
    font-size: 1.1rem;
    margin-right: 0;
    opacity: 1;
    color: #2563eb !important;
    background: #eff6ff;
    border-radius: 8px;
    width: 2.25rem;
    height: 2.25rem;
    min-width: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.theme-new .af-employee-form-page .stat-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b !important;
    opacity: 1;
    font-weight: 600;
}

.theme-new .af-employee-form-page .stat-value {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1e293b !important;
}

.theme-new .af-employee-form-page .stat-card small,
.theme-new .af-employee-form-page .stat-card .text-white-50 {
    color: #64748b !important;
    opacity: 1 !important;
    font-size: 0.8rem;
    line-height: 1.4;
}

.theme-new .af-employee-form-page .af-employee-form-holiday-link {
    color: #2563eb !important;
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-holiday-link:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

/* Saved employment status badge */
.theme-new .af-employee-form-page .af-employee-status-badge-label {
    color: #475569;
}

.theme-new .af-employee-form-page .af-employee-status-badge-active {
    background: #16a34a !important;
    color: #fff !important;
}

.theme-new .af-employee-form-page .af-employee-status-badge-inactive {
    background: #64748b !important;
    color: #fff !important;
}

/* Employment status segmented control */
.theme-new .af-employee-form-page .af-employee-status-option {
    position: relative;
    flex: 1 1 140px;
    max-width: 220px;
}

.theme-new .af-employee-form-page .af-employee-status-radio {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.theme-new .af-employee-form-page .af-employee-status-label {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.65rem 1.25rem;
    margin: 0;
    border-radius: 8px;
    border: 2px solid #bfdbfe;
    background: #fff;
    color: #475569;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
    user-select: none;
}

.theme-new .af-employee-form-page .af-employee-status-radio:focus-visible + .af-employee-status-label {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.theme-new .af-employee-form-page .af-employee-status-radio:checked + .af-employee-status-label {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}

.theme-new .af-employee-form-page .af-employee-status-radio[value="False"]:checked + .af-employee-status-label {
    border-color: #64748b;
    background: #64748b;
    color: #fff;
}

.theme-new .af-employee-form-page .af-employee-active-end-date-warning {
    background: #fffbeb !important;
    border: 1px solid #fcd34d !important;
    color: #92400e !important;
    border-radius: 8px !important;
    font-size: 0.875rem;
}

/* Form action buttons */
.theme-new .af-employee-form-page .af-employee-form-actions .btn-gradient-primary,
.theme-new .af-employee-form-page .af-employee-form-actions .af-employee-form-submit-btn,
.theme-new .af-employee-form-page #passwordResetSection .btn-gradient-primary {
    background: #2563eb !important;
    background-image: none !important;
    color: #fff !important;
    border: 1px solid #1d4ed8 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    box-shadow: 0 1px 3px rgba(37, 99, 235, 0.2) !important;
    font-weight: 600 !important;
    transform: none !important;
    transition: background 0.2s ease, box-shadow 0.2s ease !important;
}

.theme-new .af-employee-form-page .af-employee-form-actions .btn-gradient-primary:hover,
.theme-new .af-employee-form-page .af-employee-form-actions .af-employee-form-submit-btn:hover,
.theme-new .af-employee-form-page #passwordResetSection .btn-gradient-primary:hover {
    background: #1d4ed8 !important;
    color: #fff !important;
    transform: none !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.25) !important;
}

.theme-new .af-employee-form-page .af-employee-form-actions .btn-glass-secondary,
.theme-new .af-employee-form-page .af-employee-form-actions .af-employee-form-cancel-btn {
    background: #fff !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-form-page .af-employee-form-actions .btn-glass-secondary:hover,
.theme-new .af-employee-form-page .af-employee-form-actions .af-employee-form-cancel-btn:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
}

.theme-new .af-employee-form-page .password-toggle-icon {
    color: #64748b !important;
}

@media (max-width: 767px) {
    .theme-new .af-employee-form-page .af-employee-form-page-title {
        font-size: 1.3rem !important;
    }

    .theme-new .af-employee-form-page .af-employee-form-header {
        flex-direction: column;
    }

    .theme-new .af-employee-form-page .af-employee-form-back-btn {
        width: 100%;
        justify-content: center;
    }

    .theme-new .af-employee-form-page .af-employee-form-actions {
        flex-direction: column-reverse;
    }

    .theme-new .af-employee-form-page .af-employee-form-actions .btn,
    .theme-new .af-employee-form-page .af-employee-form-actions a.btn {
        width: 100%;
        justify-content: center;
    }

    .theme-new .af-employee-form-page .af-employee-form-section-stats .af-employee-form-section-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 0.75rem;
    }

    .theme-new .af-employee-form-page .af-employee-form-holiday-link {
        width: 100%;
        text-align: center;
    }

    .theme-new .af-employee-form-page .day-pill .form-check-label {
        padding: 0.4rem 0.75rem;
        font-size: 0.82rem;
    }

    .theme-new .af-employee-form-page .shift-card .form-check-label {
        padding: 0.75rem;
    }
}

/* ============================================================
   Employee Management — Import & Export + Help Center
   ============================================================ */

.theme-new .af-employee-import-export-page,
.theme-new .af-employee-mgmt-help-page {
    animation: none !important;
    transform: none !important;
}

.theme-new .af-employee-import-export-page .af-employee-import-export-title,
.theme-new .af-employee-mgmt-help-page .af-schedule-help-hero__title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

.theme-new .af-employee-import-export-page .af-employee-import-export-title i,
.theme-new .af-employee-mgmt-help-page .af-schedule-help-hero__icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-import-export-page .af-employee-import-export-lead,
.theme-new .af-employee-mgmt-help-page .af-schedule-help-hero__subtitle {
    color: var(--af-primary-light, #3b82f6) !important;
}

.theme-new .af-employee-import-export-card.af-card.glass-card {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: hidden;
}

.theme-new .af-employee-import-export-card__header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.theme-new .af-employee-import-export-card__title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.05rem !important;
}

.theme-new .af-employee-import-export-card__title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-import-export-card__body {
    padding: 1.25rem 1.5rem 1.5rem;
    color: #334155;
}

.theme-new .af-employee-import-export-muted {
    color: #64748b !important;
}

.theme-new .af-employee-import-export-list {
    padding-left: 1.15rem;
    margin-bottom: 0;
    color: #475569;
}

.theme-new .af-employee-import-export-list li {
    margin-bottom: 0.35rem;
}

.theme-new .af-employee-import-export-notice {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e40af !important;
    border-radius: 8px;
    padding: 0.85rem 1rem;
}

.theme-new .af-employee-import-export-warning {
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 1rem 1.15rem;
    color: #92400e;
}

.theme-new .af-employee-import-export-warning__title {
    color: #b45309 !important;
    font-weight: 700;
}

.theme-new .af-employee-import-export-page .af-btn-primary,
.theme-new .af-employee-import-export-page .af-employee-import-export-btn.af-btn-primary {
    background: #2563eb !important;
    background-image: none !important;
    color: #fff !important;
    border: 1px solid #1d4ed8 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-import-export-page .af-btn-primary:hover,
.theme-new .af-employee-import-export-page .af-employee-import-export-btn.af-btn-primary:hover {
    background: #1d4ed8 !important;
    color: #fff !important;
    transform: none !important;
}

.theme-new .af-employee-import-export-page .af-btn-secondary,
.theme-new .af-employee-import-export-page .af-employee-import-export-btn.af-btn-secondary {
    background: #fff !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-employee-import-export-page .af-btn-secondary:hover,
.theme-new .af-employee-import-export-page .af-employee-import-export-btn.af-btn-secondary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
}

.theme-new .af-employee-import-export-page .af-employee-import-export-link {
    color: #2563eb !important;
}

.theme-new .af-employee-import-export-page #importEmployeesModalContent.bg-dark,
.theme-new .af-employee-import-export-page #importEmployeesModalContent {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
}

.theme-new .af-employee-import-export-page #importEmployeesModalContent .modal-title {
    color: #2563eb !important;
}

.theme-new .af-employee-import-export-page #importEmployeesModalContent .form-control.bg-secondary {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new .af-employee-import-export-page #importEmployeesModalContent code {
    background: #f1f5f9 !important;
    color: #475569 !important;
}

/* Help Center — blue headings on New Theme */
.theme-new .af-employee-mgmt-help-page .af-schedule-help-nav__header,
.theme-new .af-employee-mgmt-help-page .af-schedule-help-section__title {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-mgmt-help-page .af-schedule-help-section__icon-wrap {
    background: #eff6ff !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe;
}

.theme-new .af-employee-mgmt-help-page .af-schedule-help-nav-link {
    color: #334155 !important;
}

.theme-new .af-employee-mgmt-help-page .af-schedule-help-nav-link.active,
.theme-new .af-employee-mgmt-help-page .af-schedule-help-nav-link:hover {
    color: #2563eb !important;
    background: #eff6ff !important;
}

.theme-new .af-employee-mgmt-help-page .af-schedule-help-nav-icon {
    color: inherit !important;
}

.theme-new .af-employee-mgmt-help-page .af-schedule-help-search-label {
    color: #2563eb !important;
    font-weight: 600;
}

@media (max-width: 767px) {
    .theme-new .af-employee-import-export-page .af-employee-import-export-title {
        font-size: 1.3rem !important;
    }

    .theme-new .af-employee-import-export-page .af-employee-import-export-btn {
        width: 100%;
        justify-content: center;
    }
}

/* ============================================================
   Global New Theme button system — employee-mgmt scope helpers
   Additive only; does not override Bootstrap .btn globally
   ============================================================ */

/* Classic: direct delete link; New Theme: modal trigger */
.theme-new .af-employee-mgmt-page .af-employee-mgmt-delete-classic-link {
    display: none !important;
}

.theme-classic .af-employee-mgmt-page .af-employee-mgmt-delete-modal-trigger {
    display: none !important;
}

.theme-classic .af-employee-mgmt-employee-delete-modal {
    display: none !important;
}

/* Row actions — af-btn utility classes on employee table */
.theme-new .af-employee-mgmt-page .btn-group-sm .af-btn-secondary.btn-outline-primary,
.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-primary.af-btn-secondary {
    color: #2563eb !important;
    background: #fff !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .af-btn-secondary.btn-outline-primary:hover,
.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-primary.af-btn-secondary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .af-btn-danger.btn-outline-danger,
.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-danger.af-btn-danger {
    color: #b91c1c !important;
    background: #fff !important;
    border-color: #fecaca !important;
}

.theme-new .af-employee-mgmt-page .btn-group-sm .af-btn-danger.btn-outline-danger:hover,
.theme-new .af-employee-mgmt-page .btn-group-sm .btn-outline-danger.af-btn-danger:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-cancel.af-btn-secondary {
    color: #2563eb !important;
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-employee-mgmt-delete-modal .af-employee-mgmt-btn-cancel.af-btn-secondary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
}

.theme-new .af-employee-mgmt-employee-delete-modal .af-employee-delete-warning {
    color: #64748b !important;
}

/* Employee delete confirmation page — New Theme */
.theme-new .af-employee-confirm-delete-page {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 2rem !important;
    padding-bottom: 3rem !important;
    background: var(--af-new-bg, #f1f5f9);
    min-height: calc(100vh - 120px);
}

.theme-new .af-employee-confirm-delete-card {
    background: #fff;
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius-card, 12px);
    padding: 1.5rem 1.75rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.theme-new .af-employee-confirm-delete-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 1rem;
}

.theme-new .af-employee-confirm-delete-title i {
    color: #b91c1c !important;
}

.theme-new .af-employee-confirm-delete-message {
    color: #334155;
    font-size: 1rem;
    margin-bottom: 0.75rem;
}

.theme-new .af-employee-confirm-delete-warning {
    color: #64748b;
    font-size: 0.925rem;
    margin-bottom: 1.25rem;
}

.theme-new .af-employee-confirm-delete-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.theme-new .af-employee-delete-confirm-label-new {
    display: inline;
}

.theme-classic .af-employee-delete-confirm-label-new {
    display: none !important;
}

.theme-new .af-employee-delete-confirm-label-classic {
    display: none !important;
}

.theme-classic .af-employee-delete-confirm-label-classic {
    display: inline;
}

.theme-classic .af-employee-confirm-delete-card {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

.theme-classic .af-employee-confirm-delete-warning {
    display: none !important;
}

.theme-classic .af-employee-confirm-delete-title {
    color: inherit;
    font-size: inherit;
    font-weight: inherit;
}

.theme-classic .af-employee-confirm-delete-title i {
    display: none;
}

/* ============================================================
   Request Center — New Theme (Phase 1)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-classic .af-request-center-page-header {
    display: none !important;
}

.theme-new .af-request-center-classic-header {
    display: none !important;
}

.theme-new .af-request-center-nav-shell {
    display: block !important;
}

.theme-new .af-request-center-nav-card .af-request-center-nav-subtitle {
    color: var(--af-primary-light, #3b82f6) !important;
    opacity: 1 !important;
}

.theme-new .af-request-center-nav-card .af-schedule-nav-title {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-request-center-nav-card .af-schedule-nav-icon,
.theme-new .af-request-center-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #requestCenterNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.theme-new .af-request-center-nav-tabs .af-request-center-nav-tab {
    width: 100%;
    border: none;
    background: transparent;
    text-align: inherit;
    font: inherit;
    cursor: pointer;
}

.theme-new .af-request-center-nav-tabs button.af-request-center-nav-tab:focus {
    outline: none;
    box-shadow: none;
}

.theme-new .af-request-center-nav-tabs .af-request-center-nav-pending {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
    font-weight: 700 !important;
    margin-left: 0.35rem;
}

.theme-new .af-request-center-nav-tabs .nav-link.active .af-request-center-nav-pending {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}

.theme-new .af-request-center-help-tab {
    opacity: 1;
    cursor: pointer !important;
    pointer-events: auto;
}

.theme-new .af-request-center-help-tab:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.theme-new .af-request-center-help-tab.active {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.theme-classic .af-request-center-export-actions {
    display: none !important;
}

.theme-new .af-request-center-export-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.theme-new .af-request-center-export-actions .af-request-center-export-btn {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.theme-new .af-request-center-type-tabs-shell {
    display: none !important;
}

.theme-new .af-request-center-main-card .af-request-center-tab-body {
    padding-top: 0.5rem !important;
}

.theme-new .af-request-center-filter-empty {
    background: #fff;
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius, 8px);
    color: #64748b;
    padding: 1rem 1.25rem;
    margin-top: 0.75rem;
    text-align: center;
}

/* Page shell */
.theme-new .af-request-center-page {
    --af-req-surface: #ffffff;
    --af-req-border: #bfdbfe;
    --af-req-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1.25rem 1.25rem 2.5rem !important;
    background: var(--af-new-bg, #f1f5f9);
    animation: none !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-request-center-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

.theme-new .af-request-center-page-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700 !important;
    font-size: 1.5rem !important;
}

.theme-new .af-request-center-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-request-center-page-lead {
    color: var(--af-primary-light, #3b82f6) !important;
    font-size: 0.95rem;
    line-height: 1.5;
}

.theme-new .af-request-center-main-card {
    background: var(--af-req-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-req-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-req-shadow) !important;
    overflow: hidden;
}

.theme-new .af-request-center-tab-body {
    padding: 1.25rem 1.5rem 1.5rem !important;
}

/* In-page request type tabs */
.theme-new .af-request-center-type-tabs-shell.requests-navbar-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--af-req-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link {
    color: #2563eb !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link i {
    color: #2563eb !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link .badge {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
    font-weight: 700 !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link.active,
.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link:hover,
.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link:focus {
    background: #2563eb !important;
    color: #fff !important;
    border-color: #1d4ed8 !important;
    box-shadow: none !important;
    transform: none !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link.active i,
.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link.active .badge,
.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link:hover i {
    color: #fff !important;
}

.theme-new .af-request-center-inpage-nav.requests-navbar .nav-link.active .badge {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}

.theme-new .af-request-center-export-link {
    color: #2563eb !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-request-center-export-link:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

/* Filters — styled only; JS not wired */
.theme-new .af-request-center-page .filter-form {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid var(--af-req-border) !important;
    border-radius: var(--af-new-radius, 8px) !important;
    box-shadow: none !important;
}

.theme-new .af-request-center-page .filter-form .form-label {
    color: #2563eb !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.theme-new .af-request-center-page .filter-form .form-select,
.theme-new .af-request-center-page .filter-form .form-control {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius, 8px) !important;
    min-height: 42px;
    box-shadow: none !important;
}

.theme-new .af-request-center-page .filter-form .form-select:focus,
.theme-new .af-request-center-page .filter-form .form-control:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

/* Tables */
.theme-new .af-request-center-page .table-modern {
    border: 1px solid var(--af-req-border);
    border-radius: var(--af-new-radius, 8px);
    overflow: hidden;
}

.theme-new .af-request-center-page .table-modern thead th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border-color: #e2e8f0 !important;
    font-weight: 700;
    font-size: 0.85rem;
}

.theme-new .af-request-center-page .table-modern tbody td {
    border-color: #e2e8f0 !important;
    color: #334155 !important;
    vertical-align: middle;
}

.theme-new .af-request-center-page .table-modern tbody tr:hover {
    background-color: #f8fafc !important;
    transition: none !important;
}

.theme-new .af-request-center-page .timestamp {
    color: #64748b !important;
}

.theme-new .af-request-center-page .badge.bg-info {
    background: #dbeafe !important;
    color: #1e40af !important;
    border: 1px solid #bfdbfe;
}

/* Semantic status badges */
.theme-new .af-request-center-page .status-badge.status-pending {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

.theme-new .af-request-center-page .status-badge.status-approved {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.theme-new .af-request-center-page .status-badge.status-rejected {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

.theme-new .af-request-center-page .status-badge.status-expired {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new .af-request-center-page .auto-expired-badge {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

.theme-new .af-request-center-page .status-badge {
    font-weight: 600;
    border-radius: 6px;
    padding: 0.35em 0.65em;
}

/* Row action buttons */
.theme-new .af-request-center-page .action-btn-group .btn-outline-primary.action-btn {
    color: #2563eb !important;
    background: #fff !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-request-center-page .action-btn-group .btn-outline-primary.action-btn:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
}

.theme-new .af-request-center-page .action-btn-group .btn-outline-success.action-btn {
    color: #166534 !important;
    background: #f0fdf4 !important;
    border-color: #bbf7d0 !important;
}

.theme-new .af-request-center-page .action-btn-group .btn-outline-success.action-btn:hover {
    background: #dcfce7 !important;
    color: #14532d !important;
    border-color: #86efac !important;
    transform: none !important;
}

.theme-new .af-request-center-page .action-btn-group .btn-outline-danger.action-btn,
.theme-new .af-request-center-page .action-btn-group .btn-outline-dark.action-btn {
    color: #b91c1c !important;
    background: #fff !important;
    border-color: #fecaca !important;
}

.theme-new .af-request-center-page .action-btn-group .btn-outline-danger.action-btn:hover,
.theme-new .af-request-center-page .action-btn-group .btn-outline-dark.action-btn:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
    transform: none !important;
}

.theme-new .af-request-center-page .admin-notes-badge {
    transform: none !important;
}

.theme-new .af-request-center-page .detail-card {
    transform: none !important;
    transition: none !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

.theme-new .af-request-center-page .detail-card:hover {
    transform: none !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

.theme-new .af-request-center-page .empty-state {
    color: #64748b !important;
}

.theme-new .af-request-center-page .empty-state-icon {
    color: #2563eb !important;
    opacity: 0.45 !important;
}

@media (max-width: 767px) {
    .theme-new .af-request-center-inpage-nav.requests-navbar {
        flex-wrap: wrap !important;
    }

    .theme-new .af-request-center-inpage-nav.requests-navbar .nav-link {
        font-size: 0.9rem !important;
        padding: 0.55rem 0.75rem !important;
    }

    .theme-new .af-request-center-page-title {
        font-size: 1.3rem !important;
    }
}

/* ============================================================
   Request Center — New Theme (Phase 2)
   Tables, actions, modals, expired presentation, responsive
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

/* ---- Tables ---- */
.theme-new .af-request-center-page .af-request-center-table-wrap {
    background: #fff;
    border: 1px solid var(--af-req-border, #bfdbfe);
    border-radius: var(--af-new-radius, 8px);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 0.5rem;
}

.theme-new .af-request-center-page .af-request-center-table {
    margin-bottom: 0 !important;
    background: #fff !important;
    min-width: 720px;
}

.theme-new .af-request-center-page .af-request-center-table thead th {
    background: #eff6ff !important;
    color: #1e40af !important;
    border-color: #dbeafe !important;
    font-weight: 700 !important;
    font-size: 0.8125rem !important;
    text-transform: none;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.theme-new .af-request-center-page .af-request-center-table tbody td {
    background: #fff !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
}

.theme-new .af-request-center-page .af-request-center-table tbody tr:last-child td {
    border-bottom: none !important;
}

.theme-new .af-request-center-page .employee-info strong,
.theme-new .af-request-center-page .af-request-center-table tbody td strong {
    color: #1e40af !important;
    font-weight: 700 !important;
}

.theme-new .af-request-center-page .employee-info .text-muted,
.theme-new .af-request-center-page .af-request-center-table .text-muted {
    color: #64748b !important;
}

.theme-new .af-request-center-page .af-request-center-empty-title {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new .af-request-center-page .af-request-center-auto-expired-badge {
    font-size: 0.72em !important;
    font-weight: 600 !important;
}

/* ---- Admin notes & expired cells ---- */
.theme-new .af-request-center-page .admin-notes-badge {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e40af !important;
    max-width: 180px;
}

.theme-new .af-request-center-page .admin-notes-badge:hover {
    background: #dbeafe !important;
    transform: none !important;
}

.theme-new .af-request-center-page .approved-notes-badge {
    background: #f0fdf4 !important;
    border: 1px solid #bbf7d0 !important;
    color: #166534 !important;
}

.theme-new .af-request-center-page .approved-notes-badge:hover {
    background: #dcfce7 !important;
}

.theme-new .af-request-center-page .af-request-center-expired-message {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 3px solid #cbd5e1 !important;
    border-radius: 6px !important;
    padding: 0.5rem 0.65rem !important;
    max-width: 260px;
}

.theme-new .af-request-center-page .af-request-center-expired-message__text {
    color: #475569 !important;
    line-height: 1.45;
}

.theme-new .af-request-center-page .af-request-center-expired-informed {
    color: #64748b !important;
    display: inline-block;
    margin-top: 0.15rem;
}

.theme-new .af-request-center-page .af-expiry-seen-status--pending {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 0.375rem;
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.theme-new .af-request-center-page .af-expiry-seen-status--seen {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 0.375rem;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.theme-new .af-request-center-page .af-expiry-seen-status__help {
    color: #64748b !important;
    max-width: 320px;
    line-height: 1.4;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .af-expiry-seen-status--pending {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 0.375rem;
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .af-expiry-seen-status--seen {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 0.375rem;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.theme-new .af-request-center-worker-expired-message .expired-request-message__text {
    color: #475569 !important;
    line-height: 1.5;
}

.theme-new .af-request-center-worker-expired-message .expired-request-message__detail {
    color: #64748b !important;
}

/* Hide legacy bootstrap toasts without af-toast in New Theme Request Center */
.theme-new body:has(.af-request-center-page) #toast-container .toast:not(.af-toast) {
    display: none !important;
}

.theme-new .af-request-center-page .af-request-center-status-cell .status-badge {
    display: inline-block;
}

/* ---- Document button ---- */
.theme-new .af-request-center-page .af-request-center-doc-btn {
    color: #2563eb !important;
    background: #fff !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-request-center-page .af-request-center-doc-btn:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border-color: #93c5fd !important;
    transform: none !important;
}

/* ---- Row actions (responsive wrap) ---- */
.theme-new .af-request-center-page .action-btn-group {
    flex-wrap: wrap;
    gap: 0.35rem;
}

.theme-new .af-request-center-page .action-btn-group .action-btn {
    flex-shrink: 0;
}

/* ---- Shared modal shell (detail, reject, delete) ---- */
.theme-new body:has(.af-request-center-page) .af-request-center-modal.modal-content {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12) !important;
    color: #334155 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header.bg-primary,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header.bg-danger,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header.bg-warning,
.theme-new body:has(.af-request-center-page) .af-request-center-reject-modal .modal-header.bg-danger {
    background: #fff !important;
    background-image: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #2563eb !important;
    border-radius: 0 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-title,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header.text-white .modal-title {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-title i,
.theme-new body:has(.af-request-center-page) .af-request-center-reject-modal-icon {
    color: #2563eb !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-delete-modal .modal-title i.fa-exclamation-triangle {
    color: #b91c1c !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .btn-close,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .btn-close-white,
.theme-new body:has(.af-request-center-page) .af-request-center-modal .btn-close-dark {
    filter: none !important;
    opacity: 0.55;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-body {
    background: #fff !important;
    color: #334155 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-footer {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.theme-new body:has(.af-request-center-page) .af-request-center-modal-footer .btn {
    transform: none !important;
}

/* ---- Detail modals ---- */
.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .modal-body h5 {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .modal-body .text-muted {
    color: #64748b !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius, 8px) !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card:hover {
    transform: none !important;
    box-shadow: none !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card .card-header {
    background: #eff6ff !important;
    background-image: none !important;
    border-bottom: 1px solid #dbeafe !important;
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card .card-header i {
    color: #2563eb !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card .card-body {
    color: #334155 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card .card-body strong {
    color: #1e40af !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card:has(.fa-user-tie) {
    border-left: 3px solid #2563eb !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .detail-card:has(.fa-user-tie) .card-header {
    background: #eff6ff !important;
    color: #2563eb !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .status-badge.status-pending {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .status-badge.status-approved {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .status-badge.status-rejected {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .status-badge.status-expired {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .auto-expired-badge {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

/* ---- Reject modal ---- */
.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .modal-header {
    background: #fff !important;
    background-image: none !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-request-center-reject-label {
    color: #2563eb !important;
    font-weight: 600 !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-request-center-reject-textarea,
.theme-new body:has(.af-request-center-page) #rejectWithNotesModal #admin_notes {
    background: #fff !important;
    color: #334155 !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius, 8px) !important;
    box-shadow: none !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-request-center-reject-textarea:focus,
.theme-new body:has(.af-request-center-page) #rejectWithNotesModal #admin_notes:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-request-center-reject-hint {
    color: #64748b !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .btn-danger,
.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-btn-danger {
    background: #fff !important;
    background-image: none !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
    transform: none !important;
}

.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .btn-danger:hover,
.theme-new body:has(.af-request-center-page) #rejectWithNotesModal .af-btn-danger:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
    transform: none !important;
}

/* ---- Delete modal ---- */
.theme-new body:has(.af-request-center-page) #deleteConfirmModal .modal-header {
    background: #fff !important;
    background-image: none !important;
}

.theme-new body:has(.af-request-center-page) #deleteConfirmModal .af-request-center-delete-title {
    color: #334155 !important;
}

.theme-new body:has(.af-request-center-page) #deleteConfirmModal .af-request-center-delete-details,
.theme-new body:has(.af-request-center-page) #deleteConfirmModal .text-dark {
    color: #64748b !important;
}

.theme-new body:has(.af-request-center-page) #deleteConfirmModal .af-request-center-delete-icon {
    color: #b91c1c !important;
    opacity: 0.85;
}

.theme-new body:has(.af-request-center-page) #deleteConfirmModal #confirmDeleteBtn,
.theme-new body:has(.af-request-center-page) #deleteConfirmModal .af-btn-danger {
    background: #fff !important;
    background-image: none !important;
    color: #b91c1c !important;
    border: 1px solid #fecaca !important;
    transform: none !important;
}

.theme-new body:has(.af-request-center-page) #deleteConfirmModal #confirmDeleteBtn:hover,
.theme-new body:has(.af-request-center-page) #deleteConfirmModal .af-btn-danger:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border-color: #fca5a5 !important;
    transform: none !important;
}

/* ---- Modal status badges (tables + modals) ---- */
.theme-new body:has(.af-request-center-page) .status-badge.status-pending {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

.theme-new body:has(.af-request-center-page) .status-badge.status-approved {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #bbf7d0 !important;
}

.theme-new body:has(.af-request-center-page) .status-badge.status-rejected {
    background: #fef2f2 !important;
    color: #991b1b !important;
    border: 1px solid #fecaca !important;
}

.theme-new body:has(.af-request-center-page) .status-badge.status-expired {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new body:has(.af-request-center-page) .auto-expired-badge,
.theme-new body:has(.af-request-center-page) .badge.bg-warning.auto-expired-badge {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
}

/* ---- Responsive ---- */
@media (max-width: 991px) {
    .theme-new .af-request-center-page .af-request-center-table {
        min-width: 640px;
    }

    .theme-new body:has(.af-request-center-page) .af-request-center-modal-footer {
        justify-content: stretch !important;
    }

    .theme-new body:has(.af-request-center-page) .af-request-center-modal-footer .btn,
    .theme-new body:has(.af-request-center-page) .af-request-center-reject-actions .btn {
        flex: 1 1 auto;
        min-width: calc(50% - 0.35rem);
    }
}

@media (max-width: 575px) {
    .theme-new .af-request-center-page .af-request-center-tab-body {
        padding: 1rem !important;
    }

    .theme-new .af-request-center-page .af-request-center-table-wrap {
        margin-left: -0.25rem;
        margin-right: -0.25rem;
        border-radius: 6px;
    }

    .theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-body,
    .theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-header,
    .theme-new body:has(.af-request-center-page) .af-request-center-modal .modal-footer {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }

    .theme-new body:has(.af-request-center-page) .af-request-center-modal-footer .btn,
    .theme-new body:has(.af-request-center-page) .af-request-center-reject-actions .btn {
        width: 100%;
        min-width: 100%;
        margin-bottom: 0.25rem;
    }

    .theme-new body:has(.af-request-center-page) .af-request-center-detail-modal .col-md-4 .d-flex.flex-column.align-items-end {
        align-items: flex-start !important;
        margin-top: 0.75rem;
    }
}

/* ---- Request Center Help Desk (New Theme) ---- */
.theme-new .af-request-help-page.af-schedule-help-page {
    padding-bottom: 2rem;
}

.theme-new .af-request-center-nav-shell .af-request-center-help-tab.active {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

.theme-new .af-request-center-nav-shell a.af-request-center-nav-tab {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.92);
}

.theme-new .af-request-center-nav-shell a.af-request-center-nav-tab:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.theme-new .af-request-help-page .af-schedule-help-section {
    border: 1px solid #dbeafe;
}

.theme-new .af-request-help-page .af-schedule-help-section__title {
    color: #1e40af;
}

.theme-new .af-request-help-page .af-schedule-help-section__icon-wrap {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
}

.theme-new .af-request-help-page .af-help-table th {
    background: #eff6ff;
    color: #1e3a8a;
}

/* Request Help Desk — layout and missing-content state */
.af-request-help-page {
    width: 100%;
    max-width: 100%;
}

.af-help-content-missing {
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
}

.af-help-topic-count {
    font-size: 0.75rem;
    font-weight: 600;
    background: rgba(37, 99, 235, 0.12);
    color: #1e40af;
    border: 1px solid rgba(37, 99, 235, 0.2);
}

body:not(.theme-new) .af-request-help-page .af-schedule-help-hero,
body:not(.theme-new) .af-request-help-page .af-schedule-help-nav,
body:not(.theme-new) .af-request-help-page .af-schedule-help-section {
    background: #fff;
    border: 1px solid #dee2e6;
}

body:not(.theme-new) .af-help-content-missing {
    border-color: #ffc107;
    background: #fff3cd;
    color: #664d03;
}

/* ============================================================
   Certificates & Training — New Theme (Phase 1)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-classic .af-certificates-nav-shell {
    display: none !important;
}

.theme-new .af-certificates-classic-nav {
    display: none !important;
}

.theme-new .af-certificates-nav-shell {
    display: block !important;
}

.theme-new .af-certificates-nav-card .af-certificates-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-certificates-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-certificates-nav-card .af-schedule-nav-icon,
.theme-new .af-certificates-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #certificatesNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* ---- Overview page shell ---- */
.theme-new .af-certificates-page {
    --af-cert-surface: #ffffff;
    --af-cert-border: #bfdbfe;
    --af-cert-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1.25rem 1.25rem 2.5rem !important;
    background: var(--af-new-bg, #f1f5f9);
    animation: none !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-certificates-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

.theme-classic .af-certificates-page-header {
    display: none !important;
}

.theme-new .af-certificates-classic-header {
    display: none !important;
}

.theme-new .af-certificates-page-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
}

.theme-new .af-certificates-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-certificates-page-lead {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* ---- Summary stat cards ---- */
.theme-new .af-certificates-page .af-certificates-stat-card {
    background: var(--af-cert-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-cert-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-cert-shadow) !important;
    overflow: hidden;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card:hover {
    transform: none !important;
    box-shadow: var(--af-cert-shadow) !important;
}

.theme-new .af-certificates-page .af-certificates-stat-body {
    background: var(--af-cert-surface) !important;
    background-image: none !important;
    padding: 1.15rem 1rem !important;
}

.theme-new .af-certificates-page .af-certificates-stat-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: 0.35rem;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-certificates-page .af-certificates-stat-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--af-new-text-muted, #64748b) !important;
    margin-bottom: 0 !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--total .af-certificates-stat-value {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--valid {
    border-color: #bbf7d0 !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--valid .af-certificates-stat-value {
    color: #15803d !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--valid .af-certificates-stat-label {
    color: #166534 !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expiring {
    border-color: #fde68a !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expiring .af-certificates-stat-value {
    color: #b45309 !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expiring .af-certificates-stat-label {
    color: #92400e !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expired {
    border-color: #fecaca !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expired .af-certificates-stat-value {
    color: #b91c1c !important;
}

.theme-new .af-certificates-page .af-certificates-stat-card--expired .af-certificates-stat-label {
    color: #991b1b !important;
}

@media (max-width: 576px) {
    .theme-new .af-certificates-page-title {
        font-size: 1.35rem;
    }

    .theme-new .af-certificates-page .af-certificates-stat-value {
        font-size: 1.65rem;
    }
}

/* ============================================================
   Certificates & Training — New Theme (Phase 2)
   Quick actions, filters, table, status pills, modals
   ============================================================ */

.theme-new .af-certificates-nav-tabs .af-certificates-nav-count {
    background: #fef3c7 !important;
    color: #92400e !important;
    border: 1px solid #fde68a !important;
    font-weight: 700 !important;
    margin-left: 0.35rem;
}

.theme-new .af-certificates-nav-tabs .nav-link.active .af-certificates-nav-count {
    background: rgba(255, 255, 255, 0.22) !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.35) !important;
}

.theme-new .af-certificates-help-tab {
    opacity: 1;
    cursor: pointer !important;
    pointer-events: auto;
}

/* Section cards */
.theme-new .af-certificates-page .af-certificates-section-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    overflow: hidden;
}

.theme-new .af-certificates-page .af-certificates-section-header {
    background: #fff !important;
    background-image: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #2563eb !important;
    padding: 0.85rem 1.25rem !important;
}

.theme-new .af-certificates-page .af-certificates-section-title {
    color: #2563eb !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
}

.theme-new .af-certificates-page .af-certificates-section-title i {
    color: #2563eb !important;
}

.theme-new .af-certificates-page .af-certificates-section-body {
    padding: 1.15rem 1.25rem 1.25rem !important;
    background: #fff !important;
}

/* Quick actions */
.theme-new .af-certificates-page .af-certificates-export-btn {
    white-space: nowrap;
}

/* Filters */
.theme-new .af-certificates-page .af-certificates-filter-form .af-certificates-filter-label {
    color: #334155 !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
}

.theme-new .af-certificates-page .af-certificates-filter-form .af-certificates-filter-label i {
    color: #2563eb !important;
}

.theme-new .af-certificates-page .af-certificates-filter-hint {
    color: #64748b !important;
}

.theme-new .af-certificates-page .af-certificates-filter-form .form-control,
.theme-new .af-certificates-page .af-certificates-filter-form .form-select {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    color: #334155 !important;
    border-radius: var(--af-new-radius, 8px) !important;
}

.theme-new .af-certificates-page .af-certificates-filter-form .form-control:focus,
.theme-new .af-certificates-page .af-certificates-filter-form .form-select:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

.theme-new .af-certificates-page .af-certificates-active-filters {
    border-color: #e2e8f0 !important;
}

.theme-new .af-certificates-page .af-certificates-filter-badge {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    font-weight: 600 !important;
}

.theme-new .af-certificates-page .af-certificates-filter-badge--expiring {
    background: #fffbeb !important;
    color: #92400e !important;
    border-color: #fde68a !important;
}

.theme-new .af-certificates-page .af-certificates-filter-badge-clear {
    color: inherit !important;
    font-weight: 700 !important;
}

/* Table */
.theme-new .af-certificates-page .af-certificates-table-wrap {
    background: #fff !important;
}

.theme-new .af-certificates-page .af-certificates-table {
    margin-bottom: 0 !important;
    --bs-table-bg: #fff;
    --bs-table-striped-bg: #f8fafc;
    --bs-table-hover-bg: #eff6ff;
}

.theme-new .af-certificates-page .af-certificates-table-head th {
    background: #f8fafc !important;
    color: #2563eb !important;
    border-color: #e2e8f0 !important;
    font-weight: 700 !important;
    font-size: 0.875rem !important;
    vertical-align: middle;
}

.theme-new .af-certificates-page .af-certificates-sort-link {
    color: #2563eb !important;
}

.theme-new .af-certificates-page .af-certificates-sort-link i {
    color: #93c5fd !important;
}

.theme-new .af-certificates-page .af-certificates-table tbody td {
    color: #334155 !important;
    background: #fff !important;
    border-color: #e2e8f0 !important;
    vertical-align: middle;
}

.theme-new .af-certificates-page .af-certificates-table.table-striped > tbody > tr:nth-of-type(odd) > td {
    background: #f8fafc !important;
}

.theme-new .af-certificates-page .af-certificates-table tbody tr:hover td {
    background: #eff6ff !important;
}

.theme-new .af-certificates-page .af-certificates-table tbody tr.selected-row td {
    background: #dbeafe !important;
    border-left: none !important;
}

.theme-new .af-certificates-page .af-certificates-table-count {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe !important;
    font-weight: 600 !important;
}

.theme-new .af-certificates-page .af-certificates-table-filter-note {
    color: #64748b !important;
    font-weight: 500 !important;
}

.theme-new .af-certificates-page .af-certificates-employee-name {
    font-weight: 600;
    color: #1e293b !important;
}

.theme-new .af-certificates-page .af-certificates-employee-dept {
    color: #64748b !important;
}

.theme-new .af-certificates-page .af-certificates-employee-avatar {
    width: 40px;
    height: 40px;
    background: #2563eb !important;
    background-image: none !important;
    color: #fff !important;
    font-weight: 700;
    flex-shrink: 0;
}

.theme-new .af-certificates-page .af-certificates-employee-photo {
    border: 2px solid #bfdbfe !important;
}

.theme-new .af-certificates-page .af-certificates-cert-name {
    color: #334155 !important;
    font-weight: 500;
}

.theme-new .af-certificates-page .af-certificates-issued-date {
    color: #475569 !important;
    font-weight: 600;
}

.theme-new .af-certificates-page .af-certificates-no-file {
    color: #94a3b8 !important;
}

/* Status pills — semantic colours only */
.theme-new .af-certificates-page .af-certificates-status-pill {
    display: inline-block;
    min-width: 92px;
    padding: 0.35em 0.85em;
    font-size: 0.85rem;
    border-radius: 999px;
    font-weight: 600;
    text-align: center;
    border: 1px solid transparent;
}

.theme-new .af-certificates-page .af-certificates-status-pill--valid {
    background: #ecfdf5 !important;
    color: #15803d !important;
    border-color: #bbf7d0 !important;
}

.theme-new .af-certificates-page .af-certificates-status-pill--expiring {
    background: #fffbeb !important;
    color: #b45309 !important;
    border-color: #fde68a !important;
    animation: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-status-pill--expired {
    background: #fef2f2 !important;
    color: #b91c1c !important;
    border-color: #fecaca !important;
    animation: af-certificates-expired-blink 1.25s linear infinite;
}

@keyframes af-certificates-expired-blink {
    0%, 100% { box-shadow: none; }
    40% { box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.35); }
}

/* Bulk toolbar */
.theme-new .af-certificates-page .af-certificates-bulk-toolbar {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-certificates-page .af-certificates-bulk-label,
.theme-new .af-certificates-page .af-certificates-bulk-count {
    color: #475569 !important;
}

/* Row actions — see Phase 3 block for af-certificates-table-action */

/* Empty state */
.theme-new .af-certificates-page .af-certificates-empty-cell {
    color: #64748b !important;
    background: #fff !important;
}

.theme-new .af-certificates-page .af-certificates-empty-icon {
    color: #93c5fd !important;
}

.theme-new .af-certificates-page .af-certificates-empty-title {
    color: #475569 !important;
    font-weight: 600;
}

.theme-new .af-certificates-page .af-certificates-table-footer {
    color: #64748b !important;
}

.theme-new .af-certificates-page .af-certificates-table-summary {
    color: #64748b !important;
    font-size: 0.9rem;
}

/* Modals */
.theme-new body:has(.af-certificates-page) .af-certificates-modal.modal-content {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12) !important;
    color: #334155 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #2563eb !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-title {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-title i.fa-exclamation-triangle {
    color: #b45309 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-footer {
    border-top: 1px solid #e2e8f0 !important;
    background: #fff !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .bulk-delete-list {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .bulk-delete-item {
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}

/* Help page shares certificates page shell */
.theme-new .af-certificates-help-page {
    background: var(--af-new-bg, #f1f5f9);
    padding: 1.25rem 1.25rem 2.5rem !important;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
}

@media (min-width: 992px) {
    .theme-new .af-certificates-help-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

/* ============================================================
   Certificates & Training — New Theme (Phase 3)
   Table actions, pagination, export tab, forms, animation cleanup
   ============================================================ */

.theme-new .af-certificates-nav-tabs .af-certificates-export-tab {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-certificates-nav-tabs .af-certificates-export-tab i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-certificates-nav-tabs .af-certificates-export-tab:hover,
.theme-new .af-certificates-nav-tabs .af-certificates-export-tab:focus {
    color: #1d4ed8 !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-nav-tabs .nav-link,
.theme-new .af-certificates-nav-tabs .af-certificates-nav-tab {
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease !important;
    transform: none !important;
}

.theme-new .af-certificates-nav-tabs .nav-link:hover,
.theme-new .af-certificates-nav-tabs .nav-link:focus,
.theme-new .af-certificates-nav-tabs .af-certificates-nav-tab:hover,
.theme-new .af-certificates-nav-tabs .af-certificates-nav-tab:focus {
    transform: none !important;
}

.theme-new .af-certificates-page .af-certificates-row-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
}

.theme-new .af-certificates-page .af-certificates-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    min-height: 36px;
    padding: 0 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    border: 1px solid #bfdbfe !important;
    background: #fff !important;
    color: #2563eb !important;
    text-decoration: none !important;
    line-height: 1;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-table-action i {
    font-size: 0.9rem;
    margin: 0 !important;
    line-height: 1;
    pointer-events: none;
}

.theme-new .af-certificates-page .af-certificates-table-action--download:hover,
.theme-new .af-certificates-page .af-certificates-table-action--download:focus,
.theme-new .af-certificates-page .af-certificates-table-action--edit:hover,
.theme-new .af-certificates-page .af-certificates-table-action--edit:focus {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-table-action--delete {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fff !important;
}

.theme-new .af-certificates-page .af-certificates-table-action--delete:hover,
.theme-new .af-certificates-page .af-certificates-table-action--delete:focus {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #b91c1c !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-table-action--empty {
    border-color: #e2e8f0 !important;
    color: #94a3b8 !important;
    background: #f8fafc !important;
    cursor: default;
    opacity: 0.9;
}

.theme-new .af-certificates-page button.af-certificates-table-action,
.theme-new .af-certificates-form-page button.af-certificates-table-action {
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.theme-new .af-certificates-page .af-certificates-pagination-footer {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    padding: 1rem 1.25rem !important;
}

.theme-new .af-certificates-page .af-certificates-pagination .pagination {
    gap: 0.25rem;
}

.theme-new .af-certificates-page .af-certificates-pagination .page-link {
    color: #2563eb !important;
    border: 1px solid #bfdbfe !important;
    background: #fff !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    padding: 0.45rem 0.75rem;
    font-weight: 600;
    font-size: 0.875rem;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-pagination .page-link:hover,
.theme-new .af-certificates-page .af-certificates-pagination .page-link:focus {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    transform: none !important;
    box-shadow: none !important;
}

.theme-new .af-certificates-page .af-certificates-pagination .page-item.active .page-link {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
    z-index: 1;
}

.theme-new .af-certificates-page .af-certificates-pagination .page-item.disabled .page-link {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #94a3b8 !important;
}

.theme-new .af-certificates-page .af-certificates-pagination-meta {
    color: #64748b !important;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Certificate form pages (add, edit, bulk, titles, delete) */
.theme-new body:has(.af-certificates-form-page) {
    background: var(--af-new-bg, #f1f5f9) !important;
}

.theme-new .af-certificates-form-page {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-card,
.theme-new .af-certificates-form-page .af-certificates-bulk-card,
.theme-new .af-certificates-form-page .af-certificates-titles-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-card .card-header,
.theme-new .af-certificates-form-page .af-certificates-bulk-card .card-header,
.theme-new .af-certificates-form-page .af-certificates-titles-card .card-header {
    background: #fff !important;
    background-image: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #2563eb !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-card .card-header h4,
.theme-new .af-certificates-form-page .af-certificates-bulk-card .card-header h4,
.theme-new .af-certificates-form-page .af-certificates-titles-card .card-header h4 {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-card .card-body,
.theme-new .af-certificates-form-page .af-certificates-bulk-card .card-body,
.theme-new .af-certificates-form-page .af-certificates-titles-card .card-body {
    background: #fff !important;
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .form-label,
.theme-new .af-certificates-form-page label {
    color: #334155 !important;
    font-weight: 600 !important;
}

.theme-new .af-certificates-form-page .form-control,
.theme-new .af-certificates-form-page .form-select,
.theme-new .af-certificates-form-page textarea.form-control,
.theme-new .af-certificates-form-page input[type="file"].form-control {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    color: #334155 !important;
    border-radius: var(--af-new-radius, 8px) !important;
}

.theme-new .af-certificates-form-page .form-control:focus,
.theme-new .af-certificates-form-page .form-select:focus,
.theme-new .af-certificates-form-page textarea.form-control:focus {
    border-color: #2563eb !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .form-text,
.theme-new .af-certificates-form-page .helptext {
    color: #64748b !important;
}

.theme-new .af-certificates-form-page .text-danger,
.theme-new .af-certificates-form-page .invalid-feedback {
    color: #dc2626 !important;
}

.theme-new .af-certificates-form-page .af-certificates-bulk-step {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-left: 4px solid #2563eb !important;
    border-radius: var(--af-new-radius, 8px) !important;
    margin-bottom: 1.25rem;
}

.theme-new .af-certificates-form-page .af-certificates-bulk-step h5 {
    color: #2563eb !important;
}

.theme-new .af-certificates-form-page .af-certificates-step-number {
    background: #2563eb !important;
    color: #fff !important;
}

.theme-new .af-certificates-form-page .af-certificates-multiselect {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius, 8px) !important;
}

.theme-new .af-certificates-form-page .af-certificates-employee-item {
    border-bottom-color: #e2e8f0 !important;
    transition: background 0.15s ease !important;
    transform: none !important;
}

.theme-new .af-certificates-form-page .af-certificates-employee-item:hover {
    background: #eff6ff !important;
    transform: none !important;
}

.theme-new .af-certificates-form-page .af-certificates-employee-item label,
.theme-new .af-certificates-form-page .af-certificates-employee-item strong {
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .af-certificates-summary-card {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .af-certificates-summary-card h5 {
    color: #2563eb !important;
}

.theme-new .af-certificates-form-page .af-certificates-delete-panel {
    background: #fff !important;
    border: 1px solid #fecaca !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    color: #334155 !important;
}

.theme-new .af-certificates-form-page .af-certificates-delete-panel h4 {
    color: #b91c1c !important;
}

.theme-new .af-certificates-form-page .af-certificates-titles-table {
    --bs-table-bg: #fff;
    --bs-table-striped-bg: #f8fafc;
    margin-bottom: 0 !important;
}

.theme-new .af-certificates-form-page .af-certificates-titles-table thead th {
    background: #f8fafc !important;
    color: #2563eb !important;
    border-color: #e2e8f0 !important;
    font-weight: 700 !important;
}

.theme-new .af-certificates-form-page .af-certificates-titles-table tbody td {
    color: #334155 !important;
    border-color: #e2e8f0 !important;
    vertical-align: middle;
}

.theme-new .af-certificates-form-page .employee-checkbox {
    transform: none !important;
}

/* ============================================================
   Certificates & Training — New Theme (Phase 4)
   Modals, form sections, polish
   ============================================================ */

.theme-new body:has(.af-certificates-page) .af-certificates-modal.modal-content,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal.modal-content {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12) !important;
    color: #334155 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-header,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal .modal-header,
.theme-new body:has(.af-certificates-page) .af-certificates-modal-header,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #2563eb !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-title,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal .modal-title {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-icon--warning,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-icon--warning {
    color: #b45309 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-icon--danger,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-icon--danger {
    color: #dc2626 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-header .btn-close,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal .modal-header .btn-close {
    filter: none !important;
    opacity: 0.55;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-header .btn-close:hover,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal .modal-header .btn-close:hover {
    opacity: 0.85;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-body,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-body {
    background: #fff !important;
    color: #334155 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-note,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-note {
    color: #64748b !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-count,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-count {
    color: #b45309 !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal-alert,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-alert {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
}

.theme-new body:has(.af-certificates-page) .af-certificates-modal .modal-footer,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal .modal-footer,
.theme-new body:has(.af-certificates-page) .af-certificates-modal-footer,
.theme-new body:has(.af-certificates-form-page) .af-certificates-modal-footer {
    border-top: 1px solid #e2e8f0 !important;
    background: #f8fafc !important;
    gap: 0.5rem;
}

.theme-new body:has(.af-certificates-page) .af-certificates-bulk-delete-list,
.theme-new body:has(.af-certificates-form-page) .af-certificates-bulk-delete-list,
.theme-new body:has(.af-certificates-page) .af-certificates-modal .bulk-delete-list {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: var(--af-new-radius, 8px) !important;
    padding: 0.75rem 1rem !important;
    margin-top: 0.75rem;
    max-height: 220px;
    overflow-y: auto;
}

.theme-new body:has(.af-certificates-page) .af-certificates-bulk-delete-item,
.theme-new body:has(.af-certificates-form-page) .af-certificates-bulk-delete-item,
.theme-new body:has(.af-certificates-page) .af-certificates-modal .bulk-delete-item {
    border-color: #e2e8f0 !important;
    color: #475569 !important;
    padding: 0.35rem 0 !important;
    font-size: 0.9rem;
}

.theme-new body:has(.af-certificates-page) .af-certificates-bulk-delete-cert,
.theme-new body:has(.af-certificates-form-page) .af-certificates-bulk-delete-cert {
    color: #1d4ed8 !important;
    font-weight: 600;
}

.theme-new body:has(.af-certificates-page) .af-certificates-bulk-delete-employee,
.theme-new body:has(.af-certificates-form-page) .af-certificates-bulk-delete-employee {
    color: #334155 !important;
    font-weight: 600;
}

.theme-new body:has(.af-certificates-page) .af-certificates-bulk-delete-more,
.theme-new body:has(.af-certificates-form-page) .af-certificates-bulk-delete-more {
    color: #64748b !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-section {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: var(--af-new-radius, 8px) !important;
    padding: 1rem 1.15rem !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-section-title {
    color: #2563eb !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    margin-bottom: 0.75rem !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-section-title i {
    color: #2563eb !important;
}

.theme-new .af-certificates-form-page .af-certificates-form-link {
    color: #2563eb !important;
    font-weight: 600;
    text-decoration: none;
}

.theme-new .af-certificates-form-page .af-certificates-form-link:hover {
    color: #1d4ed8 !important;
    text-decoration: underline;
}

.theme-new .af-certificates-form-page .af-certificates-form-error {
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
    color: #991b1b !important;
    border-radius: var(--af-new-radius, 8px) !important;
}

.theme-new .af-certificates-form-page .af-certificates-current-file-btn {
    color: #2563eb !important;
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
}

.theme-new .af-certificates-form-page .af-certificates-current-file-btn:hover {
    background: #dbeafe !important;
    color: #1d4ed8 !important;
}

.theme-new .af-certificates-form-page .af-certificates-bulk-card-header {
    background: #fff !important;
    color: #2563eb !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-certificates-form-page .af-certificates-bulk-card-header h4 {
    color: #2563eb !important;
    font-weight: 700 !important;
}

.theme-new .af-certificates-form-page .af-certificates-employee-meta {
    color: #64748b !important;
}

.theme-new .af-certificates-form-page .af-certificates-empty-state {
    color: #64748b !important;
}

.theme-new .af-certificates-form-page .af-certificates-titles-add-form {
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
    margin-bottom: 1.25rem !important;
}

.theme-new .af-certificates-page .af-certificates-filter-form .form-check-input:checked {
    background-color: #2563eb !important;
    border-color: #2563eb !important;
}

.theme-new .af-certificates-form-page .af-certificates-table-action--delete {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fff !important;
}

.theme-new .af-certificates-form-page .af-certificates-table-action--delete:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
    color: #b91c1c !important;
}

/* ============================================================
   Company Policies — New Theme (Phase 1)
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-classic .af-policies-nav-shell {
    display: none !important;
}

.theme-new .af-policies-classic-nav {
    display: none !important;
}

.theme-new .af-policies-nav-shell {
    display: block !important;
}

/* Hide legacy duplicated inline navbars on other policy admin pages */
.theme-new .card.policy-navbar-card.shadow-lg {
    display: none !important;
}

.theme-new .af-policies-nav-card .af-policies-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-policies-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-policies-nav-card .af-schedule-nav-icon,
.theme-new .af-policies-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #policiesNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.theme-new .af-policies-nav-tabs .af-policies-nav-tab--disabled {
    opacity: 0.55;
    cursor: not-allowed;
    pointer-events: none;
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-policies-nav-tabs .nav-link,
.theme-new .af-policies-nav-tabs .af-policies-nav-tab {
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-nav-tabs .nav-link:hover,
.theme-new .af-policies-nav-tabs .nav-link:focus,
.theme-new .af-policies-nav-tabs .af-policies-nav-tab:hover,
.theme-new .af-policies-nav-tabs .af-policies-nav-tab:focus {
    transform: none !important;
}

/* ---- Policies page shell ---- */
.theme-new .af-policies-page {
    --af-pol-surface: #ffffff;
    --af-pol-border: #bfdbfe;
    --af-pol-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1.25rem 1.25rem 2.5rem !important;
    background: var(--af-new-bg, #f1f5f9);
    animation: none !important;
    transform: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-policies-page {
        padding: 1.5rem 1.75rem 3rem !important;
    }
}

.theme-classic .af-policies-page-header {
    display: none !important;
}

.theme-new .af-policies-page-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.25;
}

.theme-new .af-policies-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-policies-page-lead {
    color: var(--af-new-text-muted, #64748b) !important;
    font-size: 0.95rem;
    line-height: 1.5;
}

.theme-new .af-policies-page .card {
    background: var(--af-pol-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-pol-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-pol-shadow) !important;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-page .card:hover {
    transform: none !important;
    box-shadow: var(--af-pol-shadow) !important;
}

.theme-new .af-policies-page .card-header.bg-white {
    background: var(--af-pol-surface) !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-new .af-policies-page .card-header h5 {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700;
}

.theme-new .af-policies-page .card-footer.bg-white {
    background: var(--af-pol-surface) !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-policies-page .table thead.bg-light {
    background: #f8fafc !important;
}

.theme-new .af-policies-page .table thead th {
    color: #475569 !important;
    font-weight: 600;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-policies-page .table td,
.theme-new .af-policies-page .table th {
    border-color: #e2e8f0 !important;
}

.theme-new .af-policies-page .table tbody tr:hover {
    background: #f8fafc !important;
}

.theme-new .af-policies-page h3,
.theme-new .af-policies-page h6.fw-semibold {
    color: #1e293b !important;
}

.theme-new .af-policies-page .text-muted,
.theme-new .af-policies-page small.text-muted {
    color: #64748b !important;
}

.theme-new .af-policies-page .row > [class*="col-"] > .card.border-0 {
    background: var(--af-pol-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-pol-border) !important;
    box-shadow: var(--af-pol-shadow) !important;
}

.theme-new .af-policies-page .row > [class*="col-"] > .card.border-0 h6.text-uppercase {
    color: #64748b !important;
}

.theme-new .af-policies-page .row > [class*="col-"] > .card.border-0 h3 {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-policies-page .row > [class*="col-"] > .card.border-0 .text-success {
    color: #15803d !important;
}

.theme-new .af-policies-page .row > [class*="col-"] > .card.border-0 .text-info {
    color: #2563eb !important;
}

.theme-new .af-policies-page .progress {
    background: #e2e8f0 !important;
}

.theme-new .af-policies-page .progress-bar.bg-success {
    background-color: #16a34a !important;
}

.theme-new .af-policies-page .badge.bg-success.bg-opacity-10.text-success {
    background: #f0fdf4 !important;
    color: #15803d !important;
    border: 1px solid #bbf7d0;
}

.theme-new .af-policies-page .badge.bg-warning.bg-opacity-10.text-warning {
    background: #fffbeb !important;
    color: #b45309 !important;
    border: 1px solid #fde68a;
}

.theme-new .af-policies-page .badge.bg-secondary.bg-opacity-10.text-secondary {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0;
}

.theme-new .af-policies-page .badge.bg-info.bg-opacity-10.text-info {
    background: #eff6ff !important;
    color: #2563eb !important;
    border: 1px solid #bfdbfe;
}

.theme-new .af-policies-page .btn-outline-primary {
    border-color: #93c5fd !important;
    color: #2563eb !important;
    background: #fff !important;
}

.theme-new .af-policies-page .btn-outline-primary:hover {
    background: #eff6ff !important;
    border-color: #60a5fa !important;
    color: #1d4ed8 !important;
}

.theme-new .af-policies-page .btn-outline-success {
    border-color: #86efac !important;
    color: #15803d !important;
    background: #fff !important;
}

.theme-new .af-policies-page .btn-outline-success:hover {
    background: #f0fdf4 !important;
    border-color: #4ade80 !important;
}

.theme-new .af-policies-page .btn-outline-warning {
    border-color: #fde68a !important;
    color: #b45309 !important;
    background: #fff !important;
}

.theme-new .af-policies-page .btn-outline-warning:hover {
    background: #fffbeb !important;
    border-color: #fcd34d !important;
}

.theme-new .af-policies-page .btn-outline-danger {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fff !important;
}

.theme-new .af-policies-page .btn-outline-danger:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
}

.theme-new .af-policies-page .form-control,
.theme-new .af-policies-page .input-group-text {
    border-color: #cbd5e1 !important;
    background: #fff !important;
    color: #1e293b !important;
}

.theme-new .af-policies-page .form-control:focus {
    border-color: #93c5fd !important;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12) !important;
}

/* ---- Company Policies Phase 2: stats, filters, table, pagination, modals ---- */

.theme-new .af-policies-page .af-policies-stat-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-page .af-policies-stat-card:hover {
    transform: none !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

.theme-new .af-policies-page .af-policies-stat-body {
    background: #fff !important;
    background-image: none !important;
    padding: 1.15rem 1rem !important;
}

.theme-new .af-policies-page .af-policies-stat-value {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
}

.theme-new .af-policies-page .af-policies-stat-card--recent .af-policies-stat-value {
    color: #15803d !important;
    font-size: 1.65rem;
}

.theme-new .af-policies-page .af-policies-stat-card--compliance .af-policies-stat-value {
    color: #2563eb !important;
}

.theme-new .af-policies-page .af-policies-stat-label {
    color: #64748b !important;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.theme-new .af-policies-page .af-policies-stat-icon-wrap {
    background: #eff6ff !important;
}

.theme-new .af-policies-page .af-policies-stat-card--recent .af-policies-stat-icon-wrap {
    background: #f0fdf4 !important;
}

.theme-new .af-policies-page .af-policies-filter-card,
.theme-new .af-policies-page .af-policies-table-card {
    border: 1px solid #bfdbfe !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

.theme-new .af-policies-page .af-policies-filter-label {
    color: #2563eb !important;
    font-weight: 600;
    font-size: 0.875rem;
}

.theme-new .af-policies-page .af-policies-filter-badge {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
    font-weight: 500;
}

.theme-new .af-policies-page .af-policies-filter-badge-clear {
    color: #64748b !important;
}

.theme-new .af-policies-page .af-policies-table-filter-note {
    color: #64748b !important;
}

.theme-new .af-policies-page .af-policies-status-badge--active {
    background: #f0fdf4 !important;
    color: #15803d !important;
    border: 1px solid #bbf7d0;
}

.theme-new .af-policies-page .af-policies-status-badge--archived {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0;
}

.theme-new .af-policies-page .af-policies-ack-text {
    color: #64748b !important;
    white-space: nowrap;
}

.theme-new .af-policies-page .af-policies-table-action {
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-page .af-policies-table-action:hover {
    transform: none !important;
}

.theme-new .af-policies-page .af-policies-table-action--delete {
    border-color: #fecaca !important;
    color: #dc2626 !important;
}

.theme-new .af-policies-page .af-policies-table-action--delete:hover {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
}

.theme-new .af-policies-page .af-policies-pagination-footer {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-policies-page .af-policies-pagination .pagination {
    gap: 0.25rem;
}

.theme-new .af-policies-page .af-policies-pagination .page-link {
    border: 1px solid #cbd5e1 !important;
    color: #2563eb !important;
    background: #fff !important;
    border-radius: 8px !important;
    font-weight: 600;
    padding: 0.45rem 0.75rem;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-page .af-policies-pagination .page-link:hover,
.theme-new .af-policies-page .af-policies-pagination .page-link:focus {
    background: #eff6ff !important;
    border-color: #93c5fd !important;
    color: #1d4ed8 !important;
    transform: none !important;
}

.theme-new .af-policies-page .af-policies-pagination .page-item.active .page-link {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

.theme-new .af-policies-page .af-policies-pagination .page-item.disabled .page-link {
    background: #f8fafc !important;
    color: #94a3b8 !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-policies-page .af-policies-pagination-meta,
.theme-new .af-policies-page .af-policies-table-summary {
    color: #64748b !important;
}

.theme-new .af-policies-page .af-policies-empty-state {
    color: #64748b !important;
}

.theme-new .af-policies-page .af-btn-primary {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #fff !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
}

.theme-new .af-policies-page .af-btn-primary:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}

.theme-new .af-policies-page .af-btn-light,
.theme-new .af-policies-page .af-btn-secondary {
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
}

.theme-new .af-policies-page .af-btn-danger {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-content {
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    box-shadow: 0 10px 40px rgba(15, 23, 42, 0.12) !important;
    overflow: hidden;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-header .modal-title {
    color: #2563eb !important;
    font-weight: 700;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-icon--warning {
    color: #d97706 !important;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-body {
    background: #fff !important;
    color: #334155 !important;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-note {
    color: #64748b !important;
}

.theme-new body:has(.af-policies-page) .af-policies-modal-footer {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new body:has(.af-policies-page) .af-policies-view-modal-header {
    background: #fff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-new body:has(.af-policies-page) .af-policies-view-modal-header .modal-title {
    color: #2563eb !important;
    font-weight: 700;
}

.theme-new body:has(.af-policies-page) .af-policies-view-modal-body {
    background: #f1f5f9 !important;
}

.theme-new body:has(.af-policies-page) .af-policies-view-iframe {
    width: 100%;
    height: calc(100vh - 130px);
    border: none;
    display: block;
    background: #fff;
}

.theme-new body:has(.af-policies-page) .af-policies-view-modal-footer {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-classic .af-policies-page .af-policies-view-modal-body {
    background: #111827;
}

.theme-classic .af-policies-page .af-policies-view-iframe {
    width: 100%;
    height: calc(100vh - 130px);
    border: none;
    display: block;
    background: #ffffff;
}

.theme-classic .af-policies-page .af-policies-view-modal-header {
    background: #0d6efd !important;
    color: #fff !important;
}

.theme-classic .af-policies-page .af-policies-view-modal-header .modal-title,
.theme-classic .af-policies-page .af-policies-view-modal-header .btn-close {
    color: #fff !important;
}

.theme-classic .af-policies-page .af-policies-filter-card .card-body,
.theme-classic .af-policies-page .af-policies-table-card .card-header {
    background: inherit;
}

.theme-classic .af-policies-page .af-policies-filter-label {
    color: #ededed;
}

.theme-classic .af-policies-page .af-policies-pagination .page-link {
    border-radius: 20px;
}

/* ============================================================
   Company Policies — New Theme (Phase 3)
   Compliance pages: action links, toggles, badges (no Bootstrap buttons)
   ============================================================ */

.theme-new .af-policies-compliance-page .af-policies-btn,
.theme-new .af-policies-non-compliance-page .af-policies-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    border-radius: var(--af-new-radius-btn, 8px);
    white-space: nowrap;
    transition: none !important;
    transform: none !important;
    cursor: pointer;
    border: 1px solid transparent;
}

.theme-new .af-policies-compliance-page .af-policies-btn:hover,
.theme-new .af-policies-non-compliance-page .af-policies-btn:hover {
    transform: none !important;
}

.theme-new .af-policies-compliance-page .af-policies-action-link,
.theme-new .af-policies-non-compliance-page .af-policies-action-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    border-radius: var(--af-new-radius-btn, 8px);
    border: 1px solid #93c5fd;
    color: #2563eb;
    background: #fff;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-compliance-page .af-policies-action-link:hover,
.theme-new .af-policies-compliance-page .af-policies-action-link:focus,
.theme-new .af-policies-non-compliance-page .af-policies-action-link:hover,
.theme-new .af-policies-non-compliance-page .af-policies-action-link:focus {
    background: #eff6ff;
    border-color: #60a5fa;
    color: #1d4ed8;
    transform: none !important;
}

.theme-new .af-policies-compliance-page .af-policies-action-link--view {
    border-color: #86efac;
    color: #15803d;
}

.theme-new .af-policies-compliance-page .af-policies-action-link--view:hover,
.theme-new .af-policies-compliance-page .af-policies-action-link--view:focus {
    background: #f0fdf4;
    border-color: #4ade80;
    color: #166534;
}

.theme-new .af-policies-compliance-page .af-policies-status-badge,
.theme-new .af-policies-non-compliance-page .af-policies-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.6rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 999px;
    line-height: 1.3;
}

.theme-new .af-policies-compliance-page .af-policies-status-badge--active {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.theme-new .af-policies-compliance-page .af-policies-status-badge--neutral {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.theme-new .af-policies-compliance-page .af-policies-stat-value--warning {
    color: #b45309 !important;
}

.theme-new .af-policies-compliance-page .af-policies-ack-percent {
    color: #64748b;
    font-weight: 600;
    white-space: nowrap;
}

.theme-new .af-policies-compliance-page .af-policies-progress-bar {
    background-color: #16a34a !important;
}

.theme-new .af-policies-compliance-page .af-policies-toggle-group,
.theme-new .af-policies-non-compliance-page .af-policies-toggle-group {
    gap: 0.5rem;
}

.theme-new .af-policies-compliance-page .af-policies-toggle,
.theme-new .af-policies-non-compliance-page .af-policies-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.55rem 1rem;
    font-size: 0.9375rem;
    font-weight: 600;
    border-radius: var(--af-new-radius-btn, 8px);
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #64748b;
    text-decoration: none;
    transition: none !important;
    transform: none !important;
}

.theme-new .af-policies-compliance-page .af-policies-toggle--active {
    background: #f0fdf4;
    border-color: #86efac;
    color: #15803d;
    cursor: default;
}

.theme-new .af-policies-compliance-page .af-policies-toggle--link:hover,
.theme-new .af-policies-compliance-page .af-policies-toggle--link:focus {
    background: #fffbeb;
    border-color: #fde68a;
    color: #b45309;
    transform: none !important;
}

.theme-new .af-policies-compliance-page .af-policies-toggle-count,
.theme-new .af-policies-non-compliance-page .af-policies-toggle-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    padding: 0.1rem 0.45rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 999px;
    background: #dcfce7;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.theme-new .af-policies-compliance-page .af-policies-toggle-count--warning {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.theme-new .af-policies-compliance-page .af-policies-toggle--link:hover .af-policies-toggle-count--warning,
.theme-new .af-policies-compliance-page .af-policies-toggle--link:focus .af-policies-toggle-count--warning {
    background: #fef3c7;
    color: #92400e;
}

.theme-new .af-policies-compliance-page .af-policies-avatar,
.theme-new .af-policies-non-compliance-page .af-policies-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: #eff6ff;
    color: #2563eb;
    font-size: 0.8125rem;
    font-weight: 700;
    flex-shrink: 0;
}

.theme-new .af-policies-compliance-page .badge:not(.af-policies-filter-badge) {
    background: #f8fafc !important;
    color: #64748b !important;
    border: 1px solid #e2e8f0;
    font-weight: 600;
}

.theme-classic .af-policies-compliance-page .af-policies-toggle--active {
    background: rgba(76, 175, 80, 0.15);
    border-color: rgba(76, 175, 80, 0.4);
    color: #a5d6a7;
}

.theme-classic .af-policies-compliance-page .af-policies-toggle--link {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
    color: #c6d2eb;
}

.theme-classic .af-policies-compliance-page .af-policies-action-link {
    border-color: rgba(96, 165, 250, 0.35);
    color: #90caf9;
    background: rgba(255, 255, 255, 0.04);
}

.theme-classic .af-policies-compliance-page .af-policies-avatar {
    background: rgba(33, 150, 243, 0.15);
    color: #90caf9;
}

/* ============================================================
   Company Policies — New Theme (Phase 4)
   Non-Compliance pages: warning badges, missing policy links
   ============================================================ */

.theme-new .af-policies-non-compliance-page .af-policies-stat-value--warning {
    color: #b45309 !important;
}

.theme-new .af-policies-non-compliance-page .af-policies-status-badge--warning {
    background: #fffbeb;
    color: #b45309;
    border: 1px solid #fde68a;
}

.theme-new .af-policies-non-compliance-page .af-policies-status-badge--neutral {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.theme-new .af-policies-non-compliance-page .af-policies-action-link--warning {
    border-color: #fde68a;
    color: #b45309;
    background: #fff;
}

.theme-new .af-policies-non-compliance-page .af-policies-action-link--warning:hover,
.theme-new .af-policies-non-compliance-page .af-policies-action-link--warning:focus {
    background: #fffbeb;
    border-color: #fcd34d;
    color: #92400e;
}

.theme-new .af-policies-non-compliance-page .af-policies-toggle--active-warning {
    background: #fffbeb;
    border-color: #fde68a;
    color: #b45309;
    cursor: default;
}

.theme-new .af-policies-non-compliance-page .af-policies-toggle--link:hover,
.theme-new .af-policies-non-compliance-page .af-policies-toggle--link:focus {
    background: #f0fdf4;
    border-color: #86efac;
    color: #15803d;
}

.theme-new .af-policies-non-compliance-page .af-policies-toggle-count--warning {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.theme-new .af-policies-non-compliance-page .af-policies-avatar--warning {
    background: #fffbeb;
    color: #b45309;
}

.theme-new .af-policies-non-compliance-page .af-policies-missing-list {
    font-size: 0.875rem;
    line-height: 1.5;
}

.theme-new .af-policies-non-compliance-page .af-policies-missing-list li + li {
    margin-top: 0.25rem;
}

.theme-new .af-policies-non-compliance-page .af-policies-missing-link {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
}

.theme-new .af-policies-non-compliance-page .af-policies-missing-link:hover,
.theme-new .af-policies-non-compliance-page .af-policies-missing-link:focus {
    color: #1d4ed8;
    text-decoration: underline;
}

.theme-new .af-policies-non-compliance-page .af-policies-empty-state--success {
    color: #15803d !important;
}

.theme-new .af-policies-non-compliance-page .af-policies-empty-state--success i {
    color: #16a34a;
}

.theme-new .af-policies-non-compliance-page .af-policies-filter-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.65rem;
    font-size: 0.8125rem;
    font-weight: 600;
    border-radius: 999px;
    background: #fffbeb !important;
    color: #b45309 !important;
    border: 1px solid #fde68a;
}

.theme-classic .af-policies-non-compliance-page .af-policies-toggle--active-warning {
    background: rgba(255, 152, 0, 0.15);
    border-color: rgba(255, 152, 0, 0.4);
    color: #ffcc80;
}

.theme-classic .af-policies-non-compliance-page .af-policies-avatar--warning {
    background: rgba(244, 67, 54, 0.15);
    color: #ef9a9a;
}

.theme-classic .af-policies-non-compliance-page .af-policies-missing-link {
    color: #90caf9;
}

.theme-classic .af-policies-non-compliance-page .af-policies-action-link--warning {
    border-color: rgba(255, 152, 0, 0.35);
    color: #ffcc80;
    background: rgba(255, 255, 255, 0.04);
}

/* ============================================================
   Company Policies — New Theme (Phase 5)
   Upload Policy dedicated page
   ============================================================ */

.theme-new body:has(.af-policies-upload-page) {
    background: var(--af-new-page-bg, #f1f5f9);
}

.theme-new .af-policies-upload-page {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.theme-new .af-policies-upload-page .af-policies-upload-card {
    border: 1px solid var(--af-new-border, #e2e8f0);
    border-radius: var(--af-new-radius-card, 12px);
    background: #fff;
    box-shadow: var(--af-new-shadow-card, 0 1px 3px rgba(15, 23, 42, 0.08));
}

.theme-new .af-policies-upload-page .af-policies-upload-card .card-header {
    background: #fff;
    border-bottom: 1px solid var(--af-new-border, #e2e8f0);
    color: var(--af-new-text, #0f172a);
}

.theme-new .af-policies-upload-page .af-policies-upload-card .card-body {
    background: #fff;
}

.theme-new .af-policies-upload-page .form-label {
    color: var(--af-new-text, #0f172a);
}

.theme-new .af-policies-upload-page .af-policies-upload-hint {
    color: var(--af-new-text-muted, #64748b);
}

.theme-new .af-policies-upload-page .af-policies-upload-error {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    border-radius: 8px;
}

.theme-new .af-policies-upload-page .af-policies-upload-file-wrap input[type="file"] {
    width: 100%;
}

.theme-new .af-policies-upload-page .af-btn-primary,
.theme-new .af-policies-upload-page .af-btn-secondary,
.theme-new .af-policies-upload-page .af-btn-light {
    border-radius: var(--af-new-radius-btn, 8px);
    font-weight: 600;
}

/* ============================================================
   Company Policies — UX clarity pack (admin only)
   ============================================================ */

.theme-new .af-policies-page .af-policies-btn,
.theme-new .af-policies-export-page .af-policies-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.5rem 1rem;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
    border-radius: var(--af-new-radius-btn, 8px);
    white-space: nowrap;
    transition: none !important;
    transform: none !important;
    cursor: pointer;
    border: 1px solid transparent;
}

.theme-new .af-policies-page .af-btn-primary,
.theme-new .af-policies-page .af-policies-btn.af-btn-primary {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}

.theme-new .af-policies-page .af-btn-secondary,
.theme-new .af-policies-page .af-policies-btn.af-btn-secondary {
    background: #fff;
    border-color: #cbd5e1;
    color: #475569;
}

.theme-new .af-policies-page .af-policies-stat-value--warning {
    color: #b45309 !important;
}

/* Policy stat hints: Classic default; New Theme swaps copy via body.theme-new */
.af-policies-page .af-policies-stat-hint--theme-new {
    display: none;
}

.af-policies-page .af-policies-stat-copy {
    flex: 1 1 auto;
    min-width: 0;
}

body.theme-new .af-policies-page .af-policies-stat-hint {
    color: #64748b;
}

body.theme-new .af-policies-page .af-policies-stat-hint--theme-new {
    display: block !important;
    color: var(--af-new-text-muted-soft, #64748b) !important;
    font-size: 0.8125rem;
    line-height: 1.45;
    max-width: 18rem;
}

body.theme-new .af-policies-page .af-policies-stat-hint--classic-only {
    display: none !important;
}

.theme-new .af-policies-page .af-policies-metric-note {
    display: none !important;
}

.theme-new .af-policies-page .af-policies-status-badge--warning {
    background: #fffbeb !important;
    color: #b45309 !important;
    border: 1px solid #fde68a;
}

.theme-new .af-policies-guidance {
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius-card, 12px);
    background: #f8fbff;
    padding: 0.75rem 1rem;
}

.theme-new .af-policies-guidance-summary {
    cursor: pointer;
    font-weight: 600;
    color: #1e40af;
    list-style: none;
}

.theme-new .af-policies-guidance-summary::-webkit-details-marker {
    display: none;
}

.theme-new .af-policies-guidance-body {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #dbeafe;
    color: #334155;
}

.theme-new .af-policies-guidance-steps {
    padding-left: 1.25rem;
    margin-bottom: 0.5rem;
}

.theme-new .af-policies-guidance-steps li {
    margin-bottom: 0.25rem;
}

.theme-new .af-policies-guidance-note {
    color: #64748b;
}

.theme-new .af-policies-upload-page .af-policies-upload-helper {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    background: #f8fafc;
}

.theme-new .af-policies-upload-page .af-policies-upload-helper-title {
    color: #1e40af;
    font-weight: 600;
}

.theme-new .af-policies-upload-page .af-policies-version-note-card {
    border: 1px solid #fde68a;
    background: #fffbeb;
    border-radius: var(--af-new-radius-card, 12px);
}

.theme-new .af-policies-upload-page .af-policies-version-note-title {
    color: #92400e;
    font-weight: 600;
}

.theme-new .af-policies-upload-page .af-policies-version-note-text {
    color: #78350f;
}

.theme-new .af-policies-export-page .af-policies-export-audit-note {
    border: 1px solid #bfdbfe;
    background: #f8fbff;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    color: #334155;
}

.theme-new .af-policies-export-page .af-policies-export-card {
    border: 1px solid #e2e8f0;
    border-radius: var(--af-new-radius-card, 12px);
    background: #fff;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.theme-new .af-policies-export-page .af-policies-export-card-title {
    color: #1e40af;
    font-weight: 700;
}

.theme-new .af-policies-export-page .af-policies-export-card-text {
    color: #64748b;
}

.theme-new .af-policies-export-page .af-policies-export-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.theme-new .af-policies-page .af-policies-table-action--ack {
    border-color: #86efac !important;
    color: #15803d !important;
}

.theme-new .af-policies-page .af-policies-table-action--ack:hover {
    background: #f0fdf4 !important;
}

/* ============================================================
   Annual Leave Hours & Cost (timeclock_report)
   ============================================================ */
.theme-new .af-leave-hours-classic-nav {
    display: none;
}

.theme-new .af-leave-hours-page .af-leave-hours-page-header.modern-header {
    background: #1e293b;
    border-radius: 12px 12px 0 0;
    box-shadow: none;
}

.theme-new .af-leave-hours-page .glow-text,
.theme-new .af-leave-hours-page .fade-in,
.theme-new .af-leave-hours-page .slide-in,
.theme-new .af-leave-hours-page .stat-card {
    animation: none !important;
    transition: none !important;
}

.theme-new .af-leave-hours-page .af-section-title {
    color: #0f172a;
    font-size: 1.1rem;
}

.theme-new .af-leave-hours-page .af-page-intro {
    color: #64748b;
    max-width: 72ch;
}

.theme-new .af-leave-hours-page .af-card,
.theme-new .af-leave-hours-page .filter-card,
.theme-new .af-leave-hours-page .leave-cost-summary-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    background: #fff;
}

.theme-new .af-leave-hours-page .af-workflow-warning {
    color: #b45309;
    font-weight: 600;
}

.theme-new .af-leave-hours-page .af-opening-balance-alert,
.theme-new .af-leave-hours-page .af-leave-overview-warning-panel {
    border-left: 4px solid #f59e0b;
    background: #fffbeb;
    color: #92400e;
}

.theme-new .af-leave-hours-page .af-leave-overview-warning-panel-icon {
    color: #d97706;
    font-size: 1.1rem;
}

.theme-new .af-leave-hours-page .af-leave-overview-warning-panel-help {
    color: #b45309;
}

.theme-new .af-leave-hours-modal.af-leave-overview-warning-modal .modal-body {
    max-height: min(70vh, 640px);
    overflow-y: auto;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-modal-tip {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    color: #1e3a8a;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-modal-tip p {
    color: #334155;
    margin-bottom: 0.5rem;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-modal-list {
    margin-top: 0.25rem;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-modal-days {
    color: #334155;
    line-height: 1.6;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-day-chip {
    display: inline-block;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
    font-weight: 600;
    font-size: 0.75rem;
    border-radius: 999px;
    padding: 0.15rem 0.55rem;
    margin: 0.15rem 0.25rem 0.15rem 0;
}

.theme-new .af-leave-hours-modal .af-leave-overview-warning-modal-status {
    color: #b45309;
    font-weight: 500;
}

.theme-new .af-leave-hours-page .af-empty-state {
    padding: 2rem 1rem;
    color: #64748b;
}

.theme-new .af-leave-hours-nav-shell .af-leave-hours-nav-card {
    margin-bottom: 1rem;
}

.theme-new .af-leave-hours-nav-tabs .nav-link.active {
    background: rgba(255, 255, 255, 0.16);
}

@media (max-width: 767px) {
    .theme-new .af-leave-hours-nav-tabs .nav-link {
        font-size: 0.82rem;
        padding: 0.55rem 0.75rem;
    }
}

/* Leave & Holiday Overview (Phase 2) */
.theme-new .af-leave-holiday-overview-page .af-filter-label {
    color: #475569;
    font-weight: 600;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-filter-card .form-control,
.theme-new .af-leave-holiday-overview-page .af-leave-overview-filter-card .form-select {
    border-color: #cbd5e1;
    background: #fff;
    color: #0f172a;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-stat {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-stat-label {
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #64748b;
    margin-bottom: 0.35rem;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-stat-value {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-table thead th {
    background: #f8fafc;
    color: #334155;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e2e8f0;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-table tbody td {
    color: #0f172a;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.9rem;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-type {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    line-height: 1.3;
}

.theme-new .af-leave-hours-nav-shell .af-leave-hours-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #0f172a) !important;
}

.theme-new .af-leave-hours-nav-shell .af-leave-hours-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-leave-hours-nav-shell .af-schedule-nav-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-leave-hours-page .af-section-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-type {
    background: rgba(37, 99, 235, 0.1);
    color: #1e40af;
}

.theme-new .af-leave-holiday-overview-page .af-leave-overview-type--annual_holiday,
.theme-new .af-leave-holiday-overview-page .af-leave-overview-type--employee_leave,
.theme-new .af-leave-holiday-overview-page .af-leave-overview-type--paid_holiday_hours {
    background: rgba(37, 99, 235, 0.1);
    color: #1e40af;
}

.theme-new .af-leave-hours-page .af-leave-overview-paid {
    font-size: 0.82rem;
    font-weight: 600;
}

.theme-new .af-leave-hours-page .af-leave-overview-paid--yes {
    color: #1e40af;
}

.theme-new .af-leave-hours-page .af-leave-overview-paid--no {
    color: #64748b;
}

.theme-new .af-leave-hours-page .af-leave-overview-paid--warning {
    color: #b45309;
}

.theme-new .af-leave-hours-help-page {
    animation: none !important;
    transform: none !important;
}

.theme-new .af-leave-hours-help-page .af-leave-hours-help-search-wrap {
    max-width: 420px;
}

.theme-new .af-leave-hours-help-page .af-schedule-help-hero,
.theme-new .af-leave-hours-help-page .af-schedule-help-nav,
.theme-new .af-leave-hours-help-page .af-schedule-help-section {
    animation: none !important;
    transition: none !important;
}

.theme-new .af-leave-hours-help-page .af-schedule-help-section:hover {
    transform: none !important;
    box-shadow: var(--af-new-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.06)) !important;
}

.theme-new .af-leave-hours-help-page .af-schedule-help-hero__title,
.theme-new .af-leave-hours-help-page .af-schedule-help-hero__icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-leave-hours-help-page .glass-card {
    background: var(--af-new-surface, #fff) !important;
    backdrop-filter: none !important;
}

.theme-new .af-leave-hours-page .badge.bg-warning,
.theme-new .af-leave-hours-page .badge.bg-success,
.theme-new .af-leave-hours-page .badge.bg-primary {
    background: transparent !important;
    color: inherit !important;
    padding: 0;
    border: 0;
    font-weight: inherit;
}

/* --- Nav: one bar per theme (fix double navbar) --- */
.theme-new .af-leave-hours-classic-nav-only {
    display: none !important;
}

.theme-classic .af-leave-hours-nav-shell {
    display: none !important;
}

.theme-new .af-leave-hours-nav-link--disabled {
    opacity: 0.55;
    cursor: default;
    pointer-events: none;
}

/* --- Attendance Report (New Theme) --- */
.theme-new .af-leave-hours-attendance-page {
    animation: none !important;
}

.theme-new .af-leave-hours-attendance-page .glass-card,
.theme-new .af-leave-hours-attendance-page .report-card {
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

.theme-new .af-leave-hours-attendance-page .modern-header,
.theme-new .af-leave-hours-attendance-page .af-leave-hours-page-header {
    display: none !important;
}

.theme-new .af-leave-hours-focus-bar {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    padding: 1.25rem 1.5rem;
    border-left: 4px solid var(--af-new-primary, #2563eb);
}

.theme-new .af-leave-hours-focus-employee {
    color: #0f172a;
    font-size: 1.05rem;
}

.theme-new .af-leave-hours-progress {
    border-top: 1px solid #e2e8f0;
    padding-top: 0.85rem;
}

.theme-new .af-leave-hours-progress-item {
    font-size: 0.88rem;
    color: #475569;
    font-weight: 600;
}

.theme-new .af-leave-hours-progress-item--pending {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-leave-hours-progress-item--done {
    color: #1e40af;
}

.theme-new .af-leave-hours-attendance-page .af-section-title {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.1rem;
}

.theme-new .af-leave-hours-attendance-page .af-section-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-leave-hours-attendance-page .af-filter-label {
    color: #1e40af;
    font-weight: 600;
}

.theme-new .af-leave-hours-attendance-page .af-page-intro strong {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-leave-hours-attendance-page .af-leave-hours-focus-employee {
    color: #1e40af;
}

.theme-new .af-leave-hours-stat {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.theme-new .af-leave-hours-stat-label {
    font-size: 0.72rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #1e40af;
    margin-bottom: 0.35rem;
}

.theme-new .af-leave-hours-stat-value {
    font-size: 1.45rem;
    font-weight: 700;
    color: var(--af-new-primary, #2563eb);
    line-height: 1.2;
}

.theme-new .af-leave-hours-attendance-page .stat-card,
.theme-new .af-leave-hours-attendance-page .report-toolbar {
    display: none !important;
}

.theme-new .af-leave-hours-attendance-page .filter-card,
.theme-new .af-leave-hours-attendance-page .af-leave-hours-filter-card {
    border: 1px solid #e2e8f0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.theme-new .af-leave-hours-attendance-page .form-control,
.theme-new .af-leave-hours-attendance-page .form-select {
    border-radius: 8px !important;
    border-color: #cbd5e1 !important;
}

.theme-new .af-leave-hours-attendance-page .border-primary,
.theme-new .af-leave-hours-attendance-page .border-info {
    border-color: #cbd5e1 !important;
}

.theme-new .af-leave-hours-attendance-page .rounded-pill {
    border-radius: 8px !important;
}

.theme-new .af-leave-hours-attendance-page .btn-primary,
.theme-new .af-leave-hours-attendance-page .btn-success,
.theme-new .af-leave-hours-attendance-page .btn-outline-secondary {
    /* use af-btn-* in markup; neutralise bootstrap colours if present */
}

.theme-new .af-leave-hours-input {
    max-width: 7rem;
    font-size: 1rem !important;
    font-weight: 600 !important;
    text-align: center;
    border: 2px solid #93c5fd !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #0f172a !important;
}

.theme-new .af-leave-hours-input:focus {
    border-color: var(--af-new-primary, #2563eb) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

.theme-new .af-leave-hours-input.input-dirty {
    border-color: #f59e0b !important;
    background: #fffbeb !important;
}

.theme-new .af-leave-hours-input-hint {
    font-size: 0.72rem;
    color: #64748b;
    font-weight: 600;
    line-height: 1.25;
}

.theme-new .af-leave-hours-attendance-page .table-modern thead th,
.theme-new .af-leave-hours-attendance-page .table-modern .group-row th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    background-image: none !important;
}

.theme-new .af-leave-hours-attendance-page .table-modern .header-row th {
    background: #e2e8f0 !important;
    color: #1e293b !important;
}

.theme-new .af-leave-hours-attendance-page .payroll-group {
    background: #eff6ff !important;
    color: #1e40af !important;
}

.theme-new .af-leave-hours-attendance-page .row-clock-entry {
    box-shadow: inset 3px 0 0 var(--af-new-primary, #2563eb) !important;
    background: #f8fafc !important;
}

.theme-new .af-leave-hours-attendance-page .employee-avatar {
    background: #dbeafe !important;
    color: #1e40af !important;
    border: 2px solid #93c5fd !important;
}

.theme-new .af-leave-hours-attendance-page .badge.bg-success,
.theme-new .af-leave-hours-attendance-page .badge.bg-danger,
.theme-new .af-leave-hours-attendance-page .badge.bg-warning,
.theme-new .af-leave-hours-attendance-page .badge.bg-info,
.theme-new .af-leave-hours-attendance-page .badge.bg-primary,
.theme-new .af-leave-hours-attendance-page .badge.bg-secondary,
.theme-new .af-leave-hours-attendance-page .badge.bg-dark {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0;
    font-weight: 600;
}

.theme-new .af-leave-hours-attendance-page .text-success,
.theme-new .af-leave-hours-attendance-page .text-danger,
.theme-new .af-leave-hours-attendance-page .text-primary {
    color: #334155 !important;
}

.theme-new .af-leave-hours-attendance-page .action-state-ready {
    color: #1e40af !important;
}

.theme-new .af-leave-hours-attendance-page .action-state-saved {
    color: #1e40af !important;
}

.theme-new .af-leave-hours-attendance-page .action-state-needs {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 600;
}

.theme-new .af-leave-hours-attendance-page .payroll-context {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
}

.theme-new .af-leave-hours-attendance-page .kpi-mini .text-primary,
.theme-new .af-leave-hours-attendance-page .kpi-mini .text-success,
.theme-new .af-leave-hours-attendance-page .kpi-mini .text-warning,
.theme-new .af-leave-hours-attendance-page .kpi-mini .text-danger {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-leave-hours-payroll-page,
.theme-new .af-leave-hours-opening-page,
.theme-new .af-leave-hours-exports-page {
    animation: none !important;
}

/* --- Attendance calendar UX --- */
.theme-new .af-leave-hours-stat--clickable {
    cursor: pointer;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    padding: 1rem;
}

.theme-new .af-leave-hours-stat--clickable:hover {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.theme-new .af-leave-hours-stat-hint {
    font-size: 0.72rem;
    color: #3b82f6;
    margin-top: 0.35rem;
}

.theme-new .af-attendance-calendar-days {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.75rem;
}

.theme-new .af-attendance-day-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    padding: 0.75rem;
    text-align: left;
    width: 100%;
    cursor: pointer;
}

.theme-new .af-attendance-day-card__date {
    font-weight: 700;
    color: #0f172a;
    font-size: 0.85rem;
}

.theme-new .af-attendance-day-card__meta {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 0.35rem;
    min-height: 0;
}

.theme-new .af-attendance-day-card__counts {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
    margin-top: 0.45rem;
}

.theme-new .af-attendance-day-card__count {
    font-size: 0.72rem;
    font-weight: 600;
    color: #1e40af;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 999px;
    padding: 0.1rem 0.45rem;
}

.theme-new .af-attendance-day-card__count--needs {
    color: var(--af-new-primary, #2563eb);
    background: #dbeafe;
    border-color: #93c5fd;
}

.theme-new .af-attendance-day-card__employees {
    list-style: none;
    padding: 0;
    margin: 0.55rem 0 0;
    font-size: 0.76rem;
    color: #475569;
}

.theme-new .af-attendance-day-card__employees li {
    margin-bottom: 0.2rem;
}

.theme-new .af-attendance-day-card__emp-name {
    font-weight: 600;
    color: #0f172a;
}

.theme-new .af-attendance-day-card__emp-status {
    color: #1e40af;
    font-weight: 600;
}

.theme-new .af-attendance-day-list-item {
    border: none;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    background: #fff !important;
    padding: 0.85rem 1rem !important;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item:hover,
.theme-new .af-leave-hours-modal .af-attendance-day-list-item:focus,
.theme-new .af-leave-hours-modal .af-attendance-day-list-item:active {
    background: #f8fafc !important;
    border-color: #bfdbfe !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.08);
    z-index: 1;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-main {
    flex: 1;
    min-width: 0;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-name {
    color: #1e40af !important;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.3;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-meta {
    color: #2563eb !important;
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.35;
    margin-top: 0.15rem;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item .af-employee-progress-badge {
    flex-shrink: 0;
    margin-top: 0.1rem;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item .af-employee-progress-badge--needs {
    background: #dbeafe !important;
    color: #1d4ed8 !important;
    border: 1px solid #93c5fd !important;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item .af-employee-progress-badge--complete {
    background: #dcfce7 !important;
    color: #166534 !important;
    border: 1px solid #86efac !important;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item .af-employee-progress-badge--leave {
    background: #eff6ff !important;
    color: #1e40af !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-leave-hours-modal .af-attendance-day-list-item .af-employee-progress-badge--info {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new .af-leave-hours-modal .af-attendance-summary-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.theme-new .af-leave-hours-modal .af-attendance-summary-list-item {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    padding: 0.85rem 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.theme-new .af-leave-hours-modal .af-attendance-summary-list-name {
    color: #1e40af;
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.35;
}

.theme-new .af-leave-hours-modal .af-attendance-summary-list-meta {
    color: #2563eb;
    font-weight: 500;
    font-size: 0.8125rem;
    margin-top: 0.15rem;
}

.theme-new .af-leave-hours-modal .af-attendance-summary-list-dates {
    color: #2563eb;
    font-weight: 500;
    font-size: 0.8125rem;
    margin-top: 0.35rem;
    line-height: 1.45;
}

.theme-new .af-employee-progress-badge--needs,
.theme-new .af-employee-progress-badge--complete,
.theme-new .af-employee-progress-badge--leave,
.theme-new .af-employee-progress-badge--info {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
}

.theme-new .af-employee-progress-badge--needs {
    background: #dbeafe;
    color: var(--af-new-primary, #2563eb);
    border: 1px solid #93c5fd;
}

.theme-new .af-employee-progress-badge--complete {
    background: #dcfce7;
    color: #166534;
    border: 1px solid #86efac;
}

.theme-new .af-employee-progress-badge--leave {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

.theme-new .af-employee-progress-badge--info {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.theme-new .af-employee-progress-badge--info-only,
.theme-new .af-employee-progress-card .af-employee-progress-badge--info {
    background: #f8fafc;
    color: #64748b;
    border: 1px solid #e2e8f0;
}

.theme-new .af-employee-modal-summary {
    color: #0f172a;
    font-size: 0.95rem;
}

.theme-new .af-attendance-day-card {
    text-align: left;
    min-height: 9rem;
}

.theme-new .af-attendance-day-card__badge {
    font-size: 0.72rem;
    font-weight: 600;
    margin-top: 0.5rem;
    color: #1e40af;
}

.theme-new .af-attendance-day-card__badge--pending {
    color: var(--af-new-primary, #2563eb);
    background: #eff6ff;
    display: inline-block;
    padding: 0.15rem 0.45rem;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
}

.theme-new .af-calendar-cell--complete,
.theme-new .af-attendance-day-card.af-calendar-cell--complete {
    border-color: #86efac;
    background: #f0fdf4;
}

.theme-new .af-calendar-cell--needs,
.theme-new .af-attendance-day-card.af-calendar-cell--needs {
    border-color: #93c5fd;
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.theme-new .af-calendar-cell--leave,
.theme-new .af-attendance-day-card.af-calendar-cell--leave {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.theme-new .af-calendar-cell {
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    width: 2rem;
    height: 2rem;
    font-size: 0.75rem;
    font-weight: 700;
    background: #fff;
    cursor: pointer;
}

.theme-new .af-calendar-cell--complete {
    background: #dcfce7;
    color: #166534;
    border-color: #86efac;
}

.theme-new .af-calendar-cell--needs {
    background: #dbeafe;
    color: #1e40af;
    border-color: #93c5fd;
}

.theme-new .af-calendar-cell--leave {
    background: #f1f5f9;
    color: #475569;
}

.theme-new .af-attendance-matrix {
    font-size: 0.82rem;
}

.theme-new .af-attendance-matrix thead th {
    background: #f1f5f9;
    color: #334155;
    white-space: nowrap;
}

.theme-new .af-employee-progress-card {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
    padding: 0.85rem 1rem;
    cursor: pointer;
}

.theme-new .af-employee-progress-card:hover {
    border-color: #93c5fd;
}

.theme-new .af-employee-progress-badge {
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.2rem 0.5rem;
    border-radius: 999px;
    white-space: nowrap;
}

.theme-new .af-employee-progress-badge--done {
    background: #dcfce7;
    color: #166534;
}

.theme-new .af-employee-progress-badge--partial {
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.theme-new .af-employee-progress-badge--pending {
    background: #dbeafe;
    color: var(--af-new-primary, #2563eb);
    border: 1px solid #93c5fd;
}

.theme-new .af-employee-progress-meta {
    color: #64748b;
}

.theme-new .af-attendance-approval-details {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem;
}

.theme-new .af-attendance-approval-inputs .af-leave-hours-input {
    max-width: 100%;
}

/* --- Leave Hours modals: readable text on light surfaces --- */
.theme-new body:has(.af-leave-hours-attendance-page) .af-leave-hours-modal .modal-content,
.theme-new body:has(.af-leave-hours-page) .af-leave-hours-modal .modal-content,
.theme-new .af-leave-hours-modal .modal-content.af-card {
    background: #fff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12) !important;
    color: #334155 !important;
}

.theme-new .af-leave-hours-modal .modal-header {
    background: linear-gradient(180deg, #1e40af 0%, #2563eb 100%) !important;
    background-image: none !important;
    border-bottom: 1px solid #1d4ed8 !important;
    color: #fff !important;
    padding: 1rem 1.25rem;
}

.theme-new .af-leave-hours-modal .modal-header .modal-title,
.theme-new .af-leave-hours-modal .modal-header .af-section-title {
    color: #fff !important;
}

.theme-new .af-leave-hours-modal .modal-header .af-page-intro,
.theme-new .af-leave-hours-modal .modal-header .text-muted {
    color: rgba(255, 255, 255, 0.9) !important;
}

.theme-new .af-leave-hours-modal .modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.85;
}

/* Leave Hours modals — white header, blue title text (day, employee, approval) */
.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light,
.theme-new .af-leave-hours-modal--approval .modal-header,
.theme-new .af-leave-hours-modal--summary .modal-header {
    background: #fff !important;
    background-image: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    color: var(--af-new-primary, #2563eb) !important;
    padding: 1rem 1.25rem;
}

.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light .modal-title,
.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light .af-section-title,
.theme-new .af-leave-hours-modal--approval .modal-header .modal-title,
.theme-new .af-leave-hours-modal--approval .modal-header .af-section-title,
.theme-new .af-leave-hours-modal--summary .modal-header .modal-title,
.theme-new .af-leave-hours-modal--summary .modal-header .af-section-title {
    color: #1e40af !important;
    font-weight: 700;
}

.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light .af-leave-hours-modal-subtitle,
.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light .af-page-intro,
.theme-new .af-leave-hours-modal--approval .modal-header .af-leave-hours-modal-subtitle,
.theme-new .af-leave-hours-modal--approval .modal-header .af-page-intro {
    color: #2563eb !important;
    font-weight: 500;
}

.theme-new .af-leave-hours-modal .modal-header.af-leave-hours-modal__header--light .btn-close,
.theme-new .af-leave-hours-modal--approval .modal-header .btn-close,
.theme-new .af-leave-hours-modal--summary .modal-header .btn-close {
    filter: none !important;
    opacity: 0.55;
}

.theme-new .af-leave-hours-modal .modal-body {
    background: #fff !important;
    color: #334155 !important;
}

.theme-new .af-leave-hours-modal .modal-body,
.theme-new .af-leave-hours-modal .modal-body p,
.theme-new .af-leave-hours-modal .modal-body strong,
.theme-new .af-leave-hours-modal .modal-body dl,
.theme-new .af-leave-hours-modal .modal-body dd,
.theme-new .af-leave-hours-modal .modal-body .list-group-item {
    color: #334155 !important;
}

.theme-new .af-leave-hours-modal .modal-body .fw-semibold,
.theme-new .af-leave-hours-modal .modal-body .af-employee-modal-summary {
    color: #0f172a !important;
}

.theme-new .af-leave-hours-modal .modal-body .text-muted,
.theme-new .af-leave-hours-modal .modal-body .af-page-intro {
    color: #64748b !important;
}

.theme-new .af-leave-hours-modal .modal-body .text-primary,
.theme-new .af-leave-hours-modal .modal-body .fw-semibold.text-primary {
    color: #1e40af !important;
}

.theme-new .af-leave-hours-modal .af-attendance-approval-details {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #334155 !important;
}

.theme-new .af-leave-hours-modal .af-attendance-approval-details dt {
    color: #64748b !important;
    font-weight: 600;
}

.theme-new .af-leave-hours-modal .af-attendance-approval-details dd {
    color: #0f172a !important;
    font-weight: 600;
}

.theme-new .af-leave-hours-modal .af-attendance-approval-inputs .form-label,
.theme-new .af-leave-hours-modal .af-leave-hours-modal-label {
    color: #1e40af !important;
    font-weight: 600;
}

.theme-new .af-leave-hours-modal .af-leave-hours-input-hint,
.theme-new .af-leave-hours-modal .form-text,
.theme-new .af-leave-hours-modal .af-attendance-approval-inputs .form-text {
    color: #475569 !important;
}

.theme-new .af-leave-hours-modal .af-leave-hours-input {
    color: #0f172a !important;
    background: #fff !important;
}

.theme-new .af-leave-hours-modal #afAttendanceApprovalFeedback {
    color: #b45309 !important;
}

.theme-new .af-leave-hours-modal .modal-footer {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-leave-hours-modal .list-group-item-action:not(:hover):not(:focus) {
    background-color: #fff !important;
}

/* Day modal list only — avoid Bootstrap list-group dark action styling */
.theme-new .af-leave-hours-modal .af-attendance-day-list .list-group-item {
    background: transparent !important;
}

.theme-new .af-payroll-comparison-table {
    margin-bottom: 0;
    color: #334155;
}

.theme-new .af-payroll-comparison-table th,
.theme-new .af-payroll-comparison-table td {
    vertical-align: top;
    border-color: #e2e8f0;
}

.theme-new .af-payroll-comparison-table thead th {
    background: #f1f5f9;
    color: #1e40af;
    font-weight: 600;
}

.theme-new .af-payroll-preview-summary__inner {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 10px;
    padding: 1rem 1.25rem;
}

.theme-new .af-payroll-preview-block {
    background: #fff;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    height: 100%;
}

.theme-new .af-payroll-day-flags .form-check-label {
    color: #334155;
}

.theme-classic .af-leave-hours-stat--clickable,
.theme-classic .af-attendance-day-card,
.theme-classic .af-employee-progress-card {
    cursor: pointer;
}

/* Annual Leave Liability Report */
.theme-new .af-annual-leave-liability-page .af-leave-liability-filter-card .af-filter-label {
    color: #64748b;
    font-weight: 600;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-kpi {
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 0.75rem;
    padding: 1.1rem 1.25rem;
    height: 100%;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-kpi--primary {
    border-color: rgba(37, 99, 235, 0.35);
    background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-kpi__label {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    margin-bottom: 0.35rem;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-kpi__hours {
    font-size: 1.35rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.2;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-kpi__money {
    font-size: 1.05rem;
    font-weight: 600;
    color: #334155;
    margin-top: 0.15rem;
}

.theme-new .af-annual-leave-liability-page .af-liability-positive {
    color: #1d4ed8 !important;
}

.theme-new .af-annual-leave-liability-page .af-liability-negative {
    color: #b91c1c !important;
}

.theme-new .af-annual-leave-liability-page .af-liability-zero {
    color: #64748b !important;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-table thead th {
    background: #f8fafc;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-table tbody td {
    color: #0f172a;
    border-bottom: 1px solid #f1f5f9;
    font-size: 0.9rem;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-table__totals td {
    background: #f8fafc;
    border-top: 2px solid #e2e8f0;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-row--negative {
    background: rgba(254, 226, 226, 0.25);
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-row--zero {
    opacity: 0.92;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-balance-badge {
    display: inline-block;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    background: #f1f5f9;
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-balance-badge.af-liability-positive {
    background: rgba(37, 99, 235, 0.12);
}

.theme-new .af-annual-leave-liability-page .af-leave-liability-balance-badge.af-liability-negative {
    background: rgba(239, 68, 68, 0.12);
}

.theme-new .af-annual-leave-liability-page .af-leave-overview-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.theme-new .af-annual-leave-liability-page .af-leave-overview-avatar--initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #e2e8f0;
    color: #334155;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Leave Hours Export Hub */
.theme-new .af-leave-hours-exports-page .af-exports-guidance {
    background: #f8fbff;
    border: 1px solid rgba(37, 99, 235, 0.2);
    border-radius: 0.75rem;
    padding: 1rem 1.15rem;
}

.theme-new .af-leave-hours-exports-page .af-exports-guidance__title {
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #1e40af;
    margin-bottom: 0.5rem;
}

.theme-new .af-leave-hours-exports-page .af-exports-guidance__steps {
    padding-left: 1.15rem;
    color: #334155;
    font-size: 0.88rem;
}

.theme-new .af-leave-hours-exports-page .af-exports-guidance__steps li + li {
    margin-top: 0.35rem;
}

.theme-new .af-leave-hours-exports-page .af-export-card {
    border: 1px solid #e2e8f0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.theme-new .af-leave-hours-exports-page .af-export-card:hover {
    border-color: rgba(37, 99, 235, 0.35);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.08);
}

.theme-new .af-leave-hours-exports-page .af-export-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 0.65rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
    font-size: 1.1rem;
}

.theme-new .af-leave-hours-exports-page .af-export-card__icon--attendance {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.theme-new .af-leave-hours-exports-page .af-export-card__icon--payroll {
    background: rgba(16, 185, 129, 0.12);
    color: #047857;
}

.theme-new .af-leave-hours-exports-page .af-export-card__icon--leave {
    background: rgba(245, 158, 11, 0.15);
    color: #b45309;
}

.theme-new .af-leave-hours-exports-page .af-export-card__title {
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 0.45rem;
}

.theme-new .af-leave-hours-exports-page .af-export-card__use {
    color: #475569;
}

/* ============================================================
   Recruitment / Candidates — New Theme
   Classic Theme unchanged — scoped under .theme-new only
   ============================================================ */

.theme-classic .af-recruitment-nav-shell {
    display: none !important;
}

body.theme-new .af-recruitment-classic-nav,
.theme-new .af-recruitment-classic-nav {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
.theme-new .af-recruitment-nav-shell {
    display: block !important;
}

body.theme-new .card.candidate-navbar-card,
.theme-new .card.candidate-navbar-card.shadow-lg {
    display: none !important;
}

.theme-new body:has(.af-recruitment-page) {
    background: #ffffff !important;
    color: #334155 !important;
}

.theme-new body:has(.af-recruitment-page).text-light,
.theme-new body:has(.af-recruitment-page) .container:has(.af-recruitment-page) {
    color: #334155 !important;
}

.theme-new body:has(.af-recruitment-page) .container:has(.af-recruitment-page) {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
}

.theme-new .af-recruitment-nav-shell {
    margin-bottom: 0 !important;
    background: #ffffff;
}

.theme-new .af-recruitment-nav-shell .af-schedule-nav-container {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.theme-new .af-recruitment-page {
    background: #ffffff !important;
    padding-top: 1rem !important;
}

.theme-new .af-recruitment-nav-card .af-recruitment-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-recruitment-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-recruitment-nav-card .af-schedule-nav-icon,
.theme-new .af-recruitment-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #recruitmentNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.theme-new .af-recruitment-nav-tabs .nav-link,
.theme-new .af-recruitment-nav-tabs .af-recruitment-nav-tab {
    transition: none !important;
    transform: none !important;
}

.theme-new .af-recruitment-page {
    --af-rec-surface: #ffffff;
    --af-rec-border: #bfdbfe;
    --af-rec-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1rem 1.25rem 2.5rem !important;
    background: #ffffff !important;
    animation: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-recruitment-page {
        padding: 1.5rem 1.75rem 2.75rem !important;
    }
}

.theme-classic .af-recruitment-page-header {
    display: none !important;
}

.theme-new .af-recruitment-classic-header {
    display: none !important;
}

.theme-new .af-recruitment-page-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.25;
}

.theme-new .af-recruitment-page-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-page-lead {
    color: #1e40af !important;
    font-size: 1.05rem;
    line-height: 1.55;
    font-weight: 500;
    max-width: 52rem;
}

.theme-new .af-recruitment-page-header {
    background: #ffffff;
    padding: 0.15rem 0 0.85rem;
    margin-bottom: 1rem !important;
}

.theme-new .af-recruitment-guidance {
    display: none !important;
}

.theme-new .af-recruitment-page-header:has(.af-recruitment-page-lead:only-child) {
    margin-bottom: 0.65rem !important;
}

.theme-new .af-recruitment-section-count {
    color: #64748b;
    font-size: 0.92em;
    font-weight: 500;
}

.theme-new .af-recruitment-page .af-recruitment-page-footer-credit {
    display: none;
}

/* Neutralize legacy recruitment markup on New Theme */
.theme-new .af-recruitment-page .card-header.bg-gradient-primary,
.theme-new .af-recruitment-page .card-header.bg-gradient-secondary,
.theme-new .af-recruitment-page .card-header[style*="primary-gradient"],
.theme-new .af-recruitment-page .card-header[style*="--primary-gradient"],
.theme-new .af-recruitment-page .card-header[style*="secondary-gradient"] {
    background: #ffffff !important;
    background-image: none !important;
    color: #334155 !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 1rem 1.15rem !important;
}

.theme-new .af-recruitment-page .card-header[style*="gradient"]:not(.bg-gradient-primary):not(.bg-gradient-secondary) {
    background: #ffffff !important;
    background-image: none !important;
    color: #0f172a !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-recruitment-page .card-header.bg-gradient-primary.text-white,
.theme-new .af-recruitment-page .card-header.bg-gradient-secondary.text-white {
    color: #334155 !important;
}

.theme-new .af-recruitment-page .text-gradient {
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-recruitment-page .af-recruitment-section-title.text-gradient,
.theme-new .af-recruitment-page h2.af-recruitment-section-title,
.theme-new .af-recruitment-page h3.af-recruitment-section-title,
.theme-new .af-recruitment-page h4.af-recruitment-section-title,
.theme-new .af-recruitment-page .af-recruitment-form-section-title {
    color: var(--af-new-primary, #2563eb) !important;
    -webkit-text-fill-color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-recruitment-page .af-recruitment-section-title i,
.theme-new .af-recruitment-page h2.af-recruitment-section-title i,
.theme-new .af-recruitment-page h3.af-recruitment-section-title i,
.theme-new .af-recruitment-page h4.af-recruitment-section-title i,
.theme-new .af-recruitment-page .af-recruitment-form-section-title i {
    color: var(--af-new-primary, #2563eb) !important;
    -webkit-text-fill-color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-recruitment-page .bg-table.text-gradient,
.theme-new .af-recruitment-page .table-modern thead th,
.theme-new .af-recruitment-page .af-recruitment-table thead th {
    background: #f1f5f9 !important;
    background-image: none !important;
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
    font-weight: 600 !important;
}

.theme-new .af-recruitment-page .text-white-50,
.theme-new .af-recruitment-page .af-recruitment-section-hint.text-white-50 {
    color: #64748b !important;
    opacity: 1 !important;
}

.theme-new .af-recruitment-page .glass-card,
.theme-new .af-recruitment-page .modern-glass {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08) !important;
}

.theme-new .af-recruitment-page .btn-gradient-primary {
    background: var(--af-new-primary, #2563eb) !important;
    background-image: none !important;
    border: none !important;
    color: #fff !important;
}

.theme-new .af-recruitment-page .btn-gradient-secondary {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
}

.theme-new .af-recruitment-page .btn-gradient-danger {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #fecaca !important;
    color: #b91c1c !important;
}

.theme-new .af-recruitment-page .bg-light-primary,
.theme-new .af-recruitment-page .af-recruitment-avatar {
    background: #eff6ff !important;
}

.theme-new .af-recruitment-page .af-recruitment-avatar i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-recruitment-page .form-label.text-gradient {
    color: #334155 !important;
    -webkit-text-fill-color: #334155 !important;
    font-weight: 600 !important;
}

.theme-new .af-recruitment-page .card-header h4,
.theme-new .af-recruitment-page .card-header .text-light {
    color: #0f172a !important;
}

.theme-new .af-recruitment-page .card-header h4 i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-recruitment-section-card {
    background: var(--af-rec-surface) !important;
    border: 1px solid var(--af-rec-border) !important;
    border-radius: var(--af-new-radius-card, 12px) !important;
    box-shadow: var(--af-rec-shadow) !important;
    margin-bottom: 1.25rem;
    overflow: hidden;
}

.theme-new .af-recruitment-section-header {
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}

.theme-new .af-recruitment-section-title {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
}

.theme-new .af-recruitment-section-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-section-hint {
    color: #64748b;
    font-size: 0.85rem;
    margin: 0.35rem 0 0;
    max-width: 48rem;
}

.theme-new .af-recruitment-section-body {
    padding: 1rem 1.15rem 1.15rem;
    background: #fff;
}

.theme-new .af-recruitment-page .af-recruitment-btn-primary,
.theme-new .af-recruitment-page .af-btn-primary {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.5rem 1rem;
    min-height: 38px;
}

.theme-new .af-recruitment-page .af-recruitment-btn-primary:hover,
.theme-new .af-recruitment-page .af-btn-primary:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}

.theme-new .af-recruitment-page .af-recruitment-btn-secondary,
.theme-new .af-recruitment-page .af-btn-secondary {
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #475569 !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.5rem 1rem;
    min-height: 38px;
}

.theme-new .af-recruitment-page .af-recruitment-btn-secondary:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #334155 !important;
}

.theme-new .af-recruitment-page .af-recruitment-btn-danger {
    background: #fff !important;
    border: 1px solid #fecaca !important;
    color: #b91c1c !important;
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
    font-size: 0.95rem;
    padding: 0.5rem 1rem;
    min-height: 38px;
}

.theme-new .af-recruitment-page .af-recruitment-btn-danger:hover {
    background: #fef2f2 !important;
    border-color: #f87171 !important;
    color: #991b1b !important;
}

.theme-new .af-recruitment-page .af-recruitment-table {
    margin-bottom: 0;
    font-size: 0.97rem;
}

.theme-new .af-recruitment-page .af-recruitment-table thead th {
    background: #f8fafc !important;
    color: #475569 !important;
    font-weight: 700;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.75rem 0.85rem;
    white-space: nowrap;
}

.theme-new .af-recruitment-page .af-recruitment-table tbody td {
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
    padding: 0.85rem;
    vertical-align: middle;
    background: #fff !important;
}

.theme-new .af-recruitment-page .af-recruitment-table tbody tr:hover td {
    background: #f8fbff !important;
}

.theme-new .af-recruitment-page .af-recruitment-candidate-name {
    font-weight: 600;
    color: #0f172a;
}

.theme-new .af-recruitment-page .af-recruitment-candidate-meta {
    color: #64748b;
    font-size: 0.82rem;
}

.theme-new .af-recruitment-page .af-recruitment-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
}

.theme-new .af-recruitment-page .af-recruitment-status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.78rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.theme-new .af-recruitment-page .af-recruitment-status-pill--new {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.theme-new .af-recruitment-page .af-recruitment-status-pill--interview {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.theme-new .af-recruitment-page .af-recruitment-status-pill--complete {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.theme-new .af-recruitment-page .af-recruitment-status-pill--rejected {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill--ok {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill--missing {
    background: #fef2f2;
    color: #b91c1c;
    border-color: #fecaca;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill--summary-ok {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill--summary-warn {
    background: #fffbeb;
    color: #b45309;
    border-color: #fde68a;
}

.theme-new .af-recruitment-page .af-recruitment-table-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #475569;
    text-decoration: none;
}

.theme-new .af-recruitment-page .af-recruitment-table-action:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.theme-new .af-recruitment-page .af-recruitment-table-action--primary {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.theme-new .af-recruitment-page .af-recruitment-actions-dropdown .dropdown-toggle {
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #475569;
}

.theme-new .af-recruitment-page .af-recruitment-actions-dropdown .dropdown-menu {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
    padding: 0.35rem;
}

.theme-new .af-recruitment-page .af-recruitment-actions-dropdown .dropdown-item {
    border-radius: 6px;
    font-size: 0.88rem;
    padding: 0.45rem 0.65rem;
}

.theme-new .af-recruitment-page .af-recruitment-actions-dropdown .dropdown-item.text-danger {
    color: #b91c1c !important;
}

.theme-new .af-recruitment-page .af-recruitment-empty {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #64748b;
}

.theme-new .af-recruitment-page .af-recruitment-empty i {
    color: #94a3b8;
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

.theme-new .af-recruitment-page .af-recruitment-back-link {
    color: #2563eb;
    font-weight: 600;
    text-decoration: none;
    font-size: 0.9rem;
}

.theme-new .af-recruitment-page .af-recruitment-back-link:hover {
    color: #1d4ed8;
    text-decoration: underline;
}

.theme-new .af-recruitment-page .af-recruitment-detail-dl dt {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.15rem;
}

.theme-new .af-recruitment-page .af-recruitment-detail-dl dd {
    color: #0f172a;
    font-weight: 500;
    margin-bottom: 0.85rem;
}

.theme-new .af-recruitment-page .af-recruitment-doc-list .list-group-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px;
    margin-bottom: 0.65rem;
    padding: 0.85rem 1rem;
}

.theme-new .af-recruitment-page .form-control,
.theme-new .af-recruitment-page .form-select {
    border-color: #cbd5e1;
    border-radius: 8px;
}

.theme-new .af-recruitment-page .form-control:focus,
.theme-new .af-recruitment-page .form-select:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 0.2rem rgba(37, 99, 235, 0.12);
}

.theme-new .af-recruitment-page .form-label {
    color: #334155;
    font-weight: 600;
}

.theme-new .af-recruitment-page .af-recruitment-check-tile {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem;
    height: 100%;
}

.theme-new .af-recruitment-page .af-recruitment-check-tile--ok {
    border-color: #a7f3d0;
    background: #f0fdf4;
}

.theme-new .af-recruitment-page .af-recruitment-check-tile--missing {
    border-color: #fecaca;
    background: #fef2f2;
}

.theme-new .af-recruitment-page .af-recruitment-check-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
}

.theme-new .af-recruitment-page .af-recruitment-check-value {
    font-weight: 600;
    color: #0f172a;
}

.theme-new .af-recruitment-page .af-recruitment-stat-card {
    background: #fff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 1rem;
    text-align: center;
    height: 100%;
}

.theme-new .af-recruitment-page .af-recruitment-stat-label {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 0.35rem;
}

.theme-new .af-recruitment-page .af-recruitment-stat-value {
    color: #2563eb;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.1;
}

.theme-new .af-recruitment-page .af-recruitment-stat-value--success {
    color: #047857;
}

.theme-new .af-recruitment-page .af-recruitment-stat-value--warning {
    color: #b45309;
}

.theme-new .af-recruitment-page .af-recruitment-progress {
    height: 0.55rem;
    border-radius: 999px;
    background: #e2e8f0;
}

.theme-new .af-recruitment-page .af-recruitment-score-bar {
    height: 0.5rem;
    border-radius: 999px;
    background: #e2e8f0;
}

.theme-new .af-recruitment-page .af-recruitment-score-bar .progress-bar {
    background: #2563eb;
}

.theme-new .af-recruitment-page .af-recruitment-score-bar .progress-bar.bg-success {
    background: #16a34a !important;
}

.theme-new .af-recruitment-page .af-recruitment-score-bar .progress-bar.bg-warning {
    background: #d97706 !important;
}

.theme-new .af-recruitment-page .af-recruitment-score-bar .progress-bar.bg-danger {
    background: #dc2626 !important;
}

.theme-new .af-recruitment-page .af-recruitment-type-pill {
    display: inline-flex;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    background: #eff6ff;
    color: #1d4ed8;
    border: 1px solid #bfdbfe;
}

.theme-new .af-recruitment-page .af-recruitment-type-pill--employee {
    background: #ecfdf5;
    color: #047857;
    border-color: #a7f3d0;
}

/* ---- Recruitment delete modals (New Theme) — beat body text-light / af-app shell colour ---- */
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-content,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .af-recruitment-modal-content {
    --bs-body-color: #334155;
    --bs-modal-color: #334155;
    background: #ffffff !important;
    border: 1px solid #e2e8f0;
    border-radius: var(--af-new-radius-card, 12px);
    box-shadow: 0 12px 40px rgba(15, 23, 42, 0.12);
    color: #334155 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e2e8f0;
    color: #1e40af !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-title,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-header .modal-title {
    color: #1e40af !important;
    font-weight: 700;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body {
    background: #ffffff !important;
    color: #334155 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body p,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body span,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body div,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body .text-light,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body .text-white {
    color: #334155 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body strong {
    color: #0f172a !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-body .af-recruitment-field-hint {
    color: #475569 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-header .btn-close {
    filter: none;
    opacity: 0.6;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0;
    color: #334155 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer .btn {
    border-radius: var(--af-new-radius-btn, 8px) !important;
    min-height: 38px;
    font-weight: 600;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer .btn-secondary,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer .af-btn-secondary {
    color: #475569 !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer .btn-danger,
body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-footer .af-btn-danger {
    color: #ffffff !important;
    background: #dc2626 !important;
    border: 1px solid #b91c1c !important;
}

body.theme-new.af-app:has(.af-recruitment-page) .af-recruitment-modal .modal-title i.text-danger {
    color: #dc2626 !important;
}

.theme-new .af-recruitment-page .af-recruitment-section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.theme-new .af-recruitment-page .af-recruitment-section-nav__link,
.theme-new .af-recruitment-page .af-recruitment-section-nav a {
    display: inline-flex;
    align-items: center;
    padding: 0.45rem 0.85rem;
    border-radius: var(--af-new-radius-btn, 8px);
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #475569;
    font-size: 0.88rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.theme-new .af-recruitment-page .af-recruitment-section-nav__link:hover,
.theme-new .af-recruitment-page .af-recruitment-section-nav a:hover {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

.theme-new .af-recruitment-page .af-recruitment-section-nav__link.is-active,
.theme-new .af-recruitment-page .af-recruitment-section-nav a.is-active {
    background: #eff6ff;
    border-color: #2563eb;
    color: #1d4ed8;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15);
}

.theme-new .af-recruitment-page .af-recruitment-doc-legend {
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.55;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 0.75rem;
}

.theme-new .af-recruitment-page .af-recruitment-doc-legend__item i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-page .af-recruitment-doc-legend__sep {
    color: #94a3b8;
    margin: 0 0.35rem;
}

.theme-new .af-recruitment-page .af-recruitment-section-hint--rejected {
    color: #64748b;
    font-size: 0.88rem;
    line-height: 1.45;
    max-width: 36rem;
}

.theme-new .af-recruitment-page .af-recruitment-empty-panel {
    background: #f8fbff;
    border: 1px solid #bfdbfe;
    border-radius: var(--af-new-radius-card, 12px);
    padding: 1.25rem 1.35rem;
    text-align: center;
}

.theme-new .af-recruitment-page .af-recruitment-empty-panel__title {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
}

.theme-new .af-recruitment-page .af-recruitment-empty-panel__title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-page .af-recruitment-empty-panel__icon {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.75rem;
}

.theme-new .af-recruitment-page-footer-credit {
    display: none !important;
}

.theme-new .af-recruitment-page .af-recruitment-callout {
    background: #f8fbff;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: 10px;
    padding: 0.85rem 1rem;
    color: #475569;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}

.theme-new .af-recruitment-page .af-recruitment-callout i {
    color: #2563eb;
}

.theme-new .af-recruitment-page .af-recruitment-callout--warning {
    background: #fffbeb;
    border-color: #fde68a;
}

.theme-new .af-recruitment-page .af-recruitment-callout--warning i {
    color: #b45309;
}

.theme-new .af-recruitment-page .af-recruitment-interview-question {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 1rem;
    margin-bottom: 1rem;
}

.theme-new .af-recruitment-page .af-recruitment-interview-question h5 {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 700;
}

/* --- Recruitment New Theme phase 2: readability, forms, legacy overrides --- */
.theme-new .af-recruitment-page .af-recruitment-field-hint,
.theme-new .af-recruitment-page .af-recruitment-section-hint {
    color: #64748b !important;
    font-size: 0.92rem;
    line-height: 1.55;
}

.theme-new .af-recruitment-page .af-recruitment-field-hint strong,
.theme-new .af-recruitment-page .af-recruitment-section-hint strong {
    color: #334155;
}

.theme-new .af-recruitment-page .af-recruitment-form-section {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: var(--af-new-radius-card, 12px);
    padding: 1.1rem 1.2rem;
    margin-bottom: 1rem;
}

.theme-new .af-recruitment-page .af-recruitment-form-section-title {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.05rem;
    font-weight: 700;
    margin-bottom: 0.65rem;
}

.theme-new .af-recruitment-page .af-recruitment-form-section-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-page .form-label {
    color: #334155 !important;
    font-size: 0.95rem;
    font-weight: 600;
}

.theme-new .af-recruitment-page .form-control,
.theme-new .af-recruitment-page .form-select {
    color: #334155 !important;
    background: #ffffff !important;
    font-size: 1rem;
    border-radius: var(--af-new-radius-btn, 8px);
}

.theme-new .af-recruitment-page .table-modern tbody tr,
.theme-new .af-recruitment-page .af-recruitment-table tbody tr {
    background: transparent !important;
    color: #334155 !important;
}

.theme-new .af-recruitment-page .table-modern tbody td,
.theme-new .af-recruitment-page .af-recruitment-table tbody td {
    color: #334155 !important;
}

.theme-new .af-recruitment-page .app-table-header {
    background: #f8fafc !important;
}

.theme-new .af-recruitment-page .app-table-header .app-th {
    color: #475569 !important;
}

.theme-new .af-recruitment-page .btn-gradient-primary,
.theme-new .af-recruitment-page .btn-gradient-secondary,
.theme-new .af-recruitment-page .btn-gradient-danger {
    border-radius: var(--af-new-radius-btn, 8px) !important;
}

.theme-new .af-recruitment-page .af-recruitment-table-action,
.theme-new .af-recruitment-page .af-recruitment-actions-dropdown .dropdown-toggle {
    border-radius: var(--af-new-radius-btn, 8px) !important;
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-recruitment-page .af-recruitment-doc-pill--missing i,
.theme-new .af-recruitment-page .af-recruitment-doc-pill--summary-warn i {
    color: #b45309;
}

.theme-new .af-recruitment-page .af-recruitment-candidate-name {
    font-size: 1rem;
    color: #0f172a;
}

.theme-new .af-recruitment-page .af-recruitment-section-body {
    background: #ffffff !important;
}

.theme-new .af-recruitment-page .af-recruitment-stat-label {
    font-size: 0.82rem;
}

.theme-new .af-recruitment-page .af-recruitment-stat-value {
    font-size: 1.85rem;
}

/* =============================================================================
   WTE section — New Theme (Classic unchanged)
   ============================================================================= */

.theme-classic .af-wte-nav-shell {
    display: none !important;
}

.theme-new .af-wte-classic-nav {
    display: none !important;
}

.theme-new .af-wte-nav-shell {
    display: block !important;
}

.theme-new .af-wte-nav-card .af-wte-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-wte-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-wte-nav-card .af-schedule-nav-icon,
.theme-new .af-wte-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Dashboard WTE card */
.theme-new .af-wte-dashboard-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
    color: #0f172a !important;
}

.theme-new .af-wte-dashboard-classic {
    display: none !important;
}

.theme-new .af-wte-dashboard-new {
    display: block !important;
}

.theme-new .af-wte-dashboard-new__eyebrow {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #64748b;
    margin-bottom: 0.15rem;
}

.theme-new .af-wte-dashboard-new__week {
    color: #94a3b8;
}

.theme-new .af-wte-dashboard-new__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 1rem;
}

.theme-new .af-wte-dashboard-new__icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: rgba(37, 99, 235, 0.08);
    color: #2563eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
}

.theme-new .af-wte-dashboard-new__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

@media (max-width: 575px) {
    .theme-new .af-wte-dashboard-new__metrics {
        grid-template-columns: 1fr;
    }
}

.theme-new .af-wte-metric-tile {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.55rem 0.65rem;
    background: #f8fafc;
}

.theme-new .af-wte-metric-tile__label {
    display: block;
    font-size: 0.62rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    white-space: nowrap;
}

.theme-new .af-wte-metric-tile__value {
    display: block;
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
    font-weight: 700;
    color: #0f172a;
    line-height: 1.1;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.theme-new .af-wte-metric-tile__hint {
    display: block;
    font-size: 0.66rem;
    color: #94a3b8;
}

.theme-new .af-wte-btn-soft {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.45rem 0.85rem;
}

.theme-new .af-wte-btn-soft:hover {
    background: #dbeafe;
    color: #1e40af;
}

/* Gap status chips */
.theme-new .af-wte-status-chip {
    display: inline-block;
    font-size: 0.62rem;
    font-weight: 600;
    padding: 0.12rem 0.45rem;
    border-radius: 999px;
    margin-top: 0.25rem;
}

.theme-new .af-wte-status--ok {
    background: #dcfce7;
    color: #166534;
}

.theme-new .af-wte-status--caution {
    background: #fef3c7;
    color: #92400e;
}

.theme-new .af-wte-status--critical {
    background: #fee2e2;
    color: #991b1b;
}

/* Department offcanvas — New Theme */
.theme-new .af-wte-dept-offcanvas {
    background: #ffffff !important;
    color: #0f172a !important;
}

.theme-new .af-wte-dept-offcanvas .offcanvas-header {
    border-bottom: 1px solid #e2e8f0;
}

.theme-new .af-wte-dept-offcanvas .offcanvas-title {
    color: #1e293b;
    font-weight: 700;
}

.theme-new .af-wte-dept-offcanvas .af-wte-offcanvas-close {
    filter: none;
}

.theme-new .af-wte-dept-offcanvas .af-wte-dept-table {
    --bs-table-bg: transparent;
    --bs-table-color: #334155;
    --bs-table-border-color: #e2e8f0;
}

.theme-new .af-wte-dept-offcanvas .af-wte-dept-table th:nth-child(2),
.theme-new .af-wte-dept-offcanvas .af-wte-dept-table th:nth-child(3),
.theme-new .af-wte-dept-offcanvas .af-wte-dept-table th:nth-child(4),
.theme-new .af-wte-dept-offcanvas .af-wte-dept-table td:nth-child(2),
.theme-new .af-wte-dept-offcanvas .af-wte-dept-table td:nth-child(3),
.theme-new .af-wte-dept-offcanvas .af-wte-dept-table td:nth-child(4) {
    text-align: right;
}

.theme-new .af-wte-dept-offcanvas .af-wte-dept-table thead th {
    color: #64748b;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e8f0;
}

.theme-new .af-wte-dept-row--ok {
    background: #ffffff;
    border-left: 4px solid rgba(37, 99, 235, 0.18);
}

.theme-new .af-wte-dept-row--caution {
    background: #ffffff;
    border-left: 4px solid rgba(245, 158, 11, 0.28);
}

.theme-new .af-wte-dept-row--critical {
    background: #ffffff;
    border-left: 4px solid rgba(239, 68, 68, 0.28);
}

.theme-new .af-wte-dept-row--surplus {
    background: #ffffff;
    border-left: 4px solid rgba(245, 158, 11, 0.38);
}

.theme-new .af-wte-dept-offcanvas .af-wte-dept-table tbody tr td {
    border-bottom: 1px solid #eef2f7;
}

.theme-new .af-wte-dept-offcanvas .af-wte-dept-table tbody tr:last-child td {
    border-bottom: none;
}

.theme-new .af-wte-dept-footnote {
    color: #64748b;
    border-top: 1px solid #e2e8f0;
    padding-top: 0.75rem;
}

/* WTE analysis page */
.theme-new .af-wte-page {
    background: #f8fafc;
}

.theme-new .af-wte-new-summary {
    display: flex;
}

.theme-classic .af-wte-new-summary {
    display: none !important;
}

.theme-new .af-wte-summary-tile {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1rem 1.1rem;
    height: 100%;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
}

.theme-new .af-wte-summary-tile__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b;
    margin-bottom: 0.35rem;
}

.theme-new .af-wte-summary-tile__value {
    display: block;
    font-size: 1.75rem;
    font-weight: 700;
    color: #0f172a;
    line-height: 1.15;
}

.theme-new .af-wte-summary-tile__hint {
    display: block;
    font-size: 0.78rem;
    color: #94a3b8;
    margin-top: 0.25rem;
}

.theme-new .af-wte-summary-tile--target .af-wte-summary-tile__value {
    font-size: 1.35rem;
    color: #475569;
}

.theme-new .af-wte-classic-header,
.theme-new .af-wte-classic-metrics {
    display: none !important;
}

.theme-new .af-wte-classic-only {
    display: none !important;
}

.theme-new .af-wte-page .card.bg-dark,
.theme-new .af-wte-page .card.border-secondary,
.theme-new .af-wte-page .card.border-info,
.theme-new .af-wte-page .card.border-warning,
.theme-new .af-wte-page .card.border-primary,
.theme-new .af-wte-page .card.border-success,
.theme-new .af-wte-page .card.border-danger {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #334155 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}

.theme-new .af-wte-page .card-header {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-wte-page .text-light,
.theme-new .af-wte-page .card-title.text-light,
.theme-new .af-wte-page h1.text-light,
.theme-new .af-wte-page h5.text-light,
.theme-new .af-wte-page h6.text-light {
    color: #1e293b !important;
}

.theme-new .af-wte-page .text-muted {
    color: #64748b !important;
}

.theme-new .af-wte-page .form-select.bg-dark,
.theme-new .af-wte-page .form-select {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: #cbd5e1 !important;
}

.theme-new .af-wte-page .form-label.text-light {
    color: #475569 !important;
    font-weight: 600;
}

.theme-new .af-wte-page .table-dark {
    --bs-table-bg: #ffffff;
    --bs-table-color: #334155;
    --bs-table-border-color: #e2e8f0;
    --bs-table-hover-bg: #f8fafc;
}

.theme-new .af-wte-page .table-dark thead th.bg-dark {
    background: #f1f5f9 !important;
    color: #475569 !important;
}

.theme-new .af-wte-page .alert-danger {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.theme-new .af-wte-page .alert-success {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

.theme-new .af-wte-page .af-wte-trends-col {
    flex: 0 0 100%;
    max-width: 100%;
}

.theme-new .af-wte-config-page .bg-dark,
.theme-new .af-wte-config-page .bg-secondary,
.theme-new .af-wte-config-page .bg-secondary.bg-opacity-25 {
    background: #ffffff !important;
}

.theme-new .af-wte-config-page .border-secondary,
.theme-new .af-wte-config-page .border-primary,
.theme-new .af-wte-config-page .border-info,
.theme-new .af-wte-config-page .border-warning {
    border-color: #e2e8f0 !important;
}

.theme-new .af-wte-config-page .input-group-text.bg-dark {
    background: #f8fafc !important;
    color: #334155 !important;
    border-color: #cbd5e1 !important;
}

.theme-new .af-wte-config-page .form-text.text-white {
    color: #64748b !important;
}

.theme-new .af-wte-config-page .text-light {
    color: #1e293b !important;
}

.theme-new .af-wte-config-page .bg-dark.border.border-secondary.rounded {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-wte-config-page .btn-outline-light {
    border-color: #bfdbfe !important;
    color: #1d4ed8 !important;
}

.theme-new .af-wte-config-page .btn-outline-light:hover {
    background: #1d4ed8 !important;
    color: #ffffff !important;
}

/* Daily + exports pages (New Theme) */
.theme-new .af-wte-filter-label {
    color: #475569;
    font-weight: 600;
}

.theme-new .af-wte-btn-outline {
    background: transparent;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    border-radius: 10px;
    font-weight: 600;
    padding: 0.5rem 0.9rem;
}

.theme-new .af-wte-btn-outline:hover {
    background: #1d4ed8;
    color: #ffffff;
}

.theme-new .af-wte-day-tile {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.9rem 1rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    color: inherit;
}

.theme-new .af-wte-day-tile:hover {
    border-color: #bfdbfe;
    box-shadow: 0 4px 16px rgba(37, 99, 235, 0.12);
}

.theme-new .af-wte-day-tile__header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 0.6rem;
}

.theme-new .af-wte-day-tile__dow {
    font-weight: 700;
    color: #2563eb;
}

.theme-new .af-wte-day-tile__date {
    color: #64748b;
    font-weight: 600;
}

.theme-new .af-wte-day-tile__body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.theme-new .af-wte-day-tile__status {
    display: flex;
    align-items: center;
    margin-bottom: 0.65rem;
}

.theme-new .af-wte-day-kpi__label {
    display: block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #64748b;
}

.theme-new .af-wte-day-kpi__value {
    display: block;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
}

.theme-new .af-wte-table {
    border-collapse: separate;
    border-spacing: 0;
}

.theme-new .af-wte-table thead th {
    background: #f8fafc;
    color: #475569;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 1px solid #e2e8f0;
}

.theme-new .af-wte-table tbody td {
    border-bottom: 1px solid #eef2f7;
    vertical-align: middle;
}

.theme-new .af-wte-pill {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
}

.theme-new .af-wte-pill--ok {
    background: #dcfce7;
    color: #166534;
}

.theme-new .af-wte-pill--under {
    background: #fee2e2;
    color: #991b1b;
}

.theme-new .af-wte-pill--over {
    background: #fef3c7;
    color: #92400e;
}

.theme-new .af-wte-pill--danger {
    background: #fee2e2;
    color: #991b1b;
}

.theme-new .af-wte-pill--ok {
    background: #dcfce7;
    color: #166534;
}

.theme-new .af-wte-help-page .af-schedule-help-hero,
.theme-new .af-wte-help-page .af-schedule-help-nav,
.theme-new .af-wte-help-page .af-schedule-help-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

/* ============================================================
   Holiday Limits — New Theme (soft blue, no dark backgrounds)
   ============================================================ */
.theme-classic .af-holiday-limits-nav-shell {
    display: none !important;
}

body.theme-new:has(.af-holiday-limits-page) {
    background: linear-gradient(160deg, #e8f4fc 0%, #f0f7ff 45%, #e3effa 100%) !important;
}

.theme-new .af-holiday-limits-page {
    --af-hl-accent: #3b82f6;
    --af-hl-surface: #ffffff;
    --af-hl-border: #dbeafe;
    color: #1e293b;
}

.theme-new .af-holiday-limits-page .af-hl-page-title {
    color: #0f172a;
    font-weight: 700;
}

.theme-new .af-holiday-limits-page .af-hl-page-subtitle {
    color: #64748b !important;
}

.theme-new .af-holiday-limits-page .af-hl-filter-card,
.theme-new .af-holiday-limits-page .af-hl-calendar-card,
.theme-new .af-holiday-limits-page .af-hl-kpi-card,
.theme-new .af-holiday-limits-page .af-hl-table-card,
.theme-new .af-holiday-limits-page .af-hl-bulk-form-card,
.theme-new .af-holiday-limits-page .af-hl-export-card {
    background: #ffffff !important;
    border: 1px solid #dbeafe !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 20px rgba(59, 130, 246, 0.08) !important;
}

.theme-new .af-holiday-limits-page .af-hl-classic-card .card-header,
.theme-new .af-holiday-limits-page .af-hl-calendar-card .card-header,
.theme-new .af-holiday-limits-page .af-hl-kpi-card .card-header,
.theme-new .af-holiday-limits-page .af-hl-table-card .card-header {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    border-bottom: 1px solid #bfdbfe !important;
    color: #1e40af !important;
}

.theme-new .af-holiday-limits-page .af-hl-classic-card .card-header h5,
.theme-new .af-holiday-limits-page .af-hl-classic-card .card-body,
.theme-new .af-holiday-limits-page .af-hl-kpi-row h6,
.theme-new .af-holiday-limits-page .af-hl-kpi-row p {
    color: #1e293b !important;
}

.theme-new .af-holiday-limits-page .af-hl-kpi-row {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0;
}

.theme-new .af-holiday-limits-page .af-holiday-limits-default-notice {
    background: #eff6ff !important;
    border: 1px solid #93c5fd !important;
    color: #1e40af !important;
    border-radius: 12px;
}

.theme-new .af-holiday-limits-page .af-hl-limits-table thead th {
    background: #f1f5f9 !important;
    color: #334155 !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-holiday-limits-page .af-hl-limits-table tbody td {
    color: #334155 !important;
    border-color: #f1f5f9 !important;
}

.theme-new .af-holiday-limits-page .af-hl-limits-table tbody tr:hover {
    background: #f8fafc !important;
}

.theme-new .af-holiday-limits-page #calendar .fc {
    background: #ffffff !important;
    border-radius: 12px;
    padding: 0.5rem;
}

.theme-new .af-holiday-limits-page #calendar .fc-daygrid-day,
.theme-new .af-holiday-limits-page #calendar .fc-col-header-cell {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-holiday-limits-page #calendar .fc-col-header-cell-cushion,
.theme-new .af-holiday-limits-page #calendar .fc-daygrid-day-number,
.theme-new .af-holiday-limits-page #calendar .fc-toolbar-title {
    color: #334155 !important;
}

.theme-new .af-holiday-limits-page #calendar .fc-button {
    background: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #fff !important;
}

.theme-new .af-holiday-limits-page .af-hl-bulk-header {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #fff !important;
    border-radius: 16px 16px 0 0 !important;
}

.theme-new .af-holiday-limits-page .af-hl-bulk-form-card .form-label,
.theme-new .af-holiday-limits-page .af-hl-bulk-form-card .form-text {
    color: #475569 !important;
}

.theme-new .af-holiday-limits-nav-card {
    background: linear-gradient(135deg, #1e40af 0%, #3b82f6 55%, #60a5fa 100%) !important;
}

.theme-new .af-holiday-limits-help-page .af-schedule-help-hero,
.theme-new .af-holiday-limits-help-page .af-schedule-help-nav,
.theme-new .af-holiday-limits-help-page .af-schedule-help-section {
    background: #ffffff !important;
    border: 1px solid #dbeafe !important;
}

/* Classic vs New visibility */
.theme-new .af-hl-classic-only {
    display: none !important;
}
.theme-classic .af-hl-new-only {
    display: none !important;
}

/* New Theme landing page */
.theme-new .af-hl-landing-page {
    max-width: 100%;
    padding-bottom: 2rem;
}

.theme-new .af-hl-hero-card,
.theme-new .af-hl-landing-page .af-hl-filter-card,
.theme-new .af-hl-landing-page .af-hl-calendar-card {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px rgba(59, 130, 246, 0.1) !important;
}

.theme-new .af-hl-landing-page .af-hl-page-title {
    color: #1e3a5f !important;
    font-size: 1.85rem;
    font-weight: 800;
}

.theme-new .af-hl-landing-page .af-hl-page-intro-panel {
    margin-top: 0.75rem;
    padding: 1.1rem 1.25rem 1.15rem;
    background: linear-gradient(135deg, #f8fbff 0%, #f1f5f9 100%);
    border: 1px solid #dbeafe;
    border-left: 4px solid #3b82f6;
    border-radius: 0 14px 14px 0;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.theme-new .af-hl-landing-page .af-hl-page-intro {
    color: #475569 !important;
    font-size: 0.98rem;
    line-height: 1.65;
    max-width: 920px;
    letter-spacing: 0.01em;
}

.theme-new .af-hl-landing-page .af-hl-page-intro br {
    display: block;
    margin-bottom: 0.65rem;
    content: "";
}

.theme-new .af-hl-landing-page .af-hl-page-intro strong {
    color: #1e40af;
    font-weight: 600;
}

.theme-new .af-hl-landing-page .af-hl-page-intro-secondary {
    color: #64748b !important;
}

.theme-new .af-hl-landing-page .af-hl-calendar-header {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    border-radius: 20px 20px 0 0 !important;
    padding: 1rem 1.25rem !important;
    color: #1e40af !important;
}

.theme-new .af-hl-landing-page .af-hl-calendar-header h2 {
    color: #1e40af !important;
}

.theme-new .af-hl-landing-page .af-hl-badge-info {
    background: #dbeafe !important;
    color: #1e40af !important;
    font-weight: 600;
}

.theme-new .af-hl-landing-page .form-label {
    color: #334155 !important;
}

.theme-new .af-hl-landing-page .form-select,
.theme-new .af-hl-landing-page .form-control {
    background: #fff !important;
    border: 2px solid #bfdbfe !important;
    color: #1e293b !important;
    border-radius: 999px !important;
}

.theme-new .af-hl-landing-page .form-select:focus,
.theme-new .af-hl-landing-page .form-control:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.15) !important;
}

.theme-new .af-hl-landing-page .form-text {
    color: #64748b !important;
}

.theme-new .af-hl-landing-page .af-hl-apply-btn {
    border-radius: 999px !important;
    font-weight: 600;
    padding: 0.6rem 1.25rem;
}

.theme-new .af-hl-landing-page #calendar .fc {
    background: #ffffff !important;
    border-radius: 16px;
}

.theme-new .af-hl-landing-page #calendar .fc-col-header-cell,
.theme-new .af-hl-landing-page #calendar .fc-scrollgrid {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day {
    background: transparent !important;
    border-color: #e2e8f0 !important;
    padding: 3px;
}

.theme-new .af-hl-landing-page #calendar .fc-col-header-cell-cushion,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-number,
.theme-new .af-hl-landing-page #calendar .fc-toolbar-title {
    color: #334155 !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day.fc-day-today {
    background: transparent !important;
}

.theme-new .af-hl-landing-page #calendar .fc-button {
    background: #3b82f6 !important;
    border-color: #2563eb !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-weight: 600;
}

.theme-new .af-hl-landing-page #calendar .fc-button:hover,
.theme-new .af-hl-landing-page #calendar .fc-button-active {
    background: #2563eb !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-event {
    border-radius: 10px !important;
    font-weight: 600;
    font-size: 0.82rem;
    padding: 4px 8px !important;
    border: none !important;
}

.theme-new .af-hl-empty-state {
    color: #64748b !important;
}

.theme-new .af-hl-day-modal .modal-content {
    border-radius: 20px !important;
    background: #ffffff !important;
}

.theme-new .af-hl-day-modal .af-hl-modal-header,
.theme-new .af-hl-day-modal .af-hl-modal-footer {
    background: #ffffff !important;
}

.theme-new .af-hl-stat-pill {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.85rem 1rem;
    text-align: center;
    height: 100%;
}

.theme-new .af-hl-stat-label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 600;
}

.theme-new .af-hl-stat-value {
    display: block;
    font-size: 1.5rem;
    font-weight: 800;
    color: #1e40af;
    margin-top: 0.15rem;
}

.theme-new .af-hl-source-badge {
    background: #dbeafe !important;
    color: #1e40af !important;
    font-weight: 600;
}

/* Landing page shell — override dark .theme-new.af-app canvas and nav gradient */
body.theme-new.af-app:has(.af-hl-landing-page) {
    background: linear-gradient(160deg, #e8f4fc 0%, #f0f7ff 45%, #e3effa 100%) !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hl-landing-page) .container.mt-4 {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

body.theme-new:has(.af-hl-landing-page) .af-holiday-limits-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
    padding-bottom: 0.25rem;
}

body.theme-new:has(.af-hl-landing-page) .af-holiday-limits-nav-subtitle.text-light,
body.theme-new:has(.af-hl-landing-page) .af-holiday-limits-nav-subtitle,
body.theme-new:has(.af-hl-bulk-page) .af-holiday-limits-nav-subtitle.text-light,
body.theme-new:has(.af-hl-bulk-page) .af-holiday-limits-nav-subtitle {
    color: #64748b !important;
    opacity: 1 !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-landing-page {
    background: transparent !important;
}

/* Filter row alignment */
.theme-new .af-hl-landing-page .af-hl-filter-form .af-hl-filter-row {
    align-items: flex-end;
}

.theme-new .af-hl-landing-page .af-hl-filter-control {
    display: flex;
    flex-direction: column;
}

.theme-new .af-hl-landing-page .af-hl-filter-label {
    min-height: 1.35rem;
    margin-bottom: 0.4rem;
    line-height: 1.35;
}

.theme-new .af-hl-landing-page .af-hl-filter-label-spacer {
    visibility: hidden;
    user-select: none;
}

.theme-new .af-hl-landing-page .af-hl-filter-form .form-select,
.theme-new .af-hl-landing-page .af-hl-filter-form .af-hl-apply-btn {
    min-height: 2.75rem;
}

.theme-new .af-hl-landing-page .af-hl-filter-help-row {
    margin-top: 0.35rem;
}

.theme-new .af-hl-landing-page .af-hl-filter-help {
    color: #64748b !important;
    margin-bottom: 0;
}

@media (max-width: 767.98px) {
    .theme-new .af-hl-landing-page .af-hl-filter-label-spacer {
        display: none;
    }

    .theme-new .af-hl-landing-page .af-hl-filter-action {
        margin-top: 0.25rem;
    }
}

/* Calendar sizing — auto-growing cells, no internal scrollbars */
.theme-new .af-hl-landing-page .af-hl-calendar-body {
    min-height: 0;
}

.theme-new .af-hl-landing-page .af-hl-calendar-mount .fc {
    min-height: 0;
    height: auto !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-frame,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-events,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-bottom,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-body,
.theme-new .af-hl-landing-page #calendar .fc-scrollgrid-section-body td,
.theme-new .af-hl-landing-page #calendar .fc-scrollgrid-sync-table {
    overflow: visible !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day {
    min-width: 0;
    vertical-align: top;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-frame {
    min-height: 0;
    height: auto !important;
    display: flex;
    flex-direction: column;
    background: #f5f9ff !important;
    border: 1px solid #dbeafe;
    border-radius: 8px;
    padding: 5px 6px 7px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame {
    background: #eff6ff !important;
    border-color: #93c5fd;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, 0.08);
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day.fc-day-other .fc-daygrid-day-frame {
    background: #f8fafc !important;
    border-color: #e2e8f0;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-number {
    color: #334155 !important;
    font-weight: 700;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day.fc-day-today .fc-daygrid-day-number {
    color: #1e40af !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-day-events {
    margin-top: 0.2rem;
    max-height: none !important;
    height: auto !important;
    flex: 0 1 auto;
    overflow: visible !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-more-link {
    display: none !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-week,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-body tr {
    height: auto !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-event-harness {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 0.15rem 0 !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-event-harness-abs {
    position: static !important;
}

.theme-new .af-hl-landing-page #calendar .fc-daygrid-block-event,
.theme-new .af-hl-landing-page #calendar .fc-daygrid-event {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    position: static !important;
    float: none !important;
}

.theme-new .af-hl-landing-page .af-hl-cal-day-stack {
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge {
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 30px;
    box-sizing: border-box;
    text-align: left;
    font-size: 0.78rem;
    line-height: 1.35;
    padding: 6px 10px;
    border-radius: 10px;
    font-weight: 600;
    white-space: normal;
    word-break: break-word;
    overflow: visible;
    background: #eff6ff;
    border: 1.5px solid #bfdbfe;
    color: #1e40af;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge:hover {
    background: #dbeafe;
    border-color: #3b82f6;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.16);
    transform: translateY(-1px);
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge:focus-visible {
    background: #dbeafe;
    border-color: #2563eb;
    box-shadow: 0 2px 8px rgba(59, 130, 246, 0.16);
    transform: translateY(-1px);
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge.is-full {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge.is-full:hover {
    background: #fee2e2;
    border-color: #f87171;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.14);
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-badge.is-full:focus-visible {
    background: #fee2e2;
    border-color: #dc2626;
    box-shadow: 0 2px 8px rgba(220, 38, 38, 0.14);
    outline: 2px solid #dc2626;
    outline-offset: 2px;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-name {
    font-weight: 700;
}

.theme-new .af-hl-landing-page .af-hl-cal-dept-sep {
    opacity: 0.75;
}

.theme-new .af-hl-landing-page .af-hl-cal-empty {
    font-size: 0.7rem;
    color: #94a3b8;
}

@media (max-width: 767.98px) {
    .theme-new .af-hl-landing-page .af-hl-cal-dept-badge {
        font-size: 0.72rem;
        min-height: 28px;
        padding: 5px 8px;
    }
}

/* Remove legacy compact row rules superseded by badges */
.theme-new .af-hl-landing-page .af-hl-cal-dept-row,
.theme-new .af-hl-landing-page .af-hl-cal-full,
.theme-new .af-hl-landing-page .af-hl-cal-open {
    display: none;
}

/* Modal typography — prevent inherited light text on white modal */
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-content,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-header,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-body,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-footer {
    background: #ffffff !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-title {
    color: #0f172a !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .modal-body .text-muted,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .form-text,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal #dayLimitModalSubtitle {
    color: #64748b !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .form-label {
    color: #334155 !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .form-control,
body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .form-select {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: #cbd5e1 !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-stat-label {
    color: #64748b !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-stat-value {
    color: #1e40af !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .btn-outline-secondary {
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .btn-outline-secondary:hover {
    color: #1e293b !important;
    background: #f8fafc !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .badge.bg-success {
    background-color: #16a34a !important;
    color: #ffffff !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .badge.bg-danger {
    background-color: #dc2626 !important;
    color: #ffffff !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .alert-danger {
    color: #991b1b !important;
    background: #fef2f2 !important;
    border-color: #fecaca !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-approved-title {
    color: #334155 !important;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-approved-item {
    padding: 0.55rem 0.75rem;
    margin-bottom: 0.35rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-approved-name {
    display: block;
    color: #1e293b !important;
    font-weight: 600;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-approved-meta {
    display: block;
    color: #64748b !important;
    font-size: 0.82rem;
    margin-top: 0.1rem;
}

body.theme-new:has(.af-hl-landing-page) .af-hl-day-modal .af-hl-approved-empty {
    color: #64748b !important;
}

/* ============================================================
   Holiday Limits — Set Limits for Multiple Dates (bulk page)
   ============================================================ */
body.theme-new.af-app:has(.af-hl-bulk-page) {
    background: linear-gradient(160deg, #e8f4fc 0%, #f0f7ff 45%, #e3effa 100%) !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hl-bulk-page) .container.mt-4 {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

body.theme-new:has(.af-hl-bulk-page) .af-holiday-limits-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
    padding-bottom: 0.25rem;
}

body.theme-new:has(.af-hl-bulk-page) .af-hl-bulk-page {
    background: transparent !important;
    padding-bottom: 2rem;
}

.theme-new .af-hl-bulk-page .af-hl-bulk-form-card {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px rgba(59, 130, 246, 0.1) !important;
}

.theme-new .af-hl-bulk-page .af-hl-form-step {
    border-bottom: 1px solid #e8f0fe;
}

.theme-new .af-hl-bulk-page .af-hl-form-step:last-of-type {
    border-bottom: none;
}

.theme-new .af-hl-bulk-page .af-hl-step-heading {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.theme-new .af-hl-bulk-page .af-hl-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.65rem;
    height: 1.65rem;
    border-radius: 999px;
    background: #dbeafe;
    color: #1e40af;
    font-size: 0.82rem;
    font-weight: 700;
    flex-shrink: 0;
}

.theme-new .af-hl-bulk-page .af-hl-step-label {
    color: #1e3a5f !important;
    font-size: 1rem;
}

.theme-new .af-hl-bulk-page .af-hl-step-help,
.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-text {
    color: #64748b !important;
    margin-top: 0.5rem;
}

.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-label {
    color: #334155 !important;
}

.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-control,
.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-select,
.theme-new .af-hl-bulk-page .af-hl-date-input,
.theme-new .af-hl-bulk-page .af-hl-max-input {
    background: #ffffff !important;
    border: 2px solid #bfdbfe !important;
    color: #1e293b !important;
    border-radius: 12px !important;
    min-height: 2.75rem;
}

.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-control:focus,
.theme-new .af-hl-bulk-page .af-hl-bulk-form .form-select:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 0.2rem rgba(59, 130, 246, 0.15) !important;
}

.theme-new .af-hl-bulk-page .af-hl-bulk-actions {
    border-top: 1px solid #e8f0fe;
}

.theme-new .af-hl-bulk-page .af-hl-cancel-btn {
    color: #475569 !important;
    border-color: #cbd5e1 !important;
    background: #ffffff !important;
    border-radius: 999px !important;
    padding: 0.6rem 1.35rem;
    font-weight: 600;
}

.theme-new .af-hl-bulk-page .af-hl-cancel-btn:hover {
    background: #f8fafc !important;
    color: #1e293b !important;
}

.theme-new .af-hl-bulk-page .af-hl-apply-btn {
    border-radius: 999px !important;
    font-weight: 600;
    padding: 0.6rem 1.5rem;
}

/* ============================================================
   Holiday Limits — Capacity Overview page
   ============================================================ */
body.theme-new.af-app:has(.af-hl-capacity-page) {
    background: linear-gradient(160deg, #e8f4fc 0%, #f0f7ff 45%, #e3effa 100%) !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hl-capacity-page) .container.mt-4 {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

body.theme-new:has(.af-hl-capacity-page) .af-holiday-limits-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
    padding-bottom: 0.25rem;
}

body.theme-new:has(.af-hl-capacity-page) .af-holiday-limits-nav-subtitle.text-light,
body.theme-new:has(.af-hl-capacity-page) .af-holiday-limits-nav-subtitle {
    color: #64748b !important;
    opacity: 1 !important;
}

body.theme-new:has(.af-hl-capacity-page) .af-hl-capacity-page {
    background: transparent !important;
    padding-bottom: 2rem;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-title {
    color: #64748b !important;
    font-size: 0.85rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-value {
    font-size: 2rem;
    font-weight: 700;
    color: #0f172a !important;
    line-height: 1.1;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-help {
    color: #64748b !important;
    display: block;
    line-height: 1.35;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-card {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 18px rgba(59, 130, 246, 0.08) !important;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-ok {
    border-top: 3px solid #22c55e !important;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-near {
    border-top: 3px solid #f59e0b !important;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-full {
    border-top: 3px solid #ef4444 !important;
}

.theme-new .af-hl-capacity-page .af-hl-kpi-taken {
    border-top: 3px solid #3b82f6 !important;
}

body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend,
.theme-new .af-hl-capacity-page .af-hl-cap-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.8rem;
    color: #475569;
}

body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend-item,
.theme-new .af-hl-capacity-page .af-hl-cap-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}

/* Solid swatches — avoid Font Awesome icons (theme overrides often force i.fas to grey) */
body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend-swatch,
.theme-new .af-hl-capacity-page .af-hl-cap-legend-swatch {
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-radius: 50%;
    flex-shrink: 0;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
}

body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend-swatch-ok,
.theme-new .af-hl-capacity-page .af-hl-cap-legend-swatch-ok {
    background-color: #22c55e !important;
    color: #22c55e !important;
}

body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend-swatch-near,
.theme-new .af-hl-capacity-page .af-hl-cap-legend-swatch-near {
    background-color: #f59e0b !important;
    color: #f59e0b !important;
}

body.theme-new.af-app .af-hl-capacity-page .af-hl-cap-legend-swatch-full,
.theme-new .af-hl-capacity-page .af-hl-cap-legend-swatch-full {
    background-color: #ef4444 !important;
    color: #ef4444 !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-weekday-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.45rem;
    margin-bottom: 0.45rem;
    text-align: center;
    font-size: 0.75rem;
    font-weight: 600;
    color: #64748b;
}

.theme-new .af-hl-capacity-page .af-hl-cap-month-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0.45rem;
}

.theme-new .af-hl-capacity-page .af-hl-cap-day-cell {
    min-height: 92px;
    border-radius: 12px;
    border: 1px solid #dbeafe;
    background: #f8fbff;
    padding: 0.45rem 0.5rem;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    color: #0f172a;
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.theme-new .af-hl-capacity-page button.af-hl-cap-day-cell {
    cursor: pointer;
    width: 100%;
}

.theme-new .af-hl-capacity-page button.af-hl-cap-day-cell:hover,
.theme-new .af-hl-capacity-page button.af-hl-cap-day-cell:focus {
    outline: none;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.18);
    transform: translateY(-1px);
}

.theme-new .af-hl-capacity-page .af-hl-cap-day-empty {
    background: transparent !important;
    border-color: transparent !important;
    min-height: 92px;
    pointer-events: none;
}

.theme-new .af-hl-capacity-page .af-hl-cap-day-num {
    font-weight: 700;
    font-size: 0.95rem;
}

.theme-new .af-hl-capacity-page .af-hl-cap-day-ratio {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1e3a5f;
}

.theme-new .af-hl-capacity-page .af-hl-cap-day-status {
    font-size: 0.7rem;
    font-weight: 600;
    margin-top: auto;
}

.theme-new .af-hl-capacity-page .af-hl-cap-band-ok {
    background: #ecfdf5 !important;
    border-color: #a7f3d0 !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-band-ok .af-hl-cap-day-status { color: #15803d; }

.theme-new .af-hl-capacity-page .af-hl-cap-band-near {
    background: #fffbeb !important;
    border-color: #fcd34d !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-band-near .af-hl-cap-day-status { color: #b45309; }

.theme-new .af-hl-capacity-page .af-hl-cap-band-full {
    background: #fef2f2 !important;
    border-color: #fca5a5 !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-band-full .af-hl-cap-day-status { color: #b91c1c; }

.theme-new .af-hl-capacity-page .af-hl-status-ok {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.theme-new .af-hl-capacity-page .af-hl-status-near {
    background: #fef3c7 !important;
    color: #92400e !important;
}

.theme-new .af-hl-capacity-page .af-hl-status-full {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-risk-note {
    color: #334155 !important;
    background: #f1f5f9;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
    border: 1px solid #e2e8f0;
}

.theme-new .af-hl-capacity-page .af-hl-table-card,
.theme-new .af-hl-capacity-page .af-hl-calendar-card,
.theme-new .af-hl-capacity-page .af-hl-filter-card,
.theme-new .af-hl-capacity-page .af-hl-hero-card,
.theme-new .af-hl-capacity-page .af-hl-tips-card {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px rgba(59, 130, 246, 0.1) !important;
}

.theme-new .af-hl-capacity-page .af-hl-cap-microhelp {
    color: #64748b !important;
    line-height: 1.45;
    border-top: 1px solid #e8f0fe;
    padding-top: 0.85rem;
}

.theme-new .af-hl-capacity-page .af-hl-cap-tips strong {
    color: #334155;
}

.theme-new .af-hl-capacity-page .af-hl-limits-table thead th {
    color: #475569 !important;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-hl-capacity-page .af-hl-limits-table td {
    color: #1e293b !important;
    vertical-align: middle;
}

@media (max-width: 767.98px) {
    .theme-new .af-hl-capacity-page .af-hl-cap-day-cell {
        min-height: 72px;
        padding: 0.3rem;
    }

    .theme-new .af-hl-capacity-page .af-hl-cap-day-status {
        display: none;
    }

    .theme-new .af-hl-capacity-page .af-hl-cap-day-ratio {
        font-size: 0.72rem;
    }
}

/* ============================================================
   Holiday Limits — Exports page
   ============================================================ */
body.theme-new.af-app:has(.af-hl-exports-page) {
    background: linear-gradient(160deg, #e8f4fc 0%, #f0f7ff 45%, #e3effa 100%) !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hl-exports-page) .container.mt-4 {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: transparent !important;
}

body.theme-new:has(.af-hl-exports-page) .af-holiday-limits-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
}

body.theme-new:has(.af-hl-exports-page) .af-holiday-limits-nav-subtitle.text-light,
body.theme-new:has(.af-hl-exports-page) .af-holiday-limits-nav-subtitle {
    color: #64748b !important;
    opacity: 1 !important;
}

.theme-new .af-hl-exports-page .af-hl-hero-card,
.theme-new .af-hl-exports-page .af-hl-filter-card,
.theme-new .af-hl-exports-page .af-hl-export-card,
.theme-new .af-hl-exports-page .af-hl-tips-card {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 32px rgba(59, 130, 246, 0.1) !important;
}

.theme-new .af-hl-exports-page .af-hl-page-title {
    color: #1e3a5f !important;
}

.theme-new .af-hl-exports-page .af-hl-page-intro-panel {
    margin-top: 0.75rem;
    padding: 1.1rem 1.25rem 1.15rem;
    background: linear-gradient(135deg, #f8fbff 0%, #f1f5f9 100%);
    border: 1px solid #dbeafe;
    border-radius: 14px;
}

.theme-new .af-hl-exports-page .af-hl-page-intro {
    color: #334155 !important;
    line-height: 1.55;
}

.theme-new .af-hl-exports-page .af-hl-export-btn {
    border-radius: 999px !important;
    font-weight: 600;
    padding: 0.55rem 1.25rem;
}

/* ============================================================
   HR Portal — New Theme (Classic unchanged)
   Scoped under .theme-new / .af-hr-portal-page
   ============================================================ */

.theme-classic .af-hr-portal-nav-shell,
body:not(.theme-new) .af-hr-portal-nav-shell {
    display: none !important;
}

.theme-new .af-hr-classic-nav {
    display: none !important;
}

body:not(.theme-new) .af-hr-page-lead {
    display: none !important;
}

/* HR nav: same light schedule shell; two rows instead of one crushed row */
.theme-new .af-hr-portal-nav-shell.af-schedule-nav-shell {
    padding-top: 0.5rem;
    background: transparent;
}

/* Flat full-width nav panel (no card box) */
.theme-new .af-hr-portal-nav-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.35rem 0 0.75rem !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-portal-nav-subtitle,
.theme-new .af-hr-portal-nav-card .af-hr-portal-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
    opacity: 1 !important;
}

.theme-new .af-hr-portal-nav-panel .af-schedule-nav-title,
.theme-new .af-hr-portal-nav-card .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-hr-portal-nav-panel .af-schedule-nav-icon,
.theme-new .af-hr-portal-nav-panel .af-schedule-nav-icon[style],
.theme-new .af-hr-portal-nav-card .af-schedule-nav-icon,
.theme-new .af-hr-portal-nav-card .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-nav-row,
.theme-new .af-hr-portal-nav-card .af-hr-nav-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    border-bottom: none !important;
    overflow: visible !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-nav-row .nav-item,
.theme-new .af-hr-portal-nav-card .af-hr-nav-row .nav-item {
    flex: 0 0 auto !important;
    min-width: auto !important;
    width: auto !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-nav-row .nav-link,
.theme-new .af-hr-portal-nav-card .af-hr-nav-row .nav-link {
    width: auto !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.92rem !important;
    line-height: 1.25 !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-nav-row .af-hr-nav-label,
.theme-new .af-hr-portal-nav-card .af-hr-nav-row .af-hr-nav-label {
    white-space: nowrap !important;
    display: inline;
}

.theme-new .af-hr-portal-nav-panel .af-hr-nav-row--core,
.theme-new .af-hr-portal-nav-card .af-hr-nav-row--core {
    padding-bottom: 0.7rem;
    margin-bottom: 0.7rem !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.theme-new .af-hr-portal-nav-panel .af-hr-portal-nav-header {
    margin-bottom: 1rem !important;
}

@media (max-width: 767.98px) {
    .theme-new .af-hr-portal-nav-panel .af-hr-nav-row .nav-link,
    .theme-new .af-hr-portal-nav-card .af-hr-nav-row .nav-link {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.85rem !important;
    }
}

.theme-new .af-hr-portal-page {
    --af-hr-surface: #ffffff;
    --af-hr-surface-muted: #f8fafc;
    --af-hr-border: #bfdbfe;
    --af-hr-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 24px rgba(59, 130, 246, 0.08);
    background: var(--af-new-bg, #f1f5f9);
    padding-top: 1.25rem !important;
    padding-bottom: 2.5rem !important;
    border-radius: 0;
    max-width: 100%;
}

.theme-new .af-hr-portal-page .af-hr-page-lead {
    display: block !important;
    color: #475569 !important;
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: 52rem;
    margin-top: 0.35rem !important;
}

.theme-new .af-hr-portal-page h2.text-white,
.theme-new .af-hr-portal-page h2.text-light,
.theme-new .af-hr-portal-page .text-white:is(h1, h2, h3, h4, h5, h6),
.theme-new .af-hr-portal-page label.text-white,
.theme-new .af-hr-portal-page .form-label.text-white,
.theme-new .af-hr-portal-page p.text-white,
.theme-new .af-hr-portal-page .card-title.text-white,
.theme-new .af-hr-portal-page .card-text.text-light,
.theme-new .af-hr-portal-page .text-light:not(.nav-link):not(.af-schedule-nav-title):not(.af-hr-portal-nav-subtitle) {
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page .text-muted {
    color: #64748b !important;
}

.theme-new .af-hr-portal-page .glass-card,
.theme-new .af-hr-portal-page .card:not(.module-card):not(.hr-navbar-card):not(.af-hr-portal-nav-card) {
    background: var(--af-hr-surface) !important;
    background-image: none !important;
    border: 1px solid var(--af-hr-border) !important;
    border-radius: 14px !important;
    box-shadow: var(--af-hr-shadow) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page .card-header,
.theme-new .af-hr-portal-page .card-header.bg-primary-dark,
.theme-new .af-hr-portal-page .card-header.bg-warning {
    background: #eff6ff !important;
    border-bottom: 1px solid var(--af-hr-border) !important;
    color: #1e3a5f !important;
}

.theme-new .af-hr-portal-page .card-header h3,
.theme-new .af-hr-portal-page .card-header h5,
.theme-new .af-hr-portal-page .card-header .mb-0 {
    color: #1e3a5f !important;
}

.theme-new .af-hr-portal-page .bg-primary-dark,
.theme-new .af-hr-portal-page .bg-success-dark,
.theme-new .af-hr-portal-page .bg-warning-dark,
.theme-new .af-hr-portal-page .bg-danger-dark {
    background: #ffffff !important;
    border: 1px solid var(--af-hr-border) !important;
}

.theme-new .af-hr-portal-page .bg-primary-dark .h2,
.theme-new .af-hr-portal-page .bg-success-dark .h2,
.theme-new .af-hr-portal-page .bg-warning-dark .h2 {
    color: #1e3a5f !important;
}

.theme-new .af-hr-portal-page .module-card {
    background: #ffffff !important;
    border: 1px solid var(--af-hr-border) !important;
    box-shadow: var(--af-hr-shadow) !important;
}

.theme-new .af-hr-portal-page .module-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(37, 99, 235, 0.12) !important;
}

.theme-new .af-hr-portal-page .module-card .card-title,
.theme-new .af-hr-portal-page .module-card .card-text {
    color: #334155 !important;
}

.theme-new .af-hr-portal-page .table-dark,
.theme-new .af-hr-portal-page table.table-dark {
    --bs-table-bg: #ffffff;
    --bs-table-color: #1e293b;
    --bs-table-striped-bg: #f8fafc;
    --bs-table-striped-color: #1e293b;
    --bs-table-hover-bg: #eff6ff;
    --bs-table-hover-color: #1e293b;
    --bs-table-border-color: #e2e8f0;
    color: #1e293b !important;
    background-color: #ffffff !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-hr-portal-page .table-dark > :not(caption) > * > * {
    background-color: transparent !important;
    color: #1e293b !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-hr-portal-page .table thead.table-primary,
.theme-new .af-hr-portal-page .table-dark thead th,
.theme-new .af-hr-portal-page .table thead th {
    background: #eff6ff !important;
    color: #1e3a5f !important;
    border-color: #bfdbfe !important;
    font-weight: 600;
}

.theme-new .af-hr-portal-page .table-responsive {
    background: transparent;
}

.theme-new .af-hr-portal-page .btn-warning {
    background: #f59e0b !important;
    border-color: #d97706 !important;
    color: #111827 !important;
}

.theme-new .af-hr-portal-page .btn-primary {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-hr-portal-page .btn-secondary,
.theme-new .af-hr-portal-page .btn-outline-secondary {
    color: #334155 !important;
}

.theme-new .af-hr-portal-page .modal-content.bg-dark,
.theme-new .af-hr-portal-page .modal-content {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid var(--af-hr-border) !important;
    border-radius: 14px !important;
}

.theme-new .af-hr-portal-page .modal-header,
.theme-new .af-hr-portal-page .modal-footer {
    border-color: #e2e8f0 !important;
}

.theme-new .af-hr-portal-page .modal-title,
.theme-new .af-hr-portal-page .modal-body,
.theme-new .af-hr-portal-page .modal-body .text-white,
.theme-new .af-hr-portal-page .modal-body p {
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(0);
}

.theme-new .af-hr-portal-page .form-control,
.theme-new .af-hr-portal-page .form-select {
    background: #ffffff !important;
    color: #1e293b !important;
    border-color: #cbd5e1 !important;
}

.theme-new .af-hr-portal-page .breadcrumb-dark .breadcrumb-item,
.theme-new .af-hr-portal-page .breadcrumb-dark .breadcrumb-item.active {
    color: #64748b !important;
}

.theme-new .af-hr-portal-page .alert-info {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1e3a5f !important;
}

/* Shared avatar */
.af-hr-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
    border: 2px solid #93c5fd;
    flex-shrink: 0;
}

.af-hr-avatar--initials {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #ffffff;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
}

.theme-new .af-hr-avatar {
    border-color: #93c5fd;
}

/* Charts / glass panels readable on New Theme */
.theme-new .af-hr-portal-page canvas {
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .theme-new .af-hr-portal-page {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}

/* HR Portal modals often sit outside the page container */
.theme-new .modal-content.bg-dark {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 14px !important;
}
.theme-new .modal-content.bg-dark .modal-header,
.theme-new .modal-content.bg-dark .modal-footer {
    border-color: #e2e8f0 !important;
}
.theme-new .modal-content.bg-dark .modal-title,
.theme-new .modal-content.bg-dark .modal-body,
.theme-new .modal-content.bg-dark .text-white,
.theme-new .modal-content.bg-dark p {
    color: #1e293b !important;
}
.theme-new .modal-content.bg-dark .btn-close-white {
    filter: invert(1) grayscale(100%) brightness(0);
}

/* HR Portal Classic / New visibility helpers */
.theme-new .af-hr-classic-only {
    display: none !important;
}
.theme-classic .af-hr-new-only,
body:not(.theme-new) .af-hr-new-only {
    display: none !important;
}

.theme-new .af-hr-dashboard-page .af-hr-dashboard-hero {
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid #dbeafe !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 32px rgba(59, 130, 246, 0.1) !important;
}

/* Heading icon + title: standard New Theme blue (match other section headers) */
.theme-new .af-hr-dashboard-page .af-hr-page-title,
.theme-new .af-hr-dashboard-page .af-hr-page-title-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-hr-dashboard-page .af-hr-page-title {
    font-size: 1.75rem;
    font-weight: 800;
}

.theme-new .af-hr-dashboard-page .af-hr-page-title-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Rectangular Access Module buttons (do not use pill radius) */
.theme-new .af-hr-dashboard-page .module-card .btn,
.theme-new .af-hr-dashboard-page .module-card .af-hr-module-btn {
    border-radius: var(--af-new-radius-btn, 8px) !important;
    font-weight: 600;
}

/* ------------------------------------------------------------
   HR Portal (New Theme): full-width layout + no dark page chrome
   Scoped with :has(.af-hr-*) so Classic / other sections stay intact
   ------------------------------------------------------------ */
body.theme-new.af-app:has(.af-hr-portal-page),
body.theme-new.af-app:has(.af-hr-portal-nav-shell),
body.theme-new.bg-dark:has(.af-hr-portal-page),
body.theme-new.bg-dark:has(.af-hr-portal-nav-shell) {
    background-color: var(--af-new-bg, #f1f5f9) !important;
    background-image: none !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hr-portal-page) > .container.mt-4,
body.theme-new:has(.af-hr-portal-nav-shell) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.theme-new .af-hr-portal-page.container,
.theme-new .af-hr-portal-page.container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.theme-new .af-hr-portal-nav-shell .af-schedule-nav-container.container {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.theme-new .af-hr-portal-page .table-dark,
.theme-new .af-hr-portal-page table.table-dark tbody,
.theme-new .af-hr-portal-page table.table-dark thead {
    --bs-table-bg: #ffffff !important;
    --bs-table-striped-bg: #f8fafc !important;
    --bs-table-hover-bg: #eff6ff !important;
    background-color: #ffffff !important;
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page .glass-card,
.theme-new .af-hr-portal-page .card.glass-card {
    background: #ffffff !important;
    background-image: none !important;
}

/* Kill dark page gutters around HR content (not the top app navbar) */
body.theme-new:has(.af-hr-portal-page) > .container.mt-4,
body.theme-new:has(.af-hr-portal-nav-shell) > .container.mt-4 {
    background-color: var(--af-new-bg, #f1f5f9) !important;
}

@media (min-width: 992px) {
    .theme-new .af-hr-portal-page.container,
    .theme-new .af-hr-portal-page.container-fluid,
    .theme-new .af-hr-portal-nav-shell .af-schedule-nav-container.container {
        padding-left: 1.75rem !important;
        padding-right: 1.75rem !important;
    }
}

/* Form labels inside HR portal on New Theme */
.theme-new .af-hr-portal-page .glass-card label,
.theme-new .af-hr-portal-page .glass-card .form-label,
.theme-new .af-hr-portal-page form label {
    color: #334155 !important;
}

.theme-new .af-hr-portal-page .card-header.bg-gradient-success,
.theme-new .af-hr-portal-page .card-header.text-white {
    background: #eff6ff !important;
    color: #1e3a5f !important;
}

.theme-new .af-hr-portal-page .card-header.bg-gradient-success h2,
.theme-new .af-hr-portal-page .card-header.text-white h2,
.theme-new .af-hr-portal-page .card-header.text-white h3 {
    color: #1e3a5f !important;
}

/* ============================================================
   HR Portal modules — headings, delete modals, light full page
   ============================================================ */

/* Beat Bootstrap .bg-dark !important on HR section pages */
html body.theme-new.bg-dark.af-app:has(.af-hr-portal-page),
html body.theme-new.bg-dark.af-app:has(.af-hr-portal-nav-shell) {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    background-image: none !important;
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page {
    background: #f1f5f9 !important;
    min-height: calc(100vh - 8rem);
}

/* Blue module titles (Contracts, Disciplinary, edit forms, etc.) */
.theme-new .af-hr-portal-page h2.af-hr-module-heading,
.theme-new .af-hr-portal-page h2.af-hr-module-heading.text-white,
.theme-new .af-hr-portal-page h2.af-hr-module-heading i,
.theme-new .af-hr-portal-page h2.af-hr-module-heading i[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-hr-portal-page h2.af-hr-module-heading {
    font-weight: 800;
    font-size: 1.55rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.75rem;
}

.theme-new .af-hr-portal-page h2.af-hr-module-heading .float-end {
    margin-left: auto;
    float: none !important;
}

/* Action buttons in HR tables — calmer New Theme */
.theme-new .af-hr-portal-page .btn-warning.btn-sm {
    background: #fff7ed !important;
    border: 1px solid #fdba74 !important;
    color: #c2410c !important;
}

.theme-new .af-hr-portal-page .btn-danger.btn-sm:not(.af-btn-danger) {
    background: #fff !important;
    border: 1px solid #fecaca !important;
    color: #b91c1c !important;
}

.theme-new .af-hr-portal-page .btn-primary.btn-sm {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

/* Delete / confirm modals (may sit outside page container) */
.theme-new .af-hr-delete-modal {
    background: #ffffff !important;
    background-image: none !important;
    color: #1e293b !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.12) !important;
}

.theme-new .af-hr-delete-modal .af-hr-delete-modal-header,
.theme-new .af-hr-delete-modal .modal-header {
    background: #fef2f2 !important;
    border-bottom: 1px solid #fecaca !important;
    color: #991b1b !important;
}

.theme-new .af-hr-delete-modal .modal-title,
.theme-new .af-hr-delete-modal .modal-title i {
    color: #991b1b !important;
}

.theme-new .af-hr-delete-modal .af-hr-delete-modal-body,
.theme-new .af-hr-delete-modal .modal-body {
    color: #1e293b !important;
    background: #ffffff !important;
}

.theme-new .af-hr-delete-modal .af-hr-delete-modal-footer,
.theme-new .af-hr-delete-modal .modal-footer {
    background: #ffffff !important;
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-hr-delete-modal .btn-close {
    filter: none;
}

/* ============================================================
   HR Dashboard polish — nav card, modules icons/buttons
   ============================================================ */

/* Module icons — clear solid New Theme blue (no grey circle) */
.theme-new .af-hr-dashboard-page .af-hr-module-icon-wrap {
    width: 3.25rem;
    height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.theme-new .af-hr-dashboard-page .af-hr-module-icon,
.theme-new .af-hr-dashboard-page .af-hr-module-icon-wrap i {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.85rem !important;
    line-height: 1 !important;
}

/* Summary KPI icons — match heading blue */
.theme-new .af-hr-dashboard-page .af-hr-summary-icon-wrap {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-hr-dashboard-page .af-hr-summary-icon,
.theme-new .af-hr-dashboard-page .af-hr-summary-icon-wrap i,
.theme-new .af-hr-dashboard-page .af-hr-summary-icon-wrap .text-primary,
.theme-new .af-hr-dashboard-page .af-hr-summary-icon-wrap .text-success,
.theme-new .af-hr-dashboard-page .af-hr-summary-icon-wrap .text-warning {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Access Module — rectangular outline that inverts on hover (dashboard style) */
.theme-new .af-hr-dashboard-page .af-hr-module-btn,
.theme-new .af-hr-dashboard-page a.af-hr-module-btn,
.theme-new .af-hr-dashboard-page a[class*="btn-module-"] {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    max-width: 14rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0.55rem 1.15rem !important;
    min-height: 42px;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    color: var(--af-new-primary, #2563eb) !important;
    background: #ffffff !important;
    background-image: none !important;
    border: 2px solid var(--af-new-primary, #2563eb) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.theme-new .af-hr-dashboard-page .af-hr-module-btn:hover,
.theme-new .af-hr-dashboard-page .af-hr-module-btn:focus,
.theme-new .af-hr-dashboard-page a.af-hr-module-btn:hover,
.theme-new .af-hr-dashboard-page a[class*="btn-module-"]:hover {
    background: var(--af-new-primary, #2563eb) !important;
    background-image: none !important;
    color: #ffffff !important;
    border-color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-hr-dashboard-page .module-card {
    background: #ffffff !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}

.theme-new .af-hr-dashboard-page .module-card .card-title,
.theme-new .af-hr-dashboard-page .module-card .card-text {
    color: #1e293b !important;
}

.theme-new .af-hr-dashboard-page .af-hr-modules-shell > .card-header {
    background: #eff6ff !important;
    border-bottom: 1px solid #bfdbfe !important;
}

.theme-new .af-hr-dashboard-page .af-hr-modules-shell > .card-header h5,
.theme-new .af-hr-dashboard-page .af-hr-modules-shell > .card-header .text-white {
    color: #1e3a5f !important;
}

.theme-new .af-hr-dashboard-page .af-hr-modules-grid {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.theme-new .af-hr-dashboard-page .af-hr-modules-grid > .col {
    display: flex;
}

/* ------------------------------------------------------------
   HR Portal shared shell — same light plane as Dashboard
   Navbar + module content share one af-hr-shell wrapper
   ------------------------------------------------------------ */
html body.theme-new.bg-dark.af-app:has(.af-hr-shell),
body.theme-new.af-app:has(.af-hr-shell),
body.theme-new.bg-dark:has(.af-hr-shell) {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    background-image: none !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-hr-shell) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: #f1f5f9 !important;
}

.theme-new .af-hr-shell.af-hr-portal-page {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #f1f5f9 !important;
    min-height: calc(100vh - 8rem);
    padding-top: 0.75rem !important;
    padding-bottom: 2.5rem !important;
    border-radius: 0;
}

.theme-new .af-hr-shell > .af-hr-portal-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
    padding-top: 0.35rem;
}

.theme-new .af-hr-shell-main {
    width: 100%;
    max-width: 100%;
}

.theme-new .af-hr-shell-main.container-fluid {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

@media (min-width: 992px) {
    .theme-new .af-hr-shell-main.container-fluid {
        padding-left: 1.75rem !important;
        padding-right: 1.75rem !important;
    }
}

/* ------------------------------------------------------------
   HR Portal consistency — icons, actions, empty text, footer
   New Theme only; Classic unchanged
   ------------------------------------------------------------ */

/* Do not force full-viewport chrome (hides site footer below fold) */
.theme-new .af-hr-portal-page,
.theme-new .af-hr-shell.af-hr-portal-page {
    min-height: 0 !important;
    padding-bottom: 1.5rem !important;
}

/* Keep site footer visible / readable after HR content */
body.theme-new:has(.af-hr-shell) > footer.bg-gradient,
body.theme-new:has(.af-hr-portal-page) > footer.bg-gradient {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    position: relative;
    z-index: 1;
}

body.theme-new:has(.af-hr-shell) > footer.bg-gradient .text-light,
body.theme-new:has(.af-hr-shell) > footer.bg-gradient .text-white,
body.theme-new:has(.af-hr-portal-page) > footer.bg-gradient .text-light,
body.theme-new:has(.af-hr-portal-page) > footer.bg-gradient .text-white {
    color: #f8fafc !important;
}

/* Module / chart heading icons → solid New Theme blue */
.theme-new .af-hr-portal-page h1 i,
.theme-new .af-hr-portal-page h2 i,
.theme-new .af-hr-portal-page h3 i,
.theme-new .af-hr-portal-page h4 i,
.theme-new .af-hr-portal-page h5 i,
.theme-new .af-hr-portal-page .af-hr-module-heading i,
.theme-new .af-hr-portal-page .af-hr-module-heading i[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

/* Empty / placeholder copy on light tables */
.theme-new .af-hr-portal-page .table .text-white,
.theme-new .af-hr-portal-page .table .text-light,
.theme-new .af-hr-portal-page td.text-white,
.theme-new .af-hr-portal-page .table span.text-white,
.theme-new .af-hr-portal-page .no-records,
.theme-new .af-hr-portal-page .record-notes {
    color: #475569 !important;
}

.theme-new .af-hr-portal-page .table tbody td {
    color: #1e293b !important;
}

.theme-new .af-hr-portal-page .table tbody td .text-muted,
.theme-new .af-hr-portal-page .table .text-muted {
    color: #64748b !important;
}

/* Uniform action controls (add / edit / outline variants) — blue, same size */
.theme-new .af-hr-portal-page .table .btn-sm,
.theme-new .af-hr-portal-page .table .btn-xs,
.theme-new .af-hr-portal-page .action-btn,
.theme-new .af-hr-portal-page .medical-action-btn,
.theme-new .af-hr-portal-page .complaint-action-btn,
.theme-new .af-hr-portal-page .incident-action-btn,
.theme-new .af-hr-portal-page .vetting-action-btn,
.theme-new .af-hr-portal-page .recruitment-action-btn,
.theme-new .af-hr-portal-page .note-action-btn,
.theme-new .af-hr-portal-page .exit-action-btn,
.theme-new .af-hr-portal-page .timeline-action-btn,
.theme-new .af-hr-portal-page .appraisal-action-btn,
.theme-new .af-hr-portal-page .eligibility-action-btn,
.theme-new .af-hr-portal-page .pip-action-btn {
    min-width: 2.25rem;
    min-height: 2.25rem;
    padding: 0.35rem 0.55rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 8px !important;
    font-size: 0.875rem !important;
    line-height: 1.1 !important;
    vertical-align: middle;
}

.theme-new .af-hr-portal-page .table .btn-sm i,
.theme-new .af-hr-portal-page .table .btn-xs i,
.theme-new .af-hr-portal-page .action-icon,
.theme-new .af-hr-portal-page .action-icon-lg,
.theme-new .af-hr-portal-page .medical-action-icon,
.theme-new .af-hr-portal-page .complaint-action-icon,
.theme-new .af-hr-portal-page .incident-action-icon,
.theme-new .af-hr-portal-page .vetting-action-icon,
.theme-new .af-hr-portal-page .recruitment-action-icon,
.theme-new .af-hr-portal-page .exit-action-icon,
.theme-new .af-hr-portal-page .timeline-action-icon,
.theme-new .af-hr-portal-page .appraisal-action-icon,
.theme-new .af-hr-portal-page .note-action-btn i {
    font-size: 0.95rem !important;
    line-height: 1 !important;
    color: inherit !important;
}

.theme-new .af-hr-portal-page .table .btn-warning,
.theme-new .af-hr-portal-page .table .btn-success,
.theme-new .af-hr-portal-page .table .btn-primary,
.theme-new .af-hr-portal-page .table .btn-info,
.theme-new .af-hr-portal-page .table .btn-outline-warning,
.theme-new .af-hr-portal-page .table .btn-outline-success,
.theme-new .af-hr-portal-page .table .btn-outline-primary,
.theme-new .af-hr-portal-page .table .btn-outline-info,
.theme-new .af-hr-portal-page .table .btn-outline-danger:not([data-bs-target*="delete"]):not(.delete-disciplinary-btn):not(.delete-complaint-btn):not(.delete-incident-btn):not(.delete-appraisal-btn):not(.delete-probation-btn):not(.delete-recruitment-btn):not(.delete-exit-btn):not(.delete-timeline-btn):not(.delete-note-btn):not(.delete-cv-btn),
.theme-new .af-hr-portal-page a.btn-success.btn-lg,
.theme-new .af-hr-portal-page a.btn-success.btn-sm:not([data-bs-target*="delete"]),
.theme-new .af-hr-portal-page .btn-success.w-100 {
    background: var(--af-new-primary, #2563eb) !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.theme-new .af-hr-portal-page .table .btn-warning:hover,
.theme-new .af-hr-portal-page .table .btn-success:hover,
.theme-new .af-hr-portal-page .table .btn-outline-warning:hover,
.theme-new .af-hr-portal-page .table .btn-outline-success:hover,
.theme-new .af-hr-portal-page .table .btn-outline-info:hover,
.theme-new .af-hr-portal-page a.btn-success.btn-lg:hover,
.theme-new .af-hr-portal-page .btn-success.w-100:hover {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
}

/* Delete actions stay red, same footprint */
.theme-new .af-hr-portal-page .table .btn-danger:not(.af-btn-danger),
.theme-new .af-hr-portal-page .table .btn-outline-danger[data-bs-target*="delete"],
.theme-new .af-hr-portal-page .table .delete-disciplinary-btn,
.theme-new .af-hr-portal-page .table .delete-complaint-btn,
.theme-new .af-hr-portal-page .table .delete-incident-btn,
.theme-new .af-hr-portal-page .table .delete-appraisal-btn,
.theme-new .af-hr-portal-page .table .delete-probation-btn,
.theme-new .af-hr-portal-page .table .delete-recruitment-btn,
.theme-new .af-hr-portal-page .table .delete-exit-btn,
.theme-new .af-hr-portal-page .table .delete-timeline-btn,
.theme-new .af-hr-portal-page .table .delete-note-btn,
.theme-new .af-hr-portal-page .table .delete-cv-btn {
    background: #fff !important;
    border: 1px solid #fecaca !important;
    color: #b91c1c !important;
}

/* Form Cancel → blue / white (match Save); leave modal Cancel alone */
.theme-new .af-hr-portal-page form a.btn-secondary,
.theme-new .af-hr-portal-page form .btn-secondary:not([data-bs-dismiss]),
.theme-new .af-hr-portal-page form a.btn-outline-secondary,
.theme-new .af-hr-portal-page form .af-btn-secondary:not([data-bs-dismiss]),
.theme-new .af-hr-portal-page form a.af-btn-secondary {
    background: var(--af-new-primary, #2563eb) !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: #ffffff !important;
}

.theme-new .af-hr-portal-page form .btn-success,
.theme-new .af-hr-portal-page form button.btn-success,
.theme-new .af-hr-portal-page form .btn-success.w-100 {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #ffffff !important;
    width: auto !important;
    max-width: 100%;
    min-width: 10rem;
    padding: 0.55rem 1.25rem !important;
    border-radius: 8px !important;
    font-weight: 600;
}

.theme-new .af-hr-portal-page form .d-flex.justify-content-between .btn-success.w-100,
.theme-new .af-hr-portal-page form .btn-success.w-100 {
    width: auto !important;
}

/* Status badges on recruitment stay readable */
.theme-new .af-hr-portal-page .status-badge {
    color: #fff !important;
}

/* Export hub cards */
.theme-new .af-hr-exports-page .af-hr-export-card .card-body {
    min-height: 11rem;
}

.theme-new .af-hr-exports-page .af-hr-export-icon {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

/* ============================================================
   Message Center — New Theme (Classic unchanged)
   ============================================================ */

.theme-classic .af-msg-nav-shell,
body:not(.theme-new) .af-msg-nav-shell,
.theme-classic .af-msg-new-only,
body:not(.theme-new) .af-msg-new-only {
    display: none !important;
}

.theme-new .af-msg-classic-nav,
.theme-new .af-msg-classic-only {
    display: none !important;
}

html body.theme-new.bg-dark.af-app:has(.af-msg-shell),
body.theme-new.af-app:has(.af-msg-shell),
body.theme-new.bg-dark:has(.af-msg-shell) {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-msg-shell) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: #f1f5f9 !important;
}

.theme-new .af-msg-shell.af-msg-page {
    width: 100%;
    background: #f1f5f9 !important;
    min-height: 0;
    padding-top: 0.75rem;
    padding-bottom: 1.5rem;
}

.theme-new .af-msg-nav-shell.af-schedule-nav-shell {
    background: transparent !important;
    padding-top: 0.35rem;
}

.theme-new .af-msg-nav-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.25rem 0 0.5rem !important;
}

.theme-new .af-msg-nav-subtitle {
    color: #64748b !important;
}

.theme-new .af-msg-nav-panel .af-schedule-nav-title,
.theme-new .af-msg-nav-panel .af-schedule-nav-icon,
.theme-new .af-msg-nav-panel .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-msg-nav-tabs .nav-link {
    color: #334155 !important;
    white-space: nowrap;
}

.theme-new .af-msg-nav-tabs .nav-link.active {
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700;
}

/* Outlook / Gmail 3-pane client */
.theme-new .af-msg-outlook {
    display: grid;
    grid-template-columns: 200px minmax(260px, 34%) 1fr;
    gap: 0;
    min-height: calc(100vh - 15rem);
    max-height: calc(100vh - 12rem);
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

@media (max-width: 991px) {
    .theme-new .af-msg-outlook {
        grid-template-columns: 1fr;
        max-height: none;
        min-height: 0;
    }
}

.theme-new .af-msg-outlook-folders {
    background: #f8fafc;
    border-right: 1px solid #e2e8f0;
    padding: 0.85rem 0.65rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.theme-new .af-msg-outlook-folders .af-msg-folder-link {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.65rem 0.75rem;
    border-radius: 8px;
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 0.92rem;
    border: 0;
    background: transparent;
    width: 100%;
    text-align: left;
    cursor: pointer;
}

.theme-new .af-msg-outlook-folders .af-msg-folder-link i {
    width: 1.1rem;
    color: #64748b;
}

.theme-new .af-msg-outlook-folders .af-msg-folder-link:hover,
.theme-new .af-msg-outlook-folders .af-msg-folder-link.active {
    background: #eff6ff !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-msg-outlook-folders .af-msg-folder-link.active i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-msg-folder-badge {
    margin-left: auto;
    background: #e2e8f0 !important;
    color: #1e293b !important;
    font-weight: 700;
    font-size: 0.75rem;
}

.theme-new .af-msg-folder-compose {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: 0;
    padding: 0.7rem 0.85rem;
    border-radius: 8px;
    background: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.92rem;
    cursor: pointer;
}

.theme-new .af-msg-folder-compose:hover {
    background: #1d4ed8 !important;
    color: #fff !important;
}

/* In-page New mail panel (Message Center) */
.theme-new .af-msg-compose-backdrop.is-open {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    z-index: 1040;
}

.theme-new .af-msg-compose-panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -48%);
    width: min(680px, calc(100vw - 1.5rem));
    max-height: min(92vh, 860px);
    overflow: auto;
    z-index: 1050;
    background: #fff;
    color: #1e293b;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.22);
    display: none;
}

.theme-new .af-msg-compose-panel.is-open {
    display: block;
}

.theme-new .af-msg-compose-panel .af-msg-compose-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.1rem 1.25rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc !important;
}

.theme-new .af-msg-compose-panel .af-msg-compose-title {
    font-size: 1.2rem;
    font-weight: 800;
    margin: 0;
    color: #0f172a !important;
}

.theme-new .af-msg-compose-panel .af-msg-compose-sub {
    color: #64748b;
    font-size: 0.875rem;
}

.theme-new .af-msg-compose-body {
    padding: 1.1rem 1.25rem;
}

.theme-new .af-msg-compose-footer {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
    padding: 0.9rem 1.25rem;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.theme-new .af-msg-compose-mode {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.theme-new .af-msg-mode-btn {
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    border-radius: 999px;
    padding: 0.4rem 0.95rem;
    font-weight: 600;
    font-size: 0.9rem;
}

.theme-new .af-msg-mode-btn.active {
    background: var(--af-new-primary, #2563eb);
    border-color: var(--af-new-primary, #2563eb);
    color: #fff;
}

.theme-new .af-msg-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    min-height: 0.25rem;
    margin-bottom: 0.5rem;
}

.theme-new .af-msg-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    background: #dbeafe;
    color: #1e3a8a;
    border-radius: 999px;
    padding: 0.28rem 0.7rem;
    font-size: 0.85rem;
    font-weight: 650;
}

.theme-new .af-msg-chip button {
    border: 0;
    background: transparent;
    color: inherit;
    line-height: 1;
    padding: 0;
    font-size: 1.05rem;
}

.theme-new .af-msg-typeahead-wrap {
    position: relative;
}

.theme-new .af-msg-suggestions {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 2px);
    background: #fff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    max-height: 240px;
    overflow: auto;
    z-index: 6;
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
}

.theme-new .af-msg-suggestions li button {
    width: 100%;
    text-align: left;
    border: 0;
    background: transparent;
    padding: 0.6rem 0.8rem;
}

.theme-new .af-msg-suggestions li button:hover {
    background: #eff6ff;
}

.theme-new .af-msg-suggest-name {
    font-weight: 700;
    display: block;
    color: #0f172a;
}

.theme-new .af-msg-suggest-dept {
    font-size: 0.78rem;
    color: #64748b;
}

.theme-new .af-msg-compose-panel #afMsgDepartmentSelect {
    min-width: 0;
    flex: 1 1 220px;
}

.theme-new .af-msg-outlook-list {
    border-right: 1px solid #e2e8f0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
}

.theme-new .af-msg-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.theme-new .af-msg-list-toolbar-title {
    font-weight: 800;
    color: #0f172a;
    font-size: 0.98rem;
}

.theme-new .af-msg-list-toolbar-count {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
    background: #e2e8f0;
    border-radius: 999px;
    padding: 0.15rem 0.55rem;
}

.theme-new .af-msg-list-scroll {
    overflow-y: auto;
    flex: 1;
}

.theme-new .af-msg-mail-item {
    display: flex;
    gap: 0.75rem;
    width: 100%;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #f1f5f9;
    background: #fff;
    padding: 0.85rem 1rem;
    cursor: pointer;
    transition: background 0.12s ease;
}

.theme-new .af-msg-mail-item:hover {
    background: #f8fafc;
}

.theme-new .af-msg-mail-item.active {
    background: #eff6ff !important;
    box-shadow: inset 3px 0 0 var(--af-new-primary, #2563eb);
}

.theme-new .af-msg-mail-item--unread {
    background: #fafdff;
}

.theme-new .af-msg-mail-item--unread .af-msg-mail-from,
.theme-new .af-msg-mail-item--unread .af-msg-mail-subject {
    font-weight: 800;
    color: #0f172a;
}

.theme-new .af-msg-mail-avatar {
    flex: 0 0 2.25rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background: #dbeafe;
    color: var(--af-new-primary, #2563eb);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.95rem;
}

.theme-new .af-msg-mail-avatar--sent {
    background: #e2e8f0;
    color: #475569;
    font-size: 0.8rem;
}

.theme-new .af-msg-mail-meta {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.theme-new .af-msg-mail-top {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.theme-new .af-msg-mail-from {
    font-weight: 700;
    color: #1e293b;
    font-size: 0.9rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.theme-new .af-msg-mail-date {
    color: #64748b;
    font-size: 0.78rem;
    white-space: nowrap;
}

.theme-new .af-msg-mail-subject {
    color: #334155;
    font-size: 0.88rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.theme-new .af-msg-mail-preview {
    color: #94a3b8;
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.theme-new .af-msg-empty-list {
    text-align: center;
    padding: 2.5rem 1rem;
    color: #94a3b8;
}

.theme-new .af-msg-empty-list i {
    font-size: 1.75rem;
    margin-bottom: 0.5rem;
    display: block;
}

.theme-new .af-msg-outlook-read {
    display: flex;
    flex-direction: column;
    min-width: 0;
    background: #fff;
    overflow: hidden;
}

.theme-new .af-msg-read-empty {
    margin: auto;
    text-align: center;
    color: #94a3b8;
    padding: 2rem;
}

.theme-new .af-msg-read-empty i {
    font-size: 2.25rem;
    margin-bottom: 0.75rem;
    color: #cbd5e1;
}

.theme-new .af-msg-read-empty h3 {
    color: #475569;
    font-size: 1.15rem;
    font-weight: 800;
}

.theme-new .af-msg-read-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.theme-new .af-msg-read-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding: 0.75rem 1.1rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
}

.theme-new .af-msg-read-subject {
    font-size: 1.35rem;
    font-weight: 800;
    color: #0f172a;
    margin: 0;
    padding: 1rem 1.25rem 0.5rem;
}

.theme-new .af-msg-read-meta {
    padding: 0 1.25rem 1rem;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    font-size: 0.92rem;
    display: grid;
    gap: 0.25rem;
}

.theme-new .af-msg-read-label {
    display: inline-block;
    min-width: 3.2rem;
    color: #94a3b8;
    font-weight: 700;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.theme-new .af-msg-read-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.25rem;
    white-space: pre-wrap;
    line-height: 1.65;
    color: #1e293b;
    font-size: 0.98rem;
}

.theme-new .af-msg-page .glass-card,
.theme-new .af-msg-page .card.af-card {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e293b !important;
}

.theme-new .af-msg-detail-header,
.theme-new .af-msg-compose-header,
.theme-new .af-msg-page .bg-gradient-view,
.theme-new .af-msg-page .bg-gradient-reply,
.theme-new .af-msg-page .bg-gradient-compose {
    background: #eff6ff !important;
    color: #1e3a5f !important;
}

.theme-new .af-msg-detail-title,
.theme-new .af-msg-compose-title,
.theme-new .af-msg-detail-title.text-white,
.theme-new .af-msg-compose-title.text-white,
.theme-new .af-msg-page .card-header .text-white,
.theme-new .af-msg-page .card-header h2,
.theme-new .af-msg-page .card-header i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-msg-page .form-label,
.theme-new .af-msg-page .form-label.text-light,
.theme-new .af-msg-page label {
    color: #334155 !important;
}

.theme-new .af-msg-page .form-control,
.theme-new .af-msg-page .form-select,
.theme-new .af-msg-page textarea,
.theme-new .af-msg-page .form-control.bg-dark,
.theme-new .af-msg-page .form-control.text-light {
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new .af-msg-page .af-btn-primary,
.theme-new .af-msg-page .btn.af-btn-primary,
.theme-new .af-msg-page button.btn-success.af-btn-primary,
.theme-new .af-msg-page button.btn-primary.af-btn-primary {
    background: var(--af-new-primary, #2563eb) !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-weight: 600;
}

.theme-new .af-msg-page .af-btn-secondary,
.theme-new .af-msg-page a.af-btn-secondary {
    background: #fff !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: 8px !important;
    font-weight: 600;
}

.theme-new .af-msg-page .af-btn-danger {
    background: #fff !important;
    border: 1px solid #fecaca !important;
    color: #b91c1c !important;
    border-radius: 8px !important;
}

.theme-new .af-msg-page .text-dark,
.theme-new .af-msg-page .card-body {
    color: #1e293b !important;
}

.theme-new .af-msg-detail-footer {
    background: #f8fafc !important;
    border-top: 1px solid #e2e8f0 !important;
}

body.theme-new:has(.af-msg-shell) > footer.bg-gradient {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
}

/* ============================================================
   Workplace Feed — New Theme social wall
   ============================================================ */

html body.theme-new.bg-dark.af-app:has(.af-workplace-page),
body.theme-new.af-app:has(.af-workplace-page),
body.theme-new.bg-dark:has(.af-workplace-page) {
    background: #f1f5f9 !important;
    background-color: #f1f5f9 !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-workplace-page) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    background-color: #f1f5f9 !important;
}

.theme-new .af-workplace-page {
    background: transparent;
    color: #1e293b;
}

.theme-new .af-workplace-title,
.theme-new .af-workplace-title.text-gradient,
.theme-new .af-workplace-title i,
.theme-new .af-workplace-title i[style] {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-workplace-new-btn.btn-gradient-secondary,
.theme-new .af-workplace-page .af-btn-primary,
.theme-new .af-workplace-page .btn.af-btn-primary,
.theme-new .af-workplace-page .btn-gradient-secondary {
    background: var(--af-new-primary, #2563eb) !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-weight: 600;
    box-shadow: none !important;
}

.theme-new .af-workplace-page .af-btn-secondary,
.theme-new .af-workplace-page .btn.af-btn-secondary,
.theme-new .af-workplace-page .btn-gradient-primary {
    background: #fff !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-radius: 8px !important;
    font-weight: 600;
}

.theme-new .af-workplace-filters .form-label,
.theme-new .af-workplace-filters .text-gradient {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: #334155 !important;
}

.theme-new .af-workplace-filters .form-select,
.theme-new .af-workplace-page .form-control,
.theme-new .af-workplace-page .form-control.bg-dark,
.theme-new .af-workplace-page .form-control.text-light {
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
}

.theme-new .af-workplace-post.card,
.theme-new .af-workplace-post.bg-dark-700 {
    background: #ffffff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 14px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 24px rgba(59, 130, 246, 0.08) !important;
}

.theme-new .af-workplace-author,
.theme-new .af-workplace-author.text-gradient {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: #0f172a !important;
}

.theme-new .af-workplace-author i,
.theme-new .af-workplace-author i[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-workplace-time,
.theme-new .af-workplace-time.text-light {
    color: #64748b !important;
}

.theme-new .af-workplace-content,
.theme-new .af-workplace-content.text-white,
.theme-new .af-workplace-post .text-white,
.theme-new .af-workplace-post .text-light {
    color: #1e293b !important;
}

.theme-new .af-workplace-post .text-muted {
    color: #64748b !important;
}

.theme-new .af-workplace-post strong.text-light {
    color: #0f172a !important;
}

/* Comments — light cards + input (overrides Classic inline/dark styles) */
.theme-new .af-workplace-comments {
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-workplace-comments-heading,
.theme-new .af-workplace-comments-heading.text-gradient {
    background: none !important;
    -webkit-text-fill-color: initial !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-workplace-comment,
.theme-new .af-workplace-comment.glass-card {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    color: #1e293b !important;
    box-shadow: none !important;
}

.theme-new .af-workplace-comment-author,
.theme-new .af-workplace-comment-author.text-light,
.theme-new .af-workplace-comment .text-light {
    color: #0f172a !important;
}

.theme-new .af-workplace-comment-time,
.theme-new .af-workplace-comment-time.text-light {
    color: #64748b !important;
}

.theme-new .af-workplace-comment-body,
.theme-new .af-workplace-comment-body.text-light {
    color: #334155 !important;
}

.theme-new .af-workplace-comment-input.form-control,
.theme-new .af-workplace-comment-input.form-control.bg-dark,
.theme-new .af-workplace-comment-input.form-control.text-light,
.theme-new .af-workplace-page .af-workplace-comment-form .form-control.bg-dark.text-light {
    background: #ffffff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
}

.theme-new .af-workplace-comment-input::placeholder,
.theme-new .af-workplace-page .af-workplace-comment-form .form-control::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.theme-new .af-workplace-post .reaction-section {
    border-top: 1px solid #e2e8f0 !important;
}

.theme-new .af-workplace-post .reaction-btn {
    color: #475569 !important;
}

.theme-new .af-workplace-post .reaction-btn:hover,
.theme-new .af-workplace-post .reaction-btn.active {
    background: #eff6ff !important;
    color: var(--af-new-primary, #2563eb) !important;
    border-color: #bfdbfe !important;
}

.theme-new .af-workplace-post .reaction-popover {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12) !important;
}

.theme-new .af-workplace-page .page-link.bg-dark,
.theme-new .af-workplace-page .page-link {
    background: #fff !important;
    color: #1e293b !important;
    border-color: #cbd5e1 !important;
}

.theme-new .af-workplace-page .page-item.active .page-link {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

.theme-new .af-workplace-page .modal-content.bg-dark {
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #bfdbfe !important;
}

.theme-new .af-workplace-page .alert.glass-card,
.theme-new .af-workplace-page .alert {
    background: #eff6ff !important;
    color: #1e3a5f !important;
    border: 1px solid #bfdbfe !important;
}

body.theme-new:has(.af-workplace-page) > footer.bg-gradient {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
}

/* ============================================================
   Survey Management (admin) — New Theme
   Reference: HR Portal shell / schedule navbar
   Classic purple navbar preserved via .af-survey-classic-nav
   ============================================================ */

.theme-classic .af-survey-nav-shell,
body:not(.theme-new) .af-survey-nav-shell {
    display: none !important;
}

.theme-new .af-survey-classic-nav {
    display: none !important;
}

body:not(.theme-new) .af-survey-page-lead {
    display: none !important;
}

html body.theme-new.bg-dark.af-app:has(.af-survey-shell),
body.theme-new.af-app:has(.af-survey-shell),
body.theme-new.bg-dark:has(.af-survey-shell) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #1e293b !important;
}

body.theme-new:has(.af-survey-shell) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: #ffffff !important;
}

.theme-new .af-survey-shell.af-survey-admin-page {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #ffffff !important;
    min-height: 0;
    padding-top: 0.75rem !important;
    padding-bottom: 1.5rem !important;
    border-radius: 0;
}

.theme-new .af-survey-nav-shell.af-schedule-nav-shell {
    padding-top: 0.5rem;
    background: transparent !important;
}

.theme-new .af-survey-nav-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.35rem 0 0.75rem !important;
}

.theme-new .af-survey-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
}

.theme-new .af-survey-nav-panel .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}

.theme-new .af-survey-nav-panel .af-schedule-nav-icon,
.theme-new .af-survey-nav-panel .af-schedule-nav-icon[style] {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    border-bottom: none !important;
}

.theme-new .af-survey-nav-tabs .nav-item {
    flex: 0 0 auto !important;
    width: auto !important;
}

.theme-new .af-survey-nav-tabs .nav-link {
    width: auto !important;
    white-space: nowrap !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.92rem !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
}

.theme-new .af-survey-nav-tabs .nav-link i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-nav-tabs .nav-link:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1e293b !important;
}

.theme-new .af-survey-nav-tabs .nav-link.active {
    background: #eff6ff !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700;
}

.theme-new .af-survey-nav-header {
    margin-bottom: 1rem !important;
}

.theme-new .af-survey-shell-main {
    width: 100%;
    max-width: 100%;
}

.theme-new .af-survey-shell-main.container-fluid {
    max-width: 100% !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.theme-new .af-survey-module-heading {
    color: #0f172a !important;
    font-weight: 800;
    font-size: 1.5rem;
}

.theme-new .af-survey-module-heading i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-page-lead {
    display: block !important;
    color: #475569 !important;
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: 52rem;
}

.theme-new .af-survey-admin-page h1,
.theme-new .af-survey-admin-page h2,
.theme-new .af-survey-admin-page h3,
.theme-new .af-survey-admin-page h4,
.theme-new .af-survey-admin-page h5,
.theme-new .af-survey-admin-page label,
.theme-new .af-survey-admin-page .form-label,
.theme-new .af-survey-admin-page .form-check-label,
.theme-new .af-survey-admin-page p {
    color: #1e293b !important;
}

.theme-new .af-survey-admin-page .form-control,
.theme-new .af-survey-admin-page .form-select,
.theme-new .af-survey-admin-page textarea,
.theme-new .af-survey-admin-page select {
    background: #fff !important;
    color: #1e293b !important;
    border: 1px solid #cbd5e1 !important;
}

.theme-new .af-survey-table-wrap {
    background: #fff;
    border: 1px solid #bfdbfe;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 24px rgba(59, 130, 246, 0.08);
}

.theme-new .af-survey-admin-page .af-survey-table.table-dark,
.theme-new .af-survey-admin-page table.table-dark {
    --bs-table-bg: #ffffff;
    --bs-table-color: #1e293b;
    --bs-table-border-color: #e2e8f0;
    --bs-table-hover-bg: #f8fafc;
    --bs-table-striped-bg: #f8fafc;
    color: #1e293b !important;
    background: #fff !important;
}

.theme-new .af-survey-admin-page .af-survey-table thead th,
.theme-new .af-survey-admin-page table.table-dark thead th {
    background: #eff6ff !important;
    color: #1e3a5f !important;
    border-color: #bfdbfe !important;
    font-weight: 700;
}

.theme-new .af-survey-admin-page .af-survey-table thead th i,
.theme-new .af-survey-admin-page table.table-dark thead th i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-admin-page .af-survey-table tbody td,
.theme-new .af-survey-admin-page table.table-dark tbody td {
    color: #1e293b !important;
    background: #fff !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-survey-admin-page .af-survey-table.table-hover tbody tr:hover td {
    background: #f8fafc !important;
}

.theme-new .af-survey-admin-page .af-btn-primary,
.theme-new .af-survey-admin-page .btn.af-btn-primary,
.theme-new .af-survey-admin-page .btn-primary {
    background: var(--af-new-primary, #2563eb) !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: #fff !important;
}

.theme-new .af-survey-admin-page .af-btn-secondary,
.theme-new .af-survey-admin-page .btn.af-btn-secondary,
.theme-new .af-survey-admin-page .btn-info {
    background: #fff !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-admin-page .af-btn-danger,
.theme-new .af-survey-admin-page .btn.af-btn-danger,
.theme-new .af-survey-admin-page .btn-danger {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
    color: #fff !important;
}

.theme-new .af-survey-admin-page .btn-secondary {
    background: #fff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
}

.theme-new .af-survey-admin-page .question-group {
    background: #fff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 10px !important;
}

.theme-new .af-survey-admin-page .badge.bg-primary {
    background: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-admin-page .badge.bg-dark {
    background: #475569 !important;
}

.theme-new .af-survey-admin-page .badge.bg-success {
    background: #2563eb !important;
}

.theme-new .af-survey-admin-page .badge.bg-danger {
    background: #dc2626 !important;
}

.theme-new .af-survey-admin-page .badge.bg-info {
    background: #dbeafe !important;
    color: #1e3a8a !important;
}

.theme-new .af-survey-admin-page .badge.bg-secondary {
    background: #e2e8f0 !important;
    color: #334155 !important;
}

.theme-new .af-survey-empty,
.theme-new .af-survey-admin-page .alert-secondary {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
}

.theme-new .af-survey-modal .modal-body,
.theme-new .af-survey-modal .modal-body .text-dark {
    color: #1e293b !important;
}

body.theme-new:has(.af-survey-shell) > footer.bg-gradient {
    margin-top: 2rem !important;
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
}

body.theme-new:has(.af-survey-shell) > footer.bg-gradient .text-light,
body.theme-new:has(.af-survey-shell) > footer.bg-gradient .text-white {
    color: #f8fafc !important;
}

/* Survey admin polish — centered nav, compact actions, dashboard + results */
.theme-new .af-survey-nav-shell .af-survey-nav-container.container,
.theme-new .af-survey-content-wrap.container-fluid {
    max-width: 1320px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.theme-new .af-survey-nav-shell.af-schedule-nav-shell {
    padding-top: 0.75rem;
    padding-bottom: 0.35rem;
}

.theme-new .af-survey-nav-tabs {
    justify-content: flex-start !important;
}

.theme-new .af-survey-hero,
.theme-new .af-survey-stat-card,
.theme-new .af-survey-detail-card,
.theme-new .af-survey-results-summary,
.theme-new .af-survey-question-card {
    background: #ffffff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 8px 24px rgba(59, 130, 246, 0.08) !important;
}

.theme-new .af-survey-hero {
    padding: 1.25rem 1.35rem;
}

.theme-new .af-survey-status-legend .af-survey-legend-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: 0.86rem;
    color: #475569;
    line-height: 1.45;
    padding: 0.65rem 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    height: 100%;
}

.theme-new .af-survey-badge {
    font-weight: 650;
    font-size: 0.78rem;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
}

.theme-new .af-survey-badge--public { background: #dbeafe !important; color: #1e40af !important; }
.theme-new .af-survey-badge--private { background: #ede9fe !important; color: #5b21b6 !important; }
.theme-new .af-survey-badge--active { background: #dbeafe !important; color: #1d4ed8 !important; }
.theme-new .af-survey-badge--inactive { background: #fee2e2 !important; color: #b91c1c !important; }
.theme-new .af-survey-badge--archived { background: #e2e8f0 !important; color: #475569 !important; }
.theme-new .af-survey-badge--muted { background: #f1f5f9 !important; color: #64748b !important; }

.theme-new .af-survey-stat-card {
    padding: 1rem 1.1rem;
    text-align: center;
}

.theme-new .af-survey-stat-icon {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.35rem;
    margin-bottom: 0.35rem;
}

.theme-new .af-survey-stat-value {
    font-size: 1.75rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}

.theme-new .af-survey-stat-label {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    margin-top: 0.25rem;
}

.theme-new .af-survey-section-title {
    color: #0f172a !important;
    font-weight: 800;
}

.theme-new .af-survey-section-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-dept-chip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
    font-weight: 600;
    color: #1e293b;
}

/* Compact table action buttons (HR-style) */
.theme-new .af-survey-admin-page .af-survey-action-btn {
    min-width: 2rem;
    min-height: 2rem;
    padding: 0.3rem 0.5rem !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    border-radius: 8px !important;
    font-size: 0.82rem !important;
    line-height: 1.1 !important;
    font-weight: 600;
}

.theme-new .af-survey-admin-page .af-survey-action-label {
    display: none;
}

@media (min-width: 1200px) {
    .theme-new .af-survey-admin-page .af-survey-action-btn {
        padding: 0.35rem 0.65rem !important;
    }
    .theme-new .af-survey-admin-page .af-survey-action-label {
        display: inline;
    }
}

.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-primary,
.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-secondary {
    background: #fff !important;
    border: 1px solid var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-primary:hover,
.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-secondary:hover {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
}

.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-danger {
    background: #fff !important;
    border: 1px solid #dc2626 !important;
    color: #dc2626 !important;
}

.theme-new .af-survey-admin-page .af-survey-action-btn.btn-outline-danger:hover {
    background: #fef2f2 !important;
}

.theme-new .af-survey-detail-list dt {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    margin-bottom: 0.15rem;
}

.theme-new .af-survey-detail-list dd {
    color: #1e293b;
    margin-bottom: 0.85rem;
}

.theme-new .af-survey-detail-card {
    padding: 1.15rem 1.25rem;
}

.theme-new .af-survey-question-list {
    padding-left: 1.1rem;
}

.theme-new .af-survey-question-list-item + .af-survey-question-list-item {
    margin-top: 0.85rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e2e8f0;
}

/* Results page */
.theme-new .af-survey-results-summary {
    padding: 1.15rem 1.25rem;
}

.theme-new .af-survey-kpi {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
    text-align: center;
    height: 100%;
}

.theme-new .af-survey-kpi__value {
    font-size: 1.45rem;
    font-weight: 800;
    color: var(--af-new-primary, #2563eb);
    line-height: 1.1;
}

.theme-new .af-survey-kpi__label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    margin-top: 0.2rem;
}

.theme-new .af-survey-respondent-avatar {
    width: 36px;
    height: 36px;
    object-fit: cover;
    border: 2px solid #bfdbfe;
}

.theme-new .af-survey-respondent-initials {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 800;
    font-size: 0.82rem;
}

.theme-new .af-survey-private-banner {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a5f !important;
}

.theme-new .af-survey-question-card {
    padding: 1rem 1.15rem;
}

.theme-new .af-survey-question-card__header {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    margin-bottom: 0.5rem;
}

.theme-new .af-survey-question-card__index {
    flex: 0 0 auto;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 800;
    font-size: 0.78rem;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
}

.theme-new .af-survey-question-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
}

.theme-new .af-survey-question-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    font-size: 0.82rem;
    color: #64748b;
    margin-bottom: 0.85rem;
}

.theme-new .af-survey-metric-highlight {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
}

.theme-new .af-survey-metric-label {
    font-size: 0.82rem;
    color: #64748b;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.theme-new .af-survey-metric-value {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-survey-bar-chart {
    display: grid;
    gap: 0.55rem;
}

.theme-new .af-survey-bar-row {
    display: grid;
    grid-template-columns: minmax(4rem, 6rem) 1fr minmax(5rem, 7rem);
    gap: 0.55rem;
    align-items: center;
    font-size: 0.86rem;
}

.theme-new .af-survey-bar-label {
    color: #334155;
    font-weight: 600;
}

.theme-new .af-survey-bar-track {
    height: 0.55rem;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
}

.theme-new .af-survey-bar-fill {
    display: block;
    height: 100%;
    background: var(--af-new-primary, #2563eb);
    border-radius: 999px;
    min-width: 2px;
}

.theme-new .af-survey-bar-fill--yes { background: #2563eb; }
.theme-new .af-survey-bar-fill--no { background: #94a3b8; }

.theme-new .af-survey-bar-count {
    color: #64748b;
    font-size: 0.78rem;
    text-align: right;
}

.theme-new .af-survey-text-responses li {
    padding: 0.65rem 0.75rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 0.45rem;
    color: #1e293b;
    white-space: pre-wrap;
}

.theme-new .af-survey-private-note {
    color: #475569;
    font-size: 0.92rem;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
}

/* Survey modals — New Theme white panel, blue accents */
.theme-new .af-survey-delete-modal,
.theme-new .af-survey-modal {
    background: #ffffff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 48px rgba(15, 23, 42, 0.18) !important;
}

.theme-new .af-survey-modal-header,
.theme-new .af-survey-modal-footer {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

.theme-new .af-survey-modal-title {
    color: #0f172a !important;
    font-weight: 800;
}

.theme-new .af-survey-modal-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-survey-modal-body {
    color: #334155 !important;
}

.theme-new .af-survey-delete-name {
    color: #dc2626 !important;
}

.theme-new .af-survey-export-card {
    padding: 0;
}

.theme-new .af-survey-export-card .card-body {
    padding: 1.15rem 1.25rem;
}

.theme-new .af-survey-export-icon {
    color: var(--af-new-primary, #2563eb);
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

.theme-new .af-survey-export-title {
    color: #0f172a !important;
    font-weight: 800;
}

.theme-new .af-survey-export-desc {
    color: #64748b !important;
}

/* ------------------------------------------------------------------
   Super-admin nav + Product Modules (Phase 2B — New Theme)
   Visual language aligned with Recruitment / Candidates.
   Scoped under .theme-new only — Classic Theme unchanged.
   ------------------------------------------------------------------ */

.theme-new body:has(.af-superadmin-modules-page),
.theme-new body:has(.af-superadmin-nav-shell) {
    background: #ffffff !important;
    color: #334155 !important;
}

.theme-new .container.mt-4:has(.af-superadmin-modules-page),
.theme-new .container.mt-4:has(.af-superadmin-features-page),
.theme-new .container.mt-4:has(.af-superadmin-nav-shell) {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-top: 0 !important;
    background: transparent;
}

.theme-new .af-superadmin-nav-shell {
    margin-bottom: 0 !important;
    background: #ffffff;
}

.theme-new .af-superadmin-nav-shell .af-schedule-nav-container {
    max-width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
}

.theme-new .af-superadmin-nav-card.admin-navbar-card,
.theme-new .af-superadmin-nav-card.af-schedule-nav-card {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 12px !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

.theme-new .af-superadmin-nav-card .af-schedule-nav-title,
.theme-new .af-superadmin-nav-card .af-superadmin-nav-user {
    color: #1e293b !important;
}

.theme-new .af-superadmin-nav-card .af-superadmin-nav-subtitle {
    color: #64748b !important;
    opacity: 1 !important;
}

.theme-new .af-superadmin-nav-card .af-schedule-nav-icon,
.theme-new .af-superadmin-nav-card .af-superadmin-nav-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new #adminNavTabs {
    flex-wrap: wrap !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    gap: 0.35rem;
}

.theme-new #adminNavTabs .nav-link,
.theme-new #adminNavTabs .af-superadmin-nav-tab {
    color: #475569 !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-weight: 600 !important;
    font-size: 0.92rem !important;
    padding: 0.65rem 0.9rem !important;
    white-space: nowrap;
}

.theme-new #adminNavTabs .nav-link:before {
    display: none !important;
}

.theme-new #adminNavTabs .nav-link i {
    color: var(--af-new-primary, #2563eb) !important;
    filter: none !important;
}

.theme-new #adminNavTabs .nav-link:hover,
.theme-new #adminNavTabs .nav-link:focus {
    background: #eff6ff !important;
    color: #1e40af !important;
    border-color: #bfdbfe !important;
    box-shadow: none !important;
    outline: 2px solid #93c5fd;
    outline-offset: 2px;
}

.theme-new #adminNavTabs .nav-link.active {
    background: #eff6ff !important;
    color: #1e40af !important;
    border-color: #93c5fd !important;
    box-shadow: none !important;
}

.theme-new #adminNavTabs .nav-link.active:after {
    display: none !important;
}

.theme-new #adminNavTabs .af-superadmin-nav-logout,
.theme-new #adminNavTabs .af-superadmin-nav-logout.text-warning {
    color: #b45309 !important;
}

.theme-new #adminNavTabs .af-superadmin-nav-logout i {
    color: #b45309 !important;
}

.theme-new .af-superadmin-modules-page,
.theme-new .af-superadmin-features-page.af-superadmin-modules-page {
    --af-sa-surface: #ffffff;
    --af-sa-border: #bfdbfe;
    --af-sa-shadow: 0 1px 3px rgba(15, 23, 42, 0.05), 0 1px 2px rgba(15, 23, 42, 0.04);
    max-width: 100%;
    margin-left: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    margin-right: calc(-1 * var(--bs-gutter-x, 0.75rem) * 0.5);
    width: calc(100% + var(--bs-gutter-x, 0.75rem));
    padding: 1rem 1.25rem 2.5rem !important;
    background: #ffffff !important;
    color: #0f172a;
    animation: none !important;
}

@media (min-width: 992px) {
    .theme-new .af-superadmin-modules-page {
        padding: 1.5rem 1.75rem 2.75rem !important;
    }
}

.theme-new .af-superadmin-modules-header {
    background: #ffffff;
    padding: 0.15rem 0 0.85rem;
    margin-bottom: 0.75rem !important;
}

.theme-new .af-superadmin-modules-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.theme-new .af-superadmin-modules-title i {
    color: var(--af-new-primary, #2563eb);
}

.theme-new .af-superadmin-modules-lead {
    color: #1e40af !important;
    font-size: 1.05rem;
    line-height: 1.55;
    font-weight: 500;
    max-width: 52rem;
}

.theme-new .af-superadmin-modules-summary-card {
    background: var(--af-sa-surface);
    border: 1px solid var(--af-sa-border);
    border-radius: 12px;
    padding: 1rem 1.15rem;
    box-shadow: var(--af-sa-shadow);
}

.theme-new .af-superadmin-modules-summary-label {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.theme-new .af-superadmin-modules-summary-value {
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 800;
    margin-top: 0.25rem;
}

.theme-new .af-superadmin-modules-notice {
    border-radius: 10px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1e3a8a !important;
    padding: 0.85rem 1rem;
    font-size: 0.95rem;
}

.theme-new .af-superadmin-modules-dep-banner {
    border-radius: 12px;
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #78350f !important;
    padding: 1rem 1.15rem;
}

.theme-new .af-superadmin-modules-dep-banner-title {
    font-weight: 700;
    font-size: 1rem;
    color: #92400e !important;
    margin-bottom: 0.35rem;
}

.theme-new .af-superadmin-modules-dep-banner-lead {
    color: #92400e !important;
    font-size: 0.92rem;
}

.theme-new .af-superadmin-modules-dep-banner-list {
    color: #78350f;
    font-size: 0.9rem;
    padding-left: 1.2rem;
}

.theme-new .af-superadmin-modules-page .glass-card,
.theme-new .af-superadmin-modules-page .modern-glass,
.theme-new .af-superadmin-modules-section-card {
    background: var(--af-sa-surface) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid var(--af-sa-border) !important;
    border-radius: 12px !important;
    box-shadow: var(--af-sa-shadow) !important;
    overflow: hidden;
}

.theme-new .af-superadmin-modules-section-header {
    padding: 1rem 1.15rem;
    border-bottom: 1px solid #e2e8f0;
    background: #fff !important;
    background-image: none !important;
}

.theme-new .af-superadmin-modules-section-title {
    color: var(--af-new-primary, #2563eb) !important;
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0;
}

.theme-new .af-superadmin-modules-section-title i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-superadmin-modules-section-lead {
    color: #64748b !important;
    font-size: 0.92rem;
    max-width: 48rem;
}

.theme-new .af-superadmin-modules-section-body {
    padding: 1.1rem 1.15rem 1.25rem;
    background: #ffffff;
}

.theme-new .af-superadmin-modules-group-title {
    color: #334155 !important;
    font-size: 0.95rem;
    font-weight: 700;
    margin-bottom: 0.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid #e2e8f0;
}

.theme-new .af-feature-module-card {
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    height: 100%;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

.theme-new .af-feature-module-card.is-enabled {
    border-color: #bfdbfe;
}

.theme-new .af-feature-module-card.is-disabled {
    background: #f8fafc;
    border-style: dashed;
    border-color: #cbd5e1;
}

.theme-new .af-feature-module-card-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
}

.theme-new .af-feature-module-name {
    color: #0f172a !important;
    font-weight: 700;
    font-size: 1.02rem;
    margin: 0 0 0.35rem;
}

.theme-new .af-feature-module-desc {
    color: #475569 !important;
    font-size: 0.9rem;
    line-height: 1.45;
}

.theme-new .af-feature-module-status {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.theme-new .af-feature-module-status.is-on {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.theme-new .af-feature-module-status.is-off {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

.theme-new .af-feature-module-deps {
    margin-top: 0.65rem;
    color: #92400e !important;
    font-size: 0.82rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
}

.theme-new .af-feature-module-meta {
    margin-top: 0.55rem;
    color: #94a3b8 !important;
    font-size: 0.78rem;
}

.theme-new .af-feature-module-toggle-form {
    margin-top: auto;
}

.theme-new .af-feature-module-toggle {
    width: 100%;
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    border-radius: 10px;
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #0f172a;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.theme-new .af-feature-module-toggle:hover {
    background: #f8fafc;
    border-color: #93c5fd;
}

.theme-new .af-feature-module-toggle:focus {
    outline: 2px solid #93c5fd;
    outline-offset: 2px;
}

.theme-new .af-feature-module-toggle.is-on {
    border-color: #86efac;
    background: #f0fdf4;
}

.theme-new .af-feature-module-toggle.is-off {
    border-color: #bfdbfe;
    background: #eff6ff;
}

.theme-new .af-feature-module-toggle-state {
    font-size: 0.85rem;
    color: #334155;
}

.theme-new .af-feature-module-toggle-action {
    font-size: 0.9rem;
    color: var(--af-new-primary, #2563eb);
    font-weight: 700;
}

.theme-new .af-feature-module-toggle.is-on .af-feature-module-toggle-action {
    color: #b45309;
}

.theme-new .af-superadmin-modules-empty {
    color: #64748b;
    font-size: 0.95rem;
    padding: 0.5rem 0;
}

.theme-new .af-superadmin-modules-history-body {
    padding: 0 !important;
}

.theme-new .af-superadmin-modules-history-table {
    margin-bottom: 0;
}

.theme-new .af-superadmin-modules-history-table thead th {
    background: #f1f5f9 !important;
    color: #475569 !important;
    font-weight: 600 !important;
    font-size: 0.82rem;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 0.75rem 1rem;
}

.theme-new .af-superadmin-modules-history-table tbody td {
    color: #0f172a;
    font-size: 0.9rem;
    border-bottom: 1px solid #f1f5f9;
    padding: 0.75rem 1rem;
    vertical-align: middle;
}

.theme-new .af-superadmin-modules-history-key {
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
    color: #475569;
}

.theme-new .af-superadmin-modules-history-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.theme-new .af-superadmin-modules-history-pill.is-on {
    background: #ecfdf5;
    color: #047857;
    border: 1px solid #a7f3d0;
}

.theme-new .af-superadmin-modules-history-pill.is-off {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #cbd5e1;
}

.theme-new .af-superadmin-modules-history-arrow {
    color: #94a3b8;
    margin: 0 0.25rem;
}

@media (max-width: 767px) {
    .theme-new .af-feature-module-card-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .theme-new .af-feature-module-toggle {
        flex-direction: column;
        align-items: flex-start;
        min-height: 3.5rem;
    }

    .theme-new #adminNavTabs .nav-link {
        font-size: 0.85rem !important;
        padding: 0.55rem 0.75rem !important;
    }
}

/* Feature-gated dashboard / portal reflow helpers (New Theme) */
.theme-new .af-admin-dashboard .af-new-modules {
    row-gap: 1.25rem;
}

.theme-new .af-employee-portal.af-new-modules {
    row-gap: 1.25rem;
}

.theme-new .af-employee-portal-heading {
    color: #0f172a !important;
}

.theme-new .af-employee-portal-heading i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-delegated-heading .rounded-pill {
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    color: #1e3a8a !important;
    box-shadow: none !important;
}

.theme-new .af-employee-delegated-heading .rounded-pill i {
    color: var(--af-new-primary, #2563eb) !important;
}

.theme-new .af-employee-delegated-heading-lead {
    color: #64748b !important;
}

.theme-new .af-employee-delegated-separator {
    border: 0;
    border-top: 1px solid #e2e8f0;
    opacity: 1;
    margin: 1.5rem 0;
}

.theme-new .af-employee-delegated-banner-card {
    background: #ffffff !important;
    border: 1px solid #dbeafe !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

/* ==========================================================================
   BATCH U1 — SUPPORT (New Theme only)
   Every rule below is scoped under .theme-new and a Support wrapper
   (.af-support-page / .af-support-nav-shell). Classic Theme (default /
   .theme-classic) inherits none of these rules, so the existing purple/glass
   Support appearance and behaviour remain fully unchanged.
   Reference: survey admin nav shell + schedule/holiday help desk.
   ========================================================================== */

/* ---- Dual section navbar visibility (mirror survey pattern) ---- */
.theme-classic .af-support-nav-shell,
body:not(.theme-new) .af-support-nav-shell {
    display: none !important;
}
.theme-new .af-support-classic-nav {
    display: none !important;
}

/* ---- New-only / Classic-only content helpers ---- */
.theme-classic .af-support-new-only,
body:not(.theme-new) .af-support-new-only {
    display: none !important;
}
.theme-new .af-support-classic-only {
    display: none !important;
}

/* ---- Light page canvas for Support (New Theme base canvas is dark navy) ---- */
html body.theme-new.bg-dark.af-app:has(.af-support-page),
body.theme-new.af-app:has(.af-support-page),
body.theme-new.bg-dark:has(.af-support-page) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    color: #1e293b !important;
}

/* ---- Section nav shell (transparent, like survey/schedule) ---- */
.theme-new .af-support-nav-shell.af-schedule-nav-shell {
    padding-top: 0.5rem;
    background: transparent !important;
}
.theme-new .af-support-nav-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0.35rem 0 0.75rem !important;
}
.theme-new .af-support-nav-header {
    margin-bottom: 1rem !important;
}
.theme-new .af-support-nav-subtitle {
    color: var(--af-new-text-muted, #64748b) !important;
}
.theme-new .af-support-nav-panel .af-schedule-nav-title {
    color: var(--af-new-text-heading-light, #1e293b) !important;
}
.theme-new .af-support-nav-panel .af-schedule-nav-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

/* ---- Section nav tabs ---- */
.theme-new .af-support-nav-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    border-bottom: none !important;
}
.theme-new .af-support-nav-tabs .nav-item {
    flex: 0 0 auto !important;
    width: auto !important;
}
.theme-new .af-support-nav-tabs .nav-link {
    width: auto !important;
    white-space: nowrap !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.92rem !important;
    color: #334155 !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
}
.theme-new .af-support-nav-tabs .nav-link i {
    color: var(--af-new-primary, #2563eb) !important;
}
.theme-new .af-support-nav-tabs .nav-link:hover {
    background: #eff6ff !important;
    border-color: #bfdbfe !important;
    color: #1e293b !important;
}
.theme-new .af-support-nav-tabs .nav-link.active {
    background: #eff6ff !important;
    border-color: var(--af-new-primary, #2563eb) !important;
    color: var(--af-new-primary, #2563eb) !important;
    font-weight: 700;
}

/* ---- Page header + plain-language instructions ---- */
.theme-new .af-support-page-head {
    padding: 0.25rem 0 0;
}
.theme-new .af-support-page-title {
    color: var(--af-new-text-desc, #1e3a8a) !important;
    font-weight: 800;
    font-size: 1.6rem;
}
.theme-new .af-support-page-title i {
    color: var(--af-new-primary, #2563eb) !important;
}
.theme-new .af-support-page-intro {
    color: #475569 !important;
    max-width: 900px;
    line-height: 1.55;
}

/* ---- Recolour Support accents: purple -> soft blue (via CSS vars) ---- */
.theme-new .af-support-page {
    --primary-gradient: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
    --purple-gradient: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%);
}

/* ---- Clean white cards (flatten translucent glass) ---- */
.theme-new .af-support-page .glass-card,
.theme-new .af-support-page .stat-card,
.theme-new .af-support-page .ticket-header-glass {
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}
.theme-new .af-support-page .stat-card::before {
    background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%) !important;
}
.theme-new .af-support-page .help-tips {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: none !important;
}
.theme-new .af-support-page .tip-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

/* ---- Blue icons (replace hardcoded purple #667eea) ---- */
.theme-new .af-support-page .meta-item i,
.theme-new .af-support-page .card-header-glass i,
.theme-new .af-support-page .file-upload-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

/* ---- Form controls: soft-blue focus ---- */
.theme-new .af-support-page .form-control:focus,
.theme-new .af-support-page .form-select:focus,
.theme-new .af-support-page .form-textarea:focus {
    border-color: #3b82f6 !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}
.theme-new .af-support-page .file-upload-area:hover {
    border-color: #3b82f6 !important;
    background: rgba(37, 99, 235, 0.05) !important;
}
.theme-new .af-support-page .file-upload-area:hover .file-upload-icon {
    color: var(--af-new-primary, #2563eb) !important;
}

/* ---- Comments: calm blue/slate accents on white ---- */
.theme-new .af-support-page .comment-content {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06) !important;
}
.theme-new .af-support-page .user-comment .comment-content {
    background: #eff6ff !important;
    border-left: 4px solid var(--af-new-primary, #2563eb) !important;
}
.theme-new .af-support-page .support-comment .comment-content {
    background: #f8fafc !important;
    border-left: 4px solid #94a3b8 !important;
}
.theme-new .af-support-page .comments-timeline::before {
    background: linear-gradient(to bottom, #1d4ed8, #3b82f6) !important;
}

/* ---- Floating action button (dashboard) recolour to blue ---- */
.theme-new .floating-action-btn {
    background: linear-gradient(135deg, #1d4ed8 0%, #3b82f6 100%) !important;
}

/* =====================================================================
   U1 ENHANCEMENT — Ask Bruno starting area, History, Bruno review
   All scoped under .theme-new so Classic Theme is unaffected.
   ===================================================================== */

/* ---- Shared New Theme Support buttons ---- */
.theme-new .af-support-btn-primary {
    background: #2563eb;
    border: 1px solid #2563eb;
    color: #ffffff;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.6rem 1.2rem;
}
.theme-new .af-support-btn-primary:hover { background: #1d4ed8; border-color: #1d4ed8; color: #fff; }
.theme-new .af-support-btn-bruno {
    background: #ffffff;
    border: 1px solid #93c5fd;
    color: #1d4ed8;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.6rem 1.2rem;
}
.theme-new .af-support-btn-bruno:hover { background: #eff6ff; border-color: #60a5fa; color: #1d4ed8; }
.theme-new .af-support-btn-soft {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #334155;
    font-weight: 600;
    border-radius: 10px;
    padding: 0.6rem 1.2rem;
}
.theme-new .af-support-btn-soft:hover { background: #e2e8f0; color: #334155; }

/* ---- "How can we help?" starting area ---- */
.theme-new .af-support-ask-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 1.75rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.theme-new .af-support-ask-title {
    color: #1e3a8a;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 0.35rem;
}
.theme-new .af-support-ask-lead {
    color: #475569;
    margin-bottom: 1rem;
}
.theme-new .af-support-ask-label {
    display: block;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.4rem;
}
.theme-new .af-support-ask-input {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    font-size: 1rem;
    color: #1f2937;
    background: #ffffff;
    resize: vertical;
}
.theme-new .af-support-ask-input:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.theme-new .af-support-ask-error {
    color: #b91c1c;
    font-size: 0.9rem;
    margin-top: 0.5rem;
}
.theme-new .af-support-ask-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}

/* ---- Bruno answer panel ---- */
.theme-new .af-support-bruno-panel {
    margin-top: 1.25rem;
    border-top: 1px solid #e2e8f0;
    padding-top: 1.25rem;
}
.theme-new .af-support-bruno-convo {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.theme-new .af-support-turn {
    display: flex;
    flex-direction: column;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    max-width: 100%;
}
.theme-new .af-support-turn-you {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
}
.theme-new .af-support-turn-bruno {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
}
.theme-new .af-support-turn-who {
    font-weight: 700;
    font-size: 0.8rem;
    color: #1d4ed8;
    margin-bottom: 0.2rem;
}
.theme-new .af-support-turn-bruno .af-support-turn-who { color: #475569; }
.theme-new .af-support-turn-text { color: #1f2937; white-space: pre-wrap; line-height: 1.55; }
.theme-new .af-support-bruno-followup {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 1rem;
}
.theme-new .af-support-solved-note {
    margin-top: 1rem;
    color: #15803d;
    font-weight: 600;
}

/* ---- Bruno review section on create page ---- */
.theme-new .af-support-bruno-review {
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 14px;
    padding: 1.25rem;
}
.theme-new .af-support-bruno-review-head {
    font-weight: 700;
    color: #075985;
    margin-bottom: 0.5rem;
}
.theme-new .af-support-bruno-review-note { color: #475569; font-size: 0.92rem; }
.theme-new .af-support-bruno-review-text {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0.75rem 1rem;
    font-family: inherit;
    color: #1f2937;
    background: #ffffff;
    white-space: pre-wrap;
}

/* ---- History (All Requests) — Outlook-style list ---- */
.theme-new .af-support-history-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.theme-new .af-support-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #475569;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
}
.theme-new .af-support-filter:hover { background: #f1f5f9; color: #1e293b; }
.theme-new .af-support-filter.active {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}
.theme-new .af-support-filter-count {
    background: rgba(148, 163, 184, 0.25);
    border-radius: 999px;
    padding: 0 0.5rem;
    font-size: 0.78rem;
}
.theme-new .af-support-filter.active .af-support-filter-count { background: rgba(255, 255, 255, 0.25); }

.theme-new .af-support-history-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.theme-new .af-support-history-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.theme-new .af-support-history-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 1px 6px rgba(37, 99, 235, 0.12);
}
.theme-new .af-support-history-subject {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.35rem;
}
.theme-new .af-support-history-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
    color: #64748b;
    font-size: 0.85rem;
}
.theme-new .af-support-replied { color: #15803d; font-weight: 600; }
.theme-new .af-support-waiting { color: #b45309; font-weight: 600; }
.theme-new .af-support-history-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
    flex-shrink: 0;
}
.theme-new .af-support-history-open {
    color: #2563eb;
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
}
.theme-new .af-support-chip {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.05rem 0.5rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    color: #475569;
    background: #eef2f7;
    border: 1px solid #dbe3ec;
    vertical-align: middle;
}
.theme-new .af-support-chip-bruno {
    color: #0369a1;
    background: #e0f2fe;
    border-color: #bae6fd;
}
.theme-new .af-support-history-empty {
    text-align: center;
    padding: 3rem 1rem;
    background: #ffffff;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    color: #475569;
}
.theme-new .af-support-history-empty-icon { font-size: 2.5rem; color: #94a3b8; margin-bottom: 0.75rem; }

@media (max-width: 640px) {
    .theme-new .af-support-history-item { flex-direction: column; align-items: flex-start; }
    .theme-new .af-support-history-side { align-items: flex-start; flex-direction: row; }
}

/* ---- No animations on New Theme Support (calm, low cognitive load) ---- */
.theme-new .af-support-page .glass-card,
.theme-new .af-support-page .stat-card,
.theme-new .af-support-page .ticket-header-glass,
.theme-new .af-support-page .form-group,
.theme-new .af-support-page .comment-item,
.theme-new .af-support-page .empty-state,
.theme-new .af-support-page .create-icon-wrapper,
.theme-new .af-support-page .header-icon,
.theme-new .af-support-ask-card,
.theme-new .af-support-history-item {
    animation: none !important;
}
.theme-new .af-support-page .stat-card:hover,
.theme-new .af-support-page .ticket-card:hover,
.theme-new .af-support-page .glass-card:hover,
.theme-new .af-support-page .tip-card:hover,
.theme-new .af-support-page .stat-card:hover .stat-icon,
.theme-new .floating-action-btn:hover {
    transform: none !important;
}
/* ==== END BATCH U1 — SUPPORT ==== */


/* ============================================================
   U1 PHASE 1 — Support reply visibility (New Theme only)
   Recent-list reply state, dashboard tile badge, ticket-detail
   conversation recolour (purple -> blue), calm (no animation).
   Every rule scoped under .theme-new; Classic inherits none.
   ============================================================ */

/* ---- Dashboard guidance line ---- */
.theme-new .af-support-recent-hint {
    color: #64748b;
    font-size: 0.85rem;
    margin-top: 0.35rem;
    max-width: 640px;
}

/* ---- Recent Support Tickets: Outlook-style list ---- */
.theme-new .af-support-recent-list {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 1.25rem;
}
.theme-new .af-support-recent-item {
    display: flex;
    align-items: flex-start;
    gap: 0.9rem;
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.theme-new .af-support-recent-item:hover {
    border-color: #bfdbfe;
    box-shadow: 0 1px 6px rgba(37, 99, 235, 0.12);
}
/* New/unread Support reply: restrained blue emphasis (text + icon also carry meaning) */
.theme-new .af-support-recent-item.has-reply {
    border-color: #bfdbfe;
    background: #f5f9ff;
    border-left: 3px solid #2563eb;
}
.theme-new .af-support-recent-priority {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-top: 0.35rem;
    flex-shrink: 0;
    background: #94a3b8;
}
.theme-new .af-support-recent-priority.priority-low { background: #38a169; }
.theme-new .af-support-recent-priority.priority-medium { background: #d97706; }
.theme-new .af-support-recent-priority.priority-high { background: #ea580c; }
.theme-new .af-support-recent-priority.priority-critical { background: #dc2626; }
.theme-new .af-support-recent-main { flex: 1; min-width: 0; }
.theme-new .af-support-recent-subject {
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 0.3rem;
}
.theme-new .af-support-recent-clip { color: #64748b; margin-left: 0.35rem; }
.theme-new .af-support-recent-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem 1rem;
    color: #64748b;
    font-size: 0.85rem;
}
.theme-new .af-support-recent-reply {
    margin-top: 0.4rem;
    color: #1d4ed8;
    font-weight: 700;
    font-size: 0.88rem;
}
.theme-new .af-support-recent-reply.is-muted { color: #475569; font-weight: 600; }
.theme-new .af-support-recent-waiting {
    margin-top: 0.4rem;
    color: #b45309;
    font-weight: 600;
    font-size: 0.85rem;
}
.theme-new .af-support-recent-side {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.4rem;
    flex-shrink: 0;
}
.theme-new .af-support-recent-action {
    color: #2563eb;
    font-weight: 600;
    font-size: 0.85rem;
    white-space: nowrap;
}
@media (max-width: 640px) {
    .theme-new .af-support-recent-item { flex-wrap: wrap; }
    .theme-new .af-support-recent-side { align-items: flex-start; flex-direction: row; width: 100%; }
}

/* ---- Main dashboard Support tile: "new replies" badge ---- */
.theme-new .af-support-tile-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.8rem;
    border-radius: 999px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    font-weight: 700;
    font-size: 0.85rem;
    text-decoration: none;
}
.theme-new .af-support-tile-badge:hover { background: #dbeafe; color: #1e40af; }

/* ---- Main navbar Support badge (New Theme only; mirrors Messages pill) ---- */
.theme-new .af-support-nav-badge {
    background: #2563eb;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
}

/* ---- History: muted "replied" (closed) variant ---- */
.theme-new .af-support-replied.is-muted { color: #475569; font-weight: 600; }

/* ---- Ticket detail: recolour conversation to blue, drop legacy purple ---- */
.theme-new .af-support-detail-page .comment-avatar {
    background: #2563eb !important;
    box-shadow: none !important;
}
.theme-new .af-support-detail-page .comments-timeline::before {
    background: #dbeafe !important;
    opacity: 1 !important;
}
.theme-new .af-support-detail-page .user-comment .comment-content {
    background: #f1f5f9 !important;
    border-left: 4px solid #2563eb !important;
}
.theme-new .af-support-detail-page .support-comment .comment-content {
    background: #eff6ff !important;
    border-left: 4px solid #1d4ed8 !important;
}
.theme-new .af-support-detail-page .you-badge { background: #2563eb !important; }
.theme-new .af-support-detail-page .card-header-glass i,
.theme-new .af-support-detail-page .meta-item i {
    color: #2563eb;
}
.theme-new .af-support-detail-page .ticket-badge {
    background: #2563eb !important;
    box-shadow: none !important;
}

/* Bruno "Before contacting Support" panel on detail (New only) */
.theme-new .af-support-detail-bruno .card-header-glass i { color: #0369a1; }
.theme-new .af-support-detail-bruno-note {
    color: #475569;
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}
.theme-new .af-support-detail-bruno-transcript {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #38bdf8;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    color: #1e293b;
}

/* Calm: no animations on detail conversation/status dots (New only) */
.theme-new .af-support-detail-page .comment-item,
.theme-new .af-support-detail-page .status-dot {
    animation: none !important;
}
.theme-new .af-support-detail-page .comment-item:hover .comment-content {
    transform: none !important;
}
/* ==== END U1 PHASE 1 — SUPPORT REPLY VISIBILITY ==== */


/* ============================================================
   U5a — SUPER-ADMIN SUPPORT INBOX + DETAIL (New Theme only)
   Soft-blue/white professional inbox + correspondence view.
   Classic markup is preserved and hidden here; every rule is
   scoped under .theme-new so Classic inherits nothing.
   Palette: white / very light blue, established New Theme blue
   (#2563eb). No purple, no glass, no animation.
   ============================================================ */

/* ---- Theme visibility helpers (dual-block Strategy A) ---- */
.af-superadmin-new-only { display: none !important; }
.theme-new .af-superadmin-new-only { display: block !important; }
.theme-new .af-superadmin-classic-only { display: none !important; }

/* ---- Page shell ---- */
.theme-new .af-superadmin-support-page {
    background: #f4f7fb;
    padding: 1.5rem 1rem 3rem;
    min-height: 60vh;
}
.theme-new .af-superadmin-support-shell {
    max-width: 1100px;
    margin: 0 auto;
}
.theme-new .af-superadmin-support-header {
    margin-bottom: 1.25rem;
}
.theme-new .af-superadmin-support-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 .35rem;
}
.theme-new .af-superadmin-support-title i { color: #2563eb; margin-right: .5rem; }
.theme-new .af-superadmin-support-intro {
    color: #64748b;
    font-size: .95rem;
    margin: 0;
    max-width: 720px;
}

/* ---- KPI / summary state cards ---- */
.theme-new .af-superadmin-support-kpis {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: .75rem;
    margin-bottom: 1.1rem;
}
.theme-new .af-superadmin-support-kpi {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: .85rem 1rem;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.theme-new .af-superadmin-support-kpi:hover {
    border-color: #bfdbfe;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .08);
}
.theme-new .af-superadmin-support-kpi.is-active {
    border-color: #2563eb;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .12);
}
.theme-new .af-superadmin-support-kpi-num {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.1;
}
.theme-new .af-superadmin-support-kpi-label {
    font-size: .8rem;
    color: #64748b;
    font-weight: 600;
}
.theme-new .af-superadmin-support-kpi.kpi-attention .af-superadmin-support-kpi-num { color: #b45309; }
.theme-new .af-superadmin-support-kpi.kpi-attention.is-active { border-color: #f59e0b; }

/* ---- Filter bar ---- */
.theme-new .af-superadmin-support-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: .75rem 1rem;
    margin-bottom: 1.1rem;
}
.theme-new .af-superadmin-support-filter-label {
    font-size: .82rem;
    font-weight: 600;
    color: #475569;
    margin: 0;
}
.theme-new .af-superadmin-support-select,
.theme-new .af-superadmin-support-search {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: .45rem .7rem;
    font-size: .9rem;
    color: #1e293b;
    background: #ffffff;
}
.theme-new .af-superadmin-support-search { flex: 1 1 240px; min-width: 180px; }
.theme-new .af-superadmin-support-select:focus,
.theme-new .af-superadmin-support-search:focus,
.theme-new .af-superadmin-support-textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .15);
}

/* ---- Buttons ---- */
.theme-new .af-superadmin-support-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #2563eb;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: .5rem .95rem;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.theme-new .af-superadmin-support-btn:hover { background: #1d4ed8; }
.theme-new .af-superadmin-support-btn-ghost {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #ffffff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: .5rem .95rem;
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.theme-new .af-superadmin-support-btn-ghost:hover { background: #eff6ff; }

/* ---- Request list (Outlook-inspired) ---- */
.theme-new .af-superadmin-support-list {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow: hidden;
}
.theme-new .af-superadmin-support-item {
    display: flex;
    align-items: stretch;
    gap: .85rem;
    padding: .9rem 1.1rem;
    border-bottom: 1px solid #eef2f7;
    text-decoration: none;
    color: inherit;
    transition: background .12s ease;
}
.theme-new .af-superadmin-support-item:last-child { border-bottom: none; }
.theme-new .af-superadmin-support-item:hover { background: #f8fafc; }
.theme-new .af-superadmin-support-item.needs-reply { background: #eff6ff; }
.theme-new .af-superadmin-support-item.needs-reply:hover { background: #e0edff; }

.theme-new .af-superadmin-support-priority {
    flex: 0 0 4px;
    border-radius: 4px;
    background: #cbd5e1;
}
.theme-new .af-superadmin-support-priority.prio-low { background: #94a3b8; }
.theme-new .af-superadmin-support-priority.prio-medium { background: #2563eb; }
.theme-new .af-superadmin-support-priority.prio-high { background: #f59e0b; }
.theme-new .af-superadmin-support-priority.prio-critical { background: #dc2626; }

.theme-new .af-superadmin-support-main { flex: 1 1 auto; min-width: 0; }
.theme-new .af-superadmin-support-row1 {
    display: flex;
    align-items: baseline;
    gap: .6rem;
    flex-wrap: wrap;
}
.theme-new .af-superadmin-support-requester { font-weight: 700; color: #1e293b; font-size: .95rem; }
.theme-new .af-superadmin-support-email { color: #94a3b8; font-size: .82rem; }
.theme-new .af-superadmin-support-subject {
    color: #334155;
    font-size: .95rem;
    margin: .2rem 0 .3rem;
    font-weight: 500;
}
.theme-new .af-superadmin-support-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .9rem;
    color: #94a3b8;
    font-size: .78rem;
}
.theme-new .af-superadmin-support-meta i { margin-right: .3rem; }
.theme-new .af-superadmin-support-state { margin-top: .4rem; }
.theme-new .af-superadmin-support-state .state-needs {
    color: #b45309;
    font-weight: 600;
    font-size: .8rem;
}
.theme-new .af-superadmin-support-state .state-replied {
    color: #2563eb;
    font-weight: 600;
    font-size: .8rem;
}

.theme-new .af-superadmin-support-chip {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    background: #f1f5f9;
    color: #475569;
    border-radius: 6px;
    padding: .1rem .45rem;
    font-size: .72rem;
    font-weight: 600;
    margin-left: .35rem;
    vertical-align: middle;
}
.theme-new .af-superadmin-support-chip.chip-bruno { background: #e0edff; color: #1d4ed8; }

.theme-new .af-superadmin-support-side {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: space-between;
    gap: .5rem;
}
.theme-new .af-superadmin-support-open {
    color: #2563eb;
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
}

/* ---- Status pills (restrained semantic colours) ---- */
.theme-new .af-superadmin-support-status {
    display: inline-block;
    border-radius: 999px;
    padding: .2rem .7rem;
    font-size: .75rem;
    font-weight: 700;
    white-space: nowrap;
}
.theme-new .af-superadmin-support-status.st-open { background: #e0edff; color: #1d4ed8; }
.theme-new .af-superadmin-support-status.st-in_progress { background: #fef3c7; color: #b45309; }
.theme-new .af-superadmin-support-status.st-resolved { background: #dcfce7; color: #15803d; }
.theme-new .af-superadmin-support-status.st-closed { background: #e2e8f0; color: #475569; }

/* ---- Empty state ---- */
.theme-new .af-superadmin-support-empty {
    text-align: center;
    padding: 3rem 1rem;
    color: #94a3b8;
}
.theme-new .af-superadmin-support-empty i { font-size: 2.4rem; margin-bottom: .6rem; color: #cbd5e1; }
.theme-new .af-superadmin-support-empty p { margin: 0; }

/* ---- Detail view ---- */
.theme-new .af-superadmin-support-detail-top { margin-bottom: 1rem; }
.theme-new .af-superadmin-support-back {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
    font-size: .9rem;
}
.theme-new .af-superadmin-support-back:hover { text-decoration: underline; }

.theme-new .af-superadmin-support-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.25rem 1.4rem;
    margin-bottom: 1.1rem;
}
.theme-new .af-superadmin-support-card-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 .9rem;
}
.theme-new .af-superadmin-support-card-title i { color: #2563eb; margin-right: .45rem; }

.theme-new .af-superadmin-support-summary-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}
.theme-new .af-superadmin-support-detail-title {
    font-size: 1.35rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}
.theme-new .af-superadmin-support-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .9rem 1.2rem;
}
.theme-new .af-superadmin-support-summary-grid > div { display: flex; flex-direction: column; }
.theme-new .af-superadmin-support-summary-grid .af-lbl,
.theme-new .af-superadmin-support-original .af-lbl {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #94a3b8;
    font-weight: 700;
    margin-bottom: .15rem;
}
.theme-new .af-superadmin-support-summary-grid .af-val { color: #1e293b; font-size: .92rem; font-weight: 500; }

.theme-new .af-superadmin-support-original {
    margin-top: 1.1rem;
    padding-top: 1.1rem;
    border-top: 1px solid #eef2f7;
}
.theme-new .af-superadmin-support-original-body {
    color: #334155;
    font-size: .95rem;
    margin-top: .3rem;
    line-height: 1.55;
}

/* Bruno block */
.theme-new .af-superadmin-support-bruno { background: #f8fbff; border-color: #dbeafe; }
.theme-new .af-superadmin-support-bruno-body {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .85rem 1rem;
    color: #334155;
    font-size: .9rem;
    line-height: 1.55;
    white-space: normal;
}

/* Conversation thread */
.theme-new .af-superadmin-support-thread { display: flex; flex-direction: column; gap: .85rem; }
.theme-new .af-superadmin-support-msg {
    border-radius: 10px;
    padding: .8rem 1rem;
    border: 1px solid #e2e8f0;
}
.theme-new .af-superadmin-support-msg.from-home { background: #f8fafc; }
.theme-new .af-superadmin-support-msg.from-support {
    background: #eff6ff;
    border-color: #dbeafe;
}
.theme-new .af-superadmin-support-msg-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .6rem;
    margin-bottom: .35rem;
}
.theme-new .af-superadmin-support-msg-sender { font-weight: 700; color: #1e293b; font-size: .88rem; }
.theme-new .af-superadmin-support-msg.from-support .af-superadmin-support-msg-sender { color: #1d4ed8; }
.theme-new .af-superadmin-support-msg-time { color: #94a3b8; font-size: .78rem; white-space: nowrap; }
.theme-new .af-superadmin-support-msg-body { color: #334155; font-size: .92rem; line-height: 1.55; }

/* Attachments */
.theme-new .af-superadmin-support-attachments { display: flex; flex-direction: column; gap: .55rem; }
.theme-new .af-superadmin-support-attachment {
    display: flex;
    align-items: center;
    gap: .75rem;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: .6rem .85rem;
}
.theme-new .af-superadmin-support-attachment > i { color: #2563eb; font-size: 1.1rem; }
.theme-new .af-superadmin-support-attachment-info { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.theme-new .af-superadmin-support-attachment-name { color: #1e293b; font-weight: 600; font-size: .9rem; word-break: break-word; }
.theme-new .af-superadmin-support-attachment-meta { color: #94a3b8; font-size: .78rem; }
.theme-new .af-superadmin-support-attachment-open {
    color: #2563eb;
    font-weight: 600;
    font-size: .85rem;
    text-decoration: none;
    white-space: nowrap;
}
.theme-new .af-superadmin-support-attachment-open:hover { text-decoration: underline; }

/* Reply area */
.theme-new .af-superadmin-support-textarea {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: .7rem .9rem;
    font-size: .95rem;
    color: #1e293b;
    resize: vertical;
    margin-bottom: .75rem;
}
.theme-new .af-superadmin-support-reply-actions { display: flex; gap: .6rem; align-items: center; }
.theme-new .af-superadmin-support-error {
    color: #b91c1c;
    font-size: .85rem;
    margin-bottom: .5rem;
}

/* Status controls */
.theme-new .af-superadmin-support-status-buttons { display: flex; flex-wrap: wrap; gap: .6rem; }
.theme-new .af-superadmin-support-status-buttons form { margin: 0; }
.theme-new .af-superadmin-support-status-btn {
    border: 1px solid #cbd5e1;
    background: #ffffff;
    color: #334155;
    border-radius: 8px;
    padding: .5rem 1rem;
    font-size: .88rem;
    font-weight: 600;
    cursor: pointer;
}
.theme-new .af-superadmin-support-status-btn:hover:not(:disabled) { border-color: #2563eb; color: #1d4ed8; }
.theme-new .af-superadmin-support-status-btn:disabled { opacity: .55; cursor: default; }
.theme-new .af-superadmin-support-status-btn.st-resolved:hover:not(:disabled) { border-color: #16a34a; color: #15803d; }
.theme-new .af-superadmin-support-status-btn.st-closed:hover:not(:disabled) { border-color: #64748b; color: #475569; }

/* ---- Responsive ---- */
@media (max-width: 992px) {
    .theme-new .af-superadmin-support-kpis { grid-template-columns: repeat(3, 1fr); }
    .theme-new .af-superadmin-support-summary-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 680px) {
    .theme-new .af-superadmin-support-kpis { grid-template-columns: repeat(2, 1fr); }
    .theme-new .af-superadmin-support-item { flex-wrap: wrap; }
    .theme-new .af-superadmin-support-side { align-items: flex-start; flex-direction: row; width: 100%; }
}
/* ==== END U5a — SUPER-ADMIN SUPPORT INBOX + DETAIL ==== */

/* ==== BEGIN U2a — MAINTENANCE NAVBAR + DASHBOARD + ADMIN REQUEST LIST ==== */
/* Classic Theme: preserved via .af-maintenance-classic-only dual blocks.
   New Theme only: .theme-new .af-maintenance-* */

.af-maintenance-new-only { display: none; }
.theme-new .af-maintenance-new-only { display: block; }
.theme-new .af-maintenance-classic-only { display: none !important; }
.theme-classic .af-maintenance-new-only,
body:not(.theme-new) .af-maintenance-new-only { display: none !important; }

/* ---- Navbar ---- */
.theme-new .af-maintenance-nav-shell { margin-bottom: 1.25rem; }
.theme-new .af-maintenance-nav-card {
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    padding: 1.1rem 1.25rem 0.85rem;
}
.theme-new .af-maintenance-nav-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0.85rem;
}
.theme-new .af-maintenance-nav-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 750;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 0.55rem;
}
.theme-new .af-maintenance-nav-icon { color: #2563eb; }
.theme-new .af-maintenance-nav-subtitle {
    margin-top: 0.25rem;
    color: #64748b;
    font-size: 0.92rem;
}
.theme-new .af-maintenance-nav-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.theme-new .af-maintenance-nav-stat {
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    color: #334155;
    border-radius: 999px;
    padding: 0.3rem 0.75rem;
    font-size: 0.82rem;
}
.theme-new .af-maintenance-nav-stat strong { color: #0f172a; }
.theme-new .af-maintenance-nav-stat.is-urgent {
    background: #fff7ed;
    border-color: #fed7aa;
    color: #9a3412;
}
.theme-new .af-maintenance-nav-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.4rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.35rem;
    margin: 0;
    list-style: none;
}
.theme-new .af-maintenance-nav-tabs .nav-item { flex: 0 0 auto; }
.theme-new .af-maintenance-nav-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    white-space: nowrap;
    border: 1px solid #dbe7f5;
    background: #f8fafc;
    color: #334155;
    border-radius: 10px;
    padding: 0.55rem 0.9rem;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
}
.theme-new .af-maintenance-nav-tab i { color: #2563eb; }
.theme-new .af-maintenance-nav-tab:hover {
    border-color: #93c5fd;
    color: #1d4ed8;
    background: #eff6ff;
}
.theme-new .af-maintenance-nav-tab.active {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.12);
}
.theme-new .af-maintenance-nav-badge {
    background: #2563eb;
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.1rem 0.45rem;
    min-width: 1.25rem;
    text-align: center;
}

/* ---- Shared buttons / badges ---- */
.theme-new .af-maintenance-btn,
.theme-new .af-maintenance-btn-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border-radius: 10px;
    font-weight: 650;
    font-size: 0.9rem;
    text-decoration: none;
    padding: 0.55rem 0.95rem;
    border: 1px solid transparent;
    white-space: nowrap;
}
.theme-new .af-maintenance-btn {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}
.theme-new .af-maintenance-btn:hover { background: #1d4ed8; color: #ffffff; }
.theme-new .af-maintenance-btn-ghost {
    background: #ffffff;
    color: #1d4ed8;
    border-color: #bfdbfe;
}
.theme-new .af-maintenance-btn-ghost:hover {
    background: #eff6ff;
    color: #1e40af;
}
.theme-new .af-maintenance-status,
.theme-new .af-maintenance-prio {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    border-radius: 999px;
    border: 1px solid #e2e8f0;
    background: #f8fafc;
    color: #334155;
    font-size: 0.78rem;
    font-weight: 650;
    padding: 0.2rem 0.55rem;
    white-space: nowrap;
}
.theme-new .af-maintenance-status i,
.theme-new .af-maintenance-prio i { font-size: 0.55rem; }
.theme-new .af-maintenance-status.st-new { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.theme-new .af-maintenance-status.st-new i { color: #2563eb; }
.theme-new .af-maintenance-status.st-in_progress { background: #fff7ed; border-color: #fed7aa; color: #9a3412; }
.theme-new .af-maintenance-status.st-in_progress i { color: #ea580c; }
.theme-new .af-maintenance-status.st-waiting { background: #fefce8; border-color: #fde68a; color: #854d0e; }
.theme-new .af-maintenance-status.st-waiting i { color: #ca8a04; }
.theme-new .af-maintenance-status.st-resolved { background: #f0fdf4; border-color: #bbf7d0; color: #166534; }
.theme-new .af-maintenance-status.st-resolved i { color: #16a34a; }
.theme-new .af-maintenance-status.st-closed { background: #f1f5f9; border-color: #cbd5e1; color: #475569; }
.theme-new .af-maintenance-status.st-closed i { color: #64748b; }
.theme-new .af-maintenance-prio.prio-low { background: #f8fafc; color: #475569; }
.theme-new .af-maintenance-prio.prio-medium { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.theme-new .af-maintenance-prio.prio-high { background: #fff7ed; border-color: #fed7aa; color: #9a3412; }
.theme-new .af-maintenance-prio.prio-urgent { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.theme-new .af-maintenance-prio.prio-urgent i { color: #dc2626; }
.theme-new .is-muted { color: #94a3b8; }

/* ---- Dashboard ---- */
.theme-new .af-maintenance-dashboard { display: flex; flex-direction: column; gap: 1.15rem; }
.theme-new .af-maintenance-dashboard-hero,
.theme-new .af-maintenance-list-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    padding: 1.2rem 1.35rem;
}
.theme-new .af-maintenance-dashboard-title,
.theme-new .af-maintenance-list-title {
    margin: 0 0 0.35rem;
    font-size: 1.55rem;
    font-weight: 750;
    color: #0f172a;
}
.theme-new .af-maintenance-dashboard-intro,
.theme-new .af-maintenance-list-intro {
    color: #64748b;
    font-size: 0.95rem;
    max-width: 46rem;
}
.theme-new .af-maintenance-dashboard-actions,
.theme-new .af-maintenance-list-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.theme-new .af-maintenance-kpi-row {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}
.theme-new .af-maintenance-kpi-card {
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 12px;
    padding: 1rem 1.05rem;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    text-decoration: none;
    color: inherit;
    min-height: 100%;
}
.theme-new a.af-maintenance-kpi-card.is-link:hover {
    border-color: #93c5fd;
    background: #f8fbff;
}
.theme-new .af-maintenance-kpi-icon {
    width: 2rem;
    height: 2rem;
    border-radius: 8px;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.35rem;
}
.theme-new .af-maintenance-kpi-num {
    font-size: 1.7rem;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.1;
}
.theme-new .af-maintenance-kpi-label {
    font-weight: 700;
    color: #1e293b;
    font-size: 0.95rem;
}
.theme-new .af-maintenance-kpi-hint {
    color: #94a3b8;
    font-size: 0.78rem;
}
.theme-new .af-maintenance-panel {
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    padding: 1.1rem 1.25rem 1.25rem;
}
.theme-new .af-maintenance-panel-head {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0.9rem;
}
.theme-new .af-maintenance-panel-title {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 0.45rem;
}
.theme-new .af-maintenance-panel-title i { color: #2563eb; }
.theme-new .af-maintenance-panel-sub {
    color: #64748b;
    font-size: 0.88rem;
    margin-top: 0.2rem;
}
.theme-new .af-maintenance-recent-list {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.theme-new .af-maintenance-recent-item {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: center;
    flex-wrap: wrap;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.85rem 1rem;
    background: #f8fafc;
}
.theme-new .af-maintenance-recent-main { flex: 1 1 16rem; min-width: 0; }
.theme-new .af-maintenance-recent-title-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.35rem;
}
.theme-new .af-maintenance-recent-title {
    font-weight: 700;
    color: #0f172a;
    font-size: 0.98rem;
}
.theme-new .af-maintenance-recent-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    color: #64748b;
    font-size: 0.84rem;
}
.theme-new .af-maintenance-recent-meta i { color: #2563eb; margin-right: 0.2rem; }
.theme-new .af-maintenance-empty {
    text-align: center;
    padding: 2rem 1rem;
    color: #64748b;
}
.theme-new .af-maintenance-empty > i {
    font-size: 2rem;
    color: #2563eb;
    margin-bottom: 0.65rem;
}
.theme-new .af-maintenance-empty h3 {
    color: #0f172a;
    font-size: 1.15rem;
    margin-bottom: 0.35rem;
}
.theme-new .af-maintenance-empty-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.85rem;
}

/* ---- Request list ---- */
.theme-new .af-maintenance-list { display: flex; flex-direction: column; gap: 1.1rem; }
.theme-new .af-maintenance-list-filters {
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    padding: 1rem 1.15rem;
}
.theme-new .af-maintenance-filter-form {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr auto;
    gap: 0.75rem;
    align-items: end;
}
.theme-new .af-maintenance-filter-field label {
    display: block;
    font-size: 0.8rem;
    font-weight: 650;
    color: #475569;
    margin-bottom: 0.3rem;
}
.theme-new .af-maintenance-filter-field input,
.theme-new .af-maintenance-filter-field select {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0.55rem 0.75rem;
    font-size: 0.9rem;
    color: #0f172a;
    background: #ffffff;
}
.theme-new .af-maintenance-search-wrap { position: relative; }
.theme-new .af-maintenance-search-wrap > i {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
}
.theme-new .af-maintenance-search-wrap input { padding-left: 2.2rem; }
.theme-new .af-maintenance-result-count {
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    border-radius: 999px;
    padding: 0.3rem 0.75rem;
    font-size: 0.82rem;
    font-weight: 650;
}
.theme-new .af-maintenance-desktop-table-wrap { display: block; }
.theme-new .af-maintenance-mobile-cards { display: none; }
.theme-new .af-maintenance-table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.theme-new .af-maintenance-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 920px;
}
.theme-new .af-maintenance-table th {
    text-align: left;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #64748b;
    font-weight: 700;
    padding: 0.65rem 0.7rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f8fafc;
    white-space: nowrap;
}
.theme-new .af-maintenance-table td {
    padding: 0.8rem 0.7rem;
    border-bottom: 1px solid #eef2f7;
    color: #334155;
    font-size: 0.9rem;
    vertical-align: middle;
}
.theme-new .af-maintenance-table tbody tr:hover { background: #f8fbff; }
.theme-new .af-maintenance-issue-cell { display: flex; flex-direction: column; gap: 0.15rem; }
.theme-new .af-maintenance-issue-title { font-weight: 700; color: #0f172a; }
.theme-new .af-maintenance-issue-sub { color: #94a3b8; font-size: 0.8rem; }
.theme-new .af-maintenance-meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: 0.2rem 0.55rem;
    font-size: 0.8rem;
    color: #334155;
    white-space: nowrap;
}
.theme-new .af-maintenance-meta-pill i { color: #2563eb; }
.theme-new .af-maintenance-photo-count {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    color: #475569;
}
.theme-new .af-maintenance-photo-count i { color: #2563eb; }
.theme-new .af-maintenance-date { display: block; color: #0f172a; font-weight: 600; }
.theme-new .af-maintenance-date-sub { display: block; color: #94a3b8; font-size: 0.78rem; }
.theme-new .af-maintenance-row-action { text-align: right; white-space: nowrap; }
.theme-new .af-maintenance-mobile-card {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.95rem 1rem;
    background: #f8fafc;
    margin-bottom: 0.75rem;
}
.theme-new .af-maintenance-mobile-title {
    margin: 0 0 0.3rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #0f172a;
}
.theme-new .af-maintenance-mobile-location {
    color: #64748b;
    font-size: 0.88rem;
    margin-bottom: 0.55rem;
}
.theme-new .af-maintenance-mobile-location i { color: #2563eb; }
.theme-new .af-maintenance-mobile-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-bottom: 0.75rem;
}
.theme-new .af-maintenance-mobile-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}
.theme-new .af-maintenance-mobile-meta > div {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0.45rem 0.55rem;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    font-size: 0.85rem;
    color: #0f172a;
}
.theme-new .af-maintenance-mobile-label {
    font-size: 0.72rem;
    font-weight: 650;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.theme-new .af-maintenance-mobile-action { width: 100%; }

@media (max-width: 1100px) {
    .theme-new .af-maintenance-kpi-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theme-new .af-maintenance-filter-form { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
    .theme-new .af-maintenance-kpi-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-new .af-maintenance-filter-form { grid-template-columns: 1fr; }
    .theme-new .af-maintenance-desktop-table-wrap { display: none; }
    .theme-new .af-maintenance-mobile-cards { display: block; }
    .theme-new .af-maintenance-mobile-meta { grid-template-columns: 1fr; }
}
/* ==== END U2a — MAINTENANCE NAVBAR + DASHBOARD + ADMIN REQUEST LIST ==== */
/* ==== BEGIN U2b — MAINTENANCE CREATE / EDIT / ADMIN DETAIL ==== */

.theme-new .af-maintenance-form-page,
.theme-new .af-maintenance-detail-page {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}
.theme-new .af-maintenance-form-layout,
.theme-new .af-maintenance-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.8fr) minmax(260px, 0.9fr);
    gap: 1rem;
    align-items: start;
}
.theme-new .af-maintenance-form-hero,
.theme-new .af-maintenance-form-hero-bar,
.theme-new .af-maintenance-detail-hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}
.theme-new .af-maintenance-form-eyebrow {
    color: #2563eb;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.theme-new .af-maintenance-form-title {
    margin: 0 0 0.35rem;
    font-size: 1.55rem;
    font-weight: 750;
    color: #0f172a;
}
.theme-new .af-maintenance-form-intro {
    color: #64748b;
    font-size: 0.95rem;
    max-width: 42rem;
}
.theme-new .af-maintenance-form-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    border-radius: 999px;
    padding: 0.4rem 0.8rem;
    font-size: 0.82rem;
    font-weight: 650;
    white-space: nowrap;
}
.theme-new .af-maintenance-form-actions-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}
.theme-new .af-maintenance-form-required-note {
    color: #64748b;
    font-size: 0.88rem;
    margin-bottom: 1rem;
}
.theme-new .af-maintenance-form-required-note .is-required,
.theme-new .af-maintenance-form .is-required { color: #dc2626; }
.theme-new .af-maintenance-form .is-optional { color: #94a3b8; font-weight: 500; }
.theme-new .af-maintenance-form-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.85rem;
}
.theme-new .af-maintenance-form-field { margin-bottom: 0.9rem; }
.theme-new .af-maintenance-form-field label {
    display: block;
    font-size: 0.86rem;
    font-weight: 650;
    color: #334155;
    margin-bottom: 0.35rem;
}
.theme-new .af-maintenance-form .form-control,
.theme-new .af-maintenance-form .form-select,
.theme-new .af-maintenance-form textarea.form-control,
.theme-new .af-maintenance-form input[type="file"] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    font-size: 0.95rem;
    color: #0f172a;
    background: #ffffff;
    min-height: 46px;
}
.theme-new .af-maintenance-form textarea.form-control {
    min-height: 150px;
    resize: vertical;
}
.theme-new .af-maintenance-form .form-control:focus,
.theme-new .af-maintenance-form .form-select:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    outline: none;
}
.theme-new .af-maintenance-field-error {
    color: #b91c1c;
    font-size: 0.84rem;
    margin-top: 0.35rem;
    font-weight: 600;
}
.theme-new .af-maintenance-form-alert {
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
    margin-bottom: 1rem;
}
.theme-new .af-maintenance-upload-panel {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
    border: 1px dashed #93c5fd;
    background: #f8fbff;
    border-radius: 12px;
    padding: 1rem;
}
.theme-new .af-maintenance-upload-panel > i { color: #2563eb; font-size: 1.35rem; margin-top: 0.15rem; }
.theme-new .af-maintenance-upload-panel strong { color: #0f172a; display: block; }
.theme-new .af-maintenance-upload-panel p { color: #64748b; font-size: 0.88rem; margin: 0.25rem 0 0.65rem; }
.theme-new .af-maintenance-form-note {
    display: flex;
    gap: 0.5rem;
    align-items: flex-start;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
    font-size: 0.88rem;
    margin: 0.5rem 0 1rem;
}
.theme-new .af-maintenance-form-note i { color: #d97706; margin-top: 0.15rem; }
.theme-new .af-maintenance-form-actions {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}
.theme-new .af-maintenance-tip-list {
    margin: 0;
    padding-left: 1.1rem;
    color: #475569;
    font-size: 0.9rem;
}
.theme-new .af-maintenance-tip-list li { margin-bottom: 0.65rem; }
.theme-new .af-maintenance-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
}
.theme-new .af-maintenance-summary-item {
    background: #ffffff;
    border: 1px solid #dbe7f5;
    border-radius: 12px;
    padding: 0.75rem 0.9rem;
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    color: #0f172a;
    font-size: 0.9rem;
}
.theme-new .af-maintenance-summary-label {
    font-size: 0.72rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.theme-new .af-maintenance-info-list { margin: 0; }
.theme-new .af-maintenance-info-list > div {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.55rem 0;
    border-bottom: 1px solid #eef2f7;
    font-size: 0.9rem;
}
.theme-new .af-maintenance-info-list dt { color: #94a3b8; font-weight: 600; margin: 0; }
.theme-new .af-maintenance-info-list dd { color: #0f172a; margin: 0; font-weight: 600; text-align: right; }
.theme-new .af-maintenance-thumb-grid,
.theme-new .af-maintenance-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}
.theme-new .af-maintenance-thumb,
.theme-new .af-maintenance-photo-card {
    display: block;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    background: #f8fafc;
    text-decoration: none;
}
.theme-new .af-maintenance-thumb img,
.theme-new .af-maintenance-photo-card img {
    width: 100%;
    height: 120px;
    object-fit: cover;
    display: block;
}
.theme-new .af-maintenance-photo-card span {
    display: block;
    padding: 0.4rem 0.55rem;
    color: #64748b;
    font-size: 0.78rem;
}
.theme-new .af-maintenance-description {
    color: #334155;
    font-size: 0.98rem;
    line-height: 1.55;
}
.theme-new .af-maintenance-timeline {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.theme-new .af-maintenance-timeline-item {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #f8fafc;
    padding: 0.85rem 1rem;
}
.theme-new .af-maintenance-timeline-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.45rem;
    color: #0f172a;
}
.theme-new .af-maintenance-timeline-top time { color: #94a3b8; font-size: 0.82rem; }
.theme-new .af-maintenance-timeline-status {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    flex-wrap: wrap;
    margin-bottom: 0.45rem;
}
.theme-new .af-maintenance-timeline-note { color: #334155; font-size: 0.92rem; }
.theme-new .af-maintenance-internal-badge {
    display: inline-flex;
    align-items: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    border-radius: 999px;
    padding: 0.1rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    margin-right: 0.4rem;
}
.theme-new .af-maintenance-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.85rem;
    color: #334155;
    font-size: 0.9rem;
}
.theme-new .af-maintenance-check input { width: 1rem; height: 1rem; }
.theme-new .af-maintenance-btn-danger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    border-radius: 10px;
    font-weight: 650;
    font-size: 0.9rem;
    text-decoration: none;
    padding: 0.55rem 0.95rem;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #b91c1c;
    width: 100%;
}
.theme-new .af-maintenance-btn-danger:hover { background: #fee2e2; color: #991b1b; }
.theme-new .af-maintenance-archive-panel { border-color: #fecaca; }
.theme-new .af-maintenance-empty-inline { color: #64748b; font-size: 0.92rem; }
.theme-new .af-maintenance-btn.w-100,
.theme-new .af-maintenance-btn-ghost.w-100 { width: 100%; }

@media (max-width: 992px) {
    .theme-new .af-maintenance-form-layout,
    .theme-new .af-maintenance-detail-layout { grid-template-columns: 1fr; }
    .theme-new .af-maintenance-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .theme-new .af-maintenance-form-grid-2 { grid-template-columns: 1fr; }
    .theme-new .af-maintenance-summary-grid { grid-template-columns: 1fr; }
    .theme-new .af-maintenance-thumb-grid,
    .theme-new .af-maintenance-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-new .af-maintenance-form-actions { flex-direction: column; }
    .theme-new .af-maintenance-form-actions .af-maintenance-btn,
    .theme-new .af-maintenance-form-actions .af-maintenance-btn-ghost { width: 100%; }
}
/* ==== END U2b — MAINTENANCE CREATE / EDIT / ADMIN DETAIL ==== */
/* ==== BEGIN U2c — MAINTENANCE WORKER LIST / DETAIL ==== */

.theme-new .af-maintenance-worker-list,
.theme-new .af-maintenance-worker-detail {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}
.theme-new .af-maintenance-worker-list .af-maintenance-mobile-title,
.theme-new .af-maintenance-worker-detail .af-maintenance-form-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.theme-new .af-maintenance-worker-list .af-maintenance-mobile-location,
.theme-new .af-maintenance-worker-detail .af-maintenance-worker-meta-row {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.theme-new .af-maintenance-worker-detail .af-maintenance-update-item p,
.theme-new .af-maintenance-worker-detail .af-maintenance-worker-desc p {
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: pre-wrap;
}
.theme-new .af-maintenance-worker-kpi {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.theme-new .af-maintenance-kpi-card.is-urgent {
    border-color: #fecaca;
    background: #fff7f7;
}
.theme-new .af-maintenance-kpi-card.is-urgent .af-maintenance-kpi-num { color: #b91c1c; }
.theme-new .af-maintenance-kpi-card.is-urgent .af-maintenance-kpi-label { color: #991b1b; }
.theme-new .af-maintenance-worker-cards {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.theme-new .af-maintenance-worker-cards .af-maintenance-mobile-card {
    display: block;
    margin-bottom: 0;
}
.theme-new .af-maintenance-worker-meta {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.theme-new .af-maintenance-assigned-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    border-radius: 999px;
    padding: 0.28rem 0.65rem;
    font-size: 0.78rem;
    font-weight: 700;
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #047857;
}
.theme-new .af-maintenance-worker-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem 1rem;
    color: #64748b;
    font-size: 0.9rem;
    margin-top: 0.35rem;
}
.theme-new .af-maintenance-worker-meta-row i {
    color: #2563eb;
    margin-right: 0.25rem;
}
.theme-new .af-maintenance-worker-desc {
    margin-top: 0.35rem;
    padding-top: 0.85rem;
    border-top: 1px solid #e2e8f0;
}
.theme-new .af-maintenance-worker-desc p {
    color: #334155;
    margin-top: 0.5rem;
    white-space: pre-wrap;
}
.theme-new .af-maintenance-worker-forms {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    align-items: start;
}
.theme-new .af-maintenance-updates {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.theme-new .af-maintenance-update-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}
.theme-new .af-maintenance-update-top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 0.4rem;
    color: #0f172a;
}
.theme-new .af-maintenance-update-top small { color: #94a3b8; }
.theme-new .af-maintenance-update-item p { color: #334155; }
.theme-new .af-maintenance-photo-link { display: block; }
.theme-new .af-maintenance-photo {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}

@media (max-width: 992px) {
    .theme-new .af-maintenance-worker-forms { grid-template-columns: 1fr; }
    .theme-new .af-maintenance-worker-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .theme-new .af-maintenance-worker-kpi { grid-template-columns: 1fr 1fr; }
    .theme-new .af-maintenance-worker-meta { grid-template-columns: 1fr; }
}
/* ==== END U2c — MAINTENANCE WORKER LIST / DETAIL ==== */
/* ==== BEGIN U2d — MAINTENANCE HELP DESK + CONSISTENCY ==== */

.theme-new .af-maintenance-help-page .af-schedule-help-hero {
    background: #ffffff;
    border: 1px solid #dbe7f5;
}
.theme-new .af-maintenance-help-page .af-schedule-help-nav-link:focus-visible,
.theme-new .af-maintenance-nav-tab:focus-visible,
.theme-new .af-maintenance-btn:focus-visible,
.theme-new .af-maintenance-btn-ghost:focus-visible {
    outline: 2px solid #2563eb;
    outline-offset: 2px;
}
.theme-new .af-maintenance-list .af-maintenance-mobile-title,
.theme-new .af-maintenance-detail-page .af-maintenance-form-title,
.theme-new .af-maintenance-recent-title {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.theme-new .af-maintenance-list .af-maintenance-mobile-location,
.theme-new .af-maintenance-update-item p {
    overflow-wrap: anywhere;
    word-break: break-word;
}
.theme-new .af-maintenance-nav-tab {
    min-height: 44px;
}

/* ==== END U2d — MAINTENANCE HELP DESK + CONSISTENCY ==== */


/* =========================================================================
   U3a — CHECK-IN / ATTENDANCE & BREAKS MONITORING (New Theme only)
   Scoped entirely under .theme-new .af-checkin-*. White + soft-blue, blue
   headings/icons, readable dark text. No decorative animation/transform.
   ========================================================================= */

/* Dual Classic/New visibility (Classic is the default un-scoped baseline) */
.af-checkin-new-only { display: none; }
body.theme-new .af-checkin-new-only { display: block; }
body.theme-new .af-checkin-classic-only { display: none; }

/* Full-width breakout (mirrors existing section pattern) */
body.theme-new:has(.af-checkin-page) > .container.mt-4 {
    max-width: 100% !important;
    width: 100% !important;
    background-color: #f1f5f9 !important;
}

.theme-new .af-checkin-page {
    background: transparent;
    color: #1e293b;
    padding: 0 1.25rem 2rem;
}

/* ---- Section navbar shell ---- */
.theme-new .af-checkin-nav-shell {
    padding: 0 1.25rem;
    margin-top: 0.5rem;
}
.theme-new .af-checkin-nav {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.75rem 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
}
.theme-new .af-checkin-nav-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: #1d4ed8;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.theme-new .af-checkin-nav-icon { color: #2563eb; }
.theme-new .af-checkin-nav-tabs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
    padding: 0;
}
.theme-new .af-checkin-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 1rem;
    border-radius: 9px;
    color: #334155;
    text-decoration: none;
    font-weight: 600;
    border: 1px solid transparent;
}
.theme-new .af-checkin-nav-link:hover,
.theme-new .af-checkin-nav-link:focus {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #dbeafe;
}
.theme-new .af-checkin-nav-link.active {
    background: #2563eb;
    color: #ffffff;
}

/* ---- Introductory panel ---- */
.theme-new .af-checkin-intro {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    padding: 1.1rem 1.35rem;
    margin: 1rem 0;
}
.theme-new .af-checkin-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1d4ed8;
    margin: 0 0 0.35rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.theme-new .af-checkin-title i { color: #2563eb; }
.theme-new .af-checkin-intro-lead {
    margin: 0;
    max-width: 70ch;
    color: #334155;
    line-height: 1.5;
}
.theme-new .af-checkin-intro-note {
    margin: 0.5rem 0 0;
    max-width: 70ch;
    color: #475569;
    font-size: 0.85rem;
    line-height: 1.45;
}
.theme-new .af-checkin-intro-actions { flex-shrink: 0; }

/* ---- Buttons ---- */
.theme-new .af-checkin-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.55rem 1.1rem;
    border-radius: 9px;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    cursor: pointer;
    font-size: 0.95rem;
}
.theme-new .af-checkin-btn--primary {
    background: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
}
.theme-new .af-checkin-btn--primary:hover,
.theme-new .af-checkin-btn--primary:focus { background: #1d4ed8; border-color: #1d4ed8; }
.theme-new .af-checkin-btn--ghost {
    background: #ffffff;
    color: #334155;
    border-color: #cbd5e1;
}
.theme-new .af-checkin-btn--ghost:hover,
.theme-new .af-checkin-btn--ghost:focus { background: #f1f5f9; }

/* ---- Summary cards ---- */
.theme-new .af-checkin-cards {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 0.85rem;
    margin: 1rem 0;
}
.theme-new .af-checkin-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.95rem 1rem;
    text-align: center;
}
.theme-new .af-checkin-card-value {
    font-size: 1.75rem;
    font-weight: 700;
    color: #1d4ed8;
    line-height: 1.1;
}
.theme-new .af-checkin-card-label {
    font-size: 0.82rem;
    color: #64748b;
    margin-top: 0.25rem;
}
.theme-new .af-checkin-card--warn .af-checkin-card-value { color: #b45309; }
.theme-new .af-checkin-card--danger .af-checkin-card-value { color: #b91c1c; }

@media (max-width: 1200px) {
    .theme-new .af-checkin-cards { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 640px) {
    .theme-new .af-checkin-cards { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Filters ---- */
.theme-new .af-checkin-filters {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.15rem;
    margin-bottom: 0.75rem;
}
.theme-new .af-checkin-filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1rem;
    align-items: flex-end;
}
.theme-new .af-checkin-field {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    min-width: 170px;
}
.theme-new .af-checkin-field > label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #475569;
}
.theme-new .af-checkin-input {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.45rem 0.6rem;
    font-size: 0.92rem;
    color: #1e293b;
    background: #ffffff;
}
.theme-new .af-checkin-input:focus {
    outline: 2px solid #bfdbfe;
    outline-offset: 1px;
    border-color: #2563eb;
}
.theme-new .af-checkin-field--actions {
    flex-direction: row;
    gap: 0.5rem;
    min-width: auto;
}
.theme-new .af-checkin-field--checks {
    flex-direction: column;
    gap: 0.35rem;
    justify-content: center;
}
.theme-new .af-checkin-check {
    font-size: 0.88rem;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 0.4rem;
}
.theme-new .af-checkin-advanced { margin-top: 0.75rem; }
.theme-new .af-checkin-advanced > summary {
    cursor: pointer;
    font-weight: 600;
    color: #1d4ed8;
    padding: 0.35rem 0;
}
.theme-new .af-checkin-range-note {
    font-size: 0.85rem;
    color: #64748b;
    margin: 0.35rem 0.25rem 0.85rem;
}
.theme-new .af-checkin-range-warning {
    font-size: 0.85rem;
    color: #b45309;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    margin: 0.5rem 0;
}
.theme-new .af-checkin-refresh-note {
    font-size: 0.8rem;
    color: #64748b;
    margin: 0 0.25rem 0.85rem;
}

/* ---- Results table ---- */
.theme-new .af-checkin-table-wrap {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    overflow-x: auto;
}
.theme-new .af-checkin-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 960px;
}
.theme-new .af-checkin-table thead th {
    background: #eff6ff;
    color: #1e3a8a;
    text-align: left;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 0.7rem 0.85rem;
    border-bottom: 1px solid #dbeafe;
    white-space: nowrap;
}
.theme-new .af-checkin-col-hint {
    text-transform: none;
    font-weight: 500;
    font-size: 0.72rem;
    letter-spacing: normal;
    color: #64748b;
    margin-top: 0.15rem;
}
.theme-new .af-checkin-table tbody td {
    padding: 0.75rem 0.85rem;
    border-bottom: 1px solid #eef2f7;
    vertical-align: top;
    font-size: 0.9rem;
    color: #1e293b;
}
.theme-new .af-checkin-table tbody tr:hover { background: #f8fafc; }
.theme-new .af-checkin-nowrap { white-space: nowrap; }

.theme-new .af-checkin-emp {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}
.theme-new .af-checkin-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #dbeafe;
    flex-shrink: 0;
}
.theme-new .af-checkin-avatar--fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #2563eb;
    color: #ffffff;
    font-weight: 700;
}
.theme-new .af-checkin-emp-name { font-weight: 600; color: #0f172a; }
.theme-new .af-checkin-emp-dept { font-size: 0.8rem; color: #64748b; }
.theme-new .af-checkin-shift-name { font-weight: 600; color: #1e293b; }
.theme-new .af-checkin-sub { font-size: 0.82rem; color: #475569; }
.theme-new .af-checkin-muted { color: #94a3b8; font-size: 0.82rem; }
.theme-new .af-checkin-total { font-weight: 600; color: #334155; margin-top: 0.25rem; }
.theme-new .af-checkin-break { margin-bottom: 0.5rem; }
.theme-new .af-checkin-break-type { font-weight: 600; font-size: 0.85rem; color: #1e293b; }
.theme-new .af-checkin-chip {
    font-size: 0.7rem;
    background: #e0e7ff;
    color: #3730a3;
    border-radius: 6px;
    padding: 0.05rem 0.4rem;
}
.theme-new .af-checkin-flag {
    font-size: 0.78rem;
    color: #b45309;
    margin: 0.2rem 0;
}
.theme-new .af-checkin-reasons {
    margin: 0.35rem 0 0.25rem;
    padding-left: 1.1rem;
    font-size: 0.78rem;
    color: #64748b;
}
.theme-new .af-checkin-review-link {
    font-size: 0.82rem;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
}
.theme-new .af-checkin-review-link:hover { text-decoration: underline; }

/* ---- Badges (restrained semantic tones; no animation) ---- */
.theme-new .af-checkin-badge {
    display: inline-block;
    margin-top: 0.35rem;
    padding: 0.2rem 0.6rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 600;
    border: 1px solid transparent;
    line-height: 1.3;
}
.theme-new .af-checkin-badge--info { background: #eff6ff; color: #1d4ed8; border-color: #dbeafe; }
.theme-new .af-checkin-badge--success { background: #ecfdf5; color: #047857; border-color: #a7f3d0; }
.theme-new .af-checkin-badge--warn { background: #fffbeb; color: #b45309; border-color: #fde68a; }
.theme-new .af-checkin-badge--danger { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

/* ---- Empty state ---- */
.theme-new .af-checkin-empty {
    text-align: center;
    color: #94a3b8;
    padding: 2.5rem 1rem;
}
.theme-new .af-checkin-empty i { font-size: 1.8rem; display: block; margin-bottom: 0.5rem; }

/* No decorative animation/transform anywhere under .af-checkin-* */

/* ==== END U3a — CHECK-IN / ATTENDANCE & BREAKS MONITORING ==== */


/* =========================================================================
   U3b — CHECK-IN / ATTENDANCE & BREAK HISTORY (New Theme only)
   Reuses all .af-checkin-* base classes from U3a above (dual visibility,
   page shell, intro, cards, filters, table, badges, empty state). Only
   genuinely new, additive classes for the totals panel, the per-row break
   disclosure and pagination are added here. No decorative animation.
   ========================================================================= */

/* ---- Monitoring totals panel (employee or department) ---- */
.theme-new .af-checkin-totals-panel {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.15rem;
    margin-bottom: 0.85rem;
}
.theme-new .af-checkin-totals-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #1d4ed8;
    margin: 0 0 0.6rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.theme-new .af-checkin-totals-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.75rem;
    margin-top: 0.75rem;
}
.theme-new .af-checkin-totals-item {
    background: #f8fafc;
    border: 1px solid #eef2f7;
    border-radius: 10px;
    padding: 0.75rem 0.85rem;
}
.theme-new .af-checkin-totals-value {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.15;
}
.theme-new .af-checkin-totals-label {
    font-size: 0.78rem;
    color: #64748b;
    margin-top: 0.2rem;
}
@media (max-width: 1100px) {
    .theme-new .af-checkin-totals-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
    .theme-new .af-checkin-totals-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Break details disclosure (native <details>, no JS) ---- */
.theme-new .af-checkin-break-details > summary {
    cursor: pointer;
    font-size: 0.85rem;
    color: #334155;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    list-style: none;
}
.theme-new .af-checkin-break-details > summary::-webkit-details-marker { display: none; }
.theme-new .af-checkin-break-details[open] > summary { margin-bottom: 0.5rem; }

/* ---- Pagination ---- */
.theme-new .af-checkin-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 1rem 0 0.35rem;
}
.theme-new .af-checkin-page-link {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.4rem 0.75rem;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    color: #334155;
    background: #ffffff;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 600;
}
.theme-new .af-checkin-page-link:hover { background: #f1f5f9; }
.theme-new .af-checkin-page-link--active {
    background: #2563eb;
    border-color: #2563eb;
    color: #ffffff;
}

/* No decorative animation/transform anywhere under .af-checkin-* */

/* ==== END U3b — CHECK-IN / ATTENDANCE & BREAK HISTORY ==== */


/* ==== U3c — CHECK-IN / EXCEL EXPORT (New Theme only) ==== */
.theme-new .af-checkin-export-panel {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    margin-top: 1rem;
    padding: 1.25rem 1.5rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
}
.theme-new .af-checkin-export-preview { flex: 1 1 320px; }
.theme-new .af-checkin-export-count {
    font-size: 2rem;
    font-weight: 700;
    color: #1e3a5f;
    line-height: 1.1;
}
.theme-new .af-checkin-export-count-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    margin-bottom: 0.5rem;
}
.theme-new .af-checkin-export-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

/* No decorative animation/transform anywhere under .af-checkin-* */

/* ==== END U3c — CHECK-IN / EXCEL EXPORT ==== */


/* =========================================================================
   U3d — CHECK-IN / HELP DESK + final responsive & wording consistency pass
   Help Desk reuses the shared .af-schedule-help-* Help Desk pattern (same
   classes as Support / Maintenance / Schedule Help Desks) inside the
   existing New-Theme-only .af-checkin-page shell — no new pattern, no
   duplicated CSS. This block only adds small scoped mobile fixes for all
   four Attendance & Breaks pages found during the final responsive review.
   ========================================================================= */

.theme-new .af-checkin-help-page .af-schedule-help-hero { margin-bottom: 1rem; }

/* Keep the Apply/Reset filter actions from crowding on very narrow phones. */
.theme-new .af-checkin-field--actions { flex-wrap: wrap; }

@media (max-width: 480px) {
    .theme-new .af-checkin-page { padding: 0 0.75rem 1.5rem; }
    .theme-new .af-checkin-nav-shell { padding: 0 0.75rem; }
    .theme-new .af-checkin-intro { padding: 1rem; }
    .theme-new .af-checkin-intro-actions,
    .theme-new .af-checkin-intro-actions .af-checkin-btn { width: 100%; }
    .theme-new .af-checkin-field--actions .af-checkin-btn { flex: 1 1 auto; justify-content: center; }
    .theme-new .af-checkin-export-panel { padding: 1rem; }
    .theme-new .af-checkin-export-actions,
    .theme-new .af-checkin-export-actions .af-checkin-btn { width: 100%; justify-content: center; }
    .theme-new .af-checkin-totals-grid { grid-template-columns: 1fr; }
}

/* No decorative animation/transform anywhere under .af-checkin-* */

/* ==== END U3d — CHECK-IN / HELP DESK + RESPONSIVE PASS ==== */

/* =========================================================================
   AUDIT-R3 — Admin New Theme Overview + Navigation (2026-07-18)
   Scoped entirely under `.theme-new`. Dual-block toggle helpers hide/show the
   preserved Classic markup vs. the New Theme markup added in dashboard.html
   and _audit_navbar.html. Palette matches the rest of New Theme: primary
   #2563eb, soft surface #eff6ff, borders #dbeafe, text #111827.
   ========================================================================= */

.af-audit-new-only { display: none; }
body.theme-new .af-audit-new-only { display: block; }
body.theme-new .af-audit-classic-only { display: none !important; }

/* ---- Light page canvas (Audit-R3 correction) ----
   Overrides the dark `.theme-new.af-app` body canvas (#0f172a) with the same
   light surface the rest of New Theme uses (matches nurse/timeclock-report,
   checkin, policies, holiday-limits). Without this the white New Theme cards
   float on black. Scoped to the two fully-converted R3 pages (Overview =
   `.af-audit-overview`, Audits = `.af-audit-audits-page`) so the not-yet-
   converted dark admin pages (Schedule, Reviews, Calendar, etc.) are NOT
   regressed into "dark cards on a light background" — they keep their current
   consistent dark look until they are properly redesigned in a later batch. */
body.theme-new.af-app:has(.af-audit-overview),
body.theme-new.af-app:has(.af-audit-audits-page) {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}
body.theme-new:has(.af-audit-overview) > .container.mt-4,
body.theme-new:has(.af-audit-audits-page) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
}

/* ---- New Theme admin navigation strip ----
   Mirrors the checkin/breaks_admin_navbar.html pattern exactly (.af-checkin-nav /
   .af-checkin-nav-link): a plain white card with rectangular soft-rounded links
   (9px), not pill-shaped buttons. No transitions/animations. */
.theme-new .af-audit-nav {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 0.75rem 1rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem 1.5rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-nav-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 700;
    color: #1d4ed8;
    font-size: 1.15rem;
    white-space: nowrap;
}
.theme-new .af-audit-nav-icon { color: #2563eb; }
.theme-new .af-audit-nav-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.theme-new .af-audit-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 1rem;
    border-radius: 9px;
    color: #334155;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    border: 1px solid transparent;
}
.theme-new .af-audit-nav-link:hover,
.theme-new .af-audit-nav-link:focus {
    background: #eff6ff;
    color: #1d4ed8;
    border-color: #dbeafe;
}
.theme-new .af-audit-nav-link.active {
    background: #2563eb;
    color: #ffffff;
}
.theme-new .af-audit-nav-badge {
    background: #dc2626;
    color: #ffffff;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.05rem 0.45rem;
}

/* ---- Buttons (shared across Overview + Audits page) ---- */
.theme-new .af-audit-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1.1rem;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.92rem;
    text-decoration: none;
    border: 1px solid transparent;
    white-space: nowrap;
}
.theme-new .af-audit-btn-primary { background: #2563eb; color: #ffffff; }
.theme-new .af-audit-btn-primary:hover { background: #1d4ed8; color: #ffffff; }
.theme-new .af-audit-btn-light {
    background: #ffffff;
    color: #1d4ed8;
    border: 1px solid #cbd5e1;
}
.theme-new .af-audit-btn-light:hover { background: #eff6ff; }

/* ---- Overview intro panel ---- */
.theme-new .af-audit-overview { color: #111827; }
.theme-new .af-audit-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    padding: 1.1rem 1.35rem;
    margin-bottom: 1rem;
}
.theme-new .af-audit-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #111827;
    margin: 0 0 0.4rem;
}
.theme-new .af-audit-title i { color: #2563eb; }
.theme-new .af-audit-intro-lead { color: #1f2937; margin: 0 0 0.3rem; max-width: 46rem; }
.theme-new .af-audit-intro-note { color: #4b5563; font-size: 0.9rem; margin: 0; max-width: 46rem; }

/* ---- Recommended Next Step banner ---- */
.theme-new .af-audit-next-step {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    border-radius: 12px;
    padding: 0.8rem 1.1rem;
    font-weight: 600;
    margin-bottom: 1.5rem;
}
.theme-new .af-audit-next-step i { color: #d97706; }

/* ---- Sections ---- */
.theme-new .af-audit-section { margin-bottom: 1.75rem; }
.theme-new .af-audit-section-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.85rem;
}
.theme-new .af-audit-section-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.85rem;
}
.theme-new .af-audit-view-all { color: #2563eb; font-weight: 600; text-decoration: none; font-size: 0.9rem; }
.theme-new .af-audit-view-all:hover { text-decoration: underline; }

/* ---- Needs attention cards ---- */
.theme-new .af-audit-attention-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}
.theme-new .af-audit-attention-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.1rem 1.2rem;
    text-decoration: none;
    color: #111827;
}
.theme-new .af-audit-attention-card:hover { border-color: #93c5fd; }
.theme-new .af-audit-attention-count { font-size: 1.9rem; font-weight: 800; color: #111827; }
.theme-new .af-audit-attention-label { font-weight: 600; color: #1f2937; }
.theme-new .af-audit-attention-hint { font-size: 0.82rem; color: #6b7280; }
.theme-new .af-audit-attention-card--active .af-audit-attention-count,
.theme-new .af-audit-attention-card--warning .af-audit-attention-count { color: #b45309; }
.theme-new .af-audit-attention-card--active { border-color: #fde68a; background: #fffbeb; }
.theme-new .af-audit-attention-card--warning { border-color: #fde68a; background: #fffbeb; }
.theme-new .af-audit-attention-card--danger { border-color: #fecaca; background: #fef2f2; }
.theme-new .af-audit-attention-card--danger .af-audit-attention-count { color: #dc2626; }

/* ---- Workflow guide ---- */
.theme-new .af-audit-guide {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1rem;
}
.theme-new .af-audit-guide-step {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1rem;
}
.theme-new .af-audit-guide-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 999px;
    background: #2563eb;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 0.5rem;
}
.theme-new .af-audit-guide-step strong { display: block; color: #111827; margin-bottom: 0.25rem; }
.theme-new .af-audit-guide-step p { color: #4b5563; font-size: 0.85rem; margin-bottom: 0.4rem; }
.theme-new .af-audit-guide-step a { color: #2563eb; font-size: 0.85rem; font-weight: 600; text-decoration: none; }
.theme-new .af-audit-guide-step a:hover { text-decoration: underline; }

/* ---- Recent audits / Audits page table ---- */
.theme-new .af-audit-table-wrap,
.theme-new .af-audit-audits-card .table-responsive {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    overflow: hidden;
}
.theme-new .af-audit-table { width: 100%; margin: 0; }
.theme-new .af-audit-table th {
    background: #f8fafc;
    color: #6b7280;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    font-weight: 700;
    padding: 0.7rem 1rem;
    border-bottom: 1px solid #e2e8f0;
}
.theme-new .af-audit-table td {
    padding: 0.7rem 1rem;
    color: #374151;
    border-bottom: 1px solid #f1f5f9;
    vertical-align: middle;
}
.theme-new .af-audit-table-name { font-weight: 600; color: #111827; }

/* ---- Status pills (shared: Overview recent list + Audits page) ---- */
.af-audit-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #e5e7eb;
    color: #374151;
}
.af-audit-pill--open { background: #dbeafe; color: #1d4ed8; }
.af-audit-pill--draft { background: #f3f4f6; color: #6b7280; }
.af-audit-pill--closed { background: #dcfce7; color: #15803d; }
.af-audit-pill--archived { background: #f3f4f6; color: #6b7280; }

/* ---- Quick actions ---- */
.theme-new .af-audit-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}
.theme-new .af-audit-quick-action {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.7rem 1.1rem;
    color: #1f2937;
    font-weight: 600;
    font-size: 0.88rem;
    text-decoration: none;
}
.theme-new .af-audit-quick-action:hover { border-color: #93c5fd; background: #eff6ff; }
.theme-new .af-audit-quick-action i { color: #2563eb; }

/* ---- Empty states ---- */
.af-audit-empty {
    text-align: center;
    padding: 3rem 1.5rem;
    color: #6b7280;
}
.af-audit-empty i { font-size: 2.2rem; color: #cbd5e1; margin-bottom: 0.75rem; }
.af-audit-empty h3 { font-size: 1.1rem; color: #111827; margin-bottom: 0.4rem; }
.af-audit-empty p { max-width: 30rem; margin: 0 auto 1rem; }

/* ---- New "Audits" landing page (works acceptably under either theme;
   New Theme enhancements below are additive only) ---- */
.theme-new .af-audit-audits-page { color: #111827; }
.theme-new .af-audit-audits-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-audits-title { font-size: 1.4rem; font-weight: 800; color: #111827; margin: 0 0 0.3rem; }
.theme-new .af-audit-audits-intro { color: #4b5563; max-width: 42rem; }
.theme-new .af-audit-audits-card { border-color: #e2e8f0 !important; border-radius: 14px; }

/* ---- Responsive (Audit-R3) ---- */
@media (max-width: 992px) {
    .theme-new .af-audit-attention-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-new .af-audit-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 576px) {
    .theme-new .af-audit-attention-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-guide { grid-template-columns: 1fr; }
    .theme-new .af-audit-intro { flex-direction: column; align-items: flex-start; }
    .theme-new .af-audit-intro-cta { width: 100%; }
    .theme-new .af-audit-intro-cta .af-audit-btn { width: 100%; justify-content: center; }
    .theme-new .af-audit-nav { flex-direction: column; align-items: flex-start; }
    .theme-new .af-audit-nav-tabs { width: 100%; }
    .theme-new .af-audit-nav-link { flex: 1 1 auto; justify-content: center; }
    .theme-new .af-audit-audits-head { flex-direction: column; align-items: flex-start; }
    .theme-new .af-audit-audits-head .af-audit-btn { width: 100%; justify-content: center; }
}

/* No decorative animation/transform anywhere under .af-audit-* */

/* ==== END Audit-R3 — ADMIN NEW THEME OVERVIEW + NAVIGATION ==== */

/* ==============================================================
   Audit-R4 — CREATE AND ASSIGN AUDIT WIZARD + AUDIT DETAIL (New Theme)
   All rules scoped under body.theme-new / .af-audit-*. No animation,
   transform-on-hover or gradient/glass styling. Classic Theme untouched.
   ============================================================== */

/* Light page canvas for the wizard + audit detail, same convention as the
   Audit-R3 Overview/Audits pages. */
body.theme-new.af-app:has(.af-audit-wizard-page),
body.theme-new.af-app:has(.af-audit-instance-overview) {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}
body.theme-new:has(.af-audit-wizard-page) > .container.mt-4,
body.theme-new:has(.af-audit-instance-overview) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
}

.theme-new .af-audit-wizard-page,
.theme-new .af-audit-instance-overview { color: #111827; }

/* ---- Step indicator ---- */
.theme-new .af-audit-wizard-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    margin: 0 0 1.25rem;
    padding: 0;
}
.theme-new .af-audit-wizard-step {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    color: #6b7280;
    font-weight: 600;
    font-size: 0.85rem;
}
.theme-new .af-audit-wizard-step-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: #e2e8f0;
    color: #4b5563;
    font-size: 0.78rem;
    font-weight: 700;
}
.theme-new .af-audit-wizard-step--active {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}
.theme-new .af-audit-wizard-step--active .af-audit-wizard-step-num { background: #2563eb; color: #fff; }
.theme-new .af-audit-wizard-step--done { color: #15803d; }
.theme-new .af-audit-wizard-step--done .af-audit-wizard-step-num { background: #dcfce7; color: #15803d; }

/* ---- Card / panel shell ---- */
.theme-new .af-audit-wizard-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}
.theme-new .af-audit-wizard-title { font-size: 1.35rem; font-weight: 800; color: #111827; margin: 0 0 0.35rem; }
.theme-new .af-audit-wizard-instruction { color: #4b5563; margin: 0 0 1.25rem; max-width: 46rem; }
.theme-new .af-audit-wizard-panel {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.1rem 1.25rem;
    margin-top: 0.5rem;
}
.theme-new .af-audit-wizard-inline-form .form-label { color: #111827; font-weight: 600; }
.theme-new .af-audit-wizard-inline-form .form-control,
.theme-new .af-audit-wizard-inline-form .form-select,
.theme-new .af-audit-wizard-card .form-control,
.theme-new .af-audit-wizard-card .form-select {
    border-color: #cbd5e1;
    border-radius: 8px;
    background: #ffffff;
    color: #111827;
}
.theme-new .af-audit-wizard-card .form-label { color: #111827; font-weight: 600; }
.theme-new .af-audit-field-error { color: #dc2626; font-size: 0.82rem; margin-top: 0.25rem; }

/* ---- Question-source picker ---- */
.theme-new .af-audit-wizard-source-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-wizard-source-form { margin: 0; }
.theme-new .af-audit-wizard-source-option {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem;
    color: #111827;
    text-align: left;
}
.theme-new .af-audit-wizard-source-option i { color: #2563eb; font-size: 1.1rem; }
.theme-new .af-audit-wizard-source-option span { font-weight: 700; }
.theme-new .af-audit-wizard-source-option small { color: #6b7280; font-weight: 500; }
.theme-new .af-audit-wizard-source-option--active {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: inset 0 0 0 1px #2563eb;
}

/* ---- Saved-question preview ---- */
.theme-new .af-audit-wizard-preview {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid #e2e8f0;
}
.theme-new .af-audit-wizard-preview h3 { font-size: 1.05rem; font-weight: 700; color: #111827; margin-bottom: 0.3rem; }
.theme-new .af-audit-wizard-preview-meta { display: flex; flex-wrap: wrap; gap: 1rem; color: #4b5563; font-size: 0.85rem; margin: 0.5rem 0; }
.theme-new .af-audit-wizard-preview-meta i { color: #2563eb; margin-right: 0.25rem; }
.theme-new .af-audit-wizard-preview-link { color: #2563eb; font-weight: 600; font-size: 0.85rem; text-decoration: none; }
.theme-new .af-audit-wizard-preview-link:hover { text-decoration: underline; }
.theme-new .af-audit-wizard-empty-hint { color: #6b7280; font-size: 0.9rem; margin: 0.75rem 0; }

/* ---- Optional Details disclosure ---- */
.theme-new .af-audit-wizard-optional-details { margin-top: 0.5rem; }
.theme-new .af-audit-wizard-optional-details summary {
    color: #2563eb;
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
}

/* ---- Radio group (Step 1 question-source choice) ---- */
.theme-new .af-audit-wizard-radio-group { display: flex; flex-wrap: wrap; gap: 1.25rem; }
.theme-new .af-audit-wizard-radio { display: flex; align-items: center; gap: 0.4rem; color: #111827; font-weight: 500; }

/* ---- Question list ---- */
.theme-new .af-audit-wizard-question-list-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin: 1.25rem 0 0.75rem;
}
.theme-new .af-audit-wizard-question-list-head h3 { font-size: 1rem; font-weight: 700; color: #111827; margin: 0; }
.theme-new .af-audit-wizard-secondary-link {
    color: #2563eb;
    font-weight: 600;
    font-size: 0.85rem;
    text-decoration: none;
    align-self: center;
}
.theme-new .af-audit-wizard-secondary-link:hover { text-decoration: underline; }

.theme-new .af-audit-wizard-question-list { display: flex; flex-direction: column; gap: 0.6rem; }
.theme-new .af-audit-wizard-question-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.75rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}
.theme-new .af-audit-wizard-question-body { display: flex; gap: 0.75rem; }
.theme-new .af-audit-wizard-question-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: #eff6ff;
    color: #2563eb;
    font-weight: 700;
    font-size: 0.82rem;
    flex-shrink: 0;
}
.theme-new .af-audit-wizard-question-text { color: #111827; font-weight: 600; margin: 0 0 0.35rem; }
.theme-new .af-audit-wizard-question-tags { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.theme-new .af-audit-wizard-question-actions { display: flex; gap: 0.35rem; flex-shrink: 0; }
.theme-new .af-audit-wizard-icon-btn {
    width: 2rem;
    height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #4b5563;
}
.theme-new .af-audit-wizard-icon-btn:hover { background: #eff6ff; color: #2563eb; }
.theme-new .af-audit-wizard-icon-btn:disabled { opacity: 0.4; }
.theme-new .af-audit-wizard-icon-btn--danger:hover { background: #fef2f2; color: #dc2626; }

/* ---- Wizard action row / secondary buttons ---- */
.theme-new .af-audit-wizard-actions { display: flex; justify-content: space-between; align-items: center; gap: 0.75rem; margin-top: 1.5rem; }
.theme-new .af-audit-wizard-actions--review { justify-content: flex-end; flex-wrap: wrap; }
.theme-new .af-audit-btn-secondary {
    background: #f8fafc;
    color: #1d4ed8;
    border: 1px solid #93c5fd;
}
.theme-new .af-audit-btn-secondary:hover { background: #eff6ff; }
.theme-new .af-audit-wizard-cancel-form {
    margin-top: 1rem;
    display: flex;
    justify-content: center;
}
.theme-new .af-audit-wizard-cancel-btn {
    min-width: 10.5rem;
}

/* ---- Step 3: Assign Staff ---- */
.theme-new .af-audit-wizard-employee-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin-bottom: 0.75rem;
}
.theme-new .af-audit-wizard-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.45rem 0.75rem;
    flex: 1 1 16rem;
}
.theme-new .af-audit-wizard-search i { color: #94a3b8; }
.theme-new .af-audit-wizard-search input { border: none; outline: none; flex: 1; background: transparent; color: #111827; }
.theme-new .af-audit-wizard-employee-toolbar .form-select {
    border-color: #cbd5e1;
    border-radius: 8px;
    max-width: 14rem;
}
.theme-new .af-audit-wizard-selected-count { color: #1d4ed8; font-weight: 700; margin: 0 0 0.75rem; }
.theme-new .af-audit-wizard-employee-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
    gap: 0.6rem;
    max-height: 26rem;
    overflow-y: auto;
    padding: 0.25rem;
}
.theme-new .af-audit-wizard-employee-card {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    margin: 0;
}
.theme-new .af-audit-wizard-employee-card:has(.af-audit-wizard-employee-checkbox:checked) {
    border-color: #2563eb;
    background: #eff6ff;
}
.theme-new .af-audit-wizard-employee-checkbox { width: 1.1rem; height: 1.1rem; flex-shrink: 0; }
.theme-new .af-audit-wizard-employee-avatar,
.theme-new .af-audit-wizard-employee-photo {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 50%;
    flex-shrink: 0;
    object-fit: cover;
}
.theme-new .af-audit-wizard-employee-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #dbeafe;
    color: #1d4ed8;
    font-weight: 700;
    font-size: 0.85rem;
}
.theme-new .af-audit-wizard-employee-info { display: flex; flex-direction: column; min-width: 0; }
.theme-new .af-audit-wizard-employee-name { color: #111827; font-weight: 600; word-break: break-word; }
.theme-new .af-audit-wizard-employee-dept { color: #6b7280; font-size: 0.8rem; }

/* ---- Step 4: Review & Create summary ---- */
.theme-new .af-audit-wizard-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-wizard-summary-block {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1rem 1.1rem;
}
.theme-new .af-audit-wizard-summary-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.4rem; }
.theme-new .af-audit-wizard-summary-head h3 { font-size: 0.95rem; font-weight: 700; color: #111827; margin: 0; text-transform: uppercase; letter-spacing: 0.03em; }
.theme-new .af-audit-wizard-summary-edit { color: #2563eb; font-weight: 600; font-size: 0.82rem; text-decoration: none; }
.theme-new .af-audit-wizard-summary-edit:hover { text-decoration: underline; }
.theme-new .af-audit-wizard-summary-name { color: #111827; font-weight: 700; margin: 0 0 0.35rem; word-break: break-word; }
.theme-new .af-audit-wizard-summary-list { list-style: none; padding: 0; margin: 0.5rem 0 0; font-size: 0.85rem; color: #374151; }
.theme-new .af-audit-wizard-summary-list li { padding: 0.2rem 0; border-top: 1px dashed #e2e8f0; }
.theme-new .af-audit-wizard-summary-list li:first-child { border-top: none; }

/* ---- Audit detail (New Theme) ---- */
.theme-new .af-audit-instance-header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-instance-header-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.theme-new .af-audit-instance-summary {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}
.theme-new .af-audit-instance-name { font-size: 1.2rem; font-weight: 800; color: #111827; margin: 0 0 0.4rem; }
.theme-new .af-audit-instance-next-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin-top: 1.5rem;
}

/* ---- Responsive (Audit-R4) ---- */
@media (max-width: 992px) {
    .theme-new .af-audit-wizard-summary { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .theme-new .af-audit-wizard-source-options { grid-template-columns: 1fr; }
    .theme-new .af-audit-wizard-actions { flex-direction: column-reverse; align-items: stretch; }
    .theme-new .af-audit-wizard-actions .af-audit-btn { width: 100%; justify-content: center; }
    .theme-new .af-audit-wizard-employee-toolbar { flex-direction: column; align-items: stretch; }
    .theme-new .af-audit-wizard-employee-toolbar .form-select { max-width: none; }
    .theme-new .af-audit-wizard-employee-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-instance-header { flex-direction: column; }
    .theme-new .af-audit-instance-header-actions { width: 100%; }
    .theme-new .af-audit-instance-header-actions .af-audit-btn,
    .theme-new .af-audit-instance-header-actions form { flex: 1 1 auto; }
    .theme-new .af-audit-instance-next-actions .af-audit-btn { flex: 1 1 auto; text-align: center; }
}

/* No decorative animation/transform anywhere under .af-audit-wizard-* / .af-audit-instance-* */

/* ==== END Audit-R4 — CREATE AND ASSIGN AUDIT WIZARD + AUDIT DETAIL ==== */

/* ==============================================================
   Audit-R6 — ADMIN REVIEWS & ACTION PLANS (New Theme)
   Unified "Reviews & Action Plans" workspace + individual review +
   bulk mode + admin Action Plan detail + admin timeline.
   All rules scoped under body.theme-new / .af-audit-*. No animation,
   transform-on-hover, gradient or glass styling. Classic Theme untouched.
   Palette matches R3/R4: primary #2563eb, soft #eff6ff, borders #e2e8f0,
   text #111827.
   ============================================================== */

/* ---- Light page canvas for every R6 admin page ---- */
body.theme-new.af-app:has(.af-audit-reviews-page),
body.theme-new.af-app:has(.af-audit-review-detail),
body.theme-new.af-app:has(.af-audit-bulk-page),
body.theme-new.af-app:has(.af-audit-plan-detail),
body.theme-new.af-app:has(.af-audit-timeline-page) {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}
body.theme-new:has(.af-audit-reviews-page) > .container.mt-4,
body.theme-new:has(.af-audit-review-detail) > .container.mt-4,
body.theme-new:has(.af-audit-bulk-page) > .container.mt-4,
body.theme-new:has(.af-audit-plan-detail) > .container.mt-4,
body.theme-new:has(.af-audit-timeline-page) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
}

.theme-new .af-audit-reviews-page,
.theme-new .af-audit-review-detail,
.theme-new .af-audit-bulk-page,
.theme-new .af-audit-plan-detail,
.theme-new .af-audit-timeline-page { color: #111827; }

/* ---- Intro / header panel ---- */
.theme-new .af-audit-reviews-intro {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    background: #eff6ff;
    border: 1px solid #dbeafe;
    border-radius: 14px;
    padding: 1.1rem 1.35rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-reviews-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #111827;
    margin: 0 0 0.4rem;
}
.theme-new .af-audit-reviews-title i { color: #2563eb; }
.theme-new .af-audit-reviews-lead { color: #1f2937; margin: 0 0 0.3rem; max-width: 48rem; }
.theme-new .af-audit-reviews-note { color: #4b5563; font-size: 0.9rem; margin: 0; max-width: 48rem; }

/* ---- Five-up Needs Attention grid ---- */
.theme-new .af-audit-attention-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }

/* ---- Filter card ---- */
.theme-new .af-audit-filter-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem 1.35rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.theme-new .af-audit-filter-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}
.theme-new .af-audit-filter-count {
    background: #eff6ff;
    color: #1d4ed8;
    border-radius: 999px;
    padding: 0.2rem 0.75rem;
    font-weight: 700;
    font-size: 0.8rem;
}
.theme-new .af-audit-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}
.theme-new .af-audit-filter-field { display: flex; flex-direction: column; gap: 0.3rem; }
.theme-new .af-audit-filter-field--wide { grid-column: span 2; }
.theme-new .af-audit-filter-field > span { font-size: 0.82rem; font-weight: 600; color: #374151; }
.theme-new .af-audit-filter-field input,
.theme-new .af-audit-filter-field select,
.theme-new .af-audit-filter-field textarea {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.5rem 0.7rem;
    background: #ffffff;
    color: #111827;
    font-size: 0.9rem;
    width: 100%;
}
.theme-new .af-audit-filter-field input:focus,
.theme-new .af-audit-filter-field select:focus,
.theme-new .af-audit-filter-field textarea:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}
.theme-new .af-audit-filter-toggles {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25rem;
    margin-top: 1rem;
}
.theme-new .af-audit-filter-actions {
    display: flex;
    gap: 0.6rem;
    margin-left: auto;
    flex-wrap: wrap;
}
.theme-new .af-audit-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #374151;
    font-weight: 500;
    font-size: 0.9rem;
    cursor: pointer;
}
.theme-new .af-audit-check input { width: 1rem; height: 1rem; }
.theme-new .af-audit-required { color: #dc2626; }

/* ---- Buttons: small + block helpers (extends R3 .af-audit-btn) ---- */
.theme-new .af-audit-btn-sm { padding: 0.4rem 0.8rem; font-size: 0.82rem; }
.theme-new .af-audit-btn-block { width: 100%; justify-content: center; margin-bottom: 0.6rem; }

/* ---- Bulk action bar ---- */
.theme-new .af-audit-bulk-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
}
.theme-new .af-audit-bulk-bar-info { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.theme-new .af-audit-bulk-selected { font-weight: 700; color: #1d4ed8; font-size: 0.9rem; }
.theme-new .af-audit-bulk-bar-controls { display: flex; gap: 0.6rem; align-items: center; flex-wrap: wrap; }
.theme-new .af-audit-bulk-select {
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.5rem 0.7rem;
    background: #ffffff;
    color: #111827;
    font-size: 0.9rem;
}
.theme-new .af-audit-bulk-help { color: #6b7280; font-size: 0.85rem; margin: 0 0 1rem; }
.theme-new .af-audit-bulk-comments { margin: 0.75rem 0 1rem; }

/* ---- Queue table ---- */
.theme-new .af-audit-queue-wrap { overflow-x: auto; }
.theme-new .af-audit-queue-table { min-width: 60rem; }
.theme-new .af-audit-queue-table th { white-space: nowrap; }
.theme-new .af-audit-queue-emp { display: block; font-weight: 700; color: #111827; }
.theme-new .af-audit-queue-dept { display: block; color: #6b7280; font-size: 0.8rem; }
.theme-new .af-audit-queue-audit { display: block; font-weight: 600; color: #111827; }
.theme-new .af-audit-queue-question { display: block; color: #4b5563; font-size: 0.82rem; margin-top: 0.15rem; max-width: 26rem; }
.theme-new .af-audit-queue-due { display: block; color: #374151; }
.theme-new .af-audit-queue-check { width: 2.5rem; text-align: center; }
.theme-new .af-audit-queue-actions-col { text-align: right; white-space: nowrap; }

/* ---- Chips ---- */
.theme-new .af-audit-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.1rem 0.5rem;
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 700;
    margin-top: 0.25rem;
}
.theme-new .af-audit-chip--critical { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.theme-new .af-audit-chip--overdue { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }
.theme-new .af-audit-chip--internal { background: #f1f5f9; color: #475569; border: 1px solid #e2e8f0; }

/* ---- Status badges (visible plain-language labels) ---- */
.theme-new .af-audit-status {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.65rem;
    border-radius: 999px;
    font-size: 0.74rem;
    font-weight: 700;
    background: #e5e7eb;
    color: #374151;
    white-space: nowrap;
}
.theme-new .af-audit-status--submitted { background: #fef3c7; color: #92400e; }
.theme-new .af-audit-status--progress { background: #dbeafe; color: #1d4ed8; }
.theme-new .af-audit-status--completed { background: #dcfce7; color: #15803d; }
.theme-new .af-audit-status--closed { background: #f3f4f6; color: #6b7280; }
.theme-new .af-audit-status--draft { background: #f3f4f6; color: #6b7280; }
.theme-new .af-audit-status--returned { background: #ffedd5; color: #c2410c; }
.theme-new .af-audit-status--pending { background: #fef3c7; color: #92400e; }
.theme-new .af-audit-status--none { background: #f3f4f6; color: #9ca3af; }

/* ---- Pagination ---- */
.theme-new .af-audit-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}
.theme-new .af-audit-page-link {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.4rem 0.9rem;
    color: #1d4ed8;
    font-weight: 600;
    text-decoration: none;
}
.theme-new .af-audit-page-link:hover { background: #eff6ff; }
.theme-new .af-audit-page-status { color: #6b7280; font-size: 0.85rem; }

/* ---- Panels (review detail, plan detail, timeline) ---- */
.theme-new .af-audit-panel {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 1.25rem 1.4rem;
    margin-bottom: 1.25rem;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}
.theme-new .af-audit-panel-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.theme-new .af-audit-panel-title i { color: #2563eb; }
.theme-new .af-audit-panel-help { color: #4b5563; font-size: 0.88rem; margin: -0.5rem 0 1rem; }

/* ---- Key/value grid ---- */
.theme-new .af-audit-kv-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem 1.25rem;
    margin-bottom: 1rem;
}
.theme-new .af-audit-kv-label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #6b7280;
    font-weight: 700;
    margin-bottom: 0.15rem;
}
.theme-new .af-audit-kv-value { color: #111827; font-weight: 600; word-break: break-word; }

/* ---- Finding + answers ---- */
.theme-new .af-audit-finding-question { margin: 0.5rem 0 1rem; }
.theme-new .af-audit-finding-question p { color: #111827; font-size: 1rem; margin: 0.3rem 0 0; }
.theme-new .af-audit-finding-notes p { color: #374151; margin: 0.3rem 0 0; }
.theme-new .af-audit-answer-compare {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    margin: 0.5rem 0;
}
.theme-new .af-audit-answer {
    border-radius: 10px;
    padding: 0.85rem 1rem;
    border: 1px solid #e2e8f0;
}
.theme-new .af-audit-answer--wrong { background: #fef2f2; border-color: #fecaca; }
.theme-new .af-audit-answer--right { background: #f0fdf4; border-color: #bbf7d0; }
.theme-new .af-audit-answer-label {
    display: block;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: #6b7280;
    margin-bottom: 0.25rem;
}
.theme-new .af-audit-answer-value { font-size: 1.1rem; font-weight: 800; color: #111827; }

/* ---- Plan body text ---- */
.theme-new .af-audit-plan-body { margin-bottom: 1rem; }
.theme-new .af-audit-plan-text { color: #1f2937; line-height: 1.6; }
.theme-new .af-audit-plan-text p { margin: 0 0 0.5rem; }
.theme-new .af-audit-empty-hint { color: #6b7280; font-size: 0.88rem; margin: 0.5rem 0 0; }

/* ---- Review detail two-column layout ---- */
.theme-new .af-audit-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
}
.theme-new .af-audit-review-side { position: sticky; top: 1rem; }
.theme-new .af-audit-review-links { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; }
.theme-new .af-audit-secondary-link { color: #2563eb; font-weight: 600; font-size: 0.88rem; text-decoration: none; }
.theme-new .af-audit-secondary-link:hover { text-decoration: underline; }

/* ---- Related findings chips ---- */
.theme-new .af-audit-related-plans {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 1.25rem;
}
.theme-new .af-audit-related-label { color: #6b7280; font-size: 0.85rem; font-weight: 600; margin-right: 0.25rem; }
.theme-new .af-audit-related-chip {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.25rem 0.6rem;
    color: #1d4ed8;
    font-weight: 600;
    font-size: 0.8rem;
    text-decoration: none;
}
.theme-new .af-audit-related-chip:hover { background: #eff6ff; }
.theme-new .af-audit-related-chip--current { background: #2563eb; color: #ffffff; border-color: #2563eb; }

/* ---- Decision panel ---- */
.theme-new .af-audit-decision-options { display: flex; flex-direction: column; gap: 0.6rem; margin-bottom: 1rem; }
.theme-new .af-audit-decision-option {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
    cursor: pointer;
    margin: 0;
}
.theme-new .af-audit-decision-option:has(input:checked) { border-color: #2563eb; background: #eff6ff; }
.theme-new .af-audit-decision-option input { margin-top: 0.2rem; }
.theme-new .af-audit-decision-body { display: flex; flex-direction: column; }
.theme-new .af-audit-decision-body strong { color: #111827; }
.theme-new .af-audit-decision-body small { color: #6b7280; font-size: 0.82rem; }
.theme-new .af-audit-decision-comments { margin-bottom: 1rem; }
.theme-new .af-audit-decision-notify { margin-bottom: 1rem; }

/* ---- Modal (New Theme) ---- */
.theme-new .af-audit-modal {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    color: #111827;
}
.theme-new .af-audit-modal .modal-header,
.theme-new .af-audit-modal .modal-footer { border-color: #e2e8f0; }
.theme-new .af-audit-modal .modal-title { color: #111827; font-weight: 700; }
.theme-new .af-audit-modal .modal-title i { color: #d97706; }
.theme-new .af-audit-modal-consequence {
    background: #fffbeb;
    border: 1px solid #fde68a;
    color: #92400e;
    border-radius: 10px;
    padding: 0.7rem 0.9rem;
    font-size: 0.9rem;
    margin: 0.75rem 0;
}
.theme-new .af-audit-modal-comments { margin-top: 0.5rem; }
.theme-new .af-audit-field-error { color: #dc2626; font-size: 0.85rem; }

/* ---- Comments ---- */
.theme-new .af-audit-comment-list { display: flex; flex-direction: column; gap: 0.75rem; margin-bottom: 1rem; }
.theme-new .af-audit-comment {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.75rem 0.9rem;
}
.theme-new .af-audit-comment--internal { background: #f1f5f9; border-color: #cbd5e1; }
.theme-new .af-audit-comment-head { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-bottom: 0.35rem; }
.theme-new .af-audit-comment-head strong { color: #111827; }
.theme-new .af-audit-comment-time { color: #9ca3af; font-size: 0.78rem; }
.theme-new .af-audit-comment-form { border-top: 1px solid #e2e8f0; padding-top: 1rem; display: flex; flex-direction: column; gap: 0.6rem; }

/* ---- Bulk mode list ---- */
.theme-new .af-audit-bulk-list { display: flex; flex-direction: column; gap: 0.6rem; }
.theme-new .af-audit-bulk-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem 1rem;
    cursor: pointer;
    margin: 0;
}
.theme-new .af-audit-bulk-item:has(input:checked) { border-color: #2563eb; background: #eff6ff; }
.theme-new .af-audit-bulk-item input { margin-top: 0.2rem; }
.theme-new .af-audit-bulk-item-body { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; }
.theme-new .af-audit-bulk-item-top { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.theme-new .af-audit-bulk-item-emp { font-weight: 700; color: #111827; }
.theme-new .af-audit-bulk-item-dept { color: #6b7280; font-size: 0.82rem; }
.theme-new .af-audit-bulk-item-audit { color: #374151; font-weight: 600; font-size: 0.88rem; }
.theme-new .af-audit-bulk-item-desc { color: #4b5563; font-size: 0.85rem; }
.theme-new .af-audit-bulk-item-due { color: #6b7280; font-size: 0.8rem; }
.theme-new .af-audit-bulk-overdue { align-self: end; padding-bottom: 0.5rem; }

/* ---- Timeline (New Theme) ---- */
.theme-new .af-audit-timeline { position: relative; padding-left: 2.5rem; }
.theme-new .af-audit-timeline::before {
    content: '';
    position: absolute;
    left: 1rem;
    top: 0.5rem;
    bottom: 0.5rem;
    width: 2px;
    background: #e2e8f0;
}
.theme-new .af-audit-timeline-item { position: relative; margin-bottom: 1.1rem; }
.theme-new .af-audit-timeline-dot {
    position: absolute;
    left: -2.5rem;
    top: 0.1rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #eff6ff;
    color: #2563eb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #ffffff;
    box-shadow: 0 0 0 1px #dbeafe;
    font-size: 0.8rem;
}
.theme-new .af-audit-timeline-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 0.85rem 1rem;
}
.theme-new .af-audit-timeline-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.4rem; }
.theme-new .af-audit-timeline-who { font-weight: 700; color: #111827; font-size: 0.9rem; }
.theme-new .af-audit-timeline-what { font-weight: 500; color: #6b7280; font-size: 0.82rem; margin-left: 0.35rem; }
.theme-new .af-audit-timeline-time { color: #9ca3af; font-size: 0.78rem; white-space: nowrap; }
.theme-new .af-audit-timeline-body { color: #374151; font-size: 0.9rem; }
.theme-new .af-audit-timeline-body p { margin: 0 0 0.35rem; }
.theme-new .af-audit-timeline-details { list-style: none; padding: 0.6rem 0.8rem; margin: 0.4rem 0 0; background: #f8fafc; border-radius: 8px; }
.theme-new .af-audit-timeline-details li { font-size: 0.83rem; color: #4b5563; padding: 0.1rem 0; }

/* ---- Responsive (Audit-R6) ---- */
@media (max-width: 1100px) {
    .theme-new .af-audit-attention-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .theme-new .af-audit-review-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-review-side { position: static; }
}
@media (max-width: 900px) {
    .theme-new .af-audit-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-new .af-audit-filter-field--wide { grid-column: span 2; }
}
@media (max-width: 720px) {
    .theme-new .af-audit-reviews-intro { flex-direction: column; align-items: flex-start; }
    .theme-new .af-audit-reviews-intro .af-audit-btn { width: 100%; justify-content: center; }
    .theme-new .af-audit-attention-grid--five { grid-template-columns: 1fr 1fr; }
    .theme-new .af-audit-filter-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-filter-field--wide { grid-column: span 1; }
    .theme-new .af-audit-filter-actions { margin-left: 0; width: 100%; }
    .theme-new .af-audit-filter-actions .af-audit-btn { flex: 1 1 auto; justify-content: center; }
    .theme-new .af-audit-kv-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-answer-compare { grid-template-columns: 1fr; }
    .theme-new .af-audit-bulk-bar { flex-direction: column; align-items: stretch; }
    .theme-new .af-audit-bulk-bar-controls { justify-content: space-between; }

    /* Stacked-card queue on small screens */
    .theme-new .af-audit-queue-table { min-width: 0; }
    .theme-new .af-audit-queue-table thead { display: none; }
    .theme-new .af-audit-queue-table,
    .theme-new .af-audit-queue-table tbody,
    .theme-new .af-audit-queue-table tr,
    .theme-new .af-audit-queue-table td { display: block; width: 100%; }
    .theme-new .af-audit-queue-table tr {
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        margin-bottom: 0.75rem;
        padding: 0.5rem 0.75rem;
    }
    .theme-new .af-audit-queue-table td {
        display: flex;
        justify-content: space-between;
        gap: 1rem;
        border: none;
        padding: 0.35rem 0;
    }
    .theme-new .af-audit-queue-table td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #6b7280;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .theme-new .af-audit-queue-question { max-width: none; text-align: right; }
    .theme-new .af-audit-queue-actions-col { text-align: left; }
}
@media (max-width: 480px) {
    .theme-new .af-audit-attention-grid--five { grid-template-columns: 1fr; }
}

/* No decorative animation/transform anywhere under .af-audit-* (Audit-R6) */

/* ==== END Audit-R6 — ADMIN REVIEWS & ACTION PLANS ==== */

/* ==============================================================
   Audit-R7A — ADMIN CALENDAR, REPORTS AND EVIDENCE (New Theme)
   Calendar & Reports landing + Calendar overview/form/delete New
   Theme branches. All rules scoped under body.theme-new / .af-audit-*.
   No Close/Reopen controls. Classic Theme untouched.
   ============================================================== */

body.theme-new.af-app:has(.af-audit-calrep-page),
body.theme-new.af-app:has(.af-audit-calendar-page),
body.theme-new.af-app:has(.af-audit-calendar-form-page),
body.theme-new.af-app:has(.af-audit-calendar-delete-page) {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}
body.theme-new:has(.af-audit-calrep-page) > .container.mt-4,
body.theme-new:has(.af-audit-calendar-page) > .container.mt-4,
body.theme-new:has(.af-audit-calendar-form-page) > .container.mt-4,
body.theme-new:has(.af-audit-calendar-delete-page) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
}

.theme-new .af-audit-calrep-page,
.theme-new .af-audit-calendar-page,
.theme-new .af-audit-calendar-form-page,
.theme-new .af-audit-calendar-delete-page { color: #111827; }

.theme-new .af-audit-calrep-intro {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    align-items: flex-start;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1.5rem;
}
.theme-new .af-audit-calrep-title {
    margin: 0 0 0.35rem;
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e3a8a;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.theme-new .af-audit-calrep-title i { color: #2563eb; }
.theme-new .af-audit-calrep-lead {
    margin: 0 0 0.35rem;
    color: #1e293b;
    font-size: 1rem;
    max-width: 52rem;
}
.theme-new .af-audit-calrep-note {
    margin: 0;
    color: #475569;
    font-size: 0.9rem;
    max-width: 52rem;
}
.theme-new .af-audit-calrep-footnote {
    margin: 2rem 0 0;
    padding: 0.75rem 1rem;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #64748b;
    font-size: 0.85rem;
}

.theme-new .af-audit-section { margin-bottom: 1.75rem; }
.theme-new .af-audit-section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #1e3a8a;
    margin: 0 0 0.5rem;
}
.theme-new .af-audit-section-lead {
    color: #475569;
    font-size: 0.9rem;
    margin: 0 0 0.85rem;
}
.theme-new .af-audit-section-head {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: baseline;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
}
.theme-new .af-audit-subsection-title {
    font-size: 0.95rem;
    font-weight: 650;
    color: #1e40af;
    margin: 1.25rem 0 0.5rem;
}

.theme-new .af-audit-attention-grid--three {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}
.theme-new .af-audit-attention-grid--four {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.theme-new .af-audit-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}
.theme-new .af-audit-action-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    background: #fff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 1.1rem 1.2rem;
    text-decoration: none;
    color: #111827;
}
.theme-new .af-audit-action-card i { color: #2563eb; font-size: 1.25rem; }
.theme-new .af-audit-action-card strong { color: #1e3a8a; }
.theme-new .af-audit-action-card span { color: #475569; font-size: 0.88rem; }
.theme-new .af-audit-action-card--secondary { background: #f8fafc; }
.theme-new .af-audit-action-card--static { cursor: default; }

.theme-new .af-audit-inline-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.85rem;
    align-items: center;
}

.theme-new .af-audit-btn-danger {
    background: #fff;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 0.45rem 0.85rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.theme-new .af-audit-btn-danger:hover { background: #fef2f2; color: #991b1b; }

.theme-new .af-audit-filename {
    max-width: 16rem;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.82rem;
}

.theme-new .af-audit-history-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}
.theme-new .af-audit-history-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.theme-new .af-audit-history-list li {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #e2e8f0;
    font-size: 0.88rem;
}
.theme-new .af-audit-history-list li span { color: #64748b; }
.theme-new .af-audit-history-list a { color: #2563eb; text-decoration: none; font-weight: 600; }

.theme-new .af-audit-calendar-layout {
    display: grid;
    grid-template-columns: minmax(240px, 320px) 1fr;
    gap: 1rem;
    align-items: start;
}
.theme-new .af-audit-calendar-yearbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.75rem;
    margin-bottom: 0.85rem;
    align-items: flex-end;
}
.theme-new .af-audit-year-form {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    align-items: flex-end;
}
.theme-new .af-audit-month-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}
.theme-new .af-audit-month-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    padding: 0.55rem 0.35rem;
    border-radius: 8px;
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1e3a8a;
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 600;
}
.theme-new .af-audit-month-btn.is-active {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
}
.theme-new .af-audit-month-count {
    font-size: 0.72rem;
    font-weight: 700;
    background: rgba(255,255,255,0.25);
    border-radius: 999px;
    padding: 0 0.4rem;
}
.theme-new .af-audit-month-btn:not(.is-active) .af-audit-month-count {
    background: #dbeafe;
    color: #1e40af;
}

.theme-new .af-audit-form-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0.75rem 0 1rem;
}
.theme-new .af-audit-form .af-audit-filter-field select,
.theme-new .af-audit-form .af-audit-filter-field input,
.theme-new .af-audit-calendar-form-page select,
.theme-new .af-audit-calendar-form-page input[type="number"],
.theme-new .af-audit-calendar-form-page input[type="text"] {
    width: 100%;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0.45rem 0.65rem;
    background: #fff;
    color: #111827;
}
.theme-new .af-audit-field-error { color: #b91c1c; font-size: 0.8rem; display: block; margin-top: 0.2rem; }
.theme-new .af-audit-panel--danger { border-color: #fecaca; background: #fff; }
.theme-new .af-audit-confirm-list {
    margin: 0 0 1rem;
    padding-left: 1.2rem;
    color: #334155;
    font-size: 0.92rem;
}
.theme-new .af-audit-confirm-list li { margin-bottom: 0.35rem; }

.theme-new .af-audit-chip--danger {
    display: inline-block;
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 999px;
    padding: 0.1rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 650;
}

@media (max-width: 992px) {
    .theme-new .af-audit-calendar-layout { grid-template-columns: 1fr; }
    .theme-new .af-audit-attention-grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .theme-new .af-audit-history-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .theme-new .af-audit-action-grid { grid-template-columns: 1fr; }
    .theme-new .af-audit-attention-grid--three { grid-template-columns: 1fr; }
    .theme-new .af-audit-form-row { grid-template-columns: 1fr; }
    .theme-new .af-audit-calrep-intro { flex-direction: column; }
}
@media (max-width: 576px) {
    .theme-new .af-audit-attention-grid--four { grid-template-columns: 1fr; }
    .theme-new .af-audit-month-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ==== END Audit-R7A — ADMIN CALENDAR, REPORTS AND EVIDENCE ==== */


/* ============================================================
   Audit-R7B — ADMIN CLOSE / REOPEN LIFECYCLE (New Theme only)
   All rules scoped under body.theme-new + .af-audit-* classes.
   ============================================================ */
.theme-new .af-audit-lifecycle {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #ffffff;
    padding: 1.25rem 1.5rem;
}
.theme-new .af-audit-lifecycle .af-audit-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}
.theme-new .af-audit-lifecycle-instruction {
    color: #4b5563;
    margin: 0.5rem 0 0.75rem;
}
.theme-new .af-audit-lifecycle-note {
    color: #374151;
    margin-bottom: 0.75rem;
}
.theme-new .af-audit-lifecycle-note--blocked {
    color: #b45309;
    font-weight: 600;
}
.theme-new .af-audit-lifecycle-blockers {
    list-style: none;
    padding: 0;
    margin: 0 0 0.75rem;
    display: grid;
    gap: 0.4rem;
}
.theme-new .af-audit-lifecycle-blockers li {
    background: #fef3c7;
    color: #92400e;
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 0.9rem;
}
.theme-new .af-audit-lifecycle-blockers li i {
    margin-right: 0.4rem;
}
.theme-new .af-audit-lifecycle-links {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 0.75rem;
}
.theme-new .af-audit-lifecycle-links .af-audit-link {
    color: #1d4ed8;
    text-decoration: underline;
    font-size: 0.9rem;
}
.theme-new .af-audit-lifecycle-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.theme-new .af-audit-lifecycle-summary {
    list-style: none;
    padding: 0;
    margin: 0 0 0.75rem;
    display: grid;
    gap: 0.3rem;
    font-size: 0.92rem;
    color: #374151;
}
.theme-new .af-audit-lifecycle-consequence {
    background: #f3f4f6;
    border-left: 3px solid #9ca3af;
    padding: 0.6rem 0.85rem;
    border-radius: 6px;
    color: #374151;
    font-size: 0.9rem;
    margin-bottom: 0.75rem;
}
/* ==== END Audit-R7B — ADMIN CLOSE / REOPEN LIFECYCLE ==== */


/* ============================================================
   Audit-R8 — HELP DESK + CONTEXTUAL HELP (New Theme scoped)
   Reuses the shared af-schedule-help-* Help Desk styling (which is
   already defined for both themes); these rules only add the small
   audit-specific wrapper, contextual link and back-to-top affordance.
   ============================================================ */
/* Light page canvas for the Help Desk in New Theme — mirrors the same
   body.theme-new.af-app:has(.af-audit-*-page) pattern used by the other
   converted admin pages, so the guide never falls onto the dark global canvas. */
body.theme-new.af-app:has(.af-audit-help-page) {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}
body.theme-new:has(.af-audit-help-page) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
}
.theme-new .af-audit-help-page {
    color: #1f2937;
}
.af-audit-help-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: #1d4ed8;
    text-decoration: none;
}
.af-audit-help-inline:hover {
    text-decoration: underline;
    color: #1e40af;
}
.af-audit-help-inline i {
    color: #2563eb;
}
.af-audit-help-backtop {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.82rem;
    color: #6b7280;
    text-decoration: none;
}
.af-audit-help-backtop:hover {
    color: #1d4ed8;
    text-decoration: underline;
}
@media (max-width: 991px) {
    .theme-new .af-audit-help-page .af-schedule-help-nav.sticky-top {
        position: static;
    }
}
/* ==== END Audit-R8 — HELP DESK + CONTEXTUAL HELP ==== */


/* ============================================================
   NURSE DASHBOARD — New Theme light canvas + global light footer
   Page marker: .af-nurse-dashboard-page (nurse/nurse-dashboard only)
   Footer: body.theme-new .af-app-footer (New Theme only; Classic unchanged)
   ============================================================ */

/* ---- Light page canvas (slightly darker pale blue so white cards stand out) ---- */
body.theme-new.af-app:has(.af-nurse-dashboard-page) {
    background: linear-gradient(180deg, #eef4fb 0%, #e1ecf8 48%, #d4e4f5 100%) !important;
    color: #1e293b !important;
}

/* Dual-theme product title/description (Classic keeps original copy) */
.af-nurse-dash-new-copy { display: none; }
body.theme-new .af-nurse-dash-new-copy { display: inline; }
body.theme-new .af-nurse-dash-classic-copy { display: none !important; }
body.theme-new:has(.af-nurse-dashboard-page) > .container.mt-4 {
    max-width: 100% !important;
    background: transparent !important;
    padding-bottom: 0.5rem;
}

/* ---- Light professional hero ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-hero.hero-section,
body.theme-new .af-hero.af-nurse-dashboard-page.hero-section {
    background: #ffffff !important;
    background-image: none !important;
    border: 1px solid #dbe7f5;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    margin: 0.75rem 0 1.25rem;
    padding: 2rem 0 1.75rem;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero.hero-section::before {
    background: transparent !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero h1.af-nurse-dash-title,
body.theme-new:has(.af-nurse-dashboard-page) .af-hero .display-4.af-nurse-dash-title {
    color: #1d4ed8 !important;
    line-height: 1.2;
    overflow-wrap: break-word;
    word-wrap: break-word;
    hyphens: auto;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero .af-nurse-dash-brand {
    color: #1d4ed8 !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero .af-nurse-dash-title-rest {
    color: #2563eb !important;
    font-weight: 600;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero p.lead.af-nurse-dash-desc,
body.theme-new:has(.af-nurse-dashboard-page) .af-hero p.lead.af-nurse-dash-desc .af-nurse-dash-new-copy {
    color: #315b96 !important;
    font-weight: 500;
    line-height: 1.55;
    max-width: 38rem;
}
/* Keep other hero .text-white (e.g. date) on the light slate set earlier */
body.theme-new:has(.af-nurse-dashboard-page) .af-hero .date-display .text-white {
    color: #0f172a !important;
}
@media (max-width: 991px) {
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero h1.af-nurse-dash-title.display-4 {
        font-size: 1.85rem;
        line-height: 1.25;
    }
}
@media (max-width: 575px) {
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero h1.af-nurse-dash-title.display-4 {
        font-size: 1.45rem;
        line-height: 1.3;
    }
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero p.lead.af-nurse-dash-desc {
        font-size: 1rem;
        max-width: none;
    }
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero .date-display.af-card {
    background: #f8fbff !important;
    border: 1px solid #dbe7f5 !important;
    color: #0f172a !important;
    box-shadow: none !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-hero img.img-fluid {
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.12) !important;
    max-height: 280px;
}

/* ---- Dashboard body: transparent over light canvas ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard.container,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard.container.mb-5 {
    background: transparent !important;
    padding: 0.5rem 1.25rem 1.75rem !important;
    margin-bottom: 1rem !important;
}

/* ---- Section headings: dark navy on light canvas ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard h2.fw-bold,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard > .row > .col-12 > h2.fw-bold,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets h3.text-white,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .lead.text-white {
    color: #0f172a !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard h2.fw-bold,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard > .row > .col-12 > h2.fw-bold {
    margin-bottom: 1.5rem !important;
}

/* ---- Cards: white surfaces, soft blue-grey borders ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard {
    --af-dash-surface: #ffffff;
    --af-dash-surface-elevated: #f8fbff;
    --af-dash-surface-muted: #eef4fb;
    --af-dash-border: #d0dceb;
    --af-dash-shadow: 0 1px 3px rgba(15, 23, 42, 0.05);
    --af-dash-shadow-hover: 0 2px 10px rgba(37, 99, 235, 0.08);
    --af-dash-section-gap: 1.75rem;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-tile-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .glass-card.af-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-row .af-stat-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .af-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .af-tile-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .glass-card.af-card {
    background: #ffffff !important;
    border: 1px solid #d0dceb !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-stat-row .af-stat-card {
    color: #1e293b !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-card h3,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-card .mb-0 {
    color: #0f172a !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .feature-icon,
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .fa-2x.text-primary {
    color: #2563eb !important;
}

/* Override dark inline glass backgrounds on widgets */
body.theme-new:has(.af-nurse-dashboard-page) .glass-card.af-card[style*="rgba(15,23,42"],
body.theme-new:has(.af-nurse-dashboard-page) .af-tile-card[style*="background:rgba(15,23,42"],
body.theme-new:has(.af-nurse-dashboard-page) .af-breaks-widget[style*="rgba(15,23,42"] {
    background: #ffffff !important;
    border-color: #d0dceb !important;
}

/* ---- Tighter vertical rhythm (reduce dark empty gaps) ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-row {
    margin-bottom: 1.5rem !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard section.mt-5 {
    margin-top: 1.5rem !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard section.mb-4 {
    margin-bottom: 1.25rem !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .row.mb-5 {
    margin-bottom: 1.5rem !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard .af-stat-row > [class*="col-"] {
    margin-bottom: 1rem !important;
}

/* ---- On Duty / Holiday / Request Off / Off Duty: no dark navy panel ---- */
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets {
    background: #e8f1fb !important;
    background-image: none !important;
    border-top: 1px solid #d0dceb;
    border-bottom: 1px solid #d0dceb;
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important;
    margin-top: 0.5rem;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets h3.text-white {
    color: #0f172a !important;
    font-weight: 700;
    margin-bottom: 1.25rem !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .glass-card.af-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .af-tile-card,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .glass-card {
    background: #ffffff !important;
    border: 1px solid #d0dceb !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.05) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: none !important;
}

/* Consistent AitFoirne blue for all four status-card headings + icons */
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-success,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-danger,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-warning,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-info,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title i,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title i.fas,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-success i,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-danger i,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-warning i,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title.text-info i,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-success .card-title i.fas,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-warning .card-title i.fas,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-danger .card-title i.fas,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-info .card-title i.fas {
    color: #2563eb !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .card-title {
    font-weight: 700 !important;
    font-size: 0.95rem !important;
    letter-spacing: 0.02em;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-start.border-success,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-start.border-warning,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-start.border-danger,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .border-start.border-info {
    border-left-color: #93c5fd !important;
}

/* Readability: names dark, secondary slate, pale-blue count badges */
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .nurse-name,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .list-group-item.text-white {
    color: #0f172a !important;
    font-weight: 600;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .nurse-meta {
    color: #475569 !important;
    opacity: 1 !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .pill-time {
    color: #334155 !important;
    background: #eef4fb !important;
    border-color: #d0dceb !important;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .status-badge-count,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .badge.bg-success,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .badge.bg-warning,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .badge.bg-danger,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .badge.bg-info {
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    border: 1px solid #bfdbfe;
    font-weight: 700;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .workforce-list {
    max-height: 230px;
    overflow-y: auto;
}
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .btn-outline-success,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .btn-outline-warning,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .btn-outline-danger,
body.theme-new:has(.af-nurse-dashboard-page) .af-workforce-widgets .btn-outline-soft {
    color: #2563eb !important;
    border-color: #93c5fd !important;
    background: #ffffff !important;
}

/* ---- Responsive: hero + cards ---- */
@media (max-width: 991px) {
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero.hero-section {
        padding: 1.5rem 0 1.25rem;
        margin: 0.5rem 0 1rem;
        border-radius: 12px;
    }
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero .display-4 {
        font-size: 1.75rem;
    }
    body.theme-new:has(.af-nurse-dashboard-page) .af-admin-dashboard.container {
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
}
@media (max-width: 575px) {
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero a.af-btn-primary,
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero a[style*="linear-gradient"] {
        width: 100%;
        min-width: 0 !important;
        text-align: center;
    }
    body.theme-new:has(.af-nurse-dashboard-page) .af-hero .d-flex.gap-3 {
        flex-direction: column;
        width: 100%;
    }
}

/* ---- Global New Theme footer (light; Classic unchanged; slightly larger type) ---- */
body.theme-new .af-app-footer.bg-gradient,
body.theme-new footer.af-app-footer {
    background: #f8fbff !important;
    background-image: none !important;
    border-top: 1px solid #dbe7f5;
    color: #0f172a;
    margin-top: 2rem !important;
    padding-top: 1.5rem !important;
    padding-bottom: 1.5rem !important;
}
body.theme-new .af-app-footer h6.text-light,
body.theme-new .af-app-footer h6 {
    color: #0f172a !important;
    font-weight: 700;
    font-size: 1rem; /* ~16px */
    margin-bottom: 0.65rem !important;
}
body.theme-new .af-app-footer a.text-light,
body.theme-new .af-app-footer a {
    color: #2563eb !important;
    font-size: 0.9375rem; /* ~15px */
}
body.theme-new .af-app-footer a:hover {
    color: #1d4ed8 !important;
    text-decoration: underline !important;
}
body.theme-new .af-app-footer a i {
    color: #2563eb !important;
    font-size: 0.95rem;
}
body.theme-new .af-app-footer p.text-white,
body.theme-new .af-app-footer p.small {
    color: #475569 !important;
    font-size: 0.875rem; /* ~14px */
}
@media (max-width: 575px) {
    body.theme-new .af-app-footer .d-flex.gap-4 {
        gap: 0.75rem 1.25rem !important;
        flex-direction: column;
        align-items: center !important;
    }
}
@media print {
    body.theme-new .af-app-footer {
        display: none !important;
    }
}
/* ==== END NURSE DASHBOARD LIGHT CANVAS + GLOBAL NEW THEME FOOTER ==== */
