.auth-page{background:var(--pm-bg-surface-alt);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);width:min(100%,360px);box-shadow:var(--pm-shadow-soft);border-radius:10px;flex-direction:column;gap:14px;padding:28px 24px;display:flex}.auth-card__title{text-align:center;margin:0 0 4px;font-size:20px;font-weight:600}.auth-card__submit{justify-content:center;margin-top:4px}.auth-card__server-error{margin:-6px 0 0}.auth-card__footer{color:var(--pm-text-muted);text-align:center;margin:4px 0 0;font-size:13px}.auth-card__footer a{font-weight:500}.auth-loading{min-height:calc(100vh - var(--pm-header-height));color:var(--pm-text-secondary);background:var(--pm-bg-surface-alt);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.auth-logout-banner{z-index:1000;max-width:min(92vw,640px);box-shadow:var(--pm-shadow-md);position:fixed;top:12px;left:50%;transform:translate(-50%)}.auth-logout-banner .button{flex-shrink:0;margin-left:0}.presence{align-items:center;gap:0;padding-right:4px;display:inline-flex}.presence__avatar{border:1px solid var(--pm-bg-surface);width:26px;height:26px;color:var(--pm-accent-contrast);letter-spacing:.02em;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;margin-right:-6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.presence__avatar:last-child{margin-right:0}.presence__avatar--1{background:var(--pm-presence-1)}.presence__avatar--2{background:var(--pm-presence-2)}.presence__avatar--3{background:var(--pm-presence-3)}.presence__avatar--4{background:var(--pm-presence-4)}.presence__avatar--5{background:var(--pm-presence-5)}.presence__avatar--6{background:var(--pm-presence-6)}.presence__offline{border:1px solid var(--pm-warning-border);background:var(--pm-warning-bg);color:var(--pm-warning-text);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:12px;display:inline-flex}.monitoring-panel{padding:0}.monitoring-panel__body{flex-direction:column;gap:12px;display:flex}.monitoring-panel__section{border-bottom:1px solid var(--pm-border-subtle);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.monitoring-panel__section:last-child{border-bottom:none}.monitoring-panel__label{text-transform:uppercase;letter-spacing:.04em;color:var(--pm-text-muted);font-size:11px;font-weight:600}.monitoring-panel__row{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.monitoring-panel__row-label{color:var(--pm-text-secondary);flex:auto}.monitoring-panel__row-value{color:var(--pm-text-primary);text-overflow:ellipsis;flex:none;min-width:0;font-weight:500;overflow:hidden}.monitoring-panel__warning{background:var(--pm-warning-bg);border-left:3px solid var(--pm-warning-text);color:var(--pm-warning-text);border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.4}.monitoring-panel__no-scale{color:var(--pm-text-muted);font-size:12px;font-style:italic}.monitoring-panel__hint{color:var(--pm-text-secondary);font-size:12px;line-height:1.4}.monitoring-panel__connect-button{align-self:flex-start}.monitoring-panel__counts{flex-wrap:wrap;gap:8px 12px;display:flex}.monitoring-panel__count{font-size:12px;font-weight:500}.monitoring-panel__count--good{color:var(--pm-success-text)}.monitoring-panel__count--degraded{color:var(--pm-warning-text)}.monitoring-panel__count--bad{color:var(--pm-danger-text)}.monitoring-panel__count--unknown{color:var(--pm-text-muted)}.monitoring-panel__problem-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.monitoring-panel__problem-item{background:var(--pm-bg-hover);width:100%;font:inherit;color:var(--pm-text-primary);text-align:left;cursor:pointer;border:none;border-left:3px solid #0000;border-radius:3px;padding:4px 8px;font-size:12px;display:block}.monitoring-panel__problem-item:hover{background:var(--pm-bg-hover-strong)}.monitoring-panel__problem-item--bad{border-left-color:var(--pm-danger-text)}.monitoring-panel__problem-item--degraded{border-left-color:var(--pm-warning-text)}.monitoring-panel__legend{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.monitoring-panel__legend-item{color:var(--pm-text-secondary);align-items:center;gap:8px;font-size:12px;line-height:1.4;display:flex}.monitoring-panel__legend-swatch{border-radius:50%;flex:none;width:10px;height:10px}.monitoring-panel__legend-swatch--good{background:var(--pm-success-text)}.monitoring-panel__legend-swatch--degraded{background:var(--pm-warning-text)}.monitoring-panel__legend-swatch--bad{background:var(--pm-danger-text)}.monitoring-panel__legend-swatch--unknown{background:var(--pm-text-muted)}.topology-route-panel{border:1px solid var(--pm-border-default);background-color:var(--pm-bg-surface);color:var(--pm-text-primary);border-radius:4px;padding:.75rem;font-size:.875rem}.topology-route-panel__controls{flex-direction:column;gap:.5rem;margin-bottom:.75rem;display:flex}.topology-route-panel__checkbox{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:flex}.topology-route-panel__checkbox input{cursor:pointer}.topology-route-panel__button{border:1px solid var(--pm-border-control);background-color:var(--pm-bg-surface-alt);color:var(--pm-text-primary);cursor:pointer;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s}.topology-route-panel__button:hover:not(:disabled){background-color:var(--pm-bg-hover);border-color:var(--pm-border-strong)}.topology-route-panel__button:disabled{opacity:.5;cursor:not-allowed}.topology-route-panel__error{background-color:var(--pm-warning-bg);color:var(--pm-warning-text);border-radius:4px;padding:.5rem;font-size:.8125rem}.topology-route-panel__report{border-top:1px solid var(--pm-border-default);padding-top:.75rem}.topology-route-panel__report-row{color:var(--pm-text-secondary);padding:.5rem 0;font-weight:500}.topology-route-panel__report-label{display:block}.topology-route-panel__report-list{margin:.5rem 0 0;padding:0;list-style:none}.topology-route-panel__report-item{background-color:var(--pm-bg-surface-alt);width:100%;color:var(--pm-text-primary);text-align:left;cursor:pointer;border:none;border-radius:3px;margin:.25rem 0;padding:.375rem .5rem;font-size:.8125rem;transition:background-color .15s;display:block}.topology-route-panel__report-item:hover{background-color:var(--pm-bg-hover)}.topology-route-panel__report-item--failed{color:var(--pm-warning-text)}.topology-route-panel__report-floor{color:var(--pm-text-secondary);margin-top:.5rem;font-size:.75rem;font-weight:600}.cable-summary-panel{padding:0}.cable-summary-panel__body{flex-direction:column;gap:12px;display:flex}.cable-summary-panel__section{border-bottom:1px solid var(--pm-border-subtle);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.cable-summary-panel__section:last-child{border-bottom:none}.cable-summary-panel__label{text-transform:uppercase;letter-spacing:.04em;color:var(--pm-text-muted);font-size:11px;font-weight:600}.cable-summary-panel__content{flex-direction:column;gap:6px;display:flex}.cable-summary-panel__row{justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.cable-summary-panel__row-label{color:var(--pm-text-secondary);flex:auto}.cable-summary-panel__row-value{color:var(--pm-text-primary);text-overflow:ellipsis;flex:none;min-width:0;font-weight:500;overflow:hidden}.cable-summary-panel__no-scale{color:var(--pm-text-muted);font-size:12px;font-style:italic}.cable-summary-panel__warning{background:var(--pm-bg-warning-subtle);border-left:3px solid var(--pm-text-warning);color:var(--pm-text-warning);border-radius:4px;padding:8px 10px;font-size:12px;line-height:1.4}.cable-summary-panel__setting{align-items:center;gap:8px;display:flex}.cable-summary-panel__setting-label{color:var(--pm-text-secondary);flex:auto;font-size:12px}.cable-summary-panel__setting-input{border:1px solid var(--pm-border-subtle);background:var(--pm-bg-input);width:60px;color:var(--pm-text-primary);border-radius:3px;flex:none;padding:4px 6px;font-family:inherit;font-size:12px}.cable-summary-panel__setting-input:focus{border-color:var(--pm-accent);box-shadow:0 0 0 2px var(--pm-accent-subtle);outline:none}.cable-summary-panel__setting-value{color:var(--pm-text-primary);flex:none;font-size:12px}.cable-summary-panel__setting-unit{color:var(--pm-text-muted);flex:none;font-size:12px}.cable-summary-panel__material-table-scroll{overflow-x:auto}.cable-summary-panel__material-table{border-collapse:collapse;width:100%;min-width:380px;font-size:12px}.cable-summary-panel__material-table th,.cable-summary-panel__material-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--pm-border-subtle);padding:4px 6px}.cable-summary-panel__material-table th{color:var(--pm-text-muted);font-weight:600}.cable-summary-panel__material-table td{color:var(--pm-text-primary)}.cable-summary-panel__spool-length-input{width:52px}.cable-summary-panel__premade-lengths{color:var(--pm-text-muted);margin-top:2px;font-size:11px}.cable-summary-panel__checkbox{color:var(--pm-text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.cable-summary-panel__auto-route-button{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;align-self:flex-start;padding:6px 10px;font-size:12px}.cable-summary-panel__auto-route-button:hover:not(:disabled){color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.cable-summary-panel__auto-route-button:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.cable-summary-panel__auto-route-button:disabled{cursor:default;opacity:.6}.cable-summary-panel__auto-route-report{border-top:1px solid var(--pm-border-subtle);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;display:flex}.cable-summary-panel__report-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.cable-summary-panel__report-item{background:var(--pm-bg-hover);width:100%;font:inherit;color:var(--pm-text-primary);text-align:left;cursor:pointer;border:none;border-left:3px solid #0000;border-radius:3px;padding:4px 8px;font-size:12px;display:block}.cable-summary-panel__report-item:hover{background:var(--pm-bg-hover-strong)}.cable-summary-panel__report-item--failed{border-left-color:var(--pm-danger-text)}.cable-summary-panel__report-item--near{border-left-color:var(--pm-warning-text)}.cable-summary-panel__report-item--danger{border-left-color:var(--pm-danger-text)}.cable-summary-panel__report-item--over{border-left-color:var(--pm-cable-over)}.cable-summary-panel__copper-issues{flex-direction:column;gap:4px;margin-top:4px;display:flex}.cable-summary-panel__poe-row{align-items:flex-start}.cable-summary-panel__poe-warnings{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.cable-summary-panel__poe-warning-item{font:inherit;background:var(--pm-warning-bg);color:var(--pm-warning-text);cursor:pointer;text-align:right;border:none;border-radius:3px;padding:2px 8px;font-size:12px}.cable-summary-panel__poe-warning-item:hover{background:var(--pm-bg-hover-strong)}.cable-summary-panel__poe-warning-item:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.coverage-panel__measurements{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:6px;padding-top:4px;display:flex}.coverage-panel__measurement-list{flex-direction:column;gap:3px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.coverage-panel__measurement-item{color:var(--pm-text-secondary);justify-content:space-between;align-items:baseline;gap:6px;font-size:12px;display:flex}.editor-dock{background:var(--pm-bg-surface);border-left:1px solid var(--pm-border-default);flex-direction:column;flex:none;min-height:0;display:flex;overflow:hidden}.editor-dock__header{border-bottom:1px solid var(--pm-border-default);flex:none;align-items:center;gap:6px;padding:8px 8px 8px 12px;display:flex}.editor-dock--collapsed .editor-dock__header{justify-content:center;padding:8px 4px}.editor-dock__title{text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em;min-width:0;color:var(--pm-text-muted);flex:auto;font-size:12px;font-weight:600;overflow:hidden}.editor-dock__toggle{width:28px;height:28px;color:var(--pm-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.editor-dock__toggle:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.editor-dock__toggle:focus-visible,.dock-section__header:focus-visible,.dock-section__strip:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:1px}.editor-dock__sections{flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.editor-dock--collapsed .editor-dock__sections{align-items:center;gap:4px;padding:6px 0}.dock-section{border-bottom:1px solid var(--pm-border-default);flex:none}.dock-section__header{width:100%;font:inherit;text-transform:uppercase;letter-spacing:.04em;text-align:left;color:var(--pm-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.dock-section__header:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.dock-section__title{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.dock-section__count{letter-spacing:0;color:var(--pm-text-secondary);background:var(--pm-bg-hover);border-radius:9px;flex:none;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.dock-section__body{padding:0 12px 12px}.dock-section__strip{width:32px;height:32px;color:var(--pm-text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;padding:0;display:flex}.dock-section__strip:hover{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border)}.detection-preview-overlay{pointer-events:none;position:absolute;bottom:12px;right:12px}.detection-preview-panel{width:240px;max-width:100%;color:var(--pm-text-strong);background:var(--pm-bg-canvas-panel);border:1px solid var(--pm-border-default);pointer-events:auto;border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;font-size:12px;display:flex}.detection-preview-panel__title{font-weight:600}.detection-preview-panel__hint{color:var(--pm-text-muted);margin:0}.detection-preview-panel__row{color:var(--pm-text-secondary)}.detection-preview-panel__row--muted{color:var(--pm-text-muted)}.detection-preview-panel__actions{gap:6px;display:flex}.detection-preview-panel__actions .button{flex:auto}.detection-preview-panel__actions--final{margin-top:2px}.detection-preview-panel__field{color:var(--pm-text-secondary);flex-direction:column;gap:3px;display:flex}.detection-preview-panel__select{box-sizing:border-box;width:100%;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:3px 6px;font-size:12px}.detection-preview-panel__select:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.detection-preview-panel__checkbox{color:var(--pm-text-secondary);cursor:pointer;align-items:center;gap:6px;display:inline-flex}.device-catalog-overlay-container{pointer-events:none;flex-direction:column;max-width:280px;display:flex;position:absolute;top:12px;bottom:12px;left:12px}.device-catalog-overlay{color:var(--pm-text-strong);background:var(--pm-bg-canvas-panel);border:1px solid var(--pm-border-default);pointer-events:auto;border-radius:8px;font-size:12px}.device-catalog-overlay--panel{flex-direction:column;width:260px;max-width:100%;max-height:100%;display:flex;overflow:hidden}.device-catalog-overlay__header{font:inherit;color:var(--pm-text-strong);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.device-catalog-overlay__header span{text-align:left;flex:auto}.device-catalog-overlay__selection{color:var(--pm-text-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 10px 8px;font-size:11px;overflow:hidden}.device-catalog-overlay__notice{color:var(--pm-warning-text);margin:0;padding:0 10px 8px;font-size:11px}.device-catalog-panel{flex-direction:column;flex:auto;gap:8px;min-height:0;padding:0 8px 8px;display:flex;overflow-y:auto}.device-catalog-panel__search{background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex}.device-catalog-panel__search:focus-within{border-color:var(--pm-accent-subtle-border)}.device-catalog-panel__search-icon{color:var(--pm-border-strong);flex:none}.device-catalog-panel__search-input{min-width:0;font:inherit;color:var(--pm-text-strong);background:0 0;border:none;outline:none;flex:auto;font-size:12px}.device-catalog-panel__search-input::placeholder{color:var(--pm-border-strong)}.device-catalog-panel__empty-hint{color:var(--pm-text-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:20px 12px;display:flex}.device-catalog-panel__empty-hint p{margin:0;font-size:12px;line-height:1.4}.device-catalog-panel__group{flex-direction:column;gap:0;display:flex}.device-catalog-panel__group-header{font:inherit;color:var(--pm-text-strong);background:var(--pm-bg-hover);border:1px solid var(--pm-border-default);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:6px;padding:6px;font-size:12px;font-weight:500;display:flex}.device-catalog-panel__group-header:hover{background:var(--pm-bg-hover-strong)}.device-catalog-panel__chevron{flex:none;transition:transform .15s ease-in-out}.device-catalog-panel__chevron--open{transform:rotate(180deg)}.device-catalog-panel__group-title{text-transform:uppercase;letter-spacing:.04em;min-width:0;color:var(--pm-text-muted);flex:auto}.device-catalog-panel__group-count{color:var(--pm-border-strong);flex:none;font-size:11px;font-weight:400}.device-catalog-panel__items{flex-direction:column;gap:4px;padding:4px 0 0;display:flex}.device-catalog-panel__item{font:inherit;color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);cursor:pointer;text-align:left;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:background-color .15s,border-color .15s,color .15s;display:flex}.device-catalog-panel__item:hover{background:var(--pm-bg-surface-alt);border-color:var(--pm-border-control)}.device-catalog-panel__item--selected{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border);font-weight:500}.device-catalog-panel__item--selected:hover{background:var(--pm-accent-selected-hover-bg)}.device-catalog-panel__item-icon{flex:none;justify-content:center;align-items:center;font-size:14px;line-height:1;display:flex}.device-catalog-panel__item-icon--svg{object-fit:contain;width:16px;height:16px}.device-catalog-panel__item-text{flex-direction:column;flex:auto;gap:1px;min-width:0;display:flex}.device-catalog-panel__item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.device-catalog-panel__item-meta{text-overflow:ellipsis;white-space:nowrap;color:var(--pm-border-strong);font-size:11px;overflow:hidden}.device-catalog-panel__item--selected .device-catalog-panel__item-meta{color:var(--pm-accent-strong-border)}.wall-detection-dialog{flex-direction:column;gap:16px;min-width:360px;display:flex}.wall-detection-dialog__section{flex-direction:column;gap:8px;display:flex}.wall-detection-dialog__row{gap:16px;display:flex}.wall-detection-dialog__field{flex-direction:column;flex:1;gap:6px;display:flex}.wall-detection-dialog__label{color:var(--pm-text-secondary);font-size:12px;font-weight:600}.wall-detection-dialog__radio-group{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.wall-detection-dialog__radio{color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.wall-detection-dialog__checkbox{color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.wall-detection-dialog__preset{color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px}.wall-detection-dialog__preset:hover:not(:disabled){background:var(--pm-bg-hover)}.wall-detection-dialog__preset:disabled{cursor:not-allowed;color:var(--pm-border-strong)}.wall-detection-dialog__preset--active{color:var(--pm-accent-contrast);background:var(--pm-accent-default);border-color:var(--pm-accent-default)}.wall-detection-dialog__hint{color:var(--pm-text-muted);margin:0;font-size:12px}.wall-detection-dialog__hint--warn{color:var(--pm-warning-text)}.wall-detection-dialog__region-controls{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.wall-detection-dialog__region-meta{align-items:center;gap:12px;display:flex}.wall-detection-dialog__link-button{color:var(--pm-accent-default);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.wall-detection-dialog__link-button:hover:not(:disabled){color:var(--pm-accent-hover)}.wall-detection-dialog__link-button:disabled{color:var(--pm-border-strong);cursor:not-allowed;text-decoration:none}.wall-detection-dialog__progress{flex-direction:column;gap:6px;display:flex}.wall-detection-dialog__progress-label{color:var(--pm-text-strong);margin:0;font-size:12px}.wall-detection-dialog__progress-bar{background:var(--pm-bg-surface-alt);border-radius:999px;height:6px;overflow:hidden}.wall-detection-dialog__progress-fill{background:var(--pm-accent-default);height:100%;transition:width .15s ease-out}.wall-detection-dialog__result{color:var(--pm-text-strong);margin:0;font-size:13px;font-weight:600}.wall-detection-region-picker{border:1px solid var(--pm-border-default);background:var(--pm-bg-surface-alt);touch-action:none;border-radius:6px;position:relative;overflow:hidden}.wall-detection-region-picker__canvas{display:block}.wall-detection-region-picker__overlay{border:1.5px dashed var(--pm-accent-default);background:color-mix(in srgb, var(--pm-accent-default) 15%, transparent);pointer-events:none;position:absolute}.export-dialog{flex-direction:column;gap:16px;min-width:360px;display:flex}.export-dialog__section{flex-direction:column;gap:8px;display:flex}.export-dialog__label{color:var(--pm-text-secondary);font-size:12px;font-weight:600}.export-dialog__radio-group{flex-wrap:wrap;gap:8px 16px;display:flex}.export-dialog__radio{color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.export-dialog__floor-list{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;flex-direction:column;gap:6px;max-height:160px;padding:8px 10px;display:flex;overflow-y:auto}.export-dialog__checkbox{color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.export-dialog__checkbox--disabled{color:var(--pm-border-strong);cursor:not-allowed}.export-dialog__hint{color:var(--pm-text-muted);margin:0;font-size:12px}.export-dialog__hint--muted{margin-top:-2px}.export-dialog__sizes{color:var(--pm-text-primary);flex-direction:column;gap:2px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.export-dialog__warnings{background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:6px;padding:8px 12px}.export-dialog__warnings ul{flex-direction:column;gap:4px;margin:0;padding-left:18px;display:flex}.export-dialog__warnings li{color:var(--pm-warning-text);font-size:12px}.export-dialog__progress{color:var(--pm-text-strong);margin:0;font-size:12px}.crop-floors{flex-direction:column;gap:12px;min-width:340px;display:flex}.crop-floors__hint{color:var(--pm-text-muted);margin:0;font-size:12px}.crop-floors__loading{color:var(--pm-text-secondary);margin:0;font-size:13px}.crop-floors__preview{background:var(--pm-bg-canvas);border:1px solid var(--pm-border-default);touch-action:none;border-radius:6px;align-self:center;position:relative;overflow:hidden}.crop-floors__canvas{display:block}.crop-floors__rect{box-sizing:border-box;border:1.5px solid var(--pm-accent-default);background:color-mix(in srgb, var(--pm-accent-default) 12%, transparent);cursor:move;touch-action:none;position:absolute}.crop-floors__rect--active{z-index:3}.crop-floors__rect-badge{text-align:center;min-width:16px;color:var(--pm-accent-contrast);background:var(--pm-accent-default);pointer-events:none;border-radius:3px;padding:0 4px;font-size:11px;line-height:16px;position:absolute;top:2px;left:2px}.crop-floors__handle{z-index:2;background:var(--pm-bg-surface);border:1.5px solid var(--pm-accent-default);touch-action:none;border-radius:2px;width:10px;height:10px;position:absolute}.crop-floors__handle--nw{cursor:nwse-resize;top:-5px;left:-5px}.crop-floors__handle--n{cursor:ns-resize;top:-5px;left:calc(50% - 5px)}.crop-floors__handle--ne{cursor:nesw-resize;top:-5px;right:-5px}.crop-floors__handle--e{cursor:ew-resize;top:calc(50% - 5px);right:-5px}.crop-floors__handle--se{cursor:nwse-resize;bottom:-5px;right:-5px}.crop-floors__handle--s{cursor:ns-resize;bottom:-5px;left:calc(50% - 5px)}.crop-floors__handle--sw{cursor:nesw-resize;bottom:-5px;left:-5px}.crop-floors__handle--w{cursor:ew-resize;top:calc(50% - 5px);left:-5px}.crop-floors__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.crop-floors__item{background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.crop-floors__item-index{width:18px;color:var(--pm-border-strong);text-align:right;font-size:12px}.crop-floors__item .form-input{flex:auto;min-width:0}.crop-floors__item-size{color:var(--pm-text-muted);white-space:nowrap;flex:none;font-size:11px}.replace-backdrop-dialog{flex-direction:column;gap:14px;min-width:340px;display:flex}.replace-backdrop-dialog__warning{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:6px;margin:0;padding:8px 12px;font-size:12px}.replace-backdrop-dialog__section{flex-direction:column;gap:8px;display:flex}.replace-backdrop-dialog__label{color:var(--pm-text-secondary);font-size:12px;font-weight:600}.replace-backdrop-dialog__hint{color:var(--pm-text-muted);margin:0;font-size:12px}.replace-backdrop-dialog__sizes{color:var(--pm-text-primary);margin:0;font-size:13px}.replace-backdrop-dialog__progress{color:var(--pm-text-strong);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.replace-backdrop-dialog__pdf-pages{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;flex-wrap:wrap;gap:8px;max-height:220px;padding:8px;display:flex;overflow-y:auto}.replace-backdrop-dialog__pdf-page{width:96px;font:inherit;color:var(--pm-text-primary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:4px;font-size:11px;display:flex}.replace-backdrop-dialog__pdf-page:hover{border-color:var(--pm-accent-default)}.replace-backdrop-dialog__pdf-page img{object-fit:contain;background:var(--pm-bg-hover);border-radius:4px;width:100%;height:64px}.replace-backdrop-dialog__radio-group{flex-direction:column;gap:6px;display:flex}.replace-backdrop-dialog__radio{color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.replace-backdrop-dialog__radio--disabled{color:var(--pm-border-strong);cursor:not-allowed}.replace-backdrop-dialog__aspect-warning{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:6px;margin:0;padding:8px 12px;font-size:12px}.replace-backdrop-dialog__link{font:inherit;color:var(--pm-accent-default);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:12px}.replace-backdrop-dialog__link:hover:not(:disabled){text-decoration:underline}.replace-backdrop-dialog__link:disabled{color:var(--pm-border-strong);cursor:not-allowed}.floor-backdrop-row{align-items:center;gap:4px;display:flex}.floor-backdrop-row__floor-button{flex:auto;min-width:0}.floor-backdrop-row__replace{width:28px;height:28px;color:var(--pm-text-secondary);border:1px solid var(--pm-border-default);cursor:pointer;background:0 0;border-radius:6px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.floor-backdrop-row__replace:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.replace-backdrop-dialog__links{flex-wrap:wrap;gap:12px;display:flex}.layers-panel{padding:0}.layers-panel__list{flex-direction:column;gap:2px;margin:0 0 8px;padding:0;list-style:none;display:flex}.layers-panel__row{border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.layers-panel__row:hover{background:var(--pm-bg-hover)}.layers-panel__label{min-width:0;color:var(--pm-text-primary);cursor:pointer;flex:auto;align-items:center;gap:6px;font-size:13px;display:flex}.layers-panel__label input[type=checkbox]{flex:none;margin:0}.layers-panel__label svg{color:var(--pm-text-muted);flex:none}.layers-panel__label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layers-panel__label--disabled{color:var(--pm-text-muted);cursor:not-allowed}.layers-panel__label--disabled input[type=checkbox]{cursor:not-allowed}.layers-panel__counts{flex:none;align-items:center;gap:4px;display:flex}.layers-panel__count{background:var(--pm-bg-surface-alt);min-width:1.5em;color:var(--pm-text-muted);font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;flex:none;padding:0 6px;font-size:11px}.layers-panel__count--unplaced{border:1px dashed var(--pm-border-control);color:var(--pm-text-muted);background:0 0}.layers-panel__show-all{border:1px solid var(--pm-border-control);background:var(--pm-bg-surface);width:100%;color:var(--pm-text-primary);font:inherit;cursor:pointer;border-radius:4px;padding:6px 10px;font-size:12px}.layers-panel__show-all:hover{background:var(--pm-bg-hover)}.legacy-normalization-banner{background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);box-shadow:var(--pm-shadow-popover);color:var(--pm-warning-text);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.legacy-normalization-banner__message{flex:auto}.legacy-normalization-banner__dismiss{color:var(--pm-warning-text);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 4px;font-size:18px;line-height:1}.legacy-normalization-banner__dismiss:hover{color:var(--pm-text-primary)}.legacy-normalization-banner__dismiss:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:1px}.measurement-form{border-top:1px solid var(--pm-border-default);text-align:left;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;display:flex}.measurement-form__hint{border-top:1px solid var(--pm-border-default);color:var(--pm-text-muted);margin:8px 0 0;padding-top:8px;font-size:10px;line-height:1.3}.measurement-form__row{color:var(--pm-text-secondary);flex-direction:column;gap:3px;font-size:11px;display:flex}.measurement-form__row select,.measurement-form__row input{box-sizing:border-box;width:100%;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:3px 6px;font-size:12px}.measurement-form__row select:focus,.measurement-form__row input:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.measurement-form__file{color:var(--pm-text-secondary);flex-direction:column;gap:3px;font-size:11px;display:flex}.measurement-form__file input{color:var(--pm-text-secondary);font-size:10px}.measurement-form__note{color:var(--pm-text-muted);margin:0;font-size:10px;line-height:1.3}.measurement-form__warning{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:4px;margin:0;padding:4px 6px;font-size:10px;line-height:1.3}.measurement-form__actions{flex-wrap:wrap;gap:4px;display:flex}.measurement-form__button{font:inherit;color:var(--pm-accent-contrast);background:var(--pm-accent-default);cursor:pointer;border:1px solid #0000;border-radius:4px;flex:auto;padding:5px 8px;font-size:11px;font-weight:500}.measurement-form__button:hover:not(:disabled){background:var(--pm-accent-hover)}.measurement-form__button:disabled{background:var(--pm-border-strong);cursor:not-allowed}.obstacle-tool-panel{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.obstacle-tool-panel__item{font:inherit;color:var(--pm-text-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10px;line-height:1.2;display:flex}.obstacle-tool-panel__item:hover{background:var(--pm-bg-hover)}.obstacle-tool-panel__item--active{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border)}.obstacle-tool-panel__label{text-align:center}.obstacle-tool-panel__hint{text-align:center;color:var(--pm-text-muted);padding-top:6px;font-size:9px;line-height:1.2;display:block}.wall-tool-panel{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.wall-tool-panel__toggle{font:inherit;color:var(--pm-text-strong);cursor:pointer;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10px;line-height:1.2;display:flex}.wall-tool-panel__label{text-align:center}.wall-tool-panel__outline{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:4px;margin-top:4px;padding-top:8px;display:flex}.wall-tool-panel__outline-button{font:inherit;color:var(--pm-text-strong);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10px;line-height:1.2;display:flex}.wall-tool-panel__outline-button:disabled{color:var(--pm-text-muted);cursor:default}.wall-tool-panel__crossings{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:4px;margin-top:4px;padding-top:8px;display:flex}.wall-tool-panel__hint{text-align:center;color:var(--pm-text-muted);font-size:9px;line-height:1.2}.mobile-sheet{background:var(--pm-bg-surface);border-top:1px solid var(--pm-border-default);flex-direction:column;flex:none;min-height:0;display:flex}.mobile-sheet--expanded{flex:0 0 60%}.mobile-sheet__toolbar{flex:none;min-width:0}.mobile-sheet__handle{width:100%;min-height:44px;font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--pm-text-muted);cursor:pointer;touch-action:none;background:0 0;border:none;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.mobile-sheet__grip{background:var(--pm-border-strong);border-radius:2px;width:36px;height:4px;display:block}.mobile-sheet__handle-text{align-items:center;gap:6px;display:inline-flex}.mobile-sheet__handle:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:-2px}.mobile-sheet__tabs{border-bottom:1px solid var(--pm-border-default);flex:none;gap:4px;padding:0 8px 8px;display:flex}.mobile-sheet__tab{min-width:0;min-height:40px;font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);cursor:pointer;border-radius:6px;flex:1 1 0;padding:8px 10px;font-size:13px;font-weight:500}.mobile-sheet__tab--active{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border)}.mobile-sheet__tab:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:1px}.mobile-sheet__body{overscroll-behavior:contain;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.mobile-sheet__body .editor-dock{border-left:none;flex:auto;width:100%!important}.mobile-sheet__body .editor-dock__header{display:none}.mobile-sheet__body>.side-panel:last-child{border-bottom:none}.mobile-sheet__body>.wall-tool-panel,.mobile-sheet__body>.obstacle-tool-panel{border-top:none;margin-top:0;padding:8px}.mobile-sheet__body>.obstacle-tool-panel{flex-flow:wrap}.mobile-sheet__body .obstacle-tool-panel__item,.mobile-sheet__body .wall-tool-panel__toggle{min-width:72px;min-height:44px}.mobile-sheet__body>.device-catalog-overlay{border:none;border-radius:0;flex:none;width:100%;max-width:100%;max-height:none;overflow:visible}.mobile-sheet__body .device-catalog-panel{flex:none;overflow-y:visible}.floor-overlay-panel{flex-direction:column;gap:8px;display:flex}.floor-overlay-panel__note{color:var(--pm-text-muted);margin:0;font-size:12px}.floor-overlay-panel__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.floor-overlay-panel__row{border-radius:4px;padding:2px 4px}.floor-overlay-panel__row:hover{background:var(--pm-bg-hover)}.floor-overlay-panel__label{min-width:0;color:var(--pm-text-primary);cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.floor-overlay-panel__label input[type=checkbox]{flex:none;margin:0}.floor-overlay-panel__label-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.floor-overlay-panel__label--move{margin-top:2px}.floor-overlay-panel__field{color:var(--pm-text-secondary);flex-direction:column;gap:2px;font-size:12px;display:flex}.floor-overlay-panel__field input[type=range]{width:100%}.floor-overlay-panel__input,.floor-overlay-panel__select{width:100%;color:var(--pm-text-primary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:3px 6px;font-size:13px}.floor-overlay-panel__position{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:6px;padding-top:8px;display:flex}.floor-overlay-panel__position-title{color:var(--pm-text-secondary);font-size:12px;font-weight:600}.floor-overlay-panel__reset{color:var(--pm-text-secondary);background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;align-self:flex-start;padding:3px 8px;font-size:12px}.floor-overlay-panel__reset:hover{background:var(--pm-bg-hover);color:var(--pm-text-primary)}.annotation-properties__text{box-sizing:border-box;width:100%;font:inherit;color:var(--pm-text-heading);resize:vertical;background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:6px;padding:6px 8px;font-size:13px;line-height:1.4}.annotation-properties__text:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.annotation-properties__font-size{box-sizing:border-box;width:80px;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:6px;padding:4px 8px;font-size:13px}.annotation-properties__font-size:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.cable-route-properties__name-input{border:1px solid var(--pm-border-control);box-sizing:border-box;border-radius:4px;width:100%;padding:4px 6px;font-size:13px}.cable-route-properties__select{width:100%;max-width:10em;font:inherit;border:1px solid var(--pm-border-control);box-sizing:border-box;background:var(--pm-bg-surface);color:inherit;border-radius:4px;padding:2px 6px}.cable-route-properties__split-crossings{flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px;display:flex}.cable-route-properties__button{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.cable-route-properties__button:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.cable-route-properties__button:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.cable-route-properties__button:disabled{color:var(--pm-text-muted);cursor:default}.cable-route-properties__hint{color:var(--pm-text-muted)}.connection-properties__select{width:100%;max-width:12em;font:inherit;border:1px solid var(--pm-border-control);box-sizing:border-box;background:var(--pm-bg-surface);color:inherit;border-radius:4px;padding:2px 6px}.connection-properties__show-on-floor{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;padding:2px 8px}.connection-properties__show-on-floor:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.connection-properties__show-on-floor:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.connection-properties__straighten{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;padding:4px 10px}.connection-properties__straighten:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.connection-properties__straighten:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.connection-properties__auto-route{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;padding:4px 10px}.connection-properties__auto-route:hover:not(:disabled){color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.connection-properties__auto-route:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.connection-properties__auto-route:disabled{cursor:default;opacity:.6}.connection-properties__auto-route-stale{color:var(--pm-warning-text);margin-left:8px;display:inline-block}.connection-properties__auto-route-error{color:var(--pm-danger-text);margin:4px 0 0}.connection-properties__auto-route-mode{color:var(--pm-text-secondary);cursor:pointer;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;display:flex}.connection-properties__monitoring-toggle{font:inherit;color:var(--pm-text-heading);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:600;display:flex}.connection-properties__monitoring-toggle:hover{color:var(--pm-accent-hover)}.connection-properties__monitoring-toggle:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.connection-properties__monitoring-body{flex-direction:column;gap:4px;margin-top:6px;display:flex}.connection-properties__monitoring-row{align-items:center;gap:6px;display:flex}.connection-properties__monitoring-label{color:var(--pm-text-muted);flex:none}.connection-properties__monitoring-input{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:4px 6px;font-size:13px}.connection-properties__monitoring-input:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.connection-properties__monitoring-value{overflow-wrap:anywhere;color:var(--pm-text-muted)}.connection-properties__monitoring-check{font:inherit;color:var(--pm-accent-default);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.connection-properties__monitoring-check:hover:not(:disabled){text-decoration:underline}.connection-properties__monitoring-check:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.connection-properties__monitoring-check:disabled{cursor:default;opacity:.6}.connection-properties__monitoring-note{color:var(--pm-border-strong);margin:4px 0 0;font-size:12px}.connection-properties__monitoring-error{color:var(--pm-danger-text);margin:4px 0 0;font-size:12px}.connection-properties__material{align-items:baseline;gap:6px;margin:0;display:flex}.connection-properties__material:before{content:"🔒";opacity:.7;font-size:11px;line-height:1}.connection-properties__material-conflict{color:var(--pm-warning-text);margin:4px 0 0;font-size:12px}.connection-properties__copper-warning{border:1px solid #0000;border-radius:4px;margin:0;padding:6px 8px;font-size:12px}.connection-properties__copper-warning--near{color:var(--pm-warning-text);background:var(--pm-warning-bg);border-color:var(--pm-warning-border)}.connection-properties__copper-warning--danger{color:var(--pm-danger-text);background:var(--pm-danger-bg);border-color:var(--pm-danger-border)}.connection-properties__copper-warning--over{color:var(--pm-cable-over);background:var(--pm-danger-bg);border-color:var(--pm-cable-over)}.connection-properties__copper-warning-chain{margin:4px 0 0;padding:0 8px;font-size:12px}.connection-properties__copper-warning-chain--near{color:var(--pm-warning-text)}.connection-properties__copper-warning-chain--danger{color:var(--pm-danger-text)}.connection-properties__copper-warning-chain--over{color:var(--pm-cable-over)}.device-properties__tabs{border-bottom:1px solid var(--pm-border-default);gap:4px;margin-bottom:8px;display:flex}.device-properties__tab{font:inherit;color:var(--pm-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 10px;font-size:13px;font-weight:500}.device-properties__tab:hover{color:var(--pm-text-primary)}.device-properties__tab:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.device-properties__tab--active{color:var(--pm-text-heading);border-bottom-color:var(--pm-accent-default)}.device-properties__input{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:4px 6px;font-size:13px}.device-properties__input--number{width:6em}.device-properties__select{min-width:0;max-width:100%;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:3px 6px;font-size:13px}.device-properties__input:focus,.device-properties__select:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.device-properties__input[aria-invalid=true]{border-color:var(--pm-danger-solid)}.device-properties__error{color:var(--pm-danger-text);margin:4px 0 0;font-size:12px}.device-properties__note{color:var(--pm-border-strong);margin:4px 0 0;font-size:12px}.device-properties__inline-checkbox{color:var(--pm-text-heading);align-items:center;gap:6px;font-size:13px;display:inline-flex}.device-properties__networks-head,.device-properties__networks{grid-column:1/-1}.device-properties__networks-head{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.device-properties__network-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.device-properties__network{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;flex-direction:column;gap:4px;padding:6px;display:flex}.device-properties__network-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.device-properties__network-label{color:var(--pm-text-muted);flex:none}.device-properties__icon-button{width:24px;height:24px;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.device-properties__icon-button:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.device-properties__icon-button:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.device-properties__model-summary{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.device-properties__model-name{color:var(--pm-text-heading);font-weight:600}.device-properties__model-link{color:var(--pm-accent-default);font-size:12px}.device-properties__model-link:hover{text-decoration:underline}.device-properties__model-select{width:100%}.device-properties__model-archived-badge{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:3px;align-self:flex-start;padding:1px 6px;font-size:11px}.device-properties__conformance-head{color:var(--pm-warning-text)}.device-properties__conformance-list{color:var(--pm-warning-text);margin:0 0 6px;padding:0 0 0 16px;font-size:12px}.device-properties__override{color:var(--pm-warning-text);align-items:center;gap:6px;margin:4px 0 0;font-size:12px;display:flex}.device-properties__poe-warning{color:var(--pm-warning-text);margin:4px 0 0;font-size:12px;font-weight:500}.device-properties__link-button{font:inherit;color:var(--pm-accent-default);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.device-properties__link-button:hover{text-decoration:underline}.device-properties__link-button:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.device-properties__antenna-select{width:100%}.device-properties__antenna-fields{flex-direction:column;gap:6px;margin-top:6px;display:flex}.device-properties__bands{flex-direction:column;gap:6px;display:flex}.device-properties__band{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;padding:6px}.device-properties__band-summary{cursor:pointer;color:var(--pm-text-secondary)}.device-properties__band-file-input{min-width:0;font:inherit;color:var(--pm-text-secondary);flex:auto}.device-properties__antenna-shape,.device-properties__monitoring-body{flex-direction:column;gap:4px;display:flex}.device-properties__monitoring-no-sources{flex-wrap:wrap;align-items:baseline;gap:6px;margin-bottom:2px;display:flex}.device-properties__icon-scale-row{align-items:center;gap:8px;display:flex}.device-properties__range{flex:auto;min-width:0}.device-properties__hidden-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.obstacle-properties__input{width:6em;font:inherit;border:1px solid var(--pm-border-control);border-radius:4px;padding:2px 6px}.obstacle-properties__rotation{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.obstacle-properties__rotate{gap:4px;display:flex}.obstacle-properties__rotate-button{font:inherit;cursor:pointer;color:inherit;background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:2px 6px}.obstacle-properties__rotate-button:hover{background:var(--pm-bg-hover)}.socket-properties__name-input{border:1px solid var(--pm-border-control);box-sizing:border-box;border-radius:4px;width:100%;padding:4px 6px;font-size:13px}.socket-properties__links{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.socket-properties__link{flex-direction:column;gap:2px;display:flex}.socket-properties__link-button{width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;box-sizing:border-box;background:0 0;border:1px solid #0000;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 6px;display:flex}.socket-properties__link-button:hover{border-color:var(--pm-border-control);background:var(--pm-bg-hover)}.socket-properties__link-meta{color:var(--pm-text-muted);font-size:12px}.socket-properties__link-toggle{color:var(--pm-text-muted);cursor:pointer;align-items:center;gap:4px;padding:0 6px;font-size:12px;display:flex}.socket-properties__inline-checkbox{color:var(--pm-text-heading);align-items:center;gap:6px;margin-bottom:4px;font-size:13px;display:inline-flex}.wall-properties__input,.wall-properties__select{width:100%;max-width:10em;font:inherit;border:1px solid var(--pm-border-control);box-sizing:border-box;background:var(--pm-bg-surface);color:inherit;border-radius:4px;padding:2px 6px}.wall-properties__input[readonly]{background:var(--pm-bg-hover);color:var(--pm-text-muted)}.wall-properties__checkbox{width:auto;margin:0}.wall-properties__hint{color:var(--pm-text-muted)}.wall-properties__group-actions{gap:6px;margin-top:10px;display:flex}.wall-properties__group-button{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.wall-properties__group-button:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.wall-properties__group-button:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.wall-properties__group-button:disabled{color:var(--pm-text-muted);cursor:default}.wall-properties__split-crossings{flex-direction:column;align-items:flex-start;gap:6px;margin-top:10px;display:flex}.properties-panel__breakdown{flex-direction:column;gap:2px;margin:0 0 10px;padding:0;list-style:none;display:flex}.properties-panel__breakdown-row{color:var(--pm-text-secondary);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.properties-panel__delete{font:inherit;color:var(--pm-text-secondary);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;display:inline-flex}.properties-panel__delete:hover{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border-color:var(--pm-accent-subtle-border)}.properties-panel__delete:focus-visible{outline:2px solid var(--pm-accent-default);outline-offset:1px}.properties__readonly{overflow-wrap:anywhere;color:var(--pm-text-muted);margin:0}.properties__readonly--multiline{white-space:pre-wrap}.unplaced-panel{padding:0}.unplaced-panel__empty{color:var(--pm-text-muted);margin:0;padding:4px 6px;font-size:13px}.unplaced-panel__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.unplaced-panel__row{border:1px dashed #0000;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;padding:4px 6px;display:flex}.unplaced-panel__row[draggable=true]{cursor:grab}.unplaced-panel__row[draggable=true]:hover{background:var(--pm-bg-hover);border-color:var(--pm-border-control)}.unplaced-panel__name{text-overflow:ellipsis;white-space:nowrap;color:var(--pm-text-primary);font-size:13px;overflow:hidden}.unplaced-panel__kind{color:var(--pm-text-muted);flex:none;font-size:11px}.editor{height:calc(100dvh - var(--pm-header-height));background:var(--pm-bg-surface-alt);flex-direction:column;display:flex;overflow:hidden}.editor__topbar{background:var(--pm-bg-surface);border-bottom:1px solid var(--pm-border-default);flex:none;align-items:center;gap:16px;padding:8px 16px;display:flex;position:relative}.editor__back{flex:none;font-size:13px;text-decoration:none}.editor__title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;max-width:320px;margin:0;font-size:15px;font-weight:600;overflow:hidden}.editor__topbar-actions{flex:1;justify-content:flex-end;align-items:center;gap:12px;min-width:0;margin-left:auto;display:flex;overflow:hidden}.editor__topbar-measure{visibility:hidden;pointer-events:none;gap:12px;display:flex;position:fixed;top:-9999px;left:-9999px}.editor__topbar-more{flex:none}.editor__topbar-menu{z-index:20;background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);min-width:180px;box-shadow:var(--pm-shadow-popover);border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:100%;right:16px}.editor__topbar-menu>*{justify-content:flex-start;width:100%}.editor__topbar-menu>:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:-2px}.editor__autosave{color:var(--pm-text-muted);white-space:nowrap;font-size:12px}.editor__autosave--error{color:var(--pm-danger-solid);font-weight:500}.editor__history{font:inherit;color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:7px 10px;font-size:13px;display:inline-flex}.editor__history:hover:not(:disabled){background:var(--pm-bg-hover);border-color:var(--pm-border-strong)}.editor__history:disabled{color:var(--pm-border-control);cursor:not-allowed}.editor__history:focus-visible{outline:2px solid var(--pm-focus-color);outline-offset:1px}.editor__clipboard-warning{color:var(--pm-text-strong);background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-control);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;display:inline-flex}.editor__clipboard-warning-dismiss{width:16px;height:16px;font:inherit;color:var(--pm-text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.editor__clipboard-warning-dismiss:hover{color:var(--pm-text-strong)}.editor__backdrop-toggle{font:inherit;color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:7px 10px;font-size:13px;display:inline-flex}.editor__backdrop-toggle:hover:not(:disabled){background:var(--pm-bg-hover);border-color:var(--pm-border-strong)}.editor__backdrop-toggle:disabled{color:var(--pm-border-control);cursor:not-allowed}.editor__export{font:inherit;color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.editor__export:hover:not(:disabled){background:var(--pm-bg-hover);border-color:var(--pm-border-strong)}.editor__export:disabled{color:var(--pm-border-control);cursor:not-allowed}.editor__view-mode-badge{font:inherit;color:var(--pm-accent-contrast);background:var(--pm-accent-default);white-space:nowrap;cursor:default;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;display:inline-flex}.editor__save{font:inherit;color:var(--pm-accent-contrast);background:var(--pm-accent-default);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.editor__save:disabled{background:var(--pm-border-strong);cursor:not-allowed}.editor__body{flex:auto;min-height:0;display:flex}.tool-palette{background:var(--pm-bg-surface);border-right:1px solid var(--pm-border-default);flex-direction:column;flex:none;gap:4px;width:76px;padding:8px;display:flex;overflow-y:auto}.tool-palette__item{font:inherit;color:var(--pm-text-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:8px 2px;font-size:11px;display:flex}.tool-palette__item:hover{background:var(--pm-bg-hover)}.tool-palette__item--active{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border)}.tool-palette__label{text-align:center;line-height:1.2}.tool-palette--horizontal{border-right:none;border-bottom:1px solid var(--pm-border-default);touch-action:pan-x;overscroll-behavior-x:contain;flex-direction:row;width:auto;padding:6px 8px;overflow:auto hidden}.tool-palette--horizontal .tool-palette__item{flex:none;justify-content:center;min-width:44px;min-height:44px;padding:8px}.tool-palette--horizontal .tool-palette__label{display:none}.editor__canvas-area{touch-action:none;overscroll-behavior:contain;flex:auto;min-width:0;min-height:0;position:relative}.editor__canvas-banners{z-index:5;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:absolute;top:8px;left:8px;right:8px}.editor__canvas-banners>*{pointer-events:auto}.editor-canvas{background:var(--pm-bg-canvas);position:absolute;inset:0;overflow:hidden}.editor-canvas--panning,.editor-canvas--panning *{cursor:grabbing}.editor-canvas--measuring{cursor:crosshair}.editor-canvas__hint{text-align:center;color:var(--pm-border-strong);pointer-events:none;justify-content:center;align-items:center;margin:0;padding:16px;font-size:14px;display:flex;position:absolute;inset:0}.editor-canvas__hint--error{color:var(--pm-danger-text)}.editor-canvas__status{white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 24px);color:var(--pm-text-secondary);background:var(--pm-bg-canvas-badge);border:1px solid var(--pm-border-default);pointer-events:none;border-radius:6px;padding:4px 8px;font-size:12px;position:absolute;bottom:12px;left:12px;overflow:hidden}.coverage-overlay-container{pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:240px;display:flex;position:absolute;top:12px;right:12px}.coverage-overlay{color:var(--pm-text-strong);background:var(--pm-bg-canvas-panel);border:1px solid var(--pm-border-default);pointer-events:none;border-radius:8px;font-size:12px}.coverage-overlay--indicator{color:var(--pm-text-secondary);padding:6px 10px}.coverage-overlay--hint{max-width:220px}.coverage-overlay--legend{flex-direction:column;gap:4px;padding:8px 10px;display:flex}.coverage-overlay__title{margin-bottom:2px;font-weight:600}.coverage-overlay__row{white-space:nowrap;align-items:center;gap:6px;display:flex}.coverage-overlay__swatch{border-radius:2px;flex:none;width:10px;height:10px}.coverage-overlay__swatch--hatch{background-image:repeating-linear-gradient(45deg, var(--pm-bg-surface) 0, var(--pm-bg-surface) 2px, currentColor 2px, currentColor 4px);background-color:#0000;border:1px solid}.coverage-overlay__label{flex:none;min-width:48px}.coverage-overlay__dbm{color:var(--pm-text-muted)}.coverage-panel{flex-direction:column;gap:8px;display:flex}.coverage-panel__row{color:var(--pm-text-secondary);flex-direction:column;gap:3px;font-size:12px;display:flex}.coverage-panel__row--checkbox{color:var(--pm-text-strong);flex-direction:row;align-items:center;gap:6px;font-size:12px}.coverage-panel__select,.coverage-panel__input{box-sizing:border-box;width:100%;font:inherit;color:var(--pm-text-heading);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control);border-radius:4px;padding:3px 6px;font-size:12px}.coverage-panel__select:focus,.coverage-panel__input:focus{border-color:var(--pm-accent-default);box-shadow:0 0 0 2px var(--pm-focus-ring);outline:none}.coverage-panel__devices{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:4px;padding-top:4px;display:flex}.coverage-panel__devices-title{color:var(--pm-text-strong);font-size:12px;font-weight:600}.coverage-panel__note{color:var(--pm-text-muted);margin:0;font-size:12px}.coverage-panel__warning{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:4px;margin:0;padding:4px 6px;font-size:12px}.coverage-panel__device-list{flex-direction:column;gap:3px;max-height:140px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.coverage-panel__link-button{font:inherit;color:var(--pm-accent-default);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px}.coverage-panel__link-button:hover:not(:disabled){text-decoration:underline}.coverage-panel__link-button:disabled{color:var(--pm-text-muted);cursor:default}.coverage-panel__placement{border-top:1px solid var(--pm-border-default);flex-direction:column;gap:6px;padding-top:4px;display:flex}.coverage-panel__button{font:inherit;color:var(--pm-accent-contrast);background:var(--pm-accent-default);cursor:pointer;border:1px solid #0000;border-radius:4px;padding:5px 10px;font-size:12px;font-weight:500}.coverage-panel__button:hover:not(:disabled){background:var(--pm-accent-hover)}.coverage-panel__button:disabled{background:var(--pm-border-strong);cursor:not-allowed}.coverage-panel__placement-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.coverage-panel__placement-item,.coverage-panel__placement-second{border:1px solid var(--pm-border-default);border-radius:4px;flex-direction:column;gap:4px;padding:4px 6px;display:flex}.coverage-panel__placement-item:hover,.coverage-panel__placement-second:hover{border-color:var(--pm-accent-subtle-border);background:var(--pm-accent-subtle-bg)}.coverage-panel__placement-summary{color:var(--pm-text-strong);font-size:12px}.coverage-panel__placement-second .coverage-panel__note{color:var(--pm-text-secondary)}.editor__overlay{z-index:1;text-align:center;color:var(--pm-text-secondary);background:var(--pm-bg-overlay-loading);justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.editor__overlay--error{color:var(--pm-danger-text)}.editor__overlay-box{flex-direction:column;align-items:center;gap:8px;display:flex}.editor__overlay-link{color:var(--pm-accent-default)}.editor__side{background:var(--pm-bg-surface);border-left:1px solid var(--pm-border-default);flex-direction:column;flex:none;width:300px;min-height:0;display:flex;overflow-y:auto}.editor__side-resizer{cursor:col-resize;border-left:1px solid var(--pm-border-default);background:0 0;flex:0 0 6px;width:6px;transition:background-color .2s ease-out}.editor__side-resizer:hover{background:var(--pm-border-control)}.editor__side-resizer--resizing{background:var(--pm-border-strong)}.side-panel{border-bottom:1px solid var(--pm-border-default);padding:12px}.side-panel--grow{border-bottom:none;flex:auto}.side-panel__title{text-transform:uppercase;letter-spacing:.04em;color:var(--pm-text-muted);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.side-panel__empty{color:var(--pm-border-strong);margin:0;font-size:13px}.floor-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.floor-list__item{width:100%;font:inherit;text-align:left;color:var(--pm-text-strong);border:1px solid var(--pm-border-default);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.floor-list__thumb{width:52px;height:38px;color:var(--pm-border-strong);background:var(--pm-bg-hover);border:1px solid var(--pm-border-default);border-radius:4px;flex:none;justify-content:center;align-items:center;display:flex;overflow:hidden}.floor-list__thumb img{object-fit:contain;width:100%;height:100%}.floor-list__text{min-width:0}.floor-list__name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.floor-list__note{color:var(--pm-border-strong);font-size:11px;display:block}.floor-list__item:hover{background:var(--pm-bg-hover)}.floor-list__item--active{color:var(--pm-accent-hover);background:var(--pm-accent-subtle-bg);border-color:var(--pm-accent-subtle-border)}.properties{grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:0;font-size:13px;display:grid}.properties dt{color:var(--pm-text-muted)}.properties dd{overflow-wrap:anywhere;margin:0}.scale-dialog-backdrop{z-index:2;background:var(--pm-overlay-backdrop-subtle);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.scale-dialog{background:var(--pm-bg-surface);border:1px solid var(--pm-border-default);width:min(280px,100% - 32px);box-shadow:var(--pm-shadow-popover);border-radius:8px;padding:16px}.scale-dialog__title{color:var(--pm-text-heading);margin:0 0 6px;font-size:14px;font-weight:600}.scale-dialog__hint{color:var(--pm-text-muted);margin:0 0 12px;font-size:12px}.scale-dialog__row{align-items:center;gap:8px;display:flex}.scale-dialog__label{color:var(--pm-text-strong);flex:none;font-size:13px}.scale-dialog__input{min-width:0;font:inherit;border:1px solid var(--pm-border-control);border-radius:6px;flex:auto;padding:6px 8px;font-size:13px}.scale-dialog__unit{font:inherit;border:1px solid var(--pm-border-control);background:var(--pm-bg-surface);border-radius:6px;flex:none;padding:6px 8px;font-size:13px}.scale-dialog__error{color:var(--pm-danger-text);margin:8px 0 0;font-size:12px}.scale-dialog__actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.scale-dialog__cancel,.scale-dialog__confirm{font:inherit;cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px}.scale-dialog__cancel{color:var(--pm-text-strong);background:var(--pm-bg-surface);border:1px solid var(--pm-border-control)}.scale-dialog__confirm{color:var(--pm-accent-contrast);background:var(--pm-accent-default);border:1px solid #0000}@media (width<=767px){.editor--mobile .editor__body{flex-direction:column}.editor--mobile .editor__canvas-area{flex:auto;width:100%;min-height:0}.editor--mobile .editor__side-resizer{display:none}.editor--mobile .editor__side{border-left:none;border-top:1px solid var(--pm-border-default);max-height:50%;width:100%!important}.editor--mobile .device-catalog-overlay-container{display:none}.editor--mobile .editor__topbar{gap:8px;padding:6px 10px}.editor--mobile .editor__title{max-width:45vw}.editor--mobile:not(.editor--view) .editor__back{display:none}.editor__topbar--public{flex-wrap:wrap;row-gap:6px}.editor__topbar--public .editor__title{max-width:100%}.editor__topbar--public .editor__topbar-actions{flex-wrap:wrap;flex-basis:100%;justify-content:flex-start;margin-left:0;overflow:visible}.editor--mobile .coverage-overlay-container{max-width:45vw}}@media (pointer:coarse){.editor--view .editor__topbar-actions>*,.editor--view .editor__topbar-menu>*,.editor--view .editor__history,.editor--view .editor__export,.editor--view .editor__backdrop-toggle,.editor--view .dock-section__header,.editor--view .floor-list__item,.editor--mobile .editor__topbar-actions>*,.editor--mobile .editor__topbar-menu>*,.editor--mobile .editor__history,.editor--mobile .editor__export,.editor--mobile .editor__backdrop-toggle,.editor--mobile .dock-section__header,.editor--mobile .floor-list__item{min-height:40px}}.share-dialog__tabs{border-bottom:1px solid var(--pm-border-default);gap:4px;margin-bottom:14px;display:flex}.share-dialog__tab{font:inherit;color:var(--pm-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 12px;font-size:13px;font-weight:500}.share-dialog__tab:hover{color:var(--pm-text-primary)}.share-dialog__tab--active{color:var(--pm-accent-default);border-bottom-color:var(--pm-accent-default)}.share-dialog__list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.share-dialog__list-item{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.share-dialog__list-item-info{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.share-dialog__email{color:var(--pm-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.share-dialog__meta{color:var(--pm-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.share-dialog__empty{color:var(--pm-text-muted);padding:10px;font-size:13px}.share-dialog__expired-badge{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:500}.share-dialog__level-select{flex:none;width:auto}.share-dialog__add-form{align-items:flex-end;gap:8px;display:flex}.share-dialog__add-form .form-field{flex:auto}.share-dialog__add-form .share-dialog__level-field{flex:none}.share-dialog__warning{color:var(--pm-warning-text);background:var(--pm-warning-bg);border:1px solid var(--pm-warning-border);border-radius:6px;margin:0 0 14px;padding:10px 12px;font-size:12px}.share-dialog__new-link{background:var(--pm-accent-strong-bg);border:1px solid var(--pm-accent-strong-border);border-radius:8px;margin-bottom:14px;padding:12px}.share-dialog__new-link-warning{color:var(--pm-accent-hover);margin:0 0 8px;font-size:12px;font-weight:500}.share-dialog__copy-row{gap:8px;display:flex}.share-dialog__copy-row .form-input{flex:auto;min-width:0;font-family:monospace}.share-dialog__copy-fallback{color:var(--pm-text-secondary);margin:8px 0 0;font-size:12px}.share-dialog__create-link{align-items:flex-end;gap:8px;display:flex}.share-dialog__create-link .form-field{flex:none}.plugin-page{min-height:calc(100vh - var(--pm-header-height));background:var(--pm-bg-page);color:var(--pm-text-primary);flex-direction:column;gap:16px;padding:24px;display:flex}.plugin-page__title{color:var(--pm-text-heading);margin:0;font-size:16px}.plugin-page__error-body{flex-direction:column;gap:4px;display:flex}.plugin-page__body{border:1px solid var(--pm-border-default);background:var(--pm-bg-surface);border-radius:10px;padding:16px}.plugin-page__state{color:var(--pm-text-muted);margin:0}.plugin-sandbox{flex-direction:column;gap:8px;min-height:0;display:flex}.plugin-sandbox__frame{border:1px solid var(--pm-border-default);background:var(--pm-bg-surface);border-radius:8px;width:100%;min-height:480px;display:block}.plugin-error{border:1px solid var(--pm-danger-border);background:var(--pm-danger-bg);border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;display:flex}.plugin-error__title{color:var(--pm-danger-text);margin:0;font-size:16px}.plugin-error__message{color:var(--pm-text-secondary);margin:0}.plugin-error__details{border:1px solid var(--pm-border-default);background:var(--pm-bg-surface-alt);width:100%;color:var(--pm-text-muted);border-radius:8px;margin:0;padding:8px 10px;font-size:12px;overflow-x:auto}.plugin-notice{margin:8px 16px 0}.plugin-notice--error{border-color:var(--pm-danger-border);background:var(--pm-danger-bg);color:var(--pm-danger-text)}.plugin-notice--success{border-color:var(--pm-success-border);background:var(--pm-success-bg);color:var(--pm-success-text)}.plugin-demo{flex-direction:column;gap:16px;display:flex}.plugin-demo__intro,.plugin-demo__muted{color:var(--pm-text-muted);margin:0}.plugin-demo__section{flex-direction:column;gap:8px;display:flex}.plugin-demo__heading{color:var(--pm-text-strong);margin:0;font-size:14px}.plugin-demo__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.plugin-demo__code{border:1px solid var(--pm-border-default);background:var(--pm-bg-surface-alt);max-height:320px;color:var(--pm-text-secondary);border-radius:8px;margin:0;padding:12px;font-size:12px;overflow:auto}.sessions-dialog__list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.sessions-dialog__list-item{background:var(--pm-bg-surface-alt);border:1px solid var(--pm-border-default);border-radius:6px;align-items:center;gap:10px;padding:8px 10px;display:flex}.sessions-dialog__list-item-info{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.sessions-dialog__meta{color:var(--pm-text-muted);align-items:center;gap:6px;font-size:12px;display:flex}.sessions-dialog__current-badge{color:var(--pm-accent-hover);background:var(--pm-accent-strong-bg);border:1px solid var(--pm-accent-strong-border);border-radius:999px;padding:1px 6px;font-size:11px;font-weight:500}.app-header{z-index:30;height:var(--pm-header-height);background:var(--pm-bg-surface);border-bottom:1px solid var(--pm-border-default);align-items:center;gap:16px;padding:0 16px;display:flex;position:relative}.app-header__brand{flex:0 1000 auto;align-items:baseline;gap:10px;min-width:0;display:flex}.app-header__brand-link{color:var(--pm-text-heading);white-space:nowrap;flex:none;font-size:15px;font-weight:600;text-decoration:none}.app-header__brand-link:hover{color:var(--pm-accent-default)}.app-header__project{min-width:0;color:var(--pm-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:0 1000 auto;font-size:13px;overflow:hidden}.app-header__tabs{scrollbar-width:none;flex:auto;align-items:center;gap:2px;min-width:0;display:flex;overflow-x:auto}.app-header__tabs::-webkit-scrollbar{display:none}.app-header__tabs--overflow-start:before,.app-header__tabs--overflow-end:after{content:"";pointer-events:none;flex:none;align-self:stretch;width:20px}.app-header__tabs--overflow-start:before{background:linear-gradient(to right, var(--pm-bg-surface), transparent);margin-right:-20px;position:sticky;left:0}.app-header__tabs--overflow-end:after{background:linear-gradient(to left, var(--pm-bg-surface), transparent);margin-left:-20px;position:sticky;right:0}.app-header__tab{color:var(--pm-text-secondary);white-space:nowrap;border-radius:6px;flex:none;padding:5px 12px;font-size:13px;font-weight:500;text-decoration:none}.app-header__tab:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.app-header__tab--active{color:var(--pm-accent-contrast);background:var(--pm-accent-default)}.app-header__tab--active:hover{color:var(--pm-accent-contrast);background:var(--pm-accent-hover)}.app-header__view-toggle{font:inherit;color:var(--pm-text-secondary);cursor:pointer;border:1px solid var(--pm-border-default);white-space:nowrap;background:0 0;border-radius:6px;flex:none;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:flex}.app-header__label{white-space:nowrap}.app-header__view-toggle:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.app-header__view-toggle--on,.app-header__view-toggle--on:hover{color:var(--pm-accent-contrast);background:var(--pm-accent-default);border-color:var(--pm-accent-default)}.app-header__view-toggle--on:hover{background:var(--pm-accent-hover);border-color:var(--pm-accent-hover)}.app-header__share{font:inherit;color:var(--pm-text-secondary);cursor:pointer;border:1px solid var(--pm-border-default);white-space:nowrap;background:0 0;border-radius:6px;flex:none;align-items:center;gap:6px;padding:5px 12px;font-size:13px;font-weight:500;display:flex}.app-header__share:hover{color:var(--pm-text-primary);background:var(--pm-bg-hover)}.app-header__actions{flex-wrap:nowrap;flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.app-header__user .home-menu__label{max-width:160px}.app-header__user-icon{align-items:center;display:none}.app-header__user{min-width:0;color:var(--pm-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}@media (width<=1180px){.app-header__project{display:none}.app-header__brand{min-width:auto}.app-header__view-toggle .app-header__label,.app-header__share .app-header__label,.app-header__user .home-menu__label{display:none}.app-header__user-icon{display:inline-flex}.app-header__view-toggle,.app-header__share{padding:5px 8px}}@media (width<=900px){.app-header{gap:10px;padding:0 10px}.app-header__tab{padding:5px 8px}.app-header__admin .home-menu__label{display:none}}@media (width<=480px){.app-header{gap:6px;padding:0 8px}.app-header__brand-link{font-size:14px}.app-header__tab{padding:5px 7px}.app-header__actions{gap:4px}.app-header__actions .icon-button,.app-header__actions .button{padding:5px 6px}}@media (pointer:coarse){.app-header__tab,.app-header__actions .icon-button,.app-header__actions .button{align-items:center;min-height:40px;display:inline-flex}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--pm-header-height:44px;--pm-bg-page:#fff;--pm-bg-surface:#fff;--pm-bg-surface-alt:#f8fafc;--pm-bg-hover:#f1f5f9;--pm-text-primary:#1f2328;--pm-text-secondary:#475569;--pm-text-muted:#64748b;--pm-border-default:#e2e8f0;--pm-border-strong:#94a3b8;--pm-accent-default:#2563eb;--pm-accent-hover:#1d4ed8;--pm-accent-active:#1e40af;--pm-accent-disabled:#93c5fd;--pm-accent-contrast:#fff;--pm-accent-subtle-bg:#e0edff;--pm-accent-subtle-border:#93c5fd;--pm-success-text:#15803d;--pm-success-bg:#f0fdf4;--pm-success-border:#bbf7d0;--pm-warning-text:#b45309;--pm-warning-bg:#fffbeb;--pm-warning-border:#fde68a;--pm-danger-solid:#dc2626;--pm-danger-solid-hover:#b91c1c;--pm-danger-text:#b91c1c;--pm-danger-bg:#fef2f2;--pm-danger-border:#fecaca;--pm-cable-over:#7f1d1d;--pm-shadow-sm:0 1px 6px #0f172a14;--pm-shadow-md:0 12px 32px #0f172a1f;--pm-shadow-lg:0 12px 32px #0f172a40;--pm-shadow-soft:0 12px 32px #0f172a14;--pm-focus-color:#93c5fd;--pm-text-strong:#334155;--pm-border-control:#cbd5e1;--pm-danger-border-strong:#f87171;--pm-overlay-backdrop:#0f172a73;--pm-accent-strong-bg:#eff6ff;--pm-accent-strong-border:#60a5fa;--pm-text-heading:#1e293b;--pm-focus-ring:#2563eb26;--pm-bg-canvas:#eef2f7;--pm-bg-canvas-badge:#ffffffe6;--pm-bg-canvas-panel:#ffffffeb;--pm-bg-overlay-loading:#f8fafcd9;--pm-overlay-backdrop-subtle:#0f172a59;--pm-shadow-popover:0 8px 24px #0f172a2e;--pm-accent-selected-hover-bg:#d4e3ff;--pm-bg-hover-strong:#e2e8f0;--pm-presence-1:#2563eb;--pm-presence-2:#7c3aed;--pm-presence-3:#0d9488;--pm-presence-4:#c2410c;--pm-presence-5:#be123c;--pm-presence-6:#4d7c0f;color:var(--pm-text-primary);background-color:var(--pm-bg-page);-webkit-font-smoothing:antialiased;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--pm-bg-page:#0f172a;--pm-bg-surface:#1e293b;--pm-bg-surface-alt:#0b1220;--pm-bg-hover:#334155;--pm-text-primary:#f1f5f9;--pm-text-secondary:#cbd5e1;--pm-text-muted:#94a3b8;--pm-border-default:#334155;--pm-border-strong:#64748b;--pm-accent-default:#3b82f6;--pm-accent-hover:#60a5fa;--pm-accent-active:#2563eb;--pm-accent-disabled:#1e3a8a;--pm-accent-contrast:#fff;--pm-accent-subtle-bg:#1e3a5f;--pm-accent-subtle-border:#3b82f6;--pm-success-text:#4ade80;--pm-success-bg:#052e16;--pm-success-border:#166534;--pm-warning-text:#fbbf24;--pm-warning-bg:#451a03;--pm-warning-border:#92400e;--pm-danger-solid:#ef4444;--pm-danger-solid-hover:#dc2626;--pm-danger-text:#f87171;--pm-danger-bg:#450a0a;--pm-danger-border:#7f1d1d;--pm-cable-over:#fb7185;--pm-shadow-sm:0 1px 6px #0000003d;--pm-shadow-md:0 12px 32px #0000005c;--pm-shadow-lg:0 12px 32px #00000080;--pm-shadow-soft:0 12px 32px #0003;--pm-focus-color:#60a5fa;--pm-text-strong:#e2e8f0;--pm-border-control:#475569;--pm-danger-border-strong:#ef4444;--pm-overlay-backdrop:#00000059;--pm-accent-strong-bg:#24467a;--pm-accent-strong-border:#60a5fa;--pm-text-heading:#e2e8f0;--pm-focus-ring:#3b82f626;--pm-bg-canvas:#0c1524;--pm-bg-canvas-badge:#1e293be6;--pm-bg-canvas-panel:#1e293beb;--pm-bg-overlay-loading:#0b1220d9;--pm-overlay-backdrop-subtle:#00000047;--pm-shadow-popover:0 8px 24px #00000073;--pm-accent-selected-hover-bg:#2a4d7a;--pm-bg-hover-strong:#3f4f66;--pm-presence-1:#3b82f6;--pm-presence-2:#8b5cf6;--pm-presence-3:#0d9488;--pm-presence-4:#ea580c;--pm-presence-5:#e11d48;--pm-presence-6:#65a30d}*{box-sizing:border-box}body{background-color:var(--pm-bg-page);min-height:100vh;margin:0}#root{min-height:100vh}.page{padding:24px}a{color:var(--pm-accent-default)}
