.dashboard-editing .dashboard-widget,.room-device-card.layout-editing{touch-action:none;cursor:grab;user-select:none}.dashboard-editing .widget-content,[class].layout-editing .room-card-body{pointer-events:none}.is-dragging{position:relative;z-index:40;pointer-events:none!important;cursor:grabbing;box-shadow:0 18px 60px #0009;opacity:.85}.premium-title{font-size:1rem;margin:0 0 12px}.premium-body{flex:1;min-height:0;overflow:auto}.widget-content:has(.premium-body){display:flex;flex-direction:column;height:100%;min-height:120px}.premium-empty{color:var(--fg-muted);max-width:32em;padding:16px 0;line-height:1.6}.chart-ranges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}.chart-ranges .soft{padding:5px 10px;font-size:12px}.chart-ranges .active{background:rgba(var(--fg-ink-rgb), 1);color:var(--fg-muted)}.energy-live{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.energy-live strong{font-size:clamp(22px,3vw,40px);font-weight:500;letter-spacing:-.04em}.energy-chart{width:100%;min-height:130px;max-height:320px;display:block;touch-action:pan-y}.chart-tooltip{font-size:11px;color:var(--fg-muted);min-height:2.5em;margin:0}.suggestion-device{display:flex;align-items:center;gap:12px;width:100%;background:rgba(var(--fg-ink-rgb), 0.016);border:1px solid var(--fg-line);border-radius:13px;padding:12px;margin-bottom:8px;text-align:left;color:var(--fg-text);transition:background .2s,transform .2s}.suggestion-device:hover{background:rgba(var(--fg-ink-rgb), 0.047);transform:translateY(-1px)}.suggestion-device>span:first-of-type{flex:1;min-width:0}.suggestion-device strong,.suggestion-device small{display:block}.suggestion-device small{color:var(--fg-muted);font-size:11px;margin-top:4px}.suggestion-value{font-size:12px}.mini-plan{width:100%;height:100%;min-height:150px;max-height:850px;background:rgba(var(--fg-surface-rgb), 1);border-radius:12px}.mini-plan polygon[role=button]{cursor:pointer}.mini-plan polygon[role=button]:hover{fill-opacity:.4}.mini-plan-device{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:rgba(var(--fg-surface-rgb), 0.933);border:1px solid var(--fg-line);border-radius:12px;padding:5px;min-width:38px;color:var(--fg-text);cursor:pointer}.mini-plan-device svg{width:22px;height:22px}.mini-plan-device small{font-size:10px;white-space:nowrap}.mini-plan-device.is-on{background:rgba(var(--fg-surface-rgb), 1);box-shadow:0 0 15px #c4e8be30}.camera-frame{width:100%;height:100%;min-height:120px;object-fit:contain;border-radius:12px;background:rgba(var(--fg-surface-rgb), 1)}.dashboard-widget[data-kind=plan] .widget-content,.dashboard-widget[data-kind=camera] .widget-content{height:var(--widget-height)}.dashboard-widget[data-kind=energy] .widget-content,.dashboard-widget[data-kind=suggestions] .widget-content{min-height:var(--widget-height)}.remote-config{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;padding:12px;background:rgba(var(--fg-surface-rgb), 1);border-radius:10px}.control-unit:has(.energy-chart){min-width:0}.room-card.layout-editing,.room-grid-card.layout-editing{touch-action:none;user-select:none;cursor:grab}@media(prefers-reduced-motion:reduce){.suggestion-device{transition:none}}

.room-device.layout-editing{touch-action:none;user-select:none;cursor:grab}

@media(max-width:699px){
 .workspace main{padding:10px 8px}.dashboard-grid,.room-card-grid{gap:7px}.home-rooms-section{margin-bottom:14px}.home-room{min-height:62px;padding:9px;border-radius:14px;gap:3px 8px}.home-room-symbol{width:26px;height:26px;margin:0}.home-room-symbol svg{width:18px;height:18px}.home-room strong{font-size:12px}.home-room-status{font-size:9px}.home-room-arrow{width:12px;height:12px;right:8px;top:10px}
 .dashboard-widget,.room-device,.device-card{border-radius:14px}.widget-content,.room-card-body,.device-card{padding:10px}.widget-device-heading,.room-device .widget-device-heading{gap:7px;flex-wrap:nowrap;align-items:flex-start}.widget-device-heading>div,.room-device h3{min-width:0}.widget-device-heading h3,.room-device .widget-device-heading h3,.device-card h3{font-size:12px;line-height:1.3;overflow-wrap:anywhere}.widget-device-heading p{font-size:9px}.widget-symbol{min-width:32px;min-height:32px;padding:4px;border-radius:9px}.widget-symbol svg,.room-device .widget-symbol svg{width:24px;height:24px}.widget-reading,.room-device .widget-reading{margin:8px 0;gap:4px}.widget-reading strong,.room-device .widget-reading strong,.device-reading strong{font-size:20px;letter-spacing:-.4px;overflow-wrap:anywhere}.widget-reading small{font-size:10px}.widget-values{display:none}.widget-content>.text-button,.room-card-body>.text-button{min-height:30px;margin-top:5px;padding:5px 0;font-size:10px}
 .quick-controls{gap:6px}.quick-button{min-height:38px;font-size:10px;padding:6px;border-radius:9px}.quick-switch{gap:4px;padding:6px}.quick-switch:after{display:none}.quick-blinds{gap:4px}.quick-blinds .quick-button{min-height:40px;padding:5px 2px;font-size:9px}.quick-blinds svg{width:15px;height:15px}.quick-choices{gap:4px;flex-wrap:wrap}.quick-choices .quick-button{flex-basis:54px}.live-setting{padding:7px;border-radius:9px}.live-setting-head{font-size:10px}.live-setting input[type=range]{height:24px}.live-actual{font-size:9px}.device-icon{width:28px;height:28px}.device-icon svg{width:18px;height:18px}.devices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-card{min-width:0}.device-top{gap:5px}.device-top>div{min-width:0}.device-open{font-size:10px;min-height:32px;padding:5px}.pending-message{font-size:9px;line-height:1.35;overflow-wrap:anywhere}
 .shutter-graphic.compact{max-width:100px;padding:5px 10px 20px;margin:0 auto}.shutter-graphic.compact .shutter-window{height:70px;border-width:3px}.shutter-percent{font-size:10px}.widget-room-link{min-height:70px;font-size:14px;gap:8px}.widget-clock{font-size:28px}.fp-marker-face{min-width:34px;width:max(40px,min(var(--marker-pixel-size,40px),48px))}.fp-marker-face>button{min-width:32px;min-height:32px;max-width:48px;max-height:48px;padding:5px;border-radius:10px}.marker-label{font-size:9px;max-width:100px;padding:2px}.marker-value{font-size:9px}.plan-blind-controls{gap:2px;padding:2px}.plan-blind-controls .plan-blind-action{width:28px;height:32px;min-width:28px;min-height:32px;padding:6px}.comfort-grid{gap:7px}.premium-title{font-size:13px;margin-bottom:8px}.suggestion-device{padding:8px;gap:7px}.suggestion-device strong{font-size:12px}
}

/* Full-tile camera, with controls overlaid instead of taking image space. */
.dashboard-widget[data-kind=camera]>.widget-content.camera-widget{position:relative;display:block;padding:0!important;overflow:hidden;min-height:120px;background:#000}
.camera-widget>.premium-body{position:absolute;inset:0;overflow:hidden}
.camera-widget .camera-frame{display:block;position:absolute;inset:0;width:100%;height:100%;min-height:0;object-fit:cover;border-radius:0;background:#000}
.camera-widget>.premium-title{position:absolute;z-index:2;left:12px;top:10px;max-width:calc(100% - 110px);margin:0;padding:5px 8px;border-radius:7px;background:#0008;color:#fff;pointer-events:none;font-size:14px}
.camera-widget>.camera-status{position:absolute;z-index:2;left:10px;right:10px;bottom:42px;margin:0;padding:7px;background:#000b;color:#fff;border-radius:7px;pointer-events:none;overflow-wrap:anywhere}
.camera-widget.camera-playing>.camera-status{display:none}
.camera-widget>.camera-tools{position:absolute;z-index:3;right:10px;top:10px;max-width:calc(100% - 20px);color:#fff;background:#16191feb;border:1px solid #ffffff30;border-radius:9px;padding:5px 8px}
.camera-tools summary{cursor:pointer;font-size:12px;min-height:24px;display:flex;align-items:center}
.camera-tools[open]{width:280px;max-height:calc(100% - 20px);overflow:auto}
.camera-tools button{color:#fff;display:block;margin:5px 0;font-size:12px}.camera-tools .camera-diagnostic{color:#fff;overflow-wrap:anywhere}

.camera-widget>.premium-title{display:none}
.camera-widget>.camera-status,.camera-widget.camera-playing>.camera-status{display:block;left:9px;right:48px;bottom:8px;padding:2px 5px;font-size:10px;line-height:1.3;border-radius:4px;max-height:3.9em;overflow:hidden;background:#0007;color:#fff}
.camera-widget>.camera-tools{top:auto;right:8px;bottom:7px;padding:0;border:0;background:#0007;border-radius:50%;width:28px;height:28px;overflow:visible}
.camera-tools>summary.camera-gear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;min-height:0;list-style:none;border-radius:50%;cursor:pointer}
.camera-tools>summary.camera-gear::-webkit-details-marker{display:none}.camera-gear svg{width:16px;height:16px}.camera-gear:focus-visible{outline:2px solid white;outline-offset:2px}
.camera-widget>.camera-tools[open]{width:min(280px,calc(100% - 16px));height:auto;max-height:calc(100% - 14px);padding:8px 8px 36px;border-radius:9px;overflow:auto;background:#16191ff5}
.camera-tools[open]>summary.camera-gear{position:absolute;right:0;bottom:0}

.gate-state{display:block;font-size:clamp(22px,4vw,38px);margin:12px 0}.widget-content:has(>.gate-state){display:flex;flex-direction:column;justify-content:center}
