:root {
    --tbl-ink: #0f172a;
    --tbl-muted: #64748b;
    --tbl-line: rgba(15, 23, 42, 0.08);
    --tbl-brand: #4f46e5;
    --tbl-cyan: #06b6d4;
    --tbl-green: #10b981;
    --tbl-amber: #f59e0b;
    --tbl-red: #ef4444;
    --tbl-violet: #7c3aed;
    --tbl-pink: #ec4899;
}

body {
    background:
        radial-gradient(at 0% 0%, rgba(79, 70, 229, 0.12) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(6, 182, 212, 0.08) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(124, 58, 237, 0.08) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(16, 185, 129, 0.05) 0px, transparent 50%),
        #f8fafc !important;
    background-attachment: fixed !important;
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
}

/* 🌟 PREMIUM SCROLLBAR SYSTEM */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, 0.25);
    border-radius: 99px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(148, 163, 184, 0.45);
}

/* 🔒 SLEEK GLASSMOPHISM STRUCTURES */
.main-header,
.sidebar-container {
    background: linear-gradient(135deg, #020617, #0f172a 75%, #1e1b4b) !important;
    box-shadow: 0 20px 40px rgba(2, 6, 23, 0.35) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.05) !important;
    backdrop-filter: blur(20px);
}

/* Scrollable sidebars with pinned logout */
.sidebar-container {
    max-height: 100vh !important;
    overflow: hidden !important;
}

.sidebar-container > div:first-child {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
}

.sidebar-nav {
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain !important;
    padding-right: 0.35rem !important;
    scrollbar-gutter: stable;
}

.sidebar-nav::-webkit-scrollbar {
    width: 8px;
}

.sidebar-nav::-webkit-scrollbar-thumb {
    background: rgba(226, 232, 240, 0.28);
    border-radius: 999px;
}

.sidebar-nav::-webkit-scrollbar-thumb:hover {
    background: rgba(226, 232, 240, 0.46);
}

.sidebar-logout,
.sidebar-logout-link {
    flex: 0 0 auto !important;
    margin-top: 0.8rem !important;
}

@media (max-width: 980px) {
    .sidebar-container {
        max-height: none !important;
        overflow: visible !important;
    }
}

.main-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.logo {
    font-size: 1.45rem !important;
    font-weight: 900 !important;
    letter-spacing: -0.03em !important;
    background: linear-gradient(135deg, #ffffff 30%, #38bdf8, #818cf8) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    filter: drop-shadow(0 2px 8px rgba(255,255,255,0.06));
}

/* 💫 INTERACTION TRANSITIONS */
.nav-links a,
.sidebar-nav a,
.theme-toggle-btn,
.logout-link,
.sidebar-logout,
button,
.btn-save,
.btn-cancel,
.add-lead-btn,
.add-sale-btn,
.add-btn,
.clickable-card,
.card,
.stat-card {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.25s ease, background 0.25s ease, border-color 0.25s ease, color 0.25s ease !important;
}

.nav-links a:hover,
.sidebar-nav a:hover,
.theme-toggle-btn:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.06) !important;
    color: #ffffff !important;
}

.sidebar-nav a.active,
.nav-links a.active {
    background: linear-gradient(135deg, #4f46e5, #06b6d4) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 25px -5px rgba(79, 70, 229, 0.4) !important;
    font-weight: 600 !important;
    border: none !important;
}

.logout-link,
.sidebar-logout {
    background: linear-gradient(135deg, #ef4444, #991b1b) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.15);
}

.logout-link:hover,
.sidebar-logout:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 12px 24px rgba(239, 68, 68, 0.35) !important;
}

/* 🌟 GLASS CARD LAYOUT & OVERLAYS */
.card,
.stat-card,
.clickable-card,
.chart-card-section,
.table-container,
.modal-content,
.header-box,
.search-box input,
.date-filter-group input,
.filter-section input,
textarea {
    border: 1px solid rgba(15, 23, 42, 0.06) !important;
    box-shadow: 0 8px 30px rgba(15, 23, 42, 0.04) !important;
    border-radius: 16px !important;
}

.card,
.stat-card,
.clickable-card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(25px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
}

.card::before,
.stat-card::before,
.clickable-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: linear-gradient(180deg, var(--tbl-brand), var(--tbl-cyan));
    opacity: 0.85;
}

