:root {
    /* Primary Colors */
    --primary: #2563eb;
    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-dark: #1e40af;
    --secondary-color: #0ea5e9;
    
    /* Neutral Colors (dark mode defaults) */
    --bg-dark: #0f172a;
    --bg-light: #f8fafc;
    --bg-primary: rgba(15, 23, 42, 0.6);
    --bg-secondary: rgba(255, 255, 255, 0.05);
    --text-main: #e2e8f0;
    --text-dark: #f8fafc;
    --text-white: #ffffff;
    --text-muted: #94a3b8;
    --text-secondary: #94a3b8;
    --text-primary: #e2e8f0;
    --text-color: #f8fafc;
    --border-color: rgba(255, 255, 255, 0.1);
    
    /* Glassmorphism */
    --glass-bg: rgba(255, 255, 255, 0.05);
    --glass-bg-dark: rgba(15, 23, 42, 0.7);
    --glass-border: rgba(255, 255, 255, 0.1);
    
    /* Surface and Borders */
    --surface: rgba(255, 255, 255, 0.06);
    --border: rgba(255, 255, 255, 0.12);
    
    /* Utils */
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    background: #0f172a; 
    background-image: 
        radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.15) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(14, 165, 233, 0.1) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(37, 99, 235, 0.1) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(14, 165, 233, 0.15) 0px, transparent 50%);
    color: var(--text-main); 
    line-height: 1.6;
    overflow-x: hidden;
    min-height: 100vh;
}

/* Background patterns */
body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2v-4h4v-2h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2v-4h4v-2H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    z-index: -1;
}

.container { 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 1.5rem; 
    position: relative;
    z-index: 1;
}

/* --- Header & Navigation --- */
.main-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background: rgba(15, 23, 42, 0.78);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 24px -1px rgba(0, 0, 0, 0.25);
    height: 68px;
    display: flex;
    align-items: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.main-header .container {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    padding: 0 clamp(1rem, 2.5vw, 2rem);
}

.main-header::before {
    display: none;
}

.main-header::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(56, 189, 248, 0.25) 30%, rgba(37, 99, 235, 0.35) 70%, transparent 100%);
    pointer-events: none;
}

.header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 1rem;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-shrink: 0;
}

.desktop-only-action {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.nav-drawer-actions {
    display: none;
}

/* Logo */
.logo {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    text-decoration: none;
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.logo:hover {
    transform: translateY(-1px);
}

.logo-icon-badge {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    background: linear-gradient(135deg, #0284c7 0%, #2563eb 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    font-size: 1.15rem;
    border: 1px solid rgba(255, 255, 255, 0.25);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.4), inset 0 1px 1px rgba(255, 255, 255, 0.3);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    flex-shrink: 0;
}

.logo:hover .logo-icon-badge {
    transform: scale(1.05);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.55), inset 0 1px 1px rgba(255, 255, 255, 0.4);
}

.logo-text, .logo span {
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.03em;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
}

.logo-accent, .logo span span {
    background: linear-gradient(135deg, #38bdf8 0%, #60a5fa 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

/* Nav Menu (Desktop) */
.nav-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex: 1 1 auto;
}

.nav-link {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 600;
    font-size: 0.875rem;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0.48rem 0.8rem;
    border-radius: 10px;
    white-space: nowrap;
    border: 1px solid transparent;
    position: relative;
}

.nav-link i {
    font-size: 0.92rem;
    color: rgba(255, 255, 255, 0.48);
    transition: color 0.2s ease, transform 0.2s ease;
}

.nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.08);
    transform: translateY(-1px);
}

.nav-link:hover i {
    color: #38bdf8;
    transform: scale(1.1);
}

.nav-link.active {
    color: #38bdf8;
    background: rgba(56, 189, 248, 0.12);
    border-color: rgba(56, 189, 248, 0.28);
    font-weight: 700;
    box-shadow: 0 0 14px rgba(56, 189, 248, 0.15);
}

.nav-link.active i {
    color: #38bdf8;
}

.nav-divider {
    width: 1px;
    height: 20px;
    background: rgba(255, 255, 255, 0.12);
    margin: 0 0.35rem;
    flex-shrink: 0;
}

/* User & Auth Buttons */
.auth-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-actions {
    display: flex;
    align-items: center;
}

.btn-login, .btn-register, .btn-logout {
    padding: 0.5rem 1.15rem;
    border-radius: 10px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    cursor: pointer;
    font-size: 0.88rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    white-space: nowrap;
}

.btn-login {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.btn-login:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.28);
    transform: translateY(-1px);
    color: #ffffff;
}

.btn-register {
    background: linear-gradient(135deg, #0284c7 0%, #2563eb 100%);
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
    font-weight: 700;
}

.btn-register:hover {
    background: linear-gradient(135deg, #0369a1 0%, #1d4ed8 100%);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px rgba(37, 99, 235, 0.45);
    color: #ffffff;
}

.btn-logout {
    background: rgba(239, 68, 68, 0.12);
    color: #f87171;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.btn-logout:hover {
    background: rgba(239, 68, 68, 0.22);
    border-color: rgba(239, 68, 68, 0.45);
    color: #ef4444;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.25);
}

.theme-toggle,
.header-theme-toggle {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #38bdf8;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    flex-shrink: 0;
}

.theme-toggle:hover,
.header-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(56, 189, 248, 0.4);
    transform: scale(1.06) rotate(12deg);
    box-shadow: 0 0 14px rgba(56, 189, 248, 0.25);
    color: #38bdf8;
}

.header-quick-add {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    border: 1px solid rgba(56, 189, 248, 0.48);
    border-radius: 10px;
    background: linear-gradient(135deg, #0284c7, #2563eb);
    color: #fff;
    cursor: pointer;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.28);
    transition: transform .2s ease, box-shadow .2s ease;
}
.header-quick-add:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(37, 99, 235, .4); }
html[data-theme="light"] .header-quick-add { color: #fff; }

.mobile-menu-toggle {
    display: none;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 1.1rem;
    color: #ffffff;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.mobile-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(255, 255, 255, 0.22);
}

/* --- Main Content Area --- */
main.container {
    padding-top: 4rem;
    padding-bottom: 6rem;
    min-height: calc(100vh - 80px - 400px);
}

body:not(.admin-body) main.container:has(.user-cockpit),
body:not(.admin-body) main.container:has(.dashboard),
body:not(.admin-body) main.container:has(.user-profile-dashboard),
body:not(.admin-body) main.container:has(.cars-page),
body:not(.admin-body) main.container:has(.spots-page) {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: clamp(10px, 2vw, 24px) !important;
    padding-right: clamp(10px, 2vw, 24px) !important;
}

/* Profil dashboardi container chetlaridan foydalanadi. */
body:not(.admin-body) main.container:has(.user-profile-wrapper) {
    width:100vw;
    max-width:none;
    margin-left:calc((100% - 100vw) / 2);
    margin-right:0;
    padding-left:.8rem;
    padding-right:.8rem;
}

/* --- Footer --- */
.main-footer {
    background: var(--bg-dark);
    color: #94a3b8;
    padding-top: 5rem;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.5fr;
    gap: 3rem;
    padding-bottom: 2rem;
}

.footer-brand .logo {
    color: white;
    margin-bottom: 1.5rem;
}

.footer-brand p {
    margin-bottom: 2rem;
    font-size: 0.95rem;
    line-height: 1.7;
}

.social-links {
    display: flex;
    gap: 1rem;
}

.social-links a {
    width: 40px;
    height: 40px;
    background: rgba(255,255,255,0.05);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    text-decoration: none;
    transition: var(--transition);
}

.social-links a:hover {
    background: var(--primary-color);
    transform: translateY(-3px);
}

.footer-links h3, .footer-contact h3 {
    color: white;
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
}

.footer-links ul {
    list-style: none;
}

.footer-links ul li {
    margin-bottom: 0.75rem;
}

.footer-links ul li a {
    color: inherit;
    text-decoration: none;
    transition: var(--transition);
}

.footer-links ul li a:hover {
    color: var(--primary-color);
    padding-left: 5px;
}

.footer-contact p {
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.95rem;
}

.footer-contact i {
    color: var(--primary-color);
}

.footer-bottom {
    background: rgba(0,0,0,0.2);
    padding: 1.5rem 0;
    border-top: 1px solid rgba(255,255,255,0.05);
}

.footer-bottom-content {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 0.85rem;
    width: 100%;
}

.footer-legal-links {
    display: flex;
    gap: 1.5rem;
}

.footer-legal a {
    color: inherit;
    text-decoration: none;
    margin-left: 1.5rem;
}

/* --- Responsive --- */
@media (max-width: 992px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
		.dataTables_filter input {
			padding: 10px 16px !important;
		}
}

/* ===== BACKDROP ===== */
.nav-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0);
    z-index: 9998;
    transition: background 0.35s;
}

.nav-backdrop.active {
    display: block;
    background: rgba(0, 0, 0, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

@media (max-width: 768px) {

    /* ===== DRAWER ===== */
    .nav-menu {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        width: min(84vw, 340px);
        background: linear-gradient(165deg, rgba(15, 23, 42, 0.98) 0%, rgba(2, 6, 23, 0.99) 100%);
        backdrop-filter: blur(24px);
        -webkit-backdrop-filter: blur(24px);
        border-left: 1px solid rgba(255, 255, 255, 0.09);
        box-shadow: -10px 0 50px rgba(0, 0, 0, 0.6);
        flex-direction: column;
        padding: 0;
        gap: 0.25rem;
        transform: translateX(100%);
        visibility: hidden;
        pointer-events: none;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s;
        z-index: 9999;
        overflow-y: auto;
        overscroll-behavior: contain;
    }

    html[data-theme="light"] .nav-menu {
        background: linear-gradient(165deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 250, 252, 0.99) 100%);
        border-left: 1px solid rgba(226, 232, 240, 0.9);
        box-shadow: -10px 0 40px rgba(15, 23, 42, 0.1);
    }

    .nav-menu.active {
        transform: translateX(0);
        visibility: visible;
        pointer-events: auto;
    }

    /* ===== DRAWER HEADER ===== */
    .nav-drawer-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.1rem 1.25rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        flex-shrink: 0;
    }

    html[data-theme="light"] .nav-drawer-header {
        border-bottom: 1px solid rgba(226, 232, 240, 0.9);
    }

    .nav-drawer-logo {
        display: flex;
        align-items: center;
        gap: 0.6rem;
        text-decoration: none;
    }

    .nav-drawer-close {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(255, 255, 255, 0.06);
        border-radius: 10px;
        color: rgba(255, 255, 255, 0.7);
        font-size: 1rem;
        cursor: pointer;
        transition: all 0.2s ease;
        flex-shrink: 0;
    }

    .nav-drawer-close:hover {
        background: rgba(255, 255, 255, 0.14);
        color: #ffffff;
        transform: scale(1.05);
    }

    html[data-theme="light"] .nav-drawer-close {
        border-color: rgba(15, 23, 42, 0.1);
        background: rgba(15, 23, 42, 0.05);
        color: #64748b;
    }

    html[data-theme="light"] .nav-drawer-close:hover {
        background: rgba(15, 23, 42, 0.1);
        color: #0f172a;
    }

    /* ===== DRAWER NAV LINKS ===== */
    .nav-menu .nav-link {
        display: flex;
        align-items: center;
        gap: 0.85rem;
        width: calc(100% - 1.5rem);
        margin: 0.2rem 0.75rem;
        padding: 0.85rem 1rem;
        font-size: 0.95rem;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.75) !important;
        background: transparent;
        border-radius: 12px;
        border: 1px solid transparent;
        text-decoration: none;
        transition: all 0.2s ease;
    }

    .nav-menu .nav-link:hover {
        background: rgba(255, 255, 255, 0.06);
        color: #ffffff !important;
        border-color: rgba(255, 255, 255, 0.06);
    }

    .nav-menu .nav-link.active {
        color: #38bdf8 !important;
        background: rgba(56, 189, 248, 0.12);
        border: 1px solid rgba(56, 189, 248, 0.25);
    }

    .nav-menu .nav-link i {
        width: 22px;
        text-align: center;
        font-size: 1.05rem;
        color: rgba(255, 255, 255, 0.45);
        flex-shrink: 0;
    }

    .nav-menu .nav-link.active i {
        color: #38bdf8;
    }

    html[data-theme="light"] .nav-menu .nav-link {
        color: #334155 !important;
    }

    html[data-theme="light"] .nav-menu .nav-link:hover {
        background: rgba(15, 23, 42, 0.04);
        color: #0f172a !important;
    }

    html[data-theme="light"] .nav-menu .nav-link.active {
        color: #2563eb !important;
        background: rgba(37, 99, 235, 0.08);
        border: 1px solid rgba(37, 99, 235, 0.2);
    }

    html[data-theme="light"] .nav-menu .nav-link i {
        color: #64748b;
    }

    html[data-theme="light"] .nav-menu .nav-link.active i {
        color: #2563eb;
    }

    /* ===== DRAWER BOTTOM SECTION ===== */
    .user-actions, .auth-actions {
        padding: 1rem 1.25rem 1.5rem;
        margin-top: auto;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 0.6rem;
    }

    html[data-theme="light"] .user-actions,
    html[data-theme="light"] .auth-actions {
        border-top: 1px solid rgba(226, 232, 240, 0.9);
    }

    .user-actions form {
        width: 100%;
    }

    .nav-menu .btn-logout {
        width: 100%;
        justify-content: center;
        padding: 0.85rem;
        border-radius: 12px;
        font-size: 0.95rem;
    }

    .nav-menu .btn-login,
    .nav-menu .btn-register {
        display: flex;
        width: 100%;
        justify-content: center;
        padding: 0.85rem;
        border-radius: 12px;
        font-size: 0.95rem;
    }

    /* ===== HAMBURGER ===== */
    .mobile-menu-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
        border-radius: 10px;
    }

    .nav-divider { display: none; }
    .nav-drawer-header { display: flex; }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
    }

    .footer-bottom-content {
        flex-direction: column;
        gap: 1rem;
        text-align: center;
    }

    .footer-legal a {
        margin: 0 0.75rem;
    }
}

/* --- Existing App Styles Adaptation --- */
.form {
    border-radius: 16px;
}

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
}

.table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
}

.table th {
    padding: 1rem;
    text-align: left;
    font-weight: 700;
    border-bottom: 1px solid #e2e8f0;
}

.table td {
    padding: 1rem;
    border-bottom: 1px solid #f1f5f9;
}

/* Parking Lot Style Refinement */
.grid-view-container {
    background: #1e293b;
    padding: 3rem;
    border-radius: 24px;
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(255,255,255,0.05);
}

.spot-box {
    border-radius: 6px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.spot-free { 
    background: linear-gradient(135deg, #10b981, #059669); 
    box-shadow: 0 4px 10px rgba(16, 185, 129, 0.3);
}

.spot-reserved { 
    background: linear-gradient(135deg, #f59e0b, #d97706); 
    color: white;
}

.spot-sold { 
    background: linear-gradient(135deg, #ef4444, #dc2626); 
}

/* --- Global Utilities --- */
.glass-card {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    color: white;
}

.btn-primary, .btn-secondary {
    padding: 0.8rem 1.5rem;
    border-radius: 12px;
    font-weight: 600;
    text-decoration: none;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    cursor: pointer;
    border: none;
}

.btn-primary {
    background: var(--primary);
    color: white;
}

.btn-primary:hover {
    background: var(--primary-hover);
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.15);
}

.global-modal-view {
    max-width: 450px;
}

.modal-footer-actions {
    display: flex;
    justify-content: flex-end;
    gap: 1rem;
    margin-top: 2rem;
}

.btn-xs {
    padding: 0.4rem 0.8rem;
    font-size: 0.8rem;
    border-radius: 8px;
}

.blurred {
    filter: blur(8px);
    pointer-events: none;
    transition: var(--transition);
    user-select: none;
}

/* ===================== ADMIN PANEL STYLES ===================== */

/* Hide site header/footer on admin pages */
body.admin-body .main-header,
body.admin-body .main-footer,
body:has(.admin-page) .main-header,
body:has(.admin-page) .main-footer {
    display: none;
}

body.admin-body,
body:has(.admin-page) {
    background: #0f172a;
    min-height: 100vh;
}

body.admin-body main.container,
body:has(.admin-page) main.container {
    max-width: 100%;
    padding: 0;
    display: flex;
    min-height: 100vh;
}

/* Admin Login */
.admin-login-screen {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 2rem;
    overflow: hidden;
    background:
        linear-gradient(120deg, rgba(7, 10, 18, 0.92), rgba(8, 18, 18, 0.82) 45%, rgba(21, 17, 10, 0.86)),
        url('../uploads/official-hero.png') center / cover no-repeat;
}

.admin-login-screen::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 82%);
    pointer-events: none;
}

.admin-login-screen::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.05), rgba(0, 0, 0, 0.28));
    pointer-events: none;
}

.admin-login-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 460px);
    display: grid;
    gap: 1.35rem;
}

.admin-login-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: white;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.34);
}

.admin-login-mark {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    border-radius: 18px;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.13);
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 18px 45px rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    font-size: 1.35rem;
}

.admin-login-brand p,
.admin-login-card-head p {
    margin: 0 0 0.25rem;
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.admin-login-brand h1 {
    margin: 0;
    color: white;
    font-size: 2rem;
    font-weight: 850;
    line-height: 1;
}

.admin-login-card {
    border-radius: 30px;
    padding: 1.25rem;
    background: rgba(255, 255, 255, 0.14);
    border: 1px solid rgba(255, 255, 255, 0.26);
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.26);
    backdrop-filter: blur(26px) saturate(150%);
    -webkit-backdrop-filter: blur(26px) saturate(150%);
}

.admin-login-card-head {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.4rem 0.35rem 1.25rem;
}

.admin-login-lock {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(16, 185, 129, 0.17);
    color: #86efac;
    border: 1px solid rgba(134, 239, 172, 0.22);
}

.admin-login-card-head h2 {
    margin: 0;
    color: white;
    font-size: 1.35rem;
    font-weight: 850;
    line-height: 1.15;
}

.admin-login-alert {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border-radius: 18px;
    color: #fecdd3;
    background: rgba(244, 63, 94, 0.16);
    border: 1px solid rgba(251, 113, 133, 0.28);
    font-size: 0.92rem;
    font-weight: 700;
}

.admin-login-alert i {
    color: #fb7185;
}

.admin-login-form {
    display: grid;
    gap: 1rem;
}

.admin-login-field {
    display: grid;
    gap: 0.55rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.88rem;
    font-weight: 800;
}

.admin-login-input {
    position: relative;
    min-height: 58px;
    display: flex;
    align-items: center;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.2);
    transition: var(--transition);
}

.admin-login-input:focus-within {
    border-color: rgba(125, 211, 252, 0.68);
    background: rgba(255, 255, 255, 0.18);
    box-shadow: 0 0 0 4px rgba(14, 165, 233, 0.14);
}

.admin-login-input > i {
    width: 52px;
    flex: 0 0 52px;
    text-align: center;
    color: rgba(226, 232, 240, 0.6);
}

.admin-login-input input {
    width: 100%;
    min-width: 0;
    height: 56px;
    padding: 0 0.95rem 0 0;
    color: white;
    background: transparent;
    border: 0;
    outline: 0;
    font: inherit;
    font-weight: 750;
}

.admin-login-input input:-webkit-autofill {
    -webkit-text-fill-color: white;
    transition: background-color 9999s ease-out;
}

.admin-login-input input::placeholder {
    color: rgba(255, 255, 255, 0.42);
}

.admin-password-toggle {
    width: 42px;
    height: 42px;
    margin-right: 0.45rem;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 14px;
    color: rgba(226, 232, 240, 0.72);
    background: rgba(255, 255, 255, 0.1);
    cursor: pointer;
    transition: var(--transition);
}

.admin-password-toggle:hover,
.admin-password-toggle:focus-visible {
    color: white;
    background: rgba(255, 255, 255, 0.18);
    outline: none;
}

.admin-login-submit {
    height: 58px;
    margin-top: 0.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    border: 0;
    border-radius: 18px;
    color: #04111c;
    background: linear-gradient(135deg, #e0f2fe 0%, #86efac 52%, #fde68a 100%);
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 18px 42px rgba(16, 185, 129, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.admin-login-submit:hover,
.admin-login-submit:focus-visible {
    transform: translateY(-2px);
    filter: saturate(1.04);
    box-shadow: 0 22px 52px rgba(14, 165, 233, 0.23);
    outline: none;
}

.admin-login-submit:active {
    transform: translateY(0);
}

/* Admin Layout: Sidebar + Content */
.admin-page {
    display: flex;
    min-height: 100vh;
    width: 100%;
}

/* Admin Sidebar */
.admin-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 260px;
    height: 100vh;
    background: rgba(15, 23, 42, 0.97);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    padding: 1.5rem 0;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    z-index: 100;
}

.admin-nav .nav-brand {
    padding: 0 1.25rem;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: white;
    font-weight: 800;
    font-size: 1.1rem;
    text-decoration: none;
}

.admin-nav .nav-brand i {
    color: var(--primary);
    font-size: 1.3rem;
}

.admin-nav .nav-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.06);
    margin: 0.75rem 1.25rem;
}

.admin-nav a,
.admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) {
    padding: 0.6rem 1.25rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: var(--transition);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.6);
    border-radius: 0;
    text-align: left;
    width: 100%;
}

.admin-nav a:hover,
.admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle):hover {
    background: rgba(37, 99, 235, 0.12);
    color: white;
}

.admin-nav a.active {
    background: rgba(37, 99, 235, 0.18);
    color: white;
    border-right: 3px solid var(--primary);
}

.admin-nav a.active i,
.admin-nav a.active i {
    color: var(--primary);
}

.admin-nav .nav-logout {
    margin-top: auto;
    background: transparent;
    color: #f87171;
    border-radius: 0;
}

.admin-nav .nav-logout:hover {
    background: rgba(239, 68, 68, 0.12);
    color: #fca5a5;
}

/* Admin Content Area (right of sidebar) */
.admin-content {
    margin-left: 260px;
    padding: 2rem 2.5rem;
    flex: 1;
}

