/* ============================================================
   LI Riders - Professional Dashboard UI
   Global design layer for admin, driver, passenger dashboards
   ============================================================ */

/* ---------- Typography ---------- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root {
    /* Surfaces */
    --ui-bg: #f5f7fb;
    --ui-bg-alt: #eef2f9;
    --ui-surface: #ffffff;
    --ui-surface-soft: #f8fafd;
    --ui-surface-muted: #f1f5fb;

    /* Borders */
    --ui-border: #e3e9f3;
    --ui-border-strong: #cfd8e8;

    /* Text */
    --ui-title: #0f172a;        /* page / card titles */
    --ui-text: #1e293b;         /* body text */
    --ui-text-dim: #64748b;     /* secondary text */
    --ui-text-muted: #94a3b8;   /* placeholders, captions */

    /* Brand / semantic */
    --ui-primary: #2563eb;
    --ui-primary-600: #1d4ed8;
    --ui-primary-soft: #e8f0ff;
    --ui-success: #16a34a;
    --ui-success-soft: #dcfce7;
    --ui-danger: #dc2626;
    --ui-danger-soft: #fee2e2;
    --ui-warning: #d97706;
    --ui-warning-soft: #fef3c7;
    --ui-info: #0891b2;
    --ui-info-soft: #cffafe;
    --ui-purple: #7c3aed;
    --ui-purple-soft: #ede9fe;

    /* Effects */
    --ui-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --ui-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    --ui-shadow-lg: 0 14px 34px rgba(15, 23, 42, 0.10);
    --ui-radius-sm: 8px;
    --ui-radius: 12px;
    --ui-radius-lg: 16px;

    /* Type scale */
    --ui-font: 'Inter', 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --ui-font-display: 'Plus Jakarta Sans', 'Inter', -apple-system, sans-serif;
}

/* ---------- Global base ---------- */
html, body {
    background: linear-gradient(180deg, var(--ui-bg) 0%, var(--ui-bg-alt) 100%) !important;
    color: var(--ui-text) !important;
    font-family: var(--ui-font) !important;
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: -0.005em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
}

body, input, select, textarea, button {
    font-family: var(--ui-font) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--ui-font-display) !important;
    color: var(--ui-title) !important;
    letter-spacing: -0.02em;
    font-weight: 700;
    line-height: 1.25;
}

a { color: var(--ui-primary); }
a:hover { color: var(--ui-primary-600); }

/* ---------- Global brand token overrides (landing + auth) ----------
   Several templates define --primary-gold / --secondary-gold etc. We
   neutralize every gold token to the brand blue so legacy references
   (fills, strokes, linear-gradients, shadows) all render correctly. */
:root,
html body,
.main-container,
.navbar,
.footer,
.hero,
.services,
.customer-satisfaction,
.customer-reviews,
.faq-section,
.contact,
.fare-calculator {
    --primary-gold: #2563eb !important;
    --secondary-gold: #3b82f6 !important;
    --dark-gold: #1d4ed8 !important;
    --light-gold: #e8f0ff !important;
    --accent-gold: #1d4ed8 !important;
    --primary-color: #2563eb !important;
}

/* ---------- Landing / public site ---------- */
.navbar,
.navbar.scrolled {
    background: rgba(255, 255, 255, 0.94) !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
    backdrop-filter: blur(10px);
}
.nav-menu a, .logo, .login-button { color: var(--ui-text) !important; }
.logo,
.logo-icon,
.nav-logo { color: var(--ui-primary-600) !important; }

.services, .about, .booking, .customer-satisfaction,
.customer-reviews, .faq-section, .fare-calculator,
.contact { background: transparent !important; }

/* Kill the "← Scroll →" mobile indicator badge on tables (it looked bad) */
.table-container::after,
.admin-container .table-container::after,
.dashboard-container .table-container::after {
    content: none !important;
    display: none !important;
}

/* Polish the mobile table container itself */
@media (max-width: 768px) {
    .admin-container .table-container,
    .dashboard-container .table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border: 1px solid var(--ui-border) !important;
        border-radius: 12px !important;
        background: var(--ui-surface) !important;
        margin: 0 !important;
        padding: 0 !important;
        box-shadow: var(--ui-shadow-sm) !important;
    }
    /* Subtle right-edge fade to hint at horizontal scroll without an intrusive label */
    .admin-container .table-container,
    .dashboard-container .table-container {
        -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
                mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
    }
    .admin-container .data-table,
    .dashboard-container .data-table { min-width: 720px !important; }
}

/* "Leading the Future of Transportation" section - neutralise gold */
.about .feature-icon,
.about-text .feature-icon,
.feature-item .feature-icon,
.feature-icon {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    color: var(--ui-primary-600) !important;
    border: 1.5px solid rgba(37, 99, 235, 0.22) !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.12) !important;
    border-radius: 12px !important;
}
.about .feature-icon i,
.feature-item .feature-icon i,
.feature-icon i {
    color: var(--ui-primary-600) !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
    background: none !important;
}

/* Stats row (10K+, 500+, 50+) under the about section */
.about .stats .stat-item h3,
.about-text .stats .stat-item h3,
.stats .stat-item h3,
.stat-item h3 {
    color: var(--ui-primary-600) !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
    background: none !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 800 !important;
}
.about .stats .stat-item p,
.stats .stat-item p,
.stat-item p {
    color: var(--ui-text-dim) !important;
    font-weight: 500 !important;
}

/* Neutralise gold tiles on the "Our Services" icons */
.service-card .service-icon,
.services .service-icon,
.service-icon {
    background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%) !important;
    color: var(--ui-primary-600) !important;
    border: 1.5px solid rgba(37, 99, 235, 0.22) !important;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.12) !important;
}
.service-card .service-icon i,
.services .service-icon i,
.service-icon i {
    color: var(--ui-primary-600) !important;
    background: none !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
}
.service-card:hover .service-icon {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border-color: #2563eb !important;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.32) !important;
}
.service-card:hover .service-icon i {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}
.service-card:hover .service-title {
    color: var(--ui-primary-600) !important;
}

.service-card, .review-card, .faq-item,
.contact-info, .contact-form, .booking-form-container,
.calculator-card, .form-section {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: var(--ui-shadow) !important;
}

.section-title, .service-title, .about-text h2,
.contact-info h2, .contact-form h2, .calculator-intro h2,
.faq-question h3, .reviewer-info h4 { color: var(--ui-title) !important; }

.section-subtitle, .service-description, .about-text p,
.feature-text p, .contact-text p, .calculator-intro p,
.faq-answer p, .reviewer-info span {
    color: var(--ui-text-dim) !important;
}

.service-card:hover, .review-card:hover, .faq-item:hover {
    transform: translateY(-4px);
    border-color: var(--ui-border-strong) !important;
    box-shadow: var(--ui-shadow-lg) !important;
}

/* ---------- Hero ---------- */
.hero { min-height: 100dvh; position: relative; overflow: hidden; }
.hero-slide::before {
    content: '' !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.55) 0%, rgba(15, 23, 42, 0.82) 100%) !important;
    z-index: 1 !important;
}
.hero-content {
    color: #ffffff !important;
    z-index: 2 !important;
    position: relative !important;
    padding: 0 20px !important;
    max-width: 900px;
    margin: 0 auto;
}
.hero-title,
.hero-content h1,
.hero-content h2,
.hero-slide h1 {
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
    text-shadow: 0 6px 28px rgba(0, 0, 0, 0.55), 0 2px 4px rgba(0, 0, 0, 0.45) !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.1 !important;
    margin-bottom: 18px !important;
}
.hero-subtitle,
.hero-content p,
.hero-slide p {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55) !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    margin-bottom: 28px !important;
}
.hero-buttons {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 14px !important;
    justify-content: center !important;
}
.hero-buttons a,
.hero-buttons .btn-primary,
.hero-buttons .cta-button,
.hero-buttons .btn-secondary,
.hero-buttons .learn-more-button {
    min-width: 160px !important;
    justify-content: center !important;
    padding: 12px 26px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 999px !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
}
.hero-buttons .btn-secondary,
.hero-buttons .learn-more-button,
.hero-buttons a.learn-more {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
    border: 1px solid #ffffff !important;
}
.hero-buttons .btn-secondary:hover,
.hero-buttons .learn-more-button:hover {
    background: #f1f5fb !important;
    color: var(--ui-primary-600) !important;
}