/* Glow Border Enhancements */
.card-sales::before { background: linear-gradient(180deg, var(--tbl-green), var(--tbl-cyan)) !important; }
.card-leads::before { background: linear-gradient(180deg, var(--tbl-brand), var(--tbl-violet)) !important; }
.card-facebook::before { background: linear-gradient(180deg, #1877f2, #00c6ff) !important; }
.card-google::before { background: linear-gradient(180deg, #ea4335, #f59e0b) !important; }
.card-today::before { background: linear-gradient(180deg, var(--tbl-green), #34d399) !important; }
.card-conversion::before { background: linear-gradient(180deg, var(--tbl-cyan), var(--tbl-violet)) !important; }

/* Status Cards specifically */
.card-followup::before, .stat-card.clickable:nth-child(2)::before { background: linear-gradient(180deg, var(--tbl-amber), var(--tbl-red)) !important; }
.card-noresponse::before, .card-notresponded::before { background: linear-gradient(180deg, var(--tbl-muted), #94a3b8) !important; }
.card-notinterested::before { background: linear-gradient(180deg, var(--tbl-red), #b91c1c) !important; }
.card-invalid::before { background: linear-gradient(180deg, var(--tbl-violet), #ec4899) !important; }

.card:hover,
.stat-card:hover,
.clickable-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.08) !important;
    border-color: rgba(79, 70, 229, 0.18) !important;
}

.card:hover i,
.stat-card:hover i,
.clickable-card:hover i {
    transform: scale(1.15) rotate(-4deg);
    filter: drop-shadow(0 4px 10px currentColor);
}

.card i,
.stat-card i,
.clickable-card i {
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.25s ease;
}

/* 🏷️ MOUNTING GLOW BADGES FOR STATUS */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border-radius: 99px;
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border: 1px solid transparent;
}

.status-fresh {
    background: linear-gradient(135deg, rgba(79, 70, 229, 0.1), rgba(6, 182, 212, 0.1));
    color: #4f46e5;
    border-color: rgba(79, 70, 229, 0.2);
}

.status-followup {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.1), rgba(239, 68, 68, 0.1));
    color: #d97706;
    border-color: rgba(245, 158, 11, 0.2);
}

.status-sold, .status-paid {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(6, 182, 212, 0.1));
    color: #059669;
    border-color: rgba(16, 185, 129, 0.2);
}

.status-noresponse, .status-notresponded {
    background: linear-gradient(135deg, rgba(100, 116, 139, 0.1), rgba(148, 163, 184, 0.1));
    color: #475569;
    border-color: rgba(100, 116, 139, 0.2);
}

.status-notinterested {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.1), rgba(185, 28, 28, 0.1));
    color: #dc2626;
    border-color: rgba(239, 68, 68, 0.2);
}

.status-invalid {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.1), rgba(236, 72, 153, 0.1));
    color: #7c3aed;
    border-color: rgba(124, 58, 237, 0.2);
}

.status-hold {
    background: linear-gradient(135deg, rgba(100, 116, 139, 0.1), rgba(71, 85, 105, 0.1));
    color: #64748b;
    border-color: rgba(100, 116, 139, 0.2);
}

/* 🎯 BUTTON STYLING */
button,
.btn-save,
.btn-cancel,
.add-lead-btn,
.add-sale-btn,
.add-btn {
    border-radius: 12px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 4px 12px rgba(79, 70, 229, 0.15) !important;
}

button:hover,
.btn-save:hover,
.btn-cancel:hover,
.add-lead-btn:hover,
.add-sale-btn:hover,
.add-btn:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 10px 20px rgba(79, 70, 229, 0.25) !important;
}

.btn-save,
.add-lead-btn,
.add-sale-btn,
.add-btn {
    background: linear-gradient(135deg, #4f46e5, #06b6d4) !important;
    color: #ffffff !important;
    border: none !important;
}

.btn-cancel {
    background: rgba(226, 232, 240, 0.6) !important;
    color: #475569 !important;
    border: 1px solid rgba(203, 213, 225, 0.8) !important;
}
.btn-cancel:hover {
    background: rgba(203, 213, 225, 0.8) !important;
}

/* 📊 FUTURISTIC DATA GRID TABLES */
.table-container {
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(25px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    overflow: hidden;
}

table {
    border-collapse: collapse !important;
}

th {
    background: rgba(15, 23, 42, 0.03) !important;
    font-weight: 700 !important;
    color: #475569 !important;
    letter-spacing: 0.05em !important;
    border-bottom: 2px solid rgba(15, 23, 42, 0.06) !important;
}

tbody tr {
    transition: background 0.2s ease;
}

tbody tr:hover {
    background: rgba(79, 70, 229, 0.04) !important;
}

/* 🔗 DARK MODE SPECIFICS */
body.dark-mode {
    background:
        radial-gradient(at 0% 0%, rgba(79, 70, 229, 0.16) 0px, transparent 50%),
        radial-gradient(at 100% 0%, rgba(6, 182, 212, 0.12) 0px, transparent 50%),
        radial-gradient(at 100% 100%, rgba(124, 58, 237, 0.12) 0px, transparent 50%),
        radial-gradient(at 0% 100%, rgba(16, 185, 129, 0.08) 0px, transparent 50%),
        #020617 !important;
}

body.dark-mode .card,
body.dark-mode .stat-card,
body.dark-mode .clickable-card,
body.dark-mode .table-container,
body.dark-mode .chart-card-section,
body.dark-mode .modal-content {
    background: linear-gradient(135deg, rgba(15, 23, 42, 0.8), rgba(30, 41, 59, 0.65)) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.45) !important;
}

body.dark-mode th {
    background: rgba(255, 255, 255, 0.02) !important;
    color: #94a3b8 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

body.dark-mode tbody tr:hover {
    background: rgba(255, 255, 255, 0.02) !important;
}

body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea {
    background: rgba(15, 23, 42, 0.6) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #ffffff !important;
}

/* 🎬 CORE MOUNTING KEYFRAMES */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(18px);
        filter: blur(4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
        filter: blur(0);
    }
}

.card,
.stat-card,
.clickable-card,
.chart-card-section,
.table-container {
    animation: fadeInUp 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.stats-grid > *:nth-child(1) { animation-delay: 0.05s; }
.stats-grid > *:nth-child(2) { animation-delay: 0.1s; }
.stats-grid > *:nth-child(3) { animation-delay: 0.15s; }
.stats-grid > *:nth-child(4) { animation-delay: 0.2s; }
.stats-grid > *:nth-child(5) { animation-delay: 0.25s; }
.stats-grid > *:nth-child(6) { animation-delay: 0.3s; }

/* Service workspace operational dashboard */
body:has(#serviceCategoryNav) .welcome-section {
    padding: 1.6rem 1.8rem !important;
    border-radius: 24px !important;
    background:
        radial-gradient(circle at 88% 18%, rgba(34,211,238,0.18), transparent 28%),
        radial-gradient(circle at 0% 10%, rgba(99,102,241,0.16), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,0.88), rgba(248,250,252,0.66)) !important;
    border: 1px solid rgba(255,255,255,0.72) !important;
    box-shadow: 0 22px 55px rgba(15,23,42,0.08) !important;
}

body:has(#serviceCategoryNav) .welcome-section h1 {
    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card {
    --card-a: #6366f1;
    --card-b: #06b6d4;
    background:
        radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--card-b) 18%, transparent), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,0.96), rgba(248,250,252,0.78)) !important;
    padding: 1.65rem !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.08) !important;
    border: 1px solid rgba(255,255,255,0.74) !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card::before {
    inset: 0 0 auto 0 !important;
    width: auto !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--card-a), var(--card-b)) !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card::after {
    content: "" !important;
    position: absolute !important;
    width: 130px !important;
    height: 130px !important;
    right: -58px !important;
    bottom: -66px !important;
    border-radius: 50% !important;
    background: color-mix(in srgb, var(--card-a) 14%, transparent) !important;
    pointer-events: none !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 26px 55px rgba(15, 23, 42, 0.13) !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card.active-filter {
    background:
        radial-gradient(circle at 86% 18%, color-mix(in srgb, var(--card-b) 22%, transparent), transparent 30%),
        linear-gradient(145deg, color-mix(in srgb, var(--card-a) 10%, white), rgba(255,255,255,0.86)) !important;
    border-color: color-mix(in srgb, var(--card-a) 38%, white) !important;
    box-shadow: 0 24px 58px color-mix(in srgb, var(--card-a) 20%, transparent) !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card .value {
    font-size: 2.2rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 4px 0 color-mix(in srgb, var(--card-a) 18%, transparent) !important;
}

body:has(#serviceCategoryNav) .stats-grid .clickable-card .icon-box {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
    background: color-mix(in srgb, var(--card-a) 10%, white) !important;
    color: var(--card-a) !important;
}

body:has(#serviceCategoryNav) #card-pending { --card-a:#f97316; --card-b:#facc15; }
body:has(#serviceCategoryNav) #card-newassigned { --card-a:#0ea5e9; --card-b:#22d3ee; }
body:has(#serviceCategoryNav) #card-inprogress { --card-a:#8b5cf6; --card-b:#ec4899; }
body:has(#serviceCategoryNav) #card-workdone { --card-a:#10b981; --card-b:#34d399; }
body:has(#serviceCategoryNav) #card-followup { --card-a:#ec4899; --card-b:#fb7185; }
body:has(#serviceCategoryNav) #card-hold { --card-a:#475569; --card-b:#94a3b8; }

body.dark-mode:has(#serviceCategoryNav) .welcome-section,
body.dark-mode:has(#serviceCategoryNav) .stats-grid .clickable-card {
    border-color: rgba(255,255,255,0.08) !important;
}

/* Responsive guardrails shared by admin pages */
html {
    box-sizing: border-box;
    overflow-x: hidden;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

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

.content,
.workspace-frame,
main {
    min-width: 0;
    max-width: 100%;
}

.stats-grid,
.charts-grid,
.reports-grid,
.cards-grid,
.settings-grid {
    max-width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
}

.table-container,
.table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
}

.table-container table,
.table-wrapper table {
    width: 100%;
    min-width: 760px;
}

.header-box,
.search-section,
.filter-section,
.date-filter-group,
.action-bar,
.top-actions,
.report-filters,
.settings-row,
.pagination-bar,
footer,
.footer {
    min-width: 0;
    max-width: 100%;
}

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

.modal,
.payment-link-modal {
    padding: clamp(0.75rem, 3vw, 1.5rem) !important;
}

.modal-content,
.payment-link-dialog,
.detail-drawer {
    max-width: calc(100vw - 1.5rem) !important;
}

@media (max-width: 1024px) {
    body {
        display: block;
    }

    .workspace-frame,
    .content {
        width: 100% !important;
        margin-left: 0 !important;
        padding: clamp(0.9rem, 3vw, 1.5rem) !important;
    }

    .sidebar-container {
        position: relative !important;
        inset: auto !important;
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        max-height: none !important;
        padding: 1rem !important;
        border-right: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    .sidebar-container > div:first-child,
    .sidebar-nav {
        min-height: 0 !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .header-box,
    .search-section,
    .filter-section,
    .report-filters,
    footer,
    .footer {
        flex-wrap: wrap;
    }

    .charts-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .workspace-frame,
    .content {
        padding: 0.85rem !important;
    }

    .header-box,
    .search-section,
    .filter-section,
    .date-filter-group,
    .report-filters,
    .pagination-bar,
    footer,
    .footer {
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0.75rem !important;
    }

    .search-box,
    .date-filter-group,
    .date-filter-group input,
    .filter-section input,
    .filter-section select,
    .report-filters input,
    .report-filters select,
    .add-lead-btn,
    .add-sale-btn,
    .add-btn,
    .btn-save,
    .btn-cancel {
        width: 100% !important;
    }

    .stats-grid {
        grid-template-columns: 1fr !important;
        gap: 1rem !important;
    }

    .card,
    .stat-card,
    .clickable-card,
    .chart-card-section,
    .table-container,
    .table-wrapper,
    .modal-content {
        border-radius: 12px !important;
    }

    .card h3,
    .stat-card h3,
    .clickable-card h3 {
        overflow-wrap: anywhere;
    }

    .card .value,
    .stat-card .value,
    .clickable-card .value {
        font-size: clamp(1.45rem, 10vw, 2.25rem) !important;
        line-height: 1.05 !important;
    }

    th,
    td {
        padding: 0.78rem 0.85rem !important;
        white-space: nowrap;
    }

    .detail-drawer {
        width: 100% !important;
        max-width: none !important;
        padding: 1rem !important;
    }
}

@media (max-width: 430px) {
    .workspace-frame,
    .content {
        padding: 0.7rem !important;
    }

    .sidebar-container {
        padding: 0.75rem !important;
    }

    .sidebar-nav a,
    .theme-toggle-btn,
    .sidebar-logout {
        min-height: 42px;
        padding: 0.72rem 0.8rem !important;
        font-size: 0.86rem !important;
    }

    .logo {
        font-size: 1.25rem !important;
        margin-bottom: 1rem !important;
    }

    .user-profile-badge {
        margin-bottom: 1rem !important;
        padding: 0.8rem !important;
    }
}