/* Admin Page Titles */
.admin-content h2 {
    color: white;
    font-size: 1.75rem;
    font-weight: 800;
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.admin-content h2 i {
    color: var(--primary);
    font-size: 1.5rem;
}

.admin-content h3 {
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.15rem;
    font-weight: 700;
    margin: 2rem 0 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Admin Form (dark glassmorphism) */
.admin-content .form {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.admin-content .form label {
    color: rgba(255, 255, 255, 0.85);
    font-weight: 600;
    font-size: 0.9rem;
    display: block;
}

.admin-content .form input[type="text"],
.admin-content .form input[type="number"],
.admin-content .form input[type="password"],
.admin-content .form textarea,
.admin-content .form select {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 0.65rem 0.85rem;
    color: white;
    font-size: 0.9rem;
    width: 100%;
    transition: var(--transition);
    font-family: inherit;
}

.admin-content .form input:focus,
.admin-content .form textarea:focus,
.admin-content .form select:focus {
    outline: none;
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
    background: rgba(255, 255, 255, 0.08);
}

.admin-content .form input::placeholder,
.admin-content .form textarea::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

.admin-content .form select option {
    background: #1e293b;
    color: white;
}

.admin-content .form button[type="submit"] {
    background: var(--primary);
    color: white;
    padding: 0.65rem 1.5rem;
    border-radius: 10px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: var(--transition);
}

.admin-content .form button[type="submit"]:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
}

.admin-content .form .btn-danger {
    background: rgba(239, 68, 68, 0.8);
    color: white;
}

.admin-content .form .btn-danger:hover {
    background: rgba(220, 38, 38, 1);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* Admin Table (dark glassmorphism) */
.admin-content .table {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: none;
    border-spacing: 0;
}

.admin-content .table th {
    background: rgba(37, 99, 235, 0.12);
    color: rgba(255, 255, 255, 0.95);
    padding: 0.85rem 1rem;
    font-weight: 700;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-content .table td {
    padding: 0.75rem 1rem;
    color: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid rgba(255, 255, 255, 0.04);
    font-size: 0.9rem;
}

.admin-content .table tr:hover td {
    background: rgba(255, 255, 255, 0.03);
}

.admin-content .table tr:last-child td {
    border-bottom: none;
}

.admin-content .table strong {
    color: white;
}

.admin-content .table code {
    background: rgba(37, 99, 235, 0.15);
    color: #c4b5fd;
    padding: 0.15rem 0.5rem;
    border-radius: 6px;
    font-size: 0.85rem;
}

/* Admin Details/Summary */
.admin-content details {
    display: inline-block;
}

.admin-content details summary {
    cursor: pointer;
    color: var(--primary);
    font-weight: 600;
    font-size: 0.85rem;
    padding: 0.3rem 0;
    transition: var(--transition);
    list-style: none;
}

.admin-content details summary::-webkit-details-marker {
    display: none;
}

.admin-content details summary::before {
    content: "\f303";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-right: 0.4rem;
    font-size: 0.8rem;
}

.admin-content details summary:hover {
    color: #818cf8;
}

.admin-content details[open] summary {
    margin-bottom: 0.5rem;
}

/* Admin Alert */
.admin-content .alert {
    background: rgba(37, 99, 235, 0.12);
    border: 1px solid rgba(37, 99, 235, 0.25);
    border-left: 4px solid var(--primary);
    color: #c4b5fd;
    border-radius: 12px;
    padding: 0.85rem 1.25rem;
    margin-bottom: 1.5rem;
    font-weight: 500;
}

/* Admin Info Box */
.admin-info-box {
    background: rgba(37, 99, 235, 0.08);
    border: 1px solid rgba(37, 99, 235, 0.15);
    border-radius: 12px;
    padding: 1rem 1.25rem;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.85);
}

.admin-info-box strong {
    color: white;
}

/* Admin Back Link */
.admin-back {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.admin-back a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    font-weight: 500;
    transition: var(--transition);
}

.admin-back a:hover {
    color: var(--primary);
}

/* Admin Grid Override */
.admin-content .grid {
    gap: 1rem;
}

/* Admin Empty State */
.admin-content p {
    color: rgba(255, 255, 255, 0.5);
    font-style: italic;
}

/* Admin Status Badges */
.status-badge {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    font-size: 0.8rem;
    font-weight: 600;
}

.status-free { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.status-reserved { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.status-sold { background: rgba(239, 68, 68, 0.15); color: #f87171; }
.status-active { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.status-inactive { background: rgba(107, 114, 128, 0.15); color: #9ca3af; }

/* Light theme: status badges need stronger contrast on white/light backgrounds */
html[data-theme="light"] .status-active  { background: rgba(5, 150, 105, 0.12); color: #047857; }
html[data-theme="light"] .status-inactive { background: rgba(107, 114, 128, 0.12); color: #374151; }
html[data-theme="light"] .status-free    { background: rgba(5, 150, 105, 0.12); color: #047857; }
html[data-theme="light"] .status-reserved { background: rgba(217, 119, 6, 0.12); color: #92400e; }
html[data-theme="light"] .status-sold    { background: rgba(220, 38, 38, 0.12); color: #991b1b; }

/* Admin Responsive */
@media (max-width: 768px) {
    .admin-nav {
        position: fixed;
        top: 0;
        left: -260px;
        width: 260px;
        height: 100vh;
        transition: left 0.3s ease;
        z-index: 200;
    }

    .admin-nav.open {
        left: 0;
    }

    .admin-content {
        margin-left: 0;
        padding: 1rem;
    }

    .admin-sidebar-toggle {
        display: flex;
    }

    .admin-content .table th,
    .admin-content .table td {
        padding: 0.5rem 0.65rem;
        font-size: 0.8rem;
    }
}

/* Mobile sidebar toggle button */
.admin-sidebar-toggle {
    display: none;
    position: fixed;
    top: 0.95rem;
    left: 0.95rem;
    z-index: 150;
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    color: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.1rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.admin-sidebar-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    transform: scale(1.05);
}

html[data-theme="light"] .admin-sidebar-toggle {
    background: rgba(15, 23, 42, 0.05);
    border-color: rgba(15, 23, 42, 0.08);
    color: #475569;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
}

html[data-theme="light"] .admin-sidebar-toggle:hover {
    background: rgba(15, 23, 42, 0.08);
    color: #0f172a;
}

@media (max-width: 768px) {
    .admin-sidebar-toggle {
        display: flex;
    }
}

@media (max-width: 560px) {
    .admin-login-screen {
        padding: 1rem;
        place-items: stretch;
        align-items: center;
    }

    .admin-login-panel {
        width: 100%;
        align-self: center;
    }

    .admin-login-brand {
        gap: 0.8rem;
    }

    .admin-login-brand h1 {
        font-size: 1.7rem;
    }

    .admin-login-card {
        border-radius: 24px;
        padding: 1rem;
    }

    .admin-login-card-head {
        align-items: flex-start;
    }

    .admin-login-card-head h2 {
        font-size: 1.2rem;
    }

    .admin-login-input,
    .admin-login-submit {
        min-height: 54px;
    }
}

/* ===================== ADMIN PREMIUM NEON SHELL ===================== */

body.admin-body {
    background:
        radial-gradient(circle at 18% 8%, rgba(34, 211, 238, 0.2), transparent 28%),
        radial-gradient(circle at 86% 16%, rgba(244, 114, 182, 0.18), transparent 30%),
        radial-gradient(circle at 65% 92%, rgba(132, 204, 22, 0.13), transparent 26%),
        #05070f;
    color: #f8fafc;
}

body.admin-body main.container {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

body.admin-body main.container::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -2;
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px);
    background-size: 54px 54px;
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.72), transparent 90%);
}

body.admin-body main.container::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: linear-gradient(135deg, rgba(5, 7, 15, 0.3), rgba(2, 6, 23, 0.92));
}

.admin-page {
    position: relative;
}

.admin-nav {
    width: 282px;
    background: linear-gradient(180deg, rgba(12, 16, 30, 0.82), rgba(7, 10, 20, 0.72));
    backdrop-filter: blur(28px) saturate(155%);
    -webkit-backdrop-filter: blur(28px) saturate(155%);
    border-right: 1px solid rgba(125, 211, 252, 0.14);
    box-shadow: 26px 0 80px rgba(0, 0, 0, 0.42), inset -1px 0 0 rgba(255, 255, 255, 0.04);
    padding: 0.7rem 0.75rem;
}

.admin-nav .nav-brand {
    min-height: 48px;
    padding: 0 0.8rem;
    margin: 0 0 0.5rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(34, 211, 238, 0.13), rgba(244, 114, 182, 0.1));
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.admin-nav .nav-brand i {
    color: #67e8f9;
    text-shadow: 0 0 20px rgba(34, 211, 238, 0.65);
}

.admin-nav .nav-divider {
    margin: 0.4rem 0.45rem;
    background: linear-gradient(90deg, transparent, rgba(125, 211, 252, 0.18), transparent);
}

.admin-nav .nav-group-title {
    padding: 0.3rem 1rem 0.12rem;
    font-size: 0.72rem;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 800;
    letter-spacing: 0.05em;
}

.admin-nav a,
.admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) {
    min-height: 33px;
    margin: 0.06rem 0;
    padding: 0.42rem 0.85rem;
    border-radius: 12px;
    color: rgba(226, 232, 240, 0.68);
    border: 1px solid transparent;
}

.admin-nav a i,
.admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) i {
    width: 20px;
    text-align: center;
    color: rgba(125, 211, 252, 0.8);
}

.admin-nav a:hover,
.admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle):hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(125, 211, 252, 0.18);
    color: white;
    transform: translateX(2px);
}

.admin-nav a.active {
    background: linear-gradient(135deg, rgba(34, 211, 238, 0.18), rgba(168, 85, 247, 0.16));
    color: white;
    border: 1px solid rgba(103, 232, 249, 0.36);
    box-shadow: 0 12px 32px rgba(34, 211, 238, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.18);
}

.admin-nav a.active i {
    color: #a7f3d0;
    text-shadow: 0 0 18px rgba(16, 185, 129, 0.74);
}

.admin-nav .nav-logout {
    color: #fecdd3;
}

.admin-nav .nav-logout-form {
    margin-top: auto;
    display: block;
}

.admin-nav .nav-logout:hover {
    background: rgba(244, 63, 94, 0.12);
    border-color: rgba(251, 113, 133, 0.26);
}

.admin-content {
    margin-left: 282px;
    padding: 1.4rem;
}

.admin-content h2 {
    color: #f8fafc;
    font-size: 1.55rem;
    letter-spacing: 0;
    text-shadow: 0 0 28px rgba(125, 211, 252, 0.2);
}

.admin-content h2 i,
.admin-content h3 i {
    color: #67e8f9;
    text-shadow: 0 0 20px rgba(34, 211, 238, 0.54);
}

.admin-content h3 {
    color: rgba(248, 250, 252, 0.92);
    border-bottom-color: rgba(125, 211, 252, 0.12);
}

.admin-content .table,
.admin-info-box,
.admin-content .alert {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px) saturate(145%);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
}

.admin-content .form {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.admin-content .form input[type="text"],
.admin-content .form input[type="number"],
.admin-content .form input[type="password"],
.admin-content .form textarea,
.admin-content .form select {
    background: rgba(3, 7, 18, 0.35);
    border-color: rgba(148, 163, 184, 0.22);
    border-radius: 14px;
}

.admin-content .form input:focus,
.admin-content .form textarea:focus,
.admin-content .form select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.admin-content .form button[type="submit"] {
    color: white;
    background: var(--primary);
    border: 1px solid var(--primary);
    border-radius: 14px;
    font-weight: 700;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25);
    transition: var(--transition);
}

.admin-content .form button[type="submit"]:hover {
    background: var(--primary-hover);
    border-color: var(--primary-hover);
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.35);
    transform: translateY(-1px);
}

.admin-content .table {
    border-radius: 22px;
}

.admin-content .table th {
    background: rgba(34, 211, 238, 0.1);
    color: rgba(226, 232, 240, 0.92);
    border-bottom-color: rgba(125, 211, 252, 0.16);
}

.admin-content .table td {
    color: rgba(241, 245, 249, 0.82);
    border-bottom-color: rgba(255, 255, 255, 0.06);
}

.admin-content .table tr:hover td {
    background: rgba(34, 211, 238, 0.055);
}

.btn-edit {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.3);
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
    text-decoration: none;
}

.btn-edit:hover {
    background: rgba(245, 158, 11, 0.25);
    border-color: rgba(245, 158, 11, 0.5);
}

.btn-confirm {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    background: rgba(16, 185, 129, 0.15) !important;
    color: #10b981 !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.btn-confirm:hover {
    background: rgba(16, 185, 129, 0.25) !important;
    border-color: rgba(16, 185, 129, 0.5) !important;
    color: #10b981 !important;
    transform: none !important;
    box-shadow: none !important;
}

.btn-delete {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.45rem 0.85rem;
    background: rgba(239, 68, 68, 0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    border-radius: 8px !important;
    font-size: 0.85rem !important;
    font-weight: 600 !important;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transform: none !important;
}

.btn-delete:hover {
    background: rgba(239, 68, 68, 0.25) !important;
    border-color: rgba(239, 68, 68, 0.5) !important;
    color: #fca5a5 !important;
    transform: none !important;
    box-shadow: none !important;
}

.btn {
    height: 38px !important;
    padding: 6px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    transform: none !important;
    vertical-align: middle !important;
}

.btn i {
    font-size: 0.85rem !important;
    margin: 0 !important;
    padding: 0 !important;
}
.btn-action {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    transform: none !important;
    vertical-align: middle !important;
}

.btn-action i {
    font-size: 0.85rem !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Global status badges (glassmorphic dark mode) */
.badge {
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    display: inline-block;
    text-align: center;
    min-width: 100px;
}
.badge-paid {
    background: rgba(16, 185, 129, 0.15);
    color: #34d399;
    border: 1px solid rgba(16, 185, 129, 0.3);
}
.badge-pending {
    background: rgba(245, 158, 11, 0.15);
    color: #fbbf24;
    border: 1px solid rgba(245, 158, 11, 0.3);
}
.badge-created {
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    border: 1px solid rgba(59, 130, 246, 0.3);
}
.badge-cancelled {
    background: rgba(239, 68, 68, 0.15);
    color: #fca5a5;
    border: 1px solid rgba(239, 68, 68, 0.3);
}
.badge-expired {
    background: rgba(107, 114, 128, 0.15);
    color: #9ca3af;
    border: 1px solid rgba(107, 114, 128, 0.3);
}

/* Notification & Invoice Amount value (dark/light contrast) */
.amount-value {
    font-weight: 700;
    color: #4ade80;
    font-size: 1.05rem;
}

.td-actions {
    text-align: right !important;
    white-space: nowrap !important;
    width: 1% !important;
}

.actions-wrapper {
    display: inline-flex !important;
    gap: 0.35rem !important;
    justify-content: flex-end !important;
    align-items: center !important;
    vertical-align: middle !important;
}

.actions-wrapper form {
    margin: 0 !important;
    display: inline-flex !important;
    vertical-align: middle !important;
}


.admin-edit-dialog {
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 20px;
    background: #0f172a;
    color: white;
    width: 90%;
    max-width: 500px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
    margin: auto;
    opacity: 0;
    transform: scale(0.92) translateY(-30px);
}

.admin-edit-dialog[open] {
    opacity: 1;
    transform: scale(1) translateY(0);
    animation: modalShow 0.32s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.admin-edit-dialog::backdrop {
    background: rgba(3, 7, 18, 0.7);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.admin-edit-dialog[open]::backdrop {
    opacity: 1;
}

@keyframes modalShow {
    from {
        opacity: 0;
        transform: scale(0.92) translateY(-30px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

.admin-edit-dialog .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.02);
}

.admin-edit-dialog .modal-header h3 {
    margin: 0;
    padding: 0;
    font-size: 1.15rem;
    color: white;
    border: none;
}

.admin-edit-dialog .close-modal {
    background: transparent;
    border: none;
    color: rgba(226, 232, 240, 0.6);
    font-size: 1.2rem;
    cursor: pointer;
    transition: color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
}

.admin-edit-dialog .close-modal:hover {
    color: white;
    background: rgba(255, 255, 255, 0.1);
}

.admin-edit-dialog .modal-body {
    padding: 1.5rem;
}

.admin-edit-dialog .form .grid,
.admin-edit-dialog .form .block-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
}

.admin-edit-dialog .form label {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    font-weight: 500;
		align-items: flex-start;
}

.admin-edit-dialog .form button[type="submit"],
.admin-edit-dialog .form .btn-danger {
    width: 100%;
    margin-top: 2rem;
}

html[data-theme="light"] .btn-edit {
    background: rgba(245, 158, 11, 0.1);
    color: #d97706;
    border-color: rgba(245, 158, 11, 0.25);
}

html[data-theme="light"] .btn-edit:hover {
    background: rgba(245, 158, 11, 0.2);
    border-color: rgba(245, 158, 11, 0.4);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.15);
}

html[data-theme="light"] .amount-value {
    color: #16a34a;
}

html[data-theme="light"] .btn-confirm {
    background: rgba(16, 185, 129, 0.1) !important;
    color: #059669 !important;
    border-color: rgba(16, 185, 129, 0.25) !important;
}

html[data-theme="light"] .btn-confirm:hover {
    background: rgba(16, 185, 129, 0.2) !important;
    border-color: rgba(16, 185, 129, 0.4) !important;
    color: #059669 !important;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.15) !important;
}

html[data-theme="light"] .btn-delete {
    background: rgba(239, 68, 68, 0.1) !important;
    color: #dc2626 !important;
    border-color: rgba(239, 68, 68, 0.25) !important;
}

html[data-theme="light"] .btn-delete:hover {
    background: rgba(239, 68, 68, 0.2) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    color: #dc2626 !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15) !important;
}

html[data-theme="light"] .admin-edit-dialog {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
}

html[data-theme="light"] .admin-edit-dialog::backdrop {
    background: rgba(255, 255, 255, 0.6);
}

html[data-theme="light"] .admin-edit-dialog .modal-header {
    border-bottom-color: rgba(0, 0, 0, 0.05);
    background: rgba(0, 0, 0, 0.02);
}

html[data-theme="light"] .admin-edit-dialog .modal-header h3 {
    color: #1e293b;
}

html[data-theme="light"] .admin-edit-dialog .close-modal {
    color: #64748b;
}

html[data-theme="light"] .admin-edit-dialog .close-modal:hover {
    color: #1e293b;
    background: rgba(0, 0, 0, 0.06);
}


.admin-content .alert {
    color: #bae6fd;
    border-left-color: #67e8f9;
}

.admin-premium-page .admin-content {
    display: grid;
    gap: 1.2rem;
}

.admin-hero-panel {
    position: relative;
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    overflow: hidden;
    padding: 1.8rem;
    border-radius: 28px;
    background:
        linear-gradient(135deg, rgba(34, 211, 238, 0.14), rgba(168, 85, 247, 0.12) 45%, rgba(16, 185, 129, 0.1)),
        rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(24px) saturate(145%);
    -webkit-backdrop-filter: blur(24px) saturate(145%);
}

.admin-hero-panel::before {
    content: "";
    position: absolute;
    inset: -1px;
    background: linear-gradient(100deg, transparent, rgba(125, 211, 252, 0.18), transparent 62%);
    transform: translateX(-70%);
    animation: adminPanelSweep 7s ease-in-out infinite;
}

.admin-hero-panel > * {
    position: relative;
    z-index: 1;
}

.admin-kicker {
    margin: 0 0 0.45rem;
    color: #67e8f9;
    font-size: 0.76rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0;
    font-style: normal;
}

.admin-hero-panel h2 {
    margin: 0 0 0.8rem;
    font-size: clamp(1.8rem, 3vw, 3rem);
}

.admin-hero-copy {
    max-width: 640px;
    margin: 0;
    color: rgba(226, 232, 240, 0.72);
    font-size: 1rem;
    line-height: 1.65;
    font-style: normal;
}

.admin-hero-signal {
    width: 180px;
    min-height: 148px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: end;
    gap: 0.7rem;
    flex: 0 0 auto;
    padding: 1rem;
    border-radius: 24px;
    color: white;
    background: rgba(3, 7, 18, 0.32);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 0 48px rgba(34, 211, 238, 0.16);
}

.admin-hero-signal i {
    grid-column: 1 / -1;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #03111d;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
}

.admin-hero-signal span {
    min-height: 46px;
    border-radius: 14px;
    background: linear-gradient(180deg, #67e8f9, rgba(103, 232, 249, 0.16));
}

.admin-hero-signal span:nth-child(3) {
    min-height: 72px;
    background: linear-gradient(180deg, #a78bfa, rgba(167, 139, 250, 0.16));
}

.admin-hero-signal span:nth-child(4) {
    min-height: 102px;
    background: linear-gradient(180deg, #bef264, rgba(190, 242, 100, 0.16));
}

.admin-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem;
}

.admin-kpi-card {
    min-height: 118px;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 0.72rem;
    padding: 0.82rem;
    border-radius: 18px;
    color: inherit;
    text-align: left;
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.095), rgba(255, 255, 255, 0.045)),
        rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    cursor: pointer;
    position: relative;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.admin-kpi-card:hover,
.admin-kpi-card:focus-visible,
.admin-kpi-card.is-active {
    transform: translateY(-2px);
    border-color: rgba(125, 211, 252, 0.32);
    background:
        linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)),
        rgba(255, 255, 255, 0.08);
    outline: none;
}

.admin-kpi-card.is-active {
    border-color: var(--primary) !important;
}

.admin-kpi-head {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 18px;
    align-items: center;
    gap: 0.55rem;
}

.admin-kpi-more {
    color: rgba(226, 232, 240, 0.46);
    font-size: 0.8rem;
    justify-self: end;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease;
}

.admin-kpi-card.is-active .admin-kpi-more {
    transform: rotate(90deg);
    color: #a7f3d0;
}

.admin-kpi-icon {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: white;
    background: rgba(255, 255, 255, 0.1);
    font-size: 0.9rem;
}

.admin-kpi-head span,
.admin-kpi-copy small,
.admin-kpi-copy em {
    display: block;
    color: rgba(226, 232, 240, 0.62);
    font-style: normal;
}

.admin-kpi-head span {
    color: rgba(226, 232, 240, 0.72);
    font-size: 0.73rem;
    font-weight: 850;
    line-height: 1.22;
}

.admin-kpi-body {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 0.65rem;
}

.admin-kpi-card strong {
    display: block;
    color: white;
    font-size: clamp(1.45rem, 2.1vw, 2.05rem);
    line-height: 0.94;
    white-space: nowrap;
}

.admin-kpi-copy {
    display: grid;
    justify-items: end;
    gap: 0.12rem;
    min-width: 0;
    text-align: right;
}

.admin-kpi-copy small {
    color: rgba(226, 232, 240, 0.76);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.2;
}

.admin-kpi-copy em {
    color: rgba(226, 232, 240, 0.48);
    font-size: 0.68rem;
    font-weight: 750;
    line-height: 1.2;
}

.admin-kpi-meter {
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
}

.admin-kpi-meter span {
    display: block;
    width: max(7%, var(--meter));
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--kpi-accent, #67e8f9), rgba(255, 255, 255, 0.75));
    box-shadow: 0 0 16px rgba(125, 211, 252, 0.26);
}

.admin-dashboard-panels {
    display: grid;
    gap: 1.25rem;
    margin-top: 0rem;
}

.admin-detail-panel {
    padding: 1.25rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    transition: all 0.3s ease;
		margin-top: 1rem;
}

.admin-detail-panel[hidden] {
    display: none !important;
}

.admin-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin-bottom: 0.75rem;
}

.admin-detail-head h3 {
    margin: 0;
    padding: 0;
    border: 0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: white;
    font-size: 1rem;
}

.admin-detail-head h3 i {
    color: #67e8f9;
}

.admin-detail-action {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 0.5rem 0.78rem;
    border-radius: 13px;
    color: #04111f;
    text-decoration: none;
    font-size: 0.84rem;
    font-weight: 850;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    box-shadow: 0 14px 34px rgba(34, 211, 238, 0.18);
}

.admin-detail-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(265px, 1fr));
    gap: 0.85rem;
}

.admin-detail-row {
    min-height: 86px;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
    padding: 0.85rem;
    border-radius: 20px;
    background: rgba(15, 23, 42, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.admin-detail-row:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(125, 211, 252, 0.2);
}

.admin-row-content {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.5rem;
    min-width: 0;
    grid-column: 2;
}

.admin-row-icon {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 32px;
    height: 32px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.07);
    color: var(--kpi-accent, #67e8f9);
    font-size: 0.8rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-row-info {
    min-width: 0;
}

.admin-detail-row strong,
.admin-detail-row span,
.admin-detail-row small {
    display: block;
}

.admin-detail-row strong {
    color: white;
    font-size: 0.82rem;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.01em;
    margin-bottom: 0.2rem;
}

.admin-detail-row span {
    margin-top: 0.24rem;
    color: rgba(226, 232, 240, 0.72);
    font-size: 0.76rem;
    font-weight: 750;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-detail-row small {
    margin-top: 0.12rem;
    color: rgba(226, 232, 240, 0.56);
    font-size: 0.73rem;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-detail-meta {
    display: grid;
    justify-items: end;
    gap: 0.25rem;
    padding-top: 0.1rem;
}

.admin-detail-meta em {
    max-width: 104px;
    padding: 0.2rem 0.42rem;
    border-radius: 999px;
    color: #04111f;
    background: #a7f3d0;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

.admin-detail-meta time {
    color: rgba(226, 232, 240, 0.54);
    font-size: 0.7rem;
    font-weight: 750;
}

.admin-detail-empty {
    min-height: 92px;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 1rem;
    border-radius: 18px;
    color: rgba(226, 232, 240, 0.74);
    background: rgba(3, 7, 18, 0.24);
    border: 1px dashed rgba(125, 211, 252, 0.22);
    font-weight: 750;
}

.admin-detail-empty i {
    color: #67e8f9;
}

.tone-mint { --kpi-accent: #86efac; }
.tone-amber { --kpi-accent: #facc15; }
.tone-violet { --kpi-accent: #8b5cf6; }
.tone-cyan { --kpi-accent: #67e8f9; }
.tone-rose { --kpi-accent: #fb7185; }
.tone-lime { --kpi-accent: #bef264; }
.tone-mint .admin-kpi-icon { color: #042015; background: #86efac; box-shadow: 0 0 24px rgba(134, 239, 172, 0.25); }
.tone-amber .admin-kpi-icon { color: #261700; background: #facc15; box-shadow: 0 0 24px rgba(250, 204, 21, 0.22); }
.tone-violet .admin-kpi-icon { color: white; background: #8b5cf6; box-shadow: 0 0 24px rgba(139, 92, 246, 0.26); }
.tone-cyan .admin-kpi-icon { color: #001923; background: #67e8f9; box-shadow: 0 0 24px rgba(103, 232, 249, 0.24); }
.tone-rose .admin-kpi-icon { color: white; background: #fb7185; box-shadow: 0 0 24px rgba(251, 113, 133, 0.24); }
.tone-lime .admin-kpi-icon { color: #142000; background: #bef264; box-shadow: 0 0 24px rgba(190, 242, 100, 0.22); }

.admin-dashboard-grid {
	display: grid;
	grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.3fr);
	gap: 1rem;
	margin-top: 1rem;
}

.admin-glass-panel {
    padding: 1.25rem;
    border-radius: 26px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px) saturate(145%);
    -webkit-backdrop-filter: blur(20px) saturate(145%);
}

.admin-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}

.admin-section-head h3 {
    margin: 0;
    padding: 0;
    border: 0;
    color: white;
    font-size: 1.2rem;
}

.admin-section-head > span {
    color: #a7f3d0;
    font-size: 0.86rem;
    font-weight: 900;
}

.admin-ring-wrap {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.admin-ring {
    width: 170px;
    height: 170px;
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, #08111f 0 54%, transparent 55%),
        conic-gradient(#86efac 0 calc(var(--free) * 1%), #facc15 calc(var(--free) * 1%) calc((var(--free) + var(--reserved)) * 1%), #8b5cf6 calc((var(--free) + var(--reserved)) * 1%) 100%);
    box-shadow: 0 0 42px rgba(134, 239, 172, 0.18);
}

.admin-ring strong,
.admin-ring span {
    grid-area: 1 / 1;
    display: block;
    text-align: center;
}

.admin-ring strong {
    color: white;
    font-size: 2.2rem;
    line-height: 1;
    transform: translateY(-0.35rem);
}

.admin-ring span {
    color: rgba(226, 232, 240, 0.62);
    font-weight: 850;
    transform: translateY(1.15rem);
}

.admin-ring-legend {
    display: grid;
    gap: 0.75rem;
    color: rgba(226, 232, 240, 0.78);
    font-weight: 800;
}

.admin-ring-legend i {
    width: 12px;
    height: 12px;
    display: inline-block;
    margin-right: 0.45rem;
    border-radius: 50%;
}

.legend-free { background: #86efac; }
.legend-reserved { background: #facc15; }
.legend-sold { background: #8b5cf6; }

.admin-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.admin-action-card {
    min-height: 132px;
    display: grid;
    align-content: start;
    gap: 0.55rem;
    padding: 1rem;
    border-radius: 20px;
    color: white;
    text-decoration: none;
    background: rgba(3, 7, 18, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.admin-action-card:hover {
    transform: translateY(-3px);
    background: rgba(34, 211, 238, 0.08);
    border-color: rgba(103, 232, 249, 0.32);
}

.admin-action-card i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: #03111d;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
}

.admin-action-card strong {
    color: white;
    font-size: 0.98rem;
}

.admin-action-card span {
    color: rgba(226, 232, 240, 0.62);
    line-height: 1.45;
    font-size: 0.86rem;
}

@keyframes adminPanelSweep {
    0%, 42% { transform: translateX(-75%); opacity: 0; }
    52% { opacity: 1; }
    100% { transform: translateX(70%); opacity: 0; }
}

@media (max-width: 1280px) {
    .admin-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 980px) {
    .admin-dashboard-grid,
    .admin-hero-panel {
        grid-template-columns: 1fr;
    }

    .admin-hero-panel {
        align-items: flex-start;
    }

    .admin-hero-signal {
        display: none;
    }

    .admin-dashboard-grid {
        display: grid;
        grid-template-columns: 1fr;
    }

    .admin-detail-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .admin-nav {
        width: 282px;
        left: -282px;
    }

    .admin-content {
        margin-left: 0;
        padding: 4.7rem 1rem 1rem;
    }
}

@media (max-width: 640px) {
    .admin-kpi-grid,
    .admin-action-grid {
        grid-template-columns: 1fr;
    }

    .admin-ring-wrap {
        align-items: flex-start;
        flex-direction: column;
    }

    .admin-hero-panel,
    .admin-glass-panel {
        border-radius: 22px;
        padding: 1rem;
    }
}

/* ===================== ADAPTIVE DAY/NIGHT EXPERIENCE ===================== */

html[data-theme="light"] {
    --primary: #2563eb;
    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --primary-dark: #1e40af;
    --secondary-color: #0f766e;
    --bg-dark: #f6f8fc;
    --bg-light: #ffffff;
    --bg-primary: #f1f5f9;
    --bg-secondary: #ffffff;
    --text-main: #334155;
    --text-dark: #0f172a;
    --text-muted: #64748b;
    --text-secondary: #64748b;
    --text-primary: #0f172a;
    --text-color: #0f172a;
    --border-color: #e2e8f0;
    --glass-bg: rgba(255, 255, 255, 0.68);
    --glass-border: rgba(15, 23, 42, 0.1);
    --surface: #ffffff;
    --border: #dbe3ef;
}

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

html[data-theme="light"] {
    color-scheme: light;
}

html[data-theme="light"] body {
    background: #f6f8fc;
    background-image:
        radial-gradient(at 8% 10%, rgba(37, 99, 235, 0.14) 0px, transparent 34%),
        radial-gradient(at 92% 0%, rgba(20, 184, 166, 0.15) 0px, transparent 36%),
        radial-gradient(at 80% 92%, rgba(244, 114, 182, 0.12) 0px, transparent 34%);
    color: #334155;
}

html[data-theme="light"] body::before {
    background-image: linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
}

html[data-theme="light"] .main-header {
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
}

html[data-theme="light"] .main-header::after {
    background: linear-gradient(90deg, transparent 0%, rgba(37, 99, 235, 0.15) 30%, rgba(14, 165, 233, 0.2) 70%, transparent 100%);
}

html[data-theme="light"] .logo-text,
html[data-theme="light"] .logo span {
    color: #0f172a;
}

html[data-theme="light"] .logo-accent,
html[data-theme="light"] .logo span span {
    background: linear-gradient(135deg, #0284c7 0%, #2563eb 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

html[data-theme="light"] .nav-link {
    color: rgba(15, 23, 42, 0.72);
}

html[data-theme="light"] .nav-link i {
    color: rgba(15, 23, 42, 0.45);
}

html[data-theme="light"] .nav-link:hover {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.05);
    border-color: rgba(15, 23, 42, 0.06);
}

html[data-theme="light"] .nav-link:hover i {
    color: #2563eb;
}

html[data-theme="light"] .nav-link.active {
    color: #2563eb;
    background: rgba(37, 99, 235, 0.08);
    border-color: rgba(37, 99, 235, 0.2);
    box-shadow: 0 2px 10px rgba(37, 99, 235, 0.08);
}

html[data-theme="light"] .nav-link.active i {
    color: #2563eb;
}

html[data-theme="light"] .nav-divider {
    background: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .btn-login {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .btn-login:hover {
    background: rgba(15, 23, 42, 0.08);
    border-color: rgba(15, 23, 42, 0.2);
    color: #0f172a;
}

html[data-theme="light"] .btn-logout {
    background: #fee2e2;
    color: #dc2626;
    border-color: #fca5a5;
}

html[data-theme="light"] .btn-logout:hover {
    background: #fecaca;
    color: #b91c1c;
}

html[data-theme="light"] .theme-toggle,
html[data-theme="light"] .header-theme-toggle,
html[data-theme="light"] .admin-theme-toggle {
    color: #d97706;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .theme-toggle:hover,
html[data-theme="light"] .header-theme-toggle:hover,
html[data-theme="light"] .admin-theme-toggle:hover {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
    color: #b45309;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.2);
}

html[data-theme="light"] .mobile-menu-toggle {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .mobile-menu-toggle:hover {
    background: rgba(15, 23, 42, 0.08);
    border-color: rgba(15, 23, 42, 0.18);
}

.admin-theme-toggle {
    width: calc(100% - 2rem);
    margin: 0 1rem 0.4rem;
}

.admin-login-theme-toggle {
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 20;
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 16px;
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    cursor: pointer;
}

html[data-theme="light"] .admin-login-theme-toggle {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.1);
}

.glass-card,
.cars-flash,
.spots-flash,
.block-selector,
.grid-legend,
.block-area,
.modal-view,
.stat-card,
.car-card,
.empty-state,
.auth-required {
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.045));
    border: 1px solid rgba(255, 255, 255, 0.14);
}

html[data-theme="light"] .glass-card,
html[data-theme="light"] .cars-flash,
html[data-theme="light"] .spots-flash,
html[data-theme="light"] .block-selector,
html[data-theme="light"] .grid-legend,
html[data-theme="light"] .block-area,
html[data-theme="light"] .modal-view,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .car-card,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .auth-required {
    color: #0f172a;
    background: linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(255, 255, 255, 0.62));
    border-color: rgba(15, 23, 42, 0.09);
}

html[data-theme="light"] .welcome-text h1,
html[data-theme="light"] .header-text h1,
html[data-theme="light"] .stat-value,
html[data-theme="light"] .car-info h3,
html[data-theme="light"] .plate-number,
html[data-theme="light"] .row-num,
html[data-theme="light"] .block-title,
html[data-theme="light"] .modal-header h3,
html[data-theme="light"] .car-name,
html[data-theme="light"] .legend-item,
html[data-theme="light"] .flow-step strong,
html[data-theme="light"] .form-header h3 {
    color: #0f172a;
}

html[data-theme="light"] .welcome-text p,
html[data-theme="light"] .header-text p,
html[data-theme="light"] .stat-info h3,
html[data-theme="light"] .car-year,
html[data-theme="light"] .plate-label,
html[data-theme="light"] .modal-desc,
html[data-theme="light"] .car-type,
html[data-theme="light"] .no-location,
html[data-theme="light"] .car-location {
    color: #64748b;
}

html[data-theme="dark"] .welcome-text h1,
html[data-theme="dark"] .header-text h1,
html[data-theme="dark"] .block-title,
html[data-theme="dark"] .legend-item,
html[data-theme="dark"] .row-num,
html[data-theme="dark"] .stat-value,
html[data-theme="dark"] .car-info h3,
html[data-theme="dark"] .flow-step strong,
html[data-theme="dark"] .form-header h3 {
    color: #f8fafc;
}

html[data-theme="dark"] .welcome-text p,
html[data-theme="dark"] .header-text p,
html[data-theme="dark"] .stat-info h3,
html[data-theme="dark"] .car-year,
html[data-theme="dark"] .plate-label,
html[data-theme="dark"] .modal-desc,
html[data-theme="dark"] .car-type,
html[data-theme="dark"] .no-location,
html[data-theme="dark"] .car-location,
html[data-theme="dark"] .flow-step span {
    color: rgba(226, 232, 240, 0.72);
}

html[data-theme="light"] .block-nav-btn {
    color: #64748b;
}

html[data-theme="light"] .block-nav-btn.active {
    color: #ffffff;
}

html[data-theme="light"] .block-nav-btn:hover:not(.active) {
    color: #1d4ed8;
    background: rgba(37, 99, 235, 0.07);
}

html[data-theme="dark"] .block-nav-btn {
    color: rgba(226, 232, 240, 0.72);
}

html[data-theme="dark"] .block-nav-btn:hover:not(.active) {
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .spot-node.spot-free {
    color: #059669;
    background: rgba(16, 185, 129, 0.1);
    border-color: rgba(16, 185, 129, 0.32);
}

html[data-theme="light"] .spot-node.spot-free:hover {
    color: #ffffff;
    background: #10b981;
}

html[data-theme="dark"] .spot-node.spot-free {
    color: #a7f3d0;
    background: rgba(16, 185, 129, 0.12);
    border-color: rgba(52, 211, 153, 0.28);
}

html[data-theme="light"] .row-info {
    background: rgba(255, 255, 255, 0.84);
    border-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="dark"] .row-info {
    background: rgba(15, 23, 42, 0.58);
    border-color: rgba(255, 255, 255, 0.1);
}

html[data-theme="light"] .form-group label {
    color: #334155;
}

html[data-theme="light"] .form-group input,
html[data-theme="light"] .form-group select {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .form-group select option {
    background: #ffffff;
    color: #0f172a;
}

html[data-theme="light"] .car-plate,
html[data-theme="light"] .car-type-badge,
html[data-theme="light"] .car-option {
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .main-footer {
    background: #0f172a;
}

html[data-theme="light"] body.admin-body,
html[data-theme="light"] body:has(.admin-page) {
    background: #f6f8fc;
}

html[data-theme="light"] body.admin-body::before,
html[data-theme="light"] body:has(.admin-page)::before {
    background:
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px);
    background-size: 42px 42px;
}

html[data-theme="light"] .admin-nav {
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 18px 46px rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .admin-nav .nav-brand,
html[data-theme="light"] .admin-nav a,
html[data-theme="light"] .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) {
    color: #0f172a;
}

html[data-theme="light"] .admin-content h2,
html[data-theme="light"] .admin-content h3,
html[data-theme="light"] .admin-content .table strong {
    color: #0f172a;
}

html[data-theme="light"] .admin-nav .nav-group-title {
    color: #64748b;
}

html[data-theme="light"] .admin-content .form {
    color: #0f172a;
}

html[data-theme="light"] .admin-content .table,
html[data-theme="light"] .admin-content details,
html[data-theme="light"] .admin-content .alert,
html[data-theme="light"] .admin-glass-panel,
html[data-theme="light"] .admin-kpi-card,
html[data-theme="light"] .admin-detail-panel,
html[data-theme="light"] .admin-hero-panel {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] .admin-content .table th {
    color: #475569;
    background: rgba(241, 245, 249, 0.9);
}

html[data-theme="light"] .admin-content .table td,
html[data-theme="light"] .admin-content p,
html[data-theme="light"] .admin-section-head > span,
html[data-theme="light"] .admin-kpi-card span,
html[data-theme="light"] .admin-kpi-card small,
html[data-theme="light"] .admin-kpi-copy em,
html[data-theme="light"] .admin-action-card span {
    color: #64748b;
}

html[data-theme="light"] .admin-kpi-copy small {
    color: #334155;
}

html[data-theme="light"] .admin-kpi-meter {
    background: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .admin-content .form input[type="text"],
html[data-theme="light"] .admin-content .form input[type="number"],
html[data-theme="light"] .admin-content .form input[type="password"],
html[data-theme="light"] .admin-content .form textarea,
html[data-theme="light"] .admin-content .form select {
    color: #0f172a;
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .admin-login-screen {
    background:
        radial-gradient(circle at 12% 14%, rgba(37, 99, 235, 0.16), transparent 32%),
        radial-gradient(circle at 90% 12%, rgba(20, 184, 166, 0.14), transparent 34%),
        #f6f8fc;
}

html[data-theme="light"] .admin-login-card,
html[data-theme="light"] .admin-login-panel::before {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .admin-login-brand h1,
html[data-theme="light"] .admin-login-card h2,
html[data-theme="light"] .admin-login-field span,
html[data-theme="light"] .admin-login-input input {
    color: #0f172a;
}

html[data-theme="light"] .admin-login-brand p,
html[data-theme="light"] .admin-login-card-head p {
    color: #64748b;
}

html[data-theme="light"] .admin-login-input {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .admin-action-card {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.035);
    border-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .admin-action-card strong {
    color: #0f172a;
}

@media (max-width: 768px) {
    .theme-toggle {
        width: 40px;
        height: 40px;
    }
}

/* ===================== ADMIN REFINEMENTS ===================== */

body.admin-body {
    --admin-nav-width: 300px;
    --admin-nav-collapsed-width: 86px;
}

body.admin-body main.container,
body:has(.admin-page) main.container {
    width: 100vw;
    max-width: none;
    margin: 0;
    padding: 0;
}

body.admin-body .admin-page,
body.admin-body .admin-login-screen {
    width: 100%;
}

.admin-brand-row {
    min-height: 64px;
    display: flex;
    gap: 0.85rem;
    margin: 0 0 1rem;
    padding: 0.65rem 0.85rem;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(34, 211, 238, 0.13), rgba(16, 185, 129, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.admin-nav .admin-brand-toggle {
    width: 38px;
    height: 38px;
    min-height: 38px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #e0f2fe;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
}

.admin-nav .admin-brand-toggle:hover {
    background: rgba(255, 255, 255, 0.15);
    color: #ffffff;
}

.admin-nav .admin-brand-icon {
    width: 42px;
    height: 42px;
    min-height: 42px;
    margin: 0;
    padding: 0;
    display: grid;
    place-items: center;
    justify-content: center;
    border-radius: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: #04111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    box-shadow: 0 12px 30px rgba(34, 211, 238, 0.18);
    font-size: 1.1rem;
}

.admin-nav .admin-brand-toggle i,
.admin-nav .admin-brand-icon i {
    width: auto;
    color: currentColor;
    text-shadow: none;
}

.admin-nav .nav-brand span {
    background: linear-gradient(135deg, #67e8f9 0%, #10b981 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

.admin-nav .nav-brand {
    min-height: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.admin-nav .nav-brand:hover {
    background: transparent;
    border-color: transparent;
    transform: none;
}

body.admin-sidebar-collapsed .admin-nav {
    width: var(--admin-nav-collapsed-width);
    padding: 1rem 0.55rem;
}

body.admin-sidebar-collapsed .admin-content {
    margin-left: var(--admin-nav-collapsed-width);
}

body.admin-sidebar-collapsed .admin-brand-row {
    grid-template-columns: 1fr;
    justify-items: center;
    padding: 0.75rem 0.5rem;
    gap: 1rem;
}

body.admin-sidebar-collapsed .admin-nav .nav-brand,
body.admin-sidebar-collapsed .admin-nav a span,
body.admin-sidebar-collapsed .admin-nav .nav-group-title,
body.admin-sidebar-collapsed .admin-nav .nav-divider,
body.admin-sidebar-collapsed .admin-nav .nav-logout span {
    display: none;
}

body.admin-sidebar-collapsed .admin-nav a,
body.admin-sidebar-collapsed .admin-nav .nav-logout {
    justify-content: center;
    padding: 0.7rem;
}

body.admin-sidebar-collapsed .admin-nav a i,
body.admin-sidebar-collapsed .admin-nav .nav-logout i {
    width: 22px;
    margin: 0;
}

.admin-hero-panel {
    min-height: 150px;
    padding: 1.15rem 1.25rem;
    border-radius: 22px;
    background:
        linear-gradient(135deg, rgba(34, 211, 238, 0.11), rgba(16, 185, 129, 0.08)),
        rgba(255, 255, 255, 0.07);
}

.admin-hero-panel::before {
    display: none;
}

.admin-hero-panel h2 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.35rem, 2vw, 2.05rem);
}

.admin-hero-copy {
    max-width: 520px;
    font-size: 0.93rem;
    line-height: 1.5;
}

.admin-kicker {
    margin-bottom: 0.35rem;
    text-transform: none;
}

.admin-hero-signal {
    width: 132px;
    min-height: 104px;
    gap: 0.45rem;
    padding: 0.7rem;
    border-radius: 18px;
}

.admin-hero-signal i {
    width: 38px;
    height: 38px;
    border-radius: 13px;
}

.admin-hero-signal span {
    min-height: 30px;
    border-radius: 10px;
}

.admin-hero-signal span:nth-child(3) {
    min-height: 50px;
}

.admin-hero-signal span:nth-child(4) {
    min-height: 72px;
}

.admin-dashboard .admin-hero-panel {
    min-height: 82px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-radius: 18px;
}

.admin-hero-main {
    min-width: 0;
}

.admin-dashboard .admin-hero-panel h2 {
    margin-bottom: 0.22rem;
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
}

.admin-dashboard .admin-hero-copy {
    max-width: none;
    font-size: 0.84rem;
    line-height: 1.35;
}

.admin-hero-brand-art {
    width: 172px;
    min-height: 58px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: center;
    gap: 0.7rem;
    padding: 0.48rem;
    border-radius: 18px;
    background:
        radial-gradient(circle at 22% 24%, rgba(103, 232, 249, 0.18), transparent 34%),
        linear-gradient(135deg, rgba(3, 7, 18, 0.36), rgba(15, 23, 42, 0.2));
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 14px 34px rgba(0, 0, 0, 0.18);
}

.admin-hero-logo-orbit {
    width: 50px;
    height: 50px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    color: #04111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    box-shadow: 0 0 28px rgba(34, 211, 238, 0.24);
}

.admin-hero-art-lines {
    display: grid;
    gap: 0.38rem;
}

.admin-hero-art-lines span {
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
}

.admin-hero-art-lines span:nth-child(1) {
    width: 78%;
    background: linear-gradient(90deg, #67e8f9, rgba(103, 232, 249, 0.12));
}

.admin-hero-art-lines span:nth-child(2) {
    width: 100%;
    background: linear-gradient(90deg, #a78bfa, rgba(167, 139, 250, 0.12));
}

.admin-hero-art-lines span:nth-child(3) {
    width: 58%;
    background: linear-gradient(90deg, #bef264, rgba(190, 242, 100, 0.12));
}

.admin-login-screen {
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background:
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.026) 1px, transparent 1px),
        #07101e;
    background-size: 54px 54px, 54px 54px, auto;
}

.admin-login-screen::before,
.admin-login-screen::after {
    display: none;
}

.admin-login-panel {
    width: min(440px, 100%);
    gap: 0.9rem;
}

.admin-login-brand {
    padding: 0.65rem;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(34, 211, 238, 0.13), rgba(16, 185, 129, 0.08));
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.admin-login-mark {
    width: 42px;
    height: 42px;
    border-radius: 14px;
}

.admin-login-card {
    padding: 1.2rem;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 64px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.admin-login-card-head {
    padding-bottom: 1rem;
}

.admin-login-input,
.admin-login-submit {
    min-height: 52px;
    height: 52px;
    border-radius: 16px;
}

.admin-page-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 18px 52px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.admin-page-head h2 {
    margin: 0 0 0.25rem;
    font-size: clamp(1.25rem, 1.8vw, 1.7rem);
}

.admin-page-head p:last-child {
    margin: 0;
    color: rgba(226, 232, 240, 0.66);
    font-size: 0.9rem;
}

.admin-user-stat-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
		margin-bottom: 1rem;
}

.admin-user-stat {
    min-height: 74px;
    display: grid;
    align-content: center;
    gap: 0.2rem;
    padding: 0.75rem;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.admin-user-stat span {
    color: rgba(226, 232, 240, 0.6);
    font-size: 0.74rem;
    font-weight: 850;
}

.admin-user-stat strong {
    color: white;
    font-size: 1.65rem;
    line-height: 1;
}

.admin-user-filters {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, 0.7fr)) auto;
    gap: 0.75rem;
    align-items: end;
    padding: 0.9rem;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.admin-user-filters.no-branch {
    grid-template-columns: minmax(260px, 1fr) minmax(150px, 0.42fr) minmax(170px, 0.5fr) auto;
}

.admin-user-filters label {
    display: grid;
    gap: 0.35rem;
    color: rgba(226, 232, 240, 0.66);
    font-size: 0.75rem;
    font-weight: 850;
}

.admin-user-filters input,
.admin-user-filters select {
    min-height: 42px;
    width: 100%;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 13px;
    color: white;
    background: rgba(3, 7, 18, 0.3);
    padding: 0 0.75rem;
    outline: none;
}

.admin-user-search {
    position: relative;
}

.admin-user-search i {
    position: absolute;
    left: 0.78rem;
    bottom: 12px;
    color: rgba(125, 211, 252, 0.7);
}

.admin-user-search input {
    padding-left: 2.2rem;
}

.admin-user-filters button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0 0.9rem;
    border: 0;
    border-radius: 13px;
    color: #04111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    font-weight: 900;
    cursor: pointer;
}

.admin-users-table-card {
    padding: 1rem;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 20px 64px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.admin-users-table-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 0.85rem;
}

.admin-users-table-head h3 {
    margin: 0;
    padding: 0;
    border: 0;
}

.admin-users-table td small {
    display: block;
    margin-top: 0.18rem;
    color: rgba(226, 232, 240, 0.56);
    font-size: 0.76rem;
    font-weight: 750;
}

.admin-user-cell {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.admin-user-cell > span {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #04111f;
    background: linear-gradient(135deg, #67e8f9, #a7f3d0);
    font-weight: 900;
}

.admin-source-pill {
    min-height: 30px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.32rem 0.55rem;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 900;
}

.admin-source-pill.is-telegram {
    color: #082f49;
    background: #7dd3fc;
}

.admin-source-pill.is-web {
    color: #052e16;
    background: #86efac;
}

@media (max-width: 1180px) {
    .admin-user-stat-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .admin-user-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .admin-dashboard .admin-hero-panel,
    .admin-page-head {
        align-items: stretch;
        grid-template-columns: 1fr;
        flex-direction: column;
    }

    .admin-hero-brand-art,
    .admin-user-stat-grid,
    .admin-user-filters {
        grid-template-columns: minmax(0, 1fr);
    }

    .admin-hero-brand-art {
        width: 100%;
    }
}

html[data-theme="light"] .admin-hero-panel h2,
html[data-theme="light"] .admin-hero-panel h2 i,
html[data-theme="light"] .admin-kicker,
html[data-theme="light"] .admin-section-head h3,
html[data-theme="light"] .admin-kpi-card strong,
html[data-theme="light"] .admin-detail-head h3,
html[data-theme="light"] .admin-detail-row strong,
html[data-theme="light"] .admin-ring-legend,
html[data-theme="light"] .admin-ring strong,
html[data-theme="light"] .admin-action-card strong,
html[data-theme="light"] .admin-content details summary,
html[data-theme="light"] .admin-content .form label,
html[data-theme="light"] .admin-content .table code,
html[data-theme="light"] .admin-login-input > i,
html[data-theme="light"] .admin-password-toggle {
    color: #0f172a;
    text-shadow: none;
}

html[data-theme="light"] .admin-hero-copy,
html[data-theme="light"] .admin-ring span,
html[data-theme="light"] .admin-ring-legend span,
html[data-theme="light"] .admin-content .table td,
html[data-theme="light"] .admin-content .alert,
html[data-theme="light"] .admin-detail-row span,
html[data-theme="light"] .admin-detail-row small,
html[data-theme="light"] .admin-detail-meta time,
html[data-theme="light"] .admin-detail-empty,
html[data-theme="light"] .admin-login-field,
html[data-theme="light"] .admin-login-input input::placeholder {
    color: #64748b;
}

html[data-theme="light"] .admin-detail-row,
html[data-theme="light"] .admin-detail-empty {
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .admin-page-head,
html[data-theme="light"] .admin-user-stat,
html[data-theme="light"] .admin-user-filters,
html[data-theme="light"] .admin-users-table-card,
html[data-theme="light"] .admin-hero-brand-art {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .admin-page-head p:last-child,
html[data-theme="light"] .admin-user-stat span,
html[data-theme="light"] .admin-user-filters label,
html[data-theme="light"] .admin-users-table td small {
    color: #64748b;
}

html[data-theme="light"] .admin-user-stat strong {
    color: #0f172a;
}

html[data-theme="light"] .admin-user-filters input,
html[data-theme="light"] .admin-user-filters select {
    color: #0f172a;
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] .admin-ring {
    background:
        radial-gradient(circle at center, #ffffff 0 54%, transparent 55%),
        conic-gradient(#16a34a 0 calc(var(--free) * 1%), #f59e0b calc(var(--free) * 1%) calc((var(--free) + var(--reserved)) * 1%), #6366f1 calc((var(--free) + var(--reserved)) * 1%) 100%);
}

html[data-theme="light"] .admin-hero-signal,
html[data-theme="light"] .admin-login-brand {
    background: rgba(255, 255, 255, 0.72);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
}

html[data-theme="light"] .admin-nav .admin-brand-toggle {
    border-color: rgba(15, 23, 42, 0.1);
    color: #04111f;
}

html[data-theme="light"] .admin-nav .nav-brand span {
    background: linear-gradient(135deg, #1e40af 0%, #047857 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 800;
}

html[data-theme="light"] .admin-login-input input:-webkit-autofill {
    -webkit-text-fill-color: #0f172a;
}

html[data-theme="light"] .admin-login-screen {
    background:
        linear-gradient(rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.035) 1px, transparent 1px),
        #f6f8fc;
    background-size: 42px 42px, 42px 42px, auto;
}

html[data-theme="light"] .admin-login-card {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.1);
}

@media (max-width: 768px) {
    body.admin-sidebar-collapsed .admin-nav {
        width: 282px;
        padding: 1.1rem 0.85rem;
    }

    body.admin-sidebar-collapsed .admin-content {
        margin-left: 0;
    }

    body.admin-sidebar-collapsed .admin-brand-row {
        grid-template-columns: 42px minmax(0, 1fr) 38px;
        justify-items: stretch;
    }

    body.admin-sidebar-collapsed .admin-nav a span,
    body.admin-sidebar-collapsed .admin-nav .nav-logout span {
        display: inline;
    }

    body.admin-sidebar-collapsed .admin-nav .nav-brand {
        display: flex;
    }
}

/* ===================== FULL RESPONSIVE STABILITY PASS ===================== */

html {
    -webkit-text-size-adjust: 100%;
}

html,
body {
    max-width: 100%;
}

body * {
	letter-spacing: 0;
}

img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
}

button,
input,
select,
textarea {
    max-width: 100%;
    font: inherit;
}

a,
button,
label,
p,
li,
h1,
h2,
h3,
h4,
h5,
h6,
td,
th,
span,
strong,
small {
    overflow-wrap: break-word;
}

body .container {
    width: min(100%, 1200px);
}

body .admin-hero-panel h2 {
    font-size: 1.8rem;
}

body .admin-kicker,
body .block-title,
body .plate-number,
body .admin-content .table th {
    letter-spacing: 0;
}

body .table,
body .admin-content .table {
    max-width: 100%;
}

body .modal-overlay {
    padding: 1rem;
}

body .modal-view,
body .global-modal-view {
    width: min(100%, 520px);
}

html[data-theme="light"] body .auth-header h2,
html[data-theme="light"] body .auth-action-footer,
html[data-theme="light"] body .custom-checkbox,
html[data-theme="light"] body .group-label,
html[data-theme="light"] body .form-help {
    color: #0f172a;
}

html[data-theme="light"] body .auth-header p,
html[data-theme="light"] body .auth-action-footer,
html[data-theme="light"] body .form-help {
    color: #64748b;
}

html[data-theme="light"] body .auth-card.glass {
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(15, 23, 42, 0.1);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] body .auth-form-side {
    color: #0f172a;
}

html[data-theme="light"] body .visual-content h2,
html[data-theme="light"] body .visual-content p,
html[data-theme="light"] body .feature-item {
    color: #ffffff;
}

html[data-theme="light"] body .visual-content p {
    opacity: 0.86;
}

html[data-theme="light"] body .input-wrapper input,
html[data-theme="light"] body .input-wrapper select {
    color: #0f172a;
    background: rgba(255, 255, 255, 0.78);
    border-color: rgba(15, 23, 42, 0.12);
}

html[data-theme="light"] body .input-wrapper label,
html[data-theme="light"] body .input-wrapper i,
html[data-theme="light"] body .custom-checkbox,
html[data-theme="light"] body .form-help,
html[data-theme="light"] body .group-label {
    color: #64748b;
}

html[data-theme="light"] body .input-wrapper input:focus,
html[data-theme="light"] body .input-wrapper input:not(:placeholder-shown),
html[data-theme="light"] body .input-wrapper select:focus,
html[data-theme="light"] body .input-wrapper select:valid {
    background: #ffffff;
}

html[data-theme="light"] body .input-wrapper input:focus ~ label,
html[data-theme="light"] body .input-wrapper input:not(:placeholder-shown) ~ label,
html[data-theme="light"] body .input-wrapper select:focus ~ label,
html[data-theme="light"] body .input-wrapper select:valid ~ label,
html[data-theme="light"] body .input-wrapper input:focus ~ i,
html[data-theme="light"] body .input-wrapper select:focus ~ i {
    color: var(--primary);
}

html[data-theme="light"] body .premium-info {
    background: rgba(14, 165, 233, 0.08);
    border-color: rgba(14, 165, 233, 0.16);
}

html[data-theme="light"] body .branch-card {
    background: rgba(15, 23, 42, 0.04);
    border-color: rgba(15, 23, 42, 0.1);
}

html[data-theme="light"] body .branch-card i,
html[data-theme="light"] body .branch-card span {
    color: #64748b;
}

html[data-theme="light"] body .branch-card.active {
    background: rgba(37, 99, 235, 0.1);
    border-color: #2563eb;
}

html[data-theme="light"] body .branch-card.active i,
html[data-theme="light"] body .branch-card.active span {
    color: #1d4ed8;
}

@media (max-width: 1180px) {
    body .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    body .admin-content {
        padding: 1.15rem;
    }

    body .admin-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body .admin-dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 992px) {
    body .main-header {
        height: 72px;
    }

    body .header-content {
        gap: 0.75rem;
        min-height: 72px;
    }

    body .logo {
        flex: 1 1 auto;
        font-size: 1.12rem;
        white-space: nowrap;
    }

    body .logo i {
        font-size: 1.45rem;
    }


    body .nav-link {
        align-items: center;
    }

    body .theme-toggle {
        width: 40px;
        height: 40px;
        border-radius: 12px;
    }

    body main.container {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    body .stats-grid,
    body .cars-grid,
    body .profile-flow,
    body .form-grid,
    body .grid,
    body .admin-content .grid,
    body .admin-action-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body .page-header,
    body .cars-header,
    body .form-header,
    body .admin-section-head,
    body .footer-bottom-content,
    body .spots-page .page-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    body .auth-buttons,
    body .auth-actions,
    body .user-actions {
        width: 100%;
    }

    body .auth-buttons {
        flex-direction: column;
    }

    body .auth-buttons a,
    body .auth-actions a,
    body .user-actions button {
        width: 100%;
        justify-content: center;
    }

    body .table,
    body .admin-content .table {
        display: block;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
    }

    body .table th,
    body .table td,
    body .admin-content .table th,
    body .admin-content .table td {
        padding: 0.8rem;
        vertical-align: top;
    }

    body .admin-hero-panel {
        min-height: auto;
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    body .admin-hero-panel h2 {
        font-size: 1.55rem;
    }

    body .admin-hero-signal {
        width: 100%;
        min-height: 76px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    body .admin-hero-signal span:nth-child(3),
    body .admin-hero-signal span:nth-child(4) {
        min-height: 30px;
    }

    body .admin-ring-wrap {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
    }

    body .admin-ring-legend {
        width: 100%;
    }

    body .spots-page .block-selector {
        grid-template-columns: repeat(auto-fit, minmax(92px, 1fr));
        width: 100%;
    }

    body .spots-page .grid-legend {
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: 0.8rem;
        padding: 0.85rem;
    }

    body .spots-page .parking-map {
        padding: 0;
    }

    body .spots-page .block-area {
        padding: 1rem;
    }

    body .spots-page .row-strip::after {
        display: none;
    }
}

@media (max-width: 768px) {
    body .container {
        padding-left: 0.9rem;
        padding-right: 0.9rem;
    }

    body main.container {
        padding-top: 1.25rem;
        padding-bottom: 2rem;
    }


    body .btn-login,
    body .btn-register,
    body .btn-logout,
    body .btn-primary,
    body .btn-secondary,
    body .btn-primary-gradient {
        min-height: 46px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.55rem;
    }

    body .glass-card,
    body .form,
    body .form-container,
    body .stat-card,
    body .car-card,
    body .auth-required,
    body .empty-state,
    body .admin-content .form,
    body .admin-info-box,
    body .admin-content .alert,
    body .admin-glass-panel,
    body .admin-kpi-card,
    body .admin-hero-panel {
        border-radius: 18px;
        padding: 1.15rem;
    }

    body .stat-card {
        grid-template-columns: auto minmax(0, 1fr);
    }

    body .stat-value {
        font-size: 1.65rem;
    }

    body .car-card-header,
    body .car-meta,
    body .car-plate,
    body .car-location,
    body .car-option,
    body .premium-info {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.75rem;
    }

    body .premium-info .btn-glow {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    body .form-group input,
    body .form-group select,
    body .admin-content .form input[type="text"],
    body .admin-content .form input[type="number"],
    body .admin-content .form input[type="password"],
    body .admin-content .form textarea,
    body .admin-content .form select,
    body .input-wrapper input,
    body .input-wrapper select,
    body .admin-login-input input {
        min-height: 48px;
        font-size: 16px;
    }

    body .auth-wrapper {
        align-items: flex-start;
        min-height: calc(100dvh - 72px);
        padding: 1rem 0.8rem 2rem;
    }

    body .auth-card.glass {
        max-width: 100%;
        border-radius: 22px;
    }

    body .auth-visual {
        padding: 1.5rem;
    }

    body .visual-logo {
        width: 52px;
        height: 52px;
        border-radius: 16px;
        font-size: 1.55rem;
        margin-bottom: 1rem;
    }

    body .visual-content h2,
    body .auth-header h2 {
        font-size: 1.55rem;
        line-height: 1.2;
    }

    body .auth-form-side {
        padding: 1.5rem;
    }

    body .auth-header {
        margin-bottom: 1.25rem;
    }

    body .branch-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.75rem;
    }

    body .admin-nav {
        width: min(282px, 86vw);
        padding: 0.9rem 0.75rem;
    }

    body .admin-sidebar-toggle {
        top: 0.75rem;
        left: 0.75rem;
        width: 42px;
        height: 42px;
        display: grid;
        place-items: center;
    }

    body .admin-content {
        margin-left: 0;
        padding: 4.25rem 0.8rem 1.25rem;
    }

    body .admin-brand-row {
        grid-template-columns: 42px minmax(0, 1fr) 38px;
        padding: 0.65rem 0.85rem;
        gap: 0.85rem;
    }

    body .admin-nav a,
    body .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle),
    body.admin-sidebar-collapsed .admin-nav a,
    body.admin-sidebar-collapsed .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) {
        min-height: 44px;
        justify-content: flex-start !important;
        padding: 0.68rem 0.85rem !important;
    }
    
    body.admin-sidebar-collapsed .admin-nav a span,
    body.admin-sidebar-collapsed .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) span {
        display: inline !important;
    }

    body .admin-kpi-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.9rem;
    }

    body .admin-kpi-card {
        grid-template-columns: none;
        min-height: 108px;
        padding: 0.82rem;
    }

    body .admin-detail-head,
    body .admin-detail-row {
        flex-direction: column;
        align-items: stretch;
    }

    body .admin-detail-action {
        width: 100%;
    }

    body .admin-detail-meta {
        justify-items: start;
    }

    body .admin-kpi-icon {
        width: 44px;
        height: 44px;
        border-radius: 14px;
    }
		.admin-kpi-head {
			grid-template-columns: 44px minmax(0, 1fr) 18px;
		}

    body .admin-login-screen {
        align-items: start;
        min-height: 100dvh;
        padding: 4rem 0.85rem 1rem;
    }

    body .admin-login-panel {
        width: 100%;
    }

    body .admin-login-brand {
        align-items: center;
        padding: 0.7rem;
    }

    body .admin-login-card {
        padding: 1.05rem;
        border-radius: 20px;
    }

    body .admin-login-card-head {
        gap: 0.8rem;
    }

    body .admin-login-card-head h2 {
        font-size: 1.25rem;
    }

    body .admin-login-theme-toggle {
        top: 0.75rem;
        right: 0.75rem;
        width: 42px;
        height: 42px;
        border-radius: 14px;
    }

    body .spots-page {
        padding: 0;
				margin-top: 45px;
    }

    body .spots-page .grid-legend {
        justify-content: center;
    }

    body .spots-page .row-strip {
        align-items: stretch;
        flex-direction: column;
        gap: 0.75rem;
    }

    body .spots-page .row-info {
        width: 100%;
        justify-content: flex-start;
    }

    body .spots-page .spots-layout {
        width: 100%;
    }

    body .spots-page .spots-sub-row {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(34px, 1fr));
        gap: 0.35rem;
    }

    body .spots-page .spot-node {
        width: 100%;
        min-width: 34px;
        height: 42px;
    }

    body .spots-page .empty-state {
        display: grid;
        justify-items: center;
        gap: 0.9rem;
        margin: 0.75rem auto;
        max-width: 560px;
        text-align: center;
    }

    body .spots-page .empty-state .btn-primary {
        width: min(100%, 280px);
    }

    body .modal-overlay {
        align-items: flex-end;
        padding: 0.75rem;
    }

    body .modal-view {
        max-height: calc(100dvh - 1.5rem);
        overflow-y: auto;
        border-radius: 18px;
        padding: 1.15rem;
    }

    body .modal-footer-actions {
        flex-direction: column-reverse;
    }

    body .modal-footer-actions button {
        width: 100%;
    }

    body .footer-grid {
        gap: 1.5rem;
    }

    body .footer-legal {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 0.75rem;
    }

    body .footer-legal a {
        margin: 0;
    }
}

@media (max-width: 520px) {
    body .container {
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }

    body .main-header {
        height: 66px;
    }

    body .header-content {
        min-height: 66px;
    }

    body .logo {
        gap: 0.5rem;
        font-size: 0.98rem;
    }

    body .logo i {
        font-size: 1.25rem;
    }

    body .mobile-menu-toggle,
    body .theme-toggle {
        width: 38px;
        height: 38px;
        flex: 0 0 38px;
    }


    body .welcome-text h1,
    body .header-text h1,
    body .admin-content h2 {
        font-size: 1.45rem;
        line-height: 1.2;
    }

    body .admin-hero-panel h2 {
        font-size: 1.35rem;
    }

    body .admin-hero-copy,
    body .admin-content p,
    body .welcome-text p,
    body .header-text p {
        font-size: 0.92rem;
    }

    body .auth-wrapper {
        min-height: calc(100dvh - 66px);
        padding: 0.75rem 0.5rem 1.5rem;
    }

    body .auth-visual {
        padding: 1.15rem;
    }

    body .visual-content h2,
    body .auth-header h2 {
        font-size: 1.35rem;
    }

    body .auth-form-side {
        padding: 1.15rem;
    }

    body .input-wrapper i {
        left: 1rem;
    }

    body .input-wrapper input,
    body .input-wrapper select {
        padding-left: 2.75rem;
    }

    body .input-wrapper label {
        left: 2.75rem;
        max-width: calc(100% - 4rem);
    }

    body .admin-login-brand h1 {
        font-size: 0.98rem;
    }

    body .admin-login-mark {
        width: 38px;
        height: 38px;
    }

    body .admin-login-input,
    body .admin-login-submit {
        height: 50px;
        min-height: 50px;
        border-radius: 14px;
    }

    body .block-nav-btn {
        min-height: 58px;
        padding: 0.55rem 0.35rem;
        font-size: 0.76rem;
    }

    body .legend-item {
        font-size: 0.8rem;
    }

    body .spots-page .block-area {
        padding: 0.8rem;
    }

    body .spots-page .spot-node {
        min-width: 32px;
        height: 40px;
        border-radius: 7px;
        font-size: 0.78rem;
    }

    body .table th,
    body .table td,
    body .admin-content .table th,
    body .admin-content .table td {
        min-width: 118px;
        padding: 0.7rem;
        font-size: 0.84rem;
    }
}

@media (max-width: 380px) {
    body .logo span {
        max-width: 156px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    body .glass-card,
    body .form,
    body .form-container,
    body .stat-card,
    body .car-card,
    body .auth-required,
    body .empty-state,
    body .admin-info-box,
    body .admin-content .alert,
    body .admin-glass-panel,
    body .admin-kpi-card,
    body .admin-hero-panel {
        padding: 0.95rem;
    }

    body .admin-content {
        padding-left: 0.55rem;
        padding-right: 0.55rem;
    }

    body .admin-hero-signal {
        display: none;
    }

    body .spots-page .spots-sub-row {
        grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
    }

    body .spots-page .spot-node {
        min-width: 30px;
        height: 38px;
    }
}

body:not(.admin-body) main.container:has(.dashboard),
body:not(.admin-body) main.container:has(.user-profile-dashboard),
body:not(.admin-body) main.container:has(.cars-page),
body:not(.admin-body) main.container:has(.spots-page) {
    width: 100%;
    max-width: none;
    padding-left: 1rem;
    padding-right: 1rem;
}

@media (max-width: 768px) {
    body:not(.admin-body) main.container:has(.dashboard),
    body:not(.admin-body) main.container:has(.cars-page),
    body:not(.admin-body) main.container:has(.spots-page) {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* ==================== LIGHT MODE COMPLETION PASS ==================== */

/* Cars page: type badge text, idle badge, actions divider, card hover */
html[data-theme="light"] .car-type-badge {
    color: #475569;
}
html[data-theme="light"] .car-status-badge.idle {
    background: rgba(15, 23, 42, 0.06);
    color: #64748b;
}
html[data-theme="light"] .car-status-badge.paid {
    background: rgba(5, 150, 105, 0.1);
    color: #059669;
}
html[data-theme="light"] .car-status-badge.pending {
    background: rgba(217, 119, 6, 0.1);
    color: #d97706;
}
html[data-theme="light"] .car-status-badge.created {
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
}
html[data-theme="light"] .car-status-badge.cancelled {
    background: rgba(220, 38, 38, 0.1);
    color: #dc2626;
}
html[data-theme="light"] .car-actions {
    border-top-color: rgba(15, 23, 42, 0.08);
}
html[data-theme="light"] .car-card:hover {
    background: rgba(15, 23, 42, 0.03);
}

/* Spots page: block title divider, spot node border, flash text */
html[data-theme="light"] .block-title {
    border-bottom-color: rgba(15, 23, 42, 0.08);
}
html[data-theme="light"] .spot-node {
    border-color: rgba(15, 23, 42, 0.12);
}
html[data-theme="light"] .spots-flash {
    color: #1e293b;
}

/* Payment history: invisible rgba(255,255,255,…) borders */
html[data-theme="light"] .history-title {
    border-bottom-color: rgba(15, 23, 42, 0.1);
}
html[data-theme="light"] .history-row {
    border-bottom-color: rgba(15, 23, 42, 0.06);
}

/* History status badges: too-light hues on white background */
html[data-theme="light"] .badge-paid {
    background: rgba(5, 150, 105, 0.1);
    color: #059669;
}
html[data-theme="light"] .badge-pending {
    background: rgba(217, 119, 6, 0.1);
    color: #d97706;
}
html[data-theme="light"] .badge-created {
    background: rgba(37, 99, 235, 0.1);
    color: #2563eb;
}
html[data-theme="light"] .badge-cancelled {
    background: rgba(220, 38, 38, 0.1);
    color: #dc2626;
}

/* Global: .btn-secondary has color:white — invisible on light backgrounds */
html[data-theme="light"] .btn-secondary {
    background: rgba(15, 23, 42, 0.06);
    color: #334155;
    border-color: rgba(15, 23, 42, 0.12);
}
html[data-theme="light"] .btn-secondary:hover {
    background: rgba(15, 23, 42, 0.1);
    color: #0f172a;
}

/* Global: .logo color:white — fix for any logo outside header overrides */
html[data-theme="light"] .logo {
	color: #ffffff;
}
html[data-theme="light"] .header-content .logo {
	color: #0f172a;
}

/* Hide drawer-only elements on desktop */
@media (min-width: 769px) {
    .nav-drawer-header { display: none; }
}

/* Global: .mobile-menu-toggle color:white */
html[data-theme="light"] .mobile-menu-toggle {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.06);
}
html[data-theme="light"] .mobile-menu-toggle:active {
    background: rgba(15, 23, 42, 0.12);
}

/* Light mode: drawer stays dark (intentional, same as dark nav pattern) */
@media (max-width: 768px) {
    html[data-theme="light"] .nav-menu {
        background: linear-gradient(160deg, rgba(15,23,42,0.99) 0%, rgba(17,24,39,1) 100%);
    }
}

/* Cars page: form-group focus state background */
html[data-theme="light"] .form-group input:focus,
html[data-theme="light"] .form-group select:focus {
    background: #ffffff;
    border-color: var(--primary);
}

/* Checkbox group for market days */
.checkbox-group {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 0.75rem;
    background: rgba(255, 255, 255, 0.05);
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.checkbox-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    padding: 0.4rem 0.75rem;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 8px;
    transition: var(--transition);
}

.checkbox-label:hover {
    background: rgba(255, 255, 255, 0.08);
    color: white;
}

.checkbox-label input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--primary-color);
    cursor: pointer;
}

.checkbox-label:has(input:checked) {
    background: rgba(37, 99, 235, 0.15);
    border-color: rgba(37, 99, 235, 0.4);
    color: var(--primary-color);
}

html[data-theme="light"] .checkbox-group {
    background: #f8fafc;
    border-color: #e2e8f0;
}

html[data-theme="light"] .checkbox-label {
    color: #475569;
    background: #fff;
    border-color: #e2e8f0;
}

html[data-theme="light"] .checkbox-label:hover {
    background: #f1f5f9;
}

html[data-theme="light"] .checkbox-label:has(input:checked) {
    background: #eff6ff;
    border-color: #3b82f6;
    color: #2563eb;
}

.field-full {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.text-muted {
    color: var(--text-muted);
}


/* ===================== ADMIN LIGHT THEME ===================== */
html[data-theme="light"] body.admin-body {
    background: #f1f5f9;
    color: #1e293b;
}

html[data-theme="light"] body.admin-body main.container::before,
html[data-theme="light"] body.admin-body main.container::after {
    display: none;
}

html[data-theme="light"] .admin-nav {
    background: #ffffff;
    border-right: 1px solid #e2e8f0;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05);
}

html[data-theme="light"] .admin-brand-row {
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.05), rgba(16, 185, 129, 0.03)) !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important;
}

html[data-theme="light"] .admin-nav .admin-brand-toggle {
    background: rgba(15, 23, 42, 0.04) !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    color: #475569 !important;
}

html[data-theme="light"] .admin-nav .admin-brand-toggle:hover {
    background: rgba(15, 23, 42, 0.08) !important;
    color: #0f172a !important;
}

html[data-theme="light"] .admin-nav .nav-brand {
    background: transparent;
    border: none;
}

html[data-theme="light"] .admin-nav .nav-brand i {
    color: #3b82f6;
    text-shadow: none;
}

html[data-theme="light"] .admin-nav .nav-divider {
    background: #e2e8f0;
}

html[data-theme="light"] .admin-nav a,
html[data-theme="light"] .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) {
    color: #475569;
}

html[data-theme="light"] .admin-nav a i,
html[data-theme="light"] .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle) i {
    color: #64748b;
}

html[data-theme="light"] .admin-nav a:hover,
html[data-theme="light"] .admin-nav button:not(.admin-theme-toggle):not(.admin-brand-toggle):hover {
    background: #f1f5f9;
    color: #0f172a;
}

html[data-theme="light"] .admin-nav a.active {
    background: #eff6ff;
    color: #2563eb;
    border: 1px solid #bfdbfe;
    box-shadow: none;
}

html[data-theme="light"] .admin-nav a.active i {
    color: #2563eb;
    text-shadow: none;
}

html[data-theme="light"] .admin-content h2,
html[data-theme="light"] .admin-content h3 {
    color: #0f172a;
    text-shadow: none;
}

html[data-theme="light"] .admin-content h2 i,
html[data-theme="light"] .admin-content h3 i {
    color: #3b82f6;
    text-shadow: none;
}

html[data-theme="light"] .admin-content .form input[type="text"],
html[data-theme="light"] .admin-content .form input[type="number"],
html[data-theme="light"] .admin-content .form input[type="password"],
html[data-theme="light"] .admin-content .form textarea,
html[data-theme="light"] .admin-content .form select {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #1e293b;
}

html[data-theme="light"] .admin-content .form input:focus,
html[data-theme="light"] .admin-content .form textarea:focus,
html[data-theme="light"] .admin-content .form select:focus {
    border-color: #3b82f6;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}

html[data-theme="light"] .admin-content .table th {
    background: #f1f5f9;
    color: #334155;
    border-bottom: 1px solid #e2e8f0;
}

html[data-theme="light"] .admin-content .table td {
    color: #475569;
    border-bottom: 1px solid #f1f5f9;
}

html[data-theme="light"] .admin-content .table tr:hover td {
    background: #f8fafc;
}

html[data-theme="light"] .admin-content .table strong {
    color: #0f172a;
}



/* ===================== ADMIN HEADER ===================== */
.admin-top-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .admin-top-header {
    border-bottom: 1px solid #e2e8f0;
}

.admin-header-left {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.admin-page-title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 800;
    color: #f8fafc;
}

html[data-theme="light"] .admin-page-title {
    color: #0f172a;
}

.admin-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: rgba(255, 255, 255, 0.6);
}

html[data-theme="light"] .admin-breadcrumbs {
    color: #64748b;
}

.admin-breadcrumbs a {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    transition: var(--transition);
}

html[data-theme="light"] .admin-breadcrumbs a {
    color: #3b82f6;
}

.admin-breadcrumbs a:hover {
    color: var(--primary);
}

.admin-breadcrumbs i {
    font-size: 0.7rem;
    opacity: 0.5;
}

.admin-header-right {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.admin-profile-dropdown {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    color: white;
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
}

html[data-theme="light"] .admin-profile-dropdown {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    color: #1e293b;
}

.admin-profile-dropdown i {
    font-size: 1.2rem;
    color: var(--primary);
}



/* ===================== ADMIN PILL TABS ===================== */
.admin-pill-tabs {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
    background: rgba(255, 255, 255, 0.05);
    padding: 0.35rem;
    border-radius: 12px;
    width: max-content;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

html[data-theme="light"] .admin-pill-tabs {
    background: #f8fafc;
    border-color: #e2e8f0;
}

.admin-pill-tabs a {
    padding: 0.5rem 1.25rem;
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: var(--transition);
}

html[data-theme="light"] .admin-pill-tabs a {
    color: #64748b;
}

.admin-pill-tabs a:hover {
    color: rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .admin-pill-tabs a:hover {
    color: #1e293b;
}

.admin-pill-tabs a.active,
html[data-theme="light"] .admin-pill-tabs a.active {
    background: var(--primary);
    color: white !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
}

/* ===================== ADMIN TOP HEADER REFINEMENT ===================== */
.admin-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.admin-header-right .admin-theme-toggle {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    margin: 0;
    display: inline-grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: var(--text-main);
    transition: var(--transition);
    cursor: pointer;
}

html[data-theme="light"] .admin-header-right .admin-theme-toggle {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #475569;
}

.admin-header-right .admin-theme-toggle:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(37, 99, 235, 0.35);
    color: var(--primary);
}

html[data-theme="light"] .admin-header-right .admin-theme-toggle:hover {
    background: #e2e8f0;
    color: var(--primary);
}

/* Admin Notification Bell */
.admin-notification-bell {
    position: relative;
    width: 38px;
    height: 38px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    margin-right: 0.5rem;
}

.admin-notification-bell i {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.7);
    transition: color 0.2s ease, transform 0.2s ease;
}

.admin-notification-bell:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(56, 189, 248, 0.35);
    transform: translateY(-1px);
}

.admin-notification-bell:hover i {
    color: #38bdf8;
    transform: scale(1.1);
}

.bell-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
    color: white;
    font-size: 10px;
    font-weight: 800;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #0f172a;
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
    animation: bellPulse 2s infinite;
}

@keyframes bellPulse {
    0%, 100% { transform: scale(1); box-shadow: 0 0 8px rgba(239, 68, 68, 0.4); }
    50% { transform: scale(1.12); box-shadow: 0 0 14px rgba(239, 68, 68, 0.75); }
}

html[data-theme="light"] .admin-notification-bell {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #64748b;
}

html[data-theme="light"] .admin-notification-bell i {
    color: #64748b;
}

html[data-theme="light"] .admin-notification-bell:hover {
    background: #e2e8f0;
    border-color: rgba(37, 99, 235, 0.3);
}

html[data-theme="light"] .admin-notification-bell:hover i {
    color: #2563eb;
}

html[data-theme="light"] .bell-badge {
    border-color: #ffffff;
}

/* ===================== PROFILE DROPDOWN POPUP ===================== */
.admin-profile-menu-container {
    position: relative;
}

.admin-profile-trigger {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 1.1rem;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    color: var(--text-white, #ffffff);
    font-weight: 600;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition);
}

html[data-theme="light"] .admin-profile-trigger {
    background: #f1f5f9;
    border-color: #e2e8f0;
    color: #1e293b;
}

.admin-profile-trigger:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: var(--primary);
}

html[data-theme="light"] .admin-profile-trigger:hover {
    background: #e2e8f0;
    border-color: var(--primary);
}

.admin-profile-trigger i.fa-user-circle {
    font-size: 1.25rem;
    color: var(--primary);
}

.admin-profile-trigger i.fa-chevron-down {
    font-size: 0.75rem;
    opacity: 0.7;
    transition: transform 0.3s ease;
}

.admin-profile-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 240px;
    background: rgba(15, 23, 42, 0.95);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    padding: 0.75rem;
    z-index: 999;
    display: none;
    animation: dropdownFadeIn 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

html[data-theme="light"] .admin-profile-dropdown-menu {
    background: rgba(255, 255, 255, 0.98);
    border-color: rgba(15, 23, 42, 0.08);
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.admin-profile-dropdown-menu.show {
    display: block;
}

@keyframes dropdownFadeIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dropdown-user-details {
    padding: 0.5rem 0.75rem;
    display: flex;
    flex-direction: column;
}

.dropdown-user-details .user-role {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary);
    font-weight: 800;
}

.dropdown-user-details .user-name {
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-white, #ffffff);
    margin-top: 0.15rem;
}

html[data-theme="light"] .dropdown-user-details .user-name {
    color: #0f172a;
}

.dropdown-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 0.5rem 0;
}

html[data-theme="light"] .dropdown-divider {
    background: #e2e8f0;
}

.admin-profile-dropdown-menu .dropdown-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.6rem 0.75rem;
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    border-radius: 10px;
    font-size: 0.85rem;
    font-weight: 600;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    transition: var(--transition);
}

html[data-theme="light"] .admin-profile-dropdown-menu .dropdown-item {
    color: #475569;
}

.admin-profile-dropdown-menu .dropdown-item:hover {
    background: rgba(255, 255, 255, 0.05);
    color: var(--text-white, #ffffff);
}

html[data-theme="light"] .admin-profile-dropdown-menu .dropdown-item:hover {
    background: #f1f5f9;
    color: #0f172a;
}

.admin-profile-dropdown-menu .dropdown-item.logout-btn {
    color: #f87171;
}

.admin-profile-dropdown-menu .dropdown-item.logout-btn:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #f87171;
}

/* ===================== ADMIN PAGE HEAD REALIGNMENT ===================== */
.admin-page-head {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0.5rem 0 1.5rem 0;
}

html[data-theme="light"] .admin-page-head {
    background: transparent;
    border: none;
    box-shadow: none;
}

.admin-page-head h2 {
    display: none !important;
}

.dt-moved-add-btn {
    position: relative !important;
    bottom: auto !important;
    right: auto !important;
    z-index: 10 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 12px !important;
    padding: 0 1.25rem !important;
    margin: 0 !important;
    font-size: 0.95rem;
    font-weight: 600;
    gap: 0.5rem;
    transition: transform 0.2s, background-color 0.2s !important;
}

.dt-moved-add-btn i {
    font-size: 1rem;
}

/* ===================== PROFILE PAGE STYLES ===================== */
.profile-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

@media (max-width: 900px) {
    .profile-grid {
        grid-template-columns: 1fr;
    }
}

.profile-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 1.5rem;
}

html[data-theme="light"] .profile-card {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.08);
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.profile-card h3 {
    margin-top: 0;
    margin-bottom: 1.25rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--text-white, #ffffff);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 0.75rem;
}

html[data-theme="light"] .profile-card h3 {
    color: #0f172a;
    border-bottom-color: #e2e8f0;
}

.profile-details-list {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
}

.profile-detail-item {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.profile-detail-item .detail-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--text-muted);
}

.profile-detail-item .detail-value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text-white, #ffffff);
}

html[data-theme="light"] .profile-detail-item .detail-value {
    color: #0f172a;
}

/* ===================== PREMIUM CUSTOM CHECKBOX ===================== */
input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.22);
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.04);
    display: inline-grid;
    place-items: center;
    position: relative;
    cursor: pointer;
    transition: var(--transition);
    vertical-align: middle;
}

html[data-theme="light"] input[type="checkbox"] {
    border-color: #cbd5e1;
    background: #ffffff;
}

input[type="checkbox"]:hover {
    border-color: var(--primary);
    background: rgba(37, 99, 235, 0.05);
}

html[data-theme="light"] input[type="checkbox"]:hover {
    background: #f1f5f9;
}

input[type="checkbox"]:checked {
    background: var(--primary);
    border-color: var(--primary);
}

input[type="checkbox"]:checked::after {
    content: "\f00c";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    color: white;
    font-size: 0.75rem;
    position: absolute;
}

/* Sleek, Premium DataTables Styling Integration */
.dataTables_wrapper {
    padding: 1.5rem;
    background: var(--card-bg, rgba(30, 41, 59, 0.7));
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid var(--card-border, rgba(255, 255, 255, 0.08));
    border-radius: 16px;
    
    /* Ultimate CSS Grid for responsive controls */
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 1.5rem;
}

html[data-theme="light"] .dataTables_wrapper {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.06);
}

/* Position Grid Children cleanly */
.dataTables_length {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    margin-bottom: 0 !important;
    color: var(--text-secondary, #94a3b8) !important;
    font-size: 0.9rem;
    font-weight: 500;
}

.dataTables_filter {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    margin-bottom: 0 !important;
    color: var(--text-secondary, #94a3b8) !important;
    font-size: 0.9rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* The Table spans both columns of the grid */
.dataTables_wrapper table.dataTable,
.dataTables_wrapper .table-scroll-wrap,
.table-responsive {
    grid-column: 1 / -1;
    grid-row: 2;
    width: 100% !important;
    min-width: 0; /* allow the scroll wrapper to shrink so the table scrolls internally */
}

.dataTables_info {
    grid-column: 1;
    grid-row: 3;
    justify-self: start;
    margin-top: 0 !important;
}

.dataTables_paginate {
    grid-column: 2;
    grid-row: 3;
    justify-self: end;
    margin-top: 0 !important;
}

/* Responsive Overrides for Mobile & Tablet */
@media (max-width: 768px) {
    .dataTables_wrapper {
        grid-template-columns: 1fr;
        gap: 1.2rem;
        padding: 1rem;
    }
    
    .dataTables_length,
    .dataTables_filter,
    .dataTables_info,
    .dataTables_paginate {
        grid-column: 1;
        justify-self: center;
        text-align: center;
        width: 100%;
    }
    
    .dataTables_length {
        grid-row: 1;
    }
    
    .dataTables_filter {
        grid-row: 2;
    }
    
    .dataTables_wrapper table.dataTable,
    .dataTables_wrapper .table-scroll-wrap,
    .table-responsive {
        grid-row: 3;
    }

    .dataTables_info {
        grid-row: 4;
    }
    
    .dataTables_paginate {
        grid-row: 5;
    }
    
    .dataTables_filter input {
        width: 100% !important;
        margin-left: 0 !important;
        margin-top: 0.5rem;
    }
    
    /* Make table horizontally scrollable in responsive mode */
    .dataTables_wrapper table.dataTable {
        display: block;
        width: 100% !important;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        border-radius: 12px;
    }
}

.dataTables_length select {
    background: var(--input-bg, rgba(15, 23, 42, 0.6)) !important;
    border: 1px solid var(--input-border, rgba(255, 255, 255, 0.15)) !important;
    color: var(--text-primary, #f8fafc) !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    outline: none !important;
    margin: 0 6px !important;
    transition: all 0.2s ease;
}

html[data-theme="light"] .dataTables_length select {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.dataTables_length select:focus {
    border-color: var(--primary, #2563eb) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}

.dataTables_filter input,
.dt-custom-select {
    background: var(--input-bg, rgba(15, 23, 42, 0.6)) !important;
    border: 1px solid var(--input-border, rgba(255, 255, 255, 0.15)) !important;
    color: var(--text-primary, #f8fafc) !important;
    padding: 8px 16px !important;
    border-radius: 10px !important;
    outline: none !important;
    margin-left: 10px !important;
    margin-top: 0 !important;
    width: 200px !important;
    height: 40px !important; /* to match buttons */
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Custom select needs specific appearance tuning */
.dt-custom-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: calc(100% - 12px) center !important;
    padding-right: 32px !important;
}

html[data-theme="light"] .dataTables_filter input,
html[data-theme="light"] .dt-custom-select {
    background-color: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}

.dataTables_filter input:focus,
.dt-custom-select:focus {
    border-color: var(--primary, #2563eb) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15) !important;
}
.dataTables_filter input:focus {
    width: 250px !important;
}

.dataTables_info {
    margin-top: 1.5rem;
    color: var(--text-secondary, #94a3b8) !important;
    font-size: 0.85rem;
    font-weight: 500;
}

.dataTables_paginate {
    margin-top: 1.5rem;
    padding-top: 0.5rem;
}

.dataTables_paginate .paginate_button {
    background: var(--card-bg, rgba(30, 41, 59, 0.4)) !important;
    border: 1px solid var(--card-border, rgba(255, 255, 255, 0.08)) !important;
    color: var(--text-secondary, #94a3b8) !important;
    padding: 0 1rem !important;
    margin: 0 4px !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    font-size: 0.95rem !important;
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s !important;
    cursor: pointer !important;
}

html[data-theme="light"] .dataTables_paginate .paginate_button {
    background: #f1f5f9 !important;
    border-color: #e2e8f0 !important;
    color: #475569 !important;
}

.dataTables_paginate .paginate_button:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: white !important;
}

.dataTables_paginate .paginate_button.current{
	background: var(--primary) !important;
	border-color: var(--primary) !important;
	color: #ffffff !important;
}
.dataTables_paginate .paginate_button.current:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}
.dataTables_paginate .paginate_button:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #ffffff !important;
}

.dataTables_paginate .paginate_button.disabled, 
.dataTables_paginate .paginate_button.disabled:hover {
    background: rgba(255, 255, 255, 0.02) !important;
    border-color: rgba(255, 255, 255, 0.04) !important;
    color: rgba(255, 255, 255, 0.2) !important;
    cursor: not-allowed !important;
    transform: none !important;
    box-shadow: none !important;
}

html[data-theme="light"] .dataTables_paginate .paginate_button.disabled,
html[data-theme="light"] .dataTables_paginate .paginate_button.disabled:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #94a3b8 !important;
}

/* Custom chevron icons for sorting */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    background-image: none !important;
    position: relative;
    padding-right: 30px !important;
}

table.dataTable thead th.sorting::after,
table.dataTable thead th.sorting_asc::after,
table.dataTable thead th.sorting_desc::after {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 0.75rem;
    opacity: 0.4;
    transition: all 0.2s ease;
}

table.dataTable thead th.sorting::after {
    content: "\f0dc";
}

table.dataTable thead th.sorting_asc::after {
    content: "\f0de";
    opacity: 1;
    color: var(--primary, #2563eb);
}

table.dataTable thead th.sorting_desc::after {
    content: "\f0dd";
    opacity: 1;
    color: var(--primary, #2563eb);
}

table.dataTable thead>tr>th.sorting::before{
	top:calc(50% - 8px) !important;
}
table.dataTable thead>tr>th.sorting:after{
	top:calc(50% + 4px) !important;
}

/* Complaints/Error Reports specific status badge styling */
.status-badge.status-new { background: rgba(59, 130, 246, 0.15); color: #60a5fa; }
.status-badge.status-in_progress { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.status-badge.status-resolved { background: rgba(16, 185, 129, 0.15); color: #34d399; }
.status-badge.status-closed { background: rgba(107, 114, 128, 0.15); color: #9ca3af; }

html[data-theme="light"] .status-badge.status-new { background: rgba(37, 99, 235, 0.1); color: #2563eb; }
html[data-theme="light"] .status-badge.status-in_progress { background: rgba(217, 119, 6, 0.1); color: #d97706; }
html[data-theme="light"] .status-badge.status-resolved { background: rgba(5, 150, 105, 0.1); color: #059669; }
html[data-theme="light"] .status-badge.status-closed { background: rgba(75, 85, 99, 0.1); color: #4b5563; }

/* Toast Notifications Container */
.toast-container {
    position: fixed;
    top: 24px;
    right: 24px;
    z-index: 100000;
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-width: 380px;
    width: calc(100% - 48px);
    pointer-events: none;
}

/* Toast Card */
.toast-card {
    position: relative;
    padding: 16px 20px;
    padding-right: 48px;
    border-radius: 16px;
    font-size: 0.925rem;
    font-weight: 600;
    line-height: 1.5;
    color: #ffffff;
    pointer-events: auto;
    
    /* Premium Glassmorphism */
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.4), 0 8px 16px -6px rgba(0, 0, 0, 0.3);
    
    /* Animation initial state */
    transform: translateX(120%);
    opacity: 0;
    transition: all 0.45s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    
    display: flex;
    align-items: center;
    gap: 14px;
}

.toast-card.show {
    transform: translateX(0);
    opacity: 1;
}

.toast-card.hide {
    transform: translateX(120%);
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

/* Icons */
.toast-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
}

/* Types styling */
.toast-success {
    border-left: 4px solid #10b981;
}
.toast-success .toast-icon {
    color: #10b981;
}

.toast-error {
    border-left: 4px solid #ef4444;
}
.toast-error .toast-icon {
    color: #ef4444;
}

.toast-warning {
    border-left: 4px solid #f59e0b;
}
.toast-warning .toast-icon {
    color: #f59e0b;
}

.toast-info {
    border-left: 4px solid #2563eb;
}
.toast-info .toast-icon {
    color: #2563eb;
}

/* Close Button */
.toast-close {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.4);
    cursor: pointer;
    font-size: 0.95rem;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    border-radius: 8px;
}
.toast-close:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, 0.08);
}

/* Light mode adjustments */
html[data-theme="light"] .toast-card {
    background: rgba(255, 255, 255, 0.96);
    color: #1e293b;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.15), 0 8px 16px -6px rgba(0, 0, 0, 0.1);
}
html[data-theme="light"] .toast-close {
    color: rgba(30, 41, 59, 0.4);
}
html[data-theme="light"] .toast-close:hover {
    color: #1e293b;
    background: rgba(0, 0, 0, 0.05);
}

/* ===================== FIXED & COMPACT HEADER OVERRIDES ===================== */

/* Admin Header Overrides */
.admin-top-header {
    position: fixed !important;
    top: 0 !important;
    left: 260px !important;
    right: 0 !important;
    height: 60px !important;
    padding: 0 2.5rem !important;
    margin-bottom: 0 !important;
    background: rgba(15, 23, 42, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    z-index: 99 !important;
}

html[data-theme="light"] .admin-top-header {
    background: rgba(255, 255, 255, 0.95) !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

/* Clear content from sliding under fixed header */
.admin-content {
    padding-top: 85px !important;
}

/* When admin sidebar is collapsed */
body.admin-sidebar-collapsed .admin-top-header {
    left: var(--admin-nav-collapsed-width, 86px) !important;
}

/* Mobile responsive admin header */
@media (max-width: 768px) {
    .admin-top-header {
        left: 0 !important;
        padding-top: env(safe-area-inset-top, 0px) !important;
        padding-left: 60px !important; /* Space for sidebar toggle button */
        padding-right: 0.8rem !important;
        height: calc(65px + env(safe-area-inset-top, 0px)) !important;
        gap: 0.5rem !important;
        box-shadow: 0 4px 20px -2px rgba(0, 0, 0, 0.15) !important;
    }
    
    html[data-theme="light"] .admin-top-header {
        background: rgba(255, 255, 255, 0.95) !important;
        box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08) !important;
    }
    
    .admin-sidebar-toggle {
        top: calc(12px + env(safe-area-inset-top, 0px)) !important;
        left: 10px !important;
        z-index: 150 !important;
    }
    
    .admin-content {
        padding-top: calc(85px + env(safe-area-inset-top, 0px)) !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }

    .admin-breadcrumbs {
        display: none !important;
    }

    .admin-page-title {
        font-size: 1.05rem !important;
        max-width: 140px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .admin-profile-dropdown {
        padding: 0.45rem !important;
        border-radius: 50% !important;
        width: 36px !important;
        height: 36px !important;
        justify-content: center !important;
        gap: 0 !important;
    }

    .admin-profile-dropdown span {
        display: none !important;
    }

    .admin-profile-dropdown i {
        margin: 0 !important;
        font-size: 1.05rem !important;
    }
}

/* User Header Overrides */
.main-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 64px !important;
    z-index: 1000 !important;
}

body .header-content {
    min-height: 64px !important;
}

@media (max-width: 992px) {
    body .main-header {
        height: 56px !important;
    }
    body .header-content {
        min-height: 56px !important;
    }
}

@media (max-width: 520px) {
    body .main-header {
        height: 56px !important;
    }
    body .header-content {
        min-height: 56px !important;
    }
}

/* Admin Login Remember Me */
.admin-remember-me-container {
    margin: 1rem 0 1.5rem !important;
    display: flex !important;
    align-items: center !important;
}

.admin-remember-me {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    color: #94a3b8 !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    user-select: none !important;
}

.admin-remember-me input[type="checkbox"] {
    display: none !important;
}

.admin-remember-me .box {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    border: 2px solid rgba(125,211,252,0.45) !important;
    border-radius: 6px !important;
    position: relative !important;
    transition: all 0.2s !important;
    background: rgba(15,23,42,0.22) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.admin-remember-me:hover .box {
    border-color: var(--primary) !important;
    background: rgba(79,70,229,0.1) !important;
}

html[data-theme="light"] .admin-remember-me {
    color: #475569 !important;
}

html[data-theme="light"] .admin-remember-me .box {
    background: #ffffff !important;
    border-color: rgba(37,99,235,0.45) !important;
    box-shadow: 0 2px 8px rgba(15,23,42,0.08) !important;
}

.admin-remember-me input:checked + .box {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

.admin-remember-me input:checked + .box::after {
    content: "\f00c" !important;
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    color: white !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    font-size: 0.7rem !important;
}

/* ===================== NOTIFICATIONS PAGE ADAPTIVE STYLING ===================== */
.admin-desc {
    color: rgba(226, 232, 240, 0.65);
}
html[data-theme="light"] .admin-desc {
    color: #475569;
}

.admin-detail-empty .empty-icon-wrap {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.03);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, 0.06);
}
html[data-theme="light"] .admin-detail-empty .empty-icon-wrap {
    background: rgba(15, 23, 42, 0.03);
    border-color: rgba(15, 23, 42, 0.06);
}

.admin-detail-empty .empty-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
}
html[data-theme="light"] .admin-detail-empty .empty-title {
    color: #0f172a;
}

.admin-detail-empty .empty-text {
    color: rgba(255, 255, 255, 0.45);
}
html[data-theme="light"] .admin-detail-empty .empty-text {
    color: #64748b;
}

/* Notifications Table Styling */
.admin-notifications-table .td-user-name,
.admin-notifications-table .td-car-plate,
.admin-notifications-table .td-days {
    font-weight: 700;
    color: #ffffff;
}
html[data-theme="light"] .admin-notifications-table .td-user-name,
html[data-theme="light"] .admin-notifications-table .td-car-plate,
html[data-theme="light"] .admin-notifications-table .td-days {
    color: #0f172a;
}

.admin-notifications-table .td-user-phone,
.admin-notifications-table .td-place-info,
.admin-notifications-table .td-dates,
.admin-notifications-table .td-date {
    color: rgba(255, 255, 255, 0.5);
}
html[data-theme="light"] .admin-notifications-table .td-user-phone,
html[data-theme="light"] .admin-notifications-table .td-place-info,
html[data-theme="light"] .admin-notifications-table .td-dates,
html[data-theme="light"] .admin-notifications-table .td-date {
    color: #64748b;
}

/* ===================== USER HEADER RESPONSIVE FIXES ===================== */
@media (max-width: 480px) {
    body .logo {
        font-size: 1.15rem !important;
        gap: 0.35rem !important;
    }
    body .logo i {
        font-size: 1.25rem !important;
    }
    body .header-actions {
        gap: 0.4rem !important;
    }
    body .mobile-menu-toggle,
    body .theme-toggle {
        width: 36px !important;
        height: 36px !important;
        flex: 0 0 36px !important;
        font-size: 1.1rem !important;
        border-radius: 10px !important;
    }
}

@media (max-width: 360px) {
    body .logo span span {
        display: none !important; /* Kichik telefonlarda 'Bozor' so'zini yashirib faqat 'Moshina'ni qoldirish orqali sig'ishni ta'minlaydi */
    }
    body .logo {
        font-size: 1.1rem !important;
    }
    body .logo i {
        font-size: 1.15rem !important;
    }
    body .container {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }
    body .header-actions {
        gap: 0.25rem !important;
    }
    body .mobile-menu-toggle,
    body .theme-toggle {
        width: 32px !important;
        height: 32px !important;
        flex: 0 0 32px !important;
        font-size: 1rem !important;
        border-radius: 8px !important;
    }
}

/* ─── Payment method brand badges (shared) ─── */
.pm-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 11px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}
.pm-badge .pm-logo {
    display: inline-block;
    width: 16px;
    height: 16px;
    border-radius: 4px;
    vertical-align: middle;
    flex-shrink: 0;
}
.pm-badge .pm-name { display: inline-block; }
.pm-unknown { background: rgba(148, 163, 184, 0.15); color: #94a3b8; }

/* Brand-aligned tints: Payme = teal, Click = blue, Naqd = amber, Bepul = green (dark theme defaults) */
.pm-cash   { background: rgba(245, 158, 11, 0.15); color: #fbbf24; }
.pm-payme  { background: rgba(0, 206, 196, 0.16);  color: #2dd4cf; }
.pm-click  { background: rgba(0, 152, 218, 0.18);  color: #38bdf8; }
.pm-free   { background: rgba(74, 222, 128, 0.15); color: #4ade80; }
.pm-paynet { background: rgba(22, 163, 74, 0.15);  color: #4ade80; }
.pm-uzum   { background: rgba(112, 0, 255, 0.16);  color: #a78bfa; }

html[data-theme="light"] .pm-cash   { background: rgba(245, 158, 11, 0.10); color: #b45309; }
html[data-theme="light"] .pm-payme  { background: rgba(0, 206, 196, 0.10);  color: #0a8d87; }
html[data-theme="light"] .pm-click  { background: rgba(0, 152, 218, 0.10);  color: #0079b3; }
html[data-theme="light"] .pm-free   { background: rgba(22, 163, 74, 0.10);  color: #15803d; }
html[data-theme="light"] .pm-paynet { background: rgba(22, 163, 74, 0.10);  color: #15803d; }
html[data-theme="light"] .pm-uzum   { background: rgba(112, 0, 255, 0.10);  color: #6d28d9; }

/* Hub tab tugmalari — Tizim menyusidagi bir necha sahifa bitta sahifaga (tab) birlashtirilgan
   holatlar uchun umumiy stil (Adminlar, Shikoyatlar, Shlagbaunlar hub'lari). */
.hub-tabs { display: flex; gap: 8px; margin-bottom: 20px; flex-wrap: wrap; }
.hub-tab-btn {
    background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); color: var(--text-secondary, #94a3b8);
    padding: 10px 18px; border-radius: 10px; font-weight: 600; font-size: 14px; cursor: pointer;
    display: inline-flex; align-items: center; gap: 8px; transition: all .15s;
}
.hub-tab-btn:hover { background: rgba(255,255,255,0.08); }
.hub-tab-btn.active { background: #3b82f6; color: #fff; border-color: #3b82f6; box-shadow: 0 4px 14px rgba(59,130,246,0.3); }
html[data-theme="light"] .hub-tab-btn { background: #f1f5f9; color: #475569; border-color: rgba(15,23,42,0.1); }
html[data-theme="light"] .hub-tab-btn.active { background: #3b82f6; color: #fff; }

/* ============================================================
   MA'LUMOT ZICHLIGI (desktop ≥992px) — ekranga ko'proq ma'lumot sig'sin.
   Zoom o'rniga: matn o'qilarli o'lchamda qoladi, faqat ortiqcha bo'shliq/padding
   zichlashadi (jadvalda ko'proq qator, konteyner kengroq). Mobil tegilmaydi.
   Zichlikni yumshatish: pastdagi qiymatlarni oshiring. */
@media (min-width: 992px) {
    /* Kontent maydoni: yon bo'shliqni kamaytirib, kengroq joy beramiz */
    .admin-content {
        padding: 1.25rem 1.5rem;
    }
    .admin-content h2 {
        font-size: 1.4rem;
        margin-bottom: 1rem;
    }
    .admin-page-head {
        margin-bottom: 1rem;
    }

    /* Jadvallar: kataklarni zichlashtirish — ko'proq qator ko'rinadi */
    .admin-content .table th {
        padding: 0.5rem 0.7rem;
        font-size: 0.78rem;
    }
    .admin-content .table td {
        padding: 0.45rem 0.7rem;
        font-size: 0.85rem;
    }

    /* DataTables boshqaruvlari (qidiruv/sahifalash/info) ham zichroq */
    .admin-content .dataTables_wrapper .dataTables_filter,
    .admin-content .dataTables_wrapper .dataTables_length,
    .admin-content .dataTables_wrapper .dataTables_info,
    .admin-content .dataTables_wrapper .dataTables_paginate {
        margin: 0.4rem 0;
        font-size: 0.85rem;
    }
}

/* ═══════════════════════════════════════════════════════════════
   MARKETPLACE & LISTINGS PORTAL COMPREHENSIVE STYLES
   ═══════════════════════════════════════════════════════════════ */

/* Layout & Grid */
.marketplace-page {
    width: 100vw;
    margin-left: calc((100% - 100vw) / 2);
    margin-right: 0;
    padding: .8rem .8rem 2rem;
}
.market-hero-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.25rem 1.5rem;
    border-radius: 20px;
    margin-bottom: 1rem;
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.85), rgba(15, 23, 42, 0.95));
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.market-hero-content { display:flex; align-items:center; min-height:44px; }
[data-theme="light"] .market-hero-banner {
    background: linear-gradient(135deg, #ffffff, #f1f5f9);
    border: 1px solid rgba(0, 0, 0, 0.08);
}
.market-title {
    font-size: 1.55rem;
    font-weight: 800;
    margin: 0;
    color: var(--text-color, #f8fafc);
}
.market-subtitle {
    color: var(--text-secondary, #94a3b8);
    font-size: 0.95rem;
    margin: 0;
}
.market-hero-actions {
    display: flex;
    gap: 0.8rem;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.marketplace-grid-layout {
    display: flex;
    flex-direction: column;
    gap: .8rem;
}
@media (max-width: 900px) {
    .marketplace-page { width:100vw; margin-left:calc((100% - 100vw) / 2); margin-right:0; padding-left:.55rem; padding-right:.55rem; }
    .market-hero-banner { gap: .8rem; }
    .market-hero-actions { width:100%; justify-content:flex-start; }
}

/* Sidebar Filters */
.filters-sidebar {
    padding: .9rem 1rem;
    border-radius: 18px;
    position: relative;
    width: 100%;
}
.filters-sidebar form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
    align-items: end;
}
.filters-sidebar .listing-extra-filter { display:block; }
.filters-sidebar form > .listing-search-only { flex:initial; }
.filter-actions { display:flex; align-items:end; gap:.75rem; flex:0 0 auto; }
.filter-actions { grid-column:1 / -1; }
.listing-sort-inline { flex:0 1 230px; min-width:180px; }
.listing-sort-inline label { display:block; margin-bottom:.45rem; font-size:.82rem; font-weight:700; color:var(--text-secondary,#94a3b8); }
.listing-sort-inline select { width:100%; min-height:44px; border-radius:10px; padding:.65rem .8rem; }
.filter-range { display:flex; gap:.4rem; }
.filter-range input { min-width:0; }
.filter-actions > .btn-primary { flex:0 1 180px; }
.filters-sidebar .filter-group { margin: 0; }
.filters-sidebar .sidebar-header { grid-column: 1 / -1; }
.filters-sidebar form > .filter-group:first-child { grid-column: span 2; }
.filters-sidebar form > button,
.filters-sidebar form > .btn-primary { min-height: 44px; }
@media (max-width: 900px) {
    .filters-sidebar form { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
    .filters-sidebar form { display:grid; grid-template-columns:1fr; }
    .filters-sidebar .filter-actions { margin-top:.75rem; }
}
.sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: .7rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.sidebar-header h3 {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0;
}
.filtersIcon { display:inline-flex; vertical-align:middle; color:#38bdf8; margin-right:.35rem; }
.filtersIcon svg { display:block; }
.filter-reset-link {
    color: #38bdf8;
    font-size: 0.85rem;
    text-decoration: none;
    font-weight: 600;
}
.filter-group {
    margin-bottom: 1.2rem;
}
.filter-group label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--text-secondary, #94a3b8);
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.filter-group select,
.filter-group input {
    width: 100%;
    padding: 0.65rem 0.9rem;
    background: rgba(15, 23, 42, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    color: inherit;
    font-size: 0.9rem;
    outline: none;
}
[data-theme="light"] .filter-group select,
[data-theme="light"] .filter-group input {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
}
.range-inputs {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

/* Toolbar */
.listings-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 1.2rem;
    border-radius: 14px;
    margin-bottom: 1.5rem;
}
.toolbar-stats {
    font-size: 0.9rem;
    color: var(--text-secondary, #94a3b8);
}
.toolbar-sorting {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.9rem;
}
.toolbar-sorting select {
    padding: 0.45rem 0.8rem;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: inherit;
    font-size: 0.85rem;
}
[data-theme="light"] .toolbar-sorting select {
    background: #ffffff;
    border: 1px solid #cbd5e1;
}

/* Cars Modern Catalog Grid */
.cars-catalog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem;
}
.car-card-modern {
    border-radius: 18px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}
.car-card-modern:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.3);
    border-color: rgba(56, 189, 248, 0.4);
}
.card-image-wrap {
    position: relative;
    width: 100%;
    height: 180px;
    background: #090d16;
    overflow: hidden;
}
.card-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}
.car-card-modern:hover .card-image-wrap img {
    transform: scale(1.05);
}
.year-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: rgba(15, 23, 42, 0.85);
    color: #f8fafc;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    backdrop-filter: blur(4px);
}
.btn-fav {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(15, 23, 42, 0.7);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    backdrop-filter: blur(4px);
}
.btn-fav:hover,
.btn-fav.active {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
}

.card-body-content {
    padding: 1.1rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.card-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.78rem;
    color: var(--text-secondary, #94a3b8);
    margin-bottom: 0.5rem;
}
.card-car-title {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0 0 0.6rem;
    color: var(--text-color, #f8fafc);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.card-car-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    font-size: 0.8rem;
    color: var(--text-secondary, #94a3b8);
    margin-bottom: 0.9rem;
}
.card-car-specs span {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.card-price-row {
    margin-top: auto;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.price-val strong {
    font-size: 1.25rem;
    font-weight: 800;
    color: #38bdf8;
}
.price-val span {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-secondary, #94a3b8);
}
.negotiable-pill {
    font-size: 0.72rem;
    font-weight: 700;
    color: #10b981;
    background: rgba(16, 185, 129, 0.12);
    padding: 0.2rem 0.5rem;
    border-radius: 6px;
}

/* Detail Page */
.listing-detail-page {
    padding: 1.5rem 0 3.5rem;
}

/* E'lon detali mavjud ekran kengligidan foydalanadi. */
body:not(.admin-body) main.container:has(.listing-detail-page) {
    max-width: none;
    width: 100%;
    padding-left: clamp(1rem, 2vw, 2rem);
    padding-right: clamp(1rem, 2vw, 2rem);
}
.breadcrumbs-nav {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary, #94a3b8);
    margin-bottom: 1.5rem;
}
.breadcrumbs-nav a {
    color: inherit;
    text-decoration: none;
}
.breadcrumbs-nav a:hover {
    color: #38bdf8;
}
.listing-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: flex-start;
}
.listing-gallery-card {
    padding: 1rem;
    border-radius: 20px;
    margin-bottom: 1.5rem;
}
.gallery-main-viewport {
    width: 100%;
    height: 440px;
    border-radius: 14px;
    overflow: hidden;
    background: #090d16;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gallery-main-viewport img,
.gallery-main-viewport video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.gallery-thumbs-track {
    display: flex;
    gap: 0.6rem;
    margin-top: 0.8rem;
    overflow-x: auto;
    padding-bottom: 0.4rem;
}
.thumb-btn {
    width: 80px;
    height: 60px;
    border-radius: 10px;
    overflow: hidden;
    border: 2px solid transparent;
    padding: 0;
    background: #000;
    cursor: pointer;
    flex-shrink: 0;
    opacity: 0.7;
    transition: all 0.2s;
}
.thumb-btn.active,
.thumb-btn:hover {
    opacity: 1;
    border-color: #38bdf8;
}
.thumb-btn img,
.thumb-btn video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.thumb-btn { position: relative; }
.thumb-btn > .fa-play { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); color:#fff; text-shadow:0 1px 4px #000; pointer-events:none; }

.specs-bento-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin-top: 1rem;
}
.spec-bento-item {
    background: rgba(15, 23, 42, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 14px;
    padding: 0.9rem 1rem;
    display: flex;
    align-items: center;
    gap: 0.9rem;
}
[data-theme="light"] .spec-bento-item {
    background: #f8fafc;
    border-color: #e2e8f0;
}
.spec-bento-icon {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    background: rgba(56, 189, 248, 0.12);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.spec-bento-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-secondary, #94a3b8);
}
.spec-bento-val {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: var(--text-color, #f8fafc);
}

.listing-desc-card,
.listing-specs-card,
.listing-spot-card {
    padding: 1.5rem;
    border-radius: 20px;
    margin-bottom: 1.5rem;
}
.listing-gallery-card .listing-specs-card {
    padding: 1.5rem 0 0;
    margin: 1.25rem 0 0;
    border-top: 1px solid rgba(148, 163, 184, .16);
}
.section-block-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0 0 1.2rem;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: var(--text-color, #f8fafc);
}

/* Sticky Seller Sidebar */
.seller-card {
    padding: 1.8rem;
    border-radius: 20px;
}
.sticky-sidebar {
    position: sticky;
    top: 90px;
}
.header-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
.badge-active {
    font-size: 0.8rem;
    font-weight: 700;
    color: #10b981;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}
.btn-fav-round {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #94a3b8;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}
.btn-fav-round.active {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.15);
}
.listing-page-title {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0 0 0.6rem;
    line-height: 1.25;
}
.listing-price-tag {
    display: flex;
    align-items: baseline;
    gap: 0.4rem;
    margin-bottom: 1rem;
}
.listing-price-tag strong {
    font-size: 1.8rem;
    font-weight: 800;
    color: #38bdf8;
}
.listing-price-tag span {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-secondary, #94a3b8);
}
.negotiable-chip {
    font-size: 0.8rem;
    font-weight: 700;
    color: #10b981;
    background: rgba(16, 185, 129, 0.12);
    padding: 0.2rem 0.6rem;
    border-radius: 6px;
    margin-left: 0.5rem;
}
.card-divider {
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    margin: 1.2rem 0;
}
.seller-profile-box {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
}
.seller-avatar {
    font-size: 2.8rem;
    color: #38bdf8;
}
.seller-role {
    font-size: 0.75rem;
    color: var(--text-secondary, #94a3b8);
    text-transform: uppercase;
    font-weight: 700;
}
.seller-name {
    font-size: 1.1rem;
    font-weight: 700;
    margin: 0.2rem 0;
}
.seller-city {
    font-size: 0.85rem;
    color: var(--text-secondary, #94a3b8);
}
.btn-call-seller {
    width: 100%;
    padding: 0.9rem 1.2rem;
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.35);
    margin-bottom: 0.8rem;
}
.btn-telegram-contact {
    width: 100%;
    padding: 0.85rem 1.2rem;
    background: #0284c7;
    color: #fff;
    text-decoration: none;
    border-radius: 12px;
    font-size: 0.95rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    box-shadow: 0 4px 14px rgba(2, 132, 199, 0.35);
}
/* Qo'shimcha telefon raqamlari (listings.extra_phones). */
.phone-extra-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.8rem;
}
.phone-extra-list[hidden] { display: none; }
.btn-call-seller.phone-call-extra {
    background: transparent;
    color: #059669;
    border: 1.5px solid #10b981;
    box-shadow: none;
    margin-bottom: 0;
    padding: 0.7rem 1.2rem;
    font-size: 0.95rem;
    text-decoration: none;
}
.btn-call-seller.phone-call-extra:hover { background: rgba(16, 185, 129, 0.08); }
.extra-phones-inputs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
}
.field-optional { font-weight: 400; opacity: 0.7; }

/* Listing detail: compact, touch-friendly layout on phones. */
@media (max-width: 768px) {
    .listing-detail-page { padding: .65rem .75rem 5.5rem; }
    .breadcrumbs-nav { display: none; }
    .listing-main-grid { display: flex; flex-direction: column; gap: .9rem; }
    .listing-content-column, .listing-seller-sidebar { min-width: 0; }
    .listing-mobile-header { display: block; padding: .25rem .15rem; }
    .listing-desktop-header, .sticky-sidebar .card-divider:first-of-type { display: none; }
    .listing-page-title { font-size: 1.35rem; line-height: 1.2; margin-bottom: .45rem; }
    .listing-price-tag { margin-bottom: .25rem; flex-wrap: wrap; }
    .listing-price-tag strong { font-size: 1.55rem; }
    .listing-gallery-card, .listing-specs-card, .listing-desc-card, .listing-spot-card, .seller-card { border-radius: 16px; }
    .gallery-main-viewport { aspect-ratio: 4 / 3; height: auto; }
    .gallery-thumbs-track { gap: .45rem; margin-top: .6rem; }
    .thumb-btn { width: 64px; height: 48px; }
    .seller-card { padding: .9rem; }
    .sticky-sidebar { position: static; }
    .seller-profile-box { margin-bottom: .8rem; gap: .6rem; }
    .seller-avatar { font-size: 2rem; line-height: 1; }
    .seller-role { font-size: .67rem; }
    .seller-name { font-size: .98rem; margin: .12rem 0; }
    .seller-city { font-size: .76rem; }
    .seller-actions-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .phone-reveal-box, .btn-call-seller, .btn-telegram-contact, .seller-actions-wrap form, .seller-actions-wrap .btn-primary { width: 100%; margin: 0 !important; }
    .phone-reveal-box:only-child { grid-column: 1 / -1; }
    .seller-actions-wrap form,
    .seller-actions-wrap > .btn-primary { grid-column: 1 / -1; }
    .btn-call-seller, .btn-telegram-contact { min-height: 46px; padding: .7rem .45rem; font-size: .82rem; gap: .35rem; white-space: nowrap; }
    .seller-actions-wrap .btn-primary { min-height: 46px; padding: .7rem !important; }
    .phone-call-link { text-decoration: none; }
    .phone-extra-list { grid-column: 1 / -1; margin: 0; gap: .45rem; }
    .extra-phones-inputs { grid-template-columns: 1fr; }
    .specs-bento-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
    .spec-bento-item { padding: .7rem; gap: .55rem; min-width: 0; }
    .spec-bento-icon { width: 32px; height: 32px; flex: 0 0 32px; font-size: .9rem; }
    .spec-bento-label { font-size: .67rem; }
    .spec-bento-val { font-size: .8rem; overflow-wrap: anywhere; }
    .listing-desc-card, .listing-specs-card, .listing-spot-card { padding: 1rem; margin-bottom: .9rem; }
    .listing-gallery-card .listing-specs-card { padding: 1rem 0 0; margin: .9rem 0 0; }
    .section-block-title { font-size: 1.05rem; margin-bottom: .85rem; }
    .spot-location-details { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; }
    .spot-loc-item { padding: .65rem .45rem; text-align: center; }
}

@media (max-width: 380px) {
    .specs-bento-grid, .spot-location-details { grid-template-columns: 1fr; }
    .seller-actions-wrap { grid-template-columns: 1fr; }
    .seller-actions-wrap form, .seller-actions-wrap > .btn-primary { grid-column: auto; }
}

/* Fixed mobile header chat sahifalarining tepasini yopib qo'ymasligi uchun. */
@media (max-width: 768px) {
    body main.container:has(.chat-thread-wrapper),
    body main.container:has(.chat-threads-container),
    body main.container:has(.listing-detail-page) {
        padding-top: calc(56px + 1rem) !important;
    }
}

/* SweetAlert safety notice follows the active site theme. */
.listing-safety-modal {
    background: #fff !important;
    color: #172033 !important;
    border-radius: 18px !important;
}
.listing-safety-modal-title { color: #172033 !important; }
.listing-safety-modal-text { color: #475569 !important; }
html[data-theme="dark"] .listing-safety-modal {
    background: #172236 !important;
    color: #f8fafc !important;
    border: 1px solid rgba(148, 163, 184, .2) !important;
}
html[data-theme="dark"] .listing-safety-modal-title { color: #f8fafc !important; }
html[data-theme="dark"] .listing-safety-modal-text { color: #cbd5e1 !important; }

/* ==================== MY SERVICE ORDERS ==================== */
body:not(.admin-body) main.container:has(.user-orders-page) { max-width: none; width: 100%; padding-left: clamp(.65rem, 1.5vw, 1.5rem); padding-right: clamp(.65rem, 1.5vw, 1.5rem); }
.user-orders-page { max-width: none; width: 100%; margin: 0; padding: .8rem 0 3rem; }
.user-orders-page .page-top-header {
    display: flex; align-items: center; justify-content: space-between; gap: 1.25rem;
    padding: 1.6rem 1.75rem; margin-bottom: 1.25rem; border-radius: 20px;
    background: radial-gradient(circle at 92% 8%, rgba(56,189,248,.24), transparent 31%), linear-gradient(135deg, #12355a, #172236 68%);
    border: 1px solid rgba(56,189,248,.22); box-shadow: 0 16px 36px rgba(2,132,199,.16);
}
.user-orders-page .page-top-header h1 { margin: 0; color: #f8fafc; font-size: clamp(1.25rem, 2.5vw, 1.75rem); line-height: 1.25; }
.user-orders-page .page-top-header h1 i { color: #38bdf8; margin-right: .45rem; }
.user-orders-page .page-top-header p { margin: .45rem 0 0; color: #cbd5e1; font-size: .92rem; }
.user-orders-page .page-top-header .btn-primary { flex: 0 0 auto; min-height: 44px; display: inline-flex; align-items: center; gap: .45rem; text-decoration: none; border-radius: 11px; }
.flash-alert { display: flex; align-items: center; gap: .65rem; padding: .9rem 1rem; margin-bottom: 1rem; border-radius: 13px; color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; }
.orders-list-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.order-card-item { min-width: 0; padding: 1.15rem; border-radius: 17px; cursor: pointer; border: 1px solid rgba(148,163,184,.16); transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.order-card-item:hover { transform: translateY(-3px); border-color: rgba(56,189,248,.52); box-shadow: 0 16px 30px rgba(2,132,199,.13); }
.order-header-row, .order-footer-row { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.order-id-badge { display: inline-flex; align-items: center; gap: .32rem; color: var(--text-secondary, #94a3b8); font-weight: 700; font-size: .78rem; }
.status-badge { display: inline-flex; align-items: center; gap: .32rem; padding: .36rem .58rem; border-radius: 999px; font-size: .72rem; font-weight: 800; white-space: nowrap; }
.status-pending { color: #b45309; background: #fef3c7; }.status-assigned { color: #1d4ed8; background: #dbeafe; }.status-progress { color: #7e22ce; background: #f3e8ff; }.status-active { color: #047857; background: #d1fae5; }.status-rejected { color: #b91c1c; background: #fee2e2; }
.order-main-info { padding: 1.1rem 0; min-height: 125px; }
.order-service-title { margin: 0 0 .7rem; color: var(--text-color, #f8fafc); font-size: 1.12rem; line-height: 1.35; }
.order-car-info, .order-staff-info { display: flex; align-items: flex-start; gap: .5rem; margin-top: .42rem; color: var(--text-secondary, #94a3b8); font-size: .84rem; }
.order-car-info i { color: #38bdf8; width: 15px; margin-top: .14rem; }.order-staff-info i { color: #a78bfa; width: 15px; margin-top: .14rem; }
.order-staff-info strong { color: var(--text-color, #f8fafc); font-weight: 700; }
.order-footer-row { padding-top: .85rem; border-top: 1px solid rgba(148,163,184,.15); }
.order-price span { display: block; font-size: .7rem; color: var(--text-secondary, #94a3b8); }.order-price strong { color: #38bdf8; font-size: .98rem; }
.order-date { color: var(--text-secondary, #94a3b8); font-size: .76rem; white-space: nowrap; }
html[data-theme="light"] .user-orders-page .page-top-header { background: radial-gradient(circle at 92% 8%, rgba(14,165,233,.25), transparent 31%), linear-gradient(135deg, #0f4c81, #12355a 68%); }
html[data-theme="light"] .user-orders-page .page-top-header h1 { color: #fff !important; }
html[data-theme="light"] .user-orders-page .page-top-header p { color: #e0f2fe !important; }
html[data-theme="light"] .user-orders-page .page-top-header h1 i { color: #7dd3fc !important; }
html[data-theme="light"] .user-orders-page { color: #172033; }
html[data-theme="light"] .order-card-item { background: #fff; border-color: #cbd5e1; box-shadow: 0 6px 18px rgba(15,23,42,.06); }
html[data-theme="light"] .order-service-title, html[data-theme="light"] .order-staff-info strong { color: #0f172a; }
html[data-theme="light"] .order-id-badge, html[data-theme="light"] .order-car-info, html[data-theme="light"] .order-staff-info, html[data-theme="light"] .order-date, html[data-theme="light"] .order-price span { color: #475569; }
html[data-theme="light"] .order-footer-row { border-color: #dbe3ee; }
html[data-theme="dark"] .flash-alert { color: #86efac; background: rgba(16,185,129,.12); border-color: rgba(16,185,129,.28); }
html[data-theme="dark"] .user-orders-page .status-active { color: #86efac; background: rgba(16,185,129,.2); border: 1px solid rgba(110,231,183,.3); }
/* Dark mode overrides for ALL status badge variants used in admin tables and across the app */
html[data-theme="dark"] .status-active   { color: #86efac !important; background: rgba(16,185,129,.18) !important; }
html[data-theme="dark"] .status-inactive { color: #94a3b8 !important; background: rgba(107,114,128,.18) !important; }
html[data-theme="dark"] .status-pending  { color: #fbbf24 !important; background: rgba(245,158,11,.18) !important; }
html[data-theme="dark"] .status-assigned { color: #93c5fd !important; background: rgba(59,130,246,.18) !important; }
html[data-theme="dark"] .status-progress { color: #c4b5fd !important; background: rgba(139,92,246,.18) !important; }
html[data-theme="dark"] .status-rejected { color: #fca5a5 !important; background: rgba(239,68,68,.18) !important; }
html[data-theme="dark"] .status-free     { color: #86efac !important; background: rgba(16,185,129,.18) !important; }
html[data-theme="dark"] .status-reserved { color: #fbbf24 !important; background: rgba(245,158,11,.18) !important; }
html[data-theme="dark"] .status-sold     { color: #fca5a5 !important; background: rgba(239,68,68,.18) !important; }
@media (min-width: 1450px) { .orders-list-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) {
    body main.container:has(.user-orders-page) { padding-top: calc(56px + 1rem) !important; }
    body:not(.admin-body) main.container:has(.user-orders-page) { padding-left: .55rem; padding-right: .55rem; }.user-orders-page { padding: 0 0 5.25rem; }.user-orders-page .page-top-header { align-items: flex-start; flex-direction: column; padding: 1.15rem; border-radius: 16px; }.user-orders-page .page-top-header .btn-primary { width: 100%; justify-content: center; }.orders-list-grid { grid-template-columns: 1fr; gap: .75rem; }.order-card-item { padding: 1rem; border-radius: 14px; }.order-main-info { min-height: auto; padding: .85rem 0; }.order-footer-row { align-items: flex-end; }.order-date { font-size: .7rem; }
}
@media (max-width: 380px) { .order-header-row, .order-footer-row { align-items: flex-start; flex-direction: column; }.status-badge { white-space: normal; }.order-date { white-space: normal; } }

/* Profile dashboard: fixed header, screen width and theme contrast. */
body:not(.admin-body) main.container:has(.user-profile-wrapper) {
    max-width: none;
    width: 100%;
    padding-left: clamp(.65rem, 1.5vw, 1.5rem);
    padding-right: clamp(.65rem, 1.5vw, 1.5rem);
}
.user-profile-wrapper { position: relative; z-index: 1; }
.user-profile-wrapper .kpi-metrics-grid { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; }
html[data-theme="light"] .user-profile-wrapper .hero-time-greet,
html[data-theme="light"] .user-profile-wrapper .kpi-card-title { color: #334155; }
html[data-theme="light"] .user-profile-wrapper .kpi-sub,
html[data-theme="light"] .user-profile-wrapper .info-chip { color: #475569; }
@media (max-width: 768px) {
    body main.container:has(.user-profile-wrapper) { padding-top: calc(56px + 1rem) !important; padding-left: .55rem; padding-right: .55rem; }
    .user-profile-wrapper .profile-hero-card { border-radius: 18px; }
    .user-profile-wrapper .hero-chips-wrap { gap: .4rem; }
    .user-profile-wrapper .info-chip { max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 1024px) {
    .user-profile-wrapper .hero-user-details { flex-basis: 100%; }
    .user-profile-wrapper .hero-cta-group { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .user-profile-wrapper .cta-pill-btn { justify-content: center; }
}
@media (min-width: 1025px) {
    .user-profile-wrapper { gap: 18px; }
    .user-profile-wrapper .profile-hero-card { padding: 1.5rem 1.7rem; }
    .user-profile-wrapper .hero-content-flex { flex-wrap: nowrap; }
    .user-profile-wrapper .hero-user-details { min-width: 0; }
    .user-profile-wrapper .hero-cta-group { width: 410px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
    .user-profile-wrapper .cta-pill-btn { min-height: 48px; justify-content: center; padding: .7rem .8rem; }
    .user-profile-wrapper .kpi-metrics-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: .85rem; }
    .user-profile-wrapper .kpi-metric-card { min-height: 94px; padding: .9rem 1rem; gap: .8rem; border-radius: 16px; }
    .user-profile-wrapper .kpi-icon-square { width: 46px; height: 46px; border-radius: 14px; font-size: 1.05rem; }
    .user-profile-wrapper .kpi-card-title { white-space: normal; line-height: 1.25; }
    .user-profile-wrapper .kpi-digit { font-size: 1.2rem; }
}
@media (min-width: 1600px) {
    .user-profile-wrapper .kpi-metrics-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
    .user-profile-wrapper .hero-cta-group { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
    .user-profile-wrapper .cta-pill-btn { min-height: 46px; padding: .65rem .45rem; font-size: .8rem; white-space: normal; text-align: center; }
    .user-profile-wrapper .hero-user-details { align-items: flex-start; min-width: 0; }
    .user-profile-wrapper .hero-avatar-box { width: 58px; height: 58px; border-radius: 18px; font-size: 24px; }
    .user-profile-wrapper .hero-user-fullname { font-size: 1.3rem; }
    .user-profile-wrapper .kpi-metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .user-profile-wrapper .kpi-metric-card { min-width: 0; padding: .75rem; gap: .6rem; }
    .user-profile-wrapper .kpi-card-title { white-space: normal; font-size: .72rem; line-height: 1.25; }
    .user-profile-wrapper .kpi-sub { font-size: .65rem; }
}
@media (max-width: 360px) {
    .user-profile-wrapper .hero-cta-group, .user-profile-wrapper .kpi-metrics-grid { grid-template-columns: 1fr !important; }
    .user-profile-wrapper .hero-user-details { gap: .65rem; }
}

/* Spot Live Location Banner on Listing */
.spot-live-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 700;
    color: #10b981;
    background: rgba(16, 185, 129, 0.12);
    padding: 0.3rem 0.8rem;
    border-radius: 9999px;
    margin-bottom: 0.8rem;
}
.spot-location-details {
    display: flex;
    gap: 1rem;
    margin: 1rem 0;
}
.spot-loc-item {
    background: rgba(15, 23, 42, 0.5);
    padding: 0.8rem 1.2rem;
    border-radius: 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}
.loc-label {
    display: block;
    font-size: 0.75rem;
    color: var(--text-secondary, #94a3b8);
}
.loc-val {
    display: block;
    font-size: 1.1rem;
    font-weight: 800;
}
.loc-val.highlight {
    color: #38bdf8;
}
.spot-visit-note {
    font-size: 0.85rem;
    color: var(--text-secondary, #94a3b8);
    margin: 0;
}

/* Services Portal Styles */
.services-portal-page {
    padding: 2rem 0 4rem;
    width: calc(100% + 3rem);
    max-width: none;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
}
.services-hero-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.5rem 3rem;
    border-radius: 24px;
    margin-bottom: 3rem;
    background: radial-gradient(circle at 85% 20%, rgba(14,165,233,.22), transparent 32%), linear-gradient(135deg, #0f2742, #111827 72%);
    border: 1px solid rgba(56,189,248,.18);
    box-shadow: 0 22px 55px rgba(2, 132, 199, .14);
}
.services-hero-text {
    max-width: 650px;
}
.services-hero-action {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
    min-width: 270px;
}
.services-hero-action a { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; white-space: nowrap; }
.services-grid-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}
.service-card {
    border-radius: 20px;
    overflow: hidden;
    padding: 1.8rem;
    border: 1px solid rgba(148,163,184,.14);
    background: linear-gradient(160deg, rgba(30,41,59,.88), rgba(15,23,42,.82));
    display: flex;
    flex-direction: column;
    transition: transform 0.3s;
}
.service-card-body { display: flex; flex: 1; flex-direction: column; }
.service-card-body .btn-primary { margin-top: auto; min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .45rem; }
.service-card:hover {
    transform: translateY(-6px);
    border-color: rgba(56,189,248,.45);
    box-shadow: 0 18px 35px rgba(2,132,199,.14);
}
.service-image-header { height: 170px; margin: -1.8rem -1.8rem 1.5rem; overflow: hidden; }
.service-image-header img { width: 100%; height: 100%; object-fit: cover; display: block; }
.service-icon-box {
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: rgba(56, 189, 248, 0.15);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    margin-bottom: 1.2rem;
}
.service-card-title {
    font-size: 1.2rem;
    font-weight: 700;
    margin: 0 0 0.6rem;
}
.service-card-desc {
    color: var(--text-secondary, #94a3b8);
    font-size: 0.9rem;
    line-height: 1.6;
    margin: 0 0 1.2rem;
}
.service-price-tag {
    margin-top: auto;
    margin-bottom: 1.2rem;
    font-size: 0.9rem;
    color: var(--text-secondary, #94a3b8);
}
.service-price-tag strong {
    font-size: 1.15rem;
    color: #38bdf8;
    margin-left: 0.4rem;
}
.services-features-section {
    padding: 3rem 2rem;
    border-radius: 24px;
    margin-top: 4rem;
    border: 1px solid rgba(56,189,248,.12);
}
.services-section-heading { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin: 2.5rem 0 1rem; }
.my-services-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.my-service-card { min-height:142px; padding:1.1rem; text-decoration:none; color:inherit; transition:transform .2s,border-color .2s; overflow:hidden; }
.my-service-card:hover { transform:translateY(-3px); border-color:#38bdf8; }
.my-service-card-top { display:flex; justify-content:space-between; gap:.5rem; color:#38bdf8; font-size:.82rem; }
.my-service-card-top span { color:#4ade80; }
.my-service-card h3 { margin:.8rem 0 .5rem; font-size:1rem; }
.my-service-card p,.my-service-card small { color:var(--text-secondary,#94a3b8); font-size:.82rem; margin:0 0 .45rem; }
.my-services-empty { padding:1.3rem; color:var(--text-secondary,#94a3b8); }
@media (max-width:900px) { .my-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:600px) { .services-section-heading { align-items:flex-start; flex-direction:column; } .services-section-heading .btn-primary { width:auto; } .my-services-grid { grid-template-columns:1fr; } }

@media (max-width: 760px) {
    body:not(.admin-body) main.container:has(.marketplace-page) {
        padding-top: calc(56px + .65rem) !important;
        padding-left: .65rem !important;
        padding-right: .65rem !important;
        padding-bottom: 1.25rem !important;
    }
    body:not(.admin-body) main.container:has(.user-favorites-page) {
        padding-top: calc(56px + .65rem) !important;
        padding-left: .65rem !important;
        padding-right: .65rem !important;
        padding-bottom: 1.25rem !important;
    }
    body:not(.admin-body) main.container:has(.services-portal-page) {
        padding-top: calc(56px + .65rem) !important;
        padding-left: .65rem !important;
        padding-right: .65rem !important;
        padding-bottom: 1.25rem !important;
    }
    .services-portal-page { width: calc(100% + 1.3rem); margin-left: -.65rem; margin-right: -.65rem; padding: 1rem 0 2.5rem; }
    .services-hero-banner { flex-direction: column; align-items: flex-start; gap: 1.5rem; padding: 2rem 1.35rem; }
    .services-hero-text { max-width: none; }
    .services-hero-text h1 { font-size: clamp(1.75rem, 8vw, 2.4rem); line-height: 1.1; }
    .services-hero-action { width: 100%; display: grid; gap: .65rem; }
    .services-hero-action a { width: 100%; justify-content: center; text-align: center; }
    .services-grid-cards { grid-template-columns: 1fr; gap: 1rem; }
    .services-features-section { padding: 2rem 1rem; margin-top: 2rem; }
    .features-trio-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}

/* Marketplace mobile: dense catalogue with filters that stay easy to use. */
@media (max-width: 760px) {
    body:not(.admin-body) main.container.marketplace-main {
        /* Fixed mobil header 60px: hero hech qachon uning ostidan boshlanmasin. */
        padding-top: calc(60px + .55rem + env(safe-area-inset-top, 0px)) !important;
        padding-left: .65rem !important;
        padding-right: .65rem !important;
    }
    .marketplace-page { margin-top: 0 !important; padding: 0 .55rem 1.3rem !important; }
    .market-hero-banner { padding: .75rem .8rem !important; border-radius: 14px; margin-bottom: .6rem; gap: .6rem; }
    .market-hero-content { min-height: 34px; }
    .market-title { font-size: 1.12rem; }
    .market-hero-actions { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: .45rem; }
    .market-hero-actions .btn-primary,
    .market-hero-actions .btn-secondary { min-height: 36px; padding: .45rem .35rem; justify-content: center; font-size: .68rem; white-space: nowrap; flex-wrap: nowrap; }
    .market-hero-actions > :only-child { grid-column: 1 / -1; }
    .filters-sidebar { padding: .65rem; border-radius: 14px; }
    .sidebar-header { margin-bottom: .45rem; padding-bottom: .35rem; }
    .sidebar-header h3 { padding: .3rem .45rem; font-size: .74rem; }
    .filter-reset-link { font-size: .74rem; }
    .vehicle-picker-trigger { min-height: 46px; padding: .5rem .6rem; font-size: .78rem; }
    .vehicle-picker-trigger>i:first-child { width:28px; height:28px; border-radius:8px; font-size:.75rem; }
    .extra-filters-panel { padding: .55rem .65rem; margin-bottom: .55rem; border-radius: 10px; }
    .extra-filters-panel summary { font-size: .78rem; }
    .filters-sidebar .filter-actions { margin-top: .45rem; display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; }
    .filters-sidebar .listing-sort-inline { min-width: 0; }
    .filters-sidebar .listing-sort-inline select,
    .filters-sidebar .filter-actions > .btn-primary { min-height: 42px; height: 42px; padding: .45rem .55rem; font-size: .73rem; }
    .cars-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
    .car-card-modern { border-radius: 13px; min-width: 0; }
    .card-image-wrap { height: 116px; }
    .year-badge { left: 6px; bottom: 6px; padding: .12rem .38rem; font-size: .62rem; }
    .btn-fav { top: 6px; right: 6px; width: 28px; height: 28px; font-size: .78rem; }
    .card-body-content { padding: .65rem !important; }
    .card-car-title { font-size: .83rem !important; line-height: 1.25; min-height: 2.5em; }
    .card-car-specs { gap: .25rem !important; margin: .35rem 0 !important; }
    .card-car-specs span { font-size: .63rem !important; }
    .card-price-row { margin-top: .35rem !important; }
    .price-val strong { font-size: .92rem !important; }
    .price-val span { font-size: .63rem !important; }
}

/* Katalog ekrani: katta monitorlarda ham foydali maydonni maksimal ishlatish. */
@media (min-width: 761px) {
    body:not(.admin-body) main.container.marketplace-main {
        width: 100%;
        max-width: none;
        padding-left: clamp(.65rem, 1.25vw, 1.5rem);
        padding-right: clamp(.65rem, 1.25vw, 1.5rem);
        padding-bottom: 2rem;
    }
    .marketplace-page { padding: .55rem clamp(.65rem, 1.25vw, 1.5rem) 1.25rem; }
    .market-hero-banner { padding: .8rem 1rem; border-radius: 15px; margin-bottom: .65rem; }
    .market-hero-content { min-height: 38px; }
    .market-title { font-size: 1.3rem; }
    .market-hero-actions { gap: .5rem; }
    .market-hero-actions .btn-primary,
    .market-hero-actions .btn-secondary { min-height: 40px; padding: .55rem .8rem; }
    .filters-sidebar { padding: .7rem .8rem; border-radius: 14px; }
    .sidebar-header { margin-bottom: .5rem; padding-bottom: .4rem; }
    .filters-sidebar form { gap: .5rem; }
    .vehicle-picker-trigger,
    .filters-sidebar .extra-filters-panel,
    .filters-sidebar .listing-sort-inline select,
    .filters-sidebar .filter-actions > .btn-primary { min-height: 48px; height: 48px; }
    .cars-catalog-grid { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .75rem; }
    .car-card-modern { border-radius: 14px; }
    .card-image-wrap { height: 164px; }
    .card-body-content { padding: .8rem; }
    .card-meta-row { margin-bottom: .35rem; }
    .card-car-title { margin-bottom: .4rem; }
    .card-car-specs { gap: .4rem; margin-bottom: .55rem; }
    .card-price-row { padding-top: .55rem; }
}
@media (max-width: 360px) {
    .cars-catalog-grid { grid-template-columns: 1fr; }
    .card-image-wrap { height: 155px; }
}

/* Kalit xizmati buyurtma formasidagi action tugmasi */
.create-listing-page { width:100vw; margin-left:calc((100% - 100vw)/2); padding:.8rem .8rem 2rem; }
.create-listing-page .page-top-header { max-width:1100px; margin:0 auto 1rem; }
.create-listing-page .back-link { display:inline-flex; align-items:center; gap:.5rem; color:#38bdf8; text-decoration:none; font-weight:700; margin-bottom:.7rem; }
.create-listing-form { max-width:1100px; margin:0 auto; }
.listing-step { display:none; }
.listing-step.is-current { display:block; }
.listing-step-nav { display:flex; align-items:center; justify-content:center; gap:.7rem; margin:0 auto 1rem; }
.listing-step-label { width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:rgba(148,163,184,.16); color:var(--text-secondary,#94a3b8); font-weight:800; }
.listing-step-label.active { background:#38bdf8; color:#082f49; }
.listing-step-line { color:var(--text-secondary,#64748b); font-size:.75rem; }
.listing-step-buttons { display:flex; justify-content:space-between; gap:.7rem; margin-top:1.2rem; }
.listing-step-buttons button { min-height:42px; padding:.65rem 1rem; }
.form-section-card { padding:1.25rem; border-radius:16px; margin-bottom:1rem; }
.form-section-title { display:flex; align-items:center; gap:.55rem; font-size:1.05rem; margin:0 0 1rem; }
.form-section-title i { color:#38bdf8; }
.form-grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.85rem 1rem; }
.form-field-group label { display:block; margin-bottom:.4rem; font-weight:700; font-size:.85rem; }
.form-field-group input,.form-field-group select,.form-field-group textarea { width:100%; border-radius:10px; padding:.72rem .8rem; }
.checkbox-align { display:flex; align-items:flex-end; }
.custom-checkbox-label { display:flex !important; align-items:center; gap:.6rem; min-height:44px; margin:0 !important; cursor:pointer; font-weight:600 !important; }
.custom-checkbox-label input[type="checkbox"] { width:19px; height:19px; min-width:19px; margin:0; accent-color:#38bdf8; cursor:pointer; }
.price-input-wrapper { display:flex; flex-wrap:nowrap; align-items:stretch; gap:.5rem; }
.price-input-wrapper input { flex:1; min-width:0; }
.price-input-wrapper select { flex:0 0 185px; width:185px; max-width:185px; }
@media (max-width:420px) { .price-input-wrapper { gap:.35rem; } .price-input-wrapper select { flex-basis:105px; width:105px; } }
.autofill-hint-box { padding:.75rem; margin-bottom:1rem; border-radius:10px; background:rgba(56,189,248,.08); }
.autofill-hint-box label { display:block; margin-bottom:.4rem; font-size:.82rem; font-weight:700; }
.autofill-hint-box select { width:100%; border-radius:9px; padding:.65rem; }
.photo-upload-dropzone { padding:1.7rem 1rem; border:1px dashed rgba(56,189,248,.45); border-radius:14px; text-align:center; cursor:pointer; background:rgba(56,189,248,.05); }
.photo-upload-dropzone h3 { margin:.5rem 0 .25rem; font-size:1rem; }
.photo-upload-dropzone p { margin:0; color:var(--text-secondary,#94a3b8); font-size:.8rem; }
.upload-icon { color:#38bdf8; font-size:1.8rem; }
.photos-preview-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:.55rem; margin-top:.8rem; }
.photo-preview-item { position:relative; aspect-ratio:1; overflow:hidden; border-radius:9px; }
.photo-preview-item img,
.photo-preview-item video { width:100%; height:100%; object-fit:cover; display:block; }
.media-upload-status { min-height:1.25rem; margin-top:.55rem; color:var(--text-secondary,#94a3b8); font-size:.82rem; font-weight:600; }
.preview-video-icon { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:32px; height:32px; display:grid; place-items:center; border-radius:50%; background:rgba(2,132,199,.9); color:#fff; pointer-events:none; }
.form-submit-actions { display:flex; justify-content:flex-end; margin-top:1rem; }
@media (max-width:650px) { .create-listing-page { padding:.6rem .55rem 1.5rem; } .form-grid-2 { grid-template-columns:1fr; } .form-section-card { padding:1rem; } .photos-preview-grid { grid-template-columns:repeat(3,1fr); } .form-submit-actions .btn-primary { width:100%; } }
.user-listings-page { width:100vw; margin-left:calc((100% - 100vw) / 2); padding:.8rem .8rem 2rem; }
.pagination-wrap { display:flex; align-items:center; justify-content:center; gap:.35rem; margin:1.2rem 0 .3rem; }
.vehicle-picker-summary{margin-bottom:1rem}.vehicle-picker-trigger{width:100%;display:flex;align-items:center;gap:.7rem;padding:.85rem 1rem;border:1px solid var(--border-color,#d9dce5);border-radius:12px;background:var(--card-bg,#fff);color:inherit;text-align:left;cursor:pointer}.vehicle-picker-trigger span{flex:1;font-weight:600}.extra-filters-panel{border-top:1px solid var(--border-color,#ddd);padding-top:.8rem;margin-top:.5rem}.extra-filters-panel summary{cursor:pointer;font-weight:700;list-style:none;margin-bottom:.8rem}.extra-filters-panel summary::-webkit-details-marker{display:none}.extra-filters-panel summary i{margin-right:.4rem}.extra-filters-grid{display:contents}.load-more-listings{display:block;margin:1.3rem auto 0;min-width:190px}.vehicle-picker-modal[hidden]{display:none}.vehicle-picker-modal{position:fixed;inset:0;z-index:1000}.vehicle-picker-backdrop{position:absolute;inset:0;background:rgba(10,15,30,.68);backdrop-filter:blur(4px)}.vehicle-picker-dialog{position:relative;z-index:1;width:min(920px,calc(100% - 2rem));max-height:min(88vh,760px);overflow:auto;margin:6vh auto 0;padding:1.2rem;background:var(--card-bg,#fff);color:inherit;border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.3)}.vehicle-picker-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.vehicle-picker-head h2{margin:0;font-size:1.25rem}.vehicle-picker-head button{border:0;background:transparent;color:inherit;font-size:1.2rem;cursor:pointer}.picker-hint{margin:.2rem 0 1rem;color:var(--muted-text,#777)}.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:.55rem}.brand-choice,.model-choice{display:flex;align-items:center;gap:.55rem;border:1px solid var(--border-color,#e0e2e8);background:transparent;color:inherit;border-radius:11px;padding:.65rem .7rem;text-align:left;cursor:pointer}.brand-choice:hover,.model-choice:hover{border-color:var(--primary,#2563eb);background:rgba(37,99,235,.08)}.brand-logo{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#eef2f7;font-weight:800;color:var(--primary,#2563eb);flex:none}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.55rem;margin-top:1rem}.model-choice{display:block}.picker-back{border:0;background:transparent;color:var(--primary,#2563eb);padding:0;cursor:pointer;font-weight:700}.vehicle-picker-step h3{margin:.8rem 0 0}.modal-open{overflow:hidden}
[data-theme="dark"] .vehicle-picker-dialog{background:#202536}.vehicle-picker-dialog input{color:inherit}
/* Listings picker polish */
.filters-sidebar{border:1px solid color-mix(in srgb,var(--border-color,#dfe3eb) 72%,transparent);box-shadow:0 12px 35px rgba(15,23,42,.07)}
.vehicle-picker-trigger{min-height:48px;padding:.6rem .75rem;border:1px solid color-mix(in srgb,var(--primary,#2563eb) 18%,var(--border-color,#d9dce5));background:linear-gradient(135deg,rgba(37,99,235,.07),rgba(37,99,235,.015));transition:.2s ease}
.vehicle-picker-trigger:hover{border-color:var(--primary,#2563eb);transform:translateY(-1px);box-shadow:0 8px 20px rgba(37,99,235,.12)}
.vehicle-picker-trigger>i:first-child{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--primary,#2563eb);color:#fff}
.vehicle-picker-trigger>i:last-child{font-size:.78rem;opacity:.55}
.extra-filters-panel{border:1px solid color-mix(in srgb,var(--border-color,#dfe3eb) 70%,transparent);border-radius:13px;padding:.55rem .7rem;margin:0 0 .55rem;background:rgba(127,127,127,.025)}
.extra-filters-panel[open]{background:rgba(37,99,235,.025)}.extra-filters-panel summary{margin:0;display:flex;align-items:center;gap:.4rem}.extra-filters-panel[open] summary{margin-bottom:.85rem;color:var(--primary,#2563eb)}
.vehicle-picker-dialog{padding:1.35rem; border:1px solid rgba(255,255,255,.12)}
.vehicle-picker-head{padding-bottom:1rem;border-bottom:1px solid color-mix(in srgb,var(--border-color,#e2e5eb) 70%,transparent)}
.vehicle-picker-head h2{font-size:1.35rem;letter-spacing:-.02em}.brand-grid{gap:.7rem}.brand-choice{min-height:70px;padding:.7rem .8rem;border-radius:14px;transition:.18s ease}.brand-choice span:last-child{font-size:.92rem;font-weight:650}.brand-choice:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(37,99,235,.1)}
.brand-logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--primary,#2563eb),#60a5fa);color:#fff;font-size:1rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.brand-logo img{width:25px;height:25px;object-fit:contain;filter:var(--brand-logo-filter,none)}.brand-logo img[hidden]+span{display:grid;place-items:center;width:100%;height:100%}
[data-theme="dark"] .brand-logo{background:#fff;--brand-logo-filter:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
[data-theme="dark"] .brand-logo img{filter:none}.brand-logo img[hidden]+span{color:#fff;background:linear-gradient(135deg,var(--primary,#2563eb),#60a5fa);border-radius:11px}.brand-logo img[hidden]{display:none}
.model-grid{gap:.6rem}.model-choice{min-height:46px;padding:.65rem .8rem;border-radius:11px;font-weight:600;transition:.16s ease}.model-choice:hover{transform:translateY(-1px)}
.picker-hint{font-size:.88rem}.picker-back{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border-radius:8px}.picker-back:hover{background:rgba(37,99,235,.08)}
.load-more-listings{border-radius:12px;padding:.75rem 1.25rem;font-weight:700;box-shadow:0 8px 18px rgba(37,99,235,.12)}
@media (max-width:600px){.vehicle-picker-dialog{width:100%;max-height:92vh;margin:8vh 0 0;border-radius:20px 20px 0 0;padding:1rem}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.brand-choice{min-height:62px;padding:.55rem}.brand-logo{width:32px;height:32px}.vehicle-picker-head h2{font-size:1.15rem}}
/* Listings filters: compact one-line toolbar on wide screens */
@media (min-width:901px){
    .filters-sidebar form{grid-template-columns:minmax(260px,1.5fr) minmax(180px,.7fr) auto;gap:.65rem;align-items:center}
    .filters-sidebar .vehicle-picker-summary{margin:0;min-width:0}
    .filters-sidebar .extra-filters-panel{margin:0;min-width:0;height:48px;box-sizing:border-box;padding:.55rem .7rem;display:flex;align-items:center}
    .filters-sidebar .extra-filters-panel summary{width:100%;height:100%;display:flex;align-items:center;margin:0}
    .filters-sidebar .filter-actions{grid-column:auto;margin:0;display:flex;align-items:center;gap:.55rem;min-width:0}
    .filters-sidebar .listing-sort-inline{flex:0 1 170px;min-width:150px}
    .filters-sidebar .listing-sort-inline label{display:none}
    .filters-sidebar .listing-sort-inline select{min-height:48px;height:48px;font-size:.9rem;font-weight:650;padding:.5rem .7rem}
    .filters-sidebar .filter-actions>.btn-primary{flex:0 0 auto;white-space:nowrap;min-height:48px;height:48px}
    .filters-sidebar .vehicle-picker-trigger,
    .filters-sidebar .extra-filters-panel,
    .filters-sidebar .listing-sort-inline select,
    .filters-sidebar .filter-actions>.btn-primary{height:48px;min-height:48px;box-sizing:border-box}
}
@media (min-width:901px) and (max-width:1180px){.filters-sidebar form{grid-template-columns:minmax(220px,1fr) minmax(160px,.7fr) auto}.filters-sidebar .listing-sort-inline{min-width:125px}.filters-sidebar .filter-actions>.btn-primary{font-size:.85rem;padding-inline:.7rem}}
.filters-sidebar .extra-filters-panel .filter-group input,
.filters-sidebar .extra-filters-panel .filter-group select{min-height:44px;height:44px;box-sizing:border-box}
.page-num,.page-dots { min-width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; font-size:.82rem; font-weight:700; }
.page-num { color:var(--text-secondary,#94a3b8); text-decoration:none; background:rgba(148,163,184,.1); }
.page-num:hover,.page-num.active { color:#fff; background:#0284c7; }
.page-arrow { color:#38bdf8; }
.page-dots { color:var(--text-secondary,#94a3b8); background:transparent; }
.user-listings-page .page-top-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.user-listings-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.user-listing-item { display:grid; grid-template-columns:145px 1fr auto; gap:1rem; align-items:center; padding:.8rem; border-radius:16px; overflow:hidden; }
.item-thumb { position:relative; height:105px; border-radius:12px; overflow:hidden; }
.item-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.item-thumb .status-badge { position:absolute; left:.5rem; bottom:.5rem; font-size:.72rem; }
.item-title { margin:0 0 .35rem; font-size:1rem; line-height:1.25; }
.item-title a { color:inherit; text-decoration:none; }
.item-price { color:#38bdf8; font-size:.95rem; margin-bottom:.5rem; }
.item-stats { display:flex; flex-wrap:wrap; gap:.55rem; color:var(--text-secondary,#94a3b8); font-size:.75rem; }
.item-actions { display:flex; flex-direction:column; gap:.4rem; }
.btn-action-view,.btn-action-sold,.btn-action-del { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:9px; cursor:pointer; text-decoration:none; }
.btn-action-view { background:rgba(56,189,248,.14); color:#38bdf8; }
.btn-action-sold { background:rgba(74,222,128,.14); color:#4ade80; }
.btn-action-del { background:rgba(248,113,113,.14); color:#f87171; }
.item-actions form { margin:0; }
@media (max-width:1000px) { .user-listings-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:650px) { .user-listings-page { padding:.6rem .55rem 1.5rem; } .user-listings-page .page-top-header { align-items:flex-start; } .user-listings-grid { grid-template-columns:1fr; } .user-listing-item { grid-template-columns:110px 1fr auto; } .item-thumb { height:90px; } }
.service-order-page { width:calc(100% + 3rem); max-width:none; margin:0 -1.5rem; padding:1.5rem 1.5rem 2rem; }
.service-order-page .page-top-header { margin-bottom: 1.5rem; }
.service-order-back { display:inline-flex; align-items:center; gap:.55rem; padding:.6rem .9rem; margin-bottom:1.1rem; border:1px solid rgba(56,189,248,.25); border-radius:10px; background:rgba(56,189,248,.08); color:#38bdf8; text-decoration:none; font-size:.88rem; font-weight:700; transition:all .2s ease; }
.service-order-back:hover { background:rgba(56,189,248,.16); border-color:rgba(56,189,248,.55); transform:translateX(-2px); }
.service-order-form { padding:clamp(1.2rem, 3vw, 2rem); border-radius:20px; }
.service-order-form .form-field-group { margin-bottom:1.25rem; }
.service-order-form label { display:block; margin-bottom:.5rem; font-weight:700; }
.service-order-form select, .service-order-form textarea { width:100%; border-radius:12px; padding:.85rem 1rem; }
.service-order-page .form-submit-actions { display: flex; justify-content: flex-end; margin-top: 1.25rem; }
.service-order-page .form-submit-actions .btn-primary { min-height: 50px; padding-inline: 1.8rem; }
@media (max-width: 600px) {
    .service-order-page { width:calc(100% + 1.3rem); margin:0 -.65rem; padding:1rem .65rem 2rem; }
    .service-order-back { margin-bottom:.8rem; }
    .service-order-page .form-submit-actions .btn-primary { width: 100%; }
}
.features-trio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2rem;
    margin-top: 2rem;
}
.feature-item {
    text-align: center;
}
.feature-icon {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(56, 189, 248, 0.12);
    color: #38bdf8;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0 auto 1rem;
}
.feature-item h4 {
    font-size: 1.05rem;
    font-weight: 700;
    margin: 0 0 0.5rem;
}
.feature-item p {
    font-size: 0.88rem;
    color: var(--text-secondary, #94a3b8);
    line-height: 1.5;
}

/* Chat Styles */
.order-chat-card {
    padding: 1.5rem;
    border-radius: 20px;
    display: flex;
    flex-direction: column;
    height: 480px;
}
.chat-messages-container {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 0.8rem;
}
.chat-bubble {
    max-width: 80%;
    padding: 0.75rem 1rem;
    border-radius: 16px;
    font-size: 0.9rem;
    line-height: 1.45;
}
.chat-bubble-mine {
    align-self: flex-end;
    background: linear-gradient(135deg, #0284c7, #2563eb);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.chat-bubble-staff {
    align-self: flex-start;
    background: rgba(255, 255, 255, 0.08);
    color: var(--text-color, #f8fafc);
    border-bottom-left-radius: 4px;
}
.chat-bubble-sender {
    font-size: 0.75rem;
    font-weight: 700;
    opacity: 0.8;
    margin-bottom: 0.2rem;
}
.chat-bubble-time {
    font-size: 0.68rem;
    opacity: 0.7;
    text-align: right;
    margin-top: 0.3rem;
}
.chat-send-form {
    padding-top: 0.8rem;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.chat-input-row {
    display: flex;
    gap: 0.6rem;
}
.chat-input-row input {
    flex: 1;
    padding: 0.75rem 1rem;
    border-radius: 12px;
    background: rgba(15, 23, 42, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: inherit;
    outline: none;
}

/* ═══════════════════════════════════════════════════════════════
   Comprehensive Light Theme Overrides (Barcha bo'limlar uchun)
   ═══════════════════════════════════════════════════════════════ */

html[data-theme="light"] {
    --text-color: #0f172a;
    --text-secondary: #475569;
    --border-color: #e2e8f0;
}

html[data-theme="light"] body {
    color: #0f172a;
}

/* Titles and Typography in Light Mode */
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] .page-top-header h1,
html[data-theme="light"] .section-title,
html[data-theme="light"] .card-car-title,
html[data-theme="light"] .item-title,
html[data-theme="light"] .service-card-title,
html[data-theme="light"] .feature-item h4,
html[data-theme="light"] .market-hero-text h1,
html[data-theme="light"] .services-hero-text h1,
html[data-theme="light"] .empty-showcase-premium h3,
html[data-theme="light"] .loc-val,
html[data-theme="light"] .price-val strong {
    color: #0f172a !important;
}

/* Secondary & Muted Text in Light Mode */
html[data-theme="light"] p,
html[data-theme="light"] .page-top-header p,
html[data-theme="light"] .section-desc,
html[data-theme="light"] .service-card-desc,
html[data-theme="light"] .feature-item p,
html[data-theme="light"] .card-car-specs span,
html[data-theme="light"] .empty-showcase-premium p,
html[data-theme="light"] .market-hero-text p,
html[data-theme="light"] .services-hero-text p,
html[data-theme="light"] .loc-label,
html[data-theme="light"] .spot-visit-note,
html[data-theme="light"] .seller-city,
html[data-theme="light"] .hstat-label,
html[data-theme="light"] .toolbar-sorting label,
html[data-theme="light"] .filter-group label {
    color: #475569 !important;
}

/* Glass Cards & Containers in Light Mode */
html[data-theme="light"] .glass-card,
html[data-theme="light"] .filter-card,
html[data-theme="light"] .car-card-modern,
html[data-theme="light"] .service-card,
html[data-theme="light"] .user-listing-item,
html[data-theme="light"] .order-item-card,
html[data-theme="light"] .order-chat-card,
html[data-theme="light"] .service-order-form,
html[data-theme="light"] .history-table-card,
html[data-theme="light"] .services-features-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.08) !important;
}

/* Hero Banners in Light Mode */
html[data-theme="light"] .market-hero-banner,
html[data-theme="light"] .services-hero-banner,
html[data-theme="light"] .empty-showcase-premium {
    background: linear-gradient(135deg, #f8fafc, #f1f5f9) !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.06) !important;
}

/* Inputs & Form Controls in Light Mode */
html[data-theme="light"] .filter-group select,
html[data-theme="light"] .filter-group input,
html[data-theme="light"] .toolbar-sorting select,
html[data-theme="light"] .service-order-form select,
html[data-theme="light"] .service-order-form input,
html[data-theme="light"] .service-order-form textarea,
html[data-theme="light"] .chat-input-row input,
html[data-theme="light"] .create-listing-form input,
html[data-theme="light"] .create-listing-form select,
html[data-theme="light"] .create-listing-form textarea {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #0f172a !important;
}

html[data-theme="light"] .spot-loc-item {
    background: #f1f5f9 !important;
    border: 1px solid #e2e8f0 !important;
}

/* Chat bubble in Light Mode */
html[data-theme="light"] .chat-bubble-staff {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border: 1px solid #e2e8f0 !important;
}

/* Stats in History in Light Mode */
html[data-theme="light"] .hstat-value {
    color: #0f172a !important;
}

/* Dropzone in Light Mode */
html[data-theme="light"] .photo-dropzone-box {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
}

/* Listing Detail Specifics in Light Mode */
html[data-theme="light"] .spec-bento-item {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
}

html[data-theme="light"] .spec-bento-val {
    color: #0f172a !important;
}

html[data-theme="light"] .spec-bento-label {
    color: #64748b !important;
}

html[data-theme="light"] .listing-page-title,
html[data-theme="light"] .section-block-title,
html[data-theme="light"] .seller-name {
    color: #0f172a !important;
}

html[data-theme="light"] .listing-desc-text {
    color: #334155 !important;
}

html[data-theme="light"] .breadcrumbs-nav {
    color: #64748b !important;
}

html[data-theme="light"] .breadcrumbs-nav a {
    color: #0284c7 !important;
}

html[data-theme="light"] .breadcrumbs-nav span:last-child {
    color: #0f172a !important;
}

html[data-theme="light"] .seller-card {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   Dark Mode Baseline — Ensures text visibility on dark backgrounds
   ═══════════════════════════════════════════════════════════════ */

html[data-theme="dark"] body,
:root body {
    color: #e2e8f0;
}

html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
    color: #f8fafc;
}

html[data-theme="dark"] p,
html[data-theme="dark"] span,
html[data-theme="dark"] li,
html[data-theme="dark"] td,
html[data-theme="dark"] th,
html[data-theme="dark"] label,
html[data-theme="dark"] small,
html[data-theme="dark"] strong {
    color: inherit;
}

/* Generic muted text in dark mode */
html[data-theme="dark"] .text-muted,
html[data-theme="dark"] [class*="-muted"],
html[data-theme="dark"] [class*="-sub"],
html[data-theme="dark"] [class*="-meta"] {
    color: #94a3b8;
}

/* Section titles in dark mode */
html[data-theme="dark"] .section-title,
html[data-theme="dark"] .page-title,
html[data-theme="dark"] .block-title,
html[data-theme="dark"] .card-title,
html[data-theme="dark"] .modal-header h3 {
    color: #f8fafc;
}

/* Form elements in dark mode */
html[data-theme="dark"] .float-field label,
html[data-theme="dark"] .form-group label {
    color: rgba(226, 232, 240, 0.7);
}

html[data-theme="dark"] .float-field input,
html[data-theme="dark"] .float-field select,
html[data-theme="dark"] .form-group input,
html[data-theme="dark"] .form-group select,
html[data-theme="dark"] .form-group textarea {
    color: #f8fafc;
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
}

/* Table text in dark mode */
html[data-theme="dark"] .table td,
html[data-theme="dark"] .table th,
html[data-theme="dark"] table td,
html[data-theme="dark"] table th {
    color: #e2e8f0;
}

/* Badge and status elements */
html[data-theme="dark"] .badge,
html[data-theme="dark"] [class*="-badge"]:not(.car-status-badge) {
    color: inherit;
}

/* Flash messages */
html[data-theme="dark"] .cars-flash,
html[data-theme="dark"] .spots-flash {
    color: #e2e8f0;
}

/* Admin pages dark mode text */
html[data-theme="dark"] .admin-sidebar-link span,
html[data-theme="dark"] .admin-sidebar-link {
    color: rgba(226, 232, 240, 0.75);
}

html[data-theme="dark"] .admin-sidebar-link.active,
html[data-theme="dark"] .admin-sidebar-link:hover {
    color: #f8fafc;
}

html[data-theme="dark"] .admin-content-title,
html[data-theme="dark"] .admin-page-title {
    color: #f8fafc;
}

/* Car card info in dark mode */
html[data-theme="dark"] .car-info h3 {
    color: #f8fafc;
}

html[data-theme="dark"] .plate-number {
    color: #f8fafc;
}

html[data-theme="dark"] .car-location {
    color: rgba(226, 232, 240, 0.75);
}

/* Profile dashboard in dark mode */
.cars-page .car-actions-wrapper { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.4rem !important; width:100% !important; }
.cars-page .car-actions-wrapper > a,
.cars-page .car-actions-wrapper > form { min-width:0 !important; width:auto !important; flex:none !important; margin:0 !important; }
.cars-page .car-actions-wrapper .btn-sm,
.cars-page .car-actions-wrapper form button { width:100% !important; min-width:0 !important; height:38px; min-height:38px; padding:.35rem .3rem !important; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; gap:.25rem; font-size:.7rem; white-space:nowrap; }
@media (max-width:650px) { .cars-page .car-actions-wrapper { grid-template-columns:repeat(5,minmax(0,1fr)); gap:.25rem !important; } .cars-page .car-actions-wrapper .btn-sm,.cars-page .car-actions-wrapper form button { font-size:.62rem; } }
html[data-theme="dark"] .empty-title {
    color: #f8fafc;
}

html[data-theme="dark"] .r-place-label {
    color: #f8fafc;
}

/* Active-ticket border-top fix for dark mode */
html[data-theme="dark"] .ticket-details-grid {
    border-top-color: rgba(255, 255, 255, 0.08);
}

html[data-theme="dark"] .car-item-footer {
    border-top-color: rgba(255, 255, 255, 0.08);
}

/* ==========================================================================
   Mobile Bottom Navigation
   ========================================================================== */
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    height: 70px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    z-index: 1000;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.05);
}

.mobile-bottom-nav .mnav-item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #64748b;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    gap: 4px;
    transition: all 0.25s ease;
    background: transparent;
    border: none;
    cursor: pointer;
}

.mobile-bottom-nav .mnav-item i {
    font-size: 18px;
    margin-bottom: 2px;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.mobile-bottom-nav .mnav-item.active {
    color: var(--primary-color, #0284c7);
}

.mobile-bottom-nav .mnav-item.active i {
    transform: translateY(-2px);
    filter: drop-shadow(0 2px 4px rgba(2, 132, 199, 0.3));
}

html[data-theme="dark"] .mobile-bottom-nav {
    background: rgba(15, 23, 42, 0.85);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.4);
}

html[data-theme="dark"] .mobile-bottom-nav .mnav-item {
    color: #94a3b8;
}

html[data-theme="dark"] .mobile-bottom-nav .mnav-item.active {
    color: #38bdf8;
}

@media (max-width: 768px) {
    .mobile-bottom-nav {
        display: none !important;
    }
    
    /* Add padding to bottom so content isn't hidden under nav */
    body:not(.admin-body) main.container {
        padding-bottom: 1rem;
    }
}

/* ===================== UNIVERSAL RESPONSIVE SAFETY =====================
   Keep every page inside the viewport, including newly added views. */
html {
    width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
}

body,
main,
section,
article,
header,
footer,
.container,
.header-content {
    min-width: 0;
}

img,
video,
svg,
canvas {
    max-width: 100%;
    height: auto;
}

input,
select,
textarea,
button {
    max-width: 100%;
}

[class*="grid"],
[class*="flex"],
.page-header,
.section-header,
.form-header,
.card-header,
.hero-content-flex,
.hero-badge-row,
.modal-footer-actions {
    min-width: 0;
}

[class*="grid"] > *,
[class*="flex"] > *,
.page-header > *,
.section-header > *,
.hero-content-flex > * {
    min-width: 0;
}

/* Long plate numbers, URLs and user-entered text must not widen cards. */
h1, h2, h3, h4, h5, h6, p, a, span, td, th, label,
.text-truncate, .card-title, .card-description {
    overflow-wrap: anywhere;
}

.table-responsive,
.table-wrap,
.dataTables_wrapper,
.admin-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

@media (max-width: 600px) {
    .container,
    .main-header .container {
        padding-left: max(0.75rem, env(safe-area-inset-left));
        padding-right: max(0.75rem, env(safe-area-inset-right));
    }

    .page-header,
    .section-header,
    .form-header,
    .cars-header,
    .history-top-hero,
    .invoice-banner,
    .order-header-row,
    .order-footer-row,
    .chat-input-row {
        flex-wrap: wrap;
    }

    .page-header .btn-primary,
    .page-header .btn-secondary,
    .section-header .btn-primary,
    .section-header .btn-secondary,
    .form-header .btn-primary,
    .form-header .btn-secondary {
        width: 100%;
    }

    .btn-primary,
    .btn-secondary,
    .btn-login,
    .btn-register,
    .btn-logout {
        max-width: 100%;
        white-space: normal;
        text-align: center;
    }

    .grid-view-container,
    .glass-card,
    .form,
    .modal-view {
        max-width: 100%;
    }

    .grid-view-container {
        padding: 1rem;
    }
}

@media (max-width: 380px) {
    body { font-size: 0.94rem; }

    .main-header .container { padding-left: 0.65rem; padding-right: 0.65rem; }
    .logo { margin-left: 0; }
    .header-actions { gap: 0.35rem; }
    .mobile-bottom-nav { padding-left: 0.25rem; padding-right: 0.25rem; }
}

/* ==========================================================================
   Enhanced Navbar Design (Premium UI Update)
   ========================================================================== */
.main-header {
    height: calc(68px + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Make header respond to Light Theme */
html[data-theme="light"] .main-header {
    background: rgba(255, 255, 255, 0.85);
    border-bottom: 1px solid rgba(226, 232, 240, 0.8);
    box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.05);
}

html[data-theme="light"] .main-header::after {
    background: linear-gradient(90deg, transparent 0%, rgba(2, 132, 199, 0.15) 30%, rgba(2, 132, 199, 0.25) 70%, transparent 100%);
}

html[data-theme="light"] .main-header .logo-text {
    color: #0f172a;
}

html[data-theme="light"] .main-header .logo-accent {
    color: #0284c7;
    text-shadow: none;
}

html[data-theme="light"] .header-actions .theme-toggle,
html[data-theme="light"] .header-actions .mobile-menu-toggle {
    color: #0f172a;
    background: rgba(241, 245, 249, 0.8);
    border: 1px solid #e2e8f0;
}

html[data-theme="light"] .header-actions .theme-toggle:hover,
html[data-theme="light"] .header-actions .mobile-menu-toggle:hover {
    background: #ffffff;
    border-color: #0284c7;
    color: #0284c7;
    box-shadow: 0 4px 12px rgba(2, 132, 199, 0.15);
}

/* Light Mode for Auth Buttons */
html[data-theme="light"] .btn-login {
    color: #0f172a;
    background: rgba(15, 23, 42, 0.06);
    border: 1px solid rgba(15, 23, 42, 0.15);
}

html[data-theme="light"] .btn-login:hover {
    background: rgba(15, 23, 42, 0.1);
    border-color: rgba(15, 23, 42, 0.25);
    color: #0f172a;
}

html[data-theme="light"] .btn-logout {
    color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    border: 1px solid rgba(239, 68, 68, 0.2);
}

html[data-theme="light"] .btn-logout:hover {
    background: rgba(239, 68, 68, 0.15);
    border-color: rgba(239, 68, 68, 0.3);
    color: #dc2626;
}

html[data-theme="light"] .btn-register {
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.25);
}

/* Mobile Navbar Enhancements */
@media (max-width: 768px) {
    .main-header {
        height: calc(60px + env(safe-area-inset-top, 0px));
    }
    
    .main-header .container {
        padding: 0 16px;
    }
    
    .main-header .logo-text {
        font-size: 1.15rem;
    }
    
    .desktop-only-action {
        display: none !important;
    }
    
    /* Since we have bottom nav, we can hide the hamburger on mobile if we want,
       but keeping it is fine as a backup or for consistency. 
       Let's make it look more like a profile/action area. */
    .header-actions {
        gap: 8px;
    }
    
    .header-actions .theme-toggle,
    .header-actions .mobile-menu-toggle {
        width: 36px;
        height: 36px;
        font-size: 14px;
        border-radius: 10px;
    }
}

/* ===================== THEME CONSISTENCY PATCH ===================== */
html[data-theme="dark"] {
    color-scheme: dark;
    --page-bg: #0f172a;
    --surface-solid: #172236;
    --surface-soft: rgba(255, 255, 255, 0.06);
    --control-bg: #111c30;
    --control-border: rgba(255, 255, 255, 0.14);
    --body-text: #e2e8f0;
    --muted-text: #94a3b8;
}

html[data-theme="light"] {
    color-scheme: light;
    --page-bg: #f6f8fc;
    --surface-solid: #ffffff;
    --surface-soft: #ffffff;
    --control-bg: #ffffff;
    --control-border: #cbd5e1;
    --body-text: #334155;
    --muted-text: #64748b;
}

html[data-theme="dark"] body,
html[data-theme="light"] body {
    background-color: var(--page-bg);
    color: var(--body-text);
    transition: background-color 0.2s ease, color 0.2s ease;
}

html[data-theme="light"] body {
    background-image:
        radial-gradient(at 0% 0%, rgba(37, 99, 235, 0.08) 0, transparent 50%),
        radial-gradient(at 100% 0%, rgba(14, 165, 233, 0.06) 0, transparent 50%),
        radial-gradient(at 100% 100%, rgba(37, 99, 235, 0.05) 0, transparent 50%);
}

/* Native controls otherwise retain the wrong dark/light palette. */
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
    color-scheme: dark;
    background-color: var(--control-bg);
    color: var(--body-text);
    border-color: var(--control-border);
}

html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
    color-scheme: light;
    background-color: var(--control-bg);
    color: #0f172a;
    border-color: var(--control-border);
}

html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
    color: #64748b;
    opacity: 1;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
    color: #94a3b8;
    opacity: 1;
}

html[data-theme="light"] .glass-card,
html[data-theme="light"] .modal-view,
html[data-theme="light"] .form,
html[data-theme="light"] .stat-card,
html[data-theme="light"] .car-card,
html[data-theme="light"] .empty-state {
    color: #334155;
    background-color: var(--surface-solid);
    border-color: #e2e8f0;
}

html[data-theme="dark"] .glass-card,
html[data-theme="dark"] .modal-view,
html[data-theme="dark"] .form,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .car-card,
html[data-theme="dark"] .empty-state {
    color: #e2e8f0;
}

html[data-theme="light"] .table th,
html[data-theme="light"] .table td {
    border-color: #e2e8f0;
}

html[data-theme="light"] .mobile-bottom-nav {
    background: rgba(255, 255, 255, 0.94);
    border-top-color: #e2e8f0;
}

/* Mobile drawer must sit above every page-level modal, sticky card and header.
   JS moves it to <body> while open, avoiding header stacking contexts. */
@media (max-width: 768px) {
    html[data-theme="light"] .header-actions .mobile-menu-toggle {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        background: #ffffff !important;
        border: 1px solid #94a3b8 !important;
        color: #0f172a !important;
        opacity: 1 !important;
        visibility: visible !important;
        box-shadow: 0 2px 8px rgba(15, 23, 42, .12) !important;
    }
    html[data-theme="light"] .header-actions .mobile-menu-toggle i {
        display: block !important;
        color: #0f172a !important;
        opacity: 1 !important;
    }
    html[data-theme="light"] .header-actions .mobile-menu-toggle:active {
        background: #dbeafe !important;
        border-color: #0284c7 !important;
        color: #0369a1 !important;
    }

    /* Ochilgan drawer barcha keyingi umumiy uslublardan ustun turadi. */
    .nav-menu.active {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateX(0) !important;
    }
    html[data-theme="light"] .nav-menu.active {
        background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%) !important;
        color: #0f172a !important;
    }

    body:has(.nav-menu.active) .main-header,
    body.mobile-nav-open .main-header {
        z-index: 2147483000 !important;
    }

    body:has(.nav-menu.active) .nav-backdrop,
    body.mobile-nav-open .nav-backdrop {
        z-index: 2147483001 !important;
    }

    body:has(.nav-menu.active) .nav-menu,
    body.mobile-nav-open .nav-menu {
        z-index: 2147483002 !important;
    }

    /* Light rejimda drawer foni oq, ichidagi yozuvlar to'q bo'lishi shart.
       Oldingi umumiy dark-drawer override link ranglari bilan zid kelardi. */
    html[data-theme="light"] .nav-menu {
        background: linear-gradient(165deg, #ffffff 0%, #f1f5f9 100%) !important;
        border-left-color: #cbd5e1 !important;
        box-shadow: -10px 0 40px rgba(15, 23, 42, .16) !important;
    }
    html[data-theme="light"] .nav-menu .nav-link {
        color: #1e293b !important;
    }
    html[data-theme="light"] .nav-menu .nav-link i { color: #475569 !important; }
    html[data-theme="light"] .nav-menu .nav-link.active {
        color: #075985 !important;
        background: #dbeafe !important;
        border-color: #93c5fd !important;
    }
    html[data-theme="light"] .nav-menu .nav-link.active i { color: #0284c7 !important; }
    html[data-theme="light"] .nav-drawer-header,
    html[data-theme="light"] .nav-drawer-actions { border-color: #cbd5e1 !important; }
    html[data-theme="light"] .nav-drawer-logo,
    html[data-theme="light"] .nav-drawer-logo .logo-text { color: #0f172a !important; }

    /* Telefon drawerining yakuniy, qulay ko'rinishi. */
    .nav-menu {
        width: min(88vw, 360px) !important;
        padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px) !important;
        gap: .1rem !important;
    }
    .nav-drawer-header {
        position: sticky;
        top: 0;
        z-index: 1;
        min-height: 64px;
        padding: .8rem 1rem !important;
        background: inherit;
        backdrop-filter: blur(18px);
        display: flex !important;
        justify-content: space-between !important;
        width: 100%;
    }
    .nav-drawer-logo .logo-text { font-size: 1.2rem; }
    .nav-drawer-close {
        position: static !important;
        margin-left: auto !important;
        width: 38px !important;
        height: 38px !important;
        border-radius: 12px !important;
    }
    .nav-menu .nav-link {
        width: calc(100% - 1rem) !important;
        min-height: 48px;
        margin: .12rem .5rem !important;
        padding: .7rem .8rem !important;
        border-radius: 12px !important;
        font-size: .9rem !important;
    }
    .nav-menu .nav-link i {
        width: 30px !important;
        height: 30px;
        display: inline-grid;
        place-items: center;
        border-radius: 9px;
        background: rgba(148, 163, 184, .13);
        font-size: .92rem !important;
    }
    .nav-menu .nav-link.active i { background: rgba(56, 189, 248, .16); }
    .nav-drawer-actions {
        display: block !important;
        width: 100%;
        margin-top: auto;
        padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom, 0px));
        border-top: 1px solid rgba(148, 163, 184, .18);
    }
    .nav-drawer-actions form,
    .nav-drawer-actions a { width: 100%; }
    .nav-drawer-actions .btn-logout,
    .nav-drawer-actions .btn-login,
    .nav-drawer-actions .btn-register {
        width: 100%;
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: .5rem;
        border-radius: 12px;
    }
    html[data-theme="light"] .nav-menu .nav-link i { background: #e2e8f0; color: #475569 !important; }
    html[data-theme="light"] .nav-menu .nav-link.active i { background: #bfdbfe; color: #0369a1 !important; }
    html[data-theme="light"] .nav-drawer-actions { border-top-color: #cbd5e1 !important; }
}
