.agent-launch{white-space:nowrap;color:#e9f4f3;cursor:pointer;background:#173633;border:1px solid #42615e;border-radius:8px;padding:7px 12px}.modal-backdrop.agent-backdrop{z-index:90;justify-content:flex-end;align-items:stretch;padding:12px;display:flex}.agent-panel{background:#0a2026;border:1px solid #345059;border-radius:16px;outline:none;flex-direction:column;width:min(460px,100%);height:calc(100dvh - 24px);display:flex;overflow:hidden;box-shadow:0 16px 80px #0008}.agent-header{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;padding:17px 18px;display:flex}.agent-header h2{margin:0;font-size:17px;font-weight:600}.agent-header>div{align-items:center;gap:8px;display:flex}.agent-header button,.agent-composer-actions button{color:#c7ddda;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 9px}.agent-header button:hover,.agent-composer-actions button:hover{background:#ffffff0c}.agent-panel button:disabled{opacity:.45;cursor:default}.agent-messages{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;padding:20px 18px;overflow-y:auto}.agent-welcome{color:#8fadaa;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:140px;display:flex}.agent-welcome p{color:#e9f4f3;margin:0 0 8px;font-size:22px}.agent-welcome span{font-size:14px}.agent-message{overflow-wrap:anywhere;margin-bottom:22px;font-size:14px;line-height:1.65}.agent-message-user{white-space:pre-wrap;background:#203b3f;border-radius:14px 14px 3px;width:fit-content;max-width:90%;margin-left:auto;padding:10px 14px}.agent-message p{margin:0 0 10px}.agent-message p:last-child{margin-bottom:0}.agent-message ul,.agent-message ol{padding-left:22px}.agent-message pre{background:#041216;border-radius:6px;padding:10px;overflow-x:auto}.agent-message table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}.agent-message th,.agent-message td{border-bottom:1px solid #ffffff18;padding:5px 8px}.agent-message a{color:#83d1bf;text-underline-offset:3px}.agent-thinking{color:#93adaa;font-size:13px}.agent-composer{background:#102a30;border:1px solid #45615f;border-radius:12px;flex:none;margin:0 12px 12px;padding:10px 12px 7px}.agent-composer:focus-within{border-color:#7fae9f}.agent-composer textarea{resize:none;width:100%;font:inherit;color:#e9f4f3;background:0 0;border:0;outline:none;padding:3px 0;font-size:14px;line-height:1.5}.agent-composer textarea::placeholder{color:#8ca7a5}.agent-composer-actions{justify-content:space-between;align-items:center;display:flex}.agent-composer-actions .agent-send{color:#142b20;background:#b8d9a5;padding:7px 16px;font-weight:600}.agent-composer-actions .agent-send:hover{background:#c9e8b6}.agent-attachments,.agent-message-images{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.agent-attachments>div{position:relative}.agent-attachments img{object-fit:cover;border-radius:6px;width:58px;height:58px}.agent-attachments button{color:#fff;background:#132a2f;border:1px solid #54706e;border-radius:50%;padding:4px;display:flex;position:absolute;top:-5px;right:-5px}.agent-message-images img{border-radius:8px;max-width:150px;max-height:180px;display:block}.agent-error{color:#ffbcb2;margin:0 0 8px;font-size:13px}.agent-sources{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.agent-sources span{color:#96b5af;text-transform:capitalize;border:1px solid #ffffff18;border-radius:5px;padding:2px 7px;font-size:11px}@media (width<=600px){.modal-backdrop.agent-backdrop{padding:0}.agent-panel{width:100%;height:100dvh;padding-bottom:env(safe-area-inset-bottom);border:0;border-radius:0}.agent-composer textarea{font-size:16px}}.sortable-item{min-width:0;position:relative}.sort-handle{width:28px;min-height:30px;color:var(--compact-subtle,#93acab);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:5px;flex:none;justify-content:center;align-items:center;padding:2px;font-size:20px;display:inline-flex}.sort-handle:hover{color:#a6ece1;background:#67d5c719}.sort-handle[hidden]{display:none}.sort-handle:focus-visible{outline-offset:2px;outline:2px solid #69d8c7}.sort-handle:active{cursor:grabbing}.sortable-item[data-dragging]{z-index:30;cursor:grabbing;border-radius:8px;box-shadow:0 16px 36px #0005}.arrange-handle{z-index:2;position:absolute;top:5px;left:4px}.arrange-enabled.arrange-section>section>:is(header,.panel-heading){padding-left:36px}.overview-dashboard-layout .arrange-enabled.arrange-equipment>article,.overview-dashboard-layout .timed-mode-list .arrange-enabled.arrange-mode>.timed-mode-row,.overview-dashboard-layout .switch-group-list .arrange-enabled.arrange-switch>button:not(.sort-handle),.overview-dashboard-layout .sensor-reading-list .arrange-enabled.arrange-sensor>button:not(.sort-handle):not(.sensor-history-preview),.overview-dashboard-layout .arrange-enabled.arrange-switch-group>details>summary{padding-left:34px}.arrange-enabled.arrange-section{border-radius:8px;outline:1px solid #64c9b52a}.overview-arrange-help{color:var(--compact-subtle);margin:0 0 10px;font-size:.78rem}.arrange-column{align-content:start;gap:10px;min-width:0;display:grid}.arrange-column-center{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-arranging .arrange-column{align-self:stretch;min-height:max(300px,100dvh - 340px);padding-bottom:28px}.overview-arranging [data-sortable-container]:not(.arrange-column):empty{min-height:44px}.overview-arranging .arrange-column:empty{background:#64c9b508;border-radius:8px;outline:1px solid #64c9b52a}.overview-arranging .arrange-column:empty:before{content:attr(aria-label);color:var(--compact-subtle);padding:12px;font-size:.75rem}.arrange-equipment>.equipment-row,.arrange-mode>.timed-mode-row{width:100%}.arrange-column :is(.equipment-group,.overview-side-panel){container-type:inline-size}@container (width<=310px){.overview-dashboard-layout .arrange-equipment>.equipment-row{grid-template-columns:minmax(0,1fr)}.overview-dashboard-layout .arrange-equipment .manual-control{width:100%}}@media (width<=1200px){.arrange-column-right{grid-column:1/-1}.overview-arranging .arrange-column-right{min-height:150px}}@media (width<=840px){.arrange-column-right{grid-column:auto}.arrange-column{grid-template-columns:minmax(0,1fr)}.overview-arranging .arrange-column{min-height:150px}.overview-arranging .arrange-column:before{content:attr(aria-label);color:var(--compact-subtle);font-size:.75rem}}@media (prefers-reduced-motion:reduce){.sortable-item,.sortable-item *{transition-duration:0s!important;animation-duration:0s!important}}.overview-dashboard-layout .sort-handle>span{font-size:20px;line-height:1;overflow:visible}.sortable-preview{pointer-events:none;background:#082127;border-radius:8px;box-shadow:0 18px 42px #0006}.sortable-preview .sort-handle{cursor:grabbing}[data-dnd-overlay]{z-index:100;pointer-events:none}[data-dnd-overlay]:not([data-dnd-dragging]){display:none}.arrange-item[data-dragging]{opacity:.25}.small-editor-dialog .compact-form-grid+.dialog-actions{margin-top:12px}.equipment-row.equipment-row-disabled{border:1px dashed var(--compact-border-strong)}.equipment-name-button .equipment-disabled-label{color:#e9ad64;font-weight:700}.overview-dashboard-layout .manual-control.manual-control-dosing{grid-template-columns:repeat(2,minmax(38px,1fr));min-width:90px}.equipment-output-add-row{justify-content:flex-end;padding:0 9px 9px;display:flex}.dialog-intro{color:var(--compact-text-soft);margin:0;font-size:.76rem;line-height:1.45}.equipment-editor-dialog .destructive-close,.add-output-dialog .destructive-close,.small-editor-dialog .destructive-close{place-items:center;line-height:1;display:inline-grid}.equipment-validation-errors{color:#ffc0b7;background:#482b2b;border:1px solid #a05b54;border-radius:6px;margin:0 14px 14px;padding:10px 12px;font-size:.76rem}.equipment-validation-errors p{margin:0}.equipment-validation-errors p+p{margin-top:6px}.close-icon{flex:none;display:block}.demo-information-dialog{width:min(520px,100vw - 28px)}.output-runtime-status{margin:0;padding:8px 12px}.equipment-output-reason{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.output-connection-settings{border-top:1px solid var(--compact-border)}.output-connection-settings>summary{cursor:pointer;color:var(--compact-text-soft);padding:9px 12px;font-size:.76rem}.output-connection-settings>.text-button{margin:0 12px 10px}.new-switch-group-field{grid-column:2}@media (width<=500px){.new-switch-group-field{grid-column:auto}}.configuration-dialog .equipment-output-heading input[type=color]{box-sizing:border-box;width:30px;height:30px;min-height:30px;padding:0}.equipment-editor-dialog .schedule-target-channel{grid-template-columns:16px 9px minmax(0,1fr);gap:5px}.equipment-editor-dialog .schedule-target-channel small{grid-column:3}.equipment-editor-dialog .schedule-target-channel strong{overflow-wrap:anywhere}.equipment-editor-dialog .schedule-channel-map>div>button{grid-template-columns:9px minmax(0,1fr)}.equipment-editor-dialog .schedule-channel-map>div>button small{grid-column:auto}.equipment-editor-dialog .schedule-map-arrow{font-size:1.15rem}.equipment-editor-dialog .channel-check-label{align-items:center;gap:7px;display:flex}.equipment-editor-dialog .channel-check-label input,.equipment-editor-dialog .schedule-target-channel input{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;padding:0}.equipment-editor-dialog .channel-check-label i,.equipment-editor-dialog .schedule-channel-map i{flex:0 0 9px;width:9px;height:9px}.condition-menu-container{position:relative}.condition-options-menu{z-index:10;border:1px solid var(--compact-border-strong);background:var(--compact-surface-strong);border-radius:6px;gap:2px;width:max-content;min-width:160px;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 8px 24px #0006}.condition-options-menu button{text-align:left;padding:7px 9px}.condition-options-menu button:hover{background:#80cec81a}.overview-alert-strip{color:inherit;text-decoration:none}.overview-alert-strip:hover,.overview-alert-strip:focus-visible{border-color:var(--compact-accent)}.availability-heading{align-items:center;gap:7px;display:flex;position:relative}.help-tooltip{border:1px solid var(--compact-border-strong);cursor:help;border-radius:50%;flex:0 0 13px;place-items:center;width:13px;height:13px;font-size:9px;line-height:1;display:inline-grid;position:static}.help-tooltip-popup{z-index:200;box-sizing:border-box;border:1px solid var(--compact-border-strong);background:var(--compact-surface-strong);width:min(350px,100vw - 64px);color:var(--compact-text-soft);border-radius:6px;padding:10px 12px;font-size:.72rem;font-weight:400;line-height:1.5;position:fixed;box-shadow:0 8px 24px #0006}.input-toggle-help{align-items:center;gap:5px;display:flex;position:relative}.onewire-wiring-note{position:relative}.playground-explanation{color:var(--compact-muted);margin:0;font-size:.7rem}.playground-search{grid-column:1/-1}.playground-group{align-content:start;max-height:240px;overflow-y:auto}.field-label-with-help .help-tooltip{flex-shrink:0}.equipment-outputs-editor>.channel-connection-list{padding:0}.equipment-outputs-editor>.equipment-output-add-row{padding:10px 0 0}.equipment-output{overflow:visible}.equipment-output>.channel-constraints-editor{border-top:1px solid var(--compact-border)}.output-timing-body{gap:12px;padding:4px 10px 12px;display:grid}.output-timing-body .constraint-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.output-timing-body>small{color:var(--compact-text-soft);font-size:.72rem;line-height:1.5}.automation-rule-list>.empty-copy{margin:0;padding:18px 0}.alert-settings>.editor-section-heading{min-height:28px;padding:0}.alert-settings>.editor-section-heading h3{font-size:.85rem}.equipment-row{cursor:pointer}.equipment-editor-actions>small{margin-right:auto}.dosing-pump-controls{gap:10px;padding:10px;display:grid}.dosing-pump-controls>p{margin:0}.dosing-enabled-control{padding:2px 0 8px}.dosing-source-fields{grid-template-columns:minmax(0,1fr)}.calibration-open{margin-left:auto}.dosing-controls-row,.dosing-action-output{flex-wrap:wrap;align-items:end;gap:.65rem;display:flex}.dosing-controls-row label,.dosing-action-editor label,.calibration-step>label:not(.checkbox-field),.dosing-chart-fields>label{gap:.35rem;display:grid}.dosing-controls-row input[type=number],.dosing-action-output input[type=number],.dosing-calibration input[type=number]{width:7rem}.dosing-action-editor{gap:.7rem;display:grid}.dosing-calibration-dialog{flex-direction:column;width:min(640px,100vw - 28px);display:flex}.dosing-calibration-dialog>.dialog-header,.dosing-calibration-dialog>.dialog-actions{flex-shrink:0}.dosing-calibration{gap:14px;min-height:0;display:grid}.dosing-calibration>p{margin:0}.calibration-paused{color:var(--compact-text-soft);font-size:.8rem}.saved-calibration{border:1px solid var(--compact-border);border-radius:6px;gap:5px;padding:10px;font-size:.8rem;display:grid}.calibration-step{border-top:1px solid var(--compact-border);gap:12px;padding:16px 0;display:grid}.calibration-step h3{align-items:center;gap:10px;margin:0;font-size:.95rem;display:flex}.calibration-step h3>span{width:26px;height:26px;color:var(--compact-accent);background:#5bd2ca21;border-radius:50%;place-items:center;font-size:.8rem;display:grid}.calibration-step p{color:var(--compact-text-soft);margin:0;font-size:.8rem;line-height:1.5}.calibration-step .checkbox-field{font-size:.8rem;line-height:1.4}.calibration-step .calibration-result{color:var(--compact-accent)}.calibration-step .dosing-controls-row{grid-template-columns:112px minmax(0,1fr);display:grid}.calibration-run-action{align-items:center;gap:10px;display:flex}.calibration-run-action>button{flex:none}.calibration-run-action .calibration-result{overflow-wrap:anywhere;min-width:11ch;max-width:34ch;min-height:1.5em;font-size:.78rem}@media (width<=600px){.calibration-step .dosing-controls-row{grid-template-columns:minmax(0,1fr)}}.calibration-step>label input[type=number]{max-width:100%}.dosing-calibration-dialog .dialog-actions{flex-wrap:wrap}.dosing-chart-dialog{width:min(760px,100vw - 32px)}.dosing-chart-fields{border:0;gap:.8rem;min-width:0;margin:0;padding:0;display:grid}.dose-times{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.dose-times>div{align-items:center;display:flex}.dose-times input{width:8rem}.dosing-chart-preview{width:100%;height:auto;min-height:70px;color:inherit}.dosing-chart-preview text{fill:currentColor;font-size:14px}.dosing-chart-card{text-align:left;font:inherit;color:inherit;cursor:pointer}.dose-history{padding-left:1.1rem;font-size:.85rem}.dose-history li{margin-top:.4rem}.dosing-chart-preview [role=slider]{cursor:ew-resize;touch-action:none}.dosing-chart-preview [role=slider]:focus{outline:none}.dosing-chart-preview [role=slider]:focus circle{stroke:var(--text-primary);stroke-width:3px}.activity-history,.dosing-supply{margin-top:10px;font-size:.85rem}.activity-history summary,.dosing-supply summary{cursor:pointer}.activity-history .dose-history{max-height:260px;overflow:auto}.supply-form{gap:10px;margin-block:10px;display:grid}.supply-form label{justify-content:space-between;align-items:center;gap:10px;display:flex}.supply-form input{width:8rem}.timed-mode-editor-row>.activity-history{grid-column:1/-1}.connection-loss-editor{gap:14px;display:grid}.connection-loss-output{border-bottom:1px solid var(--compact-border);gap:8px;padding-block:10px;display:grid}.connection-loss-output label{gap:6px;display:grid}.connection-loss-output input{max-width:8rem}.device-form-grid>.activity-history{grid-column:1/-1}.dosing-supply progress{width:100%;accent-color:var(--accent);margin-block:6px;display:block}.dosing-supply>small{margin-top:6px;display:block}.equipment-output-heading input[type=color]{padding:0;overflow:hidden}.equipment-output-heading input[type=color]::-webkit-color-swatch-wrapper{padding:0}.equipment-output-heading input[type=color]::-webkit-color-swatch{border:0}.equipment-output-heading input[type=color]::-moz-color-swatch{border:0}.configuration-dialog.activity-history-dialog{width:min(950px,96vw)}.activity-history-chart{width:100%;height:280px;color:var(--text-muted);display:block}.activity-history-time-axis{justify-content:space-between;gap:16px;font-size:.75rem;display:flex}.activity-history-time-axis>time{min-width:0}.activity-history-time-axis>time:last-child:not(:first-child){text-align:right}.activity-history-dialog .dialog-heading h2{overflow-wrap:anywhere;min-width:0}.activity-history-dialog .dialog-heading button{flex-shrink:0}.activity-history-chart text{fill:currentColor;font-size:12px}.history-grid{stroke:#23444a;stroke-width:1px}.history-line{stroke:#79d9d2;stroke-width:2px}.history-point{fill:#79d9d2}.history-cursor{stroke:#b9d8d7;stroke-dasharray:4}.history-toolbar,.dialog-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.history-readout{min-height:3em}.supply-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.supply-form{max-width:600px}.supply-form>.checkbox-field{justify-content:start;align-items:center;gap:8px;display:flex}.supply-dialog .dialog-heading{justify-content:start;gap:8px;margin-bottom:12px}.supply-dialog .dialog-heading h2{margin:0}.supply-dialog .dialog-heading>button{margin-left:auto}.supply-dialog input[type=checkbox],.configuration-dialog .notification-placeholder input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;min-height:0;margin:0;padding:0}.configuration-dialog .notification-placeholder label{align-items:center;width:auto}.destination-picker.notification-placeholder{flex-wrap:wrap;gap:12px;display:flex}.destination-picker.notification-placeholder small{flex-basis:100%}.connection-loss-output input[type=range]{width:100%}@media (width<=520px){.supply-amounts{grid-template-columns:1fr}}.maintenance-page{max-width:1100px;margin-inline:auto}.maintenance-list{padding:0;list-style:none}.maintenance-list>li{border-bottom:1px solid #23444a;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.maintenance-list strong,.maintenance-list small{display:block}.maintenance-list p{white-space:pre-wrap;overflow-wrap:anywhere;margin:.4rem 0 0}.maintenance-due{flex-wrap:wrap;gap:.7rem;padding:.6rem 0;font-size:.9rem;display:flex}.maintenance-entry-dialog{max-width:640px}@media (width<=520px){.maintenance-list>li{flex-direction:column;align-items:start}}.configuration-dialog.compact-standalone-dialog{padding:16px}.compact-standalone-dialog h2{margin:0 0 14px;font-size:1.08rem}.compact-standalone-dialog .dialog-actions{margin-top:12px;padding:12px 0 0}.compact-standalone-dialog textarea{border:1px solid var(--compact-border);width:100%;min-height:64px;color:var(--compact-text);background:var(--compact-surface-strong);border-radius:5px;padding:7px}.compact-standalone-dialog label{font-size:.8rem}.compact-standalone-dialog .enabled-toggle{align-items:center;gap:6px;display:flex}.destination-picker.notification-placeholder label{gap:6px;display:flex}@media (width<=520px){.maintenance-entry-dialog .compact-form-grid{grid-template-columns:1fr}}.combined-schedule-mobile-view.schedule-drag-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.schedule-drag-controls label{align-items:center;gap:8px;font-size:.8rem;display:flex}@media (width<=900px){.topbar nav{flex-wrap:wrap}}.sensor-maintenance-marker{cursor:pointer;fill:#f1c46f;stroke:#f1c46f}.sensor-maintenance-marker line{stroke-dasharray:3 4;opacity:.65}.sensor-maintenance-marker:focus{stroke:#fff;outline:none}.maintenance-chart-entry{border-block:1px solid var(--compact-border);margin:10px 0;padding:10px 0}.maintenance-chart-entry time{color:var(--compact-muted);font-size:.75rem;display:block}.schedule-drag-controls{padding:12px 12px 0}.schedule-drag-controls .schedule-zoom-button{display:none}@media (width<=780px){.schedule-drag-controls .schedule-zoom-button{display:inline-flex}}.wiring-overview-dialog .dialog-actions{margin-top:4px}.switch-group-list details:last-child{border-bottom:0}.input-editor-body>.history-open{place-self:start}.firmware-update-options button:not(.text-button){justify-content:start}.configuration-dialog.schedule-shortcut-dialog{width:min(1400px,100vw - 32px)}.configuration-dialog.new-schedule-dialog{width:min(700px,100vw - 32px)}.equipment-output.drag-over{outline:2px solid var(--accent,#5bd2ca)}.equipment-output-heading .drag-handle{cursor:grab;touch-action:none}.input-editor-dialog .input-editor-name{padding:0 16px 16px}.overview-section-name.text-button{color:#e9f4f3;text-decoration:none}.overview-section-name.text-button:hover{text-decoration:underline}.sensor-history-controls{margin-bottom:12px}.schedule-shortcut-dialog>.control-page{box-sizing:border-box;width:100%;min-width:0;margin:0;padding:16px}.schedule-shortcut-dialog .control-area-heading,.schedule-shortcut-dialog .control-heading-actions{flex-wrap:wrap}.output-source-choice{gap:5px;min-width:0;font-size:.72rem;display:grid}.output-source-control{align-items:center;gap:8px;display:flex;position:relative}.schedule-source-select{border:1px solid var(--compact-border-strong);color:#e9f4f3;text-align:left;width:100%;min-width:0;min-height:32px;font:inherit;background:#0a252b;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.schedule-source-select>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-source-menu{z-index:200;box-sizing:border-box;border:1px solid var(--compact-border-strong);color:#e9f4f3;background:#0a252b;border-radius:6px;padding:4px;position:fixed;overflow-y:auto;box-shadow:0 8px 24px #0006}.schedule-source-option{gap:4px;display:flex}.schedule-source-option>button{color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:3px;padding:8px;font-size:.8rem}.schedule-source-option>button:first-child{flex:1;min-width:0}.schedule-source-option>button:hover,.schedule-source-option>button:focus-visible,.schedule-source-option>button[aria-pressed=true]{background:var(--compact-surface-hover)}.schedule-source-option>.schedule-source-edit{color:var(--accent,#5bd2ca)}.button-spinner{vertical-align:-.1em;border:2px solid;border-right-color:#0000;border-radius:50%;width:.85em;height:.85em;margin-right:6px;animation:.7s linear infinite button-spin;display:inline-block}@keyframes button-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.button-spinner{animation-duration:1.8s}}.input-editor-submission[aria-busy=true] .dialog-actions>.primary-button:before{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;width:.85em;height:.85em;margin-right:6px;animation:.7s linear infinite button-spin;display:inline-block}.physical-button-dialog{width:min(520px,100vw - 28px)}.physical-button-advanced{margin-top:12px}.physical-button-advanced>summary{cursor:pointer}.physical-button-advanced>div{margin-top:10px}.physical-button-check{align-items:center;gap:10px;margin-top:16px;font-size:.85rem;display:flex}.physical-button-check>button{flex-shrink:0}.timed-mode-button-settings{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;display:flex}.overview-dashboard-layout .physical-button-link{font-size:inherit;padding:0;display:inline}.aquarium-page{max-width:1500px;padding-top:24px}.aquarium-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.aquarium-heading h1{margin:3px 0 8px;font-size:2rem}.aquarium-heading p:last-child{color:#a3c1c1;margin:0}.aquarium-heading>a,.aquarium-heading>button{white-space:nowrap;flex-shrink:0}.aquarium-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:28px;display:grid}.aquarium-scene-column{min-width:0}.aquarium-tank{background:radial-gradient(at 50% 0,#2c747c80,#0000 75%),linear-gradient(#19434c 0%,#0b303c 16%,#06242d 100%);border:3px solid #629a9b;border-top:8px solid #31545a;border-radius:8px 8px 28px 28px;min-height:400px;padding:42px 22px 200px;position:relative;overflow:hidden;box-shadow:inset 8px 0 #9ddbd012,inset -8px 0 #9ddbd012,0 14px 30px #0003}.aquarium-waterline{background:#53b7c015;border-top:2px solid #86c8c875;height:9px;position:absolute;top:20px;left:0;right:0}.aquarium-equipment-grid{z-index:1;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:start;gap:18px;display:grid;position:relative}.aquarium-equipment{text-align:left;color:#e9f4f3;background:#061e28d9;border:1px solid #4c7b81;border-radius:12px;min-width:0;padding:16px}.aquarium-equipment>strong{overflow-wrap:anywhere;margin-bottom:16px;font-size:1rem;display:block}.aquarium-channel{margin-top:14px;display:block}.aquarium-channel-name{color:#ccdedb;margin-bottom:5px;font-size:.82rem;display:block}.aquarium-output{margin-top:5px;display:block}.aquarium-output-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.aquarium-output-heading small{overflow-wrap:anywhere;color:#98b7b7;min-width:0;font-size:.7rem}.aquarium-output-heading>span{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.85rem}.aquarium-output-meter{background:#0005;border:1px solid #699f9b35;border-radius:4px;height:9px;margin-top:7px;display:block;overflow:hidden}.aquarium-output-meter>span{background:var(--output-color);height:100%;box-shadow:0 0 12px var(--output-color);transition:width .25s;display:block}.aquarium-output-status{color:#d4bc91;margin-top:4px;display:block}.aquarium-floor{opacity:.8;width:100%;height:90px;position:absolute;bottom:0;left:0}.aquarium-caption{color:#9bb8b6;margin:14px 0 24px;font-size:.8rem;line-height:1.5}.aquarium-fish-school{pointer-events:none;height:175px;position:absolute;inset:auto 0 10px}.aquarium-fish-track{--fish-size:clamp(108px, 16vw, 154px);--cruise:32s;--phase:-7s;--fin-beat:1.1s;--rest-position:18%;width:calc(100% - var(--fish-size) - 32px);animation:aquarium-cruise var(--cruise) var(--phase) infinite;transform:translateX(var(--rest-position));position:absolute;top:0;left:16px}.aquarium-fish-track-2{--fish-size:clamp(132px, 20vw, 190px);--cruise:43s;--phase:-29s;--fin-beat:1.5s;--rest-position:70%;top:60px}.aquarium-fish-heading{width:var(--fish-size);animation:aquarium-turn var(--cruise) var(--phase) linear infinite}.aquarium-fish-track-2 .aquarium-fish-heading{transform:rotateY(180deg)}.aquarium-fish{aspect-ratio:180/104;transform-origin:65%;width:100%;animation:aquarium-glide 5.7s var(--phase) ease-in-out infinite;filter:drop-shadow(0 7px 4px #00151b50)}.aquarium-fish-imperator{animation-duration:7.3s}.aquarium-fish svg{width:100%;height:100%;display:block;overflow:visible}.reef-fish-tail{transform-origin:47px 55px;animation:aquarium-tail var(--fin-beat) ease-in-out infinite}.reef-fish-pectoral{transform-origin:118px 54px;animation:aquarium-fin calc(var(--fin-beat) * .7) ease-in-out infinite}.reef-fish-dorsal{transform-origin:100px 40px;animation:aquarium-dorsal calc(var(--fin-beat) * 1.8) ease-in-out infinite}.reef-fish-anal,.reef-fish-ventral{transform-origin:117px 68px;animation:aquarium-dorsal calc(var(--fin-beat) * 1.3) -.4s ease-in-out infinite reverse}.reef-fish-gill{transform-origin:129px 52px;animation:2.2s ease-in-out infinite aquarium-breathe}@keyframes aquarium-cruise{0%,to{animation-timing-function:ease-in-out;transform:translate(0)}46%,50%{animation-timing-function:ease-in-out;transform:translate(100%)}96%{transform:translate(0)}}@keyframes aquarium-turn{0%,44%{transform:rotateY(0)}49%,94%{transform:rotateY(180deg)}99%,to{transform:rotateY(360deg)}}@keyframes aquarium-glide{0%,to{transform:translateY(0)rotate(-2deg)}32%{transform:translateY(-9px)rotate(1deg)}68%{transform:translateY(5px)rotate(2deg)}}@keyframes aquarium-tail{0%,to{transform:scaleX(.78)skewY(-7deg)}50%{transform:scaleX(1)skewY(7deg)}}@keyframes aquarium-fin{0%,to{opacity:.85;transform:scaleX(1)rotate(-9deg)}50%{opacity:.55;transform:scaleX(.35)rotate(14deg)}}@keyframes aquarium-dorsal{0%,to{transform:skew(-3deg)scaleY(.96)}50%{transform:skew(3deg)scaleY(1.04)}}@keyframes aquarium-breathe{0%,to{opacity:.5;transform:scaleX(.85)}50%{opacity:.85;transform:scaleX(1.12)}}.aquarium-page>.error-banner{margin-bottom:20px}.aquarium-inputs h2{color:#d9e9e6;border-bottom:1px solid #4b747755;margin:0;padding-bottom:8px;font-size:1rem}.aquarium-sensor-value>input{accent-color:#73cfb9;width:100%;min-width:0}.aquarium-inputs>section+section{margin-top:26px}.aquarium-sensor{border-bottom:1px solid #4b74772a;margin-top:15px;padding-bottom:15px}.aquarium-sensor-heading{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.aquarium-sensor strong,.aquarium-input-row strong,.aquarium-device strong{overflow-wrap:anywhere;font-size:.87rem}.aquarium-sensor small,.aquarium-input-row small,.aquarium-device small{color:#9dbab6;font-size:.74rem}.aquarium-sensor-value{align-items:center;gap:12px;margin:12px 0;display:flex}.aquarium-sensor-value label{white-space:nowrap;font-size:.8rem}.aquarium-sensor-value input[type=number]{width:72px;padding:7px}.aquarium-inputs select,.aquarium-sensor-value input[type=number]{color:#e9f4f3;background:#0a262d;border:1px solid #4a706f;border-radius:5px;font-size:.8rem}.aquarium-inputs select{min-width:0;padding:7px}.aquarium-sensor-actions,.aquarium-switch-controls{gap:8px;display:flex}.aquarium-sensor-actions{justify-content:space-between}.aquarium-unsaved-label{color:#f0d28d;text-align:right;min-width:64px;font-size:.75rem}.aquarium-switch-controls{margin-top:9px}.aquarium-switch-controls>select{flex:1}.aquarium-input-row{margin-top:15px}.aquarium-input-row small,.aquarium-device small{overflow-wrap:anywhere;margin-top:4px;display:block}.aquarium-device{justify-content:space-between;align-items:center;gap:10px;margin-top:15px;display:flex}.aquarium-device-add{align-items:end;gap:8px;margin-top:12px;display:flex}.aquarium-device-add label{color:#9dbab6;flex:1;gap:4px;font-size:.74rem;display:grid}.aquarium-device-add input{color:#e9f4f3;background:#0a262d;border:1px solid #4a706f;border-radius:5px;min-width:0;padding:7px}.aquarium-device-remove{color:#e3b09b}.aquarium-power{color:#c2d6d3;background:#19333a;border:1px solid #6b8b8b;border-radius:20px;min-width:55px;padding:7px 12px}.aquarium-power.powered{color:#a7f3d1;background:#1a473e;border-color:#58a08e}.aquarium-page button:disabled,.aquarium-page select:disabled,.aquarium-page input:disabled{opacity:.5;cursor:wait}.aquarium-page button:focus-visible,.aquarium-page select:focus-visible,.aquarium-page input:focus-visible{outline-offset:3px;outline:2px solid #a0f0da}.aquarium-empty{color:#b7d1ce}@media (width<=1000px){.aquarium-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.aquarium-equipment-grid{grid-template-columns:1fr}}@media (width<=720px){.aquarium-heading{flex-direction:column;align-items:flex-start}.aquarium-layout{grid-template-columns:1fr}.aquarium-tank{min-height:300px;padding:40px 14px 200px}.aquarium-equipment-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.aquarium-inputs{margin-top:10px}}@media (prefers-reduced-motion:reduce){.aquarium-output-meter>span,.aquarium-fish-school *{transition:none;animation:none}}.aquarium-inputs-heading{border-bottom:1px solid #4b747755;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.aquarium-inputs-heading h2{border-bottom:0}.aquarium-inputs-heading button{font-size:.75rem}.aquarium-wiring-hint{color:#b7d1ce;font-size:.72rem;line-height:1.45}.aquarium-probe-address{overflow-wrap:anywhere;display:block}:root{color:#e9f4f3;font-synthesis:none;text-rendering:optimizelegibility;background:#06181d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% -10%,#15848f47,#0000 36rem),linear-gradient(#071a20 0%,#041216 100%);min-width:320px;min-height:100vh;margin:0}a{color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}select{color:#e9f4f3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b252b;border:1px solid #80cec83d;border-radius:5px;padding:5px 7px}.app-shell{min-height:100vh}.topbar{z-index:10;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#05181de0;border-bottom:1px solid #a9ddd71f;justify-content:space-between;align-items:center;min-height:72px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:12px;font-weight:700;text-decoration:none;display:flex}.brand small{color:#81a9a6;letter-spacing:.12em;text-transform:uppercase;font-size:.7rem;font-weight:600;display:block}.brand-mark{object-fit:cover;border:1px solid #3b9293;border-radius:13px;width:40px;height:40px;display:block}nav{gap:8px;display:flex}nav a{color:#9ab7b5;border-radius:10px;padding:9px 13px;font-size:.9rem;font-weight:650;text-decoration:none}nav a:hover,nav a.active{color:#effffc;background:#5cb0af21}.page{width:min(1160px,90vw);margin:0 auto;padding:76px 0 100px}.narrow-page{width:min(760px,90vw)}.hero{max-width:760px;margin-bottom:46px}.eyebrow{color:#67cec7;letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.75rem;font-weight:750}h1,h2,p{margin-top:0}h1{letter-spacing:-.06em;margin-bottom:18px;font-size:clamp(2.35rem,7vw,5.2rem);line-height:.98}h2{letter-spacing:-.04em;margin-bottom:0;font-size:clamp(1.7rem,3vw,2.5rem)}.hero>p:last-child,.narrow-page>p:not(.eyebrow){color:#a9c0be;font-size:clamp(1rem,2vw,1.2rem);line-height:1.7}.status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:30px;display:grid}.status-card{background:linear-gradient(145deg,#0f363dd9,#071f25e6);border:1px solid #80cec82e;border-radius:20px;min-height:175px;padding:24px;box-shadow:0 22px 60px #00000029}.status-card-muted{background:#081f258a;border-style:dashed}.status-card strong,.status-card small{display:block}.status-card strong{margin:18px 0 8px;font-size:1.35rem}.status-card small,.status-label{color:#8daaa8;line-height:1.45}.status-label{letter-spacing:.1em;text-transform:uppercase;font-size:.74rem;font-weight:750}.connection{text-transform:capitalize}.connection-live,.connection-connected{color:#83e5bd}.connection-reconnecting{color:#f0c777}.connection-stale,.connection-error{color:#ffad91}.error-banner{color:#ffd3d3;background:#7e25253b;border:1px solid #fa747466;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.error-banner button{color:#fff1f1;cursor:pointer;font:inherit;background:#7e252573;border:1px solid #ffd3d380;border-radius:9px;flex:none;padding:9px 12px;font-weight:700}.state-summary{color:#7fe0d8;font-size:.95rem}.operations-page{gap:28px;display:grid}.page-heading{justify-content:space-between;align-items:flex-start;gap:32px;display:flex}.page-heading h1{margin-bottom:12px}.page-heading p:last-child,.export-panel p,.muted-copy{color:#9db7b4;line-height:1.6}.primary-button,.secondary-button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;min-height:42px;padding:10px 14px;font-weight:750;text-decoration:none;display:inline-flex}.primary-button{color:#041719;background:#7fe0d8;border:1px solid #54c8c2}.secondary-button{color:#d8ece9;background:#0f363dbf;border:1px solid #80cec859}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.button-row,.pagination{gap:10px;display:flex}.filter-panel,.export-panel,.loading-panel,.empty-panel,.information-banner{background:#081f25ad;border:1px solid #80cec82b;border-radius:16px;padding:22px}.filter-panel fieldset{border:0;min-width:0;margin:0 0 18px;padding:0}.filter-panel legend{margin-bottom:16px;font-size:1.15rem;font-weight:750}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.filter-grid label,.export-controls label,.acknowledgement-form label{color:#a9c0be;gap:7px;font-size:.83rem;font-weight:700;display:grid}.filter-grid input,.filter-grid select,.export-controls input,.export-controls select,.acknowledgement-form input{color:#e9f4f3;background:#0a252b;border:1px solid #80cec840;border-radius:9px;min-width:0;min-height:42px;padding:9px 11px}.advanced-filters{margin-top:18px}.advanced-filters summary,.log-details summary{color:#79dcd4;cursor:pointer;width:fit-content;font-weight:700}.advanced-filters[open] summary{margin-bottom:14px}.alert-filter{gap:14px;display:flex}.overview-page{width:min(1580px,100% - 48px);padding-top:36px}.control-overview-heading{margin-bottom:0}.heading-actions{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.heading-actions a{text-decoration:none}.overview-alert-strip{color:#ffd0cb;background:#7e25252e;border:1px solid #ed7f7857;border-radius:7px;justify-content:space-between;align-items:center;gap:14px;min-height:38px;padding:9px 12px;font-size:.76rem;display:flex}.overview-alert-strip.ok{color:#a6e7ca;background:#227a5924;border-color:#4bc09347}.overview-alert-strip.warning{color:#ffd39b;background:#8a591c26;border-color:#be873d80}.overview-alert-strip.error{color:#ffd0cb;background:#7e25252e;border-color:#ed7f7857}.overview-alert-strip.sync-pending.ok{color:#c6dcff;background:#245a9c38;border-color:#5797e8a6}.overview-alert-strip.sync-pending.warning,.overview-alert-strip.sync-pending.error{background:linear-gradient(#245a9c24 0% 48%,#8a591c24 52% 100%)}.overview-alert-strip.sync-pending.error{background:linear-gradient(#245a9c24 0% 48%,#7e252d24 52% 100%)}.overview-alert-strip.sync-failed{color:#ffd0cb;background:#7e252538;border-color:#ed7f7880}.overview-alert-description{display:block}.overview-alert-strip strong{margin-right:6px}.overview-alert-strip a{flex:none;text-decoration:none}.overview-dashboard-layout{grid-template-columns:282px minmax(560px,1fr) 282px;align-items:start;gap:10px;display:grid}.overview-readings-column,.overview-output-column,.overview-switch-column,.equipment-group-grid{gap:10px;min-width:0;display:grid}.overview-output-heading{justify-content:space-between;align-items:center;gap:10px;min-height:30px;padding:0 2px;display:flex}.overview-output-heading>div{align-items:baseline;gap:8px;display:flex}.overview-output-heading h2{margin:0;font-size:.85rem}.overview-output-heading span{color:var(--compact-subtle);font-size:.68rem}.equipment-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-dashboard-layout .equipment-group,.overview-dashboard-layout .overview-side-panel{background:#05191ebf}.overview-dashboard-layout .equipment-group>header,.overview-dashboard-layout .panel-heading{min-height:38px;padding:9px 11px}.sensor-panel .panel-heading{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.sensor-panel .panel-heading small{color:var(--compact-subtle)}.overview-dashboard-layout .equipment-row{grid-template-columns:minmax(92px,1fr) auto;gap:8px;min-height:43px;padding:5px 7px 5px 10px}.overview-dashboard-layout .equipment-name-button{align-content:center;gap:1px;overflow:hidden}.overview-dashboard-layout .equipment-name-button strong{font-size:.73rem}.overview-dashboard-layout .equipment-name-button small{margin-top:1px;font-size:.61rem}.overview-dashboard-layout .equipment-name-button small.manual{color:#e9ca8a}.overview-dashboard-layout .equipment-name-button small.condition-active{color:#ff9e94}.equipment-channel-preview{max-width:100%;color:var(--compact-subtle);gap:6px;margin-top:2px;font-size:.56rem;display:flex;overflow:hidden}.equipment-channel-preview>span{flex:none;align-items:center;gap:3px;display:inline-flex}.equipment-channel-preview .remaining-channels{color:var(--compact-muted);font-weight:750}.dosing-channel-summary{font:inherit}.equipment-channel-preview i{border-radius:50%;width:5px;height:5px}.overview-dashboard-layout .output-activation-state{margin-top:3px}.overview-dashboard-layout .manual-control{border:1px solid #80cec83b;border-radius:6px;grid-template-columns:repeat(3,minmax(38px,1fr));gap:0;min-width:136px;display:grid;overflow:hidden}.overview-dashboard-layout .manual-control>button{color:#8da9a7;background:#0a252bcc;border:0;border-right:1px solid #80cec83b;border-radius:0;min-height:27px;padding:4px 6px;font-size:.58rem}.overview-dashboard-layout .manual-control>button:last-child{border-right:0}.overview-dashboard-layout .manual-control>button.active{color:#042023;background:var(--compact-accent-strong)}.overview-dashboard-layout .manual-control>button.selected-forced{color:#24170b;background:#efc978}.overview-dashboard-layout .timed-mode-list{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.overview-dashboard-layout .timed-mode-list .timed-mode-row{background:0 0;border:0;border-bottom:1px solid #80cec817;border-radius:0;min-height:36px;padding:5px 6px 5px 10px}.overview-dashboard-layout .timed-mode-list>.arrange-mode:last-child>.timed-mode-row{border-bottom:0}.overview-dashboard-layout .timed-mode-list .timed-mode-row>button{color:#a6e7ca;text-align:center;background:#227a592b;border:0;border-radius:5px;min-width:72px;padding:5px 7px}.overview-dashboard-layout .timed-mode-list .timed-mode-row.active>button{color:#ffcbc6;background:#9f332b38}.overview-dashboard-layout .timed-mode-panel>.empty-copy,.overview-dashboard-layout .timed-mode-list .empty-copy,.overview-dashboard-layout .switch-group-list>.empty-copy{margin:0;padding:11px 10px}.overview-dashboard-layout .sensor-reading-list>li>button:where(:not(.sort-handle,.sensor-history-preview)){grid-template-columns:minmax(0,1fr) auto;min-height:34px}.overview-dashboard-layout .sensor-reading-list .input-status{grid-column:1/-1;display:none}.overview-dashboard-layout .sensor-reading-list .input-status-stale,.overview-dashboard-layout .sensor-reading-list .input-status-disconnected,.overview-dashboard-layout .sensor-reading-list .input-status-invalid{display:block}.overview-dashboard-layout .switch-panel-heading{border-top:0}.overview-dashboard-layout .switch-group-list summary{min-height:34px;color:var(--compact-text-soft);font-size:.7rem;font-weight:740}.overview-dashboard-layout .switch-group-list summary:after{content:"+";color:var(--compact-subtle)}.overview-dashboard-layout .switch-group-list details[open] summary:after{content:"−"}.overview-dashboard-layout .switch-group-list details.has-alarm summary,.overview-dashboard-layout .switch-group-list details.has-alarm summary small{color:#ff9e94}.overview-dashboard-layout .switch-group-list li>button:where(:not(.sort-handle)){background:#0414184d;padding-left:16px}.overview-dashboard-layout .switch-group-list .input-status{color:#86dcb4;text-align:center;text-transform:uppercase;background:#2d916629;border-radius:999px;min-width:34px;padding:3px 6px;font-size:.56rem;font-weight:790}.overview-dashboard-layout .switch-group-list .input-status-alarm{color:#ffc6c0;background:#9f332b40}@media (width<=1200px){.overview-dashboard-layout{grid-template-columns:282px minmax(500px,1fr)}.overview-switch-column{grid-column:1/-1}.overview-switch-column .switch-group-list{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}}@media (width<=840px){.overview-page{width:min(100% - 28px,1580px)}.overview-dashboard-layout{grid-template-columns:minmax(0,1fr)}.overview-output-column{order:1}.overview-readings-column{order:2;grid-template-columns:repeat(2,minmax(0,1fr))}.overview-switch-column{order:3;grid-column:1}.overview-switch-column .switch-group-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.overview-page{width:min(100% - 20px,1580px);padding-top:24px}.control-overview-heading,.overview-alert-strip{flex-direction:column;align-items:stretch}.heading-actions>*{text-align:center;flex:1}.overview-readings-column,.equipment-group-grid,.overview-switch-column .switch-group-list{grid-template-columns:minmax(0,1fr)}.overview-dashboard-layout .equipment-row{grid-template-columns:minmax(0,1fr);padding:8px 10px}.overview-dashboard-layout .manual-control{width:100%}}.control-alert-section{gap:12px;display:grid}.control-alert-section h2{align-items:center;gap:9px;font-size:1.35rem;display:flex}.control-alert-section h2 span{color:#a9c0be;background:#80cec821;border-radius:999px;place-items:center;min-width:25px;height:25px;font-size:.74rem;display:inline-grid}.control-alert-list{background:#081f25b3;border:1px solid #80cec829;border-radius:13px;overflow:hidden}.control-alert-row{border-left:3px solid #4f9894;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:14px 16px;display:grid}.control-alert-row+.control-alert-row{border-top:1px solid #80cec81c}.control-alert-row.alert-warning{border-left-color:#e7bd67}.control-alert-row.alert-error,.control-alert-row.alert-critical{border-left-color:#ed7f78}.control-alert-primary h3,.control-alert-primary p{margin:0}.control-alert-primary h3{margin-top:2px;font-size:1rem}.control-alert-primary p{color:#9fb8b5;margin-top:4px;font-size:.83rem}.control-alert-state{justify-items:end;gap:5px;display:grid}.control-alert-state small{color:#8daaa8;font-size:.74rem}.control-alert-activity{gap:12px;display:grid}.control-alert-activity>h2{font-size:1.35rem}.control-alert-activity-list{background:#081f25b3;border:1px solid #80cec829;border-radius:13px;overflow:hidden}.control-alert-activity-row{border-left:3px solid #4f9894;grid-template-columns:auto minmax(180px,1fr) minmax(150px,auto) minmax(180px,auto);align-items:center;gap:12px;padding:11px 13px;display:grid}.control-alert-activity-row+.control-alert-activity-row{border-top:1px solid #80cec81c}.control-alert-activity-row.alert-warning{border-left-color:#e7bd67}.control-alert-activity-row.alert-error,.control-alert-activity-row.alert-critical{border-left-color:#ed7f78}.control-alert-activity-message h3,.control-alert-activity-message p{margin:0}.control-alert-activity-message h3{font-size:.88rem}.control-alert-activity-message p,.control-alert-activity-transition time{color:#8daaa8;font-size:.73rem}.control-alert-activity-message p{margin-top:3px}.control-alert-activity-transition,.control-alert-delivery-outcomes,.delivery-outcome{gap:3px;display:grid}.control-alert-activity-transition strong{font-size:.76rem}.delivery-outcome{color:#9fb8b5;background:#0d2e3580;border:1px solid #80cec829;border-radius:6px;padding:5px 7px;font-size:.68rem}.delivery-outcome-delivered{color:#a7efce}.delivery-outcome-failed,.delivery-outcome-outcome_unknown{color:#ffaca4;border-color:#f18a8052}.delivery-outcome small{color:inherit;font-size:.63rem}.compact-pagination .secondary-button{padding:7px 10px;font-size:.76rem}.alert-history-heading{margin:6px 0 -10px;font-size:1.35rem}.alert-filter label{color:#a9c0be;gap:7px;min-width:min(240px,100%);font-size:.83rem;font-weight:700;display:grid}.alert-filter select{color:#e9f4f3;background:#0a252b;border:1px solid #80cec840;border-radius:9px;min-height:42px;padding:9px 11px}.field-error{color:#ffb6ae}.summary-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.summary-strip>div{background:#0d2e358f;border:1px solid #80cec829;border-radius:13px;padding:16px 18px}.summary-strip span,.summary-strip strong{display:block}.summary-strip span{color:#8daaa8;letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:.75rem;font-weight:750}.log-list-header,.log-entry article{grid-template-columns:minmax(150px,1.1fr) minmax(160px,1fr) minmax(170px,1fr) minmax(130px,.85fr) minmax(120px,.7fr);align-items:start;gap:16px;display:grid}.log-list-header{color:#829e9c;letter-spacing:.08em;text-transform:uppercase;padding:0 18px 10px;font-size:.72rem;font-weight:750}.log-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.log-entry{color:#bed1cf;background:#081f25bf;border:1px solid #80cec824;border-left:3px solid #527b7b;border-radius:12px;padding:17px 18px}.log-entry.severity-warning{border-left-color:#e7bd67}.log-entry.severity-error,.log-entry.severity-critical{border-left-color:#ed7f78}.log-entry-primary span{display:block}.log-kind{color:#edf9f7;font-weight:750}.log-severity,.alert-severity{color:#8daaa8;letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:.75rem;font-weight:800}.mobile-field-label{display:none}.log-details dl,.alert-facts{gap:8px;display:grid}.log-details dl{grid-column:1/-1;margin-top:14px}.log-details dl div,.alert-facts div{grid-template-columns:minmax(85px,auto) 1fr;gap:8px;display:grid}.log-details dt,.alert-facts dt{color:#809e9b}.log-details dd,.alert-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.log-details pre{color:#bce1dc;white-space:pre-wrap;word-break:break-word;background:#04191e;border-radius:9px;max-height:320px;padding:12px;font-size:.76rem;overflow:auto}.pagination{justify-content:flex-end}.export-panel{grid-template-columns:1fr 1.2fr;align-items:end;gap:30px;display:grid}.export-panel h2{font-size:1.65rem}.export-controls{grid-template-columns:.7fr 1fr auto;align-items:end;gap:12px;display:grid}.export-link{white-space:nowrap}.alert-section{gap:14px;display:grid}.alert-section h2{align-items:center;gap:10px;font-size:1.7rem;display:flex}.alert-section h2 span{color:#a9c0be;background:#80cec821;border-radius:999px;place-items:center;min-width:28px;height:28px;font-size:.78rem;display:inline-grid}.alert-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.alert-card{background:#081f25cc;border:1px solid #80cec82e;border-top:3px solid #4f9894;border-radius:16px;gap:18px;padding:22px;display:grid}.alert-card.alert-warning{border-top-color:#e7bd67}.alert-card.alert-error,.alert-card.alert-critical{border-top-color:#ed7f78}.alert-card.alert-acknowledged{border-top-color:#4f9894}.alert-card header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.alert-card h3,.alert-card h4{margin:0}.alert-card h3{margin-top:5px;font-size:1.3rem}.alert-card h4{color:#a9c0be;letter-spacing:.06em;text-transform:uppercase;margin-bottom:10px;font-size:.82rem}.state-pill{color:#bce6df;text-transform:capitalize;background:#44968f2e;border-radius:999px;padding:5px 9px;font-size:.75rem;font-weight:750}.alert-facts{margin:0}.alert-note,.alert-affected-sensors,.information-banner{color:#c5ded9;line-height:1.55}.alert-affected-sensors{margin:8px 0 0;font-size:.82rem}.alert-card .information-banner{margin:10px 0 0;padding:10px 12px;font-size:.82rem}.delivery-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.delivery-list li{color:#9db7b4;background:#0d2e359e;border-radius:9px;gap:3px;padding:10px 12px;font-size:.82rem;display:grid}.delivery-list li strong{color:#d5e9e6}.delivery-list .delivery-failed{color:#ffc3bd;background:#7e252533;border:1px solid #ed7f784d}.acknowledgement-form{border-top:1px solid #80cec821;gap:10px;padding-top:16px;display:grid}.acknowledgement-form .primary-button{justify-self:start}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.section-block{border-top:1px solid #a9ddd71f;grid-template-columns:.75fr 1.25fr;gap:50px;margin-top:74px;padding-top:44px;display:grid}.link-grid{gap:10px;display:grid}.link-grid a{color:#cfe5e2;background:#0d2e3580;border:1px solid #80cec824;border-radius:14px;justify-content:space-between;align-items:center;padding:17px 19px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.link-grid a:hover{border-color:#80e6db73;transform:translate(3px)}.text-link{color:#7fe0d8;text-underline-offset:4px;margin-top:18px;font-weight:700;display:inline-block}.control-page{gap:22px;width:min(1320px,92vw);display:grid}.control-page-heading,.section-heading,.channel-card-heading,.device-card-heading,.channel-title-line{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.control-page-heading{margin-bottom:16px}.control-page-heading>div:first-child{max-width:780px}.control-page-heading h1{margin-bottom:14px}.control-page-heading p:last-child{color:#a9c0be;line-height:1.65}.control-panel,.channel-card,.schedule-editor{background:#081f25bd;border:1px solid #80cec82b;border-radius:18px}.control-panel{gap:22px;padding:26px;display:grid}.control-panel h2,.control-panel h3,.channel-card h3,.schedule-editor h3{margin:0}.section-heading{align-items:center}.compact-heading{gap:12px}.section-count,.draft-indicator{color:#9ebbb8;background:#80cec81a;border-radius:999px;flex:none;padding:7px 10px;font-size:.76rem;font-weight:750}.draft-indicator.dirty{color:#ffe09b;background:#cf94312e}.stale-banner,.conflict-banner{color:#efd8a7;background:#7e521233;border:1px solid #e2b25457;border-radius:13px;align-items:center;gap:16px;padding:15px 18px;display:flex}.stale-banner span{color:#c8b995;flex:1}.text-button{color:#79dcd4;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:4px 2px;font-weight:750;text-decoration:underline}.text-button:disabled{cursor:not-allowed;opacity:.5}.danger-text{color:#ffaca4}.danger-button{color:#fff3f1;cursor:pointer;background:#962e27b8;border:1px solid #f18a80;border-radius:9px;min-height:40px;padding:9px 13px;font-weight:750}.inline-editor,.profile-fields,.notification-settings{border-top:1px solid #80cec82e;margin-top:24px;padding-top:16px}.notification-destination{padding:10px 0}.notification-destination summary{cursor:pointer;overflow-wrap:anywhere}.notification-destination summary small{color:#97b5b6}.notification-destination-fields{border:0;min-width:0;margin:12px 0 0;padding:0}.notification-destination input:not([type=checkbox]),.notification-dialog input:not([type=checkbox]){min-width:0;max-width:100%}.notification-dialog{width:min(560px,100%)}.configuration-dialog form{gap:14px;display:grid}.inline-editor{background:#0d2e357a;border:1px solid #80cec824;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;padding:18px}.inline-editor label,.profile-fields label,.mapping-selector label,.new-profile-form label,.rename-form label,.configuration-dialog label{color:#a9c0be;gap:7px;font-size:.8rem;font-weight:700;display:grid}.notification-destination label{color:#a9c0be;gap:5px;font-size:.8rem;display:grid}.notification-destination label.enabled-toggle{align-items:center;margin-top:10px;display:flex}.inline-editor input,.inline-editor select,.profile-fields input,.mapping-selector input,.mapping-selector select,.rename-form input,.configuration-dialog input,.mapping-row input,.mapping-row select,.schedule-point-row input,.throttle-control input[type=number]{color:#e9f4f3;background:#0a252b;border:1px solid #80cec840;border-radius:8px;min-width:0;min-height:40px;padding:8px 10px}.create-channel-panel{justify-items:start;gap:14px;display:grid}.create-channel-form{grid-template-columns:minmax(150px,1fr) minmax(180px,1.4fr) auto;width:100%}.channel-list{gap:18px;display:grid}.channel-card{background:#05191e9e;gap:20px;padding:22px;display:grid}.channel-card-heading{align-items:end}.channel-card-heading code,.device-card-heading code{color:#7f9f9c;font-size:.76rem}.channel-title-line{justify-content:flex-start;align-items:center;gap:10px;margin-bottom:5px}.rename-form{align-items:end;gap:10px;display:flex}.schedule-editor{background:#09252b9e;gap:18px;padding:20px;display:grid}.schedule-graph{background:#031216cc;border-radius:12px;margin:0;padding:13px}.schedule-graph svg{width:100%;min-height:180px;display:block;overflow:visible}.schedule-graph line{stroke:#acdad58c;stroke-width:1px}.schedule-graph .grid-line{stroke:#acdad51a}.schedule-graph text{fill:#789996;font-size:10px}.schedule-graph .schedule-line{fill:none;stroke:#72ded5;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.schedule-graph figcaption{color:#7e9d9a;margin-top:5px;font-size:.76rem}.schedule-point-table{gap:7px;display:grid}.schedule-point-row{background:#0d2e3585;border-radius:9px;grid-template-columns:minmax(130px,1fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(150px,auto);align-items:center;gap:10px;padding:10px 12px;display:grid}.schedule-point-header{color:#789895;letter-spacing:.08em;text-transform:uppercase;background:0 0;font-size:.7rem;font-weight:750}.schedule-point-row code{text-overflow:ellipsis;overflow:hidden}.percentage-input{align-items:center;gap:7px;display:flex}.percentage-input input{width:100%}.add-point-form{grid-template-columns:1fr .75fr .75fr auto}.validation-list{color:#ffb6ae;background:#7e252529;border:1px solid #ed7f7847;border-radius:10px;margin:0;padding:13px 18px 13px 36px}.hardware-warning-list{color:#f4c77e;background:#e8a44114;border-color:#e8a4416b}.editor-actions{justify-content:flex-start}.destructive-zone{border-top:1px solid #ed7f7824;padding-top:15px}.delete-confirmation{color:#d8b5b1;align-items:center;gap:14px;display:flex}.throttle-control{grid-template-columns:minmax(180px,.55fr) minmax(220px,1fr) 90px;align-items:center;gap:18px;display:grid}.throttle-control input[type=range]{accent-color:#70d7d0}.mapping-selector{grid-template-columns:minmax(220px,1fr) 1.5fr;align-items:end;gap:18px;display:grid}.new-profile-form{grid-template-columns:1fr auto;align-items:end;gap:10px;display:grid}.profile-editor{background:#05191e85;border:1px solid #80cec824;border-radius:13px;gap:18px;padding:20px;display:grid}.form-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.mapping-list{gap:8px;display:grid}.mapping-row{background:#0d2e358f;border-radius:9px;grid-template-columns:minmax(130px,1fr) 75px 75px minmax(100px,.75fr) minmax(150px,1.3fr) auto auto;align-items:center;gap:8px;padding:10px 12px;display:grid}.mapping-add-form{grid-template-columns:1fr 80px .8fr 1.2fr auto}.checkbox-label{color:#a9c0be;align-items:center;gap:6px;font-size:.8rem;display:flex}.checkbox-label input{accent-color:#70d7d0;width:16px;min-height:auto}.device-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.device-card{background:#05191e99;border:1px solid #80cec824;border-radius:14px;gap:15px;padding:20px;display:grid}.device-status-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.device-exclude-button{color:#ffaca4;cursor:pointer;width:24px;height:24px;font:inherit;background:0 0;border:1px solid #ffaca48c;border-radius:999px;place-items:center;padding:0;line-height:1;display:inline-grid}.device-exclude-button:disabled{cursor:not-allowed;opacity:.5}.status-pill{color:#d5e9e6;letter-spacing:.06em;text-transform:uppercase;background:#80cec824;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:800}.status-online{color:#98ecc8;background:#2d916633}.status-stale,.status-unknown{color:#f0d28d;background:#9d702338}.status-offline,.status-error{color:#ffb4aa;background:#9f332b3d}.status-excluded{color:#d4c4c2;background:#6c5b5952}.comparison-list,.operation-detail-summary{gap:7px;margin:0;display:grid}.comparison-list>div,.operation-detail-summary>div{border-bottom:1px solid #80cec817;grid-template-columns:.65fr 1.35fr;gap:10px;padding:8px 0;display:grid}.comparison-list dt,.operation-detail-summary dt{color:#839f9d;font-size:.76rem;font-weight:750}.comparison-list dd,.operation-detail-summary dd{color:#c7dcd9;gap:3px;margin:0;font-size:.82rem;display:grid}.reported-match{color:#83e5bd}.reported-observation{color:#c7dcd9}.reported-mismatch,.device-error{color:#ffbd9f}.device-last-seen,.device-error{margin:0;font-size:.8rem}.device-last-seen{color:#829f9c}.modal-backdrop{z-index:30;background:#00090cc7;grid-template-columns:minmax(0,1fr);place-items:start center;padding:20px;display:grid;position:fixed;inset:0}.configuration-dialog{color:#e9f4f3;background:#092329;border:1px solid #80cec847;border-radius:18px;width:min(560px,100%);max-height:calc(100vh - 40px);padding:24px;overflow:auto;box-shadow:0 30px 90px #00000080}.configuration-dialog form{margin:20px 0}.operation-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.operation-list li{background:#0d2e358f;border-radius:10px;grid-template-columns:auto minmax(170px,1fr) minmax(150px,.6fr) auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.operation-list li>span:nth-child(2){gap:3px;display:grid}.operation-list small,.operation-list time{color:#839f9d;font-size:.78rem}.operation-symbol{color:#b8d1ce;background:#80cec824;border-radius:50%;place-items:center;width:28px;height:28px;font-weight:900;display:grid}.operation-succeeded{color:#83e5bd}.operation-failed,.operation-timed_out,.operation-outcome_unknown,.operation-cancelled{color:#ffaca4}.operation-details{background:#031216b8;border:1px solid #80cec829;border-radius:12px;gap:14px;padding:18px;display:grid}.operation-details details summary{color:#79dcd4;cursor:pointer;font-weight:700}.operation-details pre{color:#bcd2cf;white-space:pre-wrap;background:#031519;border-radius:8px;max-height:300px;padding:12px;overflow:auto}.operation-reconcile-warning{color:#ffd3d0;background:#7e252538;border:1px solid #f18a807a;border-radius:10px;gap:12px;padding:16px;display:grid}.operation-reconcile-warning p{margin:0;line-height:1.55}.operation-reconcile-warning label{color:#fff0ee;align-items:center;gap:9px;font-weight:700;display:flex}.operation-reconcile-warning input{accent-color:#f18a80;width:18px;height:18px}.operation-reconcile-warning .danger-button{justify-self:start}.danger-button:disabled{cursor:not-allowed;opacity:.52}@media (width<=900px){.topbar{align-items:flex-start;padding-top:14px;padding-bottom:14px}.brand small{display:none}nav{gap:2px}nav a{padding:9px 8px;font-size:.8rem}.page{padding-top:52px}.page-heading,.export-panel{grid-template-columns:1fr;align-items:stretch}.page-heading{flex-direction:column}.status-grid,.section-block,.summary-strip,.filter-grid,.alert-grid,.export-controls{grid-template-columns:1fr}.control-alert-row{grid-template-columns:1fr;gap:10px}.control-alert-activity-row{grid-template-columns:auto minmax(0,1fr)}.control-alert-activity-transition,.control-alert-delivery-outcomes{grid-column:2}.control-alert-state{justify-items:start}.error-banner{flex-direction:column;align-items:flex-start}.section-block{gap:28px}.log-list-header{display:none}.log-entry article{grid-template-columns:1fr;gap:12px;display:grid}.mobile-field-label{color:#789895;letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:.68rem;font-weight:750;display:block}.pagination,.button-row,.alert-filter{flex-direction:column;align-items:stretch}.pagination .secondary-button,.button-row button,.export-link{width:100%}.control-page-heading,.section-heading,.channel-card-heading,.device-card-heading,.firmware-fleet-panel,.stale-banner,.delete-confirmation{flex-direction:column;align-items:stretch}.inline-editor,.create-channel-form,.add-point-form,.mapping-add-form,.form-grid-three,.mapping-selector,.new-profile-form,.throttle-control,.device-grid,.schedule-point-row,.mapping-row,.operation-list li{grid-template-columns:1fr}.rename-form{flex-direction:column;align-items:stretch}.schedule-point-header{display:none}.schedule-graph{overflow-x:auto}.schedule-graph svg{width:680px}}@media (width<=600px){.topbar{flex-wrap:wrap;gap:8px}nav{justify-content:space-between;width:100%}nav a{padding-left:6px;padding-right:6px}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--compact-surface:#081f25d1;--compact-surface-solid:#081f25;--compact-surface-strong:#0a252b;--compact-surface-hover:#5cb0af1f;--compact-border:#80cec82e;--compact-border-strong:#80cec859;--compact-text-soft:#c7dcd9;--compact-muted:#a9c0be;--compact-subtle:#839f9d;--compact-accent:#7fe0d8;--compact-accent-strong:#54c8c2}button{cursor:pointer}button:disabled{cursor:not-allowed}.primary-button,.secondary-button,.danger-button{border-radius:6px;min-height:34px;padding:7px 12px;line-height:1}.topbar{min-height:56px;padding:0 max(20px,50vw - 790px)}.brand-mark{border-radius:9px;width:34px;height:34px}.topbar-status,.save-state{align-items:center;display:flex}.topbar-status{color:var(--compact-muted);gap:14px;font-size:.74rem}.save-state{gap:7px}.connection-dot{background:#4bc093;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #4bc09329}.connection-dot-reconnecting,.connection-dot-stale{background:#e7bd67;box-shadow:0 0 0 3px #e7bd6724}.connection-dot-loading{background:#839f9d;box-shadow:0 0 0 3px #839f9d24}.connection-dot-error{background:#ed7f78;box-shadow:0 0 0 3px #ed7f7824}.overview-page,.control-page{width:min(1580px,100vw - 32px);padding:18px 0 48px}.operations-page{gap:18px;width:min(1320px,100vw - 32px);padding:28px 0 60px}.operations-page .page-heading h1{letter-spacing:-.035em;margin-bottom:5px;font-size:clamp(1.45rem,2vw,1.9rem)}.operations-page .page-heading p:last-child{margin-bottom:0;font-size:.85rem}.overview-heading,.overview-section-heading,.control-area-heading,.devices-heading,.dialog-header,.multiplier-heading-line{justify-content:space-between;align-items:center;gap:16px;display:flex}.overview-heading{align-items:flex-end;min-height:46px;margin-bottom:12px}.overview-page h1,.control-page h1{letter-spacing:-.035em;margin-bottom:2px;font-size:clamp(1.45rem,2vw,1.9rem)}.overview-page h2,.control-page h2{letter-spacing:-.015em;font-size:1rem}.overview-page .eyebrow,.control-page .eyebrow,.configuration-dialog .eyebrow{letter-spacing:.075em;margin-bottom:3px;font-size:.66rem}.overview-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.overview-stat{border:1px solid var(--compact-border);background:var(--compact-surface);border-radius:8px;min-width:0;padding:13px 14px}.overview-stat span,.overview-stat strong,.overview-stat small{display:block}.overview-stat .status-label{color:var(--compact-subtle);margin-bottom:7px;font-size:.65rem}.overview-stat strong{margin-bottom:4px;font-size:1.08rem}.overview-stat small{color:var(--compact-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.overview-stat-attention{background:#7e52122b;border-color:#e7bd6766}.overview-section-heading{align-items:flex-end;margin:0 2px 8px}.area-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.area-card{border:1px solid var(--compact-border);color:#e9f4f3;background:#05191eb8;border-radius:8px;align-content:space-between;gap:18px;min-height:112px;padding:13px 14px;text-decoration:none;display:grid}.area-card:hover{border-color:var(--compact-border-strong);background:#0d2e35b8}.area-card-heading,.area-card-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.area-card-heading strong{text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.area-card-state{background:#4bc093;border-radius:50%;flex:none;width:8px;height:8px}.area-card-attention .area-card-state{background:#e7bd67}.area-card-unassigned .area-card-state,.area-card-loading .area-card-state{background:#839f9d}.area-card-meta{color:var(--compact-muted);font-size:.72rem}.area-card-open{color:var(--compact-accent);font-weight:720}.control-area-heading{min-height:44px;margin-bottom:12px}.control-heading-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.control-heading-action-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.schedule-interpolation-control{align-items:center;gap:6px;font-size:.8rem;display:flex}.configuration-save-feedback{border:1px solid var(--compact-border);background:#05191eb8;border-radius:7px;margin:0 0 12px;padding:9px 11px;font-size:.78rem}.floating-save-error{color:#ffb6ae;border-color:#ff887b6b}.control-surface{border:1px solid var(--compact-border);background:var(--compact-surface);border-radius:9px;overflow:hidden;box-shadow:0 18px 48px #00000029}.combined-schedule-editor{min-width:0}.combined-schedule-editor-empty{color:var(--compact-muted);padding:28px}.combined-schedule-layout{grid-template-columns:minmax(0,1fr) 250px;min-height:390px;display:grid}.combined-schedule-figure{min-width:0;margin:0;padding:14px 12px 8px 14px}.combined-schedule-mobile-view{display:none}.combined-schedule-chart{touch-action:auto;-webkit-user-select:none;user-select:none;border-radius:6px;width:100%;height:350px;display:block}.combined-schedule-chart.add-mode{cursor:crosshair;touch-action:none}.combined-schedule-chart-background{fill:#031216d6}.combined-schedule-grid-line{stroke:#80cec818;stroke-width:1px;vector-effect:non-scaling-stroke}.combined-schedule-grid-line.major{stroke:#80cec826}.combined-schedule-grid-line.axis{stroke:#80cec847}.combined-schedule-axis-label{fill:#839f9d;font-variant-numeric:tabular-nums;font-size:12px}.combined-schedule-current-time{stroke:#f0d28db8;stroke-width:1.5px;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.combined-schedule-add-guide{stroke-width:1.5px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.combined-schedule-line{stroke-width:2px;vector-effect:non-scaling-stroke}.combined-schedule-channel.selected .combined-schedule-line{stroke-width:3px}.combined-schedule-point{cursor:grab;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.combined-schedule-point:active{cursor:grabbing}.combined-schedule-channel-list{border-left:1px solid var(--compact-border);background:#05191ea8;min-width:0;margin:0;padding:0;list-style:none}.combined-schedule-channel-item{min-width:0}.combined-schedule-channel-button{width:100%;min-height:49px;color:var(--compact-text-soft);text-align:left;background:0 0;border:0;border-bottom:1px solid #80cec817;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 13px;display:grid}.combined-schedule-channel-button:hover{background:#80cec812}.combined-schedule-channel-button.selected{color:#effffc;background:var(--compact-surface-hover);box-shadow:inset 3px 0 0 var(--compact-accent)}.combined-schedule-channel-swatch{border-radius:50%;width:10px;height:10px}.combined-schedule-channel-name{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:700;overflow:hidden}.combined-schedule-channel-value{color:var(--compact-subtle);font-variant-numeric:tabular-nums;font-size:.72rem}.combined-schedule-unsaved{color:#f0d28d;grid-column:2/-1;font-size:.62rem;font-weight:700}.combined-schedule-point-editor{border-top:1px solid var(--compact-border);background:#05191eb8;grid-template-columns:auto minmax(210px,1fr) auto;align-items:center;gap:10px 14px;min-height:84px;padding:10px 14px;display:grid}.combined-schedule-point-editor-heading{align-content:center;align-self:stretch;gap:7px;display:grid}.combined-schedule-point-editor-heading h2{margin:0;font-size:.82rem}.combined-schedule-point-actions{gap:6px;display:flex}.combined-schedule-point-list{scrollbar-width:thin;align-items:center;gap:5px;padding:3px 0 5px;display:flex;overflow-x:auto}.combined-schedule-point-button{min-height:29px;color:var(--compact-text-soft);background:var(--compact-surface-strong);font-variant-numeric:tabular-nums;border:1px solid #80cec840;border-radius:5px;flex:none;padding:5px 8px;font-size:.71rem}.combined-schedule-point-button.selected{border-color:var(--compact-accent-strong);color:#041719;background:var(--compact-accent)}.combined-schedule-selected-point-form{align-items:end;gap:7px;display:flex}.combined-schedule-selected-point-form label{color:var(--compact-muted);gap:3px;font-size:.66rem;font-weight:720;display:grid}.combined-schedule-selected-point-form input{color:#e9f4f3;background:var(--compact-surface-strong);border:1px solid #80cec840;border-radius:5px;width:108px;height:32px;padding:5px 8px}.combined-schedule-selected-point-form .percentage-input input{width:76px}.combined-schedule-editor-message,.combined-schedule-point-editor>.field-error,.combined-schedule-point-editor>.validation-list,.combined-schedule-point-editor>.conflict-banner{grid-column:1/-1;margin:0}.combined-schedule-editor-message{color:var(--compact-subtle);font-size:.7rem}.testing-controls{border:1px solid var(--compact-border);background:var(--compact-surface);border-radius:9px;grid-template-columns:230px minmax(0,1fr);margin-top:12px;display:grid;box-shadow:0 18px 48px #00000024}.schedule-multiplier{border-right:1px solid var(--compact-border);padding:14px 16px}.multiplier-heading-line{justify-content:flex-start;margin-bottom:10px}.multiplier-heading-line h2{margin:0}.unsaved-label{color:#f0d28d;letter-spacing:.05em;text-transform:uppercase;border:1px solid #f0d28d6b;border-radius:999px;padding:2px 6px;font-size:.62rem;font-weight:750}.multiplier-value{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.multiplier-value output{letter-spacing:-.04em;font-size:1.9rem;font-weight:760}.multiplier-value span,.dialog-note{color:var(--compact-muted);font-size:.72rem}.unsaved-changes-confirmation{border:1px solid var(--compact-border-strong);color:#e9f4f3;background:#0b2a31;border-radius:10px;width:min(460px,100vw - 32px);max-height:calc(100dvh - 40px);padding:22px;overflow-y:auto;box-shadow:0 24px 70px #00000094}.unsaved-changes-confirmation h3{margin:0 0 8px}.unsaved-changes-confirmation p{color:var(--compact-muted);margin:0 0 18px}.nested-confirmation-backdrop{z-index:80;background:#00090cb8;place-items:start center;padding:20px;display:grid;position:fixed;inset:0}.multiplier-range-label,.multiplier-range-label input{width:100%;display:block}.devices-section{margin-top:16px;padding-top:2px}.devices-heading{align-items:flex-end;margin-bottom:7px}.configuration-dialog.usb-setup-dialog{width:min(560px,100vw - 28px);padding:18px;font-size:.82rem}.usb-setup-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.usb-setup-feedback{z-index:2;background:var(--compact-surface-solid);border-bottom:1px solid var(--compact-border);margin:-18px -18px 12px;padding:18px 18px 10px;position:sticky;top:-18px}.usb-setup-feedback [role=status]:empty{display:none}.usb-setup-feedback progress{accent-color:#82ded9;width:100%;height:6px;display:block}.usb-setup-dialog h3{margin:14px 0 6px;font-size:.95rem}.usb-setup-dialog p{margin:8px 0}.usb-setup-dialog form{gap:8px;margin:12px 0}.usb-setup-dialog fieldset{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.usb-setup-dialog .usb-checkbox{align-items:center;gap:8px;display:flex}.usb-setup-dialog summary{cursor:pointer;padding:6px 0}.usb-setup-dialog details[open]>label{gap:6px;margin-top:6px;display:grid}.usb-setup-dialog input[type=checkbox]{flex-shrink:0;width:16px;min-height:16px}.usb-actions{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.usb-network-key{-webkit-text-security:disc}.usb-action-hint{display:inline-flex}.usb-action-hint>button:disabled{pointer-events:none}.devices-heading h2{margin-bottom:2px;font-size:1.1rem}.device-grid{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.device-card{border:1px solid var(--compact-border);background:#05191eb8;border-radius:8px;flex:0 0 248px;gap:9px;padding:12px;display:grid;box-shadow:0 14px 34px #00000024}.device-card-online{background:#227a592e;border-color:#4bc09352}.device-card-stale{background:#7e521242;border-color:#e7bd6766}.device-card-offline,.device-card-error{background:#7e252542;border-color:#ed7f7861}.device-card-excluded{background:#2d3c3f5c;border-color:#839f9d47}.device-card-header,.device-card-actions{justify-content:space-between;align-items:center;gap:8px;display:flex}.device-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.device-hardware-id{color:#9ab3b0;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.76rem}.device-facts{grid-template-columns:auto minmax(0,1fr);gap:5px 10px;margin:0;font-size:.74rem;display:grid}.device-facts div{display:contents}.device-facts dt{color:var(--compact-subtle)}.device-facts dd{min-width:0;color:var(--compact-text-soft);text-align:right;overflow-wrap:anywhere;margin:0}.device-status{font-weight:700}.device-status-online,.firmware-current{color:#98ecc8}.device-status-stale,.firmware-available{color:#f0d28d}.device-status-offline,.device-status-error,.firmware-required{color:#ffb4aa}.device-card-warning,.device-card-error{text-overflow:ellipsis;margin:0;font-size:.7rem;line-height:1.35;overflow:hidden}.device-card-warning{color:#f0d28d}.device-card-error{color:#ffb4aa}.firmware-update-state,.firmware-usb-required,.firmware-fleet-policy{margin:0;font-size:.72rem;line-height:1.4}.firmware-update-state,.firmware-fleet-policy{color:#9ee3d8}.firmware-update-failed,.firmware-usb-required{color:#ffb4aa}.firmware-update-waiting_for_off,.firmware-update-waiting_for_device,.firmware-update-probation{color:#f0d28d}.firmware-fleet-panel{background:#05191e9e;border:1px solid #80cec833;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;padding:18px;display:flex}.firmware-fleet-panel h2,.firmware-fleet-panel p{margin:0}.firmware-fleet-panel>div{gap:7px;display:grid}.firmware-update-dialog{width:min(540px,100vw - 28px)}.firmware-update-options{gap:12px;padding:16px;display:grid}.firmware-update-options p{color:var(--compact-text-soft);margin:0 0 4px;line-height:1.5}.firmware-update-options button:not(.text-button){text-align:left;justify-items:start;gap:3px;padding:12px 14px;display:grid}.firmware-update-options button small{opacity:.76;font-weight:500}.firmware-update-targets{background:#0417196b;border:1px solid #80cec82e;border-radius:8px;gap:8px;padding:12px;display:grid}.firmware-update-targets h3,.firmware-update-targets ul{margin:0}.firmware-update-targets ul{gap:7px;padding-left:20px;display:grid}.firmware-update-targets li span{color:var(--compact-text-soft);font-size:.82rem;display:block}.device-exclude-button{color:#ffaca4;background:#7e252538;border:1px solid #ffaca48c;border-radius:5px;place-items:center;width:29px;height:29px;padding:0;font-size:1rem;display:grid}.compact-button{min-height:29px;padding:5px 9px;font-size:.76rem}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00090cc7}.configuration-dialog{color:#e9f4f3;background:#092329;border:1px solid #80cec847;border-radius:10px;width:min(700px,100vw - 28px);min-width:0;max-width:100%;max-height:calc(100dvh - 40px);padding:0;box-shadow:0 30px 90px #00000080}.dialog-header{border-bottom:1px solid var(--compact-border);padding:14px 16px}.dialog-header h2{margin:0;font-size:1.08rem}.icon-button{width:30px;height:30px;color:var(--compact-muted);background:0 0;border:0;border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.icon-button:hover{color:#e9f4f3;background:var(--compact-surface-hover)}.dialog-body{max-height:calc(100vh - 165px);padding:14px 16px 18px;overflow-y:auto}.dialog-actions{border-top:1px solid var(--compact-border);background:0 0;justify-content:flex-end;gap:8px;padding:11px 16px;display:flex}.dialog-close-help{min-height:1.1rem;margin:5px 16px 8px;font-size:.7rem}.dialog-close-help-hidden{visibility:hidden}.configuration-dialog .field{gap:3px;display:grid}.configuration-dialog .field>span{color:var(--compact-muted);letter-spacing:.045em;text-transform:uppercase;font-size:.66rem;font-weight:720}.configuration-dialog .field input,.configuration-dialog .field select{color:#e9f4f3;background:var(--compact-surface-strong);border:1px solid #80cec840;border-radius:5px;width:100%;height:34px;padding:5px 8px}.channel-management-list{gap:7px;display:grid}.area-management-dialog{width:min(620px,100vw - 28px)}.area-management-list{gap:7px;margin-bottom:10px;display:grid}.area-management-row,.add-area-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.add-area-row{border-top:1px solid var(--compact-border);align-items:end;margin-top:13px;padding-top:13px}.area-forensics-note{margin:11px 0 0;font-size:.72rem}.channel-management-row,.add-channel-row{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.channel-color-field input[type=color]{background:var(--compact-surface-strong);border:1px solid #80cec840;border-radius:5px;width:38px;height:34px;padding:2px}.add-channel-row{border-top:1px solid var(--compact-border);align-items:end;margin-top:13px;padding-top:13px}.device-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.device-dialog-meta{align-items:center;gap:10px;margin-top:6px;display:flex}.device-dialog-meta .field-hint,.device-dialog-meta .history-open{margin:0}.device-form-grid .dialog-actions{grid-column:1/-1;margin:8px -16px -18px}.device-form-grid .dialog-close-help{grid-column:1/-1;margin:0}.dialog-note{margin:8px 16px 14px;line-height:1.45}.combined-schedule-time-zone{color:var(--compact-muted);font-size:.62rem}.control-model-loading,.control-model-error{border:1px solid var(--compact-border);min-height:58px;color:var(--compact-muted);background:var(--compact-surface);border-radius:8px;margin-bottom:16px;padding:12px 14px}.control-model-error{color:#ffc5bf;border-color:#f18a8061;justify-content:space-between;align-items:center;display:flex}.control-model-workspace{gap:10px;margin-bottom:22px;display:grid}.control-model-toolbar{z-index:8;border:1px solid var(--compact-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#081f25f5;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:7px 9px 7px 13px;display:flex;position:sticky;top:62px;box-shadow:0 10px 24px #0000002e}.control-model-toolbar>span{color:var(--compact-subtle);font-size:.76rem;font-weight:720}.control-model-toolbar>span.dirty{color:#f0d28d}.overview-control-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:10px;display:grid}.equipment-groups,.overview-side-column{gap:10px;min-width:0;display:grid}.equipment-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.equipment-group,.overview-side-panel{border:1px solid var(--compact-border);background:#05191eb8;border-radius:8px;overflow:hidden}.equipment-group>header,.panel-heading{border-bottom:1px solid var(--compact-border);background:#0d2e357a;justify-content:space-between;align-items:center;gap:10px;min-height:39px;padding:8px 11px;display:flex}.equipment-group>header h2,.panel-heading h2{letter-spacing:0;margin:0;font-size:.82rem}.equipment-group>header>span,.panel-heading small{color:var(--compact-subtle);font-size:.68rem}.equipment-row-list{display:grid}.equipment-row{border-bottom:1px solid #80cec81a;grid-template-columns:minmax(145px,.8fr) minmax(240px,1.55fr) minmax(105px,.62fr) minmax(220px,auto);align-items:center;gap:10px;min-width:0;min-height:58px;padding:8px 10px;display:grid}.equipment-row:last-child:not(.equipment-row-disabled){border-bottom:0}.equipment-row:hover{background:#80cec809}.equipment-name-button{min-width:0;color:var(--compact-text-soft);text-align:left;background:0 0;border:0;gap:2px;padding:3px 1px;display:grid}.equipment-name-button strong{text-overflow:ellipsis;white-space:nowrap;width:fit-content;font-size:.8rem;overflow:hidden}.equipment-row:hover .equipment-name-button strong,.equipment-name-button:focus-visible strong{text-underline-offset:3px;text-decoration:underline}.equipment-name-button small,.equipment-connection-summary{color:var(--compact-subtle);font-size:.65rem}.equipment-output-preview{scrollbar-width:thin;gap:5px;min-width:0;padding:2px;display:flex;overflow-x:auto}.channel-output-chip{background:#0d2e356b;border:1px solid #80cec821;border-radius:5px;flex:none;grid-template-columns:7px minmax(34px,auto) auto;align-items:center;gap:5px;padding:4px 6px;font-size:.65rem;display:inline-grid;box-shadow:0 0 8px #5cb0af09}.channel-output-chip i,.schedule-channel-map i,.channel-check-label i,.channel-connection-card header i,.playground-output-list i{border-radius:50%;width:7px;height:7px}.channel-output-chip b{text-overflow:ellipsis;white-space:nowrap;max-width:72px;overflow:hidden}.channel-output-chip output{color:var(--compact-accent);font-variant-numeric:tabular-nums}.invalid-output{color:#ffaca4;font-size:.69rem}.equipment-connection-summary{gap:2px;display:grid;overflow:hidden}.equipment-connection-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.output-activation-state{color:#efc978;white-space:nowrap;background:#6c481233;border:1px solid #d6a54961;border-radius:999px;width:fit-content;padding:2px 5px;font-size:.61rem;font-style:normal;font-weight:700}.output-activation-state.failed{color:#ffaaa3;background:#7025223d;border-color:#e25b5266}.manual-control,.manual-slider{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.manual-control>button,.manual-slider button,.state-toggle{min-height:28px;color:var(--compact-text-soft);background:#0d2e3594;border:1px solid #80cec83b;border-radius:5px;padding:4px 7px;font-size:.66rem;font-weight:750}.manual-control>button.active{color:#a7efce;background:#287b5b40;border-color:#4bc0936b}.manual-control>button.auto-inactive{color:#ffaca4;background:#7e252547;border-color:#f18a8080}.manual-slider input{width:min(100px,8vw)}.manual-slider output{min-width:30px;color:var(--compact-muted);font-variant-numeric:tabular-nums;font-size:.66rem}.equipment-empty{margin:0;padding:14px}.overview-side-panel .panel-heading .text-button,.panel-heading>span{font-size:.67rem}.panel-heading>span{gap:8px;display:flex}.timed-mode-list,.sensor-reading-list,.switch-group-list,.switch-group-list ul{margin:0;padding:0;list-style:none}.timed-mode-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;display:grid}.timed-mode-list .timed-mode-row{border:1px solid var(--compact-border);min-height:48px;color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:5px;padding:7px 8px;display:flex}.timed-mode-list .timed-mode-row.active{background:#287b5b33;border-color:#4bc0936b}.timed-mode-list span,.timed-mode-list strong,.timed-mode-list small{display:block}.timed-mode-list strong{font-size:.69rem}.timed-mode-list small,.timed-mode-list b{color:var(--compact-subtle);font-size:.61rem}.sensor-reading-list>li>button:where(:not(.sort-handle,.sensor-history-preview)),.switch-group-list li>button:where(:not(.sort-handle)){width:100%;min-height:37px;color:var(--compact-text-soft);text-align:left;background:0 0;border:0;border-bottom:1px solid #80cec817;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 10px;display:grid}.sensor-reading-list>li>button:where(:not(.sort-handle,.sensor-history-preview)):hover,.switch-group-list li>button:where(:not(.sort-handle)):hover{background:var(--compact-surface-hover)}.sensor-reading-list span,.switch-group-list li span{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.sensor-reading-list strong,.switch-group-list li strong{text-transform:capitalize;font-size:.68rem}.input-status{color:#86dcb4;text-transform:capitalize;font-size:.6rem}.input-status-stale,.input-status-disconnected,.input-status-invalid,.input-status-alarm{color:#ff9e94}.switch-panel-heading{border-top:1px solid var(--compact-border)}.switch-group-list details{border-bottom:1px solid #80cec81a}.switch-group-list summary{color:var(--compact-muted);cursor:pointer;justify-content:space-between;align-items:center;padding:7px 10px;font-size:.68rem;font-weight:720;list-style:none;display:flex}.switch-group-list summary::-webkit-details-marker{display:none}.switch-group-list summary small{color:var(--compact-subtle)}.equipment-editor-dialog{flex-direction:column;width:min(1120px,100vw - 28px);display:flex;overflow:hidden}.equipment-editor-dialog>.dialog-header,.equipment-editor-dialog>.editor-tabs,.equipment-editor-dialog>.dialog-actions{flex-shrink:0}.equipment-editor-header{min-height:64px}.destructive-close,.icon-button.destructive-close{color:#ffe4e1;background:#962e27b3;border:1px solid #ffaca473}.destructive-close:hover,.icon-button.destructive-close:hover{background:#b3352ce6}.editor-tabs{border-bottom:1px solid var(--compact-border);background:#0312165c;gap:0;padding:0 12px;display:flex}.editor-tabs button{min-height:39px;color:var(--compact-subtle);background:0 0;border:0;border-bottom:2px solid #0000;padding:7px 11px;font-size:.72rem;font-weight:750}.editor-tabs button.active{border-bottom-color:var(--compact-accent-strong);color:#effffc}.equipment-editor-content{min-height:0;max-height:calc(100vh - 160px);padding:12px 14px 20px;overflow-y:auto}.automatic-control-editor,.automation-rule-list,.connections-editor,.channel-connection-list,.equipment-details-editor,.channel-details-list{gap:10px;display:grid}.editor-section{border:1px solid var(--compact-border);background:#05191e94;border-radius:7px}.editor-section-heading{justify-content:space-between;align-items:center;gap:10px;min-height:38px;padding:8px 10px;display:flex}.editor-section-heading h3,.input-editor-section h3,.input-panel-heading,.playground-group h4{margin:0;font-size:.76rem}.editor-section-heading p{color:var(--compact-subtle);margin:2px 0 0;font-size:.65rem}.default-action-section>.action-composer{border:0;border-top:1px solid var(--compact-border);border-radius:0}.action-composer{background:#081f258a;border:1px solid #80cec824;border-radius:6px;gap:9px;padding:9px;display:grid;position:relative}.action-composer-heading{min-width:0}.field-label-with-help{align-items:center;gap:4px;display:inline-flex;position:relative}.field-help-button{border:1px solid var(--compact-border-strong);width:16px;height:16px;color:var(--compact-text-soft);background:var(--compact-surface-strong);border-radius:50%;place-items:center;padding:0;font-size:.65rem;font-weight:800;display:inline-grid}.field-help-button:hover,.field-help-button:focus-visible{border-color:var(--compact-accent);color:#fff}.field-help-tooltip{z-index:10;border:1px solid var(--compact-border-strong);width:min(260px,100vw - 56px);color:var(--compact-text-soft);background:#0b282f;border-radius:5px;padding:7px 8px;font-size:.67rem;font-weight:500;line-height:1.35;position:absolute;top:calc(100% + 5px);right:0;box-shadow:0 10px 22px #0000005c}.action-type-button,.condition-source{min-width:160px;color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border:1px solid #80cec838;border-radius:5px;gap:2px;padding:7px 9px;display:grid}.action-type-button strong,.condition-source strong{font-size:.7rem}.action-type-button span,.condition-source span{color:var(--compact-subtle);font-size:.6rem}.action-type-menu{border:1px solid var(--compact-border-strong);background:#0b282f;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%;max-width:100%;margin-top:5px;padding:7px;display:grid;box-shadow:0 16px 34px #0000006b}.action-type-menu button{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:5px;gap:2px;padding:8px;display:grid}.action-type-menu button:hover{border-color:var(--compact-border-strong);background:var(--compact-surface-hover)}.action-type-menu strong,.action-type-menu span{display:block}.action-type-menu strong{font-size:.69rem}.action-type-menu span{color:var(--compact-subtle);font-size:.59rem}.action-fields,.slider-action-field{gap:7px;display:grid}.field-label{color:var(--compact-muted);font-size:.65rem;font-weight:700}.slider-action-field>label{color:var(--compact-muted);justify-content:space-between;font-size:.68rem;display:flex}.slider-action-field output,.channel-value-slider output{color:var(--compact-accent);font-variant-numeric:tabular-nums}.stacked-field,.value-field,.form-grid>label,.binding-editor>label,.stepper-settings-grid>label,.bus-editor-grid>label,.constraint-grid label,.playground-input-grid>label,.timed-mode-editor-list label{color:var(--compact-muted);gap:4px;font-size:.65rem;font-weight:700;display:grid}.configuration-dialog input:not([type=checkbox]):not([type=range]):not([type=color]),.notification-destination input:not([type=checkbox]),.configuration-dialog select,.catalog-picker-content input{color:#e9f4f3;background:var(--compact-surface-strong);border:1px solid #80cec83d;border-radius:5px;min-width:0;min-height:32px;padding:5px 7px}.schedule-channel-map{gap:5px;display:grid}.schedule-source-button{border:1px solid var(--compact-border);color:var(--compact-text-soft);text-align:left;background:#0d2e3580;border-radius:5px;justify-content:space-between;align-items:center;padding:7px 9px;display:flex}.schedule-source-button small{color:var(--compact-subtle)}.schedule-channel-map>div{border:1px solid var(--compact-border);border-radius:5px;grid-template-columns:minmax(105px,.7fr) auto minmax(150px,1fr);align-items:center;gap:7px;padding:5px 7px;font-size:.64rem;display:grid}.schedule-target-channel,.schedule-channel-map>div>button,.schedule-channel-map>div>button>span{gap:2px;min-width:0;display:grid}.schedule-target-channel,.schedule-channel-map>div>button{color:var(--compact-text-soft);text-align:left;grid-template-columns:7px minmax(0,1fr);align-items:center}.schedule-target-channel small,.schedule-channel-map>div>button small{color:var(--compact-subtle);grid-column:2;font-size:.56rem}.schedule-map-arrow{color:var(--compact-subtle)}.schedule-channel-map .missing{color:#ffaca4;border-color:#f18a8061}.action-summary{color:var(--compact-muted);margin:0;font-size:.68rem}.selected-channel-values{gap:5px;display:grid}.selected-channel-values>div{opacity:.64;border-radius:5px;grid-template-columns:minmax(130px,.65fr) minmax(210px,1fr);align-items:center;gap:10px;padding:5px 7px;display:grid}.selected-channel-values>div.selected{opacity:1;background:#80cec80d}.channel-check-label,.channel-value-slider{align-items:center;gap:7px;font-size:.66rem;display:flex}.channel-value-slider input{flex:1}.channel-value-slider output{min-width:32px;font-size:.64rem}.rule-section{gap:10px;display:grid}.rule-heading{border-bottom:1px solid var(--compact-border);padding-left:0;padding-right:0}.automation-rule-list{padding:0}.automation-rule{border:1px solid var(--compact-border);background:#081f258c;border-radius:7px;overflow:visible}.automation-rule>header{grid-template-columns:36px minmax(120px,1fr) auto auto;align-items:center;gap:7px;padding:7px 8px;display:grid}.automation-rule.rule-expanded>header{border-bottom:1px solid var(--compact-border)}.rule-summary-toggle{min-width:0;color:var(--compact-text-soft);text-align:left;cursor:pointer;background:0 0;border:0;gap:4px;padding:2px 0;display:grid}.rule-summary-toggle strong{overflow-wrap:anywhere;font-size:.76rem}.rule-summary-toggle strong>span{color:var(--compact-muted)}.rule-summary{-webkit-line-clamp:2;color:var(--compact-muted);-webkit-box-orient:vertical;font-size:.68rem;line-height:1.45;display:-webkit-box;overflow:hidden}.rule-name-field{color:var(--compact-muted);gap:4px;margin:9px 9px 0;font-size:.65rem;display:grid}.rule-order{border:1px solid var(--compact-border);width:36px;height:28px;color:var(--compact-subtle);background:#80cec814;border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:0;font-size:.62rem;font-weight:750;display:inline-flex}.rule-name-field>input{font-weight:730;border-color:var(--compact-border)!important;background:var(--compact-surface-strong)!important}.rule-name-field>input:focus{border-color:var(--compact-border-strong)!important;background:var(--compact-surface-strong)!important}.enabled-toggle,.checkbox-field{color:var(--compact-muted);align-items:center;gap:5px;font-size:.63rem;font-weight:700;display:flex!important}.overview-dashboard-layout .switch-group-list .input-status-disconnected,.overview-dashboard-layout .switch-group-list .input-status-stale,.overview-dashboard-layout .switch-group-list .input-status-invalid,.overview-dashboard-layout .switch-group-list .input-status-unknown{color:#ffd59a;background:#98632233}.overview-dashboard-layout .switch-group-list .input-status-disabled{color:var(--compact-text-soft);background:#829c9c22}.input-editor-dialog .enabled-toggle{gap:8px;min-height:32px;font-size:.8rem}.input-editor-dialog .enabled-toggle input[type=checkbox]{flex-shrink:0;width:18px;height:18px}.profile-field{gap:4px;display:grid}.profile-field>small,.profile-panel .workspace-switcher>span{color:var(--compact-muted);font-size:.72rem}.chart-card-preview{width:100%;min-width:0;margin:10px 0 4px;display:block}.chart-preview-grid{stroke:var(--compact-border);stroke-width:.6px}.chart-preview-times{fill:var(--compact-muted);font-size:9px}.rule-move-actions{gap:2px;display:flex}.rule-composition{grid-template-columns:minmax(0,1.35fr) minmax(250px,.8fr);gap:9px;padding:9px;display:grid}.rule-alert-settings{border-top:1px solid var(--compact-border)}.rule-alert-settings>summary{color:var(--compact-muted);cursor:pointer;align-items:center;gap:9px;padding:7px 9px;font-size:.65rem;font-weight:720;display:flex}.rule-alert-settings>summary span{color:var(--compact-subtle);text-transform:capitalize}.rule-alert-body{gap:8px;padding:0 9px 9px;display:grid}.rule-composition>div{align-content:start;gap:5px;display:grid}.composition-label{color:var(--compact-subtle);letter-spacing:.05em;text-transform:uppercase;font-size:.61rem;font-weight:750}.condition-node{background:#05191ea8;border:1px solid #80cec824;border-radius:6px;min-width:0;padding:7px 38px 7px 7px;position:relative}.condition-node-all,.condition-node-any{padding-right:7px}.condition-node-all>.condition-remove,.condition-node-any>.condition-remove{top:7px;right:7px}.condition-group-body,.condition-wrapper-body,.condition-children{gap:7px;display:grid}.condition-group-body>.logic-switch{width:fit-content;margin-right:35px}.condition-children{border-left:2px solid #54c8c238;padding-left:11px}.condition-wrapper-body>strong{color:var(--compact-accent);font-size:.67rem}.logic-switch,.operator-switch{flex-wrap:wrap;gap:2px;display:flex}.logic-switch button,.operator-switch button{min-height:28px;color:var(--compact-subtle);background:#0d2e356b;border:1px solid #80cec82e;border-radius:4px;padding:4px 8px;font-size:.63rem;font-weight:740}.logic-switch button.active,.operator-switch button.active,.state-toggle.active{color:#e9fffc;background:#54c8c22e;border-color:#54c8c27a}.condition-remove{color:#ffe4e1;background:#962e27b3;border:1px solid #ffaca473;border-radius:5px;width:27px;height:27px;padding:0;font-size:1rem;position:absolute;bottom:7px;right:7px}.condition-leaf-grid{grid-template-columns:minmax(150px,1fr) auto minmax(82px,.35fr) minmax(82px,.35fr);align-items:end;gap:6px;display:grid}.condition-leaf-compact{grid-template-columns:minmax(160px,1fr) auto;align-items:center}.condition-operator-options{gap:3px;display:grid}.condition-operator-options .operator-switch{grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.availability-options,.switch-state-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.availability-options button{min-height:28px;color:var(--compact-subtle);background:#0d2e356b;border:1px solid #80cec82e;border-radius:4px;padding:4px 6px;font-size:.63rem;font-weight:740}.availability-options button.active{color:#e9fffc;background:#54c8c22e;border-color:#54c8c27a}.condition-value-hidden{visibility:hidden;pointer-events:none}.condition-time-grid{flex-wrap:wrap;align-items:center;gap:6px;font-size:.66rem;display:flex}.inline-field,.input-with-suffix{color:var(--compact-muted);align-items:center;gap:5px;font-size:.65rem;display:flex}.inline-field input{width:72px}.channel-constraints-editor,.automation-playground{overflow:hidden}.channel-constraints-editor>summary,.automation-playground>summary{color:var(--compact-text-soft);cursor:pointer;padding:9px 10px;font-size:.72rem;font-weight:750}.constraint-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:0 9px 9px;display:grid}.constraint-grid>div{border:1px solid #80cec81f;border-radius:5px;grid-template-columns:1fr 1fr;gap:5px;padding:7px;display:grid}.constraint-grid>div>strong{grid-column:1/-1;font-size:.66rem}.input-with-suffix input{width:100%}.automation-playground{border:1px solid var(--compact-border);background:#0312167a;border-radius:7px}.playground-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 9px 9px;display:grid}.playground-input-grid{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.playground-group,.playground-result{background:#081f2575;border:1px solid #80cec81f;border-radius:6px;align-content:start;gap:5px;padding:7px;display:grid}.playground-state-row,.playground-schedule-row{grid-template-columns:minmax(80px,1fr) minmax(65px,auto) auto;align-items:center;gap:6px;font-size:.63rem;display:grid}.playground-state-row>input{width:75px}.playground-schedule-row output{min-width:30px;color:var(--compact-accent)}.playground-result{grid-column:1/-1}.playground-result.invalid{color:#ffaca4;border-color:#f18a8057}.playground-output-list{flex-wrap:wrap;gap:5px;display:flex}.playground-output-list>span{border:1px solid var(--compact-border);border-radius:5px;grid-template-columns:7px auto auto;align-items:center;gap:3px 5px;padding:5px 7px;font-size:.62rem;display:grid}.playground-output-list small{color:var(--compact-subtle);grid-column:2/-1}.catalog-picker-dialog,.shared-condition-info,.shared-condition-editor,.shared-conditions-dialog{width:min(560px,100vw - 42px)}.nested-picker-backdrop{z-index:70;background:#00090cad}.catalog-picker-content{gap:8px;padding:11px;display:grid}.catalog-picker-list{gap:4px;max-height:320px;display:grid;overflow-y:auto}.catalog-picker-list button{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:5px;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.catalog-picker-list button.selected{border-color:var(--compact-accent-strong);background:#54c8c221}.catalog-picker-list button>i{border-radius:50%;width:8px;height:8px}.catalog-picker-list button>i.catalog-picker-marker-empty{background:var(--compact-border-strong)}.catalog-picker-label{gap:2px;display:grid}.catalog-picker-label small{color:var(--compact-subtle);font-size:.58rem}.catalog-picker-list .catalog-picker-selected{color:var(--compact-accent);font-size:.6rem}.compact-dialog-body,.shared-condition-editor-body{gap:10px;display:grid}.shared-condition-manager-body,.shared-condition-manager-list{gap:7px;display:grid}.shared-condition-manager-list>button{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:5px;gap:2px;padding:8px;display:grid}.shared-condition-manager-list>button:hover{border-color:var(--compact-accent-strong)}.shared-condition-manager-list small{color:var(--compact-subtle);font-size:.58rem}.channel-connection-list{padding:0 9px 9px}.channel-connection-card{border:1px solid var(--compact-border);border-radius:6px;overflow:hidden}.equipment-output-heading{grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;display:grid}.equipment-output>.equipment-output-heading{grid-template-columns:30px 30px minmax(0,1fr) 30px}.equipment-output-heading input[type=color]{width:28px;height:28px;padding:2px}.equipment-output-heading input:not([type=color]),.output-source-fields select{width:100%;min-width:0}.output-source-fields{grid-template-columns:minmax(0,1fr) minmax(130px,1fr);align-items:end;gap:10px;padding:8px;display:grid}.output-source-fields label,.add-output-body>label,.add-output-body .equipment-output-heading label{color:var(--compact-text-soft);gap:5px;font-size:.72rem;display:grid}.output-default-percent>span{align-items:center;gap:8px;min-height:32px;display:flex}.output-default-percent input{flex:1;min-width:0}.output-default-percent output{white-space:nowrap}.equipment-output>.output-activation-state{margin:0 8px 6px;display:block}.equipment-editor-actions{padding:10px 16px}.add-output-dialog{width:min(760px,100vw - 32px)}.add-output-body{gap:14px;display:grid}.add-output-body .output-source-fields{padding:0}.channel-connection-card>header{background:#0d2e356b;grid-template-columns:8px minmax(100px,1fr) auto auto;align-items:center;gap:7px;min-height:36px;padding:6px 8px;display:grid}.channel-connection-card>header strong,.channel-connection-card>header span{font-size:.66rem}.channel-connection-card>header span{color:var(--compact-subtle)}.binding-editor{border-top:1px solid #80cec81a;grid-template-columns:minmax(150px,1fr) 90px 120px minmax(150px,1fr) 30px;align-items:end;gap:7px;padding:8px;display:grid;position:relative}.binding-editor.stepper-binding-editor,.stepper-settings-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.stepper-binding-editor{padding-right:44px}.stepper-binding-editor>.icon-button{position:absolute;top:8px;right:8px}.binding-help,.stepper-advanced-settings{grid-column:1/-1;min-width:0}.binding-help{font-size:.65rem}.stepper-advanced-settings>summary{cursor:pointer;color:var(--compact-muted);font-size:.7rem}.stepper-settings-grid{align-items:end;gap:8px;margin:8px 0;display:grid}.dosing-setup-message{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.gain-field>span:not(.field-label-with-help){align-items:center;gap:6px;min-height:32px;display:flex}.gain-field input{flex:1}.gain-field output{min-width:34px}.binding-warning{background:#7e521229;border-radius:4px;grid-column:1/-1;margin:0;padding:5px 7px;font-size:.62rem}.channel-connection-card>.text-button{margin:5px 8px 7px;font-size:.65rem}.form-grid{gap:8px;display:grid}.compact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-span{grid-column:1/-1}.equipment-details-editor{padding:10px}.channel-details-list{border-top:1px solid var(--compact-border);padding-top:8px}.channel-detail-row{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:7px;display:grid}.channel-detail-row input[type=color]{border:1px solid var(--compact-border);background:var(--compact-surface-strong);border-radius:5px;width:38px;height:32px;padding:2px}.small-editor-dialog{width:min(560px,100vw - 28px)}.section-editor-list,.timed-mode-editor-list{gap:6px;display:grid}.section-editor-list>div:not(.dialog-actions){grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:5px;display:grid}.timed-modes-dialog{width:min(720px,100vw - 28px)}.timed-mode-group-editor{border:1px solid var(--compact-border);border-radius:6px;padding:10px}.timed-mode-group-heading{align-items:end;gap:8px;display:flex}.timed-mode-group-heading>input{flex:1;min-width:0;font-weight:700}.timed-mode-group-heading>label{width:140px}.timed-mode-group-modes{border-left:2px solid var(--compact-border);gap:10px;margin:12px 0 0 12px;padding-left:12px;display:grid}.timed-mode-editor-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 90px 30px;align-items:end;gap:6px;display:grid}.timed-mode-group-modes>.text-button{justify-self:start}.wiring-overview-dialog{width:min(760px,100vw - 28px)}.wiring-device-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:10px;display:flex}.wiring-device-toolbar label,.wiring-device-toolbar>span{color:var(--compact-muted);gap:3px;font-size:.65rem;display:grid}.wiring-device-toolbar>span{text-align:right}.wiring-device-toolbar small{color:var(--compact-subtle)}.wiring-activation-status{flex-wrap:wrap;gap:5px;margin:-2px 0 9px;display:flex}.wiring-overview-list{gap:4px;display:grid}.wiring-overview-list>button,.wiring-input-row{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:5px;grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.wiring-overview-list>button:hover{border-color:var(--compact-border-strong)}.wiring-overview-list>button{grid-template-columns:100px minmax(0,1fr)}.wiring-overview-list b,.wiring-overview-list strong,.wiring-overview-list small{font-size:.67rem}.wiring-overview-list small{color:var(--compact-subtle);margin-top:2px;display:block}.input-editor-dialog{flex-direction:column;width:min(780px,100vw - 28px);display:flex;overflow:hidden}.input-editor-dialog>.dialog-header,.input-editor-dialog>.dialog-actions,.input-editor-dialog>.input-editor-tabs{flex-shrink:0}.input-editor-body{gap:10px;min-height:0;display:grid}.input-editor-dialog .danger-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.input-editor-section{border:1px solid var(--compact-border);background:#05191e80;border-radius:7px;gap:8px;padding:9px;display:grid}.input-editor-advanced{border:1px solid var(--compact-border);background:#05191e57;border-radius:7px}.input-editor-advanced>summary{cursor:pointer;color:var(--compact-text-soft);padding:10px;font-size:.76rem;font-weight:700}.input-editor-advanced-body{gap:10px;padding:0 9px 9px;display:grid}.gpio-input{gap:5px;font-size:.65rem;font-weight:700;display:grid}.gpio-input-control{border:1px solid var(--compact-border);background:var(--compact-surface);border-radius:5px;display:flex;overflow:hidden}.gpio-input-control:focus-within{outline:2px solid var(--compact-accent)}.configuration-dialog .gpio-input-control input:not([type=checkbox]):not([type=range]):not([type=color]){border:0;border-radius:0;outline:none;flex:1;width:100%;min-width:0;font-size:.72rem}.gpio-input-picker{border-left:1px solid var(--compact-border);flex:0 0 28px;position:relative}.gpio-input-picker select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.gpio-input-picker>span{pointer-events:none;place-items:center;height:100%;display:grid}.gpio-pin-options{flex-wrap:wrap;gap:4px;display:flex}.gpio-pin-options button{border:1px solid var(--compact-border);min-width:58px;color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:4px;gap:1px;padding:4px 6px;font-size:.63rem;display:grid}.gpio-pin-options button.selected{border-color:var(--compact-accent-strong);background:#54c8c221}.gpio-pin-options button small{color:var(--compact-subtle);font-size:.54rem}.repeat-interval{border:1px solid var(--compact-border);border-radius:5px;gap:7px;margin:0;padding:7px;display:grid}.repeat-interval legend{color:var(--compact-muted);padding:0 4px;font-size:.65rem;font-weight:700}.repeat-interval-fields{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr);gap:6px;display:grid}.onewire-wiring-note{margin:0;font-size:.7rem;line-height:1.35}.onewire-save-step{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.bus-editor-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content auto;align-items:end;gap:7px;display:grid}.probe-scan-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.probe-scan-results button{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:var(--compact-surface-strong);text-align:left;border-radius:5px;gap:2px;padding:7px;display:grid}.probe-scan-results button.selected{border-color:var(--compact-accent-strong);background:#54c8c221}.probe-scan-results button:disabled{cursor:not-allowed;opacity:.58}.probe-scan-results small,.probe-scan-results em{color:var(--compact-subtle);font-size:.56rem}.probe-scan-results em{color:#e7bd67;font-style:normal}.dependency-warning{margin:0;font-size:.68rem}.availability-policy-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.warning-copy{color:#f0d28d;background:#7e521229;border:1px solid #e7bd6752;border-radius:5px;margin:0;padding:7px;font-size:.64rem;line-height:1.4}.dialog-action-spacer{flex:1}.destination-picker{border:1px solid var(--compact-border);border-radius:5px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:0;padding:7px;display:grid}.destination-picker legend{color:var(--compact-muted);padding:0 4px;font-size:.65rem;font-weight:700}.destination-picker label{grid-template-columns:auto 1fr;align-items:center;gap:3px 6px;font-size:.64rem;display:grid}.destination-picker small{color:var(--compact-subtle);grid-column:2;font-size:.55rem}.destination-picker .stub,.destination-picker .unconfigured{opacity:.58}@media (width<=1050px){.overview-stats,.area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.testing-controls{grid-template-columns:190px minmax(0,1fr)}.combined-schedule-layout{grid-template-columns:minmax(0,1fr) 210px}.combined-schedule-point-editor,.overview-control-layout{grid-template-columns:minmax(0,1fr)}.overview-side-column{grid-template-columns:repeat(2,minmax(0,1fr))}.equipment-row{grid-template-columns:minmax(145px,.72fr) minmax(220px,1.3fr) minmax(220px,auto)}.equipment-connection-summary{display:none}.rule-composition{grid-template-columns:minmax(0,1fr)}}@media (width<=780px){.overview-page,.control-page{width:min(100% - 20px,1580px);padding-top:12px}.overview-heading,.control-area-heading{flex-direction:column;align-items:flex-start}.testing-controls{grid-template-columns:minmax(0,1fr)}.combined-schedule-layout{grid-template-columns:minmax(0,1fr);min-height:0}.combined-schedule-figure{overflow-x:auto}.combined-schedule-mobile-view{align-items:center;gap:8px;margin-bottom:8px;display:flex}.combined-schedule-chart{width:100%;height:auto}.combined-schedule-figure:not(.zoomed) .combined-schedule-axis-label{font-size:26px}.combined-schedule-figure:not(.zoomed) .combined-schedule-percentage-label{font-size:20px}.combined-schedule-figure.zoomed .combined-schedule-chart{width:760px;max-width:none;height:274px}.combined-schedule-channel.selected .combined-schedule-point{r:11.25px}.combined-schedule-channel.selected .combined-schedule-point.selected{r:16.5px}.combined-schedule-channel-list{border-top:1px solid var(--compact-border);border-left:0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schedule-multiplier{border-right:0;border-bottom:1px solid var(--compact-border)}.device-form-grid,.area-management-row,.add-area-row,.channel-management-row,.add-channel-row{grid-template-columns:minmax(0,1fr)}.channel-color-field input[type=color]{width:46px}.control-model-toolbar{top:58px}.equipment-row{grid-template-columns:minmax(120px,.65fr) minmax(0,1.35fr)}.manual-control{border-top:1px solid #80cec817;grid-column:1/-1;justify-content:flex-start}.manual-slider{flex:1;justify-content:flex-start}.manual-slider input{width:min(260px,46vw)}.binding-editor{grid-template-columns:repeat(2,minmax(0,1fr));padding-right:44px}.binding-editor>.icon-button{position:absolute;top:8px;right:8px}.gain-field{grid-column:1/-1}.condition-leaf-grid{grid-template-columns:minmax(150px,1fr) auto}.condition-leaf-grid .value-field{grid-row:2}.constraint-grid,.availability-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=500px){.overview-stats,.area-grid{grid-template-columns:minmax(0,1fr)}.control-model-toolbar{flex-direction:column;align-items:stretch;position:static}.control-model-toolbar .button-row>button{flex:1}.equipment-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.equipment-toolbar .primary-button{grid-column:1/-1}.equipment-row{grid-template-columns:minmax(0,1fr);gap:6px}.equipment-output-preview,.manual-control{grid-column:1}.overview-side-column,.compact-form-grid,.availability-policy-grid,.playground-content,.playground-input-grid,.constraint-grid,.probe-scan-results,.destination-picker{grid-template-columns:minmax(0,1fr)}.editor-tabs{overflow-x:auto}.editor-tabs button{flex:none}.equipment-editor-content{padding:8px}.automation-rule>header{grid-template-columns:36px minmax(0,1fr) auto}.automation-rule>header>.enabled-toggle{grid-column:2}.rule-move-actions{grid-area:1/3/span 2}.action-type-menu{grid-template-columns:minmax(0,1fr);width:100%}.condition-leaf-grid,.output-source-fields,.condition-leaf-compact,.selected-channel-values>div,.binding-editor,.bus-editor-grid,.schedule-channel-map>div{grid-template-columns:minmax(0,1fr)}.schedule-map-arrow{display:none}.condition-leaf-grid .value-field{grid-row:auto}.condition-time-grid{flex-direction:column;align-items:stretch}.playground-result,.playground-input-grid,.form-span{grid-column:1}.wiring-device-toolbar{flex-direction:column;align-items:stretch}.wiring-device-toolbar>span{text-align:left}.timed-mode-editor-list>div:not(.dialog-actions){grid-template-columns:minmax(0,1fr) auto}.timed-mode-editor-list label{grid-column:1}}.identity-page{place-items:center;min-height:100vh;padding:32px 18px;display:grid}.identity-card{border:1px solid var(--compact-border);background:linear-gradient(145deg,#0a2a31f5,#05171cfa);border-radius:18px;gap:24px;width:min(460px,100%);padding:clamp(26px,5vw,42px);display:grid;box-shadow:0 32px 90px #00000057}.identity-card h1{margin-bottom:12px;font-size:clamp(2rem,9vw,3.25rem)}.identity-brand{letter-spacing:-.02em;align-items:center;gap:12px;font-size:1.05rem;font-weight:760;display:flex}.identity-brand img{border:1px solid #3b9293;border-radius:10px;width:38px;height:38px}.identity-introduction,.identity-footnote,.identity-card>p{color:var(--compact-muted);margin:0;line-height:1.55}.identity-form{gap:16px;display:grid}.identity-form label{color:var(--compact-text-soft);gap:7px;font-size:.82rem;font-weight:700;display:grid}.identity-form input,.workspace-switcher select{border:1px solid var(--compact-border-strong);color:#effffc;background:#031317c7;border-radius:7px;min-height:42px}.identity-form input{width:100%;padding:9px 11px}.identity-submit,.identity-demo-button{width:100%;min-height:43px}.identity-divider{color:var(--compact-subtle);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:.75rem;display:grid}.identity-divider:before,.identity-divider:after{content:"";background:var(--compact-border);height:1px}.identity-footnote{text-align:center;font-size:.78rem}.identity-marketing-link,.identity-sign-out{justify-self:center}.identity-error{color:#ffc3bd;margin:0;line-height:1.45}.identity-loading-indicator{border:3px solid #7fe0d82e;border-top-color:var(--compact-accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite identity-spin}@keyframes identity-spin{to{transform:rotate(360deg)}}.workspace-choice-list{gap:10px;display:grid}.workspace-choice{border:1px solid var(--compact-border);width:100%;color:inherit;background:var(--compact-surface);text-align:left;border-radius:9px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.workspace-choice:hover:not(:disabled){border-color:var(--compact-border-strong);background:var(--compact-surface-hover)}.workspace-choice span:first-child,.workspace-choice strong,.workspace-choice small{display:block}.workspace-choice small{color:var(--compact-muted);margin-top:4px}.workspace-role{min-height:22px;color:var(--compact-accent);letter-spacing:.08em;text-transform:uppercase;background:#368b891f;border:1px solid #7fe0d840;border-radius:999px;align-items:center;padding:3px 7px;font-size:.64rem;font-weight:780;display:inline-flex}.workspace-role-viewer{color:#f0cf8b;background:#8e661d21;border-color:#e7bd674d}.topbar-right,.account-controls{align-items:center;display:flex}.topbar-right{gap:16px}.account-controls{border-left:1px solid var(--compact-border);gap:8px;padding-left:14px;font-size:.74rem}.profile-panel{border:1px solid var(--compact-border);width:min(300px,100vw - 32px);color:var(--compact-text-soft);background:#0b2429;border-radius:10px;margin:0;padding:16px;inset:64px 16px auto auto;box-shadow:0 12px 30px #0006}.profile-panel:popover-open{gap:12px;display:grid}.profile-panel .account-email,.profile-panel .workspace-name,.profile-panel .workspace-role{overflow-wrap:anywhere;white-space:normal;max-width:100%;display:block}.profile-panel .workspace-switcher select{width:100%;max-width:100%}.account-error{color:#ffc3bd;max-width:280px}.sensor-reading-list>.empty-copy{padding:10px 12px}.demo-banner .demo-banner-close{align-self:center;min-width:32px;min-height:32px;margin-left:auto;font-size:1.25rem;text-decoration:none}.workspace-name,.account-email{max-width:180px;color:var(--compact-text-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-switcher select{max-width:190px;min-height:31px;padding:4px 27px 4px 8px;font-size:.74rem}.account-sign-out{white-space:nowrap;min-height:30px;padding:4px 6px}.account-members{white-space:nowrap;padding:4px 6px}.workspace-members-page{gap:20px;display:grid}.workspace-members-heading,.workspace-member-list-heading{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.workspace-members-heading h1{margin-bottom:12px;font-size:clamp(2.4rem,7vw,4.25rem)}.workspace-members-heading p:last-child,.workspace-member-section>div>p,.workspace-member-list-heading p{color:var(--compact-muted);margin:0;line-height:1.55}.workspace-member-section{border-top:1px solid var(--compact-border);gap:16px;padding:22px 0;display:grid}.workspace-member-section h2{margin-bottom:5px;font-size:1.35rem}.workspace-invite-form{grid-template-columns:minmax(220px,1fr) minmax(120px,.35fr) auto;align-items:end;gap:10px;display:grid}.workspace-invite-form label{color:var(--compact-text-soft);gap:6px;font-size:.76rem;font-weight:700;display:grid}.workspace-invite-form input,.workspace-invite-form select,.workspace-member-role-form select{border:1px solid var(--compact-border-strong);color:#effffc;background:#031317c7;border-radius:7px;min-height:42px;padding:8px 10px}.workspace-member-notice{color:#a9e6d2;margin:0}.workspace-member-rows{margin:0;padding:0;list-style:none;display:grid}.workspace-member-row{border-top:1px solid #80cec81f;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;min-height:62px;padding:10px 0;display:grid}.workspace-member-account{min-width:0}.workspace-member-account strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.workspace-member-account small{color:var(--compact-muted)}.workspace-member-role-form{align-items:center;gap:8px;display:flex}.workspace-member-role-form select{min-width:106px;min-height:36px;padding-top:5px;padding-bottom:5px}.demo-banner,.viewer-banner{color:#dffbf7;background:#1660624d;border-bottom:1px solid #7fe0d82e;justify-content:center;align-items:center;gap:18px;min-height:44px;padding:7px max(20px,50vw - 790px);display:flex}.demo-banner>span:first-child{align-items:baseline;gap:10px;display:flex}.demo-banner small,.viewer-banner span{color:var(--compact-text-soft)}.demo-banner-error{color:#ffc3bd}.viewer-banner{background:#8e661d2e;border-color:#e7bd6740;min-height:38px}@media (width<=1250px){.topbar-status>span:first-child{display:none}}@media (width<=920px){.topbar{flex-wrap:wrap;gap:7px 12px;padding-top:7px;padding-bottom:7px}.topbar nav{order:3;justify-content:center;width:100%}.topbar-status{display:none}.topbar-right{margin-left:auto}}@media (width<=620px){.brand span{display:none}.account-controls{border-left:0;padding-left:0}.workspace-name,.workspace-switcher select{max-width:145px}.demo-banner,.viewer-banner{flex-direction:column;align-items:flex-start;gap:7px;padding:10px 16px}.demo-banner{flex-direction:row}.demo-banner>span:first-child{flex-direction:column;align-items:flex-start;gap:2px}.workspace-members-heading,.workspace-member-list-heading{flex-direction:column;align-items:stretch;gap:10px}.workspace-members-heading .secondary-button{align-self:flex-start}.workspace-invite-form,.workspace-member-row{grid-template-columns:minmax(0,1fr)}.workspace-member-role-form{justify-content:flex-start}}.cloud-transition-dialog{max-width:42rem}.cloud-transition-body,.cloud-transition-step{gap:.9rem;display:grid}.cloud-transition-fingerprint{overflow-wrap:anywhere;border:1px solid var(--compact-border);background:var(--compact-surface-strong);border-radius:.45rem;padding:.75rem;font-size:.78rem}.condition-editor{position:relative}.condition-toolbar,.condition-tools{flex-wrap:wrap;align-items:center;gap:6px 12px;display:flex}.condition-toolbar{margin-bottom:8px;padding-right:26px}.condition-tools{margin:8px 0}.condition-drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.condition-node>.condition-remove{top:7px;bottom:auto}.condition-toolbar .text-button,.condition-tools .text-button,.condition-wrapper-body>.text-button,.condition-wrapper-body>.button-row .text-button,.condition-add-target.text-button{min-height:28px;padding:3px 0;font-size:.72rem;text-decoration:none}.condition-picker-dialog{width:min(520px,100vw - 24px)}.condition-choices{gap:5px;margin-top:12px;display:grid}.condition-choice{text-align:left;border:1px solid var(--compact-border-strong);background:var(--compact-surface);color:var(--compact-text-soft);border-radius:5px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px;display:flex}.condition-choice span{color:var(--compact-subtle);font-size:.75rem}.condition-choice:hover,.condition-choice:focus-visible{background:var(--compact-surface-hover)}.condition-drop-slot{height:8px;position:relative}.condition-drop-slot .condition-drop-target{z-index:8;position:absolute;top:-10px;left:0}.condition-drop-target{border:1px dashed var(--compact-accent);width:100%;min-height:28px;color:var(--compact-text-soft);background:#54c8c21a;border-radius:4px;margin:0;padding:3px 8px;font-size:.72rem;display:block}.condition-add-target.text-button{text-align:left;background:0 0;border:0;width:fit-content}.condition-drop-target.drag-over,.condition-drop-target:focus-visible{outline:2px solid var(--compact-accent);background:#54c8c259}.automation-rule.drag-over{outline:2px solid var(--compact-accent)}.automation-rule.rule-dragging{opacity:.65}.rule-heading{flex-wrap:wrap}.rule-heading>button{white-space:nowrap;flex-shrink:0}.rule-heading>.text-button{font-size:.72rem;text-decoration:none}@media (width<=700px){.rule-heading>div{flex-basis:100%}.rule-heading>.text-button{margin-right:auto}.automation-rule>header>.rule-summary-toggle{grid-column:2/-1}.automation-rule>header>.enabled-toggle{grid-column:2}.rule-move-actions{grid-area:2/3/auto/-1;justify-self:end}}.schedule-source-overrides{gap:12px;min-width:0;padding:14px;display:grid}.schedule-source-overrides-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.schedule-source-overrides-heading h2,.schedule-source-overrides-heading p{margin:0}.schedule-source-overrides-heading p:not(.eyebrow){max-width:46rem;color:var(--compact-text-soft);margin-top:4px;font-size:.82rem}.schedule-source-duration{color:var(--compact-text-soft);gap:4px;font-size:.75rem;font-weight:700;display:grid}.schedule-source-duration select{border:1px solid var(--compact-border);min-width:100px;color:var(--compact-text);background:var(--compact-surface);border-radius:5px;padding:6px}.schedule-source-override-bank{align-items:stretch;gap:12px;min-height:210px;padding:4px 2px;display:flex;overflow-x:auto}.schedule-source-override-slider{border-right:1px solid var(--compact-border);min-width:120px;color:var(--compact-text-soft);text-align:center;grid-template-rows:auto auto auto 1fr auto;place-items:center;gap:5px;padding:0 10px;display:grid}.schedule-source-override-slider strong{text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-size:.75rem;overflow:hidden}.schedule-source-override-color{border-radius:50%;width:8px;height:8px}.schedule-source-override-slider output{color:var(--compact-accent);font-variant-numeric:tabular-nums;font-size:.78rem}.schedule-source-override-slider input[type=range]{width:160px;margin:64px -58px;transform:rotate(-90deg)}.schedule-source-override-slider small{color:var(--compact-subtle);font-size:.68rem}.schedule-source-override-actions{justify-content:flex-end;gap:8px;display:flex}@media (width<=620px){.schedule-source-overrides-heading{display:grid}.schedule-source-duration{width:fit-content}}.error-banner{white-space:pre-line}.equipment-row-forced .equipment-channel-preview{color:#f1cf78}button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.condition-category-tabs{flex-wrap:wrap;gap:4px;margin:10px 0;display:flex}.condition-category-tabs button{border:1px solid var(--compact-border);color:var(--compact-text-soft);background:0 0;border-radius:5px;padding:5px 8px}.condition-category-tabs button.active{color:var(--compact-accent);background:var(--compact-surface-hover);border-color:var(--compact-accent)}.condition-choice-group{gap:4px;display:grid}.condition-choice-group h3{color:var(--compact-subtle);margin:8px 0 3px;font-size:.75rem}@media (width<=560px){.timed-mode-editor-row{grid-template-columns:minmax(0,1fr) 90px 30px}.timed-mode-editor-row>label:first-child{grid-column:1/-1}.timed-mode-group-heading{flex-wrap:wrap}.timed-mode-group-heading>input{flex-basis:60%}}.input-editor-submission{display:contents}.input-editor-tabs{border-bottom:1px solid var(--compact-border);flex-wrap:wrap;padding:0 16px;display:flex}.input-editor-tabs button{color:var(--compact-muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:10px;font-size:.8rem;font-weight:700}.input-editor-tabs button[aria-selected=true]{border-bottom-color:var(--compact-accent);color:var(--compact-text)}.input-editor-body [role=tabpanel]:not([hidden]){gap:12px;display:grid}.input-editor-body [role=tabpanel][hidden]{display:none}.aquarium-settings-page{max-width:760px}.aquarium-setting-row{border-bottom:1px solid #8fcacb33;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr);align-items:center;gap:20px;padding:24px 0;display:grid}.aquarium-setting-row button{text-align:left}.alert-rules-page section{margin-top:28px}.alert-rule-row{border-bottom:1px solid #8fcacb33;justify-content:space-between;align-items:start;gap:20px;padding:14px 0;display:flex}.alert-rule-row p{margin:5px 0}.alert-rule-row small{color:#9fbfbe}.heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.disabled-label{color:#efc573;margin-left:7px;font-size:.7rem;font-weight:700;display:inline-block}.automation-rule.rule-disabled{background:#5a686c1f;border-style:dashed}.rule-disabled .enabled-toggle{color:#efc573;font-weight:700}.rule-else{margin-top:12px}.alert-rules-page h1{letter-spacing:normal;font-size:1.7rem}.alert-rules-page h2{font-size:1rem}.alert-rule-row details{color:#9fbfbe;margin-top:8px;font-size:.8rem}.control-alert-card+.control-alert-card{border-top:1px solid #80cec81c}.control-alert-card>summary{cursor:pointer;list-style:none}.control-alert-card>summary::-webkit-details-marker{display:none}.control-alert-card>summary:focus-visible{outline-offset:-2px;outline:2px solid #71d8d2}.alert-source-details{padding:0 19px 16px;font-size:.82rem}.alert-source-details h4{margin:12px 0 8px}.alert-source-details dl{grid-template-columns:minmax(100px,145px) minmax(0,1fr);gap:5px 12px;display:grid}.alert-source-details dt{color:#9fbfbe}.alert-source-details dd{overflow-wrap:anywhere;margin:0}.sensor-reading-list .sensor-history-preview{width:100%;color:var(--muted);text-align:left;background:0 0;border:0;padding:2px 10px 8px;display:block}.sensor-history-preview>small{font-size:10px;display:block}.sensor-history-plot svg{width:100%;display:block}.sensor-history-preview .sensor-history-plot svg{height:70px}.sensor-history-line{fill:none;stroke:#50c8c0;stroke-width:2px;vector-effect:non-scaling-stroke}.sensor-history-band{fill:#50c8c0;opacity:.2}.sensor-history-dot{fill:#50c8c0}.sensor-history-grid{stroke:currentColor;opacity:.12}.sensor-history-plot text{fill:currentColor;font-size:12px}.sensor-history-range{justify-content:space-between;padding-left:44px;font-size:12px;display:flex}.sensor-history-range>span:last-child{text-align:right}.sensor-history-dialog{width:min(960px,100vw - 24px)}.sensor-history-controls{flex-wrap:wrap;gap:12px;display:flex}.sensor-history-controls>label{flex:160px;gap:4px;display:grid}.sensor-history-inspection{min-height:2.8em;font-size:12px}.sensor-history-empty{place-items:center;min-height:180px;font-size:12px;display:grid}.sensor-history-empty.compact{min-height:70px}.section-editor-list .section-add-equipment{grid-column:1/-1;justify-self:start}.pending-control-alerts{color:var(--compact-muted);margin-top:14px}.pending-control-alerts>summary{cursor:pointer;padding:10px 0}.pending-control-alerts .control-alert-row{border-color:var(--compact-border)}.pending-control-alerts .control-alert-primary h3,.pending-control-alerts .alert-severity{color:var(--compact-muted);font-weight:400}.settings-navigation{gap:.6rem;margin:.75rem 0;display:flex}.admin-page{max-width:1120px;margin-inline:auto}.admin-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-heading h1{margin:0}.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.admin-stat{background:#389b8412;border-top:3px solid #389b84;border-radius:.4rem;gap:.4rem;padding:1.2rem;display:grid}.admin-stat strong{font-variant-numeric:tabular-nums;font-size:2rem}.admin-stat small,.admin-chart-labels{opacity:.7}.admin-section{margin-top:2rem}.admin-section h2{font-size:1.15rem}.admin-registration-chart{border-bottom:1px solid #389b8460;align-items:end;gap:4px;height:110px;display:flex}.admin-registration-day{flex:1;align-items:end;height:100%;display:flex}.admin-registration-day span{background:#389b84;border-radius:3px 3px 0 0;width:100%;min-height:2px}.admin-chart-labels{justify-content:space-between;margin-top:.5rem;display:flex}.admin-invitation-form{flex-wrap:wrap;align-items:end;gap:.8rem;display:flex}.admin-invitation-form label,.admin-created-link label{flex:1;gap:.4rem;display:grid}.admin-created-link{flex-wrap:wrap;align-items:end;gap:.8rem;margin-top:1rem;display:flex}.admin-created-link p{flex-basis:100%;margin:0}.admin-table-scroll{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.9rem}.admin-table caption{text-align:left;opacity:.7;padding-bottom:.5rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #389b8430;padding:.8rem .5rem}.admin-table small{opacity:.7;margin-top:.3rem;display:block}@media (width<=700px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-invitation-form label{flex-basis:100%}}.disabled-action-hint{display:inline-flex}.disabled-action-hint>button:disabled{pointer-events:none}.device-alarm-dialog .dialog-body{gap:12px;display:grid}.device-alarm-dialog .field{gap:6px;display:grid}.maintenance-interval-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.maintenance-entry-dialog fieldset.form-grid{border:0;min-width:0;margin:0;padding:0}.password-input{min-width:0;display:flex;position:relative}.password-input>input{width:100%;padding-right:42px}.password-visibility{position:absolute;top:50%;right:3px;transform:translateY(-50%)}.connection-link-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.notification-dialog>.dialog-header{padding:16px}.notification-dialog h2{margin:0;font-size:1.3rem}.history-time-slider{touch-action:none;background:#102f35;border-radius:6px;height:28px;margin:12px 12px 8px;position:relative}.history-time-window{cursor:grab;background:#387d80;border-radius:4px;position:absolute;top:4px;bottom:4px}.history-time-start,.history-time-end{z-index:1;cursor:ew-resize;background:#76ded6;border:2px solid #183c43;border-radius:6px;width:20px;position:absolute;top:-2px;bottom:-2px;transform:translate(-50%)}.history-time-slider [role=slider]:focus-visible{outline-offset:3px;outline:2px solid #e9f4f3}.alert-card.alert-recovered{border-top:1px solid #80cec82e;align-self:start;padding:12px 16px}.recovered-alert-summary{cursor:pointer;color:#a9c0be;flex-wrap:wrap;align-items:center;gap:10px;display:flex}.recovered-alert-summary strong{color:#bce6df}.recovered-alert-summary time{margin-left:auto;font-size:.8rem}.alert-recovered[open]>summary{margin-bottom:16px}.recovered-alert-chevron{flex-shrink:0}.alert-recovered[open] .recovered-alert-chevron{transform:rotate(90deg)}.control-page:has(>.control-area-heading){gap:0}.control-area-heading{margin-bottom:18px}.notification-dialog>.dialog-actions{padding:12px 16px}.notification-dialog .compact-form-grid>label{grid-template-columns:100px minmax(0,1fr);align-items:center;display:grid}.viewer-banner{padding-right:44px;position:relative}.viewer-banner-close{position:absolute;top:50%;right:8px;transform:translateY(-50%)}.reminder-disabled{border-left:3px solid var(--compact-muted)}.reminder-disabled-label{color:var(--compact-muted);margin-left:8px;font-weight:700}@media (width<=780px){.control-area-heading{margin-bottom:12px}}.sensor-chart-scale-fields,.overview-chart-scale>fieldset{border:0;min-width:0;margin:12px 0;padding:0}.sensor-chart-scale-fields legend{margin-bottom:8px;font-size:.8rem;font-weight:700}.sensor-chart-scale-fields>small{margin-top:8px;display:block}.overview-chart-scale>summary{cursor:pointer;color:var(--compact-accent);font-size:.8rem}.overview-chart-scale>fieldset>.sensor-chart-scale-fields{margin-top:0}
