:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#172033;background:#f4f7fb}*{box-sizing:border-box}body{margin:0}.app-shell{display:flex;min-height:100vh}.sidebar{width:252px;background:#162235;color:#d9e3f2;padding:28px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;align-items:center;padding:0 12px 32px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#3478f6;color:#fff;font-weight:800}.brand strong,.brand small{display:block}.brand strong{font-size:17px;color:#fff}.brand small{font-size:12px;color:#91a4bd;margin-top:3px}.nav{display:grid;gap:5px}.nav-item{border:0;text-align:left;color:#aebed2;background:transparent;border-radius:12px;padding:13px 14px;cursor:pointer}.nav-item span,.nav-item small{display:block}.nav-item span{font-weight:700}.nav-item small{font-size:11px;margin-top:3px;color:#768ba6}.nav-item.active,.nav-item:hover{background:#263b5b;color:#fff}.nav-item.active small{color:#bcd2f6}.side-note{margin-top:auto;padding:15px 12px;color:#7388a4;font-size:11px;line-height:1.8}.main{flex:1;min-width:0;padding:38px 48px;max-width:1500px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.eyebrow{font-size:11px;letter-spacing:2px;color:#3478f6;font-weight:800}.topbar h1{font-size:32px;margin:6px 0}.topbar p{margin:0;color:#7b8799}.top-actions{display:flex;align-items:center;gap:12px}.connection{font-size:12px;padding:8px 12px;border-radius:99px;background:#eef2f8;color:#768397}.connection.good{background:#e8f8ef;color:#198754}.connection.bad{background:#fff0f0;color:#d13b3b}.card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 12px 35px rgba(35,65,110,.07);margin-bottom:20px}.config-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:15px}label{font-size:12px;color:#718096}input,select{display:block;width:100%;margin-top:7px;border:1px solid #dce4ef;border-radius:10px;background:#fff;padding:12px 13px;font:inherit;color:#172033}.button,.actions button,.pagination button,.todo button{border:0;border-radius:10px;padding:11px 16px;font-weight:700;cursor:pointer}.primary{background:#3478f6;color:#fff}.secondary{background:#eef3fb;color:#45617f}.message{margin:14px 0 0;color:#3478f6;font-size:13px}.message.error{color:#d13b3b}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card{border:0;text-align:left;color:#fff;border-radius:18px;padding:22px;cursor:pointer;min-height:145px}.stat-card small,.stat-card strong,.stat-card span{display:block}.stat-card small{opacity:.82}.stat-card strong{font-size:38px;margin:12px 0 4px}.stat-card span{font-size:12px;opacity:.8}.blue{background:linear-gradient(135deg,#3478f6,#2455c4)}.amber{background:linear-gradient(135deg,#e9a72f,#cc721e)}.violet{background:linear-gradient(135deg,#8068df,#5a42ad)}.green{background:linear-gradient(135deg,#28ae7a,#16805c)}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.overview-card h2,.checklist h2{margin:0 0 18px;font-size:18px}.overview-row,.todo{display:flex;align-items:center;border-top:1px solid #edf1f6;padding:14px 0}.overview-row:first-of-type,.todo:first-of-type{border-top:0}.overview-row span,.todo span{color:#6d7c90}.overview-row b{margin-left:auto;font-size:20px}.todo b{margin-left:auto;margin-right:15px}.todo button{padding:7px 10px;color:#3478f6;background:#eef3ff}.checklist p{color:#53657b;margin:0 0 12px}.safe-note{font-size:12px;color:#9a7a35;background:#fff8e8;padding:7px 10px;border-radius:8px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px}.section-head h2{margin:0;font-size:20px}.section-head p{margin:7px 0 0;color:#8491a3;font-size:13px}.toolbar{display:flex;gap:8px;align-items:center}.toolbar input{min-width:240px;margin:0}.toolbar select{margin:0;min-width:130px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:14px 12px;border-top:1px solid #edf1f6;vertical-align:middle;font-size:13px}th{border-top:0;color:#8592a3;font-size:12px;font-weight:600}td b,td small{display:block}td small{color:#9aa7b7;font-size:11px;margin-top:4px}.badge{display:inline-block;border-radius:99px;padding:5px 9px;background:#eef2f8;color:#64748b;font-size:12px;white-space:nowrap}.badge.good{background:#e8f8ef;color:#178650}.badge.warn{background:#fff4dc;color:#aa6b00}.badge.bad{background:#ffeded;color:#c52e3a}.actions{white-space:nowrap}.actions button{padding:7px 10px;background:#eef3fb;color:#3d5a7a;margin:2px}.actions button:hover{background:#dce9fd}.clickable{cursor:pointer}.clickable:hover{background:#f7faff}.link{border:0;background:none;color:#3478f6;cursor:pointer}.empty{text-align:center;padding:58px;color:#92a0b0}.pagination{display:flex;justify-content:flex-end;align-items:center;gap:9px;color:#8190a2;font-size:12px;margin-top:18px}.pagination button{padding:7px 11px;color:#466280;background:#eef3fb}.pagination button:disabled{opacity:.45;cursor:default}.long{max-width:500px;white-space:normal}.icon-button{border:0;background:transparent;font-size:28px;color:#8a96a8;cursor:pointer}dialog{border:0;border-radius:18px;width:min(620px,calc(100vw - 30px));padding:0;box-shadow:0 25px 80px #12213a40}dialog::backdrop{background:#13223b66}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #edf1f6}.dialog-head h2{margin:0}.detail-status{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font-size:22px}.detail-status .badge{font-size:13px}.detail-status b{color:#1e64d8}dl{padding:0 24px 24px;margin:0;display:grid;grid-template-columns:100px 1fr;gap:0}dt,dd{padding:12px 0;border-top:1px solid #edf1f6;margin:0;font-size:13px}dt{color:#8592a3}dd{color:#273a53;word-break:break-all}@media(max-width:950px){.sidebar{width:190px}.main{padding:28px 22px}.config-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.app-shell{display:block}.sidebar{width:auto;padding:14px}.brand{padding-bottom:14px}.nav{display:flex;overflow:auto}.nav-item{min-width:104px;padding:9px}.nav-item small{display:none}.side-note{display:none}.main{padding:22px 14px}.topbar{display:block}.top-actions{margin-top:15px}.overview-grid{grid-template-columns:1fr}.section-head{display:block}.toolbar{margin-top:15px;display:grid;grid-template-columns:1fr 1fr}.toolbar input{min-width:0;grid-column:1/-1}.toolbar .button{grid-column:2}.stat-card{min-height:125px}.stat-card strong{font-size:30px}}
