:root,
html[data-theme="light"]{
    --bg:#f5f7fb;
    --bg-2:#eef6ff;
    --surface:#ffffff;
    --surface-soft:#f8fafc;
    --surface-glass:rgba(255,255,255,.84);
    --text:#0f172a;
    --heading:#020617;
    --muted:#64748b;
    --border:#e2e8f0;
    --border-strong:#cbd5e1;
    --brand:#2563eb;
    --brand-2:#06b6d4;
    --brand-3:#7c3aed;
    --success:#16a34a;
    --danger:#dc2626;
    --warning:#f59e0b;
    --shadow:0 24px 70px rgba(15,23,42,.10);
    --soft-shadow:0 12px 30px rgba(15,23,42,.08);
    --radius:24px;
    --sidebar:rgba(255,255,255,.88);
    --sidebar-text:#334155;
    --nav-hover:#eff6ff;
    --nav-active:#e0f2fe;
}
html[data-theme="dark"]{
    --bg:#070b16;
    --bg-2:#111827;
    --surface:#0f172a;
    --surface-soft:#111c31;
    --surface-glass:rgba(15,23,42,.86);
    --text:#e5e7eb;
    --heading:#ffffff;
    --muted:#94a3b8;
    --border:#243044;
    --border-strong:#334155;
    --brand:#60a5fa;
    --brand-2:#22d3ee;
    --brand-3:#a78bfa;
    --success:#22c55e;
    --danger:#fb7185;
    --warning:#fbbf24;
    --shadow:0 24px 70px rgba(0,0,0,.35);
    --soft-shadow:0 12px 30px rgba(0,0,0,.28);
    --sidebar:rgba(10,15,28,.92);
    --sidebar-text:#cbd5e1;
    --nav-hover:#111c31;
    --nav-active:#172554;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:
        radial-gradient(circle at top left, rgba(37,99,235,.18), transparent 36rem),
        radial-gradient(circle at top right, rgba(6,182,212,.14), transparent 34rem),
        linear-gradient(135deg,var(--bg),var(--bg-2));
    color:var(--text);
    font-size:15px;
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.app-shell{
    display:grid;
    grid-template-columns:292px minmax(0,1fr);
    min-height:100vh;
    width:100%;
}
.sidebar{
    position:sticky;
    top:0;
    height:100vh;
    z-index:40;
    background:var(--sidebar);
    border-right:1px solid var(--border);
    backdrop-filter:blur(20px);
    overflow-y:auto;
    overflow-x:hidden;
}
.sidebar-inner{padding:24px 18px;min-height:100%;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900;color:var(--heading)}
.brand-copy small{display:block;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-top:2px}
.logo-mark,.logo{
    width:46px;height:46px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:1000;
    background:linear-gradient(135deg,var(--brand),var(--brand-2) 55%,var(--brand-3));
    box-shadow:0 16px 35px rgba(37,99,235,.28);
}
.nav{display:grid;gap:6px;margin-top:4px}
.nav a{
    display:flex;align-items:center;gap:11px;
    padding:11px 13px;
    border-radius:16px;
    color:var(--sidebar-text);
    font-weight:800;
    transition:.18s ease;
    border:1px solid transparent;
}
.nav a span{width:22px;height:22px;border-radius:8px;display:grid;place-items:center;background:var(--surface-soft);color:var(--brand);font-size:12px}
.nav a:hover{background:var(--nav-hover);color:var(--brand);transform:translateX(2px)}
.nav a.active{background:linear-gradient(135deg,rgba(37,99,235,.13),rgba(6,182,212,.12));border-color:rgba(37,99,235,.20);color:var(--brand)}
.sidebar-card{
    margin-top:auto;
    padding:16px;
    border-radius:22px;
    background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.10));
    border:1px solid rgba(37,99,235,.18);
    display:grid;
    gap:6px;
}
.sidebar-card strong{color:var(--heading);line-height:1.25}.sidebar-card small{color:var(--muted);line-height:1.4}.mini-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--brand)}
.main-panel{min-width:0;display:flex;flex-direction:column}
.topbar{
    position:sticky;top:0;z-index:30;
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:22px 28px;
    background:linear-gradient(180deg,var(--surface-glass),rgba(255,255,255,0));
    backdrop-filter:blur(18px);
}
html[data-theme="dark"] .topbar{background:linear-gradient(180deg,rgba(7,11,22,.92),rgba(7,11,22,0))}
.top-left{display:flex;align-items:center;gap:16px;min-width:0}.topbar h1{margin:0;color:var(--heading);font-size:34px;line-height:1;letter-spacing:-.045em}.eyebrow{margin:0 0 6px;color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:1000}.muted{color:var(--muted)}.topbar .muted{margin:7px 0 0}
.top-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.page-container,.container{width:100%;max-width:1280px;margin:0 auto;padding:4px 28px 32px}.icon-btn,.theme-toggle,.btn{appearance:none;border:0;cursor:pointer}.mobile-menu-btn{display:none}.icon-btn{width:44px;height:44px;border-radius:15px;background:var(--surface);border:1px solid var(--border);color:var(--heading);box-shadow:var(--soft-shadow)}
.theme-toggle{
    display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border-radius:999px;background:var(--surface);
    color:var(--heading);border:1px solid var(--border);box-shadow:var(--soft-shadow);font-weight:900;
}
.theme-toggle span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff}
.user-pill{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);box-shadow:var(--soft-shadow)}
.user-pill>span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:1000}.user-pill strong{display:block;color:var(--heading);font-size:13px}.user-pill small{display:block;color:var(--muted);font-size:12px}.logout-form{margin:0}
.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card{
    background:var(--surface-glass);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:22px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(16px);
}
.card .card{box-shadow:none;background:var(--surface-soft)}.card h1,.card h2,.card h3{color:var(--heading)}.card h2,.stat h2{margin:7px 0 0;font-size:30px;letter-spacing:-.045em}.card h3{margin:0 0 12px;font-size:19px}.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.16),rgba(6,182,212,.12))}.stat small,.card small{color:var(--muted);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:11px}
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 17px;border-radius:16px;
    background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;font-weight:950;box-shadow:0 14px 28px rgba(37,99,235,.22);transition:.18s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 18px 32px rgba(37,99,235,.28)}.btn.secondary{background:var(--surface);color:var(--heading);border:1px solid var(--border);box-shadow:var(--soft-shadow)}.btn.danger{background:linear-gradient(135deg,#ef4444,#f97316)}.btn.small{padding:10px 14px;border-radius:14px;font-size:13px}
label{display:block;color:var(--heading);font-size:13px;font-weight:900;margin:13px 0 7px}input,select,textarea{
    width:100%;padding:13px 14px;border:1px solid var(--border);border-radius:15px;background:var(--surface);color:var(--text);outline:none;transition:.18s ease;
}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(37,99,235,.14)}textarea{min-height:110px}input[type="checkbox"]{accent-color:var(--brand)}
.table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden}.table th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.table th,.table td{padding:14px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}.table tr:hover td{background:rgba(37,99,235,.045)}.card:has(.table){overflow-x:auto}
.badge{display:inline-flex;align-items:center;padding:6px 11px;border-radius:999px;background:linear-gradient(135deg,rgba(37,99,235,.12),rgba(6,182,212,.10));color:var(--brand);font-weight:950;font-size:12px;border:1px solid rgba(37,99,235,.14)}
.progress{height:12px;background:var(--surface-soft);border:1px solid var(--border);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));border-radius:999px}.alert{padding:14px 16px;border-radius:18px;margin-bottom:16px;border:1px solid;font-weight:800}.alert.success,.alert:not(.error){background:#ecfdf5;color:#047857;border-color:#bbf7d0}.alert.error{background:#fef2f2;color:#b91c1c;border-color:#fecaca}
.auth{max-width:470px;margin:72px auto}.auth.card{padding:30px}.hero{padding:76px 0}.hero h1{font-size:62px;line-height:1.02;margin:0 0 16px;letter-spacing:-.06em;color:var(--heading)}.hero p{font-size:20px;color:var(--muted);max-width:760px}.glass{background:var(--surface-glass);border:1px solid var(--border);border-radius:30px}.print-only{display:none}.pagination{display:flex;gap:8px;list-style:none;padding:0;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text)}
.mobile-overlay{display:none}
@media(max-width:1180px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
    .app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-310px;top:0;width:292px;transition:.22s ease}.sidebar.open{left:0}.mobile-overlay.show{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:35}.mobile-menu-btn{display:grid;place-items:center}.topbar{padding:18px 16px;align-items:flex-start}.top-actions{justify-content:flex-start}.page-container,.container{padding:0 16px 24px}.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.topbar h1{font-size:28px}.hero h1{font-size:42px}.user-pill{max-width:100%}
}
@media(max-width:560px){.topbar{flex-direction:column}.top-left{width:100%}.top-actions{width:100%}.theme-toggle,.logout-form .btn{width:100%;justify-content:center}.user-pill{width:100%}.card{padding:17px}.table th,.table td{padding:11px;white-space:nowrap}}
@media print{.sidebar,.topbar,.btn,.theme-toggle{display:none}.app-shell{display:block}body{background:white;color:#111}.card{box-shadow:none;border:1px solid #ddd}.print-only{display:block}}
