/* ============================================================
   AutoDrive — shared admin design system (production polish).
   Loaded LAST in each admin page so it unifies the palette and
   core components across pages. Page-specific layout classes are
   left untouched (they inherit the refreshed CSS variables).
   ============================================================ */
:root{
    --bg:#f6f8fc; --surface:#ffffff; --surface-soft:#f8fafc; --surface-tint:#f3f7ff;
    --border:#e2e8f0; --border-strong:#cbd5e1;
    --text:#0f172a; --muted:#64748b; --faint:#94a3b8;
    --blue:#2563eb; --blue-2:#3b82f6; --blue-soft:rgba(37,99,235,0.1);
    --green:#10b981; --green-soft:rgba(16,185,129,0.1);
    --amber:#b45309; --yellow:#f59e0b; --yellow-soft:rgba(245,158,11,0.1);
    --red:#ef4444; --red-soft:rgba(239,68,68,0.1);
    --shadow-sm:0 8px 24px rgba(15,23,42,0.05); --shadow-md:0 18px 48px rgba(15,23,42,0.08);
    --radius-lg:18px; --radius:14px; --radius-sm:10px; --ease:0.22s ease;
}

body{
    font-family:'Inter','Segoe UI',sans-serif;
    background:radial-gradient(circle at top left,rgba(37,99,235,0.08),transparent 30%),
               linear-gradient(180deg,#fbfdff 0%,var(--bg) 100%);
    color:var(--text); min-height:100vh;
}

/* ---- Header / nav ---- */
.header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,0.8);
    backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.brand-icon{background:linear-gradient(135deg,#2563eb,#4f46e5 62%,#06b6d4);
    box-shadow:0 10px 24px rgba(37,99,235,0.25);}
.nav-btn{border-radius:999px;font-weight:600;transition:all var(--ease);}
.btn-drive{background:rgba(255,255,255,0.56);border-color:rgba(191,219,254,0.68);}
.btn-drive:hover{background:#fff;color:var(--text);}
.btn-drive.active{color:#fff;background:linear-gradient(135deg,#2563eb,#4f46e5 60%,#06b6d4);
    box-shadow:0 8px 20px rgba(37,99,235,0.2);}
.btn-logout{background:rgba(239,68,68,0.07);color:#dc2626;border-color:rgba(239,68,68,0.16);}
.btn-logout:hover{background:rgba(239,68,68,0.15);}

/* ---- Cards / tables ---- */
.card{background:rgba(255,255,255,0.9);border:1px solid rgba(226,232,240,0.9);
    border-radius:var(--radius-lg);box-shadow:var(--shadow-md);backdrop-filter:blur(16px);}
.page-head h1{color:var(--blue);letter-spacing:-0.02em;}
thead th{background:#f7f9fb;color:var(--muted);font-weight:700;
    font-size:11px;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);}
tbody tr{transition:background var(--ease);}
tbody tr:hover{background:var(--surface-tint);}

/* ---- Buttons ---- */
.btn-primary{height:38px;padding:0 16px;border:none;border-radius:var(--radius-sm);
    background:linear-gradient(135deg,var(--blue),#4f46e5);color:#fff;font-size:12.5px;font-weight:700;
    cursor:pointer;transition:all var(--ease);display:inline-flex;align-items:center;gap:7px;
    box-shadow:0 6px 16px rgba(37,99,235,.22);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.3);}
.btn-primary:disabled{opacity:.7;cursor:default;transform:none;box-shadow:none;}
.btn-soft{height:36px;padding:0 14px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:#fff;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;
    transition:all var(--ease);display:inline-flex;align-items:center;gap:6px;}
.btn-soft:hover{border-color:var(--blue);color:var(--blue);background:var(--surface-tint);}
.map-btn,.assign-btn,.save-btn{border-radius:var(--radius-sm) !important;}

/* ---- Inputs ---- */
input[type=text],input[type=date],input[type=email],input[type=password],select{
    border-radius:var(--radius-sm);border-color:var(--border);transition:all var(--ease);}
input[type=text]:focus,input[type=date]:focus,input[type=email]:focus,
input[type=password]:focus,select:focus{
    outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}

/* ---- Toolbar (shared filter controls) ---- */
.filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.flt{display:inline-flex;flex-direction:column;gap:5px;}
.flt>span{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
    color:var(--faint);padding-left:2px;}
.flt-ctrl{height:36px;padding:0 12px;border:1px solid var(--border);border-radius:var(--radius-sm);
    background:#fff;font-family:'Inter',sans-serif;font-size:12.5px;color:var(--text);transition:all var(--ease);}
.flt-ctrl:hover{border-color:var(--border-strong);}
.flt-ctrl:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);}

/* ---- Empty state ---- */
.empty-state{color:var(--muted);}
.empty-state i{color:var(--green);}

/* ---- Full-width layout (fill side space; containers keep their padding) ---- */
.page,.main,.header-inner{max-width:none !important;}
