        :root {
            --primary-50: #f0f9ff;
            --primary-100: #e0f2fe;
            --primary-200: #bae6fd;
            --primary-300: #7dd3fc;
            --primary-400: #38bdf8;
            --primary-500: #0ea5e9;
            --primary-600: #0284c7;
            --primary-700: #0369a1;
            --primary-800: #075985;
            --primary-900: #0c4a6e;
            --accent-300: #fcd34d;
            --accent-400: #fbbf24;
            --accent-500: #f59e0b;
            --accent-600: #d97706;
            --slate-50: #f8fafc;
            --slate-100: #f1f5f9;
            --slate-200: #e2e8f0;
            --slate-300: #cbd5e1;
            --slate-400: #94a3b8;
            --slate-500: #64748b;
            --slate-600: #475569;
            --slate-700: #334155;
            --slate-800: #1e293b;
            --slate-900: #0f172a;
            --rose-500: #f43f5e;
            --rose-600: #e11d48;
            --rose-700: #be123c;
            --radius-sm: 6px;
            --radius-base: 8px;
            --radius-lg: 12px;
            --radius-xl: 16px;
            --shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
            --shadow-base: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
            --shadow-lg: 0 4px 6px -1px rgba(0,0,0,0.08), 0 2px 4px -2px rgba(0,0,0,0.04);
            --shadow-xl: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.04);
            --transition-fast: 0.15s ease;
            --transition-base: 0.25s ease;
        }

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

        body {
            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
            background: var(--slate-50);
            color: var(--slate-800);
            line-height: 1.5;
        }

        .admin-layout { display: flex; min-height: 100vh; }

        .admin-sidebar {
            width: 260px;
            background: var(--slate-900);
            color: white;
            display: flex;
            flex-direction: column;
            position: fixed;
            left: 0; top: 0; bottom: 0;
            z-index: 1000;
            transition: transform var(--transition-base);
        }

        .sidebar-overlay {
            display: none;
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.45);
            z-index: 999;
            transition: opacity 0.3s ease;
            opacity: 0;
            pointer-events: none;
        }
        .sidebar-overlay.active {
            display: block;
            opacity: 1;
            pointer-events: auto;
        }

        .sidebar-header {
            padding: 1.5rem;
            border-bottom: 1px solid rgba(255,255,255,0.08);
        }

        .sidebar-brand {
            display: flex; align-items: center; gap: 0.75rem;
            text-decoration: none; color: white;
        }

        .sidebar-brand img { width: auto; height: 48px; max-width: 56px; object-fit: contain; border-radius: var(--radius-base); }
        .sidebar-brand span { font-size: 1.125rem; font-weight: 700; }

        .sidebar-nav { flex: 1; padding: 1rem 0.75rem; overflow-y: auto; }

        .nav-section { margin-bottom: 1.5rem; }
        .nav-section-title {
            font-size: 0.6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em;
            color: var(--slate-500); padding: 0 0.75rem; margin-bottom: 0.5rem;
        }

        .nav-item {
            display: flex; align-items: center; gap: 0.75rem;
            padding: 0.625rem 0.875rem; border-radius: var(--radius-base);
            color: var(--slate-400); text-decoration: none; font-size: 0.875rem; font-weight: 500;
            cursor: pointer; transition: all var(--transition-fast);
            border: none; background: transparent; width: 100%; text-align: left;
        }
        .nav-item:hover { background: rgba(255,255,255,0.06); color: white; }
        .nav-item.active {
            background: linear-gradient(135deg, var(--rose-600), var(--rose-700));
            color: white; box-shadow: 0 2px 8px rgba(225, 29, 72, 0.3);
        }
        .nav-item i { width: 20px; text-align: center; font-size: 0.9375rem; }

        .sidebar-footer {
            padding: 1rem 1.5rem;
            border-top: 1px solid rgba(255,255,255,0.08);
        }
        .sidebar-user {
            display: flex; align-items: center; gap: 0.75rem;
        }
        .sidebar-user-avatar {
            width: 36px; height: 36px; border-radius: 50%;
            background: linear-gradient(135deg, var(--rose-500), var(--slate-500));
            display: flex; align-items: center; justify-content: center;
            font-weight: 600; font-size: 0.875rem;
        }
        .sidebar-user-info { flex: 1; min-width: 0; }
        .sidebar-user-name { font-size: 0.875rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sidebar-user-role { font-size: 0.75rem; color: var(--slate-500); }

        .admin-main { flex: 1; margin-left: 260px; display: flex; flex-direction: column; }

        .admin-header {
            background: white; border-bottom: 1px solid var(--slate-200);
            padding: 0.875rem 1.5rem; display: flex; align-items: center; justify-content: space-between;
            position: sticky; top: 0; z-index: 50;
        }
        .header-left { display: flex; align-items: center; gap: 1rem; }
        .mobile-toggle {
            display: none; background: none; border: none;
            color: var(--slate-600); font-size: 1.25rem; cursor: pointer; padding: 0.25rem;
        }
        .header-title { font-size: 1.25rem; font-weight: 700; color: var(--slate-800); }
        .header-right { display: flex; align-items: center; gap: 0.75rem; }
        .header-btn {
            width: 38px; height: 38px; border-radius: var(--radius-base);
            border: 1px solid var(--slate-200); background: white; color: var(--slate-500);
            display: flex; align-items: center; justify-content: center;
            cursor: pointer; transition: all var(--transition-fast); position: relative;
        }
        .header-btn:hover { background: var(--slate-50); border-color: var(--slate-300); color: var(--slate-700); }

        .admin-content {
            flex: 1; padding: 1.5rem; max-width: 1400px;
            background: linear-gradient(180deg, var(--slate-50) 0%, #fff1f2 40%, var(--slate-50) 100%);
            min-height: 100vh;
        }

        .card {
            background: white; border: 1px solid var(--slate-200);
            border-radius: var(--radius-lg); box-shadow: var(--shadow-sm);
            overflow: hidden; position: relative;
        }
        .card::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
            background: linear-gradient(90deg, var(--rose-500), var(--accent-400), transparent);
            opacity: 0.6;
        }
        .card-header {
            padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--slate-100);
            display: flex; align-items: center; justify-content: space-between;
        }
        .card-title { font-size: 1rem; font-weight: 600; color: var(--slate-800); }
        .card-body { padding: 1.5rem; }
        .card-body.p0 { padding: 0; }

        .stats-grid {
            display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.25rem; margin-bottom: 1.5rem;
        }
        .stat-card {
            background: white; border: 1px solid var(--slate-200);
            border-radius: var(--radius-lg); padding: 1.25rem;
            box-shadow: var(--shadow-sm); transition: all var(--transition-fast);
            position: relative; overflow: hidden;
        }
        .stat-card::before {
            content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
            background: linear-gradient(90deg, var(--rose-500), var(--rose-400));
            opacity: 0; transition: opacity var(--transition-fast);
        }
        .stat-card:hover { box-shadow: var(--shadow-lg); transform: translateY(-2px); border-color: var(--rose-300); }
        .stat-card:hover::before { opacity: 1; }
        .stat-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.75rem; }
        .stat-label { font-size: 0.875rem; color: var(--slate-500); font-weight: 500; }
        .stat-icon {
            width: 40px; height: 40px; border-radius: var(--radius-base);
            display: flex; align-items: center; justify-content: center; font-size: 1.125rem;
        }
        .stat-icon.blue { background: var(--primary-50); color: var(--primary-600); }
        .stat-icon.green { background: #f0fdf4; color: #16a34a; }
        .stat-icon.yellow { background: #fffbeb; color: var(--accent-600); }
        .stat-icon.red { background: #fff1f2; color: var(--rose-600); }
        .stat-value { font-size: 1.75rem; font-weight: 700; color: var(--slate-800); margin-bottom: 0.25rem; }
        .stat-change { font-size: 0.8125rem; font-weight: 500; }
        .stat-change.up { color: #16a34a; }
        .stat-change.down { color: #ea580c; }

        .badge {
            display: inline-flex; align-items: center; gap: 0.375rem;
            padding: 0.25rem 0.625rem; border-radius: 9999px;
            font-size: 0.75rem; font-weight: 600;
        }
        .badge-green { background: #dcfce7; color: #166534; }
        .badge-yellow { background: #fef9c3; color: #854d0e; }
        .badge-red { background: #fee2e2; color: #991b1b; }
        .badge-gray { background: var(--slate-100); color: var(--slate-600); }
        .badge-blue { background: var(--primary-50); color: var(--primary-700); }

        .btn {
            display: inline-flex; align-items: center; gap: 0.5rem;
            padding: 0.5rem 1rem; border-radius: var(--radius-base);
            font-size: 0.875rem; font-weight: 500; cursor: pointer;
            transition: all var(--transition-fast); border: none; text-decoration: none;
        }
        .btn-primary {
            background: linear-gradient(135deg, var(--rose-500), var(--rose-600));
            color: white;
        }
        .btn-primary:hover { box-shadow: 0 4px 12px rgba(244, 63, 94, 0.35); transform: translateY(-1px); }
        .btn-outline { background: white; border: 1px solid var(--slate-200); color: var(--slate-600); }
        .btn-outline:hover { border-color: var(--slate-300); background: var(--slate-50); }
        .btn-ghost { background: transparent; color: var(--slate-500); }
        .btn-ghost:hover { background: var(--slate-100); color: var(--slate-700); }
        .btn-sm { padding: 0.375rem 0.75rem; font-size: 0.8125rem; }

        .empty-state { text-align: center; padding: 3rem 1.5rem; color: var(--slate-400); }
        .empty-state i { font-size: 3rem; margin-bottom: 1rem; opacity: 0.4; }

        .section-header {
            margin-bottom: 1.5rem; padding-bottom: 1rem;
            border-bottom: 1px solid var(--slate-200); position: relative;
        }
        .section-header::after {
            content: ''; position: absolute; bottom: -1px; left: 0;
            width: 80px; height: 2px;
            background: linear-gradient(90deg, var(--rose-500), var(--rose-400));
            border-radius: 2px;
        }
        .section-header h1 { font-size: 1.5rem; font-weight: 700; color: var(--slate-800); }
        .section-header p { color: var(--slate-500); margin-top: 0.25rem; }

        .data-table {
            width: 100%; border-collapse: collapse; font-size: 0.875rem;
        }
        .data-table th {
            text-align: left; padding: 0.875rem 1.25rem; font-weight: 600;
            color: var(--slate-500); background: var(--slate-50);
            border-bottom: 1px solid var(--slate-200); white-space: nowrap;
        }
        .data-table td {
            padding: 1rem 1.25rem; border-bottom: 1px solid var(--slate-100); vertical-align: middle;
        }
        .data-table tr:hover td { background: var(--slate-50); }
        .data-table tr:last-child td { border-bottom: none; }

        @media (max-width: 1024px) {
            .stats-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .admin-sidebar { transform: translateX(-100%); }
            .admin-sidebar.open { transform: translateX(0); }
            .admin-main { margin-left: 0; }
            .mobile-toggle { display: block; }
            .stats-grid { grid-template-columns: 1fr; }
            .admin-content { padding: 1rem; }
        }

        /* ===== PROGRESS BARS ===== */
        .progress-bar-bg {
            width: 100%; height: 10px; background: var(--slate-100); border-radius: 9999px; overflow: hidden;
        }
        .progress-bar-fill {
            height: 100%; border-radius: 9999px;
            background: linear-gradient(90deg, var(--rose-500), var(--rose-400));
            transition: width 0.8s ease;
        }
        .progress-bar-fill.green { background: linear-gradient(90deg, #22c55e, #16a34a); }
        .progress-bar-fill.yellow { background: linear-gradient(90deg, #f59e0b, #fbbf24); }

        /* ===== LIVE DOT ===== */
        .live-dot {
            width: 8px; height: 8px; border-radius: 50%;
            background: #22c55e; display: inline-block; margin-right: 0.5rem;
            animation: pulse 2s infinite;
        }
        @keyframes pulse {
            0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }
            70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }
            100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }
        }

        /* ===== TOAST ===== */
        .toast-container {
            position: fixed; top: 1rem; right: 1rem; z-index: 300;
            display: flex; flex-direction: column; gap: 0.5rem;
        }
        .toast {
            padding: 0.875rem 1.25rem; border-radius: var(--radius-lg);
            font-size: 0.875rem; font-weight: 500; box-shadow: var(--shadow-xl);
            animation: slideIn 0.3s ease; display: flex; align-items: center; gap: 0.5rem;
        }
        .toast-success { background: #f0fdf4; color: #166534; border: 1px solid #bbf7d0; }
        .toast-error { background: #fef2f2; color: #991b1b; border: 1px solid #fecaca; }
        @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } }