:root{--ink:#17233a;--muted:#8490a4;--line:#e8edf5;--violet:#6e5df6;--mint:#15b887;--amber:#f59e0b;--pink:#ef5da8;font-family:"Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-width:1120px}.shell{display:grid;grid-template-columns:190px 1fr;min-height:100vh}aside,header,.panel,.welcome,.notice,.stat,.sub div{background:#fff}aside{border-right:1px solid var(--line);padding:18px 10px}.brand{height:32px;display:flex;gap:10px;align-items:center;padding:0 10px 22px;border-bottom:1px solid var(--line);margin-bottom:18px;font-weight:700;font-size:15px}.mark,.avatar,.step{display:grid;place-items:center;color:#fff}.mark{width:30px;height:30px;border-radius:8px;background:linear-gradient(135deg,#6e5df6,#35c6b3)}.label{display:flex;align-items:center;gap:9px;padding:12px 12px 8px;color:#44516a;font-size:13px}.menu a{display:flex;align-items:center;gap:10px;color:#57647a;text-decoration:none;padding:10px 13px;border-radius:7px;margin:2px 0;font-size:13px}.menu a.active{background:#f0efff;color:var(--violet);font-weight:650}.indent{margin-left:13px;padding-left:20px!important}.space{height:16px}.main{min-width:0}header{height:58px;border-bottom:1px solid var(--line);padding:0 28px;display:flex;justify-content:space-between;align-items:center}.icon{border:1px solid var(--line);background:#fff;color:#66758d;width:32px;height:32px;border-radius:7px;display:grid;place-items:center}.right{display:flex;align-items:center;gap:10px}.runtime{border:1px solid #deddf8;background:#f6f6ff;border-radius:7px;padding:6px 11px;font-size:11px;color:#59657a;line-height:1.3}.runtime b{display:block;color:#46526a}.online{color:#13a77d;font-weight:700}.user{display:flex;align-items:center;gap:8px;padding-left:6px;color:#526078;font-size:12px}.avatar{width:29px;height:29px;border-radius:50%;background:#ffbe50;font-weight:800}main{padding:16px 20px 28px}.welcome{border-left:3px solid var(--violet);min-height:51px;border-radius:10px;display:flex;align-items:center;padding:0 18px;box-shadow:0 4px 18px #212f500a;font-size:14px;font-weight:700}.notice{margin-top:16px;padding:14px 16px;border-radius:12px;display:flex;gap:14px;align-items:center;box-shadow:0 4px 18px #212f500a;font-size:13px;color:#6d7890}.notice i{color:var(--violet)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.stat{min-height:84px;padding:15px 16px;border-radius:10px;box-shadow:0 4px 18px #212f5008}.stat span{color:#7f8aa0;font-size:12px;display:block}.stat strong{display:flex;align-items:center;gap:7px;font-size:24px;margin-top:8px}.stat i{width:17px}.v{color:var(--violet)}.a{color:var(--amber)}.m{color:var(--mint)}.p{color:var(--pink)}.sub{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}.sub div{text-align:center;border-radius:9px;min-height:76px;padding:13px 5px;box-shadow:0 4px 18px #212f5008}.sub span{font-size:11px;color:#8b96a9;display:block}.sub b{display:block;font-size:17px;margin-top:6px}.sub small{color:#a0aabc;font-size:10px}.grid{display:grid;grid-template-columns:minmax(0,1fr) 288px;gap:14px;margin-top:14px}.panel{border-radius:11px;padding:18px;box-shadow:0 4px 18px #212f5008}.title,.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}h1{font-size:18px;margin:0}h2{margin:0;font-size:14px}.title span,.page-head p{color:#9ba5b5;font-size:11px}.page-head{margin:6px 0 16px}.page-head p{margin:5px 0 0}.chart{height:220px;border-bottom:1px solid #eef1f5;background:repeating-linear-gradient(to bottom,transparent 0,transparent 43px,#eff2f6 44px)}.chart svg{width:100%;height:100%}.legend{display:flex;justify-content:center;gap:18px;padding-top:12px;font-size:11px;color:#7f8aa0}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:4px}.empty{height:220px;display:grid;place-items:center;text-align:center;color:#9ca7b8;font-size:12px}.emptybox{width:48px;height:48px;border-radius:9px;background:#f4f6f9;display:grid;place-items:center;margin:0 auto 9px;color:#c0c7d2}.bottom,.split{display:grid;grid-template-columns:1.25fr .9fr;gap:14px;margin-top:14px}.quick,.plugin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick button{min-height:77px;border:0;background:#f8f9fc;border-radius:8px;cursor:pointer;color:#536179;font-size:12px}.quick i{display:block;margin:0 auto 8px;width:18px}.guide{display:grid;gap:11px}.guide-row{display:grid;grid-template-columns:21px 1fr;gap:9px;font-size:12px}.step{width:20px;height:20px;border-radius:50%;background:var(--violet);font-size:11px;font-weight:700}.guide-row p,.plugin p{margin:3px 0 0;color:#8994a7;font-size:11px;line-height:1.55}.primary{border:0;border-radius:7px;padding:9px 13px;background:var(--violet);color:#fff;cursor:pointer;font-size:12px}.outline{border:1px solid var(--line);background:#fff;border-radius:7px;padding:8px 12px;color:#627087;cursor:pointer}.table{width:100%;border-collapse:collapse;font-size:12px}.table th{background:#f8f9fc;text-align:left;color:#7b879a;font-weight:500;padding:11px}.table td{padding:13px 11px;border-bottom:1px solid #edf0f4;color:#425167}.status,.pill{display:inline-block;padding:3px 7px;border-radius:4px;background:#e8f6f1;color:#138568;font-size:11px}.pending{background:#fff4dc;color:#c77a00}.plugin-grid{grid-template-columns:repeat(3,1fr)}.plugin{border:1px solid var(--line);border-radius:8px;padding:14px}.plugin-head{display:flex;gap:9px;align-items:center}.plugin-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:#f0efff;color:var(--violet)}.plugin h3{font-size:13px;margin:0}.plugin p{margin:11px 0}.pill{background:#f4f7fb;color:#6d7890;font-size:10px}.rule{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0f4;font-size:12px}dialog{border:0;border-radius:10px;padding:0;box-shadow:0 20px 60px #17233a33;width:410px}dialog::backdrop{background:#17233a55}.modal{padding:22px}.modal h2{font-size:16px}.modal p{font-size:12px;line-height:1.7;color:#718098}.modal footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}.field{margin:14px 0}.field label{display:block;font-size:12px;color:#536179;margin-bottom:6px}.field input{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px;font:inherit;font-size:12px}
