:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#18283b;background:#edf2f7}body{margin:0}header{background:#132b41;color:white;padding:24px 32px;display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{letter-spacing:3px;color:#65d8c0;font-size:12px;font-weight:700}h1{font-size:23px;margin:10px 0}header p{margin:0 0 8px}small{display:block;color:#c2cfda}button{margin-top:10px;background:#23445f;color:white;border:1px solid #68849a;border-radius:6px;padding:8px 14px;cursor:pointer}main{padding:20px}.sheet{overflow:auto;background:white;border-radius:8px;max-height:75vh;border:1px solid #d5dde5}table{border-collapse:collapse;table-layout:fixed;font:12px Calibri,Arial,sans-serif}td,th{border:1px solid #cbd3da;padding:4px 6px;box-sizing:border-box;white-space:pre-wrap;overflow-wrap:anywhere;min-width:30px}th{background:#e7edf3;color:#476075;position:sticky;top:0;z-index:2;height:25px}th.row{position:sticky;left:0;width:36px;z-index:1}td.changed{animation:flash .65s}@keyframes flash{50%{box-shadow:inset 0 0 0 2px #18ad8c}}.chart-panel{background:white;border-radius:8px;margin-top:20px;padding:20px 24px;overflow-x:auto}.chart-panel h2{margin:0;font-size:20px}.chart-panel p{color:#5c7185;font-size:13px}svg{width:100%;min-width:620px;max-height:340px}svg text{font-family:Segoe UI,Arial,sans-serif;font-size:14px;fill:#324c63}.stale{color:#ffb06b}#status.live{color:#65d8c0}@media(max-width:650px){header{padding:18px;align-items:start}h1{font-size:18px}main{padding:10px}small{font-size:10px}.sheet{max-height:70vh}}

@media(max-width:650px){.sheet{overflow:hidden;max-height:none}.viewer-notice{font-size:11px;color:#5c7185}}

/* Keep layout within the viewport; native pinch zoom can still enlarge it. */
html,body{width:100%;max-width:100%;box-sizing:border-box}
header,main,.sheet,.chart-panel{box-sizing:border-box;max-width:100%;min-width:0}
header{flex-wrap:wrap}header>div{min-width:0;max-width:100%}header small{overflow-wrap:anywhere}
.sheet{width:100%;overflow:hidden;max-height:none}
.chart-panel{width:100%;overflow:hidden}svg{display:block;width:100%;min-width:0;height:auto}
@media(max-width:650px){header{display:block}header>div+div{margin-top:12px}.chart-panel{padding:14px}#report,#report tbody,#report tr,#report td{display:block;width:100%;box-sizing:border-box}#report thead{display:none}#report tr{margin-bottom:16px;border:1px solid #cbd3da;border-radius:6px}#report td{min-width:0;overflow-wrap:anywhere;white-space:normal}#report td:before{content:attr(data-label) ": ";font-weight:700}}

[hidden]{display:none!important}.owner-main{max-width:1200px;margin:auto;padding:28px}.report-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.report-summary article{padding:22px;background:white;border:1px solid #dce5ec;border-radius:12px}.report-summary span{color:#607387;font-size:13px}.report-summary strong{display:block;font-size:36px;margin-top:10px;color:#132b41}.report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:28px 0 18px}.report-toolbar h2{margin:0}.report-toolbar p,.report-footnote{font-size:12px;color:#607387}.report-toolbar label{font-size:12px;color:#607387}.report-toolbar input{display:block;margin-top:6px;padding:11px 14px;border:1px solid #cdd9e3;border-radius:8px;width:250px;max-width:100%;box-sizing:border-box}.viewer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.viewer-card{background:white;border:1px solid #dce5ec;border-radius:12px;padding:22px;min-width:0}.viewer-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.viewer-card h3{margin:0;font-size:18px;overflow-wrap:anywhere}.connection{font-size:11px;background:#eff2f5;color:#687888;padding:6px 9px;border-radius:20px;white-space:nowrap}.connection.active{background:#e1f5ec;color:#13734f}.device-line{color:#607387;font-size:13px}.viewer-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;margin:20px 0}.viewer-details dt{color:#718497;margin-bottom:5px}.viewer-details dd{margin:0;overflow-wrap:anywhere}.browser-details{border-top:1px solid #e6edf2;padding-top:12px;font-size:12px;color:#607387}.browser-details summary{cursor:pointer}.browser-details p{overflow-wrap:anywhere}.report-footnote{margin-top:24px;line-height:1.6}.empty-report{color:#607387;padding:20px}@media(max-width:650px){.owner-main{padding:14px}.report-summary{gap:8px}.report-summary article{padding:12px}.report-summary span{font-size:10px}.report-summary strong{font-size:26px}.report-toolbar{display:block}.report-toolbar label{display:block;margin-top:15px}.report-toolbar input{width:100%}.viewer-cards{grid-template-columns:1fr}.viewer-card{padding:18px}}

.owner-login-page{background:#102638;color:#ecf4fa;min-height:100vh}.owner-login-shell{max-width:1050px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding:50px 30px}.owner-login-brand{display:block;letter-spacing:3px;color:#73dcc5;font-size:12px;margin-bottom:48px}.owner-access-label{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;color:#b3985a}.owner-login-intro h1{font-size:46px;margin:16px 0}.owner-login-intro p{font-size:17px;color:#bed0df;line-height:1.6}.owner-login-intro ul{padding-left:20px;line-height:2.2;color:#bed0df;font-size:14px}.owner-login-intro a{display:inline-block;margin-top:26px;color:#78ddc6;font-size:13px}.owner-login-card{background:white;color:#18283b;border-radius:16px;padding:34px;box-shadow:0 18px 55px #0003;min-width:0}.owner-login-card h2{font-size:25px;margin:14px 0}.owner-login-card p{font-size:13px;color:#607387;line-height:1.6}.owner-login-card label{display:block;font-size:12px;font-weight:600;margin:20px 0}.owner-login-card input{display:block;box-sizing:border-box;width:100%;padding:13px;margin-top:8px;border:1px solid #ccd8e1;border-radius:7px;font-size:16px}.owner-login-card button{width:100%;padding:13px;background:#173d52;font-weight:600}.owner-login-card small{font-size:11px;color:#738598;line-height:1.6}.owner-login-card #error{color:#a52222}@media(max-width:650px){.owner-login-shell{grid-template-columns:1fr;gap:28px;padding:28px 20px;min-height:0}.owner-login-brand{margin-bottom:26px}.owner-login-intro h1{font-size:34px}.owner-login-intro ul{display:none}.owner-login-intro a{margin-top:6px}.owner-login-card{padding:25px}}