/* ---------- Customer Satisfaction stats ---------- */
.customer-satisfaction .stats-grid,
.customer-satisfaction .satisfaction-stats {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 20px !important;
}
.customer-satisfaction .stat-card,
.customer-satisfaction .satisfaction-item {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    padding: 28px 20px !important;
    text-align: center !important;
    box-shadow: var(--ui-shadow) !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.customer-satisfaction .stat-card:hover,
.customer-satisfaction .satisfaction-item:hover {
    transform: translateY(-4px);
    box-shadow: var(--ui-shadow-lg) !important;
    border-color: var(--ui-border-strong) !important;
}
.customer-satisfaction .stat-number,
.customer-satisfaction .satisfaction-number {
    color: var(--ui-primary-600) !important;
    background: none !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 800 !important;
    font-size: clamp(32px, 5vw, 44px) !important;
    letter-spacing: -0.03em !important;
    line-height: 1.05 !important;
    text-shadow: none !important;
    margin-bottom: 10px !important;
}
.customer-satisfaction .stat-card:hover .stat-number {
    color: var(--ui-primary) !important;
    -webkit-text-fill-color: var(--ui-primary) !important;
}
.customer-satisfaction .stat-label {
    color: var(--ui-text-dim) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    margin-top: 4px !important;
}

/* ---------- Footer ---------- */
.footer {
    background: linear-gradient(180deg, #0f172a 0%, #0b1327 100%) !important;
    color: #e2e8f0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}
.footer::before { background: var(--ui-primary) !important; }
.footer-section h3,
.footer h3, .footer h4 {
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.01em;
    margin-bottom: 18px !important;
}
.footer-logo,
.footer-logo h2,
.footer-logo h3,
.footer-logo span {
    color: #ffffff !important;
}
.footer-logo-icon,
.footer .logo-icon {
    background: var(--ui-primary) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
}
.footer-text,
.footer-section p,
.footer p {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    line-height: 1.65 !important;
}
.footer-links a,
.footer a {
    color: #cbd5e1 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    opacity: 1 !important;
}
.footer-links a:hover,
.footer a:hover {
    color: #ffffff !important;
    transform: translateX(3px);
}
.footer-social a,
.footer-social li a {
    background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25) !important;
}
.footer-social a:hover {
    background: linear-gradient(135deg, #2563eb 0%, #3b82f6 100%) !important;
    transform: translateY(-3px);
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.38) !important;
}
.footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    margin-top: 40px !important;
    padding-top: 24px !important;
}
.footer-bottom::before { background: var(--ui-primary) !important; }
.footer-bottom p,
.footer-bottom a { color: #94a3b8 !important; }

/* ---------- Auth pages (login / register) ---------- */
body.auth-page,
html:has(body.auth-page) {
    background:
        radial-gradient(900px 600px at 8% 10%, rgba(37, 99, 235, 0.22), transparent 60%),
        radial-gradient(800px 520px at 92% 90%, rgba(124, 58, 237, 0.18), transparent 60%),
        radial-gradient(600px 400px at 50% 50%, rgba(59, 130, 246, 0.10), transparent 70%),
        linear-gradient(135deg, #eef3fb 0%, #e4ecf9 55%, #e8e3fb 100%) !important;
    min-height: 100dvh !important;
    position: relative;
}

/* Floating decorative blobs (pure CSS, no images) */
body.auth-page::before,
body.auth-page::after {
    content: "";
    position: fixed;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.55;
    z-index: 0;
    pointer-events: none;
    animation: authBlobFloat 16s ease-in-out infinite;
}
body.auth-page::before {
    top: -140px; left: -140px;
    width: 420px; height: 420px;
    background: radial-gradient(circle, #60a5fa 0%, #2563eb 70%);
}
body.auth-page::after {
    bottom: -160px; right: -160px;
    width: 480px; height: 480px;
    background: radial-gradient(circle, #a78bfa 0%, #7c3aed 70%);
    animation-delay: -8s;
}
@keyframes authBlobFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(24px, -24px) scale(1.06); }
}

/* Keep the card above the decorative layers */
body.auth-page .main-container,
body.auth-page .back-home-btn { position: relative; z-index: 2; }

.main-container {
    background: var(--ui-surface) !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 20px !important;
    box-shadow:
        0 30px 60px -20px rgba(37, 99, 235, 0.22),
        0 20px 45px -15px rgba(15, 23, 42, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(10px);
}
.left-panel {
    background: linear-gradient(170deg, #eff6ff 0%, #e0eaff 55%, #dbeafe 100%) !important;
}
.left-panel .logo-section h1,
.left-panel .feature-card h3 { color: var(--ui-title) !important; }
.left-panel .logo-section p,
.left-panel .feature-card p { color: var(--ui-text-dim) !important; }
.left-panel .feature-card {
    background: rgba(255, 255, 255, 0.72) !important;
    border: 1px solid #d7e3f5 !important;
    border-radius: var(--ui-radius) !important;
}
.right-panel { background: #ffffff !important; }
.form-header h2 {
    color: var(--ui-title) !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 800 !important;
    font-size: clamp(22px, 3.2vw, 28px) !important;
}
.form-group label {
    color: var(--ui-title) !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
}
.form-header p { color: var(--ui-text-dim) !important; font-size: 13.5px !important; }

/* Login / Register input icons (were gold #FFD700) */
.input-wrapper { position: relative; }
.input-wrapper i,
.input-wrapper .fa,
.input-wrapper .fas,
.input-wrapper .far {
    color: var(--ui-text-muted) !important;
    background: none !important;
    -webkit-text-fill-color: var(--ui-text-muted) !important;
    font-size: 15px !important;
}
.input-wrapper input:focus ~ i,
.input-wrapper:focus-within i {
    color: var(--ui-primary) !important;
    -webkit-text-fill-color: var(--ui-primary) !important;
}
.form-group input,
.form-group input[type="email"],
.form-group input[type="password"],
.form-group input[type="text"],
.form-group input[type="tel"] {
    background: #ffffff !important;
    border: 1.5px solid var(--ui-border-strong) !important;
    border-radius: 10px !important;
    color: var(--ui-text) !important;
    font-size: 14px !important;
    padding: 12px 16px 12px 42px !important;
    box-shadow: none !important;
    transition: all 0.18s ease !important;
}
.form-group input:focus {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    background: #ffffff !important;
}

/* Auth page action buttons */
.login-btn, .register-btn, .submit-btn {
    width: 100% !important;
    padding: 12px 18px !important;
    font-size: 14.5px !important;
}

/* Auth page links (forgot password, signup cross-link) */
.form-options a,
.form-footer a,
.right-panel .form-footer a { color: var(--ui-primary) !important; }
.form-options a:hover,
.form-footer a:hover { color: var(--ui-primary-600) !important; text-decoration: underline; }

/* ---------- Kill remaining gold on auth pages ---------- */
/* Back to Home floating button - always visible, fixed to the top-left corner */
body.auth-page .back-home-btn,
.back-home-btn {
    position: fixed !important;
    top: 20px !important;
    left: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 18px !important;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 999px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28), 0 2px 6px rgba(15, 23, 42, 0.12) !important;
    z-index: 1000 !important;
    transition: all 0.18s ease !important;
    white-space: nowrap;
}
body.auth-page .back-home-btn:hover,
.back-home-btn:hover {
    background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 14px 30px rgba(37, 99, 235, 0.38), 0 3px 8px rgba(15, 23, 42, 0.14) !important;
}
body.auth-page .back-home-btn i,
.back-home-btn i {
    color: #ffffff !important;
    margin-right: 0 !important;
    font-size: 12px !important;
}

/* Tighter on smaller screens so it never covers the card */
@media (max-width: 768px) {
    body.auth-page .back-home-btn,
    .back-home-btn {
        top: 12px !important;
        left: 12px !important;
        padding: 8px 14px !important;
        font-size: 12.5px !important;
    }
}

/* ---------- Register page role picker (Passenger / Driver) ---------- */
/* Neutralise remaining gold tints */
.role-option label,
.user-type-option label {
    background: #ffffff !important;
    border: 1.5px solid var(--ui-border-strong) !important;
    color: var(--ui-text) !important;
    border-radius: 12px !important;
    transition: all 0.18s ease !important;
}
.role-option label i,
.user-type-option label i {
    color: var(--ui-text-muted) !important;
    -webkit-text-fill-color: var(--ui-text-muted) !important;
    background: none !important;
}
.role-option label:hover,
.user-type-option label:hover {
    border-color: var(--ui-primary) !important;
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
}
.role-option input[type="radio"]:checked + label,
.user-type-option input[type="radio"]:checked + label {
    border-color: var(--ui-primary) !important;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.10), rgba(37, 99, 235, 0.04)) !important;
    color: var(--ui-primary-600) !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.14) !important;
}
.role-option input[type="radio"]:checked + label i,
.user-type-option input[type="radio"]:checked + label i {
    color: var(--ui-primary-600) !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
}

/* Auth logo tile (left panel) */
.left-panel .logo-section .logo,
.left-panel .logo-section > .logo {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    color: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 24px rgba(37, 99, 235, 0.28) !important;
}
.left-panel .logo-section .logo i,
.left-panel .logo-section > .logo i {
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Auth feature card icon tile */
.feature-card .icon,
.left-panel .feature-card .icon {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    border-radius: 8px !important;
    color: #ffffff !important;
    box-shadow: 0 4px 10px rgba(37, 99, 235, 0.25);
}
.feature-card .icon i,
.left-panel .feature-card .icon i {
    color: #ffffff !important;
    background: none !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Auth left panel readable text */
.left-panel .logo-section h1,
.left-panel h1,
.left-panel .logo-section span,
.left-panel .feature-card h3 {
    color: var(--ui-title) !important;
}
.left-panel .logo-section p,
.left-panel .feature-card p,
.left-panel p {
    color: var(--ui-text-dim) !important;
}

/* Login / Register bottom action buttons (were gold-outlined) */
.action-buttons .action-btn,
.right-panel .action-btn,
a.action-btn {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
    border: 1.5px solid #cfe0ff !important;
    border-radius: 10px !important;
    font-weight: 600 !important;
    font-size: 13.5px !important;
    padding: 10px 16px !important;
    min-height: 42px !important;
    transition: all 0.18s ease !important;
    box-shadow: none !important;
}
.action-buttons .action-btn::before,
.right-panel .action-btn::before,
a.action-btn::before {
    display: none !important;
}
.action-buttons .action-btn:hover,
.right-panel .action-btn:hover,
a.action-btn:hover {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    border-color: var(--ui-primary) !important;
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.14) !important;
}

/* ---------- Section title decorative underline (was gold) ---------- */
.satisfaction-text h2::after,
.contact-form h2::after,
.section-title::after,
.customer-satisfaction h2::after,
.about-text h2::after,
.services h2::after {
    background: linear-gradient(90deg, #2563eb 0%, #3b82f6 100%) !important;
}

/* ---------- Customer satisfaction subtitle contrast fix ---------- */
.customer-satisfaction .section-subtitle,
.customer-satisfaction h3 + p,
.customer-satisfaction .satisfaction-subtitle,
.customer-satisfaction .satisfaction-text p,
.satisfaction-text p {
    color: #1e293b !important;
    opacity: 1 !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    text-shadow: none !important;
    -webkit-text-fill-color: #1e293b !important;
    max-width: 620px;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---------- Sidebar footer / logout button ---------- */
.admin-container .sidebar-footer,
.dashboard-container .sidebar-footer {
    flex: 0 0 auto !important;
    padding: 14px 14px 18px !important;
    border-top: 1px solid var(--ui-border) !important;
    background: var(--ui-surface) !important;
}
.admin-container .sidebar-logout,
.dashboard-container .sidebar-logout {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 11px 16px !important;
    background: #fff1f2 !important;
    color: #b91c1c !important;
    border: 1px solid #fecdd3 !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: all 0.18s ease !important;
    text-decoration: none !important;
    font-family: var(--ui-font) !important;
}
.admin-container .sidebar-logout i,
.dashboard-container .sidebar-logout i {
    color: #b91c1c !important;
    font-size: 14px !important;
}
.admin-container .sidebar-logout:hover,
.dashboard-container .sidebar-logout:hover {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
    box-shadow: 0 8px 18px rgba(220, 38, 38, 0.28) !important;
    transform: translateY(-1px);
}
.admin-container .sidebar-logout:hover i,
.dashboard-container .sidebar-logout:hover i { color: #ffffff !important; }

/* ---------- User dropdown menu (top-right in dashboards) ---------- */
.admin-container .user-menu,
.dashboard-container .user-menu { position: relative !important; }

/* Show dropdown on hover (desktop), click (.active) or keyboard focus */
.admin-container .user-menu:hover .user-dropdown,
.admin-container .user-menu:focus-within .user-dropdown,
.admin-container .user-menu.active .user-dropdown,
.dashboard-container .user-menu:hover .user-dropdown,
.dashboard-container .user-menu:focus-within .user-dropdown,
.dashboard-container .user-menu.active .user-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}

.admin-container .user-dropdown,
.dashboard-container .user-dropdown {
    position: absolute !important;
    top: calc(100% + 10px) !important;
    right: 0 !important;
    left: auto !important;
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 14px !important;
    box-shadow: 0 24px 50px -12px rgba(15, 23, 42, 0.22),
                0 10px 24px -8px rgba(15, 23, 42, 0.12) !important;
    padding: 8px !important;
    min-width: 240px !important;
    overflow: hidden;
    margin-top: 0 !important;
    z-index: 1500 !important;
    transform-origin: top right;
}

/* Small caret pointing to the trigger corner */
.admin-container .user-dropdown::before,
.dashboard-container .user-dropdown::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 18px;
    width: 12px;
    height: 12px;
    background: var(--ui-surface);
    border-left: 1px solid var(--ui-border);
    border-top: 1px solid var(--ui-border);
    transform: rotate(45deg);
    border-top-left-radius: 3px;
}
.admin-container .dropdown-item,
.dashboard-container .dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 10px 12px !important;
    border-radius: 8px !important;
    color: var(--ui-text) !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: all 0.15s ease !important;
}
.admin-container .dropdown-item i,
.dashboard-container .dropdown-item i {
    color: var(--ui-text-dim) !important;
    width: 18px;
    text-align: center;
    font-size: 14px !important;
}
.admin-container .dropdown-item:hover,
.dashboard-container .dropdown-item:hover {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
}
.admin-container .dropdown-item:hover i,
.dashboard-container .dropdown-item:hover i { color: var(--ui-primary-600) !important; }

/* Special styling for logout in dropdown */
.admin-container .dropdown-item[onclick*="logout"],
.dashboard-container .dropdown-item[onclick*="logout"] {
    color: #b91c1c !important;
    border-top: 1px solid var(--ui-border) !important;
    margin-top: 4px !important;
    border-radius: 0 0 8px 8px !important;
}
.admin-container .dropdown-item[onclick*="logout"] i,
.dashboard-container .dropdown-item[onclick*="logout"] i { color: #b91c1c !important; }
.admin-container .dropdown-item[onclick*="logout"]:hover,
.dashboard-container .dropdown-item[onclick*="logout"]:hover {
    background: #fef2f2 !important;
    color: #991b1b !important;
}
.admin-container .dropdown-item[onclick*="logout"]:hover i,
.dashboard-container .dropdown-item[onclick*="logout"]:hover i { color: #991b1b !important; }

/* ============================================================
   DASHBOARD SHELL
   ============================================================ */

.admin-container,
.dashboard-container {
    min-height: 100dvh !important;
    background: transparent !important;
}

/* ---------- Sidebar ---------- */
.admin-container .sidebar,
.dashboard-container .sidebar {
    width: 280px !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border-right: 1px solid var(--ui-border) !important;
    box-shadow: 4px 0 18px rgba(15, 23, 42, 0.05) !important;
    height: 100dvh !important;
    overflow: hidden !important;
}

.admin-container .sidebar-header,
.dashboard-container .sidebar-header {
    padding: 20px 18px !important;
    background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 50%, #2563eb 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #ffffff !important;
    position: relative;
}
.admin-container .sidebar-header::after,
.dashboard-container .sidebar-header::after {
    content: "";
    position: absolute; inset: auto 0 0 0; height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.28), transparent);
}

/* Override gold tones in logo / user avatar area */
.admin-container .sidebar-header .logo-icon,
.dashboard-container .sidebar-header .logo-icon {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18) !important;
}
.admin-container .sidebar-header .logo-icon i,
.dashboard-container .sidebar-header .logo-icon i {
    color: var(--ui-primary-600) !important;
    background: none !important;
    -webkit-text-fill-color: var(--ui-primary-600) !important;
}

.admin-container .sidebar-header .logo-text h2,
.dashboard-container .sidebar-header .logo-text h2,
.admin-container .sidebar-header .logo,
.dashboard-container .sidebar-header .logo,
.admin-container .sidebar-header h2,
.dashboard-container .sidebar-header h2,
.admin-container .sidebar-header h1,
.dashboard-container .sidebar-header h1 {
    color: #ffffff !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 800 !important;
    letter-spacing: -0.01em;
    font-size: 18px !important;
    margin: 0 !important;
}
.admin-container .sidebar-header .logo-text p,
.dashboard-container .sidebar-header .logo-text p,
.admin-container .sidebar-header p,
.dashboard-container .sidebar-header p,
.admin-container .sidebar-header .logo-text span,
.dashboard-container .sidebar-header .logo-text span {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 11.5px !important;
    margin: 0 !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
}

.admin-container .sidebar-header .user-info,
.dashboard-container .sidebar-header .user-info {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    padding: 10px 12px !important;
    border-radius: 10px !important;
    backdrop-filter: blur(6px);
    margin-top: 14px !important;
}
.admin-container .sidebar-header .user-avatar,
.dashboard-container .sidebar-header .user-avatar {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
    width: 36px !important; height: 36px !important;
    font-weight: 700 !important; font-size: 13px !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
.admin-container .sidebar-header .user-details h4,
.dashboard-container .sidebar-header .user-details h4 {
    color: #ffffff !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    margin: 0 !important;
}
.admin-container .sidebar-header .user-details span,
.dashboard-container .sidebar-header .user-details span {
    color: rgba(255, 255, 255, 0.78) !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
}

.admin-container .nav-menu,
.dashboard-container .nav-menu,
.admin-container .sidebar-nav,
.dashboard-container .sidebar-nav {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 14px 10px !important;
    list-style: none !important;
}
.admin-container .nav-menu ul,
.dashboard-container .nav-menu ul,
.admin-container .sidebar-nav ul,
.dashboard-container .sidebar-nav ul,
.admin-container .nav-section ul,
.dashboard-container .nav-section ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.admin-container .nav-menu li,
.dashboard-container .nav-menu li,
.admin-container .nav-item,
.dashboard-container .nav-item,
.admin-container .nav-section li,
.dashboard-container .nav-section li {
    list-style: none !important;
    margin: 2px 4px !important;
    padding: 0 !important;
}
.admin-container .nav-menu li::marker,
.dashboard-container .nav-menu li::marker,
.admin-container .nav-item::marker,
.dashboard-container .nav-item::marker { content: "" !important; }

.admin-container .nav-section,
.dashboard-container .nav-section { margin-bottom: 16px !important; }

.admin-container .nav-section-title,
.dashboard-container .nav-section-title {
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    padding: 14px 14px 6px !important;
}

.admin-container .nav-link,
.dashboard-container .nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    color: #334155 !important;
    padding: 10px 14px !important;
    margin: 2px 4px !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    border: 1px solid transparent !important;
    transition: all 0.18s ease !important;
    text-decoration: none !important;
}
.admin-container .nav-link i,
.dashboard-container .nav-link i {
    width: 20px;
    text-align: center;
    color: #64748b !important;
    font-size: 14px;
}
.admin-container .nav-link:hover,
.dashboard-container .nav-link:hover {
    background: #f1f5fb !important;
    color: var(--ui-primary-600) !important;
}
.admin-container .nav-link:hover i,
.dashboard-container .nav-link:hover i { color: var(--ui-primary) !important; }

.admin-container .nav-link.active,
.dashboard-container .nav-link.active {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    border-color: #cfe0ff !important;
    font-weight: 600 !important;
}
.admin-container .nav-link.active i,
.dashboard-container .nav-link.active i { color: var(--ui-primary-600) !important; }

/* ---------- Main content ---------- */
.admin-container .main-content,
.dashboard-container .main-content {
    display: flex !important;
    flex-direction: column !important;
    min-height: 100dvh !important;
    background: linear-gradient(180deg, #f7faff 0%, #eef3fa 100%) !important;
}

/* ---------- Top bar ---------- */
.admin-container .top-bar,
.dashboard-container .top-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    padding: 14px 24px !important;
    gap: 16px !important;
    background: #ffffff !important;
    border-bottom: 1px solid var(--ui-border) !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, 0.02);
}
.admin-container .page-header,
.dashboard-container .page-header {
    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-auto-rows: auto;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 2px !important;
    min-width: 0 !important;
    flex: 1 1 auto;
}
.admin-container .page-header .mobile-menu-toggle,
.dashboard-container .page-header .mobile-menu-toggle {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: center;
    width: 38px; height: 38px;
    background: var(--ui-surface-soft) !important;
    color: var(--ui-title) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 10px !important;
    cursor: pointer;
    padding: 0 !important;
}
.admin-container .page-header .mobile-menu-toggle:hover,
.dashboard-container .page-header .mobile-menu-toggle:hover {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    border-color: #cfe0ff !important;
}
.admin-container .page-header .page-title,
.dashboard-container .page-header .page-title { grid-column: 2; grid-row: 1; }
.admin-container .page-header .page-subtitle,
.dashboard-container .page-header .page-subtitle { grid-column: 2; grid-row: 2; }
.admin-container .page-title,
.dashboard-container .page-title {
    font-family: var(--ui-font-display) !important;
    color: var(--ui-title) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    display: block !important;
}
.admin-container .page-subtitle,
.dashboard-container .page-subtitle {
    color: var(--ui-text-dim) !important;
    font-size: 13px !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    display: block !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
}

.admin-container .top-actions,
.dashboard-container .top-actions {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    min-width: 0 !important;
}

.admin-container .search-bar,
.dashboard-container .search-bar {
    position: relative !important;
    flex: 1 1 300px !important;
    min-width: 180px !important;
    max-width: 440px !important;
}
.admin-container .search-bar .search-icon,
.dashboard-container .search-bar .search-icon,
.admin-container .top-bar .search-icon,
.dashboard-container .top-bar .search-icon {
    position: absolute !important;
    left: 14px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--ui-text-muted) !important;
    font-size: 13px !important;
    pointer-events: none;
    z-index: 2;
}
.admin-container .top-bar .search-bar .search-input,
.dashboard-container .top-bar .search-bar .search-input,
.admin-container .top-bar .search-input,
.dashboard-container .top-bar .search-input {
    width: 100% !important;
    padding: 10px 14px 10px 40px !important;
    background: var(--ui-surface-muted) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    min-height: 40px !important;
    line-height: 1.4 !important;
    transition: all 0.18s ease !important;
    box-shadow: none !important;
}
.admin-container .top-bar .search-input:focus,
.dashboard-container .top-bar .search-input:focus {
    background: #ffffff !important;
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    outline: none !important;
}
.admin-container .top-bar .search-input::placeholder,
.dashboard-container .top-bar .search-input::placeholder {
    color: var(--ui-text-muted) !important;
    opacity: 1 !important;
}

