:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#25334b;background:#f5f7fa;font-size:14px;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a{transition:background .15s}button{cursor:pointer;background:white;border:1px solid #dce2eb;color:#34425a;padding:9px 15px;border-radius:7px;white-space:nowrap}button:hover{background:#f0f4f9}button:disabled{cursor:default;opacity:.4}button.primary{background:#2563eb;border-color:#2563eb;color:white}button.primary:hover{background:#1d4ed8}button.danger{background:#be3441;border-color:#be3441;color:white}a{color:#2563eb;text-decoration:none}input,select,textarea{padding:10px 12px;border:1px solid #dce2eb;border-radius:7px;background:white;color:#25334b;min-width:0}input:focus,textarea:focus,select:focus{outline:2px solid #b6d1ff;outline-offset:1px}label{display:block}label>input:not([type=checkbox]),label>textarea{display:block;width:100%;margin-top:9px}.sidebar{width:220px;background:#17243b;color:#d3dfef;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:32px 20px}.brand{display:flex;align-items:center;gap:12px;color:white;font-size:22px;font-weight:700}.brand-symbol{display:inline-grid;place-items:center;width:40px;height:40px;background:#3869ed;color:white;border-radius:10px;font-size:23px;font-weight:700}.brand-sub{display:block;font-size:12px;color:#93a7c6;font-weight:400;margin-top:2px}.nav-label{color:#8295b3;font-size:11px;letter-spacing:2px;margin:44px 12px 15px}.sidebar nav{display:grid;gap:7px}.sidebar nav button{display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;color:#aebfd7;padding:13px 12px}.sidebar nav button span{width:17px;font-size:18px}.sidebar nav button:hover{background:#203451}.sidebar nav button.selected{background:#293f64;color:white}.sidebar-foot{margin-top:auto;font-size:12px;padding:18px 8px 0;border-top:1px solid #30415b;color:#c4d2e5}.sidebar-foot small{display:block;color:#8295b3;padding-top:10px}.sidebar-foot button{margin-top:12px;background:transparent;border-color:#3c4f6a;color:white}.status-dot{display:inline-block;width:7px;height:7px;background:#56d49b;border-radius:50%;margin-right:8px}.workspace{margin-left:220px;padding:38px 40px;max-width:1800px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:#8190a7;margin:0 0 10px}h1{font-size:27px;letter-spacing:-.5px;margin:0}h2{font-size:19px;margin:0}.muted{color:#768398;line-height:1.6;margin:9px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:23px}.stats article{background:white;border:1px solid #e3e8ef;border-radius:10px;padding:21px 24px}.stats article>span{display:block;font-size:12px;color:#8390a2}.stats strong{display:block;margin-top:12px;font-size:29px;font-weight:600;font-variant-numeric:tabular-nums}.notice{display:flex;gap:13px;align-items:center;background:#edf4ff;border:1px solid #dbe7fb;border-radius:8px;color:#527198;font-size:12px;padding:12px 16px;margin-bottom:20px}.notice b{color:#3162ab}.panel{background:white;border:1px solid #e2e7ee;border-radius:10px;overflow:hidden}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:19px 22px;border-bottom:1px solid #edf0f5}.search-label{display:flex;align-items:center;gap:9px;flex:1;max-width:510px;background:#f8fafc;border:1px solid #e2e7ee;border-radius:7px;padding:0 12px}.search-label span{font-size:24px;color:#8291a5}.search-label input{background:transparent;border:0;width:100%;padding:10px 0;margin:0}.search-label input:focus{outline:0}#audit-filters{display:flex;gap:8px}#audit-filters[hidden]{display:none}.table-container{overflow:auto;min-height:280px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{background:#fbfcfe;color:#8995a7;font-size:11px;letter-spacing:.2px;font-weight:500;padding:14px 20px;white-space:nowrap;border-bottom:1px solid #e8ecf2}td{padding:17px 20px;border-bottom:1px solid #edf0f5;vertical-align:middle}tr:last-child td{border-bottom:0}tr:hover td{background:#fafcff}td strong{font-weight:600;font-size:13px}td small{display:block;color:#8a97aa;font-size:11px;line-height:1.5;margin-top:5px}code{font-family:Consolas,monospace;font-size:11px;color:#7c8a9f;overflow-wrap:anywhere}.badge{display:inline-block;padding:4px 8px;border-radius:5px;font-size:11px;white-space:nowrap}.badge.green{background:#e9f7ef;color:#35845b}.badge.red{background:#fdecef;color:#b64d5d}.badge.gray{background:#eff2f6;color:#7b8797}.actions{display:flex;gap:6px}.actions button,.actions a{border:0;background:transparent;color:#356bbb;padding:5px 6px;font-size:12px;border-radius:4px}.actions button:hover,.actions a:hover{background:#edf3ff}.actions .red-text{color:#ba5361}.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-top:1px solid #edf0f5;font-size:12px;color:#8a95a5}.pagination>div{display:flex;gap:14px;align-items:center}.pagination button{font-size:12px;padding:6px 10px}.footnote{font-size:11px;color:#8d99ab;line-height:1.8;margin-top:20px}.empty{display:grid;place-content:center;min-height:280px;text-align:center;color:#8a98ad;gap:10px}.empty b{color:#5f718c;font-size:16px;font-weight:500}.empty span{max-width:500px;line-height:1.7}.empty button{margin:5px auto;width:max-content}dialog{border:1px solid #dce3ed;border-radius:12px;box-shadow:0 25px 90px #17243b33;padding:28px;width:min(520px,90vw);max-height:85vh}dialog::backdrop{background:#15243b66}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:15px}.dialog-head button{border:0;font-size:23px;padding:0 5px;color:#8593a6}dialog label{margin-top:20px;color:#506078}.checkbox{display:flex;align-items:center;gap:9px}.checkbox input{width:16px;height:16px}.dialog-note{font-size:12px;background:#f6f8fb;color:#7d8ba1;padding:12px 14px;line-height:1.8;border-radius:7px;margin-top:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}dl{font-size:12px;line-height:1.8}dt{color:#8a97ab;margin-top:13px}dd{margin:3px 0;overflow-wrap:anywhere;color:#40516d}#toast{position:fixed;bottom:24px;right:30px;z-index:10;max-width:500px;background:#20324e;color:white;padding:14px 20px;border-radius:8px;box-shadow:0 8px 30px #18233b30}.login-page{display:grid;place-items:center;min-height:100vh}.login-card{width:min(410px,90vw);padding:34px;background:white;border:1px solid #e2e7ef;border-radius:12px}.login-card .brand-symbol{margin-bottom:23px}.login-card h1{font-size:23px}.login-card form{margin-top:28px}.login-card .primary{width:100%;margin-top:22px}.form-error{color:#b64d5d;font-size:12px}@media(max-width:1000px){.sidebar{width:180px;padding:25px 12px}.workspace{margin-left:180px;padding:28px 22px}td,th{padding-left:13px;padding-right:13px}.stats article{padding:18px}}@media(max-width:700px){.sidebar{position:static;width:auto;padding:16px}.brand{font-size:19px}.brand-symbol{width:32px;height:32px}.nav-label,.sidebar-foot{display:none}.sidebar nav{display:flex;overflow:auto;margin-top:15px;gap:2px}.sidebar nav button{padding:9px;font-size:12px}.sidebar nav button span{display:none}.workspace{margin:0;padding:24px 15px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stats strong{font-size:25px}.notice{line-height:1.7;align-items:flex-start}.toolbar{padding:15px}header{align-items:flex-start}h1{font-size:24px}.pagination{padding:14px}.footnote{font-size:11px}}

.login-card form label+label{margin-top:20px}@media(max-width:700px){.sidebar-foot{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 0 0}.sidebar-foot small{padding-top:0}.sidebar-foot button{margin-top:0;margin-left:auto}}
