@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f6ef;--surface:#fff;--ink:#203b30;--muted:#64736a;--line:#dfe5d9;--green:#245b3c;--accent:#d6ec64;--sidebar:244px;--shadow:0 3px 14px #203b3004}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:'DM Sans','Noto Sans JP',sans-serif;font-size:0.945rem;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #518433;outline-offset:3px}button{color:inherit}button:disabled{cursor:default}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#fdfef9;border-right:1px solid var(--line);padding:35px 24px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:11px;font-size:1.485rem;font-weight:800;letter-spacing:-.9px}.brand-mark{background:var(--green);color:var(--accent);height:42px;width:42px;border-radius:13px;display:grid;place-items:center;font-size:2.4975rem}.brand small{display:block;font-size:0.8125rem;letter-spacing:.05em;font-weight:500;margin-top:6px;color:var(--muted)}.workspace{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;padding:13px 10px;margin:36px 0 24px;font-size:0.8125rem;font-weight:600}.workspace small{display:block;color:var(--muted);font-size:0.8125rem;margin-top:5px;font-weight:400}.farm-icon{font-size:1.755rem;color:#74905c}nav{display:grid;gap:8px}.nav{display:flex;align-items:center;gap:12px;background:none;border:0;border-radius:8px;min-height:49px;padding:0 14px;text-align:left;font-weight:600;color:var(--muted);font-size:0.8775rem}.nav span{font-size:1.5525rem;font-weight:400}.nav:hover{background:#edf2e5}.nav.active{background:#e9efdf;color:var(--green)}.sidebar-bottom{margin-top:auto;font-size:0.8125rem;font-weight:600;line-height:1.8}.sidebar-bottom small{display:block;color:var(--muted);font-weight:400}.archive-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#a3b852;margin-right:5px}.version{display:block;margin-top:22px;font-size:0.8125rem;letter-spacing:1.1px;color:#899487}.app{margin-left:var(--sidebar)}.topbar{height:83px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 42px;background:#fafbf6}.breadcrumb{font-size:0.8125rem;color:var(--muted)}.breadcrumb span{margin:0 16px;color:#acb6a7}.breadcrumb b{font-weight:500;color:var(--ink)}.top-actions{display:flex;align-items:center;gap:18px}.preview-chip{font-size:0.8125rem;border:1px solid #d9e0cd;border-radius:5px;padding:6px 9px;background:#f0f4e7;letter-spacing:.04em}.icon-button{background:transparent;border:0;font-size:1.6875rem;min-width:44px;min-height:44px}.avatar{display:grid;place-items:center;width:33px;height:33px;background:#e4e9db;border-radius:50%;font-size:0.8125rem;font-weight:700}main{max-width:1560px;margin:auto;padding:39px 42px 0}.page-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:0.8125rem;letter-spacing:1.8px;color:#78916c;font-weight:700;margin-bottom:9px}h1{font-size:2.025rem;letter-spacing:-1px;margin:0 0 12px;font-weight:700;line-height:1.5}p{line-height:1.9}.page-header p{margin:0;color:var(--muted);font-size:0.8125rem}.button{min-height:44px;border-radius:7px;padding:0 17px;border:1px solid #cfd8c6;font-size:0.8125rem;font-weight:600;display:flex;align-items:center;gap:10px;justify-content:center}.secondary{background:#fff}.button:hover{background:#eaf0df}.button span{font-size:1.2825rem}.archive-banner{display:flex;align-items:center;gap:13px;background:#edf1e3;border:1px solid #dce4cd;border-radius:8px;padding:14px 17px;margin-bottom:25px}.banner-icon{font-size:1.62rem;color:#627d4c}.archive-banner strong{display:block;font-size:0.8125rem;margin-bottom:4px}.archive-banner div>span{font-size:0.8125rem;color:#647357;line-height:1.7;display:block}.offline-label{font-size:0.8125rem;border:1px solid #cdd5bd;border-radius:4px;padding:5px 8px;white-space:nowrap;margin-left:auto;color:#647357}.controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:28px}.segmented{display:flex;gap:4px;background:#e9ede1;padding:4px;border-radius:8px}.segmented button{border:0;background:transparent;padding:10px 14px;border-radius:5px;font-size:0.8125rem;min-height:44px;font-weight:600}.segmented small{margin-left:8px;color:var(--muted);font-size:0.8125rem;font-weight:400}.segmented button.selected{background:#fff;box-shadow:0 1px 4px #253c3012}.record-count{font-size:0.8125rem;color:var(--muted)}h2{font-size:1.08rem;margin:0;font-weight:600;letter-spacing:-.25px}.section-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-label h2{font-size:0.8125rem}.section-label>span{font-size:0.8125rem;color:var(--muted)}.device-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:29px}.device-tab{background:#fff;border:1px solid var(--line);border-radius:9px;padding:16px 18px;text-align:left;display:flex;align-items:center;gap:12px;min-width:0;position:relative;box-shadow:var(--shadow)}.device-tab .device-icon{width:36px;height:40px;border-radius:7px;background:#f0f3e9;display:grid;place-items:center;color:#6b8657;flex-shrink:0}.device-tab.selected{border:1.5px solid #3b6b3c;background:#f7faee;padding:15.5px 17.5px}.device-tab.selected .device-icon{background:#dfeaaf;color:#355e2d}.device-tab strong{font-size:0.8125rem;display:block}.device-tab small{font-size:0.8125rem;color:var(--muted);display:block;margin-top:6px;font-family:'DM Sans',sans-serif;letter-spacing:.5px}.device-check{margin-left:auto;width:17px;height:17px;border:1px solid #d9dfce;border-radius:50%;flex-shrink:0}.selected .device-check{background:#386540;border-color:#386540;color:white;font-size:0.8125rem;text-align:center;line-height:15px}.reading-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.small-label{font-size:0.8125rem;color:var(--muted)}.reading-head h2{font-size:1.2825rem;margin-top:6px}.reading-date{font-size:0.8125rem;text-align:right;line-height:1.9;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:20px;box-shadow:var(--shadow);text-align:left;min-width:0}.metric.primary{background:var(--green);color:white;border-color:var(--green)}.metric-top{display:flex;justify-content:space-between;align-items:center;font-size:0.8125rem;font-weight:500}.metric-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#f3f5ef;color:#728b5b;font-size:1.1475rem}.primary .metric-icon{background:#ffffff16;color:#d9ec89}.metric-number{font-size:2.9025rem;font-weight:500;letter-spacing:-1.8px;margin:14px 0 11px;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-number small{font-size:1.0125rem;margin-left:5px;letter-spacing:0;font-weight:400;color:var(--muted)}.primary .metric-number small{color:#d4e0d4}.metric-foot{border-top:1px solid var(--line);padding-top:12px;font-size:0.8125rem;color:var(--muted);line-height:1.6}.primary .metric-foot{border-color:#ffffff28;color:#c7dbbd}.panel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:25px;box-shadow:var(--shadow)}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-heading .eyebrow{font-size:0.8125rem}.metric-select{display:flex;gap:4px;padding:4px;border-radius:6px;background:#f4f6ef}.metric-select button{font-size:0.8125rem;min-width:44px;min-height:36px;border:0;border-radius:4px;background:none;padding:6px 13px}.metric-select .selected{background:#fff;box-shadow:0 1px 5px #1e3c3010;font-weight:700;color:var(--green)}.chart-summary{display:flex;align-items:baseline;gap:14px;margin:23px 0 0}.chart-summary strong{font-size:1.8225rem;font-weight:500;letter-spacing:-.5px}.chart-summary span{font-size:0.8125rem;color:var(--muted)}.chart{height:230px;width:100%;margin-top:8px;position:relative}.chart svg{width:100%;height:100%;overflow:visible;display:block}.chart svg text{font-family:'DM Sans','Noto Sans JP',sans-serif;fill:#7a8978;font-size:0.8125rem}.chart-caption{font-size:0.8125rem;color:var(--muted);margin:10px 0 0}.chart-tooltip{position:absolute;background:#203b30;color:#fff;border-radius:6px;padding:9px 12px;font-size:0.8125rem;pointer-events:none;box-shadow:0 3px 10px #0002;z-index:2;white-space:nowrap;transform:translate(-50%,-110%)}.trend-panel{margin-bottom:21px}.bottom-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:20px}.comparison-panel .panel-heading{display:block}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left}th{font-size:0.8125rem;font-weight:500;color:var(--muted);border-bottom:1px solid var(--line);padding:17px 12px 11px}td{font-size:0.8125rem;padding:16px 12px;border-bottom:1px solid #edf0e7;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}th:first-child,td:first-child{padding-left:0}td small{display:block;color:var(--muted);font-size:0.8125rem;margin-top:4px}.field-note{position:relative;border:1px solid #dbe3cb;border-radius:11px;padding:26px;background:#e9efd9;overflow:hidden}.field-note h2{font-size:1.485rem;line-height:1.65;margin-top:13px}.field-note p{max-width:290px;font-size:0.8125rem;color:#5c7051}.note-foot{display:block;font-size:0.8125rem;color:#70825f;margin-top:20px}.note-decoration{position:absolute;right:20px;top:50px;font-size:7.7625rem;line-height:1;color:#d7e2bc;transform:rotate(12deg);z-index:0}.field-note>*:not(.note-decoration){position:relative}.filter-label{display:flex;gap:12px;align-items:center;font-size:0.8125rem;color:var(--muted)}select{border:1px solid var(--line);border-radius:6px;padding:10px;background:#fff;color:var(--ink);min-height:44px}.table-note{font-size:0.8125rem;color:var(--muted);margin-bottom:0}.management-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.management-card h2{font-size:1.35rem;margin:15px 0 7px}.management-card .sensor-id{font-family:'DM Sans';color:var(--muted);font-size:0.8125rem}.management-card label{display:block;margin:24px 0 8px;font-size:0.8125rem}.management-card input{width:100%;border:1px solid #cbd7c0;padding:12px;border-radius:6px;min-height:46px;background:#fbfcf8}.management-card .button{margin-top:10px;background:var(--green);color:white;width:100%}.device-spec{display:flex;justify-content:space-between;font-size:0.8125rem;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.management-note{margin-top:20px}.management-note p{color:var(--muted);font-size:0.8125rem;max-width:800px}footer{display:flex;justify-content:space-between;padding:32px 0 25px;font-size:0.8125rem;color:#82907c;gap:15px}footer>span:first-child{font-size:0.8125rem;font-weight:700;letter-spacing:.7px}.footer-mark{font-size:1.2825rem;vertical-align:middle;margin-right:6px}#toast{position:fixed;bottom:30px;left:calc(50% + 100px);transform:translateX(-50%);background:#203b30;color:#fff;border-radius:8px;padding:14px 22px;box-shadow:0 5px 30px #0002;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;font-size:0.8775rem}#toast.visible{opacity:1}.empty-state{height:210px;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:0.8125rem;gap:12px}.empty-state strong{font-size:1.1475rem;color:var(--ink)}body.sunlight{--bg:#fff;--ink:#102c1e;--muted:#384c3d;--line:#aab9a0;--green:#164b2d}body.sunlight .metric-number{font-weight:700}body.sunlight .chart svg text{fill:#334d33}body.sunlight .sidebar{background:#fff}body.sunlight .eyebrow{color:#466335}body.sunlight .archive-banner{border-color:#718955}body.sunlight .chart-caption,body.sunlight .small-label{font-size:0.8125rem}
@media(min-width:1600px){:root{--sidebar:260px}main{padding-top:45px}.metric-number{font-size:3.4425rem}.chart{height:270px}}
@media(max-width:1200px){:root{--sidebar:210px}.sidebar{padding:28px 18px}.brand{font-size:1.35rem}.brand-mark{width:36px;height:36px;font-size:2.16rem}.topbar{padding:0 28px}main{padding:30px 28px 0}.metric{padding:17px}.metric-number{font-size:2.3625rem}.metric-number small{font-size:0.8125rem}.device-tab{padding:14px 12px;gap:9px}.device-tab.selected{padding:13.5px 11.5px}.bottom-grid{grid-template-columns:1.4fr 1fr}.panel{padding:21px}.management-grid{gap:12px}}
@media(max-width:950px){:root{--sidebar:0px}.sidebar{position:sticky;top:0;width:100%;height:66px;flex-direction:row;padding:0 24px;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line)}.brand small,.workspace,.sidebar-bottom{display:none}.brand{font-size:1.2825rem}.brand-mark{height:32px;width:32px;font-size:1.9575rem;border-radius:9px}nav{display:flex;gap:5px}.nav{font-size:0.8125rem;min-height:40px;padding:0 11px;gap:7px}.nav span{font-size:1.215rem}.topbar{height:59px}.top-actions{gap:9px}.avatar{display:none}.page-header{margin-bottom:22px}.management-card{padding:18px}#toast{left:50%}}
@media(max-width:650px){.sidebar{padding:0 18px;height:62px}.brand{font-size:1.215rem;gap:7px}.brand-mark{height:29px;width:29px;font-size:1.6875rem}.nav{font-size:0;width:41px;min-height:41px;padding:0;justify-content:center}.nav span{font-size:1.62rem}.topbar{padding:0 20px;height:52px}.breadcrumb{font-size:0.8125rem}.breadcrumb span{margin:0 10px}.preview-chip{font-size:0.8125rem;padding:4px 7px}.icon-button{font-size:1.485rem;min-height:38px;min-width:38px}main{padding:25px 18px 0}.page-header{align-items:flex-start;gap:9px}.eyebrow{font-size:0.8125rem;margin-bottom:7px}h1{font-size:1.5525rem;letter-spacing:-.7px;margin-bottom:9px}.page-header p{font-size:0.8125rem;max-width:240px;line-height:1.8}.page-header .button{font-size:0;min-width:42px;padding:0 10px;min-height:42px;margin-top:20px}.page-header .button span{font-size:1.5525rem}.archive-banner{padding:12px;gap:9px;margin-bottom:18px;align-items:flex-start}.banner-icon{font-size:1.4175rem}.archive-banner strong{font-size:0.8125rem}.archive-banner div>span{font-size:0.8125rem}.offline-label{font-size:0.8125rem;padding:4px 5px}.controls{display:block;margin-bottom:23px}.segmented{width:100%;gap:3px}.segmented button{flex:1;padding:9px 5px;line-height:1.7;font-size:0.8125rem}.segmented small{display:block;margin-left:0;font-size:0.8125rem}.record-count{display:block;margin-top:9px;text-align:right;font-size:0.8125rem}.section-label>span{display:none}.device-tabs{gap:7px;margin-bottom:23px}.device-tab{padding:12px 7px;display:block}.device-tab.selected{padding:11.5px 6.5px}.device-tab .device-icon{width:27px;height:28px;margin-bottom:9px;font-size:0.8775rem}.device-tab strong{font-size:0.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-tab small{font-size:0.8125rem;letter-spacing:0}.device-check{position:absolute;top:12px;right:8px;width:13px;height:13px;line-height:11px!important;font-size:0.8125rem!important}.reading-head h2{font-size:1.1475rem}.reading-date{font-size:0.8125rem;max-width:165px}.metrics{grid-template-columns:repeat(2,1fr);gap:11px;margin-bottom:17px}.metric{padding:17px 15px}.metric-top{font-size:0.8125rem}.metric-number{font-size:2.565rem;margin:13px 0 12px}.metric-number small{font-size:0.8775rem}.metric-foot{font-size:0.8125rem;padding-top:10px}.metric-icon{width:26px;height:26px;font-size:1.0125rem}.panel{padding:18px 15px}.trend-panel .panel-heading{align-items:flex-start;display:block}.metric-select{margin-top:16px;display:flex;width:max-content}.metric-select button{min-height:39px;padding:8px 17px}.chart-summary{margin-top:20px;display:block}.chart-summary strong{font-size:1.6875rem}.chart-summary span{display:block;font-size:0.8125rem;margin-top:6px}.chart{height:200px;margin-top:15px}.chart svg text{font-size:0.8125rem}.chart-caption{font-size:0.8125rem;line-height:1.8}.bottom-grid{grid-template-columns:1fr;gap:15px}.field-note{padding:22px}.field-note h2{font-size:1.4175rem}.field-note h2 br{display:none}.field-note p{max-width:90%;font-size:0.8125rem}.note-decoration{top:8px;right:18px;font-size:6.75rem}.note-foot{margin-top:12px}.filter-label{margin-top:16px;justify-content:space-between}#history-page .panel-heading{display:block}.history-table td{font-size:0.8125rem}.management-grid{grid-template-columns:1fr}.management-card{padding:20px}.management-card h2{font-size:1.35rem}.management-card label{margin-top:17px}.management-note h2{font-size:1.08rem}footer{padding:25px 0 20px;display:block;font-size:0.8125rem;line-height:2}footer>span{display:block}#toast{width:calc(100% - 36px);text-align:center;bottom:18px;font-size:0.8125rem}.chart-tooltip{font-size:0.8125rem}.offline-label{display:none}}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-8px 0 25px;padding-bottom:18px;border-bottom:1px solid var(--line)}.archive-toolbar label{font-size:0.8125rem;display:flex;align-items:center;gap:12px}.archive-toolbar select{min-width:180px}.sync-controls{display:flex;align-items:center;gap:12px}.sync-controls>span{font-size:0.8125rem;color:var(--muted);max-width:255px;line-height:1.7}.sync-controls button{white-space:nowrap}.pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;font-size:0.8125rem}.button:disabled{opacity:.4}.cache-settings{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.cache-settings p{font-size:0.8125rem;color:var(--muted)}.cache-settings button{white-space:nowrap}.metric-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:1200px){.brand{font-size:1.215rem;letter-spacing:-.8px}.brand-mark{width:32px;height:32px;font-size:1.9575rem}.brand small{font-size:0.8125rem}}
@media(max-width:650px){.archive-toolbar{display:block;margin:0 0 22px}.archive-toolbar label{justify-content:space-between}.archive-toolbar select{flex:1}.sync-controls{justify-content:space-between;margin-top:12px;gap:10px}.sync-controls>span{font-size:0.8125rem}.sync-controls .button{font-size:0.8125rem;padding:0 10px}.cache-settings{display:block}.cache-settings button{width:100%;margin-top:14px}.pagination{gap:12px;font-size:0.8125rem}.brand{font-size:1.1475rem;letter-spacing:-.7px}.brand-mark{width:28px;height:28px;font-size:1.6875rem}}
@media(max-width:650px){.page-header p{font-size:0.8125rem}.archive-banner strong{font-size:0.8125rem}.archive-banner div>span{font-size:0.8125rem}.metric-top{font-size:0.8125rem}.metric-foot{font-size:0.8125rem}.metric-select button{font-size:0.8125rem}.device-tab strong{font-size:0.8125rem}.device-tab small{font-size:0.8125rem}.reading-date{font-size:0.8125rem}.small-label{font-size:0.8125rem}.chart-caption{font-size:0.8125rem}.field-note p{font-size:0.8125rem}.field-note .note-foot{font-size:0.8125rem}.management-note p{font-size:0.8775rem}.nav{position:relative}.nav:after{content:attr(aria-label);position:absolute;bottom:-7px;font-size:0.8125rem;white-space:nowrap}.sidebar{height:69px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Readability preferences: every text size uses rem so this changes the whole UI. */
.bottom-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.panel,.bottom-grid>*,.panel-heading>*{min-width:0}.eyebrow{overflow-wrap:anywhere}.brand small{white-space:normal}
html{font-size:16px}html[data-font="small"]{font-size:14px}html[data-font="large"]{font-size:18px}
.font-control{display:flex;align-items:center;gap:3px;white-space:nowrap}.font-control>span{font-size:.82rem;margin-right:6px;color:var(--muted)}.font-control button{min-width:38px;min-height:40px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:.95rem;padding:4px}.font-control .selected{background:var(--green);color:white;border-color:var(--green)}
.reading-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 15px}.reading-tools>span{font-size:1rem;font-weight:700}.reading-tools small{display:block;font-size:.82rem;color:var(--muted);font-weight:400;margin-top:6px}.reading-tools>div{display:flex;gap:8px}.reading-tools button{font-size:.85rem}
.metrics{align-items:stretch}.metric{border-top:4px solid var(--line);position:relative;padding:18px;display:flex;flex-direction:column;align-items:stretch;min-height:235px}.metric-top{font-size:1rem}.metric-number{font-size:2.6rem;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;letter-spacing:-1.2px}.metric-number small{font-size:.95rem;margin-left:0}.metric-foot{font-size:.82rem;margin-top:auto;line-height:1.7}.state-pill{display:inline-flex;align-self:flex-start;align-items:center;gap:5px;border-radius:5px;padding:6px 9px;font-size:.88rem;font-weight:700;line-height:1.4;margin:0 0 13px}.state-pill.ok{background:#e4f0d7;color:#25552e}.state-pill.low{background:#e4eef9;color:#244e80}.state-pill.high{background:#fff0de;color:#89510c}.state-pill.unset{background:#f0f2eb;color:#5c695c}.metric.status-ok{border-top-color:#668f48}.metric.status-low{border-top-color:#5487bc}.metric.status-high{border-top-color:#c58432}.metric.status-low .metric-number{color:#285583}.metric.status-high .metric-number{color:#8c5014}.metric.status-ok .metric-number{color:#295a35}
.chart{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#9cad8b #eef2e7;padding-bottom:8px}.chart svg{max-width:none;flex-shrink:0}.chart svg text{font-size:.9rem;fill:#4f6552}.chart svg .date-tick{font-size:.9rem;font-weight:600;fill:#2d5134}.chart svg .target-label{font-size:.88rem;font-weight:700;fill:#315d2c;paint-order:stroke;stroke:white;stroke-width:4px;stroke-linejoin:round}.chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.9rem;margin:15px 0 5px;color:var(--muted)}.legend-band{display:inline-block;width:24px;height:13px;background:#dcebc4;border-top:2px dashed #4b7840;border-bottom:2px dashed #4b7840}.legend-note{font-size:.82rem}.chart-caption{font-size:.85rem;line-height:1.9}.field-note .button{margin-top:18px;font-size:.9rem;width:max-content;max-width:100%}
dialog{color:var(--ink);border:1px solid var(--line);border-radius:16px;background:var(--surface);max-width:700px;width:calc(100% - 32px);max-height:88dvh;padding:30px;box-shadow:0 20px 90px #152b3044;overflow-y:auto;font-size:1rem}dialog::backdrop{background:#152b3077;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.dialog-header h2{font-size:1.5rem;line-height:1.5}.close-dialog{background:#eff2e8;border:0;border-radius:50%;font-size:1.7rem;min-width:44px;height:44px;line-height:1}.target-inputs fieldset{border:1px solid var(--line);border-radius:8px;display:flex;align-items:end;gap:12px;padding:14px;margin:18px 0}.target-inputs legend{font-weight:600;padding:0 8px}.target-inputs label{flex:1;min-width:0;font-size:.9rem}.target-inputs input{display:block;width:100%;font-size:1.1rem;min-height:48px;background:#fcfdf9;border:1px solid #b6c4a8;border-radius:5px;padding:9px;margin-top:7px;color:var(--ink)}.target-inputs fieldset>span{padding-bottom:12px}.target-hd-note{background:#edf3e3;padding:16px;border-radius:8px}.target-hd-note p{font-size:.9rem;margin-bottom:0}.save-targets{width:100%;background:var(--green);color:white;font-size:1rem;margin-top:16px;min-height:49px}#target-error{color:#ad3530;font-size:.9rem}.hd-guide-range{background:#eaf1db;border:1px solid #cbdab3;border-radius:10px;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.hd-guide-range strong{font-size:2rem;white-space:nowrap}.hd-guide-range small{font-size:1rem}.hd-guide-range>span{font-size:.9rem;line-height:1.8;max-width:180px}.guide-section{padding:16px 0;border-bottom:1px solid var(--line)}.guide-section h3{font-size:1.1rem;margin:8px 0}.guide-section p{margin:8px 0}.guide-section.spike{background:#fff5e4;margin-top:16px;padding:17px;border:0;border-radius:8px}.unit-note{font-size:.9rem;color:var(--muted);line-height:1.9}.guide-sources a{display:block;text-decoration:underline;text-underline-offset:3px;line-height:1.8;padding:9px 0;color:#285a3a}.guide-sources h3{font-size:1rem}
html[data-font="large"] .metrics{gap:12px}html[data-font="large"] .metric{padding:15px}html[data-font="large"] .metric-number{font-size:2.3rem}html[data-font="large"] .brand{font-size:1.2rem}
@media(max-width:1200px){.brand{font-size:1.15rem}.sidebar{padding-left:14px;padding-right:14px}.brand small{font-size:.7rem}.metric-number{font-size:2.15rem}.metric{padding:14px}.metric-foot{font-size:.8rem}.state-pill{font-size:.8rem;padding:6px}.management-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.metric-select button{font-size:.9rem}}
@media(max-width:950px){.nav{font-size:.85rem}.topbar{min-height:65px;height:auto;padding-top:8px;padding-bottom:8px}.sidebar{min-height:69px}.reading-tools{flex-wrap:wrap}.metric-top{font-size:.95rem}}
@media(max-width:650px){.nav{font-size:0}.nav:after{font-size:.6rem}.sidebar{height:72px}.brand{font-size:1.05rem}.brand small{display:none}.topbar{padding:8px 18px;gap:8px}.breadcrumb{font-size:.8rem}.font-control>span{display:none}.font-control button{min-width:32px;min-height:38px;font-size:.9rem}.top-actions{gap:7px}.avatar{display:none}h1{font-size:1.5rem}.page-header p{font-size:.9rem}.archive-banner strong{font-size:.9rem}.archive-banner div>span{font-size:.8rem}.segmented button{font-size:.85rem}.segmented small{font-size:.75rem}.sync-controls>span{font-size:.8rem}.reading-date{font-size:.78rem;max-width:55%}.reading-head h2{font-size:1.1rem}.reading-tools{display:block}.reading-tools>div{margin-top:13px}.reading-tools .button{font-size:.85rem;flex:1;padding:8px;min-height:46px}.metric{padding:15px 12px;min-height:225px}.metric-number{font-size:2rem}.metric-top{font-size:.95rem}.metric-foot{font-size:.82rem}.state-pill{font-size:.82rem;padding:6px 7px;max-width:100%}.device-tab strong{font-size:.83rem}.device-tab small{font-size:.65rem}.device-tab{padding:12px 7px}.device-tab.selected{padding:11.5px 6.5px}.metrics{gap:10px}.metric-select{width:100%;justify-content:space-between}.metric-select button{font-size:.9rem;flex:1;padding:6px 10px;min-height:44px}.chart-summary span{font-size:.85rem}.chart-caption{font-size:.83rem}.chart-legend{font-size:.87rem}.field-note p{font-size:.95rem}.field-note .note-foot{font-size:.85rem}.table-scroll th{font-size:.8rem}.table-scroll td{font-size:.9rem}.table-scroll td small{font-size:.75rem}dialog{padding:22px 18px;max-height:90dvh}.dialog-header h2{font-size:1.25rem}.hd-guide-range{display:block}.hd-guide-range>span{display:block;max-width:none;margin-top:8px}.target-inputs fieldset{gap:8px;padding:12px}.target-inputs input{font-size:1rem}.close-dialog{min-width:40px;height:40px}html[data-font="large"] .metric-number{font-size:2rem}html[data-font="large"] .metric{padding:13px 10px}html[data-font="large"] .state-pill{font-size:.79rem}}
@media(max-width:650px){.bottom-grid{grid-template-columns:minmax(0,1fr)}}

.time-window-control{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 20px}.time-window-control>span{font-size:.9rem;font-weight:700}.time-window-control small{color:var(--muted);font-size:.82rem}.time-window-control .segmented button{min-height:44px;font-size:.88rem}.time-window-control button:disabled{opacity:.45}.archive-toolbar .sync-controls{flex-wrap:wrap}.controls .segmented{flex-wrap:wrap}.offline-label{white-space:normal}.chart-summary{min-height:40px}
@media(max-width:650px){.time-window-control{gap:8px}.time-window-control .segmented{width:100%}.time-window-control .segmented button{flex:1}.controls .segmented{width:100%}.controls .segmented button{flex:1;min-width:100px}.sync-controls{justify-content:flex-start}.sync-controls>span{max-width:100%}.reading-date{line-height:1.7}}

.chart-frame{position:relative;min-width:0;margin-top:20px}.chart-frame .chart{margin-top:0}.chart-y-axis{position:absolute;top:0;left:0;z-index:2;pointer-events:none;background:#fff;box-shadow:4px 0 7px #203b300a}.chart-y-axis svg{display:block;overflow:hidden}.chart-y-axis text{font-size:.9rem;fill:var(--ink)}.chart-y-axis .axis-unit{font-size:.86rem;font-weight:700}.duration-control{display:flex;align-items:center;gap:8px;font-size:.9rem;white-space:nowrap}.duration-control select{min-width:104px;font-weight:600}body.sunlight .chart-y-axis text{fill:#102c1e}

.ventilation-context{margin:0 0 14px;color:var(--muted);font-size:.9rem;line-height:1.7}.vent-hint{display:block;text-align:left;background:#f1f4eb;border-radius:6px;padding:10px;margin:0 0 12px;font-size:.82rem;line-height:1.7}.vent-hint strong{font-weight:600;display:block}.vent-hint small{display:block;font-size:.78rem;font-weight:400;margin-top:4px}.vent-open{background:#e8f3e2;color:#28542f}.vent-close{background:#fff0df;color:#81521a}.vent-stale,.vent-setup{color:#667163}.ventilation-note{font-size:.84rem;color:var(--muted);line-height:1.8;margin:-12px 0 25px}.text-button{display:inline;border:0;background:none;text-decoration:underline;color:var(--green);font-size:inherit;padding:5px}.placement-options{margin:20px 0 12px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;display:flex;flex-wrap:wrap;gap:12px}.placement-options legend{font-weight:600;font-size:.88rem}.management-card .placement-options label{display:flex;align-items:center;gap:7px;margin:0;min-height:40px;font-size:.9rem;cursor:pointer}.management-card .placement-options input{width:19px;height:19px;min-height:0;padding:0;accent-color:var(--green)}.management-card .reference-control{font-size:.86rem;margin:12px 0}.reference-control select{display:block;width:100%;margin-top:6px;max-width:100%}.placement-save-note{font-size:.78rem;color:var(--muted);line-height:1.7}.device-tab small{white-space:normal}#vent-dialog p{font-size:.94rem}#vent-dialog a{font-size:.9rem;line-height:2;color:var(--green)}
@media(max-width:650px){.vent-hint{padding:9px 8px;font-size:.8rem}.vent-hint small{font-size:.76rem}.ventilation-note{font-size:.82rem}.device-tab small{font-size:.65rem}.placement-options{gap:14px}}

.battery-summary{background:#f4f7ed;border:1px solid #dbe4cf;border-radius:9px;padding:13px;margin-top:18px;min-width:0}.battery-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.9rem}.battery-health{display:block;font-size:.82rem;line-height:1.7;margin:8px 0;color:var(--muted)}.battery-low{font-weight:700;color:#99521b}.battery-ok{color:#315f35}.battery-date>span{display:block;font-size:.78rem;color:var(--muted)}.battery-date>strong{display:block;font-size:1.1rem;line-height:1.5;margin:4px 0}.battery-date>small{display:block;font-size:.75rem;color:var(--muted)}.battery-summary p{font-size:.78rem;line-height:1.75;margin:8px 0}.battery-summary>small{display:block;font-size:.73rem;line-height:1.7;color:var(--muted)}.battery-summary details{margin-top:12px;border-top:1px solid #dbe4cf;padding-top:11px}.battery-summary summary{font-size:.8rem;cursor:pointer;line-height:1.7}.management-card .battery-summary label{font-size:.8rem;margin:12px 0 4px}.battery-summary select{width:100%;max-width:100%;font-size:.85rem}.management-card .battery-summary input{font-size:.85rem;min-width:0}.battery-summary .text-button{min-width:36px;min-height:36px;border:1px solid #ccd9bf;border-radius:50%;text-decoration:none}.form-error{color:#a24725}#battery-dialog p{font-size:.94rem}#battery-dialog a{color:var(--green);line-height:2}

.battery-summary p{font-size:.85rem}.battery-summary>small{font-size:.78rem}

/* Current values lead; archive selection is secondary. */
.shared-settings-status{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-bottom:12px;min-height:20px}.shared-settings-status button{font-size:.8rem}
body[data-page="overview"] .page-header{margin-bottom:16px}body[data-page="overview"] .page-header .eyebrow,body[data-page="overview"] .page-header p{display:none}body[data-page="overview"] h1{margin-bottom:0}
.data-options{border:1px solid var(--line);border-radius:9px;margin-bottom:20px;background:#fbfcf7}.data-options>summary{padding:12px 16px;cursor:pointer;font-size:.85rem}.data-options>summary span{color:var(--green);margin-left:12px;font-weight:700}.data-options[open]{padding:0 16px 10px}.data-options[open]>summary{margin:0 -16px 14px}.data-options .archive-banner{margin-bottom:16px}.data-options .controls{margin-bottom:18px}.data-options .archive-toolbar{margin-bottom:0}
.device-tabs{margin-bottom:16px}.reading-head{margin-bottom:12px}.reading-tools{margin-bottom:10px}.reading-tools small{display:inline;margin-left:8px}.ventilation-context{font-size:.82rem;margin-bottom:10px}.metrics{gap:14px}.ventilation-note{margin-bottom:22px}
.alert-summary{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #d4e2c7;border-radius:8px;margin-bottom:16px;background:#edf4e6;font-size:.83rem}.alert-summary.has-alerts{border-color:#e2c389;background:#fff5e4}.alert-summary div{flex:1;min-width:0}.alert-summary strong,.alert-summary span:not(.alert-dot){display:block;line-height:1.6}.alert-summary span:not(.alert-dot){color:var(--muted)}.alert-dot{background:#a36b1d;color:#fff;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;flex-shrink:0;font-weight:700}.alert-dot.ok{background:var(--green)}
.notification-settings{margin-bottom:20px}.notification-settings>div{max-width:800px}.notification-settings p{font-size:.9rem;color:var(--muted)}.notification-settings>.button{display:inline-flex;margin:8px 12px 0 0}.notification-settings details{margin-top:16px}.notification-settings summary{cursor:pointer;font-weight:600}.alert-item{border-top:1px solid var(--line);padding:14px 0}.alert-item p{margin:5px 0}.alert-item small{color:var(--muted)}
@media(max-width:650px){main{padding-top:14px}.shared-settings-status{justify-content:flex-start;margin-bottom:8px}.data-options{margin-bottom:14px}.data-options>summary span{display:block;margin:4px 0 0 16px}.reading-tools{flex-wrap:wrap}.reading-tools small{display:none}.reading-tools>div{width:100%}.reading-tools button{flex:1;font-size:.8rem;padding:0 8px}.device-tab .device-icon{display:none}.device-tabs{margin-bottom:12px}.device-tab{padding:10px 7px}.device-tab.selected{padding:9.5px 6.5px}.device-tab small{font-size:.72rem}.alert-summary{padding:9px;font-size:.78rem}.alert-summary span:not(.alert-dot){display:none}.metrics{gap:10px}.metric{padding:14px;min-height:230px}.metric-number{font-size:2.25rem}.notification-settings>.button{width:100%;margin-right:0}}

body[data-page="overview"] main{padding-top:24px}body[data-page="overview"] .shared-settings-status{margin-bottom:6px}.reading-head .small-label{display:none}.reading-head{align-items:center}.reading-head h2{margin:0}.reading-tools{justify-content:flex-end;margin:12px 0}.reading-tools #reading-label{display:none}.alert-summary{padding:8px 12px}.alert-summary:not(.has-alerts) span:not(.alert-dot){display:none}.ventilation-context{margin-bottom:10px}.metrics{margin-bottom:0}
@media(max-width:650px){body[data-page="overview"] main{padding-top:10px}.reading-head{margin-bottom:10px}.reading-tools>div{justify-content:flex-end}.reading-tools button{flex:initial}.reading-tools{margin-top:10px}.device-tabs{gap:6px}.reading-date{max-width:175px}}

.average-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:.85rem}.average-controls label{display:flex;align-items:center;gap:6px}.average-controls input{width:18px;height:18px;accent-color:var(--green)}.average-controls select{padding:5px 8px;min-height:34px}.average-controls small{color:var(--muted)}.average-line-key{display:inline-block;width:28px;border-top:3px dashed #8062b2;margin-left:10px}.daily-statistics{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.daily-card h3{margin:0 0 8px;font-size:1.05rem}.daily-card h3 small{color:var(--muted);margin-left:8px;font-weight:400}.daily-card table{white-space:normal;font-size:.85rem}.daily-card th,.daily-card td{font-size:.83rem;padding:9px 5px;text-align:right}.daily-card th:first-child{text-align:left}.daily-card tbody th{color:var(--ink);font-weight:600}.daily-card th small{display:block;font-size:.72rem;color:var(--muted);font-weight:400}.daily-card .is-selected{background:#f1f5e9}.daily-coverage{font-size:.74rem;color:var(--muted);margin:8px 0 0}.daily-no-data{color:var(--muted)}#tablet-mode{font-size:.8rem;white-space:nowrap}
@media(max-width:650px){.daily-statistics{grid-template-columns:1fr}.top-actions{gap:5px}#tablet-mode{font-size:.7rem;padding:0 7px}.font-control>span{display:none}.breadcrumb{display:none}}
/* Landscape kiosk: metrics, selected chart and both daily summaries share one viewport. */
body.tablet-mode[data-page="overview"]{height:100dvh;overflow:hidden}
body.tablet-mode[data-page="overview"] .sidebar{position:relative;inset:auto;width:100%;height:48px;padding:4px 16px;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
body.tablet-mode[data-page="overview"] .sidebar .brand{font-size:1.1rem}body.tablet-mode[data-page="overview"] .brand-mark{width:28px;height:28px;font-size:1.7rem}body.tablet-mode[data-page="overview"] .brand small,body.tablet-mode[data-page="overview"] .workspace,body.tablet-mode[data-page="overview"] .sidebar-bottom{display:none}
body.tablet-mode[data-page="overview"] nav{display:flex;gap:8px}body.tablet-mode[data-page="overview"] .nav{min-height:34px;font-size:.78rem;padding:0 10px;width:auto}body.tablet-mode[data-page="overview"] .nav:after{display:none}
body.tablet-mode[data-page="overview"] .app{margin:0;height:calc(100dvh - 48px);display:flex;flex-direction:column;min-height:0}
body.tablet-mode[data-page="overview"] .topbar{height:42px;min-height:42px;padding:0 16px}.tablet-mode[data-page="overview"] .top-actions{gap:10px}.tablet-mode[data-page="overview"] .font-control{display:none}
body.tablet-mode[data-page="overview"] main{flex:1;min-height:0;width:100%;max-width:none;padding:8px 12px;display:flex;flex-direction:column}
.tablet-mode[data-page="overview"] .page-header,.tablet-mode[data-page="overview"] .shared-settings-status,.tablet-mode[data-page="overview"] footer,.tablet-mode[data-page="overview"] #data-options-home{display:none}
.tablet-mode[data-page="overview"] #overview-page{display:grid;flex:1;min-height:0;grid-template-columns:minmax(0,1fr) 310px;grid-template-rows:42px 34px 30px 18px 152px minmax(0,1fr);gap:7px 12px}
.tablet-mode[data-page="overview"] .device-tabs{grid-column:1/-1;grid-row:1;margin:0;gap:8px}.tablet-mode[data-page="overview"] .device-tab,.tablet-mode[data-page="overview"] .device-tab.selected{padding:5px 10px;min-height:0;gap:8px;display:flex}.tablet-mode[data-page="overview"] .device-tab .device-icon{display:none}.tablet-mode[data-page="overview"] .device-tab strong{font-size:.9rem}.tablet-mode[data-page="overview"] .device-tab small{font-size:.65rem;display:inline;margin-left:8px}.tablet-mode[data-page="overview"] .device-check{position:static}
.tablet-mode[data-page="overview"] .alert-summary{grid-column:1/-1;grid-row:2;padding:4px 8px;margin:0;font-size:.75rem;gap:8px}.tablet-mode[data-page="overview"] .alert-summary div{display:flex;gap:12px;align-items:center}.tablet-mode[data-page="overview"] .alert-summary span:not(.alert-dot){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tablet-mode[data-page="overview"] .alert-dot{width:22px;height:22px}.tablet-mode[data-page="overview"] .reading-head{grid-column:1/-1;grid-row:3;margin:0}.tablet-mode[data-page="overview"] .reading-head h2{font-size:1.1rem}.tablet-mode[data-page="overview"] .reading-date{font-size:.7rem;max-width:none}.tablet-mode[data-page="overview"] .reading-date br{display:none}.tablet-mode[data-page="overview"] .reading-date b{margin-right:10px}
.tablet-mode[data-page="overview"] #ventilation-context{grid-column:1/-1;grid-row:4;margin:0;font-size:.72rem}
.tablet-mode[data-page="overview"] #metrics{grid-column:1/-1;grid-row:5;margin:0;gap:10px;grid-template-columns:repeat(4,minmax(0,1fr))}.tablet-mode[data-page="overview"] .metric{padding:8px 10px;min-height:0;overflow:hidden}.tablet-mode[data-page="overview"] .metric-top{font-size:.85rem}.tablet-mode[data-page="overview"] .metric-icon{width:22px;height:22px;font-size:1rem}.tablet-mode[data-page="overview"] .metric-number{font-size:2rem;margin:3px 0 5px}.tablet-mode[data-page="overview"] .metric-number small{font-size:.8rem}.tablet-mode[data-page="overview"] .state-pill{font-size:.73rem;padding:3px 6px;margin:0 0 4px}.tablet-mode[data-page="overview"] .vent-hint{padding:3px 6px;margin:0 0 4px;font-size:.7rem;line-height:1.4}.tablet-mode[data-page="overview"] .vent-hint small{display:none}.tablet-mode[data-page="overview"] .metric-foot{font-size:.66rem;padding-top:4px;line-height:1.2}.tablet-mode[data-page="overview"] .reading-tools,.tablet-mode[data-page="overview"] .ventilation-note,.tablet-mode[data-page="overview"] #data-options-slot,.tablet-mode[data-page="overview"] .bottom-grid{display:none}
.tablet-mode[data-page="overview"] .trend-panel{grid-row:6;grid-column:1;display:flex;flex-direction:column;min-height:0;margin:0;padding:10px 12px;overflow:hidden}.tablet-mode[data-page="overview"] .trend-panel .panel-heading{display:flex;gap:8px;flex-shrink:0}.tablet-mode[data-page="overview"] .trend-panel .eyebrow{display:none}.tablet-mode[data-page="overview"] .trend-panel h2{font-size:1rem;margin:0}.tablet-mode[data-page="overview"] .metric-select{margin:0;padding:2px}.tablet-mode[data-page="overview"] .metric-select button{font-size:.75rem;min-height:28px;padding:3px 9px;min-width:36px}.tablet-mode[data-page="overview"] .time-window-control{gap:5px;margin:6px 0 0;flex-shrink:0}.tablet-mode[data-page="overview"] .time-window-control>span,.tablet-mode[data-page="overview"] #time-window-description{display:none}.tablet-mode[data-page="overview"] .time-window-control .segmented{width:auto;padding:2px}.tablet-mode[data-page="overview"] .time-window-control button{font-size:.7rem;min-height:28px;padding:3px 8px}.tablet-mode[data-page="overview"] .duration-control{font-size:.7rem;gap:5px}.tablet-mode[data-page="overview"] .duration-control select{font-size:.72rem;min-height:28px;padding:2px 5px}.tablet-mode[data-page="overview"] .average-controls{margin:5px 0 0;gap:6px;font-size:.7rem;flex-shrink:0}.tablet-mode[data-page="overview"] .average-controls select{min-height:25px;padding:2px 4px;font-size:.7rem}.tablet-mode[data-page="overview"] #average-note{font-size:.65rem}.tablet-mode[data-page="overview"] .chart-summary{display:flex;gap:8px;margin:3px 0 0;flex-shrink:0}.tablet-mode[data-page="overview"] .chart-summary strong{font-size:1.1rem}.tablet-mode[data-page="overview"] .chart-summary span{font-size:.65rem;margin:0}.tablet-mode[data-page="overview"] .chart-legend{font-size:.64rem;margin:3px 0 0;gap:5px;flex-shrink:0}.tablet-mode[data-page="overview"] .legend-note{display:none}.tablet-mode[data-page="overview"] .chart-frame{flex:1;min-height:70px;margin-top:0;overflow:hidden}.tablet-mode[data-page="overview"] .chart{margin:0;padding:0;overflow:hidden}.tablet-mode[data-page="overview"] .chart svg text,.tablet-mode[data-page="overview"] .chart-y-axis svg text{font-size:.7rem}.tablet-mode[data-page="overview"] .chart-caption{display:none}
.tablet-mode[data-page="overview"] #daily-statistics{grid-column:2;grid-row:6;display:grid;grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:8px;margin:0;min-height:0}.tablet-mode[data-page="overview"] .daily-card{padding:8px 10px;min-height:0;overflow:hidden}.tablet-mode[data-page="overview"] .daily-card h3{font-size:.85rem;margin:0 0 2px}.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{font-size:.72rem;padding:3px 4px}.tablet-mode[data-page="overview"] .daily-card th small{font-size:.6rem;display:inline;margin-left:3px}.tablet-mode[data-page="overview"] .daily-coverage{font-size:.6rem;margin:3px 0 0}
@media(max-height:700px){.tablet-mode[data-page="overview"] #overview-page{grid-template-rows:36px 28px 24px 0px 120px minmax(0,1fr);gap:5px 10px}.tablet-mode[data-page="overview"] #ventilation-context{display:none}.tablet-mode[data-page="overview"] .metric-number{font-size:1.7rem}.tablet-mode[data-page="overview"] .metric-foot{display:none}.tablet-mode[data-page="overview"] .daily-card tbody tr:not(.is-selected){display:none}.tablet-mode[data-page="overview"] #average-note{display:none}.tablet-mode[data-page="overview"] .chart-summary span{display:none}.tablet-mode[data-page="overview"] .chart-legend{max-height:27px;overflow:hidden}}
@media(max-width:900px){.tablet-mode[data-page="overview"] #overview-page{grid-template-columns:minmax(0,1fr) 255px}.tablet-mode[data-page="overview"] .device-tab small{display:none}.tablet-mode[data-page="overview"] .alert-summary span:not(.alert-dot){display:none}.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{font-size:.68rem}.tablet-mode[data-page="overview"] .trend-panel .panel-heading{flex-wrap:wrap}.tablet-mode[data-page="overview"] .metric-select button{padding:3px 5px}.tablet-mode[data-page="overview"] .average-controls{gap:3px}}

.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{padding:2px 4px;line-height:1.15}.tablet-mode[data-page="overview"] .daily-card h3{line-height:1.2}.tablet-mode[data-page="overview"] .daily-coverage{line-height:1.3}.tablet-mode[data-page="overview"] .daily-card table{line-height:1.15}

.tablet-mode[data-page="overview"] .chart-summary{min-height:0}.tablet-mode[data-page="overview"] .alert-summary strong{flex-shrink:0}.tablet-mode[data-page="overview"] .alert-summary div>span{flex:1;min-width:0}
@media(max-height:700px){.tablet-mode[data-page="overview"] .chart-summary{display:none}}

/* Compare the same metric across days; compact cards put the numbers first. */
.daily-statistics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.daily-card{padding:12px 14px;border-radius:8px;min-width:0}
.daily-card h3{font-size:1.05rem;margin:0 0 6px;display:flex;align-items:baseline;gap:6px}
.daily-card h3 small{font-size:.78rem;color:var(--muted);font-weight:400;margin:0}
.daily-card th,.daily-card td{font-size:.94rem;padding:5px 3px;font-variant-numeric:tabular-nums;line-height:1.25}
.daily-card thead th{font-size:.78rem}.daily-card tbody th{font-size:.85rem;white-space:nowrap}
.daily-card tbody th small{display:block;font-size:.72rem;font-weight:400;color:var(--muted)}
.daily-card .stat-max{color:#b65325;font-weight:700}.daily-card .stat-min{color:#276ca1;font-weight:700}
.daily-card.is-selected{border-color:#809d6c}.daily-coverage{grid-column:1/-1;margin:0;font-size:.76rem}
.daily-no-data{font-size:.8rem!important;font-weight:400}
@media(max-width:1400px){.daily-statistics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.daily-statistics{gap:8px}.daily-card{padding:10px 8px}.daily-card th,.daily-card td{font-size:.84rem;padding:5px 2px}.daily-card thead th{font-size:.72rem}.daily-card tbody th{font-size:.74rem}.daily-card tbody th small{font-size:.65rem}.daily-card h3{font-size:.95rem}.daily-coverage{font-size:.7rem}}
.tablet-mode[data-page="overview"] #overview-page{grid-template-columns:minmax(0,1fr) 340px}
.tablet-mode[data-page="overview"] #daily-statistics{grid-template-rows:none;grid-auto-rows:max-content;align-content:start;gap:5px}
.tablet-mode[data-page="overview"] .daily-card{padding:5px 9px;border-radius:7px}
.tablet-mode[data-page="overview"] .daily-card h3{font-size:.94rem;line-height:1.2;margin:0 0 2px}
.tablet-mode[data-page="overview"] .daily-card h3 small{font-size:.72rem}
.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{font-size:.86rem;padding:2px 4px;line-height:1.15}
.tablet-mode[data-page="overview"] .daily-card thead th{font-size:.7rem}
.tablet-mode[data-page="overview"] .daily-card tbody th{font-size:.77rem}
.tablet-mode[data-page="overview"] .daily-card tbody th small{font-size:.68rem;display:inline;margin-left:6px}
.tablet-mode[data-page="overview"] .daily-coverage{display:none}
@media(max-height:700px){.tablet-mode[data-page="overview"] .daily-card:not(.is-selected){display:none}.tablet-mode[data-page="overview"] .daily-card tbody tr{display:table-row!important}.tablet-mode[data-page="overview"] .daily-card{padding:10px}.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{font-size:1rem;padding:8px 3px}.tablet-mode[data-page="overview"] .daily-card thead th{font-size:.8rem}.tablet-mode[data-page="overview"] .daily-card h3{font-size:1.1rem}}
@media(max-width:900px){.tablet-mode[data-page="overview"] #overview-page{grid-template-columns:minmax(0,1fr) 300px}}
#dark-mode[aria-pressed="true"]{background:#283c3b;color:#f2d78b;border-radius:8px}
@media(max-width:650px){.top-actions{gap:3px}.topbar{padding-left:12px;padding-right:12px}.top-actions .avatar{display:none}.top-actions .icon-button{min-width:32px;font-size:1.35rem}}
/* Night palette: low glare surfaces and readable status/chart colors. */
html[data-theme="dark"] body{--bg:#101a19;--surface:#192725;--ink:#e0eae5;--muted:#a7bab2;--line:#354b44;--green:#9bcca5;--shadow:none;background:var(--bg);color:var(--ink)}
html[data-theme="dark"] :is(.sidebar,.topbar){background:#14211f}
html[data-theme="dark"] :is(.panel,.device-tab,.secondary,.segmented button.selected,.metric-select .selected){background:var(--surface);border-color:var(--line)}
html[data-theme="dark"] :is(.device-tab.selected,.nav.active){background:#253c30;color:#cce8bc;border-color:#8aab77}
html[data-theme="dark"] :is(.segmented,.metric-select,.font-control,.avatar,.device-icon,.metric-icon,.close-dialog){background:#253832;color:#b7d0b1}
html[data-theme="dark"] :is(.button:hover,.nav:hover){background:#30473a}
html[data-theme="dark"] :is(input,select){background:#172522;color:var(--ink);border-color:#536b60}
html[data-theme="dark"] :is(.archive-banner,.data-options,.target-hd-note,.hd-guide-range,.battery-summary,.field-note,.management-note,.preview-chip){background:#21342c;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] :is(.archive-banner div>span,.offline-label,.eyebrow,.farm-icon,.note-foot,.guide-sources a){color:#b5cba8}
html[data-theme="dark"] :is(.state-pill.ok,.vent-open){background:#294b35;color:#c2e3b5}
html[data-theme="dark"] :is(.state-pill.low){background:#203e55;color:#b5d9fa}
html[data-theme="dark"] :is(.state-pill.high,.vent-close,.guide-section.spike,.alert-summary.has-alerts){background:#483824;color:#f4c98c;border-color:#80623c}
html[data-theme="dark"] :is(.state-pill.unset,.vent-hint){background:#283b33;color:#c4d1c3}
html[data-theme="dark"] .vent-open{background:#294b35;color:#c2e3b5}
html[data-theme="dark"] .vent-close{background:#483824;color:#f4c98c}
html[data-theme="dark"] .alert-summary{background:#223d2d;color:#c7dec3;border-color:#4b6c46}
html[data-theme="dark"] .metric.status-high .metric-number{color:#f1bc7d}
html[data-theme="dark"] .metric.status-low .metric-number{color:#9dceef}
html[data-theme="dark"] .metric.status-ok .metric-number{color:#b4d59a}
html[data-theme="dark"] .metric.primary{background:#294835;color:var(--ink);border-color:#56734d}
html[data-theme="dark"] :is(.battery-low,.form-error,#target-error){color:#f0ae88}
html[data-theme="dark"] .battery-ok{color:#b7dca7}
html[data-theme="dark"] .save-targets{background:#375d40;color:#f0f5eb}
html[data-theme="dark"] .brand-mark{background:#34533c}
html[data-theme="dark"] .font-control button.selected{background:#40553c;color:#f2f5eb}
html[data-theme="dark"] .daily-card .stat-max{color:#ffb68b}
html[data-theme="dark"] .daily-card .stat-min{color:#99cff4}
html[data-theme="dark"] .daily-card.is-selected{border-color:#8cae7c}
html[data-theme="dark"] .chart-y-axis{background:var(--surface)}
html[data-theme="dark"] .axis-surface{fill:var(--surface)}
html[data-theme="dark"] :is(.chart svg text,.chart-y-axis text){fill:#b6c9be}
html[data-theme="dark"] .chart svg .date-tick{fill:#d5e6d8}
html[data-theme="dark"] .chart svg .target-label{fill:#c9dea9;stroke:var(--surface)}
html[data-theme="dark"] :is(.value-grid,.hour-grid){stroke:#40564a}
html[data-theme="dark"] :is(.half-hour-grid,.minor-time-grid){stroke:#2d4038}
html[data-theme="dark"] .target-band{fill:#456038;opacity:.3}
html[data-theme="dark"] .target-line{stroke:#b3d68e}
html[data-theme="dark"] .chart-series{stroke:#add39c}
html[data-theme="dark"] .chart-point{fill:var(--surface);stroke:#add39c}
html[data-theme="dark"] .average-path{stroke:#c4a7ef}
html[data-theme="dark"] .average-line-key{border-color:#c4a7ef}
html[data-theme="dark"] .legend-band{background:#3e5933;border-color:#b3d68e}
html[data-theme="dark"] :is(.chart-tooltip,#toast){background:#d5e4db;color:#15231c}
html[data-theme="dark"] :is(button,a,input,select):focus-visible{outline-color:#b3d68e}
/* Keep four metric comparisons visible on a standard 768px landscape display. */
.tablet-mode[data-page="overview"] #overview-page{grid-template-rows:42px 34px 30px 18px 136px minmax(0,1fr)}
.tablet-mode[data-page="overview"] .daily-card{padding-top:3px;padding-bottom:3px}
.tablet-mode[data-page="overview"] .daily-card h3{line-height:1.1;margin-bottom:0}
@media(max-height:740px){.tablet-mode[data-page="overview"] #overview-page{grid-template-rows:36px 28px 24px 0px 120px minmax(0,1fr);gap:5px 10px}.tablet-mode[data-page="overview"] #ventilation-context,.tablet-mode[data-page="overview"] .metric-foot{display:none}.tablet-mode[data-page="overview"] .daily-card:not(.is-selected){display:none}.tablet-mode[data-page="overview"] .daily-card{padding:10px}.tablet-mode[data-page="overview"] .daily-card th,.tablet-mode[data-page="overview"] .daily-card td{font-size:1rem;padding:8px 3px}.tablet-mode[data-page="overview"] .daily-card thead th{font-size:.8rem}.tablet-mode[data-page="overview"] .daily-card h3{font-size:1.1rem}.tablet-mode[data-page="overview"] .chart-summary{display:none}}
@media(max-width:650px){.daily-statistics{grid-template-columns:1fr}.daily-card{padding:10px 14px}.daily-card th,.daily-card td{font-size:1rem;padding:5px}.daily-card thead th{font-size:.82rem}.daily-card tbody th{font-size:.88rem}.daily-card tbody th small{display:inline;margin-left:6px;font-size:.74rem}.daily-card h3{font-size:1.05rem}}
html[data-theme="dark"] .font-control button{background:#253832;color:#d7e4da}
html[data-theme="dark"] .font-control button.selected{background:#40553c;color:#f2f5eb}
html[data-theme="dark"] .device-tab.selected .device-icon{background:#3c5531;color:#d2e2b0}
html[data-theme="dark"] .management-card .button{background:#375d40;color:#f0f5eb}
.login-page{min-height:100dvh;display:grid;place-items:center}.login-main{width:100%;max-width:460px;padding:32px 20px;margin:auto}.login-main>.brand{margin-bottom:26px;justify-content:center}.login-panel{padding:28px}.login-panel h1{font-size:1.8rem}.login-panel>p{color:var(--muted);margin:0 0 20px}.login-panel label,#account-form label{display:block;margin:15px 0;font-size:1rem;font-weight:600}.login-panel input,#account-form input{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);min-height:48px}.login-panel small,#account-form small{display:block;font-size:.83rem;color:var(--muted);line-height:1.8;margin-top:18px}.login-footer{display:block;text-align:center;color:var(--muted);font-size:.8rem;margin:20px 0}.login-panel .save-targets{margin-top:10px}.login-panel #login-error,#account-result{font-size:.9rem;color:#aa4a26;line-height:1.7;margin:10px 0;min-height:1.7em}html[data-theme="dark"] :is(#login-error,#account-result){color:#f0ae88}#logout{width:100%;margin-top:18px}#open-account{font-size:1.4rem}#account-dialog{max-width:500px}

.login-home-link{display:block;text-align:center;margin:18px;color:inherit;font-size:12px}.breadcrumb a,footer>a{color:inherit;text-decoration:none}.breadcrumb a:hover,footer>a:hover{text-decoration:underline}.breadcrumb a:focus-visible,.login-home-link:focus-visible{outline:3px solid #d7ac41;outline-offset:3px}
