:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#17243d;background:#f3f7fc}*{box-sizing:border-box}body{margin:0}main{max-width:1500px;margin:auto;padding:20px}header{height:58px;background:#15315c;color:#fff;border-radius:14px;padding:0 20px;display:flex;align-items:center;justify-content:space-between}header strong{font-size:20px}header span{margin-left:14px;opacity:.72;font-size:13px}nav{display:flex;gap:8px;margin:14px 0}button{border:0;border-radius:8px;background:#2877e8;color:#fff;padding:9px 15px;cursor:pointer}button.ghost{background:#ffffff20}.card{background:#fff;border:1px solid #dfe8f4;border-radius:14px;padding:17px;margin-bottom:14px;box-shadow:0 5px 20px #274d7a0c}.login{max-width:410px;margin:12vh auto;text-align:center}.login input{display:block;width:100%;margin:10px 0;padding:12px;border:1px solid #cad8e9;border-radius:8px}.login button{width:100%;margin-top:7px}.login b{display:block;color:#d33;margin-top:10px;font-size:13px}.line{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0}.line input,.line select{padding:8px;border:1px solid #cbd8e8;border-radius:7px;min-width:75px}.checks{display:flex;gap:15px;flex-wrap:wrap;margin:15px 0}.checks label{background:#f0f5fc;padding:7px 10px;border-radius:8px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.metrics div{background:#fff;border-radius:14px;padding:20px;border:1px solid #dfe8f4}.metrics small{display:block;color:#62728a}.metrics strong{display:block;font-size:30px;margin-top:8px}.grid4{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.grid4 .card{min-height:215px}.table{overflow:auto;font-size:12px}.table table{width:100%;border-collapse:collapse;white-space:nowrap}.table th,.table td{border-bottom:1px solid #edf1f7;padding:7px;text-align:left}.table th{color:#6b7d95;background:#f8fafd}.hint{color:#718198;font-size:13px}.error{color:#c33}pre{white-space:pre-wrap;color:#506178;font-size:12px;max-height:220px;overflow:auto}code{display:block;margin:15px 0;color:#c44;word-break:break-all}#toast{position:fixed;right:18px;bottom:18px;background:#17243d;color:white;padding:11px 16px;border-radius:9px;display:none}@media(max-width:900px){.metrics,.grid4{grid-template-columns:1fr}.line{align-items:stretch}.line>*{max-width:100%}}
/* Keep configuration compact and usable while background data refreshes. */
[hidden]{display:none!important}fieldset{border:0;padding:0;margin:0;min-width:0}button:disabled{opacity:.5;cursor:wait}button.secondary{background:#eaf0f8;color:#304767}button.danger{background:#b83b48}.line input[type=number]{width:92px;min-width:0}.line label{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.line select{max-width:320px}.line input{max-width:100%}.line label input{flex-shrink:0}.checks input{accent-color:#2877e8}.pager{display:flex;gap:10px;align-items:center;margin-top:12px}.pager button{padding:5px 9px}.table td{max-width:160px;overflow:hidden;text-overflow:ellipsis}.table{max-height:440px}nav{flex-wrap:wrap}nav button[aria-current=page]{background:#15315c}#upDraft,#ckDraft{min-height:20px}#refreshStatus{display:inline-block;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#ckValue{min-width:240px;flex:1}input:focus,select:focus,button:focus-visible{outline:2px solid #2877e8;outline-offset:2px}#toast{max-width:90vw}

.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid4>.card{min-width:0}header>div{min-width:0}header>button{flex-shrink:0}#line{min-width:0}@media(max-width:900px){.grid4{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){main{padding:10px}header{height:auto;min-height:64px;padding:10px 12px}header span{display:block;margin:4px 0 0}#refreshStatus{max-width:100%;font-size:12px}.card{padding:12px}.line select{width:100%}.pager{gap:6px}.pager button{white-space:nowrap}}
