/* Shared interaction details; operational screens retain their dark surfaces. */
:root { --brand-primary: #00d4aa; }
body { font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
:is(button,a,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid #00d4aa; outline-offset: 3px; }
button, input, select { min-height: 44px; }
button:disabled { opacity: .6; cursor: wait; }
::selection { background: #007568; color: #fff; }
.login-btn { background: #007568 !important; color: #fff !important; box-shadow: none !important; }
.login-card { border-radius: 16px; }
.error-message a { color: inherit; text-decoration: underline; }
#editor-history { display: flex; gap: 8px; margin-block: 12px; }
#editor-history button { flex: 1; }
#editor-more summary { cursor: pointer; padding-block: 12px; font-weight: 600; }
#floorplan { touch-action: none; max-width: 100%; height: auto; }
#sidebar [aria-pressed="true"] { outline: 2px solid #00d4aa; outline-offset: -2px; }
#sidebar li button { width: 100%; text-align: start; background: transparent; color: inherit; border: 0; padding: 8px; }
#editor-keyboard-help { font-size: 14px; line-height: 1.6; }
#editor-save-status { color: #ffcdcd; line-height: 1.5; }
@media (max-width: 700px) { #canvas-container { overflow: auto; min-height: 320px; } }
.rr-floorplan-editor {min-height:100dvh}
.rr-floorplan-editor #sidebar {flex:0 0 280px;box-sizing:border-box}
.rr-floorplan-editor #canvas-container {min-width:0;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:24px;gap:16px}
.rr-floorplan-editor #floorplan {width:100%;box-sizing:border-box;flex:none}
.rr-floorplan-editor #editor-keyboard-help {margin:0;max-width:70ch}
.rr-floorplan-editor #editor-objects summary {cursor:pointer;padding-block:12px}
.rr-floorplan-editor :is(.modal,.modal-overlay) {box-sizing:border-box}
.rr-floorplan-editor .modal {max-height:calc(100dvh - 32px);overflow:auto}
.rr-floorplan-editor .primary {background:#007568;color:white;box-shadow:none}
@media(max-width:700px){
 .rr-floorplan-editor {display:block;height:auto}
 .rr-floorplan-editor #sidebar {width:100%;overflow:visible;border-right:0;border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:16px}
 .rr-floorplan-editor #sidebar>* {grid-column:1/-1;margin:0}
 .rr-floorplan-editor #sidebar>:is(#addWallBtn,#drawRectBtn,#placeDeviceBtn) {grid-column:auto;padding:8px;font-size:14px}
 .rr-floorplan-editor #sidebar>.device-info {padding:8px}
 .rr-floorplan-editor #sidebar>#moveHint,.rr-floorplan-editor #sidebar>.help-link {font-size:14px}
 .rr-floorplan-editor #canvas-container {padding:16px;min-height:360px}
 .rr-floorplan-editor #floorplan {min-height:0}
 .rr-floorplan-editor .modal {width:calc(100vw - 32px);max-width:none;padding:20px}
}
