:root{--orange:#ee4d2d;--ink:#172133;--muted:#697386;--bg:#f5f7fa;--line:#e7eaf0;--green:#14805e}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Inter,"Microsoft YaHei",system-ui,sans-serif}header{height:66px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px}.brand{font-size:19px;font-weight:800}.badge{margin-left:14px;padding:5px 9px;border-radius:6px;font-size:11px;font-weight:800}.demo{background:#fff1ed;color:var(--orange)}.user,.user form{display:flex;align-items:center;gap:12px}.link{border:0;background:none;color:var(--muted);cursor:pointer}nav{position:fixed;top:66px;bottom:0;width:210px;background:#172133;padding:26px 16px}nav a{display:block;color:#aeb8c8;text-decoration:none;padding:12px 16px;border-radius:8px;margin:4px 0}nav a.active,nav a:hover{background:#263247;color:#fff}main{margin-left:210px;padding:32px 38px;max-width:1600px}.page-head{display:flex;align-items:center;justify-content:space-between}.page-head h1{font-size:28px;margin:3px 0}.page-head p,.panel p{color:var(--muted);margin:0}.eyebrow{font-size:11px;letter-spacing:1.5px;color:var(--orange);font-weight:800}.status{background:#e8f7f1;color:var(--green);padding:10px 14px;border-radius:20px;font-weight:700}.status i{display:inline-block;width:8px;height:8px;background:#26a77c;border-radius:50%;margin-right:7px}.notice{display:flex;gap:20px;background:#fff6e5;border:1px solid #f7d89a;padding:13px 18px;border-radius:9px;margin:24px 0}.notice span{color:#785c24}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.metrics article,.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}.metrics span,.metrics em{display:block;color:var(--muted);font-style:normal}.metrics b{display:block;font-size:23px;margin:10px 0}.metrics .good{color:var(--green)}.panel{margin-top:18px}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel h2{font-size:17px;margin:0 0 4px}.table-wrap{overflow:auto;margin:16px -20px -20px}table{width:100%;border-collapse:collapse;min-width:900px}th{text-align:left;color:var(--muted);font-size:12px;background:#fafbfc}th,td{padding:14px 20px;border-top:1px solid var(--line)}td small{display:block;color:var(--muted);margin-top:3px}.bar{height:4px;width:90px;background:#edf0f4;margin-top:7px;border-radius:4px}.bar i{display:block;height:100%;background:var(--orange);border-radius:4px}.pill,.readonly,.managed{padding:5px 8px;border-radius:6px;font-size:11px;font-weight:700}.pill,.managed{background:#e8f7f1;color:var(--green)}.readonly{background:#eef0f4;color:#5d6675}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.rules{list-style:none;padding:0;margin:16px 0 0}.rules li,.permission{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:12px 0}.rules b{color:var(--orange)}.permission b{color:#9a6710}.permission .ok{color:var(--green)}.login{min-height:calc(100vh - 130px);display:grid;grid-template-columns:1fr 430px;gap:80px;align-items:center;max-width:1080px;margin:auto}.login-copy h1{font-size:44px;line-height:1.2;margin:14px 0}.login-copy p{font-size:17px;color:var(--muted)}.safe{margin-top:32px;color:var(--green)}.login-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:34px;box-shadow:0 20px 60px #17213312}.login-card h2{margin:0;font-size:24px}.login-card>p,.login-card small{color:var(--muted)}label{display:block;font-weight:700;margin:20px 0}input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #ccd2dc;border-radius:7px;font:inherit}.primary{width:100%;border:0;border-radius:8px;background:var(--orange);color:white;padding:13px;font-weight:800;cursor:pointer}.login-card small{display:block;margin-top:18px}.error{background:#fff0ed;color:#ad2f19;padding:10px;border-radius:6px;margin-top:15px}@media(max-width:900px){nav{display:none}main{margin:0;padding:20px}.metrics{grid-template-columns:repeat(2,1fr)}.login{grid-template-columns:1fr;gap:20px}.login-copy h1{font-size:32px}.grid{grid-template-columns:1fr}header{padding:0 20px}}

