html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.count-label__count{color:var(--text-color-hint);font-weight:var(--weight-regular)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.floor-legend{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-top:1px solid var(--border-color);background:var(--color-background);font-size:var(--font-caption);color:var(--text-color-secondary);flex-shrink:0;display:flex}.floor-legend__item{align-items:center;gap:var(--space-tight);display:inline-flex}.floor-legend__item--hint{color:var(--text-color-hint);margin-left:auto;font-style:italic}.floor-legend__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.floor-legend__dot--anchor{background:var(--color-floorplan-anchor-fill);border:1px solid var(--color-floorplan-anchor-stroke)}.floor-legend__dot--door{background:var(--color-floorplan-room-movable);border:1px solid var(--color-floorplan-room-stroke)}.floor-legend__dot--open{background:var(--color-floorplan-grid-bg);border:2px solid var(--color-floorplan-room-selected)}.floor-legend__dot--wall{background:var(--color-floorplan-room-stroke)}.floor-legend__dot--unset{background:var(--color-floorplan-grid-bg);border:1px dashed var(--color-floorplan-room-stroke)}.floor-legend__dot--tag{background:var(--color-floorplan-tag-fill);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-floorplan-tag-fill) 18%, transparent)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.plan-3d{-webkit-user-select:none;user-select:none;--plan-plane-w:min(65cqw, 65cqh * var(--plan-w-max) / var(--plan-h-max));--plan-wall-h:calc(var(--plan-plane-w) * .07 * var(--plan-wall-scale,1));--plan-floor-gap:calc(var(--plan-plane-w) * .25);perspective:1600px;perspective-origin:50% 30%;width:100%;height:100%;position:relative;overflow:hidden;container-type:size}.plan-3d--orbits{cursor:grab;touch-action:none}.plan-3d--orbits:active{cursor:grabbing}.plan-3d__scene{transform-style:preserve-3d;position:absolute;inset:0}.plan-3d__floor{width:calc(var(--plan-plane-w) * var(--plan-w) / var(--plan-w-max));aspect-ratio:var(--plan-w)/var(--plan-h);transform-style:preserve-3d;transform:translate(-50%, -50%) scale(var(--plan-zoom,1)) rotateX(var(--plan-tilt,57deg)) rotateZ(calc(-38deg + var(--plan-turn,0deg))) translateZ(calc(var(--plan-level) * var(--plan-floor-gap)));background:color-mix(in srgb, var(--text-color-hint) 12%, var(--color-background));border-radius:var(--radius-sm);position:absolute;top:50%;left:50%}.plan-3d__room{box-sizing:border-box;border:1px solid var(--border-color-subtle);background:var(--color-surface);position:absolute}.plan-3d__room--live{border-color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface))}.plan-3d__room-name{text-overflow:ellipsis;max-width:90%;font-size:var(--font-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--text-color-hint);white-space:nowrap;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.plan-3d__wall{transform-style:preserve-3d;background:color-mix(in srgb, var(--text-color-hint) 45%, var(--color-surface));border-top:2px solid color-mix(in srgb, var(--text-color-hint) 20%, var(--color-surface));box-sizing:border-box;backface-visibility:visible;pointer-events:none;position:absolute}.plan-3d__wall--h{height:var(--plan-wall-h);transform-origin:0 0;transform:rotateX(90deg)}.plan-3d[data-mode=flat] .plan-3d__wall{border-top-width:0}.plan-3d__wall--v{width:var(--plan-wall-h);transform-origin:0 0;transform:rotateY(-90deg)}.plan-3d__thing-at{transform-style:preserve-3d;position:absolute}.plan-3d__thing{box-sizing:border-box;width:var(--icon-sm);height:var(--icon-sm);transform:translate(-50%, -100%) rotateZ(calc(38deg - var(--plan-turn,0deg))) rotateX(calc(-1 * var(--plan-tilt,57deg))) translateY(calc(var(--plan-wall-h) * -.5));border:2px solid var(--color-surface);border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-accent) 22%, var(--color-surface-raised));color:var(--color-accent);font-size:var(--font-caption);box-shadow:var(--shadow-card);cursor:pointer;padding:0;position:absolute}.plan-3d__thing--selected{outline:3px solid var(--color-accent);outline-offset:2px}.plan-3d__anchor-at{visibility:hidden;width:1px;height:1px;transform:rotateZ(calc(38deg - var(--plan-turn,0deg))) rotateX(calc(-1 * var(--plan-tilt,57deg))) translateY(calc(var(--plan-wall-h) * -1));position:absolute}.plan-3d__anchor-base{width:var(--space-xs);height:var(--space-xs);background:var(--color-floorplan-anchor-stroke);opacity:.45;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.plan-3d__anchor-flat{position:absolute;transform:translate(-50%,-50%)}.plan-3d__anchor{box-sizing:border-box;width:calc(var(--icon-sm) * .55);height:calc(var(--icon-sm) * .55);border:2px solid var(--color-floorplan-anchor-stroke);border-radius:var(--radius-sm);background:var(--color-floorplan-anchor-fill);display:block}.plan-3d__anchor--tag{border-radius:var(--radius-pill);border-color:var(--color-accent)}.plan-3d__range-floor{box-sizing:border-box;pointer-events:none;width:calc(var(--plan-plane-w) / var(--plan-w-max) * var(--r) * 2);aspect-ratio:1;border:1px solid color-mix(in srgb, var(--color-floorplan-anchor-stroke) 55%, transparent);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.plan-3d__range-floor--weak{opacity:.5;border-style:dashed}.plan-3d__range-floor--reach{opacity:.35;border-style:dashed}.plan-3d__sphere-at,.plan-3d__dot-at{visibility:hidden;pointer-events:none;position:absolute}.plan-3d__sphere-at{width:calc(var(--plan-plane-w) / var(--plan-w-max) * var(--r) * 2);aspect-ratio:1;transform:translate(-50%, -50%) rotateZ(calc(38deg - var(--plan-turn,0deg))) rotateX(calc(-1 * var(--plan-tilt,57deg))) translateY(calc(var(--plan-wall-h) * -1))}.plan-3d__sphere-at--fix{transform:translate(-50%, -50%) rotateZ(calc(38deg - var(--plan-turn,0deg))) rotateX(calc(-1 * var(--plan-tilt,57deg))) translateY(calc(var(--plan-wall-h) * -.5))}.plan-3d__dot-at{width:1px;height:1px;transform:rotateZ(calc(38deg - var(--plan-turn,0deg))) rotateX(calc(-1 * var(--plan-tilt,57deg))) translateY(calc(var(--plan-wall-h) * -.5))}.plan-3d__sphere{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--color-floorplan-anchor-stroke) 60%, transparent);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--color-floorplan-anchor-stroke) 30%, transparent), color-mix(in srgb, var(--color-floorplan-anchor-stroke) 6%, transparent) 70%);border-radius:50%;position:absolute}.plan-3d__sphere--weak{opacity:.45;border-style:dashed}.plan-3d__sphere--reach{opacity:.4;border-style:dashed}.plan-3d__sphere--fix{border-color:color-mix(in srgb, var(--color-accent) 60%, transparent);background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--color-accent) 30%, transparent), color-mix(in srgb, var(--color-accent) 8%, transparent) 70%)}.plan-3d__live-dot{box-sizing:border-box;width:var(--space-md);height:var(--space-md);border:2px solid var(--color-surface);background:var(--color-accent);box-shadow:var(--shadow-card);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.plan-3d__live-dot--held{opacity:.55}.plan-3d__labels{pointer-events:none;position:absolute;inset:0}.plan-3d__anchor-name{left:50%;bottom:calc(100% + var(--space-2xs));padding:0 var(--space-xs);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--color-surface) 80%, transparent);font-size:var(--font-caption);font-weight:var(--weight-medium);color:var(--text-color-heading);white-space:nowrap;pointer-events:none;position:absolute;transform:translate(-50%)}.plan-3d__floor-name{left:0;bottom:calc(var(--space-lg) * -1);font-family:var(--heading-font);font-size:var(--font-body);font-weight:var(--weight-semibold);color:var(--text-color-heading);position:absolute}.plan-3d__hint{left:50%;bottom:var(--space-sm);align-items:center;gap:var(--space-xs);height:calc(var(--space-xs) * 6);padding:0 var(--space-sm);border-radius:var(--radius-pill);border:1px solid var(--border-color);background:color-mix(in srgb, var(--color-background) 92%, transparent);color:var(--text-color-hint);font-size:var(--font-caption);font-weight:var(--weight-medium);white-space:nowrap;pointer-events:none;display:inline-flex;position:absolute;transform:translate(-50%)}.plan-3d__hint svg{width:var(--font-caption);height:var(--font-caption)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.map-controls{row-gap:var(--space-sm);flex-wrap:wrap;flex:0 auto;min-width:0}.map-controls__view,.map-controls__transform{flex:0 auto;min-width:0}.map-controls__compass,.map-controls__btn{width:var(--button-height);height:var(--button-height);border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--text-color-hint);font:inherit;font-size:var(--font-body);cursor:pointer;flex:none;padding:0}.map-controls__compass:hover,.map-controls__btn:hover{color:var(--text-color-heading)}.map-controls__compass--on,.map-controls__compass--on:hover,.map-controls__btn--on,.map-controls__btn--on:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--text-on-accent)}.map-controls__btn--waiting,.map-controls__btn--waiting:hover{border-color:var(--color-warning);background:var(--color-surface-raised);color:var(--color-warning)}.map-controls__tune{align-items:center;gap:var(--space-xs);height:var(--button-height);padding:0 var(--space-list);border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--color-surface-raised);color:var(--text-color-hint);font:inherit;font-size:var(--font-body);font-weight:var(--weight-medium);cursor:pointer;flex:none;display:inline-flex}.map-controls__tune:hover{color:var(--text-color-heading);border-color:var(--color-accent)}.map-controls__tune--on,.map-controls__tune--on:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--text-on-accent)}.map-controls__needle{font-size:var(--font-body);color:var(--text-color-hint);transition:transform var(--transition-fast);display:inline-flex}.map-controls__compass:hover .map-controls__needle{color:var(--text-color-heading)}.map-controls__slider{min-width:3rem;height:var(--button-height);gap:var(--space-xs);color:var(--text-color-hint);flex:5rem}.map-controls__slider svg{font-size:var(--font-body);flex:none}.map-controls__turn,.map-controls__tilt{min-width:0;accent-color:var(--text-color-primary);flex:auto;margin:0}.map-controls--compact .map-controls__slider{flex-basis:3.5rem;min-width:2.5rem}.map-controls__zoom{border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--color-surface-raised);flex:none;overflow:hidden}.map-controls__zoom .map-controls__btn{width:var(--button-height);background:0 0;border:0;border-radius:0}.map-controls__zoom .map-controls__btn+.map-controls__btn{border-left:1px solid var(--border-color)}.map-controls__spacer{flex:auto}.map-controls__hint{font-size:var(--font-micro);color:var(--text-color-hint);white-space:nowrap}.map-controls__modes{height:var(--button-height);border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--color-surface-raised);box-sizing:border-box;flex:none;overflow:hidden}.map-controls__mode{height:100%;padding:0 var(--space-list);color:var(--text-color-hint);font:inherit;font-size:var(--font-body);font-weight:var(--weight-medium);white-space:nowrap;cursor:pointer;background:0 0;border:none}.map-controls__mode:hover{color:var(--text-color-heading)}.map-controls__mode--on,.map-controls__mode--on:hover{background:var(--color-accent);color:var(--text-on-accent);font-weight:var(--weight-semibold)}.map-controls__mode--cycle{height:var(--button-height);border:1px solid var(--border-color);border-radius:var(--radius-pill);background:var(--color-surface-raised);box-sizing:border-box;flex:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.anchor-tuning{padding:var(--space-sm) var(--space-md)}.anchor-tuning__title{font-size:var(--font-micro);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-color-secondary)}.anchor-tuning__note{font-size:var(--font-caption);color:var(--text-color-hint)}.anchor-tuning__row{padding:var(--space-xs) 0;border-top:1px solid var(--border-color)}.anchor-tuning__name{font-size:var(--font-caption);font-weight:var(--weight-medium);color:var(--text-color-heading);flex:auto}.anchor-tuning__field{align-items:center;gap:var(--space-xs);flex:100%;order:2;display:inline-flex}.anchor-tuning__field input[type=range]{min-width:0;accent-color:var(--color-accent);flex:auto}.anchor-tuning__lab{font-size:var(--font-micro);color:var(--text-color-secondary)}.anchor-tuning__value{min-width:3.5rem;font-size:var(--font-caption);font-variant-numeric:tabular-nums;color:var(--text-color-heading)}.anchor-tuning__reset{font-size:var(--font-caption);color:var(--color-accent);cursor:pointer;background:0 0;border:0;order:1;margin-left:auto;padding:0}.anchor-tuning__reset:hover,.anchor-tuning__reset:focus-visible{text-decoration:underline}.anchor-tuning__reset+.anchor-tuning__save{margin-left:var(--space-sm)}.anchor-tuning__save{padding:var(--space-2xs) var(--space-sm);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font:inherit;font-size:var(--font-caption);font-weight:var(--weight-medium);cursor:pointer;background:0 0;order:1;margin-left:auto}.anchor-tuning__save:hover:not(:disabled){background:var(--color-accent);color:var(--text-on-accent)}.anchor-tuning__save:disabled{border-color:var(--border-color);color:var(--text-color-hint);cursor:default}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.floor-plan--canvas-only{padding:0}.floor-plan--canvas-only .floor-plan__canvas-card{box-shadow:none;border:none;border-radius:0}.floor-plan{gap:var(--space-sm);width:100%;height:100%;padding:0 var(--space-sm) var(--space-sm);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);display:flex;position:relative}.floor-plan__sidebar{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);gap:var(--space-sm);padding:var(--space-sm);flex-direction:column;flex:0 0 220px;display:flex;overflow:hidden}.floor-plan__sidebar-header{align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border-color);color:var(--text-color-secondary);display:flex}.floor-plan__sidebar-header svg{color:var(--color-accent);width:14px;height:14px}.floor-plan__sidebar-label{font-family:var(--primary-font);font-size:var(--font-body);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-color-heading);font-size:var(--font-caption)}.floor-plan__sidebar-add{font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-body-large);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);cursor:pointer;transition:all var(--transition-fast);width:var(--avatar-sm);height:var(--avatar-sm);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.floor-plan__sidebar-add:hover{background:var(--color-surface-raised)}.floor-plan__floor-list{gap:var(--space-tight);-ms-overflow-style:none;scrollbar-width:none;flex-direction:column;flex:0 auto;min-height:0;max-height:40%;display:flex;overflow-y:auto}.floor-plan__floor-list::-webkit-scrollbar{width:0;height:0;display:none}.floor-plan__floor-list{padding-right:var(--space-2xs)}.floor-plan__device-roster{min-height:0;padding-top:var(--space-sm);border-top:1px solid var(--border-color);flex:auto;overflow:hidden}.floor-plan__device-groups{-ms-overflow-style:none;scrollbar-width:none;flex:1;min-height:0;overflow-y:auto}.floor-plan__device-groups::-webkit-scrollbar{width:0;height:0;display:none}.floor-plan__device-groups>*{flex-shrink:0}.floor-plan__device-groups{padding-right:var(--space-2xs)}.floor-plan__device-room{font-family:var(--primary-font);font-size:var(--font-body);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-color-hint);font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.04em}.floor-plan__device-row{padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-sm)}.floor-plan__device-row:hover{background-color:var(--color-surface-raised)}.floor-plan__device-type{flex-shrink:0;width:10px;height:10px}.floor-plan__device-type--anchor{border-radius:var(--radius-sm);background:var(--color-floorplan-anchor-fill);border:1px solid var(--color-floorplan-anchor-stroke)}.floor-plan__device-type--tag{background:var(--color-floorplan-tag-fill);border-radius:50%}.floor-plan__device-name{min-width:0;font-size:var(--font-body);color:var(--text-color-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.floor-plan__device-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.floor-plan__device-status--online{background:var(--color-success-solid)}.floor-plan__device-status--offline{background:var(--text-color-hint)}.floor-plan__empty-list{color:var(--text-color-hint);font-size:var(--font-body);padding:var(--space-md) 0;flex:1;justify-content:center;align-items:center;display:flex}.floor-plan__floor-row{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);color:var(--text-color-primary);background:0 0;display:flex}.floor-plan__floor-row:hover{background-color:var(--color-surface-raised)}.floor-plan__floor-row--active{background-color:var(--color-surface-raised);color:var(--color-accent);box-shadow:inset 3px 0 0 var(--color-accent)}.floor-plan__floor-name{min-width:0;font-size:var(--font-body);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;flex:1;overflow:hidden}.floor-plan__floor-edit{font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-body-large);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);cursor:pointer;transition:all var(--transition-fast);width:var(--avatar-sm);height:var(--avatar-sm);color:var(--text-color-hint);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.floor-plan__floor-edit:hover{background:var(--color-background);color:var(--color-accent)}.floor-plan:fullscreen{background:var(--color-background);height:100vh}@media (width<=768px){.floor-plan{gap:var(--space-sm);padding:var(--space-sm);flex-direction:column}.floor-plan__sidebar{flex:none;max-height:200px}.floor-plan__floor-list{max-height:120px}}.floor-plan__empty{padding:var(--space-md);color:var(--text-color-hint);font-size:var(--font-body);text-align:center;pointer-events:none;place-items:center;margin:0;display:grid;position:absolute;inset:0}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.floor-plan__canvas-card{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);flex-direction:column;flex:1;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.floor-plan__canvas-header{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--color-background);flex-shrink:0;display:flex}.floor-plan__canvas-title{font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-body-large);color:var(--text-color-heading);text-transform:capitalize}.floor-plan__sr-list{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.floor-plan__view{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.floor-plan__view-btn{padding:var(--space-2xs) var(--space-sm);font:inherit;font-size:var(--font-caption);color:var(--text-color-secondary);cursor:pointer;background:0 0;border:none}.floor-plan__view-btn--on{background:var(--color-accent);color:var(--text-on-accent)}.floor-plan__canvas-tools{align-items:center;gap:var(--space-tight);display:flex}.floor-plan__rotate{align-items:center;gap:var(--space-tight);padding:0 var(--space-xs);color:var(--text-color-secondary);display:inline-flex}.floor-plan__rotate svg{width:14px;height:14px}.floor-plan__rotate-slider{width:84px;height:var(--button-height);cursor:pointer;accent-color:var(--color-accent);background:0 0}.floor-plan__tool-btn{font-family:var(--primary-font);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;font-size:var(--font-body-large);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-lg);cursor:pointer;transition:all var(--transition-fast);width:var(--button-height);height:var(--button-height);border:none;border:1px solid var(--border-color);background:var(--color-surface-raised);color:var(--text-color-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex}.floor-plan__tool-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.floor-plan__tool-btn--on,.floor-plan__tool-btn--on:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--text-on-accent)}.floor-plan__tool-btn--edit{border-color:var(--color-accent);color:var(--color-accent)}.floor-plan__tool-btn--edit:hover{background:var(--color-accent);color:var(--text-on-accent)}.floor-plan__tool-btn--delete{border-color:var(--color-error);color:var(--color-error)}.floor-plan__tool-btn--delete:hover{background:var(--color-error);color:var(--text-color-primary-inverse)}.floor-plan__canvas{background:var(--color-floorplan-grid-bg);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.floor-plan__canvas canvas{display:block}.floor-plan__controls-bar{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--border-color);background:var(--color-surface);flex:none}.floor-plan__canvas-overlay{top:var(--space-md);right:var(--space-md);z-index:5;position:absolute}.floor-plan__tune{top:var(--space-sm);right:var(--space-sm);z-index:6;width:min(24rem, 100% - var(--space-md));max-height:calc(100% - var(--space-md));background:var(--color-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);position:absolute;overflow-y:auto}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.container_floorplan-name{text-align:center;justify-content:center;align-items:center;gap:var(--space-md);flex-direction:column;display:flex;position:absolute;inset:0}.container_floorplan-name .create-floorplan__input-name{text-align:left;width:300px;max-width:80%}.container_floorplan-name .create-floorplan__button{margin-right:var(--space-md)}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.openings-list{width:min(20rem,40%);min-height:0;padding:var(--space-md);border-left:1px solid var(--border-color);background:var(--color-surface);box-sizing:border-box;flex:none;overflow-y:auto}.openings-list__title{font-size:var(--font-body-large);font-weight:var(--weight-semibold);color:var(--text-color-heading);margin:0}.openings-list__hint,.openings-list__empty{margin:var(--space-xs) 0 var(--space-md);font-size:var(--font-caption);color:var(--text-color-hint)}.openings-list__status{min-height:1.4em;margin:0 0 var(--space-sm);font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--color-accent)}.openings-list__rows{margin:0;padding:0;list-style:none}.openings-list__row{padding:var(--space-sm) var(--space-xs);border-radius:var(--radius-sm)}.openings-list__row:hover,.openings-list__row:focus-within{background:var(--color-hover)}.openings-list__pair{margin-bottom:var(--space-xs);font-size:var(--font-body);color:var(--text-color-primary);display:block}.openings-list__choices{border:1px solid var(--border-color);border-radius:var(--radius-pill);align-self:flex-start;display:flex;overflow:hidden}.openings-list__choice{padding:var(--space-xs) var(--space-md);color:var(--text-color-hint);font-family:var(--primary-font);font-size:var(--font-caption);font-weight:var(--weight-semibold);cursor:pointer;transition:all var(--transition-fast);text-transform:none;letter-spacing:.02em;white-space:nowrap;background:0 0;border:none;border-radius:0}.openings-list__choice+.openings-list__choice{border-left:1px solid var(--border-color)}.openings-list__choice:hover:not(.active){background:var(--color-surface-raised);color:var(--text-color-primary)}.openings-list__choice.active{background:var(--color-accent);color:var(--text-on-accent)}.openings-list__choice:disabled{cursor:progress}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.editor-zoom{right:var(--space-sm);bottom:var(--space-sm);padding:var(--space-2xs) var(--space-xs);background:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-card);font-size:var(--font-caption);color:var(--text-color-secondary);position:absolute}.editor-zoom__bar{height:var(--space-xs);border:1.5px solid var(--text-color-secondary);border-top:none}.editor-zoom__btn{width:var(--button-height);height:var(--button-height);color:var(--text-color-primary);cursor:pointer;background:0 0;border:none}.editor-zoom__btn:disabled{color:var(--text-color-hint);cursor:default}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}.room-name-panel{width:min(15rem,40%);min-height:0;padding:var(--space-md);border-left:1px solid var(--border-color);background:var(--color-surface);box-sizing:border-box;flex:none;overflow-y:auto}.room-name-panel__head{font-size:var(--font-caption);font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-color-hint)}.room-name-panel__pick{border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:var(--space-2xs) var(--space-sm);color:var(--text-color-secondary);font-size:var(--font-caption);cursor:pointer;background:0 0}.room-name-panel__pick:hover{border-color:var(--color-accent);color:var(--text-color-primary)}.room-name-panel__size{font-size:var(--font-caption);color:var(--text-color-secondary)}:root{--color-background:#fff;--color-background-faded:#e3e3e3;--color-window-background:#fff;--color-window-background-alt:#f3f8fd;--color-surface:#fff;--color-surface-raised:#fafafa;--text-color-primary:#595b5c;--text-color-secondary:#504f4f;--text-color-primary-inverse:#fff;--text-color-secondary-inverse:#f6f6f7;--text-color-hint:#606264;--text-on-accent:#fff;--text-color-heading:#242424;--color-hover:#f3f8fd;--color-accent:#0e6fd9;--color-accent-light:#a0c4ed;--color-ripple:#7ad0f5;--color-gold:#ffcba4;--color-gold-light:#ffe0cb;--color-gold-dark:#e89f6e;--color-champagne:#fff1e5;--icon-color-primary:#595b5c;--icon-color-primary-inverse:#fff;--divider-color:#717070;--border-color:#d4d4d5;--border-color-subtle:#e6e6e7;--map-sea-color:#aad3df;--card-color:#fff;--box-shadow-primary:#0003;--box-shadow-primary-window:#0003;--color-primary:#fff;--color-primary-dark:#161717;--color-green:#95c600;--color-orange:#ff9b00;--color-app-icon-background:#116cd2;--color-primary-teal:#00d0a7;--color-primary-low-alpha:#00d0a71f;--color-secondary-teal:#02b995;--primary-font:Roboto Variable, Roboto, system-ui, sans-serif;--heading-font:Roboto Variable, Roboto, system-ui, sans-serif;--deco-line-color:#ffcba4;--deco-line-color-subtle:#c9a84c4d;--deco-border:1px solid #ffcba4;--deco-border-subtle:1px solid #c9a84c33;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-tight:var(--space-xs);--space-list:12px;--space-card:var(--space-md);--space-grid:var(--space-md);--space-section:var(--space-xl);--measure-xs:20rem;--measure-sm:30rem;--measure-read:37.5rem;--measure-md:40rem;--measure-lg:60rem;--measure-xl:75rem;--feed-panel-width:min(calc(50vw - var(--rail-width,var(--nav-width))), var(--measure-md));--shadow-sm:0 1px 2px #0000000a;--shadow-card:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-card-hover:0 4px 12px #00000014, 0 2px 4px #0000000a;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--shadow-xl:0 16px 48px #00000029;--shadow-inset:inset 0 0 5px #00000014;--font-micro:.625rem;--font-caption:.75rem;--font-body:.875rem;--font-body-large:1rem;--font-title:1.125rem;--font-title-large:1.5rem;--font-heading:2rem;--color-marker-site:#ffcba4;--color-marker-people:#137cf2;--color-marker-device:#00d0a7;--skeleton-base:#e8e8ea;--skeleton-hi:#f2f2f4;--color-success:var(--color-accent);--color-success-bg:#00d0a71f;--color-success-border:#00d0a766;--color-success-text:#15803d;--color-success-solid:#16a34a;--color-warning:#f5a623;--color-warning-bg:#f5a6231f;--color-warning-border:#f5a62366;--color-warning-text:#c2410c;--color-error:#ff5252;--color-error-bg:#ff44441f;--color-error-strong:#d92d20;--text-color-on-error:#fff;--color-error-border:#f446;--color-error-text:#b91c1c;--color-info:var(--color-accent);--color-info-bg:#137cf21f;--color-info-border:#137cf266;--color-info-text:#4338ca;--color-muted-text:#4b5563;--color-danger:var(--color-error);--color-role-owner:#b48b32;--color-role-co-owner:#5a6fb0;--color-role-resident:#2e7d5f;--color-role-trusted:#7a5fb0;--color-role-guest:#888;--color-role-employee:#2e7d5f;--color-role-customer:#7a5fb0;--color-event-blue:#dbeafe;--color-event-green:#dcfce7;--color-event-red:#fee2e2;--color-event-orange:#ffedd5;--color-event-yellow:#fef9c3;--color-event-purple:#f3e8ff;--color-event-pink:#fce7f3;--color-event-gray:#e5e7eb;--color-event-blue-solid:#3b82f6;--color-event-green-solid:#22c55e;--color-event-red-solid:#ef4444;--color-event-orange-solid:#f97316;--color-event-yellow-solid:#eab308;--color-event-purple-solid:#a855f7;--color-event-pink-solid:#ec4899;--color-event-gray-solid:#6b7280;--line-height-tight:1.2;--line-height-body:1.5;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.5s ease;--nav-width:216px;--nav-row-height:40px;--nav-width-collapsed:72px;--rail-logo-height:var(--input-height);--msg-panel-width:76px;--panel-width:280px;--nav-height:50px;--drawer-width:600px;--map-height-sm:250px;--map-height-md:300px;--map-height-lg:350px;--interior-heading-height:48px;--icon-xs:20px;--icon-sm:28px;--icon-md:36px;--icon-lg:44px;--icon-xl:56px;--glyph-sm:18px;--glyph-lg:28px;--avatar-sm:32px;--avatar-md:48px;--avatar-lg:44px;--avatar-xl:56px;--avatar-xxl:96px;--card-width:200px;--card-height:200px;--input-height:36px;--button-height:32px;--img-sm:100px;--img-md:150px;--img-lg:175px;--space-2xs:2px;--z-base:1;--z-nav:500;--z-dropdown:1000;--z-overlay:2000;--z-modal:3000;--z-popover:3500;--z-toast:3700;--z-tooltip:4000;--color-scrim:#0009;--color-scrim-strong:#000000d9;--color-scrim-light:#0000004d;--color-scrim-medium:#0000008c;--color-scrim-deep:#000000bf;--color-glass-faint:#ffffff0f;--color-glass-light:#ffffff14;--color-glass-soft:#ffffff1f;--color-glass-medium:#ffffffd9;--color-overlay-faint:#ffffff26;--color-overlay-soft:#ffffff40;--color-overlay-medium:#fff6;--color-overlay-deep:#fff9;--color-overlay-strong:#ffffffb3;--color-overlay-bright:#ffffffa6;--color-on-media:#fff;--color-media-backdrop:#000;--color-kiosk-bg-start:#0a1929;--color-kiosk-bg-end:#162a44;--color-kid-bg-start:#ffd86b;--color-kid-bg-end:#ff8fcf;--color-history-accent:tomato;--color-history-accent-glow:#ff6347d9;--color-history-accent-soft:#ff63472e;--color-history-accent-medium:#ff63474d;--color-history-accent-strong:#ff634780;--color-history-accent-shadow:#ff634799;--color-history-accent-track:#ff634766;--color-history-surface:#141c28eb;--color-history-surface-solid:#1a2230;--color-flow-tile-blue:#6699ff2e;--color-flow-tile-gray:#9ca3af38;--color-flow-tile-indigo:#6366f126;--color-flow-tile-teal:#2dd4bf2e;--color-dialog-scrim:var(--color-scrim-medium);--color-kelvin-warm:#ffd9a0;--color-kelvin-neutral:#fff;--color-kelvin-cool:#cce7ff;--color-floorplan-grid-bg:#fafafa;--color-floorplan-grid-line:#e0e0e0;--color-floorplan-room-fill:#f6f6f8;--color-floorplan-room-stroke:#666;--color-floorplan-room-label:#0c1f3c;--color-floorplan-anchor-fill:#666;--color-floorplan-anchor-stroke:#333;--color-floorplan-tag-fill:#0070ff;--color-floorplan-tag-label:#999;--color-floorplan-thing-fill:#dff5ef;--color-floorplan-thing-glyph:#017a63;--color-floorplan-thing-ring:#fff;--color-floorplan-grid-bg-alt:#fff;--color-floorplan-room-selected:#0070ff;--color-floorplan-room-selected-fill:#0070ff14;--color-floorplan-room-movable:#ff6b35;--color-floorplan-room-movable-fill:#ff6b3514;--color-floorplan-room-overlap:var(--color-error);--color-floorplan-room-overlap-fill:#ff525214;--color-floorplan-room-default-fill:#ffffffd9;--color-floorplan-room-label-default:#333;--color-floorplan-dim-label:#0070ff;--color-floorplan-device-fill:#0070ff;--color-floorplan-device-stroke:#fff;--color-floorplan-placement-preview:#0070ff;--color-map-radius-primary:#00d0a7;--color-map-radius-editing:tomato;--color-map-radius-edit-fill:#ffdab9;--color-map-geofence-stroke:#ffcba4;--color-map-geofence-fill:#ffcba4;--color-history-slider-track-rgb:255, 99, 71;--color-floorplan-room-fill-legacy:#f6f6f8;--color-floorplan-room-stroke-legacy:#666;--color-floorplan-grid-line-legacy:#d3d3d3;--color-floorplan-grid-line-bright:#77e6d5;--color-floorplan-stage-border:#d3d3d3;--color-floorplan-room-accent:#30d3ba;--color-annotation-bg:#fff;--color-preference-lighting-warm:#fff8e1;--color-preference-lighting-white-default:#fff}body.dark-mode{--color-background:#161717;--color-background-faded:#282929;--color-window-background:#282929;--color-window-background-alt:#282929;--color-surface:#1d1e1e;--color-surface-raised:#282929;--text-color-primary:#fff;--text-color-secondary:#f6f6f7;--text-color-primary-inverse:#595b5c;--text-color-secondary-inverse:#504f4f;--text-color-hint:#9a9c9e;--text-on-accent:#0b1f1a;--text-color-heading:#fff;--color-hover:#282929;--color-accent:#02b995;--color-success:var(--color-accent);--color-info:var(--color-accent);--color-primary-low-alpha:#02b9952e;--color-accent-light:#c6f2cd50;--color-ripple:#00d0a7;--color-gold:#ffe0cb;--color-gold-light:#fff1e5;--color-gold-dark:#ffcba4;--color-champagne:#f7e7ce1a;--icon-color-primary:#fff;--icon-color-primary-inverse:#595b5c;--divider-color:#717070;--border-color:#504f4f;--border-color-subtle:#343434;--map-sea-color:#26363b;--card-color:#1d1e1e;--box-shadow-primary:#ffffff1a;--box-shadow-primary-window:#000;--color-primary:#161717;--color-primary-dark:#161717;--deco-line-color:#ffcba4;--deco-line-color-subtle:#c9a84c40;--deco-border:1px solid #ffcba4;--deco-border-subtle:1px solid #c9a84c26;--primary-font:Roboto Variable, Roboto, system-ui, sans-serif;--heading-font:Roboto Variable, Roboto, system-ui, sans-serif;--shadow-sm:0 1px 2px #0000004d;--shadow-card:0 1px 3px #0006, 0 1px 2px #0003;--shadow-card-hover:0 4px 12px #00000080, 0 2px 4px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 24px #00000080;--shadow-xl:0 16px 48px #0000008c;--shadow-inset:inset 0 0 5px #0000004d;--skeleton-base:#2a2b2c;--skeleton-hi:#3a3b3c;--color-floorplan-grid-bg:#1d1e1e;--color-floorplan-grid-line:#2f3030;--color-floorplan-room-fill:#282929;--color-floorplan-room-stroke:#6b6c6c;--color-floorplan-room-label:#f6f6f7;--color-floorplan-anchor-fill:#b0b1b1;--color-floorplan-anchor-stroke:#e0e0e0;--color-floorplan-tag-fill:#4a9dff;--color-floorplan-tag-label:#b0b1b1;--color-floorplan-thing-fill:#133a31;--color-floorplan-thing-glyph:#02b995;--color-floorplan-thing-ring:#1d1e1e;--color-floorplan-grid-bg-alt:#232424;--color-floorplan-room-selected:#4a9dff;--color-floorplan-room-selected-fill:#4a9dff29;--color-floorplan-room-movable:#ff6b35;--color-floorplan-room-movable-fill:#ff6b3529;--color-floorplan-room-overlap:var(--color-error);--color-floorplan-room-overlap-fill:#ff525229;--color-floorplan-room-default-fill:#282929d9;--color-floorplan-room-label-default:#f6f6f7;--color-floorplan-dim-label:#4a9dff;--color-floorplan-device-fill:#4a9dff;--color-floorplan-device-stroke:#1d1e1e;--color-floorplan-placement-preview:#4a9dff;--color-map-radius-primary:#00d0a7;--color-map-radius-editing:tomato;--color-map-radius-edit-fill:#ffdab9;--color-map-geofence-stroke:#ffcba4;--color-map-geofence-fill:#ffcba4;--color-history-slider-track-rgb:255, 99, 71;--color-floorplan-room-fill-legacy:#282929;--color-floorplan-room-stroke-legacy:#6b6c6c;--color-floorplan-grid-line-legacy:#2f3030;--color-floorplan-grid-line-bright:#2f9b8a;--color-floorplan-room-accent:#30d3ba;--color-floorplan-stage-border:#3a3b3b;--color-annotation-bg:#fff;--color-preference-lighting-warm:#fff8e1;--color-preference-lighting-white-default:#fff;--color-success-text:#4ade80;--color-warning-text:#fb923c;--color-error-text:#f87171;--color-info-text:#60a5fa;--color-muted-text:#9ca3af;--color-event-blue:#60a5fa47;--color-event-green:#4ade8047;--color-event-red:#f8717147;--color-event-orange:#fb923c47;--color-event-yellow:#facc154d;--color-event-purple:#c084fc52;--color-event-pink:#f472b652;--color-event-gray:#9ca3af52}html,body{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar{width:0;height:0;display:none}*{scrollbar-width:none;-ms-overflow-style:none}::selection{background:var(--color-primary-teal);color:var(--text-color-primary-inverse)}[hidden]{display:none!important}img.house-image,img.device-house-image,img.site-list__molecule-house-image,img.account_page-profile_pic,img.Profile-account_page-profile_pic,img.popup-info-card__avatar,img.profile-members__avatar,img.comment-profile-picture,img.post-profile-picture,img.notification-bar-avatar,img.object-slide__molecule-house-image,img.msg-slide-msgs__molecule-house-image,img.profile-header__avatar,.dropdown-result .image-area img{object-fit:cover;object-position:center;max-width:100%;display:block}img.inlo-avatar{object-fit:cover;object-position:center;display:block}.logo__img{width:114px;max-width:none;height:54px;display:block}.side-bar-desktop__organism .logo__img{width:auto;height:var(--rail-logo-height)}.side-bar-desktop__organism .logo__img--mark{width:var(--rail-logo-height);height:var(--rail-logo-height)}.logo__img--mark{width:32px;height:32px}.container{max-width:1170px;margin:auto}.containerr{border-radius:var(--radius-md);width:100%;height:95%;position:relative;left:0}.Toastify__toast--success{background-color:#4bb543}.Toastify__toast{font-family:var(--primary-font);font-size:var(--font-caption);border-radius:var(--radius-md);min-height:auto;box-shadow:0 4px 20px var(--box-shadow-primary);border:1px solid var(--border-color);background-color:var(--color-surface);color:var(--text-color-primary)}.Toastify__close-button{color:var(--text-color-hint)}.Toastify__progress-bar--success{background:var(--color-primary-teal)}.Toastify__progress-bar--error{background:#ff3939}.leaflet-control-geosearch form{border-radius:var(--radius-sm);padding:0 var(--space-sm);background:var(--color-background);border:1px solid var(--border-color);color:var(--text-color-primary)}.leaflet-control-geosearch input{color:var(--text-color-primary);font-family:var(--primary-font);height:var(--icon-md);line-height:var(--icon-md);padding-right:var(--icon-md);background:0 0}.leaflet-control-geosearch button.reset{width:var(--icon-md);color:var(--text-color-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:0 0;justify-content:center;align-items:center;padding:0;line-height:normal;display:flex;top:0;bottom:0;right:0}.leaflet-control-geosearch button.reset:hover{background:var(--color-surface-raised);color:var(--text-color-primary)}.leaflet-bar{border-radius:var(--radius-md)}.editor-plane{width:100%;height:calc(100vh - 80px);padding:var(--space-md);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);flex-direction:column;display:flex;position:relative;overflow:hidden}.editor-plane__card{background-color:var(--color-background);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-card);gap:var(--space-tight);box-sizing:border-box;font-family:var(--primary-font);color:var(--text-color-primary);transition:box-shadow var(--transition-normal), transform var(--transition-normal), border-color var(--transition-normal);flex-direction:column;flex:1;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.editor-plane__header{justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);background:var(--color-background);flex-wrap:wrap;flex-shrink:0;display:flex}.editor-plane__title{font-family:var(--heading-font);font-weight:var(--weight-semibold);font-size:var(--font-body-large);color:var(--text-color-heading);text-transform:capitalize;white-space:nowrap}.editor-plane .side-plane{background:0 0;border:none;flex:auto;min-width:0;padding:0}.editor-plane .save_cancel_buttons-floorplan_editor,.editor-plane .history_buttons-floorplan_editor,.editor-plane .add_delete_buttons-floorplan_editor{align-items:center;gap:var(--space-sm);display:flex}.editor-plane .save_cancel_buttons-floorplan_editor,.editor-plane .history_buttons-floorplan_editor{padding-right:var(--space-md);border-right:1px solid var(--border-color)}.editor-plane__body{flex:1;min-height:0;display:flex}.editor-plane__canvas{background:var(--color-surface-raised);flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.editor-plane__canvas>div,.editor-plane__canvas canvas{display:block}.floorplan-save-status{font-size:var(--font-caption);font-weight:var(--weight-semibold);white-space:nowrap}.floorplan-save-status--ok{color:var(--color-success-solid)}.floorplan-save-status--err{color:var(--color-error-strong)}.floorplan-save-status--note{color:var(--color-accent)}
