*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f6fb;color:#0f172a}
a{text-decoration:none;color:inherit}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:270px;background:#0f172a;color:#fff;display:flex;flex-direction:column;padding:22px;position:fixed;inset:0 auto 0 0}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.brand-icon{width:42px;height:42px;border-radius:14px;background:#2563eb;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px}
.brand-title{font-size:18px;font-weight:800}
.brand-subtitle,.small{font-size:13px;color:#64748b}
.sidebar .small{color:#94a3b8}
.sidebar-menu{display:flex;flex-direction:column;gap:8px}
.sidebar-menu a{display:flex;align-items:center;gap:10px;padding:12px 13px;border-radius:12px;color:#cbd5e1;font-weight:600}
.sidebar-menu a:hover,.sidebar-menu a.active{background:#1e293b;color:#fff}
.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:18px}
.server-pill{display:inline-flex;align-items:center;gap:8px;background:#1e293b;border-radius:999px;padding:8px 12px;margin-bottom:8px;font-size:13px;font-weight:700}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot.online{background:#22c55e}
.dot.offline{background:#ef4444}
.main-content{margin-left:270px;width:calc(100% - 270px)}
.topbar{height:76px;background:#fff;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:10}
.page-kicker{font-weight:800;font-size:18px}
.page-subtitle{font-size:13px;color:#64748b;margin-top:3px}
.topbar-actions{display:flex;gap:10px}
.content{padding:28px;max-width:1400px}
.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.section-title h2{margin:0;font-size:28px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:18px}
.stat-card,.card{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(15,23,42,.07)}
.stat-card{padding:22px;min-height:118px}
.card{padding:24px;margin-bottom:18px}
.stat-label{font-size:14px;color:#475569}
.stat-value{font-size:34px;font-weight:900;margin:8px 0 4px}
.stat-primary{color:#2563eb}
.stat-success{color:#16a34a}
.stat-danger{color:#dc2626}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:12px;background:#2563eb;color:#fff;border:0;cursor:pointer;font-weight:700}
.btn:hover{filter:brightness(.96)}
.btn-danger{background:#dc2626}
.btn-muted{background:#64748b}
.input,textarea,select{width:100%;padding:12px;border:1px solid #cbd5e1;border-radius:12px;margin:7px 0 15px;background:#fff}
label{font-weight:700}
table{width:100%;border-collapse:collapse}
th,td{padding:13px 10px;border-bottom:1px solid #e5e7eb;text-align:left}
th{color:#475569;font-size:12px;text-transform:uppercase;letter-spacing:.03em}
tbody tr:hover{background:#f8fafc}
.badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800}
.badge-online{background:#dcfce7;color:#166534}
.badge-offline{background:#fee2e2;color:#991b1b}
.badge-neutral{background:#e0f2fe;color:#075985}
.alert{padding:13px 15px;border-radius:12px;margin-bottom:14px}
.alert-success{background:#dcfce7;color:#166534}
.alert-danger{background:#fee2e2;color:#991b1b}
.login{max-width:430px;margin:80px auto}
.code{white-space:pre-wrap;background:#0f172a;color:#d1fae5;padding:16px;border-radius:14px;overflow:auto;font-size:13px}
.table-responsive{overflow:auto}
@media(max-width:1000px){.sidebar{position:relative;width:100%;inset:auto}.app-shell{display:block}.main-content{margin-left:0;width:100%}.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid{grid-template-columns:1fr}.topbar,.section-title{flex-direction:column;align-items:flex-start;height:auto;padding:18px}.content{padding:18px}}