body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#0f172a;color:#e0e6f1}#app{display:flex;flex-direction:column;height:100vh}header{background-color:#112240;color:#e0e6f1;padding:1rem;border-bottom:1px solid #1f3568}main{flex:1;display:flex;overflow:hidden}.controls{width:380px;padding:1rem;box-sizing:border-box;background:#091c2e;border-right:1px solid #1f3568;overflow-y:auto;color:#e0e6f1}.section{margin-bottom:1rem}.section h2{margin:0 0 .5rem;font-size:.9rem;text-transform:uppercase;color:#9db2c9;letter-spacing:.5px}.section label{display:block;font-size:.8rem;margin-bottom:.5rem;color:#a6b3cf}.section input[type=number]{width:100%;padding:.3rem;border-radius:4px;border:1px solid #34527b;background-color:#0f2544;color:#e0e6f1;box-sizing:border-box}.section input[type=text]{width:100%;padding:.3rem;border-radius:4px;border:1px solid #34527b;background-color:#0f2544;color:#e0e6f1;box-sizing:border-box;margin-bottom:.5rem}.section select{width:100%;margin-bottom:.5rem;padding:.3rem;border-radius:4px;border:1px solid #34527b;background-color:#0f2544;color:#e0e6f1;box-sizing:border-box}.section input[type=range]{width:100%;margin:.2rem 0 .35rem;box-sizing:border-box;accent-color:#2a4b7c}.button-row{display:flex;gap:.5rem;margin-bottom:.5rem}.button-row button{flex:1;padding:.5rem;border:none;border-radius:4px;background-color:#2a4b7c;color:#e0e6f1;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.button-row button svg{width:16px;height:16px;margin-right:.4rem;flex-shrink:0}.button-row button:hover{background-color:#376b96}.button-row.utility-row{margin-top:.5rem}.button-row.utility-row button{font-size:.85rem}.toggle-label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#a6b3cf;cursor:pointer}.toggle-label input{accent-color:#2a4b7c}.device-list{margin-top:1rem}.device-item{border:1px solid #1f3568;padding:.5rem;margin-bottom:.75rem;border-radius:4px;background-color:#112240}.device-item h3{margin:0 0 .5rem;font-size:.9rem;color:#a6b3cf}.device-item label{display:block;margin-bottom:.25rem;font-size:.75rem;color:#a6b3cf}.device-item input[type=number],.device-item input[type=range],.device-item select{width:100%;margin-bottom:.5rem;padding:.25rem;border-radius:4px;border:1px solid #34527b;background-color:#0f2544;color:#e0e6f1;box-sizing:border-box}.device-item .slider-value{display:block;font-size:.75rem;color:#a6b3cf;margin-bottom:.5rem;text-align:right}#coverage-summary{white-space:normal}#coverage-summary .coverage-row{display:flex;align-items:center;margin-bottom:.5rem}#coverage-summary .coverage-info{display:flex;align-items:center;gap:.4rem;flex:0 0 120px;font-size:.8rem;color:#a6b3cf}#coverage-summary .coverage-icon{width:10px;height:10px;fill:currentColor;flex-shrink:0}#coverage-summary .coverage-bar{flex:1;height:8px;background-color:#1f3568;border-radius:4px;margin-right:.5rem;overflow:hidden}#coverage-summary .coverage-bar-fill{height:100%}#coverage-summary .coverage-bar-fill.audio{background-color:#6fa8dc}#coverage-summary .coverage-bar-fill.video{background-color:#34c759}#coverage-summary .coverage-percent{width:40px;text-align:right;font-size:.8rem;color:#a6b3cf}.controls{scrollbar-width:thin;scrollbar-color:#2a4b7c #0b2137}.controls::-webkit-scrollbar{width:10px}.controls::-webkit-scrollbar-track{background:#0b2137;border-left:1px solid #1f3568}.controls::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#376b96,#2a4b7c);border-radius:999px;border:2px solid #0b2137}.controls::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4a82ae,#376b96)}.device-item .remove-btn{background-color:#c0392b;color:#fff;padding:.25rem .5rem;border:none;border-radius:3px;cursor:pointer;font-size:.75rem}.device-item .remove-btn:hover{background-color:#a93226}.device-group{margin-bottom:1rem}.device-group h2{margin:0 0 .5rem;font-size:.9rem;text-transform:uppercase;color:#9db2c9;letter-spacing:.5px}.dimension-label{position:absolute;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:14px;color:#9db2c9;white-space:nowrap}.room-container{flex:1;display:flex;justify-content:center;align-items:center;background-color:#0f172a;position:relative}.room-svg{background-color:#112240;border:1px solid #1f3568;background-image:linear-gradient(to right,rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.06) 1px,transparent 1px);background-size:40px 40px;overflow:visible}.room-label{position:absolute;color:#9db2c9;font-size:14px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.section .setting-value{display:block;font-size:.75rem;color:#a6b3cf;margin-top:-.15rem;margin-bottom:.35rem;text-align:right}.room-container{overflow:auto;padding:1rem 1.5rem 1.5rem;box-sizing:border-box;scroll-padding:50%}.room-stage{position:relative;display:inline-block;transform-origin:center center;margin:auto}.app-header{text-align:left;margin-bottom:0;background:#091c2e;padding:10px}.app-logo{height:40px;margin-bottom:6px;display:block;margin-left:0}.app-title{font-size:1.4rem}.app-header{margin-bottom:0!important;border-bottom:none!important;box-shadow:none!important}.sidebar{margin-top:0!important;border-top:none!important}header,.top-bar,.main-content,.content{margin-top:0;margin-bottom:0}body,html{margin:0;padding:0}.app-header{margin:0!important;border:none!important;box-shadow:none!important}.sidebar{margin:0!important;border-top:none!important}.main-content,.layout,.container{margin:0!important;padding-top:0!important}button .chair-icon,button svg.chair,button svg[data-icon=chair]{fill:#fff!important;color:#fff!important}header{background:#091c2e!important;padding:0!important;margin:0!important;border:none!important;box-shadow:none!important}.app-header{background:transparent!important;margin:0!important;padding:12px 16px!important;border:none!important;box-shadow:none!important}main{margin:0!important;padding:0!important}.controls{margin-top:0!important;border-top:none!important}.button-icon,.chair-icon,button .button-icon{color:#fff!important;fill:currentColor!important;flex:0 0 auto}#app>header,header{display:block!important;width:100%!important;box-sizing:border-box!important;border-bottom:1px solid #1f3568!important}.app-header{border-bottom:1px solid #1f3568!important;padding-bottom:12px!important}main,.controls,.stage-area,.canvas-container{margin-top:0!important}.device-icon{vector-effect:non-scaling-stroke}.device-icon path{pointer-events:none}.device-label,svg text{fill:#fff}.chair-shape,.chair rect,g[data-type=chair] rect{fill:#a855f747;stroke:#a855f7}g[data-type=table] rect,.table-shape{fill:none!important;stroke:#facc15!important;stroke-width:2}.table-icon,.table-icon *{pointer-events:all!important;cursor:move}g[data-type=table] rect,.table-shape{pointer-events:none!important}.mic-icon,.microphone-icon,.camera-icon,.table-icon,.chair-icon,.device-icon,.device-icon *{cursor:grab!important}.mic-icon:active,.microphone-icon:active,.camera-icon:active,.table-icon:active,.chair-icon:active,.device-icon:active,.device-icon *:active{cursor:grabbing!important}.mic-icon,.mic-icon *,.microphone-icon,.microphone-icon *,.camera-icon,.camera-icon *,.chair-icon,.chair-icon *,.device-icon,.device-icon *,g[data-type=microphone],g[data-type=microphone] *,g[data-type=camera],g[data-type=camera] *,g[data-type=chair],g[data-type=chair] *{cursor:grab!important;pointer-events:all}.mic-icon:active,.mic-icon *:active,.microphone-icon:active,.microphone-icon *:active,.camera-icon:active,.camera-icon *:active,.chair-icon:active,.chair-icon *:active,.device-icon:active,.device-icon *:active,g[data-type=microphone]:active,g[data-type=microphone] *:active,g[data-type=camera]:active,g[data-type=camera] *:active,g[data-type=chair]:active,g[data-type=chair] *:active{cursor:grabbing!important}.device-item.selected{border-color:#7fb3ff;box-shadow:0 0 0 1px #7fb3ff8c;background-color:#163055}.device-item.selected h3,.device-item.selected label{color:#fff}.selected-device .device-icon path{stroke:#fff}.coverage-camera-icon{color:#fff;vertical-align:middle;flex:0 0 auto;margin-right:6px}.coverage-camera-icon path{stroke:currentColor}button.active-add{box-shadow:0 0 0 2px #ffffff38 inset;filter:brightness(1.08)}.chair-icon path{stroke:currentColor;fill:none}.bottom-action-row{margin-top:12px}.bottom-action-row #clear-grid{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#153450;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer}.bottom-action-row #clear-grid:hover{background:#1a4164}.bottom-action-row{display:flex;flex-direction:column;gap:10px}.bottom-action-row #print-pdf,.bottom-action-row #clear-grid{width:100%;display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#153450;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer}.bottom-action-row #print-pdf:hover,.bottom-action-row #clear-grid:hover{background:#1a4164}#print-room-design{display:none}@media print{body.printing-room-design>*:not(#print-room-design){display:none!important}body.printing-room-design #print-room-design{display:block!important;color:#111;background:#fff;padding:0;margin:0}.print-sheet{width:100%;max-width:none;margin:0;padding:18mm 14mm;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}.print-header{margin-bottom:12mm}.print-header h1{margin:0 0 6mm;font-size:20pt;color:#111}.print-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3mm 8mm;font-size:10.5pt}.print-stage-wrap{border:1px solid #cfd6df;border-radius:6px;padding:8mm;margin-bottom:10mm;break-inside:avoid}.print-stage-svg{width:100%;height:auto;max-height:170mm;-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact}.print-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm 8mm;font-size:10.5pt}@page{size:A4 portrait;margin:10mm}}.camera-model-select{width:100%;background:#102b43;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 10px}.camera-model-note{font-size:.82rem;opacity:.8}.coverage-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px}.coverage-toggle-row label{margin:0}#disable-camera-range-limit{accent-color:#4da3ff}.coverage-toggle-note{font-size:.82rem;opacity:.8;margin-top:4px}
