/* =========================================================
   THEME-NEW.CSS
   Reskin "Modern Minimalis - Putih Bersih, Aksen Biru"
   untuk aplikasi SBU Velodrome (backup_script_cloud).

   File ini di-load SETELAH assets/css/portal.css, sehingga
   hanya perlu menimpa variabel & beberapa selector kunci milik
   template yang sudah ada — tidak mengubah struktur HTML.
   ========================================================= */

:root, [data-bs-theme=light] {
    /* Warna utama diganti ke biru modern */
    --bs-primary: #2563eb;
    --bs-primary-rgb: 37, 99, 235;
    --bs-secondary: #64748b;
    --bs-success: #16a34a;
    --bs-info: #0ea5e9;
    --bs-warning: #f59e0b;
    --bs-danger: #dc2626;

    --bs-body-bg: #f7f9fc;
    --bs-body-color: #1e293b;
    --bs-border-color: #e5e9f0;
}

body {
    color: #334155;
    background-color: #f7f9fc;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    color: #0f172a;
    font-weight: 600;
}

a { color: #2563eb; }
a:hover { color: #1d4ed8; }

/* ===== Sidebar ===== */
.app-sidepanel {
    border-right: 1px solid #e5e9f0;
}
.app-sidepanel .sidepanel-inner {
    background: #ffffff;
    box-shadow: 0 0 0 rgba(0,0,0,0);
}
.app-branding .logo-text {
    color: #0f172a;
    font-weight: 700;
}
.app-nav .nav-link {
    color: #475569;
}
.app-nav .nav-link.active {
    color: #2563eb;
    background: #eff4ff;
    border-left: 3px solid #2563eb;
    font-weight: 600;
}
.app-nav .nav-link:hover {
    color: #2563eb;
    background: #f5f8ff;
}
.app-nav .submenu-link.active { color: #2563eb; }
.app-nav .submenu-link.active:before { background-color: #2563eb; }

/* ===== Header / Topbar ===== */
.app-header {
    background: #ffffff !important;
    border-bottom: 1px solid #e5e9f0 !important;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04) !important;
}

/* ===== Kartu ===== */
.app-card, .card {
    background: #ffffff;
    border: 1px solid #eef1f6;
    border-radius: 14px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}
.app-card-stat {
    background: linear-gradient(160deg, #ffffff, #f8fafc);
    border-radius: 16px;
}
.app-card-stat .stats-figure { color: #0f172a; font-weight: 700; }
.app-card-stat .stats-type { color: #64748b; }
.app-icon-holder {
    background: #eff4ff !important;
    color: #2563eb !important;
}

/* Kartu ringkasan soft-color, dipakai di beberapa dashboard */
.card-soft-primary { background-color: #eff4ff; }
.card-soft-success { background-color: #eafaf1; }
.card-soft-info    { background-color: #eaf7fd; }
.card-soft-warning { background-color: #fff8e8; }
.card-soft-danger  { background-color: #fdeceb; }

/* ===== Tombol ===== */
.btn-primary, .app-btn-primary {
    background: #2563eb;
    border-color: #2563eb;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
}
.btn-primary:hover, .app-btn-primary:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}
.app-btn-secondary {
    background: #fff;
    color: #475569;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
}
.app-btn-secondary:hover {
    color: #2563eb;
    border-color: #2563eb;
}

/* ===== Tabel ===== */
.table thead th {
    background: #f8fafc;
    color: #475569;
    font-weight: 600;
    border-color: #e5e9f0;
}
.table-striped tbody tr:nth-of-type(odd) {
    background-color: #fafbfd;
}

/* ===== Form ===== */
.form-control, .form-select {
    border-color: #e2e8f0;
    border-radius: 8px;
}
.form-control:focus, .form-select:focus {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

/* ===== Badge & alert tetap pakai warna kontekstual bawaan,
   hanya radius & font disamakan ===== */
.badge { border-radius: 6px; font-weight: 600; }
.alert { border-radius: 10px; }

/* ===== App shell background ===== */
.app {
    background: #f7f9fc;
}