/* User menu */
.admin-container .user-menu,
.dashboard-container .user-menu { position: relative; }
.admin-container .user-menu-trigger,
.dashboard-container .user-menu-trigger {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 6px 12px 6px 6px !important;
    background: var(--ui-surface-soft) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 999px !important;
    color: var(--ui-text) !important;
    cursor: pointer;
    transition: all 0.18s ease;
}
.admin-container .user-menu-trigger:hover,
.dashboard-container .user-menu-trigger:hover {
    border-color: var(--ui-border-strong) !important;
    box-shadow: var(--ui-shadow-sm) !important;
}
.admin-container .user-menu-avatar,
.dashboard-container .user-menu-avatar {
    width: 34px; height: 34px;
    border-radius: 50%;
    background: linear-gradient(135deg, #3b82f6, #1e40af) !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden;
}
.admin-container .user-menu-name,
.dashboard-container .user-menu-name {
    font-size: 13px !important; font-weight: 600 !important;
    color: var(--ui-title) !important;
}
.admin-container .user-menu-role,
.dashboard-container .user-menu-role {
    font-size: 11px !important; color: var(--ui-text-muted) !important;
}
.admin-container .user-menu-info,
.dashboard-container .user-menu-info {
    max-width: 170px;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

/* Content area */
.admin-container .content-area,
.dashboard-container .content-area {
    padding: 24px !important;
}
.admin-container .content-section,
.dashboard-container .content-section {
    padding: 0 !important;
}

/* ---------- Welcome header ---------- */
.admin-container .welcome-header,
.dashboard-container .welcome-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 55%, #3b82f6 100%) !important;
    color: #ffffff !important;
    padding: 22px 26px !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: 0 16px 34px rgba(37, 99, 235, 0.18) !important;
    margin-bottom: 24px !important;
    position: relative;
    overflow: hidden;
}
.admin-container .welcome-header::after,
.dashboard-container .welcome-header::after {
    content: "";
    position: absolute; right: -40px; top: -60px;
    width: 260px; height: 260px;
    background: radial-gradient(closest-side, rgba(255,255,255,0.18), transparent 70%);
    pointer-events: none;
}
.admin-container .welcome-title,
.dashboard-container .welcome-title,
.admin-container .welcome-header h1,
.dashboard-container .welcome-header h1,
.admin-container .welcome-header h2,
.dashboard-container .welcome-header h2 {
    color: #ffffff !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    margin: 0 !important;
}
.admin-container .welcome-subtitle,
.dashboard-container .welcome-subtitle,
.admin-container .welcome-header p,
.dashboard-container .welcome-header p {
    color: rgba(255, 255, 255, 0.88) !important;
    font-size: 13.5px !important;
    margin: 4px 0 0 !important;
}
.admin-container .welcome-actions .btn,
.dashboard-container .welcome-actions .btn {
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.12) !important;
}

