*{box-sizing:border-box}body{margin:0;background:#f1f4f3;color:#17231f;font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif}.hidden{display:none!important}.shell{max-width:1180px;margin:auto;padding:34px 20px 70px}.login{max-width:430px;margin:7vh auto}.brand{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#102c24;color:white;font:700 22px Georgia;margin-bottom:18px}.card{background:white;border:1px solid #d8dfdc;border-radius:18px;box-shadow:0 12px 36px rgba(18,42,34,.06)}.login .card{padding:34px}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#4a7567;margin-bottom:8px}h1,h2{font-family:Georgia,"Noto Serif CJK SC",serif;margin:0}h1{font-size:34px}h2{font-size:22px}p{color:#64716c;line-height:1.65}label{display:grid;gap:7px;margin-top:18px;font-size:13px;font-weight:700}label small{font-weight:400;color:#75817d}input,select,button,textarea{font:inherit}input,select{height:45px;width:100%;border:1px solid #cbd4d0;border-radius:9px;padding:0 12px;background:#fbfcfb;outline:none}input:focus,select:focus{border-color:#307961;box-shadow:0 0 0 3px rgba(48,121,97,.14)}button{height:40px;padding:0 14px;border:1px solid #cbd4d0;border-radius:9px;background:#f7f9f8;color:#20302a;font-weight:750;cursor:pointer}.primary{background:#17684e;border-color:#17684e;color:white}.login button{width:100%;margin-top:24px}.message{min-height:20px;margin-top:12px;font-size:13px;color:#17684e}.error{color:#b33a34}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.head-actions{display:flex;gap:9px;align-items:center}.badge{font-size:12px;background:#e5ebe8;padding:7px 10px;border-radius:999px;color:#50615a}.badge.ok{background:#dff1e8;color:#176044}.notice{display:flex;align-items:center;justify-content:space-between;background:#fff2c9;border:1px solid #e6cc75;border-radius:12px;padding:14px 16px;margin-bottom:18px}.notice div{display:grid;gap:4px}.notice span{font-size:13px;color:#6b6040}.layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:20px}.main-card{padding:26px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.monitor-list,.check-list{display:grid;gap:11px}.monitor{border:1px solid #dbe1df;border-radius:13px;padding:16px;background:#fbfcfb}.monitor.off{opacity:.65}.monitor-top{display:flex;justify-content:space-between;gap:12px}.monitor-title{display:flex;align-items:center;gap:8px}.monitor-title strong{font-size:16px}.pill{font-size:11px;padding:5px 7px;border-radius:999px;background:#e3f2ea;color:#176044}.pill.warn{background:#fff0d7;color:#8b5a15}.pill.error{background:#fbe2df;color:#a73832}.route{font:13px ui-monospace,SFMono-Regular,Consolas,monospace;color:#49635a;margin-top:6px}.meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.meta span{font-size:11px;padding:5px 7px;background:#edf1ef;border-radius:7px;color:#52635d}.monitor-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.monitor-actions button{height:34px;font-size:12px}.danger{color:#aa352f;border-color:#e2b9b5;background:#fff8f7}aside{display:grid;gap:20px;align-content:start}.stats,.history{padding:22px}.stat{display:flex;justify-content:space-between;border-bottom:1px solid #e8ecea;padding:13px 0;font-size:13px}.stat strong{font-size:14px}.check{padding:10px 0;border-bottom:1px solid #e8ecea;font-size:12px}.check-top{display:flex;justify-content:space-between;gap:8px}.check small{display:block;color:#74807c;margin-top:5px;overflow-wrap:anywhere}dialog{border:0;border-radius:17px;padding:0;width:min(520px,calc(100vw - 28px));box-shadow:0 28px 90px rgba(0,0,0,.24)}dialog::backdrop{background:rgba(12,25,21,.55)}.dialog-form{padding:28px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}@media(max-width:800px){.layout{grid-template-columns:1fr}.shell{padding:20px 13px 45px}header{align-items:flex-start;gap:15px}.head-actions{flex-wrap:wrap;justify-content:flex-end}.two{grid-template-columns:1fr}.main-card{padding:20px}h1{font-size:29px}}