:root{font-family:"Microsoft YaHei",system-ui,sans-serif;color:#1c304b;background:#f3f6fb;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{border:1px solid #dbe3ef;background:white;color:#243c5b;border-radius:8px;padding:9px 16px;cursor:pointer}button:hover{border-color:#3979ed;color:#2564d9}button.primary,form button:not([type=button]){background:#2869df;color:white;border-color:#2869df}input,select{width:100%;padding:11px;border:1px solid #dbe3ef;border-radius:8px;background:white;color:#1c304b}input[type=checkbox]{width:auto}label{display:block;margin:15px 0 7px;color:#526581}label input,label select{margin-top:7px}h1{font-size:26px;margin:0 0 8px}h2{font-size:19px;margin:0 0 18px}p{color:#72829a}small{color:#7b8ba0}aside{position:fixed;inset:0 auto 0 0;width:200px;background:#192b43;color:white;padding:30px 18px}aside .brand{font-size:22px;margin:0 0 35px}nav button{display:block;background:transparent;color:#b5c4d8;border:0;width:100%;text-align:left;margin:8px 0;padding:13px 16px}nav button.active{background:#2869df;color:white}.asidefoot{position:absolute;bottom:25px;left:20px;right:20px;display:grid;gap:10px}.asidefoot button{background:transparent;color:#b5c4d8;border-color:#394b62}main{margin-left:200px;padding:36px 38px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}header p{margin:0}.auth{min-height:100vh;display:grid;place-items:center}.box{background:white;border:1px solid #e1e7f1;border-radius:18px;padding:38px;width:410px;box-shadow:0 15px 50px #23416610}.box .brand{color:#2869df;font-weight:bold;margin-bottom:25px}.box button{width:100%;margin:18px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:20px}.card{background:white;border:1px solid #e1e7f1;border-radius:14px;padding:24px;overflow:hidden}.card h2{display:flex;justify-content:space-between;gap:12px}.badge{font-size:12px;padding:5px 9px;border-radius:20px;background:#e7f6ed;color:#288555;white-space:nowrap}.badge.warn{background:#fff2d5;color:#af7511}.badge.off{background:#fce7e8;color:#b24450}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.metric{background:white;border-radius:12px;padding:22px;border:1px solid #e1e7f1}.metric strong{display:block;font-size:29px;margin-top:9px}.progress{background:#ebf0f7;height:7px;border-radius:8px;margin:18px 0;overflow:hidden}.progress div{height:100%;background:#3475e5}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}table{width:100%;border-collapse:collapse;background:white;text-align:left}th{font-size:12px;color:#6e8099;background:#f5f7fb}th,td{padding:13px 16px;border-bottom:1px solid #eaf0f6}td button{font-size:12px;padding:5px 8px;margin:2px}.tablewrap{overflow:auto;border:1px solid #e1e7f1;border-radius:12px}.error{color:#ba3e4d}.empty{padding:70px;text-align:center;color:#8190a4}.alert{background:#fff4de;border:1px solid #f0d6a0;padding:15px;border-radius:10px;margin-bottom:18px;color:#916321}#notice:not(:empty){padding:12px 18px;border-radius:8px;background:#eaf2ff;margin-bottom:20px}dialog{width:min(600px,95vw);border:0;border-radius:15px;padding:28px;box-shadow:0 20px 80px #10203a40}dialog::backdrop{background:#12233d55}.checks{display:grid;grid-template-columns:1fr 1fr}.checks label{margin:5px 0}.screenbody{background:#101f35;color:#e3edfc;padding:30px}.screenbody header{margin-bottom:25px}.screenbody .grid{grid-template-columns:repeat(var(--columns,2),minmax(0,1fr))}.screenbody .card{background:#1a2d49;border-color:#294262;color:#edf4ff}.screenbody table{background:transparent;font-size:20px}.screenbody th{background:#213855;color:#a6bbd8}.screenbody th,.screenbody td{border-color:#314665}.screenbody p,.screenbody small{color:#a9bed9}.screenbody h2{font-size:24px}.screenbody h1{font-size:32px}.screenbody .toolbar{margin:0}a{color:#2869df}pre{white-space:pre-wrap;word-break:break-all;background:#f3f6fb;padding:15px}#fresh{font-size:12px;color:#77869b}@media(max-width:850px){aside{width:160px}main{margin-left:160px;padding:20px}.metrics{grid-template-columns:1fr 1fr}.screenbody .grid{grid-template-columns:1fr}}

[hidden]{display:none!important}.screenbody{min-height:100vh}
.mobilebar{display:none}.grid>*{min-width:0}.tablewrap{max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}dialog{max-height:calc(100dvh - 32px);overflow:auto}dialog select{min-width:0}.card h2{align-items:center;flex-wrap:wrap}.card h2 .badge{font-weight:normal}#content,.toolbar>*{min-width:0}
@media(max-width:640px){
 body{overflow-wrap:anywhere}.auth{padding:24px 16px;min-height:100dvh}.box{width:100%;max-width:410px;padding:26px 22px}.box h1{font-size:24px}
 input,select{font-size:16px;min-height:44px}input[type=checkbox]{min-height:0;width:18px;height:18px;vertical-align:middle}button{min-height:44px}.mobilebar{display:flex;position:sticky;top:0;z-index:10;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#192b43;color:white;font-weight:bold;padding-top:max(10px,env(safe-area-inset-top))}.mobilebar button{background:#263e5b;color:white;border-color:#4a607c;min-width:72px}
 aside{position:static;width:auto;padding:8px 16px 18px;display:none}.nav-open aside{display:block}aside .brand{display:none}nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}nav button{margin:0;padding:12px;text-align:center}.asidefoot{position:static;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.asidefoot #account{grid-column:1/-1;font-size:13px;color:#b5c4d8}
 main{margin-left:0;padding:22px 16px max(24px,env(safe-area-inset-bottom))}header{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:20px}h1{font-size:24px}header p{font-size:13px;line-height:1.6}.metrics{gap:10px;margin-bottom:16px}.metric{padding:16px}.metric strong{font-size:26px}.grid{grid-template-columns:minmax(0,1fr);gap:16px}.card{padding:18px}.card h2{font-size:18px;gap:8px}.card p{line-height:1.6}.toolbar{flex-wrap:wrap;align-items:flex-start;gap:10px}.toolbar p{margin:0;line-height:1.6}.toolbar>button{margin-left:auto}th,td{padding:11px 12px}.tablewrap table{min-width:620px}.card .tablewrap table,dialog .tablewrap table{min-width:0}.tablewrap th{white-space:nowrap}td button{min-height:40px;padding:8px 10px}.actions{gap:8px}.actions button{flex:1;min-width:110px}.empty{padding:36px 16px;line-height:1.8}.alert{font-size:13px;line-height:1.7}#notice{line-height:1.6}
 dialog{width:calc(100vw - 24px);max-width:600px;padding:22px 18px;margin:auto;max-height:calc(100dvh - 24px)}dialog h2{font-size:20px}.checks{grid-template-columns:1fr}.checks label{padding:8px 0}dialog .actions{position:sticky;bottom:-22px;background:white;padding:12px 0 4px}.screenbody{padding:20px 14px}.screenbody header{gap:14px}.screenbody h1{font-size:25px}.screenbody h2{font-size:20px}.screenbody .grid{grid-template-columns:minmax(0,1fr)}.screenbody table{font-size:17px}.screenbody th,.screenbody td{padding:12px 8px}.screenbody .toolbar{width:100%;justify-content:space-between}.screenbody .card{padding:16px}
}

@media(min-width:641px) and (max-height:700px){aside{overflow-y:auto}.asidefoot{position:static;margin-top:24px}}