/* ---------- Metric / Stat cards ---------- */
.admin-container .metrics-grid,
.dashboard-container .metrics-grid,
.admin-container .stats-grid,
.dashboard-container .stats-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}

.admin-container .metric-card,
.dashboard-container .metric-card,
.admin-container .stat-card,
.dashboard-container .stat-card {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    padding: 20px !important;
    display: flex !important;
    align-items: flex-start !important;
    gap: 14px !important;
    box-shadow: var(--ui-shadow) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease !important;
}
.admin-container .metric-card::before,
.dashboard-container .metric-card::before,
.admin-container .stat-card::before,
.dashboard-container .stat-card::before {
    content: "";
    position: absolute; inset: 0 auto 0 0; width: 4px;
    background: var(--ui-primary);
}
.admin-container .metric-card.metric-success::before,
.dashboard-container .metric-card.metric-success::before { background: var(--ui-success); }
.admin-container .metric-card.metric-warning::before,
.dashboard-container .metric-card.metric-warning::before { background: var(--ui-warning); }
.admin-container .metric-card.metric-info::before,
.dashboard-container .metric-card.metric-info::before { background: var(--ui-info); }
.admin-container .metric-card.metric-danger::before,
.dashboard-container .metric-card.metric-danger::before { background: var(--ui-danger); }

