*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#17191d;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:245px;background:#15171b;color:#fff;padding:25px 18px;display:flex;flex-direction:column}.brand{font-weight:900;font-size:19px}.brand small{display:block;color:#858b96;font-size:11px}nav{display:grid;gap:4px;margin-top:28px}nav a,.logout{color:#b8bdc6;text-decoration:none;padding:10px;border-radius:9px}nav a:hover{background:#25282e;color:#fff}.logout{margin-top:auto}main{margin-left:245px;padding:32px 38px;max-width:1450px}header{display:flex;justify-content:space-between;align-items:center}h1{margin:0}p,small{color:#737984}.ok,.tag{background:#e7f7ec;color:#24723c;padding:7px 10px;border-radius:99px;font-size:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:28px 0}.stat,.card,.cardrow,.filebox,.terminal{background:#fff;border:1px solid #e3e6ea;border-radius:15px;padding:17px}.stat b,.stat small{display:block}.stat strong{display:block;font-size:23px;margin:7px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}section{margin:34px 0}.cardrow{display:flex;align-items:center;gap:10px}.cardrow>div{flex:1}.row{display:grid;grid-template-columns:1fr 120px 180px;padding:9px;border-bottom:1px solid #eee}.btn,button{display:inline-block;border:0;background:#17191d;color:#fff;padding:10px 12px;border-radius:9px;text-decoration:none;font-weight:700;cursor:pointer}.light{background:#eceef1;color:#30343a}.danger{background:#8d2525}input{width:100%;padding:10px;border:1px solid #dce0e5;border-radius:9px;margin:4px 0}.inline{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:7px}.auth{max-width:420px;margin:9vh auto;background:#fff;border:1px solid #e3e6ea;border-radius:18px;padding:28px}.auth form{display:grid;gap:7px}.auth code{display:block;word-break:break-all;background:#f0f2f5;padding:12px;border-radius:8px}.flash{padding:12px;border-radius:10px;margin:15px 0}.flash.ok{background:#e7f7ec}.flash.bad{background:#fde9e9}.warn{background:#fff6dc;border-radius:12px;padding:13px;margin-bottom:12px}.filemain{max-width:1000px;margin:0 auto;padding:35px}.tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.tools form{background:#fff;border:1px solid #e3e6ea;border-radius:12px;padding:12px}.filebox{padding:7px}.file{display:grid;grid-template-columns:35px 1fr 120px;padding:12px;border-bottom:1px solid #eee;text-decoration:none;color:inherit}.file small{text-align:right}.backup{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #eee}.backup form{display:inline}.backup small{display:block}.terminal{background:#111;color:#eee}.terminal pre{white-space:pre-wrap;overflow:auto}.empty{padding:25px;color:#888}details{margin:12px 0}summary{cursor:pointer;font-weight:700}@media(max-width:800px){aside{position:static;width:auto}nav{display:flex;overflow:auto}.logout{display:none}main{margin:0;padding:20px}.stats,.grid{grid-template-columns:1fr 1fr}.inline{grid-template-columns:1fr}}@media(max-width:550px){.stats,.grid,.tools{grid-template-columns:1fr}.cardrow,.backup{align-items:flex-start;flex-direction:column}}
.sectionhead,.filetop{display:flex;justify-content:space-between;align-items:center;gap:16px}.pending{background:#fff3d6;color:#87620b;padding:7px 10px;border-radius:99px;font-size:12px}.badge{display:inline-block;background:#e8f2ff;color:#245f9e;padding:5px 8px;border-radius:7px;font-size:11px;font-weight:800}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.actions form{margin:0}.btn2{display:inline-block;background:#eef0f3;color:#25282e;padding:10px 12px;border-radius:9px;text-decoration:none;font-weight:700}.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.toolbar form{display:flex;gap:8px;background:#fff;border:1px solid #e3e6ea;border-radius:13px;padding:12px}.toolbar input{margin:0}.filehead,.file{grid-template-columns:40px minmax(220px,1fr) 130px 120px}.filehead{display:grid;padding:11px 12px;color:#7a8089;font-size:12px;border-bottom:1px solid #e6e8eb}.crumb{background:#fff;border:1px solid #e3e6ea;border-radius:9px;padding:9px 12px;display:inline-block}@media(max-width:650px){.toolbar{grid-template-columns:1fr}.toolbar form{flex-direction:column}.filehead{display:none}.file{grid-template-columns:35px 1fr 80px}.file small:last-child{display:none}.sectionhead,.filetop{align-items:flex-start;flex-direction:column}}

:root{--bg:#f6f7f9;--card:#fff;--line:#e7e9ed;--text:#15171a;--muted:#747a84;--soft:#f0f2f5}
body{background:var(--bg)}aside{width:258px;background:#111317;padding:28px 18px;border-right:1px solid #22262c}
.brand{letter-spacing:.2px;font-size:20px;padding:0 8px}.brand small{margin-top:4px;font-weight:500}
nav a{font-size:14px;padding:11px 12px}main{margin-left:258px;padding:38px 44px}
header{padding-bottom:10px}header h1{font-size:30px;letter-spacing:-.7px}.stats{gap:16px}.stat{min-height:118px;padding:20px}
.stat strong{font-size:27px;letter-spacing:-.5px}.card,.cardrow,.filebox{box-shadow:0 1px 2px rgba(0,0,0,.025)}
section{margin:40px 0}.sectionhead{margin-bottom:14px}.sectionhead h2,section>h2{font-size:20px;letter-spacing:-.25px}
.card{padding:20px}.btn,button,.btn2{transition:.15s ease}.btn:hover,button:hover{transform:translateY(-1px);opacity:.92}
.security-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 4px}
.security-pill{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:12px}
.security-pill b{display:block;font-size:13px;margin-bottom:3px}.security-pill span{color:#6e7681}
@media(max-width:900px){.security-strip{grid-template-columns:1fr 1fr}}
@media(max-width:800px){aside{width:auto}main{margin-left:0;padding:22px}}

main{max-width:none;width:calc(100% - 258px);padding:34px 42px 70px}
.hero{display:flex;align-items:flex-start;gap:24px;margin-bottom:22px}.hero>div:first-child{flex:1}
.eyebrow{font-size:11px;font-weight:850;letter-spacing:1.2px;color:#8a9099;margin-bottom:7px}
.versionbox{min-width:260px;background:#17191d;color:#fff;border-radius:17px;padding:17px 19px;box-shadow:0 8px 28px rgba(0,0,0,.08)}
.versionbox span,.versionbox small{display:block;color:#9fa5ae;font-size:11px}.versionbox strong{display:block;font-size:28px;line-height:1;margin:6px 0}.versionbox b{display:block;font-size:13px}.versionbox a{display:block;color:#fff;font-size:12px;margin-top:12px;text-decoration:none}
.sidever{margin:18px 7px 0;padding:12px;background:#1c1f24;border:1px solid #292d34;border-radius:12px}.sidever span,.sidever small{display:block;color:#858c97;font-size:10px}.sidever b{display:block;font-size:18px;margin:3px 0}
.stat span{font-size:12px;color:#777e88;font-weight:700}.dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-grid section{margin:0}.dashboard-grid .wide{grid-column:1/-1}
.service-row{display:grid;grid-template-columns:minmax(250px,1fr) 150px 180px;gap:14px;padding:11px 5px;border-bottom:1px solid #eef0f2;font-size:13px}.service-row:last-child{border:0}
.softtag{background:#f0f2f5;color:#626973;padding:7px 10px;border-radius:99px;font-size:11px}.quickrow{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #eef0f2}.quickrow:first-child{padding-top:0}.quickrow small{display:block;margin-top:3px}.actioncard{display:flex;align-items:center;justify-content:space-between;gap:15px}
.history-list{max-width:980px}.history-item{position:relative;display:grid;grid-template-columns:28px 1fr;gap:14px;padding:0 0 28px}.history-item:before{content:"";position:absolute;left:6px;top:14px;bottom:0;width:2px;background:#e1e4e8}.history-item:last-child:before{display:none}.history-dot{width:14px;height:14px;border-radius:50%;background:#a8afb8;margin-top:4px;z-index:1}.history-item.current .history-dot{background:#2c9b52;box-shadow:0 0 0 5px #e7f7ec}.history-item>div:last-child{background:#fff;border:1px solid #e5e8ec;border-radius:15px;padding:18px}.history-top{display:flex;justify-content:space-between;gap:15px}.history-top span{font-size:12px;color:#777e88}.history-item small{display:block;margin:5px 0}
@media(max-width:1050px){.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .wide{grid-column:auto}.versionbox{min-width:220px}.service-row{grid-template-columns:1fr 100px 130px}}
@media(max-width:800px){main{width:100%;padding:22px}.hero{flex-direction:column}.versionbox{width:100%}.actioncard{align-items:flex-start;flex-direction:column}}

.update-ready{background:#f3f7ff;border:1px solid #dce8ff;border-radius:14px;padding:16px;margin-bottom:12px}
.update-ready span,.update-ready small{display:block;color:#6e7681;font-size:11px}.update-ready strong{display:block;font-size:20px;margin:5px 0}
.updatebutton{width:100%;padding:14px;font-size:14px;margin-top:4px}.notice{background:#fff7df;border:1px solid #f0dfaa;border-radius:12px;padding:12px;margin-top:10px;font-size:12px}
.update-safety{margin-top:16px;padding-top:14px;border-top:1px solid #eceef1}.update-safety b,.update-safety span{display:block}.update-safety span{font-size:11px;color:#777e88;margin-top:4px}
