/* Dashboard wrapper — fills the main-content-area, scrollable */ .dashboard-wrapper { flex: 1; overflow-y: auto; background: #f8fafc; min-height: 100vh; } .dashboard-content { padding: 40px; max-width: 1400px; margin: 0 auto; } .dashboard-header { margin-bottom: 36px; display: flex; justify-content: space-between; align-items: center; } .dashboard-title h1 { font-family: var(--font-head); font-size: 28px; font-weight: 800; letter-spacing: -.04em; margin: 0 0 6px; color: #0f172a; } .dashboard-title p { color: #64748b; font-size: 14px; margin: 0; } .dashboard-date { background: #fff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 16px; font-size: 12px; font-weight: 600; color: #475569; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.02); } /* KPI Stat Cards Grid */ .stat-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 24px; display: flex; align-items: center; gap: 20px; transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); } .stat-card:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgba(15, 23, 42, 0.06); border-color: #cbd5e1; } .charts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 36px; } @media (max-width: 1024px) { .charts-grid { grid-template-columns: 1fr; } } .tables-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px; } @media (max-width: 1024px) { .tables-grid { grid-template-columns: 1fr; } } .table-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 20px; padding: 24px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02); } .table-title { font-family: var(--font-head); font-size: 16px; font-weight: 700; color: #0f172a; margin: 0 0 20px; } /* Page header for list pages (manajemen_akun, daftar_pm) */ .page-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 28px; } .page-title-group h1 { font-family: var(--font-head); font-size: 24px; font-weight: 800; letter-spacing: -.04em; margin: 0 0 6px; color: #0f172a; } .page-title-group p { color: #64748b; font-size: 14px; margin: 0; } .page-actions { display: flex; gap: 10px; align-items: center; flex-shrink: 0; } @media (max-width: 768px) { .main-content-area { margin-left: 0; } .sidebar { transform: translateX(-100%); transition: transform 0.3s ease; } .dashboard-content { padding: 20px; } }