:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#241a37;background:#f5f3fa;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh}.hidden{display:none!important}button,input,select,textarea{font:inherit}.gate{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center}.gate img{width:68px}.gate strong{font-size:26px}.gate p{color:#766e88;max-width:440px}.primary,header button{border:0;border-radius:10px;background:#6d35ce;color:#fff;padding:12px 20px;text-decoration:none;font-weight:700;cursor:pointer}.primary.small{padding:9px 14px}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}aside{position:sticky;top:0;height:100vh;background:#25123f;color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:24px}.brand{display:flex;align-items:center;gap:12px;padding:0 8px}.brand img{width:42px}.brand b,.brand span{display:block}.brand span{font-size:12px;color:#bcaed2;margin-top:3px}nav{display:grid;gap:6px;overflow:auto}nav button{border:0;background:transparent;color:#cfc5df;text-align:left;padding:11px 14px;border-radius:9px;font-size:15px;cursor:pointer}nav button.active{background:#7640cf;color:#fff}.identity{margin-top:auto;border-top:1px solid #4b3864;padding:16px 8px 0;display:grid;gap:10px}.identity button{background:transparent;color:#cfc5df;border:1px solid #6a5782;border-radius:8px;padding:8px;cursor:pointer}main{padding:28px 34px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h1{margin:4px 0 0;font-size:28px}header small{color:#8c80a0;font-weight:700;letter-spacing:.12em}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.metric,.panel{background:#fff;border:1px solid #e9e3f0;border-radius:14px;box-shadow:0 8px 26px rgba(45,23,73,.05)}.metric{padding:20px}.metric span{display:block;color:#8a8098;font-size:13px}.metric b{font-size:30px;display:block;margin-top:8px}.panel{padding:22px}.panel h2,.panel h3{margin:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.panel-head p,.theme-body p,.hint,.dialog-head p{color:#81758f;margin:6px 0 0;font-size:13px}.grid.two{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks p{margin:0;padding:13px;background:#f8f6fb;border-radius:10px}.checks b,.checks span{display:block}.checks span{font-size:12px;color:#81758f;margin-top:5px}.compact{display:grid;gap:8px}.compact p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:10px;border-bottom:1px solid #eee9f3}.compact span{font-size:12px;color:#81758f}.table{overflow:auto}.row{display:grid;grid-template-columns:1.4fr 1.2fr .7fr .9fr 1fr auto;gap:14px;align-items:center;padding:13px 10px;border-bottom:1px solid #eee9f3;min-width:820px;white-space:pre-line}.row.head{font-size:12px;color:#8a8098;font-weight:700}.row:not(.head):hover{background:#fbfaff}.row button,.actions button,.dialog-actions button{border:1px solid #d9cee8;background:#fff;border-radius:8px;padding:7px 10px;cursor:pointer;white-space:nowrap}.row button.soft,.actions button.soft{color:#6731ba;background:#f7f1ff;border-color:#e3d4f8}.row button:disabled{opacity:.45;cursor:not-allowed}.actions{display:flex;gap:7px;justify-content:flex-end}.pill{padding:5px 9px;border-radius:999px;background:#eee6fb;color:#6931be;font-size:12px;width:max-content}.status-active,.status-ready,.status-上线{background:#e3f6eb;color:#177546}.status-suspended,.status-retired,.status-disabled{background:#f3edf5;color:#75677e}.status-draining,.status-更新,.status-公告{background:#fff2d9;color:#8b5a00}.status-安全{background:#ffe9e9;color:#a52a2a}.error,.success{position:fixed;z-index:50;right:28px;top:24px;max-width:420px;padding:13px 16px;border-radius:10px;box-shadow:0 12px 30px rgba(30,15,50,.2)}.error{background:#ffe8e8;color:#a22424}.success{background:#e4f7eb;color:#176b3f}.theme-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:18px}.theme-card{overflow:hidden;border:1px solid #ebe4f2;border-radius:14px;background:#faf9fc}.theme-card>img{display:block;width:100%;height:270px;object-fit:cover;object-position:top;background:#eee}.theme-body{padding:16px}.theme-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.theme-body code{display:block;color:#6f617f;margin-top:7px}.empty{color:#8a8098;text-align:center;padding:20px}dialog{border:0;border-radius:16px;padding:0;width:min(520px,calc(100vw - 28px));box-shadow:0 24px 70px rgba(27,12,49,.3);color:#241a37}dialog::backdrop{background:rgba(30,16,50,.48);backdrop-filter:blur(3px)}dialog form,dialog.preview-dialog{padding:22px}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.dialog-head h2{margin:0}.dialog-head>button{border:0;background:#f1edf5;width:32px;height:32px;border-radius:50%;font-size:21px;cursor:pointer}dialog label{display:grid;gap:7px;margin:13px 0;font-size:13px;font-weight:700}dialog input,dialog select,dialog textarea{width:100%;border:1px solid #dcd3e7;border-radius:9px;padding:11px 12px;background:#fff;color:#241a37}dialog input:focus,dialog select:focus,dialog textarea:focus{outline:2px solid #cdb2f4;border-color:#8652ce}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.dialog-actions .primary{border-color:#6d35ce;background:#6d35ce;color:#fff}.preview-dialog{width:min(500px,calc(100vw - 28px));max-height:92vh}.phone{margin:auto;width:min(330px,75vw);height:min(650px,72vh);overflow:auto;border:9px solid #211c28;border-radius:28px;background:#eee}.phone img{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:top}.preview-dialog .dialog-head{padding:0}.preview-dialog #closePreview{flex:0 0 auto}@media(max-width:1050px){.theme-grid{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:1fr 1fr}.grid.two{grid-template-columns:1fr}}@media(max-width:780px){.shell{grid-template-columns:1fr}aside{position:static;height:auto}.metrics,.theme-grid,.checks,.form-grid{grid-template-columns:1fr}main{padding:20px}nav{grid-template-columns:1fr 1fr}.identity{display:flex;justify-content:space-between}.row{min-width:760px}.panel-head{align-items:flex-start}.error,.success{left:16px;right:16px;top:12px}}
