:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#20344d;background:#f4f7fb;font-size:14px}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}main{max-width:1160px;margin:36px auto;padding:0 24px}header,.section-head,.actions,footer{display:flex;align-items:center;justify-content:space-between;gap:16px}h1{font-size:28px;margin:8px 0}h2{font-size:18px;margin:0 0 14px}p{line-height:1.65;color:#61738a}.eyebrow{font-size:12px;letter-spacing:1px;color:#316ccf}.notice{padding:12px 16px;background:#edf3fe;border:1px solid #d5e3fb;border-radius:8px}section{padding:24px;background:white;border:1px solid #dde5ef;border-radius:12px;margin:20px 0}button,input{font:inherit}button{min-height:38px;border:1px solid #cdd9e8;border-radius:7px;background:white;color:#284c7a;padding:8px 14px;cursor:pointer}button:hover{background:#edf4ff}button:disabled{opacity:.6;cursor:wait}.primary{background:#306fe8;color:white;border-color:#306fe8}.primary:hover{background:#235ecb}input{width:100%;min-height:40px;border:1px solid #cbd8e7;border-radius:7px;padding:9px 12px;color:#20344d}input:focus,button:focus-visible,a:focus-visible{outline:2px solid #407fe9;outline-offset:2px}label{display:block;margin:14px 0;color:#516780}label input{margin-top:7px}form>label{max-width:450px}.search{max-width:320px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:800px}td,th{text-align:left;padding:12px;border-bottom:1px solid #e4eaf2}th{background:#f5f8fc;color:#60738c;font-weight:500}td small{display:block;margin-top:4px;color:#7a8b9e}td button{margin:2px 6px 2px 0}a{color:#286bdc}dialog{border:1px solid #dbe4ef;border-radius:12px;padding:24px;width:min(540px,calc(100vw - 24px));max-height:90vh}dialog::backdrop{background:#15223880}fieldset{border:1px solid #dde5ef;border-radius:8px;margin:18px 0;padding:12px 16px}fieldset label{display:flex;gap:10px;align-items:start}fieldset input{width:17px;min-height:17px;margin:2px 0}.error,#message.error{color:#ba3030;white-space:pre-wrap}#message{min-height:20px}footer{justify-content:flex-end;margin-top:22px}.role-cards{display:flex;gap:12px;flex-wrap:wrap}.role-card{padding:14px 18px;background:#f0f5fd;border-radius:8px;min-width:160px}.danger{color:#b33d3d}@media(max-width:650px){main{padding:0 12px;margin:20px auto}header,.section-head{align-items:flex-start;flex-wrap:wrap}section{padding:16px}}
