.sensor-settings-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;padding:0!important;align-content:start}
.sensor-test-panel{grid-column:1/-1;border:1px solid var(--border,var(--dc-border,#ffffff24));border-radius:8px;padding:6px 9px;background:var(--dc-background,#1c2b20);display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0}
.sensor-test-heading{display:flex;align-items:center;gap:7px;min-height:18px}.trigger-label{font-size:12px;color:var(--dc-text,#fff)}.sensor-test-status{font-size:10px;color:var(--muted,var(--dc-text-muted,#b6c3ba));text-align:right}.sensor-test-guide{display:none}
.trigger-lamp{width:14px;height:14px;flex:0 0 14px;border-radius:50%;background:#361f20;border:2px solid #ffffff28;box-shadow:inset 0 2px 4px #0008}.sensor-test-panel[data-triggered=true] .trigger-lamp{background:#ff5b50;box-shadow:0 0 12px #ff5b5080,inset 0 1px 3px #fff6}
.sensor-mode{grid-column:1!important;gap:4px!important;align-self:start}
.sensor-cards{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.sensor-control-card{min-width:0;padding:6px;border:1px solid var(--dc-border,#ffffff24);border-radius:8px;background:var(--dc-background,#1c2b20)}.sensor-control-card h4{grid-column:1;grid-row:1;margin:0;font-size:12px;color:var(--dc-heading,#fff);line-height:1.2}.sensor-control-card label{margin:0;gap:0!important}.sensor-control-card[data-sensor-card=sound]{grid-column:1/-1}.sensor-control-card[data-live=true] .sensor-background-summary{display:none}
.sensor-sound-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.sensor-sound-heading label{width:auto;min-width:0}.sensor-sound-heading select{width:160px!important;max-width:100%}.sensor-sound-heading h4{font-size:13px}
.sensor-slider-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:0 6px}.sensor-slider-row input.sensor-number{grid-column:2;grid-row:1;font-size:16px!important;width:48px!important;text-align:center;padding:4px 2px!important;min-height:32px!important;height:32px;margin:0}.sensor-field-title{grid-column:1;grid-row:1;line-height:1.2;font-size:12px}
.sensor-scale{grid-column:1/-1;grid-row:3;position:relative;min-width:0;height:32px;--sensor-position:.5}.sensor-meter{position:absolute;left:16px;right:16px;top:18px;height:12px;border-radius:3px;background:#ffffff12;overflow:hidden;pointer-events:none}.sensor-meter>span{display:block;height:100%;background:var(--dc-status-charging,#75d7a2);width:0}.sensor-scale[data-state=above] .sensor-meter>span{background:#ff6c60}.sensor-scale[data-state=triggered] .sensor-meter>span{background:#ff5b50}.sensor-scale[data-state=disabled]{opacity:.5}
.sensor-threshold-marker{position:absolute;left:calc(16px + (100% - 32px)*var(--sensor-position));top:0;width:32px;height:32px;transform:translateX(-50%);cursor:grab;touch-action:none;z-index:3;user-select:none;-webkit-user-select:none}.sensor-threshold-marker::before{content:'';position:absolute;left:8px;top:2px;width:16px;height:14px;border-radius:3px 3px 2px 2px;background:var(--dc-brand-orange,#ff860a);box-shadow:inset 0 1px 0 #ffffff35,0 1px 2px #0005;pointer-events:none}.sensor-threshold-marker::after{content:'';position:absolute;left:15px;top:16px;width:2px;height:14px;background:var(--dc-brand-orange,#ff860a);pointer-events:none}.sensor-threshold-marker>span{position:absolute;left:12px;top:6px;width:8px;height:6px;background:repeating-linear-gradient(to right,#17110c90 0,#17110c90 1px,transparent 1px,transparent 3px);border-radius:1px;pointer-events:none}
.sensor-slider-row .sensor-scale input[type=range]{position:absolute;z-index:2;display:block;appearance:none;-webkit-appearance:none;width:100%;height:32px;min-width:0;min-height:32px;margin:0;padding:0;border:0;border-radius:0;background:transparent;pointer-events:none}
.sensor-scale input[type=range]::-webkit-slider-runnable-track{height:12px;border:0;background:transparent}.sensor-scale input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:32px;height:32px;margin-top:-10px;border:0;border-radius:0;background:transparent}
.sensor-scale input[type=range]::-moz-range-track{height:12px;border:0;background:transparent}.sensor-scale input[type=range]::-moz-range-thumb{box-sizing:border-box;width:32px;height:32px;border:0;border-radius:0;background:transparent}
.sensor-scale[data-dragging=true] .sensor-threshold-marker{cursor:grabbing}.sensor-scale[data-dragging=true] .sensor-threshold-marker::before{box-shadow:inset 0 1px 2px #17110c60;transform:translateY(1px)}.sensor-scale:has(input:focus-visible) .sensor-threshold-marker::before{outline:2px solid var(--dc-text,#fff);outline-offset:2px}.sensor-scale[data-disabled=true]{opacity:.5}.sensor-scale[data-disabled=true] .sensor-threshold-marker{cursor:default}
.sensor-scale-ends{grid-column:1/-1;grid-row:4;display:flex;justify-content:space-between;margin:0 16px;font-size:9px;line-height:8px;color:var(--muted,var(--dc-text-muted,#b6c3ba));font-variant-numeric:tabular-nums}
.sensor-reading{grid-column:1/-1;grid-row:2;display:flex;align-items:center;gap:5px;font-size:10px;line-height:14px;color:var(--muted,var(--dc-text-muted,#b6c3ba));min-width:0}.sensor-reading-text{font-variant-numeric:tabular-nums}.sensor-reading-state{display:none}.sensor-led{width:6px;height:6px;flex:0 0 6px;background:#68766d;border-radius:50%}.sensor-reading[data-state=above] .sensor-led{background:var(--dc-brand-orange,#ff860a)}.sensor-reading[data-state=triggered] .sensor-led{background:#ff5b50;box-shadow:0 0 7px #ff5b50a0}.sensor-reading[data-state=disabled]{opacity:.5}
.sensor-coincidence{grid-column:2!important;position:relative;padding:0;border:0;min-width:0}.sensor-coincidence>label{margin:0;gap:0!important}.sensor-window-title{display:flex;align-items:center;gap:2px;font-size:11px}.sensor-info{flex:0 0 24px;width:24px;height:24px!important;min-height:24px!important;padding:0!important;border:0;border-radius:5px;background:transparent;color:var(--dc-brand-orange,#ff860a);font:bold 14px Georgia,serif;cursor:pointer;position:relative}.sensor-info::before{content:'';position:absolute;width:16px;height:16px;border:1px solid currentColor;border-radius:50%;top:3px;left:3px}
.sensor-help{position:fixed;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);width:360px;max-width:calc(100vw - 24px);font-size:13px;line-height:1.5;margin:0;padding:20px 34px 20px 16px;background:var(--dc-background-raised,#25372c);border:1px solid var(--dc-border,#ffffff24);border-radius:10px;box-shadow:0 8px 40px #0009;color:var(--dc-text,#fff)}.sensor-help-close{position:absolute;right:4px;top:4px;width:28px;height:28px;min-height:28px!important;padding:0!important;color:var(--dc-text,#fff);background:transparent;border:0;font-size:24px}

/* Persistent navigation and the selected settings use the whole viewport. */
dialog.settings-fullscreen{box-sizing:border-box;width:100vw!important;height:100dvh;max-width:none;max-height:none!important;margin:0;padding:0!important;border:0;border-radius:0;overflow:hidden;background:var(--dc-background-raised)}
dialog.settings-fullscreen[open]{display:block}.settings-fullscreen [hidden]{display:none!important}
.settings-layout{display:grid;grid-template-columns:164px minmax(0,1fr);width:100%;height:100%;min-height:0}
.settings-sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;padding:18px 10px;background:var(--dc-background);border-right:1px solid var(--dc-border,#ffffff24)}
.settings-brand{display:flex;align-items:center;gap:10px;padding:0 10px 20px;font-size:18px;white-space:nowrap;color:var(--dc-heading)}.settings-brand img{width:32px;height:32px;border-radius:7px}
.settings-navigation{display:flex;flex-direction:column;gap:5px;overflow:auto;min-height:0;overscroll-behavior:contain}
.settings-nav-item{flex-shrink:0;min-height:44px;border:1px solid transparent;border-radius:8px;padding:10px 12px;background:transparent;color:var(--dc-text-muted);text-align:left;font-size:14px;font-weight:600;line-height:1.2}
.settings-nav-item[aria-current=page]{border-color:var(--dc-brand-orange);background:var(--dc-background-raised);color:var(--dc-brand-orange)}.settings-nav-item:hover{background:var(--dc-background-raised)}
.settings-content{display:flex;flex-direction:column;min-width:0;min-height:0;gap:14px;padding:18px 20px}
.settings-fullscreen .settings-heading,.settings-fullscreen .dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;margin:0;flex-shrink:0}.settings-fullscreen .settings-heading h2,.settings-fullscreen .dialog-heading h2{font-size:22px;margin:0}.settings-fullscreen .eyebrow{display:none}
.settings-fullscreen #close-settings{flex:0 0 32px;width:32px;min-width:32px;height:32px;min-height:32px;padding:0;font-size:24px}
.settings-fullscreen #settings-form,.settings-fullscreen #tablet-settings-form{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;flex:1;width:100%;margin:0;padding:0;border:0}
.settings-fullscreen .settings-page-body,.settings-fullscreen #remote-settings-fields{flex:1;min-height:0;overflow:auto;margin:0;padding:0;border:0;overscroll-behavior:contain}
.settings-fullscreen [data-settings-page]{margin:0}.settings-fullscreen [data-settings-page=sensors]{height:100%;padding:0;border:0;min-width:0}
.settings-fullscreen [data-settings-page=sensors]>legend,.settings-fullscreen [data-settings-page]>summary,.settings-fullscreen #tablet-settings-form>h3{display:none}
.settings-fullscreen .settings-group{margin:0;padding:0;border:0}.settings-content>.settings-section{flex:1;min-height:0;overflow:auto;margin:0;padding:0;border:0}
.settings-fullscreen #remote-settings-status{order:2;font-size:11px;line-height:14px;min-height:14px;margin:0}.settings-fullscreen #remote-settings-message{order:3;font-size:12px;margin:0}.settings-fullscreen #remote-settings-message:empty{display:none}
.settings-fullscreen #save-tablet-settings{order:4;align-self:flex-end;min-height:36px;padding:8px 16px;font-size:14px}.settings-fullscreen .dialog-footer{flex-shrink:0;min-height:36px}.settings-fullscreen .dialog-footer button{min-height:36px;padding:8px 16px;font-size:14px}.settings-fullscreen #settings-error{font-size:12px;min-height:0;margin:0}.settings-fullscreen #settings-error:empty{display:none}
.sensor-settings-grid{height:100%;min-height:560px;grid-template-rows:auto auto minmax(0,1fr);gap:14px!important;align-content:stretch}
.sensor-test-panel{padding:10px 14px;min-height:48px;border-radius:10px}.trigger-label{font-size:14px}.sensor-test-status{font-size:12px}.trigger-lamp{width:18px;height:18px;flex-basis:18px}
.sensor-mode{align-self:center;gap:6px!important}.sensor-coincidence{align-self:center}
.sensor-cards{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(130px,1fr) minmax(150px,1fr);min-height:0}
.sensor-cards:not(:has([data-sensor-card=sound]:not([hidden]))){grid-template-rows:minmax(130px,1fr)}
.sensor-control-card{display:flex;flex-direction:column;justify-content:center;padding:18px;border-radius:12px;min-width:0;min-height:0}
.sensor-control-card h4{font-size:16px;line-height:1.3}.sensor-control-card[data-sensor-card=sound]{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto minmax(0,1fr);align-content:stretch;align-items:center;gap:12px 20px}
.sensor-sound-heading,.sensor-background-summary{grid-column:1/-1}.sensor-sound-heading{margin:0}.sensor-sound-heading h4{font-size:16px}.sensor-sound-heading select{width:180px!important}
.sensor-control-card[data-sensor-card=sound]>label{align-self:center;min-width:0}.sensor-sound-heading label{max-width:65%}
.sensor-slider-row{grid-template-columns:minmax(0,1fr) 58px;gap:8px 10px}.sensor-slider-row input.sensor-number{width:58px!important;height:36px;min-height:36px!important;padding:6px 3px!important}
.sensor-field-title{font-size:14px;line-height:1.3}.sensor-reading{font-size:13px;line-height:18px;flex-wrap:wrap;gap:6px}.sensor-reading-state{display:block;font-size:11px;margin-left:auto}.sensor-scale-ends{font-size:10px;line-height:12px}
.sensor-settings-grid>.sensor-test-panel,.sensor-settings-grid>.sensor-cards{grid-column:1/-1!important}
@media(max-width:700px){
 .settings-layout{grid-template-columns:80px minmax(0,1fr)}.settings-sidebar{padding:12px 5px}.settings-brand{flex-direction:column;gap:5px;padding:0 0 14px;font-size:12px}.settings-brand img{width:28px;height:28px}.settings-nav-item{font-size:12px;padding:9px 5px;text-align:center;overflow-wrap:anywhere}
 .settings-content{padding:10px;gap:8px}.settings-fullscreen .settings-heading h2,.settings-fullscreen .dialog-heading h2{font-size:18px}
 .sensor-settings-grid{gap:8px!important;min-height:580px}.sensor-cards{gap:8px;grid-template-rows:minmax(190px,1fr) minmax(230px,1fr)}.sensor-control-card{padding:10px}.sensor-control-card h4{font-size:13px}.sensor-control-card[data-sensor-card=sound]{gap:8px}.sensor-sound-heading h4{font-size:14px}.sensor-sound-heading select{width:150px!important}
 .sensor-slider-row{grid-template-columns:minmax(0,1fr) 48px;gap:4px}.sensor-slider-row input.sensor-number{width:48px!important}.sensor-reading{font-size:11px;line-height:16px}.sensor-reading-state{display:none}.sensor-field-title{font-size:12px}.sensor-test-panel{padding:8px;gap:6px;flex-wrap:wrap}.sensor-test-status{font-size:10px;text-align:left}.trigger-label{font-size:12px}.sensor-window-title{font-size:11px}.sensor-mode{font-size:11px!important}
 .sensor-control-card h4,.sensor-control-card .sensor-field-title{grid-column:1/-1;grid-row:1}.sensor-control-card .sensor-number{grid-column:1/-1!important;grid-row:2!important;justify-self:end}.sensor-control-card .sensor-reading{grid-row:3}.sensor-control-card .sensor-scale{grid-row:4}.sensor-control-card .sensor-scale-ends{grid-row:5}
}
@media(min-width:701px) and (max-height:520px){.settings-sidebar{padding:10px}.settings-brand{padding-bottom:10px}.settings-content{padding:8px 14px;gap:6px}.sensor-settings-grid{gap:8px!important;min-height:380px}.sensor-cards{gap:8px;grid-template-rows:minmax(90px,1fr) minmax(112px,1fr)}.sensor-control-card{padding:8px 12px}.sensor-control-card[data-sensor-card=sound]{gap:4px 14px}.sensor-test-panel{padding:6px 10px;min-height:34px}.sensor-slider-row{gap:0 8px}.sensor-reading{font-size:11px;line-height:14px}.sensor-control-card h4{font-size:14px}}
@media(pointer:coarse){.sensor-threshold-marker::before{left:14px}.sensor-threshold-marker::after{left:21px}.sensor-threshold-marker>span{left:18px}.sensor-threshold-marker{width:44px}}

@media(min-width:701px) and (max-height:650px){
 .settings-content{padding:10px 14px;gap:8px}.sensor-settings-grid{gap:8px!important;min-height:380px}.sensor-test-panel{min-height:36px;padding:6px 10px}.sensor-cards{gap:8px;grid-template-rows:minmax(110px,1fr) minmax(146px,1fr)}.sensor-control-card{padding:10px}.sensor-control-card[data-sensor-card=sound]{gap:4px 14px}.sensor-slider-row{gap:0 8px}.sensor-slider-row input.sensor-number{height:32px;min-height:32px!important}.sensor-scale-ends{font-size:9px;line-height:8px}.sensor-reading{font-size:11px;line-height:14px}.sensor-control-card h4{font-size:14px}.sensor-coincidence .sensor-scale{grid-row:2}.sensor-coincidence .sensor-scale-ends{grid-row:3}
}

.sensor-control-card[data-sensor-card=sound]:has(>label[hidden])>label:not([hidden]){grid-column:1/-1}
.sensor-settings-grid:not(:has([data-sensor-card=sound]:not([hidden]))){min-height:360px}

/* Keep native option menus, but give the selected text predictable vertical room. */
.sensor-mode select,.sensor-sound-heading select{
 box-sizing:border-box;appearance:none;-webkit-appearance:none;
 font-size:16px!important;line-height:20px;height:44px;min-height:44px!important;
 padding:8px 22px 8px 8px!important;
 background-image:linear-gradient(45deg,transparent 50%,var(--dc-text-muted) 50%),linear-gradient(135deg,var(--dc-text-muted) 50%,transparent 50%);
 background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat;
}
