/**
 * Tema: Merah, Kuning, Hitam, Putih
 * Dominan: merah, kuning, putih. Kuning & merah tidak menyala (soft).
 */
:root {
  --merah:        #c62828;
  --merah-gelap:  #b71c1c;
  --merah-terang: #d32f2f;
  --kuning:       #E6A800;
  --kuning-gelap: #C49000;
  --kuning-soft:  #FFF8E1;
  --hitam:        #212121;
  --putih:        #ffffff;
  /* Sinkronkan token admin_common */
  --sbk-bg: #f4f6f9;
  --sbk-surface: #ffffff;
  --sbk-text: #212121;
  --sbk-text-secondary: #37474f;
  --sbk-text-muted: #5a6c7d;
  --sbk-text-hint: #7f8c8d;
  --sbk-border: #e9ecef;
  --sbk-border-input: #dfe6e9;
  --sbk-accent: #c62828;
  --sbk-accent-dark: #b71c1c;
  --sbk-accent-soft: #fff8e1;
  --sbk-success: #2e7d32;
  --sbk-success-bg: #e8f5e9;
  --sbk-success-text: #1b5e20;
  --sbk-danger: #b71c1c;
  --sbk-danger-bg: #ffebee;
  --sbk-danger-text: #b71c1c;
  --sbk-warning: #e65100;
  --sbk-warning-bg: #fff3e0;
  --sbk-warning-text: #bf360c;
  --sbk-info: #1565c0;
  --sbk-info-bg: #e3f2fd;
  --sbk-info-text: #0d47a1;
}

