.tv-remote{max-width:280px;margin:12px auto;padding:24px 20px;border-radius:34px;background:linear-gradient(150deg,#252235,#11101a);box-shadow:0 14px 30px #16122525;color:#e9e5f3;direction:ltr;border:1px solid #464050}
.tv-brand{text-align:center;letter-spacing:2px;font-size:13px;margin-bottom:20px}.tv-brand small{display:block;font-size:10px;letter-spacing:1px;color:#a79bb9;margin-top:7px}
.tv-row{display:flex;justify-content:center;gap:10px;margin:12px 0}.tv-key{border:1px solid #50475e;background:#34303f;color:#fff;border-radius:13px;min-width:48px;min-height:44px;padding:9px;font:inherit;font-size:13px;cursor:pointer}.tv-key:hover{background:#514265}.tv-key:active{transform:scale(.96)}.tv-key:focus-visible{outline:3px solid #bc9dea}.tv-key:disabled{opacity:.4;cursor:not-allowed}.tv-power{background:#a42c47;font-size:24px}
.tv-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-template-areas:'. up .' 'left ok right' '. down .';gap:7px;margin:22px 0}.tv-up{grid-area:up}.tv-down{grid-area:down}.tv-left{grid-area:left}.tv-right{grid-area:right}.tv-ok{grid-area:ok;border-radius:50%;background:#75519c}
.tv-rockers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0}.tv-rockers>div{display:grid;gap:8px;text-align:center}.tv-rockers span{font-size:11px;color:#c4b9d0}.tv-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tv-numbers .tv-key:last-child{grid-column:2}
.office-marker.state-on circle{fill:#ffdc7b;stroke:#a26400}.office-marker.state-on text{fill:#704800}.office-marker.state-off circle{fill:#e5e7eb;stroke:#7a7e88}.office-marker.state-off text{fill:#4f5662}.office-marker.state-unknown circle{fill:#f6f3f8;stroke:#93899f;stroke-dasharray:.5 .35}.office-marker.state-connected circle{fill:#dcf5e9;stroke:#26845e}
.office-marker text.map-status{font:1.25px Tahoma,Arial,sans-serif;paint-order:stroke;stroke:#fff;stroke-width:.65;stroke-linejoin:round;fill:#3d3348}
.office-map-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:#665c72;padding:14px 0 0}.office-map-legend span{display:flex;align-items:center;gap:6px}.office-map-legend i{width:12px;height:12px;border-radius:50%;border:1px solid #79737f;background:#e5e7eb}.office-map-legend .on{background:#ffdc7b;border-color:#a26400}.office-map-legend .unknown{background:#faf8fc;border-style:dashed}.office-map-legend .connected{background:#dcf5e9;border-color:#26845e}
/* Preserve the edited outline, with no internal wall inside composite rooms. */
.office-room .office-room-floor{stroke:none}.office-room-walls{fill:none;stroke:#a895bd;stroke-width:.35;pointer-events:none}.office-room.selected .office-room-walls{stroke:#7642ae;stroke-width:.48}.office-room-label{font-family:inherit;font-weight:500;font-size:1.2px}
.office-marker.state-on circle{fill:#ffc400;stroke:#955300;stroke-width:.5;filter:drop-shadow(0 0 .7px #ffbc00)}.office-marker.state-on text{fill:#573500}
.office-marker.state-off circle{fill:#64748b;stroke:#334155;stroke-width:.4}.office-marker.state-off text{fill:#fff}
.office-marker.state-offline circle{fill:#ffe4e6;stroke:#dc2626;stroke-width:.5;stroke-dasharray:.7 .35}.office-marker.state-offline text{fill:#b91c1c}
.office-marker.state-unknown circle{fill:#f3f0fa;stroke:#8b76a6;stroke-width:.4;stroke-dasharray:.3 .5}.office-marker.state-unknown text{fill:#76618e}
.office-map-legend i{width:16px;height:16px;background:#64748b;border:2px solid #334155}.office-map-legend .on{background:#ffc400;border-color:#955300;box-shadow:0 0 5px #ffca5c}.office-map-legend .offline{background:#ffe4e6;border:2px dashed #dc2626}.office-map-legend .unknown{background:#f3f0fa;border:2px dotted #8b76a6}.office-map-legend .connected{background:#dcf5e9;border-color:#26845e}
/* Compact controls sit beside the taller TV remote instead of below it. */
.office-detail{padding:16px!important;margin-top:12px}.office-detail .office-toolbar p{margin:4px 0;font-size:11px}.office-device-section{margin-top:12px}.office-section-heading{margin-bottom:8px}.office-section-heading h3{font-size:14px}
.office-device-board{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.office-device-board.has-remote{grid-template-columns:minmax(0,1fr) 220px}.office-remote-column{min-width:0}
.office-device-board .office-device-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-items:start}.office-device-board .office-device{padding:12px;border-radius:12px;border:1px solid #e5ddec;background:#fff;margin:0;min-width:0;box-sizing:border-box}.office-device-board .office-device-title{gap:6px;margin-bottom:10px;display:flex;align-items:center}.office-device-board .office-device-title strong{min-width:85px;font-size:13px;line-height:1.5}.office-device-board .office-device-title>.icon{width:24px;height:24px;padding:3px}.office-device-board .office-device-title .pill{font-size:10px;padding:3px 7px;line-height:1.4}.office-device-board .office-control-buttons{gap:6px}.office-device-board .office-control-buttons .btn{min-height:36px;padding:7px 9px;font-size:12px}.office-device-board .muted,.office-device-board .office-ir-note{font-size:10px;line-height:1.6;margin:7px 0}.office-device-board .office-command-feedback:empty{display:none}.office-device-board .office-command-feedback{margin:5px 0;font-size:11px}.office-device-board .office-edit-link{font-size:10px;padding:5px 0 0}.office-advanced{margin-top:8px;font-size:11px}.office-advanced summary{cursor:pointer;color:#75568d;padding:5px 0}.office-advanced .office-position{margin-top:4px}.office-device-board .office-climate-grid{gap:7px}.office-device-board .office-climate input,.office-device-board .office-climate select{min-height:34px;padding:5px;font-size:12px}
.office-device-board .office-camera-preview{min-height:100px;padding:10px;gap:6px;margin-bottom:8px;aspect-ratio:16/9}.office-device-board .office-camera-preview strong{font-size:12px}.office-device-board .office-camera-preview span:not(.icon){font-size:10px}.office-device-board .office-camera-preview>.icon{padding:5px}
.office-device-board .tv-remote{margin:8px auto;padding:14px 12px;border-radius:22px;max-width:200px;box-sizing:border-box}.office-device-board .tv-brand{font-size:11px;margin-bottom:8px}.office-device-board .tv-brand small{margin-top:3px;font-size:9px}.office-device-board .tv-row{margin:7px 0;gap:5px}.office-device-board .tv-key{min-width:34px;min-height:34px;padding:5px;font-size:11px;border-radius:9px}.office-device-board .tv-power{font-size:20px}.office-device-board .tv-pad{gap:4px;margin:9px 0}.office-device-board .tv-rockers{gap:12px;margin:9px 0}.office-device-board .tv-rockers>div{gap:4px}.office-device-board .tv-numbers{gap:4px}
@media(max-width:520px){.office-device-board.has-remote{grid-template-columns:minmax(0,1fr)}.office-device-board .office-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.office-device-board .office-device{padding:9px}.office-device-board .office-device-title strong{font-size:12px}.office-device-board .office-control-buttons .btn{min-height:38px;font-size:11px;padding:7px}.office-remote-column{max-width:260px;width:100%;justify-self:center}}@media(max-width:350px){.office-device-board .office-device-grid{grid-template-columns:1fr}}
.office-device-board .office-device{display:block;width:100%}.office-remote-column .office-device{width:100%;margin:0}
.tv-extra{margin-top:8px}.tv-extra summary{color:#ddd1ed;font-size:11px;text-align:center;cursor:pointer;padding:5px}.tv-extra[open] summary{margin-bottom:6px}

.office-marker.state-unmapped circle{fill:#fff4d6;stroke:#b7791f;stroke-dasharray:.4 .25}.office-marker.state-inventory circle{fill:#f1f5f9;stroke:#64748b;stroke-dasharray:none}.office-map-legend .unmapped{background:#fff4d6;border:2px dashed #b7791f}.office-map-legend .inventory{background:#f1f5f9;border:2px solid #64748b}

/* Symbols inherit the same connectivity palette as marker labels. */
.office-vector-symbol{color:#594365;pointer-events:none}.office-marker.online .office-vector-symbol,.office-marker.state-connected .office-vector-symbol{color:#1c8255}.office-marker.state-offline .office-vector-symbol{color:#b91c1c}.office-marker.state-off .office-vector-symbol{color:#fff}.office-marker.state-unknown .office-vector-symbol{color:#76618e}.office-marker.state-unmapped .office-vector-symbol{color:#946015}.office-marker.state-on .office-vector-symbol{color:#573500}
