:root{
    --bg:#07111f; --bg2:#091728; --panel:#101d2d; --panel2:#132235;
    --line:#203249; --text:#f7f9fc; --muted:#8393a8; --navy:#042a4a;
    --orange:#f47c0d; --orange2:#ff9a35; --blue:#3b93ff; --green:#33c878;
    --red:#ef5862; --purple:#9b6cff; --shadow:0 22px 60px rgba(0,0,0,.28);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}.muted{color:var(--muted)}
button,input,select,textarea{font:inherit}
.app-shell{display:flex;min-height:100vh;background:radial-gradient(circle at 55% -10%,rgba(37,96,160,.11),transparent 30%),var(--bg)}
.sidebar{width:258px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,#0c1929 0%,#091421 100%);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}
.brand{height:82px;padding:18px 22px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px}
.brand img{width:155px;max-height:42px;object-fit:contain;object-position:left center}
.brand span{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--orange)}
.sidebar nav{padding:18px 12px;overflow:auto;flex:1}.nav-label{font-size:10px;letter-spacing:1.4px;color:#607187;padding:16px 10px 8px}
.nav-item{display:flex;align-items:center;gap:11px;min-height:44px;border-radius:10px;padding:0 11px;margin:3px 0;color:#c8d2df;font-size:14px;transition:.18s}
.nav-item:hover{background:#12243a;color:#fff}.nav-item.active{background:linear-gradient(90deg,var(--orange),#ff6c1a);color:#fff;box-shadow:0 8px 28px rgba(244,124,13,.22)}
.nav-icon{width:24px;text-align:center;font-size:17px}.nav-item small{margin-left:auto;color:#5f7288;font-size:9px}.nav-item.disabled{opacity:.52;cursor:not-allowed}
.sidebar-footer{border-top:1px solid var(--line);padding:18px 22px;font-size:12px}.pulse-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.pulse{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(51,200,120,.09)}
.main-shell{margin-left:258px;width:calc(100% - 258px);min-height:100vh}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 28px;position:sticky;top:0;background:rgba(7,17,31,.88);backdrop-filter:blur(18px);z-index:20}
.menu-button{display:none;background:transparent;border:0;color:#fff;font-size:22px}.search-box{width:300px;height:42px;background:#111f31;border:1px solid #1b2d43;border-radius:9px;display:flex;align-items:center;padding:0 12px;gap:8px;color:#6c7d92}
.search-box input{background:transparent;border:0;outline:0;color:#fff;width:100%}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:15px}.status-pill{font-size:12px;color:#b5c0cd;display:flex;align-items:center;gap:8px}
.user-box{display:flex;align-items:center;gap:10px}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#284b71,#10243a);border:1px solid #3a536d;font-weight:800}
.user-box strong,.user-box small{display:block}.user-box strong{font-size:13px}.user-box small{font-size:11px;color:var(--muted);margin-top:2px}
.icon-button{background:#101e2e;border:1px solid var(--line);border-radius:9px;color:#c8d2df;width:38px;height:38px;cursor:pointer}
.content{padding:30px;max-width:1680px;margin:0 auto}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}
.eyebrow{color:var(--orange);font-size:11px;letter-spacing:1.7px;font-weight:800;margin-bottom:8px}.page-head h1{font-size:28px;margin:0 0 7px}.page-head p{margin:0;color:var(--muted);font-size:14px}
.btn{border:0;border-radius:9px;min-height:40px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:13px;cursor:pointer}
.btn-primary{background:linear-gradient(135deg,var(--orange),#ff671b);color:#fff;box-shadow:0 10px 26px rgba(244,124,13,.16)}
.btn-secondary{background:#142338;border:1px solid #263a53;color:#d8e0ea}.btn-danger{background:#341a23;border:1px solid #642938;color:#ff8a94}.btn-sm{min-height:34px;padding:0 11px;font-size:12px}.btn-large{height:48px;width:100%;font-size:14px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.metric-card{background:linear-gradient(145deg,#111f31,#0e1b2a);border:1px solid var(--line);border-radius:13px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:13px;position:relative;overflow:hidden;min-height:126px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.metric-card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;background:rgba(255,255,255,.025);right:-35px;top:-35px}.metric-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-size:12px}.metric-icon.blue{background:#173f73;color:#67adff}.metric-icon.green{background:#143e2c;color:#4fda8d}.metric-icon.purple{background:#332451;color:#b790ff}.metric-icon.orange{background:#4d2c12;color:#ff9a35}
.metric-card span{display:block;font-size:12px;color:#a8b3c1}.metric-card strong{display:block;font-size:24px;margin:4px 0}.metric-card small{color:#63758a;font-size:11px}.sparkline{position:absolute;left:18px;right:18px;bottom:13px;height:2px;background:linear-gradient(90deg,transparent,#3b93ff,transparent);opacity:.65}.green-line{background:linear-gradient(90deg,transparent,#33c878,transparent)}
.progress{height:5px;border-radius:6px;background:#22344a;overflow:hidden;margin-top:10px}.progress i{height:100%;display:block;background:linear-gradient(90deg,#288cff,#54adff)}.green-progress i{background:linear-gradient(90deg,#24af67,#50db8d)}.orange-progress i{background:linear-gradient(90deg,var(--orange),#ffb04d)}
.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:16px}.panel{background:linear-gradient(145deg,#101e2e,#0d1927);border:1px solid var(--line);border-radius:13px;box-shadow:0 12px 34px rgba(0,0,0,.13)}.span-2{grid-column:span 2}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:18px 19px;border-bottom:1px solid rgba(32,50,73,.7)}.panel-head h2{font-size:15px;margin:0 0 4px}.panel-head p{font-size:11px;color:var(--muted);margin:0}.text-link{color:#7e9fc3;font-size:11px}
.infra-list{padding:6px 18px 14px}.infra-row{display:grid;grid-template-columns:1.8fr repeat(3,.7fr) .8fr;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(32,50,73,.55)}.infra-row:last-child{border-bottom:0}.infra-main{display:flex;align-items:center;gap:10px}.infra-main strong,.infra-main small{display:block}.infra-main strong{font-size:13px}.infra-main small{color:var(--muted);font-size:10px;margin-top:3px}.status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px}.status-dot.online{background:var(--green);box-shadow:0 0 0 5px rgba(51,200,120,.08)}.status-dot.offline{background:var(--red)}.status-dot.unknown{background:#758499}.infra-metric span{color:#6e8198;font-size:10px}.infra-metric b{display:block;font-size:12px;margin-top:3px}
.badge{font-size:10px;font-weight:800;border-radius:20px;padding:5px 8px;display:inline-flex}.badge-success{color:#59df91;background:#103a2a;border:1px solid #1c6242}.badge-danger{color:#ff7c85;background:#36191f;border:1px solid #652731}.badge-muted{color:#aab6c4;background:#1a2a3d;border:1px solid #31445a}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px}.quick-grid a{border:1px solid #1e3046;background:#132237;border-radius:11px;padding:15px;min-height:105px;transition:.18s}.quick-grid a:hover{transform:translateY(-2px);border-color:#34506f}.quick-grid b{width:33px;height:33px;border-radius:9px;background:#1c3150;display:grid;place-items:center;color:#77b2ff;margin-bottom:11px}.quick-grid span,.quick-grid small{display:block}.quick-grid span{font-size:12px;font-weight:800}.quick-grid small{font-size:10px;color:#72849a;margin-top:4px}
.resource-ring-wrap{padding:22px;display:flex;align-items:center;gap:24px}.resource-ring{width:145px;height:145px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--orange) 0 24%,#348ffc 24% calc(24% + var(--cpu)*.45%),#35c978 calc(24% + var(--cpu)*.45%) calc(24% + var(--cpu)*.45% + var(--ram)*.31%),#203147 0);position:relative}.resource-ring:before{content:"";position:absolute;inset:16px;background:#0f1d2d;border-radius:50%}.resource-ring div{z-index:1;text-align:center}.resource-ring strong{display:block;font-size:24px}.resource-ring span{font-size:9px;color:var(--muted);letter-spacing:1.4px}.resource-legend{flex:1}.resource-legend div{display:grid;grid-template-columns:14px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(32,50,73,.5);font-size:11px}.resource-legend i{width:8px;height:8px;border-radius:50%}.legend-blue{background:var(--blue)}.legend-green{background:var(--green)}.legend-orange{background:var(--orange)}
.activity-list{padding:8px 18px 16px}.activity-item{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid rgba(32,50,73,.5)}.activity-item:last-child{border:0}.activity-icon{width:30px;height:30px;border-radius:9px;background:#143b2c;color:#4ddd8e;display:grid;place-items:center}.activity-item strong,.activity-item small{display:block}.activity-item strong{font-size:12px}.activity-item small{font-size:10px;color:var(--muted);margin-top:4px}
.empty-state{text-align:center;padding:42px 20px}.empty-icon{width:58px;height:58px;border-radius:16px;background:#142940;color:#5fa4ef;display:grid;place-items:center;margin:0 auto 14px;font-size:24px}.empty-state h3{margin:0 0 8px}.empty-state p{max-width:420px;margin:0 auto 18px;color:var(--muted);font-size:12px}.empty-mini{text-align:center;padding:24px;color:var(--muted);font-size:12px}
.alert{padding:13px 15px;border-radius:10px;margin-bottom:16px;font-size:13px}.alert.success{background:#103527;border:1px solid #1c6542;color:#8ce5ad}.alert.error{background:#351821;border:1px solid #682b39;color:#ffa0aa}.alert ul{margin:8px 0 0 18px}
.table-panel{overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#0f1d2d;color:#72859d;text-align:left;font-size:10px;letter-spacing:.7px;text-transform:uppercase;padding:13px 16px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 16px;border-bottom:1px solid rgba(32,50,73,.55);font-size:12px}.data-table tr:hover td{background:rgba(20,38,59,.45)}.data-table strong,.data-table small{display:block}.data-table small{color:var(--muted);margin-top:4px;font-size:10px}.data-table code{background:#14263a;color:#8ab8ea;border:1px solid #273e58;border-radius:6px;padding:4px 6px}.actions{display:flex;gap:6px;justify-content:flex-end}.actions form{display:inline-flex}.pagination-wrap{padding:14px 18px;color:var(--muted)}
.form-panel{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label{display:block}.form-grid .full{grid-column:1/-1}.form-grid label>span{display:block;font-size:11px;font-weight:700;color:#c1ccd8;margin-bottom:7px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid #283d55;background:#0b1725;color:#eef3f8;border-radius:9px;padding:11px 12px;outline:0}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#537ca7;box-shadow:0 0 0 3px rgba(83,124,167,.1)}.form-grid label small{display:block;margin-top:6px;color:#667a92;font-size:10px}.switch-label{display:flex!important;align-items:center;gap:9px;align-self:end;min-height:42px}.switch-label input{width:18px!important;height:18px}.switch-label span{margin:0!important}.form-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:24px;padding-top:18px}.form-section-title{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:13px;margin-bottom:18px;margin-top:8px}.form-section-title:not(:first-child){margin-top:26px}.form-section-title>span{width:34px;height:34px;border-radius:9px;background:#18304a;color:var(--orange);font-weight:900;display:grid;place-items:center}.form-section-title h3,.form-section-title p{margin:0}.form-section-title h3{font-size:14px}.form-section-title p{font-size:10px;color:var(--muted);margin-top:3px}.security-note{margin-top:18px;background:#10263a;border:1px solid #24445f;border-radius:9px;padding:13px;color:#a7b9ca;font-size:11px}
.node-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.node-card{background:linear-gradient(145deg,#101e2e,#0d1927);border:1px solid var(--line);border-radius:13px;padding:17px}.node-card-top{display:flex;align-items:center;gap:11px}.server-icon{width:40px;height:40px;border-radius:10px;background:#16365a;color:#6cb0fb;display:grid;place-items:center}.node-title{flex:1}.node-title strong,.node-title span{display:block}.node-title strong{font-size:14px}.node-title span{color:var(--muted);font-size:10px;margin-top:4px}.node-location{margin:14px 0;padding:10px;background:#0b1725;border:1px solid #1a2e44;border-radius:8px;color:#8295aa;font-size:10px}.node-metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px}.node-metrics span{color:var(--muted);font-size:10px}.node-metrics strong{float:right;font-size:11px}.node-meta{display:flex;justify-content:space-between;color:#72849a;font-size:10px;margin:15px 0}.node-meta b{color:#c5d0dc}.node-actions{display:flex;gap:6px;flex-wrap:wrap;padding-top:13px;border-top:1px solid var(--line)}.full-width{grid-column:1/-1}
.login-page{min-height:100vh;background:linear-gradient(120deg,#06111e 0%,#071727 45%,#09111c 100%);overflow:hidden;position:relative}.login-wrap{min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr;max-width:1380px;margin:auto;position:relative;z-index:2}.login-showcase{padding:9vh 7vw;display:flex;flex-direction:column;justify-content:center}.login-logo{width:min(410px,70%);height:auto;object-fit:contain;object-position:left}.cloud-badge{margin-top:36px;color:var(--orange);font-size:11px;letter-spacing:3px;font-weight:900}.login-showcase h1{font-size:clamp(38px,4.2vw,68px);line-height:1.04;margin:16px 0 18px;letter-spacing:-2px}.login-showcase h1 span{color:var(--orange)}.login-showcase>p{max-width:620px;color:#91a2b5;font-size:15px;line-height:1.8}.login-features{display:flex;gap:14px;margin-top:38px}.login-features div{min-width:150px;border:1px solid #20364e;background:rgba(14,31,49,.62);padding:14px;border-radius:11px}.login-features b,.login-features span{display:block}.login-features b{color:var(--orange);font-size:11px}.login-features span{font-size:11px;margin-top:5px}.login-card{align-self:center;margin-right:5vw;background:rgba(13,29,46,.92);border:1px solid #2b4058;border-radius:18px;padding:34px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.mini-brand{font-weight:900;letter-spacing:1.2px;color:#fff;font-size:12px}.mini-brand span{color:var(--orange)}.login-card h2{font-size:25px;margin:19px 0 6px}.login-card-head p{color:var(--muted);font-size:12px;margin:0 0 24px}.form-stack label{display:block;margin:14px 0}.form-stack label>span{font-size:11px;color:#b9c5d2;font-weight:700;display:block;margin-bottom:7px}.form-stack input[type=email],.form-stack input[type=password]{width:100%;height:46px;border-radius:9px;background:#091725;border:1px solid #2a4058;color:#fff;padding:0 13px;outline:0}.check-row{display:flex!important;align-items:center;gap:8px}.check-row input{accent-color:var(--orange)}.check-row span{margin:0!important}.login-security{text-align:center;color:#60758b;font-size:10px;margin-top:20px}.login-glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.18}.glow-one{width:500px;height:500px;background:#1b72c8;left:-160px;top:-150px}.glow-two{width:360px;height:360px;background:#f47c0d;right:-140px;bottom:-150px}
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr 1fr}.span-2{grid-column:1/-1}.node-card-grid{grid-template-columns:1fr 1fr}.login-wrap{grid-template-columns:1fr}.login-showcase{display:none}.login-card{width:min(460px,92vw);margin:auto}.login-page{display:grid;place-items:center}}
@media(max-width:780px){.sidebar{transform:translateX(-100%);transition:.22s}.sidebar-open .sidebar{transform:translateX(0)}.main-shell{margin-left:0;width:100%}.menu-button{display:block;margin-right:12px}.search-box{display:none}.status-pill{display:none}.content{padding:20px 14px}.page-head{align-items:flex-start;flex-direction:column}.metric-grid,.dashboard-grid,.node-card-grid,.form-grid{grid-template-columns:1fr}.span-2,.form-grid .full{grid-column:auto}.infra-row{grid-template-columns:1fr 1fr}.infra-main{grid-column:1/-1}.data-table{min-width:760px}.table-panel{overflow:auto}.topbar{padding:0 14px}.user-box div:not(.avatar){display:none}.resource-ring-wrap{flex-direction:column}.login-card{padding:26px 20px}}


.vm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.vm-card{padding:17px}
.vm-head{display:flex;align-items:center;gap:11px}
.vm-title{flex:1}
.vm-title strong,.vm-title span{display:block}
.vm-title span{font-size:10px;color:var(--muted);margin-top:4px}
.vm-specs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}
.vm-specs div{background:#0b1725;border:1px solid #1a2e44;border-radius:8px;padding:10px}
.vm-specs span,.vm-specs b{display:block}
.vm-specs span{font-size:9px;color:#6f8298;text-transform:uppercase;letter-spacing:.5px}
.vm-specs b{font-size:12px;margin-top:4px}
.vm-location{margin:12px 0;padding:9px 10px;background:#0b1725;border:1px solid #1a2e44;border-radius:8px;color:#8295aa;font-size:10px}
.provision-box{margin:12px 0;background:#14263a;border:1px solid #294764;border-radius:8px;padding:10px;font-size:10px;color:#aab9c8}
.indeterminate{height:3px;background:#1c3148;margin-top:8px;overflow:hidden;position:relative}
.indeterminate:after{content:"";position:absolute;top:0;bottom:0;width:30%;background:var(--orange);animation:pitaysLoad 1.2s infinite}
@keyframes pitaysLoad{from{left:-30%}to{left:100%}}
@media(max-width:1100px){.vm-grid{grid-template-columns:1fr 1fr}}
@media(max-width:780px){.vm-grid{grid-template-columns:1fr}.vm-specs{grid-template-columns:1fr 1fr}}