/* ========== SIDEBAR (merah gelap + aksen kuning soft) ========== */
.sidebar,
.admin-hamburger {
  background: linear-gradient(180deg, #b71c1c 0%, #c62828 100%) !important;
  color: #fff !important;
}
.admin-hamburger:hover {
  background: #d32f2f !important;
}
.sidebar .sidebar-header {
  border-bottom-color: rgba(255,255,255,0.15) !important;
}
.sidebar .sidebar-period-switcher {
  border-bottom-color: rgba(255,255,255,0.15) !important;
  background: rgba(0,0,0,0.12) !important;
}
.sidebar-header h3,
.sidebar-menu li a:hover i,
.sidebar-menu li a.active i {
  color: #FFE082 !important;
}
.sidebar-menu li a:hover,
.sidebar-menu li a.active {
  background: rgba(0,0,0,0.2) !important;
  border-left-color: #FFE082 !important;
  color: #fff !important;
}
.sidebar-period-switcher a {
  color: #FFE082 !important;
}

body .sidebar-header p[style*="color:#f1c40f"],
body .sidebar-period-switcher a[style*="color:#f1c40f"],
body .sidebar-period-switcher a[style*="color:#3498db"] {
  color: #FFE082 !important;
}

/* ========== PAGE HEADER (merah) ========== */
.page-header {
  background: linear-gradient(135deg, #b71c1c 0%, #c62828 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(183, 28, 28, 0.35) !important;
}

/* ========== KARTU & BORDER AKSEN ========== */
.card { border-top-color: #c62828 !important; }
.card[style*="border-left-color"],
.card[style*="border-top-color"] {
  border-left-color: #c62828 !important;
  border-top-color: #c62828 !important;
}

/* ========== TOMBOL PRIMER (merah) ========== */
.btn-primary,
.btn-login,
.btn-simpan,
.todo-form button,
input[type="submit"].btn-primary {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(198, 40, 40, 0.35) !important;
}
.btn-success { background: linear-gradient(135deg, #2e7d32 0%, #1b5e20 100%) !important; color: #fff !important; }
.btn-warning { background: linear-gradient(135deg, #e65100 0%, #bf360c 100%) !important; color: #fff !important; }
.btn-danger  { background: linear-gradient(135deg, #880e4f 0%, #6a0d3d 100%) !important; color: #fff !important; box-shadow: 0 4px 12px rgba(136, 14, 79, 0.35) !important; }
.btn-info    { background: linear-gradient(135deg, #1565c0 0%, #0d47a1 100%) !important; color: #fff !important; }
.btn-secondary { background: linear-gradient(135deg, #546e7a 0%, #37474f 100%) !important; color: #fff !important; }
.btn-dark { background: linear-gradient(135deg, #263238 0%, #1a1a1a 100%) !important; color: #fff !important; }
.btn-primary:hover,
.btn-login:hover,
.btn-simpan:hover {
  background: linear-gradient(135deg, #d32f2f 0%, #c62828 100%) !important;
  box-shadow: 0 6px 16px rgba(198, 40, 40, 0.4) !important;
}

/* ========== FOCUS & LINK ========== */
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.15) !important;
}
a[href]:not(.btn):not(.sidebar-menu a) {
  color: #c62828;
}
a[href]:not(.btn):not(.sidebar-menu a):hover {
  color: #b71c1c;
}

/* ========== LOGIN PAGE ========== */
body .info-section {
  background: linear-gradient(135deg, #b71c1c 0%, #c62828 100%) !important;
  color: #fff !important;
}
body .info-section h1,
body .info-box h4,
body .info-box { border-left-color: #E6A800 !important; }
body .info-box h4 { color: #FFE082 !important; }
body .info-section h1 { color: #FFE082 !important; }
body .login-card h2 { color: #212121 !important; }
body .form-group label { color: #212121 !important; }
body .form-group input:focus { border-color: #c62828 !important; box-shadow: 0 0 5px rgba(198, 40, 40, 0.25) !important; }
body .btn-login { background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important; }
body .btn-login:hover { background: linear-gradient(135deg, #d32f2f 0%, #c62828 100%) !important; }

/* ========== DASBOR & STAT CARD ========== */
.stat-icon.bg-blue { background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important; }
.stat-icon.bg-yellow { background: linear-gradient(135deg, #E6A800 0%, #C49000 100%) !important; }
body .user-profile { color: #212121 !important; }
h2[style*="color: #2c3e50"] { color: #212121 !important; }
.stat-info h3 { color: #212121 !important; }
.panel h3 { color: #212121 !important; }
body { color: #212121; }

/* ========== ADMIN_UI OVERRIDES ========== */
#admin-confirm-icon {
  background: linear-gradient(135deg, #C49000 0%, #E6A800 100%) !important;
}
#admin-confirm-overlay.show #admin-confirm-box .admin-confirm-btn.confirm.primary {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important;
  box-shadow: 0 4px 14px rgba(198, 40, 40, 0.4) !important;
}
#admin-page-loader .loader-spinner {
  border-top-color: #E6A800 !important;
  border-color: rgba(230, 168, 0, 0.25) !important;
}
.admin-toast.info { border-left-color: #c62828 !important; }
.admin-toast.info .admin-toast-icon {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important;
}

/* ========== TAB & BADGE ========== */
.tab-btn:hover { color: #c62828 !important; }
.tab-btn.active { color: #c62828 !important; border-bottom-color: #c62828 !important; }
.summary-box { border-left-color: #c62828 !important; }

/* Badge status — jangan pakai kelas .btn-* */
.badge-success { background: #e8f5e9 !important; color: #1b5e20 !important; border-color: #a5d6a7 !important; }
.badge-danger  { background: #ffebee !important; color: #b71c1c !important; border-color: #ef9a9a !important; }
.badge-warning { background: #fff3e0 !important; color: #bf360c !important; border-color: #ffcc80 !important; }
.badge-info    { background: #e3f2fd !important; color: #0d47a1 !important; border-color: #90caf9 !important; }
.badge-secondary { background: #eceff1 !important; color: #37474f !important; border-color: #b0bec5 !important; }

/* ========== UPLOAD BOX (tema Saka) ========== */
.upload-box:hover { border-color: #c62828 !important; box-shadow: 0 4px 16px rgba(198, 40, 40, 0.12) !important; }
.upload-box-btn { background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important; box-shadow: 0 3px 12px rgba(198, 40, 40, 0.35) !important; }
.upload-box-btn:hover { box-shadow: 0 6px 18px rgba(198, 40, 40, 0.45) !important; }
.upload-section-title { color: #5a6c7d !important; }
.btn-upload:hover { border-color: #c62828 !important; background: linear-gradient(145deg, #fff5f5 0%, #ffebee 100%) !important; box-shadow: 0 2px 12px rgba(198, 40, 40, 0.15) !important; }
th[style*="background:#2c3e50"] { background: #b71c1c !important; color: #fff !important; }
.badge.aktif { background: #FFF8E1; color: #b71c1c; }

/* ========== OVERRIDE HALAMAN LEGACY (inline style di PHP) ========== */
.page-header h2, .page-header p { color: #fff !important; }

/* Summary & saldo — aksen merah Saka */
.summary-box { border-left-color: var(--sbk-accent, #c62828) !important; }
.summary-box h4 { color: var(--sbk-text-muted, #5a6c7d) !important; }

/* Menu modul */
.menu-btn:hover { border-color: #c62828 !important; color: #b71c1c !important; }
.menu-btn:hover i { color: #c62828 !important; }

/* Tabel header */
.table-container table th,
table thead th {
  background: #fafafa !important;
  color: var(--sbk-text-secondary, #37474f) !important;
}

/* Tab: seragamkan ke gaya bawah (bukan border-top biru/ungu) */
.tabs .tab-btn {
  background: transparent !important;
  border: none !important;
  border-bottom: 3px solid transparent !important;
  border-radius: 8px 8px 0 0 !important;
  color: #6c757d !important;
  margin-bottom: 0 !important;
}
.tabs .tab-btn.active {
  background: #fff !important;
  color: #c62828 !important;
  border-bottom-color: #c62828 !important;
  border-top: none !important;
  box-shadow: none !important;
}

/* Form fokus merah di semua halaman */
input:focus, select:focus, textarea:focus {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.12) !important;
}
.form-surat .form-group input:focus,
.form-surat .form-group select:focus,
.form-surat .form-group textarea:focus {
  border-color: #c62828 !important;
  box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.12) !important;
}

/* Badge lama: jangan pakai teks putih di latar terang */
.badge { border: 1px solid transparent; }
.badge[style*="background"] { color: #fff !important; }
.badge.badge-success, .badge.badge-danger, .badge.badge-warning,
.badge.badge-info, .badge.badge-secondary, .badge.badge-purple,
.badge.badge-dark,
.badge.btn-success, .badge.btn-danger, .badge.btn-warning,
.badge.btn-info, .badge.btn-secondary, .badge.btn-dark {
  /* warna dari admin_common */
}

/* Dasbor todo */
.todo-form button { background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important; color: #fff !important; }
.todo-form input:focus { border-color: #c62828 !important; }

/* Status iuran rutin */
.s-belum { background: var(--sbk-danger-bg, #ffebee) !important; color: var(--sbk-danger-text, #b71c1c) !important; border-color: #ef9a9a !important; }
.s-belum:hover { background: #b71c1c !important; color: #fff !important; }
.s-lunas-unpost { background: var(--sbk-warning-bg, #fff3e0) !important; color: var(--sbk-warning-text, #bf360c) !important; border-color: #ffcc80 !important; }
.s-lunas-unpost:hover { background: #e65100 !important; color: #fff !important; }

/* Info panel notulensi */
.hadir-box { background: var(--sbk-info-bg, #e3f2fd) !important; border-color: #90caf9 !important; color: var(--sbk-info-text, #0d47a1) !important; }

/* Presensi header */
.presensi-header { background: linear-gradient(135deg, #b71c1c 0%, #c62828 100%) !important; color: #fff !important; }

/* Stat presensi — kontras teks pada latar putih */
.st-h { border-bottom-color: var(--sbk-success, #2e7d32) !important; color: var(--sbk-success-text, #1b5e20) !important; }
.st-i { border-bottom-color: var(--sbk-info, #1565c0) !important; color: var(--sbk-info-text, #0d47a1) !important; }
.st-s { border-bottom-color: var(--sbk-warning, #e65100) !important; color: var(--sbk-warning-text, #bf360c) !important; }
.st-a { border-bottom-color: var(--sbk-danger, #b71c1c) !important; color: var(--sbk-danger-text, #b71c1c) !important; }
.st-tot { border-bottom-color: var(--sbk-accent-dark, #b71c1c) !important; color: var(--sbk-text, #212121) !important; }

/* Organogram struktur */
.org-card { border-left-color: var(--sbk-accent, #c62828) !important; }
.org-card.dewasa { border-left-color: var(--sbk-success, #2e7d32) !important; }
.org-card.bidang { border-left-color: #6a1b9a !important; }
