:root{
    color-scheme:dark;
    --bg:#06101d;
    --panel:#0e1b2c;
    --panel2:#13243a;
    --text:#f7f5ef;
    --muted:#9dadbf;
    --line:rgba(255,255,255,.1);
    --accent:#f36b21;
    --accent-alt:#19b3b0;
    --ok:#43d18b;
    --bad:#ff6b75;
    --page:min(1220px,calc(100% - 32px));
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
body{background:radial-gradient(circle at 78% -12%,rgba(25,179,176,.17),transparent 32%),radial-gradient(circle at 16% 0,rgba(243,107,33,.14),transparent 28%),var(--bg)}
a{color:inherit}
.topbar{min-height:80px;padding:14px max(18px,calc((100vw - 1220px)/2));display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);background:rgba(6,16,29,.86);backdrop-filter:blur(14px);position:sticky;top:0;z-index:5}
.brand-lockup{display:flex;align-items:center;gap:13px}
.brand-mark{position:relative;width:36px;height:36px;display:grid;place-items:center;border:2px solid var(--text);border-radius:50%}
.brand-mark::before,.brand-mark::after,.brand-mark span{content:"";position:absolute;display:block;background:currentColor}
.brand-mark::before{width:2px;height:45px}
.brand-mark::after{width:25px;height:2px}
.brand-mark span{width:7px;height:7px;border-radius:50%;background:var(--accent)}
.brand{font-weight:900;font-size:22px;letter-spacing:.1em}
.subtitle{color:var(--muted);font-size:12px;margin-top:2px}
.user-area{display:flex;align-items:center;gap:14px;color:var(--muted)}
.logout{padding:9px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:rgba(255,255,255,.04);transition:.18s ease}
.logout:hover{border-color:rgba(243,107,33,.55);color:var(--text)}
.container{width:var(--page);margin:0 auto;padding:46px 0 50px}
.welcome{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:46px}
.eyebrow,.section-kicker{font-family:"Cascadia Mono",Consolas,monospace;font-size:11px;font-weight:800;letter-spacing:.16em;color:var(--accent)}
.eyebrow{margin:0 0 15px}
.welcome h1{margin:0 0 10px;font-size:clamp(38px,6vw,66px);line-height:.94;letter-spacing:-.05em}
.welcome>div>p:last-child{max-width:680px;margin:0;color:var(--muted);font-size:17px;line-height:1.55}
.welcome-side{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.editor-shortcut{min-height:42px;padding:0 14px;display:inline-flex;align-items:center;gap:8px;border-radius:10px;background:var(--accent);color:#fff;text-decoration:none;font-size:13px;font-weight:850;transition:.18s ease}
.editor-shortcut:hover{transform:translateY(-2px);background:#df5917}
.server-pill{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.05);color:var(--muted);white-space:nowrap}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px rgba(67,209,139,.12)}
.section-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}
.section-header h2{margin:4px 0 0;font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}
.section-header>span{padding-bottom:5px;color:var(--muted);font-size:12px}
.section-kicker{margin:0}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}
.service-card{min-height:220px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));text-decoration:none;display:flex;flex-direction:column;transition:.18s ease;box-shadow:0 16px 44px rgba(0,0,0,.16)}
.service-card:hover{transform:translateY(-4px);border-color:rgba(243,107,33,.52);background:linear-gradient(145deg,rgba(243,107,33,.12),rgba(255,255,255,.035))}
.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.service-icon{flex:0 0 auto;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:24px;background:rgba(25,179,176,.12);border:1px solid rgba(25,179,176,.22)}
.status{font-size:11px;display:flex;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}
.status span{width:8px;height:8px;border-radius:50%;display:block}
.status.online span{background:var(--ok);box-shadow:0 0 14px var(--ok)}
.status.offline span{background:var(--bad);box-shadow:0 0 14px var(--bad)}
.service-card h3{font-size:19px;margin:21px 0 8px}
.service-card p,.device-card p{color:var(--muted);line-height:1.48;margin:0}
.open-link{margin-top:auto;padding-top:18px;color:var(--accent);font-size:13px;font-weight:800}
.devices-section{margin-top:48px}
.device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.device-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02))}
.device-heading{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px}
.device-heading h3{margin:0 0 4px;font-size:20px}
.device-heading p{font-size:13px}
.device-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}
.metric{min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.14)}
.metric span{display:block;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.metric strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:15px;white-space:nowrap}
.footnote{color:var(--muted);font-size:12px;text-align:center;margin:30px 0 0}

.login-body{display:grid;place-items:center;padding:22px}
.login-card{width:min(420px,100%);padding:34px;border-radius:24px;border:1px solid var(--line);background:rgba(14,27,44,.92);box-shadow:0 25px 80px rgba(0,0,0,.35)}
.logo{width:66px;height:66px;border-radius:20px;display:grid;place-items:center;font-weight:900;background:linear-gradient(145deg,var(--accent),var(--accent-alt));box-shadow:0 16px 35px rgba(243,107,33,.24)}
.login-card h1{margin:24px 0 6px}
.muted{color:var(--muted);margin:0 0 25px}
label{display:block;margin:16px 0 7px;font-weight:700;font-size:14px}
input{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:#091525;color:var(--text);padding:0 14px;font-size:16px;outline:none}
input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(243,107,33,.14)}
button{width:100%;height:50px;margin-top:22px;border:0;border-radius:13px;background:linear-gradient(135deg,var(--accent),#d44d16);color:#fff;font-size:16px;font-weight:800;cursor:pointer}
.alert{padding:12px 14px;border-radius:12px;background:rgba(255,107,117,.12);border:1px solid rgba(255,107,117,.35);color:#ffc2c7;margin-bottom:12px}

@media(max-width:1050px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-grid{grid-template-columns:1fr}.welcome{align-items:flex-start;flex-direction:column}.welcome-side{justify-content:flex-start}.server-pill{white-space:normal}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.topbar{padding:12px 16px}.user-area>span{display:none}.container{padding-top:32px}.service-card{min-height:200px}.device-heading{grid-template-columns:auto 1fr}.device-heading>.status{grid-column:1/-1}.device-metrics{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column}.section-header>span{padding:0}}

.dashboard-shortcut{
    min-height:42px;
    padding:0 14px;
    display:inline-flex;
    align-items:center;
    gap:8px;
    border-radius:10px;
    border:1px solid rgba(25,179,176,.45);
    background:rgba(25,179,176,.12);
    color:var(--text);
    text-decoration:none;
    font-size:13px;
    font-weight:850;
    transition:.18s ease;
}

.dashboard-shortcut:hover{
    transform:translateY(-2px);
    border-color:rgba(25,179,176,.8);
    background:rgba(25,179,176,.22);
}
