@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
    --bg:#0b0810;
    --bg2:#100b17;
    --panel:#15101b;
    --panel2:#1a1421;
    --panel3:#201728;
    --border:rgba(255,255,255,.075);
    --border2:rgba(255,255,255,.12);
    --text:#fbf8ff;
    --muted:#9f96aa;
    --muted2:#777082;
    --accent:#9a1af4;
    --accent2:#c76aff;
    --accent3:#df9dff;
    --success:#49df91;
    --danger:#ff6d7c;
    --warning:#f7c95c;
    --shadow:0 22px 70px rgba(0,0,0,.4);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 82% -15%,rgba(154,26,244,.18),transparent 32%),
        radial-gradient(circle at 8% 0%,rgba(199,106,255,.08),transparent 24%),
        var(--bg);
    color:var(--text);
    font-family:Inter,Arial,sans-serif;
}
body:before{
    content:"";
    position:fixed;inset:0;pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
    background-size:34px 34px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 80%);
}
a{color:inherit}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

.shell{display:grid;grid-template-columns:250px 1fr;min-height:100vh}
.sidebar{
    position:sticky;top:0;height:100vh;
    padding:22px 16px;
    background:rgba(12,9,16,.8);
    border-right:1px solid var(--border);
    backdrop-filter:blur(18px);
    z-index:20;
}
.logo{
    display:flex;align-items:center;gap:11px;
    padding:8px 10px 24px;text-decoration:none
}
.logo-mark{
    width:40px;height:40px;border-radius:13px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--accent),#5e0c99);
    box-shadow:0 12px 30px rgba(154,26,244,.28);
    font-weight:800;font-size:14px
}
.logo-copy strong{display:block;font-size:15px;letter-spacing:.2px}
.logo-copy span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.nav-section{margin:15px 8px 7px;color:var(--muted2);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.nav-link{
    display:flex;align-items:center;gap:11px;
    padding:11px 12px;border-radius:10px;
    color:#bcb3c6;text-decoration:none;margin:4px 0;
    transition:.18s ease
}
.nav-link svg{width:18px;height:18px;opacity:.8}
.nav-link:hover{background:rgba(255,255,255,.045);color:#fff}
.nav-link.active{background:linear-gradient(90deg,rgba(154,26,244,.22),rgba(154,26,244,.06));color:#fff;border:1px solid rgba(154,26,244,.2)}
.nav-link .count{margin-left:auto;background:rgba(255,255,255,.06);padding:3px 7px;border-radius:999px;font-size:10px;color:#bcb3c6}
.main{min-width:0}
.topbar{
    position:sticky;top:0;z-index:10;
    height:70px;padding:0 30px;
    display:flex;align-items:center;justify-content:space-between;gap:15px;
    background:rgba(11,8,16,.7);backdrop-filter:blur(18px);
    border-bottom:1px solid var(--border)
}
.page{max-width:1320px;margin:0 auto;padding:30px}
.menu-toggle{display:none}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:24px}
.eyebrow{color:var(--accent3);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
h1{font-size:34px;line-height:1.08;margin:0 0 7px;letter-spacing:-.03em}
h2{font-size:19px;margin:0 0 7px;letter-spacing:-.015em}
h3{font-size:14px;margin:0}
.subtitle,.muted{color:var(--muted)}
.subtitle{max-width:760px;line-height:1.6;font-size:14px}
.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    padding:10px 14px;border-radius:10px;
    border:1px solid var(--border2);background:rgba(255,255,255,.035);
    color:#fff;text-decoration:none;font-weight:700;font-size:13px;
    transition:.18s ease
}
.btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.065)}
.btn.primary{border-color:rgba(154,26,244,.45);background:linear-gradient(135deg,#9a1af4,#7b10c7);box-shadow:0 12px 25px rgba(154,26,244,.18)}
.btn.success{color:#c9ffe1;border-color:rgba(73,223,145,.2);background:rgba(73,223,145,.08)}
.btn.danger{color:#ffbbc1;border-color:rgba(255,109,124,.2);background:rgba(255,109,124,.06)}
.btn.small{padding:8px 10px;font-size:12px}
.card{
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
    border:1px solid var(--border);
    border-radius:17px;padding:20px;box-shadow:var(--shadow)
}
.grid{display:grid;gap:17px}
.stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.stat{position:relative;overflow:hidden}
.stat:after{content:"";position:absolute;width:130px;height:130px;right:-50px;top:-50px;border-radius:50%;background:rgba(154,26,244,.1);filter:blur(4px)}
.stat-label{color:var(--muted);font-size:12px;font-weight:600}
.stat-value{font-size:30px;font-weight:800;margin-top:9px;letter-spacing:-.04em}
.stat-foot{color:var(--muted2);font-size:11px;margin-top:5px}
.server-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.server-card{
    position:relative;overflow:hidden;
    text-decoration:none;transition:.2s
}
.server-card:hover{transform:translateY(-2px);border-color:rgba(199,106,255,.22)}
.server-icon{
    width:48px;height:48px;border-radius:14px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,rgba(154,26,244,.85),rgba(92,13,148,.85));
    font-weight:800;font-size:13px;
    box-shadow:0 12px 25px rgba(154,26,244,.18)
}
.server-title{margin-top:16px;font-size:18px;font-weight:800}
.server-desc{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.5;min-height:38px}
.server-meta{display:flex;justify-content:space-between;gap:10px;margin-top:18px;font-size:11px;color:var(--muted2)}
.server-meta strong{color:#d9d1df}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}
.search{
    flex:1;position:relative;min-width:200px
}
.search input{
    width:100%;padding:12px 14px 12px 40px;
    color:#fff;background:rgba(255,255,255,.028);
    border:1px solid var(--border);border-radius:11px;outline:none
}
.search input:focus{border-color:rgba(154,26,244,.55);box-shadow:0 0 0 3px rgba(154,26,244,.09)}
.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);width:17px}
.update{
    position:relative;margin-bottom:14px;
    background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.012));
    border:1px solid var(--border);border-radius:15px;padding:18px
}
.update:last-child{margin-bottom:0}
.update-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.update-title{font-size:16px;font-weight:800;margin-top:8px}
.update-text{margin-top:14px;color:#ddd5e3;font-size:13px;line-height:1.75}
.update-text p{margin:0 0 12px}
.update-text p:last-child{margin-bottom:0}
.update-heading{margin:18px 0 8px;color:#fff;font-size:14px;line-height:1.35;font-weight:850}
.update-heading:first-child{margin-top:0}
.update-bullets{margin:0 0 12px;padding-left:21px}
.update-bullets li{margin:5px 0}
.update-side{text-align:right;white-space:nowrap}
.badge{
    display:inline-flex;align-items:center;gap:5px;
    padding:5px 8px;border-radius:999px;
    background:rgba(154,26,244,.13);border:1px solid rgba(154,26,244,.2);
    color:#ddb3ff;font-size:10px;font-weight:800
}
.badge.green{color:#bff8d5;background:rgba(73,223,145,.08);border-color:rgba(73,223,145,.15)}
.badge.gray{color:#bfb7c5;background:rgba(255,255,255,.04);border-color:var(--border)}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field label{display:block;margin:0 0 7px;font-size:12px;font-weight:700;color:#cfc6d7}
.input,.textarea,.select{
    width:100%;color:#fff;background:#0e0a12;border:1px solid var(--border2);
    border-radius:10px;padding:11px 12px;outline:none
}
.textarea{min-height:220px;resize:vertical;line-height:1.6}
.input:focus,.textarea:focus,.select:focus{border-color:rgba(154,26,244,.55);box-shadow:0 0 0 3px rgba(154,26,244,.08)}
.table-wrap{overflow:auto}
.table{width:100%;border-collapse:collapse;min-width:720px}
.table th{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted2);text-align:left;padding:11px 12px;border-bottom:1px solid var(--border)}
.table td{font-size:12px;color:#ddd5e3;padding:13px 12px;border-bottom:1px solid var(--border);vertical-align:middle}
.table tr:last-child td{border-bottom:0}
.code{
    display:flex;gap:8px;align-items:center;
    background:#0b080e;border:1px solid var(--border);border-radius:10px;padding:11px
}
.code code{flex:1;min-width:0;overflow:auto;color:#e8daf1;font-size:12px}
.notice,.error{padding:13px 15px;border-radius:11px;margin-bottom:16px;font-size:13px}
.notice{background:rgba(73,223,145,.08);border:1px solid rgba(73,223,145,.15);color:#bdf7d1}
.error{background:rgba(255,109,124,.08);border:1px solid rgba(255,109,124,.15);color:#ffc5ca}
.empty{padding:35px 20px;text-align:center;color:var(--muted)}
.breadcrumb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;margin-bottom:16px}
.breadcrumb a{text-decoration:none}.breadcrumb a:hover{color:#fff}
.kpi-row{display:flex;gap:12px;flex-wrap:wrap}
.kpi{padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.02)}
.kpi span{color:var(--muted);font-size:10px;display:block}.kpi strong{display:block;margin-top:3px;font-size:13px}
.footer{margin-top:35px;color:var(--muted2);font-size:11px;text-align:center}
.mobile-only{display:none}

@media(max-width:1100px){
    .server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
    .shell{display:block}.sidebar{position:fixed;left:-270px;width:250px;transition:.22s}.sidebar.open{left:0}
    .main{width:100%}.menu-toggle{display:inline-flex}
    .topbar{padding:0 16px}.page{padding:20px 16px}
    .page-head{align-items:flex-start;flex-direction:column}
    .field-grid,.server-grid{grid-template-columns:1fr}
    .mobile-only{display:inline-flex}
}
@media(max-width:520px){
    .stats{grid-template-columns:1fr}
    h1{font-size:29px}
    .update-top{flex-direction:column}.update-side{text-align:left}
    .toolbar{align-items:stretch;flex-direction:column}
}
