:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#183b40;background:#eff4f3;font-synthesis:none;--accent:#087f73;--muted:#668086}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:0 auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.brand{display:flex;gap:12px;align-items:center}.brand strong{font-size:19px;letter-spacing:-.5px}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.logo{background:#153f43;color:#e2fff0;font-size:22px;font-weight:800;border-radius:13px;width:44px;height:44px;display:grid;place-items:center}.card{background:#fff;border:1px solid #dce6e3;border-radius:18px;padding:22px;margin-bottom:18px;box-shadow:0 3px 18px #163d3910}.section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}h1,h2,h3,p{margin:0}h2{font-size:15px;font-weight:650}h3{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.tag{font-size:12px;white-space:nowrap;border-radius:8px;padding:5px 9px;background:#e0f4eb;color:#126d4e}.tag.muted{background:#eef2f2;color:#667e82}.tag.warning{background:#fff0cf;color:#8a5b06}.tag.danger{background:#fce8e4;color:#a33a30}.secondary{font-size:12px;color:var(--muted);line-height:1.8;overflow-wrap:anywhere}.banner{border-left:3px solid var(--accent);padding:11px 15px;background:#e1eee8;font-size:13px;margin-bottom:18px;border-radius:0 9px 9px 0}.banner.offline{background:#fff0dd;border-color:#c18630;color:#8c5c16}.camera{padding:0;overflow:hidden}.camera .section-head{padding:17px 22px;margin:0}.camera-stage{background:#102f35;aspect-ratio:16/9;max-height:430px;display:flex;align-items:center;justify-content:center;color:#c5d8d8;text-align:center;position:relative}.camera-stage img{width:100%;height:100%;object-fit:contain;position:absolute;inset:0}.camera-symbol{font-size:46px;display:block;line-height:1.4;color:#789b9b}.camera-stage p{font-size:15px;margin:8px 15px}.camera-stage small{font-size:12px;color:#8facad}.camera-footer{padding:10px 22px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.task .secondary{margin:8px 0 15px}dl{display:grid;grid-template-columns:82px 1fr;gap:12px;font-size:12px;margin:22px 0}dt{color:var(--muted)}dd{margin:0;word-break:break-all;font-family:Consolas,monospace}.footnote{font-size:11px;color:#819292;line-height:1.7;margin-top:18px}.device{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #edf2f0}.device:last-child{border-bottom:0}.device strong{font-weight:550;font-size:13px}.device small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.device .value{text-align:right;max-width:65%;font-size:13px;overflow-wrap:anywhere}.event{display:grid;grid-template-columns:9px 1fr;gap:12px;padding:12px 0;border-top:1px solid #edf2f0}.event-dot{height:7px;width:7px;border-radius:50%;background:var(--accent);margin-top:8px}.event strong{font-size:13px;font-weight:600}.event p{font-size:12px;color:var(--muted);margin-top:6px;white-space:pre-wrap;overflow-wrap:anywhere}.event small{font-size:11px;display:block;color:#829696;margin-top:6px;overflow-wrap:anywhere}.progress-track{height:5px;background:#e7efeb;border-radius:4px;overflow:hidden;margin:15px 0 8px}#progress-bar{height:100%;background:var(--accent)}#progress-text{font-size:11px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:15px;color:#7d9495;font-size:11px;padding:4px 3px 20px}.login{max-width:460px;margin:70px auto 0;padding:34px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--accent)}h1{font-size:30px;margin:18px 0 12px;letter-spacing:-1px}.login p{color:var(--muted);font-size:13px;line-height:1.8}.login form{margin:30px 0 18px}.login label{font-size:12px;display:block;margin-bottom:8px}input{width:100%;padding:13px;border:1px solid #c9d9d3;border-radius:9px;font:inherit;font-size:13px;outline-color:var(--accent)}button{border:0;border-radius:9px;background:var(--accent);color:#fff;padding:12px 18px;font:inherit;font-size:13px;cursor:pointer}.login button{width:100%;margin-top:12px}.login small{font-size:11px;color:var(--muted)}.quiet{background:#fff;border:1px solid #d5e0dc;color:#456367;padding:8px 14px}#login-error{color:#b14535;margin-bottom:10px}[hidden]{display:none!important}@media(max-width:650px){main{padding:18px 14px}header{margin-bottom:20px}.columns{grid-template-columns:1fr;gap:0}.card{padding:18px;border-radius:14px;margin-bottom:14px}.camera{padding:0}.camera .section-head{padding:15px 17px}.camera-footer{padding:10px 17px;font-size:10px}h3{font-size:21px}footer{flex-direction:column;gap:7px}.login{margin:40px auto;padding:25px}.brand strong{font-size:17px}.section-head .secondary{font-size:11px}}
.login select{width:100%;padding:11px;border:1px solid #c9d9d3;border-radius:9px;background:white;color:inherit;margin-bottom:16px;font:inherit;font-size:13px}.login .remember{display:flex;align-items:center;gap:8px;margin:18px 0 8px;color:var(--muted)}.remember input{width:16px;height:16px;padding:0;accent-color:var(--accent)}button:disabled{opacity:.6;cursor:wait}
.event{grid-template-columns:9px minmax(0,1fr)}.event strong{overflow-wrap:anywhere}.device>div:first-child{min-width:0;flex:1}.device .value{flex:0 0 44%;max-width:48%;min-width:0}.camera-footer{align-items:center;gap:8px}.camera-footer button{font-size:10px;padding:4px 7px;white-space:nowrap}
