/* Dashboard */
        /* ==================== DASHBOARD LAYOUT ==================== */
        .dashboard-layout { display: flex; min-height: 100vh; }
        
        /* Sidebar */
        .sidebar {
            width: 280px;
            background: white;
            border-right: 1px solid var(--gray-200);
            position: fixed;
            left: 0;
            top: 0;
            bottom: 0;
            z-index: 100;
            display: flex;
            flex-direction: column;
            transition: width 0.3s ease;
            overflow: hidden;
        }
        .sidebar.collapsed { width: 72px; }
        .sidebar-header {
            padding: 20px;
            border-bottom: 1px solid var(--gray-100);
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .sidebar-nav { flex: 1; overflow-y: auto; padding: 20px 12px; }
        .nav-section { margin-bottom: 24px; }
        .nav-section-title {
            font-size: 11px;
            font-weight: 600;
            color: var(--gray-400);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
            padding: 0 12px;
        }
        .sidebar.collapsed .nav-section-title { display: none; }
        .nav-item {
            display: flex;
            align-items: center;
            gap: 12px;
            padding: 10px 12px;
            border-radius: 8px;
            cursor: pointer;
            transition: var(--transition);
            color: var(--gray-600);
            font-weight: 500;
            font-size: 14px;
        }
        .nav-item:hover { background: var(--gray-50); color: var(--gray-900); }
        .nav-item.active { background: var(--primary-light); color: var(--primary); }
        .nav-item svg { width: 20px; height: 20px; flex-shrink: 0; }
        .sidebar.collapsed .nav-item span { display: none; }
        
        /* Sub-group Label for Pelayanan Menu */
        .nav-subgroup-label {
            font-size: 10px;
            font-weight: 600;
            color: var(--gray-400);
            text-transform: uppercase;
            letter-spacing: 0.8px;
            padding: 10px 12px 6px;
            display: flex;
            align-items: center;
            gap: 6px;
        }
        .sidebar.collapsed .nav-subgroup-label { display: none; }
        
        /* Nav Item Badge (for category description) */
        .nav-item-badge {
            margin-left: auto;
            font-size: 9px;
            font-weight: 600;
            padding: 2px 8px;
            border-radius: 10px;
            white-space: nowrap;
            letter-spacing: 0.3px;
            flex-shrink: 0;
        }
        .sidebar.collapsed .nav-item-badge { display: none; }
        
        /* Highlighted Nav Item (for "Semua Nakes") */
        .nav-item-highlight {
            background: linear-gradient(135deg, #f0fdf4, #ecfdf5);
            border: 1px solid #bbf7d0;
        }
        .nav-item-highlight:hover {
            background: linear-gradient(135deg, #dcfce7, #d1fae5) !important;
            border-color: #86efac !important;
            transform: translateX(4px);
        }
        .sidebar-toggle {
            position: absolute;
            right: -12px;
            top: 80px;
            width: 24px;
            height: 24px;
            background: white;
            border: 1px solid var(--gray-200);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: var(--shadow-sm);
        }
        .sidebar-user {
            padding: 16px 20px;
            border-top: 1px solid var(--gray-100);
        }
        .sidebar.collapsed .sidebar-user { padding: 16px; }
        .user-info { display: flex; align-items: center; gap: 12px; }
        .sidebar.collapsed .user-info span { display: none; }
        
        /* Main Content */
        .main-content {
            flex: 1;
            margin-left: 280px;
            transition: margin-left 0.3s ease;
        }
        .sidebar.collapsed ~ .main-content { margin-left: 72px; }
        
        /* Top Header */
        .top-header {
            position: sticky;
            top: 0;
            z-index: 50;
            background: white;
            border-bottom: 1px solid var(--gray-200);
            padding: 16px 24px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .page-title h2 { font-size: 20px; font-weight: 600; color: var(--gray-900); }
        .page-title p { font-size: 14px; color: var(--gray-500); }
        .header-actions { display: flex; gap: 12px; align-items: center; }
        
        /* Page Content */
        .page-content { padding: 24px; }
        
        /* Stats Grid */
        .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 24px; }
        .stat-card {
            background: white;
            border-radius: 12px;
            padding: 20px;
            box-shadow: var(--shadow-sm);
        }
        .stat-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
        .stat-card-label { font-size: 14px; color: var(--gray-500); }
        .stat-card-value { font-size: 28px; font-weight: 700; color: var(--gray-900); }
        .stat-card-icon {
            width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        /* Grid Layouts */
        .grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
        .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
        .grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
        
        /* Nakes Cards */
        .nakes-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
        .nakes-card {
            background: white;
            border-radius: 12px;
            padding: 24px;
            box-shadow: var(--shadow-sm);
            transition: var(--transition);
        }
        .nakes-card:hover { box-shadow: var(--shadow-md); }
        .nakes-header { display: flex; gap: 16px; margin-bottom: 16px; }
        .nakes-info h3 { font-size: 16px; font-weight: 600; color: var(--gray-900); }
        .nakes-info p { font-size: 14px; color: var(--gray-500); }
        .nakes-details { font-size: 13px; color: var(--gray-600); }
        .nakes-details div { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
        .nakes-actions { display: flex; gap: 8px; margin-top: 16px; }
        .nakes-actions .btn { flex: 1; }
        
