:root{font-family:Inter,"Microsoft YaHei",sans-serif;color:#183044;background:#f4f7fa}
*{box-sizing:border-box}body{margin:0}main{max-width:1220px;margin:auto;padding:24px}
header{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px}
h1{margin:8px 0;font-size:28px}h2{margin:0 0 12px;font-size:20px}p{line-height:1.6;color:#52677a}
a{color:#216f9c;text-decoration:none}.panel{background:white;border:1px solid #dbe5ed;border-radius:14px;padding:20px;margin:16px 0;box-shadow:0 3px 14px #1830440a}
label{display:grid;gap:6px;margin:10px 0;font-weight:600}select,input,textarea{font:inherit;min-height:40px;padding:8px;border:1px solid #b9cad7;border-radius:8px;max-width:100%}
select{width:min(100%,520px)}textarea{min-height:88px;width:100%}button{font:inherit;background:#176e92;color:#fff;border:0;border-radius:8px;padding:10px 15px;cursor:pointer;min-height:40px}
button:hover{background:#0e5574}button:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}
.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:680px}th,td{text-align:left;border-bottom:1px solid #e2e9ef;padding:10px}th{color:#536b7c;background:#f7fafc}
#message:not(:empty){padding:11px 14px;border-radius:8px;background:#e8f4f8;color:#154b63}#message.error{background:#fff0ee;color:#9f3327}
dialog{border:0;border-radius:14px;box-shadow:0 24px 70px #102c4260;width:min(560px,calc(100% - 20px));padding:22px}dialog::backdrop{background:#102c4280}
.summary{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}.summary span{padding:7px 10px;background:#eef4f8;border-radius:7px}
.blocked{color:#a13c30}.ok{color:#18734c}
@media(max-width:640px){main{padding:12px}.panel{padding:14px}header{align-items:end}h1{font-size:23px}}
