.field-panel-tabs{display:flex;gap:10px;padding:0;min-width:0;flex:1;overflow-x:auto;background:transparent;border-bottom:0}.field-panel-tabs button{display:inline-flex;align-items:center;gap:9px;min-width:132px;padding:12px 18px;border:1px solid #dfe3ea;border-radius:12px;background:#f8fafc;font-size:18px;font-weight:800;white-space:nowrap}.field-panel-tabs button.is-active{color:#14532d;background:#ecfdf3;border-color:#22c55e;box-shadow:0 5px 16px #16a34a21}.field-panel-tabs button{cursor:grab}.field-panel-tabs button.is-dragging{opacity:.45}.field-panel-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8}.field-panel-dot.is-normal{background:var(--ok)}.field-panel-dot.is-caution{background:var(--warn)}.field-panel-dot.is-danger{background:var(--danger)}.field-zone-ops{display:inline-flex;align-items:center;gap:7px;min-width:0;padding:5px 8px;border:1px solid #e2e8f0;border-radius:10px;background:#f8fafc;color:#475569;font-size:15px;line-height:1.35;font-weight:800;white-space:nowrap}.field-zone-ops>span{padding-right:7px;border-right:1px solid #e2e8f0}.field-zone-ops>span:last-child{padding-right:0;border-right:0}.field-zone-ops-status{display:inline-flex;align-items:center;gap:6px;color:#334155}.field-zone-ops-status.is-normal{color:#166534}.field-zone-ops-status.is-caution{color:#92400e}.field-zone-ops-status.is-danger,.field-zone-ops .is-unknown{color:#b91c1c}.field-panel-dashboard{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.field-panel-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.field-panel-metric{padding:14px 18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:0 8px 24px #0f172a0d}.field-panel-metric-head{display:flex;gap:8px;align-items:center;color:#475569;font-size:17px;font-weight:900}.field-panel-metric strong{display:block;margin:10px 0 8px;font-size:clamp(32px,3.2vw,44px);line-height:1;color:#0f172a}.field-panel-range{height:8px;overflow:hidden;border-radius:999px;background:#e2e8f0}.field-panel-range span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#0ea5e9)}.field-panel-metric small{display:block;margin-top:8px;color:#475569;font-size:15px;font-weight:700}.field-panel-metric-trend{margin-right:4px;font-size:13px}.field-panel-top-row{display:grid;grid-template-columns:minmax(260px,300px) minmax(0,1fr) minmax(0,1.3fr);gap:16px;align-items:stretch;min-height:0}.field-panel-summary-card,.field-panel-camera-card,.field-panel-map-card,.field-panel-access-card{padding:16px 18px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;min-height:0;overflow:hidden;display:flex;flex-direction:column}.field-panel-summary-card>*:not(header),.field-panel-camera-card>*:not(header),.field-panel-map-card>*:not(header):not(.field-map-inline-canvas){min-height:0;flex:1;overflow:hidden}.field-panel-summary-card>.field-panel-metrics{flex:0 0 auto;margin-bottom:14px}.field-panel-access-card>*:not(header){flex:0 0 auto;overflow:visible}.field-panel-summary-card>header,.field-panel-camera-card>header,.field-panel-map-card>header,.field-panel-access-card>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.field-panel-summary-card>header h3,.field-panel-camera-card>header h3,.field-panel-map-card>header h3,.field-panel-access-card>header strong{font-size:20px;line-height:1.3}.field-panel-summary-card header span,.field-panel-camera-card header span{color:#475569;font-size:15px;font-weight:700}.field-access-badge{display:flex;align-items:center;gap:10px;padding:16px 18px;border-radius:14px;font-size:24px;font-weight:800;background:var(--off-soft);color:var(--off)}.field-access-badge.is-normal{background:var(--ok-soft);color:var(--ok)}.field-access-badge.is-caution{background:var(--warn-soft);color:var(--warn-ink)}.field-access-badge.is-danger{background:var(--danger-soft);color:var(--danger-ink)}.field-access-badge .field-panel-dot{width:14px;height:14px}.field-access-action{margin:14px 0 0;font-size:17px;font-weight:700;color:#334155}.field-access-limitation{margin:14px 0 0;font-size:12px;color:#94a3b8;display:flex;align-items:center;gap:6px}.field-panel-camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-panel-camera-grid .camera-preview{min-height:210px;border-radius:12px;overflow:hidden}.field-panel-camera-empty{min-height:250px;grid-column:1 / -1;display:grid;place-items:center;gap:8px;color:#64748b;background:#f8fafc;border-radius:12px}.field-map-inline-empty{min-height:160px;display:grid;place-items:center;color:#64748b}.field-map-inline-fallback p{margin:0 0 12px;color:#64748b;font-weight:700}.field-map-inline-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.field-map-inline-viewport{min-height:0;flex:1;display:grid;place-items:center;overflow:hidden}.field-map-inline-canvas{position:relative;display:block;width:fit-content;max-width:100%;max-height:100%;overflow:hidden;border-radius:10px}.field-map-inline-canvas .field-map-canvas-image{border-radius:10px;max-height:100%}.field-map-device-dot{position:absolute;transform:translate(-50%,-50%);width:1.9rem;height:1.9rem;border-radius:50%;border:2px solid var(--off);background:#fff;color:var(--off);display:flex;align-items:center;justify-content:center;font-size:.85rem;box-shadow:0 3px 8px #00000026}.field-map-device-dot.is-normal{border-color:var(--ok);color:var(--ok)}.field-map-device-dot.is-caution{border-color:var(--warn);color:var(--warn)}.field-map-device-dot.is-danger{border-color:var(--danger);color:var(--danger)}.field-map-device-dot.is-offline{border-color:var(--off);color:var(--off)}.field-map-device-dot.field-map-device-group,.field-map-device.field-map-device-group{font-weight:800;background:currentColor}.field-map-device-dot.field-map-device-group span,.field-map-device.field-map-device-group span{color:#fff}.field-panel-summary-card>header.field-trend-head{flex-direction:column;align-items:stretch;gap:10px}.field-drill-breadcrumb{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:1.1rem}.field-drill-breadcrumb button{border:none;background:transparent;color:var(--accent);font-weight:800;cursor:pointer;padding:.2rem .3rem}.field-drill-breadcrumb button:disabled{color:#0f172a;cursor:default}.field-drill-breadcrumb i{color:#94a3b8;margin:0 .15rem;font-size:.75rem}.field-drill-breadcrumb strong{color:#64748b;font-weight:700}.field-drill-tabs{display:flex;flex-wrap:wrap;gap:8px}.field-drill-tabs button{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border:1px solid #dfe3ea;border-radius:999px;background:#f8fafc;font-weight:700;font-size:.9rem;cursor:pointer}.field-panel-settings{position:fixed;z-index:1200;top:64px;right:18px;width:min(360px,calc(100vw - 36px));max-height:calc(100vh - 94px);overflow:auto;padding:20px;border:1px solid #dfe3ea;border-radius:16px;background:#fff;box-shadow:0 22px 60px #0f172a38}.field-panel-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.field-panel-settings-head button{border:0;background:transparent;font-size:28px}.field-panel-settings h3{margin:18px 0 8px;font-size:14px;color:#475569}.field-panel-settings label{display:flex;align-items:center;gap:9px;padding:9px 0;font-weight:700}.field-panel-settings small{display:block;margin-top:18px;color:#64748b;line-height:1.5}@media(max-width:980px){.field-dashboard{height:auto;min-height:100vh;overflow:visible}.field-dashboard-body{overflow:visible}.field-panel-dashboard{display:flex;flex-direction:column;gap:14px}.field-panel-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.field-panel-top-row{grid-template-columns:1fr}.field-panel-summary-card,.field-panel-camera-card,.field-panel-map-card,.field-panel-access-card{overflow:visible}}@media(max-width:620px){.field-panel-tabs{padding-inline:12px}.field-panel-metrics,.field-panel-camera-grid{grid-template-columns:1fr}.field-zone-ops{display:none}}@font-face{font-family:Pretendard;font-weight:45 920;font-style:normal;font-display:swap;src:url(/app/assets/PretendardVariable-CJuje-Rk.woff2) format("woff2-variations")}:root{--bg: #F7F4EA;--surface: #ffffff;--surface-2: #FDFBF5;--surface-3: #EEF3EA;--surface-muted: #EEF3EA;--border: #E3DED0;--border-strong: #D6CCB8;--line: #E3DED0;--text: #1A1A1A;--text-soft: #3F4A43;--text-muted: #6F7771;--muted: #6F7771;--accent: #1F6B4A;--accent-hover: #245C43;--accent-soft: #E4EFE7;--accent-ring: rgba(31, 107, 74, .24);--ok: oklch(.725551 .21821 138.487);--success: oklch(.725551 .21821 138.487);--ok-soft: #E4EFE7;--warn: oklch(.801629 .165137 76.001);--warn-soft: #FBF0DE;--warn-ink: #8A5410;--danger: oklch(.673245 .214344 24.465);--danger-soft: #F8E4DF;--danger-ink: #A03227;--off: #7D847E;--off-soft: #ECE8DF;--blue: oklch(.598657 .219315 259.04);--info: var(--blue);--series-temp: #C7563A;--series-humidity: #3178C6;--series-co2: #C98A2B;--series-cough-dry: #2C8C8A;--series-cough-wet: #8A5BA6;--series-temp-soft: #F6E7E2;--series-humidity-soft: #E4EEF8;--series-co2-soft: #F7ECD8;--sidebar-bg: #151B17;--sidebar-text: #D8DED7;--sidebar-muted: #879188;--sidebar-active: #3558F4;--radius-lg: 16px;--radius: 12px;--radius-sm: 9px;--shadow-sm: 0 1px 2px rgba(20, 27, 52, .04), 0 1px 3px rgba(20, 27, 52, .06);--shadow: 0 2px 4px rgba(20, 27, 52, .04), 0 8px 24px rgba(20, 27, 52, .07);--sidebar-w: 236px;--topbar-h: 64px;--font: "Pretendard", system-ui, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-optical-sizing:auto}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.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}.app-shell{min-height:100vh;padding-left:var(--sidebar-w)}.app-shell.is-sidebar-collapsed{--sidebar-w: 76px}.app-sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;z-index:20}.app-brand{display:flex;align-items:center;gap:.7rem;height:var(--topbar-h);padding:0 1.25rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-collapse-button{margin-left:auto;border:0;background:#ffffff14;color:var(--sidebar-text);width:28px;height:28px;border-radius:8px;cursor:pointer}.sidebar-collapse-button:hover{background:#ffffff24;color:#fff}.app-shell.is-sidebar-collapsed .app-brand{justify-content:center;padding:0 .65rem}.app-shell.is-sidebar-collapsed .app-brand-text{display:none}.app-shell.is-sidebar-collapsed .sidebar-collapse-button{position:absolute;right:8px;bottom:-14px}.app-shell.is-sidebar-collapsed .app-main{max-width:none}.app-shell.is-sidebar-collapsed .dash-module-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.app-shell.is-sidebar-collapsed .dash-stats-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.app-brand-mark{width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#DFAE48);color:#fff;display:grid;place-items:center;font-size:1rem;box-shadow:0 4px 10px var(--accent-ring);flex:none}.app-brand-text{display:flex;flex-direction:column;line-height:1.1}.app-brand-title{font-weight:700;font-size:.95rem;color:#fff}.app-brand-sub{font-size:.7rem;color:var(--sidebar-muted);letter-spacing:.02em}.app-content{display:flex;flex-direction:column;min-height:100vh}.app-user-chip{display:flex;align-items:center;gap:.5rem;padding:.35rem .7rem .35rem .4rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.app-main{flex:1;padding:1.75rem;max-width:1280px;width:100%}.form-panel{margin-bottom:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}.form-grid .field{margin-bottom:0}.form-grid .label{color:var(--text-soft);font-size:.82rem;font-weight:700;margin-bottom:.35rem}.required-mark{color:#dc2626;font-weight:800}.form-actions{display:flex;align-items:end;justify-content:flex-start}.form-error{grid-column:1 / -1;color:var(--danger);font-weight:700}.form-note{grid-column:1 / -1}.button-row{display:flex;flex-wrap:wrap;gap:.4rem}.button.is-danger-light{background:#fff1f0;border-color:#f3c2bd;color:var(--danger)}.button.is-danger-light:hover{background:#ffe5e2}.zone-manager{display:grid;gap:clamp(16px,2vw,32px);color:var(--text);font-size:var(--manage-content-font)}.zone-manager-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.zone-manager-toolbar p{margin:0;line-height:1.6}.zone-manager-toolbar>div:last-child{flex-wrap:wrap}.zone-manager-list-head{display:flex;gap:8px;padding-bottom:12px;font-weight:700}.zone-manager-barns{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,30rem),min(100%,38rem)));gap:clamp(16px,2vw,32px);align-items:start;justify-content:start}.zone-manager-barn{min-width:0;padding:clamp(14px,1.5vw,24px)}.zone-manager-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:6px;flex-wrap:wrap}.zone-manager-barn>.zone-manager-row{padding-top:0}.zone-manager-barn>.zone-manager-row .zone-manager-name{font-size:clamp(24px,1.25rem + .5vw,30px)}.zone-manager-children{padding-left:16px}.zone-manager-barn>.zone-manager-children{padding:8px 0 0;display:grid;gap:4px}.zone-manager-room{padding:8px 12px}.zone-manager-room+.zone-manager-room{border-top:1px solid var(--line)}.zone-manager-room .zone-manager-row{padding-top:0}.zone-manager-count{color:var(--text-muted);font-size:inherit;white-space:nowrap}.zone-manager-devices{padding-block:12px;font-size:inherit}.zone-manager-devices summary{cursor:pointer}.zone-manager-device-types{display:inline-flex;flex-wrap:wrap;gap:8px 16px;margin-right:12px}.zone-manager-device-types strong{color:var(--text)}.zone-manager-devices ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:8px}.zone-manager-devices li{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;overflow-wrap:anywhere}.zone-manager-name{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;overflow-wrap:anywhere}.zone-manager-actions{display:flex;gap:6px;min-width:0;flex-wrap:wrap}.zone-manager-action{border:0;background:transparent;color:var(--text);font:inherit;padding:6px;border-radius:6px;cursor:pointer}.zone-manager-action:hover{background:var(--line)}.zone-manager-action:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.zone-manager-action.is-delete{color:var(--danger, #c0392b)}.zone-manager-form{background:var(--surface, #fff);border-radius:10px}.zone-manager-form .panel-body{overflow-y:auto;min-height:0}.zone-manager-form .panel-head{flex-shrink:0}.zone-manager-form .check-row{border:0;background:transparent;padding-inline:0}.zone-manager-form .form-grid>small{grid-column:1 / -1}@media(max-width:760px){.zone-manager-actions{margin-left:auto}}.vehicle-dashboard{display:grid;gap:18px;font-size:clamp(16px,.9rem + .2vw,20px)}.vehicle-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.vehicle-search{display:flex;gap:12px;align-items:center;flex:0 1 600px;min-width:0;padding:0 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface, white)}.vehicle-search input{min-width:0;width:100%;border:0;background:transparent;padding:10px 0;font:inherit;color:var(--text)}.vehicle-date{margin-left:auto;display:flex;align-items:center;gap:10px}.vehicle-date input{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font:inherit;background:var(--surface, white);color:var(--text)}.vehicle-workspace{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}.vehicle-profile,.vehicle-summary,.vehicle-journey,.vehicle-list,.vehicle-stepdowns,.vehicle-info,.vehicle-registry{padding:clamp(16px,1.4vw,24px);border:1px solid var(--line);border-radius:12px;background:var(--surface, white);min-width:0;overflow-wrap:anywhere}.vehicle-profile{grid-column:span 3;display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:16px}.vehicle-summary{grid-column:span 3}.vehicle-journey{grid-column:1 / -1}.vehicle-list,.vehicle-stepdowns,.vehicle-info{grid-column:span 2}.vehicle-workspace h2{font-size:clamp(19px,1.15rem + .2vw,24px);margin:0 0 14px}.vehicle-profile h2{font-size:clamp(24px,1.6vw,32px);margin-top:8px}.vehicle-context{color:var(--management-link-ink, var(--text-soft));font-size:14px;font-weight:600}.vehicle-profile dl,.vehicle-info dl{margin:16px 0;display:grid;gap:12px}.vehicle-profile dl>div,.vehicle-info dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:10px}.vehicle-workspace dt{color:var(--muted)}.vehicle-workspace dd{margin:0}.vehicle-photo{display:grid;place-items:center;min-width:0;min-height:160px;border-radius:8px;background:color-mix(in srgb,var(--muted) 8%,var(--surface, white));color:var(--muted);overflow:hidden;text-align:center}.vehicle-photo img{width:100%;height:100%;max-height:300px;object-fit:contain}.vehicle-profile>.vehicle-photo{position:relative;align-self:stretch;min-height:160px}.vehicle-profile>.vehicle-photo img{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;max-height:none;object-fit:contain}.vehicle-photo i{font-size:40px;margin-bottom:12px}.vehicle-photo.is-thumbnail{height:125px;min-height:0;margin:12px 0}.vehicle-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.vehicle-status-grid>div{display:grid;align-content:start;gap:10px;padding:10px 14px;border-left:1px solid var(--line)}.vehicle-status-grid .is-entry{--metric-color: var(--ok)}.vehicle-status-grid .is-location{--metric-color: var(--blue)}.vehicle-status-grid .is-stay{--metric-color: var(--muted)}.vehicle-status-grid strong{font-size:clamp(17px,1.2vw,24px)}.vehicle-status-grid span,.vehicle-status-grid small{font-size:14px;line-height:1.5}.vehicle-highlights{list-style:none;margin:0;padding:0;display:grid;gap:10px}.vehicle-highlights li{display:flex;gap:14px;font-size:15px}.vehicle-highlights time{flex-shrink:0;color:var(--muted)}.vehicle-journey header,.vehicle-info header,.vehicle-registry header,.vehicle-register-dialog header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.vehicle-journey-help{font-size:14px;line-height:1.6;color:var(--muted)}.vehicle-journey ol{display:flex;list-style:none;padding:4px 0 12px;margin:0;gap:32px;overflow-x:auto}.vehicle-journey li{position:relative;flex:1 0 210px;min-width:0}.vehicle-journey li:last-child{flex-grow:0}.vehicle-journey ol:not(:has(li:nth-child(5))) li:not(:last-child){flex:0 0 max(210px,calc((100% - 306px) / 3))}.vehicle-journey li>*{max-width:210px}.vehicle-journey li:before{content:"";position:absolute;top:19px;left:16px;right:-48px;height:3px;background:var(--line)}.vehicle-journey li:last-child:before{right:16px}.vehicle-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;position:relative;margin-bottom:14px}.vehicle-journey h3{font-size:18px;margin:0 0 8px}.vehicle-journey li p,.vehicle-journey li time{font-size:14px;margin:0;color:var(--muted)}.vehicle-movement{display:grid;gap:6px;min-height:70px;align-content:center;padding:10px;border-radius:8px;background:color-mix(in srgb,var(--blue) 6%,var(--surface, white));font-size:14px;margin-bottom:12px}.vehicle-list .table-scroll,.vehicle-stepdowns .table-scroll{max-height:340px;overflow:auto}.vehicle-list h2 small{font-size:14px;font-weight:400}.vehicle-list tr.is-selected{background:color-mix(in srgb,var(--blue) 8%,var(--surface, white))}.vehicle-unavailable{min-height:170px;display:grid;align-content:center;justify-items:center;text-align:center;gap:14px;color:var(--muted);font-size:15px}.vehicle-unavailable i{font-size:30px}.vehicle-detail-dialog,.vehicle-register-dialog{width:min(1000px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:12px;color:var(--text);background:var(--surface, white);overflow-y:auto}.vehicle-register-dialog{width:min(620px,calc(100vw - 32px));padding:24px}.vehicle-register-dialog form{display:grid;gap:14px}.vehicle-detail-dialog::backdrop,.vehicle-register-dialog::backdrop{background:#00000073}.vehicle-detail-dialog .ai-detail-panel{margin:0;border:0;box-shadow:none}.vehicle-detail-dialog .ai-detail-field strong{min-height:0;padding:0;border-radius:0;background:transparent;color:var(--text)}.vehicle-detail-error{padding:16px 24px}.vehicle-registry td{overflow-wrap:anywhere}@media(max-width:1400px){.vehicle-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-highlights li{flex-wrap:wrap;gap:4px 12px}}@media(max-width:1000px){.vehicle-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.vehicle-profile,.vehicle-summary,.vehicle-journey{grid-column:1 / -1}.vehicle-list,.vehicle-stepdowns{grid-column:span 1}.vehicle-info{grid-column:1 / -1}.vehicle-status-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:640px){.vehicle-search{flex-basis:100%}.vehicle-date{margin-left:0}.vehicle-workspace{grid-template-columns:minmax(0,1fr)}.vehicle-list,.vehicle-stepdowns{grid-column:1 / -1}.vehicle-profile{grid-template-columns:minmax(0,1fr)}.vehicle-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.check-row{display:flex;align-items:center;gap:.45rem;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;background:#fff}.face-upload-row{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1fr) auto;gap:1rem;align-items:end}.face-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem}.face-tile{border:1px solid var(--line);border-radius:8px;padding:.75rem;display:grid;gap:.55rem;background:#fff}.face-tile img,.face-empty{width:100%;aspect-ratio:4 / 3;border-radius:6px;object-fit:cover;background:var(--surface-muted)}.face-empty{display:grid;place-items:center;color:var(--text-soft);font-weight:700}.storage-line{display:grid;gap:.55rem}.storage-line-label{display:flex;justify-content:space-between;gap:1rem;color:var(--text-soft);font-size:.85rem}.storage-line-label strong{color:var(--text)}.storage-track{height:9px;border-radius:999px;background:var(--surface-3);overflow:hidden}.storage-track span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.backup-upload-form{display:grid;grid-template-columns:minmax(260px,1fr) 140px auto;gap:1rem;align-items:end}.backup-table .file-name-cell{max-width:340px;overflow-wrap:anywhere}.table-help{margin-top:.25rem;color:var(--text-muted);font-size:.72rem}.tag.backup-SUCCESS{background:var(--ok-soft);color:var(--ok)}.tag.backup-FAILED{background:var(--danger-soft);color:var(--danger)}.tag.backup-RUNNING{background:var(--warn-soft);color:var(--warn)}.tag.backup-WAITING,.tag.backup-DISABLED{background:var(--off-soft);color:var(--off)}.empty-action-panel,.action-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px dashed var(--border-strong);background:var(--surface-2);border-radius:var(--radius);padding:1.25rem}.empty-action-panel h2,.action-card h2{margin:0 0 .25rem;color:var(--text);font-size:1.05rem}.empty-action-panel p,.action-card p{margin:0}.settings-readonly{display:flex;flex-direction:column;gap:.25rem;padding:.85rem;background:var(--surface-3);border-radius:var(--radius-sm);color:var(--text-soft)}.settings-readonly strong{color:var(--text)}.settings-readonly small{color:var(--text-muted)}.check-field{display:flex;align-items:center;gap:.55rem;padding:.75rem .85rem;background:var(--surface-3);border-radius:var(--radius-sm);font-weight:700}.sticky-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;align-items:center;gap:1rem;padding:1rem 0 .25rem;background:linear-gradient(180deg,rgba(247,244,234,0),var(--bg) 42%)}.simple-list{display:flex;flex-direction:column;gap:.65rem}.simple-list-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.simple-list-row span{color:var(--text-muted)}.page-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.page-title{font-size:1.25rem;font-weight:700;margin:0}.section-title{font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 .75rem}.toolbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.5rem}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.35rem}.kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi-label{font-size:.875rem;color:var(--text-soft);font-weight:500}.kpi-value{font-size:1.9rem;font-weight:750;line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.kpi-dot{width:10px;height:10px;border-radius:50%;flex:none}.kpi-dot.ok{background:var(--ok)}.kpi-dot.warn{background:var(--warn)}.kpi-dot.danger{background:var(--danger)}.kpi-dot.off{background:var(--off)}.kpi-dot.accent{background:var(--accent)}.panel,.box,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--text)}.panel{overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;border-bottom:1px solid var(--border);font-weight:700;font-size:.95rem}.panel-body{padding:1.2rem}.panel-filter-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.9rem 1.2rem;border-bottom:1px solid var(--border)}.panel-filter-row label{display:flex;align-items:center;gap:.5rem;color:var(--text-soft);font-size:.88rem;font-weight:700}.panel-filter-row select{min-width:150px}.is-resolved-log{opacity:.62}.box{padding:1.2rem;margin-bottom:1rem}.card-content{padding:1.2rem}.columns{display:flex;flex-wrap:wrap;margin:-.6rem}.columns>.column{padding:.6rem}.column{flex:1}.column.is-3{flex:none;width:25%}.column.is-4{flex:none;width:33.3333%}.column.is-8{flex:none;width:66.6666%}.device-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.2rem;display:flex;flex-direction:column;gap:.85rem;transition:box-shadow .15s,transform .15s,border-color .15s}.device-card:hover{box-shadow:var(--shadow);transform:translateY(-2px);border-color:var(--border-strong)}.device-card:active{transform:translateY(-1px) scale(.99)}.device-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.device-card-name{font-weight:700;font-size:1rem;color:var(--text)}.device-card-zone{font-size:.78rem;color:var(--text-muted);letter-spacing:.01em}.metric-row{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.metric{background:var(--surface-2);border-radius:var(--radius-sm);padding:.55rem .7rem}.metric-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.metric-value{font-size:1rem;font-weight:650;color:var(--text)}.device-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:.75rem}.status-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .65rem;border-radius:999px;font-size:.78rem;font-weight:600;line-height:1.6;white-space:nowrap;letter-spacing:.01em}.status-pill:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.status-pill.status-NORMAL{background:var(--ok-soft);color:#128a5a}.status-pill.status-CAUTION{background:var(--warn-soft);color:#b56f06}.status-pill.status-DANGER{background:var(--danger-soft);color:#c3344a}.status-pill.status-OFFLINE{background:var(--off-soft);color:#6c7488}.status-pill.status-NORMAL:before,.status-pill.status-CAUTION:before,.status-pill.status-DANGER:before{animation:status-glow 1.6s ease-in-out infinite}@keyframes status-glow{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 7px 2px currentColor;opacity:.6}}.device-card.device-status-NORMAL{border-color:#128a5a73;box-shadow:0 0 0 1px #128a5a40,0 0 12px #128a5a1f}.device-card.device-status-CAUTION{background:#b56f0614;border-color:#b56f06a6;border-width:2px;box-shadow:0 0 0 1px #b56f064d,0 0 12px #b56f0629}.device-card.device-status-DANGER{background:#c3344a17;border-color:#c3344ab3;border-width:2px;box-shadow:0 0 0 1px #c3344a59,0 0 14px #c3344a33;animation:card-danger-pulse 1.4s ease-in-out infinite}@keyframes card-danger-pulse{0%,to{box-shadow:0 0 0 1px #c3344a59,0 0 10px #c3344a2e}50%{box-shadow:0 0 0 2px #c3344a8c,0 0 22px 4px #c3344a66}}.device-card.is-finding,.device-card.is-finding.device-status-DANGER{border-color:#2f6bff;animation:find-blink .7s ease-in-out infinite}@keyframes find-blink{0%,to{box-shadow:0 0 0 1px #2f6bff,0 0 4px #2f6bff4d}50%{box-shadow:0 0 0 2px #2f6bff,0 0 20px 5px #2f6bffbf}}.device-card-actions{display:flex;align-items:center;gap:.4rem}.button.is-find{color:#2f6bff;border-color:#2f6bff73}.button.is-find:hover{background:#2f6bff14;border-color:#2f6bff}.button.is-find.is-finding-active{color:#fff;background:#2f6bff;border-color:#2f6bff;animation:find-blink .7s ease-in-out infinite}.scan-controls{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.scan-controls .scan-field{flex:1 1 340px;margin:0}.scan-controls .scan-run{flex:0 0 auto;white-space:nowrap}.tag{display:inline-flex;align-items:center;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;letter-spacing:.01em;background:var(--surface-3);color:var(--text-soft);height:auto}.tag.is-success{background:var(--ok-soft);color:#128a5a}.tag.is-warning{background:var(--warn-soft);color:#b56f06}.tag.is-danger{background:var(--danger-soft);color:#c3344a}.tag.is-light{background:var(--off-soft);color:#6c7488}.tag.is-medium{font-size:.85rem;padding:.3rem .7rem}.table{width:100%;border-collapse:collapse;background:transparent;color:var(--text);font-size:.85rem;line-height:1.4;font-variant-numeric:tabular-nums}.table thead th{text-align:left;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:none;border-bottom:1px solid var(--border);padding:.65rem .75rem;background:transparent;white-space:nowrap}.table tbody td,.table tbody th{border:none;border-bottom:1px solid var(--border);padding:.7rem .75rem;vertical-align:middle}.table tbody th{color:var(--text-soft);font-weight:600;width:1%;white-space:nowrap}.table.is-striped tbody tr:nth-child(2n){background:var(--surface-2)}.table tbody tr:hover{background:var(--accent-soft)}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:none}.empty-table-cell{height:88px;text-align:center!important;color:var(--text-muted)!important;background:var(--surface-2)!important;font-weight:600}.clickable-table-row{cursor:pointer;transition:background-color .15s ease-out}.clickable-table-row:hover,.clickable-table-row:active{background:var(--surface-3)!important}.clickable-table-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.table-link-button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer;padding:0}.ai-detail-panel{margin-bottom:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.ai-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border);background:var(--surface-2)}.ai-detail-head h2{margin:0;color:var(--text);font-size:1.05rem;font-weight:850}.ai-detail-head p{margin:.25rem 0 0;color:var(--text-muted)}.ai-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem 1.1rem 0}.ai-detail-grid.is-single{grid-template-columns:minmax(0,1fr)}.ai-detail-field{min-width:0}.ai-detail-field span{display:block;margin-bottom:.25rem;color:var(--text);font-size:.82rem;font-weight:800}.ai-detail-field strong{display:block;min-height:2.15rem;padding:.55rem .65rem;border-radius:8px;background:var(--surface-muted);color:var(--text-soft);font-size:.9rem;font-weight:650;overflow-wrap:anywhere}.ai-detail-subtitle{padding:1rem 1.1rem 0;color:var(--text);font-weight:850}.ai-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:1rem 1.1rem 1.1rem}.ai-image-card{min-width:0}.ai-image-title{margin-bottom:.45rem;color:var(--text);font-size:.85rem;font-weight:850}.ai-image-card img,.ai-image-empty{width:100%;aspect-ratio:16 / 9;border-radius:8px;border:1px solid var(--border);background:#111}.ai-image-card img{display:block;object-fit:contain}.ai-image-empty{display:grid;place-items:center;color:var(--text-muted);background:var(--surface-muted)}.program-tabs{margin-bottom:.85rem}.program-filter-panel{overflow:hidden;margin-bottom:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm)}.program-filter-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;background:var(--surface-2);color:var(--text);border-bottom:1px solid var(--border);font-weight:800}.program-filter-title i{color:var(--accent);font-size:.78rem}.program-filter-body{padding:1.1rem;background:var(--surface)}.program-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr)) minmax(180px,.8fr);gap:.85rem;align-items:end}.program-filter-grid .is-wide{grid-column:span 2}.program-filter-grid .field-label{color:var(--text-soft);font-size:.82rem;text-transform:none;letter-spacing:0}.program-date-range{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.program-filter-actions{display:flex;flex-wrap:wrap;gap:.5rem}.program-stats-table th,.program-stats-table td{vertical-align:middle}.program-stats-table tbody th{min-width:180px;font-size:1rem;color:var(--text)}.program-progress-cell{display:grid;gap:.28rem;min-width:220px}.program-progress-value{text-align:right;font-size:1.1rem;font-weight:800;color:var(--text)}.program-progress-track{height:10px;overflow:hidden;border-radius:999px;background:#e6e9ef}.program-progress-track span{display:block;height:100%;border-radius:inherit;background:#16c7b7}.program-progress-track span.is-danger{background:#f46086}.program-progress-cell small{text-align:right;color:var(--text-muted);font-weight:700}.kv{width:100%;border-collapse:collapse;font-size:.85rem}.kv th{text-align:left;color:var(--text-muted);font-weight:500;padding:.5rem .75rem;width:1%;white-space:nowrap}.kv td{padding:.5rem .75rem;color:var(--text);font-weight:550}.kv tr+tr th,.kv tr+tr td{border-top:1px solid var(--border)}.field-block{display:flex;flex-direction:column;gap:.3rem}.field-label{font-size:.875rem;font-weight:600;color:var(--text-soft);text-transform:uppercase;letter-spacing:.03em}.input,.textarea{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem .8rem;font:inherit;line-height:1.4;color:var(--text)}.textarea{min-height:6rem;resize:vertical}.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.select select,select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.5rem 2rem .5rem .8rem;font:inherit;color:var(--text);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2399a0b3' d='M2 4l4 4 4-4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}.select:after{display:none!important}select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.button,.btn{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:.5rem .9rem;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out,transform .12s ease-out;height:auto}.button:hover,.btn:hover{background:var(--surface-3);border-color:var(--border-strong);color:var(--text)}.button:active,.btn:active{transform:scale(.97)}.button:focus-visible,.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.button.is-small{padding:.4rem .75rem;font-size:14px;font-weight:500}.button.is-accent,.button.is-primary,.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}.button.is-accent:hover,.button.is-primary:hover,.btn-accent:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.notification,.banner{border-radius:var(--radius);padding:.9rem 1.1rem;border:1px solid var(--border);background:var(--surface);color:var(--text-soft);font-size:.88rem}.notification.is-light{background:var(--surface-2);border-color:var(--border);color:var(--text-soft)}.notification.is-danger{background:var(--danger-soft);border-color:#f3c4cc;color:#b8324a}.notification.is-warning{background:var(--warn-soft);border-color:#f2d79a;color:#9a6306}.toggle{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--text-soft);cursor:pointer}.app-muted{color:var(--text-muted)}.app-payload{max-height:240px;overflow:auto;font-size:.75rem;white-space:pre-wrap;word-break:break-all;background:#1e2330;color:#d7dce8;border-radius:var(--radius-sm);padding:.85rem;border:none}.stack{display:flex;flex-direction:column;gap:.6rem}.event-item{display:flex;flex-direction:column;gap:.25rem;padding:.7rem 0;border-bottom:1px solid var(--border)}.event-item:last-child{border-bottom:none}.bridge-line{display:flex;align-items:center;gap:.5rem;font-weight:600}.offline-box{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:150px;padding:1.1rem;border:0;border-radius:10px;background:linear-gradient(135deg,#f4f6f5,#ecefec);color:var(--text-soft);text-align:center}.offline-box i{font-size:30px;color:var(--off);margin-bottom:.15rem}.offline-box span{font-weight:700;font-size:.95rem}.offline-box small{font-size:.72rem;color:var(--text-muted)}.camera-preview{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#0b0f14;transition:height .25s ease}.camera-preview img,.camera-preview video{width:100%;height:100%;object-fit:cover;display:block}.camera-preview .offline-box{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0;border-radius:0;background:#0b0f14b8;color:#e6edf3}.camera-preview .offline-box i{color:#9fb0c0}.camera-preview .offline-box small{color:#e6edf3b8}.camera-snapshot-tag,.camera-live-tag,.camera-name-tag{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;letter-spacing:.01em;color:#fff;background:#0b0f14b3}.camera-live-tag{background:#c81e1ed9}.camera-name-tag{max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hierarchical-zone-groups,.hierarchical-zone-children{display:grid;gap:14px}.hierarchical-zone-level{margin:0;overflow:visible}.hierarchical-zone-level.depth-0{border-width:1px}.hierarchical-zone-level.depth-1,.hierarchical-zone-level.depth-2,.hierarchical-zone-level.depth-3{background:var(--surface-subtle, #f8faf9)}.hierarchical-zone-body{display:grid;gap:12px;padding:12px}.hierarchical-zone-head{min-height:42px}.hierarchical-zone-item{width:max-content;max-width:100%;align-self:start}.module-card-grid .hierarchical-zone-item{width:auto}.event-head-actions{display:flex;gap:.5rem}.event-select-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:.8rem;padding:.6rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.event-check{display:flex;align-items:center;gap:.4rem;font-weight:700;cursor:pointer}.table tr.is-read{opacity:.5}.event-read-badge{margin-left:.5rem}.event-row td{cursor:pointer}.event-row.is-open{background:#eef6ef!important;opacity:1}.event-caret{margin-right:6px;color:var(--text-muted);font-size:.72rem}.event-detail-panel{margin:.2rem .4rem .6rem;border:1px solid var(--border);border-left:3px solid var(--green);border-radius:var(--radius-sm);background:var(--surface);padding:.9rem 1rem}.event-detail-head{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}.event-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.event-detail-summary,.event-detail-action{background:#f7f7f4;border-radius:var(--radius-sm);padding:.7rem .9rem}.event-detail-action{border:1px solid #f0d8a8;background:#fff8ec}.event-detail-label{display:block;font-weight:700;font-size:.78rem;color:var(--text-muted);margin-bottom:.3rem}.event-detail-body p{margin:0;line-height:1.5}@media(max-width:720px){.event-detail-body{grid-template-columns:1fr}}.dash-row{border-radius:var(--radius)}.dash-row.is-editing{outline:2px dashed var(--green);outline-offset:4px;cursor:move;padding-top:1.6rem;position:relative}.dash-row-handle{position:absolute;top:2px;left:8px;font-size:.72rem;font-weight:700;color:var(--green);letter-spacing:.01em}.dash-stats-strip{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:.8rem}.dash-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.9rem 1.1rem;display:flex;flex-direction:column;gap:.25rem}.dash-stat-label{font-size:.8rem;color:var(--text-muted);letter-spacing:.01em}.dash-stat strong{font-size:1.6rem;line-height:1.15;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.dash-stat-overall-value{font-size:1.5rem;line-height:1.15;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.dash-stat-overall-value.is-ok{color:#1f9d57}.dash-stat-overall-value.is-warning{color:#d9a400}.dash-stat-overall-value.is-danger{color:#e74c3c}.dash-stat-sub{font-size:.72rem;color:var(--text-muted);letter-spacing:.01em}.is-danger-text{color:#e74c3c}.is-warning-text{color:#d9a400}.is-info-text{color:#2d6cdf}.dash-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dash-drag.is-editing .dash-module-card{outline:2px dashed var(--green);outline-offset:-2px}.dash-module-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}.dash-module-head{display:flex;align-items:center;justify-content:space-between}.dash-module-title{font-weight:800;font-size:1.05rem;color:var(--text);text-decoration:none}.dash-module-title:hover{color:var(--green)}.dash-module-title i{color:var(--green);margin-right:.4rem}.dash-module-head>a{color:var(--text-muted)}.dash-metric.is-link,.dash-recent-item.is-link,.dash-alert-row.is-link{cursor:pointer;text-decoration:none;color:inherit;border-radius:6px;transition:background-color .15s ease-out,transform .12s ease-out}.dash-metric.is-link:hover,.dash-recent-item.is-link:hover,.dash-alert-row.is-link:hover{background:#eef6ef}.dash-metric.is-link:active,.dash-recent-item.is-link:active,.dash-alert-row.is-link:active{transform:scale(.98)}.dash-metric.is-link:focus-visible,.dash-recent-item.is-link:focus-visible,.dash-alert-row.is-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.system-status-row a{margin-left:.6rem;color:#17683a;font-weight:700;text-decoration:none;font-size:.82rem;white-space:nowrap}.system-status-row a:hover{text-decoration:underline}.dash-module-body{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.dash-count-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.dash-count-list li{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-muted)}.dash-count-list strong{margin-left:auto;color:var(--text)}.dot{width:9px;height:9px;border-radius:50%;display:inline-block}.dot.is-ok{background:#27ae60}.dot.is-warning{background:#f1c40f}.dot.is-danger{background:#e74c3c}.dot.is-off{background:#9aa1aa}.dash-donut{width:96px;height:96px;aspect-ratio:1 / 1;border-radius:50%;position:relative;flex:0 0 auto}.dash-donut-hole{position:absolute;top:14px;right:14px;bottom:14px;left:14px;background:var(--surface);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.dash-donut-hole strong{font-size:1.4rem;line-height:1;font-weight:800;letter-spacing:-.015em;font-variant-numeric:tabular-nums}.dash-donut-hole span{font-size:.7rem;color:var(--text-muted);letter-spacing:.01em}.dash-metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:.7rem 0}.dash-metric{display:flex;flex-direction:column;align-items:center;gap:.15rem}.dash-metric-value{font-weight:800;font-size:1.05rem;line-height:1.15;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.dash-metric-label{font-size:.7rem;color:var(--text-muted);text-align:center;letter-spacing:.01em}.dash-recent-head{font-size:.78rem;font-weight:700;color:var(--text-muted);margin-bottom:.4rem}.dash-recent-item{display:flex;align-items:center;gap:.45rem;padding:.3rem 0;font-size:.85rem}.dash-recent-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-recent-time{color:var(--text-muted);font-size:.72rem}.dash-recent-empty{font-size:.8rem;color:var(--text-muted);padding:.3rem 0}.app-shell.is-sidebar-collapsed .dash-alert-head,.app-shell.is-sidebar-collapsed .dash-alert-row{grid-template-columns:68px 64px 84px minmax(180px,1fr) 92px}.app-shell.is-sidebar-collapsed .dashboard-fixed-panel{align-self:start}.dash-bottom-main{display:flex;flex-direction:column;gap:1rem;min-width:0}.dash-alert-table{padding:0 1rem 1rem}.dash-alert-head,.dash-alert-row{display:grid;grid-template-columns:70px 64px 90px 1fr 110px;gap:.5rem;align-items:center;padding:.5rem 0;font-size:.85rem}.dash-alert-head{color:var(--text-muted);font-weight:700;border-bottom:1px solid var(--border)}.dash-alert-row{border-bottom:1px solid var(--line, #eee)}.dash-alert-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1024px){.dash-stats-strip{grid-template-columns:1fr 1fr 1fr}.dash-module-grid{grid-template-columns:1fr}}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);border-top-color:var(--accent);animation:spin .7s linear infinite;display:inline-block;vertical-align:-3px;margin-right:.5rem}@keyframes spin{to{transform:rotate(360deg)}}.mt-4{margin-top:1.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1.25rem}@media(max-width:820px){.app-shell{padding-left:0}.app-sidebar{position:static;width:100%;height:auto;flex-direction:row;align-items:center;border-right:none;border-bottom:1px solid var(--border);overflow-x:auto}.app-brand{border-bottom:none;border-right:1px solid var(--border)}.app-brand-text{display:none}.column.is-3,.column.is-4,.column.is-8{width:100%}}:root{--bg: #fbfaf6;--surface: #ffffff;--surface-2: #fffdf8;--surface-3: #f2f7ee;--border: #e8e2d7;--border-strong: #d9d2c5;--text: #1A1A1A;--text-soft: #4b554e;--text-muted: #7a837c;--accent: #1f6f3f;--accent-hover: #185b34;--accent-soft: #e7f2e6;--ok: oklch(.725551 .21821 138.487);--ok-soft: #e7f5e8;--warn: oklch(.801629 .165137 76.001);--warn-soft: #fff4d7;--danger: oklch(.673245 .214344 24.465);--danger-soft: #ffe8e4;--off: #9a9f9a;--off-soft: #f1f1ed;--sidebar-w: 242px;--topbar-h: 70px;--radius-lg: 16px;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 3px rgba(45, 39, 28, .06);--shadow: 0 12px 28px rgba(45, 39, 28, .08)}body{background:radial-gradient(circle at 18% 0%,rgba(232,245,226,.72),transparent 34%),radial-gradient(circle at 80% 16%,rgba(255,244,215,.62),transparent 30%),var(--bg)}.app-shell{padding-left:var(--sidebar-w)}.app-sidebar{width:var(--sidebar-w);background:#fffdf8f0;border-right:1px solid var(--border);box-shadow:10px 0 26px #2d271c0f}.app-brand{height:108px;padding:1.45rem 1.6rem 1.1rem;align-items:flex-start;border-bottom:none}.piggo-mark{width:39px;height:39px;display:grid;place-items:center;color:var(--accent);font-size:1.8rem;line-height:1}.app-brand-title{color:#101813;font-size:1.55rem;font-weight:800;letter-spacing:0}.app-brand-sub{color:#101813;font-size:.85rem;letter-spacing:0;margin-top:.45rem}.app-shell.is-sidebar-collapsed .app-brand{height:var(--topbar-h);padding:0 .65rem;align-items:center;justify-content:center}.app-shell.is-sidebar-collapsed .sidebar-collapse-button{display:grid;place-items:center;position:absolute;right:8px;top:8px;z-index:5}.app-shell.is-sidebar-collapsed .piggo-mark{margin-top:1.4rem}.app-shell.is-sidebar-collapsed{--sidebar-w: 0px;padding-left:0}.app-shell.is-sidebar-collapsed .app-sidebar{width:0;border-right:0;background:transparent;box-shadow:none}.app-shell.is-sidebar-collapsed .app-brand{height:0;padding:0;border-bottom:0;overflow:visible}.app-shell.is-sidebar-collapsed .piggo-mark,.app-shell.is-sidebar-collapsed .app-brand-text{display:none}.app-shell.is-sidebar-collapsed .sidebar-collapse-button{position:fixed;top:16px;left:16px;right:auto;width:36px;height:36px;z-index:80;color:var(--accent);background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm)}.app-shell.is-sidebar-collapsed .app-main{padding-top:1rem}.server-ok{color:var(--ok);font-weight:750}.server-ok i{font-size:.5rem}.app-content{min-height:100vh}.farm-selector,.icon-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;height:38px;display:inline-flex;align-items:center;gap:.55rem;padding:0 .9rem;font:inherit;font-weight:700}.icon-button{width:44px;height:44px;justify-content:center;padding:0;border:none;background:transparent;font-size:1.35rem;text-decoration:none}.icon-button.has-badge{position:relative}.icon-button.has-badge span{position:absolute;right:1px;top:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--danger);color:#fff;font-size:.67rem;line-height:16px;letter-spacing:.01em;font-variant-numeric:tabular-nums}.device-status-panel{margin-bottom:18px}.device-status-panel .device-status-meta{display:inline-flex;align-items:center;gap:8px}.device-status-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.device-status-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #e3e6ea;border-radius:12px;background:#fff}.device-status-card .device-status-dot{width:10px;height:10px;border-radius:50%;flex:0 0 auto;background:#9aa1aa}.device-status-card.is-ok .device-status-dot{background:#27ae60}.device-status-card.is-off .device-status-dot{background:#e74c3c}.device-status-card.is-off{background:#fdf3f2;border-color:#f3c9c4}.device-status-body{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.device-status-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-status-label{font-size:14px;color:#7a8089}.device-status-time{font-size:14px;color:#9aa1aa;white-space:nowrap}.device-status-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 16px;color:#9aa1aa;text-align:center}.device-status-empty i{font-size:28px}.device-status-empty strong{color:#6b7178}.device-remote-grid{display:flex;flex-wrap:wrap;gap:8px}.device-remote-result{margin-top:12px;padding:12px;border-radius:8px;background:#f5f7fa;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-all;max-height:240px;overflow:auto}.device-remote-result.is-ok{border-left:3px solid #27ae60}.device-remote-result.is-fail{border-left:3px solid #e74c3c;background:#fdf3f2}.app-main{max-width:1280px;padding:1.75rem 2.85rem}.app-footer{padding:1rem;text-align:center;color:var(--text-muted);border-top:1px solid var(--border);font-size:.8rem}.dashboard-page{display:flex;flex-direction:column;gap:1.45rem}.dashboard-hero{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin:.5rem 0 .2rem}.dashboard-hero h1{font-size:1.85rem;line-height:1.2;margin:0 0 .45rem;color:var(--text);font-weight:850}.dashboard-hero p{margin:0;color:var(--text-muted);font-size:1rem}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.dashboard-kpi-card,.dashboard-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:#ffffffd1;box-shadow:var(--shadow-sm)}.dashboard-kpi-card{min-height:136px;padding:1.05rem;display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto 1fr;gap:.85rem}.dashboard-kpi-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;background:var(--accent-soft);color:var(--accent)}.dashboard-kpi-icon.tone-mint{background:#e1f2ee;color:#16846f}.dashboard-kpi-icon.tone-gold{background:#f4efd7;color:#9b8323}.dashboard-kpi-icon.tone-red{background:var(--danger-soft);color:var(--danger)}.dashboard-kpi-body span{color:var(--text-muted);font-weight:700}.dashboard-kpi-body strong{display:block;color:var(--text);font-size:1.58rem;line-height:1.2;margin-top:.2rem}.dashboard-kpi-lines{grid-column:1 / -1;border-top:1px solid var(--border);padding-top:.75rem;display:flex;flex-wrap:wrap;gap:.75rem;color:var(--text-soft);font-size:.82rem}.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(330px,.95fr);gap:1rem}.dashboard-panel{padding:1rem}.dashboard-program-panel,.dashboard-sonic-panel{grid-column:span 1}.dashboard-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.dashboard-panel-head h2{margin:0;color:var(--text);font-size:1rem;font-weight:850}.dashboard-panel-head a{color:var(--text-muted);font-size:.82rem;font-weight:700}.program-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.program-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.program-overview-card{display:grid;grid-template-columns:48px 1fr;gap:.2rem .9rem;align-items:center;padding:1.1rem;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);text-decoration:none;box-shadow:var(--shadow-soft)}.program-overview-card strong{font-size:1rem}.program-overview-card span:last-child{grid-column:2;color:var(--text-soft);font-size:.88rem;line-height:1.45}.program-overview-icon{grid-row:span 2;width:48px;height:48px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:var(--green-soft);color:var(--green)}.program-status-card{overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.program-status-card:hover{color:var(--text);border-color:var(--accent);box-shadow:var(--shadow)}.program-status-image{position:relative;height:124px;background-size:cover;background-position:center}.program-status-image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0000000d,#00000047)}.program-status-image span{position:absolute;left:.65rem;bottom:.62rem;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#0000006b;color:#fff}.program-status-image.is-disinfection{background-image:linear-gradient(135deg,#1f6f3f33,#151d1833),url(https://images.unsplash.com/photo-1497366754035-f200968a6e72?auto=format&fit=crop&w=640&q=70)}.program-status-image.is-wildlife{background-image:linear-gradient(135deg,#1f6f3f14,#151d182e),url(https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=640&q=70)}.program-status-image.is-vehicle{background-image:linear-gradient(135deg,#1f6f3f1f,#151d182e),url(https://images.unsplash.com/photo-1519003722824-194d4455a60c?auto=format&fit=crop&w=640&q=70)}.program-status-image.is-sonic{background-image:linear-gradient(135deg,#1f6f3f2e,#151d182e),url(https://images.unsplash.com/photo-1516280440614-37939bbacd81?auto=format&fit=crop&w=640&q=70)}.program-status-body{padding:.72rem .78rem}.program-status-title{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}.program-status-badge{color:var(--ok);font-weight:850}.program-status-badge.is-waiting{color:var(--warn)}.program-status-row{display:flex;justify-content:space-between;color:var(--text-muted);font-size:.83rem;line-height:1.85}.program-status-row strong{color:var(--text)}.dashboard-event-list{display:flex;flex-direction:column}.dashboard-event-row{display:grid;grid-template-columns:28px 1fr auto;gap:.65rem;align-items:center;padding:.56rem 0;border-bottom:1px solid var(--border)}.dashboard-event-row:last-child{border-bottom:none}.dashboard-event-icon{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:#e9f3f3;color:#2c7a7b}.dashboard-event-icon.is-danger{background:var(--danger-soft);color:var(--danger)}.dashboard-event-icon.is-warning{background:var(--warn-soft);color:var(--warn)}.dashboard-event-icon.is-offline{background:var(--off-soft);color:var(--off)}.dashboard-event-row strong{display:block;font-size:.88rem}.dashboard-event-row span,.dashboard-event-row time{color:var(--text-muted);font-size:.78rem}.dashboard-sonic-panel{grid-column:1 / 2}.sonic-summary-table{display:flex;flex-direction:column}.sonic-summary-head,.sonic-summary-row{display:grid;grid-template-columns:1.05fr .8fr .75fr .75fr .8fr .8fr .8fr .9fr;gap:.5rem;align-items:center;min-height:40px}.sonic-summary-head{color:var(--text-muted);font-size:.8rem;border-bottom:1px solid var(--border)}.sonic-summary-row{border-bottom:1px solid var(--border);color:var(--text);font-size:.86rem}.sonic-summary-row:last-child{border-bottom:none}.system-status-list{display:flex;flex-direction:column;gap:.78rem}.system-status-row{display:grid;grid-template-columns:1fr 120px auto;gap:.8rem;align-items:center;color:var(--text-soft)}.system-status-row span{display:inline-flex;align-items:center;gap:.55rem}.system-status-row strong{justify-self:end}.system-status-row strong.is-ok{color:var(--ok)}.system-status-row strong.is-danger{color:var(--danger)}.system-meter{height:7px;border-radius:999px;background:#ecece7;overflow:hidden}.system-meter span{display:block;width:38%;height:100%;background:var(--ok)}.system-meter.is-empty span{width:0}.system-detail-button{height:38px;border:1px solid var(--border);border-radius:8px;color:var(--text-soft);display:flex;align-items:center;justify-content:center;gap:.45rem;font-weight:700}.empty-mini{min-height:118px;border:1px dashed var(--border-strong);border-radius:10px;background:var(--surface-2);color:var(--text-muted);display:flex;flex-direction:column;justify-content:center;gap:.35rem;padding:1rem}.empty-mini strong{color:var(--text)}.kpi-value.is-compact{font-size:1.25rem;line-height:1.25}.file-name-cell{max-width:280px;word-break:break-all;color:var(--text-soft)}.audio-mini{width:180px;max-width:100%;height:32px}.sonic-toolbar{align-items:stretch}.sonic-toolbar .settings-readonly,.sonic-endpoint{min-width:280px;flex:1}.sonic-two-column{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:1rem;align-items:start}.sonic-ai-layout{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.sonic-ai-result-table{min-width:980px}.sonic-ai-result-table .date-cell{min-width:150px;white-space:nowrap}.sonic-ai-result-table .summary-cell{min-width:260px;max-width:460px;white-space:normal;word-break:keep-all;overflow-wrap:anywhere;line-height:1.45}.backup-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:1rem;align-items:start}.empty-action-panel.is-inline{margin:0;background:var(--surface)}.sensor-chart-panel{margin-bottom:1rem}.sensor-chart-stack{display:flex;flex-direction:column;gap:.8rem}.sensor-chart-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:1rem;align-items:center;min-height:138px;padding:.8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--accent)}.sensor-chart-row svg{display:block;width:100%;height:118px}.sensor-chart-row line{stroke:var(--border);stroke-width:1}.sensor-chart-row polyline{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.sensor-chart-label{display:flex;flex-direction:column;gap:.25rem;color:var(--text)}.sensor-chart-label strong{color:var(--text);font-weight:700}.sensor-chart-label span{color:var(--text-soft);font-size:.76rem}text.chart-axis-y,text.chart-axis-x{fill:var(--text-soft);font-size:11px;stroke:none}text.chart-axis-x{text-anchor:middle}text.chart-axis-y{text-anchor:end}.sensor-chart-empty{display:grid;place-items:center;min-height:86px;border:1px dashed var(--border-strong);border-radius:8px;color:var(--text-muted)}.sensor-chart-row.chart-red{color:var(--series-temp)}.sensor-chart-row.chart-blue{color:var(--series-humidity)}.sensor-chart-row.chart-orange{color:var(--series-co2)}.sensor-chart-row.chart-purple{color:var(--series-cough-wet)}.sensor-chart-row.chart-green{color:var(--series-cough-dry)}.history-page{display:grid;gap:1rem}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.chart-header h1{margin:0;font-size:1.15rem;font-weight:800;color:var(--text)}.chart-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.chart-controls select{height:2.25rem;min-width:210px;border:1px solid var(--border);border-radius:7px;padding:0 .75rem;background:var(--surface);color:var(--text)}.chart-auto-refresh{display:inline-flex;align-items:center;gap:.35rem;color:var(--text);font-size:.82rem}.chart-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.chart-metric-card{display:grid;gap:.25rem;min-height:76px;border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem}.chart-metric-card span{font-size:12px;font-weight:700}.chart-metric-card strong{font-size:1.25rem;line-height:1.1;color:var(--text)}.chart-metric-card small{color:var(--text-soft)}.chart-metric-card.tone-red{background:var(--series-temp-soft);border-color:color-mix(in srgb,var(--series-temp) 32%,var(--surface));color:var(--series-temp)}.chart-metric-card.tone-blue{background:var(--series-humidity-soft);border-color:color-mix(in srgb,var(--series-humidity) 32%,var(--surface));color:var(--series-humidity)}.chart-metric-card.tone-orange{background:var(--series-co2-soft);border-color:color-mix(in srgb,var(--series-co2) 32%,var(--surface));color:var(--series-co2)}.chart-metric-card.tone-red strong,.chart-metric-card.tone-blue strong,.chart-metric-card.tone-orange strong{color:var(--text)}.chart-meta{display:grid;gap:.35rem;color:var(--text-muted);font-size:.82rem}.chart-meta p{margin:0}.chart-series{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.series-pill{display:inline-flex;align-items:center;min-height:2rem;border-radius:7px;padding:.35rem .75rem;color:#fff;font-size:12px;font-weight:700}.series-pill.chart-red{background:var(--series-temp)}.series-pill.chart-blue{background:var(--series-humidity)}.series-pill.chart-orange{background:var(--series-co2)}.series-pill.chart-green{background:var(--series-cough-dry)}.series-pill.chart-purple{background:var(--series-cough-wet)}.series-pill.is-empty{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}button.series-pill{cursor:pointer;border:1px solid transparent;font-family:inherit;transition:opacity .12s ease-out,background .12s ease-out,transform .12s ease-out}button.series-pill:hover{opacity:.88}button.series-pill:active{transform:scale(.95)}button.series-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.series-pill.is-off{color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border)}.sensor-chart-row.is-off{opacity:.45}.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.3rem;padding:.85rem;border-top:1px solid var(--border)}.pagination-btn{min-width:2rem;height:2rem;padding:0 .55rem;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-soft);font-size:.82rem;font-weight:600;cursor:pointer}.pagination-btn:hover:not(:disabled):not(.is-current){background:var(--surface-3)}.pagination-btn.is-current{background:var(--accent);border-color:var(--accent);color:#fff}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.pagination-gap{color:var(--text-muted);padding:0 .15rem}.backup-upload-help{margin:0;padding:.7rem 1rem;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);font-size:.85rem;line-height:1.5}.backup-upload-help strong{color:var(--text)}.backup-upload-form{align-items:end;gap:.75rem}.backup-upload-form input[type=file]{min-height:42px;padding:.55rem .75rem;border-radius:var(--radius-sm);line-height:1.4}.backup-upload-form .button{min-height:42px;white-space:nowrap}.fs-chart-panel{overflow:hidden}.fs-chart-stack{gap:0}.sensor-chart-row.fs-chart-row{grid-template-columns:210px minmax(0,1fr);min-height:142px;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:.85rem .25rem}.sensor-chart-row.fs-chart-row svg{height:128px;overflow:visible}.chart-empty-band{fill:#eff6f1b8;stroke:#1f6b4a14;stroke-width:1;opacity:1}.empty-axis{stroke:#9ca3af;stroke-dasharray:4 4}.metric-line.metric-temperature{stroke:var(--series-temp)}.metric-line.metric-humidity{stroke:var(--series-humidity)}.metric-line.metric-co2{stroke:var(--series-co2)}.metric-line.metric-dry_count{stroke:var(--series-cough-dry)}.metric-line.metric-wet_count{stroke:var(--series-cough-wet)}.chart-hover-line{stroke:#11182747;stroke-width:1.5;stroke-dasharray:4 4}.chart-hover-dot.metric-temperature{fill:var(--series-temp)}.chart-hover-dot.metric-humidity{fill:var(--series-humidity)}.chart-hover-dot.metric-co2{fill:var(--series-co2)}.chart-hover-dot.metric-dry_count{fill:var(--series-cough-dry)}.chart-hover-dot.metric-wet_count{fill:var(--series-cough-wet)}.chart-hover-box{fill:#fffffffb;stroke:#0f172a1a;stroke-width:1;filter:drop-shadow(0 10px 24px rgba(15,23,42,.14))}.chart-hover-time{fill:#64748b;font-family:Pretendard,system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;font-size:12px;font-weight:500;letter-spacing:.01em;font-variant-numeric:tabular-nums}.chart-hover-divider{stroke:#94a3b83d;stroke-width:1}.chart-hover-label,.chart-hover-value{font-family:Pretendard,system-ui,-apple-system,Apple SD Gothic Neo,Malgun Gothic,sans-serif;dominant-baseline:alphabetic;font-variant-numeric:tabular-nums;text-rendering:geometricPrecision}.chart-hover-label{fill:#475569;font-size:13px;font-weight:500;letter-spacing:-.015em}.chart-hover-value{fill:#0f172a;font-size:14px;font-weight:600;letter-spacing:-.01em}.chart-hover-swatch{fill:#64748b}.chart-hover-row.metric-temperature .chart-hover-swatch{fill:var(--series-temp)}.chart-hover-row.metric-humidity .chart-hover-swatch{fill:var(--series-humidity)}.chart-hover-row.metric-co2 .chart-hover-swatch{fill:var(--series-co2)}.chart-hover-row.metric-dry_count .chart-hover-swatch{fill:var(--series-cough-dry)}.chart-hover-row.metric-wet_count .chart-hover-swatch{fill:var(--series-cough-wet)}.chart-footnote,.chart-empty-message{margin:.75rem 0 0;color:var(--text-muted);font-size:.8rem}.chart-empty-message{padding:.9rem;border:1px dashed var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);text-align:center}.risk-marker{cursor:pointer;outline:none}.risk-marker line{stroke-width:2;stroke-dasharray:4 5;opacity:.55}.risk-marker circle{stroke:var(--surface);stroke-width:2}.risk-marker.is-normal line,.risk-marker.is-normal circle{stroke:var(--ok);fill:var(--ok)}.risk-marker.is-caution line,.risk-marker.is-caution circle{stroke:var(--warn);fill:var(--warn)}.risk-marker.is-danger line,.risk-marker.is-danger circle{stroke:var(--danger);fill:var(--danger)}.risk-marker.is-selected line{opacity:.95;stroke-width:3}.risk-event-panel{margin-top:1rem}.risk-event-panel.is-normal{border-color:#1f8f4d59}.risk-event-panel.is-caution{border-color:#d9770659}.risk-event-panel.is-danger{border-color:#dc262659}.risk-snapshot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.risk-snapshot-grid div{padding:.85rem;border-right:1px solid var(--border);background:var(--surface-2)}.risk-snapshot-grid div:last-child{border-right:0}.risk-snapshot-grid span{display:block;color:var(--text-muted);font-size:.78rem;margin-bottom:.25rem}.risk-snapshot-grid strong{display:block;font-size:.98rem}.risk-compare-table th,.risk-compare-table td{white-space:nowrap}.risk-compare-delta td{font-weight:700;color:var(--accent)}.risk-reason-box{border:1px solid rgba(220,38,38,.3);background:#dc26260f;border-radius:8px;padding:.75rem .9rem;margin-bottom:.9rem}.risk-reason-box strong{display:block;margin-bottom:.4rem}.risk-reason-box ol{margin:0 0 .4rem 1.1rem;padding:0}.risk-reason-box li{margin:.15rem 0}.risk-action-row .field-label,.risk-note-block .field-label{display:block;margin-bottom:.4rem;font-weight:600}.risk-action-buttons{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.35rem}.risk-note-list{list-style:none;margin:0 0 .6rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.risk-note-list li{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;background:var(--surface-2)}.risk-note-text{margin:0 0 .25rem;white-space:pre-wrap;word-break:break-word}.risk-note-actions{margin-top:.4rem;display:flex;justify-content:flex-end}.app-danger{color:#dc2626}.trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.6rem}.trust-item{border:1px solid var(--border);border-radius:8px;padding:.7rem .8rem;background:var(--surface-2)}.trust-item span{display:block;color:var(--text-muted);font-size:.78rem;margin-bottom:.25rem}.trust-item strong{display:block;font-size:.95rem}.trust-item small{display:block;margin-top:.2rem;font-size:.72rem}.trust-item.is-stale{border-color:#dc262666;background:#dc26260d}.toolbar-actions{display:flex;gap:.5rem;align-items:center}.debug-logs-page{display:grid;gap:18px;min-width:0;color:var(--text);font-size:15px}.debug-log-heading,.debug-log-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.debug-log-heading{justify-content:space-between}.debug-log-heading p{margin:0;color:var(--text-soft)}.debug-log-updated{color:var(--muted);font-size:14px}.debug-log-tools{position:relative}.debug-log-tools summary,.debug-log-advanced summary{cursor:pointer;padding:8px 0;color:var(--text-soft)}.debug-log-tools>div{position:absolute;z-index:10;right:0;top:100%;min-width:180px;display:grid;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 6px 20px #00000012}.debug-log-tools :is(a,button){padding:10px;border:0;border-radius:4px;background:transparent;text-align:left;font:inherit;color:var(--text);cursor:pointer;text-decoration:none}.debug-log-tools button{color:var(--danger-ink)}.debug-log-tools :is(a,button):hover{background:var(--surface-2)}.debug-log-filters{padding:16px 18px 8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:0}.debug-log-filter-main,.debug-log-advanced>div{display:flex;flex-wrap:wrap;gap:12px;align-items:end}.debug-log-filters label{display:grid;gap:6px;min-width:130px}.debug-log-filters label>span{color:var(--text-soft);font-size:13px}.debug-log-filters .debug-log-search{flex:1;min-width:240px}.debug-log-filters :is(input,select){box-sizing:border-box;width:100%;min-width:0;height:40px;border:1px solid var(--border);border-radius:6px;padding:8px 10px;color:var(--text);background:var(--surface);font:inherit}.debug-log-filters .button{min-height:40px}.debug-reset{height:40px;border:0;background:transparent;color:var(--text-soft);padding:0 8px;font:inherit;cursor:pointer}.debug-log-advanced{margin-top:6px;font-size:14px}.debug-log-advanced>div{padding:8px 0 10px}.debug-log-advanced>div>span{align-self:center;color:var(--muted)}.debug-log-list{min-width:0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.debug-log-list-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;padding:16px 18px}.debug-log-list-head h2{display:flex;gap:7px;align-items:baseline;margin:0;font-size:17px;font-weight:600}.debug-log-list-head h2 strong{color:var(--blue);font-size:21px}.debug-log-list-head h2 span,.debug-log-list-head small{color:var(--muted);font-size:13px;font-weight:400}.debug-log-list-head small{margin-left:auto}.debug-log-scroll{position:relative;overflow-x:auto;min-width:0}.debug-log-table{width:100%;min-width:820px;table-layout:fixed;border-collapse:collapse;font-size:14px}.debug-col-time{width:155px}.debug-col-result{width:90px}.debug-col-device{width:145px}.debug-col-route{width:180px}.debug-col-toggle{width:48px}.debug-log-table :is(th,td){padding:12px 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);overflow-wrap:anywhere;white-space:normal}.debug-log-table th{background:var(--surface-2);color:var(--text-soft);font-size:13px;font-weight:600}.debug-log-table time{font-variant-numeric:tabular-nums;line-height:1.65}.debug-log-table td small{display:block;margin-top:4px;color:var(--muted);font-size:12px}.debug-log-row{cursor:pointer}.debug-log-row:hover,.debug-log-row.is-open{background:color-mix(in srgb,var(--blue) 5%,var(--surface))}.debug-log-summary{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.debug-result{display:inline-flex;align-items:center;gap:6px;color:var(--text-soft);font-weight:600}.debug-result:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--success)}.debug-result.is-failed{color:var(--danger-ink)}.debug-result.is-failed:before{background:var(--danger)}.debug-expand{border:0;background:transparent;color:var(--text-soft);width:30px;height:32px;cursor:pointer}.debug-log-detail{padding:8px 2px}.debug-log-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0 0 16px}.debug-log-metadata dt{color:var(--muted);font-size:12px;margin-bottom:4px}.debug-log-metadata dd{margin:0;overflow-wrap:anywhere}.debug-detail-wide{grid-column:1 / -1}.debug-log-detail h3{margin:12px 0 8px;font-size:14px}.debug-log-payload{margin:0;padding:14px;max-height:320px;overflow:auto;background:var(--surface-2);border-radius:6px;font-size:13px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.debug-log-list>.pagination{padding:8px 16px}.chart-table-panel .panel-head{align-items:center}.chart-data-table{width:100%;min-width:1120px;margin-bottom:0;table-layout:fixed;border-collapse:collapse}.chart-data-table thead th,.chart-data-table tbody td{padding:.5rem .85rem;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}.chart-data-table thead th:first-child,.chart-data-table tbody td:first-child{text-align:left}.chart-data-table .chart-col-time{width:22%}.chart-data-table .chart-col-temp,.chart-data-table .chart-col-humidity,.chart-data-table .chart-col-co2{width:12%}.chart-data-table col:nth-child(5){width:10%}.chart-data-table col:nth-child(6){width:14%}.chart-data-table col:nth-child(7){width:18%}.inline-note-detail summary{cursor:pointer;color:var(--accent, #1F6B4A);font-weight:800}.inline-note-detail p{margin:.35rem 0 0;white-space:normal;line-height:1.45}.chart-empty-table-cell{height:84px;text-align:center!important;color:var(--text-muted)}.device-detail-page{display:grid;gap:1rem}.device-cloud-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:.45rem;color:var(--success);font-size:.92rem;font-weight:700}.device-edit-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(260px,1.35fr) auto;gap:.75rem;align-items:end;padding:1rem;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.device-edit-form label{display:grid;gap:.35rem;margin:0;color:var(--text-muted);font-size:.82rem;font-weight:700}.device-edit-form input{width:100%;height:42px;border:1px solid var(--border);border-radius:8px;padding:0 .8rem;background:var(--surface-2);color:var(--text)}.detail-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.detail-card{border:1px solid var(--border);border-radius:8px;background:var(--surface);overflow:hidden}.detail-card h2{margin:0;padding:.9rem 1rem;border-bottom:1px solid var(--border);color:var(--text);font-size:1rem}.detail-kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.detail-kv{min-height:72px;padding:.85rem 1rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.detail-kv:nth-child(2n){border-right:0}.detail-kv span{display:block;margin-bottom:.35rem;color:var(--text-muted);font-size:.78rem;font-weight:700}.detail-kv strong{display:block;min-width:0;color:var(--text);font-size:.98rem;word-break:break-word}.detail-kv.tone-good strong{color:var(--success)}.detail-kv.tone-bad strong{color:var(--danger)}.detail-kv.tone-muted strong{color:var(--text-muted)}.state-flag-row{display:flex;gap:.35rem;align-items:center}.state-flag{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:28px;padding:0 9px;border-radius:6px;border:1.5px solid transparent;font-weight:800;font-size:.82rem;line-height:1}.state-flag.is-safe{background:#25ad6f24;color:#1b7a4d;border-color:#25ad6f59}.state-flag.is-warning{background:#f5b5232e;color:#946600;border-color:#f5b52380}.state-flag.is-error{background:#e54c6324;color:#b3273f;border-color:#e54c6359}.state-flag.is-safe.is-active{background:var(--success);color:#fff;border-color:var(--success);box-shadow:0 0 0 4px #25ad6f2e}.state-flag.is-warning.is-active{background:var(--warn);color:#111827;border-color:var(--warn);box-shadow:0 0 0 4px #f5b52338}.state-flag.is-error.is-active{background:var(--danger);color:#fff;border-color:var(--danger);box-shadow:0 0 0 4px #e54c632e}.device-settings-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;padding:1rem}.device-settings-form label,.firmware-upload-form label{display:grid;gap:.35rem;margin:0;color:var(--text-muted);font-size:.82rem;font-weight:700}.device-settings-form label.wide{grid-column:span 2}.device-settings-form input,.firmware-upload-form input{min-width:0;width:100%;height:42px;border:1px solid var(--border);border-radius:8px;padding:0 .8rem;background:var(--surface-2);color:var(--text)}.setting-form-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .9rem;justify-content:flex-start;padding-top:.4rem;border-top:1px solid var(--border)}.scan-result-table th,.scan-result-table td{white-space:nowrap;vertical-align:middle}.scan-result-table .scan-mac{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;background:var(--surface-2);padding:2px 6px;border-radius:4px}.scan-result-table .scan-urls{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;color:var(--text-muted);white-space:normal}.scan-result-table .scan-net{font-weight:700;font-size:.8rem}.scan-result-table .scan-net-ethernet{color:#2563eb}.scan-result-table .scan-net-wifi{color:var(--ok)}.setting-form-actions p{margin:0;color:var(--text-muted);font-size:.78rem}.firmware-upload-form{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:.8rem;align-items:end;padding:1rem}.path-input-row{display:flex;gap:.5rem;align-items:stretch}.path-input-row .input{flex:1;min-width:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-card{background:var(--surface);border-radius:12px;box-shadow:0 12px 40px #00000040;width:min(560px,92vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.folder-picker .panel-head{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);font-weight:700}.folder-picker-path{padding:.6rem 1.1rem;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:.8rem;word-break:break-all}.folder-picker-list{flex:1;overflow-y:auto;padding:.5rem}.folder-row{display:flex;align-items:center;gap:.6rem;width:100%;padding:.55rem .8rem;border:none;background:transparent;color:var(--text);text-align:left;border-radius:8px;cursor:pointer;font-size:.9rem}.folder-row:hover{background:var(--surface-2)}.folder-row .fa-folder{color:#f6b73c}.folder-picker-foot{padding:.8rem 1.1rem;border-top:1px solid var(--border);display:flex;justify-content:flex-end}@media(max-width:1180px){.dashboard-kpi-grid,.program-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-main-grid{grid-template-columns:1fr}.ai-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-sonic-panel{grid-column:auto}}@media(max-width:820px){.app-shell{padding-left:0}.app-sidebar{position:static;width:100%;box-shadow:none}.app-main{padding:1rem}.dashboard-kpi-grid,.program-status-grid{width:100%;min-width:0;grid-template-columns:1fr}.device-edit-form,.detail-card-grid,.detail-kv-grid,.device-settings-form,.firmware-upload-form{grid-template-columns:1fr}.device-settings-form label.wide{grid-column:auto}.detail-kv,.detail-kv:nth-child(2n){border-right:0}.sonic-summary-head{display:none}.sonic-summary-row{grid-template-columns:1fr 1fr;padding:.75rem 0}.sonic-two-column,.backup-grid,.face-upload-row,.backup-upload-form,.sensor-chart-row,.program-filter-grid,.program-date-range,.ai-detail-grid,.ai-image-grid{grid-template-columns:1fr}.program-filter-grid .is-wide{grid-column:auto}.program-tabs{grid-template-columns:1fr}}.form-grid .field-wide{grid-column:1 / -1}.secret-input{position:relative;display:flex;align-items:center}.secret-input .input{width:100%;padding-right:2.6rem}.secret-input-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm)}.secret-input-toggle:hover{color:var(--text);background:var(--surface-3)}.settings-section-divider{display:flex;align-items:center;gap:8px;margin:28px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border);font-weight:900;font-size:15px;color:var(--text-soft)}.settings-section-divider:first-child{margin-top:0}.settings-help{display:block;margin-top:.45rem;padding:.85rem 1rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.82rem;color:var(--text-muted);line-height:1.5}.settings-help strong{display:block;color:var(--text);margin-bottom:.4rem}.settings-help ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}.settings-help p{margin:0;line-height:1.5}.settings-help code{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.05rem .35rem;font-size:.78rem;color:var(--text)}.settings-help.is-warning{background:#fef6e7;border-color:#f3d9a4;color:#8a5a00}.settings-help.is-warning strong,.settings-help.is-warning code{color:#8a5a00}.switch{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:0;height:0}.switch-track{position:relative;width:62px;height:30px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);transition:background .18s ease,border-color .18s ease;flex:none}.switch-track:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:transform .18s ease}.switch-track:before{content:"OFF";position:absolute;top:50%;right:9px;transform:translateY(-50%);font-size:11px;font-weight:900;letter-spacing:.02em;color:var(--text-muted);transition:color .18s ease}.switch input:checked+.switch-track{background:var(--accent);border-color:var(--accent)}.switch input:checked+.switch-track:after{transform:translate(32px)}.switch input:checked+.switch-track:before{content:"ON";right:auto;left:9px;color:#fff}.switch input:focus-visible+.switch-track{outline:2px solid var(--accent);outline-offset:2px}.switch-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.switch-field{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .85rem;background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.86rem;color:var(--text)}.settings-test{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.settings-test-result{display:inline-flex;align-items:center;gap:.3rem;font-size:.82rem}.settings-test-result.is-ok{color:var(--ok, #1f9d57)}.settings-test-result.is-fail{color:var(--danger, #d64545)}.app-main{max-width:1600px;width:100%}.backup-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start}.backup-primary,.backup-grid>.panel,.backup-grid .panel,.backup-grid .panel-body{min-width:0}.table-scroll{width:100%;overflow-x:auto}.backup-table{width:100%;table-layout:auto}.backup-table th{white-space:nowrap;vertical-align:top}.backup-table td{white-space:normal;vertical-align:top;word-break:keep-all;overflow-wrap:anywhere}.backup-table td:nth-child(3){min-width:80px;white-space:nowrap}.backup-table td:nth-child(4){min-width:90px;white-space:nowrap}.backup-table .file-name-cell,.file-name-cell{min-width:260px;max-width:620px;word-break:break-all;overflow-wrap:anywhere}.backup-table td:nth-child(1){min-width:130px}.backup-table td:nth-child(2){min-width:150px}.backup-table td:nth-child(6){min-width:150px}.backup-table td:nth-child(7){min-width:190px}.backup-table .button-row{display:flex;flex-wrap:wrap;gap:.4rem}.table-help{margin-top:.35rem;line-height:1.35;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}.table-help.is-danger{color:var(--danger)}@media(max-width:1200px){.backup-grid{grid-template-columns:1fr}}@media(max-width:820px){.app-main{max-width:100%}.backup-table .file-name-cell,.file-name-cell{min-width:220px;max-width:100%}}.is-clickable-row{cursor:pointer;transition:background-color .15s ease-out}.is-clickable-row:hover{background:#485fc70f}.is-clickable-row:active{background:#485fc71a}.is-clickable-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.is-selected-row{cursor:pointer;background:#485fc71f}.storage-card{display:flex;flex-direction:column;gap:.6rem}.storage-bar{position:relative;width:100%;height:14px;border-radius:999px;background:#7882a02e;overflow:hidden}.storage-bar .storage-local{display:block;height:100%;background:linear-gradient(90deg,#4f6bd8,#6f86e6);border-radius:999px;transition:width .3s ease}.storage-legend{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:.82rem;color:var(--muted, #8a93a6)}.storage-legend .legend-dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;margin-right:.35rem;vertical-align:middle}.storage-legend .legend-dot.local{background:#4f6bd8}.storage-legend .legend-dot.nas{background:#3ec18c}.settings-stream-panel{margin-top:1rem}.settings-stream-panel .panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.device-stream-preview{width:100%;max-width:960px;margin:0 auto;aspect-ratio:16 / 9;background:#0d1016;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center}.device-stream-preview img{width:100%;height:100%;object-fit:contain}.table thead th{white-space:nowrap}.table td{overflow-wrap:anywhere}.table-scroll{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.kpi-card,.kpi-value,.kpi-card small,.settings-readonly,.settings-readonly small,.device-card,.device-card-zone,.bridge-line,.storage-legend{min-width:0;overflow-wrap:anywhere}.kpi-grid,.app-device-grid,.form-grid,.backup-grid,.check-grid,.panel,.panel-body{min-width:0}.notification{overflow-wrap:anywhere}::selection{background:#247a42;color:#fff}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-2{margin-left:.5rem}.p-0{padding:0!important}.is-size-7{font-size:.875rem}.has-text-danger{color:var(--danger)}.is-inline{display:inline}.is-fullwidth{width:100%}.is-clickable{cursor:pointer}html{color-scheme:light}.input,.textarea,select,.select select,input[type=text],input[type=password],input[type=number],input[type=search],input[type=file]{background-color:#fff!important;color:var(--text)!important;border-color:var(--border)!important}.input::placeholder,.textarea::placeholder{color:var(--text-muted)!important;opacity:1}.table,.table th,.table td{color:var(--text)!important;background-color:transparent!important}.table thead th{color:var(--text-muted)!important}.table.is-striped tbody tr:nth-child(2n),.table.is-striped tbody tr:not(.is-selected):nth-child(2n){background-color:var(--surface-2)!important}.table.is-striped tbody tr:hover{background-color:var(--surface-3)!important}.secret-field{display:flex;gap:.5rem;align-items:center}.secret-field input{flex:1;min-width:0}.piggo-status-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 5px #2f7d3f1f}.login-error{margin:.25rem 0 0;color:#dc2626;font-size:.88rem}.topbar-alert{position:relative}.dashboard-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.dashboard-title-row h1{margin:0;font-size:1.9rem;font-weight:700;line-height:1.15;letter-spacing:-.015em}.dashboard-title-row p{margin:.45rem 0 0;color:var(--muted-text)}.dashboard-fixed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.dashboard-fixed-grid.is-bottom{margin-top:.25rem}.dashboard-fixed-panel{min-height:320px}.device-summary-tabs{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .8rem}.device-summary-tabs button,.plain-action-button{border:1px solid var(--line);background:#fff;color:var(--text-muted);border-radius:999px;padding:.45rem .75rem;cursor:pointer;font-weight:800;transition:border-color .15s ease,box-shadow .15s ease,color .15s ease,background .15s ease}.device-summary-tabs button.is-active,.plain-action-button:hover{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 8px 18px #1f6f3f2e}.device-summary-tabs button:hover{border-color:var(--green);color:var(--green)}.device-summary-tabs button.is-active:hover{color:#fff}.device-summary-table{padding:0 1rem 1rem}.device-summary-head,.device-summary-row{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(90px,.8fr) minmax(110px,1fr);gap:.75rem;align-items:center}.device-summary-head{color:var(--muted-text);font-size:.82rem;font-weight:800;padding:.55rem 0;border-bottom:1px solid var(--line)}.device-summary-row{min-height:44px;border-bottom:1px solid var(--line-soft)}.device-summary-row>*{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-zone-panel{position:relative;overflow:visible}.device-summary-status small{margin-left:.25rem;color:inherit;font-weight:700}.device-summary-expanded-layer{position:absolute;z-index:20;top:calc(100% + .55rem);left:0;width:100%;padding:1rem 0;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 42px #17352324}.device-summary-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.device-summary-columns .device-summary-table+.device-summary-table{border-left:1px solid var(--line)}.device-summary-status{justify-self:start;min-width:58px;border-radius:999px;padding:.25rem .58rem;text-align:center;font-size:.82rem;font-weight:900}.device-summary-status.is-ok,.device-summary-status.is-normal{color:#17683a;background:#e7f5e8}.device-summary-status.is-warning,.device-summary-status.is-caution{color:#8a6200;background:#fff4d7}.device-summary-status.is-danger{color:#b93226;background:#ffe8e4}.device-summary-status.is-offline{color:#666;background:#f1f1ed}@media(max-width:760px){.device-summary-columns{grid-template-columns:1fr}.device-summary-columns .device-summary-table+.device-summary-table{border-left:0}}.dashboard-edit-done{align-self:flex-end}.dashboard-widget-board{display:flex;flex-direction:column;gap:.85rem}.dashboard-widget-board .dashboard-panel-head{padding:0;border-bottom:0}.module-widget-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.module-widget-card{position:relative;display:flex;flex-direction:column;gap:.55rem;min-height:128px;padding:1rem;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);text-decoration:none}.module-widget-card:hover{border-color:var(--green);box-shadow:0 12px 28px #2657341f}.module-widget-card>div{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.module-widget-card>span:not(.widget-coordinate){color:var(--muted-text);font-size:.9rem}.module-widget-grid.is-editing .module-widget-card{cursor:grab;outline:1px dashed rgba(31,122,65,.5);outline-offset:-6px}.widget-coordinate{position:absolute;right:.65rem;bottom:.55rem;color:var(--green);font-size:.78rem;font-weight:800}.dashboard-expand-button{display:block;width:calc(100% - 2rem);margin:0 1rem 1rem;border:1px solid var(--line);background:#fff;border-radius:8px;padding:.65rem;color:var(--green);font-weight:800;cursor:pointer}.dashboard-expand-button:hover{background:#f3faf3}.device-summary-empty{min-height:240px;margin:0 1rem 1rem;padding:2rem 1.25rem;border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center}.device-summary-empty-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.25rem}.device-summary-empty strong{font-size:1.05rem;color:var(--text)}.device-summary-empty p{max-width:440px;margin:0;color:var(--text-muted)}.device-summary-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:.4rem}.plain-icon-button{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-muted);cursor:pointer}.plain-icon-button:hover{border-color:var(--accent);color:var(--accent)}.device-register-backdrop{align-items:flex-start;padding:7vh 1rem 1rem}.device-register-modal{width:min(860px,94vw);max-height:86vh}.device-register-head{padding:1.1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.device-register-head h2{margin:0;font-size:1.15rem}.device-register-head p{margin:.25rem 0 0;color:var(--text-muted)}.device-register-body{padding:1.25rem;overflow-y:auto}.device-kind-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.device-kind-card{min-height:190px;padding:1.1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.75rem;text-align:left}.device-kind-card:hover:not(:disabled){border-color:var(--accent);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.device-kind-card:disabled{opacity:.55;cursor:not-allowed}.device-kind-visual{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.6rem}.device-kind-card strong{font-size:1.05rem}.device-kind-card span:last-child{color:var(--text-muted);line-height:1.45}.device-register-warning{margin-bottom:1rem;padding:.95rem 1rem;border:1px solid var(--warn);border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--text);display:grid;gap:.25rem}.device-register-warning span{color:var(--text-muted)}.device-register-warning a{font-weight:800}.device-register-stepbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.device-register-stepbar strong{font-size:18px}.device-register-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}.device-register-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}@media(max-width:760px){.device-kind-grid,.device-register-form-grid{grid-template-columns:1fr}.device-register-backdrop{padding-top:1rem}}.env-threshold-bar{margin-bottom:12px}.env-threshold-bar .panel-head span i{margin-right:6px;color:var(--accent, #1F6B4A)}.env-chip-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.env-chip{display:flex;flex-direction:column;gap:2px;padding:8px 12px;border:1px solid var(--border, #E3DED0);border-radius:8px;background:var(--surface-2, #FDFBF5);font-size:14px}.env-chip strong{font-size:14px}.env-chip em{font-style:normal;font-weight:700;margin:0 4px 0 8px}.env-chip em:first-child{margin-left:0}.env-chip em.is-caution{color:var(--warn)}.env-chip em.is-danger{color:var(--danger)}.env-chip-help{flex-basis:100%}.env-threshold-combo{display:grid;gap:10px}.env-range-shell{position:relative;height:38px;margin:4px 6px 0}.env-range-track{position:absolute;left:0;right:0;top:18px;height:6px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--danger) 24%,transparent),color-mix(in srgb,var(--warn) 24%,transparent),color-mix(in srgb,var(--ok) 18%,transparent),color-mix(in srgb,var(--warn) 24%,transparent),color-mix(in srgb,var(--danger) 24%,transparent));border:1px solid var(--border)}.env-range-marker{position:absolute;top:8px;width:3px;height:26px;border-radius:999px;transform:translate(-50%);z-index:2}.env-range-marker.is-caution{background:var(--warn)}.env-range-marker.is-danger{background:var(--danger)}.env-range-thumb{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.env-range-thumb input[type=range]{width:100%;height:38px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none}.env-range-thumb input[type=range]::-webkit-slider-runnable-track{height:6px;background:transparent}.env-range-thumb input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;margin-top:-6px;border:3px solid var(--surface);border-radius:999px;box-shadow:0 2px 7px #1e2a2440;cursor:pointer;pointer-events:auto}.env-range-thumb.is-caution input[type=range]::-webkit-slider-thumb{background:var(--warn)}.env-range-thumb.is-danger input[type=range]::-webkit-slider-thumb{background:var(--danger)}.env-range-thumb input[type=range]::-moz-range-track{height:6px;background:transparent}.env-range-thumb input[type=range]::-moz-range-thumb{width:18px;height:18px;border:3px solid var(--surface);border-radius:999px;box-shadow:0 2px 7px #1e2a2440;cursor:pointer;pointer-events:auto}.env-range-thumb.is-caution input[type=range]::-moz-range-thumb{background:var(--warn)}.env-range-thumb.is-danger input[type=range]::-moz-range-thumb{background:var(--danger)}.env-threshold-number-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.env-threshold-number-row{display:grid;grid-template-columns:1fr 76px 28px;align-items:center;gap:6px;font-size:12px}.env-threshold-number-row span{color:var(--text-muted);font-weight:800}.env-threshold-number{width:76px;padding:6px 8px;border:1px solid var(--border-strong);border-radius:6px;background:var(--surface);text-align:right;font-variant-numeric:tabular-nums}.env-threshold-number-row em{color:var(--text-muted);font-style:normal;font-weight:700}.env-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.env-edit-error{margin:0}.env-threshold-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:16px;background:#1e2a243d}.env-threshold-notice-card{width:min(420px,100%);padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.env-threshold-notice-card strong{display:block;margin-bottom:8px}.env-threshold-notice-card p{margin:0 0 12px;color:var(--text-soft)}.operational-threshold-panel,.fs-chart-panel,.trend-chart-panel{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px #1f2a240d}.env-threshold-head,.chart-panel-heading{min-height:68px;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--surface-2)}.env-section-title,.env-edit-metric-head{display:flex;align-items:center;gap:10px}.env-section-title>span:last-child,.env-edit-metric-head>span:last-child,.chart-panel-heading>div{display:flex;flex-direction:column;gap:3px}.env-section-title strong,.chart-panel-heading strong{color:var(--text);font-size:18px;font-weight:850;line-height:1.3}.env-section-title small,.chart-panel-heading span{color:var(--text-soft);font-size:13px;font-weight:500;line-height:1.45}.env-edit-metric-head small{color:var(--text-muted);font-size:12px;font-weight:700}.env-section-icon,.env-metric-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.env-save-hint,.chart-panel-meta{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text-soft);font-size:14px;font-weight:700;white-space:nowrap}.env-scope-note{margin:0 0 12px;padding:9px 11px;border-left:3px solid var(--accent);background:var(--accent-soft)}.env-season-templates{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}.env-metric-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4)}@media(max-width:900px){.env-metric-cards{grid-template-columns:1fr}}.env-metric-card{min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 3px 0 var(--accent-soft)}.env-metric-card.is-temperature{box-shadow:inset 0 3px color-mix(in srgb,var(--danger) 34%,transparent)}.env-metric-card.is-humidity{box-shadow:inset 0 3px color-mix(in srgb,var(--info) 30%,transparent)}.env-metric-card.is-co2{box-shadow:inset 0 3px color-mix(in srgb,var(--warn) 34%,transparent)}.env-metric-card.is-temperature .env-metric-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.env-metric-card.is-humidity .env-metric-icon{color:var(--info);background:color-mix(in srgb,var(--info) 10%,transparent)}.env-metric-card.is-co2 .env-metric-icon{color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.env-edit-metric-head{margin-bottom:12px}.env-edit-metric-head strong{margin:0;color:var(--text);font-size:16px;font-weight:800;line-height:1.35}.env-threshold-number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.env-threshold-number-row{grid-template-columns:minmax(70px,1fr) 70px 24px;padding:7px 8px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.env-edit-actions{grid-column:1 / -1;min-height:38px;padding-top:4px}.env-edit-error{grid-column:1 / -1}.chart-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.fs-chart-panel .panel-body,.trend-chart-panel .panel-body{padding:16px 18px 14px}.fs-chart-stack{gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.sensor-chart-row.fs-chart-row{grid-template-columns:128px minmax(0,1fr);min-height:150px;margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:var(--surface)}.sensor-chart-row.fs-chart-row:last-child{border-bottom:0}.sensor-chart-row.fs-chart-row svg{height:132px}.sensor-chart-label{padding-right:12px;border-right:1px solid var(--border)}.sensor-chart-label strong{font-size:14px}.chart-footnote{margin:12px 0 0;padding:10px 12px;border-radius:7px;background:var(--surface-2);color:var(--text-soft);font-size:12px;line-height:1.55}.trend-chart-panel .trend-chart{min-height:360px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.trend-chart-panel .trend-grid{stroke-dasharray:3 4}.trend-chart-panel .trend-bar-dry{fill:var(--series-cough-dry)}.trend-chart-panel .trend-bar-wet{fill:var(--series-cough-wet)}@media(max-width:760px){.env-threshold-head,.chart-panel-heading{align-items:flex-start;flex-direction:column}.env-threshold-number-grid,.sensor-chart-row.fs-chart-row{grid-template-columns:1fr}.sensor-chart-label{padding:0 0 8px;border-right:0;border-bottom:1px solid var(--border)}.chart-header{flex-direction:column;align-items:stretch}.chart-controls{justify-content:flex-start}.chart-controls select{min-width:0;width:100%}.segmented{display:flex;flex-wrap:wrap;width:100%;max-width:100%;height:auto}.segmented span,.segmented button{flex:1 1 auto}}@media(max-width:920px)and (min-width:761px){.env-threshold-number-grid{grid-template-columns:1fr 1fr}}.threshold-band{pointer-events:none}.threshold-band.is-caution{fill:color-mix(in srgb,var(--warn) 10%,transparent)}.threshold-band.is-danger{fill:color-mix(in srgb,var(--danger) 12%,transparent)}.threshold-line{stroke-dasharray:4 4;stroke-width:1}.threshold-line.is-caution{stroke:var(--warn)}.threshold-line.is-danger{stroke:var(--danger)}.threshold-label{font-size:10px;text-anchor:end;font-weight:700}.threshold-label.is-caution{fill:var(--warn)}.threshold-label.is-danger{fill:var(--danger)}.violation-dot.is-caution{fill:var(--warn);stroke:var(--surface);stroke-width:1}.violation-dot.is-danger{fill:var(--danger);stroke:var(--surface);stroke-width:1}.pinned-point-panel.is-caution{border-left:4px solid var(--warn)}.pinned-point-panel.is-danger{border-left:4px solid var(--danger)}.pinned-status{font-style:normal;font-size:11px;font-weight:800;margin-left:6px;padding:1px 6px;border-radius:6px}.pinned-status.is-caution{background:var(--warn-soft);color:var(--warn-ink)}.pinned-status.is-danger{background:var(--danger-soft);color:var(--danger-ink)}.risk-guide-box{margin-top:12px;padding:10px 14px;background:var(--accent-soft, #E4EFE7);border-radius:8px}.risk-guide-box strong{display:block;margin-bottom:6px;color:var(--accent, #1F6B4A)}.risk-guide-box ol{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-size:13px}.trend-explain{margin:4px 0 10px;color:var(--text-soft, #3F4A43);font-size:14px}.trend-chip{font-style:normal;font-weight:800;padding:1px 7px;border-radius:6px;font-size:12px}.trend-chip.is-caution{background:var(--warn-soft);color:var(--warn-ink)}.trend-chip.is-danger{background:var(--danger-soft);color:var(--danger-ink)}.trend-legend{margin-bottom:8px}.trend-pill-caution{background:var(--warn-soft);color:var(--warn-ink)}.trend-pill-danger{background:var(--danger-soft);color:var(--danger-ink)}.trend-chart{width:100%;height:auto;display:block}.trend-grid{stroke:var(--border);stroke-width:1}.trend-region.is-caution{fill:color-mix(in srgb,var(--warn) 13%,transparent)}.trend-region.is-danger{fill:color-mix(in srgb,var(--danger) 14%,transparent)}.trend-hit{fill:transparent;cursor:pointer}.trend-bar{cursor:pointer}.trend-bar-dry{fill:var(--series-cough-dry)}.trend-bar-wet{fill:var(--series-cough-wet)}.trend-bar.is-caution .trend-bar-dry,.trend-bar.is-caution .trend-bar-wet{opacity:.95}.trend-bar.is-selected .trend-bar-dry,.trend-bar.is-selected .trend-bar-wet{stroke:var(--text);stroke-width:1.4}.trend-bar:hover .trend-hit{fill:color-mix(in srgb,var(--accent) 6%,transparent)}.trend-flag.is-caution{fill:var(--warn);stroke:var(--surface);stroke-width:1.2}.trend-flag.is-danger{fill:var(--danger);stroke:var(--surface);stroke-width:1.2}.trend-action-check{font-size:12px;text-anchor:middle;fill:var(--ok);font-weight:900}.radio-row{display:flex;gap:16px;flex-wrap:wrap}.dashboard-panel-actions,.page-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.module-status-page{display:flex;flex-direction:column;gap:18px}.module-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:12px}.module-summary-cell{min-height:96px;display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 26px #1f2a240f}.module-summary-icon{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:50%;background:#2f7d591f;color:var(--ok);font-size:20px}.module-summary-cell.is-danger .module-summary-icon{background:#c7473a1f;color:var(--danger)}.module-summary-cell.is-caution .module-summary-icon{background:#d88a2424;color:var(--warn)}.module-summary-cell.is-offline .module-summary-icon{background:#7d847e29;color:var(--off)}.module-summary-cell span{color:var(--text-soft);font-size:14px;font-weight:700}.module-summary-cell strong{display:block;margin-top:2px;color:var(--text);font-size:25px;line-height:1.15}.module-summary-cell small{display:block;margin-top:4px;color:var(--text-soft);font-weight:600}.dashboard-widget-slot{display:flex;flex-direction:column;min-width:0}.dashboard-widget-slot>*{flex:1 1 auto;width:100%;min-height:0}.main-action-panel,.main-module-summary,.dashboard-panel.dashboard-fixed-panel{display:flex;flex-direction:column}.main-action-panel>.main-action-list,.main-module-summary>.main-module-grid,.dashboard-panel.dashboard-fixed-panel>.device-summary-table,.dashboard-panel.dashboard-fixed-panel>.device-summary-empty{flex:1 1 auto;min-height:0}.dashboard-panel-head,.module-page-head,.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.main-action-panel,.main-module-summary,.main-event-panel,.main-trend-panel,.main-camera-panel,.main-module-status-strip,.module-guide-bar,.module-device-panel{border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 26px #1f2a240d}.main-action-panel,.main-event-panel,.main-trend-panel,.main-camera-panel,.main-module-status-strip{padding:18px}.main-action-list,.main-event-table,.module-status-inline{display:flex;flex-direction:column;gap:10px}.main-action-item,.main-event-row,.module-inline-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fffdf7}.main-action-icon,.event-chip,.module-inline-icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:var(--ok)}.main-action-item.is-danger .main-action-icon,.main-event-row.is-danger .event-chip{background:var(--danger)}.main-action-item.is-caution .main-action-icon,.main-event-row.is-caution .event-chip{background:var(--warn)}.main-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 18px 18px}.main-module-summary .dashboard-panel-head{padding:18px}.main-module-card{display:flex;flex-direction:column;gap:14px;min-height:246px;padding:16px;border:1px solid var(--border);border-radius:12px;color:inherit;background:linear-gradient(180deg,#fff,#fffdf8);text-decoration:none}.main-module-card:hover,.module-device-card:hover,.device-card:hover{border-color:#1f6b4a61;box-shadow:0 14px 32px #1f2a2417;transform:translateY(-1px)}.main-module-head,.module-card-head,.device-card-head{display:flex;justify-content:space-between;gap:12px}.main-module-metrics,.module-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.main-module-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.main-module-metrics>:last-child:nth-child(odd){grid-column:1 / -1}.main-module-metrics span,.module-mini-metric{min-width:0;padding:8px;border:1px solid var(--border);border-radius:8px;background:#fffaf0;color:var(--text-soft);font-size:14px;font-weight:700;text-align:center}.main-module-metrics strong,.module-mini-metric strong{display:block;margin-top:3px;color:var(--text);font-size:15px;overflow-wrap:anywhere}.mini-line-chart{width:100%;height:130px;border-radius:10px;background:linear-gradient(180deg,#2f7d5914,#2f7d5903)}.main-trend-comparison{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.main-trend-value{min-width:0;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.main-trend-value span,.main-trend-value small{display:block;overflow:hidden;color:var(--text-muted);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.main-trend-value strong{display:block;margin:4px 0;color:var(--text);font-size:18px}.main-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0;color:var(--text-soft);font-size:12px;font-weight:700}.main-chart-legend span:before{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:currentColor;content:""}.main-chart-legend .is-temperature,.trend-series.is-temperature,.main-unified-tooltip .is-temperature{color:var(--series-temp);stroke:var(--series-temp)}.main-chart-legend .is-humidity,.trend-series.is-humidity,.main-unified-tooltip .is-humidity{color:var(--series-humidity);stroke:var(--series-humidity)}.main-chart-legend .is-co2,.trend-series.is-co2,.main-unified-tooltip .is-co2{color:var(--series-co2);stroke:var(--series-co2)}.main-chart-legend .is-dry,.main-unified-tooltip .is-dry{color:var(--series-cough-dry)}.main-chart-legend .is-wet,.main-unified-tooltip .is-wet{color:var(--series-cough-wet)}.main-chart-legend .main-trend-freshness{margin-left:auto;color:var(--ok)}.main-chart-legend .main-trend-freshness.is-stale{color:var(--warn)}.main-unified-trend-block{padding-top:12px;border-top:1px solid var(--border)}.main-unified-trend-wrap{position:relative;min-height:250px}.main-unified-trend-chart{display:block;width:100%;height:auto;min-height:250px;overflow:visible;touch-action:pan-y}.trend-series{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;vector-effect:non-scaling-stroke}.trend-series.is-humidity{stroke-dasharray:7 4}.trend-series.is-co2{stroke-dasharray:2 4}.trend-cough-bar.is-dry{fill:var(--series-cough-dry)}.trend-cough-bar.is-wet{fill:var(--series-cough-wet)}.trend-time-tick{stroke:color-mix(in srgb,var(--border) 76%,transparent);stroke-dasharray:2 4;stroke-width:1}.trend-time-label,.trend-lane-label{fill:var(--text-muted);font-size:10px;font-weight:700}.trend-time-label{text-anchor:middle}.trend-lane-divider{stroke:var(--border);stroke-width:1}.trend-hover-line{pointer-events:none;stroke:var(--text-soft);stroke-width:1;vector-effect:non-scaling-stroke}.main-unified-tooltip{position:absolute;top:14px;z-index:3;display:grid;width:174px;gap:5px;padding:10px 12px;border:1px solid var(--border-strong);border-radius:6px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:0 8px 20px #1c261f24;color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;pointer-events:none;transform:translate(-50%)}.main-unified-tooltip>strong{padding-bottom:5px;border-bottom:1px solid var(--border);font-size:12px}.main-unified-tooltip span{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:6px}.main-unified-tooltip i{width:7px;height:7px;border-radius:50%;background:currentColor}.main-unified-tooltip b{color:var(--text);font-weight:800}.mini-bars{display:flex;align-items:end;gap:5px;height:96px}.mini-bars span{flex:1;min-width:4px;border-radius:6px 6px 0 0;background:var(--danger)}@media(max-width:720px){.main-trend-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}.main-unified-trend-chart{min-height:220px}.main-unified-tooltip{width:158px;padding:8px 10px}}.main-camera-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.main-camera-tile,.module-camera-thumb{position:relative;overflow:hidden;min-height:126px;border-radius:10px;background:linear-gradient(135deg,#27352f,#6c6a5e);color:#fff}.main-camera-tile:before,.module-camera-thumb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.22),transparent 34%),linear-gradient(135deg,#1f6b4a47,#00000038)}.main-camera-tile span,.module-camera-thumb span{position:absolute;left:12px;right:12px;bottom:10px;display:flex;justify-content:space-between;font-weight:800}.module-page-head{min-height:72px}.module-title-block{display:flex;align-items:center;gap:14px}.module-title-icon{width:58px;height:58px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#168a4f,#076c37);font-size:24px}.module-title-block h1{margin:0;font-size:30px;letter-spacing:0}.module-title-block p{margin:5px 0 0;color:var(--text-soft);font-weight:700}.module-page-actions{display:flex;gap:10px;align-items:center}.module-update-chip,.module-refresh-button,.module-register-button,.module-view-button{min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:0 16px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-weight:800}.module-register-button{background:linear-gradient(135deg,#0f8b4b,#05723b);color:#fff;border-color:transparent}.module-toolbar{flex-wrap:wrap}.module-filter-chips{display:flex;gap:10px;flex-wrap:wrap}.device-placement-toolbar{display:grid;gap:12px;padding:16px 16px 0}.device-placement-toolbar .module-filter-chips{flex-wrap:wrap}.device-placement-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.device-placement-filter-row .module-search{flex:1 1 280px}.device-placement-result{margin-left:auto;color:var(--text-muted, #667085);white-space:nowrap}.device-placement-edit-row>td{padding:12px 16px 16px!important;background:var(--surface-2, #f6f8f7)!important}.device-placement-edit-row .form-panel{margin:0;border-color:var(--border);box-shadow:none}.device-register-discover{padding:16px 20px 0}.module-filter-chip,.alert-filter-pill{min-height:38px;padding:0 16px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--text);font-weight:900}.module-filter-chip.is-active{border-color:var(--ok);background:#2f7d591a;color:var(--ok)}.module-search{min-width:280px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.module-search input{width:100%;min-height:40px;border:0;background:transparent;outline:none}.module-card-grid,.app-device-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}@media(max-width:1500px){.module-card-grid,.app-device-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1180px){.module-card-grid,.app-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.module-card-grid,.app-device-grid{grid-template-columns:minmax(0,1fr)}.module-card-grid>*,.app-device-grid>*{min-width:0}.module-page-actions{flex-wrap:wrap;justify-content:flex-start}}.module-device-card,.device-card{display:flex;flex-direction:column;gap:14px;min-height:286px;padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:0 10px 24px #1f2a240b;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.module-status-chip{display:inline-flex;align-items:center;gap:6px;width:fit-content;min-height:24px;padding:0 10px;border-radius:999px;background:#2f7d591f;color:var(--ok);font-weight:900;font-size:13px}.module-status-chip.is-caution,.status-pill.status-CAUTION{background:#d88a2424;color:var(--warn)}.module-status-chip.is-danger,.status-pill.status-DANGER{background:#c7473a24;color:var(--danger)}.module-status-chip.is-offline,.status-pill.status-OFFLINE{background:#7d847e24;color:var(--off)}.status-pill.status-NORMAL{background:#2f7d5921;color:var(--ok)}.module-card-title,.device-card-name{font-size:20px;font-weight:900;letter-spacing:0}.module-card-zone,.device-card-zone{color:var(--text-soft);font-size:14px;font-weight:700}.module-card-event{display:flex;justify-content:space-between;gap:10px;padding-top:10px;border-top:1px solid var(--border);color:var(--text-soft);font-weight:700}.module-card-actions,.device-card-actions,.device-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.module-card-actions .button,.device-card-actions .button,.module-card-actions a,.device-card-actions a{flex:1;min-height:36px;border-color:var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:900}.sonic-device-card .device-card-foot{align-items:stretch;flex-wrap:wrap}.sonic-device-card .device-card-foot>.app-muted{flex:1 1 100%;min-width:0;white-space:nowrap}.sonic-device-card .device-card-actions{width:100%}.sonic-primary-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sonic-metric{min-height:72px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fffdf8}.sonic-metric i{grid-row:span 2;color:var(--ok);font-size:18px}.sonic-metric span{color:var(--text-soft);font-size:12px;font-weight:800}.sonic-metric strong{color:var(--text);font-size:16px;font-weight:900}.sonic-metric.is-cough i{color:var(--warn)}.sonic-support-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.sonic-support-metrics span{min-height:42px;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;color:var(--text-soft);font-size:12px;font-weight:800}.sonic-support-metrics strong{color:var(--ok)}.sonic-condition-line{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:2px 8px;margin:0;padding:10px 12px;border:1px solid var(--warn);border-left-width:4px;border-radius:8px;background:var(--warn-soft, rgba(214, 158, 46, .1));color:var(--text);font-size:13px;font-weight:800}.sonic-condition-line i{grid-row:span 2;align-self:center;color:var(--warn);font-size:16px}.sonic-condition-line small{grid-column:2;color:var(--text-soft);font-size:12px;font-weight:600;line-height:1.45}.module-guide-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;color:var(--text-soft);font-weight:800}.alert-filter-pill.is-active,.alert-filter-pill:hover{background:#2f7d591a;color:var(--ok);border-color:#2f7d593d}.alert-filter-pill.is-danger{color:var(--danger)}.alert-filter-pill.is-caution{color:var(--warn)}.alert-filter-pill.is-offline{color:var(--off)}.alert-filter-pill.is-info{color:#2e6edb}@media(max-width:1320px){.module-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.module-summary-strip,.main-module-grid,.sonic-primary-metrics,.sonic-support-metrics{grid-template-columns:1fr}}:root{--bg: #f8faf8;--surface: #ffffff;--surface-2: #fbfdfb;--surface-3: #eef5f0;--border: #e7ece8;--border-strong: #d8e3dc;--line: #e7ece8;--text: #1A1A1A;--text-soft: #334155;--text-muted: #6b7280;--accent: #087237;--accent-hover: #0e8b49;--accent-soft: #e9f6ee;--ok: oklch(.725551 .21821 138.487);--success: oklch(.725551 .21821 138.487);--warn: oklch(.801629 .165137 76.001);--danger: oklch(.673245 .214344 24.465);--off: #6b7280;--sidebar-bg: #ffffff;--sidebar-text: #28323c;--sidebar-muted: #6b7280;--sidebar-active: #087237}body{background:radial-gradient(circle at 84% 8%,rgba(25,135,84,.06),transparent 34%),#fafcfb;color:var(--text)}.app-shell{background:radial-gradient(circle at 78% 2%,rgba(25,135,84,.045),transparent 30%),#fafcfb}.app-sidebar{padding:24px 16px;background:#fffffff5;border-right:1px solid #e8eee9;box-shadow:8px 0 28px #0f172a09}.app-brand{height:auto;min-height:58px;padding:0 8px 12px;border-bottom:0}.piggo-mark,.app-brand-mark{width:36px;height:36px;border-radius:10px;background:#10783d;color:#fff;display:grid;place-items:center;box-shadow:none}.app-brand-title{color:#111827;font-size:20px;font-weight:900;letter-spacing:-.03em}.app-brand-sub{color:#374151;font-size:12px;font-weight:600}.sidebar-collapse-button{color:#475569;background:transparent}.sidebar-collapse-button:hover{color:var(--accent);background:var(--accent-soft)}.module-summary-cell{min-height:124px;padding:20px;border-color:#e7ece8;border-radius:14px;box-shadow:0 8px 24px #0f172a0a}.module-summary-cell strong{color:#111827;font-size:28px;font-weight:950;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.module-summary-icon{width:54px;height:54px;background:#16a34a1f;color:var(--ok);font-size:24px}.dashboard-panel,.main-action-panel,.main-module-summary,.main-event-panel,.main-trend-panel,.main-camera-panel,.main-module-status-strip,.module-guide-bar,.module-device-section,.module-device-card,.device-card,.panel{border-color:#e7ece8;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.main-action-item,.main-event-row{min-height:74px;border-color:#e7ece8;border-radius:12px;background:#fff}.main-action-item.is-danger,.main-event-row.is-danger{background:linear-gradient(90deg,#ef444414,#fff 48%)}.main-action-item.is-caution,.main-event-row.is-caution{background:linear-gradient(90deg,#f59e0b1a,#fff 48%)}.main-module-card{border-color:#e7ece8;border-radius:14px;box-shadow:0 8px 24px #0f172a0a}.main-camera-tile,.module-camera-thumb{min-height:126px;background:linear-gradient(180deg,#0000000d,#00000061),linear-gradient(135deg,#a7b7a7,#5c6b5e)}.module-status-page{gap:18px}.page-head,.module-page-head{min-height:78px;margin-bottom:18px}.module-title-icon{width:58px;height:58px;background:linear-gradient(135deg,#0f9b53,#087237);box-shadow:0 12px 24px #08723729}.module-title-block h1,.page-title{color:#111827;font-size:32px;font-weight:950;letter-spacing:-.03em}.module-summary-strip{grid-template-columns:repeat(6,minmax(145px,1fr));gap:0;overflow:hidden;border:1px solid #e7ece8;border-radius:14px;background:#fff;box-shadow:0 8px 24px #0f172a0a}.module-summary-cell{min-height:122px;border:0;border-radius:0;box-shadow:none}.module-summary-cell+.module-summary-cell{border-left:1px solid #e7ece8}.module-toolbar{margin:18px 0}.module-filter-chips button,.module-filter-chip,.alert-filter-pill{min-height:44px;padding:0 18px;border:1px solid #e5ebe6;border-radius:10px;background:#fff;color:#111827;font-weight:900}.module-filter-chips button.is-active,.module-filter-chips button:hover,.module-filter-chip.is-active{border-color:#19a55c;background:#eefaf2;color:#087237}.module-search{min-width:330px;min-height:44px;border-color:#e5ebe6;border-radius:10px;background:#fff}.module-device-card,.device-card{min-height:322px;padding:16px;border-radius:14px}.module-device-card h2,.device-card-name{color:#111827;font-size:21px;font-weight:950;letter-spacing:-.02em}.module-device-place,.device-card-zone,.module-device-id{color:#475569;font-size:14px;font-weight:700}.module-device-card.is-caution,.device-card.device-status-CAUTION{border-color:#f59e0b61}.module-device-card.is-danger,.device-card.device-status-DANGER{border-color:#ef444461}.module-device-card.is-offline,.device-card.device-status-OFFLINE{background:linear-gradient(180deg,#fff,#fafafa)}.module-status-chip,.status-pill{min-height:24px;border-radius:999px;font-size:13px;font-weight:950}.module-mini-metric,.sonic-metric,.sonic-support-metrics span{border-color:#e8eee9;border-radius:8px;background:#fff}.module-card-metrics.is-sound,.module-card-metrics.is-beacon,.module-card-metrics.is-camera{grid-template-columns:repeat(3,minmax(0,1fr))}.module-mini-metric i{color:var(--accent)}.module-mini-metric.is-caution,.sonic-metric.is-cough{color:var(--warn)}.sonic-metric.is-state-ok{border-color:#22c55e59;background:#22c55e14}.sonic-metric.is-state-ok i,.sonic-metric.is-state-ok strong{color:var(--ok, oklch(.725551 .21821 138.487))}.sonic-metric.is-state-warning{border-color:#f59e0b6b;background:#f59e0b1a}.sonic-metric.is-state-warning i,.sonic-metric.is-state-warning strong{color:var(--warn-ink, #b45309)}.sonic-metric.is-state-danger{border-color:#ef444461;background:#ef444417}.sonic-metric.is-state-danger i,.sonic-metric.is-state-danger strong{color:var(--danger, #dc2626)}.module-mini-metric.is-danger,.module-mini-metric.is-strong{color:var(--danger)}.module-offline-box{border:0;background:linear-gradient(135deg,#f4f6f5,#ecefec)}.module-device-actions .button,.device-card-actions .button,.device-card-actions a{min-height:38px;border-color:#e5ebe6;border-radius:8px;background:#fff}.module-guide-bar{padding:18px 20px;background:linear-gradient(90deg,#0872370d,#fff)}.module-guide-bar>i{width:42px;height:42px;display:inline-grid;place-items:center;border-radius:50%;background:#e8f7ee;color:#087237;font-size:22px}@media(max-width:1180px){.module-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.module-summary-cell+.module-summary-cell{border-left:0;border-top:1px solid #e7ece8}}@media(max-width:760px){.module-summary-strip,.main-module-grid,.sonic-primary-metrics,.sonic-support-metrics,.module-card-metrics.is-sound,.module-card-metrics.is-beacon,.module-card-metrics.is-camera{grid-template-columns:1fr}}.main-camera-tile{aspect-ratio:16 / 9;min-height:0}.main-camera-tile .camera-preview{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0}.main-camera-tile.is-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#ffffffc7;font-weight:700;font-size:.82rem;text-align:center}.main-camera-tile.is-empty i{font-size:1.3rem;opacity:.85}.main-camera-tile.is-empty em{font-style:normal}.field-dashboard{height:100dvh;overflow:hidden;background:linear-gradient(180deg,#eef8ef,#f6faf6 44%,#f8fafc);display:flex;flex-direction:column}.trend-missing-range{fill:#94a3b8;opacity:.22}.field-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 2rem;border-bottom:1px solid var(--border);background:var(--surface);flex:none}.field-dashboard-actions{display:flex;align-items:center;gap:.8rem}.field-dashboard-updated{color:#475569;font-size:.95rem;font-weight:800;white-space:nowrap}.field-admin-login{display:inline-flex;align-items:center;gap:.4rem}.field-dashboard-body{flex:1;min-height:0;overflow:hidden;padding:1.1rem 2rem 1.4rem;display:flex;flex-direction:column}.field-dashboard-empty{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:4rem 1rem;color:var(--text-muted);text-align:center}.field-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.2rem}.field-tile{display:flex;flex-direction:column;gap:1rem;padding:1.4rem;border:2px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 10px 26px #1f2a240f;text-align:left;cursor:pointer;transition:transform .12s ease-out,box-shadow .12s ease-out}.field-tile:hover,.field-tile:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px #1f2a241a}.field-tile.is-normal{border-color:var(--ok)}.field-tile.is-caution{border-color:var(--warn)}.field-tile.is-danger{border-color:var(--danger)}.field-tile.is-offline{border-color:var(--off)}.field-tile-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.field-tile-head h2{font-size:1.5rem;font-weight:850;color:var(--text);margin:0}.field-badge{display:inline-flex;align-items:center;padding:.3rem .7rem;border-radius:999px;font-size:.9rem;font-weight:800;color:#fff;background:var(--off);white-space:nowrap}.field-badge.is-normal{background:var(--ok)}.field-badge.is-caution{background:var(--warn)}.field-badge.is-danger{background:var(--danger)}.field-badge.is-offline{background:var(--off)}.field-tile-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.field-metric{display:flex;flex-direction:column;gap:.15rem}.field-metric span{color:var(--text-muted);font-size:.8rem;font-weight:700}.field-metric strong{font-size:1.3rem;font-weight:800;color:var(--text)}.field-tile-compact{align-items:center;justify-content:center;gap:.6rem;padding:1.6rem;min-height:140px}.field-equipment-signal{position:relative}.field-equipment-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .9rem;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-soft);font-weight:700;font-size:.85rem;cursor:pointer}.field-equipment-dot{width:10px;height:10px;border-radius:50%;background:var(--off)}.field-equipment-button.is-normal .field-equipment-dot{background:var(--ok)}.field-equipment-button.is-caution .field-equipment-dot{background:var(--warn)}.field-equipment-button.is-danger .field-equipment-dot{background:var(--danger)}.field-equipment-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 30px #00000024;padding:.7rem;z-index:20}.field-equipment-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.3rem .2rem;font-size:.85rem}.field-map-backdrop{z-index:1200}.field-map-overlay{background:none;width:auto;height:auto;max-width:98vw;max-height:96vh;display:flex;flex-direction:column;overflow:visible}.field-map-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;border-bottom:1px solid var(--border)}.field-map-breadcrumb{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.field-map-breadcrumb button{border:none;background:transparent;color:var(--accent);font-weight:700;font-size:1rem;cursor:pointer;padding:.2rem .3rem}.field-map-breadcrumb button:disabled{color:var(--text);cursor:default}.field-map-breadcrumb i{color:var(--text-muted);margin:0 .2rem;font-size:.75rem}.field-map-close{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);font-weight:800;font-size:1rem;cursor:pointer}.field-map-close:hover{background:var(--surface-3)}.field-map-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.1rem}.field-map-drilldown{flex:1;overflow-y:auto;padding:1.4rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;align-content:start}.field-map-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1rem;color:var(--text-muted)}.field-map-canvas-wrap{padding:0;overflow:visible;display:flex;align-items:center;justify-content:center}.field-map-canvas{position:relative;display:block;width:fit-content;max-width:98vw;max-height:96vh;border-radius:8px;overflow:hidden;box-shadow:0 24px 60px #0f172a59}.field-map-canvas-image{display:block;width:auto;height:auto;max-width:100%;max-height:100%;transform-origin:center center;pointer-events:none}.field-map-region{position:absolute;border:3px solid var(--off);border-radius:4px;pointer-events:none}.field-map-region.is-normal{border-color:var(--ok)}.field-map-region.is-caution{border-color:var(--warn)}.field-map-region.is-danger{border-color:var(--danger)}.field-map-region.is-offline{border-color:var(--off)}.field-map-device{position:absolute;transform:translate(-50%,-50%);width:2.6rem;height:2.6rem;border-radius:50%;border:3px solid var(--off);background:var(--surface);color:var(--off);display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;padding:0;box-shadow:0 4px 10px #00000026}.field-map-device.is-normal{border-color:var(--ok);color:var(--ok)}.field-map-device.is-caution{border-color:var(--warn);color:var(--warn)}.field-map-device.is-danger{border-color:var(--danger);color:var(--danger)}.field-map-device.is-offline{border-color:var(--off);color:var(--off)}.field-map-foot{padding:.6rem 1.4rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.8rem;text-align:right}.field-device-popover-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1300}.field-device-popover{position:relative;background:var(--surface);border-radius:12px;box-shadow:0 12px 40px #00000040;padding:1.4rem;width:min(320px,90vw);display:flex;flex-direction:column;gap:.5rem}.field-device-popover h3{margin:0;font-size:1.2rem;color:var(--text)}.field-device-popover p{margin:0;color:var(--text-soft)}.field-device-popover-close{position:absolute;top:.6rem;right:.6rem;border:none;background:transparent;color:var(--text-muted);font-size:1.1rem;cursor:pointer}.field-device-group-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0;max-height:260px;overflow:auto}.field-device-group-list button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 6px;border:none;background:transparent;text-align:left;font-weight:700;font-size:.95rem;cursor:pointer;border-radius:8px}.field-device-group-list button:hover{background:#f8fafc}@media(max-width:720px){.field-dashboard-head{flex-direction:column;align-items:flex-start}.field-tile-grid{grid-template-columns:1fr}}.field-map-hint{display:inline-flex;align-items:center;gap:6px;color:var(--text-soft);font-size:13px;font-weight:700}.field-map-device-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:3px;padding:0;border:none;background:none;cursor:pointer}.field-map-pin-icon{width:2.6rem;height:2.6rem;border-radius:50%;border:3px solid var(--off);background:var(--surface);color:var(--off);display:flex;align-items:center;justify-content:center;font-size:1.1rem;box-shadow:0 2px 8px #0f172a2e}.field-map-pin-status{padding:1px 8px;border-radius:999px;border:2px solid var(--off);background:var(--surface);color:var(--off);font-size:12px;font-weight:900;white-space:nowrap;box-shadow:0 2px 6px #0f172a26}.field-map-device-pin.is-normal .field-map-pin-icon,.field-map-device-pin.is-normal .field-map-pin-status{border-color:var(--ok);color:var(--ok)}.field-map-device-pin.is-caution .field-map-pin-icon,.field-map-device-pin.is-caution .field-map-pin-status{border-color:var(--warn);color:var(--warn-ink, var(--warn))}.field-map-device-pin.is-danger .field-map-pin-icon,.field-map-device-pin.is-danger .field-map-pin-status{border-color:var(--danger);color:var(--danger-ink, var(--danger))}.field-map-device-pin.is-danger .field-map-pin-status{background:var(--danger);color:#fff}.field-map-device-pin:hover .field-map-pin-icon{transform:scale(1.08)}.chart-gap{fill:var(--surface-muted, rgba(120, 128, 140, .14));stroke:none;pointer-events:none}.metric-peak{stroke-width:2;stroke-linecap:round;opacity:.45;pointer-events:none}.metric-peak.metric-temperature{stroke:var(--series-temp)}.metric-peak.metric-humidity{stroke:var(--series-humidity)}.metric-peak.metric-co2{stroke:var(--series-co2)}.setup{max-width:900px;margin:0 auto;padding:24px 16px;display:grid;gap:16px}.setup-wizard{max-width:760px}.setup-head h1{margin:0 0 4px}.setup-head p{margin:0;color:var(--text-muted)}.setup-eyebrow{margin:0 0 6px!important;color:var(--accent)!important;font-size:12px!important;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.setup-progress{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.setup-progress li{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;min-width:0;color:var(--text-muted);font-size:13px;font-weight:800;word-break:keep-all}.setup-progress li:after{content:"";height:2px;margin-left:38px;background:var(--border);grid-column:1 / -1}.setup-progress li:last-child:after{display:none}.setup-progress li.is-done,.setup-progress li.is-current{color:var(--accent)}.setup-progress li.is-done:after{background:var(--accent-soft)}.setup-progress-no{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text-muted)}.setup-progress li.is-done .setup-progress-no,.setup-progress li.is-current .setup-progress-no{border-color:var(--accent);background:var(--accent);color:#fff}.setup-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:18px;display:grid;gap:12px}.setup-card h2{margin:0;font-size:17px}.setup-card p{margin:0;color:var(--text-muted);font-size:14px;word-break:keep-all}.setup-wizard-panel{min-height:360px;align-content:start}.setup-panel-heading{display:flex;align-items:flex-start;gap:12px}.setup-panel-heading h2{margin:0 0 4px;font-size:20px}.setup-panel-heading p{margin:0}.setup-panel-number{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--surface-3);color:var(--accent);font-weight:900}.setup-wizard-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:8px}.setup-card button.is-secondary{background:var(--surface-3);color:var(--accent)}.setup-zone-summary{display:flex;align-items:baseline;gap:10px;padding:18px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-muted)}.setup-zone-summary strong{font-size:32px;line-height:1;color:var(--accent)}.setup-zone-summary span{font-size:14px;font-weight:800}.setup-device-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.setup-device-summary strong{font-size:24px;color:var(--accent)}.setup-device-summary span{padding:5px 9px;border-radius:999px;background:var(--surface-3);color:var(--text-soft);font-size:12px;font-weight:800}.setup-field{display:grid;gap:6px}.setup-field>span{font-weight:800;font-size:14px}.setup-field input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit}.setup-field small{color:var(--text-muted);font-size:13px;word-break:keep-all}.setup-card button{justify-self:start;border:0;border-radius:var(--radius-sm);padding:10px 18px;cursor:pointer;background:var(--ok);color:#fff;font:inherit;font-weight:800}.setup-card button:disabled{background:var(--border);color:var(--text-muted);cursor:default}.setup-ok{color:var(--accent);font-weight:800}.setup-error{margin:0;padding:10px 12px;border-left:4px solid var(--danger);background:var(--danger-soft);color:var(--danger-ink);font-weight:700}.setup-note{color:var(--text-muted);font-size:13px}.setup-devices{list-style:none;margin:0;padding:0;display:grid;gap:6px}.setup-devices li{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-3);font-size:14px}.setup-devices li>span{min-width:0}.setup-devices code{min-width:0;color:var(--text-soft);font-size:13px;overflow-wrap:anywhere;word-break:break-word}.setup-devices em{margin-left:auto;font-style:normal;color:var(--text-muted);font-size:12px;font-weight:800}.setup-devices .is-warn{color:var(--warn-ink);font-size:12px}.setup-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}.setup-steps li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 4px;border-bottom:1px solid #eef2ef}.setup-step-no{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef3ea;color:#6f7771;font-weight:900;font-size:13px}.setup-steps li.is-success .setup-step-no{background:var(--ok);color:#1a1a1a}.setup-steps li.is-failed .setup-step-no{background:var(--danger);color:#1a1a1a}.setup-steps li.is-unverified .setup-step-no{background:var(--warn);color:#1a1a1a}.setup-steps strong{display:block;font-size:15px}.setup-steps small{display:block;color:#6f7771;font-size:13px}.setup-step-state{font-size:13px;font-weight:800;color:#6f7771}.setup-steps li.is-success .setup-step-state{color:var(--accent)}.setup-steps li.is-failed .setup-step-state{color:var(--danger-ink)}.setup-steps li.is-unverified .setup-step-state{color:var(--warn-ink)}.setup-steps li.is-running .setup-step-no{border:3px solid var(--accent);border-top-color:transparent;animation:setup-spin .9s linear infinite}.setup-steps li.is-running .setup-step-state{color:var(--accent)}.setup-step-details{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}.setup-step-details li{display:flex;align-items:flex-start;gap:6px;padding:0;border:0;color:var(--danger-ink);font-size:13px;line-height:1.45}.setup-step-details li b{flex:0 0 auto;font-size:12px}.setup-step-details li span{min-width:0;overflow-wrap:anywhere;word-break:keep-all}.setup-steps li.is-unverified .setup-step-details li{color:var(--warn-ink)}@keyframes setup-spin{to{transform:rotate(360deg)}}@media(max-width:640px){.setup{padding:18px 12px}.setup-progress{gap:4px}.setup-progress li{grid-template-columns:26px;justify-items:center;font-size:11px;text-align:center}.setup-progress li:after{margin-left:0}.setup-progress-no{width:26px;height:26px}.setup-panel-heading h2{font-size:18px}.setup-wizard-actions{flex-wrap:wrap}.setup-wizard-actions button{flex:1 1 140px}.setup-devices li{align-items:flex-start;flex-wrap:wrap}.setup-devices em{margin-left:0}}.setup-barns{display:grid;gap:10px}.setup-barn{display:grid;grid-template-columns:minmax(0,1.4fr) 90px minmax(0,1.6fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #e6ece7;border-radius:10px;background:#f7faf6}.setup-field-narrow input{width:100%}.setup-field>span small{font-weight:600;color:#8b958e}.setup-card button.is-secondary{background:#fff;color:#1f6b4a;border:1px solid #cfe0d5}.setup-card button.is-quiet{background:transparent;color:#8b958e;padding:8px 10px}.setup-placement{display:grid;gap:10px;padding-top:6px;border-top:1px solid #eef2ef}.setup-placement select{font:inherit;padding:7px 9px;border:1px solid #dde6de;border-radius:7px;background:#fff;min-width:180px}@media(max-width:780px){.setup-barn{grid-template-columns:minmax(0,1fr)}.setup-placement select{min-width:0;width:100%}.setup-devices li{flex-wrap:wrap}}.account-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}@media(max-width:768px){.account-row-actions{justify-content:flex-start}}.manage{min-height:100dvh;background:var(--bg);display:flex;flex-direction:column}.manage{--manage-pad:32px}.manage-head{--manage-pad:32px;display:flex;align-items:center;gap:16px;padding:6px var(--manage-pad);background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:5}.manage-back{display:inline-flex;align-items:center;gap:6px;flex:none;border:0;background:transparent;border-radius:8px;cursor:pointer;font:inherit;font-size:17px;font-weight:800;color:var(--text);padding:10px 16px}.manage-back:hover{background:#eef3ea}.manage-back:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.manage-back-icon{transform:rotate(90deg);width:1em;height:1em}.manage-title{min-width:0;flex:1}.manage-title h1{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.manage-title p{margin:2px 0 0;font-size:14px;color:#6f7771}.manage-body{flex:1;min-height:0;padding:var(--manage-pad);width:100%}.manage-resource-tabs{display:flex;gap:8px;margin-bottom:16px;border-bottom:1px solid var(--border)}.manage-resource-tab{padding:11px 16px;border-bottom:3px solid transparent;color:var(--text-soft);font-weight:700;text-decoration:none}.manage-resource-tab.is-active{border-bottom-color:var(--accent);color:var(--text)}.worker-role-select{min-width:110px}.worker-manager-actions{padding:16px 20px;border-top:1px solid var(--border)}@media(max-width:640px){.manage-head{flex-wrap:wrap;gap:10px}.manage-title{order:3;flex-basis:100%}.manage-title h1{font-size:18px}}.manage.is-operator .manage-title p{font-size:17px;line-height:1.45}.manage.is-operator .manage-body{font-size:17px}.manage.is-operator .manage-body .page-title{font-size:24px}.manage.is-operator .manage-body .panel-head{font-size:var(--manage-content-font, 19px)}.manage.is-operator .manage-body .label,.manage.is-operator .manage-body th,.manage.is-operator .manage-body td,.manage.is-operator .manage-body .input,.manage.is-operator .manage-body select,.manage.is-operator .manage-body textarea{font-size:var(--manage-content-font, 17px)}.manage.is-operator .manage-body .button{font-size:var(--manage-content-font, 17px);padding:10px 18px}.manage.is-operator .manage-body .app-muted,.manage.is-operator .manage-body small{font-size:var(--manage-content-font, 15px);line-height:1.5}.manage.is-operator .manage-body .notification{font-size:var(--manage-content-font, 17px);line-height:1.5}.manage.is-operator .manage-body .tag{font-size:15px;padding:4px 9px}.manage.is-operator .manage-body .switch-text{font-size:16px}.manage.is-operator .manage-body .switch-field>span{font-size:16px}.manage.is-operator .manage-body .settings-help{font-size:15px;line-height:1.5}.manage.is-operator .manage-body p,.manage.is-operator .manage-body li{font-size:var(--manage-content-font, 16px);line-height:1.5}.manage.is-operator .manage-body strong{font-size:inherit}.toggle>input[type=checkbox],.check-row>input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;flex:none;width:62px;height:30px;margin:0;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);cursor:pointer;transition:background .18s ease,border-color .18s ease}.toggle>input[type=checkbox]:before,.check-row>input[type=checkbox]:before{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000047;transition:transform .18s ease}.toggle>input[type=checkbox]:after,.check-row>input[type=checkbox]:after{content:"OFF";position:absolute;top:50%;right:9px;transform:translateY(-50%);font-size:11px;font-weight:900;letter-spacing:.02em;color:var(--text-muted)}.toggle>input[type=checkbox]:checked,.check-row>input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.toggle>input[type=checkbox]:checked:before,.check-row>input[type=checkbox]:checked:before{transform:translate(32px)}.toggle>input[type=checkbox]:checked:after,.check-row>input[type=checkbox]:checked:after{content:"ON";right:auto;left:9px;color:#fff}.beacon-access-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap;margin-bottom:20px}.beacon-access-head p{margin:6px 0 0;font-size:15px;line-height:1.6;max-width:56ch}.beacon-access-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.beacon-access-search{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface, white)}.beacon-access-search i{color:var(--muted)}.beacon-access-search input{border:0;outline:0;padding:10px 0;min-width:180px;font:inherit;background:transparent;color:inherit}.beacon-access-date{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.beacon-access-date input{font:inherit;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface, white);color:var(--text)}.beacon-access-workspace{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:start}.beacon-access-summary,.beacon-access-people,.beacon-access-journey,.beacon-access-empty{padding:clamp(16px,1.4vw,24px);border:1px solid var(--line);border-radius:12px;background:var(--surface, white);min-width:0;overflow-wrap:anywhere}.beacon-access-summary{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.beacon-access-people{grid-column:span 2}.beacon-access-journey{grid-column:span 4}.beacon-access-empty{grid-column:1 / -1;text-align:center;padding:clamp(28px,4vw,56px)}.beacon-access-empty p{margin:0 0 8px}.beacon-access-workspace h2{font-size:clamp(19px,1.15rem + .2vw,24px);margin:0 0 6px}.beacon-access-workspace h2 small{font-size:15px;font-weight:400;color:var(--muted);margin-left:8px}.beacon-access-summary>div{--metric-color: var(--blue);display:grid;align-content:start;gap:8px;padding:14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--metric-color) 25%,var(--line));background:color-mix(in srgb,var(--metric-color) 6%,var(--surface, white))}.beacon-access-summary .is-inside{--metric-color: var(--ok)}.beacon-access-summary .is-exited,.beacon-access-summary .is-zones{--metric-color: var(--muted)}.beacon-access-summary strong{font-size:clamp(22px,1.6vw,30px);line-height:1.1}.beacon-access-summary strong small{font-size:15px;font-weight:500;margin-left:3px;color:var(--muted)}.beacon-access-summary span,.beacon-access-summary>div>small{font-size:14px;line-height:1.5;color:var(--muted)}.beacon-access-people ul{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.beacon-person{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:10px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface, white);font:inherit;color:inherit;text-align:left;cursor:pointer}.beacon-person:hover{background:color-mix(in srgb,var(--blue) 5%,var(--surface, white))}.beacon-person.is-selected{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--surface, white))}.beacon-person>.beacon-person-dot{grid-area:1 / 1 / 3 / 2;align-self:center;width:9px;height:9px;border-radius:50%;background:var(--muted)}.beacon-person>.beacon-person-dot.is-inside{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.beacon-person>b{grid-area:1 / 2 / 2 / 3;font-size:15px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beacon-person>em{grid-area:2 / 2 / 3 / 3;font-style:normal;font-size:13px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.beacon-person>.beacon-person-zones{grid-area:1 / 3 / 3 / 4;align-self:center;font-size:13px;color:var(--muted);white-space:nowrap}.beacon-access-person-state{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0 18px}.beacon-access-person-state>div{display:grid;gap:4px;padding:12px 14px;border-radius:8px;background:color-mix(in srgb,var(--muted) 7%,var(--surface, white))}.beacon-access-person-state span{font-size:13px;color:var(--muted)}.beacon-access-person-state strong{font-size:clamp(17px,1.2vw,22px)}.beacon-access-person-state small{font-size:13px;color:var(--muted)}.beacon-journey{list-style:none;margin:0;padding:0;display:grid;gap:10px}.beacon-journey li{--step-color: var(--muted);display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--step-color);border-radius:9px;background:var(--surface, white)}.beacon-journey li.is-caution{--step-color: var(--warn);background:color-mix(in srgb,var(--warn) 5%,var(--surface, white))}.beacon-journey li.is-danger{--step-color: var(--danger);background:color-mix(in srgb,var(--danger) 6%,var(--surface, white))}.beacon-step-number{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:color-mix(in srgb,var(--step-color) 16%,var(--surface, white));color:var(--step-color);font-size:13px;font-weight:700}.beacon-step-body{min-width:0;display:grid;gap:7px}.beacon-step-body h3{margin:0;font-size:16px}.beacon-step-time{margin:0;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted)}.beacon-step-time time{font-variant-numeric:tabular-nums}.beacon-step-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:22px}.beacon-step-bar>span{display:block;min-width:0}.beacon-step-bar i{display:block;height:8px;border-radius:999px;background:color-mix(in srgb,var(--step-color) 55%,var(--surface, white))}.beacon-step-bar b{font-size:14px;font-weight:700;white-space:nowrap}.beacon-step-meta{margin:0;display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13px;color:var(--muted)}.beacon-step-state{padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--step-color) 14%,var(--surface, white));color:var(--step-color);font-weight:600}@media(max-width:1100px){.beacon-access-workspace{grid-template-columns:minmax(0,1fr)}.beacon-access-people,.beacon-access-journey{grid-column:1 / -1}.beacon-access-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}:root{--f-bg:#FFFFFF;--f-surface:#FFFFFF;--f-sunken:#EEF3EA;--f-line:#E3DED0;--f-rule:#D6CCB8;--f-ink:#1A1A1A;--f-ink-2:#3F4A43;--f-ink-3:#6F7771;--f-ok:oklch(.64 .19 138.487);--f-ok-ink:#1A1A1A;--f-warn:oklch(.801629 .165137 76.001);--f-warn-ink:#1A1A1A;--f-alarm:oklch(.673245 .214344 24.465);--f-alarm-ink:#1A1A1A;--f-warn-text:#8A5410;--f-alarm-text:#A03227;--f-offline:#7D847E;--f-fault:#7D847E;--f-blue:oklch(.598657 .219315 259.04);--f-info:var(--f-blue);--f-focus:var(--f-info);--f-trend-median:color-mix(in srgb,var(--series-temp) 68%,#1A1A1A);--f-radius-cell:8px;--f-space-1:4px;--f-space-2:8px;--f-space-3:12px;--f-space-4:16px;--f-space-5:20px;--f-control-text:14px;--f-lift:0 6px 14px -10px rgba(30,42,36,.38);--f-board-top:#FFFFFF;--f-board-bottom:#FFFFFF;--f-gap:10px;--f-font:"Pretendard","Pretendard Variable","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;--f-floor-name:15px;--f-floor-value:18px;--f-floor-label:13px}.field-root{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--f-bg);background-image:linear-gradient(180deg,var(--f-board-top),var(--f-board-bottom));color:var(--f-ink);font-family:var(--f-font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}.field-root.is-font-large{font-size:112%}.field-root.is-stale .field-main{filter:grayscale(1);opacity:.42;pointer-events:none}.field-tabs{display:flex;align-items:stretch;gap:2px;padding:0 12px;flex:none;background:var(--f-bg);border-bottom:2px solid var(--f-rule)}.field-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;padding:11px 20px 10px;margin-bottom:-2px;font:inherit;font-size:clamp(20px,1vw,22px);font-weight:800;color:var(--f-ink-3);cursor:pointer;letter-spacing:-.01em}.field-tabs button:hover{color:var(--f-ink-2)}.field-tabs button.is-active{color:var(--f-ink);font-weight:900;border-bottom-color:var(--f-ink)}.field-tabs button:focus-visible{outline:2px solid var(--f-focus);outline-offset:-2px}.field-tabs .field-add-tab{padding:11px 14px;font-size:20px;line-height:1}.field-tabs>span{margin-left:auto;align-self:center;font-size:clamp(20px,1.15vw,34px);font-weight:750;color:var(--f-ink-3);font-variant-numeric:tabular-nums}.field-tabs>a{align-self:center;margin-left:14px;display:inline-flex;align-items:center;gap:7px;color:var(--f-ink);padding:8px 6px;font-size:clamp(20px,1.15vw,34px);font-weight:900;text-decoration:none}.field-tabs>a:hover{color:var(--f-ink)}.field-root.is-font-large .field-widget header strong{font-size:clamp(22px,1.06vw,25px)}.field-root.is-font-large .field-widget-main>b{font-size:clamp(27px,2.7vw,52px)}.field-root.is-font-large .field-widget-main>span,.field-root.is-font-large .field-widget-note{font-size:clamp(22px,1vw,25px)}.field-stale{background:repeating-linear-gradient(135deg,var(--f-ink) 0 14px,var(--f-ink-2) 14px 28px);color:#fff;text-align:center;padding:12px;font-size:clamp(20px,1.4vw,27px);font-weight:900}.field-main{flex:1;min-height:0;padding:var(--f-gap) 12px 12px;display:flex}.field-barns{flex:1;min-height:0;display:flex;flex-direction:column;gap:9px}.field-barn,.field-barn.is-collapsed{flex:1 1 0}.field-barn{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr)}.field-barn-head{width:100%;border:0;background:transparent;padding:0 clamp(14px,1.6vw,30px) 4px 2px;margin-bottom:5px;display:flex;align-items:baseline;gap:14px;text-align:left;font:inherit;cursor:default;color:var(--f-ink)}.field-barn-head>div:first-child{flex:1;display:flex;align-items:baseline;gap:10px;min-width:0}.field-barn-head strong{font-size:clamp(26px,1.8vw,42px);font-weight:900;letter-spacing:-.03em}.field-barn.is-caution .field-barn-head strong{color:var(--f-warn-text)}.field-barn.is-danger .field-barn-head strong{color:var(--f-alarm-text)}.field-barn-alerts{display:flex;align-items:baseline;gap:18px;flex:1;justify-content:center;min-width:0}.field-barn-alerts b{font-size:clamp(20px,1.25vw,28px);font-weight:900;white-space:nowrap}.field-barn-alerts b.is-normal{color:var(--f-ok)}.field-barn-alerts b.is-danger{color:var(--f-alarm-text)}.field-barn-alerts b.is-caution{color:var(--f-warn-text)}.field-barn-alerts b.is-offline{color:var(--f-offline)}.field-barn-action{flex:1;text-align:right;border:0;padding:0;background:transparent;cursor:pointer;font:inherit;font-style:normal;font-size:clamp(20px,1.1vw,24px);font-weight:800;color:var(--f-ink);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.field-barn-action:focus-visible{outline:2px solid var(--f-focus);outline-offset:3px;border-radius:4px}.field-place-grid{min-height:0;display:flex;flex-wrap:wrap;gap:1px;align-content:stretch;background:var(--f-bg)}.field-place{box-shadow:inset 0 0 0 1px var(--f-line),var(--f-lift)}.field-place{flex:1 1 230px;max-width:clamp(360px,23vw,760px);max-height:min(40vh,440px);container-type:inline-size;position:relative;min-width:0;min-height:0;overflow:hidden;border:0;background:var(--f-surface);border-radius:9px;padding:9px 11px 8px;text-align:left;cursor:pointer;display:grid;grid-template-rows:auto minmax(0,1fr);grid-auto-rows:auto;gap:6px;color:var(--f-ink)}.field-place>*{min-width:0}.field-place>.field-place-body{align-self:stretch}.field-place:focus-visible{outline:2px solid var(--f-focus);outline-offset:-2px;z-index:2}.field-place{--state:var(--f-ok);--state-ink:var(--f-ok-ink);background:var(--f-surface);color:var(--f-ink)}.field-place.is-caution{--state:var(--f-warn);--state-ink:var(--f-warn-ink)}.field-place.is-danger{--state:var(--f-alarm);--state-ink:var(--f-alarm-ink)}.field-place.is-unknown{--state:var(--f-ink-3);--state-ink:var(--f-surface)}.field-place.is-offline{--state:var(--f-offline);--state-ink:var(--f-ink)}.field-place.is-fault{--state:var(--f-fault);--state-ink:var(--f-surface);background:repeating-linear-gradient(135deg,var(--f-surface) 0 10px,color-mix(in srgb,var(--f-fault) 8%,var(--f-surface)) 10px 20px)}.field-fault-icon{position:absolute;right:8px;bottom:7px;font-size:17px;color:var(--f-fault)}.field-place{padding:0}.field-place>*:not(.field-place-head):not(.field-place-state){margin-left:10px;margin-right:10px}.field-place{padding-bottom:8px}.field-place-head{background:var(--state);color:var(--state-ink);padding:7px 10px 8px;margin:0 0 2px}.field-place.is-unknown .field-place-head,.field-place.is-offline .field-place-head{background:var(--state);color:var(--state-ink)}.field-place-state{display:none}.field-place-flag{flex:none;background:var(--state-ink);color:var(--state);padding:0 6px 1px;line-height:1.35;font-size:clamp(20px,9cqh,34px);font-weight:900;letter-spacing:.03em}.field-place.is-normal .field-place-head{background:var(--f-ok);color:var(--f-ok-ink);box-shadow:none}.field-place.is-normal .field-place-flag{background:var(--f-ok);color:var(--f-ok-ink)}.field-root.is-loud .field-place.is-normal .field-place-head{background:var(--state);color:var(--state-ink);box-shadow:none}.field-root.is-loud .field-place.is-normal .field-place-flag{background:var(--state-ink);color:var(--state)}.field-place-10m{margin-left:auto}.field-place-head{display:flex;align-items:baseline;justify-content:space-between;gap:7px;white-space:nowrap;min-width:0}.field-place-head strong{font-size:clamp(20px,12cqh,48px);font-weight:900;letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis}.field-place-10m{font-size:clamp(20px,11cqh,34px);font-weight:800;color:inherit;opacity:.85;flex:none}.field-place-history-note{font-size:clamp(14px,7cqh,20px);font-weight:800;color:inherit;opacity:.78;white-space:nowrap;flex:none}.field-place-body{grid-row:2;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;overflow:hidden}.field-place-trend{align-self:start;display:grid;gap:0;justify-items:end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2}.field-place-trend>span{display:flex;align-items:baseline;gap:.45em}.field-place-trend i{font-style:normal;font-size:clamp(20px,9.5cqh,32px);font-weight:750;color:var(--f-ink-3)}.field-place-trend b{font-size:clamp(20px,11.5cqh,40px);font-weight:850;color:var(--f-ink-2)}.field-place-environment{align-self:start;display:grid;gap:0;justify-items:end;text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2;color:var(--f-ink-2);font-size:clamp(18px,8.5cqh,30px);font-weight:800}.field-place-environment>span{display:block}.field-place-readout{display:flex;flex-direction:column;justify-content:flex-start;gap:2px;min-width:0;min-height:0}.field-place-readout>.field-place-why{flex:0 1 auto;min-height:0;align-self:stretch}.field-place-main{display:flex;align-items:baseline;gap:6px 10px;flex-wrap:wrap;min-width:0}.field-place-main>b{flex:none;font-size:clamp(28px,22cqh,84px);font-weight:900;line-height:.92;letter-spacing:-.05em}.field-place-main>span{font-size:clamp(20px,11cqh,40px);font-weight:800;color:var(--f-ink-2);flex:none;line-height:1.15}.field-place-main>b.is-none{font-size:clamp(20px,12cqh,44px);color:var(--f-ink-3);letter-spacing:-.01em}.field-place.is-caution .field-place-main>b{color:var(--f-warn-text)}.field-place.is-danger .field-place-main>b{color:var(--f-alarm-text)}.field-place-delta{font-style:normal;font-size:clamp(20px,12cqh,44px);font-weight:900;white-space:nowrap;color:var(--f-ink-2);line-height:1.15}.field-place.is-caution .field-place-delta{color:var(--f-warn-text)}.field-place.is-danger .field-place-delta{color:var(--f-alarm-text)}@container (max-width: 300px){.field-place-trend,.field-place-environment,.field-place-10m{display:none}}@container (max-height: 138px){.field-place-trend,.field-place-environment{display:none}}@container (max-width: 430px){.field-place-main{display:grid;justify-items:start;gap:2px}.field-place-main>b,.field-place-main>span{align-self:baseline}.field-place-main>b{grid-row:1;grid-column:1}.field-place-main>span{grid-row:1;grid-column:2;align-self:end;padding-bottom:.12em}.field-place-delta{grid-row:2;grid-column:1/-1}}@container (max-height: 145px){.field-place-delta{display:none}}.field-place-why{margin:0;font-size:clamp(20px,11.5cqh,40px);font-weight:800;line-height:1.25;color:var(--f-ink-2);display:flex;flex-direction:column;gap:.1em;min-width:0;overflow:hidden}.field-place-why>span{min-width:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-place.is-caution .field-place-why{color:var(--f-warn-text)}.field-place.is-danger .field-place-why{color:var(--f-alarm-text)}.field-barn.is-density-tight .field-place-main>span:not(.field-place-count),.field-barn.is-density-lean .field-place-main>span:not(.field-place-count),.field-barn.is-density-tight .field-place{gap:3px;padding-bottom:6px}.field-barn.is-density-tight .field-place-head{padding:5px 9px 6px}.field-barn.is-density-lean .field-place-10m,.field-barn.is-density-bare .field-place-10m{display:none}.field-barn.is-density-lean .field-place{gap:2px;padding-bottom:4px}.field-barn.is-density-lean .field-place-head{padding:4px 8px 5px}.field-barn.is-density-lean .field-place-head strong{font-size:clamp(20px,15cqh,40px)}.field-barn.is-density-bare .field-place{gap:0;padding-bottom:3px}.field-barn.is-density-bare .field-place{grid-template-rows:auto minmax(0,1fr)}.field-barn.is-density-bare .field-place-head{padding:1px 7px 2px;margin-bottom:0}.field-barn.is-density-bare .field-place-head strong{font-size:clamp(20px,15cqh,36px)}.field-barn.is-density-bare .field-place-why{font-size:clamp(20px,14cqh,34px)}.field-barn.is-density-bare .field-place-head strong{line-height:1}.field-barn.is-density-bare .field-place-main{gap:4px;flex-wrap:nowrap}.field-barn.is-density-bare .field-place-main>span{font-size:18px;line-height:1}.field-barn.is-density-bare .field-place-main>b{font-size:28px;line-height:1}.field-barn.is-density-bare .field-place-readout{gap:0}.field-place-nosignal{display:grid;gap:3px;align-content:start}.field-place-nosignal b{font-weight:900;line-height:1.05}.field-place-nosignal span{font-weight:750;color:var(--f-ink-3)}.field-optionals{gap:10px;justify-content:flex-start;flex:none;font-size:clamp(20px,7.5cqh,32px);font-weight:800;color:var(--f-ink-3)}.field-optionals span{display:inline-flex;align-items:center;gap:4px}.field-optionals .is-off{color:var(--f-ink-2);text-decoration:line-through;text-decoration-thickness:1px}.field-barn.is-collapsed{grid-template-rows:minmax(0,1fr)}.field-barn-rollup{width:100%;height:100%;min-height:0;border:0;background:var(--f-surface);padding:clamp(4px,.8vh,12px) clamp(14px,1.6vw,30px);text-align:left;font:inherit;cursor:default;color:var(--f-ink);display:grid;grid-template-rows:auto minmax(0,1fr);align-content:center;gap:clamp(5px,1.2vh,24px);border-left:10px solid var(--f-ink-3);overflow:hidden;container-type:size;container-name:rollup}.field-barn-rollup.is-normal{border-left-color:var(--f-ok)}.field-barn-rollup.is-caution{border-left-color:var(--f-warn)}.field-barn-rollup.is-danger{border-left-color:var(--f-alarm)}.field-barn-rollup.is-offline{border-left-color:var(--f-offline)}.field-barn-rollup:focus-within{outline:2px solid var(--f-focus);outline-offset:-3px}.field-barn-rollup.is-locked{cursor:default}.field-rollup-top{display:flex;align-items:center;gap:14px;min-width:0}.field-rollup-top-info{display:flex;align-items:center;gap:clamp(8px,.8vw,14px);min-width:0}.field-rollup-top strong{font-size:clamp(22px,16cqh,48px);font-weight:900;letter-spacing:-.03em;white-space:nowrap}.field-rollup-top-info>span{font-size:clamp(16px,9cqh,26px);font-weight:750;color:var(--f-ink-2);white-space:nowrap}.field-rollup-toggle{margin-left:auto;flex:none;border:0;background:transparent;padding:2px 4px;cursor:pointer;font:inherit;font-size:clamp(16px,9cqh,26px);font-weight:800;color:var(--f-ink);white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.field-rollup-toggle:disabled{cursor:default;text-decoration:none;color:var(--f-ink-3)}.field-rollup-toggle:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px;border-radius:6px}.field-rollup-switch{display:inline-flex;align-items:center;gap:3px;flex:none}.field-rollup-switch>button{border:1px solid var(--f-line);background:var(--f-surface);color:var(--f-ink-2);border-radius:8px;cursor:pointer;font:inherit;line-height:1;padding:0;width:clamp(24px,10cqh,32px);height:clamp(24px,10cqh,32px);font-size:clamp(15px,7cqh,22px);font-weight:900;display:grid;place-items:center}.field-rollup-switch>button:hover{background:var(--f-sunken);color:var(--f-ink)}.field-rollup-switch>button.field-rollup-switch-play{margin-left:3px;font-size:clamp(12px,5.5cqh,17px)}.field-rollup-switch>button.field-rollup-switch-play.is-stopped{border-color:var(--f-ok);background:var(--f-ok);color:var(--f-ok-ink)}.field-rollup-switch>button.field-rollup-switch-play.is-stopped:hover{background:var(--f-ok);color:var(--f-ok-ink)}.field-rollup-switch>button:focus-visible{outline:2px solid var(--f-focus);outline-offset:1px}.field-rollup-switch>b{min-width:2.4em;text-align:center;font-size:clamp(13px,6cqh,18px);font-weight:900;color:var(--f-ink-3);font-variant-numeric:tabular-nums}.field-rollup-cards{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,.8vw,16px);align-items:stretch}.field-rollup-card{min-width:0;min-height:0;display:flex;flex-direction:column;gap:clamp(4px,.9cqh,10px);padding:clamp(8px,1.4cqh,16px) clamp(10px,1vw,18px);border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface)}.field-rollup-card-head{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap}.field-rollup-card-head>strong{font-size:clamp(16px,9cqh,26px);font-weight:900;color:var(--f-ink);white-space:nowrap}.field-rollup-sub{font-size:clamp(13px,6.5cqh,19px);font-weight:800;color:var(--f-ink-3);white-space:nowrap}.field-rollup-pill{margin-left:auto;padding:3px 10px;border-radius:999px;white-space:nowrap;font-size:clamp(13px,6.5cqh,19px);font-weight:900;background:var(--f-sunken);color:var(--f-ink-2)}.field-rollup-pill.is-normal{background:color-mix(in srgb,var(--f-ok) 14%,transparent);color:var(--f-ok)}.field-rollup-pill.is-caution{background:color-mix(in srgb,var(--f-warn) 18%,transparent);color:var(--f-warn-text)}.field-rollup-pill.is-danger{background:color-mix(in srgb,var(--f-alarm) 15%,transparent);color:var(--f-alarm-text)}.field-rollup-pill.is-fault,.field-rollup-pill.is-offline,.field-rollup-pill.is-unknown{background:var(--f-sunken);color:var(--f-ink-2)}.field-rollup-metric{display:flex;flex-direction:column;gap:2px;min-width:0;margin-top:auto}.field-rollup-metric>small{display:flex;align-items:baseline;gap:.45em;min-width:0;flex-wrap:nowrap;white-space:nowrap;font-size:clamp(13px,6.5cqh,19px);font-weight:800;color:var(--f-ink-2)}.field-rollup-metric>small>em{font-style:normal;font-weight:800;color:var(--f-ink-3);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-rollup-metric-row>b{display:flex;align-items:baseline;gap:.12em;font-size:clamp(28px,20cqh,60px);font-weight:900;letter-spacing:-.03em;line-height:1.2;color:var(--f-ink);min-width:0;overflow:hidden;text-overflow:ellipsis}.field-rollup-metric-row>b>u{text-decoration:none;font-size:.45em;font-weight:900}.field-rollup-metric-row>b.is-text{font-size:clamp(18px,11cqh,30px);line-height:1.25;letter-spacing:0}.field-rollup-metric-row>b.is-caution{color:var(--f-warn-text)}.field-rollup-metric-row>b.is-danger{color:var(--f-alarm-text)}.field-rollup-metric-row>b.is-offline,.field-rollup-metric-row>b.is-unknown,.field-rollup-metric-row>b.is-fault{color:var(--f-ink-3)}.field-rollup-metric-row{display:flex;align-items:flex-end;gap:clamp(6px,.6vw,14px);min-width:0;flex-wrap:nowrap}.field-rollup-compare{display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0;flex:none}.field-rollup-compare>small{font-size:clamp(12px,6cqh,18px);font-weight:800;color:var(--f-ink-3);white-space:nowrap}.field-rollup-compare>i{display:inline-flex;align-items:center;gap:3px;font-style:normal;font-size:clamp(15px,8cqh,24px);font-weight:900;white-space:nowrap}.field-rollup-compare>i>svg{width:1em;height:1em;stroke-width:3}.field-rollup-compare>i.is-up{color:var(--f-alarm-text)}.field-rollup-compare>i.is-down{color:var(--f-ok)}.field-rollup-compare>i.is-quiet{color:var(--f-ink-3);font-weight:800}.field-rollup-reasons{display:flex;flex-direction:column;gap:2px;min-width:0}.field-rollup-reasons>i{display:flex;align-items:baseline;gap:.4em;min-width:0;font-style:normal;font-size:clamp(12px,6cqh,18px);font-weight:800;color:var(--f-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-rollup-reasons>i>span{overflow:hidden;text-overflow:ellipsis;min-width:0}.field-rollup-reasons>i>b{flex:none;font-weight:900;color:var(--f-ink-3)}.field-rollup-reasons>i.is-caution{color:var(--f-warn-text)}.field-rollup-reasons>i.is-danger{color:var(--f-alarm-text)}.field-rollup-reasons>i.is-quiet{color:var(--f-ink-3);font-weight:750}.field-rollup-card-trend{gap:clamp(2px,.5cqh,8px)}.field-rollup-spark{flex:1;min-height:0;width:100%;display:block}.field-rollup-spark-area{fill:color-mix(in srgb,var(--f-ok) 14%,transparent);stroke:none}.field-rollup-spark-line{fill:none;stroke:var(--f-ok);stroke-width:2.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}.field-rollup-spark-line.is-muted{stroke:var(--f-ink-3);stroke-width:1.4;opacity:.45}.field-rollup-spark-dot{fill:var(--f-ok)}.field-rollup-spark.is-caution .field-rollup-spark-area{fill:color-mix(in srgb,var(--f-warn) 18%,transparent)}.field-rollup-spark.is-caution .field-rollup-spark-line,.field-rollup-spark.is-caution .field-rollup-spark-dot{stroke:var(--f-warn);fill:var(--f-warn)}.field-rollup-spark.is-caution .field-rollup-spark-line{fill:none}.field-rollup-spark.is-danger .field-rollup-spark-area{fill:color-mix(in srgb,var(--f-alarm) 16%,transparent)}.field-rollup-spark.is-danger .field-rollup-spark-line,.field-rollup-spark.is-danger .field-rollup-spark-dot{stroke:var(--f-alarm);fill:var(--f-alarm)}.field-rollup-spark.is-danger .field-rollup-spark-line{fill:none}.field-rollup-spark.is-offline .field-rollup-spark-area,.field-rollup-spark.is-unknown .field-rollup-spark-area,.field-rollup-spark.is-fault .field-rollup-spark-area{fill:var(--f-sunken)}.field-rollup-spark.is-offline .field-rollup-spark-line,.field-rollup-spark.is-unknown .field-rollup-spark-line,.field-rollup-spark.is-fault .field-rollup-spark-line{stroke:var(--f-ink-3)}.field-rollup-spark.is-offline .field-rollup-spark-dot,.field-rollup-spark.is-unknown .field-rollup-spark-dot,.field-rollup-spark.is-fault .field-rollup-spark-dot{fill:var(--f-ink-3)}.field-rollup-spark-gap{fill:var(--f-ink-3);opacity:.13}.field-rollup-spark-baseline{stroke:var(--f-ink-3);stroke-width:1.5;stroke-dasharray:5 4;vector-effect:non-scaling-stroke;opacity:.75}.field-rollup-spark-empty{flex:1;margin:0;display:grid;place-items:center;border-radius:10px;background:var(--f-sunken);font-size:clamp(13px,7cqh,20px);font-weight:800;color:var(--f-ink-3)}.field-rollup-spark-axis{display:flex;justify-content:space-between;gap:6px;min-width:0}.field-rollup-spark-axis>span{font-size:clamp(11px,5.5cqh,17px);font-weight:800;color:var(--f-ink-3);white-space:nowrap}.field-rollup-spark-axis>span:nth-child(2){overflow:hidden;text-overflow:ellipsis}.field-rollup-env{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,.6vw,12px);min-width:0;margin-top:auto}.field-rollup-env>i{display:flex;flex-direction:column;align-items:flex-start;gap:1px;font-style:normal;min-width:0}.field-rollup-env>i>svg{width:clamp(15px,8cqh,22px);height:clamp(15px,8cqh,22px);stroke-width:2.2;color:var(--f-ink-3)}.field-rollup-env>i>u{text-decoration:none;font-size:clamp(12px,6cqh,18px);font-weight:800;color:var(--f-ink-3);white-space:nowrap}.field-rollup-env>i>b{display:flex;align-items:baseline;gap:.08em;font-size:clamp(17px,min(10cqh,1.4vw),30px);font-weight:900;color:var(--f-ink);letter-spacing:-.02em;white-space:nowrap;min-width:0}.field-rollup-env>i>b>span{font-size:.5em;font-weight:900;color:var(--f-ink-2)}.field-rollup-note{font-size:clamp(11px,5.5cqh,17px);font-weight:750;color:var(--f-ink-3);line-height:1.35}.field-rollup-tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,.6vw,12px);min-width:0;min-height:0;margin-top:auto}.field-rollup-tally>i{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-style:normal;min-width:0}.field-rollup-tally>i>em{width:clamp(9px,4.5cqh,13px);height:clamp(9px,4.5cqh,13px);border-radius:50%;background:var(--f-ink-3)}.field-rollup-tally>i.is-normal>em{background:var(--f-ok)}.field-rollup-tally>i.is-caution>em{background:var(--f-warn)}.field-rollup-tally>i.is-danger>em{background:var(--f-alarm)}.field-rollup-tally>i.is-offline>em{background:var(--f-ink-3)}.field-rollup-tally>i>u{text-decoration:none;font-size:clamp(12px,6cqh,18px);font-weight:800;color:var(--f-ink-2);white-space:nowrap}.field-rollup-tally>i>b{display:flex;align-items:baseline;gap:.1em;font-size:clamp(19px,min(11cqh,1.9vw),32px);font-weight:900;color:var(--f-ink);line-height:1.15}.field-rollup-tally>i>b>span{font-size:.5em;font-weight:900;color:var(--f-ink-2)}.field-rollup-equip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(4px,.6vw,12px);min-width:0;margin-top:auto}.field-rollup-equip>i{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ico lbl" "val sta";align-items:center;gap:0 5px;font-style:normal;min-width:0}.field-rollup-equip>i>svg{grid-area:ico;width:clamp(14px,7cqh,20px);height:clamp(14px,7cqh,20px);stroke-width:2.2;color:var(--f-ink-3)}.field-rollup-equip>i>u{grid-area:lbl;text-decoration:none;font-size:clamp(12px,6cqh,18px);font-weight:800;color:var(--f-ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-rollup-equip>i>b{grid-area:val;font-size:clamp(17px,min(10cqh,1.8vw),28px);font-weight:900;color:var(--f-ink);line-height:1.1;white-space:nowrap}.field-rollup-equip>i>s{grid-area:sta;justify-self:end;text-decoration:none;font-size:clamp(12px,6cqh,18px);font-weight:900;white-space:nowrap;color:var(--f-ink-3)}.field-rollup-equip>i>s.is-normal{color:var(--f-ok)}.field-rollup-equip>i>s.is-caution{color:var(--f-warn-text)}.field-rollup-equip>i>s.is-offline{color:var(--f-alarm-text)}@container rollup (max-height: 215px){.field-rollup-card{padding:clamp(6px,1.1cqh,12px) clamp(8px,.8vw,14px)}.field-rollup-note{display:none}.field-rollup-spark-axis>span:nth-child(2){display:none}.field-rollup-metric-row>b{font-size:clamp(26px,18cqh,52px)}}@container rollup (max-height: 185px){.field-rollup-reasons{display:none}}@container rollup (max-height: 150px){.field-rollup-env>i>svg,.field-rollup-equip>i>svg{display:none}.field-rollup-equip>i{grid-template-columns:minmax(0,1fr);grid-template-areas:"lbl" "val"}.field-rollup-equip>i>s{justify-self:start}.field-rollup-compare,.field-rollup-metric>small{display:none}.field-rollup-metric-row>b{font-size:clamp(20px,15cqh,30px)}}@container rollup (max-height: 140px){.field-rollup-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.field-rollup-card:nth-child(5){display:none}}@container rollup (max-height: 112px){.field-rollup-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.field-rollup-card:nth-child(4){display:none}}@media(max-width:1180px){.field-rollup-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.field-rollup-card:nth-child(5){display:none}}@media(max-width:900px){.field-rollup-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.field-rollup-card:nth-child(4){display:none}}@media(max-width:700px){.field-rollup-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.field-rollup-card-trend{display:none}}.field-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e0a8c;display:grid;place-items:center;z-index:300;padding:12px}.field-modal{width:min(1480px,calc(100vw - 24px));height:min(1120px,calc(100vh - 24px));min-height:0;background:var(--f-surface);border-radius:14px;display:flex;flex-direction:column;overflow:hidden}.field-modal>header{display:flex;align-items:center;gap:14px;padding:16px 20px;border-bottom:1px solid var(--f-line)}.field-modal>header strong{font-size:clamp(24px,1.7vw,34px);font-weight:950}.field-modal>header span{margin-left:12px;font-size:clamp(20px,1vw,22px);font-weight:900;border-radius:7px;padding:5px 12px;background:var(--f-sunken);color:var(--f-ink-2)}.field-modal>header span.is-caution{background:color-mix(in srgb,var(--f-warn) 15%,transparent);color:var(--f-warn)}.field-modal>header span.is-danger{background:color-mix(in srgb,var(--f-alarm) 14%,transparent);color:var(--f-alarm)}.field-modal>header span.is-offline{background:var(--f-offline);color:var(--f-ink)}.field-modal>header button{margin-left:auto;border:1px solid var(--f-line);background:var(--f-surface);border-radius:9px;width:46px;height:46px;font-size:22px;cursor:pointer}.field-detail-actions{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;margin-left:auto}.field-detail-modal>header .field-detail-actions .field-detail-help{margin:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;line-height:1}.field-detail-modal>header>.field-detail-actions>button{display:inline-grid;place-items:center;box-sizing:border-box;width:38px;height:38px;margin-left:0;padding:0;font-size:20px;line-height:1}.field-detail-modal>header>.field-detail-actions>button svg{width:18px;height:18px}.field-detail-help{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:40}.field-detail-modal>header>.field-detail-actions .field-detail-help>button{display:inline-grid;place-items:center;box-sizing:border-box;width:32px;height:32px;margin-left:0;padding:0;border:1px solid var(--f-line);border-radius:50%;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:15px;font-weight:900;line-height:1;cursor:help}.field-detail-modal>header>.field-detail-actions .field-detail-help>button:hover,.field-detail-modal>header>.field-detail-actions .field-detail-help>button:focus-visible{border-color:var(--f-info);color:var(--f-info)}.field-detail-modal>header .field-detail-actions .field-detail-help .field-detail-help-bubble{position:absolute;right:-46px;top:calc(100% + 10px);display:grid;gap:8px;width:min(420px,calc(100vw - 32px));margin:0;padding:14px 16px;border:1px solid var(--f-line);border-radius:12px;background:var(--f-surface);box-shadow:0 10px 24px #1e2a2429;color:var(--f-ink-2);font-size:clamp(16px,.94vw,18px);font-weight:650;line-height:1.45;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease-out,transform .12s ease-out,visibility .12s ease-out}.field-detail-modal>header .field-detail-actions .field-detail-help:hover .field-detail-help-bubble,.field-detail-modal>header .field-detail-actions .field-detail-help:focus-within .field-detail-help-bubble{opacity:1;visibility:visible;pointer-events:auto;transform:none}.field-detail-help-bubble strong{color:var(--f-ink);font-size:1em;font-weight:900}.field-detail-help-bubble>span{display:block}.field-detail-help-bubble ul{display:grid;gap:5px;margin:0;padding-left:18px}.field-detail-help-bubble li{padding-left:2px}.field-detail-help-bubble li b{color:var(--f-ink);font-weight:900}.field-detail-help-bubble small{display:block;color:var(--f-ink-3);font-size:clamp(13px,.78vw,15px);font-weight:750;line-height:1.5}.field-detail-help-bubble small i{display:inline-block;width:8px;height:8px;margin:0 3px 1px 5px;border-radius:50%;background:var(--f-ink-3)}.field-detail-help-bubble small i:first-child{margin-left:0}.field-detail-help-bubble small i.is-normal{background:var(--f-ok)}.field-detail-help-bubble small i.is-caution{background:var(--f-warn)}.field-detail-help-bubble small i.is-danger{background:var(--f-alarm)}.field-modal>nav{display:flex;align-items:flex-start;gap:var(--f-space-2);padding:var(--f-space-3) var(--f-space-5) var(--f-space-4);border-bottom:1px solid var(--f-line)}.field-modal-tab-list{display:flex;align-items:center;gap:var(--f-space-2)}.field-modal-tab-list button{border:1px solid var(--f-line);background:var(--f-surface);border-radius:var(--f-radius-cell);padding:var(--f-space-3) var(--f-space-5);font:inherit;font-size:clamp(20px,1vw,22px);font-weight:850;color:var(--f-ink-2);cursor:pointer;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.field-modal-tab-list button:hover{border-color:var(--f-rule);color:var(--f-ink)}.field-modal-tab-list button.is-active{background:var(--f-ink);color:var(--f-surface);border-color:var(--f-ink)}.field-modal-tab-list button:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-modal-body{min-height:0;overflow:auto;padding:20px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:max-content max-content max-content;align-content:start;gap:10px}.field-modal-body>*{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.field-metric-table-wrap{overflow-x:auto;border:1px solid var(--f-line);border-radius:10px;background:var(--f-sunken)}.field-metric-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.field-metric-table th,.field-metric-table td{padding:14px 12px;border-bottom:1px solid var(--f-line);text-align:center;white-space:nowrap}.field-metric-table thead th{font-size:18px;font-weight:900;color:var(--f-ink-2);background:color-mix(in srgb,var(--f-sunken) 72%,var(--f-surface))}.field-metric-table thead th:first-child,.field-metric-table tbody th{width:116px;text-align:left}.field-metric-table tbody th{font-size:20px;font-weight:900;color:var(--f-ink-2)}.field-metric-table tbody td{font-size:clamp(22px,1.35vw,30px);font-weight:900;color:var(--f-ink)}.field-metric-table tbody tr:last-child th,.field-metric-table tbody tr:last-child td{border-bottom:0}.field-metric-table tr.is-delta{background:var(--f-surface)}.field-metric-table tr.is-delta th,.field-metric-table tr.is-delta td{font-size:clamp(19px,1vw,23px);font-weight:850;color:var(--f-ink-2)}.field-metric-table .field-metric-delta{font:inherit}.field-metric-table .field-metric-delta.is-increase{color:var(--f-alarm)}.field-metric-table .field-metric-delta.is-decrease{color:var(--f-info)}.field-metric-table .field-metric-delta.is-neutral,.field-metric-table .field-metric-delta.is-unavailable{color:var(--f-ink-3)}.field-metric-table-compact{display:none}.field-metric-status-row>th,.field-metric-status-row>td{vertical-align:top}.field-metric-status-cell{padding:0!important;text-align:left!important;white-space:normal!important}.field-metric-status-cell .field-status-detail{border:0;border-radius:0;background:transparent}.field-judgement-detail{display:grid;align-self:start;min-height:max-content;gap:0;border-left:8px solid var(--f-ink-3);border-radius:10px;background:var(--f-sunken);overflow:hidden}.field-judgement-detail-row{display:grid;grid-template-columns:180px minmax(0,1fr);gap:16px;align-items:center;padding:13px 16px;border-bottom:1px solid var(--f-line)}.field-judgement-detail-row:last-child{border-bottom:0}.field-judgement-detail-row strong{font-size:clamp(19px,1vw,23px);font-weight:900;color:var(--f-ink)}.field-judgement-detail-row span{font-size:clamp(18px,.95vw,22px);font-weight:850;color:var(--f-ink-2);overflow-wrap:anywhere}.field-status-detail .field-judgement-detail-row>strong,.field-status-detail .field-judgement-detail-row>span{color:var(--f-ink)}.field-env-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.field-env-row b{font-size:clamp(24px,1.8vw,32px);font-weight:900}.field-current-env{display:grid;gap:8px}.field-current-env h3{margin:0;font-size:clamp(22px,1.25vw,26px);font-weight:900}.field-trend-panel{display:grid;gap:10px;border:1px solid var(--f-line);border-radius:10px;background:var(--f-surface);padding:14px}.field-trend-legend{display:flex;flex-wrap:wrap;gap:8px 12px}.field-trend-control-sheet{display:flex;flex:0 1 auto;align-items:stretch;gap:var(--f-space-2);width:max-content;max-width:100%;min-width:0}.field-trend-control-group{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-start;justify-content:center;gap:var(--f-space-2);min-width:0;padding:var(--f-space-2) var(--f-space-3);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-sunken)}.field-trend-control-group.is-metrics{width:max-content;max-width:100%;justify-self:start}.field-trend-control-group.is-guide{background:var(--f-surface);justify-self:start}.field-trend-options{display:flex;align-items:center;flex-wrap:wrap;gap:var(--f-space-2);min-width:0}.field-trend-option,.field-trend-gap-button{display:inline-flex;align-items:center;gap:var(--f-space-2);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);padding:var(--f-space-2) var(--f-space-3);font:inherit;font-size:var(--f-control-text);font-weight:850;line-height:1.2;color:var(--f-ink-2);cursor:pointer;transition:background .12s ease-out,color .12s ease-out,border-color .12s ease-out}.field-trend-option:hover,.field-trend-gap-button:hover{border-color:var(--f-rule);color:var(--f-ink)}.field-trend-option:focus-visible,.field-trend-gap-button:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-trend-option i{width:8px;height:8px;display:inline-block;border-radius:50%;background:currentColor;flex:none}.field-trend-option.is-temperature{color:var(--series-temp)}.field-trend-option.is-humidity{color:var(--series-humidity)}.field-trend-option.is-co2{color:var(--series-co2)}.field-trend-option.is-dry{color:var(--series-cough-dry)}.field-trend-option.is-wet{color:var(--series-cough-wet)}.field-trend-option.is-selected{border-color:currentColor;background:color-mix(in srgb,currentColor 11%,var(--f-surface))}.field-trend-option.is-off{border-color:var(--f-line);color:var(--f-ink-3)}.field-trend-option.is-off i{opacity:.28}.field-trend-gap-button{color:var(--f-ink-2)}.field-trend-gap-button i{width:8px;height:8px;display:inline-block;border:1px solid currentColor;border-radius:var(--f-radius-cell);background:currentColor;opacity:.65;flex:none}.field-trend-gap-button.is-selected{border-color:var(--f-ok);background:color-mix(in srgb,var(--f-ok) 11%,var(--f-surface));color:var(--f-ok)}.field-trend-gap-button.is-off{color:var(--f-ink-3)}.field-trend-chart-wrap{position:relative;min-height:0;overflow:visible}.field-trend-chart-stack{display:grid;gap:12px}.field-trend-subpanel{min-width:0;border:1px solid var(--f-line);border-radius:8px;background:var(--f-surface);padding:10px 12px}.field-trend-subpanel-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 16px}.field-trend-subpanel-title{display:flex;align-items:center;gap:10px;min-width:0}.field-trend-subpanel-head strong{font-size:20px;font-weight:900;color:var(--f-ink);white-space:nowrap}.field-trend-subpanel-head small{font-size:15px;font-weight:750;color:var(--f-ink-3)}.field-trend-display-toggle{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--f-line);border-radius:7px;background:var(--f-sunken)}.field-trend-display-toggle button{border:0;border-radius:5px;background:transparent;color:var(--f-ink-2);font:inherit;font-size:13px;font-weight:850;padding:4px 8px;cursor:pointer}.field-trend-display-toggle button:hover{color:var(--f-ink);background:var(--f-surface)}.field-trend-display-toggle button.is-selected{background:var(--f-ink);color:var(--f-surface)}.field-trend-display-toggle button:focus-visible{outline:2px solid var(--f-focus);outline-offset:1px}.field-trend-chart{display:block;width:100%;height:430px;min-height:0;overflow:visible;touch-action:pan-y}.field-trend-chart.is-environment{height:250px}.field-trend-chart.is-cough{height:390px}.field-trend-series{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4;vector-effect:non-scaling-stroke}.field-trend-series.is-temperature{stroke:var(--series-temp)}.field-trend-series.is-humidity{stroke:var(--series-humidity);stroke-dasharray:7 4}.field-trend-series.is-co2{stroke:var(--series-co2);stroke-dasharray:2 4}.field-trend-bar{stroke:var(--f-surface);stroke-width:1;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}.field-trend-bar.is-dry{fill:var(--series-cough-dry)}.field-trend-bar.is-wet{fill:var(--series-cough-wet)}.field-trend-series.is-cough-total{stroke:var(--f-ink-2);stroke-width:3.2;fill:none;vector-effect:non-scaling-stroke}.field-trend-series.is-cough-dry{stroke:var(--series-cough-dry);stroke-width:2.6;fill:none;vector-effect:non-scaling-stroke}.field-trend-series.is-cough-wet{stroke:var(--series-cough-wet);stroke-width:2.6;fill:none;vector-effect:non-scaling-stroke}.field-trend-threshold-band{stroke:none;pointer-events:none}.field-trend-threshold-band.is-caution{fill:color-mix(in srgb,var(--f-warn) 28%,transparent)}.field-trend-threshold-band.is-danger{fill:color-mix(in srgb,var(--f-alarm) 32%,transparent)}.field-trend-gap{fill:var(--f-ink-3);opacity:.13}.field-trend-tick,.field-trend-cough-grid{stroke:color-mix(in srgb,var(--f-line) 76%,transparent);stroke-dasharray:2 4;stroke-width:1}.field-trend-plot-frame{fill:none;stroke:var(--f-rule);stroke-width:1.4;vector-effect:non-scaling-stroke}.field-trend-cough-label{fill:var(--f-ink-3);font-size:18px;font-weight:850}.field-trend-baseline line{stroke:var(--f-warn);stroke-width:1.5;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.field-trend-baseline text{fill:var(--f-warn);font-size:14px;font-weight:850}.field-trend-above-baseline{fill:var(--f-warn);stroke:var(--f-surface);stroke-width:2;vector-effect:non-scaling-stroke}.field-trend-time,.field-trend-lane{fill:var(--f-ink-3);font-size:15px;font-weight:800}.field-trend-time{text-anchor:middle}.field-trend-divider{stroke:var(--f-line);stroke-width:1}.field-trend-hover{pointer-events:none;stroke:var(--f-ink-2);stroke-width:1;vector-effect:non-scaling-stroke}.field-trend-alert-rail{stroke:var(--f-line);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke}.field-trend-alert-label{fill:var(--f-ink-3);font-size:12px;font-weight:900}.field-trend-alert-dot{stroke:var(--f-surface);stroke-width:2;vector-effect:non-scaling-stroke}.field-trend-alert-dot.is-caution{fill:var(--f-warn)}.field-trend-alert-dot.is-danger{fill:var(--f-alarm)}.field-trend-guide-items{display:flex;align-items:center;flex-wrap:wrap;gap:var(--f-space-2) var(--f-space-3)}.field-trend-alert-guide>div>span,.field-trend-alert-guide>div>small{display:flex;align-items:center;gap:var(--f-space-2);font-size:var(--f-control-text);font-weight:850;color:var(--f-ink-2);white-space:nowrap}.field-trend-alert-guide>div>span i{width:8px;height:8px;border-radius:50%;background:currentColor}.field-trend-alert-guide>div>span.is-total{color:var(--f-ink)}.field-trend-alert-guide>div>span.is-wet{color:var(--series-cough-wet)}.field-trend-alert-guide>div>small{gap:var(--f-space-1);color:var(--f-ink-3)}.field-trend-alert-guide>div>small i{width:8px;height:8px;border-radius:50%;display:inline-block}.field-trend-alert-guide>div>small i.is-caution{background:var(--f-warn)}.field-trend-alert-guide>div>small i.is-danger{background:var(--f-alarm)}.field-trend-tooltip{position:absolute;top:10px;z-index:3;display:grid;width:190px;gap:5px;padding:10px 12px;border:1px solid var(--f-rule);border-radius:8px;background:var(--f-surface);box-shadow:0 6px 18px #0a19101f;transform:translate(-50%);pointer-events:none}.field-trend-tooltip strong{font-size:16px;font-weight:900}.field-trend-tooltip span{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:800;color:var(--f-ink-2)}.field-trend-tooltip span i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.field-trend-tooltip span.is-temperature{color:var(--series-temp)}.field-trend-tooltip span.is-humidity{color:var(--series-humidity)}.field-trend-tooltip span.is-co2{color:var(--series-co2)}.field-trend-tooltip span.is-dry{color:var(--series-cough-dry)}.field-trend-tooltip span.is-wet{color:var(--series-cough-wet)}.field-trend-empty{margin:0;padding:30px 16px;text-align:center;border-radius:8px;background:var(--f-sunken);font-size:clamp(20px,1vw,22px);font-weight:850;color:var(--f-ink-2)}.field-readout{margin:0;display:grid;gap:0}.field-readout-days{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;height:230px}.field-readout-day{min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:4px;justify-items:center}.field-readout-delta{font-size:clamp(20px,.85vw,22px);font-weight:850;color:var(--f-ink-3);min-height:1.2em;white-space:nowrap}.field-readout-day.is-grown .field-readout-delta{color:var(--f-alarm);font-weight:900}.field-readout-day.is-grown .field-readout-delta:before{content:"▲ "}.field-readout-total{font-size:clamp(20px,1.05vw,22px);font-weight:900;letter-spacing:-.03em}.field-readout-bar{width:min(100%,74px);min-height:0;display:flex;flex-direction:column;justify-content:flex-end;align-self:stretch}.field-readout-bar>i{display:block;width:100%;min-height:2px}.field-readout-bar>i.is-wet{background:var(--f-alarm)}.field-readout-bar>i.is-dry{background:var(--f-ink-3);opacity:.45}.field-readout-day em{font-style:normal;font-size:clamp(20px,.85vw,22px);font-weight:800;color:var(--f-ink-2)}.field-readout-day.is-partial .field-readout-bar>i.is-wet{background:repeating-linear-gradient(135deg,var(--f-alarm) 0 5px,color-mix(in srgb,var(--f-alarm) 45%,var(--f-surface)) 5px 10px)}.field-readout-day.is-partial .field-readout-bar>i.is-dry{background:repeating-linear-gradient(135deg,var(--f-ink-3) 0 5px,transparent 5px 10px);opacity:.6}.field-readout-day.is-partial em{color:var(--f-ink-3);font-style:italic}.field-readout-streak{margin-top:7px;display:grid;grid-template-columns:repeat(var(--cols),1fr)}.field-readout-streak>span{grid-column:calc(var(--from) + 1) / span var(--span);border-top:2px solid var(--f-alarm);border-left:2px solid var(--f-alarm);border-right:2px solid var(--f-alarm);padding:5px 6px 6px;text-align:center;font-size:clamp(20px,.85vw,22px);font-weight:900;color:var(--f-alarm)}.field-readout-key{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:clamp(20px,.85vw,22px);font-weight:750;color:var(--f-ink-2)}.field-readout-key span{display:inline-flex;align-items:center;gap:6px}.field-readout-key i{display:inline-block;width:13px;height:13px;flex:none}.field-readout-key i.is-wet{background:var(--f-alarm)}.field-readout-key i.is-dry{background:var(--f-ink-3);opacity:.45}.field-readout-key i.is-mark{width:auto;height:auto;color:var(--f-alarm);font-weight:900;font-style:normal}.field-readout-key i.is-mark:before{content:"▲"}.field-readout-key i.is-partial{background:repeating-linear-gradient(135deg,var(--f-ink-3) 0 4px,transparent 4px 8px)}.field-readout-empty{margin:0;padding:34px;text-align:center;background:var(--f-sunken);font-size:clamp(20px,1vw,22px);font-weight:800;color:var(--f-ink-2)}.field-camera-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.field-device-list{display:grid;gap:8px}.field-device-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(100px,auto);align-items:center;gap:14px;padding:14px 16px;border-radius:10px;background:var(--f-sunken);font-size:clamp(18px,1.05vw,22px);font-weight:850}.field-device-name{display:flex;align-items:baseline;gap:10px;min-width:0}.field-device-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-device-name small{flex:none;color:var(--f-ink-3);font-size:.72em;font-weight:800}.field-device-status{padding:4px 9px;border-radius:999px;font-size:.78em;white-space:nowrap}.field-device-status.is-normal{background:color-mix(in srgb,var(--f-ok) 14%,transparent);color:var(--f-ok)}.field-device-status.is-caution{background:color-mix(in srgb,var(--f-warn) 15%,transparent);color:var(--f-warn-text)}.field-device-status.is-danger{background:color-mix(in srgb,var(--f-alarm) 14%,transparent);color:var(--f-alarm-text)}.field-device-status.is-offline,.field-device-status.is-unknown{background:var(--f-offline);color:var(--f-ink-2)}.field-device-row time{min-width:100px;text-align:right;color:var(--f-ink-2);font-size:.82em;font-weight:800;white-space:nowrap}.field-device-empty{padding:24px 16px;border-radius:10px;background:var(--f-sunken);color:var(--f-ink-2);text-align:center}@media(max-width:720px){.field-device-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.field-device-row time{grid-column:1 / -1;min-width:0;text-align:left;font-size:.75em}.field-device-name{display:grid;gap:2px}}.field-widget-board{width:min(100%,calc((100vh - 170px)*2));aspect-ratio:2 / 1;margin:0 auto;display:grid;gap:10px}.field-widget-board.is-editing{background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),var(--f-line) calc(12.5% - 1px) 12.5%),repeating-linear-gradient(0deg,transparent 0 calc(25% - 1px),var(--f-line) calc(25% - 1px) 25%);background-size:100% 100%;border-radius:3px}.field-widget{background:var(--f-surface);border:1px solid var(--f-line);border-radius:3px;display:flex;flex-direction:column;overflow:hidden;min-width:0;font-variant-numeric:tabular-nums}.field-widget-board.is-editing .field-widget{border-color:var(--f-focus);box-shadow:0 0 0 1px var(--f-focus) inset;cursor:grab;touch-action:none;transition:transform .12s ease-out,opacity .12s ease-out}.field-widget-board.is-editing .field-widget:active{cursor:grabbing}.field-widget.is-dragging{opacity:.58;transform:scale(.99)}.field-widget-drop-preview{position:relative;z-index:4;display:grid;min-width:0;min-height:0;border:2px dashed var(--f-focus);border-radius:6px;background:color-mix(in srgb,var(--f-focus) 8%,transparent);pointer-events:none;overflow:visible}.field-widget-drop-preview.is-overlap{border-color:var(--f-alarm);background:color-mix(in srgb,var(--f-alarm) 7%,transparent)}.field-widget-drop-overlap{display:block;min-width:0;min-height:0;border:2px solid color-mix(in srgb,var(--f-alarm) 75%,var(--f-surface));border-radius:4px;background:color-mix(in srgb,var(--f-alarm) 35%,transparent)}.field-widget-drop-preview strong{position:absolute;top:50%;left:50%;z-index:1;transform:translate(-50%,-50%);padding:5px 8px;border-radius:6px;background:var(--f-alarm);color:var(--f-alarm-ink);font-size:14px;font-weight:900;line-height:1.15;white-space:nowrap;box-shadow:0 2px 8px #0a19102e}.field-widget-drag{display:inline-flex;align-items:center;color:var(--f-ink-2);font-size:18px;cursor:grab;flex:none}.field-widget header{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--f-line);flex:none;flex-wrap:wrap}.field-widget header strong{font-size:clamp(20px,.95vw,22px);font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.field-widget header strong.field-widget-title{display:flex;align-items:baseline;gap:8px;text-overflow:clip}.field-widget-title-group{display:flex;align-items:baseline;gap:5px;min-width:0;flex:1 1 0;overflow:hidden}.field-widget-title-group>b{flex:0 0 auto;min-width:max-content;white-space:nowrap;font-weight:900}.field-widget-title-group>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.field-widget-title-group>i{flex:none;font-style:normal;color:var(--f-ink-3)}.field-widget-tools{display:flex;gap:3px;margin-left:auto;flex:none}.field-widget-tools button{border:1px solid var(--f-line);background:var(--f-surface);border-radius:6px;padding:3px 7px;font:inherit;font-size:12px;font-weight:900;color:var(--f-ink-2);cursor:pointer}.field-widget-tools button[aria-pressed=true]{background:var(--f-ink);color:#fff;border-color:var(--f-ink)}.field-widget-tools button.is-danger{color:var(--f-alarm);border-color:color-mix(in srgb,var(--f-alarm) 40%,var(--f-line))}.field-widget-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:10px 12px}.field-widget-board.is-editing .field-widget-body{cursor:pointer}.field-camera-stream-grid{display:grid;gap:8px;min-width:0;min-height:0;flex:1 1 0;overflow:hidden}.field-camera-stream-cell{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;border:3px solid var(--f-offline);border-radius:8px;background:var(--f-ink)}.field-camera-stream-cell.is-normal{border-color:var(--f-ok)}.field-camera-stream-cell.is-caution{border-color:var(--f-warn)}.field-camera-stream-cell.is-danger,.field-camera-stream-cell.is-fault{border-color:var(--f-alarm)}.field-camera-stream-cell.is-unknown,.field-camera-stream-cell.is-offline{border-color:var(--f-offline)}.field-camera-stream-cell>header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 8px;border:0;background:var(--f-ink);color:#fff}.field-camera-stream-cell>header b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--f-floor-name);font-weight:900}.field-camera-stream-cell>header span{flex:none;font-size:var(--f-floor-label);font-weight:850;color:var(--f-surface)}.field-camera-stream-cell .camera-preview{flex:1;min-height:0;border:0;border-radius:0}.field-widget-main{display:flex;align-items:baseline;gap:7px;white-space:nowrap;min-width:0}.field-widget-main>b{font-size:clamp(24px,2.4vw,46px);font-weight:900;letter-spacing:-.03em;line-height:1}.field-widget-main>b.is-caution{color:var(--f-warn)}.field-widget-main>b.is-danger{color:var(--f-alarm)}.field-widget-main>b.is-normal{color:var(--f-ink-3)}.field-widget-main>b.is-offline{color:var(--f-offline)}.field-widget-main>b.is-unknown{color:var(--f-ink-3)}.field-widget-main>span{font-size:clamp(20px,.9vw,22px);font-weight:850;color:var(--f-ink-2)}.field-widget-note{margin:0;font-size:clamp(20px,.9vw,22px);font-weight:800;color:var(--f-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-widget-note.is-normal{color:var(--f-ok)}.field-widget-note.is-caution{color:var(--f-warn-text)}.field-widget-note.is-danger,.field-widget-note.is-fault{color:var(--f-alarm)}.field-widget-note.is-offline,.field-widget-note.is-unknown{color:var(--f-ink-2)}.field-widget-empty{margin:auto;font-size:clamp(20px,1vw,22px);font-weight:850;color:var(--f-ink-3)}.field-widget-env{display:flex;gap:16px;flex-wrap:wrap}.field-widget-env>div{display:flex;align-items:baseline;gap:4px}.field-widget-env b{font-size:clamp(20px,1.8vw,32px);font-weight:900}.field-widget-env span{font-size:clamp(20px,.85vw,22px);font-weight:850;color:var(--f-ink-2)}.field-widget-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;overflow:hidden}.field-widget-list li{display:flex;align-items:baseline;gap:8px;font-size:clamp(20px,.95vw,22px);white-space:nowrap}.field-widget-list li b{font-weight:900}.field-widget-list li span{font-weight:850;color:var(--f-ink-2);margin-left:auto}.field-widget-list li.is-danger b{color:var(--f-alarm)}.field-widget-list li.is-caution b{color:var(--f-warn)}.field-widget-list li.is-offline b,.field-widget-list li.is-fault b{color:var(--f-offline)}.field-widget-zone-compact-list{list-style:none;margin:0;padding:0;display:grid;align-content:start;gap:5px;min-width:0;flex:1 1 0;min-height:0;max-height:100%;overflow:hidden}.field-widget-zone-compact-list li{display:block;min-width:0;padding:4px 6px;border-left:4px solid var(--f-ink-3);border-radius:6px;background:var(--f-sunken);font-size:clamp(var(--f-floor-name),.7vw,16px);font-weight:850;line-height:1.15}.field-widget-zone-compact-list li.is-normal{border-left-color:var(--f-ok)}.field-widget-zone-compact-list li.is-caution{border-left-color:var(--f-warn)}.field-widget-zone-compact-list li.is-danger{border-left-color:var(--f-alarm)}.field-widget-zone-compact-list li.is-offline,.field-widget-zone-compact-list li.is-fault{border-left-color:var(--f-offline)}.field-widget-zone-compact-list li>b{display:inline-block;margin-right:5px;font-weight:900;white-space:nowrap}.field-widget-zone-compact-list li>span{color:var(--f-ink-2);overflow-wrap:anywhere}.field-widget-zone-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));grid-auto-rows:max-content;align-content:start;gap:8px;min-width:0;flex:1 1 0;min-height:0;max-height:100%;overflow:hidden}.field-widget-zone-grid.is-split-1,.field-widget-zone-compact-list.is-split-1,.field-widget-mini-chart-grid.is-split-1,.field-widget-mini-environment-grid.is-split-1{grid-template-columns:minmax(0,1fr)}.field-widget-zone-grid.is-split-2,.field-widget-zone-compact-list.is-split-2,.field-widget-mini-chart-grid.is-split-2,.field-widget-mini-environment-grid.is-split-2,.field-widget-zone-grid.is-split-4,.field-widget-zone-compact-list.is-split-4,.field-widget-mini-chart-grid.is-split-4,.field-widget-mini-environment-grid.is-split-4{grid-template-columns:repeat(2,minmax(0,1fr))}.field-widget-zone-grid.is-list,.field-widget-zone-compact-list.is-list,.field-widget-mini-chart-grid.is-list,.field-widget-mini-environment-grid.is-list{grid-template-columns:minmax(0,1fr)}@media(max-width:720px){.field-widget-zone-grid.is-split-2,.field-widget-zone-grid.is-split-4,.field-widget-zone-compact-list.is-split-2,.field-widget-zone-compact-list.is-split-4,.field-widget-mini-chart-grid.is-split-2,.field-widget-mini-chart-grid.is-split-4,.field-widget-mini-environment-grid.is-split-2,.field-widget-mini-environment-grid.is-split-4{grid-template-columns:minmax(0,1fr)}}.field-widget-zone-card{display:flex;flex-direction:column;align-items:stretch;align-self:start;gap:5px;min-width:0;padding:9px 10px;border:1px solid var(--f-line);border-left:5px solid var(--f-ink-3);border-radius:8px;background:var(--f-surface);overflow:hidden}.field-widget-zone-card.is-normal{border-left-color:var(--f-ok)}.field-widget-zone-card.is-caution{border-left-color:var(--f-warn)}.field-widget-zone-card.is-danger{border-left-color:var(--f-alarm)}.field-widget-zone-card.is-offline,.field-widget-zone-card.is-fault{border-left-color:var(--f-offline)}.field-widget-zone-head{display:flex;align-items:center;gap:7px;min-width:0}.field-widget-zone-head>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(16px,1vw,22px);font-weight:900}.field-widget-zone-status{flex:none;padding:2px 6px;border-radius:999px;font-size:clamp(var(--f-floor-label),.72vw,16px);font-weight:900;line-height:1.2}.field-widget-zone-status.is-normal{background:color-mix(in srgb,var(--f-ok) 15%,transparent);color:var(--f-ok)}.field-widget-zone-status.is-caution{background:color-mix(in srgb,var(--f-warn) 17%,transparent);color:var(--f-warn-text)}.field-widget-zone-status.is-danger{background:color-mix(in srgb,var(--f-alarm) 15%,transparent);color:var(--f-alarm-text)}.field-widget-zone-status.is-offline,.field-widget-zone-status.is-fault,.field-widget-zone-status.is-unknown{background:color-mix(in srgb,var(--f-offline) 15%,transparent);color:var(--f-ink-2)}.field-widget-zone-primary{display:flex;align-items:baseline;gap:5px;min-width:0;color:var(--f-ink-2);font-size:clamp(16px,.9vw,20px);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.field-widget-zone-primary strong{font-size:clamp(20px,1.35vw,28px);font-weight:900;color:var(--f-ink)}.field-widget-zone-secondary{display:flex;flex-wrap:wrap;gap:3px 9px;min-width:0;color:var(--f-ink-2);font-size:clamp(14px,.78vw,18px);font-weight:800;line-height:1.3;font-variant-numeric:tabular-nums}.field-widget-zone-secondary span{white-space:nowrap}.field-widget-drywet-values{display:inline-flex;gap:5px;min-width:0;white-space:nowrap;font-variant-numeric:tabular-nums}.field-widget-drywet-values>.is-dry{color:var(--series-cough-dry)}.field-widget-drywet-values>.is-wet{color:var(--series-cough-wet)}.field-widget-drywet-graphic{display:flex;align-items:center;gap:2px;min-width:58px;flex:1 1 90px;height:10px;overflow:hidden;border-radius:999px;background:var(--f-line)}.field-widget-drywet-graphic i{display:block;height:100%;min-width:2px}.field-widget-drywet-graphic>.is-dry{background:var(--series-cough-dry)}.field-widget-drywet-graphic>.is-wet{background:var(--series-cough-wet)}.field-widget-drywet-graphic.is-empty{display:inline-flex;justify-content:center;background:transparent;color:var(--f-ink-3);font-size:var(--f-floor-label);font-weight:800}.field-widget-environment-values{display:inline-flex;flex-wrap:wrap;gap:3px 9px;min-width:0;white-space:nowrap;font-variant-numeric:tabular-nums}.field-widget-environment-values>span{font-weight:850}.field-widget-environment-values>.is-temperature{color:var(--series-temp)}.field-widget-environment-values>.is-humidity{color:var(--series-humidity)}.field-widget-environment-values>.is-co2{color:var(--series-co2)}.field-widget-environment-bullets{display:inline-grid;grid-template-columns:repeat(3,minmax(42px,1fr));gap:4px;min-width:0;flex:1 1 150px}.field-widget-environment-bullets>span{display:flex;align-items:center;gap:3px;min-width:0;color:currentColor;font-variant-numeric:tabular-nums}.field-widget-environment-bullets i{width:7px;height:7px;flex:none;border-radius:50%;background:currentColor}.field-widget-environment-bullets b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--f-floor-label);font-weight:850}.field-widget-environment-bullets>.is-temperature{color:var(--series-temp)}.field-widget-environment-bullets>.is-humidity{color:var(--series-humidity)}.field-widget-environment-bullets>.is-co2{color:var(--series-co2)}.field-widget-chart{display:grid;gap:4px;min-width:0;margin-top:2px}.field-widget-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0;color:var(--f-ink-2)}.field-widget-chart-head b{font-size:clamp(14px,.72vw,17px);font-weight:900}.field-widget-chart-head small{font-size:clamp(12px,.62vw,14px);font-weight:800;color:var(--f-ink-3)}.field-widget-chart svg{display:block;width:100%;height:clamp(104px,7vw,160px);min-width:0;overflow:visible}.field-widget-chart-grid{stroke:color-mix(in srgb,var(--f-line) 76%,transparent);stroke-dasharray:2 4;stroke-width:1}.field-widget-chart-grid.is-axis{stroke:var(--f-ink-3);stroke-dasharray:none;opacity:.62}.field-widget-chart-axis{fill:var(--f-ink-3);font-size:11px;font-weight:850;paint-order:stroke;stroke:var(--f-surface);stroke-width:2px;stroke-opacity:.72}.field-widget-chart-bar{opacity:.76}.field-widget-chart-bar.is-dry{fill:var(--series-cough-dry)}.field-widget-chart-bar.is-wet{fill:var(--series-cough-wet)}.field-widget-chart-gap{fill:var(--f-ink-3);opacity:.16}.field-widget-chart-partial-gap{stroke:var(--f-ink-3);stroke-dasharray:2 2;stroke-width:1.5;opacity:.7}.field-widget-chart-partial-note{color:var(--f-ink-3);font-size:11px;font-weight:800}.field-widget-chart-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3;vector-effect:non-scaling-stroke}.field-widget-chart-line.is-total{stroke:var(--f-ink)}.field-widget-chart-point{fill:var(--f-ink);stroke:var(--f-surface);stroke-width:2;vector-effect:non-scaling-stroke}.field-widget-chart-point.is-latest{fill:var(--f-focus);stroke-width:2.5}.field-widget-chart-legend{display:flex;gap:8px;min-width:0;color:var(--f-ink-3);font-size:clamp(11px,.58vw,13px);font-weight:800}.field-widget-chart-legend span:before{content:"";display:inline-block;width:7px;height:7px;margin:0 3px 1px 0;border-radius:50%;background:currentColor}.field-widget-chart-legend .is-total{color:var(--f-ink)}.field-widget-chart-legend .is-dry{color:var(--series-cough-dry)}.field-widget-chart-legend .is-wet{color:var(--series-cough-wet)}.field-widget-chart-legend .is-gap{color:var(--f-ink-3)}.field-widget-chart-empty{margin:0;color:var(--f-ink-3);font-size:clamp(12px,.65vw,15px);font-weight:800}.field-widget-chart.is-compact{gap:0;margin:0}.field-widget-chart.is-compact svg{height:clamp(68px,4vw,92px)}.field-widget-chart.is-compact .field-widget-chart-axis{font-size:10px}.field-widget-zone-grid.is-split-4 .field-widget-chart:not(.is-compact) svg{height:clamp(136px,10vw,220px)}.field-widget-mini-chart-grid,.field-widget-mini-environment-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-content:start;gap:7px 10px;min-width:0;flex:1 1 0;min-height:0;max-height:100%;overflow:hidden}.field-widget-mini-chart-grid>li{display:grid;gap:2px;min-width:0;padding:4px 6px;border-left:4px solid var(--f-ok);border-radius:6px;background:var(--f-sunken)}.field-widget-mini-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:6px;min-width:0;font-size:clamp(var(--f-floor-label),.64vw,15px);font-weight:850}.field-widget-mini-chart-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:900}.field-widget-mini-chart-head span{flex:none;color:var(--f-ink-2);white-space:nowrap}.field-widget-mini-chart-head .field-widget-mini-status{font-size:var(--f-floor-label);font-weight:900}.field-widget-mini-status.is-normal{color:var(--f-ok)}.field-widget-mini-status.is-caution{color:var(--f-warn-text)}.field-widget-mini-status.is-danger{color:var(--f-alarm-text)}.field-widget-mini-status.is-offline,.field-widget-mini-status.is-fault{color:var(--f-offline)}.field-widget-mini-status.is-unknown{color:var(--f-ink-2)}.field-widget-mini-chart-grid>li.is-caution,.field-widget-mini-environment-grid>li.is-caution{border-left-color:var(--f-warn)}.field-widget-mini-chart-grid>li.is-danger,.field-widget-mini-environment-grid>li.is-danger{border-left-color:var(--f-alarm)}.field-widget-mini-chart-grid>li.is-offline,.field-widget-mini-chart-grid>li.is-fault,.field-widget-mini-chart-grid>li.is-unknown,.field-widget-mini-environment-grid>li.is-offline,.field-widget-mini-environment-grid>li.is-fault,.field-widget-mini-environment-grid>li.is-unknown{border-left-color:var(--f-offline)}.field-widget-mini-environment-grid>li{display:grid;gap:4px;min-width:0;padding:5px 6px;border-left:4px solid var(--f-ok);border-radius:6px;background:var(--f-sunken)}.field-widget-mini-environment-grid .field-widget-environment-chart{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.field-widget-environment-chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:6px 10px;min-width:0;flex-basis:100%;padding-top:2px}.field-widget-environment-range{display:grid;gap:3px;min-width:0}.field-widget-environment-range-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px;min-width:0;font-size:clamp(var(--f-floor-label),.64vw,15px);font-weight:850}.field-widget-environment-range-head b{font-weight:900}.field-widget-environment-range-head span,.field-widget-environment-range small{color:var(--f-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-widget-environment-range-head span{font-variant-numeric:tabular-nums}.field-widget-environment-range-track{display:block;width:100%;height:10px;border-radius:999px;overflow:hidden}.field-widget-environment-range-track .is-band-normal{fill:color-mix(in srgb,var(--f-ink-3) 12%,var(--f-surface))}.field-widget-environment-range-track .is-band-caution{fill:color-mix(in srgb,var(--f-warn) 34%,var(--f-surface))}.field-widget-environment-range-track .is-band-danger{fill:color-mix(in srgb,var(--f-alarm) 42%,var(--f-surface))}.field-widget-environment-whisker{stroke:var(--f-ink);stroke-width:3;stroke-linecap:round;opacity:.75}.field-widget-environment-marker-line{stroke:currentColor;stroke-width:3;stroke-linecap:round}.field-widget-environment-range-missing{height:8px;border:1px dashed color-mix(in srgb,var(--f-ink-3) 55%,var(--f-line));border-radius:999px;color:var(--f-ink-3);font-size:var(--f-floor-label);font-weight:800;line-height:1;display:flex;align-items:center;justify-content:center;white-space:nowrap}.field-widget-environment-range.is-temperature{color:var(--series-temp)}.field-widget-environment-range.is-humidity{color:var(--series-humidity)}.field-widget-environment-range.is-co2{color:var(--series-co2)}.field-widget-environment-range small{font-size:clamp(11px,.58vw,13px);font-weight:750}.field-empty-panel{grid-column:1/-1;grid-row:1/-1;border:2px dashed var(--f-line);border-radius:3px;background:transparent;display:grid;place-items:center;align-content:center;gap:10px;color:var(--f-ink-2);font-size:clamp(20px,1.4vw,25px);font-weight:850;cursor:pointer}.field-edit-bar{position:fixed;right:18px;bottom:18px;display:flex;gap:8px;z-index:30}.field-edit-bar button{border:1px solid var(--f-line);background:var(--f-surface);border-radius:10px;padding:12px 20px;font:inherit;font-size:clamp(20px,1vw,22px);font-weight:900;cursor:pointer;display:inline-flex;align-items:center;gap:7px;box-shadow:0 6px 18px #0a19101f}.field-edit-bar button.is-primary{background:var(--f-ink);color:#fff;border-color:var(--f-ink)}.field-edit-bar button.is-danger{color:var(--f-alarm);border-color:color-mix(in srgb,var(--f-alarm) 40%,var(--f-line))}.field-editor-notice{max-width:min(420px,55vw);padding:10px 12px;border:1px solid color-mix(in srgb,var(--f-warn) 45%,var(--f-line));border-radius:10px;background:var(--f-sunken);color:var(--f-warn);font-size:14px;font-weight:850;line-height:1.35}.field-drawer{position:fixed;right:0;top:0;bottom:0;width:min(400px,92vw);background:var(--f-surface);z-index:80;box-shadow:-14px 0 40px #0000002e;padding:16px;display:flex;flex-direction:column;gap:9px;overflow:auto}.field-drawer header{display:flex;justify-content:space-between;align-items:center;font-size:clamp(20px,1.5vw,26px);font-weight:900}.field-drawer header button{border:0;background:none;font-size:30px;cursor:pointer;line-height:1}.field-drawer p{margin:0 0 4px;font-size:16px;font-weight:800;color:var(--f-ink-2)}.field-drawer>button{display:flex;align-items:center;gap:12px;border:1px solid var(--f-line);border-radius:10px;background:var(--f-surface);padding:14px;font:inherit;text-align:left;cursor:pointer}.field-drawer>button:hover{border-color:var(--f-ink-2)}.field-drawer>button:focus-visible,.field-drawer header button:focus-visible,.field-picker-row:focus-visible,.field-edit-bar button:focus-visible{outline:3px solid color-mix(in srgb,var(--f-focus) 45%,transparent);outline-offset:2px}.field-drawer>button>span{display:grid;gap:2px;min-width:0}.field-drawer>button b{font-size:19px;font-weight:900}.field-drawer>button em{font-style:normal;font-size:15px;font-weight:750;color:var(--f-ink-2)}.field-drawer>button>i{margin-left:auto;font-style:normal;font-size:14px;font-weight:900;color:var(--f-ink-2);flex:none}.field-size-drawer{width:min(760px,94vw)}.field-size-drawer header>div{display:grid;gap:4px;min-width:0}.field-size-drawer header span{font-size:14px;font-weight:750;color:var(--f-ink-2)}.field-size-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px;overflow:auto;padding:4px 0 16px}.field-size-option{align-self:start;height:fit-content;display:grid;gap:8px;min-width:0;padding:12px;border:1px solid var(--f-line);border-radius:10px;background:var(--f-surface);font:inherit;text-align:left;cursor:pointer;color:var(--f-ink);transition:transform .12s ease-out,border-color .12s ease-out,box-shadow .12s ease-out}.field-size-option:hover{border-color:var(--f-ink-2);transform:translateY(-1px);box-shadow:0 6px 16px #0a191014}.field-size-option:focus-visible{outline:3px solid color-mix(in srgb,var(--f-focus) 45%,transparent);outline-offset:2px}.field-size-preview-board{align-self:start;width:100%;position:relative;display:block;min-height:132px;border:1px solid var(--f-line);border-radius:8px;background:var(--f-sunken);overflow:hidden}.field-size-preview-board.is-1x1{aspect-ratio:1 / 1}.field-size-preview-board.is-2x1{aspect-ratio:2 / 1}.field-size-preview-board.is-3x1{aspect-ratio:3 / 1}.field-size-preview-board.is-2x2{aspect-ratio:1 / 1}.field-size-preview-board.is-3x2{aspect-ratio:3 / 2}.field-size-preview-board.is-4x2{aspect-ratio:2 / 1}.field-size-preview-board.is-6x2{aspect-ratio:3 / 1}.field-size-preview-board.is-4x4{aspect-ratio:1 / 1}.field-size-preview-board.is-6x4{aspect-ratio:3 / 2}.field-size-preview-board.is-8x4{aspect-ratio:2 / 1}.field-size-preview-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,color-mix(in srgb,var(--f-line) 75%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in srgb,var(--f-line) 75%,transparent) 1px,transparent 1px);background-size:25% 25%;pointer-events:none}.field-size-preview-widget{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;min-width:0;margin:0;padding:12px;border:0;border-radius:0;background:var(--f-surface);color:var(--f-ink);overflow:hidden}.field-size-preview-head{display:flex;align-items:center;gap:3px;min-width:0;overflow:hidden}.field-size-preview-head svg{flex:none;font-size:13px}.field-size-preview-head b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:900}.field-size-preview-data{display:flex;align-items:baseline;align-content:flex-start;flex-wrap:wrap;gap:2px 4px;min-width:0;overflow:hidden;font-size:9px;line-height:1.2}.field-size-preview-data strong,.field-size-preview-data b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:900}.field-size-preview-data span,.field-size-preview-data small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;color:var(--f-ink-2)}.field-size-preview-zone-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;flex-basis:100%;min-width:0;overflow:hidden}.field-size-preview-zone-grid>span{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1px 3px;min-width:0;padding:3px;border:1px solid var(--f-line);border-radius:3px;background:var(--f-sunken);overflow:hidden}.field-size-preview-zone-grid b{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:900}.field-size-preview-zone-grid strong{font-size:10px;line-height:1.05}.field-size-preview-zone-grid small{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.05}.field-size-preview-zone-grid .field-size-preview-chart{grid-column:1/-1;height:10px}.field-size-preview-range{grid-column:1/-1;height:4px;border-radius:999px;background:var(--f-line);position:relative;overflow:visible!important}.field-size-preview-range i{position:absolute;left:58%;top:50%;width:5px;height:5px;border-radius:50%;background:var(--f-focus);transform:translate(-50%,-50%)}.field-size-preview-list{display:grid;gap:2px;flex-basis:100%;min-width:0;overflow:hidden}.field-size-preview-list>span,.field-size-preview-list>small{display:flex;align-items:baseline;gap:3px;min-width:0;padding:2px 3px;border-left:2px solid var(--f-ok);border-radius:2px;background:var(--f-sunken);font-size:7px;line-height:1.05}.field-size-preview-list>span>b{flex:none;font-size:8px;font-weight:900}.field-size-preview-list>span small,.field-size-preview-list>small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--f-ink-2);font-size:7px;font-weight:800}.field-size-preview-list>small{justify-content:center;border-left-color:var(--f-line)}.field-size-preview-zone-grid.is-rich>span{padding:4px;gap:2px 4px}.field-size-preview-zone-grid.is-rich b{font-size:9px}.field-size-preview-zone-grid.is-rich strong{font-size:11px}.field-size-preview-chart{display:flex!important;align-items:flex-end;gap:2px;flex-basis:100%;height:18px;overflow:hidden!important}.field-size-preview-chart i{display:block;flex:1;min-width:2px;border-radius:2px 2px 0 0;background:var(--f-ink-3)}.field-size-preview-chart.is-cough i:nth-child(1){height:45%}.field-size-preview-chart.is-cough i:nth-child(2){height:72%}.field-size-preview-chart.is-cough i:nth-child(3){height:54%}.field-size-preview-chart.is-cough i:nth-child(4){height:88%}.field-size-preview-chart.is-cough i:nth-child(5){height:64%}.field-size-preview-chart.is-cough i:nth-child(6){height:96%}.field-size-preview-chart.is-cough i:nth-child(odd){background:var(--series-cough-dry)}.field-size-preview-chart.is-cough i:nth-child(2n){background:var(--series-cough-wet)}.field-size-preview-chart.is-environment i{height:60%;border-top:2px solid var(--series-temp);background:color-mix(in srgb,var(--series-temp) 18%,transparent)}.field-size-preview-chart.is-environment i:nth-child(2){height:84%;border-top-color:var(--series-humidity);background:color-mix(in srgb,var(--series-humidity) 18%,transparent)}.field-size-preview-chart.is-environment i:nth-child(3){height:48%;border-top-color:var(--series-co2);background:color-mix(in srgb,var(--series-co2) 18%,transparent)}.field-size-preview-chart.is-status{align-items:center;height:10px;gap:2px}.field-size-preview-chart.is-status i{height:8px;border-radius:2px;background:var(--f-ok)}.field-size-preview-chart.is-status i:nth-child(3){background:var(--f-warn)}.field-size-preview-chart.is-status i:nth-child(4){background:var(--f-offline)}.field-size-preview-data .is-normal{color:var(--f-ink-3)}.field-size-option.is-1x1 .field-size-preview-widget{padding:12px;gap:6px}.field-size-option.is-1x1 .field-size-preview-head{justify-content:center}.field-size-option.is-1x1 .field-size-preview-head svg{font-size:18px}.field-size-option.is-1x1 .field-size-preview-data{display:grid;place-items:center;gap:2px;font-size:14px;line-height:1.1}.field-size-option.is-1x1 .field-size-preview-data strong,.field-size-option.is-1x1 .field-size-preview-data b{font-size:18px;line-height:1.1}.field-size-option.is-1x1 .field-size-preview-data span,.field-size-option.is-1x1 .field-size-preview-data small{display:none}.field-size-option.is-2x1 .field-size-preview-widget{padding:10px;gap:4px}.field-size-option.is-2x1 .field-size-preview-head b{display:block}.field-size-option.is-2x1 .field-size-preview-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 3px;white-space:normal;font-size:8px;line-height:1.05}.field-size-option.is-2x1 .field-size-preview-data strong,.field-size-option.is-2x1 .field-size-preview-data b{font-size:16px;line-height:1.1}.field-size-option.is-2x1 .field-size-preview-data span,.field-size-option.is-2x1 .field-size-preview-data small{font-size:13px;line-height:1.1}.field-size-option.is-4x2 .field-size-preview-data{gap:2px 4px;line-height:1.1}.field-size-option.is-4x4 .field-size-preview-data{gap:3px 6px}.field-size-option-label{display:flex;align-items:baseline;gap:8px}.field-size-option-label b{font-size:18px;font-weight:900}.field-size-option-label small{font-size:14px;font-weight:750;color:var(--f-ink-2)}.field-picker{width:min(620px,100%)}.field-picker>header>strong{min-width:0}.field-picker-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.field-picker-actions button{margin-left:0!important;width:auto!important;height:auto!important;padding:9px 16px;font:inherit;font-size:16px;font-weight:900}.field-picker-actions button.is-primary{border-color:var(--f-ink);background:var(--f-ink);color:#fff}.field-picker-note{margin:0;padding:12px 20px 0;font-size:16px;font-weight:800;color:var(--f-ink-2)}.field-picker-group{display:grid;gap:5px;margin-bottom:12px}.field-picker-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--f-line);border-radius:9px;background:var(--f-surface);font:inherit;text-align:left;width:100%;cursor:pointer}.field-picker-row.is-barn{background:var(--f-sunken);font-weight:900}.field-picker-row:not(.is-barn){margin-left:22px;width:auto}.field-picker-row b{flex:1;font-size:18px;font-weight:850}.field-picker-mark{width:22px;height:22px;border:2px solid var(--f-line);border-radius:6px;flex:none}.field-picker-row[aria-pressed=true]{border-color:var(--f-ink)}.field-picker-row[aria-pressed=true] .field-picker-mark{background:var(--f-ink);border-color:var(--f-ink)}.field-picker-capacity{margin:0;padding:10px 20px;border-top:1px solid var(--f-line);font-size:15px;font-weight:800;color:var(--f-ink-2)}.field-picker-capacity.is-caution{color:var(--f-warn-text)}.field-picker-capacity.is-danger{color:var(--f-alarm-text)}.field-widget-notice{width:min(620px,calc(100vw - 24px));height:auto;max-height:calc(100vh - 48px)}.field-widget-notice>header>div{min-width:0}.field-widget-notice>header>div>strong{font-size:clamp(22px,1.5vw,30px);font-weight:950}.field-widget-notice-message{margin:0;font-size:clamp(18px,1.2vw,24px);font-weight:800;line-height:1.55;color:var(--f-ink-2)}.field-widget-notice-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.field-widget-notice-actions button{border:1px solid var(--f-line);border-radius:9px;background:var(--f-surface);padding:11px 18px;font:inherit;font-size:17px;font-weight:900;color:var(--f-ink-2);cursor:pointer}.field-widget-notice-actions button.is-primary{border-color:var(--f-ink);background:var(--f-ink);color:#fff}.field-empty{padding:70px;text-align:center;font-size:clamp(22px,1.6vw,30px);font-weight:900;color:var(--f-ink-2)}@media(max-width:900px){.field-tabs{overflow-x:auto}.field-place-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.field-env-row{grid-template-columns:1fr}.field-widget-board{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1350px){.field-modal>nav{flex-wrap:wrap}.field-trend-control-sheet{display:grid;grid-template-columns:auto minmax(0,1fr) auto;flex-basis:100%;width:100%}}@media(max-width:1100px){.field-trend-control-sheet{grid-template-columns:auto minmax(0,1fr) auto}.field-trend-control-group.is-guide{grid-column:auto}}@media(min-width:601px)and (max-width:900px){.field-widget-mini-chart-grid,.field-widget-mini-environment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 8px}.field-widget:has(.field-widget-zone-compact-list) header strong.field-widget-title{font-size:14px;gap:2px;overflow:visible}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group{flex:0 0 auto;gap:2px;overflow:visible}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group>i{display:none}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group>span{flex:0 0 0;max-width:0;padding:0}.field-widget:has(.field-widget-zone-compact-list) .field-widget-zone-compact-list{gap:3px}.field-widget:has(.field-widget-zone-compact-list) .field-widget-zone-compact-list li{padding:2px 4px;line-height:1.05}}@media(max-width:560px){.field-size-options{grid-template-columns:1fr}.field-editor-notice{max-width:100%;order:5}}@media(prefers-reduced-motion:reduce){.field-widget-board.is-editing .field-widget,.field-size-option{transition:none}}@media(max-width:600px){.field-widget-board{width:100%;height:calc(100vh - 230px);min-height:0;aspect-ratio:auto;display:flex;flex-direction:column;gap:8px;align-items:stretch;overflow:auto;padding:8px}.field-widget-board.is-editing{background:var(--f-sunken)}.field-widget{grid-column:auto!important;grid-row:auto!important;flex:0 0 auto;width:100%;min-height:150px}.field-widget-mini-chart-grid,.field-widget-mini-environment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.field-widget:has(.field-widget-mini-chart-grid),.field-widget:has(.field-widget-mini-environment-grid){min-height:380px}.field-widget:has(.field-widget-zone-grid){min-height:260px}.field-edit-bar{right:8px;left:8px;bottom:8px;flex-wrap:wrap;justify-content:flex-end}.field-edit-bar button{padding:10px 12px;font-size:16px}.field-widget header{gap:4px;padding:6px 8px}.field-widget header strong{font-size:17px}.field-widget:has(.field-widget-zone-compact-list) header strong.field-widget-title{font-size:14px;gap:2px;overflow:visible}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group{flex:0 0 auto;gap:2px;overflow:visible}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group>i{display:none}.field-widget:has(.field-widget-zone-compact-list) .field-widget-title-group>span{flex:0 0 0;max-width:0;padding:0}.field-widget-tools{gap:2px;flex-wrap:wrap}.field-widget-tools button{padding:2px 5px;font-size:11px}.field-trend-subpanel-head{align-items:flex-start;flex-direction:column;gap:2px}.field-trend-subpanel-head small{font-size:14px}.field-metric-table-wrap{overflow-x:auto}.field-metric-table-wide{display:none}.field-metric-table-compact{display:table;width:100%;min-width:0;table-layout:fixed}.field-metric-table-compact th,.field-metric-table-compact td{min-width:0;padding:11px 8px;white-space:normal;word-break:keep-all;overflow-wrap:break-word}.field-metric-table-compact thead th{font-size:16px}.field-metric-table-compact tbody th{width:36%;font-size:17px;line-height:1.2}.field-metric-table-compact tbody td{font-size:18px}.field-metric-table-compact tr.is-delta th,.field-metric-table-compact tr.is-delta td{font-size:16px}.field-judgement-detail-row{grid-template-columns:1fr;gap:5px}.field-trend-chart-wrap{min-height:180px}.field-trend-chart{height:180px}.field-trend-chart.is-environment{height:240px}.field-trend-chart.is-cough{height:360px}.field-trend-cough-label{font-size:48px}.field-trend-subpanel.is-cough .field-trend-time{font-size:24px}.field-trend-subpanel.is-cough .field-trend-lane{font-size:26px}}@media(max-width:600px){.field-modal>nav{padding-inline:12px}.field-trend-control-sheet{grid-template-columns:minmax(0,1fr) auto;gap:var(--f-space-2)}.field-trend-control-group.is-metrics{grid-column:1/-1}.field-trend-options{gap:var(--f-space-1)}.field-trend-option,.field-trend-gap-button{padding:var(--f-space-2);font-size:var(--f-control-text)}.field-status-detail .field-judgement-detail-row{grid-template-columns:minmax(86px,30%) minmax(0,1fr);gap:8px;align-items:center}.field-tabs{padding-inline:8px}.field-tabs{gap:0;overflow:hidden;flex-wrap:nowrap}.field-tabs button{flex:0 0 auto;max-width:96px;padding:8px;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-tabs .field-add-tab{max-width:none;padding:8px 6px}.field-tabs>span{min-width:0;max-width:88px;margin-left:auto;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-menu-open{flex:0 0 auto;margin-left:4px;padding:6px 2px;gap:3px;font-size:14px;white-space:nowrap}}@media(max-width:600px){.field-camera-stream-grid{grid-template-columns:1fr!important}.field-camera-stream-cell{min-height:220px}.field-size-drawer{width:min(760px,94vw)}}@media(max-width:600px){.field-barns{display:flex;flex-direction:column;gap:9px;overflow-y:auto;padding-right:2px}.field-barn{display:grid;flex:0 0 auto;height:auto;min-height:0;margin-bottom:0}.field-place-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start}.field-place{width:100%;max-width:none;max-height:none;min-height:150px;flex:none}.field-barn.is-density-lean .field-place-10m,.field-barn.is-density-bare .field-place-10m{display:inline-flex}.field-place-environment{font-size:clamp(13px,4.2vw,17px)}}.field-auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e0a8c;display:grid;place-items:center;z-index:120;padding:20px}.field-auth{width:min(560px,calc(100vw - 40px));background:var(--f-surface);border-radius:14px;overflow:hidden;box-shadow:0 18px 60px #060e0a59;display:flex;flex-direction:column}.field-auth-head{display:flex;align-items:stretch;justify-content:space-between;gap:12px;border-bottom:2px solid var(--f-line);padding:0 8px 0 0}.field-auth-tabs{display:flex}.field-auth-tabs button{border:0;background:transparent;padding:16px 22px 14px;margin-bottom:-2px;border-bottom:3px solid transparent;cursor:pointer;font:inherit;font-size:22px;font-weight:800;color:var(--f-ink-3)}.field-auth-tabs button.is-active{color:var(--f-ink);font-weight:900;border-bottom-color:var(--f-ink)}.field-auth-close{align-self:center;border:0;background:transparent;cursor:pointer;padding:10px;color:var(--f-ink-2);display:grid;place-items:center}.field-auth-close svg{width:26px;height:26px}.field-auth-body{display:grid;gap:18px;padding:24px}.field-auth-field{display:grid;gap:7px}.field-auth-field>span{font-size:20px;font-weight:800;color:var(--f-ink-2)}.field-auth-field input{font:inherit;font-size:22px;font-weight:700;color:var(--f-ink);padding:13px 14px;border:2px solid var(--f-line);border-radius:8px;background:var(--f-surface);min-width:0;width:100%}.field-auth-field input:focus-visible{outline:2px solid var(--f-focus);outline-offset:1px;border-color:var(--f-focus)}.field-auth-password{display:flex;gap:8px;align-items:stretch;min-width:0}.field-auth-password input{flex:1;min-width:0}.field-auth-password button{flex:none;border:2px solid var(--f-line);background:var(--f-surface);border-radius:8px;padding:0 14px;cursor:pointer;font:inherit;font-size:20px;font-weight:800;color:var(--f-ink-2)}.field-auth-error{margin:0;font-size:20px;font-weight:800;color:var(--f-alarm-text);background:color-mix(in srgb,var(--f-alarm) 8%,var(--f-surface));border-left:5px solid var(--f-alarm);padding:11px 13px}.field-auth-note{margin:0;font-size:19px;line-height:1.5;font-weight:700;color:var(--f-ink-2)}.field-auth-submit{border:0;border-radius:8px;padding:15px;cursor:pointer;font:inherit;font-size:23px;font-weight:900;background:var(--f-ok);color:var(--f-ok-ink)}.field-auth-submit:disabled{background:var(--f-line);color:var(--f-ink-3);cursor:default}.field-auth-submit:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-menu-open{align-self:center;margin-left:14px;display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer;color:var(--f-ink);padding:8px 6px;font:inherit;font-size:clamp(20px,1.15vw,34px);font-weight:900}.field-menu-open svg{width:1em;height:1em}.field-menu-open:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-cough-settings{position:relative;align-self:stretch;display:flex;align-items:center;z-index:120}.field-cough-settings-panel{position:absolute;top:calc(100% + 8px);left:0;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 88px);overflow:auto;padding:18px;background:var(--f-surface);border:1px solid var(--f-line);border-radius:12px;box-shadow:0 16px 36px #060e0a3d;color:var(--f-ink);font-size:17px;z-index:130}.field-cough-settings-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;font-size:21px}.field-cough-settings-head button{display:inline-flex!important;align-items:center;justify-content:center;margin:0!important;padding:4px!important;border:0!important;background:transparent!important;color:var(--f-ink-2)!important;font-size:20px!important}.field-cough-settings-form{display:grid;gap:12px}.field-cough-settings-check{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;row-gap:2px;font-weight:850}.field-cough-settings-check input{width:18px;height:18px;accent-color:var(--f-ok);grid-row:span 2}.field-cough-settings-check small{grid-column:2;color:var(--f-ink-3);font-size:14px;font-weight:650}.field-cough-settings-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:800}.field-cough-settings-segmented{display:inline-flex;border:1px solid var(--f-line);border-radius:8px;overflow:hidden}.field-cough-settings-segmented button{margin:0!important;padding:7px 13px!important;border:0!important;border-radius:0!important;background:var(--f-bg)!important;color:var(--f-ink-2)!important;font:inherit!important;font-size:16px!important;font-weight:800!important}.field-cough-settings-segmented button.is-active{background:var(--f-ink)!important;color:var(--f-surface)!important}.field-cough-settings-row label,.field-cough-settings-sample{display:inline-flex;align-items:center;gap:6px}.field-cough-settings-row input,.field-cough-settings-sample input{width:82px;padding:7px 8px;border:1px solid var(--f-line);border-radius:6px;background:var(--f-bg);color:var(--f-ink);font:inherit;font-variant-numeric:tabular-nums}.field-cough-settings-row input:disabled,.field-cough-settings-sample input:disabled{opacity:.5}.field-cough-settings-actions{display:flex;align-items:center;gap:12px;min-width:0;min-height:41px}.field-cough-settings-actions .field-cough-settings-saved{min-width:0;overflow-wrap:anywhere}.field-cough-settings-save{margin:2px 0 0!important;padding:9px 14px!important;border:0!important;border-radius:7px!important;background:var(--f-ok)!important;color:var(--f-ok-ink)!important;font:inherit!important;font-size:16px!important;font-weight:900!important;cursor:pointer}.field-cough-settings-save:disabled{opacity:.55;cursor:default}.field-cough-settings-state,.field-cough-settings-error,.field-cough-settings-readonly,.field-cough-settings-saved{margin:0;font-size:15px;font-weight:750;line-height:1.45}.field-cough-settings-error{color:var(--f-alarm)}.field-cough-settings-readonly{color:var(--f-ink-3)}.field-cough-settings-saved{color:var(--f-ok-ink)}@media(max-width:600px){.field-cough-settings-panel{left:auto;right:0;width:min(520px,calc(100vw - 24px))}}.field-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#060e0a73;z-index:200;display:block}.field-menu{position:relative;z-index:201;background:var(--f-surface);border-bottom:3px solid var(--f-rule);box-shadow:0 18px 50px #060e0a47;max-height:min(86vh,900px);overflow:auto;animation:field-menu-drop .16s ease-out}@media(prefers-reduced-motion:reduce){.field-menu{animation:none}}@keyframes field-menu-drop{0%{transform:translateY(-14px);opacity:.4}to{transform:none;opacity:1}}.field-menu-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px clamp(16px,1.6vw,32px);border-bottom:2px solid var(--f-line)}.field-menu-who{display:flex;align-items:baseline;gap:12px;min-width:0}.field-menu-who strong{font-size:clamp(22px,1.5vw,34px);font-weight:900;letter-spacing:-.02em}.field-menu-who>span{font-size:clamp(20px,1.05vw,24px);font-weight:800;color:var(--f-ink-3)}.field-menu-actions{display:flex;align-items:center;gap:10px;flex:none}.field-menu-version{display:inline-flex;align-items:center;white-space:nowrap;padding:9px 11px;border:2px solid var(--f-line);border-radius:8px;background:var(--f-sunken);color:var(--f-ink-2);font-size:clamp(16px,.9vw,20px);font-weight:800}.field-menu-out,.field-menu-close{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:2px solid var(--f-line);background:var(--f-surface);border-radius:8px;font:inherit;font-size:clamp(20px,1.05vw,24px);font-weight:800;color:var(--f-ink-2);padding:9px 14px}.field-menu-close{padding:9px 11px}.field-menu-out svg,.field-menu-close svg{width:1.1em;height:1.1em}.field-menu-out:focus-visible,.field-menu-close:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-menu-grid{list-style:none;margin:0;padding:clamp(14px,1.4vw,26px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1vw,18px)}@media(max-width:1280px){.field-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.field-menu-grid{grid-template-columns:minmax(0,1fr)}}.field-menu-grid a{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;padding:clamp(14px,1.1vw,20px);text-decoration:none;color:var(--f-ink);border:2px solid var(--f-line);border-radius:10px;background:var(--f-surface)}.field-menu-grid a:hover{border-color:var(--f-ink-3)}.field-menu-grid a:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.field-menu-grid svg{grid-row:1/3;width:clamp(28px,2vw,40px);height:clamp(28px,2vw,40px);color:var(--f-ink-2)}.field-menu-grid strong{font-size:clamp(21px,1.2vw,28px);font-weight:900;letter-spacing:-.02em}.field-menu-grid span{font-size:clamp(20px,1vw,22px);font-weight:700;color:var(--f-ink-3);line-height:1.25}.field-optionals{display:none}@container (min-height: 450px){.field-place .field-optionals{display:flex}}@container (max-height: 104px){.field-place-why{display:none}}@container (min-height: 200px){.field-place-why{flex-wrap:wrap}.field-place-why>span{white-space:normal;text-overflow:clip;line-height:1.05}}.field-auth-plain{border:0;background:transparent;cursor:pointer;font:inherit;font-size:20px;font-weight:800;color:var(--f-ink-3);padding:6px}.field-auth-plain:hover{color:var(--f-ink-2)}.field-auth-plain:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.developer-only{position:relative;margin-top:10px;padding:12px 14px 10px;border:1px dashed var( --line, #DCE3D9 );border-radius:12px;background:var( --surface-3, #EEF3EA )}.developer-only-tag{display:inline-block;margin-bottom:8px;color:var( --text-muted, #6B736D );font-size:13px;font-weight:800;letter-spacing:.02em}.developer-only>.panel,.developer-only>.detail-card,.developer-only>section{border:0;background:transparent;box-shadow:none}.app-shell.is-flat{--sidebar-w: 0px;padding-left:0!important;min-height:100dvh;height:auto;display:flex;flex-direction:column;overflow:visible;background:var( --f-bg );background-image:linear-gradient(180deg,var( --f-board-top ),var( --f-board-bottom ));color:var( --f-ink );font-family:var( --f-font )}.app-shell.is-flat .app-topbar-tabs{display:flex;align-items:stretch;gap:2px;min-width:0;overflow-x:auto}.app-shell.is-flat .app-main{flex:1 1 auto!important;min-height:0;width:100%!important;max-width:none!important;overflow:visible;padding:14px 12px 16px!important}@media(max-width:860px){.app-shell.is-flat .app-topbar-tabs{order:3;flex:1 1 100%;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin}}@media(max-width:600px){.app-shell.is-flat .app-topbar-tabs{flex-wrap:wrap;overflow:visible;row-gap:0}}.app-shell.is-sonic-module .app-topbar-tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.app-shell.is-sonic-module .app-topbar-tabs::-webkit-scrollbar{display:none}.module-status-sonic{gap:var(--f-space-4);color:var(--f-ink);font-family:var(--f-font);font-variant-numeric:tabular-nums}.module-status-sonic .sonic-page-controls{position:relative;z-index:20;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--f-space-3)}.module-status-sonic .module-page-actions{flex:none;margin-left:auto}.module-status-sonic .module-page-actions .button,.module-status-sonic .module-update-chip{min-height:40px;border-color:var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);box-shadow:none;color:var(--f-ink-2)}.module-status-sonic .sonic-zone-filter{display:flex;flex-wrap:wrap;gap:var(--f-space-2);min-width:0}.module-status-sonic .sonic-zone-group{position:relative;display:inline-flex}.module-status-sonic .sonic-zone-check,.module-status-sonic .sonic-zone-filter button{display:inline-flex;align-items:center;gap:var(--f-space-2);min-height:40px;padding:0 var(--f-space-3);border:0;border-radius:var(--f-radius-cell);background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:var(--f-control-text);font-weight:850;cursor:pointer}.module-status-sonic .sonic-zone-check input{width:16px;height:16px;margin:0;accent-color:var(--f-ok)}.module-status-sonic .sonic-zone-group>.sonic-zone-check{border-radius:var(--f-radius-cell) 0 0 var(--f-radius-cell)}.module-status-sonic .sonic-zone-filter .sonic-zone-expand{width:36px;padding:0;border-left:0;border-radius:0 var(--f-radius-cell) var(--f-radius-cell) 0}.module-status-sonic .sonic-zone-expand i{transition:transform .12s ease-out}.module-status-sonic .sonic-zone-group.is-expanded .sonic-zone-expand i{transform:rotate(180deg)}.module-status-sonic .sonic-zone-check:hover,.module-status-sonic .sonic-zone-check.is-active,.module-status-sonic .sonic-zone-group.has-selection>.sonic-zone-check,.module-status-sonic .sonic-zone-group.has-selection>.sonic-zone-expand{border-color:var(--f-ok);background:var(--f-sunken);color:var(--f-ink)}.module-status-sonic .sonic-zone-check:has(input:focus-visible),.module-status-sonic .sonic-zone-filter button:focus-visible{position:relative;z-index:1;outline:2px solid var(--f-focus);outline-offset:2px}.module-status-sonic .sonic-zone-children{position:absolute;top:calc(100% + var(--f-space-2));left:0;z-index:30;display:grid;gap:var(--f-space-1);min-width:180px;padding:var(--f-space-2);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);box-shadow:var(--f-lift)}.module-status-sonic .sonic-zone-children .sonic-zone-check{width:100%;min-height:36px;text-align:left}.module-status-sonic .sonic-overview-chart{overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.module-status-sonic .sonic-overview-chart-head{display:flex;align-items:center;justify-content:space-between;gap:var(--f-space-4);min-height:72px;padding:var(--f-space-3) var(--f-space-4);border-bottom:1px solid var(--f-line)}.module-status-sonic .sonic-overview-chart-head>div{display:grid;gap:var(--f-space-1)}.module-status-sonic .sonic-overview-chart-head strong{color:var(--f-ink);font-size:20px;font-weight:900}.module-status-sonic .sonic-overview-chart-head>div span{color:var(--f-ink-3);font-size:14px;font-weight:700}.module-status-sonic .sonic-overview-chart-head label{display:flex;align-items:center;gap:var(--f-space-2);color:var(--f-ink-3);font-size:var(--f-control-text);font-weight:850}.module-status-sonic .sonic-overview-chart-head select{min-width:260px;min-height:40px;padding:0 var(--f-space-3);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);color:var(--f-ink);font:inherit}.module-status-sonic .sonic-overview-chart-head select:focus-visible{outline:2px solid var(--f-focus);outline-offset:2px}.module-status-sonic .sonic-overview-chart-body{position:relative;padding:var(--f-space-3) var(--f-space-4) var(--f-space-4)}.module-status-sonic .sonic-chart-legend{display:flex;gap:var(--f-space-4);margin-bottom:var(--f-space-2);color:var(--f-ink-2);font-size:13px;font-weight:800}.module-status-sonic .sonic-chart-legend span:before{display:inline-block;width:9px;height:9px;margin-right:6px;border-radius:2px;background:var(--f-ok);content:""}.module-status-sonic .sonic-chart-legend .is-wet:before{background:var(--f-info)}.module-status-sonic .sonic-cough-preview{display:block;width:100%;height:auto}.module-status-sonic .sonic-cough-preview line{stroke:var(--f-line);stroke-width:1}.module-status-sonic .sonic-cough-preview text{fill:var(--f-ink-3);font-size:12px;font-weight:700}.module-status-sonic .sonic-cough-preview rect.is-dry{fill:var(--f-ok)}.module-status-sonic .sonic-cough-preview rect.is-wet{fill:var(--f-info)}.module-status-sonic .sonic-cough-preview rect.is-gap{fill:var(--f-sunken)}.module-status-sonic .sonic-chart-empty{display:grid;min-height:230px;place-items:center;color:var(--f-ink-3)}.module-status-sonic .sonic-chart-detail-link{display:inline-flex;align-items:center;gap:var(--f-space-2);color:var(--f-ok);font-size:14px;font-weight:850}.module-status-sonic>.module-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,230px) minmax(240px,340px) minmax(150px,180px);gap:var(--f-space-2);margin:0;padding:var(--f-space-3);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);box-shadow:none}.module-status-sonic .module-filter-chips{gap:var(--f-space-2)}.module-status-sonic .module-filter-chips button,.module-status-sonic .module-search,.module-status-sonic .module-sort-select{min-height:40px;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);color:var(--f-ink-2);box-shadow:none}.module-status-sonic .module-filter-chips button{flex-shrink:0;white-space:nowrap;padding:0 var(--f-space-3);font-size:var(--f-control-text);font-weight:850}.module-status-sonic .module-filter-chips button:hover,.module-status-sonic .module-filter-chips button.is-active{border-color:var(--f-ok);background:var(--f-sunken);color:var(--f-ink)}.module-status-sonic .module-filter-chips button:focus-visible,.module-status-sonic .module-search:focus-within,.module-status-sonic .module-sort-select:focus-within{outline:2px solid var(--f-focus);outline-offset:2px}.module-status-sonic .module-search,.module-status-sonic .module-sort-select{display:flex;align-items:center;gap:var(--f-space-2);padding:0 var(--f-space-3)}.module-status-sonic .module-search input,.module-status-sonic .module-sort-select select{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--f-ink);font:inherit;font-size:var(--f-control-text);font-weight:800}.module-status-sonic .module-search i,.module-status-sonic .module-sort-select span{color:var(--f-ink-3)}.module-status-sonic .module-sort-select span{flex-shrink:0;white-space:nowrap}.module-status-sonic .sonic-barn-list{display:grid;gap:var(--f-space-4)}.module-status-sonic .sonic-barn-section{overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.module-status-sonic .sonic-barn-head{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 var(--f-space-4);border-bottom:1px solid var(--f-line);background:var(--f-sunken)}.module-status-sonic .sonic-barn-head strong{color:var(--f-ink);font-size:22px;font-weight:900}.module-status-sonic .sonic-barn-head span{color:var(--f-ink-3);font-size:16px;font-weight:850}.module-status-sonic .sonic-device-table-wrap{overflow-x:auto}.module-status-sonic .sonic-device-table{width:100%;min-width:1240px;border-collapse:collapse;color:var(--f-ink-2);font-size:14px}.module-status-sonic .sonic-device-table th,.module-status-sonic .sonic-device-table td{padding:var(--f-space-3);border-bottom:1px solid var(--f-line);text-align:left;vertical-align:middle;white-space:nowrap}.module-status-sonic .sonic-device-table th{background:var(--f-sunken);color:var(--f-ink-3);font-size:13px;font-weight:850}.module-status-sonic .sonic-device-table tbody tr{border-left:4px solid var(--f-ok)}.module-status-sonic .sonic-device-table tbody tr.device-status-CAUTION{border-left-color:var(--f-warn)}.module-status-sonic .sonic-device-table tbody tr.device-status-DANGER{border-left-color:var(--f-alarm)}.module-status-sonic .sonic-device-table tbody tr.device-status-OFFLINE{border-left-color:var(--f-offline)}.module-status-sonic .sonic-device-table tbody tr:hover{background:color-mix(in srgb,var(--f-sunken) 52%,var(--f-surface))}.module-status-sonic .sonic-device-table tbody tr:last-child td{border-bottom:0}.module-status-sonic .sonic-device-identity{width:270px;white-space:normal}.module-status-sonic .sonic-device-identity strong,.module-status-sonic .sonic-device-identity span,.module-status-sonic .sonic-cough-cell strong,.module-status-sonic .sonic-cough-cell span,.module-status-sonic .sonic-received-cell strong,.module-status-sonic .sonic-received-cell span{display:block}.module-status-sonic .sonic-device-identity strong{color:var(--f-ink);font-size:16px;font-weight:900}.module-status-sonic .sonic-device-identity span,.module-status-sonic .sonic-cough-cell span,.module-status-sonic .sonic-received-cell span{margin-top:3px;color:var(--f-ink-3);font-size:12px}.module-status-sonic .sonic-cough-cell strong,.module-status-sonic .sonic-received-cell strong{color:var(--f-ink);font-weight:850}.module-status-sonic .sonic-device-table .button{border-color:var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface);box-shadow:none}.app-shell.is-sonic-module .device-detail-shell,.app-shell.is-sonic-module .device-detail-page{color:var(--f-ink);font-family:var(--f-font)}.app-shell.is-sonic-module .device-detail-shell{display:grid;gap:var(--f-space-3)}.app-shell.is-sonic-module .device-detail-page{gap:var(--f-space-3)}.app-shell.is-sonic-module .device-detail-back{display:inline-flex;align-items:center;gap:var(--f-space-2);width:fit-content;color:var(--f-ink-2);font-size:14px;font-weight:800}.app-shell.is-sonic-module .device-detail-head{align-items:center;margin:0;padding:var(--f-space-3) var(--f-space-4);border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.app-shell.is-sonic-module .device-detail-head .page-title{margin:0;color:var(--f-ink);font-size:24px;line-height:1.25}.app-shell.is-sonic-module .device-detail-meta{display:flex;flex-wrap:wrap;gap:var(--f-space-2) var(--f-space-4);margin-top:var(--f-space-1);color:var(--f-ink-3);font-size:13px;font-weight:700}.app-shell.is-sonic-module .device-detail-head .button-row{align-items:center}.app-shell.is-sonic-module .device-detail-head .button{min-height:38px;border-radius:var(--f-radius-cell);box-shadow:none}.app-shell.is-sonic-module .device-cloud-link{margin-top:var(--f-space-2);font-size:13px}.app-shell.is-sonic-module .device-detail-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-line)}.app-shell.is-sonic-module .device-detail-summary>div{display:grid;align-content:center;min-height:76px;padding:var(--f-space-3) var(--f-space-4);background:var(--f-surface)}.app-shell.is-sonic-module .device-detail-summary span,.app-shell.is-sonic-module .device-detail-summary small{color:var(--f-ink-3);font-size:12px;font-weight:700}.app-shell.is-sonic-module .device-detail-summary strong{color:var(--f-ink);font-size:17px;font-weight:900}.app-shell.is-sonic-module .device-detail-page>.notification,.app-shell.is-sonic-module .device-detail-page .bridge-line{margin:0}.app-shell.is-sonic-module .detail-card-grid{gap:var(--f-space-3)}.app-shell.is-sonic-module .detail-card{border-color:var(--f-line);border-radius:var(--f-radius-cell);box-shadow:none}.app-shell.is-sonic-module .detail-card h2{padding:10px var(--f-space-3);border-color:var(--f-line);font-size:14px}.app-shell.is-sonic-module .detail-kv{min-height:54px;padding:9px var(--f-space-3);border-color:var(--f-line)}.app-shell.is-sonic-module .detail-kv span{margin-bottom:2px;font-size:12px}.app-shell.is-sonic-module .detail-kv strong{font-size:14px}.app-shell.is-sonic-module .device-management{overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.app-shell.is-sonic-module .device-management>summary{display:flex;align-items:center;gap:var(--f-space-2);min-height:46px;padding:0 var(--f-space-4);color:var(--f-ink);font-size:14px;font-weight:850;cursor:pointer;list-style:none}.app-shell.is-sonic-module .device-management>summary::-webkit-details-marker{display:none}.app-shell.is-sonic-module .device-management>summary:after{margin-left:auto;content:"+";color:var(--f-ink-3);font-size:18px}.app-shell.is-sonic-module .device-management[open]>summary{border-bottom:1px solid var(--f-line)}.app-shell.is-sonic-module .device-management[open]>summary:after{content:"−"}.app-shell.is-sonic-module .device-management-body{display:grid;gap:var(--f-space-3);padding:var(--f-space-3)}.app-shell.is-sonic-module .device-management-body>.panel,.app-shell.is-sonic-module .device-management-body>.detail-card{margin:0}.app-shell.is-sonic-module .device-management-body .device-edit-form{padding:var(--f-space-3);border-color:var(--f-line);border-radius:var(--f-radius-cell)}.app-shell.is-sonic-module .device-management-body .device-edit-form input,.app-shell.is-sonic-module .device-management-body .device-edit-form select,.app-shell.is-sonic-module .device-management-body .device-settings-form input,.app-shell.is-sonic-module .device-management-body .firmware-upload-form input{height:38px;border-color:var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.app-shell.is-sonic-module .device-management-body .device-settings-form,.app-shell.is-sonic-module .device-management-body .firmware-upload-form{gap:var(--f-space-3);padding:var(--f-space-3)}.app-shell.is-sonic-module .device-detail-records{overflow:hidden;border:1px solid var(--f-line);border-radius:var(--f-radius-cell);background:var(--f-surface)}.app-shell.is-sonic-module .device-detail-tab-panel{padding:var(--f-space-3)}.app-shell.is-sonic-module .device-detail-tab-panel .section-title{margin:0 0 var(--f-space-3);font-size:16px}.app-shell.is-sonic-module .device-detail-tab-panel .device-command-title{margin-top:var(--f-space-4);padding-top:var(--f-space-4);border-top:1px solid var(--f-line)}.app-shell.is-sonic-module .device-detail-tab-panel .table{font-size:13px}.app-shell.is-sonic-module .device-detail-tab-panel .table th,.app-shell.is-sonic-module .device-detail-tab-panel .table td{padding:9px 10px}@media(max-width:1180px){.module-status-sonic .sonic-page-controls{align-items:stretch;flex-direction:column}.module-status-sonic .module-page-actions{align-self:flex-end}.module-status-sonic>.module-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,220px)}.module-status-sonic .module-search,.module-status-sonic .module-sort-select{width:auto}}@media(max-width:860px){.app-shell.is-sonic-module .device-detail-head{align-items:stretch;flex-direction:column}.app-shell.is-sonic-module .device-detail-head .button-row{justify-content:flex-start}.app-shell.is-sonic-module .device-detail-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell.is-sonic-module .device-detail-summary>div:last-child{grid-column:span 2}.module-status-sonic .sonic-overview-chart-head,.module-status-sonic .sonic-overview-chart-head label{align-items:stretch;flex-direction:column}.module-status-sonic .sonic-overview-chart-head select{width:100%;min-width:0}.module-status-sonic>.module-toolbar{grid-template-columns:minmax(0,1fr)}.module-status-sonic .module-search,.module-status-sonic .module-sort-select{width:100%}}.field-widget-rotation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;flex:none;padding-top:2px}.field-widget-rotation i{width:6px;height:6px;border-radius:50%;background:var(--f-line)}.field-widget-rotation i.is-on{background:var(--f-ink-3)}.field-widget-rotation.is-paused i{opacity:.4}.field-widget-rotation span{font-size:var(--f-floor-label);font-weight:800;color:var(--f-ink-3)}.field-widget-rotation-overflow{flex:0 0 100%;text-align:center;font-size:var(--f-floor-label);font-weight:900;color:var(--f-warn-text)}@media(min-width:601px){.field-main{padding:8px 12px 10px}.field-place-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:1px;align-content:stretch}.field-place{width:100%;max-width:none}.field-place-readout{justify-content:flex-start;gap:clamp(8px,1.2cqh,16px)}.field-barn-head strong{font-size:clamp(28px,2vw,46px)}.field-barn-head>div:first-child span{font-size:clamp(22px,1.05vw,24px)}.field-barn-alerts b{font-size:clamp(22px,1.35vw,30px)}.field-barn-action{font-size:clamp(22px,1.2vw,26px)}.field-place-head strong{font-size:clamp(22px,13cqh,52px)}.field-place-flag{font-size:clamp(21px,10cqh,36px)}.field-place-10m{font-size:clamp(21px,12cqh,38px)}.field-place-main>b{font-size:clamp(32px,24cqh,92px)}.field-place-main>span,.field-place-delta{font-size:clamp(21px,12cqh,44px)}.field-place-why{font-size:clamp(21px,12.5cqh,42px)}.field-widget-body{justify-content:flex-start;gap:6px;padding:8px 10px}.field-widget header{padding:6px 10px}.field-widget header strong{font-size:clamp(22px,1vw,25px)}.field-widget-mini-chart-grid.is-split-2,.field-widget-mini-chart-grid.is-split-4,.field-widget-mini-environment-grid.is-split-2,.field-widget-mini-environment-grid.is-split-4,.field-widget-zone-compact-list.is-split-2,.field-widget-zone-compact-list.is-split-4{align-content:stretch;grid-auto-rows:minmax(0,1fr)}.field-widget-mini-chart-grid>li,.field-widget-mini-environment-grid>li,.field-widget-zone-compact-list li{height:100%;box-sizing:border-box}.field-widget-mini-chart-grid>li{padding:8px 10px}.field-widget-mini-environment-grid>li{padding:8px 10px}.field-widget-mini-chart-head{font-size:clamp(18px,.82vw,20px)}.field-widget-mini-chart-head .field-widget-mini-status{font-size:clamp(15px,.72vw,17px)}.field-widget-chart-head b{font-size:clamp(16px,.82vw,19px)}.field-widget-chart-head small,.field-widget-chart-legend{font-size:clamp(13px,.68vw,15px)}.field-widget-chart-axis{font-size:12px}.field-widget-chart:not(.is-compact) svg{height:clamp(136px,9vw,200px)}.field-widget-environment-range-head{font-size:clamp(17px,.82vw,20px)}.field-widget-environment-range-track{height:12px}.field-widget-environment-range small{font-size:clamp(13px,.64vw,15px)}.field-widget-zone-compact-list li{padding:8px 10px;font-size:clamp(17px,.82vw,20px);line-height:1.25}.field-widget-zone-head>b{font-size:clamp(18px,1.05vw,24px)}.field-widget-zone-status{font-size:clamp(15px,.78vw,18px)}.field-widget-zone-primary{font-size:clamp(18px,1vw,22px)}.field-widget-zone-primary strong{font-size:clamp(24px,1.5vw,32px)}.field-widget-zone-secondary{font-size:clamp(16px,.86vw,20px)}}@media(min-width:601px)and (max-width:900px){.field-place-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr))}.field-place-head strong{font-size:clamp(22px,13cqh,48px)}.field-place-main>b{font-size:clamp(32px,23cqh,76px)}}.field-last-received-compact{display:none}@media(max-width:820px){.field-last-received.is-historical .field-last-received-full{display:none}.field-last-received.is-historical .field-last-received-compact{display:inline;font-size:12px;white-space:nowrap}}@media(max-width:600px){.field-tabs>.field-last-received{flex:0 0 auto;max-width:none;margin-left:auto;font-size:11px;white-space:nowrap;overflow:visible;text-overflow:clip}.field-last-received-full{display:none}.field-last-received-compact{display:inline;font-size:11px;white-space:nowrap}.field-tabs .field-menu-open{font-size:0;gap:0;padding:8px 6px}.field-tabs .field-menu-open svg{width:22px;height:22px}}.field-last-received{display:flex;align-items:center;gap:6px;min-width:0}.field-history-trigger{border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer;white-space:nowrap}.field-history-trigger:hover{text-decoration:underline;text-underline-offset:3px}.field-last-received.is-historical .field-history-trigger{color:var(--f-warn-text);font-weight:850}.field-history-live{display:inline-flex;align-items:center;flex:none;border:1px solid var(--f-line);border-radius:6px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:12px;padding:3px 7px;cursor:pointer;white-space:nowrap}.field-history-modal{width:min(720px,calc(100vw - 24px));height:auto;max-height:calc(100vh - 24px);overflow:visible}.field-history-modal .field-modal-body{overflow:visible}.field-history-backdrop{z-index:2000}.field-history-copy{margin:0;color:var(--f-ink-2);font-size:18px;line-height:1.55}.field-history-calendar{display:grid;gap:16px;border:1px solid var(--f-line);border-radius:14px;background:var(--f-sunken);padding:18px}.field-history-calendar-head{display:grid;gap:4px}.field-history-calendar-head span{color:var(--f-ink-3);font-size:14px;font-weight:800;letter-spacing:.02em}.field-history-calendar-head strong{color:var(--f-ink);font-size:20px;font-weight:900;font-variant-numeric:tabular-nums}.field-history-inputs{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,.7fr);gap:12px;align-items:start}.field-history-field{display:grid;gap:7px;color:var(--f-ink-2);font-size:15px;font-weight:850}.field-history-field input{width:100%;box-sizing:border-box;border:1px solid var(--f-rule);border-radius:10px;background:var(--f-surface);color:var(--f-ink);font:inherit;font-size:20px;font-weight:850;letter-spacing:.01em;padding:12px 14px;accent-color:var(--f-ok)}.field-history-field input:focus{outline:3px solid color-mix(in srgb,var(--f-focus) 22%,transparent);border-color:var(--f-focus)}.field-history-date-picker{position:relative}.field-history-date-trigger{width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--f-rule);border-radius:10px;background:var(--f-surface);color:var(--f-ink);font:inherit;font-size:20px;font-weight:850;letter-spacing:.01em;padding:12px 14px;cursor:pointer;text-align:left;transition:border-color .12s ease-out,box-shadow .12s ease-out}.field-history-date-trigger:hover{border-color:var(--f-ok)}.field-history-date-trigger:focus-visible,.field-history-date-trigger[aria-expanded=true]{outline:3px solid color-mix(in srgb,var(--f-focus) 22%,transparent);border-color:var(--f-focus)}.field-history-date-trigger svg{flex:none;color:var(--f-ink-3);font-size:20px}.field-history-date-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:100%;box-sizing:border-box;border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface);box-shadow:var(--f-shadow);padding:12px;color:var(--f-ink)}.field-history-date-nav{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid var(--f-line)}.field-history-date-nav button{border:1px solid var(--f-line);border-radius:7px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:12px;font-weight:850;padding:6px 8px;cursor:pointer}.field-history-date-nav button:hover:not(:disabled){border-color:var(--f-ok);color:var(--f-ok)}.field-history-date-nav button:disabled{cursor:not-allowed;opacity:.35}.field-history-date-nav .field-history-date-month-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-color:transparent;color:var(--f-ink);font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}.field-history-date-nav .field-history-date-month-toggle:hover{background:var(--f-accent-soft);border-color:var(--f-line);color:var(--f-ok)}.field-history-date-month-toggle svg{transition:transform .12s ease-out}.field-history-date-month-toggle svg.is-open{transform:rotate(180deg)}.field-history-date-weekdays,.field-history-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.field-history-date-weekdays{padding:10px 2px 4px;color:var(--f-ink-3);font-size:12px;font-weight:850;text-align:center}.field-history-date-grid button{min-width:0;height:36px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--f-ink);font:inherit;font-size:14px;font-weight:750;cursor:pointer}.field-history-date-grid button:hover:not(:disabled){border-color:var(--f-ok);background:var(--f-accent-soft);color:var(--f-ok)}.field-history-date-grid button:focus-visible{outline:2px solid var(--f-focus);outline-offset:1px}.field-history-date-grid button.is-outside{color:var(--f-ink-3);font-weight:600}.field-history-date-grid button:disabled{cursor:not-allowed;opacity:.36}.field-history-date-grid button.is-selected{background:var(--f-ok);border-color:var(--f-ok);color:var(--f-ok-ink);font-weight:900}.field-history-date-month-picker{display:grid;gap:16px;padding:8px 2px 2px}.field-history-date-month-section{display:grid;gap:8px}.field-history-date-month-section>span{color:var(--f-ink-3);font-size:12px;font-weight:850}.field-history-date-year-grid,.field-history-date-month-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.field-history-date-year-grid button,.field-history-date-month-grid button{border:1px solid var(--f-line);border-radius:8px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:14px;font-weight:800;padding:9px 6px;cursor:pointer}.field-history-date-year-grid button:hover:not(:disabled),.field-history-date-month-grid button:hover:not(:disabled){border-color:var(--f-ok);background:var(--f-accent-soft);color:var(--f-ok)}.field-history-date-year-grid button.is-selected,.field-history-date-month-grid button.is-selected{border-color:var(--f-ok);background:var(--f-ok);color:var(--f-ok-ink)}.field-history-date-year-grid button:disabled,.field-history-date-month-grid button:disabled{cursor:not-allowed;opacity:.35}.field-history-date-range{margin-top:10px;padding-top:10px;border-top:1px solid var(--f-line);color:var(--f-ink-3);font-size:12px;font-weight:750;text-align:center;font-variant-numeric:tabular-nums}.field-history-error{margin:0;color:var(--f-alarm);font-weight:800}.field-history-actions{display:flex;justify-content:flex-end;gap:8px}.field-history-actions button{border:1px solid var(--f-line);border-radius:8px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-weight:800;padding:10px 16px;cursor:pointer}.field-history-actions button.is-primary{background:var(--f-ink);border-color:var(--f-ink);color:#fff}.field-history-replay-state{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1800;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--f-ink) 42%,transparent)}.field-history-replay-card{width:min(440px,calc(100vw - 32px));box-sizing:border-box;display:grid;justify-items:center;gap:12px;padding:24px;border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface);box-shadow:var(--f-shadow);color:var(--f-ink);text-align:center}.field-history-replay-card strong{font-size:20px;font-weight:900}.field-history-replay-card>span:not(.field-history-replay-spinner){color:var(--f-ink-2);font-size:14px;line-height:1.5}.field-history-replay-spinner{width:36px;height:36px;border:4px solid var(--f-line);border-top-color:var(--f-ok);border-radius:50%;animation:field-history-replay-spin .9s linear infinite}.field-history-replay-state.is-error .field-history-replay-card{border-color:color-mix(in srgb,var(--f-alarm) 42%,var(--f-line))}.field-history-replay-actions{display:flex;gap:8px;margin-top:4px}.field-history-replay-actions button{border:1px solid var(--f-line);border-radius:8px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-weight:800;padding:10px 14px;cursor:pointer}.field-history-replay-actions button.is-primary{border-color:var(--f-ink);background:var(--f-ink);color:#fff}@keyframes field-history-replay-spin{to{transform:rotate(360deg)}}@media(max-width:520px){.field-history-inputs{grid-template-columns:1fr}.field-history-calendar-head strong{font-size:17px}.field-history-date-popover{width:100%}}@media(max-height:780px){.field-history-backdrop{place-items:start center;overflow:auto}.field-history-backdrop .field-history-modal{margin:12px 0}}.field-trend-series.is-cough-caution{fill:none;stroke:var(--f-warn-text);stroke-width:1.8;stroke-dasharray:8 6;stroke-linecap:round;opacity:.9}.field-trend-series.is-cough-danger{fill:none;stroke:var(--f-alarm-text);stroke-width:2.8;stroke-dasharray:3 5;stroke-linecap:round;opacity:1}.field-trend-threshold-key{display:inline-flex;align-items:center;gap:4px;margin-left:8px;white-space:nowrap}.field-trend-threshold-key i{display:inline-block;width:10px;height:10px;border-radius:50%;background:currentColor}.field-trend-threshold-key.is-caution{color:var(--f-warn-text)}.field-trend-threshold-key.is-danger{color:var(--f-alarm-text)}.field-trend-threshold-key.is-danger i{border-radius:2px;transform:rotate(45deg)}.field-place-collector-tag{margin-left:.4em;padding:0 .35em;border-radius:4px;background:var(--f-sunken);color:var(--f-ink-2);font-style:normal;font-weight:800;font-size:.72em;font-variant-numeric:tabular-nums}.field-picker-devices{list-style:none;margin:0 0 2px;padding:2px 0 2px 22px;display:flex;flex-direction:column;gap:2px}.field-picker-devices li{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.field-picker-devices li>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--f-floor-label);font-weight:700;color:var(--f-ink-2)}.field-picker-devices li>code{flex:none;font-size:var(--f-floor-label);color:var(--f-ink-3);font-variant-numeric:tabular-nums}.field-device-fault{display:block;font-style:normal;font-weight:700;color:var(--f-alarm-text);font-size:var(--f-floor-label)}.field-detail-title{display:flex;align-items:center;gap:10px;flex:1 1 auto;flex-wrap:wrap;min-width:0}.field-detail-modal>header .field-device-name-swap{display:inline-flex;align-items:center;flex:none;width:auto;height:34px;margin-left:0;padding:3px 9px;border:1px solid var(--f-line);border-radius:6px;background:var(--f-surface);color:var(--f-ink-2);font-size:var(--f-floor-label);font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.field-detail-modal>header .field-detail-title>span{margin-left:0}.field-device-name-swap:hover{background:var(--f-sunken)}.field-device-name-swap[aria-pressed=true]{border-color:var(--f-ink-3);color:var(--f-ink)}.field-place-gauge-wrap{width:100%;display:flex;flex-direction:column;gap:4px;margin-top:auto}.field-place-gauge{position:relative;width:100%;height:clamp(10px,5cqh,18px);flex:none;border-radius:999px;background:var(--f-sunken);overflow:hidden}.field-place-gauge>span{position:absolute;top:0;bottom:0;z-index:0}.field-place-gauge>span.is-normal{background:color-mix(in srgb,var(--f-ok) 48%,var(--f-surface))}.field-place-gauge>span.is-caution{background:color-mix(in srgb,var(--f-warn) 62%,var(--f-surface))}.field-place-gauge>span.is-danger{background:color-mix(in srgb,var(--f-alarm) 66%,var(--f-surface))}.field-place-gauge>b.field-place-gauge-current{position:absolute;top:0;bottom:0;left:0;z-index:1;width:0;margin:0;border-radius:999px}.field-place-gauge>b.field-place-gauge-current.is-normal{background:var(--f-ok)}.field-place-gauge>b.field-place-gauge-current.is-caution{background:var(--f-warn)}.field-place-gauge>b.field-place-gauge-current.is-danger{background:var(--f-alarm)}.field-place-gauge-labels{position:relative;height:clamp(16px,4cqh,24px);color:var(--f-ink-3);font-size:clamp(12px,4.5cqh,16px);font-weight:800;line-height:1;white-space:nowrap}.field-place-gauge-labels>span{position:absolute;top:0;transform:translate(-50%);padding-top:4px;min-width:0}.field-place-gauge-labels>span:before{content:"";position:absolute;top:0;left:50%;width:2px;height:4px;transform:translate(-50%);background:var(--f-ink-3)}.field-place-gauge-labels>span.is-normal{left:0;transform:none}.field-place-gauge-labels>span.is-normal:before{left:0;transform:none}.field-place-gauge-labels>span.is-danger{transform:translate(-100%)}.field-place-gauge-labels>span.is-danger:before{left:100%;transform:translate(-100%)}.field-barn.is-density-bare .field-place-gauge-wrap,.field-barn.is-density-tight .field-place-flag,.field-barn.is-density-lean .field-place-flag,.field-barn.is-density-bare .field-place-flag,.field-barn.is-density-bare .field-place-delta,.field-barn.is-density-bare .field-place-environment{display:none}.field-device-fault-detail{border-left-color:var(--f-alarm-text)}.field-device-fault-detail .field-judgement-detail-row span{color:var(--f-alarm-text)}.field-status-chain{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .35em;margin-top:3px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.field-status-chain>span{display:inline-flex;align-items:baseline;gap:.35em}.field-status-chain i{font-style:normal;font-weight:700;opacity:.5}.field-status-chain>em{font-style:normal;font-weight:700;opacity:.7;margin-left:.1em}.field-status-chain>u{text-decoration:none;font-weight:900;margin-left:.5em}.field-header-meta .field-history-datetime{display:inline-flex;align-items:baseline;gap:var(--f-space-2)}.field-root .field-main{padding:clamp(8px,.521vw,10px) clamp(12px,1.459vw,28px) 10px}.field-root .field-barns{gap:clamp(9px,.677vw,13px)}.field-root .field-place-grid{gap:clamp(10px,.834vw,16px);align-content:stretch;background:transparent}.field-root .field-place{box-sizing:border-box;flex:1 1 0;width:100%;max-width:min(100%,46vw);height:100%;max-height:none;min-height:0;padding:clamp(8px,.521vw,10px) clamp(9px,.625vw,12px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(6px,.469vw,9px);border:1px solid var(--f-line);border-radius:9px;background:var(--f-surface);box-shadow:0 4px 16px #1e2a240f;overflow:hidden;cursor:pointer;container-name:pcard}.field-root .field-place-score{position:relative;display:grid;place-items:center;align-self:center;justify-self:center;width:clamp(72px,9.5cqw,116px);aspect-ratio:1;min-width:0;color:var(--f-ok)}.field-root .field-place-score.is-caution{color:var(--f-warn)}.field-root .field-place-score.is-danger{color:var(--f-alarm)}.field-root .field-place-score.is-offline,.field-root .field-place-score.is-fault,.field-root .field-place-score.is-unknown{color:var(--f-ink-3)}.field-root .field-place-score>b{position:relative;z-index:1;margin-top:3px;font-size:clamp(25px,3.4cqw,46px);font-weight:850;line-height:.95;letter-spacing:-.06em;color:currentColor}.field-root .field-place-score>s{position:relative;z-index:1;margin-top:-1px;text-decoration:none;font-size:clamp(10px,1.05cqw,14px);font-weight:720;color:var(--f-ink-2)}.field-root .field-place-rate.is-caution>b{color:var(--f-warn)}.field-root .field-place-rate.is-danger>b{color:var(--f-alarm)}.field-root .field-place-fault-state{grid-row:2;grid-column:1/-1;min-height:0;margin:0;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--f-fault);text-align:left}.field-root .field-place-fault-state>svg{flex:none;stroke-width:1.9}.field-root .field-place-fault-state>span{display:grid;gap:3px;min-width:0}.field-root .field-place-fault-state b{font-weight:850;line-height:1.05;color:var(--f-alarm-text)}.field-root .field-place-fault-state em{font-style:normal;font-weight:680;color:var(--f-ink-3)}.field-root .field-place.is-offline .field-place-head,.field-root .field-place.is-unknown .field-place-head,.field-root .field-place.is-fault .field-place-head{background:transparent;color:var(--f-ink)}.field-root .field-rollup-rate-value.is-caution{color:var(--f-warn)}.field-root .field-rollup-rate-value.is-danger{color:var(--f-alarm)}.field-root .field-cough-settings-panel{left:auto;right:0}@media(min-width:761px)and (max-height:760px){.field-root .field-place{grid-template-rows:24px minmax(0,1fr);gap:4px;padding:6px 8px 5px}.field-root .field-place-head{min-height:24px;gap:4px}.field-root .field-place-head strong{font-size:18px}.field-root .field-place-detail{font-size:10px}.field-root .field-place-body{grid-template-columns:42px minmax(0,1fr) 1px minmax(72px,1fr);gap:6px}.field-root .field-place-score{width:42px}.field-root .field-place-score>b{font-size:16px}.field-root .field-place-score>s{font-size:8px}.field-root .field-place-rate{gap:1px}.field-root .field-place-rate>u{font-size:8px;gap:2px}.field-root .field-place-rate>b{font-size:16px;gap:2px}.field-root .field-place-rates{gap:1px}.field-root .field-place-rates .field-place-rate{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline}.field-root .field-place-rates .field-place-rate>b{justify-self:end}.field-root .field-place-rates .field-place-rate>b{font-size:14px}.field-root .field-place-slots{display:none}.field-root .field-barn.is-collapsed .field-barn-rollup{overflow:auto;align-content:start;grid-template-rows:24px auto}.field-root .field-barn.is-collapsed .field-rollup-cards{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:minmax(72px,auto);overflow:visible;align-content:start}.field-root .field-barn.is-collapsed .field-rollup-card{display:flex;min-height:72px;height:auto;overflow:auto}}@container pcard (max-height:130px){.field-root .field-place{grid-template-rows:24px minmax(0,1fr);gap:4px;padding:6px 8px 5px}.field-root .field-place-head{min-height:24px;gap:4px}.field-root .field-place-head strong{font-size:18px}.field-root .field-place-detail{font-size:10px}.field-root .field-place-body{grid-template-columns:42px minmax(0,1fr) 1px minmax(72px,1fr);gap:6px}.field-root .field-place-score{width:42px}.field-root .field-place-score>b{font-size:16px}.field-root .field-place-score>s{font-size:8px}.field-root .field-place-rate{gap:1px}.field-root .field-place-rate>u{font-size:8px;gap:2px}.field-root .field-place-rate>b{font-size:16px;gap:2px}.field-root .field-place-rates{gap:1px}.field-root .field-place-rates .field-place-rate>b{font-size:14px}.field-root .field-place-slots{display:none}}@media(min-width:761px){.field-root .field-place-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.field-root .field-place{width:100%;max-width:none}}.field-root .field-dashboard-header{position:relative;z-index:30}.field-root{position:relative}.field-root .field-dashboard-header{box-sizing:border-box;min-height:86px;height:86px;display:grid;grid-template-columns:minmax(230px,1fr) minmax(420px,1.2fr) auto auto auto;align-items:center;gap:22px;padding:12px 28px;background:var(--f-bg);border-bottom:1px solid var(--f-line);overflow:visible}.field-root .field-dashboard-header button{margin:0;border:0;background:transparent;font:inherit;color:var(--f-ink);cursor:pointer}.field-header-actions{display:inline-flex;align-items:center;gap:12px;white-space:nowrap;grid-column:3 / -1;justify-self:end}.field-header-brand{display:grid;gap:1px;min-width:0;line-height:1.08}.field-header-brand strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(24px,1.65vw,34px);font-weight:850;letter-spacing:-.045em}.field-header-brand>span{font-size:clamp(13px,.88vw,18px);font-weight:650;color:var(--f-ink-2);letter-spacing:-.025em}.field-header-context{display:flex;align-items:center;gap:28px;min-width:0}.field-header-meta{display:inline-flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;color:var(--f-ink-2);font-size:clamp(13px,.88vw,18px);font-weight:650}.field-header-meta>svg{flex:none;width:1.22em;height:1.22em;color:var(--f-info);stroke-width:2.4}.field-header-meta b{font-weight:750;color:var(--f-ink-2)}.field-header-meta em{font-style:normal;color:var(--f-ink);font-weight:780}.field-header-meta .field-history-trigger{padding:0;color:var(--f-ink);font-size:inherit;font-weight:780;white-space:nowrap}.field-header-meta .field-history-trigger:hover{text-decoration:underline;text-underline-offset:3px}.field-header-meta .field-history-live{padding:2px 7px;border:1px solid var(--f-line);border-radius:6px;background:var(--f-surface);font-size:.82em;color:var(--f-ink-2)}.field-header-status{display:inline-flex;align-items:center;gap:0;padding:8px 13px;border:1px solid var(--f-line);border-radius:11px;background:var(--f-surface);box-shadow:0 3px 14px #1e2a240d;white-space:nowrap}.field-header-status>span{display:inline-flex;align-items:center;gap:6px;padding:0 12px;color:var(--f-ink-2);font-size:clamp(12px,.8vw,16px);font-weight:700}.field-header-status>span+span{border-left:1px solid var(--f-line)}.field-header-status i{width:11px;height:11px;border-radius:50%;background:var(--f-ink-3)}.field-header-status b{font-size:1.12em;font-weight:900;color:var(--f-ink)}.field-header-status .is-normal i{background:var(--f-ok)}.field-header-status .is-caution i{background:var(--f-warn)}.field-header-status .is-danger i{background:var(--f-alarm)}.field-header-status .is-offline i{background:var(--f-offline)}.field-threshold-help{position:relative;display:inline-flex;align-items:center;justify-content:center;z-index:30}.field-threshold-bubble{position:absolute;right:0;top:calc(100% + 10px);display:grid;gap:7px;width:min(360px,calc(100vw - 32px));padding:14px 16px;border:1px solid var(--f-line);border-radius:12px;background:var(--f-surface);box-shadow:0 10px 24px #1e2a2424;color:var(--f-ink-2);font-size:14px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(-3px);transition:opacity .12s ease-out,transform .12s ease-out}.field-threshold-bubble strong{color:var(--f-ink);font-size:15px;font-weight:900}.field-threshold-bubble b{color:var(--f-ink);font-weight:900}.field-threshold-bubble b.is-normal{color:var(--f-ok);font-size:15px}.field-threshold-bubble b.is-caution{color:var(--f-warn-text);font-size:15px}.field-threshold-bubble b.is-danger{color:var(--f-alarm);font-size:15px}.field-threshold-bubble small{display:block;color:var(--f-ink-3);font-size:12px;font-weight:750;line-height:1.5}.field-threshold-help:hover .field-threshold-bubble,.field-threshold-help:focus-within .field-threshold-bubble{opacity:1;pointer-events:auto;transform:none}.field-root .field-dashboard-header .field-menu-open{padding:6px 3px;color:var(--f-ink);font-size:clamp(20px,1.407vw,27px);font-weight:760;white-space:nowrap}.field-root .field-dashboard-header .field-menu-open:hover{text-decoration:underline;text-underline-offset:4px}.field-root .field-main{padding:10px 28px}.field-root .field-barns{gap:13px}.field-root .field-barn-head{box-sizing:border-box;min-height:42px;padding:0 0 5px;gap:16px;margin-bottom:7px;color:var(--f-ink)}.field-root .field-barn-head>div:first-child{align-items:center;gap:18px}.field-root .field-barn-head strong{font-size:clamp(22px,1.45vw,30px);font-weight:820;letter-spacing:-.045em;color:var(--f-ink)}.field-root .field-barn-head .field-barn-alerts{display:none}.field-barn-environment{display:flex;align-items:center;gap:20px;min-width:0;color:var(--f-ink-2)}.field-barn-environment>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;font-size:14px;font-weight:680}.field-barn-environment svg{width:17px;height:17px;color:var(--f-info);stroke-width:2.3}.field-barn-environment b{font-weight:750;color:var(--f-ink-2)}.field-root .field-barn-action{padding:0;text-decoration:none;color:var(--f-ink-2);font-size:14px;font-weight:750}.field-root .field-barn-action:hover{text-decoration:underline;text-underline-offset:4px}.field-root .field-place-grid{gap:16px;align-content:stretch;background:transparent}.field-root .field-place{box-sizing:border-box;flex:1 1 0;width:100%;max-width:min(100%,46vw);height:100%;max-height:none;min-height:0;padding:10px 12px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:9px;border:1px solid var(--f-line);border-radius:9px;background:var(--f-surface);box-shadow:0 4px 16px #1e2a240f;overflow:hidden;cursor:pointer}.field-root .field-place:hover{box-shadow:0 7px 20px #1e2a241a;transform:translateY(-1px);transition:box-shadow .12s ease-out,transform .12s ease-out}.field-root .field-place-state{display:none}.field-root .field-place-head{grid-row:1;box-sizing:border-box;min-height:27px;margin:0;padding:0;background:transparent;color:var(--f-ink);display:flex;align-items:center;justify-content:space-between;gap:8px;white-space:nowrap}.field-root .field-place-head strong{overflow:hidden;text-overflow:ellipsis;font-size:clamp(18px,1.05vw,24px);font-weight:820;color:var(--f-ink);letter-spacing:-.045em}.field-root .field-place-detail{display:inline-flex;align-items:center;gap:2px;flex:none;padding:2px 1px;border:0;background:transparent;color:var(--f-ink-2);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.field-root .field-place-detail:hover{text-decoration:underline;text-underline-offset:3px;color:var(--f-info)}.field-root .field-place-detail svg{width:14px;height:14px;transform:rotate(-90deg)}.field-root .field-place-body{grid-row:2;box-sizing:border-box;min-height:0;margin:0;display:grid;grid-template-columns:minmax(70px,1.02fr) minmax(74px,.82fr) 1px minmax(96px,1.18fr);gap:10px;align-items:center;overflow:visible}.field-root .field-place-readout{min-width:0;min-height:0;display:flex;align-items:flex-start;justify-content:center;overflow:visible}.field-root .field-place-rate{display:flex;flex-direction:column;gap:3px;min-width:0;font-style:normal;color:var(--f-ink)}.field-root .field-place-rate>u{display:inline-flex;align-items:center;gap:5px;text-decoration:none;white-space:nowrap;color:var(--f-ink-2);font-size:clamp(11px,.72vw,15px);font-weight:680}.field-root .field-place-rate>u svg{width:1.15em;height:1.15em;color:var(--f-info);stroke-width:2.2}.field-root .field-place-rate>b{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:var(--f-ink);font-size:clamp(24px,2.35cqw,36px);font-weight:850;line-height:1;letter-spacing:-.045em}.field-root .field-place-rate>b svg{width:.55em;height:.55em;stroke-width:3}.field-root .field-place-rate.is-caution>b{color:var(--f-warn-text)}.field-root .field-place-rate.is-danger>b{color:var(--f-alarm-text)}.field-root .field-place-rates{min-width:0;display:grid;gap:9px;align-content:center}.field-root .field-place-rates .field-place-rate>b{font-size:clamp(17px,1.55cqw,25px);letter-spacing:-.03em}.field-root .field-place-divider{display:block;align-self:stretch;width:1px;background:var(--f-rule)}.field-root .field-place-environment{display:none}.field-root .field-place-slots{grid-row:3;box-sizing:border-box;min-height:36px;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow:hidden}.field-root .field-place-slot{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:6px;background:color-mix(in srgb,var(--f-ok) 14%,var(--f-surface));color:var(--f-ok);font-style:normal}.field-root .field-place-slot>u{display:inline-flex;align-items:center;gap:3px;text-decoration:none;font-size:clamp(10px,.62vw,13px);font-weight:700;white-space:nowrap}.field-root .field-place-slot>u svg{width:1.1em;height:1.1em;stroke-width:2}.field-root .field-place-slot>b{font-size:clamp(13px,.82vw,18px);font-weight:850;line-height:1;white-space:nowrap}.field-root .field-place-slot.is-unavailable{background:var(--f-sunken);color:var(--f-ink-3)}.field-root .field-place.is-caution .field-place-slot:not(.is-unavailable){background:color-mix(in srgb,var(--f-warn) 14%,var(--f-surface));color:var(--f-warn-text)}.field-root .field-place.is-danger .field-place-slot:not(.is-unavailable){background:color-mix(in srgb,var(--f-alarm) 13%,var(--f-surface));color:var(--f-alarm-text)}.field-root .field-place-nosignal{grid-row:2;grid-column:1/-1;min-height:0;margin:0;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--f-offline);text-align:left}.field-root .field-place-nosignal>svg{flex:none;stroke-width:1.7;color:var(--f-offline)}.field-root .field-place-nosignal>span{display:grid;gap:3px;min-width:0}.field-root .field-place-nosignal b{font-weight:820;line-height:1.05;color:var(--f-ink-2)}.field-root .field-place-nosignal em{font-style:normal;font-weight:680;color:var(--f-ink-3)}.field-root .field-place-nosignal small{font-weight:650;color:var(--f-ink-3)}.field-root .field-barn.is-collapsed{grid-template-rows:minmax(0,1fr)}.field-root .field-barn-rollup{box-sizing:border-box;padding:10px 14px;border:1px solid var(--f-line);border-left:6px solid var(--f-ink-3);border-radius:12px;background:var(--f-surface);box-shadow:0 4px 16px #1e2a240d;gap:8px}.field-root .field-barn-rollup.is-normal{border-left-color:var(--f-ok)}.field-root .field-barn-rollup.is-caution{border-left-color:var(--f-warn)}.field-root .field-barn-rollup.is-danger{border-left-color:var(--f-alarm)}.field-root .field-barn-rollup.is-offline{border-left-color:var(--f-offline)}.field-root .field-rollup-top{min-height:28px}.field-root .field-rollup-top strong{font-size:clamp(18px,1.2vw,25px);font-weight:820;color:var(--f-ink)}.field-root .field-rollup-top-info>span{font-size:13px;color:var(--f-ink-3)}.field-root .field-rollup-switch{display:none}.field-root .field-rollup-cards{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.field-root .field-rollup-card{box-sizing:border-box;padding:9px 10px;gap:6px;border:1px solid var(--f-line);border-radius:10px;background:var(--f-surface)}.field-root .field-rollup-card:nth-child(1){order:1}.field-root .field-rollup-card:nth-child(2){order:3}.field-root .field-rollup-card:nth-child(3){order:5}.field-root .field-rollup-card:nth-child(4){order:4}.field-root .field-rollup-card:nth-child(5){order:2}.field-root .field-rollup-metric.is-legacy,.field-root .field-rollup-reasons.is-legacy{display:none}.field-root .field-rollup-card-head>strong{font-size:14px}.field-root .field-rollup-sub{font-size:12px}.field-root .field-rollup-pill{font-size:11px;padding:2px 7px}.field-root .field-rollup-table-wrap{min-height:0;display:flex;flex-direction:column;gap:5px;overflow:auto}.field-root .field-rollup-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}.field-root .field-rollup-table th,.field-root .field-rollup-table td{padding:1px 4px;line-height:1.15;border-bottom:1px solid var(--f-line);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field-root .field-rollup-table thead th{color:var(--f-ink-3);font-size:clamp(13px,6cqh,17px);font-weight:760}.field-root .field-rollup-table thead th:first-child,.field-root .field-rollup-table tbody th{text-align:left}.field-root .field-rollup-table tbody th{font-weight:780;color:var(--f-ink-2)}.field-root .field-rollup-table tbody th>strong,.field-root .field-rollup-device-name{display:block;overflow:hidden;text-overflow:ellipsis}.field-root .field-rollup-device-name{margin-top:2px;color:var(--f-ink-3);font-size:.78em;font-weight:650}.field-root .field-rollup-table tbody tr:last-child th,.field-root .field-rollup-table tbody tr:last-child td{border-bottom:0}.field-root .field-rollup-table tbody tr.is-caution{box-shadow:inset 3px 0 var(--f-warn)}.field-root .field-rollup-table tbody tr.is-danger{box-shadow:inset 3px 0 var(--f-alarm)}.field-root .field-rollup-table tbody tr.is-offline,.field-root .field-rollup-table tbody tr.is-fault{box-shadow:inset 3px 0 var(--f-offline)}.field-root .field-rollup-rate-value{display:inline-flex;align-items:center;gap:2px;font-weight:820;color:var(--f-ink-2)}.field-root .field-rollup-rate-value svg{width:12px;height:12px;stroke-width:3}.field-root .field-rollup-rate-value.is-caution{color:var(--f-warn-text)}.field-root .field-rollup-rate-value.is-danger{color:var(--f-alarm-text)}.field-root .field-rollup-time-table th,.field-root .field-rollup-time-table td{padding-inline:3px}.field-root .field-rollup-card:nth-child(3) .field-rollup-env{grid-template-columns:1fr;gap:5px;margin-top:4px;align-content:center;justify-items:center}.field-root .field-rollup-card:nth-child(3) .field-rollup-env>i{display:grid;grid-template-columns:auto auto minmax(0,7ch);align-items:center;gap:8px;width:max-content}.field-root .field-rollup-card:nth-child(3) .field-rollup-env>i>svg{width:16px;height:16px}.field-root .field-rollup-card:nth-child(3) .field-rollup-env>i>u{font-size:clamp(14px,6.5cqh,19px)}.field-root .field-rollup-card:nth-child(3) .field-rollup-env>i>b{justify-self:end;font-size:clamp(20px,10.5cqh,28px)}@container pcard (max-height:145px){.field-root .field-place-head{min-height:22px}.field-root .field-place-slots{min-height:28px}.field-root .field-place-slot>u{font-size:9px}.field-root .field-place-slot>b{font-size:12px}}@media(max-width:1200px){.field-root .field-dashboard-header{grid-template-columns:1fr auto auto auto;padding-inline:18px;gap:12px}.field-header-context{gap:12px}.field-header-context .field-header-meta:first-child{display:none}.field-root .field-header-status>span{padding-inline:7px}.field-root .field-main{padding-inline:18px}}@media(max-width:760px){.field-root .field-dashboard-header{min-height:64px;height:64px;grid-template-columns:1fr auto auto;padding:8px 12px}.field-header-brand strong{font-size:20px}.field-header-brand span{font-size:11px}.field-header-status{display:none}.field-header-context{justify-content:flex-end}.field-header-meta{font-size:11px}.field-header-meta>svg{display:none}.field-root .field-main{padding:8px 12px}.field-barn-environment{display:none}.field-root .field-place-grid{gap:8px}.field-root .field-place{flex-basis:calc(50% - 4px);width:calc(50% - 4px);max-width:none}.field-root .field-rollup-cards{grid-template-columns:1fr 1fr}.field-root .field-rollup-card:nth-child(1){grid-column:1/-1}}@media(min-width:1200px){.field-detail-modal .field-detail-body.is-status{grid-template-columns:minmax(0,1fr);grid-template-rows:max-content max-content max-content;align-content:start}.field-detail-modal .field-detail-body.is-chart{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-content:stretch}.field-detail-modal .field-detail-body>*{min-height:0}}.field-barn-rollup .field-rollup-card-head>strong{font-size:clamp(18px,10cqh,28px)}.field-barn-rollup .field-rollup-pill{font-size:clamp(13px,6.5cqh,18px)}.field-barn-rollup .field-rollup-table{font-size:clamp(15px,7.5cqh,20px)}.field-barn-rollup .field-rollup-table th{font-size:clamp(13px,6.2cqh,17px)}.field-barn-rollup .field-rollup-table td{font-size:clamp(15px,7.5cqh,20px)}.field-barn-rollup .field-rollup-metric small,.field-barn-rollup .field-rollup-metric small em{font-size:clamp(14px,6.8cqh,19px)}.field-barn-rollup .field-rollup-reasons>i{font-size:clamp(14px,6.8cqh,19px)}.field-barn-rollup .field-rollup-env{justify-content:center;align-content:center}.field-barn-rollup .field-rollup-env>i{justify-content:center}.field-barn-rollup .field-rollup-env>i>u{font-size:clamp(14px,6.8cqh,19px)}.field-barn-rollup .field-rollup-env>i>b{font-size:clamp(20px,11cqh,30px)}.field-place-body{container-type:size;container-name:pbody}.field-place-body .field-place-readout .field-place-rate>b{font-size:clamp(16px,min(46cqh,8.6cqw),74px);line-height:1.06}.field-place-body .field-place-readout .field-place-rate>u{font-size:clamp(9px,min(15cqh,3.2cqw),28px);line-height:1.06}.field-place-body .field-place-rates .field-place-rate>b{font-size:clamp(12px,min(26cqh,4.8cqw),46px);line-height:1.06}.field-place-body .field-place-rates .field-place-rate>u{font-size:clamp(9px,min(13cqh,2.9cqw),26px);line-height:1.06}.field-place-body .field-place-score{width:min(88cqh,44cqw);container-type:size}.field-place-body .field-place-score>b{font-size:38cqw}.field-place-body .field-place-score.is-full>b{font-size:29cqw}.field-place-body .field-place-score>s{font-size:14cqw}.field-root .field-place{gap:clamp(3px,1.6cqh,9px)}.field-root .field-place>.field-place-head{padding-top:0;padding-bottom:0;min-height:0;align-items:center}.field-root .field-place>.field-place-head>strong{font-size:clamp(13px,15cqh,30px);line-height:1.1}.field-root .field-place-detail{font-size:clamp(10px,8cqh,15px)}.field-root .field-barn-head{padding-bottom:2px}.field-root .field-barn-head strong{font-size:clamp(17px,2.1vh,26px);line-height:1.15}.field-root .field-place-body{overflow:hidden}.field-root .field-place-readout{container-type:inline-size;container-name:place-readout;min-width:0;overflow:hidden;align-items:center}.field-root .field-place-readout .field-place-rate{width:100%;max-width:100%;overflow:hidden}.field-root .field-place-readout .field-place-rate>b{max-width:100%;justify-content:center;gap:.12em;overflow:hidden;text-overflow:clip;white-space:nowrap;font-size:clamp(16px,24cqi,38px);line-height:1}.field-root .field-place-readout .field-place-rate>b svg{flex:none;width:.42em;height:.42em}.field-root .field-place-readout .field-place-rate>u{max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:clamp(9px,10cqi,15px)}.field-root .field-place-rates{min-width:0;overflow:hidden}.field-root .field-place-rates .field-place-rate{min-width:0;max-width:100%;overflow:hidden}.field-root .field-place-rates .field-place-rate>b{max-width:100%;gap:.12em;overflow:hidden;white-space:nowrap;font-size:clamp(13px,20cqi,30px)}.field-root .field-place-rates .field-place-rate>b svg{flex:none;width:.42em;height:.42em}.field-root .field-place-score{grid-template-columns:1fr;grid-template-rows:max-content max-content;align-content:center;row-gap:0}.field-root .field-place-score>b{margin:0;font-size:clamp(18px,30cqw,42px);line-height:.88}.field-root .field-place-score>s{margin:0;font-size:clamp(9px,11cqw,14px);line-height:1}.field-root .field-place.is-normal .field-place-head{background:color-mix(in srgb,var(--f-ok) 12%,var(--f-surface));color:var(--f-ok-ink)}.field-root .field-place.is-normal .field-place-score-track{stroke:color-mix(in srgb,var(--f-ok) 20%,var(--f-surface))}.field-root .field-place.is-normal .field-place-slot:not(.is-unavailable){background:color-mix(in srgb,var(--f-ok) 14%,var(--f-surface));color:var(--f-ok)}@supports (width:1cqi){.field-root{--f-screen-unit:min(.052083vw,.092593dvh)}.field-root .field-dashboard-header{min-height:max(64px,calc(var(--f-screen-unit) * 86));height:max(64px,calc(var(--f-screen-unit) * 86));padding:max(8px,calc(var(--f-screen-unit) * 12)) max(18px,calc(var(--f-screen-unit) * 28));gap:max(12px,calc(var(--f-screen-unit) * 22))}.field-root .field-main{padding:max(8px,calc(var(--f-screen-unit) * 10)) max(12px,calc(var(--f-screen-unit) * 28)) max(8px,calc(var(--f-screen-unit) * 10))}.field-root .field-barns{gap:max(8px,calc(var(--f-screen-unit) * 13))}.field-root .field-barn-head{min-height:max(36px,calc(var(--f-screen-unit) * 42));margin-bottom:max(4px,calc(var(--f-screen-unit) * 7))}.field-root .field-place-grid{gap:max(8px,calc(var(--f-screen-unit) * 16))}.field-root .field-place{max-height:min(40dvh,calc(var(--f-screen-unit) * 440));border-radius:9px}}.field-detail-prototype{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}.field-detail-panel{min-width:0;overflow:hidden;border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface)}.field-detail-panel>header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--f-line);color:var(--f-ink);font-size:20px;font-weight:900}.field-detail-panel>header svg{width:18px;height:18px;color:var(--f-ink-3);stroke-width:2.2}.field-detail-table-wrap{min-width:0;overflow-x:auto}.field-detail-table{width:100%;min-width:0;border-collapse:collapse;table-layout:fixed}.field-detail-table th,.field-detail-table td{padding:14px 10px;border-bottom:1px solid var(--f-line);text-align:right;white-space:nowrap}.field-detail-table thead th{color:var(--f-ink-3);font-size:14px;font-weight:850;background:color-mix(in srgb,var(--f-sunken) 72%,var(--f-surface));line-height:1.2}.field-detail-table thead th:first-child,.field-detail-table tbody th{text-align:left}.field-detail-table tbody th,.field-detail-table tbody td{color:var(--f-ink-2);font-size:18px;font-weight:850}.field-detail-table tbody tr:last-child th,.field-detail-table tbody tr:last-child td{border-bottom:0}.field-detail-table tbody tr:last-child{background:var(--f-sunken)}.field-detail-slot-label{display:inline-flex;align-items:center;gap:6px;min-width:0}.field-detail-slot-label svg{width:18px;height:18px;flex:none;color:var(--f-ink-3)}.field-detail-empty{display:block;margin:0;padding:14px;color:var(--f-ink-3);font-size:14px;font-weight:750;text-align:center}.field-detail-status-panel{min-width:0;border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface);overflow:hidden}.field-detail-status-panel .field-status-detail{border:0;border-left:6px solid var(--f-ink-3);border-radius:0;background:var(--f-sunken)}.field-status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:52px;padding:4px 9px;border-radius:999px;background:var(--f-sunken);color:var(--f-ink-2);font-size:14px;font-weight:900;white-space:nowrap}.field-status-chip.is-normal{background:color-mix(in srgb,var(--f-ok) 14%,var(--f-surface));color:var(--f-ok)}.field-status-chip.is-caution{background:color-mix(in srgb,var(--f-warn) 18%,var(--f-surface));color:var(--f-warn-text)}.field-status-chip.is-danger,.field-status-chip.is-fault{background:color-mix(in srgb,var(--f-alarm) 15%,var(--f-surface));color:var(--f-alarm-text)}.field-status-chip.is-offline,.field-status-chip.is-unknown{background:var(--f-sunken);color:var(--f-ink-2)}.field-detail-status-panel .field-judgement-detail-row{grid-template-columns:minmax(150px,180px) auto minmax(0,1fr) minmax(180px,auto)}.field-detail-status-panel .field-judgement-detail-row>strong{display:inline-flex;align-items:center;gap:7px}.field-detail-status-panel .field-judgement-detail-row>strong svg{width:18px;height:18px;flex:none;color:var(--f-ink)}.field-detail-status-panel .field-judgement-detail-row>small{color:var(--f-ink-3);font-size:clamp(15px,.94vw,18px);font-weight:750;white-space:normal;text-align:right;overflow-wrap:anywhere}.field-detail-body.is-chart .field-trend-panel,.field-detail-body.is-chart .field-trend-chart-wrap,.field-detail-body.is-chart .field-trend-chart-stack{width:100%;max-width:none;min-width:0}@media(max-width:900px){.field-detail-prototype{grid-template-columns:1fr}.field-detail-table{min-width:700px}.field-detail-status-panel{overflow-x:auto}.field-detail-status-panel .field-judgement-detail-row{grid-template-columns:minmax(120px,1fr) auto;gap:8px}.field-detail-status-panel .field-judgement-detail-row>span{grid-column:1/-1}.field-detail-status-panel .field-judgement-detail-row>small{grid-column:1/-1;text-align:left;white-space:normal}}@media(min-width:761px){.field-root .field-place-readout .field-place-rate,.field-root .field-place-rates .field-place-rate{align-items:center}.field-root .field-place-readout .field-place-rate>b,.field-root .field-place-rates .field-place-rate>b{width:max-content;max-width:100%}.field-root .field-place-rate.is-normal>b{color:var(--f-ok)}.field-root .field-place-rates .field-place-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(4px,.45cqi,9px);align-items:center}.field-root .field-place-rates .field-place-rate>u{min-width:0}.field-root .field-place-rates .field-place-rate>b{justify-self:end}.field-root .field-place-score{row-gap:0}}@media(min-width:761px)and (max-height:760px){.field-root .field-place{grid-template-rows:24px minmax(0,1fr) 22px;gap:3px;padding:4px 6px}.field-root .field-place-body{grid-template-columns:minmax(34px,.72fr) minmax(0,1fr) 1px minmax(0,1.15fr);gap:4px}.field-root .field-place-score{width:clamp(34px,12cqw,46px);max-width:100%}.field-root .field-place-score>b{font-size:clamp(13px,30cqw,24px);line-height:.9}.field-root .field-place-score>s{font-size:clamp(7px,11cqw,10px);line-height:1}.field-root .field-place-readout .field-place-rate>u{font-size:clamp(7px,3.1cqi,10px);gap:2px}.field-root .field-place-readout .field-place-rate>b{font-size:clamp(13px,7cqi,20px);gap:2px}.field-root .field-place-rates{gap:2px}.field-root .field-place-rates .field-place-rate{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:3px}.field-root .field-place-rates .field-place-rate>u{font-size:clamp(7px,3cqi,10px);gap:2px}.field-root .field-place-rates .field-place-rate>b{font-size:clamp(11px,9cqi,18px);gap:2px}.field-root .field-place-slots{display:grid;min-height:22px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}.field-root .field-place-slot{border-radius:4px;gap:0}.field-root .field-place-slot>u{font-size:clamp(7px,.5vw,10px);gap:1px}.field-root .field-place-slot>b{font-size:clamp(9px,.65vw,13px)}}.field-root .field-place.is-normal{background:color-mix(in srgb,var(--f-ok) 9%,var(--f-surface))}.field-root .field-place.is-danger,.field-root .field-place.is-normal{background:var(--f-surface)}.field-root .field-place.is-normal .field-place-head{background:var(--f-ok);color:var(--f-ok-ink)}.field-root .field-place.is-caution{background:var(--f-surface)}.field-root .field-place.is-caution .field-place-head{background:var(--f-warn);color:var(--f-warn-ink)}.field-root .field-place.is-danger .field-place-head{background:var(--f-alarm);color:var(--f-alarm-ink)}.field-root .field-place .field-place-slot.is-normal:not(.is-unavailable){background:color-mix(in srgb,var(--f-ok) 14%,var(--f-surface));color:var(--f-ok)}.field-root .field-place .field-place-slot.is-caution:not(.is-unavailable){background:color-mix(in srgb,var(--f-warn) 32%,var(--f-surface));color:var(--f-warn-text)}.field-root .field-place .field-place-slot.is-danger:not(.is-unavailable){background:color-mix(in srgb,var(--f-alarm) 30%,var(--f-surface));color:var(--f-alarm-text)}.field-root .field-place-rate.is-normal>b{color:var(--f-ok)}.field-root .field-detail-table .field-detail-delta{font:inherit;font-weight:900}.field-root .field-detail-table .field-detail-delta.is-increase{color:var(--f-alarm)}.field-root .field-detail-table .field-detail-delta.is-decrease{color:var(--f-info)}.field-root .field-detail-table .field-detail-delta.is-neutral,.field-root .field-detail-table .field-detail-delta.is-unavailable{color:var(--f-ink-3)}@media(min-width:1200px){.field-detail-modal .field-detail-prototype{gap:10px}.field-detail-modal .field-detail-panel>header{padding:9px 12px;font-size:18px}.field-detail-modal .field-detail-table th,.field-detail-modal .field-detail-table td{padding:9px 8px}.field-detail-modal .field-detail-table thead th{font-size:13px}.field-detail-modal .field-detail-table tbody th,.field-detail-modal .field-detail-table tbody td{font-size:16px}}.field-root .field-dashboard-header{padding-block:8px}.field-header-brand strong{font-size:clamp(27px,1.78vw,36px)}.field-header-brand span{font-size:clamp(14px,.98vw,19px)}.field-header-meta{font-size:clamp(14px,.96vw,19px)}.field-header-status>span{font-size:clamp(13px,.88vw,17px);padding-inline:10px}.field-root .field-barns{gap:8px}.field-root .field-main{padding-block:6px}.field-root .field-barn-head{min-height:max(34px,calc(var(--f-screen-unit, 1px) * 38));margin-bottom:max(3px,calc(var(--f-screen-unit, 1px) * 4))}.field-root .field-barn-head strong{font-size:clamp(18px,1.58vw,28px)}.field-barn-environment{gap:16px}.field-barn-environment>span{font-size:clamp(13px,.82vw,16px)}.field-root .field-barn-action{font-size:clamp(13px,.82vw,16px)}.field-root .field-place{padding:6px 9px 3px;gap:3px}.field-root .field-place>.field-place-head{min-height:28px;gap:6px}.field-root .field-place>.field-place-head>strong{font-size:clamp(17px,1.4vw,27px);line-height:1.04}.field-root .field-place-detail{font-size:clamp(11px,.72vw,15px)}.field-root .field-place-body{grid-template-columns:minmax(66px,1.02fr) minmax(74px,.82fr) 1px minmax(96px,1.18fr);gap:6px}.field-root .field-place-score>b{font-size:clamp(18px,30cqw,42px);line-height:.88}.field-root .field-place-score>s{font-size:clamp(9px,11cqw,14px);line-height:1}.field-root .field-place-readout .field-place-rate>u{font-size:clamp(11px,13cqi,16px);line-height:1.05}.field-root .field-place-readout .field-place-rate>b{font-size:clamp(16px,24cqi,38px);line-height:1}.field-root .field-place-rates{gap:6px}.field-root .field-place-rates .field-place-rate{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:clamp(4px,1cqi,8px)}.field-root .field-place-rates .field-place-rate>u{font-size:clamp(11px,13cqi,16px);line-height:1.05}.field-root .field-place-rates .field-place-rate>u{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:clip}.field-root .field-place-rates .field-place-rate>b{font-size:clamp(13px,20cqi,30px);line-height:1}.field-root .field-place-rates .field-place-rate>b{flex:0 1 auto;min-width:0;width:auto;max-width:100%;overflow:hidden;text-overflow:clip}.field-root .field-place-slots{min-height:40px;gap:3px}.field-root .field-place-slot{gap:1px;border-radius:6px}.field-root .field-place-slot>u{font-size:clamp(12px,.94vw,18px);line-height:1.05}.field-root .field-place-slot>b{font-size:clamp(13px,.82vw,18px);line-height:1}@media(min-width:1200px){.field-detail-modal .field-detail-prototype{gap:8px}.field-detail-modal .field-detail-panel>header{padding:8px 11px;font-size:21px}.field-detail-modal .field-detail-panel>header svg{width:20px;height:20px}.field-detail-modal .field-detail-table th,.field-detail-modal .field-detail-table td{padding:6px 8px;line-height:1.1}.field-detail-modal .field-detail-table thead th{font-size:15px}.field-detail-modal .field-detail-table tbody th,.field-detail-modal .field-detail-table tbody td{font-size:16px}.field-detail-modal .field-detail-status-panel .field-judgement-detail-row{padding:7px 11px}}@media(min-width:761px)and (max-width:1199px){.field-root .field-place{padding:5px 8px 3px}.field-root .field-place>.field-place-head{min-height:26px}.field-root .field-place-slots{min-height:34px}}@media(min-width:761px)and (max-height:760px){.field-root .field-place-rates .field-place-rate{display:flex;grid-template-columns:none}.field-root .field-place-slot>u{font-size:clamp(10px,.8vw,13px)}}@container pcard (max-width:360px){.field-root .field-place-rates .field-place-rate>b{font-size:clamp(15px,18cqi,26px)}}.field-root .field-place-slots{min-height:42px;gap:4px}.field-root .field-place-slot{gap:2px}.field-root .field-place-slot>u{font-size:clamp(13px,1.06vw,20px);line-height:1;font-weight:780}@media(min-width:761px)and (max-height:760px){.field-root .field-place{grid-template-rows:24px minmax(0,1fr) 28px}.field-root .field-place-slots{min-height:28px;gap:2px}.field-root .field-place-slot{gap:1px}.field-root .field-place-slot>u{font-size:clamp(10px,.68vw,12px)}.field-root .field-place-slot>b{font-size:clamp(10px,.7vw,14px)}}.field-root .field-rollup-card{padding:7px 8px;gap:4px}.field-root .field-rollup-card-head>strong{font-size:clamp(18px,1.1vw,22px)}.field-root .field-rollup-sub{font-size:clamp(13px,.78vw,16px)}.field-root .field-rollup-pill{font-size:clamp(12px,.7vw,15px)}.field-root .field-rollup-table thead th{font-size:clamp(14px,.78vw,16px);line-height:1.1}.field-root .field-rollup-table tbody th{font-size:clamp(14px,.84vw,17px);line-height:1.1}.field-root .field-rollup-table tbody td{font-size:clamp(15px,.9vw,18px);line-height:1.1}.field-root .field-rollup-env>i>u{font-size:clamp(15px,.78vw,18px)}.field-root .field-place-readout .field-place-rate>u{font-size:clamp(12px,15cqi,18px)}.field-root .field-place.is-caution .field-place-head{background:var(--f-warn);box-shadow:none;color:var(--f-warn-ink)}.field-root .field-place.is-caution .field-place-slot.is-caution:not(.is-unavailable){background:color-mix(in srgb,var(--f-warn) 28%,var(--f-surface));color:var(--f-warn-text)}.field-detail-prototype>.field-detail-panel:nth-child(1){order:3}.field-detail-prototype>.field-detail-panel:nth-child(2){order:1}.field-detail-prototype>.field-detail-panel:nth-child(3){order:2}.field-detail-prototype>.field-detail-panel:nth-child(4){order:4}.field-place-body{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:clamp(6px,2cqw,18px)}.field-place-body .field-place-score>b{font-size:26cqw;letter-spacing:-.045em;display:inline-flex;align-items:center;gap:.1em;white-space:nowrap}.field-place-body .field-place-score.is-len-3>b{font-size:27cqw}.field-place-body .field-place-score.is-len-4>b{font-size:22cqw}.field-place-body .field-place-score.is-len-5>b{font-size:18cqw}.field-place-body .field-place-score.is-len-6>b{font-size:15cqw}.field-place-body .field-place-score>b svg{width:.5em;height:.5em;flex:none}.field-place-body .field-place-score>s{font-size:12cqw;color:var(--f-ink-3);font-weight:800}.field-root .field-place{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.field-root .field-place>.field-place-head{grid-column:1/-1;grid-row:1}.field-root .field-place>.field-place-body{grid-column:1;grid-row:2;min-height:0}.field-root .field-place>.field-place-slots{grid-column:2;grid-row:2;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;margin-top:0}.field-root .field-place>.field-place-nosignal,.field-root .field-place>.field-place-fault-state{grid-column:1/-1;grid-row:2}.field-root .field-place>.field-place-slots{gap:clamp(3px,.6cqw,10px)}.field-root .field-place>.field-place-slots .field-place-slot{align-content:center;padding:clamp(2px,1cqh,10px) clamp(3px,.6cqw,10px)}.field-root .field-place>.field-place-slots .field-place-slot>u{font-size:clamp(9px,min(4.6cqw,7cqh),20px)}.field-root .field-place>.field-place-slots .field-place-slot>b{font-size:clamp(12px,min(6.2cqw,10cqh),30px)}.field-root .field-place>.field-place-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(8px,1.2cqw,16px);overflow:hidden}.field-root .field-place>.field-place-body>.field-place-score{width:min(100%,88cqh,44cqw);max-width:100%;justify-self:center}.field-root .field-place>.field-place-body>.field-place-rates{width:100%;max-width:100%;min-width:0}.field-root .field-place>.field-place-body{overflow:visible}.field-root .field-place-score{overflow:visible}.field-root .field-place-score>svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.field-root .field-place-score>svg>.field-place-score-track,.field-root .field-place-score>svg>.field-place-score-value{fill:none;stroke-width:7;stroke-linecap:round;pointer-events:none}.field-root .field-place-score>svg>.field-place-score-track{stroke:var(--f-line);stroke-dasharray:none}.field-root .field-place.is-normal .field-place-score .field-place-score-track{stroke:color-mix(in srgb,var(--f-ok) 20%,var(--f-surface))}.field-root .field-place-score>svg>.field-place-score-value{stroke:var(--f-ok);transform:rotate(-90deg);transform-box:view-box;transform-origin:center}.field-root .field-place-score.is-caution .field-place-score-value{stroke:var(--f-warn)}.field-root .field-place-score.is-danger .field-place-score-value{stroke:var(--f-alarm)}.field-root .field-place-score.is-offline .field-place-score-value,.field-root .field-place-score.is-fault .field-place-score-value,.field-root .field-place-score.is-unknown .field-place-score-value{stroke:var(--f-ink-3);stroke-dasharray:0 100}.field-root .field-place-score>svg>.field-place-score-tick{fill:var(--f-surface);stroke:var(--f-surface);stroke-width:1.1px;stroke-linejoin:round;paint-order:stroke fill;pointer-events:none}.field-root .field-place-score>svg>.field-place-score-tick.is-caution{fill:var(--f-warn)}.field-root .field-place-score>svg>.field-place-score-tick.is-danger{fill:var(--f-alarm)}.field-root .field-place-score-marker-label{font-size:7.2px;font-weight:900;letter-spacing:-.02em;paint-order:stroke;stroke:var(--f-surface);stroke-width:2.2px;stroke-linejoin:round}.field-root .field-place-score-marker-label.is-caution{fill:var(--f-warn-text)}.field-root .field-place-score-marker-label.is-danger{fill:var(--f-alarm-text)}.field-root .field-place-score>b{justify-self:center;max-width:100%}.field-root .field-place-score>b .field-place-score-direction{position:static;inset:auto;display:block;flex:0 0 auto;width:.34em;height:.34em;margin-inline-start:.06em;align-self:center;overflow:visible}.field-root .field-place{--field-place-pad-x:9px;padding:0 var(--field-place-pad-x) 3px}.field-root .field-place>.field-place-head{margin-inline:calc(var(--field-place-pad-x) * -1);padding:6px var(--field-place-pad-x) 5px;min-height:28px;border-radius:12px 12px 0 0}@media(min-width:761px)and (max-width:1199px){.field-root .field-place{--field-place-pad-x:8px;padding:0 var(--field-place-pad-x) 3px}}@media(min-width:761px)and (max-height:760px){.field-root .field-place{--field-place-pad-x:6px;padding:0 var(--field-place-pad-x) 3px}.field-root .field-place>.field-place-head{min-height:24px;padding:4px var(--field-place-pad-x) 4px}}.field-root .field-place .field-place-slot.is-normal:not(.is-unavailable),.field-root .field-place .field-place-slot.is-caution:not(.is-unavailable),.field-root .field-place .field-place-slot.is-danger:not(.is-unavailable),.field-root .field-place .field-place-slot.is-unavailable{color:var(--f-ink)}.field-root .field-main{flex-direction:column}.field-root .field-header-meta-action{padding:0;border:0;background:transparent;color:var(--f-ink-2);font:inherit;text-align:left;cursor:pointer}.field-root .field-header-meta-action:hover em,.field-root .field-header-meta-action.is-open em{text-decoration:underline;text-underline-offset:3px}.field-root .field-header-meta-action.is-open em{color:var(--f-info)}.field-root .field-header-meta-action:focus-visible{outline:2px solid var(--f-focus);outline-offset:3px;border-radius:4px}@media(max-width:1200px){.field-root .field-header-context .field-header-meta-action{display:inline-flex}}@media(max-width:600px){.field-root .field-header-context .field-header-meta:first-child{display:inline-flex}.field-root .field-header-context .field-header-meta:nth-child(2){display:none}.field-root .field-header-meta-action{font-size:11px}.field-root .field-header-meta-action>svg{display:none}.field-root .field-header-meta-action>b{display:none}.field-root .field-header-context .field-cough-settings-panel{position:fixed;top:72px;left:12px;right:12px;width:auto;max-height:calc(100vh - 84px)}}@media(max-width:600px){.field-root .field-dashboard-header>.field-threshold-help{max-width:none;overflow:visible}}.field-root .field-dashboard-header .field-threshold-bubble,.field-root .field-dashboard-header .field-threshold-bubble>span,.field-root .field-dashboard-header .field-threshold-bubble>small{min-width:0;white-space:normal;overflow-wrap:anywhere}.field-root .field-dashboard-header>.field-threshold-help{z-index:40}.field-root .field-barn-rollup.is-neutral{border-left-color:var(--f-line);background:var(--f-surface)}.field-root .field-barn-rollup.is-offline{border-left-color:var(--f-offline);background:color-mix(in srgb,var(--f-offline) 8%,var(--f-surface))}.field-root .field-barn-rollup .field-rollup-table tbody tr.is-normal{background:transparent;box-shadow:none}.field-root .field-barn-rollup .field-rollup-table tbody tr.is-caution{background:color-mix(in srgb,var(--f-warn) 22%,var(--f-surface));box-shadow:none}.field-root .field-barn-rollup .field-rollup-table tbody tr.is-danger{background:color-mix(in srgb,var(--f-alarm) 20%,var(--f-surface));box-shadow:none}.field-root .field-barn-rollup .field-rollup-table tbody tr.is-offline,.field-root .field-barn-rollup .field-rollup-table tbody tr.is-fault{background:color-mix(in srgb,var(--f-offline) 14%,var(--f-surface));box-shadow:none}.field-root .field-barn-rollup .field-rollup-table .field-rollup-rate-value{color:var(--f-ink)}.field-root .field-barn-rollup .field-rollup-table .field-rollup-rate-value svg{color:inherit}.field-root .field-barn-rollup .field-rollup-card:nth-child(3) .field-rollup-env{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(4px,.7cqw,10px);align-items:stretch;justify-items:stretch;margin-top:auto;min-height:0}.field-root .field-barn-rollup .field-rollup-card:nth-child(3) .field-rollup-env>i{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(2px,.35cqh,5px);min-width:0;padding:clamp(4px,.65cqh,8px) clamp(3px,.45cqw,7px);border:1px solid color-mix(in srgb,var(--f-line) 85%,var(--f-surface));border-radius:8px;background:color-mix(in srgb,var(--f-sunken) 52%,var(--f-surface));font-style:normal;align-content:center}.field-root .field-barn-rollup .field-rollup-env-title{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0}.field-root .field-barn-rollup .field-rollup-env-title>svg{flex:none;width:clamp(13px,5cqh,18px);height:clamp(13px,5cqh,18px);stroke-width:2.2;color:var(--f-info)}.field-root .field-barn-rollup .field-rollup-env-title>u{text-decoration:none;font-size:clamp(12px,min(6cqh,1vw),17px);font-weight:800;color:var(--f-ink-2);white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env-values{display:grid;gap:2px;min-width:0}.field-root .field-barn-rollup .field-rollup-env-values>b{display:flex;align-items:baseline;justify-content:space-between;gap:2px;min-width:0;font-size:clamp(13px,min(7.2cqh,1vw),21px);font-weight:900;line-height:1.1;color:var(--f-ink);white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env-values>b>small{order:-1;font-size:.52em;font-weight:750;color:var(--f-ink-3);white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env>i>em{font-style:normal;font-size:clamp(10px,min(5.3cqh,.72vw),15px);font-weight:800;line-height:1;color:var(--f-ink-3);text-align:center;white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env>i>em.is-up{color:var(--f-alarm-text)}.field-root .field-barn-rollup .field-rollup-env>i>em.is-down{color:var(--f-info)}.field-root .field-barn-rollup .field-rollup-env>i>em.is-flat,.field-root .field-barn-rollup .field-rollup-env>i>em.is-unavailable{color:var(--f-ink-3)}.field-root .field-barn-rollup .field-rollup-card:nth-child(3) .field-rollup-env>i{width:100%;box-sizing:border-box;overflow:hidden}.field-root .field-barn-rollup .field-rollup-card:nth-child(3) .field-rollup-env>i{grid-template-columns:minmax(0,1fr)}.field-root .field-barn-rollup .field-rollup-card:nth-child(3) .field-rollup-env{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(0,1fr));gap:clamp(2px,.35cqh,6px);flex:1 1 auto;margin-top:clamp(2px,.4cqh,6px);min-height:0;align-items:stretch;justify-items:stretch}.field-root .field-barn-rollup .field-rollup-env-corner,.field-root .field-barn-rollup .field-rollup-env-column,.field-root .field-barn-rollup .field-rollup-env-row,.field-root .field-barn-rollup .field-rollup-env-row-label,.field-root .field-barn-rollup .field-rollup-env-row>b{min-width:0}.field-root .field-barn-rollup .field-rollup-env-column{display:flex;align-items:center;justify-content:center;font-size:clamp(10px,min(5.5cqh,.7vw),14px);font-weight:800;color:var(--f-ink-3);white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env-row{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:clamp(2px,.35cqw,6px);align-items:center;min-width:0;padding:clamp(2px,.35cqh,5px) clamp(3px,.4cqw,6px);border:1px solid color-mix(in srgb,var(--f-line) 84%,var(--f-surface));border-radius:7px;background:color-mix(in srgb,var(--f-sunken) 48%,var(--f-surface))}.field-root .field-barn-rollup .field-rollup-env-row-label{display:flex;align-items:center;gap:3px;overflow:hidden;white-space:nowrap}.field-root .field-barn-rollup .field-rollup-env-row-label>svg{flex:none;width:clamp(12px,4.5cqh,17px);height:clamp(12px,4.5cqh,17px);color:var(--f-info)}.field-root .field-barn-rollup .field-rollup-env-row-label>u{overflow:hidden;text-overflow:ellipsis;text-decoration:none;font-size:clamp(11px,min(5.8cqh,.72vw),15px);font-weight:800;color:var(--f-ink-2)}.field-root .field-barn-rollup .field-rollup-env-row-label>em{margin-left:auto;flex:none;font-style:normal;font-size:clamp(9px,min(4.8cqh,.62vw),13px);font-weight:850;color:var(--f-ink-3)}.field-root .field-barn-rollup .field-rollup-env-row-label>em.is-up{color:var(--f-alarm-text)}.field-root .field-barn-rollup .field-rollup-env-row-label>em.is-down{color:var(--f-info)}.field-root .field-barn-rollup .field-rollup-env-row-label>em.is-flat,.field-root .field-barn-rollup .field-rollup-env-row-label>em.is-unavailable{color:var(--f-ink-3)}.field-root .field-barn-rollup .field-rollup-env-row>b{display:flex;align-items:center;justify-content:center;min-width:0;font-size:clamp(12px,min(6.8cqh,.86vw),18px);font-weight:900;line-height:1.05;color:var(--f-ink);white-space:nowrap}@container rollup (max-width:400px){.field-root .field-barn-rollup .field-rollup-env-row-label>em{display:none}}@container rollup (max-height:150px){.field-root .field-barn-rollup .field-rollup-env-row-label>svg{display:none}}.field-root .field-barn-rollup .field-rollup-env-row{background:transparent}@media(min-width:2200px){.field-root .field-rollup-table thead th{font-size:clamp(15px,.75vw,19px)}.field-root .field-rollup-table tbody th{font-size:clamp(16px,.82vw,20px)}.field-root .field-rollup-table tbody td{font-size:clamp(17px,.88vw,21px)}.field-root .field-rollup-time-table th:first-child,.field-root .field-rollup-time-table td:first-child{width:16%;padding-right:1px}.field-root .field-rollup-time-table th:nth-child(2),.field-root .field-rollup-time-table td:nth-child(2){padding-left:1px}.field-root .field-rollup-time-table th:first-child,.field-root .field-rollup-time-table td:first-child{width:14%}.field-root .field-rollup-time-table tbody td{font-size:18px}.field-root .field-rollup-time-table .field-rollup-rate-value{gap:1px}.field-root .field-rollup-time-table .field-rollup-rate-value svg{width:10px;height:10px}}@media(min-width:1440px)and (min-height:761px){.field-root .field-place>.field-place-body{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(1px,.35cqw,6px)}.field-root .field-place>.field-place-body>.field-place-score{width:min(100%,100cqh,54cqw);transform:translate(clamp(2px,.25cqw,4px),-1px)}.field-root .field-place-rates .field-place-rate>u{font-size:clamp(14px,1vw,18px);line-height:1;gap:3px;justify-content:center}.field-root .field-place-rates .field-place-rate>u svg{width:1.1em;height:1.1em;stroke-width:2.2;flex:none}.field-root .field-place-rates .field-place-rate>b{font-size:clamp(18px,1.55vw,31px);line-height:1;gap:.1em}.field-root .field-place-rates .field-place-rate>b svg{width:.42em;height:.42em;flex:none}.field-root .field-place-rates{grid-template-rows:repeat(2,minmax(0,1fr));align-content:center}.field-root .field-place-rates .field-place-rate{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;justify-items:center;align-content:center;row-gap:2px}.field-root .field-place-rates .field-place-rate>u{min-width:0;white-space:nowrap;justify-content:center}.field-root .field-place-rates .field-place-rate>b{justify-self:center;min-width:0;justify-content:center}.field-root .field-place>.field-place-slots .field-place-slot>u{font-size:clamp(16px,1.25vw,24px);line-height:1;gap:4px}.field-root .field-place>.field-place-slots .field-place-slot>u svg{width:1.2em;height:1.2em;stroke-width:2.2;flex:none}.field-root .field-place>.field-place-slots .field-place-slot>b{display:inline-flex;align-items:center;justify-content:center;gap:3px;font-size:clamp(16px,1.05vw,22px);line-height:1}.field-root .field-place>.field-place-slots .field-place-slot>b svg{width:.5em;height:.5em;flex:none}.field-root .field-place-body .field-place-score.is-len-3>b{font-size:34cqw}.field-root .field-place-body .field-place-score.is-len-4>b{font-size:29cqw}.field-root .field-place-body .field-place-score.is-len-5>b{font-size:24cqw}.field-root .field-place-body .field-place-score.is-len-6>b{font-size:21cqw}.field-root .field-place-body .field-place-score>s{font-size:16cqw;line-height:1}.field-root .field-place-score-marker-label{font-size:8px}.field-root .field-place-score>b .field-place-score-direction{width:.38em;height:.38em}}@container pcard (max-width:400px){.field-root .field-place-rates .field-place-rate.is-long>b{font-size:clamp(17px,1.25vw,26px);letter-spacing:-.035em}}@media(min-width:1440px)and (min-height:761px){.field-root .field-place-rates .field-place-rate.is-long>b{font-size:clamp(18px,1.52vw,30px)}}.field-root .field-place.is-layout{cursor:grab;outline:2px dashed color-mix(in srgb,var(--f-ink-3) 55%,transparent);outline-offset:-3px}.field-root .field-place.is-layout:active{cursor:grabbing}.field-root .field-place.is-layout.is-dragging{opacity:.45}.field-root .field-place.is-layout.is-locked{filter:grayscale(1);opacity:.45;cursor:not-allowed;outline-color:transparent}.field-root .field-place.is-layout.is-pickable{cursor:pointer}.field-root .field-place.is-layout.is-picked{outline:3px solid var(--f-ok);outline-offset:-3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--f-ok) 22%,transparent)}.field-root .field-layout-empty{grid-column:1/-1;align-self:center;justify-self:stretch;text-align:center;display:grid;place-items:center;min-height:clamp(44px,8vh,110px);border:1px dashed color-mix(in srgb,var(--f-ink-3) 45%,transparent);border-radius:10px;color:var(--f-ink-3);font-size:clamp(12px,1.3vh,16px)}.field-layout-name{display:inline-flex;align-items:center;gap:.35em;min-width:0}.field-layout-name>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-layout-name-edit{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;padding:0;border:0;border-radius:6px;flex:none;background:color-mix(in srgb,var(--f-ink-3) 16%,transparent);color:var(--f-ink-2);cursor:pointer}.field-layout-name-edit:hover{background:color-mix(in srgb,var(--f-ink-3) 28%,transparent)}.field-layout-name-edit.is-done{background:var(--f-ok);color:var(--f-ok-ink)}.field-layout-name.is-editing>input{min-width:0;width:100%;max-width:14em;font:inherit;color:inherit;padding:.1em .35em;border:1px solid var(--f-line);border-radius:6px;background:var(--f-surface)}.field-root .field-barn-head.is-layout{cursor:default}.field-layout-barn-delete{margin-left:auto;flex:none;border:1px solid var(--f-line);border-radius:8px;padding:.25em .7em;background:var(--f-surface);color:var(--f-alarm);font-size:clamp(11px,1.2vh,14px);cursor:pointer}.field-layout-barn-delete:hover{background:color-mix(in srgb,var(--f-alarm) 10%,var(--f-surface))}.field-layout-bar{position:fixed;left:50%;bottom:clamp(12px,2.5vh,28px);transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:clamp(8px,1vw,16px);max-width:min(94vw,880px);padding:clamp(8px,1.1vh,14px) clamp(12px,1.4vw,22px);border-radius:14px;border:1px solid var(--f-line);background:var(--f-surface);box-shadow:0 10px 30px #0000002e;font-size:clamp(12px,1.4vh,16px)}.field-layout-bar>strong{flex:none}.field-layout-bar>span{color:var(--f-ink-3);min-width:0}.field-layout-bar button{flex:none;border:0;border-radius:9px;padding:.45em 1em;cursor:pointer;background:var(--f-ok);color:var(--f-ok-ink);font:inherit;font-weight:700}.field-layout-bar button.is-secondary{background:var(--f-surface);color:var(--f-ink-2);border:1px solid var(--f-line)}.field-layout-bar button:disabled{opacity:.45;cursor:not-allowed}.field-layout-note{color:var(--f-alarm);font-style:normal}.field-layout-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;background:#00000059}.field-layout-modal{width:min(92vw,380px);display:grid;gap:12px;padding:20px;border-radius:14px;background:var(--f-surface);box-shadow:0 18px 48px #00000047}.field-layout-modal>h2{margin:0;font-size:clamp(15px,2vh,20px)}.field-layout-modal>input{font:inherit;padding:.5em .7em;border:1px solid var(--f-line);border-radius:9px;background:var(--f-bg);color:var(--f-ink-1)}.field-layout-modal-actions{display:flex;justify-content:flex-end;gap:8px}.field-layout-modal-actions button{border:0;border-radius:9px;padding:.45em 1.1em;cursor:pointer;background:var(--f-ok);color:var(--f-ok-ink);font:inherit;font-weight:700}.field-layout-modal-actions button.is-secondary{background:var(--f-surface);color:var(--f-ink-2);border:1px solid var(--f-line)}.field-layout-modal-actions button:disabled{opacity:.45;cursor:not-allowed}.field-root .field-header-brand{grid-template-columns:max-content max-content;grid-template-rows:auto auto;column-gap:10px;row-gap:1px;align-items:end}.field-root .field-header-brand>strong{grid-column:1/-1;grid-row:1}.field-root .field-header-brand>span{grid-column:1;grid-row:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1300px)and (min-width:761px){.field-root .field-dashboard-header{grid-template-columns:minmax(230px,1fr) minmax(0,1fr) auto auto auto;gap:12px;padding-inline:18px}.field-root .field-header-context{gap:12px}.field-root .field-header-context .field-header-meta:nth-child(2){display:inline-flex}}@media(max-width:1200px)and (min-width:761px){.field-root .field-dashboard-header{grid-template-columns:minmax(150px,1fr) auto auto auto auto}.field-root .field-header-context .field-header-meta:first-child{display:inline-flex}.field-root .field-header-context .field-header-meta:nth-child(2){display:inline-flex}}@media(max-width:760px){.field-root .field-dashboard-header{min-height:96px;height:auto;grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-rows:56px 32px;gap:4px 8px;padding:8px 12px}.field-root .field-dashboard-header>.field-header-brand{grid-column:1;grid-row:1}.field-root .field-dashboard-header>.field-header-brand{position:relative}.field-root .field-dashboard-header>.field-header-context{grid-column:2;grid-row:1;justify-self:end;gap:12px}.field-root .field-header-context .field-header-meta:first-child{display:inline-flex}.field-root .field-header-context .field-header-meta:nth-child(2){display:none}.field-root .field-dashboard-header>.field-threshold-help{grid-column:3;grid-row:1}.field-root .field-dashboard-header>.field-menu-open{grid-column:4;grid-row:1}}@media(max-width:600px){.field-root .field-dashboard-header>.field-threshold-help .field-threshold-bubble{position:fixed;top:58px;left:16px;right:16px;width:auto}}@media(min-width:761px){.field-root .field-dashboard-header{min-height:64px;height:64px;padding-block:6px;grid-template-columns:minmax(230px,1fr) minmax(420px,1.2fr) auto auto}.field-root .field-main{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) clamp(260px,16.667vw,360px);gap:clamp(10px,.834vw,16px)}.field-root .field-place-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,clamp(320px,18vw,420px)),1fr))}}.field-root .field-main-sidebar{grid-column:2;width:auto;min-width:0;min-height:0;padding-top:clamp(8px,.521vw,10px);display:flex;flex-direction:column;gap:clamp(8px,.521vw,10px)}.field-root .field-main-content{margin-inline:clamp(8px,.625vw,12px);grid-column:1;grid-row:1;min-width:0;min-height:0;display:flex;flex-direction:column}.field-root .field-main-content>.field-barns{width:100%;min-width:0;min-height:0}.field-root .field-status-filter{align-self:flex-end;flex:0 0 auto;margin-bottom:var(--f-space-1);padding:0}.field-root .field-status-filter button{box-sizing:border-box;height:clamp(32px,1.875vw,36px);padding:var(--f-space-1) clamp(10px,.834vw,16px);font-size:clamp(16px,1.042vw,20px)}.field-root .field-status-filter button.is-selected{background:var(--f-ink);color:var(--f-surface)}@media(max-width:760px){.field-root .field-dashboard-header{min-height:64px;height:64px;grid-template-rows:56px}.field-root .field-main{box-sizing:border-box;grid-template-columns:minmax(0,1fr);gap:10px;padding-top:0}.field-root .field-main-sidebar{grid-column:auto;width:auto;flex:0 0 auto;padding-top:0}.field-root .field-main-content{grid-column:auto;grid-row:auto;flex:1 1 auto;overflow:hidden}.field-root .field-main-content>.field-barns{overflow-y:auto}.field-root .field-main-content>.field-barns .field-place{height:auto;min-height:0;max-height:none}}.field-status-card{flex:0 0 auto;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto 1fr;align-items:center;gap:clamp(6px,.417vw,8px) clamp(12px,1.146vw,22px);min-height:clamp(118px,7.188vw,138px);padding:clamp(10px,.729vw,14px) clamp(12px,1.042vw,20px);border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface);box-shadow:0 4px 16px #1e2a240f}.field-status-card>h2{grid-column:1/-1;margin:0;color:var(--f-ink);font-size:clamp(18px,1.25vw,24px);font-weight:850;line-height:1.1;letter-spacing:-.04em}.field-status-card-chart{position:relative;width:96px;height:96px;min-width:0}.field-status-card-chart svg{display:block;width:100%;height:100%;transform:rotate(-90deg);overflow:visible}.field-status-card-chart circle{fill:none}.field-status-card-chart-track,.field-status-card-chart-segment{stroke-width:14}.field-status-card-chart-track{stroke:var(--f-sunken)}.field-status-card-chart-segment{stroke-linecap:butt}.field-status-card-chart-segment.is-normal{stroke:var(--f-ok)}.field-status-card-chart-segment.is-caution{stroke:var(--f-warn)}.field-status-card-chart-segment.is-danger{stroke:var(--f-alarm)}.field-status-card-chart>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;pointer-events:none}.field-status-card-chart>span strong{display:block;color:var(--f-ink);font-size:clamp(20px,1.25vw,24px);font-weight:900;line-height:1}.field-status-card-chart>span small{display:block;margin-top:3px;color:var(--f-ink-3);font-size:11px;font-weight:750;line-height:1}.field-status-card-list{display:grid;align-content:center;gap:3px;min-width:0}.field-status-card-list>div{display:grid;grid-template-columns:11px max-content minmax(0,1fr);align-items:center;column-gap:5px;min-height:27px;padding:4px 8px;border-bottom:1px solid var(--f-line);color:var(--f-ink);font-size:15px;font-weight:750;line-height:1.15}.field-status-card-list>div:last-child{border-bottom:0}.field-status-card-list i{width:10px;height:10px;border-radius:50%;background:var(--f-ink-3)}.field-status-card-list .is-normal i{background:var(--f-ok)}.field-status-card-list .is-caution i{background:var(--f-warn)}.field-status-card-list .is-danger i{background:var(--f-alarm)}.field-status-card-list b{font-size:1.05em;font-weight:900}.field-status-card-list .is-normal b{color:var(--f-ok)}.field-status-card-list .is-caution b{color:var(--f-warn-text)}.field-status-card-list .is-danger b{color:var(--f-alarm-text)}.field-status-card-list em{font-style:normal;color:var(--f-ink-2);font-weight:700}.field-status-card-list strong{justify-self:end;color:var(--f-ink);font-size:1.05em;font-weight:900;white-space:nowrap}.field-main-overview-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;flex:0 0 auto;min-width:0;margin-bottom:10px}.field-main-overview-cards>.field-status-card,.field-main-overview-cards>.field-history-card{min-width:0;box-shadow:none}.field-history-card{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:14px 16px;border:1px solid var(--f-line);border-radius:14px;background:var(--f-surface);box-shadow:0 4px 16px #1e2a240f;overflow:hidden}.field-history-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.field-history-card-head h2{margin:0;color:var(--f-ink);font-size:clamp(18px,1.25vw,24px);font-weight:850;line-height:1.1;letter-spacing:-.04em}.field-history-card-head>span{color:var(--f-ink-3);font-size:12px;font-weight:600;white-space:nowrap}.field-history-card-list{display:grid;grid-auto-rows:max-content;align-content:start;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}.field-history-card-list::-webkit-scrollbar{display:none}.field-history-card-list>div{min-width:0;border-bottom:1px solid var(--f-line)}.field-history-card-list>div:last-child{border-bottom:0}.field-history-card-list>div>button{box-sizing:border-box;width:100%;min-width:0;display:grid;grid-template-columns:clamp(16px,.938vw,18px) minmax(0,1fr);grid-template-areas:"icon title" "icon meta";align-items:center;gap:4px clamp(7px,.521vw,10px);padding:clamp(7px,.521vw,10px) 4px;border:0;border-radius:6px;background:transparent;color:var(--f-ink);font:inherit;text-align:left;cursor:pointer}.field-history-card-list>div>button:hover{background:var(--f-sunken)}.field-history-card-list>div>button:focus-visible{outline:2px solid var(--f-focus);outline-offset:-2px}.field-history-card-list>div>button>i{grid-area:icon;align-self:start;display:grid;place-items:center;width:clamp(16px,.938vw,18px);height:clamp(16px,.938vw,18px);color:var(--f-ink-2);font-style:normal}.field-history-card-list>div>button>i svg{width:100%;height:100%;stroke-width:2.4}.field-history-card-title{grid-area:title;display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(16px,1.042vw,20px);font-weight:500;line-height:1.25}.field-history-card-meta{grid-area:meta;display:flex;flex-wrap:wrap;align-items:center;gap:4px clamp(7px,.521vw,10px);min-width:0;color:var(--f-ink-3);font-size:clamp(13px,.834vw,16px);font-weight:700;line-height:1.25}.field-history-card-meta>b{font-weight:800}.field-history-card-meta>time{white-space:nowrap;font-variant-numeric:tabular-nums}.field-history-card-list .is-caution button>i,.field-history-card-list .is-caution .field-history-card-meta>b{color:var(--f-warn-text)}.field-history-card-list .is-danger button>i,.field-history-card-list .is-danger .field-history-card-meta>b{color:var(--f-alarm-text)}.field-history-card-empty{display:grid;place-items:center;min-height:96px;margin:0;color:var(--f-ink-3);font-size:clamp(14px,.834vw,16px);font-weight:700}@media(max-width:760px){.field-status-card{grid-template-columns:88px minmax(0,1fr);gap:8px 16px;min-height:132px;padding:12px 14px}.field-status-card-chart{width:84px;height:84px}.field-status-card-chart>span strong{font-size:21px}.field-status-card-list>div{font-size:14px}.field-history-card{padding:12px 14px}}.field-root .field-main-sidebar>.field-main-overview-cards{width:100%;margin-bottom:0}.field-root .field-main-sidebar .field-status-card{grid-template-columns:clamp(80px,5.834vw,112px) minmax(0,1fr);gap:clamp(6px,.417vw,8px) clamp(10px,.834vw,16px);padding:clamp(10px,.729vw,14px)}.field-root .field-main-sidebar .field-status-card-chart{width:clamp(80px,5.834vw,112px);height:clamp(80px,5.834vw,112px)}.field-root .field-main-sidebar .field-status-card-chart>span strong{font-size:clamp(20px,1.25vw,24px)}.field-root .field-main-sidebar .field-status-card-list>div{font-size:clamp(16px,1.25vw,24px)}.field-root .field-place>.field-place-head>strong{font-size:clamp(18px,5.5cqi,24px);font-weight:500}.field-root .field-barn-head>div:first-child{flex:1 1 auto;flex-wrap:wrap;align-items:center;column-gap:18px;row-gap:4px}.field-root .field-barn-head>div:first-child>strong{font-size:clamp(22px,1.46vw,32px);font-weight:600}.field-root .field-barn-environment{flex-wrap:wrap;column-gap:clamp(10px,.834vw,16px);row-gap:4px}.field-root .field-barn-environment>span{font-size:clamp(17px,1.25vw,24px);font-weight:600}.field-root .field-barn-environment>span>b{font-weight:600!important}.field-root .field-barn-action{flex:0 0 auto}.field-root .field-barn-environment>span>svg{width:clamp(13px,.834vw,16px);height:clamp(13px,.834vw,16px)}.field-root .field-place{grid-template-columns:minmax(0,1.25fr) minmax(150px,1fr)!important;grid-template-rows:auto minmax(0,1fr)!important;column-gap:clamp(8px,2cqi,14px);row-gap:0;height:auto!important;padding-bottom:clamp(8px,2cqi,12px)}.field-root .field-place>.field-place-head{grid-column:1/-1!important;grid-row:1!important}.field-root .field-place>.field-place-body,.field-root .field-place>.field-place-slots,.field-root .field-place>.field-place-nosignal,.field-root .field-place>.field-place-fault-state{margin:0!important}.field-root .field-place>.field-place-body{grid-column:1!important;grid-row:2!important;grid-template-columns:minmax(88px,1fr) minmax(72px,.9fr)!important;gap:clamp(12px,4cqi,18px)!important;min-width:0;overflow:visible!important}.field-root .field-place>.field-place-body>.field-place-score{width:clamp(clamp(92px,7.083vw,136px),52cqi,152px);transform:translateY(-4px)}.field-root .field-place-body .field-place-score:is(.is-len-3,.is-len-4,.is-len-5,.is-len-6)>b{font-size:clamp(22px,19.2cqw,32px);font-weight:600;line-height:1}.field-root .field-place-body .field-place-score>s{font-size:clamp(16px,13cqw,18px);font-weight:600;line-height:1}.field-root .field-place-score>svg>.field-place-score-track{stroke:var(--f-line)!important}.field-root .field-place-score>svg>.field-place-score-value{stroke:var(--f-ok)}.field-root .field-place-score.is-caution>svg>.field-place-score-value{stroke:var(--f-warn)}.field-root .field-place-score.is-danger>svg>.field-place-score-value{stroke:var(--f-alarm)}.field-root .field-place-score.is-unknown>svg>.field-place-score-value{stroke:var(--f-ink-3)}.field-root .field-place>.field-place-body>.field-place-rates{width:100%;min-width:0;align-self:center;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:clamp(4px,1.5cqi,8px)!important}.field-root .field-place-rates .field-place-rate{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-items:center;justify-items:start;column-gap:0;row-gap:2px}.field-root .field-place-rates .field-place-rate>u{gap:2px;color:var(--f-ink-2)!important;font-size:clamp(18px,8.9cqi,26px);font-weight:500;line-height:1}.field-root .field-place-rates .field-place-rate>u svg{width:1em;height:1em;color:var(--f-info)}.field-root .field-place-rates .field-place-rate>b{gap:1px;justify-self:start;color:var(--f-ok)!important;font-size:clamp(18px,9.65cqi,30px);font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.field-root .field-place-rates .field-place-rate.is-caution>b{color:var(--f-warn)!important}.field-root .field-place-rates .field-place-rate.is-danger>b{color:var(--f-alarm)!important}.field-root .field-place-rates .field-place-rate.is-unavailable>b{color:var(--f-ink-3)!important}.field-root .field-place>.field-place-slots{grid-column:2!important;grid-row:2!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr));container-type:inline-size;container-name:time-slots;gap:clamp(3px,1cqi,6px)!important;min-width:0;min-height:0!important;overflow:visible}.field-root .field-place>.field-place-slots .field-place-slot{gap:1px!important;min-width:0;padding:clamp(2px,1cqi,7px);border:1px solid var(--f-line);border-radius:5px;background:var(--f-surface)!important}.field-root .field-place>.field-place-slots .field-place-slot>u{gap:2px;color:var(--f-ink-2);font-size:clamp(15px,10.5cqi,25px);font-weight:500;line-height:1}.field-root .field-place>.field-place-slots .field-place-slot>u svg{width:1em;height:1em;color:var(--f-info)}.field-root .field-place>.field-place-slots .field-place-slot>b{display:inline-flex;align-items:center;gap:1px;color:var(--f-ok);font-size:clamp(15px,10.5cqi,25px);font-weight:600;letter-spacing:-.04em;line-height:1}.field-root .field-place-score>b>.field-place-score-direction{width:.5em;height:.5em}.field-root .field-place-rates .field-place-rate>b>svg,.field-root .field-place>.field-place-slots .field-place-slot>b>svg{width:.7em;height:.7em}.field-root .field-place>.field-place-slots .field-place-slot.is-caution>b{color:var(--f-warn)}.field-root .field-place>.field-place-slots .field-place-slot.is-danger>b{color:var(--f-alarm)}.field-root .field-place>.field-place-slots .field-place-slot.is-unavailable>b{color:var(--f-ink-3)}.field-root .field-place>.field-place-nosignal,.field-root .field-place>.field-place-fault-state{display:grid;grid-column:1/-1!important;grid-row:2!important;grid-template-columns:auto auto;align-content:center;align-items:center;justify-content:center;align-self:center;gap:4px clamp(2px,1cqi,4px);text-align:center}.field-root .field-place>.field-place-nosignal{display:flex;flex-direction:column;gap:6px}.field-root .field-place>.field-place-nosignal>.field-receipt-heading{display:flex;align-items:center;justify-content:center;gap:8px}.field-root .field-place>.field-place-nosignal .field-receipt-heading>svg{flex:none;width:1em;height:1em}.field-root .field-place>.field-place-nosignal .field-receipt-heading{font-size:clamp(18px,min(8cqi,18cqh),40px)}.field-root .field-place>.field-place-nosignal .field-receipt-heading b{font-size:inherit}.field-root .field-place>.field-place-nosignal .field-receipt-time{font-size:clamp(16px,min(6cqi,13cqh),30px);line-height:1.2}.field-receipt-short{display:none}@container dashboard-card (max-width:300px) or (max-height:150px){.field-root .field-place .field-receipt-full{display:none}.field-root .field-place .field-receipt-short{display:inline}}@container dashboard-card (max-height:170px){.field-root .field-place>.field-place-nosignal b,.field-root .field-place>.field-place-fault-state b{font-size:clamp(18px,7cqi,26px)}.field-root .field-place>.field-place-nosignal em,.field-root .field-place>.field-place-fault-state em{font-size:16px;line-height:1.2}}@container dashboard-card (max-height:110px) and (min-width:320px){.field-root .field-place>.field-place-nosignal{flex-direction:row;gap:12px;flex-wrap:wrap}}.field-root .field-place>.field-place-fault-state{grid-template-areas:"icon title" "detail detail"}.field-root .field-place>.field-place-fault-state>svg{justify-self:end}.field-root .field-place>.field-place-fault-state b{justify-self:start}.field-root .field-place>.field-place-nosignal>svg,.field-root .field-place>.field-place-fault-state>svg{grid-area:icon;width:clamp(18px,min(8cqi,3.2vh),40px);height:clamp(18px,min(8cqi,3.2vh),40px);align-self:center}.field-root .field-place>.field-place-fault-state>svg{color:var(--f-alarm)}.field-root .field-place>.field-place-nosignal>span,.field-root .field-place>.field-place-fault-state>span{display:contents}.field-root .field-place>.field-place-nosignal b,.field-root .field-place>.field-place-fault-state b{grid-area:title;font-size:clamp(18px,min(8cqi,3.2vh),40px);line-height:1.2}.field-root .field-place>.field-place-nosignal em,.field-root .field-place>.field-place-nosignal small,.field-root .field-place>.field-place-fault-state em{grid-area:detail;display:block;min-width:0;font-size:clamp(14px,min(6cqi,2.4vh),30px);line-height:1.3;overflow-wrap:anywhere}.field-root .field-place>.field-place-head strong,.field-root .field-place>.field-place-head .field-place-detail,.field-root .field-place-score>s,.field-root .field-place-rates .field-place-rate>u,.field-root .field-place-slots .field-place-slot>u,.field-root .field-place-nosignal em,.field-root .field-place-nosignal small,.field-root .field-place-fault-state b,.field-root .field-place-fault-state em{color:var(--f-ink)!important}.field-root .field-history-card-head>span,.field-root .field-history-card-title,.field-root .field-history-card-empty{color:var(--f-ink)!important}.field-root .field-history-card-head>span{font-size:clamp(18px,1.25vw,24px)}.field-root .field-history-card-empty{font-size:clamp(14px,.834vw,16px)}.field-root .field-status-card-list>div,.field-root .field-status-card-list>div b,.field-root .field-status-card-list>div em,.field-root .field-status-card-list>div strong{font-size:clamp(16px,1.25vw,24px);font-weight:500}@media(max-width:760px){.field-root .field-main{padding-top:0}.field-root .field-main>.field-main-sidebar{grid-column:auto;grid-row:auto}.field-root .field-main>.field-main-content{grid-column:auto;grid-row:auto}}.field-root .field-barn-head{height:auto;min-height:0}.field-root .field-barn-environment-missing{position:relative;flex:0 1 auto;min-width:0;color:var(--f-warn-text);font-size:clamp(15px,1.042vw,20px);font-weight:600}.field-root .field-barn-environment-missing>summary{cursor:pointer;list-style:none;white-space:normal}.field-root .field-barn-environment-missing>summary::-webkit-details-marker{display:none}.field-root .field-barn-environment-missing>summary:hover{text-decoration:underline;text-underline-offset:3px}.field-root .field-barn-environment-missing>summary:focus-visible{outline:2px solid var(--f-focus);outline-offset:3px;border-radius:3px}.field-root .field-barn-environment-missing-layer{position:absolute;z-index:50;top:calc(100% + 8px);left:0;display:grid;gap:8px;width:max-content;min-width:210px;max-width:min(360px,calc(100vw - 40px));padding:12px 14px;border:1px solid var(--f-line);border-radius:9px;background:var(--f-surface);box-shadow:0 10px 24px #1e2a2424;color:var(--f-ink)}.field-root .field-barn-environment-missing-layer>strong{font-size:clamp(16px,1.042vw,20px);font-weight:700}.field-root .field-barn-environment-missing-layer>ul{display:grid;gap:6px;max-height:220px;margin:0;padding:0;overflow-y:auto;list-style:none}.field-root .field-barn-environment-missing-layer li{font-size:clamp(15px,.938vw,18px);font-weight:600;line-height:1.45;color:var(--f-ink-2)}.field-root .field-status-card>h2,.field-root .field-history-card-head>h2{margin:0 0 16px;font-weight:600}.field-root .field-place{border:1px solid var(--f-line);outline:1px solid transparent;outline-offset:-1px;box-shadow:none;transition:outline-color .12s ease-out,transform .12s ease-out}.field-root .field-place:hover{outline-color:var(--f-info);box-shadow:none;transform:translateY(-1px);transition:outline-color .12s ease-out,transform .12s ease-out}.field-root .field-place.is-danger,.field-root .field-place.is-danger:hover{outline-color:transparent;box-shadow:inset 0 0 0 3px var(--f-alarm)}.field-root .field-place:focus-visible{outline:2px solid var(--f-focus);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.field-root .field-place,.field-root .field-place:hover{transition:none}.field-root .field-place:hover{transform:none}}.field-root .field-main-content>.field-barns{overflow-y:auto;scrollbar-gutter:stable}@media(min-width:761px){.field-root .field-main-content>.field-barns>.field-barn{flex:0 0 auto;min-height:min-content;grid-template-rows:auto minmax(96px,1fr)}.field-root .field-main-content>.field-barns>.field-barn>.field-barn-head{min-height:44px}.field-root .field-main-content>.field-barns .field-place-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,min(var(--dashboard-card-width,420px),calc((100% - 36px)/4)))),1fr));column-gap:12px;grid-auto-rows:var(--dashboard-row-height,96px)}.field-root .field-main-content>.field-barns .field-place{height:auto;min-height:96px;max-height:none}}.field-root .field-place>.field-place-head{margin-top:0;margin-bottom:clamp(6px,1.5cqi,10px);background:transparent!important;color:var(--f-ink)!important}.field-root .field-place.is-offline>.field-place-head,.field-root .field-place.is-unknown>.field-place-head,.field-root .field-place.is-fault>.field-place-head{align-self:start}.field-root .field-header-brand{display:flex;align-items:baseline;gap:12px;min-width:0}.field-root .field-header-brand>strong{flex:none}.field-root .field-header-brand>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--f-ink-3);font-size:clamp(13px,.938vw,18px);font-weight:500}.field-root .field-header-context{gap:clamp(10px,1.2vw,24px)}.field-root .field-dashboard-header .field-header-baseline{font-size:clamp(15px,1.042vw,20px)}.field-root .field-header-received time,.field-root .field-header-history-state time{color:var(--f-ink);font-weight:600;white-space:nowrap}.field-root .field-dashboard-header .field-header-history-action,.field-root .field-header-context>.field-history-live{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;padding:5px 9px;border:1px solid var(--f-line);border-radius:6px;background:var(--f-surface);color:var(--f-ink-2);font:inherit;font-size:clamp(15px,1.042vw,20px);font-weight:600;white-space:nowrap}.field-root .field-header-context>.field-history-live{border-color:var(--f-line);color:var(--f-ink)}@media(max-width:1500px){.field-root .field-header-context .field-header-baseline{display:none}.field-root .field-dashboard-header .field-header-history-action,.field-root .field-header-context>.field-history-live{font-size:16px;padding-inline:7px}}@media(min-width:761px)and (max-width:1919px){.field-root .field-place{grid-template-columns:minmax(0,1fr)!important}.field-root .field-place>.field-place-slots{display:none}}@media(min-width:761px)and (max-width:1500px){.field-root .field-barn:not(.is-collapsed){flex:0 0 auto;grid-template-rows:auto auto}.field-root .field-place-grid{align-content:start}.field-root .field-place>.field-place-body>.field-place-score{width:clamp(64px,min(28cqi,12vh),104px)}.field-root .field-place-body .field-place-score:is(.is-len-3,.is-len-4,.is-len-5,.is-len-6)>b{font-size:clamp(18px,24cqw,25px)}.field-root .field-place-score>s{font-size:clamp(11px,14cqw,15px)}.field-root .field-place>.field-place-body{grid-template-columns:minmax(0,1fr)!important}.field-root .field-place>.field-place-body>.field-place-rates{display:none!important}}@media(min-width:761px)and (max-height:760px){.field-root .field-place{gap:3px!important}.field-root .field-place>.field-place-head{gap:4px!important}.field-root .field-place>.field-place-head .field-place-detail{font-size:10px!important}.field-root .field-place>.field-place-body>.field-place-score{width:clamp(58px,min(24cqi,10vh),76px)!important}.field-root .field-place-score>b{line-height:.9!important}.field-root .field-place-rates .field-place-rate{column-gap:3px!important}.field-root .field-place-rates .field-place-rate>b{gap:2px!important}.field-root .field-place>.field-place-slots .field-place-slot{border-radius:4px!important}.field-root .field-place>.field-place-slots .field-place-slot>u{gap:1px!important}.field-root .field-place>.field-place-head>strong{font-size:clamp(16px,4.2cqi,20px)}.field-root .field-place-score>b{font-size:clamp(16px,24cqw,20px)}.field-root .field-place-rates .field-place-rate>u,.field-root .field-place>.field-place-slots .field-place-slot>u{font-size:clamp(14px,4cqi,18px)}.field-root .field-place-rates .field-place-rate>b,.field-root .field-place>.field-place-slots .field-place-slot>b{font-size:clamp(16px,4.5cqi,20px)}}.field-root .field-sensor-average-table th:first-child{width:38%}.field-root .field-sensor-average-table thead th{vertical-align:bottom}.field-root .field-sensor-average-table thead th>span,.field-root .field-sensor-average-table thead th>small{display:block}.field-root .field-sensor-average-table thead th>small{margin-top:2px;color:var(--f-ink-3);font-size:.72em;font-weight:600;line-height:1}.field-root .field-rollup-card.field-sensor-average-card{gap:1px;padding-block:5px}.field-root .field-sensor-average-card .field-rollup-card-head>strong,.field-root .field-sensor-average-card .field-rollup-sub{line-height:1.1}.field-root .field-sensor-average-table th,.field-root .field-sensor-average-table td{padding:0 1px;line-height:1}.field-root .field-rollup-table.field-sensor-average-table tbody tr{box-shadow:none}@container rollup (max-height:140px){.field-root .field-rollup-card.field-sensor-average-card{padding:0 4px;gap:0}.field-root .field-sensor-average-card .field-rollup-card-head{display:none}.field-root .field-sensor-average-table thead th{font-size:11px}.field-root .field-sensor-average-table tbody th,.field-root .field-sensor-average-table tbody td{font-size:12px}}@media(min-width:761px)and (max-height:760px){.field-root .field-rollup-card.field-sensor-average-card{order:2}.field-root .field-rollup-card:nth-child(5){order:5}}@media(min-width:761px){.field-root .field-main-sidebar{box-sizing:border-box;position:relative;isolation:isolate;border:0;border-left:1px solid var(--f-line)}.field-root .field-main-sidebar>.field-main-overview-cards{flex:1 1 auto;min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr)}.field-root .field-main-sidebar .field-status-card,.field-root .field-main-sidebar .field-history-card{border:0;border-radius:0}.field-root .field-sidebar-summary{position:absolute;top:10px;right:0;bottom:0;left:0;z-index:50;min-width:0;min-height:0;background:var(--f-surface)}.field-root .field-sidebar-summary>.field-barn{width:100%;height:100%;min-height:0;margin:0}.field-root .field-sidebar-summary .field-barn-rollup{box-sizing:border-box;width:100%;height:100%;padding:12px;border:0;border-radius:0;background:var(--f-surface);box-shadow:none;gap:10px;overflow:hidden}.field-root .field-sidebar-summary .field-rollup-top{align-items:flex-start;gap:8px}.field-root .field-sidebar-summary .field-rollup-top-info{flex:1;display:grid;align-items:start;gap:2px}.field-root .field-sidebar-summary .field-rollup-top strong{font-size:20px}.field-root .field-sidebar-summary .field-rollup-top-info>span,.field-root .field-sidebar-summary .field-rollup-toggle{font-size:12px}.field-root .field-sidebar-summary .field-rollup-toggle{margin-left:0}.field-root .field-sidebar-summary .field-rollup-switch>button{width:24px;height:24px;font-size:14px}.field-root .field-sidebar-summary .field-rollup-switch>b{font-size:11px}.field-root .field-sidebar-summary .field-rollup-cards{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto;align-content:start;gap:8px;padding-right:3px;overflow-x:hidden;overflow-y:auto}.field-root .field-sidebar-summary .field-rollup-card,.field-root .field-sidebar-summary .field-rollup-card:nth-child(4),.field-root .field-sidebar-summary .field-rollup-card:nth-child(5){display:flex!important;min-height:88px;height:auto;padding:10px;overflow:visible}.field-root .field-sidebar-summary .field-rollup-card-head>strong{font-size:14px}.field-root .field-sidebar-summary .field-rollup-sub,.field-root .field-sidebar-summary .field-rollup-note,.field-root .field-sidebar-summary .field-rollup-spark-axis,.field-root .field-sidebar-summary .field-rollup-table th{font-size:11px}.field-root .field-sidebar-summary .field-rollup-table,.field-root .field-sidebar-summary .field-rollup-table td{font-size:12px}}@media(min-width:761px){.field-root .field-main-sidebar .field-sidebar-summary .field-barn.is-collapsed .field-rollup-cards{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:none!important;grid-auto-rows:auto!important;overflow-x:hidden!important;overflow-y:auto!important}.field-root .field-main-sidebar .field-sidebar-summary .field-barn.is-collapsed .field-rollup-card,.field-root .field-main-sidebar .field-sidebar-summary .field-barn.is-collapsed .field-rollup-card:nth-child(4),.field-root .field-main-sidebar .field-sidebar-summary .field-barn.is-collapsed .field-rollup-card:nth-child(5){display:flex!important;order:initial!important;min-height:108px!important;height:auto!important;overflow:visible!important}.field-root .field-main-sidebar .field-sidebar-summary .field-rollup-top{min-height:48px}.field-root .field-main-sidebar .field-sidebar-summary .field-rollup-table-wrap{flex:0 0 auto!important;min-height:max-content!important;overflow:visible!important}.field-root .field-main-sidebar .field-sidebar-summary .field-rollup-card:nth-child(3){min-height:140px!important}.field-root .field-main-sidebar .field-sidebar-summary .field-rollup-card:nth-child(5){min-height:170px!important}.field-root .field-main-sidebar .field-sidebar-summary .field-rollup-tally{min-height:70px}}.field-root .field-place-body .field-place-score{display:block;grid-template-rows:none;row-gap:0}.field-root .field-place-body .field-place-score>b{position:absolute;left:50%;top:44%;margin:0!important;transform:translate(-50%,-50%) scale(var(--fit,1));transform-origin:center;white-space:nowrap;width:max-content;max-width:none;display:inline-flex;align-items:center;gap:.08em}.field-root .field-place-body .field-place-score>s{position:absolute;left:50%;top:70%;margin:0!important;transform:translate(-50%,-50%);font-size:max(9px,15cqw);white-space:nowrap;text-decoration:none}.field-overview-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px 24px;padding:0 clamp(12px,1.459vw,28px) 8px;flex-shrink:0}.field-root .field-overview-tools .field-status-filter{margin:8px auto 0 0}.field-root .field-card-name-mode{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--f-ink-2);font-size:clamp(14px,.938vw,18px);font-weight:800}.field-root .field-card-name-mode>.segmented{padding:0}.field-root .field-card-name-mode button{box-sizing:border-box;height:clamp(32px,1.875vw,36px);padding:var(--f-space-1) clamp(10px,.834vw,16px);font-size:clamp(14px,.938vw,18px)}.field-root .field-card-name-mode button.is-selected{background:var(--f-ink);color:var(--f-surface)}@media(max-width:760px){.field-root .field-card-name-mode{width:100%;margin-top:0;justify-content:flex-end}.field-root .field-card-name-mode>span{display:none}.field-root .field-card-name-mode button{padding:6px 9px;font-size:13px}}@media(min-width:761px){.field-root .field-main-content .field-place{container-type:size;container-name:dashboard-card;grid-template-columns:minmax(0,1fr)!important}.field-root .field-main-content .field-place>.field-place-body{grid-column:1!important;padding-right:calc(clamp(128px,44cqi,280px) + 8px);grid-template-columns:minmax(100px,1fr) minmax(100px,1fr)!important}.field-root .field-main-content .field-place>.field-place-slots{display:grid;grid-column:1!important;grid-row:2!important;width:clamp(128px,44cqi,280px);justify-self:end}.field-root .field-main-content .field-place>.field-place-body>.field-place-rates{display:grid!important}.field-root .field-main-content .field-place>.field-place-body>.field-place-score{width:min(140px,100%);transform:none}.field-root .field-main-content .field-place>.field-place-head>strong{font-size:20px;line-height:1.1}.field-root .field-main-content .field-place>.field-place-head .field-place-detail{font-size:14px!important}@container style(--dashboard-level: compact) or style(--dashboard-level: text) or style(--dashboard-level: minimal){.field-root .field-main-content .field-place>.field-place-slots{display:none}.field-root .field-main-content .field-place>.field-place-body{padding-right:0;grid-template-columns:minmax(100px,1fr) minmax(140px,1fr)!important;gap:12px!important}.field-root .field-main-content .field-place>.field-place-body>.field-place-score{width:min(100%,92cqh,180px)}.field-root .field-main-content .field-place-rates .field-place-rate{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;row-gap:2px;align-items:start}.field-root .field-main-content .field-place-rates .field-place-rate>u,.field-root .field-main-content .field-place-rates .field-place-rate>b{font-size:20px;line-height:1}.field-root .field-main-content .field-place>.field-place-body>.field-place-rates{gap:2px!important}}@container style(--dashboard-level: compact){.field-root .field-main-content .field-place-rates .field-place-rate>u,.field-root .field-main-content .field-place-rates .field-place-rate>b{font-size:clamp(20px,min(7cqw,18cqh),28px);line-height:1.05}.field-root .field-main-content .field-place>.field-place-body>.field-place-rates{gap:clamp(4px,4cqh,10px)!important}}@container style(--dashboard-level: text) or style(--dashboard-level: minimal){.field-root .field-main-content .field-place>.field-place-body{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)!important;gap:clamp(8px,3cqi,16px)!important}.field-root .field-main-content .field-place>.field-place-body>.field-place-score{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:auto;aspect-ratio:auto;container-type:normal;gap:6px}.field-root .field-main-content .field-place-score>svg{display:none}.field-root .field-main-content .field-place-body .field-place-score>b,.field-root .field-main-content .field-place-body .field-place-score>s{position:static;transform:none;margin:0!important;width:auto;font-size:28px;line-height:1.1}.field-root .field-main-content .field-place-body .field-place-score>s{font-size:20px}.field-root .field-main-content .field-place-body .field-place-score>b{font-size:clamp(20px,8cqi,28px);width:max-content;transform:scale(var(--fit,1));transform-origin:center}.field-root .field-main-content .field-place>.field-place-body>.field-place-rates{justify-items:center}.field-root .field-main-content .field-place-rates .field-place-rate{width:100%;justify-items:center}.field-root .field-main-content .field-place-rates .field-place-rate>b{justify-self:center}.field-root .field-main-content .field-place-nosignal,.field-root .field-main-content .field-place-fault-state{font-size:22px;gap:8px}.field-root .field-main-content .field-place-nosignal em,.field-root .field-main-content .field-place-fault-state em{font-size:16px}}@container style(--dashboard-level: minimal){.field-root .field-main-content .field-place>.field-place-body{grid-template-columns:minmax(0,1fr)!important}.field-root .field-main-content .field-place>.field-place-body>.field-place-rates{display:none!important}.field-root .field-main-content .field-place>.field-place-body>.field-place-score{flex-direction:row;gap:12px}.field-root .field-main-content .field-place-body .field-place-score>s{order:-1}}@container dashboard-card (min-width:330px) and (min-height:100px){.field-root .field-main-content .field-place>.field-place-slots{display:grid}.field-root .field-main-content .field-place>.field-place-body{padding-right:calc(clamp(128px,44cqi,280px) + 8px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}}}.field-history-card-list>div>button{grid-template-areas:"icon title" "icon basis" "icon reason" "icon meta"}.field-history-card-basis{grid-area:basis;font-size:16px;line-height:1.55;color:var(--f-ink-2)}.field-history-card-reason{grid-area:reason;min-width:0;white-space:normal;overflow-wrap:anywhere;font-size:16px;line-height:1.55;color:var(--f-ink-2)}.field-root .field-main-content>.field-barns>.field-barn{position:relative}.field-root .field-main-content>.field-barns>.field-barn.is-collapsed{flex:0 0 auto;grid-template-rows:auto auto}.field-root .field-main-content>.field-barns>.field-barn.is-collapsed>.field-barn-head,.field-root .field-main-content>.field-barns>.field-barn.is-collapsed>.field-place-grid{visibility:hidden;pointer-events:none}.field-root .field-main-content .field-barn.is-collapsed>.field-barn-rollup{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%;grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden;padding:8px 12px;gap:8px;font-size:16px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-top{min-height:32px;gap:8px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-top-info{min-width:0;gap:8px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-top-info>strong{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(140px,1fr));grid-auto-rows:auto;align-content:stretch;overflow:auto;gap:10px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-card{display:flex;order:0;min-height:0;height:100%;box-sizing:border-box;padding:6px 8px;gap:4px;overflow:auto;font-size:16px;line-height:1.4}.field-root .field-main-content .field-barn.is-collapsed :is(.field-rollup-card,.field-rollup-top) :is(span,small,th,td,u,b,em,strong){font-size:inherit;line-height:1.4}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-card-head{display:flex;flex:none}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-card-head>strong{font-size:18px;white-space:normal}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-toggle{font-size:16px;min-height:32px;flex:none}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-table-wrap{min-height:0;overflow:auto}.field-rollup-table-wrap{container-type:inline-size;container-name:rollup-table}.field-rollup-column-unit{display:none}@container rollup-table (min-width:360px){.field-rollup-column-unit{display:inline}.field-rollup-cell-unit{display:none}}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-table{min-width:0;width:100%;table-layout:fixed}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-table :is(th,td){padding:3px 4px;white-space:normal;overflow-wrap:anywhere;max-width:none;overflow:visible;text-overflow:clip}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-spark{min-height:40px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-top{flex-wrap:wrap}.field-root .field-rollup-device-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;margin-left:auto;font-size:16px}.field-root .field-rollup-device-status>strong{font-size:16px;white-space:nowrap}.field-root .field-rollup-device-status .field-rollup-tally{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;min-height:0}.field-root .field-rollup-device-status .field-rollup-tally>i{display:flex;flex-direction:row;align-items:center;gap:4px;margin:0;white-space:nowrap}.field-root .field-rollup-device-status .field-rollup-tally :is(u,b,span){font-size:16px;line-height:1.4}.field-root .field-rollup-device-status .field-rollup-tally em{width:8px;height:8px;margin:0}@container rollup (min-width:900px){.field-root .field-main-content .field-barn.is-collapsed .field-rollup-cards{grid-template-columns:minmax(0,1.15fr) minmax(0,.8fr) minmax(0,1fr) minmax(0,1.15fr);grid-template-rows:minmax(0,1fr);gap:6px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-card{padding:6px 4px;gap:4px}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-table :is(th,td){padding:3px 1px}}@container rollup (max-width:760px){.field-root .field-main-content .field-barn.is-collapsed .field-rollup-cards{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-auto-rows:minmax(180px,auto)}.field-root .field-main-content .field-barn.is-collapsed .field-rollup-top-info>span:not(.field-rollup-switch){display:none}.field-root .field-main-content .field-rollup-device-status{order:2;flex-basis:100%;margin-left:0}}@container rollup (max-height:220px){.field-root .field-main-content .field-barn.is-collapsed .field-rollup-sub,.field-root .field-main-content .field-barn.is-collapsed .field-rollup-spark-axis{display:none}}@media(min-width:761px){.field-root .field-main-content>.field-barns>.field-barn.is-collapsed{grid-template-rows:auto minmax(96px,1fr)}}.field-place-basis{font-size:12px;line-height:1.3;color:var(--f-ink-2);margin-left:auto;white-space:normal}.app-shell.is-camera-module{background:var(--bg);background-image:none}.app-shell.is-flat:has(.cctv-status-page){height:100dvh;overflow:hidden}.app-shell.is-flat:has(.cctv-status-page) .app-main{overflow:hidden}.app-shell.is-camera-module .app-topbar-tabs{overflow-y:hidden}.app-shell.is-camera-module .app-main{padding:10px 28px 16px;background:var(--f-bg)}.cctv-status-page{display:flex;flex-direction:column;height:100%;min-height:0;box-sizing:border-box;overflow-x:clip;overflow-y:hidden;padding:0!important;background:var(--f-bg)!important;color:var(--text)}.cctv-page-controls{display:flex;flex:none;align-items:center;gap:16px;padding-top:4px;margin-bottom:16px}.cctv-page-toolbar-slot{flex:1 1 auto;min-width:0;box-sizing:border-box}.cctv-page-toolbar-slot>.cctv-toolbar{width:100%;margin:0}.cctv-page-controls>.module-page-actions{flex:0 0 auto;justify-content:flex-end;white-space:nowrap;font-size:18px}.cctv-activity-link{width:100%;justify-content:center}.cctv-page-controls>.module-page-actions .button,.cctv-page-controls>.module-page-actions .module-update-chip{font-size:18px}.cctv-dashboard-layout{display:flex;flex:1 1 auto;align-items:stretch;min-height:0;overflow:hidden;gap:16px}.cctv-dashboard-content{order:1;flex:4 1 56rem;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:auto;scrollbar-width:none;-ms-overflow-style:none;padding-right:8px}.cctv-dashboard-content::-webkit-scrollbar{display:none}.cctv-dashboard-sidebar{order:2;flex:1 1 18rem;min-width:0;box-sizing:border-box;min-height:0;overflow:hidden;padding-left:16px;border:0;border-left:1px solid var(--border)}.cctv-dashboard-sidebar-inner{display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}.cctv-status-summary-card{flex:0 1 300px}.cctv-history-card{flex:1 1 0;box-sizing:border-box;width:100%}.cctv-status-summary-card,.cctv-history-card{border:0}.cctv-dashboard-sidebar .field-history-card-head h2{font-size:24px;font-weight:600}.cctv-history-card .field-history-card-list>div>i{font-size:9px}.cctv-history-card .field-history-card-head>span{font-size:16px}.cctv-history-card .field-history-card-list>div>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.cctv-history-card .field-history-card-list>div>time{font-size:14px}.cctv-history-card .field-history-card-list .is-normal>i{background:var(--ok-soft);color:var(--ok)}.cctv-history-card .field-history-card-list .is-caution>i{background:var(--warn-soft);color:var(--warn)}.cctv-history-card .field-history-card-list .is-danger>i{background:var(--danger-soft);color:var(--danger)}.cctv-dashboard-sidebar .module-summary-strip{display:flex!important;flex:1 1 auto;flex-direction:column;grid-template-columns:1fr!important;min-height:0;margin:0!important;border:0!important;box-shadow:none!important}.cctv-dashboard-sidebar .module-summary-cell{flex:1 1 0;min-height:0!important;gap:10px!important;padding:6px 8px!important;border:0!important}.cctv-dashboard-sidebar .module-summary-cell+.module-summary-cell{border-top:1px solid var(--border)!important}.cctv-status-summary-card .module-summary-icon{width:34px!important;height:34px!important;font-size:15px!important}.cctv-status-summary-card .module-summary-cell>div{display:grid;flex:1 1 auto;grid-template-areas:"label value" "meta value";grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;min-width:0}.cctv-status-summary-card .module-summary-cell>div>span{grid-area:label;font-size:24px!important;font-weight:600!important;line-height:1.2}.cctv-status-summary-card .module-summary-cell>div>strong{grid-area:value;margin:0!important;font-size:28px!important}.cctv-status-summary-card .module-summary-cell>div>small{grid-area:meta;margin:1px 0 0!important;font-size:16px!important;font-weight:500!important;line-height:1.2}.cctv-status-page .module-title-block h1,.cctv-status-page .module-summary-cell strong,.cctv-status-page .hierarchical-zone-head>span:first-child,.cctv-status-page .cctv-card-head strong,.cctv-status-page .cctv-card-facts dd{color:var(--text)!important}.cctv-status-page .module-title-block p,.cctv-status-page .module-update-chip,.cctv-status-page .module-summary-cell span,.cctv-status-page .module-summary-cell small,.cctv-status-page .cctv-card-head span,.cctv-status-page .cctv-card-facts dt{color:var(--text-muted)!important}.cctv-status-page .cctv-toolbar{position:relative;z-index:30;display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:nowrap;gap:10px;overflow:visible}.cctv-status-page .cctv-status-filter{flex:0 0 auto;padding:0}.cctv-status-page .cctv-status-filter button{box-sizing:border-box;height:44px;padding:var(--f-space-1) var(--f-space-3);font-size:18px}.cctv-status-page .segmented.cctv-status-filter>button.is-selected{background:var(--f-ink);color:var(--f-surface)}.cctv-search,.cctv-sort-menu{box-sizing:border-box;height:44px;border:1px solid var(--border);border-radius:var(--f-radius-cell);background:var(--surface);color:var(--text)}.cctv-search{display:flex;flex:0 0 18rem;align-items:center;gap:10px;width:18rem;min-width:18rem;max-width:18rem;padding:0 14px;font-size:16px}.cctv-status-page .cctv-search{flex:0 1 18rem;width:18rem;min-width:14rem;max-width:18rem;font-size:18px}.cctv-search input{width:100%;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-weight:700}.cctv-search input::placeholder,.cctv-search i{color:var(--text-muted)}.cctv-search:focus-within,.cctv-sort-menu:focus-within{outline:2px solid var(--blue);outline-offset:2px}.cctv-sort-menu{position:relative;flex:0 1 14rem;min-width:12rem}.cctv-status-page .cctv-sort-menu{font-size:18px}.cctv-sort-menu summary{display:flex;align-items:center;gap:10px;height:100%;padding:0 12px;color:var(--text);cursor:pointer;list-style:none}.cctv-sort-menu summary::-webkit-details-marker{display:none}.cctv-status-page .cctv-sort-menu summary span{color:var(--text-muted);font-size:18px;font-weight:800}.cctv-status-page .cctv-sort-menu summary strong{flex:1;color:var(--text);font-size:18px}.cctv-sort-menu summary i{color:var(--text-muted);transition:transform .12s ease-out}.cctv-sort-menu[open] summary i{transform:rotate(180deg)}.cctv-sort-options{position:absolute;top:calc(100% + 6px);right:0;z-index:1;display:grid;width:100%;padding:6px;border:1px solid var(--border);border-radius:var(--f-radius-cell);background:var(--surface);box-shadow:var(--shadow)}.cctv-sort-options button{display:flex;align-items:center;gap:8px;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-weight:800;text-align:left;cursor:pointer}.cctv-sort-options button:hover{background:var(--surface-2)}.cctv-sort-options button[aria-checked=true]{color:var(--blue)}.cctv-status-page .hierarchical-zone-level{border:0!important;border-radius:0!important;background:var(--surface)!important;box-shadow:none!important}.cctv-status-page .hierarchical-zone-head{padding:12px 14px 8px!important;border:0!important;background:var(--surface)!important}.cctv-status-page .hierarchical-zone-head>span:first-child{font-size:28px}.cctv-status-page .hierarchical-zone-body{padding:0 14px 14px!important}.cctv-status-page .app-device-grid.cctv-zone-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr))!important;grid-auto-rows:1fr;align-items:stretch!important;gap:10px!important;background:transparent!important}.cctv-status-page .cctv-zone-grid>.hierarchical-zone-item,.cctv-status-page .cctv-cell{align-self:stretch!important;min-width:0;width:auto!important;max-width:100%;height:100%}.cctv-status-page .cctv-cell{position:relative}.cctv-status-page .cctv-device-row{--camera-state: var(--text-muted);position:relative;display:grid!important;grid-template-rows:auto 1fr;gap:12px!important;width:100%!important;block-size:clamp(218px,15vw,238px);padding:14px!important;overflow:hidden;border:1px solid var(--border)!important;border-radius:9px;background:var(--surface)!important;box-shadow:none!important}.cctv-status-page .cctv-device-row.is-normal{--camera-state: var(--ok)}.cctv-status-page .cctv-device-row.is-offline{--camera-state: var(--off)}.cctv-status-page .cctv-device-row.is-connecting,.cctv-status-page .cctv-device-row.is-inactive{--camera-state: var(--text-muted)}.cctv-card-thumbnail,.cctv-card-scrim{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cctv-card-thumbnail{object-fit:cover}.cctv-card-scrim{background:linear-gradient(180deg,#000000b8,#0000002e 46%,#000000c2)}.cctv-card-head,.cctv-card-actions{position:relative;z-index:1}.cctv-status-page .cctv-device-row.has-thumbnail .cctv-card-head strong,.cctv-status-page .cctv-device-row.has-thumbnail .cctv-card-head span{color:#fff!important}.cctv-device-row.has-thumbnail .cctv-card-detail-button,.cctv-device-row.has-thumbnail .cctv-card-stream-button{background:#00000094;color:#fff}.cctv-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.cctv-card-head>div{display:grid;gap:3px;min-width:0}.cctv-card-head strong{font-size:20px}.cctv-card-head span{font-size:14px}.cctv-card-ellipsis{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cctv-card-detail-button,.cctv-card-stream-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:31px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font-weight:800;cursor:pointer}.cctv-card-detail-button{flex:none}.cctv-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.cctv-card-facts>div{min-width:0}.cctv-card-facts dt{font-size:14px;font-weight:750}.cctv-card-facts dd{margin:2px 0 0;font-size:14px;font-weight:800}.cctv-card-actions{display:flex;align-self:end;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px}.cctv-card-ai-server{margin-right:auto;overflow:hidden;color:var(--text-muted);font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.cctv-card-stream-button{flex:1 0 100%;min-height:38px;font-size:14px}.cctv-status-chip{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 9px;border:1px solid color-mix(in srgb,var(--camera-state) 28%,transparent);border-radius:999px;background:color-mix(in srgb,var(--camera-state) 9%,var(--surface));color:color-mix(in srgb,var(--camera-state) 78%,var(--text));font-size:13px;font-weight:900}.cctv-status-chip.is-normal{--camera-state: var(--ok)}.cctv-status-chip.is-offline{--camera-state: var(--off)}.cctv-status-chip.is-connecting,.cctv-status-chip.is-inactive{--camera-state: var(--text-muted)}.cctv-stream-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:grid;place-items:center;padding:clamp(12px,3vw,36px);background:#0f172ab8}.cctv-stream-dialog{display:flex;flex-direction:column;width:min(100%,72rem);max-height:100%;overflow:hidden;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);box-shadow:0 24px 72px #0f172a61}.cctv-stream-head,.cctv-stream-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px}.cctv-stream-head{border-bottom:1px solid var(--border)}.cctv-stream-head>div{display:grid;gap:3px;min-width:0}.cctv-stream-head strong{font-size:20px;overflow-wrap:anywhere}.cctv-stream-head span,.cctv-stream-foot>span{color:var(--text-muted);font-size:14px}.cctv-stream-stage{display:grid;min-height:0;padding:clamp(8px,1vw,16px);background:#0b0f14}.cctv-stream-stage .camera-preview{align-self:center;max-height:calc(100dvh - 12rem);border-radius:8px}.cctv-stream-stage .camera-live-tag.is-connecting{background:#000000c2}.cctv-stream-foot{border-top:1px solid var(--border)}.cctv-stream-foot .button{flex:none}.cctv-empty{margin:0;padding:28px 0;color:var(--text-muted);text-align:center}.cctv-ai-server-list{display:grid;gap:18px}.cctv-ai-server-group{background:var(--surface)}.cctv-ai-server-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 14px;border-bottom:1px solid var(--border)}.cctv-ai-server-head>div{display:grid;gap:3px;min-width:0}.cctv-ai-server-head strong{color:var(--text);font-size:16px;overflow-wrap:anywhere}.cctv-ai-server-head span{color:var(--text-muted);font-size:12px;overflow-wrap:anywhere}.cctv-ai-camera-list{display:grid}.cctv-ai-camera-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;padding:11px 14px;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;text-align:left;cursor:pointer}.cctv-ai-camera-row:hover{background:var(--surface-2)}.cctv-ai-camera-row>span:first-child{display:grid;gap:3px;min-width:0}.cctv-ai-camera-row strong{font-size:14px;overflow-wrap:anywhere}.cctv-ai-camera-row small{color:var(--text-muted);font-size:12px;overflow-wrap:anywhere}.cctv-ai-empty{margin:0;padding:18px 14px;color:var(--text-muted);font-size:13px}.cctv-detail-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;justify-content:flex-end;background:#0f172a47}.cctv-detail-drawer{flex:0 1 38rem;height:100%;overflow:auto;background:var(--surface);color:var(--text);box-shadow:-16px 0 48px #0f172a2e}.cctv-detail-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.cctv-detail-head>div:first-child{display:grid;gap:4px;min-width:0}.cctv-detail-head strong{color:var(--text);font-size:20px;overflow-wrap:anywhere}.cctv-detail-head span{color:var(--text-muted);font-size:16px;overflow-wrap:anywhere}.cctv-detail-head-actions{display:flex;align-items:center;gap:10px}.cctv-detail-form{display:grid;gap:18px;padding:20px}.cctv-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cctv-detail-fields label,.cctv-ai-server-select{display:grid;gap:6px;color:var(--text);font-size:20px;font-weight:800}.cctv-detail-form .input{font-size:20px}.cctv-detail-form .input::placeholder{font-size:16px}.cctv-detail-fields .is-wide{grid-column:1 / -1}.cctv-detail-setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--border)}.cctv-detail-setting-row>div{display:grid;gap:4px}.cctv-detail-setting-row strong{color:var(--text);font-size:20px}.cctv-detail-setting-row span{color:var(--text-muted);font-size:16px}.cctv-setting-toggle{position:relative;display:inline-flex;flex:none;align-items:center;justify-content:flex-end;box-sizing:border-box;width:112px;height:44px;padding:0 12px 0 43px;border:1px solid var(--border);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font:inherit;font-size:20px;font-weight:900;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease}.cctv-setting-toggle:after{position:absolute;top:3px;left:3px;width:32px;height:32px;border-radius:50%;background:var(--surface);box-shadow:0 1px 4px #0f172a40;content:"";transition:left .16s ease}.cctv-setting-toggle[aria-pressed=true]{justify-content:flex-start;padding:0 43px 0 12px;border-color:var(--ok);background:var(--ok);color:#fff}.cctv-setting-toggle[aria-pressed=true]:after{left:calc(100% - 35px)}.cctv-setting-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--ok) 32%,transparent);outline-offset:2px}.cctv-setting-toggle:disabled{cursor:default;opacity:.65}.cctv-detail-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;background:var(--border)}.cctv-detail-meta>div{min-width:0;padding:12px;background:var(--surface-2)}.cctv-detail-meta>div:last-child:nth-child(odd){grid-column:1 / -1}.cctv-detail-meta dt{color:var(--text-muted);font-size:16px;font-weight:750}.cctv-detail-meta dd{margin:3px 0 0;color:var(--text);font-size:20px;font-weight:800;overflow-wrap:anywhere}.cctv-detail-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.cctv-detail-delete-button{margin-right:auto}.cctv-detail-actions .button,.cctv-detail-head-actions .cctv-status-chip,.cctv-detail-form .form-error{font-size:20px}.device-register-camera-list{display:grid;grid-column:1 / -1;gap:8px;margin:0;padding:12px;border:1px solid var(--border);border-radius:8px}.device-register-camera-list legend{padding:0 4px;color:var(--text);font-size:13px;font-weight:850}.device-register-camera-list label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:13px}@media(max-width:860px){.app-shell.is-camera-module .app-topbar-tabs{order:initial;flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto}}@media(max-width:760px){.cctv-dashboard-sidebar .module-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:1px;background:var(--border)!important}.cctv-dashboard-sidebar .module-summary-cell{border:0!important}}@media(prefers-reduced-motion:reduce){.cctv-sort-menu summary i{transition:none}}.pig-activity-page{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;color:var(--text);font-size:16px;line-height:1.5}.pig-activity-content{display:grid;grid-template-columns:minmax(0,1fr) clamp(320px,25vw,420px);align-items:start;gap:24px}.pig-activity-current{display:grid;min-width:0;gap:24px}.pig-activity-history{min-width:0;padding:clamp(16px,1.4vw,24px);font-size:16px;line-height:1.6}.pig-activity-history>header,.pig-activity-history-scope,.pig-activity-history-pages{display:flex;align-items:center;justify-content:space-between;gap:10px}.pig-activity-history h2{margin:0}.pig-activity-history-date{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0;color:var(--text-muted)}.pig-activity-history-date input{min-width:0;flex:1;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius);color:var(--text);background:var(--surface);font:inherit}.pig-activity-history-scope strong{overflow-wrap:anywhere}.pig-activity-history-scope button,.pig-activity-history-pages button{flex-shrink:0;border:0;background:transparent;color:var(--blue);font:inherit;cursor:pointer;padding:6px}.pig-activity-history-pages button:disabled{color:var(--text-muted);cursor:default}.pig-activity-history-empty{color:var(--text-muted);font-size:16px;line-height:1.6}.pig-activity-history-empty{padding:32px 0;text-align:center}.pig-activity-history-list{margin:18px 0;padding:0;list-style:none;max-height:70vh;overflow-y:auto}.pig-activity-history-list li{--history-tone: var(--text-muted);display:grid;gap:10px;padding:20px 4px;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.pig-activity-history-list .is-normal{--history-tone: var(--ok)}.pig-activity-history-list .is-warning{--history-tone: var(--warn)}.pig-activity-history-list .is-critical{--history-tone: var(--danger)}.pig-activity-event-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.pig-activity-event-heading>strong{font-size:18px}.pig-activity-event-heading>strong:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--history-tone);vertical-align:middle}.pig-activity-history-list time,.pig-activity-history-list small{color:var(--text-muted);font-size:16px}.pig-activity-event-location{display:grid;gap:2px}.pig-activity-event-location>span:first-child{font-weight:600}.pig-activity-event-location>span:last-child{color:var(--text-muted)}.pig-activity-event-count{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}.pig-activity-event-count>strong{font-size:20px;font-variant-numeric:tabular-nums}.pig-activity-card[role=button]{cursor:pointer}.pig-activity-card.is-history-selected{outline:2px solid var(--blue);outline-offset:2px}.pig-activity-card:focus-visible{outline:3px solid var(--blue);outline-offset:3px}@media(max-width:1050px){.pig-activity-content{grid-template-columns:minmax(0,1fr)}.pig-activity-history{padding:18px}}.pig-activity-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:10px}.pig-activity-overview-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.pig-activity-header-controls{display:flex;flex-wrap:wrap;align-items:center;flex:1 1 auto;gap:12px;min-width:0}.pig-activity-zone-filter{display:flex;align-items:center;align-self:flex-end;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:16px;font-weight:500}.pig-activity-zone-filter{grid-column:1;grid-row:1;justify-self:start;max-width:100%}.pig-activity-zone-filter select{min-width:0;max-width:320px;border:0;background:transparent;color:var(--text);font:inherit}.pig-activity-zone-multi{position:relative;display:block;padding:0}.pig-activity-zone-multi summary{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 12px;cursor:pointer;list-style:none}.pig-activity-zone-multi summary::-webkit-details-marker{display:none}.pig-activity-zone-multi summary strong{color:var(--text);font:inherit}.pig-activity-zone-multi summary i{margin-left:8px;font-size:12px}.pig-activity-zone-multi[open] summary i{transform:rotate(180deg)}.pig-activity-zone-options{position:absolute;top:calc(100% + 6px);left:0;z-index:20;width:min(560px,calc(100vw - 48px));max-height:360px;overflow-y:auto;padding:8px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);font-size:15px;font-weight:500;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 10%,transparent)}.pig-activity-zone-options label{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;cursor:pointer}.pig-activity-zone-options label:hover{background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.pig-activity-zone-options input{width:16px;height:16px;flex-shrink:0;accent-color:var(--blue)}.pig-activity-zone-options span{overflow-wrap:anywhere}.pig-activity-zone-options button{width:100%;padding:9px 10px;margin-bottom:5px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--blue);font:inherit;text-align:left;cursor:pointer}.pig-activity-zone-multi summary:focus-visible,.pig-activity-zone-options button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pig-activity-filter-bar{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px;min-width:0;flex:1 1 auto}.pig-activity-filter-bar .cctv-search{flex:1 1 180px;width:auto;min-width:160px;max-width:240px}.pig-activity-zone-group+.pig-activity-zone-group{border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.pig-activity-zone-options .pig-activity-zone-child{padding-left:30px}.pig-activity-zone-device-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);align-items:start}.pig-activity-zone-devices{min-width:0;border-left:1px solid var(--border)}.pig-activity-filter-bar button,.pig-activity-filter-bar .cctv-search{height:44px}.pig-activity-status-filter{flex-wrap:nowrap;gap:8px;max-width:100%;min-width:0;overflow-x:auto}.pig-activity-status-filter button{display:inline-flex;flex-shrink:0;white-space:nowrap;gap:10px;align-items:center;--status-tone: var(--blue)}.pig-activity-status-filter .is-normal{--status-tone: var(--ok)}.pig-activity-status-filter .is-warning{--status-tone: var(--warn)}.pig-activity-status-filter .is-critical{--status-tone: var(--danger)}.pig-activity-status-filter .is-unavailable,.pig-activity-status-filter .is-offline{--status-tone: var(--off)}.segmented.pig-activity-status-filter>button.is-selected{background:color-mix(in srgb,var(--status-tone) 14%,var(--surface));color:var(--text);box-shadow:inset 0 0 0 1px var(--status-tone)}.pig-activity-summary{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;min-width:0}.pig-activity-summary>div{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.pig-activity-summary span{color:var(--muted);font-size:16px;font-weight:500}.pig-activity-summary strong{color:var(--text);font-size:clamp(22px,1.3vw,26px);font-weight:700;font-variant-numeric:tabular-nums}.pig-activity-summary>div:first-child strong:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:middle}.pig-activity-summary strong.is-ok{color:var(--ok)}.pig-activity-summary strong.is-off{color:var(--off)}.pig-activity-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--text-muted)}.pig-activity-caption>span:last-child{color:var(--text);font-size:18px;font-weight:550}.pig-activity-barn>header{display:flex;align-items:center;gap:12px;margin-bottom:14px;border-bottom:1px solid var(--border);padding-bottom:12px}.pig-activity-barn>header h2{font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0}.pig-activity-barn>header span{color:var(--text-muted)}.pig-activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));justify-content:start;gap:18px}.pig-activity-card-shell{position:relative;max-width:560px;min-width:0}.pig-activity-card{--activity-tone: var(--off);height:100%;overflow:hidden}.pig-activity-card-exclude{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer}.pig-activity-card-exclude:hover{background:var(--surface-2);color:var(--text)}.pig-activity-card-exclude:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pig-activity-card.is-normal{--activity-tone: var(--ok)}.pig-activity-card.is-warning{--activity-tone: var(--warn)}.pig-activity-card.is-critical{--activity-tone: var(--danger)}.pig-activity-card.is-unavailable{--activity-tone: var(--text-muted)}.pig-activity-card.is-offline{--activity-tone: var(--off)}.pig-activity-card>header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:17px 56px 12px 18px}.pig-activity-card h2{margin:0;color:var(--text)}.pig-activity-card header p{margin:6px 0 0;color:var(--muted);font-size:16px;font-weight:400}.pig-activity-status{display:inline-flex;align-items:center;gap:6px;flex:none;padding:5px 9px;border:1px solid color-mix(in srgb,var(--activity-tone) 30%,transparent);border-radius:999px;color:var(--text);background:color-mix(in srgb,var(--activity-tone) 9%,var(--surface));font-size:14px;font-weight:750}.pig-activity-status i{width:7px;height:7px;border-radius:50%;background:var(--activity-tone)}.pig-activity-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0 18px 15px}.pig-activity-card dl>div{min-width:0;padding:10px 12px;border-left:1px solid var(--border);background:var(--surface-2)}.pig-activity-card dl>div:first-child{border-left:0}.pig-activity-card dd{margin:6px 0 0;color:var(--text);font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pig-activity-card dl>div:last-child dd{font-size:20px}.pig-activity-chart{position:relative;height:190px;margin:0 18px 18px 45px}.pig-activity-chart svg{width:100%;height:100%;overflow:visible}.pig-activity-chart .pig-activity-gap{fill:color-mix(in srgb,var(--text-muted) 10%,transparent)}.pig-activity-chart line{stroke:var(--border);stroke-width:.5;vector-effect:non-scaling-stroke}.pig-activity-chart polyline{fill:none;stroke:var(--activity-tone);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.pig-activity-chart circle{fill:var(--activity-tone);vector-effect:non-scaling-stroke}.pig-activity-scale{position:absolute;inset:-6px auto -5px -36px;display:flex;flex-direction:column;justify-content:space-between;color:var(--text-muted);font-size:16px}.pig-activity-chart-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;color:var(--text-muted);font-size:13px}.pig-activity-chart-empty i{color:var(--text);font-size:72px;opacity:.04}.pig-activity-card footer{display:grid;gap:5px;border-top:1px solid var(--border);padding:12px 18px;font-size:14px;color:var(--text-muted)}.pig-activity-card footer time{color:var(--text);overflow-wrap:anywhere}@media(max-width:760px){.pig-activity-zone-filter{align-self:stretch}.pig-activity-zone-filter select{flex:1;min-width:0}.pig-activity-filter-bar{flex-wrap:wrap}.pig-activity-filter-bar .cctv-search{flex-basis:100%;width:100%;min-width:0;max-width:none}.pig-activity-actions{width:100%}.pig-activity-grid{grid-template-columns:1fr}.pig-activity-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:1px}.pig-activity-card dl>div{border-left:0}}.beacon-log-list{color:var(--text)}.beacon-log-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:12px}.beacon-log-toolbar label{display:flex;flex:1 1 12rem;flex-direction:column;gap:8px;min-width:0;font-size:18px}.beacon-log-toolbar label:first-child{flex-grow:2}.beacon-log-toolbar input,.beacon-log-toolbar select{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.beacon-log-count{white-space:nowrap;padding:10px 0;font-size:18px}.beacon-log-count strong{font-size:24px}.beacon-log-list>small,.beacon-log-device{color:var(--text-muted);font-size:16px}.beacon-log-entries{margin-top:16px;background:var(--surface);border-radius:12px;padding:0 24px}.beacon-log-entries>article{display:flex;flex-wrap:wrap;gap:8px 20px;padding:14px 0}.beacon-log-entries>article+article{border-top:1px solid var(--border)}.beacon-log-entries time{flex:0 1 14rem;font-size:14px;line-height:1.6;color:var(--text-muted)}.beacon-log-content{flex:1 1 24rem;min-width:0;overflow-wrap:anywhere}.beacon-log-content header{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.beacon-log-content header strong{font-size:17px;font-weight:600}.beacon-log-content p{font-size:16px;line-height:1.6;margin:4px 0 0}.beacon-log-content summary{cursor:pointer;font-size:16px;margin-top:12px}.beacon-log-status{font-size:17px}.beacon-log-status.is-normal{color:var(--ok)}.beacon-log-status.is-caution{color:var(--warn)}.beacon-log-status.is-danger{color:var(--danger)}.beacon-log-status.is-offline{color:var(--off)}.app-shell.is-flat.is-beacon-module .app-topbar-tabs{min-width:0;overflow-x:auto;flex-wrap:nowrap}.beacon-overview{display:flex;flex-direction:column;gap:14px;color:var(--text)}.beacon-overview small,.beacon-overview time{font-size:16px;color:var(--text-muted);line-height:1.5}.beacon-overview-panels{display:flex;flex-wrap:wrap;gap:24px 32px;align-items:flex-start}.beacon-overview-panel{min-width:0;padding:18px;border-radius:10px;background:var(--surface)}.beacon-overview-panel header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}.beacon-overview-panel h2{font-size:22px;font-weight:600;margin:0;color:var(--text)}.beacon-overview-panel header>span,.beacon-overview-panel header>a{font-size:16px;color:var(--text-muted)}.beacon-zone-health{max-height:12rem;overflow-y:auto;scrollbar-width:thin}.beacon-zone-health button{display:flex;flex-direction:column;gap:10px;width:100%;padding:14px 0;background:transparent;border:0;text-align:left;color:var(--text);font:inherit;cursor:pointer}.beacon-zone-health button:disabled{cursor:default;opacity:1}.beacon-zone-health button>span:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.beacon-overview button:focus-visible,.beacon-overview a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.module-status-beacon,.beacon-information-page{--beacon-body: 16px;--beacon-title: 22px;font-size:var(--beacon-body);min-width:0;width:100%}.module-status-beacon .module-page-head{flex-wrap:wrap;gap:20px;height:auto}.module-status-beacon .module-title-block{min-width:0;flex:1 1 24rem}.module-status-beacon .module-title-block h1{font-size:var(--beacon-title);font-weight:600}.module-status-beacon .module-title-block p{font-size:var(--beacon-body);line-height:1.6}.module-status-beacon .module-title-icon{background:var(--surface-2);color:var(--text);box-shadow:none}.module-status-beacon .module-page-actions{flex-wrap:wrap;gap:12px}.module-status-beacon .module-summary-strip{display:flex;flex-wrap:wrap;overflow:visible;box-shadow:none}.module-status-beacon .module-summary-cell{flex:1 1 11rem;min-width:0;height:auto;padding:20px}.module-status-beacon .module-summary-cell strong{font-size:clamp(26px,1.8vw,36px);overflow-wrap:anywhere}.module-status-beacon .module-summary-cell span{font-size:var(--beacon-body)}.module-status-beacon .module-summary-cell small{font-size:16px;line-height:1.5}.module-status-beacon .module-toolbar{display:flex;flex-wrap:wrap;gap:14px;height:auto}.module-status-beacon .module-filter-chips{flex:1 1 100%;flex-wrap:wrap}.module-status-beacon .module-search{flex:1 1 18rem;width:auto;min-width:0;max-width:32rem}.module-status-beacon .module-search input{width:100%;font-size:var(--beacon-body)}.module-status-beacon .module-sort-select{flex-wrap:wrap;min-width:0}.module-status-beacon .module-sort-select select{min-width:0;max-width:100%;font-size:var(--beacon-body)}.module-status-beacon .module-sort-select span,.module-status-beacon .module-filter-chips button,.module-status-beacon .button,.module-status-beacon .module-update-chip{font-size:var(--beacon-body);height:auto;min-height:44px}.module-status-beacon .hierarchical-zone-level{box-shadow:none;border:0;background:transparent;min-width:0}.module-status-beacon .hierarchical-zone-head{font-size:var(--beacon-title);font-weight:600;background:transparent;flex-wrap:wrap;gap:12px}.module-status-beacon .hierarchical-zone-head .tag{font-size:17px}.module-status-beacon .hierarchical-zone-body{padding:0;min-width:0}.beacon-device-list{display:flex;flex-direction:column;background:var(--surface);border-radius:14px;padding:0 20px}.beacon-device-list>.hierarchical-zone-item{width:100%;min-width:0}.beacon-device-list>.hierarchical-zone-item+.hierarchical-zone-item{border-top:1px solid var(--border)}.beacon-device-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;padding:16px 0}.beacon-device-identity{flex:2 1 15rem;min-width:0}.beacon-device-identity h2{font-size:18px;font-weight:600;margin:0 0 8px;overflow-wrap:anywhere;color:var(--text)}.beacon-device-identity p{font-size:var(--beacon-body);margin:0 0 5px;overflow-wrap:anywhere}.beacon-device-identity small,.beacon-device-reading small{font-size:16px;color:var(--text-soft);line-height:1.5;overflow-wrap:anywhere}.beacon-device-reading{flex:1 1 9rem;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.beacon-device-reading>span:first-child{color:var(--text-soft);font-size:17px}.beacon-device-reading strong{font-size:18px;font-weight:600}.beacon-device-reading .module-status-chip{font-size:17px;height:auto;white-space:normal}.beacon-device-actions{display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px}.module-status-beacon .module-guide-bar{flex-wrap:wrap;height:auto;font-size:var(--beacon-body);line-height:1.6}.beacon-information-page .page-head{flex-wrap:wrap;gap:16px;height:auto}.beacon-information-page .page-title,.beacon-information-page .detail-card h2{font-size:var(--beacon-title);font-weight:600}.beacon-information-page .detail-card-grid{display:flex;flex-wrap:wrap;gap:20px}.beacon-information-page .detail-card-grid>*{flex:1 1 28rem;min-width:0}.beacon-information-page .detail-kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:20px}.beacon-information-page .detail-kv span{font-size:17px}.beacon-information-page .detail-kv strong{font-size:18px;overflow-wrap:anywhere}.beacon-information-page .panel-head{font-size:var(--beacon-title);font-weight:600;flex-wrap:wrap;gap:12px}.beacon-information-page .table th,.beacon-information-page .table td{font-size:var(--beacon-body);padding:16px;line-height:1.6}.beacon-information-page .table-scroll{max-width:100%;overflow-x:auto}.beacon-information-page .table{min-width:720px}.beacon-information-page .tag,.beacon-information-page .button,.beacon-information-page .app-muted{font-size:17px}.management-ui .module-status-beacon,.management-ui .beacon-information-page{max-width:none!important;margin-inline:auto}.management-ui .module-status-beacon .module-page-head{margin-bottom:16px;padding:0;min-height:0}.module-status-beacon .module-page-actions{width:100%;justify-content:flex-end}.module-status-beacon .module-update-chip{margin-right:auto;background:transparent;border:0;box-shadow:none;font-size:14px}.management-ui .beacon-overview-panel h2{font-size:18px}.beacon-overview-panel>small{display:block;margin-top:12px;font-size:13px}.beacon-zone-health button+button{border-top:1px solid var(--border)}.beacon-zone-health button:not(:disabled):hover{background:var(--surface-2)}.management-ui .module-status-beacon .module-toolbar{justify-content:flex-start;align-items:center;gap:10px;padding:16px 0;margin:0;background:transparent;border:0;box-shadow:none}.module-status-beacon .module-filter-chips{gap:6px}.module-status-beacon .module-filter-chips button{font-size:15px;font-weight:600}.module-status-beacon .module-search{max-width:none;flex:1 1 260px}.management-ui .module-status-beacon .module-sort-select{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;flex:0 1 auto;padding:0;border:0;background:transparent;box-shadow:none}.module-status-beacon .module-sort-select span{font-size:14px;white-space:nowrap}.module-status-beacon .module-sort-select select{width:auto;padding:10px 12px;min-height:44px;border:1px solid var(--border);border-radius:7px;background:var(--surface)}.module-status-beacon .hierarchical-zone-head{padding:12px 16px;font-size:18px}.beacon-device-row{display:grid;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(110px,1fr)) auto}.beacon-device-identity p,.beacon-device-reading>span:first-child{font-size:14px}.beacon-device-identity small,.beacon-device-reading small{font-size:13px}.beacon-device-reading{gap:5px}.management-ui .beacon-information-page .detail-kv-grid{gap:16px}.beacon-information-page .detail-kv span{font-size:14px}.beacon-information-page .table :is(th,td){padding:12px 14px;font-size:15px}.beacon-log-toolbar label{font-size:14px;gap:6px}.beacon-log-count{font-size:14px}.beacon-log-count strong{font-size:20px}.beacon-log-entries{padding-inline:18px}.beacon-log-content details{padding:0}.beacon-log-content details[open]{margin-top:8px;padding:10px 12px;background:var(--surface-2);border-radius:6px}.beacon-log-content details[open] summary{margin-top:0}@media(max-width:1100px){.beacon-device-row{grid-template-columns:repeat(4,minmax(0,1fr))}.beacon-device-identity{grid-column:1 / -1}.beacon-device-actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:700px){.beacon-device-row{grid-template-columns:repeat(2,minmax(0,1fr))}.management-ui .module-status-beacon .module-sort-select{flex:1 1 100%}.module-status-beacon .module-sort-select select{flex:1}.beacon-log-entries>article{flex-direction:column}.beacon-log-entries time,.beacon-log-content{flex:auto}}.beacon-event-table-scroll{overflow:auto;max-height:320px;scrollbar-width:thin}.beacon-event-table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px;text-align:left}.beacon-event-table :is(th,td){padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:top}.beacon-event-table th{position:sticky;top:0;z-index:1;background:var(--surface-2);color:var(--text-soft);font-weight:600;white-space:nowrap}.beacon-event-table td{overflow-wrap:anywhere}.beacon-event-table td:first-child{min-width:125px}.beacon-event-table td:nth-child(2){min-width:110px}.beacon-event-table td:nth-child(3){width:48%;min-width:180px}.beacon-event-table time{font-size:13px}.beacon-event-table tr.is-CAUTION{background:color-mix(in srgb,var(--warn) 7%,var(--surface))}.beacon-event-table tr.is-DANGER{background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.beacon-event-table strong{font-weight:600}.beacon-event-table summary{cursor:pointer;color:var(--text-soft);font-size:13px;margin-top:5px}.beacon-event-table p{margin:6px 0 0;line-height:1.6}.beacon-zone-search{width:min(100%,360px);min-height:44px;padding:10px 12px;margin-bottom:12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit}.beacon-zone-toggle{width:100%;text-align:left;cursor:pointer;font:inherit}.beacon-zone-toggle>span:first-child{min-width:0;overflow-wrap:anywhere}.beacon-zone-toggle .tag{flex-shrink:0}.beacon-overview-panel .pagination{flex-wrap:wrap;gap:6px;margin-top:12px}.beacon-list-count{margin:4px 0 12px;color:var(--text-soft);font-size:14px}.beacon-event-device{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.management-ui .beacon-overview .beacon-overview-panel{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.beacon-zone-panel{flex:0 1 360px;width:100%}.beacon-events-panel{flex:0 1 880px;width:100%}.beacon-zone-panel .beacon-zone-health{display:flex;flex-direction:column;gap:0;max-height:none}.beacon-zone-panel .beacon-zone-health button{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 8px;min-height:44px;border:0;border-radius:4px;background:transparent;overflow-wrap:anywhere}.beacon-zone-option strong{min-width:0;font-size:15px;font-weight:500}.beacon-zone-option>span{flex-shrink:0;color:var(--text-soft);font-size:14px}.management-ui .module-status-beacon .hierarchical-zone-level,.management-ui .module-status-beacon .beacon-device-list,.management-ui .beacon-information-page :is(.detail-card,.beacon-log-entries){border:0;border-radius:0;background:transparent;box-shadow:none}.management-ui .module-status-beacon .hierarchical-zone-head{border:0;background:transparent}.management-ui .module-status-beacon .hierarchical-zone-body{border:0}.management-ui.is-beacon-module{--beacon-body: 16px;--beacon-label: 18px;--beacon-title: 24px;--beacon-value: 28px;--beacon-space-1: 4px;--beacon-space-2: 8px;--beacon-space-3: 12px;--beacon-space-4: 16px;--beacon-space-5: 24px;--beacon-space-6: 32px;--beacon-radius: 8px;font-size:var(--beacon-body);font-variant-numeric:tabular-nums}.management-ui.is-beacon-module .app-main{width:100%;max-width:1600px;margin-inline:auto;min-width:0}.management-ui.is-beacon-module .app-topbar-tab-group,.management-ui.is-beacon-module .app-topbar-tab-group>a{flex-shrink:0}.management-ui.is-beacon-module .app-main :is(h1,h2,h3,p,label,button,th,td){word-break:keep-all;overflow-wrap:anywhere}.management-ui.is-beacon-module .app-main :is(.page-title,.module-title-block h1){font-size:var(--beacon-title);line-height:1.4}.management-ui.is-beacon-module .app-main :is(.app-muted,small,.field-label,.tag,.button,input,select,.pagination,.module-update-chip,.module-sort-select span,.module-filter-chips button){font-size:var(--beacon-body)}.management-ui.is-beacon-module .app-main :is(input,select,.button){min-width:0;min-height:44px;max-width:100%}.management-ui.is-beacon-module .app-main :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}.management-ui.is-beacon-module .app-main :is(.panel,.detail-card){min-width:0;box-shadow:none}.management-ui.is-beacon-module .app-main :is(.page-head,.module-page-head){gap:var(--beacon-space-4);margin-bottom:var(--beacon-space-5);flex-wrap:wrap}.management-ui.is-beacon-module .app-main .table-scroll{min-width:0;max-width:100%;overflow-x:auto}.management-ui.is-beacon-module .app-main .table :is(th,td){padding:var(--beacon-space-3) var(--beacon-space-4);font-size:var(--beacon-body);line-height:1.6}.management-ui.is-beacon-module .app-main .panel-head{font-size:var(--beacon-label);flex-wrap:wrap;gap:var(--beacon-space-2)}.management-ui.is-beacon-module .beacon-access{background:transparent;border:0}.management-ui.is-beacon-module .beacon-access>.panel-body{padding:0}.management-ui.is-beacon-module .beacon-access-head{gap:var(--beacon-space-5);margin-bottom:var(--beacon-space-5);align-items:end}.management-ui.is-beacon-module .beacon-access-head p{font-size:var(--beacon-body);color:var(--text-soft)}.management-ui.is-beacon-module .beacon-access-toolbar{gap:var(--beacon-space-3);align-items:end;flex:0 1 auto}.management-ui.is-beacon-module .beacon-access-search{flex:1 1 240px;min-width:0;border-color:var(--border)}.management-ui.is-beacon-module .beacon-access-search input{width:100%;min-width:0}.management-ui.is-beacon-module .beacon-access-search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.management-ui.is-beacon-module .beacon-access-date{flex:1 1 220px;min-width:0;flex-wrap:wrap;font-size:var(--beacon-body);color:var(--text-soft)}.management-ui.is-beacon-module .beacon-access-date input{flex:1;border-color:var(--border)}.management-ui.is-beacon-module .beacon-access-workspace{grid-template-columns:minmax(260px,320px) minmax(0,1fr);gap:0;background:var(--surface);border-radius:var(--beacon-radius)}.management-ui.is-beacon-module :is(.beacon-access-summary,.beacon-access-people,.beacon-access-journey,.beacon-access-empty){border:0;box-shadow:none;border-radius:var(--beacon-radius)}.management-ui.is-beacon-module .beacon-access-summary{display:flex;flex-wrap:wrap;gap:var(--beacon-space-2) 0;padding:var(--beacon-space-3) 0;background:transparent;border-bottom:1px solid var(--border);border-radius:0}.management-ui.is-beacon-module .beacon-access-summary>div{display:flex;flex-wrap:wrap;align-items:baseline;padding:var(--beacon-space-1) var(--beacon-space-5);gap:var(--beacon-space-3);border:0;border-radius:0;background:transparent}.management-ui.is-beacon-module .beacon-access-summary>div+div{border-inline-start:1px solid var(--border)}.management-ui.is-beacon-module .beacon-access-summary strong{font-size:var(--beacon-value);color:var(--text)}.management-ui.is-beacon-module .beacon-access-summary :is(span,small){font-size:var(--beacon-body);color:var(--text-soft)}.management-ui.is-beacon-module .beacon-access-people{grid-column:1;padding:var(--beacon-space-5) var(--beacon-space-4);border-inline-end:1px solid var(--border);border-radius:0;background:transparent;align-self:stretch}.management-ui.is-beacon-module .beacon-access-journey{grid-column:2;padding:var(--beacon-space-5)}.management-ui.is-beacon-module .beacon-access-people h2{margin-bottom:var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-access-journey>header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--beacon-space-2) var(--beacon-space-4);padding-bottom:var(--beacon-space-4);border-bottom:1px solid var(--border)}.management-ui.is-beacon-module .beacon-access-workspace h2{font-size:var(--beacon-label);line-height:1.5}.management-ui.is-beacon-module .beacon-access-people ul{max-height:560px;overflow-y:auto;gap:var(--beacon-space-2);padding:var(--beacon-space-1);margin-inline:calc(-1 * var(--beacon-space-1))}.management-ui.is-beacon-module .beacon-person{padding:var(--beacon-space-3);border:0;border-inline-start:3px solid transparent;border-radius:var(--beacon-radius);min-height:72px}.management-ui.is-beacon-module .beacon-person:hover{background:var(--surface-2)}.management-ui.is-beacon-module .beacon-person.is-selected{border-inline-start-color:var(--accent);background:var(--management-selection)}.management-ui.is-beacon-module .beacon-person>:is(b,em,.beacon-person-zones){font-size:var(--beacon-body);white-space:normal;overflow:visible;line-height:1.5}.management-ui.is-beacon-module .beacon-person>b{font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-access-person-state{display:flex;flex-wrap:wrap;gap:var(--beacon-space-4) var(--beacon-space-6);margin:var(--beacon-space-4) 0}.management-ui.is-beacon-module .beacon-access-person-state>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--beacon-space-2) var(--beacon-space-3);padding:0;border-radius:0;background:transparent}.management-ui.is-beacon-module .beacon-access-person-state :is(span,small){font-size:var(--beacon-body);color:var(--text-soft)}.management-ui.is-beacon-module .beacon-access-person-state strong{font-size:var(--beacon-label);overflow-wrap:anywhere}.management-ui.is-beacon-module .beacon-journey{gap:0}.management-ui.is-beacon-module .beacon-journey li{border:0;border-radius:0;padding:var(--beacon-space-4) 0;gap:var(--beacon-space-4);background:transparent}.management-ui.is-beacon-module .beacon-journey li+li{border-top:1px solid var(--border)}.management-ui.is-beacon-module .beacon-step-number{width:32px;height:32px;font-size:var(--beacon-body)}.management-ui.is-beacon-module .beacon-step-body{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:var(--beacon-space-2) var(--beacon-space-5)}.management-ui.is-beacon-module .beacon-step-body h3{font-size:var(--beacon-label);line-height:1.5}.management-ui.is-beacon-module :is(.beacon-step-time,.beacon-step-bar b,.beacon-step-meta){font-size:var(--beacon-body);line-height:1.5}.management-ui.is-beacon-module .beacon-step-time{flex-wrap:wrap}.management-ui.is-beacon-module .beacon-step-meta{color:var(--text-soft)}.management-ui.is-beacon-module .beacon-reception-detail{grid-column:1 / -1;font-size:var(--beacon-body);color:var(--text-soft)}.management-ui.is-beacon-module .beacon-reception-detail summary{cursor:pointer;min-height:32px;padding-block:var(--beacon-space-1)}.management-ui.is-beacon-module .beacon-reception-detail p{margin:var(--beacon-space-2) 0 0;overflow-wrap:anywhere}.management-ui.is-beacon-module .beacon-overview-panels{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:var(--beacon-space-6)}.management-ui.is-beacon-module details.beacon-overview{display:block;padding-block:var(--beacon-space-3);border-block:1px solid var(--border)}.management-ui.is-beacon-module .beacon-overview>summary{width:fit-content;cursor:pointer;font-size:var(--beacon-body);font-weight:600;padding:var(--beacon-space-2) 0;min-height:44px}.management-ui.is-beacon-module .beacon-overview[open] .beacon-overview-panels{padding-block:var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-overview-panel{width:auto}.management-ui.is-beacon-module .beacon-overview-panel h2{font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-overview-panel :is(small,time,header>span,summary){font-size:var(--beacon-body);line-height:1.5}.management-ui.is-beacon-module .beacon-zone-search{width:100%;margin-bottom:var(--beacon-space-2)}.management-ui.is-beacon-module .beacon-zone-health button{padding:var(--beacon-space-3);gap:var(--beacon-space-3)}.management-ui.is-beacon-module .beacon-zone-health button:hover:not(:disabled){background:var(--management-selection)}.management-ui.is-beacon-module .beacon-zone-option :is(strong,span){font-size:var(--beacon-body)}.management-ui.is-beacon-module .beacon-event-table-scroll{max-height:360px;border-radius:var(--beacon-radius)}.management-ui.is-beacon-module .beacon-event-table{font-size:var(--beacon-body);line-height:1.5;min-width:560px}.management-ui.is-beacon-module .beacon-event-table :is(th,td){padding:var(--beacon-space-3)}.management-ui.is-beacon-module .module-page-actions{width:auto;flex:1 1 auto}.management-ui.is-beacon-module .module-toolbar{gap:var(--beacon-space-3);padding-block:var(--beacon-space-5)}.management-ui.is-beacon-module .module-filter-chips{flex-basis:auto;gap:var(--beacon-space-2)}.management-ui.is-beacon-module .module-search{flex:1 1 240px}.management-ui.is-beacon-module .module-sort-select{flex-wrap:wrap}.management-ui.is-beacon-module .hierarchical-zone-head{padding:var(--beacon-space-4) 0;font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-device-list{padding-inline:0}.management-ui.is-beacon-module .beacon-device-row{display:flex;flex-wrap:wrap;gap:var(--beacon-space-4);padding-block:var(--beacon-space-5);align-items:start}.management-ui.is-beacon-module .beacon-device-identity{flex:2 1 240px}.management-ui.is-beacon-module .beacon-device-reading{flex:1 1 128px}.management-ui.is-beacon-module .beacon-device-row :is(p,small,.module-status-chip,.beacon-device-reading>span){font-size:var(--beacon-body);line-height:1.5}.management-ui.is-beacon-module .beacon-device-row :is(h2,strong){font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-device-actions{margin-inline-start:auto}.management-ui.is-beacon-module .beacon-list-count{font-size:var(--beacon-body)}.management-ui.is-beacon-module .beacon-log-toolbar{gap:var(--beacon-space-4);padding:var(--beacon-space-4);background:var(--surface);border-radius:var(--beacon-radius)}.management-ui.is-beacon-module .beacon-log-toolbar label{font-size:var(--beacon-body);flex-basis:180px}.management-ui.is-beacon-module .beacon-log-toolbar label:first-child{flex-basis:280px}.management-ui.is-beacon-module .beacon-log-count{font-size:var(--beacon-body)}.management-ui.is-beacon-module .beacon-log-count strong{font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-log-toolbar>button{min-height:44px;padding:var(--beacon-space-2) var(--beacon-space-3);border:1px solid var(--border);border-radius:var(--beacon-radius);background:var(--surface);color:var(--text);font:inherit}.management-ui.is-beacon-module .beacon-log-entries{padding-inline:0;margin-top:var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-log-entries>article{gap:var(--beacon-space-3) var(--beacon-space-5);padding:var(--beacon-space-5) var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-log-entries time{font-size:var(--beacon-body);flex-basis:200px}.management-ui.is-beacon-module .beacon-log-content header strong{font-size:var(--beacon-label)}.management-ui.is-beacon-module .beacon-log-content header{gap:var(--beacon-space-3)}.management-ui.is-beacon-module .beacon-log-status{font-size:var(--beacon-body);margin-inline-start:auto}.management-ui.is-beacon-module .beacon-information-page .detail-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:var(--beacon-space-5)}.management-ui.is-beacon-module .beacon-information-page .detail-card{padding:var(--beacon-space-5);background:var(--surface);border-radius:var(--beacon-radius)}.management-ui.is-beacon-module .beacon-information-page .detail-card h2{font-size:var(--beacon-label);margin-bottom:var(--beacon-space-5)}.management-ui.is-beacon-module .beacon-information-page .detail-kv-grid{gap:var(--beacon-space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}.management-ui.is-beacon-module .beacon-information-page .detail-kv span{font-size:var(--beacon-body)}.management-ui.is-beacon-module .beacon-information-page .detail-kv strong{font-size:var(--beacon-label)}.management-ui.is-beacon-module .program-filter-grid{display:flex;flex-wrap:wrap;align-items:end;gap:var(--beacon-space-4)}.management-ui.is-beacon-module .program-filter-grid .field-block{flex:0 1 260px;min-width:0}.management-ui.is-beacon-module .program-filter-grid .field-block.is-wide{flex:0 1 480px}.management-ui.is-beacon-module .program-date-range{display:flex;flex-wrap:wrap;gap:var(--beacon-space-3)}.management-ui.is-beacon-module .program-date-range input{flex:1 1 180px;width:auto}.management-ui.is-beacon-module .program-filter-actions{padding:0}.management-ui.is-beacon-module .program-stats-table{min-width:600px}.management-ui.is-beacon-module .program-stats-table :is(small,span,strong){font-size:var(--beacon-body)}.management-ui.is-beacon-module .program-progress-cell{grid-template-columns:80px minmax(100px,1fr) 64px;align-items:center;gap:var(--beacon-space-3)}.management-ui.is-beacon-module .program-progress-value{font-size:var(--beacon-body);text-align:left}.management-ui.is-beacon-module .program-progress-track{background:var(--surface-2)}.management-ui.is-beacon-module .program-progress-track span{background:var(--accent)}.management-ui.is-beacon-module .program-progress-track span.is-danger{background:var(--danger)}.management-ui.is-beacon-module .program-filter-panel{border:0;box-shadow:none;background:transparent}.management-ui.is-beacon-module .program-stats-table tbody tr+tr{border-top:1px solid var(--border)}@media(max-width:1100px){.management-ui.is-beacon-module .beacon-access-summary{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-access-summary>div:nth-child(3){border-inline-start:0}.management-ui.is-beacon-module .beacon-device-identity{flex-basis:100%}}@media(max-width:900px){.management-ui.is-beacon-module :is(.beacon-access-workspace,.beacon-overview-panels){grid-template-columns:minmax(0,1fr)}.management-ui.is-beacon-module :is(.beacon-access-people,.beacon-access-journey){grid-column:1}.management-ui.is-beacon-module .beacon-access-people{border-inline-end:0;border-bottom:1px solid var(--border)}.management-ui.is-beacon-module .beacon-access-people ul{max-height:280px}.management-ui.is-beacon-module .beacon-zone-health{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}}@media(max-width:600px){.management-ui.is-beacon-module .beacon-access-summary>div{padding-inline:var(--beacon-space-3)}.management-ui.is-beacon-module :is(.beacon-access-people,.beacon-access-journey,.beacon-information-page .detail-card){padding:var(--beacon-space-4)}.management-ui.is-beacon-module .beacon-access-person-state,.management-ui.is-beacon-module .beacon-step-body{grid-template-columns:minmax(0,1fr)}.management-ui.is-beacon-module .beacon-log-entries>article{padding-inline:0}.management-ui.is-beacon-module .beacon-log-entries time{flex-basis:auto}}.sonic-guide-banner{position:fixed;bottom:12px;left:12px;z-index:1001;display:flex;flex-wrap:wrap;align-items:center;gap:12px;max-width:calc(100vw - 24px);padding:10px 14px;border-radius:8px;background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;cursor:pointer}.tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f17148c}.tour-spot{position:absolute;border-radius:12px;pointer-events:none;box-shadow:0 0 0 9999px #0f17148c,0 0 0 2px var(--accent),0 0 24px 4px #08723759;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease}.tour-card{position:absolute;width:360px;max-width:calc(100vw - 24px);cursor:default;padding:16px 18px 14px;border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow);border:1px solid var(--border);box-sizing:border-box;max-height:calc(100vh - 24px);overflow-y:auto}.tour-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.tour-demo-notice{display:block;margin:0 0 10px;color:var(--text-muted);font-size:14px}.analysis-guide-banner{padding:10px 16px;border-radius:var(--radius);background:var(--surface);color:var(--text);pointer-events:none}.tour-step{font-size:14px;font-weight:600;color:var(--accent);font-variant-numeric:tabular-nums}.tour-close{width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:16px}.tour-close:hover{background:var(--surface-3);color:var(--text)}.tour-card>strong{display:block;font-size:18px;font-weight:700;letter-spacing:-.01em;margin-bottom:6px}.tour-card>p{margin:0 0 14px;font-size:15px;line-height:1.65;color:var(--text-soft)}.tour-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tour-card-foot .button{white-space:nowrap;flex:0 0 auto}.tour-hint{font-size:14px;color:var(--text-muted)}.dashboard-guide-banner{position:fixed;bottom:12px;left:50%;transform:translate(-50%);z-index:1001;display:flex;align-items:center;gap:12px;padding:8px 16px;border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface);color:var(--text);white-space:nowrap}@media(prefers-reduced-motion:reduce){.tour-spot{transition:none}}.field-discover-panel{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.field-discover-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.field-discover-row strong{display:block;font-size:16px;font-weight:650}.field-discover-row p{margin:4px 0 0;font-size:14px;color:var(--text-muted);line-height:1.5}.field-discover-row .button{flex:0 0 auto}.field-discover{position:relative;display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px 44px 12px 14px;font-size:14px;line-height:1.55;border-radius:var(--radius-sm);color:var(--text);background:var(--surface-3)}.field-discover p{margin:0}.field-discover b{font-weight:800}.field-discover.is-error{color:var(--danger-ink);background:var(--danger-soft)}.field-discover-sub{font-size:14px;color:var(--text-muted)}.field-discover-sub a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.field-discover-close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:18px}.field-discover-close:hover{background:var(--surface);color:var(--text)}.device-register-zone-row{display:flex;gap:8px;align-items:center}.device-register-zone-row>select{flex:1 1 auto;min-width:0}.device-register-zone-row>.button{flex:0 0 auto;white-space:nowrap}.device-register-zone-new{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end;padding:12px;margin:-4px 0 12px;border-radius:var(--radius-sm);background:var(--surface-3)}.device-register-zone-new .field{margin:0}.device-delete-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:clamp(24px,4vw,36px);border:1px solid var(--f-line,#d9dfe5);border-radius:16px;background:var(--f-surface,#fff);color:var(--f-ink,#18232d);font-family:inherit}.device-delete-dialog::backdrop{background:#0000007a}.device-delete-dialog h2{margin:0 0 20px;font-size:clamp(24px,2vw,28px);line-height:1.35}.device-delete-dialog-name{display:block;font-size:22px;line-height:1.5;overflow-wrap:anywhere}.device-delete-dialog p{margin:12px 0 0;font-size:18px;line-height:1.7;overflow-wrap:anywhere}.device-delete-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:28px}.device-delete-dialog-actions button{min-height:48px;padding:10px 22px;border:1px solid var(--f-line,#d9dfe5);border-radius:8px;background:var(--f-surface,#fff);color:inherit;font:inherit;font-size:18px;font-weight:700;cursor:pointer}.device-delete-dialog-actions .device-delete-dialog-confirm{border-color:var(--f-danger,#b42318);background:var(--f-danger,#b42318);color:#fff}.device-delete-dialog-actions button:focus-visible{outline:3px solid var(--f-info,#2563eb);outline-offset:3px}.device-delete-dialog-actions button:disabled{opacity:.6;cursor:wait}.device-delete-dialog .device-delete-dialog-error{color:var(--f-danger,#b42318)}.sterilize-settings{display:grid;gap:20px;min-width:0;color:var(--text);font-size:16px;line-height:1.5}.sterilize-settings h2,.sterilize-dialog h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.025em}.sterilize-header,.sterilize-section-head,.sterilize-gate-head,.sterilize-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px}.sterilize-header p,.sterilize-dialog p{margin:5px 0 0;color:var(--muted);font-size:14px}.sterilize-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.sterilize-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.sterilize-button.is-primary{background:var(--blue);color:var(--surface);border-color:var(--blue)}.sterilize-button:not(:disabled):hover{filter:brightness(.96)}.sterilize-settings button:disabled,.sterilize-dialog button:disabled{opacity:.5;cursor:not-allowed}.sterilize-settings button:focus-visible,.sterilize-dialog button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.sterilize-section{min-width:0}.sterilize-section-head{margin-bottom:14px}.sterilize-section-head h3{display:flex;align-items:center;gap:9px;margin:0;font-size:16px;font-weight:700}.sterilize-section-head>span{color:var(--muted);font-size:14px}.sterilize-count,.sterilize-number,.sterilize-badge{background:color-mix(in srgb,var(--blue) 7%,var(--surface));color:var(--blue);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.sterilize-gates{display:grid;gap:12px}.sterilize-hint{margin:0;font-size:13px;color:var(--muted)}.sterilize-gate{min-width:0;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.sterilize-gate-head{padding:12px 20px;border-bottom:1px solid var(--line)}.sterilize-gate-name{flex:1;width:0;min-width:0;padding:5px 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--text);font:inherit;font-weight:600}.sterilize-gate-name:hover{border-color:var(--line)}.sterilize-delete{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:6px;padding:6px 8px;background:transparent;color:var(--muted);font:inherit;font-size:13px;cursor:pointer}.sterilize-delete:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--surface))}.sterilize-flow{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,.28fr);align-items:start;gap:24px;padding:20px}.sterilize-endpoints{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}.sterilize-endpoint{min-width:0;position:relative}.sterilize-endpoint+.sterilize-endpoint:before{content:"→";position:absolute;left:-33px;top:31px;color:var(--muted);font-size:22px}.sterilize-field{display:grid;gap:8px;min-width:0;margin:0}.sterilize-field>span:first-child{color:var(--muted);font-size:13px;font-weight:600}.sterilize-field input,.sterilize-field select{box-sizing:border-box;width:100%;min-width:0;height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:15px}.sterilize-field input:focus,.sterilize-field select:focus,.sterilize-gate-name:focus{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent);outline-offset:1px;border-color:var(--blue)}.sterilize-inline-add{display:inline-flex;align-items:center;gap:5px;margin-top:7px;padding:3px 0;border:0;background:transparent;color:var(--blue);font:inherit;font-size:12px;cursor:pointer}.sterilize-duration{border-left:1px solid var(--line);padding-left:24px}.sterilize-duration-input{position:relative;display:block}.sterilize-duration-input input{padding-right:68px;font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.sterilize-duration-input>span{position:absolute;right:12px;top:12px;color:var(--muted);font-size:13px;pointer-events:none}.sterilize-duration small{display:block;margin-top:9px;color:var(--muted);font-size:12px}.sterilize-legacy{display:grid;gap:10px;min-width:0}.sterilize-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sterilize-person-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;padding:14px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.sterilize-person-row>span:first-child{font-size:15px;color:var(--text);overflow-wrap:anywhere}.sterilize-empty{display:grid;justify-items:center;gap:12px;padding:36px 24px;border:1px dashed var(--line);border-radius:12px;background:var(--surface);text-align:center}.sterilize-empty h3{font-size:18px;margin:0}.sterilize-empty p{font-size:14px;color:var(--muted);margin:0 0 8px}.sterilize-empty-route{display:flex;align-items:center;gap:12px;margin-bottom:6px;color:var(--blue)}.sterilize-empty-route>span{width:34px;height:1px;background:var(--line)}.sterilize-notice{padding:11px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font-size:14px}.sterilize-dialog{box-sizing:border-box;width:460px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);overflow:auto;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface);color:var(--text);font:inherit}.sterilize-dialog::backdrop{background:color-mix(in srgb,var(--text) 38%,transparent)}.sterilize-dialog-fields{display:grid;gap:18px;margin:24px 0}.sterilize-dialog footer{padding-top:18px;border-top:1px solid var(--line)}.menu-visibility{display:grid;gap:var(--management-gap);min-width:0}.menu-visibility p{margin:0;word-break:keep-all}.menu-visibility-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:var(--management-gap)}.menu-visibility-toolbar .field{margin:0}.menu-visibility-search{flex:1;max-width:32rem}.menu-visibility-help{color:var(--text-soft)}.menu-visibility-help summary,.menu-visibility-technical summary{cursor:pointer}.menu-visibility-help p{margin-top:var(--f-space-3)}.menu-visibility-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(36rem,100%),1fr));align-items:start;gap:var(--management-gap)}.menu-visibility-group{min-width:0;border:1px solid var(--border);border-radius:var(--management-radius);background:var(--surface);overflow:hidden}.menu-visibility-group>summary{padding:var(--f-space-4);cursor:pointer;color:var(--text)}.menu-visibility-group>summary span{float:right;color:var(--text-soft);font-variant-numeric:tabular-nums}.menu-visibility-group[open]>summary{background:var(--management-selection);border-bottom:1px solid var(--border)}.menu-visibility-group .table{margin:0;width:100%}.menu-visibility-group th:not(:first-child),.menu-visibility-group td:not(:first-child){text-align:center;white-space:nowrap}.menu-visibility-group td:first-child{min-width:12rem}.menu-visibility-group input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--blue);cursor:pointer}.menu-visibility-group .is-internal td:first-child{padding-left:var(--f-space-5)}.menu-visibility-kind{display:block;color:var(--text-soft);font-size:var(--f-control-text)}.menu-visibility-technical{margin-top:var(--f-space-2);color:var(--text-soft);font-size:var(--f-control-text)}.menu-visibility-technical code{display:block;overflow-wrap:anywhere;white-space:normal}.menu-visibility-dialog{width:min(30rem,calc(100% - 2rem));padding:var(--management-pad);border:1px solid var(--border);border-radius:var(--management-radius);color:var(--text);background:var(--surface)}.menu-visibility-dialog::backdrop{background:var(--overlay,rgba(0,0,0,.4))}.menu-visibility-dialog h2{margin:0 0 var(--f-space-4);font-size:var(--management-title)}.menu-visibility-dialog form{display:flex;justify-content:end;margin-top:var(--f-space-5)}.history-page .risk-marker.is-total line,.history-page .risk-marker.is-total circle{stroke:var(--series-humidity);fill:var(--series-humidity)}.history-page .risk-marker.is-wet line,.history-page .risk-marker.is-wet circle{stroke:var(--series-cough-wet);fill:var(--series-cough-wet)}.history-page .marker-toggle.is-on{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.history-page .marker-color-key{color:var(--text-soft);font-size:.875rem}.history-page .risk-marker:focus-visible circle{stroke-width:4}.history-page .chart-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,960px);gap:0;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.history-page .chart-metric-card{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:.5rem 1rem;padding:1rem 1.25rem;min-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}.history-page .chart-metric-card+.chart-metric-card{border-left:1px solid var(--border)}.history-page .chart-metric-card span{font-size:1rem}.history-page .chart-metric-card strong{margin:0;justify-self:end;font-size:clamp(1.5rem,1.7vw,2rem);color:var(--text);font-variant-numeric:tabular-nums}.history-page .chart-metric-card small{grid-column:1 / -1;font-size:.875rem}.sensor-dialog-head,.zone-compare-toolbar,.zone-compare-legend{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.sensor-settings-dialog{width:min(70rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:1.25rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface);color:var(--text);overflow:auto}.sensor-settings-dialog::backdrop{background:#00000059}.sensor-dialog-head{justify-content:space-between;margin-bottom:1rem}.history-page .sensor-settings-dialog .env-threshold-head{display:none}.history-page .sensor-settings-dialog .operational-threshold-panel{border:0}.history-page .sensor-chart-row.fs-chart-row{grid-template-columns:minmax(0,1fr);gap:4px;padding:8px 10px;min-height:0;background:var(--surface);border-radius:0}.history-page .fs-chart-row .sensor-chart-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;padding:0 8px;border:0}.history-page .fs-chart-row .sensor-chart-label strong{font-size:16px}.history-page .sensor-chart-row.fs-chart-row svg{height:auto}#analysis-panel .history-page :is(.chart-axis-x,.chart-axis-y){font-size:14px}.history-page .metric-line{stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.history-page .chart-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;padding:.25rem 0;font-size:.875rem;color:var(--text-soft)}.history-page .sensor-query-bar{padding:1rem;border-radius:.75rem;background:var(--surface-2)}.history-page .chart-controls{width:100%;justify-content:flex-start;gap:.75rem 1rem}.sensor-device-select{display:flex;align-items:center;gap:.75rem;flex:1 1 16rem;max-width:30rem;min-width:0}.sensor-device-select>span{color:var(--text-soft);white-space:nowrap}.history-page .sensor-device-select select{flex:1;min-width:0;width:100%;font:inherit;height:2.625rem}.history-page .chart-controls .segmented{min-height:2.625rem;flex-wrap:wrap}.history-page .chart-controls .segmented :is(span,button){height:2.625rem;font-size:.9375rem}.history-page .chart-controls .button{min-height:2.625rem;font-size:.9375rem}.history-page .chart-auto-refresh{font-size:.9375rem;white-space:nowrap}.history-page .chart-series{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;padding:.875rem 0}.sensor-legend-group{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sensor-legend-group>strong{font-size:.9375rem;color:var(--text-soft);margin-right:.25rem}.history-page .series-pill{font-size:.875rem}.history-page .chart-data-table{min-width:850px;table-layout:auto;font-size:.9375rem}.history-page .chart-data-table col{width:auto}.history-page .chart-data-table thead th,.zone-compare-table thead th{background:var(--surface-2);color:var(--text-soft);font-weight:600}.history-page .chart-data-table tbody tr:hover,.zone-compare-table tbody tr:hover{background:var(--surface-2)}.history-page .chart-table-panel{border-radius:.75rem;overflow:hidden;box-shadow:none}.zone-comparison{display:grid;gap:1rem;min-width:0}.zone-compare-toolbar{padding:1rem;background:var(--surface-2);border-radius:.75rem}.zone-compare-toolbar select{height:2.625rem;padding:0 .75rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit}.zone-compare-toolbar>label{display:flex;align-items:center;gap:.5rem}.zone-compare-toolbar h2{margin:0;font-size:1.25rem}.zone-compare-toolbar p{margin:.375rem 0 0;color:var(--text-soft)}.zone-compare-toolbar>div{flex:1 1 20rem}.zone-selection-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;min-width:0;padding-inline:.25rem}.zone-selection-summary{color:var(--text-soft);overflow-wrap:anywhere}.zone-picker{position:relative}.zone-picker>summary{cursor:pointer;padding:.625rem 1rem;border-radius:.625rem;background:var(--surface);border:1px solid var(--border)}.zone-picker>summary b{margin-left:.5rem;color:var(--blue)}.zone-picker-popover{position:absolute;z-index:30;top:calc(100% + .5rem);left:0;width:min(28rem,calc(100vw - 3rem));max-height:min(36rem,70dvh);overflow:auto;padding:1rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface);box-shadow:0 8px 24px #0000001f}.zone-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.zone-picker-popover button{border:0;background:var(--surface-2);color:var(--text);padding:.5rem .75rem;border-radius:.5rem;font:inherit;cursor:pointer}.zone-picker-popover>input{width:100%;padding:.625rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);font:inherit}.zone-picker-list{max-height:20rem;overflow:auto;margin-block:.75rem}.zone-picker-branch>summary{cursor:pointer;padding:.75rem .25rem;font-weight:700}.zone-picker-branch>summary small{margin-left:.75rem;color:var(--text-soft);font-weight:400}.zone-picker-branch>div{padding-left:1rem}.zone-choice{display:flex;align-items:center;gap:.5rem;padding:.625rem .25rem;overflow-wrap:anywhere;cursor:pointer}.zone-choice input{flex-shrink:0;accent-color:var(--blue)}.zone-picker-selected{display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--border);padding-top:.75rem}.zone-picker-selected strong{flex-basis:100%}.zone-metric-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem}.zone-metric-controls button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .875rem;border:1px solid var(--border);border-radius:.5rem;font:inherit;background:var(--surface);color:var(--text-soft);cursor:pointer}.zone-metric-controls button[aria-pressed=true]{background:var(--surface-2);color:var(--text);border-color:var(--blue);font-weight:700}.zone-metric-controls button>span{width:.625rem;height:.625rem;border-radius:50%}.zone-metric-controls small{color:var(--text-soft)}.zone-compare-legend{max-height:8rem;overflow:auto;margin-bottom:.75rem}.zone-compare-legend>span{display:inline-flex;align-items:center;gap:.375rem}.zone-combined-chart{position:relative}.zone-chart-tooltip{position:absolute;top:.5rem;right:1rem;max-width:min(30rem,calc(100% - 2rem));max-height:75%;overflow:auto;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--surface);color:var(--text);box-shadow:0 4px 16px #0000001a;font-variant-numeric:tabular-nums}.zone-chart-tooltip>div{display:flex;justify-content:space-between;gap:1rem;margin-top:.375rem}.zone-chart-tooltip small{display:block;margin-top:.5rem;color:var(--text-soft)}.zone-chart-tooltip b{white-space:nowrap}.zone-compare-chart{min-width:0;padding:1.25rem;border:1px solid var(--border);border-radius:.75rem;background:var(--surface)}.zone-chart-heading,.zone-results-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;margin-bottom:1rem}.zone-chart-heading p,.zone-results-heading p{margin:0;color:var(--text-soft);font-size:.875rem}.zone-compare-results{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1.25rem}.zone-compare-results>.app-muted{margin:.75rem 0 0;font-size:.875rem;line-height:1.6}.zone-compare-chart h3{margin:0 0 .75rem;font-size:1.125rem}.zone-compare-chart h3 small{color:var(--text-soft);font-weight:500}.zone-compare-plot,.zone-compare-table{overflow-x:auto}.zone-compare-plot svg{display:block;width:100%;min-width:36rem;height:auto}.zone-compare-plot text{fill:var(--text-soft);font-size:12px}.zone-compare-table table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.zone-compare-table th,.zone-compare-table td{padding:.625rem;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.zone-compare-table th:first-child{text-align:left}.history-page{min-width:0}.history-page .operational-threshold-panel,.history-page .fs-chart-panel{border-radius:1rem;box-shadow:none}.history-page .env-threshold-head{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;cursor:pointer;list-style:none;background:var(--surface);color:var(--text)}.history-page .env-threshold-head::-webkit-details-marker{display:none}.history-page .env-threshold-head:after{content:"+";margin-left:auto;font-size:1.5rem}.history-page details[open]>.env-threshold-head:after{content:"−"}.history-page .env-threshold-head:focus-visible{outline:2px solid var(--blue);outline-offset:-3px}.history-page .env-section-title{min-width:0;flex:1 1 18rem}.history-page .env-section-title small{white-space:normal;line-height:1.5}.history-page .env-metric-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1rem}.history-page .env-metric-card{padding:1rem;border-radius:.75rem;box-shadow:none}.history-page .env-threshold-number-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr))}.history-page .env-threshold-number-row{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;padding:.75rem;font-size:1rem}.history-page .env-threshold-number-row>span{grid-column:1 / -1;color:var(--text);white-space:normal}.history-page .env-threshold-number{min-width:0;width:100%;font:inherit;color:var(--text)}.history-page .env-threshold-number-row em{color:var(--text)}.history-page .env-range-track{background:var(--border)}.history-page .env-edit-actions{display:flex;flex-wrap:wrap;gap:.75rem;border-top:1px solid var(--border);padding-top:1rem}.history-page .env-edit-actions .button{height:auto;white-space:normal}.history-page .chart-panel-heading{display:flex;flex-wrap:wrap;gap:.75rem}.history-page .chart-panel-heading>div{min-width:0}.history-page .chart-panel-heading span{white-space:normal;overflow-wrap:anywhere}@media(max-width:760px){.history-page .chart-metric-grid{grid-template-columns:1fr}.history-page .chart-metric-card+.chart-metric-card{border-left:0;border-top:1px solid var(--border)}.history-page .sensor-device-select{max-width:none;flex-basis:100%}.zone-compare-chart{padding:.75rem}.zone-chart-tooltip{font-size:.875rem;right:.5rem}}.sensor-env-switch{margin:0 0 14px}.ax-context{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:0 0 14px;margin-bottom:18px;border-bottom:1px solid var(--border)}.ax-context>.ax-grow{flex:1 1 auto;min-width:0}.ax-context :is(select,input,.segmented>button,.button),.ax-panel>header :is(select,.segmented>button,.button){font-size:15px}.manage-body .ax-context .button.is-small,.manage-body .ax-panel>header .button.is-small{padding:8px 14px;min-height:0}.ax-field{display:flex;align-items:center;gap:8px;min-width:0}.ax-field>span{flex:0 0 auto;font-size:14px;font-weight:500;color:var(--text-muted)}.ax-field>select,.ax-field>input{min-width:0;max-width:100%;padding:8px 10px;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.ax-field>select{flex:1 1 15rem;max-width:24rem}.ax-field>select:focus-visible,.ax-field>input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ax-check{gap:6px}.ax-check>input{margin:0;accent-color:var(--accent)}.ax-check>span{color:var(--text-soft)}.ax-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin-bottom:12px}.ax-stat{container-type:inline-size;padding:2px 0 2px clamp(14px,4cqi,22px);border-left:1px solid var(--border)}.ax-stat:first-child{padding-left:0;border-left:0}.ax-stat>dt{display:flex;align-items:center;gap:7px;margin:0 0 6px;font-size:clamp(14px,3.6cqi,16px);font-weight:500;color:var(--text-muted)}.ax-stat>dd{margin:0;font-size:clamp(24px,11cqi,36px);font-weight:650;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ax-stat>dd>small{display:block;margin-top:5px;font-size:clamp(14px,3.4cqi,16px);font-weight:500;color:var(--text-muted);letter-spacing:0}.ax-swatch{width:10px;height:10px;border-radius:3px;background:currentColor;flex:0 0 auto}.ax-read{display:block;padding:0;margin:14px 0 18px;border-radius:var(--radius);font-size:14px;line-height:1.6;color:var(--text-soft)}.ax-read.is-caution,.ax-read.is-danger{padding:11px 16px}.ax-read>b{font-weight:650;color:var(--text);font-variant-numeric:tabular-nums}.ax-read.is-caution{background:var(--warn-soft);color:var(--warn-ink)}.ax-read.is-caution>b{color:var(--warn-ink)}.ax-read.is-danger{background:var(--danger-soft);color:var(--danger-ink)}.ax-read.is-danger>b{color:var(--danger-ink)}.ax-read>.ax-read-tag{display:inline-block;margin-right:8px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#fff9;color:inherit}.ax-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.ax-panel>header{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:14px 16px;border-bottom:1px solid var(--border)}.ax-panel>header>h2{flex:1 1 auto;margin:0;font-size:16px;font-weight:650;letter-spacing:-.01em}.ax-panel>header>h2>small{display:block;margin-top:3px;font-size:14px;font-weight:400;color:var(--text-muted);font-variant-numeric:tabular-nums}.ax-panel>.ax-body{padding:16px}.ax-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:14px}.ax-legend>button,.ax-legend>span{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;font:inherit;font-size:14px;color:var(--text-soft)}.ax-legend>button{cursor:pointer}.ax-legend>button[aria-pressed=false]{color:var(--text-muted);opacity:.45}.ax-legend>button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.ax-legend i{width:11px;height:11px;border-radius:3px;flex:0 0 auto}.ax-legend i.is-dry{background:var(--series-cough-dry)}.ax-legend i.is-wet{background:var(--series-cough-wet)}.ax-legend i.is-gap{background:var(--surface-muted, rgba(120,128,140,.14));border:1px solid var(--border-strong)}.ax-legend i.is-caution{background:var(--warn-soft);border:1px solid var(--warn)}.ax-legend i.is-danger{background:var(--danger-soft);border:1px solid var(--danger)}.ax-legend i.is-baseline{height:0;border-top:2px dashed var(--text-muted);border-radius:0}.ax-legend>.ax-legend-gap{flex:0 0 8px}.ax-hint{margin:12px 0 0;font-size:14px;line-height:1.6;color:var(--text-muted)}.ax-empty{padding:40px 16px;text-align:center;color:var(--text-muted)}.ax-empty>b{display:block;margin-bottom:6px;font-size:15px;font-weight:600;color:var(--text-soft)}.ax-empty>span{font-size:15px}@media(max-width:720px){.ax-context{gap:10px 12px;padding:0 0 12px}.ax-field{flex:1 1 200px}.ax-field>select{flex:1 1 auto;max-width:none}}.ax-preset{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.ax-preset>button{padding:9px 15px;font:inherit;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;border:0;border-radius:999px;cursor:pointer;transition:color .14s ease,background-color .14s ease}.ax-preset>button:hover{color:var(--text);background:var(--surface-3)}.ax-preset>button[aria-pressed=true]{color:#fff;background:var(--accent);font-weight:600}.ax-preset>button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){.ax-preset>button{transition:none}}.trend-chart-box,.overlay-chart{width:100%;min-width:0}.overlay-chart svg{display:block;width:100%;height:auto}.overlay-grid{stroke:var(--border);stroke-width:1;stroke-opacity:.75}.overlay-line{fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;stroke-opacity:.9}.overlay-dot{fill:currentColor}.overlay-hover-line{stroke:var(--text);stroke-opacity:.35;stroke-width:1.25;stroke-dasharray:4 4}.overlay-hover-dot{fill:currentColor;stroke:var(--surface);stroke-width:2}.overlay-tip{fill:var(--surface);stroke:var(--border-strong);stroke-width:1;filter:drop-shadow(0 4px 12px rgba(20,27,52,.12))}.overlay-tip-time{font-size:14px;font-weight:600;fill:var(--text);font-variant-numeric:tabular-nums}.overlay-tip-row circle{fill:currentColor}.overlay-tip-label{font-size:14px;fill:var(--text-soft)}.overlay-tip-value{font-size:14px;font-weight:600;fill:var(--text);font-variant-numeric:tabular-nums}.overlay-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:14px;color:var(--text-soft)}.overlay-legend>span{display:inline-flex;align-items:center;gap:7px}.overlay-legend i{width:11px;height:11px;border-radius:3px;background:currentColor;flex:0 0 auto}.overlay-legend small{font-size:14px;color:var(--text-muted);font-variant-numeric:tabular-nums}.overlay-legend small:before{content:"·";margin:0 4px 0 2px}.trend-analysis{margin-top:28px;padding:28px;background:var(--surface);border:1px solid var(--border);border-radius:14px;color:var(--text)}.trend-analysis header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.trend-analysis h2{margin:6px 0;font-size:28px;font-weight:700}.trend-analysis h3{margin:0 0 16px;font-size:20px;font-weight:600}.trend-analysis-eyebrow,.trend-analysis small{font-size:18px;color:var(--text-muted);font-weight:500}.trend-analysis-lead{font-size:22px;line-height:1.6;margin:18px 0 26px}.trend-analysis-columns{display:flex;flex-wrap:wrap;gap:24px;padding-top:16px}.trend-analysis-columns>section{flex:2 1 420px;min-width:0}.trend-slot-legend{display:flex;gap:20px;margin:8px 0 12px;font-size:18px}.trend-slot-legend span:before{content:"";display:inline-block;width:12px;height:8px;margin-right:6px;background:var(--accent)}.trend-slot-legend span+span:before{background:var(--border)}.trend-slot-row{display:flex;gap:16px;align-items:center;margin:10px 0;font-size:20px}.trend-slot-row>b{flex:0 0 3em;font-weight:500}.trend-slot-row>span{flex:0 0 7em;text-align:right}.trend-slot-bars{flex:1;min-width:0}.trend-slot-bars>div{display:flex;align-items:center;gap:8px;margin:4px 0}.trend-slot-bars i{display:block;height:9px;border-radius:3px;background:var(--accent);flex-shrink:1}.trend-slot-bars>div+div i{background:var(--border)}.trend-slot-bars span{white-space:nowrap;font-size:18px}.cough-trend-page .trend-threshold-line{fill:none;stroke-width:1.25;stroke-opacity:.65;stroke-dasharray:6 4;pointer-events:none}.cough-trend-page .trend-threshold-line.is-caution{stroke:var(--warn)}.cough-trend-page .trend-threshold-line.is-danger{stroke:var(--danger)}.cough-trend-page .trend-chart .chart-axis-x,.cough-trend-page .trend-chart .chart-axis-y{font-size:14px}.sonic-help{display:inline-block;position:relative}.sonic-help>[role=tooltip]{display:none;position:absolute;right:0;top:100%;width:300px;max-width:70vw;padding:16px;font-size:17px;line-height:1.6;color:var(--text);background:var(--surface);box-shadow:0 4px 18px #0002;border-radius:10px;z-index:20;white-space:normal}.sonic-help:hover>[role=tooltip],.sonic-help:focus-within>[role=tooltip]{display:block}.app-shell.is-sonic-module .page-head>div>h1.page-title{display:none}.app-shell.is-sonic-module .zone-compare-chart{border:0;box-shadow:none}.app-shell.is-sonic-module .zone-compare-plot svg{min-width:800px}.app-shell.is-sonic-module .zone-compare-plot svg>line{stroke-dasharray:2 4;opacity:.7}.app-shell.is-sonic-module .zone-compare-plot path{stroke-width:2.6;vector-effect:non-scaling-stroke}.app-shell.is-sonic-module .zone-compare-plot circle{opacity:.4}.app-shell.is-sonic-module .zone-chart-heading h3{font-size:22px}.app-shell.is-sonic-module .sonic-device-table button[role=switch]{font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:8px 16px}.app-shell.is-sonic-module .sonic-device-table button[role=switch][aria-checked=true]{border-color:var(--ok)}.trend-date-control{display:flex;gap:10px;align-items:center}.trend-analysis-basis{font-size:18px;color:var(--text-muted);margin:24px 0 0;line-height:1.7}.trend-analysis-table-wrap{overflow-x:auto}.trend-analysis-table{width:100%;border-collapse:collapse;font-size:20px;font-variant-numeric:tabular-nums}.trend-analysis-table caption{text-align:left;font-size:22px;font-weight:600;margin-bottom:18px}.trend-analysis-table th,.trend-analysis-table td{padding:18px 14px;text-align:right;border-bottom:1px solid var(--border);white-space:nowrap}.trend-analysis-table th:first-child{text-align:left}.trend-analysis-table thead th{font-size:18px;font-weight:500;color:var(--text-muted);background:var(--surface-2)}.trend-analysis-table strong{font-size:26px;font-weight:650}.trend-streak-band{opacity:.15;pointer-events:none}.cough-trend-page .trend-chart .trend-streak-label{font-size:12px;fill:var(--text);pointer-events:none}.cough-trend-page .chart-gap{pointer-events:none}.cough-trend-page{color:var(--text);font-size:18px;min-width:0}.cough-trend-page .chart-header{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.cough-trend-page .chart-header h1{font-size:28px}.cough-trend-page .chart-controls{display:flex;flex-wrap:wrap;gap:12px}.cough-trend-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border);overflow-x:auto}.cough-trend-tabs button{flex:0 0 auto;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--text-muted);font:inherit;font-size:18px;padding:11px 20px;cursor:pointer;white-space:nowrap}.cough-trend-tabs button[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface));font-weight:700}.cough-trend-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.cough-trend-summary{display:flex;flex-wrap:wrap;gap:16px 32px;padding:16px 0}.cough-trend-summary span{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}.cough-trend-summary strong{font-size:26px;font-variant-numeric:tabular-nums}.cough-trend-page .series-pill{font-size:18px;background:transparent;border:0;padding:8px 0}.cough-trend-page .series-pill.chart-green{color:var(--series-cough-dry)}.cough-trend-page .series-pill.chart-purple{color:var(--series-cough-wet)}.cough-trend-page .segmented button.is-active{background:var(--surface-2);color:var(--text);border-bottom:3px solid var(--text)}.cough-trend-page .trend-chart-panel{box-shadow:none;border:0;background:var(--surface)}.cough-trend-page .chart-panel-heading{background:transparent}.cough-trend-page .chart-panel-heading strong{font-size:22px}.cough-trend-page .chart-panel-meta,.cough-trend-page .chart-footnote{font-size:17px;color:var(--text-muted);line-height:1.6}.cough-trend-page .trend-chart-panel .panel-body{overflow-x:auto}.cough-trend-page .trend-chart{width:100%;min-width:0;min-height:0;height:auto;border:0;border-radius:0}.cough-trend-page .trend-chart text{fill:var(--text-muted)}.cough-trend-page .risk-snapshot-grid{display:flex;flex-wrap:wrap;gap:20px 32px}.cough-trend-page .risk-snapshot-grid>div{flex:1 1 12rem;background:transparent;border:0;min-width:0}.cough-trend-page .risk-snapshot-grid span,.cough-trend-page .field-label,.cough-trend-page .panel-head{font-size:18px;color:var(--text)}.cough-trend-page .risk-snapshot-grid strong{font-size:24px;color:var(--text)}.cough-trend-page .risk-reason-box{background:transparent;color:var(--text);font-size:18px;line-height:1.7;padding:12px 0}.cough-trend-page .risk-reason-box summary{cursor:pointer}.cough-trend-page .risk-reason-box p,.cough-trend-page .risk-reason-box li{font-size:18px;line-height:1.6}.cough-trend-page small{font-size:16px;line-height:1.6}.server-history{color:var(--text);display:grid;gap:20px;min-width:0}.server-history-tools{display:flex;flex-wrap:wrap;align-items:end;gap:12px}.server-history-dates{display:flex;gap:10px;align-items:end}.server-history-dates>span{padding-bottom:12px;color:var(--text-muted)}.server-history-dates label{display:grid;gap:7px;font-size:14px;color:var(--text-muted)}.server-history-tools input{height:44px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:0 12px;font:inherit;min-width:0}.server-history-presets{display:flex;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--radius)}.server-history-presets button{border:0;background:transparent;color:var(--text);font:inherit;padding:6px 10px;cursor:pointer}.server-history-search{display:flex;align-items:center;position:relative;flex:1 1 240px;max-width:420px}.server-history-search i{position:absolute;left:13px;color:var(--text-muted)}.server-history-search input{width:100%;padding-left:38px}.server-history-note{display:flex;align-items:baseline;gap:9px;margin:0;color:var(--text-muted);font-size:14px;line-height:1.6}.server-history-result-head,.server-history-result-head>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px}.server-history-result-head{justify-content:space-between}.server-history-result-head strong{font-size:22px}.server-history-result-head b{font-size:24px;font-variant-numeric:tabular-nums}.server-history-result-head time{font-size:16px;color:var(--text-muted)}.server-history-content{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;align-items:start}.server-history-content.has-detail{grid-template-columns:minmax(0,1fr) minmax(280px,330px)}.server-history-records{min-width:0}.server-history-table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.server-history table{border-collapse:collapse;width:100%;text-align:left;font-size:16px}.server-history th{background:var(--surface-2);color:var(--text-muted);font-size:14px;font-weight:600;white-space:nowrap}.server-history td,.server-history th{padding:14px 16px;border-bottom:1px solid var(--border)}.server-history td{max-width:360px;overflow-wrap:anywhere}.server-history tr:last-child td{border-bottom:0}.server-history td time{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}.server-history td small{display:block;font-size:14px;color:var(--text-muted);margin-top:5px}.server-history tr.is-selected{background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.server-history-status{display:inline-block;white-space:nowrap;padding:4px 9px;border-radius:6px;color:var(--text-muted);background:var(--surface-2);font-size:14px}.server-history-status.is-normal{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,var(--surface))}.server-history-status.is-caution{color:var(--text);background:color-mix(in srgb,var(--warn) 18%,var(--surface))}.server-history-status.is-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface))}.server-history button:focus-visible,.server-history input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.server-history-open{width:36px;height:36px;border:0;background:transparent;color:var(--blue);cursor:pointer}.server-history-pagination,.server-history-pagination>div{display:flex;align-items:center;justify-content:space-between;gap:16px}.server-history-pagination{padding-top:18px;color:var(--text-muted);font-size:15px}.server-history-pagination button{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:7px 14px;font:inherit;cursor:pointer}.server-history-pagination button:disabled{opacity:.4;cursor:default}.server-history-detail{border-left:1px solid var(--border);padding-left:24px;min-width:0}.server-history-detail header{display:flex;justify-content:space-between;align-items:center;color:var(--text-muted)}.server-history-detail header button{border:0;background:transparent;font-size:28px;color:var(--text);cursor:pointer}.server-history-detail h2{font-size:22px;margin:20px 0 8px}.server-history-detail p,.server-history-detail dt{color:var(--text-muted);font-size:15px}.server-history-detail dl>div{display:grid;gap:7px;padding:14px 0;border-bottom:1px solid var(--border)}.server-history-detail dd{margin:0;overflow-wrap:anywhere}.server-history-empty{display:grid;justify-items:center;padding:70px 20px;color:var(--text-muted);text-align:center;background:var(--surface);border-radius:var(--radius)}.server-history-empty i{font-size:32px;opacity:.5}.server-history-empty h2{font-size:20px;color:var(--text);margin:20px 0 8px}.server-history-warning{padding:12px 16px;background:color-mix(in srgb,var(--warn) 12%,var(--surface));border-radius:var(--radius)}@media(hover:hover)and (pointer:fine){.server-history tbody tr:hover{background:var(--surface-2)}}@media(max-width:1100px){.server-history-content.has-detail{grid-template-columns:minmax(0,1fr)}.server-history-detail{border-left:0;border-top:1px solid var(--border);padding:18px 0 0}}@media(max-width:600px){.server-history-dates{width:100%}.server-history-dates label{flex:1;min-width:0}.server-history-dates input{width:100%}.server-history-pagination{flex-wrap:wrap}}.backup-workspace{min-width:0;width:100%;max-width:100%;container-type:inline-size;font-size:clamp(18px,1vw,20px)}.backup-workspace .page-head{display:flex;flex-wrap:wrap;gap:16px;height:auto}.backup-workspace .page-head>div{flex:1 1 22rem;min-width:0}.backup-workspace .page-head .button-row{justify-content:flex-end;flex-wrap:wrap}.backup-workspace .page-title{font-size:clamp(24px,1.6vw,30px);font-weight:600}.backup-workspace .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:14px;margin-bottom:18px}.backup-workspace .kpi-card{flex:1 1 12rem;min-width:0;box-shadow:none}.backup-workspace .kpi-label{font-size:18px}.backup-workspace .kpi-value{font-size:30px}.backup-workspace .app-muted.is-size-7{font-size:16px}.backup-system-info{margin-bottom:20px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:18px}.backup-system-info summary{cursor:pointer;font-weight:600;line-height:1.7}.backup-system-info summary span{font-weight:400;color:var(--text-soft);margin-left:18px}.backup-system-info .storage-card{margin-top:20px}.backup-paths{display:flex;flex-wrap:wrap;gap:20px}.backup-paths>div{flex:1 1 18rem;min-width:0}.backup-paths dt{color:var(--text-soft);font-size:16px;margin-bottom:8px}.backup-paths dd{margin:0;overflow-wrap:anywhere}.backup-list-tabs{display:flex;flex-wrap:wrap;gap:20px;padding:0 20px;border-bottom:1px solid var(--border)}.backup-list-tabs button{font:inherit;font-weight:600;padding:18px 0;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--text-soft);cursor:pointer}.backup-list-tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}.backup-list-tabs span{margin-left:8px;font-size:16px}.backup-list-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:20px}.backup-list-toolbar .field-block{flex:1 1 12rem;min-width:0;margin:0}.backup-list-toolbar .backup-file-search{flex:2 1 18rem}.backup-workspace .field-label{font-size:16px;display:block;margin-bottom:8px}.backup-workspace .input,.backup-workspace .button{font-size:clamp(17px,1cqi,20px);min-height:44px;height:auto;max-width:100%}.backup-workspace .input{min-width:0;width:100%}.backup-workspace .button{white-space:normal;overflow-wrap:anywhere}.backup-workspace .backup-file-panel{min-width:0;max-width:100%}.backup-workspace .table-scroll{min-width:0;max-width:100%;overflow-x:auto}.backup-workspace .storage-legend{display:flex;flex-wrap:wrap;gap:12px}.backup-workspace .settings-readonly small{overflow-wrap:anywhere}.backup-list-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:0 20px 16px;color:var(--text-soft);font-size:16px}.backup-workspace .backup-table th,.backup-workspace .backup-table td{font-size:18px;padding:16px;line-height:1.5}.backup-workspace .backup-table .tag,.backup-workspace .backup-table .button{font-size:16px}.backup-workspace .backup-table .file-name-cell{min-width:220px;max-width:420px;overflow-wrap:anywhere}.backup-workspace .table-help{font-size:16px;max-width:24rem;margin-top:8px}.backup-workspace .table-help code{display:block;margin-top:6px;font-size:14px;overflow-wrap:anywhere}.backup-upload-dialog{width:min(640px,90vw);max-height:85dvh;overflow:auto;border:1px solid var(--border);border-radius:16px;padding:24px;background:var(--surface);color:var(--text)}.backup-upload-dialog::backdrop{background:#00000073}.backup-upload-dialog header,.backup-upload-dialog footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.backup-upload-dialog h2{font-size:24px;font-weight:600;margin:0}.backup-upload-dialog .field-block{display:block;margin:20px 0}.backup-upload-dialog footer{justify-content:flex-end}@container (max-width: 900px){.backup-list-toolbar .backup-file-search{flex-basis:100%}.backup-list-toolbar>.button{flex:1 1 100%}.backup-workspace .page-head .button-row{justify-content:flex-start}.backup-workspace .backup-table th,.backup-workspace .backup-table td{padding:12px}}@container (max-width: 520px){.backup-list-toolbar .field-block{flex-basis:100%}.backup-list-tabs{gap:12px;padding-inline:12px}.backup-list-tabs button{flex:1 1 auto}.backup-list-toolbar{padding:12px}.backup-system-info summary span{display:block;margin-left:0}}@media(max-height:600px){.backup-upload-dialog{max-height:calc(100dvh - 24px);padding:16px}}.piggo-page{display:grid;gap:16px;min-width:0;width:100%;max-width:100%;color:var(--text)}.piggo-page>*,.piggo-page .panel-body{min-width:0}.piggo-page .page-head{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.piggo-page .page-head>div{flex:1 1 240px;min-width:0}.piggo-page .page-title{overflow-wrap:anywhere}.piggo-page .kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.piggo-page .kpi-card{min-width:0;min-height:0;padding:14px 18px;border:0;border-radius:0;box-shadow:none;gap:5px;background:var(--surface)}.piggo-page .kpi-card:last-child{border-right:0}.piggo-page .kpi-value,.piggo-page .kpi-value.is-compact{font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere}.piggo-page .kpi-card .app-muted{overflow-wrap:anywhere}.piggo-page .panel{margin:0;min-width:0}.piggo-page .table-scroll{width:100%;max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain}.piggo-page .table{width:100%;min-width:820px;font-size:14px}.piggo-page .panel-head{display:flex;flex-wrap:wrap;gap:8px}.piggo-page .piggo-log-actions{align-items:center;gap:6px;margin:0}.piggo-page .piggo-retry-action{min-height:30px;height:30px;padding:0 10px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--line));border-radius:6px;background:transparent;color:var(--danger);font-size:13px;font-weight:600;line-height:1;box-shadow:none}.piggo-page .piggo-retry-action:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 6%,transparent);border-color:var(--danger)}.piggo-page .pagination{flex-wrap:wrap;gap:8px}.piggo-page .table td{vertical-align:top}.piggo-page .file-name-cell{max-width:340px;overflow-wrap:anywhere;font-family:ui-monospace,monospace;font-size:13px}.piggo-log-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px}.piggo-filters{display:flex;flex-wrap:wrap;gap:4px}.piggo-filters button{padding:7px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:14px;cursor:pointer}.piggo-filters button[aria-pressed=true]{border-color:var(--blue);color:var(--blue);background:color-mix(in srgb,var(--blue) 7%,var(--surface))}.piggo-log-controls input{flex:1 1 240px;min-width:0;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:inherit;font-size:14px}.piggo-log-controls>span{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.piggo-error{min-width:160px;max-width:360px}.piggo-error summary{cursor:pointer;color:var(--danger)}.piggo-error pre{margin:8px 0 0;padding:10px;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);color:var(--text);font-size:12px}.piggo-page .table-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pig-event-timeline{--event-left: 56px;--event-right: 20px;margin:8px 0 0;padding:8px 0;color:var(--text);border-top:1px solid var(--border);font-variant-numeric:tabular-nums;scroll-margin-top:80px}#analysis-panel .pig-activity-trend .integrated-series svg{height:auto}.pig-event-timeline.is-overlay{--event-left: 16px;--event-right: 16px;padding-inline:0}.pig-event-rows{max-height:320px;overflow-y:auto;padding-block:4px}.pig-event-row{position:relative;height:48px;padding:24px var(--event-right) 0 var(--event-left)}.pig-event-label{position:absolute;left:0;top:0;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;height:24px;cursor:pointer}.pig-event-track{height:24px;position:relative;border-bottom:1px solid var(--border)}.pig-event-bar{position:absolute;top:0;height:16px;padding:0;border:1px solid var(--blue);border-radius:4px;background:var(--blue);cursor:pointer}.pig-event-bar.is-ongoing{border-right:3px dashed var(--text)}.pig-event-bar[aria-pressed=true]{outline:2px solid var(--text);outline-offset:2px}.pig-event-timeline button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.pig-event-axis{display:flex;justify-content:space-between;margin:8px var(--event-right) 0 var(--event-left);color:var(--text-muted);font-size:14px}.pig-event-detail{padding:8px 0;margin:4px 0 0;overflow-wrap:anywhere}#analysis-panel .pig-activity-trend .integrated-series{margin-top:0;padding:8px 0 4px;background:transparent;border-radius:0}.pig-activity-trend .integrated-series-heading{margin-bottom:0;gap:12px;flex-wrap:wrap}.pig-activity-trend .integrated-series-heading h3{margin-block:4px}.pig-activity-trend .ax-summary{margin-block:8px}.pig-test-notice{margin:8px 0;padding:8px 12px;border-left:3px solid var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface));color:var(--text);font-size:14px}.pig-test-notice strong{margin-right:8px}.pig-test-notice>span{display:block;margin-top:4px}.pig-test-tag{display:inline-block;margin-left:8px;padding:0 4px;border:1px solid var(--border);color:var(--text);font-size:12px;line-height:18px}.pig-history-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 0}.pig-activity-trend .is-event-selected{background:color-mix(in srgb,var(--blue) 6%,var(--surface))}.person-access-page{width:100%;max-width:1800px;margin-inline:auto;display:grid;gap:16px;min-width:0;color:var(--text);font-size:16px;line-height:1.5}.person-access-page :is(h2,p){margin:0}.person-access-page h2{font-size:clamp(18px,1.2vw,22px)}.person-access-page :is(h2 small,.person-sub){color:var(--text-soft);font-size:16px;font-weight:400}.person-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end}.person-access-page label{display:grid;gap:6px;min-width:0;font-size:16px;color:var(--text-soft)}.person-access-page :is(input,select){min-width:0;width:100%;padding:9px 12px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--text);font:inherit}.person-toolbar>label:first-child{flex:1 1 220px;max-width:340px}.person-reload{margin-left:auto}.person-summary{display:flex;flex-wrap:wrap;gap:10px 24px;padding:16px 20px;background:var(--surface-2);border-radius:12px}.person-summary>button{display:grid;gap:5px;flex:1 1 140px;text-align:left;font:inherit;color:var(--text);background:transparent;border:1px solid transparent;border-radius:8px;padding:8px;cursor:pointer}.person-summary>button:is(:hover,[aria-pressed=true]){background:var(--management-selection);border-color:var(--blue)}.person-summary>button:focus-visible,.person-record-name:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.person-summary span{font-size:16px;color:var(--text-soft)}.person-summary strong{font-size:clamp(22px,1.6vw,28px);font-variant-numeric:tabular-nums}.person-summary small{margin-left:5px;font-size:16px;font-weight:400}.person-note{font-size:16px;color:var(--text-soft)}.person-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:16px;align-items:start}.person-records,.person-detail,.person-settings{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:clamp(14px,1.2vw,22px);min-width:0}.person-section-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}.person-section-head p{margin-top:8px;color:var(--text-soft)}.person-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.person-filters label{min-width:140px}.person-records .table-scroll{overflow-x:auto}.person-records .table{min-width:800px}.person-records .table :is(td,th){font-size:16px}.person-records tr.is-selected{background:var(--management-selection)}.person-records tbody tr{cursor:pointer}.person-records tbody tr:hover{background:var(--management-selection)}.person-detail-explanation{padding:12px;border-radius:8px;background:var(--surface-2);line-height:1.65;word-break:keep-all}.person-status:is(.is-no_disinfection,.is-unconfirmed,.is-missing_entry,.is-identity_missing){color:var(--warn-ink,var(--text));background:color-mix(in srgb,var(--warn) 18%,var(--surface))}.person-protected-zones{display:grid;gap:6px;align-content:start;font-size:16px;color:var(--text-soft)}.person-protected-zones summary{padding:9px 12px;border:1px solid var(--border);border-radius:7px;cursor:pointer}.person-protected-zones details>div{max-height:220px;overflow:auto;padding:8px}.person-protected-zones details label{display:flex;align-items:center;padding:6px}.person-protected-zones input[type=checkbox]{width:16px;height:16px;flex-shrink:0}.person-record-name{font:inherit;font-weight:600;color:var(--blue);border:0;padding:6px 0;background:transparent;cursor:pointer;white-space:nowrap}.person-sub{display:block;margin-top:4px}.person-status{display:inline-block;white-space:nowrap;padding:4px 8px;border-radius:6px;color:var(--text-soft);background:var(--surface-2);font-size:16px}.person-status:is(.is-met,.is-exited){color:var(--success, #218a52);background:color-mix(in srgb,var(--success, #218a52) 10%,var(--surface))}.person-status.is-short{color:var(--danger, #c53f3f);background:color-mix(in srgb,var(--danger, #c53f3f) 10%,var(--surface))}.person-detail{display:grid;gap:16px}.person-detail .person-section-head{margin:0}.person-detail-values{display:grid;gap:12px;margin:0}.person-detail-values>div{display:flex;justify-content:space-between;gap:12px}.person-detail dt{color:var(--text-soft);font-size:16px}.person-detail dd{margin:0;font-weight:600}.person-timeline{margin:0;padding:0 0 0 16px;border-left:2px solid var(--border);list-style:none;display:grid;gap:20px}.person-timeline li{display:grid;gap:7px}.person-timeline :is(time,span){color:var(--text-soft);font-size:16px;overflow-wrap:anywhere}.person-timeline img{width:100%;max-height:220px;object-fit:contain;border-radius:8px;background:var(--surface-2)}.person-image-empty{padding:24px 12px;text-align:center;background:var(--surface-2);color:var(--text-soft);border-radius:8px;font-size:16px}.person-detail>p{font-size:16px}.person-settings fieldset{margin:16px 0 0;padding:0;border:0;min-width:0}.person-setting-group+.person-setting-group{margin-top:32px;padding-top:24px;border-top:1px solid var(--border)}.person-direction-note{padding:12px 16px;margin-bottom:12px;border-radius:8px;background:var(--management-selection);color:var(--text-soft);font-size:16px}.person-direction-note strong{display:block;margin-bottom:4px;color:var(--text)}.person-segment{padding-block:18px;border-top:1px solid var(--border)}.person-segment-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.person-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;align-items:start}.person-camera-endpoint{display:grid;gap:12px;min-width:0}.person-protected-zones details{position:relative;min-width:0}.person-protected-zones details[open]>div{position:absolute;top:calc(100% + 4px);inset-inline:0;z-index:20;box-sizing:border-box;background:var(--surface);border:1px solid var(--border);border-radius:7px;box-shadow:0 8px 20px #0002}.person-access-page .button{font-size:16px;min-height:44px}.person-segment small{display:block;margin-top:12px;color:var(--text-soft)}.person-empty{padding:24px;color:var(--text-soft);background:var(--surface-2);border-radius:10px}@media(max-width:1050px){.person-workspace{grid-template-columns:minmax(0,1fr)}.person-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.person-toolbar>label:first-child{max-width:none}.person-summary>button{flex-basis:110px}.person-timeline{grid-template-columns:minmax(0,1fr)}}.management-ui{--management-gap: clamp(12px, 1.2vw, 20px);--management-pad: clamp(16px, 2vw, 28px);--management-radius: 12px;--management-font: 16px;--management-title: clamp(20px, 1.15rem + .2vw, 24px);--manage-content-font: var(--management-font);--management-selection: color-mix(in srgb, var(--blue) 7%, var(--surface));--management-link-ink: color-mix(in srgb, var(--blue) 80%, #000);color:var(--text);background:var(--bg, #f7f9fb);font-size:var(--management-font);line-height:1.5}.management-ui.is-developer{--management-font: 15px}.sonic-ai-page{display:grid;gap:14px;min-width:0;width:100%;max-width:1600px;margin-inline:auto;font-size:clamp(14px,.85rem + .15vw,16px)}.management-ui .sonic-ai-toolbar{margin:0}.sonic-ai-toolbar .field-block{flex:1 1 260px;min-width:0;max-width:420px}.sonic-ai-toolbar select{width:100%;min-width:0;text-overflow:ellipsis}.sonic-ai-refresh{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto}.sonic-ai-connection{color:var(--text-soft)}.sonic-ai-connection summary{cursor:pointer;width:fit-content;padding-block:6px}.sonic-ai-connection>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;padding-block:10px}.sonic-ai-connection code{overflow-wrap:anywhere;color:var(--text)}.sonic-ai-caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;padding:14px 18px 0;color:var(--text-soft)}.sonic-ai-page .panel{margin:0;min-width:0}.sonic-ai-player{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:12px;margin-bottom:14px;background:var(--surface-2);border-radius:8px}.sonic-ai-player span{overflow-wrap:anywhere;flex:1;min-width:0}.sonic-ai-player audio{max-width:100%}.management-ui .sonic-ai-page .table{width:100%;min-width:720px;font-size:inherit}.sonic-ai-page .table-scroll{overflow-x:auto}.sonic-ai-page .table :is(th,td):not(.file-name-cell){white-space:nowrap}.sonic-ai-page .table .file-name-cell{width:48%;max-width:none;white-space:normal;overflow-wrap:anywhere}.sonic-ai-summary{display:block;margin-top:4px;color:var(--text-soft);font-size:.9em}.management-ui .sonic-ai-page .table thead th{font-size:.9em}@media(max-width:760px){.sonic-ai-refresh{width:100%;margin-left:0;justify-content:space-between}.sonic-ai-toolbar .field-block{max-width:none}.management-ui .sonic-ai-page .panel-body{padding:12px}}@media(max-width:1200px){.management-ui:has(.sonic-ai-page) .app-topbar-tabs{order:3;width:100%;min-width:0;flex-wrap:nowrap;overflow-x:auto}.management-ui:has(.sonic-ai-page) .app-topbar-tabs>a{flex-shrink:0}}.management-ui :is(.manage-title p,.page-head>p,.page-description){color:var(--text-soft);line-height:1.6}.manage.management-ui .manage-back,.manage.management-ui .manage-back:hover,.manage.management-ui .manage-back:focus-visible,.management-ui :is(.manage-body,.app-main){min-width:0}.segmented{display:inline-flex;flex:0 0 auto;align-items:center;gap:2px;padding:2px;min-width:0;background:var(--surface-3);border:0;border-radius:var(--radius-sm)}.segmented>button{padding:6px 14px;min-height:0;height:auto;border:0;border-radius:8px;background:transparent;font:inherit;font-size:14px;font-weight:500;line-height:1.4;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:color .14s ease,background-color .14s ease}.segmented>button:hover{color:var(--text)}.segmented>button:is([aria-pressed=true],.is-selected,.is-active){background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm)}.segmented>button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.segmented>button:disabled{color:var(--off);cursor:default}@media(prefers-reduced-motion:reduce){.segmented>button{transition:none}}.management-ui :is(.page-tabs,.app-topbar-tabs,.manage-resource-tabs,.program-tabs){display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;min-width:0;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:0;box-shadow:none}.management-ui :is(.page-tabs,.app-topbar-tabs,.manage-resource-tabs,.program-tabs,.app-topbar-tab-group)>:is(button,a){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:10px 18px;margin:0;border:0;border-bottom:3px solid transparent;border-radius:8px 8px 0 0;background:transparent;color:var(--text-soft);box-shadow:none;font:inherit;font-size:17px;font-weight:500;text-decoration:none;white-space:nowrap;cursor:pointer;transition:color .12s ease,background-color .12s ease}.management-ui :is(.page-tabs,.app-topbar-tabs,.manage-resource-tabs,.program-tabs,.app-topbar-tab-group)>:is(button,a):hover{color:var(--text);background:var(--surface-2)}.management-ui :is(.page-tabs,.app-topbar-tabs,.manage-resource-tabs,.program-tabs,.app-topbar-tab-group)>:is(.is-active,[aria-selected=true],[aria-pressed=true],[aria-current=page]){background:var(--management-selection);color:var(--management-link-ink);border-bottom-color:var(--blue);font-weight:600}.management-ui :is(.page-tabs,.app-topbar-tabs,.manage-resource-tabs,.program-tabs,.app-topbar-tab-group)>:is(button,a):focus-visible{outline:2px solid var(--blue);outline-offset:-4px}.manage-title.has-nav{display:flex;align-items:stretch;align-self:stretch}.manage-title.has-nav :is(.page-tabs,.app-topbar-tabs){flex:1 1 auto;flex-wrap:nowrap;overflow-x:auto;border-bottom:0;margin-bottom:-6px}.manage-title.has-nav :is(.page-tabs>button,.app-topbar-tab-group>a){border-radius:0}.manage-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto;font-size:14px;color:var(--text-soft)}.manage-actions:empty{display:none}.manage-guide-nav{display:flex;align-items:center;gap:16px;min-width:0}:is(.manage-guide-help,.field-root .field-dashboard-header .manage-guide-help){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:36px;padding:0;flex-shrink:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);font:inherit;font-weight:700;cursor:pointer}:is(.manage-guide-help,.field-root .field-dashboard-header .manage-guide-help):hover{background:var(--surface-3);border-color:var(--accent)}.manage-guide-help:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.manage-guide-help>svg{display:block;width:20px;height:20px;flex:none}.manage-chip{padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;font-variant-numeric:tabular-nums}.manage-owner{font-weight:600;color:var(--text)}.manage-body>.page-tabs{gap:2px;margin-bottom:16px}.manage-body>.page-tabs>button{min-height:38px;padding:8px 14px;font-size:15px;border-bottom-width:2px;border-radius:6px 6px 0 0}@media(max-width:720px){.manage-title.has-nav{flex-basis:100%}.manage-title.has-nav .page-tabs>button{padding:10px 12px;font-size:16px}}.management-ui :is(.page-head,.module-page-head){gap:var(--management-gap);flex-wrap:wrap;align-items:center}.management-ui :is(.page-head h1,.page-title){margin-block:0;font-size:clamp(21px,1.4vw,26px);line-height:1.35;letter-spacing:-.02em}.management-ui :is(.toolbar,.page-actions,.module-page-actions){display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.management-ui .toolbar{padding:12px 14px;border:0;border-radius:var(--management-radius);background:var(--surface-2);box-shadow:none}.management-ui :is(.panel,.beacon-overview-panel,.zone-compare-chart,.pig-activity-card,.pig-activity-history,.vehicle-profile,.vehicle-summary,.vehicle-journey,.vehicle-list,.vehicle-stepdowns,.vehicle-info,.vehicle-registry){border:1px solid var(--line);border-radius:var(--management-radius);background:var(--surface);box-shadow:none}.management-ui :is(.panel-head,.beacon-overview-panel h2,.pig-activity-card h2,.pig-activity-history h2,.zone-compare-chart h3){font-size:var(--management-title);font-weight:700;letter-spacing:-.02em}.management-ui :is(.panel dt,.vehicle-workspace dt,.pig-activity-card dt){color:var(--muted);font-size:14px;font-weight:500}.management-ui :is(.panel dd,.vehicle-workspace dd,.pig-activity-card dd){font-variant-numeric:tabular-nums}.management-ui :is(.panel small,.panel .app-muted){line-height:1.6}.management-ui .panel-head{flex-wrap:wrap;align-items:center;gap:10px;padding:14px 18px;background:var(--surface);color:var(--text);border-bottom:1px solid var(--border);line-height:1.5}.management-ui .panel-body{padding:18px;min-width:0}.management-ui .panel-body.p-0{padding:0}.management-ui :is(.form-grid,.field-grid){gap:16px 20px}.management-ui :is(.input,.select select,.form-grid select,.form-grid textarea){border-color:var(--border);border-radius:7px;background:var(--surface);color:var(--text);font-size:inherit}.management-ui :is(.toolbar,.page-actions,.module-page-actions) .button{min-height:40px;border-radius:7px;font-size:.9375rem}.management-ui :is(input,select,textarea,button,a):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.management-ui .table{font-size:inherit;font-variant-numeric:tabular-nums}.management-ui .table thead th{padding:12px 14px;background:var(--surface-2);color:var(--text-soft);font-weight:600;border-bottom:1px solid var(--border)}.management-ui .table tbody :is(td,th){padding:12px 14px;border-bottom-color:var(--border);vertical-align:middle}.management-ui .table-scroll{min-width:0}.management-ui .manage-title p{font-size:16px;font-weight:400}.management-ui :is(.detail-card,.device-detail-records,.beacon-device-list,.beacon-log-entries,.server-history-table-scroll){border:1px solid var(--line);border-radius:var(--management-radius);background:var(--surface);box-shadow:none;min-width:0}.management-ui :is(.detail-card h2,.detail-card h3,.section-title,.zone-manager-barn h2,.device-detail-records h2){font-size:var(--management-title);font-weight:700;letter-spacing:-.02em;line-height:1.4}.management-ui :is(.detail-card dt,.detail-card .label){color:var(--muted);font-size:14px;font-weight:500}.management-ui :is(.detail-card dd){color:var(--text);font-variant-numeric:tabular-nums}.management-ui :is(.server-history-tools,.beacon-log-toolbar,.zone-manager-toolbar){gap:12px;padding:14px 16px;border-radius:10px;background:var(--surface-2)}.management-ui :is(.server-history-tools,.beacon-log-toolbar,.zone-manager-toolbar) :is(input,select){min-height:40px;font-size:16px;border:1px solid var(--line);border-radius:8px;color:var(--text);background:var(--surface)}.management-ui :is(.server-history-table,.zone-compare-table table){font-size:16px;font-variant-numeric:tabular-nums}.management-ui :is(.server-history-table,.zone-compare-table table) thead th{background:var(--surface-2);color:var(--muted);font-weight:600;padding:12px 14px}.management-ui :is(.server-history-table,.zone-compare-table table) tbody :is(td,th){padding:12px 14px}@media(hover:hover)and (pointer:fine){.management-ui .table tbody tr:not(.is-selected):hover{background:var(--surface-2)}}@media(max-width:700px){.management-ui :is(.panel-head,.panel-body){padding:12px}.management-ui :is(.toolbar,.page-actions,.module-page-actions){gap:8px}.management-ui .toolbar>:is(input,select){min-width:0;max-width:100%}.management-ui :is(.app-topbar-tabs,.manage-resource-tabs,.program-tabs)>:is(button,a){padding-inline:12px}}.management-ui .app-topbar-tabs{align-items:stretch}.management-ui .app-topbar-tab-group{display:flex;align-items:stretch;gap:4px;min-width:0}.management-ui .app-topbar-tab-group>a>i{font-size:14px;opacity:.65}.management-ui .app-topbar-tab-group>a.is-active>i{opacity:1}.management-ui .app-topbar-tab-split{align-self:center;width:1px;height:18px;margin:0 10px 0 6px;background:var(--border);flex:none}@media(max-width:860px){.management-ui .app-topbar-tabs{flex-wrap:nowrap;overflow-x:auto}.management-ui .app-topbar-tab-group>a{padding:10px 12px}.management-ui .app-topbar-tab-split{margin:0 6px 0 2px}}.vehicle-selectable-row{cursor:pointer}.vehicle-selectable-row:hover,.vehicle-selectable-row:focus-within{background:var(--management-selection)}.company-footer{padding:24px clamp(16px,3vw,48px);border-top:1px solid var(--line);background:var(--surface, #fff);color:var(--text-soft, #475569);font-size:13px;line-height:1.65;overflow-wrap:anywhere}.company-footer strong{color:var(--text);font-size:14px}.company-footer address{margin:8px 0;font-style:normal}.company-footer p{margin:3px 0}.company-footer span{display:inline-block;margin-left:20px}.company-footer a{color:inherit;text-decoration:underline;text-underline-offset:3px}.company-footer a:focus-visible{outline:2px solid var(--blue, #1677ff);outline-offset:4px}.operations-settings .input{max-width:560px}.operations-settings .secret-input{width:min(100%,560px)}.operations-settings .secret-input .input{max-width:none}.operations-settings .settings-section-divider{scroll-margin-top:96px}.account-create-form{max-width:640px}.manage-guide-nav>.manage-guide-help{order:2;margin-left:auto}.permission-zone-group{min-width:0;border:1px solid var(--border);padding:12px;display:grid;gap:8px}.permission-zone-group legend{padding:0 6px;font-weight:600}.integrated-analysis{box-sizing:border-box;width:100%;max-width:1440px;margin-inline:auto;padding:16px 28px 32px;color:var(--text);font-size:16px;line-height:1.5}.integrated-analysis h2{margin:0;font-size:22px;font-weight:700;letter-spacing:-.025em}.integrated-analysis h3{margin:0;font-size:18px;font-weight:650}.integrated-analysis p{margin:8px 0;color:var(--text-muted)}.integrated-analysis>header{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-bottom:16px}.integrated-analysis>header>div{flex:0 0 auto}.integrated-controls{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.integrated-controls label{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--text-muted)}.integrated-analysis select{box-sizing:border-box;width:auto;max-width:260px;min-height:40px;padding:7px 28px 7px 10px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--surface);font:inherit}.integrated-period{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto}.integrated-analysis button{font:inherit;cursor:pointer}.integrated-period button,.integrated-graph-tools button{min-height:38px;padding:7px 12px;border:0;border-radius:7px;color:var(--text);background:transparent;white-space:nowrap}.integrated-period button[aria-pressed=true],.integrated-resolution button[aria-pressed=true]{background:var(--text);color:var(--surface)}.integrated-analysis button:disabled{opacity:.4;cursor:default}.integrated-analysis :is(button,select,input,summary):focus-visible{outline:2px solid var(--blue);outline-offset:3px}.integrated-workspace,.integrated-chart-panel{min-width:0}.integrated-range-label{font-size:15px;font-variant-numeric:tabular-nums}.integrated-graph-tools{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 8px}.integrated-metric-selectors{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.integrated-metric-selectors label{display:flex;align-items:center;gap:8px;color:var(--text-muted)}.integrated-resolution-menu{position:relative;flex:0 0 auto}.integrated-resolution-menu>summary{padding:8px 12px;cursor:pointer;border-radius:8px;background:var(--surface);color:var(--text-muted)}.integrated-resolution{position:absolute;right:0;top:calc(100% + 6px);z-index:5;display:grid;grid-template-columns:repeat(3,auto);gap:6px;width:max-content;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:0 8px 24px color-mix(in srgb,var(--text) 10%,transparent)}.integrated-hover-readout{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;min-height:30px;font-size:15px;color:var(--text-muted);font-variant-numeric:tabular-nums}.integrated-hover-readout strong{color:var(--text);font-weight:600}.integrated-series{min-width:0;margin-top:12px;padding:10px 0;border-bottom:1px solid var(--border);background:transparent}.integrated-series-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:4px}.integrated-series-heading h3:before{content:"";display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--series, var(--blue));vertical-align:middle}.integrated-series-heading>span{color:var(--text-muted);font-size:14px}.integrated-series svg{display:block;width:100%;height:150px;cursor:crosshair}.integrated-series svg text{fill:var(--text-muted);font-size:14px;font-family:inherit}.integrated-axis{display:flex;justify-content:space-between;gap:12px;margin-left:56px;margin-right:20px;color:var(--text-muted);font-size:14px;font-variant-numeric:tabular-nums}.integrated-empty{min-height:150px;display:grid;place-content:center}.integrated-keyboard-time{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:15px;color:var(--text-muted)}.integrated-keyboard-time input{flex:1;accent-color:var(--blue)}.integrated-aggregation-note,.integrated-note{font-size:14px}.integrated-analysis summary{cursor:pointer}.integrated-comparison-detail{margin-top:16px;border-top:1px solid var(--border)}.integrated-comparison-detail{padding-top:6px}.integrated-detail{max-width:800px;margin-bottom:20px}.integrated-detail label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.integrated-detail input{flex:1;accent-color:var(--blue)}.integrated-detail dl{margin:16px 0}.integrated-detail dl>div{display:grid;grid-template-columns:1fr 1fr;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--border)}.integrated-detail dd{margin:0;font-size:18px;font-weight:600;text-align:right}.integrated-detail small{display:block;color:var(--text-muted);font-size:14px;font-weight:400}.integrated-judgement{margin-bottom:20px}.integrated-judgement h2{margin:0 0 8px;font-size:16px;font-weight:650}.integrated-events ol{list-style:none;margin:12px 0;padding:0;max-height:420px;overflow-y:auto}.integrated-events li+li{border-top:1px solid var(--border)}.integrated-events li button{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;width:100%;padding:14px 0;border:0;background:transparent;color:var(--text);text-align:left}.integrated-events time{color:var(--text-muted)}.integrated-tone.is-normal{color:var(--ok)}.integrated-tone:is(.is-warning,.is-caution){color:var(--warn)}.integrated-tone:is(.is-critical,.is-danger){color:var(--danger)}.integrated-tone:is(.is-unavailable,.is-unknown){color:var(--text-muted)}#analysis-panel{--analysis-body: clamp(16px, .78vw, 20px);--analysis-title: clamp(20px, 1vw, 26px);--analysis-axis: 12px;min-width:0;font-size:var(--analysis-body)}#analysis-panel>*,#analysis-panel :is(.panel-body,.chart-controls,.integrated-workspace){min-width:0}#analysis-panel :is(.integrated-analysis,.history-page,.cough-trend-page,.pig-activity-page){width:100%;max-width:none;font-size:var(--analysis-body)}#analysis-panel :is(.chart-controls,.chart-header,.chart-panel-heading,.integrated-controls,.trend-graph-controls,.zone-metric-controls){display:flex;flex-wrap:wrap;align-items:center;gap:clamp(10px,.7vw,18px)}#analysis-panel :is(.chart-controls,.integrated-controls) select{min-width:0;max-width:100%;height:auto;min-height:42px;font-size:var(--analysis-body)}#analysis-panel :is(.trend-graph-controls,.chart-controls,.integrated-period,.zone-metric-controls) button{font-size:var(--analysis-body);box-shadow:none}#analysis-panel :is(.chart-panel-heading strong,.zone-chart-heading h3,.integrated-analysis h2,.trend-analysis h3){font-size:var(--analysis-title)}#analysis-panel :is(.trend-chart,.sensor-chart,.zone-compare-plot svg){display:block;width:100%;min-width:0;height:auto;min-height:0;background:var(--surface);border:0}#analysis-panel .integrated-series svg{height:clamp(140px,9vw,230px)}#analysis-panel .pig-activity-chart{height:clamp(150px,10vw,240px)}#analysis-panel :is(.chart-axis-x,.chart-axis-y,.integrated-series svg text,.zone-compare-plot svg text){font-size:var(--analysis-axis);font-weight:400;fill:var(--text-muted)}#analysis-panel :is(.integrated-axis,.pig-activity-scale){font-size:var(--analysis-axis);color:var(--text-muted)}#analysis-panel :is(.trend-grid,.chart-grid,.zone-compare-plot svg>line,.pig-activity-chart line){stroke:var(--border);stroke-width:1;stroke-dasharray:3 5;stroke-opacity:.65}#analysis-panel :is(.metric-line,.trend-curve,.pig-activity-chart polyline,.zone-compare-plot path){stroke-width:1.5;stroke-opacity:.75;stroke-linecap:round;stroke-linejoin:round}#analysis-panel .chart-metric-grid{display:flex;flex-wrap:wrap;width:100%}#analysis-panel .chart-metric-card{flex:1 1 220px;min-width:0}#analysis-panel .pig-activity-content{display:flex;flex-wrap:wrap;align-items:flex-start}#analysis-panel .pig-activity-current{flex:3 1 600px;min-width:0}#analysis-panel .pig-activity-history{flex:1 1 280px;min-width:0}#analysis-panel .pig-activity-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}#analysis-panel .trend-analysis{padding:clamp(16px,1.2vw,30px)}#analysis-panel .trend-analysis-table{font-size:var(--analysis-body)}#analysis-panel .trend-analysis-table :is(th,td){padding:clamp(10px,.7vw,18px)}#analysis-panel .trend-analysis-table strong{font-size:clamp(20px,1.1vw,28px)}#analysis-panel :is(.trend-analysis-lead,.trend-analysis-table caption){font-size:clamp(18px,.9vw,23px)}#analysis-panel :is(.trend-slot-row,.trend-slot-legend,.trend-slot-bars span,.trend-analysis-basis){font-size:var(--analysis-body)}#analysis-panel :is(.trend-grid,.chart-grid,.sensor-chart-row line,.zone-compare-plot svg>line,.pig-activity-chart line){stroke:var(--border);stroke-width:1;stroke-dasharray:none;stroke-opacity:.75}#analysis-panel :is(.chart-axis-x,.chart-axis-y,.integrated-series svg text,.zone-compare-plot svg text){fill:var(--text-muted);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.01em}#analysis-panel .chart-empty-band{fill:transparent;stroke:none}#analysis-panel .threshold-band.is-caution{fill:color-mix(in srgb,var(--warn) 5%,transparent)}#analysis-panel .threshold-band.is-danger{fill:color-mix(in srgb,var(--danger) 6%,transparent)}#analysis-panel .threshold-line{stroke-width:1;stroke-dasharray:3 4;stroke-opacity:.7}#analysis-panel .threshold-label{font-size:11px;font-weight:600;fill-opacity:.85}#analysis-panel .sensor-chart-row polyline.metric-line{stroke-width:2}#analysis-panel .metric-peak{stroke-width:1.5;opacity:.3}#analysis-panel .risk-marker circle{stroke-width:1.5}#analysis-panel .sensor-chart-row svg{height:auto}#analysis-panel .trend-bar-dry,#analysis-panel .trend-bar-wet{rx:2}#analysis-panel .trend-bar.is-selected .trend-bar-dry,#analysis-panel .trend-bar.is-selected .trend-bar-wet{stroke:var(--text);stroke-width:1;stroke-opacity:.55}#analysis-panel .trend-bar.is-selected .trend-hit{fill:color-mix(in srgb,var(--accent) 7%,transparent)}#analysis-panel .trend-threshold-line{stroke-width:1.25;stroke-opacity:.55;stroke-dasharray:4 4;stroke-linejoin:round}#analysis-panel .trend-region.is-caution{fill:color-mix(in srgb,var(--warn) 7%,transparent)}#analysis-panel .trend-region.is-danger{fill:color-mix(in srgb,var(--danger) 8%,transparent)}#analysis-panel .chart-gap{fill:url(#ax-gap-hatch);stroke:none;opacity:1}#analysis-panel .ax-gap-hatch-line{stroke:var(--border-strong);stroke-width:1}#analysis-panel .zone-compare-plot path{stroke-width:1.75;stroke-opacity:.9;stroke-linejoin:round;stroke-linecap:round}#analysis-panel .zone-compare-plot circle{display:none}#analysis-panel .integrated-series path[stroke]{stroke-width:2}
