:root{
  --bg:#07121a;--panel:#0e1e29;--line:#213d4c;--text:#f4f8fa;
  --muted:#9eb4c0;--accent:#3ad3c8;--good:#56d58f;--warn:#f2b95e;
  --shadow:0 24px 80px rgba(0,0,0,.28);--radius:20px
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 10% 0%,rgba(58,211,200,.12),transparent 34%),radial-gradient(circle at 100% 20%,rgba(242,185,94,.10),transparent 28%),var(--bg);color:var(--text);min-height:100vh}
a{color:inherit;text-decoration:none}
.portal-login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}
.brand-side{padding:7vw;display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.06)}
.brand-mark{width:72px;height:72px;border-radius:22px;background:linear-gradient(135deg,var(--accent),#1786a0);display:grid;place-items:center;font-weight:900;font-size:30px;box-shadow:var(--shadow)}
.brand-side h1{font-size:clamp(42px,6vw,82px);line-height:.95;margin:30px 0 18px}
.brand-side p{color:var(--muted);max-width:660px;font-size:20px;line-height:1.6}
.login-side{padding:7vw;display:flex;align-items:center;justify-content:center}
.login-card{width:min(520px,100%);background:rgba(14,30,41,.90);border:1px solid var(--line);padding:42px;border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.login-card h2{margin:0 0 8px;font-size:32px}.muted{color:var(--muted)}
label{display:block;margin:20px 0 8px;font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#bcd0d9}
input,select,textarea{width:100%;background:#081720;border:1px solid #294657;color:white;padding:14px 15px;border-radius:12px;outline:none;font:inherit}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(58,211,200,.10)}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:12px;padding:14px 18px;font-weight:800;cursor:pointer;background:linear-gradient(135deg,var(--accent),#20aeba);color:#052027}
.btn-secondary{background:#142c39;color:#e9f5f6;border:1px solid var(--line)}
.alert{padding:13px 15px;border-radius:12px;margin:16px 0;border:1px solid rgba(255,255,255,.08)}
.alert-bad{background:rgba(255,119,119,.10);color:#ffc1c1}.alert-good{background:rgba(86,213,143,.10);color:#bdf2d2}
.portal-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:28px 20px;border-right:1px solid var(--line);background:rgba(5,16,23,.84);backdrop-filter:blur(18px)}
.side-brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.side-logo{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#187c99);display:grid;place-items:center;font-weight:900;color:#04202a}
.side-brand b{font-size:17px}.side-brand span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.nav-section{font-size:11px;color:#698895;font-weight:900;letter-spacing:.12em;margin:22px 10px 8px;text-transform:uppercase}
.nav-link{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:3px 0;border-radius:11px;color:#c9d8de}.nav-link:hover,.nav-link.active{background:#102733;color:white}
.portal-main{padding:30px 34px 70px;max-width:1700px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.topbar h1{margin:0;font-size:31px}
.user-chip{display:flex;gap:12px;align-items:center}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#173846;color:var(--accent);font-weight:900}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{background:linear-gradient(180deg,#102532,#0b1c26);border:1px solid var(--line);border-radius:var(--radius);padding:22px;box-shadow:0 10px 36px rgba(0,0,0,.12)}.stat b{display:block;font-size:34px;margin-bottom:7px}.stat span{color:var(--muted)}
.panel{background:linear-gradient(180deg,#0f2430,#0a1b24);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-top:18px}.panel h2{margin-top:0}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:#0a1a23}.quick-card strong{display:block;margin-bottom:5px}.quick-card span{color:var(--muted);font-size:13px}
.status-dot{width:9px;height:9px;border-radius:50%;display:inline-block;margin-right:7px}.good{background:var(--good)}.wait{background:var(--warn)}
table{width:100%;border-collapse:collapse}th,td{padding:11px;border-bottom:1px solid #1d3948;text-align:left;font-size:14px}th{color:#819daa;font-size:11px;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:1050px){.portal-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative;border-right:0;border-bottom:1px solid var(--line)}.grid{grid-template-columns:repeat(2,1fr)}.quick-grid{grid-template-columns:1fr}.portal-login-shell{grid-template-columns:1fr}.brand-side{display:none}}
@media(max-width:640px){.portal-main{padding:22px 14px 60px}.grid{grid-template-columns:1fr 1fr}.login-card{padding:26px}}
