*{box-sizing:border-box}body{margin:0;padding:20px 12px 48px;background:#f5f7fb;color:#17243a;font:15px/1.55 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}main{max-width:1160px;margin:auto}h1{font-size:25px;margin:0}h2{font-size:18px;margin:0 0 14px}p{margin:6px 0;color:#53657e}.top{display:flex;align-items:center;justify-content:space-between;gap:16px}.top a{white-space:nowrap}.card{background:white;border:1px solid #e1e7f0;border-radius:15px;padding:20px;margin:15px 0;box-shadow:0 5px 18px #15243b08}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.full{grid-column:1/-1}label{display:block;font-size:13px;font-weight:650;margin-bottom:5px}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #cbd5e2;border-radius:8px;background:white;color:#17243a;font:inherit}textarea{min-height:85px;resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #b8d3ff;border-color:#3b73d1}.actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}button{padding:9px 14px;border:1px solid #c8d2df;border-radius:8px;background:white;color:#233a5f;font:inherit;font-weight:650;cursor:pointer}button.primary{background:#1659b7;border-color:#1659b7;color:white}button:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:13px}.status{min-height:26px;white-space:pre-wrap;color:#a0442d;margin-top:10px}.status.ok{color:#17613b}.wrap{overflow-x:auto}table{width:100%;min-width:900px;border-collapse:collapse;font-size:14px}th,td{padding:9px;border-bottom:1px solid #e5e9ef;text-align:left;vertical-align:top}th{background:#f4f7fb}td{overflow-wrap:anywhere}td button{padding:5px 9px}.small{font-size:12px;color:#6b7990}.empty{text-align:center;color:#6f7d91;padding:20px}.pill{background:#e9f4ec;color:#1f6b42;padding:3px 7px;border-radius:20px;display:inline-block}.danger{color:#9a3c2d}.toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}dialog{border:1px solid #d7e0eb;border-radius:14px;max-width:720px;width:calc(100% - 24px);padding:20px;box-shadow:0 18px 50px #17243a40}dialog::backdrop{background:#17243a88}@media(max-width:700px){.grid,.toolbar{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:15px}.top{align-items:flex-start}button{flex:1 1 130px}}
