/* ═══════════════════════════════════════════════
   BSTechnology - Modern UI Stylesheet v2.0
   ═══════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

:root {
    --primary:#2563eb; --primary-dark:#1d4ed8; --primary-light:#3b82f6;
    --secondary:#7c3aed; --success:#16a34a; --warning:#d97706; --danger:#dc2626; --info:#0284c7;
    --topnav-bg:linear-gradient(135deg,#0f172a 0%,#1e3a8a 50%,#2563eb 100%);
    --topnav-height:60px; --sidebar-width:260px;
    --sidebar-bg:#0f172a; --sidebar-hover:rgba(99,102,241,0.12); --sidebar-active:rgba(99,102,241,0.25);
    --page-bg:#f0f4ff; --card-bg:#ffffff; --card-shadow:0 4px 20px rgba(37,99,235,0.08);
    --text-primary:#0f172a; --text-secondary:#475569; --text-muted:#94a3b8;
    --border-color:#e2e8f0; --input-bg:#ffffff; --input-border:#cbd5e1;
    --table-stripe:#f8fafc; --table-hover:#eff6ff;
    --footer-bg:#ffffff; --footer-text:#64748b;
    --radius:12px; --radius-sm:8px; --radius-lg:16px;
    --transition:all 0.25s cubic-bezier(0.4,0,0.2,1);
}

[data-theme="dark"] {
    --page-bg:#020617; --card-bg:#0f172a; --card-shadow:0 4px 20px rgba(0,0,0,0.4);
    --text-primary:#f1f5f9; --text-secondary:#94a3b8; --text-muted:#475569;
    --border-color:#1e293b; --input-bg:#1e293b; --input-border:#334155;
    --table-stripe:#0a1020; --table-hover:#1a2744;
    --footer-bg:#0f172a; --footer-text:#475569;
    --sidebar-bg:#020617; --sidebar-hover:rgba(99,102,241,0.1); --sidebar-active:rgba(99,102,241,0.2);
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
    font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
    background:var(--page-bg); color:var(--text-primary);
    transition:background .3s,color .3s; overflow-x:hidden;
    font-size:0.9rem;
}

/* ── Layout ── */
.sb-nav-fixed .sb-topnav { position:fixed;top:0;right:0;left:0;z-index:1039;height:var(--topnav-height); }
.sb-nav-fixed #layoutSidenav { padding-top:var(--topnav-height); }
#layoutSidenav { display:flex;min-height:calc(100vh - var(--topnav-height)); }
#layoutSidenav_nav { flex-shrink:0;width:var(--sidebar-width);position:fixed;top:var(--topnav-height);left:0;bottom:0;z-index:1038;transition:width .3s ease; overflow:hidden; }
#layoutSidenav_content { flex-grow:1;margin-left:var(--sidebar-width);transition:margin-left .3s ease;background:var(--page-bg);min-height:calc(100vh - var(--topnav-height));display:flex;flex-direction:column; }
.sb-sidenav-toggled #layoutSidenav_nav { width:0; }
.sb-sidenav-toggled #layoutSidenav_content { margin-left:0; }

