:root{color:#1c2421;font-synthesis:none;background:#f5f6f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit;letter-spacing:0}.centered{place-items:center;min-height:100vh;padding:24px;display:grid}.authPanel,.setupPanel{background:#fff;border:1px solid #d8ddd9;border-radius:6px;width:min(430px,100%);padding:30px;box-shadow:0 12px 30px #1a262014}.authPanel h1,.setupPanel h1{margin:14px 0 6px;font-size:24px}.authPanel p,.setupPanel p{color:#5d6964;margin:0 0 24px}.setupPanel{gap:14px;display:grid}.setupPanel label{gap:5px;font-size:13px;font-weight:650;display:grid}.setupPanel input,.topbar select,.contextbar select{background:#fff;border:1px solid #bdc7c1;border-radius:4px;min-width:0;padding:9px 10px}.primary{color:#fff;cursor:pointer;background:#236b52;border:0;border-radius:4px;padding:10px 14px;font-weight:700}.primary:disabled{opacity:.6}.error{color:#a82b2b!important;margin:0!important}.appShell{min-height:100vh}.topbar{z-index:3;background:#fff;border-bottom:1px solid #d8ddd9;justify-content:space-between;align-items:center;height:58px;padding:0 22px;display:flex;position:sticky;top:0}.brand,.topActions,.contextbar,.panelHeader>div,.alertBand,.deviceState{align-items:center;display:flex}.brand{gap:9px;font-weight:760}.topActions{gap:8px}.iconButton{cursor:pointer;background:#fff;border:1px solid #d2d9d5;border-radius:4px;place-items:center;width:38px;height:38px;display:grid}.contextbar{background:#edf0ed;border-bottom:1px solid #d4dad6;flex-wrap:wrap;gap:18px;padding:12px 22px}.contextbar label{align-items:center;gap:7px;font-size:13px;font-weight:700;display:flex}.rangeControl,.viewControl,.metricControl{border:1px solid #c5cdc8;border-radius:4px;display:flex;overflow:hidden}.rangeControl button,.viewControl button,.metricControl button{cursor:pointer;background:#fff;border:0;border-right:1px solid #c5cdc8;padding:7px 11px}.rangeControl button:last-child,.viewControl button:last-child,.metricControl button:last-child{border-right:0}.rangeControl button.active,.viewControl button.active,.metricControl button.active{color:#fff;background:#263832}.deviceState{gap:6px;margin-left:auto;font-size:13px}.deviceState.online{color:#176343}.deviceState.offline{color:#9a3d32}.dashboard{max-width:1500px;margin:0 auto;padding:22px}.errorBanner{color:#8f2f25;background:#fff1ef;border:1px solid #edc0ba;border-radius:4px;align-items:center;gap:9px;margin-bottom:16px;padding:11px 13px;display:flex}.summaryGrid{background:#fff;border:1px solid #d8ddd9;border-radius:6px;grid-template-columns:repeat(5,minmax(150px,1fr));margin-bottom:18px;display:grid;overflow:hidden}.summaryGrid article{border-right:1px solid #e0e4e1;padding:16px}.summaryGrid article:last-child{border-right:0}.summaryGrid span,.summaryGrid small{color:#65706b;font-size:12px;display:block}.summaryGrid strong{margin:4px 0 2px;font-size:23px;display:block}.alertBand{color:#6d4b13;background:#fff8e7;border:1px solid #e7ce8f;border-radius:5px;gap:12px;margin-bottom:18px;padding:12px 15px}.alertBand div{display:grid}.alertBand span{font-size:13px}.chartGrid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;display:grid}.panel{background:#fff;border:1px solid #d8ddd9;border-radius:6px;overflow:hidden}.panelHeader{border-bottom:1px solid #e3e7e4;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:flex}.panelHeader>div{gap:8px}.panelHeader h2{margin:0;font-size:15px}.panelHeader>span{color:#69736e;text-align:right;font-size:12px}.chart{width:100%;height:330px}.empty{color:#738078;place-items:center;height:330px;display:grid}.empty.compact{height:100px}.detailGrid{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:18px;display:grid}.tableWrap{max-height:390px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0ed;padding:10px 13px}th{text-transform:uppercase;color:#68736d;background:#fafbfa;font-size:11px;position:sticky;top:0}.devicePanel dl{grid-template-columns:1fr 1fr;gap:10px 16px;margin:0;padding:12px 15px;font-size:13px;display:grid}.devicePanel dt{color:#68736d}.devicePanel dd{text-align:right;overflow-wrap:anywhere;margin:0;font-weight:650}.timeOfDayHeader{justify-content:space-between;align-items:flex-end;gap:18px;margin:2px 0 18px;display:flex}.timeOfDayHeader h1{margin:0;font-size:22px}.timeOfDayHeader span{color:#69736e;margin-top:2px;font-size:13px;display:block}.timeSummary{background:#fff;border:1px solid #d8ddd9;border-radius:6px;grid-template-columns:repeat(4,minmax(140px,1fr));margin-bottom:18px;display:grid;overflow:hidden}.timeSummary article{border-right:1px solid #e0e4e1;padding:16px}.timeSummary article:last-child{border-right:0}.timeSummary span,.timeSummary small{color:#65706b;font-size:12px;display:block}.timeSummary strong{margin:4px 0 2px;font-size:23px;display:block}.timeHistogram .chart{height:430px}.medicalNote{color:#6d7772;margin:16px 2px;font-size:12px}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}@media (width<=1050px){.summaryGrid{grid-template-columns:repeat(3,1fr)}.summaryGrid article:nth-child(3){border-right:0}.summaryGrid article{border-bottom:1px solid #e0e4e1}.chartGrid{grid-template-columns:1fr}.timeSummary{grid-template-columns:1fr 1fr}.timeSummary article:nth-child(2){border-right:0}.timeSummary article{border-bottom:1px solid #e0e4e1}}@media (width<=700px){.topbar{padding:0 12px}.topActions select{max-width:130px}.contextbar{gap:10px;padding:10px 12px}.viewControl{width:100%}.viewControl button{flex:1}.deviceState{width:100%;margin-left:0}.dashboard{padding:12px}.summaryGrid{grid-template-columns:1fr 1fr}.summaryGrid article:nth-child(3){border-right:1px solid #e0e4e1}.summaryGrid article:nth-child(2n){border-right:0}.summaryGrid strong{font-size:20px}.detailGrid{grid-template-columns:1fr}.panelHeader{align-items:flex-start;padding-top:10px;padding-bottom:10px}.chart{height:280px}.timeOfDayHeader{flex-direction:column;align-items:stretch}.metricControl button{flex:1}.timeSummary strong{font-size:20px}.timeHistogram .chart{height:330px}}.sectionHeader,.historyHeader{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.sectionHeader{margin:1px 2px 9px}.sectionHeader>div,.historyHeader>div{align-items:baseline;gap:9px;display:flex}.sectionHeader h1,.historyHeader h1{margin:0;font-size:19px}.sectionHeader span,.historyHeader span{color:#69736e;font-size:12px}.activeSession{color:#176343;font-size:12px}.todaySection{margin-bottom:20px}.todayGrid{background:#fff;border:1px solid #cfd8d3;border-radius:6px;grid-template-columns:repeat(4,minmax(140px,1fr));display:grid;overflow:hidden}.todayGrid article{border-right:1px solid #e0e4e1;padding:14px 16px}.todayGrid article:last-child{border-right:0}.todayGrid span,.todayGrid small{color:#65706b;font-size:12px;display:block}.todayGrid strong{margin:4px 0 2px;font-size:23px;display:block}.historyHeader{margin:0 2px 10px}.timeOfDayControls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.tooltipValue{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@media (width<=700px){.todayGrid{grid-template-columns:1fr 1fr}.todayGrid article{border-bottom:1px solid #e0e4e1}.todayGrid article:nth-child(2n){border-right:0}.todayGrid article:nth-last-child(-n+2){border-bottom:0}.todayGrid strong{font-size:20px}.historyHeader{flex-direction:column;align-items:stretch;gap:9px}.historyHeader .rangeControl,.timeOfDayControls .rangeControl,.timeOfDayControls .metricControl{width:100%}.historyHeader button,.timeOfDayControls button{flex:1}.timeOfDayControls{flex-direction:column;align-items:stretch}}.tableAction{color:#245f4b;cursor:pointer;background:#fff;border:1px solid #cbd3ce;border-radius:4px;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.snapshotPanel{margin-top:18px}.snapshotGrid{background:#dfe4e1;grid-template-columns:1fr 1fr;gap:1px;display:grid}.snapshotGrid figure{background:#fff;min-width:0;margin:0;padding:14px}.snapshotGrid figcaption{color:#5e6964;margin-bottom:8px;font-size:12px;font-weight:700}.snapshotGrid img{object-fit:contain;background:#121412;width:100%;max-height:520px;display:block}.snapshotMissing,.snapshotLoading{color:#738078;background:#f5f7f5;place-items:center;min-height:220px;display:grid}.snapshotLoading{background:#fff}@media (width<=700px){.snapshotGrid{grid-template-columns:1fr}}.secondaryButton{color:#24342e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c8d0cb;border-radius:4px;align-items:center;gap:7px;padding:8px 11px;font-weight:700;display:inline-flex}.secondaryButton:hover,.iconButton:hover{background:#f2f5f3}.adminShell{background:#f3f5f3}.adminTabs{background:#263832;border-bottom:1px solid #1c2b26;gap:3px;padding:9px 22px;display:flex;overflow-x:auto}.adminTabs button{color:#cbd5d0;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.adminTabs button.active{color:#1f302a;background:#fff}.adminDashboard{max-width:1700px;margin:0 auto;padding:20px 22px 40px}.adminToolbar{justify-content:space-between;align-items:end;gap:18px;margin-bottom:16px;display:flex}.adminToolbar h1{margin:0 0 2px;font-size:22px}.adminToolbar p{color:#68736d;margin:0;font-size:13px}.adminSearch{background:#fff;border:1px solid #c5cdc8;border-radius:4px;align-items:center;gap:7px;width:min(330px,100%);padding:0 10px;display:flex}.adminSearch input{background:0 0;border:0;outline:0;width:100%;padding:9px 0}.successBanner{color:#176343;background:#eef8f2;border:1px solid #add5bd;border-radius:4px;margin-bottom:16px;padding:11px 13px}.adminLoading{color:#68736d;justify-content:center;align-items:center;gap:10px;min-height:220px;display:flex}.adminSummary{margin-bottom:16px}.adminPanel{background:#fff;border:1px solid #d8ddd9;border-radius:6px;margin-bottom:16px;overflow:hidden}.adminPanelHeader{border-bottom:1px solid #e3e7e4;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;display:flex}.adminPanelHeader h2{margin:0;font-size:15px}.adminPanelHeader span{color:#69736e;font-size:12px}.adminStack{gap:16px;display:grid}.adminStack .adminPanel{margin:0}.adminPanel .tableWrap{max-height:560px}.tableSubline{color:#6b7670;margin-top:2px;font-size:11px;display:block}.statusPill{border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700;display:inline-block}.statusPill.ok{color:#176343;background:#e8f5ed}.statusPill.muted{color:#66716b;background:#ecefed}.allowlistPanel{grid-template-columns:minmax(290px,1fr) minmax(360px,2fr);display:grid}.allowlistPanel .adminPanelHeader{grid-column:1/-1}.allowlistForm{border-right:1px solid #e3e7e4;align-items:end;gap:10px;padding:14px;display:flex}.allowlistForm label{flex:1;gap:5px;font-size:12px;font-weight:700;display:grid}.allowlistForm input{border:1px solid #bdc7c1;border-radius:4px;min-width:0;padding:9px 10px}.allowlistForm .primary{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.allowlistRows{max-height:170px;padding:6px 14px;overflow:auto}.allowlistRows>div{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.allowlistRows>div:last-child{border-bottom:0}.allowlistRows>div>div{display:grid}.allowlistRows span{color:#6b7670;font-size:11px}.dangerButton{color:#9b342b}.dangerButton:disabled{opacity:.35;cursor:not-allowed}.eventTable details{position:relative}.eventTable summary{cursor:pointer;color:#236b52;font-weight:700}.eventTable pre{color:#e8efeb;white-space:pre-wrap;background:#17221e;border-radius:4px;max-width:600px;max-height:300px;padding:10px;font-size:11px;overflow:auto}.adminPanel td strong{font-weight:700}@media (width<=900px){.adminToolbar{flex-direction:column;align-items:stretch}.adminSearch{width:100%}.allowlistPanel{grid-template-columns:1fr}.allowlistForm{border-bottom:1px solid #e3e7e4;border-right:0}.adminSummary{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.adminTabs{padding:8px 10px}.adminDashboard{padding:14px 10px 30px}.adminToolbar h1{font-size:19px}.allowlistForm{flex-direction:column;align-items:stretch}.topbar .secondaryButton{padding:7px;font-size:0}.topbar .secondaryButton svg{width:18px;height:18px}.adminSummary{grid-template-columns:1fr 1fr}}.debugFileLayout{grid-template-columns:minmax(420px,1fr) minmax(420px,1.15fr);align-items:start}.debugBundleList{max-height:620px;overflow:auto}.debugBundle{border-bottom:1px solid #e5e9e6;grid-template-columns:minmax(190px,1fr) auto;align-items:center;gap:14px;padding:12px 14px;display:grid}.debugBundle:last-child{border-bottom:0}.debugBundle>div:first-child{gap:2px;min-width:0;display:grid}.debugBundle span{color:#68736d;font-size:12px}.debugBundle code{text-overflow:ellipsis;font-size:11px;overflow:hidden}.debugFileActions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.debugFileActions button{color:#24342e;cursor:pointer;text-transform:capitalize;background:#fff;border:1px solid #bdc7c1;border-radius:4px;grid-template-columns:auto auto;align-items:center;gap:2px 5px;padding:6px 8px;display:grid}.debugFileActions button.active{background:#eaf5ef;border-color:#287457}.debugFileActions button small{color:#6d7772;grid-column:2;font-size:10px}.missingDebugFile{border:1px dashed #c7ceca;border-radius:4px;padding:7px 8px;color:#8b938f!important}.debugViewer pre{color:#e8efeb;white-space:pre-wrap;overflow-wrap:anywhere;background:#17221e;min-height:360px;max-height:620px;margin:0;padding:14px;font-size:12px;overflow:auto}@media (width<=1050px){.debugFileLayout{grid-template-columns:1fr}}@media (width<=520px){.topbar{padding:0 8px}.brand span{display:none}.topActions{gap:5px;min-width:0}.topActions select{width:100px;max-width:100px}.topActions .secondaryButton{padding:7px 8px}.iconButton{width:36px;height:36px}}
