:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#172b43;background:#f3f5f8;font-size:14px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}
button{min-height:44px;padding:10px 18px;border:1px solid #176454;border-radius:8px;background:#176454;color:#fff;cursor:pointer;font-weight:600}
button:disabled{opacity:.55;cursor:wait}button.secondary{background:#fff;color:#25453e;border-color:#cdd8df}button:hover{filter:brightness(.97)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #4d9bb2;outline-offset:3px}
.shell{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}
.shell>aside{background:#142b37;color:#eaf1f5;padding:30px 18px;display:flex;flex-direction:column;gap:14px}
.brand{font-size:25px;font-weight:750;letter-spacing:-1px}.shell>aside>p{color:#adbfca;margin:0}
nav{display:grid;gap:6px;flex:1;align-content:start;margin-top:18px}nav button{text-align:left;background:transparent;border:1px solid transparent;color:#e0eaf0;padding:12px}
nav button span{display:block}nav button small{display:block;color:#abc1cc;font-size:11px;font-weight:400;margin-top:3px}nav button.active{background:#244653;border-color:#426573;color:white}nav button.active small{color:#d0e5ed}
main{padding:32px 36px;min-width:0;max-width:1520px;width:100%;margin:0 auto}header{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:24px}
.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#59727e}h1{font-size:27px;line-height:1.25;letter-spacing:-.5px;margin:10px 0}h2{font-size:19px;line-height:1.5;margin:0 0 14px}h3{font-size:15px}
p{margin:10px 0 18px}.panel{background:white;border:1px solid #dde5eb;border-radius:12px;padding:26px;margin:18px 0;box-shadow:0 2px 5px #132c3908}
.muted,small,footer{color:#536675;line-height:1.65}.field{display:grid;gap:7px;margin:0 0 22px;font-size:13px;font-weight:600;align-content:start;min-width:0}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid #bdcbd5;border-radius:7px;background:#fff;color:#172b43;min-width:0}.field textarea{resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#73818d;font-size:12px}.field-hint{color:#586a78;font-size:12px;font-weight:400;line-height:1.7}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px;align-items:start}.form-step{border-top:1px solid #e6ecf0;padding-top:22px;margin-top:28px;margin-bottom:18px}
.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{padding:8px 12px;min-height:44px;font-size:12px}
.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;color:#526676;font-weight:600;white-space:nowrap;background:#f7f9fa}th,td{padding:15px 12px;border-bottom:1px solid #e5ebef;vertical-align:top}td{max-width:300px;overflow-wrap:anywhere}.empty{padding:32px 18px;color:#5b7080;text-align:center}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}.stats article{padding:22px;border:1px solid #e3e9ec;border-radius:10px;background:#f9fbfc}.stats span{display:block;color:#526a77}.stats strong{display:block;font-size:29px;margin-top:14px}
.error,.notice{padding:14px 18px;border-radius:8px;margin:14px 0;line-height:1.6}.error{background:#fff1ef;color:#a32c25;border:1px solid #f0ccc7}.notice{background:#e8f4ed;color:#236440}
.page-guide{background:#edf5f6;border:1px solid #cfe1e5;border-radius:12px;padding:24px 26px}.page-guide h2{font-size:19px;color:#214a52}.page-guide p{max-width:900px;color:#3d5864}.steps{border-top:1px solid #d2e1e6;padding-top:13px;font-size:13px;color:#2e555a}
.availability{background:#fff7e8;border:1px solid #ebd5a7;border-radius:8px;padding:14px 18px;color:#70521f;font-size:13px}
.shortcut-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.shortcut{display:grid;text-align:left;background:#fff;color:#244c54;border:1px solid #cadbe1;padding:18px;gap:6px}.shortcut span{font-size:12px;font-weight:400;color:#536c79}
.announcement-preview{display:block;background:#f6f9fa;color:#172b43;border:1px dashed #bacdd6;border-radius:10px;padding:20px;margin:10px 0 22px;overflow-wrap:anywhere}.announcement-preview>strong{font-size:12px;color:#536a78}.announcement-preview p{white-space:pre-wrap}
.operation-dialog{width:min(560px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #c9d9e2;border-radius:14px;padding:28px;color:#172b43;box-shadow:0 22px 90px #132a3940}
.operation-dialog::backdrop{background:#10293688}.operation-dialog p{overflow-wrap:anywhere}.operation-dialog .actions{justify-content:flex-end;margin-top:22px}
footer{font-size:12px;padding:20px 0}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px}.login-card{background:#fff;padding:38px;width:min(480px,100%);border:1px solid #e1e7eb;border-radius:16px;box-shadow:0 20px 70px #17334512}.login-card h1{margin:16px 0}.login-card>p{margin:0 0 28px}.login-card>button{width:100%;margin:8px 0 20px}.login-card small{font-size:12px}
.payload{white-space:pre-wrap;overflow-wrap:anywhere;max-height:480px;overflow:auto;padding:16px;background:#f3f5f8;border-radius:8px;font-size:12px;line-height:1.6}
@media(max-width:1000px){.shell{grid-template-columns:205px minmax(0,1fr)}main{padding:26px 22px}.form-grid{gap:0 18px}}
@media(max-width:800px){.shell{grid-template-columns:1fr}.shell>aside{padding:20px}nav{display:flex;flex-wrap:wrap;margin:0}nav button small{display:none}main{padding:24px 16px}.form-grid,.stats,.shortcut-grid{grid-template-columns:1fr}header{gap:16px;align-items:flex-start;flex-wrap:wrap}.panel,.page-guide{padding:20px}.login-card{padding:26px}.operation-dialog{padding:22px}h1{font-size:24px}}
