.app-shell{display:flex;min-height:100vh}.app-sidebar{width:15.5rem;flex-shrink:0;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e2e8f0;padding:1.25rem 0 0;position:sticky;top:0;align-self:flex-start;height:100vh;max-height:100vh;box-sizing:border-box}.app-sidebar-brand{padding:0 1.25rem 1rem;font-size:.95rem;font-weight:600;letter-spacing:-.02em;color:#0f172a;border-bottom:1px solid #e2e8f0;margin-bottom:.75rem}.app-nav{list-style:none;margin:0;padding:0 .75rem;flex:1;min-height:0;overflow-y:auto}.app-nav-link{display:block;padding:.55rem .75rem;border-radius:8px;color:#334155;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease}.app-nav-link:hover{background:#f1f5f9;color:#0f172a}.app-nav-link-active{background:#eff6ff;color:#1d4ed8}.app-sidebar-bottom{flex-shrink:0;margin-top:auto}.app-sidebar-version{margin:0;padding:0 1.25rem .65rem;font-size:.75rem;color:#64748b;text-align:center}.app-sidebar-foot{flex-shrink:0;padding:.75rem 1.25rem 1rem;border-top:1px solid #e2e8f0;background:#fff}.app-sidebar-sign-out{width:100%}.app-main{flex:1;min-width:0;overflow:auto}.app{max-width:1400px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.auth-screen,.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:24rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.75rem 1.5rem 1.5rem;box-shadow:0 1px 2px #0f172a0a}.login-header h1{margin:0 0 .35rem;font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.login-lede{margin:0 0 1.25rem;color:#64748b;font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:.85rem}.login-field input{width:100%;margin-top:.25rem;padding:.5rem .65rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.login-field input:focus{outline:2px solid #93c5fd;outline-offset:1px;border-color:#3b82f6}.login-error{margin:0}.login-submit{width:100%;margin-top:.25rem}.header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.header-top h1{margin:0}.header-sign-out{flex-shrink:0;margin-top:.15rem}.header h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;letter-spacing:-.02em}.header-api-link-row{margin:0 0 .55rem}.sensor-api-info-link{font-size:.95rem;font-weight:500}.lede{margin:0;color:#475569;font-size:.95rem;max-width:58rem}.daily-snapshot-notice{margin:.65rem 0 .85rem;padding:.65rem .85rem;max-width:58rem;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;color:#14532d;font-size:.9rem;line-height:1.45}.daily-snapshot-notice strong{font-weight:700}.lede code{font-size:.88em;background:#e2e8f0;padding:.1em .35em;border-radius:4px}.banner{margin:1rem 0;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.banner.warn{background:#fff7ed;color:#9a3412;border:1px solid #fdba74}.banner.err{background:#fef2f2;color:#b91c1c;border:1px solid #fecaca}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem 1.25rem 1rem;margin:1.5rem 0;box-shadow:0 1px 2px #0f172a0a}.label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.25rem}.hint{margin:0 0 .75rem;color:#64748b;font-size:.85rem}.hint.source-note{background:#f0f9ff;border:1px solid #bae6fd;color:#0369a1;padding:.5rem .75rem;border-radius:6px;margin-top:.25rem}.tag-filter-row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:1.25rem 1.5rem}.tag-filter{flex:0 1 22rem;max-width:36rem;min-width:min(100%,16rem)}.health-summary-block{flex:1 1 18rem;min-width:0;max-width:100%}.health-summary-title{text-align:center;font-size:1.05rem;font-weight:600;margin:0 0 .5rem;color:#0f172a;letter-spacing:-.01em}.health-summary-block{margin-bottom:1.5rem}.health-summary-section-heading{font-size:.9rem;font-weight:700;color:#334155;margin:0}.table-wrap>.health-summary-section-heading{margin-bottom:.5rem}.health-summary-hint{margin:.5rem 0 0;text-align:center;font-size:.82rem}.health-summary-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:8px;background:#fff}table.health-summary{width:100%;min-width:12rem;border-collapse:collapse;font-size:.85rem}table.health-summary th,table.health-summary td{border:1px solid #e2e8f0;padding:.4rem .5rem;text-align:center;vertical-align:middle}table.health-summary .health-summary-corner{width:1%;min-width:7.5rem;max-width:10rem;background:#f8fafc;border-right:1px solid #cbd5e1}table.health-summary .health-summary-cat{text-align:left;font-weight:500;color:#0f172a;background:#f8fafc;white-space:normal;line-height:1.3;padding:.4rem .55rem;border-right:1px solid #cbd5e1;vertical-align:middle}.health-summary-cat-inner{display:flex;align-items:center;gap:.4rem}.health-summary-filter-cb{margin:0;flex-shrink:0;cursor:pointer}.health-summary-cat-text{flex:1;min-width:0}table.health-summary tbody tr.health-summary-row-total .health-summary-cat{text-align:right}table.health-summary .health-summary-th-tag{background:#f1f5f9;font-weight:600;color:#334155;max-width:8rem;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}table.health-summary .health-summary-n{font-variant-numeric:tabular-nums;min-width:3.25rem}table.health-summary tbody tr.health-summary-row-danger .health-summary-cat,table.health-summary tbody tr.health-summary-row-danger .health-summary-n{background:#fee2e2}table.health-summary tbody tr.health-summary-row-warn .health-summary-cat,table.health-summary tbody tr.health-summary-row-warn .health-summary-n{background:#fef9c3}table.health-summary tbody tr.health-summary-row-ok .health-summary-cat,table.health-summary tbody tr.health-summary-row-ok .health-summary-n{background:#fff}table.health-summary tbody tr.health-summary-row-total{border-top:2px solid #cbd5e1}table.health-summary tbody tr.health-summary-row-total .health-summary-cat,table.health-summary tbody tr.health-summary-row-total .health-summary-n{background:#f1f5f9;font-weight:600;color:#0f172a}table.health-summary tbody tr.health-summary-row-total .health-summary-total-n{font-variant-numeric:tabular-nums}.tag-filter-details{border:1px solid #e2e8f0;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0f172a0a}.tag-filter-summary{list-style:none;padding:.55rem .75rem;cursor:pointer;font-size:.9rem;color:#0f172a;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tag-filter-summary::-webkit-details-marker{display:none}.tag-filter-summary:after{content:"▾";font-size:.7rem;color:#64748b;flex-shrink:0}.tag-filter-details[open] .tag-filter-summary:after{content:"▴"}.tag-filter-panel{border-top:1px solid #e2e8f0;padding:.65rem .75rem .75rem;max-height:18rem;overflow:hidden;display:flex;flex-direction:column;gap:.5rem;background:#f8fafc}.tag-search-wrap{flex-shrink:0}.tag-search-input{width:100%;box-sizing:border-box;padding:.45rem .6rem;font:inherit;font-size:.88rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a}.tag-search-input::placeholder{color:#94a3b8}.tag-search-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.tag-list{list-style:none;margin:0;padding:0;min-height:0;flex:1;max-height:12rem;overflow-y:auto;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.tag-list-empty{margin:0;padding:.75rem .6rem;color:#94a3b8;font-size:.88rem;text-align:center}.tag-row{border-bottom:1px solid #f1f5f9}.tag-row:last-child{border-bottom:none}.tag-row-label{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;width:100%;box-sizing:border-box;cursor:pointer;font-size:.88rem;-webkit-user-select:none;user-select:none}.tag-row:hover .tag-row-label{background:#f8fafc}.tag-row input{margin:0;flex-shrink:0}.tag-row-text{flex:1;min-width:0;line-height:1.3;word-break:break-word}.tag-filter-foot{margin-top:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0}.linkish{background:none;border:none;color:#2563eb;cursor:pointer;font:inherit;font-size:.85rem;padding:0;text-decoration:underline}.linkish:hover{color:#1d4ed8}.actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid #f1f5f9}button{border-radius:6px;border:1px solid #cbd5e1;padding:.5rem 1rem;background:#fff;color:#0f172a;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:#0f172a;color:#fff;border-color:#0f172a}button.primary:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.summary{font-size:.9rem;color:#64748b;margin-bottom:.5rem}.summary-with-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem}.summary-table-actions{display:flex;align-items:center;gap:.75rem;margin-left:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.column-picker{position:relative}.column-picker-trigger{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:1px solid #93c5fd;border-radius:6px;background:#fff;color:#2563eb;cursor:pointer}.column-picker-trigger:hover,.column-picker-trigger.is-open{background:#eff6ff;border-color:#60a5fa}.column-picker-popover{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;width:min(18.5rem,calc(100vw - 2rem));background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 28px #0f172a1f;overflow:hidden}.column-picker-header{padding:.75rem .9rem .45rem;font-size:.95rem;font-weight:600;color:#0f172a}.column-picker-list{list-style:none;margin:0;padding:.15rem 0;max-height:min(22rem,55vh);overflow:auto}.column-picker-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem .35rem .9rem;cursor:grab;-webkit-user-select:none;user-select:none}.column-picker-item:hover{background:#f8fafc}.column-picker-item.is-dragging{opacity:.55;background:#eff6ff}.column-picker-item.is-locked .column-picker-label{color:#94a3b8}.column-picker-label{display:flex;align-items:center;gap:.55rem;flex:1;min-width:0;font-size:.9rem;color:#334155;cursor:pointer}.column-picker-label input{width:.95rem;height:.95rem;accent-color:#2563eb;flex-shrink:0}.column-picker-handle{display:inline-flex;color:#94a3b8;flex-shrink:0}.column-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.65rem .75rem .75rem;border-top:1px solid #e2e8f0}.column-picker-footer-right{display:flex;gap:.45rem}.column-picker-reset,.column-picker-cancel,.column-picker-apply{font-size:.85rem;border-radius:6px;padding:.35rem .7rem;cursor:pointer}.column-picker-reset{border:none;background:transparent;color:#475569}.column-picker-reset:hover{color:#0f172a;text-decoration:underline}.column-picker-cancel{border:1px solid #cbd5e1;background:#fff;color:#334155}.column-picker-cancel:hover{background:#f8fafc}.column-picker-apply{border:1px solid #93c5fd;background:#dbeafe;color:#1e40af;font-weight:600}.column-picker-apply:hover{background:#bfdbfe}.table-wrap{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem;box-shadow:0 1px 2px #0f172a0a}.scroll{overflow:auto;max-height:min(70vh,900px);border:1px solid #e2e8f0;border-radius:6px}table.grid{width:100%;border-collapse:collapse;font-size:.88rem;--col-group-row-height: 1.85rem;--col-filter-row-height: 2.85rem}table.grid.grid-temp30d-loading{--col-group-row-height: 3.4rem}table.grid th,table.grid td{padding:.5rem .65rem;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}table.grid thead tr.th-group-row th{position:sticky;top:0;z-index:4;height:var(--col-group-row-height);padding:.3rem .5rem;background:#f1f5f9;font-weight:600;font-size:.8rem;color:#334155;border-bottom:1px solid #e2e8f0;vertical-align:middle;text-align:center;white-space:nowrap}table.grid thead tr.th-group-row th.th-group-temp30d{background:#e0f2fe;color:#0c4a6e;border-left:1px solid #bae6fd;border-right:1px solid #bae6fd;height:auto;min-height:var(--col-group-row-height)}.th-group-temp30d-inner{display:flex;flex-direction:column;align-items:center;gap:.15rem;line-height:1.2}.th-group-temp30d-label{display:block}.temp30d-loading{display:block;font-size:inherit;font-weight:500;white-space:nowrap;animation:temp30d-loading-pulse 1.1s ease-in-out infinite}@keyframes temp30d-loading-pulse{0%,to{color:#0c4a6e}50%{color:#38bdf8}}@media (prefers-reduced-motion: reduce){.temp30d-loading{animation:none;color:#0284c7}}table.grid thead tr.th-group-row th.th-group-empty{background:#fff;border-bottom:1px solid #e2e8f0}table.grid thead:has(tr.th-group-row) tr.th-filter-row th{top:var(--col-group-row-height)}table.grid thead:has(tr.th-group-row) tr.th-sort-row th{top:calc(var(--col-group-row-height) + var(--col-filter-row-height))}table.grid thead tr.th-filter-row th{position:sticky;top:0;z-index:3;height:var(--col-filter-row-height);padding:.35rem .5rem;background:#fff;font-weight:600;border-bottom:1px solid #e2e8f0;vertical-align:middle}table.grid thead tr.th-sort-row th{position:sticky;top:var(--col-filter-row-height);z-index:2;background:#f8fafc;font-weight:600;border-bottom:1px solid #e2e8f0;white-space:nowrap}table.grid th.th-sort{padding:0;vertical-align:bottom}.th-sort-btn{display:flex;align-items:center;justify-content:flex-start;gap:.35rem;width:100%;margin:0;padding:.5rem .65rem;border:none;background:transparent;font:inherit;font-weight:600;color:inherit;cursor:pointer;text-align:left;border-radius:4px}.th-sort-btn:hover{background:#e2e8f0}.th-sort-ind{font-size:.7em;opacity:.88;flex-shrink:0}.col-filter-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.col-filter-input{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:.25rem .35rem;font:inherit;font-size:.8rem;font-weight:400;border:1px solid #cbd5e1;border-radius:4px;background:#f8fafc}.col-filter-input:focus{outline:2px solid #3b82f6;outline-offset:1px;background:#fff}table.grid tbody tr:nth-child(2n){background:#fafbfc}table.grid tbody tr.row-stale,table.grid tbody tr.row-missing-last-connected{background:#fee2e2}table.grid tbody tr.row-stale:nth-child(2n),table.grid tbody tr.row-missing-last-connected:nth-child(2n){background:#fecaca}table.grid tbody tr.row-battery-low-recent{background:#fef9c3}table.grid tbody tr.row-battery-low-recent:nth-child(2n){background:#fef08a}table.grid td.temp-avg-in-range{background:#bbf7d0;color:#14532d;font-weight:600}table.grid td.temp-avg-out-of-range{background:#fecaca;color:#7f1d1d;font-weight:600}.num-cell{text-align:right}.health-summary-grid td:first-child{font-weight:500}.health-summary-ok{color:#15803d}.health-summary-warn{color:#a16207}.health-summary-danger{color:#b91c1c}.summary-loaded-at{margin:.75rem 0 0}.summary-actions{align-items:center;flex-wrap:wrap;gap:.75rem 1.25rem}.summary-last-refreshed{margin:0;font-size:.9rem;color:#334155}.summary-last-refreshed time{font-weight:600;color:#0f172a}.fleet-summary-line{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin:0;padding:.75rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:10px;font-size:.92rem;color:#334155;box-shadow:0 1px 2px #0f172a0a}.fleet-summary-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.fleet-summary-line strong{font-weight:600;color:#0f172a}.fleet-summary-sep{color:#94a3b8;-webkit-user-select:none;user-select:none}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Cascadia Code,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.86em}.tags-cell{max-width:200px;word-break:break-word}.sensor-cloud-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}.tag-detail-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px;font-weight:500}.sensor-cloud-link:hover,.tag-detail-link:hover{color:#1e40af}.muted{color:#94a3b8;font-style:italic}.notes-cell{min-width:14rem;max-width:22rem;vertical-align:top}.sensor-note-input{box-sizing:border-box;width:100%;min-height:2.75rem;padding:.35rem .45rem;font:inherit;font-size:.88rem;line-height:1.35;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;resize:vertical}.sensor-note-input:focus{outline:2px solid #3b82f6;outline-offset:1px;background:#fff}button.temp-history-btn{font:inherit;font-size:inherit;line-height:inherit;font-variant-numeric:inherit;font-family:inherit;border-radius:0;text-underline-offset:2px}.temp-history-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:#0f172a73}.temp-history-panel{width:min(1270px,100%);max-height:min(90vh,640px);overflow:auto;background:#fff;border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 20px 50px #0f172a2e;padding:1rem 1.15rem 1.25rem}.temp-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.temp-history-title{margin:0;font-size:1.15rem;font-weight:600;color:#0f172a}.temp-history-legend{display:flex;align-items:flex-start;gap:.45rem;margin:.4rem 0 0;font-size:.78rem;line-height:1.4;color:#475569;max-width:42rem}.temp-history-legend-swatch{flex-shrink:0;width:.85rem;height:.85rem;margin-top:.15rem;border-radius:2px;background:#22c55e47;border:1px solid rgba(22,163,74,.35)}.temp-history-sub{margin:.25rem 0 0;font-size:.82rem;line-height:1.4}.temp-history-sub code{font-size:.85em;background:#f1f5f9;padding:.05em .3em;border-radius:4px}button.temp-history-close{flex-shrink:0;border:none;background:#f1f5f9;color:#475569;width:2.25rem;height:2.25rem;border-radius:8px;font-size:1.35rem;line-height:1;padding:0}button.temp-history-close:hover{background:#e2e8f0;color:#0f172a}.sensor-api-info-panel{width:min(920px,100%);max-height:min(90vh,720px)}.sensor-api-info-scroll{overflow:auto;max-height:min(70vh,560px);border:1px solid #e2e8f0;border-radius:8px}.sensor-api-info-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:fixed}.sensor-api-info-table th,.sensor-api-info-table td{padding:.55rem .7rem;text-align:left;vertical-align:top;border-bottom:1px solid #f1f5f9}.sensor-api-info-table thead th{position:sticky;top:0;background:#f8fafc;font-weight:600;color:#0f172a;border-bottom:1px solid #e2e8f0;z-index:1}.sensor-api-info-table thead th:nth-child(1),.sensor-api-info-table tbody th{width:7.5rem}.sensor-api-info-table thead th:nth-child(2){width:8.5rem}.sensor-api-info-table thead th:nth-child(3){width:14rem}.sensor-api-info-table tbody th{font-weight:600;color:#1e293b;white-space:normal;word-break:break-word}.sensor-api-info-table td:nth-child(3){word-break:break-word}.sensor-api-info-table code{font-size:.85em;background:#f1f5f9;padding:.1em .35em;border-radius:4px;word-break:break-word}a.sensor-api-doc-link{color:#1d4ed8;text-decoration:underline;text-underline-offset:2px}a.sensor-api-doc-link:hover{color:#1e40af}a.sensor-api-doc-link code{color:inherit;background:#eff6ff}.sensor-api-info-link-sep{color:#64748b}.temp-history-status{margin:.5rem 0}.temp-history-err{margin-top:.5rem}.temp-history-daily-window{margin-top:.5rem;padding:.65rem .75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.temp-history-daily-window-title{display:block;font-weight:600;font-size:.82rem;color:#0f172a;margin-bottom:.2rem}.temp-history-daily-window-hint{display:block;font-size:.75rem;line-height:1.35;margin-bottom:.5rem}.temp-history-daily-window-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.65rem 1rem}.temp-history-time-field{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:#334155}.temp-history-time-field-label{font-weight:500}.temp-history-time-field input[type=time]{padding:.3rem .45rem;font:inherit;font-size:.88rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a}.temp-history-time-field input[type=time]:focus{outline:2px solid #3b82f6;outline-offset:1px}button.temp-history-daily-clear{margin-bottom:.15rem;align-self:flex-end}.temp-history-filter-empty{margin:.5rem 0 0;font-size:.85rem}.temp-history-body{display:flex;flex-wrap:wrap;align-items:stretch;gap:1rem 1.25rem;margin-top:.5rem}.temp-history-chart-wrap{flex:1 1 368px;min-width:0}.temp-history-chart{display:block;width:100%;height:auto;max-height:280px}.temp-history-chart-empty{min-height:200px;display:flex;align-items:center;justify-content:center;border:1px dashed #cbd5e1;border-radius:8px;font-size:.9rem}.temp-history-acceptable-band{fill:#22c55e38}.temp-history-grid{stroke:#e2e8f0;stroke-width:1}.temp-history-line{stroke:#2563eb;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.temp-history-dot{fill:#1e3a8a;stroke:#fff;stroke-width:1}.temp-history-axis-text{fill:#64748b;font-size:11px}.temp-history-hit{cursor:crosshair}.temp-history-crosshair{stroke:#0f172a;stroke-width:1}.temp-history-hover-dot{fill:#1e3a8a;stroke:#fff;stroke-width:1.5}.temp-history-hover-temp{fill:#0f172a;font-size:13px;font-weight:600;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;dominant-baseline:hanging}.temp-history-time-bg{fill:#fff;stroke:#e2e8f0;stroke-width:1}.temp-history-time-text{fill:#0f172a;font-size:10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.temp-history-side{flex:0 0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.temp-history-stats{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;min-width:7.5rem}.temp-history-stat{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 .35rem;padding:.55rem .65rem;border-bottom:1px solid #e2e8f0;align-items:center}.temp-history-stat:last-child{border-bottom:none}.temp-history-stat-label{grid-row:1 / span 2;font-size:1rem;color:#64748b;min-width:1.25rem;text-align:center;justify-self:center}.temp-history-stat-value{grid-column:2;font-weight:600;font-size:.95rem;color:#0f172a}.temp-history-stat-caption{grid-column:2;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.temp-history-stat-avg{background:#f8fafc}.temp-history-current{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-width:10rem;max-width:16rem}.temp-history-current-heading{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.35rem}.temp-history-current-when{font-size:.72rem;line-height:1.35;margin-bottom:.45rem}.temp-history-current-value{font-size:1.75rem;font-weight:700;color:#1e293b;line-height:1.1;text-align:center}.trends-refreshing{color:#64748b;font-style:italic}.trends-baseline-panel{display:flex;flex-direction:column;gap:.75rem}.trends-baseline-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem}.trends-control-field{display:flex;flex-direction:column;gap:.25rem}.trends-control-field-label{font-size:.78rem;font-weight:600;color:#64748b}.trends-baseline-status{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem}.trends-baseline-select{min-width:10rem;padding:.45rem .6rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;background:#fff;color:#0f172a}.trends-date-input{padding:.4rem .55rem;border:1px solid #cbd5e1;border-radius:8px;font-size:.9rem;background:#fff;color:#0f172a}.trends-empty-panel{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.trends-go-summary{display:inline-block;padding:.5rem 1rem;border-radius:8px;background:#2563eb;color:#fff;font-weight:600;font-size:.9rem;text-decoration:none}.trends-go-summary:hover{background:#1d4ed8;color:#fff}.trends-org-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;margin-bottom:1rem}.trends-chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.85rem 1rem 1rem;box-shadow:0 1px 2px #0f172a0a;overflow:visible}.trends-chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;padding-bottom:.55rem;border-bottom:1px solid #e2e8f0}.trends-chart-card-title{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.trends-chart-badge{flex-shrink:0;padding:.2rem .55rem;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0;font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:lowercase;color:#64748b}.trend-chart-wrap{position:relative;overflow:visible}.trend-chart-surface{background:transparent;border:none;border-radius:0;padding:0}.trend-chart-wrap-interactive{cursor:crosshair}.trend-chart-wrap-interactive .trend-chart{pointer-events:none}.trends-chart-card-wide,.trends-baseline-card-full{margin-bottom:1rem}.trends-chart-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.5rem;font-size:.82rem;color:#64748b}.trends-chart-legend-item{display:inline-flex;align-items:center;gap:.4rem}.trends-chart-legend-swatch{width:10px;height:10px;border-radius:50%;flex-shrink:0}.trends-chart-legend-swatch-line{background:#16a34a}.trends-chart-legend-swatch-bar{background:#2dd4bf;border-radius:2px;height:10px;width:10px}.trends-chart-legend-swatch-connected{background:#16a34a;border-radius:2px;height:10px;width:10px}.trends-chart-legend-swatch-total{background:#cbd5e1;border:1px solid #94a3b8;border-radius:2px;height:10px;width:10px}.trends-chart-legend-swatch-not-connected{background:#d97706;border-radius:2px;height:10px;width:10px}.trends-chart-legend-swatch-never{background:#dc2626;border-radius:2px;height:10px;width:10px}.trend-chart-label-right{fill:#64748b}.trend-chart-bar-combo{opacity:.72}.trend-chart-bar-combo.trend-chart-bar-active{opacity:1}.trend-chart-stack{opacity:.88}.trend-chart-stack-active{opacity:1}.trend-chart-stack-total{fill:#e2e8f0;stroke:#94a3b8;stroke-width:1}.trend-chart-stack-connected{fill:#16a34a}.trend-chart-stack-not-connected{fill:#d97706}.trend-chart-stack-never{fill:#dc2626}.trend-chart-crosshair-combo{stroke:#64748b}.trend-chart-tooltip-combo{min-width:11rem}.trend-chart-tooltip-divider{height:1px;margin:.4rem 0;background:#334155}.trend-chart-tooltip-combo .trend-chart-tooltip-row+.trend-chart-tooltip-row{margin-top:.3rem}.trends-chart-caption{margin:.5rem 0 0}.trends-compare-range{margin:0 0 1rem;font-size:.82rem;line-height:1.45;color:#64748b;display:flex;flex-wrap:wrap;align-items:baseline;gap:.65rem 2.25rem}.trends-compare-range-inline{margin:0}.trends-compare-date{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.3rem}.trends-compare-date-label{font-weight:700;color:#334155}.trends-compare-date-value{font-weight:400;color:#64748b}.trends-movers-section .trends-compare-range,.table-wrap .trends-compare-range{margin:.35rem 0 .65rem}.trends-baseline-card .trends-org-delta-stats{margin-bottom:0}.trends-org-delta-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.trends-baseline-card .trends-stat{align-items:center;text-align:center}.trends-stat{display:flex;flex-direction:column;gap:.2rem}.trends-stat-value{font-size:1.35rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums}.trends-stat-label{font-size:.78rem;color:#64748b}.trends-org-counts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;border-top:1px solid #e2e8f0;margin-top:.85rem;padding-top:.85rem}.trends-count-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem;text-align:center}.trends-count-value{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums}.trends-count-connected{color:#16a34a}.trends-count-not-connected{color:#d97706}.trends-count-never{color:#dc2626}.trends-count-total{color:#0f172a}.trends-count-label{font-size:.78rem;color:#64748b}.trend-delta-baseline-up{color:#2563eb;font-weight:700}.trend-delta-baseline-down{color:#dc2626;font-weight:700}.trend-delta-ok{color:#15803d;font-weight:600}.trend-delta-warn{color:#b45309;font-weight:600}.trend-delta-flat{color:#64748b;font-weight:600}.trend-chart{width:100%;max-width:100%;height:auto}.trend-chart-axis{stroke:#cbd5e1;stroke-width:1}.trend-chart-grid{stroke:#e2e8f0;stroke-width:1}.trend-chart-grid-pct{stroke:#dbeafe;stroke-width:1;stroke-dasharray:3 4}.trend-chart-crosshair{stroke-width:1.5;stroke-dasharray:4 4;pointer-events:none}.trend-chart-crosshair-line{stroke:#3b82f6}.trend-chart-crosshair-bar{stroke:#2dd4bf}.trend-chart-line{stroke:#16a34a;stroke-width:2.5;pointer-events:none}.trend-chart-dot{fill:#16a34a;pointer-events:none}.trend-chart-dot-active{fill:#fff;stroke:#16a34a;stroke-width:2}.trend-chart-bar{fill:#2dd4bf;pointer-events:none}.trend-chart-bar-active{fill:#14b8a6}.trend-chart-bar-value{fill:#0f172a;font-size:11px;font-weight:700;pointer-events:none}.trend-chart-label{fill:#64748b;font-size:10px;pointer-events:none}.trend-chart-tooltip{position:absolute;z-index:10;min-width:9.5rem;padding:.55rem .65rem;border-radius:8px;background:#1e293b;border:1px solid #334155;box-shadow:0 8px 20px #0f172a59;pointer-events:none;transform:translateY(-110%)}.trend-chart-tooltip-right{transform:translate(12px,-110%)}.trend-chart-tooltip-left{transform:translate(calc(-100% - 12px),-110%)}.trend-chart-tooltip-date{font-size:.82rem;font-weight:700;color:#f8fafc;margin-bottom:.35rem}.trend-chart-tooltip-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.78rem}.trend-chart-tooltip-legend{display:inline-flex;align-items:center;gap:.35rem;color:#94a3b8}.trend-chart-tooltip-dot{width:8px;height:8px;border-radius:50%;background:#3b82f6}.trend-chart-tooltip-swatch{width:8px;height:8px;border-radius:50%;flex-shrink:0}.trend-chart-tooltip-swatch-line{background:#16a34a}.trend-chart-tooltip-swatch-bar{background:#2dd4bf}.trend-chart-tooltip-swatch-total{background:#64748b}.trend-chart-tooltip-swatch-connected{background:#16a34a}.trend-chart-tooltip-swatch-not-connected{background:#d97706}.trend-chart-tooltip-swatch-never{background:#dc2626}.trend-chart-tooltip-value{font-weight:700;color:#f8fafc;font-variant-numeric:tabular-nums}.trends-movers-section{margin-bottom:1rem}.trends-movers-hint{margin:0 0 .65rem}.trends-movers-grid-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem}.trends-movers-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:.75rem}.trends-movers-title{margin:0 0 .5rem;font-size:.95rem;font-weight:600;color:#334155}.trends-movers-empty{margin:0;font-size:.88rem}.trends-movers-grid{font-size:.85rem}.trends-row-up td:first-child{border-left:3px solid #16a34a}.trends-row-down td:first-child{border-left:3px solid #dc2626}.trends-new-tag{margin-left:.4rem;font-size:.72rem;font-weight:600;color:#2563eb;text-transform:uppercase}.trends-trend-label{font-size:.88rem;font-weight:600;color:#475569}.trends-trend-up{color:#15803d}.trends-trend-down{color:#b91c1c}.trends-trend-flat{color:#64748b}.trends-tag-grid .th-sort-btn{width:100%;text-align:left}.trends-tag-grid thead th{padding:0;vertical-align:middle}.th-sort-btn-static{cursor:default}.th-sort-btn-static:hover{background:transparent}:root{font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#0f172a;background:#f1f5f9;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,select,input{font:inherit}
