:root{color-scheme:dark;--bg:#090c0b;--surface:#111614;--raised:#171d1a;--line:#29322e;--text:#f1f5f2;--muted:#8f9c96;--lime:#b9f33d;--orange:#ffab45;--red:#ff605c;--sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(circle at 70% 0,#18201b 0,transparent 34%),var(--bg);color:var(--text);font-family:var(--sans)}
button,input,textarea{font:inherit}
.hidden{display:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{width:min(420px,100%);padding:42px;background:linear-gradient(145deg,#151b18,#0e1210);border:1px solid var(--line);box-shadow:0 28px 90px #0008}
.brand-mark{width:52px;height:52px;display:grid;place-items:center;background:var(--lime);color:#10140d;font-weight:900;letter-spacing:-2px;clip-path:polygon(0 0,100% 0,100% 76%,76% 100%,0 100%)}
.brand-mark.small{width:40px;height:40px;font-size:14px}
.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:800;color:var(--lime);margin:22px 0 8px}
h1,h2,p{margin-top:0}
h1{font-size:clamp(30px,4vw,48px);letter-spacing:-.05em;margin-bottom:10px}
h2{font-size:20px;letter-spacing:-.02em}
.muted{color:var(--muted);margin-bottom:30px}
label{display:grid;gap:8px;margin:18px 0;color:#cbd3cf;font-size:13px;font-weight:650}
input,textarea{width:100%;background:#090c0b;color:var(--text);border:1px solid var(--line);padding:13px 14px;outline:none}
input:focus,textarea:focus{border-color:var(--lime);box-shadow:0 0 0 3px #b9f33d12}
textarea{min-height:126px;resize:vertical}
button{border:1px solid var(--lime);background:var(--lime);color:#10140d;font-weight:800;padding:12px 18px;cursor:pointer;transition:.15s}
button:hover{filter:brightness(1.08);transform:translateY(-1px)}
.login-card button{width:100%;margin-top:8px}
.error{color:var(--red);min-height:20px;margin:12px 0 0;font-size:13px}
.app{min-height:100vh;display:grid;grid-template-columns:260px 1fr}
aside{position:sticky;top:0;height:100vh;padding:24px 16px;border-right:1px solid var(--line);background:#0b0f0d;display:flex;flex-direction:column}
.brand{display:flex;align-items:center;gap:12px;margin:0 8px 25px}
.brand strong,.brand small{display:block}
.brand small{font-size:9px;letter-spacing:.12em;color:var(--muted);margin-top:3px}
nav{display:grid;gap:6px}
nav button,.ghost{background:transparent;border:0;color:var(--muted);text-align:left}
.nav-active,nav button:hover{background:var(--raised)!important;color:var(--text)!important}
.ghost{margin-top:auto}
.workspace{padding:38px clamp(24px,4vw,62px) 70px;max-width:1500px;width:100%;margin:auto}
header{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}
header .eyebrow{margin-top:0}
header h1{margin:0}
.status{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.status i{width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 14px currentColor}
.status.online i{background:var(--lime)}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}
.metrics article,.panel{border:1px solid var(--line);background:linear-gradient(145deg,var(--surface),#0e1210);padding:24px}
.metrics article span,.metrics article small{display:block;color:var(--muted);font-size:12px}
.metrics article strong{display:block;font-size:30px;margin:12px 0 5px;letter-spacing:-.04em}
.control-panel,.panel-head{display:flex;align-items:center;justify-content:space-between;gap:20px}
.control-panel{margin-bottom:14px}
.control-panel .eyebrow,.panel-head .eyebrow,.panel>.eyebrow{margin-top:0}
.control-panel h2,.panel-head h2{margin:0}
.button-row{display:flex;gap:8px}
.secondary{background:#1b231f;border-color:#34413b;color:var(--text)}
.warning{background:#332312;border-color:#73491c;color:#ffd4a0}
.danger{background:#351817;border-color:#7a2f2d;color:#ffaaa7}
.compact{padding:9px 13px;font-size:12px}
.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:14px;margin-bottom:14px}
.inline-form{display:grid;grid-template-columns:1fr auto auto;gap:8px;margin:20px 0}
.terminal{min-height:114px;max-height:260px;overflow:auto;white-space:pre-wrap;background:#080b09;border:1px solid #202824;padding:15px;color:#afbab4;font:12px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}
.form-foot{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.form-foot small{color:var(--muted)}
.table-wrap{overflow:auto;margin-top:18px}
table{border-collapse:collapse;width:100%;font-size:13px}
th{text-align:left;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em;padding:12px;border-bottom:1px solid var(--line)}
td{padding:14px 12px;border-bottom:1px solid #202723}
.state{font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:5px 7px;background:#263029;color:#c7d1cb}
.state.success{background:#203713;color:#cbed83}
.state.failed{background:#3b1b1a;color:#ffaaa7}
.toast{position:fixed;right:30px;top:24px;z-index:5;background:#e8f6dd;color:#14200f;padding:13px 18px;font-weight:700;box-shadow:0 12px 40px #0008}
@media(max-width:900px){.app{grid-template-columns:1fr}
aside{position:static;height:auto;flex-direction:row;align-items:center;padding:14px 20px}
.brand{margin:0 auto 0 0}
nav{display:none}
.ghost{margin:0}
.metrics,.grid{grid-template-columns:1fr}
.control-panel{align-items:flex-start;flex-direction:column}
}
@media(max-width:580px){.workspace{padding:25px 14px 50px}
header{align-items:flex-start}
.metrics{grid-template-columns:1fr 1fr}
.metrics article:last-child{grid-column:span 2}
.button-row,.inline-form{display:grid;width:100%;grid-template-columns:1fr}
.panel{padding:18px}
.panel-head{align-items:flex-start;flex-direction:column}
}
