/* UniBook — Main Styles */

:root {
    --primary: #6c5ce7;
    --primary-light: #a29bfe;
    --sidebar-bg: #1a1a2e;
}

/* Global */
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #f1f1f1; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #aaa; }

/* Cards */
.card { border-radius: 12px !important; }

/* Tables */
.table th { font-weight: 600; font-size: .8rem; text-transform: uppercase;
            letter-spacing: .05em; color: #6c757d; }
.table td { vertical-align: middle; }

/* Buttons */
.btn { border-radius: 8px; }
.btn-sm { border-radius: 6px; }

/* Badges */
.badge { font-weight: 500; }

/* Form controls */
.form-control, .form-select { border-radius: 8px; border-color: #e2e8f0; }
.form-control:focus, .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 3px rgba(108,92,231,.15);
}

/* Slot buttons */
.slot-btn { font-size: .8rem; padding: .2rem .5rem; }

/* Dashboard sidebar */
.sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; }

/* Animations */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}
.card { animation: fadeIn .2s ease both; }

/* ── Mobile sidebar backdrop ─────────────────────────────────── */
.sidebar-backdrop {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1040;
}
.sidebar-backdrop.show { display: block; }

/* ── Mobile breakpoint ───────────────────────────────────────── */
@media (max-width: 767.98px) {

    /* Off-canvas sidebar */
    .sidebar {
        display: flex !important;
        position: fixed !important;
        top: 0; left: 0;
        height: 100vh !important;
        width: 260px !important;
        min-width: 260px !important;
        z-index: 1045;
        transform: translateX(-260px);
        transition: transform .25s cubic-bezier(.4,0,.2,1);
    }
    .sidebar.sidebar-open {
        transform: translateX(0);
        box-shadow: 4px 0 24px rgba(0,0,0,.25);
    }

    /* Today booking row cards */
    .bk-mobile-row { border-bottom: 1px solid #f0f0f0; }
    .bk-mobile-row:last-child { border-bottom: none; }
}
