/* ============================================================
   Transfer Harian — Custom Styles
   ============================================================ */

/* ── Base ───────────────────────────────────────────────── */
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    font-size: .9rem;
}

/* ── Navbar ─────────────────────────────────────────────── */
.navbar {
    padding-top: .6rem;
    padding-bottom: .6rem;
}
.navbar-brand {
    font-size: 1rem;
    letter-spacing: .3px;
}

/* ── Cards ──────────────────────────────────────────────── */
.card {
    transition: box-shadow .2s ease;
}
.card:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,.1) !important;
}

/* ── Summary cards icon bubbles ─────────────────────────── */
.card-body .rounded-3 i {
    line-height: 1;
}

/* ── Table ──────────────────────────────────────────────── */
.table > :not(caption) > * > * {
    padding: .65rem .75rem;
}
.table thead th {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #6c757d;
    border-bottom: 2px solid #dee2e6;
}
.table-hover tbody tr:hover {
    background-color: rgba(13, 110, 253, .04);
}
tfoot td {
    font-size: .85rem;
}

/* ── Badges ─────────────────────────────────────────────── */
.badge {
    font-size: .72rem;
    font-weight: 600;
    letter-spacing: .3px;
}

/* ── Form controls ──────────────────────────────────────── */
.form-control, .form-select {
    border-radius: 8px;
    font-size: .875rem;
}
.form-control:focus, .form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 .2rem rgba(13,110,253,.18);
}
.input-group-text {
    font-size: .875rem;
    background: #f8f9fa;
    border-radius: 8px 0 0 8px;
}
.input-group .form-control {
    border-radius: 0 8px 8px 0;
}

/* ── Buttons ────────────────────────────────────────────── */
.btn {
    border-radius: 8px;
    font-size: .875rem;
}
.btn-sm {
    font-size: .8rem;
    border-radius: 6px;
}

/* ── Alert ──────────────────────────────────────────────── */
.alert {
    border-radius: 10px;
    font-size: .875rem;
}

/* ── List group ─────────────────────────────────────────── */
.list-group-item {
    font-size: .875rem;
}

/* ── Scrollable table wrapper ───────────────────────────── */
.table-responsive {
    border-radius: 0 0 14px 14px;
}

/* ── Dark preview box (laporan) ──────────────────────────── */
#previewTeks::-webkit-scrollbar {
    width: 6px;
}
#previewTeks::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,.2);
    border-radius: 3px;
}

/* ── Utility ─────────────────────────────────────────────── */
.tracking-wide {
    letter-spacing: .6px;
}
.text-white-75 {
    color: rgba(255,255,255,.75) !important;
}

/* ── Responsive tweaks ───────────────────────────────────── */
@media (max-width: 576px) {
    .navbar .d-flex.gap-1 {
        gap: .2rem !important;
    }
    .navbar .btn-sm {
        font-size: .7rem;
        padding: .2rem .4rem;
    }
    .navbar .btn-sm .me-1 {
        display: none;
    }
}
