:root{
  --sgs-navy:#0b1f35;--sgs-navy-2:#123a5c;--sgs-blue:#0b6fb8;--sgs-blue-2:#2495df;
  --sgs-sky:#eef7ff;--sgs-bg:#f4f7fb;--sgs-card:#fff;--sgs-border:#e2e8f0;
  --sgs-text:#17212f;--sgs-muted:#64748b;--sgs-success:#15803d;--sgs-warning:#b45309;--sgs-danger:#b42318;
  --sgs-radius:14px;--sgs-shadow:0 10px 30px rgba(15,39,66,.07)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--sgs-bg)!important;color:var(--sgs-text);-webkit-font-smoothing:antialiased}button,input,select,textarea{font-family:inherit}a{transition:.18s ease}::selection{background:#cfe9ff;color:var(--sgs-navy)}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#edf2f7}::-webkit-scrollbar-thumb{background:#b8c5d3;border-radius:99px}
/* Corporate surfaces */
.sgs-card,.card,.stat-card,.panel,.box,.content-card{border:1px solid var(--sgs-border);box-shadow:var(--sgs-shadow);border-radius:var(--sgs-radius);background:#fff}
.sgs-card:hover,.stat-card:hover{box-shadow:0 14px 38px rgba(15,39,66,.10)}
.sgs-section-title{font-weight:800;color:var(--sgs-navy)}.sgs-muted{color:var(--sgs-muted)}
.sgs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700}
/* Admin shell */
body.h-screen>aside{border-right:1px solid #17334e;box-shadow:8px 0 24px rgba(15,39,66,.08)}
body.h-screen>aside .h-16{background:linear-gradient(135deg,#091a2d,#123653)!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
body.h-screen>aside nav a{border-left:3px solid transparent;min-height:42px}body.h-screen>aside nav a:hover{background:rgba(255,255,255,.06)!important}
body.h-screen>aside nav a.sidebar-item-active{background:linear-gradient(90deg,rgba(36,149,223,.20),rgba(36,149,223,.04))!important;border-left-color:#55b1eb!important;color:#fff!important}
body.h-screen>aside .mt-auto{border-top-color:rgba(255,255,255,.08)!important}
/* Header */
header{backdrop-filter:blur(10px)}
/* Tables */
table{border-collapse:separate!important;border-spacing:0;overflow:hidden}thead th{background:#f7f9fc!important;color:#475467!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.035em;font-size:11px!important}tbody tr{transition:background .15s ease}tbody tr:hover{background:#f8fbff!important}td,th{border-color:var(--sgs-border)!important}
/* Forms */
input:focus,select:focus,textarea:focus{outline:none!important;border-color:#5aa9da!important;box-shadow:0 0 0 3px rgba(36,149,223,.12)!important}input,select,textarea{border-radius:9px!important}
/* Buttons */
button,.btn,[type=submit]{transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}button:hover,.btn:hover,[type=submit]:hover{filter:brightness(1.02)}button:active,.btn:active,[type=submit]:active,.sgs-pressed{transform:translateY(1px)}
.stat-card,.card{background:var(--sgs-card)}.stat-card .number{color:var(--sgs-navy)!important;font-weight:800}
/* Login/register */
.login-wrapper{background:radial-gradient(circle at 10% 10%,rgba(37,149,223,.16),transparent 28%),radial-gradient(circle at 90% 90%,rgba(11,31,53,.10),transparent 32%),linear-gradient(135deg,#eef6ff,#f8fafc)!important}
.login-box{border:1px solid rgba(255,255,255,.9);box-shadow:0 30px 90px rgba(15,39,66,.18)!important}
.login-button{background:linear-gradient(135deg,#0b3152,#0b73ba)!important}
.login-right{background-position:center!important}.register a{font-weight:700}
/* Professional accents usable in legacy pages */
.bg-slate-900{background-color:#0b1f35!important}.bg-slate-950{background-color:#091a2d!important}.text-sky-400{color:#58b4ec!important}.bg-sky-950{background-color:#0b3152!important}.border-sky-800{border-color:#1e5c87!important}
/* Responsive */
@media(max-width:900px){body.h-screen{height:auto!important;min-height:100vh;overflow:auto!important}body.h-screen>aside{width:76px!important}body.h-screen>aside span:not(.text-sky-400){display:none}body.h-screen>aside nav a{justify-content:center}body.h-screen>aside nav a i{margin:0!important}}
@media(max-width:700px){.topbar{position:sticky!important;top:0;z-index:30}.sidebar{position:fixed!important;z-index:40;transform:translateX(-100%);transition:transform .2s ease}.sidebar.open{transform:translateX(0)}table{font-size:12px}}
