:root{
    color-scheme:dark;
    --bg:#080b10;
    --bg2:#0d1118;
    --panel:#111721;
    --panel2:#151d29;
    --line:#222d3c;
    --text:#eef4fb;
    --muted:#8d9aab;
    --accent:#75f6b5;
    --accent2:#65b9ff;
    --danger:#ff6f78;
    --warning:#ffc66d;
    --success:#75f6b5;
    --shadow:0 20px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at 25% -10%,#152335 0,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}
a{color:inherit}
button,input{font:inherit}
.shell{width:min(1500px,calc(100% - 40px));margin:0 auto;padding-bottom:50px}
.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:13px}
.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(117,246,181,.2),rgba(101,185,255,.12));border:1px solid rgba(117,246,181,.32);box-shadow:0 0 35px rgba(117,246,181,.11);font-weight:900;font-size:24px}
.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:19px}
.brand-name{font-size:14px;font-weight:800;letter-spacing:.12em}
.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}
.top-actions{display:flex;align-items:center;gap:10px}
.user-pill{padding:8px 12px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:13px}
.hero{padding:42px 0 26px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.hero h1{font-size:clamp(28px,4vw,46px);margin:2px 0 10px;letter-spacing:-.04em}
.hero-meta{display:flex;align-items:center;gap:14px}
.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:800;color:var(--accent);margin:0 0 7px}
.muted{color:var(--muted);font-size:13px}
.status-badge{font-size:12px;font-weight:900;letter-spacing:.08em}
.status-ok{color:var(--success)}
.status-bad{color:var(--danger)}
.status-wait{color:var(--warning)}
.controls{display:flex;gap:9px;flex-wrap:wrap}
.btn{appearance:none;border:1px solid var(--line);background:var(--panel2);color:var(--text);border-radius:11px;padding:10px 15px;font-weight:750;cursor:pointer;text-decoration:none;transition:.16s ease}
.btn:hover{transform:translateY(-1px);border-color:#3a4a61}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-small{padding:8px 11px;font-size:12px}
.btn-primary{background:linear-gradient(135deg,#55e6a0,#55bdf2);color:#05100c;border:0;width:100%;margin-top:4px}
.btn-ghost{background:transparent}
.btn-success{border-color:rgba(117,246,181,.35);color:var(--success)}
.btn-warning{border-color:rgba(255,198,109,.35);color:var(--warning)}
.btn-danger{border-color:rgba(255,111,120,.35);color:var(--danger)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:14px}
.stat-card{background:linear-gradient(180deg,rgba(255,255,255,.025),transparent),var(--panel);border:1px solid var(--line);border-radius:17px;padding:21px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.stat-card.accent:after{content:"";position:absolute;right:-25px;top:-25px;width:110px;height:110px;background:radial-gradient(circle,rgba(117,246,181,.16),transparent 68%)}
.stat-label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.stat-card strong{font-size:30px;display:block;margin:11px 0 5px;letter-spacing:-.035em}
.stat-foot{font-size:12px;color:var(--muted)}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.panel-grid.bottom{grid-template-columns:.72fr 1.28fr}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:20px;box-shadow:var(--shadow);min-width:0}
.panel-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.panel h2{font-size:18px;margin:0;letter-spacing:-.02em}
.chart-panel{position:relative;min-height:340px}
.chart-panel canvas{width:100%;height:240px;display:block}
.chart-empty{position:absolute;left:0;right:0;top:57%;transform:translateY(-50%);text-align:center;color:var(--muted);font-size:13px;pointer-events:none}
.range-switch{display:flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:#0c1118}
.range-switch button{border:0;background:transparent;color:var(--muted);font-size:11px;font-weight:850;padding:6px 9px;border-radius:6px;cursor:pointer}
.range-switch button.active{background:#202b39;color:var(--text)}
.detail-list{margin:0;display:grid;gap:0}
.detail-list div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.05)}
.detail-list div:last-child{border:0}
.detail-list dt{color:var(--muted);font-size:13px}
.detail-list dd{margin:0;font-size:13px;font-weight:750}
.logs-panel pre{margin:0;height:315px;overflow:auto;background:#090d12;border:1px solid #1b2532;border-radius:11px;padding:14px;color:#b8c5d4;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre-wrap;word-break:break-word}
.toast{position:fixed;right:22px;bottom:22px;max-width:380px;padding:13px 16px;border-radius:12px;background:#182131;border:1px solid #314056;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.18s ease;font-size:13px}
.toast.show{opacity:1;transform:translateY(0)}
.toast.error{border-color:rgba(255,111,120,.45);color:#ffd9dc}
.auth-page{display:grid;place-items:center;padding:30px}
.auth-card{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}
.auth-card h1{margin:7px 0 8px;font-size:30px;letter-spacing:-.04em}
.auth-card .brand-mark{margin-bottom:20px}
.auth-card form{display:grid;gap:14px;margin-top:24px}
.auth-card label{display:grid;gap:7px;color:#b7c3d1;font-size:12px;font-weight:750}
.auth-card input{width:100%;background:#0b1017;border:1px solid #273344;color:var(--text);padding:12px 13px;border-radius:10px;outline:none}
.auth-card input:focus{border-color:rgba(117,246,181,.6);box-shadow:0 0 0 3px rgba(117,246,181,.07)}
.auth-foot{margin:22px 0 0;color:#657386;text-align:center;font-size:11px}
.alert{margin:18px 0 0;padding:11px 12px;border-radius:10px;background:#151f2c;border:1px solid #2b3a4d;color:#c5d1df;font-size:13px}
.alert-error{border-color:rgba(255,111,120,.4);background:rgba(255,111,120,.07)}
.alert-success{border-color:rgba(117,246,181,.35);background:rgba(117,246,181,.07)}
.text-link{display:block;margin-top:18px;color:var(--muted);font-size:13px}
@media (max-width:950px){
    .stat-grid{grid-template-columns:repeat(2,1fr)}
    .panel-grid,.panel-grid.bottom{grid-template-columns:1fr}
}
@media (max-width:620px){
    .shell{width:min(100% - 22px,1500px)}
    .topbar{height:70px}
    .brand-sub,.user-pill{display:none}
    .hero{align-items:flex-start;flex-direction:column;padding-top:28px}
    .stat-grid{grid-template-columns:1fr}
    .panel{padding:16px}
    .controls{width:100%}
    .controls .btn{flex:1}
}
