*{box-sizing:border-box}
:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
  --bg:#090d15;
  --bg2:#0d111b;
  --sidebar:#111621;
  --panel:#141a26;
  --panel-soft:#171e2b;
  --panel-elev:#1a2232;
  --line:#2a3244;
  --line-soft:rgba(255,255,255,.06);
  --text:#f2f5fc;
  --muted:#9aa6bc;
  --muted-2:#7f8aa0;
  --accent:#aebdf4;
  --accent-strong:#bfd0ff;
  --accent-deep:#7f95df;
  --success:#66d7a8;
  --danger:#ff7b91;
  --warning:#f0b66a;
  --shadow:0 22px 50px rgba(0,0,0,.28);
}
html,body{margin:0;min-height:100%;background:linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%);color:var(--text)}
body{font-size:16px;line-height:1.45}
a{color:var(--accent-strong);text-decoration:none;transition:.18s ease}a:hover{color:#fff}
strong{font-weight:700}
*{scrollbar-color:#313b50 #0f141f}

.app-shell{min-height:100vh;background:
  radial-gradient(760px 460px at 0% 0%,rgba(174,189,244,.08),transparent 55%),
  radial-gradient(620px 420px at 100% 0%,rgba(127,149,223,.06),transparent 58%),
  linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:280px;padding:16px 14px;border-right:1px solid var(--line);background:rgba(13,17,27,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;z-index:40}
.brand-block{display:flex;align-items:center;gap:14px;padding:8px 8px 18px;border-bottom:1px solid var(--line)}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#20273a,#171c2a);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);font-weight:900;color:var(--accent-strong);letter-spacing:-.05em}
.brand-title{font-size:1.35rem;font-weight:800;letter-spacing:-.03em}
.brand-subtitle{font-size:.94rem;color:var(--muted)}
.sidebar-section-title{margin:22px 10px 10px;color:var(--muted-2);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em}
.sidebar-nav{display:grid;gap:6px}
.nav-link{display:flex;align-items:center;gap:12px;padding:11px 12px;border:1px solid transparent;border-radius:16px;color:#d2daea;font-weight:650;background:transparent}
.nav-link:hover{background:#1a2130;border-color:var(--line-soft);color:#fff}
.nav-link.active{background:#353d52;color:#fff;border-color:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.nav-icon{width:9px;height:9px;border-radius:999px;background:#6e7789;box-shadow:0 0 0 4px rgba(255,255,255,.02)}
.nav-link.active .nav-icon{background:var(--accent-strong);box-shadow:0 0 0 4px rgba(174,189,244,.12)}
.sidebar-spacer{flex:1}
.sidebar-footer{margin-top:16px;padding:14px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(22,28,40,.95),rgba(17,23,34,.95))}
.sidebar-footer .muted{display:block;margin-bottom:6px}
.main-shell{margin-left:280px;min-height:100vh}
.pagebar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 26px 17px;border-bottom:1px solid var(--line);background:rgba(9,13,21,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);position:sticky;top:0;z-index:25}
.pagebar h1{margin:0;font-size:1.75rem;letter-spacing:-.04em}
.pagebar p{margin:6px 0 0;color:var(--muted)}
.page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.pill-link{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:#181f2d;color:#d7def0;font-weight:650}
.pill-link:hover{background:#20293a}
.container{max-width:none;padding:20px 26px 38px}
.card{background:linear-gradient(180deg,rgba(20,26,38,.98),rgba(17,23,34,.96));border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:var(--shadow)}
h2{margin:0 0 6px;font-size:1.1rem;letter-spacing:-.02em}.muted{color:var(--muted)}.small{font-size:.84rem}
.alert{padding:14px 16px;border-radius:16px;margin-bottom:18px;border:1px solid}.alert.success{background:rgba(102,215,168,.09);border-color:rgba(102,215,168,.2);color:#d8f8e8}.alert.error{background:rgba(255,123,145,.1);border-color:rgba(255,123,145,.18);color:#ffd5dd}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.stat{background:linear-gradient(180deg,#151b28,#121722);border:1px solid var(--line);border-radius:16px;padding:16px 17px;min-height:88px;display:flex;flex-direction:column;justify-content:space-between}
.stat span{display:block;color:var(--muted-2);font-size:.78rem;text-transform:uppercase;letter-spacing:.14em;font-weight:800}.stat strong{display:block;margin-top:8px;font-size:1.8rem;letter-spacing:-.06em;color:var(--text)}.stat.online strong{color:var(--success)}.stat.offline strong{color:var(--danger)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px}.stack{display:grid;gap:10px}
label{display:block;margin:13px 0 7px;color:#dce3f2;font-size:.81rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
input,select{width:100%;padding:13px 14px;border-radius:14px;border:1px solid var(--line);background:#0f141e;color:#fff;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
input:focus,select:focus{border-color:rgba(174,189,244,.55);box-shadow:0 0 0 3px rgba(174,189,244,.11);background:#111725}
input::placeholder{color:#738097}
button{border:1px solid transparent;border-radius:11px;padding:10px 13px;color:#fff;font-weight:800;cursor:pointer;transition:transform .14s,filter .14s,border-color .14s;background:#2a3241}button:hover{filter:brightness(1.05);transform:translateY(-1px)}button:active{transform:translateY(0)}button.primary{background:linear-gradient(180deg,var(--accent-strong),#9caef0);color:#111826;box-shadow:0 10px 24px rgba(174,189,244,.18)}button.secondary{background:#1c2332;border-color:var(--line)}button.warning{background:#6b5536;color:#fff1dc}button.danger{background:#5a2732;color:#ffd8df}button.full{width:100%;margin-top:14px}button.compact{padding:9px 11px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.section-head.wrap{flex-wrap:wrap}
.filters{display:grid;grid-template-columns:minmax(220px,1fr) 170px auto;gap:10px;align-items:end}
.portal-list,.admin-list,.addon-list{display:grid;gap:14px}
.portal-row,.addon-row,.admin-row{background:linear-gradient(180deg,#141a26,#111723);border:1px solid var(--line);border-radius:18px;transition:.18s}
.portal-row:hover,.addon-row:hover,.admin-row:hover{border-color:#39435a}
.portal-row{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:13px 14px}
.status-dot{width:10px;height:10px;border-radius:50%;margin-top:14px;background:#5e6778;box-shadow:0 0 0 4px rgba(255,255,255,.02)}.status-dot.green{background:var(--success);box-shadow:0 0 18px rgba(102,215,168,.25)}.status-dot.red{background:var(--danger);box-shadow:0 0 18px rgba(255,123,145,.22)}.status-dot.gray{background:#6c7688}
.portal-form{display:grid;grid-template-columns:1fr 2fr;gap:10px}.actions{grid-column:1/-1;display:flex;gap:8px;flex-wrap:wrap}.health-text{grid-column:2;color:var(--muted);font-size:.84rem}
.admin-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(720px 400px at 0% 0%,rgba(174,189,244,.08),transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--bg2) 100%)}
.login-card{width:min(460px,100%);padding:30px;background:linear-gradient(180deg,rgba(20,26,38,.98),rgba(17,23,34,.96));border:1px solid var(--line);border-radius:26px;box-shadow:var(--shadow)}
.login-card h1{margin:0 0 4px;font-size:1.8rem;letter-spacing:-.04em}.login-card:before{content:"JANKY PANEL";display:inline-block;margin-bottom:18px;padding:7px 10px;border:1px solid rgba(174,189,244,.28);border-radius:999px;color:var(--accent-strong);background:rgba(174,189,244,.07);font-size:.68rem;font-weight:800;letter-spacing:.14em}
.empty-state{margin-top:14px;padding:22px;border:1px dashed #3a4358;border-radius:16px;color:var(--muted);text-align:center}
.endpoint-box{margin-top:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#111722;display:grid;gap:6px}.endpoint-box span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted-2);font-weight:800}.endpoint-box code{overflow-wrap:anywhere;color:#d7e4ff}
.addon-stats .stat-word{font-size:1.3rem;letter-spacing:-.02em;margin-top:16px}.addon-intro p{max-width:860px;line-height:1.55}.addon-add-form{display:grid;grid-template-columns:1fr 2.1fr 120px auto auto;gap:12px;align-items:end;margin-top:14px}.toggle-line{display:flex;align-items:center;gap:8px;white-space:nowrap;margin:0 0 12px!important;color:#dce4f4!important}.toggle-line input{width:auto;accent-color:#aebdf4}.addon-row{padding:14px}.addon-row.is-disabled{opacity:.78}.addon-row-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.addon-title-wrap{display:flex;align-items:center;gap:11px}.addon-title-wrap .status-dot{margin:0}.badge{padding:5px 8px;border-radius:999px;font-size:.66rem;font-weight:900;letter-spacing:.09em}.badge-on{color:#d9eef9;background:rgba(174,189,244,.1);border:1px solid rgba(174,189,244,.22)}.badge-off{color:#b3c0cc;background:rgba(255,255,255,.05);border:1px solid var(--line)}.addon-edit-form{display:grid;grid-template-columns:1fr 2.2fr 110px auto;gap:10px;align-items:end}.addon-edit-form label:not(.toggle-line){margin-top:0}.addon-actions{grid-column:1/-1}.addon-health{margin-top:10px;padding:10px 11px;border-radius:12px;background:rgba(255,255,255,.035);color:var(--muted);font-size:.82rem}.health-good{color:#d4f8e8;background:rgba(102,215,168,.08)}.health-bad{color:#ffd4db;background:rgba(255,123,145,.08)}

@media(max-width:1180px){.stats{grid-template-columns:1fr 1fr}.addon-add-form,.addon-edit-form{grid-template-columns:1fr 1fr}.addon-add-form>div:nth-child(2),.addon-edit-form .wide{grid-column:1/-1}}
@media(max-width:980px){.sidebar{position:static;width:auto;height:auto;border-right:0;border-bottom:1px solid var(--line)}.main-shell{margin-left:0}.pagebar{position:relative}.two-col{grid-template-columns:1fr}.portal-form{grid-template-columns:1fr}.health-text{grid-column:1}.filters{grid-template-columns:1fr}.app-shell{display:block}}
@media(max-width:720px){.pagebar{padding:20px 16px;flex-direction:column}.container{padding:18px 16px 34px}.stats{grid-template-columns:1fr}.portal-row{grid-template-columns:10px 1fr}.card{padding:18px;border-radius:18px}.stat strong{font-size:1.7rem}.addon-add-form,.addon-edit-form{grid-template-columns:1fr}.addon-add-form>div:nth-child(2),.addon-edit-form .wide{grid-column:auto}.actions button,.addon-actions button{flex:1 1 calc(50% - 8px)}}

.nav-link.active{position:relative}.nav-link.active:before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:3px;border-radius:999px;background:var(--accent-strong)}
