.icp-footer{font-size:12px;position:fixed;bottom:5px;right:12px}.icp-footer a{color:#8791a2;text-decoration:none}:root{color:#172033;font-synthesis:none;--blue:#2864dc;--line:#e4e9f2;--muted:#687386;background:#f5f7fb;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}.auth{background:radial-gradient(circle at 50% 0,#e6efff,#0000 42%),#f5f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--line);background:#fff;border-radius:22px;gap:11px;width:min(100%,420px);padding:34px;display:grid;box-shadow:0 24px 70px #2e41641f}.auth-card h1{margin:5px 0 0;font-size:27px}.auth-card p{color:var(--muted);margin:0 0 10px;line-height:1.6}.logo{background:var(--blue);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.auth-card label{margin-top:5px;font-size:14px;font-weight:700}.auth-card input{border:1px solid var(--line);border-radius:11px;outline:none;height:48px;padding:0 14px}.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #2864dc1a}button,.link-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:11px;place-items:center;min-height:48px;margin-top:8px;font-weight:700;text-decoration:none;display:grid}.secondary{color:var(--blue);background:#edf3ff}.error{font-size:13px;color:#c33535!important}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.shell aside{border-right:1px solid var(--line);background:#fff;flex-direction:column;padding:22px 16px;display:flex}.brand{align-items:center;gap:10px;padding:4px 8px 24px;display:flex}.brand span{background:var(--blue);color:#fff;border-radius:10px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.shell nav{gap:4px;display:grid}.shell nav a{color:#566176;border-radius:9px;padding:11px 13px;font-size:14px;font-weight:650;text-decoration:none}.shell nav a.router-link-exact-active{color:var(--blue);background:#edf3ff}.logout{color:#667085;background:#f3f5f8;margin-top:auto}.shell main{min-width:0}.shell header{border-bottom:1px solid var(--line);height:72px;color:var(--muted);background:#fff;justify-content:flex-end;align-items:center;padding:0 30px;font-size:14px;display:flex}.shell main>section{padding:30px}.shell main h1{margin:0 0 10px}.muted{color:var(--muted)}.page-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.page-title p{margin:6px 0}.panel{border:1px solid var(--line);background:#fff;border-radius:15px;margin:0 0 18px;padding:22px}.panel h2{margin:0 0 16px;font-size:17px}.grid-form{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.grid-form input,.inline input,.panel>input,.page-title select{border:1px solid var(--line);border-radius:9px;min-height:42px;padding:0 12px}.inline{gap:10px;display:flex}.inline input{flex:1}.inline button,.small{min-height:42px;margin:0;padding:0 14px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:700px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 10px;font-size:14px}th{color:var(--muted);font-size:12px}.badge{color:#245abd;background:#edf3ff;border-radius:7px;padding:5px 8px;font-size:12px;display:inline-block}.warning{color:#9a6100;font-size:12px}.confirm{align-items:center;gap:4px;margin:0 7px;font-size:12px;display:inline-flex}.lookup-result,.detail-grid{align-items:center;gap:24px;margin-top:16px;display:flex}.detail-grid>div{gap:5px;display:grid}.actions{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.actions button{padding:0 15px}.danger-button{background:#c43b3b}.timeline{gap:12px;padding-left:20px;display:grid}.timeline li{padding-left:5px}.timeline time{color:var(--muted);margin-top:3px;font-size:12px;display:block}@media (width<=760px){.shell{grid-template-columns:1fr}.shell aside{border-right:0;border-bottom:1px solid var(--line);position:static}.shell nav{grid-template-columns:repeat(2,1fr)}.logout{margin-top:16px}.shell header{display:none}.grid-form{grid-template-columns:1fr}.page-title{flex-direction:column;align-items:flex-start}.panel{padding:16px}}.cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:18px;display:grid}.cards article{border:1px solid var(--line);background:#fff;border-radius:14px;gap:8px;padding:20px;display:grid}.cards span{color:var(--muted);font-size:13px}.cards b{font-size:24px}.chart{align-items:flex-end;gap:12px;min-height:170px;display:flex;overflow:auto}.chart>div{justify-items:center;gap:5px;min-width:58px;display:grid}.chart i{background:var(--blue);border-radius:6px 6px 2px 2px;width:24px;display:block}.chart span,.chart b{white-space:nowrap;font-size:11px}.generate-panel{grid-template-columns:minmax(220px,.8fr) minmax(420px,1.6fr);align-items:end;gap:24px;display:grid}.generate-panel p{margin:6px 0 0}.record-toolbar{align-items:center;gap:10px;margin-bottom:18px;display:flex}.record-toolbar>div{margin-right:auto}.record-toolbar h2,.record-toolbar p{margin:0}.record-toolbar input,.record-toolbar select{border:1px solid var(--line);background:#fff;border-radius:9px;min-height:42px;padding:0 11px}.records{gap:12px;display:grid}.record-card{border:1px solid var(--line);background:#fff;border-radius:13px;padding:18px}.record-main{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.record-main h3{margin:0 0 7px}.record-main p{margin:0}.status-counts{grid-template-columns:repeat(4,minmax(92px,1fr));gap:9px;margin:16px 0;display:grid}.status-counts span{color:var(--muted);background:#f6f8fc;border-radius:10px;align-items:baseline;gap:6px;padding:11px;font-size:12px;display:flex}.status-counts b{color:#172033;font-size:19px}.record-actions{flex-wrap:wrap;gap:8px;display:flex}.record-actions button{margin:0}.record-hint{margin:10px 0 0;font-size:12px}.notice{color:#245abd;background:#edf3ff;border-radius:9px;padding:10px 12px}.empty-state{text-align:center;color:var(--muted);padding:30px}.load-more{width:100%;margin-top:14px}@media (width<=900px){.generate-panel{grid-template-columns:1fr}.record-toolbar{flex-direction:column;align-items:stretch}.record-toolbar>div{margin-right:0}.status-counts{grid-template-columns:repeat(2,1fr)}}.generate-form{grid-template-columns:minmax(180px,1fr) auto}.generate-form .error{grid-column:1/-1}.code-table{min-width:760px}.code-table th:first-child,.code-table td:first-child{text-align:center;width:46px}.code-table code{color:#10244a;letter-spacing:.3px;font-family:SFMono-Regular,Consolas,monospace;font-size:14px}.code-table input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue)}.pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;display:flex}.pagination label{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;margin-top:16px;font-size:13px;display:flex}.pagination select{border:1px solid var(--line);background:#fff;border-radius:8px;min-height:36px}.pagination button{margin:0}.type-list{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.type-item{border:1px solid var(--line);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:8px 10px;display:flex}.type-item code{color:var(--muted)}