.admin-container .metric-card:hover,
.dashboard-container .metric-card:hover,
.admin-container .stat-card:hover,
.dashboard-container .stat-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--ui-shadow-lg) !important;
    border-color: var(--ui-border-strong) !important;
}

.admin-container .metric-icon,
.dashboard-container .metric-icon,
.admin-container .stat-icon,
.dashboard-container .stat-icon {
    width: 48px !important; height: 48px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #60a5fa, #2563eb) !important;
    flex-shrink: 0;
}
.admin-container .metric-card.metric-success .metric-icon,
.dashboard-container .metric-card.metric-success .metric-icon {
    background: linear-gradient(135deg, #34d399, #16a34a) !important;
}
.admin-container .metric-card.metric-warning .metric-icon,
.dashboard-container .metric-card.metric-warning .metric-icon {
    background: linear-gradient(135deg, #fbbf24, #d97706) !important;
}
.admin-container .metric-card.metric-info .metric-icon,
.dashboard-container .metric-card.metric-info .metric-icon {
    background: linear-gradient(135deg, #22d3ee, #0891b2) !important;
}
.admin-container .metric-card.metric-danger .metric-icon,
.dashboard-container .metric-card.metric-danger .metric-icon {
    background: linear-gradient(135deg, #f87171, #dc2626) !important;
}

.admin-container .metric-content,
.dashboard-container .metric-content { flex: 1; min-width: 0; }

.admin-container .metric-value,
.dashboard-container .metric-value,
.admin-container .stat-value,
.dashboard-container .stat-value,
.admin-container .stat-number,
.dashboard-container .stat-number {
    font-family: var(--ui-font-display) !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    color: var(--ui-title) !important;
    line-height: 1.1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
}
.admin-container .metric-label,
.dashboard-container .metric-label,
.admin-container .stat-label,
.dashboard-container .stat-label {
    color: var(--ui-text-dim) !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
    text-transform: none !important;
    letter-spacing: 0.01em;
}
.admin-container .metric-change,
.dashboard-container .metric-change,
.admin-container .stat-change,
.dashboard-container .stat-change {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    margin-top: 10px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    padding: 3px 8px !important;
    border-radius: 999px !important;
}
.admin-container .metric-change.positive,
.dashboard-container .metric-change.positive,
.admin-container .stat-change.positive,
.dashboard-container .stat-change.positive {
    color: var(--ui-success) !important;
    background: var(--ui-success-soft) !important;
}
.admin-container .metric-change.negative,
.dashboard-container .metric-change.negative,
.admin-container .stat-change.negative,
.dashboard-container .stat-change.negative {
    color: var(--ui-danger) !important;
    background: var(--ui-danger-soft) !important;
}

/* ---------- Content cards (charts, sections) ---------- */
.admin-container .content-card,
.dashboard-container .content-card,
.admin-container .card,
.dashboard-container .card,
.admin-container .dashboard-card,
.dashboard-container .dashboard-card,
.admin-container .chart-card,
.dashboard-container .chart-card,
.admin-container .quick-actions,
.dashboard-container .quick-actions {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: var(--ui-shadow) !important;
    padding: 20px !important;
}

.admin-container .card-header,
.dashboard-container .card-header,
.admin-container .section-header,
.dashboard-container .section-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    padding-bottom: 14px !important;
    margin-bottom: 16px !important;
    border-bottom: 1px solid var(--ui-border) !important;
}
.admin-container .card-title,
.dashboard-container .card-title,
.admin-container .section-title,
.dashboard-container .section-title,
.admin-container .section-header h2,
.dashboard-container .section-header h2,
.admin-container .section-header h3,
.dashboard-container .section-header h3 {
    font-family: var(--ui-font-display) !important;
    color: var(--ui-title) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    margin: 0 !important;
}
.admin-container .card-actions,
.dashboard-container .card-actions,
.admin-container .section-actions,
.dashboard-container .section-actions {
    display: flex !important;
    gap: 10px !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

/* Dashboard row/col grid */
.admin-container .dashboard-row,
.dashboard-container .dashboard-row {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    gap: 18px !important;
    margin-bottom: 24px !important;
}
.admin-container .dashboard-col-8,
.dashboard-container .dashboard-col-8 { grid-column: span 8; }
.admin-container .dashboard-col-4,
.dashboard-container .dashboard-col-4 { grid-column: span 4; }
.admin-container .dashboard-col-6,
.dashboard-container .dashboard-col-6 { grid-column: span 6; }
.admin-container .dashboard-col-12,
.dashboard-container .dashboard-col-12 { grid-column: span 12; }
@media (max-width: 992px) {
    .admin-container .dashboard-col-8,
    .dashboard-container .dashboard-col-8,
    .admin-container .dashboard-col-4,
    .dashboard-container .dashboard-col-4,
    .admin-container .dashboard-col-6,
    .dashboard-container .dashboard-col-6 { grid-column: span 12 !important; }
}

/* ---------- Quick Actions ---------- */
.admin-container .quick-actions-grid,
.dashboard-container .quick-actions-grid,
.admin-container .quick-actions,
.dashboard-container .quick-actions,
.passenger-container .quick-actions,
.dashboard-container .quick-actions {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
    gap: 14px !important;
}

.admin-container .quick-action-btn,
.dashboard-container .quick-action-btn,
.admin-container .action-card,
.dashboard-container .action-card {
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius) !important;
    padding: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    color: var(--ui-text) !important;
    cursor: pointer;
    transition: all 0.2s ease !important;
    text-decoration: none !important;
    text-align: left !important;
    box-shadow: var(--ui-shadow-sm) !important;
}
.admin-container .quick-action-btn:hover,
.dashboard-container .quick-action-btn:hover,
.admin-container .action-card:hover,
.dashboard-container .action-card:hover {
    transform: translateY(-3px);
    border-color: var(--ui-primary) !important;
    box-shadow: 0 14px 26px rgba(37, 99, 235, 0.12) !important;
}
.admin-container .quick-action-icon,
.dashboard-container .quick-action-icon,
.admin-container .action-card i,
.dashboard-container .action-card i {
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    border-radius: 12px;
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    font-size: 18px !important;
}
.admin-container .quick-action-text,
.dashboard-container .quick-action-text,
.admin-container .action-card h3,
.dashboard-container .action-card h3,
.admin-container .action-card h4,
.dashboard-container .action-card h4 {
    font-size: 14.5px !important;
    font-weight: 600 !important;
    color: var(--ui-title) !important;
    margin: 0 !important;
}
.admin-container .action-card p,
.dashboard-container .action-card p {
    font-size: 12.5px !important;
    color: var(--ui-text-dim) !important;
    margin: 0 !important;
}

/* ---------- Tables ---------- */
.admin-container .table-container,
.dashboard-container .table-container,
.admin-container .data-table-container,
.dashboard-container .data-table-container {
    width: 100% !important;
    background: var(--ui-surface) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: var(--ui-shadow) !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    -webkit-overflow-scrolling: touch;
}

.admin-container table,
.dashboard-container table,
.admin-container .data-table,
.dashboard-container .data-table {
    width: 100% !important;
    min-width: 760px;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #ffffff !important;
    color: var(--ui-text) !important;
    font-size: 13.5px !important;
}
.admin-container table th,
.dashboard-container table th,
.admin-container .data-table th,
.dashboard-container .data-table th {
    background: var(--ui-surface-soft) !important;
    color: #475569 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid var(--ui-border) !important;
    text-align: left !important;
    white-space: nowrap;
}
.admin-container table td,
.dashboard-container table td,
.admin-container .data-table td,
.dashboard-container .data-table td {
    color: #334155 !important;
    font-size: 13.5px !important;
    padding: 13px 16px !important;
    border-bottom: 1px solid #eef2f8 !important;
    background: transparent !important;
    vertical-align: middle !important;
}
.admin-container table tr:last-child td,
.dashboard-container table tr:last-child td,
.admin-container .data-table tr:last-child td,
.dashboard-container .data-table tr:last-child td { border-bottom: 0 !important; }

.admin-container table tbody tr:hover td,
.dashboard-container table tbody tr:hover td,
.admin-container .data-table tbody tr:hover td,
.dashboard-container .data-table tbody tr:hover td {
    background: #f8fbff !important;
}

/* Cell helpers */
.admin-container td strong,
.dashboard-container td strong { color: var(--ui-title) !important; font-weight: 600 !important; }
.admin-container td .muted,
.dashboard-container td .muted { color: var(--ui-text-dim) !important; }

/* ---------- Filters / selects ---------- */
.admin-container .filters-bar,
.dashboard-container .filters-bar,
.admin-container .filter-group,
.dashboard-container .filter-group {
    display: flex !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.admin-container .filter-select,
.dashboard-container .filter-select,
.admin-container select,
.dashboard-container select {
    background: #ffffff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 10px !important;
    padding: 9px 34px 9px 14px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    min-height: 38px !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px center !important;
    cursor: pointer;
    transition: all 0.18s ease !important;
}
.admin-container .filter-select:hover,
.dashboard-container .filter-select:hover,
.admin-container select:hover,
.dashboard-container select:hover {
    border-color: var(--ui-primary) !important;
}
.admin-container .filter-select:focus,
.dashboard-container .filter-select:focus,
.admin-container select:focus,
.dashboard-container select:focus {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    outline: none !important;
}

/* ---------- Inputs / forms ---------- */
.admin-container input[type="text"],
.admin-container input[type="email"],
.admin-container input[type="tel"],
.admin-container input[type="password"],
.admin-container input[type="number"],
.admin-container input[type="date"],
.admin-container input[type="time"],
.admin-container input[type="search"],
.admin-container textarea,
.dashboard-container input[type="text"],
.dashboard-container input[type="email"],
.dashboard-container input[type="tel"],
.dashboard-container input[type="password"],
.dashboard-container input[type="number"],
.dashboard-container input[type="date"],
.dashboard-container input[type="time"],
.dashboard-container input[type="search"],
.dashboard-container textarea,
.form-group input,
.form-group textarea,
.form-group select {
    background: #ffffff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    transition: all 0.18s ease !important;
}
.admin-container input::placeholder,
.admin-container textarea::placeholder,
.dashboard-container input::placeholder,
.dashboard-container textarea::placeholder,
.form-group input::placeholder,
.form-group textarea::placeholder {
    color: var(--ui-text-muted) !important;
}
.admin-container input:focus,
.admin-container textarea:focus,
.admin-container select:focus,
.dashboard-container input:focus,
.dashboard-container textarea:focus,
.dashboard-container select:focus,
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    outline: none !important;
}
.admin-container label,
.dashboard-container label,
.form-group label {
    color: var(--ui-title) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
    display: inline-block !important;
}

/* ---------- Buttons ---------- */
.admin-container .btn,
.dashboard-container .btn,
.admin-container button.btn,
.dashboard-container button.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 18px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: -0.005em !important;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.18s ease !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    white-space: nowrap;
}

.btn-primary,
.admin-container .btn-primary,
.dashboard-container .btn-primary,
.cta-button, .login-btn, .register-btn,
.submit-btn, .estimate-btn, .btn-register {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border: 1px solid #2563eb !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.18) !important;
}
.btn-primary:hover,
.admin-container .btn-primary:hover,
.dashboard-container .btn-primary:hover,
.cta-button:hover, .login-btn:hover, .register-btn:hover,
.submit-btn:hover, .estimate-btn:hover, .btn-register:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.26) !important;
}

