/*
 * File CSS Kustom (style.css)
 * (Versi FINAL v1.8 - Menghapus override .btn-primary)
 */

/* =========================================
   1. SETUP UTAMA & PENGUNCIAN SCROLL
   ========================================= */
:root {
    /* Variabel palet kustom kita */
    --warna-teks: #322C2B;
    --warna-latar-terang: #E4C59E;
    --warna-aksen-perunggu: #AF8260;
    --warna-utama-maroon: #803D3B;
    --warna-latar-utama: #f8f9fa;
}
html, body {
    height: 100%; margin: 0; padding: 0;
    overflow-x: hidden;
    font-family: var(--bs-body-font-family);
}
body {
    color: var(--warna-teks);
    background-color: var(--warna-latar-utama);
}
body:has(.dashboard-container) {
    overflow: hidden !important;
}
.dashboard-container {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0;
    display: flex; width: 100vw; height: 100vh; overflow: hidden;
}

/* =========================================
   2. SIDEBAR (STATIS)
   ========================================= */
.sidebar {
    width: 260px; height: 100%; flex-shrink: 0;
    background-color: var(--warna-utama-maroon);
    display: flex; flex-direction: column;
    overflow-y: auto; z-index: 10;
}
.sidebar-header {
    padding: 1.5rem 1rem 1rem; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.15); background-color: rgba(0, 0, 0, 0.1); flex-shrink: 0;
}
.sidebar-header img { height: 70px; margin-bottom: 12px; filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.2)); }
.sidebar-header h3 { color: #fff; margin: 0; font-weight: 800; font-size: 1.5rem; letter-spacing: 1px; }
.sidebar-header p { color: var(--warna-latar-terang); font-size: 0.85em; margin-top: 5px; margin-bottom: 0; font-weight: 500; text-transform: uppercase; opacity: 0.9; }
.sidebar-nav-container { flex-grow: 1; padding: 1rem; overflow-y: visible; }
.sidebar-nav { list-style: none; padding: 0; margin: 0; }
.sidebar-nav li { margin-bottom: 8px; }
.sidebar-nav a { text-decoration: none; color: rgba(255, 255, 255, 0.8); display: flex; align-items: center; padding: 11px 15px; border-radius: 8px; font-size: 0.95em; font-weight: 500; transition: all 0.2s ease; border: 1px solid transparent; }
.sidebar-nav a .bi { margin-right: 12px; font-size: 1.3em; width: 24px; text-align: center; opacity: 0.9; }
.sidebar-nav a:hover { background-color: rgba(255, 255, 255, 0.15); color: #fff; transform: translateX(3px); }
.sidebar-nav a.active { background-color: var(--warna-latar-terang); color: var(--warna-utama-maroon); font-weight: 700; box-shadow: 0 2px 6px rgba(0,0,0,0.15); }
.sidebar-nav a.danger { color: #ffccc7; background-color: rgba(255, 0, 0, 0.1); }
.sidebar-nav a.danger:hover, .sidebar-nav a.danger.active { background-color: #cf1322 !important; color: #fff !important; }
.sidebar-nav hr { border-color: rgba(255, 255, 255, 0.2) !important; opacity: 1; margin: 1rem 0; }
.sidebar-footer { flex-shrink: 0; padding: 1rem; text-align: center; font-size: 0.75rem; color: rgba(255, 255, 255, 0.5); border-top: 1px solid rgba(255, 255, 255, 0.15); background-color: rgba(0, 0, 0, 0.15); }

/* =========================================
   3. AREA KONTEN UTAMA (SCROLLABLE)
   ========================================= */
.main-content {
    flex: 1; height: 100%; overflow-y: auto; overflow-x: hidden;
    padding: 25px; background-color: #f0f2f5; position: relative;
}
.header-bar { background-color: #fff; padding: 15px 25px; border-radius: 10px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); margin-bottom: 25px; display: flex; justify-content: space-between; align-items: center; border-left: 5px solid var(--warna-utama-maroon); }

/* =========================================
   4. TAMPILAN PUBLIK (index.php)
   ========================================= */
.header-publik { background-color: #ffffff; border-bottom: 4px solid var(--warna-utama-maroon); padding: 1.5rem 0; margin-bottom: 2rem; box-shadow: 0 4px 12px rgba(0,0,0,0.05); }
.table-scroll-container { height: 65vh; overflow: hidden; position: relative; border: 1px solid #dee2e6; border-radius: 0.375rem; }
.table-scroll-container thead th { position: sticky; top: 0; z-index: 5; background-color: var(--warna-utama-maroon) !important; color: white; box-shadow: 0 2px 2px -1px rgba(0,0,0,0.2); }
.table-scroll-container tbody { animation: scrollUp 80s linear forwards; animation-play-state: running; animation-delay: 8s; animation-fill-mode: both; }
.table-scroll-container:hover tbody { animation-play-state: paused; }
@keyframes scrollUp { from { transform: translateY(0); } to { transform: translateY(-100%); } }

/* =========================================
   5. KOMPONEN LAIN
   ========================================= */
/* (Catatan: .btn-primary dihapus dari sini) */
a { color: var(--warna-aksen-perunggu); } 
a:hover { color: var(--warna-teks); }

/* Tabel */
.table-sm-custom { font-size: 0.875rem; }
.table-sm-custom th, .table-sm-custom td { padding: 0.6rem 0.8rem; vertical-align: middle; }
.row-disidangkan { background-color: #e9ecef !important; color: #999 !important; font-style: italic; }
.row-disidangkan td { text-decoration: line-through; }
.row-disidangkan td .badge-selesai, .row-disidangkan td .badge-hadir, .row-disidangkan td button, .row-disidangkan td .pihak-flex { text-decoration: none !important; opacity: 0.7; }
.badge-hadir { background-color: #dcfce7; color: #166534; padding: 4px 10px; border-radius: 20px; font-weight: 600; font-size: 0.75em; letter-spacing: 0.5px; white-space: nowrap; }
.badge-belum-hadir { background-color: #fee2e2; color: #991b1b; padding: 4px 10px; border-radius: 20px; font-weight: 600; font-size: 0.75em; }
.badge-selesai { background-color: #d1fae5; color: #065f46; padding: 6px 12px; border-radius: 6px; font-weight: 700; }
.badge-belum { background-color: #f3f4f6; color: #4b5563; padding: 6px 12px; border-radius: 6px; font-weight: 600; }
.table-dark { --bs-table-bg: var(--warna-utama-maroon); --bs-table-border-color: #6a3230; }

/* Custom Utility */
.pihak-flex { display: flex; justify-content: space-between; align-items: center; padding: 4px 0; border-bottom: 1px dashed #eee; }
.pihak-flex:last-child { border-bottom: none; }
.pihak-nama { margin-right: 15px; }
.pihak-status { flex-shrink: 0; }

/* Tombol (Hanya warna outline kustom) */
.btn-outline-maroon { color: var(--warna-utama-maroon); border-color: var(--warna-utama-maroon); }
.btn-outline-maroon:hover { background-color: var(--warna-utama-maroon); color: #fff; }

/* Login */
.login-container { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--warna-latar-utama) 0%, #eaddcf 100%); padding: 20px; }
body.bg-light { overflow: auto !important; height: auto !imporant; } /* 'auto !imporant' sengaja agar salah ketik sebelumnya hilang */
body.bg-light { overflow: auto !important; height: auto !important; } /* Perbaikan: typo 'imporant' */
.login-card { border: 0; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); border-top: 5px solid var(--warna-utama-maroon); border-radius: 12px; overflow: hidden; width: 100%; }