/* ── Topnav ── */
.sb-topnav { background:var(--topnav-bg)!important; box-shadow:0 2px 20px rgba(0,0,0,0.3);border-bottom:1px solid rgba(255,255,255,0.08); }
.navbar-brand { color:#fff!important;font-size:1.15rem;font-weight:700;letter-spacing:.5px; }
.brand-icon-sm { width:34px;height:34px;background:rgba(255,255,255,0.15);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;border:1px solid rgba(255,255,255,0.2); }

/* Theme toggle */
.theme-toggle-btn { width:38px;height:38px;border-radius:50%;border:2px solid rgba(255,255,255,0.3);background:rgba(255,255,255,0.1);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:var(--transition);cursor:pointer;padding:0; }
.theme-toggle-btn:hover { background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.6);transform:rotate(20deg) scale(1.1);color:#fff; }
[data-theme="dark"] .theme-toggle-btn { background:rgba(251,191,36,.15);border-color:rgba(251,191,36,.5); }

/* User avatar */
.user-avatar-sm { width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff;border:2px solid rgba(255,255,255,.3); }
.notif-badge { position:absolute;top:3px;right:2px;width:17px;height:17px;border-radius:50%;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid transparent; }

/* Dropdown */
.dropdown-menu { background:var(--card-bg);border:1px solid var(--border-color);box-shadow:0 10px 40px rgba(0,0,0,0.15);border-radius:var(--radius);transition:var(--transition); }
.dropdown-item { color:var(--text-primary);padding:.6rem 1rem;border-radius:var(--radius-sm);margin:2px 6px;transition:var(--transition); }
.dropdown-item:hover { background:var(--table-hover);color:var(--primary); }
.dropdown-header-custom { background:linear-gradient(135deg,#0f172a,#1e3a8a);border-radius:var(--radius) var(--radius) 0 0; }
.dropdown-divider { border-color:var(--border-color); }

/* ── Sidebar ── */
.sb-sidenav { background:var(--sidebar-bg);height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;transition:background .3s; }
.sb-sidenav::-webkit-scrollbar { width:4px; }
.sb-sidenav::-webkit-scrollbar-thumb { background:rgba(99,102,241,.3);border-radius:2px; }
.sidebar-user-info { background:rgba(99,102,241,.08);border-bottom:1px solid rgba(255,255,255,.06);padding:1rem; }
.sidebar-avatar { width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;color:#fff;flex-shrink:0;box-shadow:0 4px 12px rgba(99,102,241,.4); }
.sidebar-user-name { color:#f1f5f9;font-weight:600;font-size:.875rem; }
.sidebar-user-role { color:rgba(255,255,255,.45);font-size:.7rem; }

.sb-sidenav .nav-link { color:rgba(255,255,255,.65);padding:.55rem 1rem;font-size:.85rem;border-left:3px solid transparent;display:flex;align-items:center;transition:var(--transition);white-space:nowrap;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin-right:8px; }
.sb-sidenav .nav-link:hover { color:#fff;background:var(--sidebar-hover);border-left-color:rgba(99,102,241,.5); }
.sb-sidenav .nav-link.active { color:#fff;background:var(--sidebar-active);border-left-color:#6366f1;font-weight:600; }
.sb-nav-link-icon { width:28px;text-align:center;margin-right:10px;flex-shrink:0;font-size:.85rem;color:rgba(255,255,255,.4);transition:var(--transition); }
.sb-sidenav .nav-link:hover .sb-nav-link-icon,
.sb-sidenav .nav-link.active .sb-nav-link-icon { color:#a5b4fc; }
.sb-sidenav-menu-heading { color:rgba(255,255,255,.25);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;padding:.9rem 1rem .25rem;margin-top:.25rem; }
.sb-sidenav-menu-nested { padding-left:1.8rem; }
.sb-sidenav-menu-nested .nav-link { padding:.4rem .75rem!important;font-size:.82rem!important;border-left:none!important;border-radius:var(--radius-sm)!important;margin-right:8px; }
.sb-sidenav-collapse-arrow { margin-left:auto;font-size:.65rem;transition:transform .25s; }
.nav-link[aria-expanded="true"] .sb-sidenav-collapse-arrow { transform:rotate(-180deg); }
.sb-sidenav-footer { padding:.75rem 1rem;background:rgba(0,0,0,.2);color:rgba(255,255,255,.3);font-size:.72rem;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center;margin-top:auto; }
.sb-sidenav-footer a { color:rgba(255,255,255,.35)!important;text-decoration:none!important; }
.sb-sidenav-footer a:hover { color:rgba(255,255,255,.7)!important; }

/* ── Cards ── */
.card { background:var(--card-bg)!important;border:1px solid var(--border-color)!important;box-shadow:var(--card-shadow);border-radius:var(--radius)!important;transition:var(--transition); }
.card:hover { box-shadow:0 8px 32px rgba(37,99,235,.12)!important; }
.card-header { background:var(--card-bg)!important;border-bottom:1px solid var(--border-color)!important;color:var(--text-primary);border-radius:var(--radius) var(--radius) 0 0!important; }
.card-footer { background:var(--card-bg)!important;border-top:1px solid var(--border-color)!important;border-radius:0 0 var(--radius) var(--radius)!important; }

/* Stat Cards */
.stat-card { transition:var(--transition)!important;cursor:default;position:relative;overflow:hidden; }
.stat-card::after { content:'';position:absolute;top:-50%;right:-20%;width:120px;height:120px;background:rgba(255,255,255,.08);border-radius:50%; }
.stat-card:hover { transform:translateY(-5px)!important;box-shadow:0 16px 40px rgba(0,0,0,.2)!important; }

/* Gradient backgrounds */
.bg-gradient-blue   { background:linear-gradient(135deg,#1d4ed8,#3b82f6)!important; }
.bg-gradient-green  { background:linear-gradient(135deg,#15803d,#22c55e)!important; }
.bg-gradient-purple { background:linear-gradient(135deg,#6d28d9,#a78bfa)!important; }
.bg-gradient-orange { background:linear-gradient(135deg,#c2410c,#fb923c)!important; }
.bg-gradient-pink   { background:linear-gradient(135deg,#be185d,#f472b6)!important; }
.bg-gradient-teal   { background:linear-gradient(135deg,#0f766e,#2dd4bf)!important; }
.bg-gradient-indigo { background:linear-gradient(135deg,#3730a3,#818cf8)!important; }
.bg-gradient-rose   { background:linear-gradient(135deg,#9f1239,#fb7185)!important; }

/* ── Tables ── */
.table { color:var(--text-primary)!important;border-color:var(--border-color)!important; }
.table thead th { font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.6px;border-bottom:none!important;padding:.75rem 1rem; }
.table thead.table-primary th,.table-primary th { background:linear-gradient(135deg,#1d4ed8,#2563eb)!important;color:#fff!important;border-color:rgba(255,255,255,.1)!important; }
.table tbody td { border-color:var(--border-color)!important;padding:.75rem 1rem; }
.table-hover>tbody>tr:hover>* { background:var(--table-hover)!important;color:var(--text-primary)!important; }

/* ── Forms ── */
.form-control,.form-select { background:var(--input-bg)!important;color:var(--text-primary)!important;border:1.5px solid var(--input-border)!important;border-radius:var(--radius-sm)!important;padding:.6rem .9rem;font-size:.875rem;transition:var(--transition); }
.form-control:focus,.form-select:focus { border-color:var(--primary)!important;box-shadow:0 0 0 3px rgba(37,99,235,.15)!important; }
.form-control::placeholder { color:var(--text-muted)!important; }
.form-label { font-weight:600;font-size:.82rem;color:var(--text-secondary);margin-bottom:.35rem; }
.input-group-text { background:var(--input-bg);border:1.5px solid var(--input-border);color:var(--text-secondary);border-radius:var(--radius-sm)!important; }

/* ── Buttons ── */
.btn { font-weight:600;font-size:.825rem;border-radius:var(--radius-sm);padding:.5rem 1.1rem;transition:var(--transition);letter-spacing:.2px; }
.btn-primary { background:linear-gradient(135deg,var(--primary),var(--primary-light))!important;border:none!important;box-shadow:0 4px 12px rgba(37,99,235,.3)!important; }
.btn-primary:hover { background:linear-gradient(135deg,var(--primary-dark),var(--primary))!important;transform:translateY(-1px);box-shadow:0 6px 16px rgba(37,99,235,.4)!important; }
.btn-success { background:linear-gradient(135deg,#15803d,#22c55e)!important;border:none!important;box-shadow:0 4px 12px rgba(22,163,74,.3)!important; }
.btn-danger { background:linear-gradient(135deg,#b91c1c,#ef4444)!important;border:none!important;box-shadow:0 4px 12px rgba(220,38,38,.25)!important; }
.btn-warning { background:linear-gradient(135deg,#b45309,#f59e0b)!important;border:none!important;box-shadow:0 4px 12px rgba(217,119,6,.3)!important;color:#fff!important; }
.btn-info { background:linear-gradient(135deg,#0369a1,#38bdf8)!important;border:none!important;box-shadow:0 4px 12px rgba(2,132,199,.3)!important;color:#fff!important; }
.btn-secondary { background:linear-gradient(135deg,#374151,#6b7280)!important;border:none!important;color:#fff!important; }
.btn:active { transform:translateY(0)!important; }

/* ── Badges ── */
.badge { font-weight:600;letter-spacing:.3px;border-radius:6px;padding:.3em .65em; }

/* ── Page header ── */
.page-header { display:flex;align-items:center;margin-bottom:1.5rem;margin-top:1.25rem; }
.page-header h4 { font-weight:800;font-size:1.3rem;color:var(--text-primary);margin:0; }
.page-header-icon { width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;margin-right:12px;flex-shrink:0; }

/* ── Breadcrumb ── */
.breadcrumb { background:transparent;padding:0;margin-bottom:.5rem; }
.breadcrumb-item a { color:var(--primary);font-size:.8rem; }
.breadcrumb-item.active { color:var(--text-muted);font-size:.8rem; }
.breadcrumb-item+.breadcrumb-item::before { color:var(--text-muted); }

/* ── Alerts ── */
[data-theme="dark"] .alert-success { background:rgba(34,197,94,.12)!important;border-color:rgba(34,197,94,.25)!important;color:#86efac!important; }
[data-theme="dark"] .alert-danger { background:rgba(239,68,68,.12)!important;border-color:rgba(239,68,68,.25)!important;color:#fca5a5!important; }
[data-theme="dark"] .alert-warning { background:rgba(245,158,11,.12)!important;border-color:rgba(245,158,11,.25)!important;color:#fde68a!important; }
[data-theme="dark"] .alert-info { background:rgba(14,165,233,.12)!important;border-color:rgba(14,165,233,.25)!important;color:#7dd3fc!important; }

/* ── Footer ── */
.site-footer { background:var(--footer-bg);border-top:1px solid var(--border-color);color:var(--footer-text);transition:var(--transition);padding:.75rem 0; }

/* ── Progress ── */
.progress { background:var(--border-color);border-radius:20px; }
.progress-bar { border-radius:20px; }

/* ── Select2 ── */
[data-theme="dark"] .select2-container--bootstrap-5 .select2-selection { background:var(--input-bg)!important;border-color:var(--input-border)!important;color:var(--text-primary)!important; }
[data-theme="dark"] .select2-dropdown { background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary); }
[data-theme="dark"] .select2-results__option { color:var(--text-primary); }
[data-theme="dark"] .select2-results__option--highlighted { background:var(--primary)!important; }

/* ── Loading ── */
.loading-overlay { position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9999;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px); }
.spinner-glow { width:50px;height:50px;border:4px solid rgba(99,102,241,.2);border-top-color:#6366f1;border-radius:50%;animation:spin .8s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }

/* ── Dark overrides ── */
[data-theme="dark"] .modal-content { background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary); }
[data-theme="dark"] .modal-header,.modal-footer { border-color:var(--border-color); }
[data-theme="dark"] .btn-close { filter:invert(1) grayscale(100%) brightness(200%); }
[data-theme="dark"] .swal2-popup { background:var(--card-bg)!important;color:var(--text-primary)!important; }
[data-theme="dark"] .nav-tabs .nav-link { color:var(--text-secondary);border-color:var(--border-color); }
[data-theme="dark"] .nav-tabs .nav-link.active { background:var(--card-bg);border-color:var(--border-color) var(--border-color) var(--card-bg);color:var(--primary); }
[data-theme="dark"] .form-check-input { background-color:var(--input-bg);border-color:var(--input-border); }
[data-theme="dark"] code { background:var(--input-bg);color:#a5b4fc; }
[data-theme="dark"] .table-light { background:var(--card-bg)!important; }
[data-theme="dark"] .dataTables_wrapper .dataTables_length select,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input { background:var(--input-bg);color:var(--text-primary);border-color:var(--input-border); }
[data-theme="dark"] .dataTables_info,[data-theme="dark"] .dataTables_length,[data-theme="dark"] .dataTables_filter { color:var(--text-secondary)!important; }
[data-theme="dark"] .page-link { background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary); }
[data-theme="dark"] .page-item.active .page-link { background:var(--primary);border-color:var(--primary); }

/* ── Scrollbar ── */
::-webkit-scrollbar { width:6px;height:6px; }
::-webkit-scrollbar-track { background:transparent; }
::-webkit-scrollbar-thumb { background:#c1c1c1;border-radius:3px; }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background:#374151; }

/* ═══════════════════════════════════════════════
   MOBILE-FIRST RESPONSIVE ADMIN PANEL
   ═══════════════════════════════════════════════ */

/* ── Tablet ≤ 991px — sidebar off-canvas ── */
@media (max-width: 991.98px) {
    :root { --topnav-height: 54px; }

    #layoutSidenav_nav {
        width: 0;
        transition: width .25s ease, box-shadow .25s ease;
        z-index: 1045;
        overflow: hidden;
    }
    #layoutSidenav_content { margin-left: 0; transition: none; }

    /* Open state */
    .sb-sidenav-toggled #layoutSidenav_nav {
        width: var(--sidebar-width);
        box-shadow: 6px 0 32px rgba(0,0,0,.45);
    }

    /* Backdrop overlay */
    .sb-sidenav-toggled::before {
        content: '';
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.45);
        z-index: 1044;
        backdrop-filter: blur(2px);
        -webkit-backdrop-filter: blur(2px);
    }

    .container-fluid { padding-left: 12px !important; padding-right: 12px !important; }
    .navbar-brand span { font-size: .95rem; }
}

/* ── Mobile ≤ 767px ── */
@media (max-width: 767.98px) {
    :root { --topnav-height: 52px; --sidebar-width: 265px; }

    body { font-size: .83rem; }

    /* Topnav */
    .sb-topnav { padding: 0 6px 0 2px !important; height: var(--topnav-height); }
    .navbar-brand { padding-left: 6px !important; gap: 5px; font-size: .95rem; }
    .navbar-brand span { display: none; }
    .brand-icon-sm { width: 30px; height: 30px; font-size: .85rem; border-radius: 8px; }
    .theme-toggle-btn { width: 32px; height: 32px; font-size: .85rem; margin-right: 0 !important; }
    .notif-badge { width: 14px; height: 14px; font-size: 7px; top: 2px; right: 1px; }
    .nav-item .nav-link { padding: 0 6px; }

    /* Sidebar */
    .sidebar-user-info { padding: .65rem .85rem; }
    .sidebar-avatar { width: 34px; height: 34px; font-size: .9rem; }
    .sidebar-user-name { font-size: .8rem; }
    .sidebar-user-role { font-size: .63rem; }
    .sb-sidenav .nav-link { padding: .44rem .8rem; font-size: .81rem; }
    .sb-nav-link-icon { width: 24px; font-size: .8rem; margin-right: 8px; }
    .sb-sidenav-menu-heading { font-size: .57rem; padding: .7rem .8rem .18rem; letter-spacing: 1.5px; }
    .sb-sidenav-menu-nested .nav-link { padding: .35rem .6rem !important; font-size: .77rem !important; }
    .sb-sidenav-footer { padding: .6rem .85rem; font-size: .68rem; }

    /* Main content */
    .container-fluid { padding-left: 10px !important; padding-right: 10px !important; }
    main { padding-bottom: 64px; }

    /* Cards */
    .card { border-radius: 10px !important; }
    .card-body { padding: 12px 14px; }
    .card-header { padding: 9px 14px; font-size: .83rem; }

    /* Stat / quick-stat cards */
    .stat-card .stat-value { font-size: 1.45rem !important; }
    .stat-card .card-body { padding: 14px !important; }
    .stat-card .icon-box { width: 42px; height: 42px; font-size: 1rem; border-radius: 11px; }
    .stat-card .stat-label { font-size: .68rem !important; }
    .quick-stat { padding: 10px 12px !important; }
    .quick-stat-icon { width: 36px !important; height: 36px !important; font-size: .88rem !important; border-radius: 9px !important; }
    .quick-stat .fw-bold.fs-4 { font-size: 1.1rem !important; }
    .quick-stat [style*="font-size:.73rem"] { font-size: .68rem !important; }

    /* Tables */
    .table thead th { font-size: .64rem; padding: .5rem .55rem; white-space: nowrap; }
    .table tbody td { font-size: .77rem; padding: .5rem .55rem; vertical-align: middle; }
    .table-responsive { border-radius: 10px; }

    /* DataTables controls */
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter { font-size: .74rem; }
    .dataTables_wrapper .dataTables_info { font-size: .72rem; }
    .dataTables_wrapper .dataTables_paginate .paginate_button { padding: .18rem .45rem !important; font-size: .72rem !important; }

    /* Forms */
    .form-control, .form-select { padding: .45rem .7rem; font-size: .82rem !important; border-radius: 8px !important; }
    .form-label { font-size: .77rem; margin-bottom: .3rem; }
    .input-group-text { padding: .45rem .7rem; font-size: .82rem; }
    textarea.form-control { font-size: .82rem !important; }

    /* Buttons */
    .btn { padding: .42rem .85rem; font-size: .79rem; border-radius: 7px; }
    .btn-sm { padding: .2rem .48rem !important; font-size: .7rem !important; border-radius: 6px !important; }
    .btn i.me-2 { margin-right: .3rem !important; }

    /* Alerts */
    .alert { font-size: .8rem; padding: .6rem .9rem; border-radius: 9px; }

    /* Breadcrumb */
    .breadcrumb-item a, .breadcrumb-item.active { font-size: .72rem; }
    .breadcrumb { margin-bottom: .15rem !important; }

    /* Page headings */
    h4.fw-bold.mb-0 { font-size: 1.05rem; }
    .page-header h4 { font-size: 1.05rem; }

    /* Charts */
    canvas { max-height: 180px !important; }

    /* Badges */
    .badge { font-size: .64rem; padding: .28em .55em; }

    /* Footer */
    .site-footer { font-size: .7rem; padding: .4rem 0; }
    .site-footer .d-flex { flex-direction: column; gap: 1px; align-items: center; }

    /* Dashboard flex grid — 2 cols on mobile */
    .row.g-3 .col-xl-2.col-md-4.col-6 { flex: 0 0 auto; width: 50%; }

    /* Form row collapse */
    .col-lg-8, .col-lg-4 { padding-bottom: 0; }
}

/* ── Small Mobile ≤ 480px ── */
@media (max-width: 480px) {
    :root { --topnav-height: 50px; }
    body { font-size: .8rem; }

    /* Cards full bleed */
    .card-body { padding: 10px 12px; }
    .stat-card .stat-value { font-size: 1.25rem !important; }

    /* All form actions full width */
    .d-flex.gap-2 { flex-wrap: wrap; }
    .d-flex.gap-2 > .btn { flex: 1 1 auto; }

    /* Table scrolls */
    .table thead th { padding: .42rem .45rem; font-size: .6rem; }
    .table tbody td  { padding: .42rem .45rem; font-size: .74rem; }

    /* Buttons compact */
    .btn { padding: .38rem .75rem; font-size: .76rem; }
}

/* ── Mobile Bottom Navigation Bar ── */
@media (max-width: 767.98px) {
    .admin-bottom-nav {
        position: fixed;
        bottom: 0; left: 0; right: 0;
        height: 56px;
        background: var(--card-bg);
        border-top: 1px solid var(--border-color);
        display: flex;
        align-items: center;
        justify-content: space-around;
        z-index: 1040;
        box-shadow: 0 -2px 16px rgba(0,0,0,.1);
        padding: 0 2px;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }
    .admin-bottom-nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        color: var(--text-muted);
        font-size: .6rem;
        font-weight: 600;
        padding: 5px 8px;
        border-radius: 10px;
        text-decoration: none !important;
        transition: var(--transition);
        flex: 1;
        max-width: 64px;
        position: relative;
    }
    .admin-bottom-nav a i { font-size: 1.05rem; transition: transform .2s; }
    .admin-bottom-nav a.active { color: var(--primary); background: rgba(37,99,235,.1); }
    .admin-bottom-nav a:hover { color: var(--primary); }
    .admin-bottom-nav a:hover i,
    .admin-bottom-nav a.active i { transform: translateY(-1px); }
    .admin-bottom-nav .nav-badge {
        position: absolute;
        top: 4px; right: 8px;
        background: var(--danger);
        color: #fff;
        font-size: .52rem;
        font-weight: 700;
        border-radius: 8px;
        padding: 1px 4px;
        min-width: 14px;
        text-align: center;
    }
    [data-theme="dark"] .admin-bottom-nav {
        background: rgba(15,23,42,.95);
        border-top-color: var(--border-color);
    }
}

/* ── Touch: Disable hover effects ── */
@media (hover: none) and (pointer: coarse) {
    .stat-card:hover { transform: none !important; }
    .card:hover { box-shadow: var(--card-shadow) !important; }
    .btn:hover,
    .btn-primary:hover,
    .btn-success:hover,
    .btn-danger:hover,
    .btn-warning:hover { transform: none !important; }
    /* Tap highlight */
    .btn:active { opacity: .85; }
    .nav-link:active { background: var(--sidebar-hover) !important; }
}

/* ── Print ── */
@media print {
    #layoutSidenav_nav, .sb-topnav, footer, .admin-bottom-nav,
    .btn:not(.btn-print) { display: none !important; }
    #layoutSidenav_content { margin: 0 !important; }
    .container-fluid { padding: 0 !important; }
}