.btn-secondary,
.admin-container .btn-secondary,
.dashboard-container .btn-secondary {
    background: #ffffff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-strong) !important;
}
.btn-secondary:hover,
.admin-container .btn-secondary:hover,
.dashboard-container .btn-secondary:hover {
    background: var(--ui-surface-soft) !important;
    border-color: var(--ui-primary) !important;
    color: var(--ui-primary-600) !important;
}

.btn-success,
.admin-container .btn-success,
.dashboard-container .btn-success {
    background: linear-gradient(135deg, #22c55e, #16a34a) !important;
    color: #ffffff !important;
    border: 1px solid #16a34a !important;
}
.btn-danger,
.admin-container .btn-danger,
.dashboard-container .btn-danger {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    color: #ffffff !important;
    border: 1px solid #dc2626 !important;
}
.btn-warning,
.admin-container .btn-warning,
.dashboard-container .btn-warning {
    background: linear-gradient(135deg, #f59e0b, #d97706) !important;
    color: #ffffff !important;
    border: 1px solid #d97706 !important;
}
.btn-success:hover, .btn-danger:hover, .btn-warning:hover {
    transform: translateY(-1px);
    filter: brightness(1.03);
}

.btn-sm { padding: 6px 12px !important; font-size: 12.5px !important; border-radius: 8px !important; }
.btn-lg { padding: 12px 22px !important; font-size: 15px !important; }

.admin-container .action-btn,
.dashboard-container .action-btn {
    background: var(--ui-surface-soft) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.15s ease !important;
    display: inline-flex; align-items: center; gap: 6px;
}
.admin-container .action-btn:hover,
.dashboard-container .action-btn:hover {
    background: var(--ui-primary-soft) !important;
    border-color: var(--ui-primary) !important;
    color: var(--ui-primary-600) !important;
}
.admin-container .action-btn.view,
.dashboard-container .action-btn.view { color: var(--ui-info) !important; }
.admin-container .action-btn.edit,
.dashboard-container .action-btn.edit { color: var(--ui-primary) !important; }
.admin-container .action-btn.delete,
.dashboard-container .action-btn.delete { color: var(--ui-danger) !important; }
.admin-container .action-btn.approve,
.dashboard-container .action-btn.approve { color: var(--ui-success) !important; }

/* ---------- Status badges ---------- */
.status-badge, .badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.01em !important;
    text-transform: capitalize !important;
    line-height: 1.4 !important;
    border: 1px solid transparent;
    background: var(--ui-surface-muted);
    color: var(--ui-text);
}

/* Success tones */
.status-badge.status-active,
.status-badge.status-approved,
.status-badge.status-verified,
.status-badge.status-completed,
.status-badge.status-confirmed,
.status-badge.status-paid,
.status-badge.status-converted,
.badge.badge-success {
    background: var(--ui-success-soft) !important;
    color: #166534 !important;
    border-color: rgba(34, 197, 94, 0.22) !important;
}

/* Warning / pending tones */
.status-badge.status-pending,
.status-badge.status-processing,
.status-badge.status-in_progress,
.status-badge.status-contacted,
.badge.badge-warning {
    background: var(--ui-warning-soft) !important;
    color: #92400e !important;
    border-color: rgba(217, 119, 6, 0.22) !important;
}

/* Danger tones */
.status-badge.status-rejected,
.status-badge.status-cancelled,
.status-badge.status-inactive,
.status-badge.status-closed,
.badge.badge-danger {
    background: var(--ui-danger-soft) !important;
    color: #991b1b !important;
    border-color: rgba(220, 38, 38, 0.22) !important;
}

/* Info tones */
.status-badge.status-new,
.status-badge.status-assigned,
.status-badge.status-upcoming,
.badge.badge-info {
    background: var(--ui-info-soft) !important;
    color: #155e75 !important;
    border-color: rgba(8, 145, 178, 0.22) !important;
}

.badge.badge-primary {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    border-color: rgba(37, 99, 235, 0.22) !important;
}
.badge.badge-secondary {
    background: var(--ui-surface-muted) !important;
    color: var(--ui-text) !important;
    border-color: var(--ui-border) !important;
}

/* ---------- Modals / Popups ---------- */
/* Backdrop overlay (dynamically created with position: fixed and rgba bg) */
body > div[data-ui-modal="true"],
div[data-ui-modal="true"] {
    background: rgba(15, 23, 42, 0.55) !important;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    z-index: 1600 !important;
    animation: uiModalFadeIn 0.2s ease !important;
}

@keyframes uiModalFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes uiModalSlideIn {
    from { opacity: 0; transform: translateY(16px) scale(0.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Modal body card */
.modal, .modal-content,
div[data-ui-modal="true"] > div,
.admin-container div[style*="background: white"],
.dashboard-container div[style*="background: white"],
.admin-container div[style*="background:#fff"],
.dashboard-container div[style*="background:#fff"] {
    background: var(--ui-surface) !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: var(--ui-radius-lg) !important;
    box-shadow: 0 30px 80px rgba(15, 23, 42, 0.32), 0 8px 20px rgba(15, 23, 42, 0.14) !important;
    animation: uiModalSlideIn 0.28s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
    overflow: hidden;
}

/* Modal inner padding wrapping text */
div[data-ui-modal="true"] > div {
    padding: 0 !important;
    max-height: 90vh;
    overflow-y: auto;
}
/* If legacy modal renders its inner content directly in the card, give it a padded area */
div[data-ui-modal="true"] > div > * {
    padding-left: 26px;
    padding-right: 26px;
}
div[data-ui-modal="true"] > div > *:first-child { padding-top: 22px; }
div[data-ui-modal="true"] > div > *:last-child  { padding-bottom: 22px; }

/* Modal headings */
.modal h1, .modal h2, .modal h3, .modal h4,
.modal-content h1, .modal-content h2, .modal-content h3, .modal-content h4,
div[data-ui-modal="true"] h1,
div[data-ui-modal="true"] h2,
div[data-ui-modal="true"] h3,
div[data-ui-modal="true"] h4 {
    color: var(--ui-title) !important;
    font-family: var(--ui-font-display) !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    margin: 0 0 14px !important;
}
div[data-ui-modal="true"] h2,
div[data-ui-modal="true"] h3 {
    font-size: 18px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid var(--ui-border) !important;
    margin-bottom: 16px !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* Modal close button (only the × icon in the header, NOT footer buttons) */
div[data-ui-modal="true"] .modal-header .modal-close,
div[data-ui-modal="true"] .modal-header button[onclick*="remove()"],
div[data-ui-modal="true"] .modal-header button[onclick*="closeLastDynamicModal"],
div[data-ui-modal="true"] > div > button.modal-close {
    background: var(--ui-surface-soft) !important;
    border: 1px solid var(--ui-border) !important;
    border-radius: 8px !important;
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    color: var(--ui-text-dim) !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer;
    line-height: 1 !important;
    transition: all 0.15s ease !important;
    flex-shrink: 0;
}
div[data-ui-modal="true"] .modal-header .modal-close:hover,
div[data-ui-modal="true"] .modal-header button[onclick*="remove()"]:hover,
div[data-ui-modal="true"] .modal-header button[onclick*="closeLastDynamicModal"]:hover,
div[data-ui-modal="true"] > div > button.modal-close:hover {
    background: var(--ui-danger-soft) !important;
    color: var(--ui-danger) !important;
    border-color: rgba(220, 38, 38, 0.25) !important;
}

/* Modal footer - ensure buttons sit side-by-side with breathing room */
div[data-ui-modal="true"] .modal-footer,
div[data-ui-modal="true"] div[style*="justify-content: flex-end"],
div[data-ui-modal="true"] div[style*="justify-content:flex-end"] {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap;
}
div[data-ui-modal="true"] .modal-footer > button,
div[data-ui-modal="true"] div[style*="justify-content: flex-end"] > button,
div[data-ui-modal="true"] div[style*="justify-content:flex-end"] > button {
    width: auto !important;
    height: auto !important;
    min-height: 40px !important;
    padding: 10px 20px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap;
    flex: 0 0 auto !important;
}
/* Cancel / Close buttons in footer (neutral style) */
div[data-ui-modal="true"] .modal-footer > button.btn-secondary,
div[data-ui-modal="true"] div[style*="justify-content: flex-end"] > button.btn-secondary,
div[data-ui-modal="true"] div[style*="justify-content:flex-end"] > button.btn-secondary {
    background: #ffffff !important;
    color: var(--ui-text) !important;
    border: 1px solid var(--ui-border-strong) !important;
    box-shadow: none !important;
}
div[data-ui-modal="true"] .modal-footer > button.btn-secondary:hover,
div[data-ui-modal="true"] div[style*="justify-content: flex-end"] > button.btn-secondary:hover,
div[data-ui-modal="true"] div[style*="justify-content:flex-end"] > button.btn-secondary:hover {
    background: var(--ui-surface-soft) !important;
    border-color: var(--ui-primary) !important;
    color: var(--ui-primary-600) !important;
}

/* Form labels / fields inside modals */
div[data-ui-modal="true"] label {
    display: block !important;
    color: var(--ui-title) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}
div[data-ui-modal="true"] input,
div[data-ui-modal="true"] select,
div[data-ui-modal="true"] textarea {
    background: #ffffff !important;
    border: 1px solid var(--ui-border-strong) !important;
    border-radius: 10px !important;
    padding: 10px 14px !important;
    font-size: 13.5px !important;
    color: var(--ui-text) !important;
    width: 100% !important;
    transition: all 0.18s ease !important;
}
div[data-ui-modal="true"] input:focus,
div[data-ui-modal="true"] select:focus,
div[data-ui-modal="true"] textarea:focus {
    border-color: var(--ui-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14) !important;
    outline: none !important;
}

/* Buttons inside modals */
div[data-ui-modal="true"] button:not([onclick*="closeLastDynamicModal"]):not([onclick*="remove()"]):not(.modal-close) {
    padding: 10px 18px !important;
    border-radius: 10px !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    cursor: pointer;
    border: 1px solid transparent;
    transition: all 0.18s ease !important;
}
div[data-ui-modal="true"] button[type="submit"],
div[data-ui-modal="true"] button.btn-primary,
div[data-ui-modal="true"] button[onclick*="save"],
div[data-ui-modal="true"] button[onclick*="submit"],
div[data-ui-modal="true"] button[onclick*="approve"],
div[data-ui-modal="true"] button[onclick*="update"] {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
    color: #ffffff !important;
    border: 1px solid #2563eb !important;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.22) !important;
}
div[data-ui-modal="true"] button[type="submit"]:hover,
div[data-ui-modal="true"] button.btn-primary:hover {
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%) !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(37, 99, 235, 0.32) !important;
}

/* ---------- Misc polish ---------- */
.admin-container p,
.dashboard-container p,
.admin-container span,
.dashboard-container span,
.admin-container small,
.dashboard-container small {
    color: inherit;
}

.admin-container .content-section > p,
.dashboard-container .content-section > p { color: var(--ui-text-dim) !important; }

.admin-container .page-header,
.dashboard-container .page-header { min-width: 0 !important; }

/* Chart container height control */
.admin-container .chart-container,
.dashboard-container .chart-container {
    position: relative;
    width: 100%;
    min-height: 280px;
    padding: 8px 4px 4px;
}
.admin-container .chart-container canvas,
.dashboard-container .chart-container canvas {
    max-width: 100% !important;
    display: block;
    margin: 0 auto;
}

/* ---------- Chart legend ---------- */
.admin-container .chart-legend,
.dashboard-container .chart-legend {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 16px !important;
    flex-wrap: wrap;
    padding: 14px 8px 4px !important;
    margin-top: 4px;
    border-top: 1px dashed var(--ui-border);
    list-style: none !important;
}
.admin-container .chart-legend .legend-item,
.dashboard-container .chart-legend .legend-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 12.5px !important;
    color: var(--ui-text-dim) !important;
    font-weight: 500 !important;
    list-style: none !important;
}
.admin-container .chart-legend .legend-color,
.dashboard-container .chart-legend .legend-color {
    display: inline-block !important;
    width: 12px !important;
    height: 12px !important;
    border-radius: 3px !important;
    flex-shrink: 0;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.12);
}

/* ---------- Activity feed ---------- */
.admin-container .activity-feed,
.dashboard-container .activity-feed {
    display: flex; flex-direction: column; gap: 10px;
    max-height: 360px; overflow-y: auto;
}
.admin-container .activity-item,
.dashboard-container .activity-item {
    display: flex; align-items: flex-start; gap: 12px;
    padding: 12px; border-radius: 10px;
    background: var(--ui-surface-soft);
    border: 1px solid var(--ui-border);
    transition: all 0.15s ease;
}
.admin-container .activity-item:hover,
.dashboard-container .activity-item:hover {
    border-color: var(--ui-border-strong);
    background: #ffffff;
}
.admin-container .activity-icon,
.dashboard-container .activity-icon {
    width: 34px; height: 34px; border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    background: var(--ui-primary-soft);
    color: var(--ui-primary-600);
    flex-shrink: 0;
}
.admin-container .activity-content,
.dashboard-container .activity-content { flex: 1; min-width: 0; }
.admin-container .activity-title,
.dashboard-container .activity-title {
    font-size: 13.5px; font-weight: 600; color: var(--ui-title) !important;
}
.admin-container .activity-time,
.dashboard-container .activity-time {
    font-size: 11.5px; color: var(--ui-text-muted) !important;
}

/* ---------- Nav badges (counts next to links) ---------- */
.admin-container .nav-badge,
.dashboard-container .nav-badge {
    margin-left: auto !important;
    background: var(--ui-primary) !important;
    color: #ffffff !important;
    padding: 2px 8px !important;
    border-radius: 999px !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    min-width: 20px !important;
    text-align: center;
    line-height: 1.4 !important;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.25);
}
.admin-container .nav-link.active .nav-badge,
.dashboard-container .nav-link.active .nav-badge {
    background: var(--ui-primary-600) !important;
}

/* ---------- Kill legacy gold / brand token overrides ---------- */
.admin-container,
.dashboard-container,
body,
:root {
    --primary-gold: #2563eb !important;
    --secondary-gold: #3b82f6 !important;
    --accent-gold: #1d4ed8 !important;
    --primary-color: #2563eb !important;
}

/* Any leftover element still referencing gold via inline style tokens */
.admin-container [style*="#D4AF37"],
.dashboard-container [style*="#D4AF37"],
.admin-container [style*="#d4af37"],
.dashboard-container [style*="#d4af37"],
.admin-container [style*="#F4D03F"],
.dashboard-container [style*="#F4D03F"] {
    background-color: var(--ui-primary) !important;
    color: #ffffff !important;
    border-color: var(--ui-primary) !important;
}

.admin-container .logo-icon,
.dashboard-container .logo-icon {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
}
.admin-container .user-avatar,
.dashboard-container .user-avatar {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
}
/* Override any gold/yellow gradient active states from legacy inline CSS */
.admin-container .nav-link.active[style],
.dashboard-container .nav-link.active[style],
.admin-container a.nav-link.active,
.dashboard-container a.nav-link.active {
    background: var(--ui-primary-soft) !important;
    color: var(--ui-primary-600) !important;
    border: 1px solid #cfe0ff !important;
    box-shadow: 0 2px 6px rgba(37, 99, 235, 0.08) !important;
}
.admin-container .nav-link.active i,
.dashboard-container .nav-link.active i { color: var(--ui-primary-600) !important; }

/* ---------- Welcome actions buttons ---------- */
.admin-container .welcome-actions,
.dashboard-container .welcome-actions {
    display: flex; gap: 10px; flex-wrap: wrap; z-index: 1;
}
.admin-container .welcome-header .btn-secondary,
.dashboard-container .welcome-header .btn-secondary {
    background: rgba(255, 255, 255, 0.18) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.38) !important;
    backdrop-filter: blur(6px);
}
.admin-container .welcome-header .btn-secondary:hover,
.dashboard-container .welcome-header .btn-secondary:hover {
    background: rgba(255, 255, 255, 0.28) !important;
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.55) !important;
}
.admin-container .welcome-header .btn-primary,
.dashboard-container .welcome-header .btn-primary {
    background: #ffffff !important;
    color: var(--ui-primary-600) !important;
    border: 1px solid #ffffff !important;
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15) !important;
}
.admin-container .welcome-header .btn-primary:hover,
.dashboard-container .welcome-header .btn-primary:hover {
    background: #f1f5fb !important;
    color: var(--ui-primary-600) !important;
    transform: translateY(-1px);
}

