/* ============================================
   STYLE UTAMA - SISTEM ABSENSI BAWASLU KOTA PALANGKA RAYA
   Tema: Oranye + Degradasi Abu-Abu
   ============================================ */

:root{
    --primary:      #e8610a;       /* oranye utama */
    --primary-dark: #c44e06;       /* oranye gelap (hover) */
    --primary-light:#f5874a;       /* oranye muda */
    --gray-dark:    #4a4a4a;       /* abu gelap */
    --gray-mid:     #7a7a7a;       /* abu tengah */
    --gray-light:   #d6d6d6;       /* abu muda */
    --bg:           #f4f4f4;       /* background abu sangat muda */
}

/* ============ Global ============ */
body{
    background: var(--bg);
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    color: #2d2d2d;
}

/* ============ Navbar ============ */
.navbar{
    background: linear-gradient(135deg, var(--primary) 0%, #bf4500 50%, var(--gray-dark) 100%);
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

/* Logo kecil kiri navbar */
.brand-wrap{
    display: flex;
    align-items: center;
    gap: 8px;
}

.brand-logo{
    height: 48px;
    width: 48px;
    object-fit: contain;
    border-radius: 6px;
    background: #fff;
    padding: 3px;
    flex-shrink: 0;
}

.navbar-brand small{
    font-weight: 400;
    opacity:.85;
    font-size: 0.75rem;
}

/* ============ Override Bootstrap primary ============ */
.btn-primary{
    background-color: var(--primary);
    border-color: var(--primary-dark);
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active{
    background-color: var(--primary-dark);
    border-color: var(--primary-dark);
}

.bg-primary{
    background-color: var(--primary) !important;
}

.text-primary{
    color: var(--primary) !important;
}

.alert-primary{
    background: linear-gradient(90deg, #fde8d8 0%, #f0f0f0 100%);
    border-left: 4px solid var(--primary);
    color: #5a2800;
}

.badge.bg-light.text-primary{
    color: var(--primary) !important;
}

/* Card header orange */
.card-header.bg-primary{
    background: linear-gradient(90deg, var(--primary) 0%, var(--gray-dark) 100%) !important;
    color: #fff !important;
}

/* ============ Cards ============ */
.card{
    border: none;
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.07);
}

.stat-card{
    border-left: 4px solid var(--primary);
    background: linear-gradient(120deg, #fff 70%, #fde8d8 100%);
}

/* ============ Menu Tiles ============ */
.menu{
    text-decoration: none;
    color: inherit;
}

.menu .card:hover{
    transform: translateY(-3px);
    box-shadow: 0 .5rem 1.2rem rgba(232,97,10,.18);
    transition: all .2s ease-in-out;
    border-bottom: 3px solid var(--primary);
}

/* ============ Badge ============ */
.badge-status{
    font-size:.85rem;
}

/* ============ Kartu Statistik Dashboard ============ */
.stat-card h2{
    font-weight:700;
    color: var(--primary);
}

/* ============ HR divider ============ */
hr{
    border-color: var(--gray-light);
}

/* ============ Table head ============ */
.table-primary, thead.table-primary th{
    background-color: #fde8d8 !important;
    color: #5a2800 !important;
    border-color: #f5c6a0 !important;
}

/* ============ Form focus ============ */
.form-control:focus, .form-select:focus{
    border-color: var(--primary-light);
    box-shadow: 0 0 0 .2rem rgba(232,97,10,.2);
}

/* ============ Halaman Absen ============ */
.camera-box{
    position: relative;
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
    border-radius: 14px;
    overflow: hidden;
    background:#000;
}

.camera-box video,
.camera-box canvas,
.camera-box img{
    width: 100%;
    display:block;
}

.jam-digital{
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--primary);
}

/* ============ Responsif ============ */
@media (max-width: 767px){
    .jam-digital{
        font-size: 1.5rem;
    }
    .card h2{
        font-size: 1.4rem;
    }
    .navbar-brand{
        font-size: .95rem;
    }
    .container{
        padding-left: 12px;
        padding-right: 12px;
    }
}

@media (max-width: 991px) and (min-width: 768px){
    .jam-digital{
        font-size: 1.75rem;
    }
}

/* Table responsif */
@media (max-width: 767px){
    table.table td, table.table th{
        font-size:.82rem;
    }
}