:root{font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:#202b3d;background:#f4f6fa;font-size:15px}*{box-sizing:border-box}body{margin:0}header,main{max-width:1240px;margin:auto;padding:28px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe5ee}h1{font-size:28px;margin:8px 0}h2{font-size:19px;margin:0 0 20px}small{font-size:11px;letter-spacing:2px;color:#66758a}nav,.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}a{color:#315be0;text-decoration:none}button{border:0;border-radius:8px;padding:10px 15px;background:#315be0;color:white;cursor:pointer;font:inherit}button:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:wait}.secondary{background:#eaf0fa;color:#244273}.danger{background:#ffebeb;color:#b62434}.card{background:white;border:1px solid #e1e6ef;border-radius:14px;padding:24px;margin:18px 0;overflow:auto}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}label{display:block;color:#526078;font-size:13px}input,textarea,select{display:block;width:100%;border:1px solid #d5ddeb;border-radius:7px;padding:10px;margin:7px 0 14px;font:inherit;background:white;color:#202b3d}textarea{min-height:100px}input[type=checkbox]{display:inline;width:auto;margin:8px}table{width:100%;border-collapse:collapse;white-space:nowrap}td,th{text-align:left;padding:14px 12px;border-bottom:1px solid #edf0f5}th{font-size:12px;color:#718097}p{line-height:1.7}#notice{color:#b62434;white-space:pre-wrap;overflow-wrap:anywhere}.intro{color:#62718a;line-height:1.8}.stat{font-size:22px;font-weight:600;color:#244273}.muted{color:#718097;font-size:13px}.pill{padding:4px 9px;background:#edf2ff;border-radius:20px;font-size:12px}dialog{border:1px solid #dfe5ee;border-radius:16px;width:min(840px,94vw);max-height:90vh;padding:28px}dialog::backdrop{background:#17213866}pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.login{max-width:430px;margin:12vh auto;background:white;border:1px solid #e1e6ef;border-radius:16px}#error{color:#b62434}form>.actions{margin-top:12px}@media(max-width:650px){header,main{padding:16px}header{align-items:flex-start}h1{font-size:23px}.card{padding:17px}dialog{padding:18px}td,th{padding:10px 8px}}
