:root { color-scheme: light; --navy:#071a33; --blue:#1769e0; --ink:#122033; --muted:#667386; --line:#dfe5ec; --bg:#f4f6f9; --red:#c83b42; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
aside { position:fixed; inset:0 auto 0 0; width:230px; padding:28px 22px; background:var(--navy); color:white; display:flex; flex-direction:column; }
.brand { display:flex; gap:12px; align-items:center; font-size:18px; }
.brand span { width:38px; height:38px; display:grid; place-items:center; background:var(--blue); font-weight:800; }
nav { display:grid; gap:8px; margin-top:48px; }
nav a { color:#aebbd0; text-decoration:none; padding:11px 13px; border-left:3px solid transparent; }
nav a.active, nav a:hover { color:white; border-color:#4e9bff; background:#102b50; }
.aside-note { margin-top:auto; color:#d7dfeb; line-height:1.4; }.aside-note small{color:#8596ae}
main { margin-left:230px; padding:44px clamp(28px,5vw,76px) 80px; }
header { display:flex; justify-content:space-between; align-items:center; margin-bottom:34px; }
.header-actions { display:flex; gap:10px; align-items:center; }
h1 { font-family:Georgia,serif; font-size:40px; margin:5px 0 0; letter-spacing:-1px; } h2{margin:4px 0 22px;font-size:22px}
.eyebrow { margin:0; color:var(--blue); font-size:11px; letter-spacing:1.8px; font-weight:800; }
.status { background:white; border:1px solid var(--line); padding:10px 14px; font-size:13px; }.status i{display:inline-block;width:8px;height:8px;background:#28a46a;border-radius:50%;margin-right:7px}
.stats { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:20px; }
.stats article,.panel { background:white; border:1px solid var(--line); box-shadow:0 5px 22px rgba(7,26,51,.04); }
.stats article { padding:20px; display:grid; gap:4px; }.stats span,.stats small{color:var(--muted);font-size:12px}.stats strong{font-size:28px}.stats .alert{border-top:3px solid var(--red)}
.grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr); gap:20px; align-items:start; }
.panel { padding:26px; }.panel-head{display:flex;justify-content:space-between;gap:20px}.panel-head button{align-self:start}
button { border:1px solid var(--line); background:white; color:var(--ink); padding:9px 13px; cursor:pointer; font-weight:700; }
button.primary { width:100%; border:0; background:var(--blue); color:white; padding:13px; margin-top:4px; }
.empty { padding:28px; border:1px dashed #bfc9d7; color:var(--muted); text-align:center; }
.site-row { display:grid; grid-template-columns:1.2fr .8fr auto; gap:18px; align-items:center; padding:17px 0; border-top:1px solid var(--line); }.site-row:first-child{border-top:0}.site-row strong,.site-row span{display:block}.site-row small{color:var(--muted)}
.state { color:var(--blue); font-size:12px; font-weight:800; }.domain{font-family:ui-monospace,monospace;font-size:12px}
form { display:grid; gap:14px; } label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700} input,select{width:100%;padding:11px;border:1px solid #cbd4df;background:white;color:var(--ink);font:inherit}.message{font-size:12px;color:var(--muted);min-height:17px;margin:0}
.exception-panel { margin-top:20px; border-left:4px solid var(--blue); }.exception-panel h2{margin-bottom:8px}.exception-panel>p:last-child{color:var(--muted);margin-bottom:0;max-width:800px;line-height:1.55}
@media (max-width:900px){aside{position:static;width:auto;height:auto}.aside-note,nav{display:none}main{margin:0;padding:28px 18px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}header{align-items:flex-start}.status{display:none}}

.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; background:linear-gradient(145deg,#06172e,#0d315c); }
.login-shell { width:min(430px,100%); margin:0; padding:0; }
.login-brand { color:white; margin-bottom:22px; }
.login-brand .brand { margin-bottom:12px; }
.login-brand p { color:#aebbd0; margin:0; }
.login-card { background:white; border:1px solid rgba(255,255,255,.2); padding:32px; box-shadow:0 24px 70px rgba(0,0,0,.25); }
.login-card h1 { font-size:32px; margin:5px 0 8px; }
.login-card>p { color:var(--muted); margin:0 0 24px; line-height:1.5; }
.remember { display:flex; grid-template-columns:auto 1fr; align-items:center; gap:9px; color:var(--ink); }
.remember input { width:auto; }
.login-error { color:var(--red); min-height:20px; margin:0; font-size:13px; }