/* Empty states / hints */
.admin-container .empty-state,
.dashboard-container .empty-state {
    text-align: center;
    padding: 40px 20px;
    color: var(--ui-text-dim) !important;
}
.admin-container .empty-state i,
.dashboard-container .empty-state i {
    font-size: 38px;
    color: var(--ui-text-muted) !important;
    margin-bottom: 12px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1200px) {
    .admin-container .top-bar,
    .dashboard-container .top-bar { padding: 12px 18px !important; }
    .admin-container .content-area,
    .dashboard-container .content-area { padding: 20px !important; }
}

@media (max-width: 1024px) {
    .admin-container .main-content,
    .dashboard-container .main-content {
        margin-left: 0 !important;
        width: 100% !important;
    }
    .admin-container .sidebar,
    .dashboard-container .sidebar {
        position: fixed !important;
        top: 0; left: 0;
        width: min(300px, 88vw) !important;
        transform: translateX(-104%);
        transition: transform 0.28s ease;
        z-index: 1200 !important;
    }
    .admin-container .sidebar.mobile-open,
    .dashboard-container .sidebar.mobile-open {
        transform: translateX(0);
    }
    .admin-container .sidebar-overlay.active,
    .dashboard-container .sidebar-overlay.active {
        background: rgba(15, 23, 42, 0.32) !important;
        backdrop-filter: blur(2px);
    }
    .admin-container .search-bar,
    .dashboard-container .search-bar {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    body { font-size: 13.5px; }
    .admin-container .welcome-header,
    .dashboard-container .welcome-header { padding: 18px !important; }
    .admin-container .welcome-title,
    .dashboard-container .welcome-title,
    .admin-container .welcome-header h1,
    .dashboard-container .welcome-header h1,
    .admin-container .welcome-header h2,
    .dashboard-container .welcome-header h2 { font-size: 18px !important; }

    .admin-container .top-bar,
    .dashboard-container .top-bar { padding: 10px 14px !important; }
    .admin-container .content-area,
    .dashboard-container .content-area { padding: 16px !important; }
    .admin-container .page-title,
    .dashboard-container .page-title { font-size: 17px !important; }

    .admin-container .metrics-grid,
    .dashboard-container .metrics-grid,
    .admin-container .stats-grid,
    .dashboard-container .stats-grid { gap: 12px !important; }

    .admin-container .metric-card,
    .dashboard-container .metric-card,
    .admin-container .stat-card,
    .dashboard-container .stat-card { padding: 16px !important; }

    .admin-container .metric-value,
    .dashboard-container .metric-value,
    .admin-container .stat-value,
    .dashboard-container .stat-value,
    .admin-container .stat-number,
    .dashboard-container .stat-number { font-size: 22px !important; }

    .admin-container table,
    .dashboard-container table,
    .admin-container .data-table,
    .dashboard-container .data-table { min-width: 640px; font-size: 12.5px !important; }
    .admin-container table th,
    .dashboard-container table th,
    .admin-container table td,
    .dashboard-container table td { padding: 10px 12px !important; }

    .admin-container .user-menu-info,
    .dashboard-container .user-menu-info { display: none !important; }
}

@media (max-width: 480px) {
    .admin-container .welcome-actions,
    .dashboard-container .welcome-actions { width: 100%; }
    .admin-container .welcome-actions .btn,
    .dashboard-container .welcome-actions .btn { flex: 1 1 auto; }
}

/* ---------- Landing page mobile responsiveness ---------- */
@media (max-width: 1024px) {
    .customer-satisfaction .stats-grid,
    .customer-satisfaction .satisfaction-stats {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .footer-content {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media (max-width: 768px) {
    .hero-title,
    .hero-content h1 { font-size: clamp(28px, 7vw, 42px) !important; }
    .hero-subtitle,
    .hero-content p { font-size: clamp(14px, 3.4vw, 17px) !important; }
    .hero-buttons {
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
    }
    .hero-buttons a { width: min(100%, 320px) !important; }

    .customer-satisfaction .stat-card,
    .customer-satisfaction .satisfaction-item { padding: 22px 16px !important; }

    .footer {
        padding: 50px 20px 24px !important;
    }
    .footer-content {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }
    .footer-section h3 { margin-bottom: 12px !important; }

    .main-container {
        border-radius: 14px !important;
        margin: 12px !important;
    }
    .left-panel { display: none !important; }
    .right-panel { padding: 24px 20px !important; }
}

@media (max-width: 480px) {
    .customer-satisfaction .stats-grid,
    .customer-satisfaction .satisfaction-stats {
        grid-template-columns: 1fr !important;
    }
    .customer-satisfaction .stat-number,
    .customer-satisfaction .satisfaction-number {
        font-size: clamp(28px, 9vw, 38px) !important;
    }
    .service-card, .review-card, .faq-item,
    .contact-info, .contact-form {
        padding: 18px !important;
    }
    .navbar { padding: 12px 16px !important; }
    .nav-menu { gap: 8px !important; }

    .section-title { font-size: clamp(22px, 6vw, 28px) !important; }
    .section-subtitle { font-size: 13.5px !important; }

    .form-header h2 { font-size: 22px !important; }
}

/* Scrollbar polish */
.admin-container *::-webkit-scrollbar,
.dashboard-container *::-webkit-scrollbar { width: 10px; height: 10px; }
.admin-container *::-webkit-scrollbar-track,
.dashboard-container *::-webkit-scrollbar-track { background: transparent; }
.admin-container *::-webkit-scrollbar-thumb,
.dashboard-container *::-webkit-scrollbar-thumb {
    background: #cfd8e8;
    border-radius: 10px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
.admin-container *::-webkit-scrollbar-thumb:hover,
.dashboard-container *::-webkit-scrollbar-thumb:hover { background: #a8b4c7; background-clip: padding-box; }

/* Selection */
::selection { background: rgba(37, 99, 235, 0.18); color: var(--ui-title); }
