:root{--bg:#061017;--bg2:#08151d;--panel:#0b1820;--panel2:#0e1c25;--line:#1b303b;--line2:#23414d;--yellow:#ffd21c;--yellow2:#ffb800;--green:#28df86;--red:#ff6262;--blue:#50a8ff;--text:#f4f8fa;--muted:#78909d;--shadow:0 18px 45px rgba(0,0,0,.24)}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;display:flex;background:radial-gradient(circle at 65% -20%,rgba(39,92,112,.16),transparent 38%),linear-gradient(180deg,#061017,#07131a);color:var(--text);font:14px Inter,Segoe UI,Arial,sans-serif;letter-spacing:.01em}.side{width:248px;position:fixed;z-index:10;inset:0 auto 0 0;background:linear-gradient(180deg,#08151c 0%,#071219 100%);border-right:1px solid var(--line);padding:27px 17px 20px;display:flex;flex-direction:column;box-shadow:14px 0 35px rgba(0,0,0,.12)}.brand{display:flex;gap:12px;align-items:center;padding:0 10px 26px;border-bottom:1px solid var(--line)}.brand>span{font-size:31px;filter:drop-shadow(0 0 9px rgba(255,210,28,.3))}.brand b{font-size:17px;letter-spacing:.5px}.brand small{display:block;color:var(--yellow);letter-spacing:5px;font-size:8px;margin-top:4px}nav{padding-top:21px;display:grid;gap:5px}nav a{position:relative;padding:12px 13px;color:#8da0aa;border:1px solid transparent;border-radius:8px;cursor:default;transition:.2s ease}nav a:hover{background:#0d1d25;color:#dce7eb;transform:translateX(2px)}nav a.on{background:linear-gradient(90deg,rgba(255,210,28,.11),rgba(255,210,28,.025));color:var(--yellow);border-color:#26362e;box-shadow:inset 3px 0 0 var(--yellow)}.server-ok{margin-top:auto;padding:14px;border:1px solid #1c4435;background:linear-gradient(135deg,#0b211b,#0a1918);border-radius:9px;display:flex;gap:10px;align-items:center;box-shadow:0 0 24px rgba(40,223,134,.04)}.server-ok i,.live i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 11px var(--green);animation:pulse 2s infinite}@keyframes pulse{50%{opacity:.45;box-shadow:0 0 3px var(--green)}}.server-ok b{font-size:11px}.server-ok small{display:block;color:#71858f;margin-top:4px;font-size:9px}.version{color:#465b65;font-size:9px;text-align:center;margin-top:16px}main{margin-left:248px;width:calc(100% - 248px);padding:31px 34px 24px;max-width:1900px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}header p{font-size:9px;letter-spacing:3.5px;color:#66808c;margin:0 0 8px}h1{font-size:28px;line-height:1;margin:0;letter-spacing:-.5px}h1 span{color:var(--yellow);text-shadow:0 0 24px rgba(255,210,28,.12)}.live{border:1px solid var(--line);background:#09171e;border-radius:9px;padding:11px 14px;color:var(--green);font-size:9px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow)}.live b{color:#91a2aa;margin-left:8px;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:13px}.metric{position:relative;overflow:hidden;background:linear-gradient(145deg,#0d1c24,#09161d);border:1px solid var(--line);border-radius:11px;padding:20px 19px;min-height:112px;box-shadow:var(--shadow);transition:.2s}.metric:before{content:"";position:absolute;left:0;top:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,rgba(255,210,28,.55),transparent);opacity:.25}.metric:hover{transform:translateY(-2px);border-color:#2a4653}.metric small{color:#6d8590;font-size:8px;letter-spacing:1.6px}.metric strong{display:block;font-size:28px;line-height:1;margin:13px 0 7px;font-variant-numeric:tabular-nums}.metric span{font-size:9px;color:#718690}h2{font-size:13px;margin:30px 0 14px}h2 em{font-style:normal;font-size:8px;color:var(--green);float:right;letter-spacing:1.4px}.modules{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:13px}.modules article{background:linear-gradient(145deg,#0d1b23,#09161d);border:1px solid var(--line);border-radius:10px;padding:17px;display:flex;align-items:center;gap:12px;min-width:0;box-shadow:var(--shadow);transition:.2s}.modules article:hover{border-color:#2a4653;transform:translateY(-2px)}.modules .ico{flex:0 0 auto;background:linear-gradient(145deg,#292916,#1c2116);border:1px solid rgba(255,210,28,.08);color:var(--yellow);width:40px;height:40px;border-radius:9px;display:grid;place-items:center;font-size:18px;box-shadow:0 0 20px rgba(255,210,28,.05)}.modules small{font-size:7px;color:#657c87;letter-spacing:.7px}.modules h3{font-size:12px;margin:4px 0}.modules p{font-size:8px;color:#6d818b;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modules b{margin-left:auto;color:var(--green);text-shadow:0 0 8px currentColor}.modules b.warn{color:var(--yellow)}.lower{display:grid;grid-template-columns:minmax(440px,2fr) minmax(240px,1fr) minmax(260px,1fr);gap:13px;margin-top:22px}.panel{background:linear-gradient(145deg,#0c1a22,#09161d);border:1px solid var(--line);border-radius:11px;min-height:305px;padding:19px;box-shadow:var(--shadow)}.pt{display:flex;justify-content:space-between;align-items:center;padding-bottom:3px}.pt h3{font-size:12px;margin:0}.pt span{font-size:7px;color:#617984;letter-spacing:1.2px}.graph canvas{display:block;width:100%;height:210px;margin-top:15px}.legend{font-size:8px;color:#71858f;display:flex;gap:18px}.legend span:first-child{color:var(--yellow)}.service-list{margin-top:14px}.service-row{display:flex;align-items:center;padding:14px 1px;border-bottom:1px solid #172a33;gap:9px}.service-row:last-child{border-bottom:0}.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 7px rgba(40,223,134,.55)}.dot.off{background:var(--red);box-shadow:0 0 7px rgba(255,98,98,.45)}.service-row b{font-size:10px}.service-row small{color:#6b818b;font-size:8px;margin-left:auto}.service-row .meta{display:block;color:#5f7580;font-size:8px;margin-top:4px}footer{font-size:9px;color:#435b65;text-align:center;margin:25px 0 4px}footer span{color:var(--yellow)}@media(min-width:1500px){main{padding-left:42px;padding-right:42px}.metric{min-height:124px;padding:22px}.panel{min-height:330px}.graph canvas{height:235px}}@media(max-width:1250px){.metrics,.modules{grid-template-columns:repeat(3,1fr)}.lower{grid-template-columns:1fr 1fr}.graph{grid-column:1/-1}}@media(max-width:850px){.side{width:78px;padding:22px 10px}.brand div,.brand small,nav a:not(.on){font-size:0}.brand{justify-content:center;padding:0 0 20px}.brand>span{font-size:26px}nav a{font-size:0;text-align:center;padding:13px}.server-ok div,.version{display:none}main{margin-left:78px;width:calc(100% - 78px);padding:22px}.metrics,.modules{grid-template-columns:repeat(2,1fr)}.lower{grid-template-columns:1fr}.graph{grid-column:auto}}@media(max-width:560px){main{margin:0;width:100%;padding:17px}header{align-items:flex-start}.live{padding:9px}.live b{display:none}h1{font-size:23px}.metrics,.modules,.lower{grid-template-columns:1fr}.metric{min-height:100px}.panel{min-height:260px}h2 em{display:none}}.metric-head{display:flex;align-items:center;justify-content:space-between}.metric-head i{font-style:normal;color:var(--yellow);font-size:14px;opacity:.72}.bar{height:4px;background:#14262f;border-radius:99px;overflow:hidden;margin-top:13px}.bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--yellow2),var(--yellow));border-radius:99px;box-shadow:0 0 10px rgba(255,210,28,.35);transition:width .5s ease}.status-chip{display:inline-block;margin-top:12px;padding:4px 7px;border-radius:5px;font-size:7px;letter-spacing:.8px}.status-chip.ok{color:var(--green);background:rgba(40,223,134,.07);border:1px solid rgba(40,223,134,.13)}body:after{content:"";position:fixed;pointer-events:none;z-index:99;inset:0;box-shadow:inset 0 0 100px rgba(0,0,0,.12)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.header-actions{display:flex;align-items:center;gap:10px}.health-pill{font-size:8px;letter-spacing:1.2px;color:var(--green);border:1px solid rgba(40,223,134,.18);background:rgba(40,223,134,.055);border-radius:8px;padding:11px 12px}.health-pill.bad{color:var(--red);border-color:rgba(255,98,98,.2);background:rgba(255,98,98,.05)}.mobile-menu,.mobile-overlay{display:none}nav a span{display:inline-grid;width:22px;place-items:center;color:inherit}.metric strong,.live b{font-variant-numeric:tabular-nums}footer b{color:#607985;font-weight:600}footer i{font-style:normal}.metric:nth-child(2) .bar i{background:linear-gradient(90deg,#1fc873,var(--green));box-shadow:0 0 10px rgba(40,223,134,.3)}.metric:nth-child(3) .bar i{background:linear-gradient(90deg,#4596e9,var(--blue));box-shadow:0 0 10px rgba(80,168,255,.3)}@media(max-width:850px){nav a{font-size:0}nav a span{font-size:16px;width:100%}}@media(max-width:560px){.mobile-menu{display:grid;place-items:center;position:fixed;z-index:40;right:16px;bottom:16px;width:48px;height:48px;border-radius:50%;border:1px solid #30444d;background:#0d1b22;color:var(--yellow);font-size:20px;box-shadow:0 12px 30px rgba(0,0,0,.4)}.side{display:flex;transform:translateX(-105%);width:min(82vw,285px);transition:transform .25s ease;z-index:35}.side.open{transform:translateX(0)}.side.open .brand div,.side.open .brand small,.side.open nav a{font-size:inherit}.side.open nav a{display:block;text-align:left}.side.open nav a span{display:inline-grid;width:22px;font-size:14px}.mobile-overlay.show{display:block;position:fixed;z-index:34;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(2px)}.header-actions{gap:6px}.health-pill{display:none}footer{padding:0 40px}.modules article{padding:15px}.metric{padding:18px}}
.connection-banner{display:none;margin:-10px 0 18px;padding:10px 13px;border-radius:8px;border:1px solid rgba(255,98,98,.22);background:rgba(255,98,98,.06);color:#ff8585;font-size:9px;letter-spacing:.6px}.connection-banner.show{display:block}.metric.loading strong,.metric.loading span{opacity:.35}.metric.loading:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.025) 50%,transparent 70%);animation:shimmer 1.4s infinite}@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}button:focus-visible,a:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}.modules article,.metric,.panel{backdrop-filter:blur(2px)}@media(max-width:380px){main{padding:14px}.metrics{gap:9px}.modules{gap:9px}.metric strong{font-size:25px}header p{letter-spacing:2px}.panel{padding:15px}.graph canvas{height:180px}}
/* Phase 1 final polish */
html{scrollbar-color:#243a45 #071219}::selection{background:rgba(255,210,28,.22);color:#fff}.side{overflow-y:auto;scrollbar-width:thin}.modules article>div:nth-child(2){min-width:0}.service-row>div{min-width:0}.service-row b{overflow-wrap:anywhere}.panel{overflow:hidden}.graph{overflow:visible}canvas{max-width:100%}@media(max-height:760px) and (min-width:561px){.side{padding-top:18px}.brand{padding-bottom:16px}nav{padding-top:12px;gap:2px}nav a{padding-top:9px;padding-bottom:9px}.server-ok{padding:10px}.version{margin-top:8px}}@media(max-width:560px){header{padding-right:0;margin-bottom:22px}.header-actions{align-self:flex-start}.metrics{margin-top:4px}.side .server-ok{margin-top:22px}.side .version{display:block}.connection-banner{margin-top:0}.mobile-menu{cursor:pointer}}
/* Phase 2 dashboard */
.dashboard-info{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:13px}.dashboard-info article{background:linear-gradient(145deg,#0b1921,#08151c);border:1px solid var(--line);border-radius:10px;padding:14px 17px;min-width:0}.dashboard-info small{display:block;color:#687f89;font-size:7px;letter-spacing:1.2px}.dashboard-info strong{display:block;font-size:14px;margin:8px 0 5px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-info span{color:#5f7680;font-size:8px}@media(max-width:1250px){.dashboard-info{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.dashboard-info{grid-template-columns:1fr}.dashboard-info strong{font-size:13px}}
/* Phase 2 completion */
.health-overview{display:grid;grid-template-columns:1.5fr 1fr;gap:13px;margin-top:22px}.health-overview .panel{min-height:130px}.health-summary{display:flex;align-items:center;gap:14px;margin-top:20px}.health-summary>i{width:13px;height:13px;border-radius:50%;background:var(--green);box-shadow:0 0 15px rgba(40,223,134,.6);flex:0 0 auto}.health-summary>i.warning{background:var(--yellow);box-shadow:0 0 15px rgba(255,210,28,.5)}.health-summary>i.critical{background:var(--red);box-shadow:0 0 15px rgba(255,98,98,.55)}.health-summary strong{display:block;font-size:11px}.health-summary small{display:block;color:#69808b;font-size:8px;margin-top:6px;line-height:1.5}.pt span.warning{color:var(--yellow)}.pt span.critical{color:var(--red)}.pt span.ok{color:var(--green)}.activity-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;margin-top:17px}.activity-list div{display:flex;justify-content:space-between;border-bottom:1px solid #172a33;padding:8px 0}.activity-list span{color:#647b86;font-size:8px}.activity-list b{font-size:9px;font-variant-numeric:tabular-nums}@media(max-width:850px){.health-overview{grid-template-columns:1fr}}@media(max-width:560px){.activity-list{grid-template-columns:1fr}.health-summary{align-items:flex-start}}
/* Phase 3 authentication */
.login-page{display:grid;place-items:center;min-height:100vh;padding:24px}.login-shell{margin:0;width:min(100%,460px);padding:0}.login-card{background:linear-gradient(145deg,#0d1c24,#08151c);border:1px solid var(--line2);border-radius:16px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.login-brand{display:flex;align-items:center;gap:12px;padding-bottom:22px;border-bottom:1px solid var(--line)}.login-brand>span{font-size:32px}.login-brand b{display:block;font-size:17px}.login-brand small{display:block;color:var(--yellow);font-size:8px;letter-spacing:3px;margin-top:4px}.login-kicker{color:#6f8994;font-size:8px;letter-spacing:2.5px;margin:27px 0 9px}.login-card h1{font-size:27px}.login-copy{color:#718792;font-size:10px;line-height:1.6;margin:12px 0 25px}.login-card form{display:grid;gap:15px}.login-card label{color:#8ca0aa;font-size:9px;letter-spacing:.5px}.login-card input{display:block;width:100%;margin-top:7px;border:1px solid #203944;background:#07141b;color:#fff;border-radius:8px;padding:13px 14px;outline:0}.login-card input:focus{border-color:rgba(255,210,28,.65);box-shadow:0 0 0 3px rgba(255,210,28,.06)}.login-card button{margin-top:5px;border:1px solid #5d5314;background:linear-gradient(135deg,#ffd21c,#ffb800);color:#10130c;font-weight:800;font-size:9px;letter-spacing:1px;border-radius:8px;padding:14px;cursor:pointer}.login-card button:disabled{opacity:.55;cursor:wait}.login-error{min-height:16px;color:#ff7777;font-size:9px;text-align:center}.login-foot{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);color:#5f7680;font-size:8px;text-align:center}.login-foot i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);margin-right:7px}@media(max-width:500px){.login-page{padding:14px}.login-card{padding:25px 20px}}

.logout-btn{border:1px solid #30434c;background:#0a171e;color:#8298a2;border-radius:8px;padding:10px 12px;font-size:8px;letter-spacing:1px;cursor:pointer}.logout-btn:hover{border-color:#6d3434;color:#ff8585;background:rgba(255,98,98,.04)}@media(max-width:560px){.logout-btn{padding:9px}}

/* Phase 3 security center */
.security-strip{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr)) auto auto;gap:10px;margin:-12px 0 20px}.security-strip>div,.security-strip>button{border:1px solid var(--line);background:#09171e;border-radius:8px;padding:10px 13px}.security-strip small{display:block;color:#617984;font-size:7px;letter-spacing:1px}.security-strip strong{display:block;color:var(--green);font-size:10px;margin:5px 0 2px}.security-strip span{color:#5e7580;font-size:8px}.security-strip button{color:#91a4ad;font-size:8px;cursor:pointer}.security-strip button:hover{border-color:#36505b;color:#fff}.security-strip .danger-soft:hover{border-color:#713d3d;color:#ff8585}.security-panel{margin-bottom:20px;background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:11px;padding:18px;box-shadow:var(--shadow)}.security-panel[hidden]{display:none}.security-panel .pt button{border:0;background:transparent;color:#758b95;font-size:8px;cursor:pointer}.security-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:14px}.security-columns h4{font-size:9px;color:#80949d;letter-spacing:1px}.security-list{max-height:220px;overflow:auto}.security-list>div{padding:10px 0;border-bottom:1px solid #172a33}.security-list b,.security-list span,.security-list small{display:block}.security-list b{font-size:8px;color:#9eafb6}.security-list b.good{color:var(--green)}.security-list b.bad{color:var(--red)}.security-list span{font-size:8px;color:#6c818a;margin:4px 0;overflow-wrap:anywhere}.security-list small{font-size:7px;color:#4e6670}@media(max-width:1000px){.security-strip{grid-template-columns:repeat(3,1fr)}.security-columns{grid-template-columns:1fr}}@media(max-width:560px){.security-strip{grid-template-columns:1fr 1fr}.security-strip>div:first-child{grid-column:1/-1}.security-columns{grid-template-columns:1fr}}


/* Phase 4 PM2 */
.pm2-panel{margin:-12px 0 22px;background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.pm2-panel[hidden]{display:none}.pm2-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.pm2-top p{font-size:7px;letter-spacing:2px;color:#67808b;margin:0 0 5px}.pm2-top h2{font-size:18px;margin:0}.pm2-top h2 span{color:var(--yellow)}.pm2-top button,.pm2-actions button{border:1px solid #29404b;background:#0a171e;color:#91a5ae;border-radius:7px;padding:9px 11px;font-size:8px;cursor:pointer}.pm2-top button:hover,.pm2-actions button:hover{border-color:#506570;color:#fff}.pm2-cards{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:12px;margin-top:16px}.pm2-card{border:1px solid var(--line);background:#09171e;border-radius:10px;padding:15px}.pm2-card-head{display:flex;align-items:center;justify-content:space-between}.pm2-card-head>div{display:flex;align-items:center;gap:8px}.pm2-card-head strong{font-size:11px}.pm2-card-head>span{font-size:7px}.pm2-card-head .good{color:var(--green)}.pm2-card-head .bad{color:var(--red)}.pm2-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.pm2-stats div{border:1px solid #162b35;border-radius:7px;padding:8px}.pm2-stats small,.pm2-meta span{display:block;color:#617984;font-size:7px}.pm2-stats b{display:block;font-size:10px;margin-top:5px}.pm2-meta{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;border-top:1px solid #162a33;padding-top:10px}.pm2-actions{display:flex;gap:7px;margin-top:13px}.pm2-actions .danger{color:#ff8585;border-color:#573535}.pm2-actions .start{color:var(--green);border-color:#24513d}.pm2-logbox{margin-top:15px;border:1px solid var(--line);border-radius:9px;padding:14px}.pm2-logbox pre{margin:12px 0 0;max-height:270px;overflow:auto;background:#050d12;border:1px solid #13262f;border-radius:7px;padding:12px;color:#91a6af;font:11px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:1250px){.pm2-cards{grid-template-columns:1fr 1fr}}@media(max-width:700px){.pm2-cards{grid-template-columns:1fr}.pm2-top{align-items:flex-end}.pm2-stats{grid-template-columns:1fr 1fr}.pm2-actions{flex-wrap:wrap}}


/* Phase 5 Nginx */
.nginx-panel{margin:-12px 0 22px;background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:12px;padding:20px;box-shadow:var(--shadow)}.nginx-panel[hidden]{display:none}.nginx-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.nginx-summary article,.nginx-box,.nginx-logbox{border:1px solid var(--line);background:#09171e;border-radius:9px;padding:14px}.nginx-summary small{display:block;color:#617984;font-size:7px;letter-spacing:1px}.nginx-summary strong{display:block;font-size:15px;margin-top:8px}.nginx-summary strong.good{color:var(--green)}.nginx-summary strong.bad{color:var(--red)}.nginx-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.nginx-sites{margin-top:12px}.nginx-sites>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid #172a33}.nginx-sites b{font-size:9px}.nginx-sites span{margin-left:auto;color:var(--green);font-size:7px}.nginx-actions{display:flex;gap:8px;margin:12px 0}.nginx-actions button,.nginx-logbox button{border:1px solid #29404b;background:#0a171e;color:#91a5ae;border-radius:7px;padding:9px 11px;font-size:8px;cursor:pointer}.nginx-actions button:last-child{border-color:#5d5314;color:var(--yellow)}.nginx-box pre,.nginx-logbox pre{background:#050d12;border:1px solid #13262f;border-radius:7px;padding:11px;color:#91a6af;font:10px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:250px;overflow:auto}.nginx-logbox{margin-top:12px}.nginx-logbox .pt>div{display:flex;gap:6px}.nginx-logbox pre{max-height:300px;margin-bottom:0}@media(max-width:850px){.nginx-summary{grid-template-columns:1fr 1fr}.nginx-grid{grid-template-columns:1fr}}@media(max-width:560px){.nginx-summary{grid-template-columns:1fr}.nginx-actions{flex-wrap:wrap}}

/* Independent module views */
#dashboardView[hidden],#pm2Panel[hidden],#nginxPanel[hidden]{display:none!important}#sidebar nav a{cursor:pointer}#pm2Panel,#nginxPanel{margin-top:0;min-height:calc(100vh - 150px)}


/* Phase 6 MySQL */
.mysql-panel{background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:12px;padding:20px;box-shadow:var(--shadow);min-height:calc(100vh - 150px)}.mysql-panel[hidden]{display:none}.mysql-summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.mysql-summary article,.mysql-databases article,.mysql-box{border:1px solid var(--line);background:#09171e;border-radius:9px;padding:14px}.mysql-summary small,.mysql-databases small{display:block;color:#617984;font-size:7px;letter-spacing:1px}.mysql-summary strong{display:block;font-size:12px;margin-top:8px}.mysql-summary strong.good{color:var(--green)}.mysql-summary strong.bad{color:var(--red)}.mysql-databases{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mysql-databases strong{display:block;font-size:11px;margin:7px 0}.mysql-databases span{font-size:8px;color:#6e848e}.mysql-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:12px;margin-top:12px}.mysql-box .pt>div{display:flex;gap:6px}.mysql-box button{border:1px solid #29404b;background:#0a171e;color:#91a5ae;border-radius:7px;padding:8px 10px;font-size:7px;cursor:pointer}.mysql-tablewrap{overflow:auto;max-height:390px;margin-top:12px}.mysql-box table{width:100%;border-collapse:collapse;font-size:8px}.mysql-box th{text-align:left;color:#617984;font-size:7px;letter-spacing:.6px;padding:8px;border-bottom:1px solid #29404b;position:sticky;top:0;background:#09171e}.mysql-box td{padding:9px 8px;border-bottom:1px solid #142832;color:#9aadb5}.mysql-notice{margin-top:12px;border:1px solid rgba(40,223,134,.16);background:rgba(40,223,134,.035);border-radius:8px;padding:11px;color:#6e9282;font-size:7px;letter-spacing:.8px}@media(max-width:1250px){.mysql-summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:850px){.mysql-grid{grid-template-columns:1fr}.mysql-summary{grid-template-columns:1fr 1fr}}@media(max-width:560px){.mysql-summary,.mysql-databases{grid-template-columns:1fr}}
#dashboardView[hidden],#pm2Panel[hidden],#nginxPanel[hidden],#mysqlPanel[hidden]{display:none!important}


/* Phase 7 Backups */
.backup-panel{background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:12px;padding:20px;box-shadow:var(--shadow);min-height:calc(100vh - 150px)}.backup-panel[hidden]{display:none}.backup-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.backup-summary article,.backup-box{border:1px solid var(--line);background:#09171e;border-radius:9px;padding:14px}.backup-summary small{display:block;color:#617984;font-size:7px;letter-spacing:1px}.backup-summary strong{display:block;font-size:13px;margin:8px 0 4px}.backup-summary strong.good{color:var(--green)}.backup-summary strong.bad{color:var(--red)}.backup-summary span{font-size:8px;color:#617984}.backup-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:12px}.backup-tablewrap{overflow:auto;max-height:440px;margin-top:12px}.backup-box table{width:100%;border-collapse:collapse;font-size:8px}.backup-box th{text-align:left;color:#617984;font-size:7px;letter-spacing:.6px;padding:8px;border-bottom:1px solid #29404b;position:sticky;top:0;background:#09171e}.backup-box td{padding:9px 8px;border-bottom:1px solid #142832;color:#9aadb5;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-copy{font-size:9px;color:#728891;line-height:1.7;margin:18px 0}.backup-run{border:1px solid #5d5314;background:rgba(255,210,28,.04);color:var(--yellow);border-radius:7px;padding:11px 13px;font-size:8px;cursor:pointer}.backup-run:disabled{opacity:.5;cursor:wait}.backup-box pre{background:#050d12;border:1px solid #13262f;border-radius:7px;padding:11px;color:#91a6af;font:10px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;margin-top:14px}.backup-notice{margin-top:12px;border:1px solid rgba(40,223,134,.16);background:rgba(40,223,134,.035);border-radius:8px;padding:11px;color:#6e9282;font-size:7px;letter-spacing:.8px}@media(max-width:950px){.backup-summary{grid-template-columns:1fr 1fr}.backup-grid{grid-template-columns:1fr}}@media(max-width:560px){.backup-summary{grid-template-columns:1fr}}
#dashboardView[hidden],#pm2Panel[hidden],#nginxPanel[hidden],#mysqlPanel[hidden],#backupPanel[hidden]{display:none!important}
/* Cloudflare / DDNS */
.ddns-panel{background:linear-gradient(145deg,#0c1a22,#08151c);border:1px solid var(--line2);border-radius:12px;padding:20px;box-shadow:var(--shadow);min-height:calc(100vh - 150px)}
.ddns-panel[hidden]{display:none}
.ddns-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}
.ddns-summary article,.ddns-box,.ddns-logbox{border:1px solid var(--line);background:#09171e;border-radius:9px;padding:14px}
.ddns-summary small{display:block;color:#617984;font-size:7px;letter-spacing:1px}
.ddns-summary strong{display:block;font-size:13px;margin:8px 0 4px;font-variant-numeric:tabular-nums}
.ddns-summary strong.good{color:var(--green)}
.ddns-summary strong.bad{color:var(--red)}
.ddns-summary span{font-size:8px;color:#617984}
.ddns-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:12px}
.ddns-records{display:grid;gap:8px;margin-top:12px}
.ddns-records>div{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid #162b35;background:#08151c;border-radius:7px}
.ddns-records b{font-size:9px;color:#a9bbc2;overflow-wrap:anywhere}
.ddns-records span{margin-left:auto;color:var(--green);font-size:7px;letter-spacing:.7px}
.ddns-safe{margin-top:14px;border:1px solid rgba(40,223,134,.16);background:rgba(40,223,134,.035);border-radius:8px;padding:11px;color:#6e9282;font-size:7px;letter-spacing:.7px;line-height:1.6}
.ddns-copy{font-size:9px;color:#728891;line-height:1.7;margin:18px 0}
.ddns-run{border:1px solid #5d5314;background:rgba(255,210,28,.04);color:var(--yellow);border-radius:7px;padding:11px 13px;font-size:8px;cursor:pointer}
.ddns-run:hover{border-color:#8a791c;color:#ffe46a}
.ddns-run:disabled{opacity:.5;cursor:wait}
.ddns-box pre,.ddns-logbox pre{background:#050d12;border:1px solid #13262f;border-radius:7px;padding:11px;color:#91a6af;font:10px/1.55 Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto}
.ddns-box pre{max-height:260px;margin-top:14px}
.ddns-logbox{margin-top:12px}
.ddns-logbox pre{max-height:300px;margin:12px 0 0}
@media(max-width:950px){.ddns-summary{grid-template-columns:1fr 1fr}.ddns-grid{grid-template-columns:1fr}}
@media(max-width:560px){.ddns-summary{grid-template-columns:1fr}.ddns-records>div{align-items:flex-start;flex-direction:column}.ddns-records span{margin-left:0}}


/* V2 · Gestor de archivos */
.files-panel{padding:0 0 32px}.files-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.files-head p{margin:0 0 4px;font-size:11px;letter-spacing:1.8px;font-weight:800;color:#7d8799}.files-head h2{margin:0;font-size:28px}.files-head h2 span{color:#f4b41a}.files-actions,.files-quick{display:flex;gap:8px;flex-wrap:wrap}.files-actions button,.files-quick button,.files-toolbar button,.files-side button{border:1px solid #343d4b;background:#202630;border-radius:8px;padding:10px 13px;font-weight:800;font-size:11px;color:#dce3ec;cursor:pointer}.files-actions button:hover,.files-quick button:hover,.files-toolbar button:hover,.files-side button:hover{border-color:#f4b41a}.files-actions .primary{background:#f4b41a;border-color:#f4b41a;color:#151515}.files-actions button:disabled{opacity:.4;cursor:not-allowed}.files-shell{display:grid;grid-template-columns:235px 1fr;gap:14px}.files-side,.files-main,.files-info{background:#171c24;border:1px solid #2a3240;border-radius:12px;box-shadow:0 5px 18px rgba(0,0,0,.18)}.files-side{padding:14px}.files-side h3{font-size:11px;letter-spacing:1.2px;color:#8a94a4;margin:3px 8px 10px}.files-side button{display:block;width:100%;text-align:left;margin:5px 0}.files-space{margin:18px 7px 4px}.files-space>div{height:7px;border-radius:10px;background:#303844;overflow:hidden}.files-space i{display:block;width:0;height:100%;background:#f4b41a}.files-space p{font-size:11px;color:#8b95a4}.files-toolbar{padding:12px 14px;border-bottom:1px solid #2a3240;display:flex;align-items:center;gap:8px}.files-crumb{font-size:13px;font-weight:800;flex:1;color:#e0e6ee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files-toolbar input{border:1px solid #343d4b;background:#202630;border-radius:8px;padding:9px 11px;min-width:220px;color:#dce3ec;font-size:12px;outline:none}.files-toolbar input:focus{border-color:#f4b41a}.files-table-wrap{overflow:auto;max-height:58vh}.files-table{width:100%;border-collapse:collapse}.files-table th{font-size:10px;letter-spacing:1px;color:#8a94a4;text-align:left;padding:11px 14px;border-bottom:1px solid #4b5360;position:sticky;top:0;background:#171c24;z-index:1}.files-table td{padding:12px 14px;border-bottom:1px solid #252c36;font-size:12px;color:#aeb8c6}.files-table tr{cursor:pointer}.files-table tbody tr:hover,.files-table tr.selected{background:#242619}.files-name{display:flex;align-items:center;gap:10px;font-weight:800;color:#e2e7ed}.files-icon{width:30px;height:30px;border-radius:7px;display:grid;place-items:center;background:#252d38;font-size:13px}.files-icon.folder{background:#342e1e}.files-bottom{display:grid;grid-template-columns:1.4fr .6fr;gap:14px;margin-top:14px}.files-info{padding:15px}.files-info h3{font-size:13px;margin:0 0 11px}.files-safe{margin-top:14px;padding:11px 13px;border-radius:8px;background:#202630;font-size:10px;color:#9fa9b7;font-weight:700}.files-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.files-meta div{background:#202630;border-radius:8px;padding:10px}.files-meta small{display:block;color:#8b94a2;font-size:9px;letter-spacing:.8px}.files-meta b{font-size:12px;color:#dce3ec}.files-empty{text-align:center;padding:28px!important;color:#7f8998!important}@media(max-width:900px){.files-shell,.files-bottom{grid-template-columns:1fr}.files-side{display:none}.files-head{align-items:flex-start;flex-direction:column}.files-toolbar{flex-wrap:wrap}.files-toolbar input{min-width:0;width:100%}.files-table th:nth-child(3),.files-table td:nth-child(3){display:none}}
