:root{font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;color:#172033;background:#f4f6fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:230px;background:#111d39;color:#fff;padding:36px 24px;position:fixed;inset:0 auto 0 0}.logo{display:grid;place-items:center;width:52px;height:52px;background:#5474ff;border-radius:16px;font-size:30px;font-weight:800}aside h1{font-size:23px;margin:20px 0 6px}aside p{color:#a2b1cf;font-size:13px}nav{margin-top:42px;padding:14px;background:#25355a;border-radius:10px;font-size:14px}.aside-bottom{position:absolute;bottom:28px;color:#a2b1cf;font-size:12px}main{margin-left:230px;padding:40px;max-width:1700px;width:calc(100% - 230px)}header,.section-title{display:flex;justify-content:space-between;align-items:center;gap:16px}header small{letter-spacing:2px;color:#65769e}h2{font-size:28px;margin:12px 0}p,small{color:#718096}h3{margin:0 0 22px;font-size:17px}.panel{background:white;border:1px solid #e5eaf2;border-radius:16px;padding:26px;margin-top:24px;box-shadow:0 4px 22px #17203304}.login{max-width:440px;margin:60px auto}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:25px}.metric{background:white;border-radius:14px;padding:22px;border:1px solid #e5eaf2}.metric strong{display:block;font-size:32px;margin-top:15px}.metric span{color:#718096;font-size:13px}button,input{font:inherit;border:1px solid #dbe1ed;border-radius:8px;padding:10px 13px}button{background:#fff;cursor:pointer;color:#34425d}button:hover{background:#eef2ff}button:disabled{opacity:.5;cursor:wait}.primary{background:#315de9;color:white;border-color:#315de9}.primary:hover{background:#244ac7}input{min-width:0;background:#fff;color:#172033}input:focus{outline:2px solid #b7c5ff}label{display:grid;gap:9px;margin-bottom:18px;font-size:14px}label small{font-size:12px;line-height:1.5}.actions{display:flex;gap:10px;align-items:center}.section-title h3{margin:0}.table-wrap{overflow:auto;margin-top:24px}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:13px}th{color:#78849c;font-weight:500;background:#f8f9fc}th,td{padding:16px 12px;border-bottom:1px solid #edf0f6}td strong,td small{display:block}td small{margin-top:5px}.badge{display:inline-block;padding:5px 9px;border-radius:5px;background:#eff2f8;color:#74829b}.active{background:#e5f7ee;color:#187a52}.expired{background:#fff1dc;color:#9b660c}dialog{border:1px solid #dbe1ed;border-radius:18px;padding:30px;width:min(470px,94vw);max-height:90vh}dialog::backdrop{background:#15213c77}dialog .actions{justify-content:flex-end}.checkbox{display:flex;align-items:center}#notice,#form-error{color:#ae392a;white-space:pre-wrap}#audit{list-style:none;padding:0;color:#718096;font-size:13px;line-height:2}[hidden]{display:none!important}@media(max-width:1000px){aside{width:170px;padding:24px 16px}main{margin-left:170px;width:calc(100% - 170px);padding:24px}.stats{grid-template-columns:repeat(3,1fr)}.section-title{align-items:flex-start;flex-direction:column}}@media(max-width:650px){aside{display:none}main{margin:0;width:100%;padding:18px}.stats{grid-template-columns:repeat(2,1fr)}header{align-items:flex-start}.actions{flex-wrap:wrap}h2{font-size:23px}}
