:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#18253c;background:#f4f6fb;font-size:14px}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;gap:12px;background:white;border-bottom:1px solid #e2e7f0;padding:20px max(20px,calc((100% - 1240px)/2));min-width:300px}header strong{font-size:20px}header small{display:block;color:#7a879b;margin-top:4px}header button{margin-left:auto}.logo{font-size:34px}main{max-width:1280px;margin:30px auto;padding:0 20px}h1{font-size:26px;margin:0 0 10px}h2{font-size:18px;margin:0 0 18px}h3{font-size:16px}p{color:#6c7990;line-height:1.8}.card{border:1px solid #e2e7f0;background:#fff;border-radius:16px;padding:25px;margin-bottom:24px;box-shadow:0 4px 12px #253b6904}#login-card{max-width:450px;margin:70px auto}label{display:flex;flex-direction:column;gap:9px;font-weight:600;margin-bottom:18px}input,select,textarea{font:inherit;color:inherit;width:100%;min-width:0;padding:12px;border:1px solid #dce3ef;background:#fbfcff;border-radius:8px}input:focus,textarea:focus,select:focus{outline:2px solid #8caaff;outline-offset:1px}button{font:inherit;border:1px solid #dce3ef;border-radius:8px;background:white;color:#344a6b;padding:10px 15px;cursor:pointer;white-space:nowrap}button:hover{background:#f1f5ff}button:disabled{opacity:.5;cursor:default}.primary{background:#3566ee;color:white;border-color:#3566ee}.primary:hover{background:#2857db}.fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px}.intro{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.intro p{margin:0}.intro h2{margin:0}#search{display:flex;gap:8px;max-width:400px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}#issued{background:#f3f7ff;border:1px solid #cddaff;border-radius:12px;padding:20px;margin-top:24px}#codes{font-family:Consolas,monospace}#summary{color:#748199;margin-bottom:14px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:850px;text-align:left}th{font-weight:500;color:#8390a4;font-size:13px;background:#f8faff}th,td{padding:16px 12px;border-bottom:1px solid #edf0f6}td small{display:block;color:#8390a4;margin-top:7px;font-size:12px}td .buttons{display:flex;gap:6px;flex-wrap:wrap;max-width:260px}td button{padding:7px 10px;font-size:12px}.badge{border-radius:6px;padding:5px 8px;background:#edf2fa;color:#58708d;white-space:nowrap}.badge.active{color:#138769;background:#e7f7f1}.badge.disabled,.badge.expired{color:#b64949;background:#fcecec}.device{font-family:Consolas,monospace;max-width:155px;overflow-wrap:anywhere;font-size:12px}.pager{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:20px}#message{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:90%;padding:14px 22px;background:#1e355b;color:white;border-radius:10px;box-shadow:0 5px 20px #1234;z-index:30}#message:empty{display:none}#message.error{background:#a74343}dialog{border:1px solid #dce3ef;border-radius:16px;max-width:480px;width:90%;padding:28px}dialog::backdrop{background:#152c4e66}dialog h2{margin-bottom:8px}.audit-row{padding:12px 0;border-bottom:1px solid #edf0f6;color:#63758f;font-size:13px}.audit-row strong{color:#283d5c;margin-left:12px}footer{text-align:center;color:#8b97aa;font-size:12px;padding:5px 20px 25px}[hidden]{display:none!important}@media(max-width:700px){header{padding:16px}header strong{font-size:18px}main{margin:20px auto;padding:0 12px}.card{padding:18px;border-radius:12px}.fields{grid-template-columns:1fr 1fr}.fields label:first-child{grid-column:1/-1}.intro{align-items:flex-start;flex-wrap:wrap}#search{width:100%;max-width:none}.intro h1{font-size:23px}.table-wrap{margin:0 -8px}#login-card{margin:45px auto}.device{max-width:120px}}
.logo{width:44px;height:44px;border-radius:10px;object-fit:contain}
@media(max-width:700px){.table-wrap table{min-width:0;display:block}.table-wrap thead{display:none}.table-wrap tbody{display:block}.table-wrap tr{display:block;border:1px solid #e5eaf3;border-radius:10px;margin:0 0 14px;padding:5px 12px}.table-wrap td{display:block;padding:12px 0;overflow-wrap:anywhere}.table-wrap td::before{content:attr(data-label);display:block;color:#8b97aa;font-size:11px;margin-bottom:8px}.table-wrap td:last-child{border:0}.table-wrap .device{max-width:none}.table-wrap td .buttons{max-width:none}.table-wrap td button{padding:9px 12px}.table-wrap td strong{font-size:15px}}
