.rooms-panel {overflow:hidden}
.rooms-panel .space-toolbar {flex-wrap:wrap;gap:10px}
.rooms-panel .space-toolbar .search-field {flex:1 1 260px}
.rooms-panel .select-wrap {flex:0 1 190px;min-width:140px}
.rooms-layout-board {display:grid;grid-template-columns:minmax(310px,50%) minmax(0,1fr);border-top:1px solid var(--line,#e1e7ef)}
.room-plan-panel {min-width:0;padding:22px;border-right:1px solid var(--line,#e1e7ef);background:#f8faff}
.room-plan-heading,.room-register-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.room-plan-heading h3,.room-register-heading h3 {margin:4px 0;font-size:16px;color:#253a55}
.room-plan-select {display:grid;gap:7px;font-size:12px;color:#6b7d94;margin-bottom:18px}
.room-plan-select select {border:1px solid #dbe4ef;border-radius:9px;padding:11px;background:white;color:#253a55;width:100%}
.room-plan-panel .layout-viewer-info {display:grid;gap:6px;font-size:11px}
.room-plan-panel .layout-viewer-caption {font-size:11px;line-height:1.6}
.room-plan-panel .workspace-empty {padding:24px 8px}
.room-register {min-width:0}
.room-register-heading {padding:18px 20px;margin-bottom:0}
.room-register-heading span {font-size:11px;color:#75869d}
.room-table-scroll {max-height:640px;overflow:auto}
.room-layout-table {min-width:2090px}
.room-layout-table.commercial-layout-table {min-width:1700px}
.room-layout-table th {position:sticky;top:0;z-index:2;background:var(--navy,#244d86);color:#fff;max-width:160px;white-space:normal;line-height:1.5}
.room-layout-table td {white-space:nowrap}
.room-layout-table .room-sticky-cell,.room-layout-table th:first-child {position:sticky;left:0;background:white;z-index:1;min-width:210px;box-shadow:1px 0 #e1e7ef}
.room-layout-table th:first-child {z-index:3;background:var(--navy,#244d86)}
.room-layout-table tr:hover .room-sticky-cell {background:#f8faff}
.workspace-dialog.room-dialog {width:min(900px,calc(100vw - 32px));max-width:900px}
.room-dialog .dialog-heading {position:sticky;top:0;background:white;z-index:4;border-bottom:1px solid #edf1f6}
.room-dialog .dialog-footer {position:sticky;bottom:0;background:white;z-index:4}
.room-sections {display:flex;flex-wrap:wrap;gap:7px;padding:0 0 8px;border-bottom:1px solid #e6edf5}
.room-sections span {padding:8px 11px;border-radius:7px;color:#8694a6;font-size:11px;background:#f5f7fa}
.room-sections .active {background:#eaf1fc;color:#245b9f;font-weight:600}
.room-sections button {padding:8px 11px;border:0;border-radius:7px;color:#576d89;font:inherit;font-size:11px;background:#f5f7fa;cursor:pointer}
.room-sections button:focus-visible,.room-view-tabs button:focus-visible {outline:2px solid #3270bd;outline-offset:3px}
.room-form-panel {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.room-form-panel>.full {grid-column:1/-1}
[data-room-panel][hidden] {display:none}
.room-view-tabs {display:flex;gap:8px;padding:0 22px 18px;flex-wrap:wrap}
.room-view-tabs button {border:1px solid #e2e9f2;border-radius:9px;background:#fff;color:#637791;padding:10px 15px;cursor:pointer;font:inherit;font-size:12px}
.room-view-tabs .active {background:#eaf2ff;color:#245b9f;border-color:#bdd0ec;font-weight:600}
.airflow-room-context {display:flex;flex-direction:column;gap:6px;padding:15px 18px;background:#f8faff;border:1px solid #e5edf8;border-radius:10px;color:#324e70;font-size:13px}
.airflow-room-context span {font-size:12px;color:#73859e}
.airflow-context-grid,.airflow-results-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.airflow-context-grid>div,.airflow-result {display:flex;flex-direction:column;gap:9px;padding:16px;border-radius:10px;border:1px solid #e3eaf4;background:#f9fbfe}
.airflow-context-grid span,.airflow-result>span {font-size:12px;color:#74839a;line-height:1.5}
.airflow-result strong,.airflow-context-grid strong {font-size:18px;color:#2f4d73}
.airflow-result small {display:block;font-size:11px;font-weight:400;color:#8b9bb0;margin-top:5px}
.airflow-adopt-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.airflow-adopt-actions span {flex-basis:100%}
.airflow-adopt-actions span,.airflow-calculation-note {font-size:12px;color:#79899d;line-height:1.6}
.airflow-table,.airflow-table.commercial-airflow-table {min-width:1080px}
.layout-conditions-table tbody td:not(:last-child) {background:#f1f6ff}
.layout-conditions-table tbody tr:hover td:not(:last-child) {background:#e9f2ff}
.airflow-table .airflow-adopted-cell {background:#f1f6ff;color:#245b9f;font-weight:600}
.airflow-status {padding:5px 8px;border-radius:6px;background:#f2f5fa;color:#7889a0;font-size:11px}
.airflow-table-note {padding:0 20px;font-size:11px;color:#75869d;line-height:1.6}
@media(max-width:600px){.room-form-panel,.airflow-context-grid,.airflow-results-grid{grid-template-columns:1fr}.room-sections button{font-size:10px}.room-view-tabs{padding-left:17px}}
.room-section-heading {display:flex;gap:12px;align-items:flex-start;margin:17px 0 2px}
.room-section-heading>span {display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:8px;background:#edf3fc;color:#4672a8;font-size:11px;font-weight:600}
.room-section-heading h3 {margin:0 0 5px;font-size:15px;color:#253a55}
.room-section-heading p {margin:0;font-size:12px;line-height:1.6;color:#7b899c}
.room-load-field {min-width:0;display:grid;gap:7px}
.room-load-field small {font-size:11px;line-height:1.6;color:#7b899c}
.room-input-note {background:#f8faff;padding:14px;font-size:12px;line-height:1.6;border-radius:8px;margin-top:17px;color:#75869d}
.room-position-help {margin:0;color:#7b899c;font-size:11px;line-height:1.6}
.room-dialog .room-layout-section {margin-top:0}
@media(max-width:1080px){.rooms-layout-board{grid-template-columns:1fr}.room-plan-panel{border-right:0;border-bottom:1px solid #e1e7ef}.room-plan-heading{margin-bottom:10px}}
@media(max-width:600px){.room-dialog .form-grid{grid-template-columns:1fr}.room-dialog .dialog-footer>span{display:none}.room-register-heading{align-items:flex-start;flex-direction:column}.room-plan-panel{padding:17px}.rooms-panel .select-wrap{flex:1 1 140px}.room-sections span{font-size:10px}.workspace-dialog.room-dialog{width:calc(100vw - 16px)}}

.room-dialog .form-grid>.full {grid-column:1/-1}

/* Airside follows the same register and editor scale as the room views. */
.airside-panel .room-register {border-top:1px solid #e1e7ef}
.airside-table {min-width:1100px}
.airside-table td:nth-child(4) {min-width:190px}
.airside-function-badge {display:inline-flex;padding:5px 9px;border-radius:6px;background:#eaf2fc;color:#386c9b;font-size:11px;white-space:nowrap}
.airside-function-badge.thermal {background:#fff1e6;color:#9a5d2c}
.airside-choices {border:0;padding:0;margin:0;min-width:0}
.airside-choices legend {font-size:12px;font-weight:600;color:#516d89;margin-bottom:10px}
.airside-choices>div {display:flex;flex-wrap:wrap;gap:9px}
.airside-choices label {position:relative;flex:1 1 135px;cursor:pointer}
.airside-choices input {position:absolute;width:1px;height:1px;opacity:0}
.airside-choices span {display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 13px;border:1px solid #dce4ed;border-radius:7px;color:#61758d;font-size:12px;text-align:center;line-height:1.45}
.airside-choices input:checked+span {color:#2d6196;border-color:#6d9bce;background:#eaf2fc;box-shadow:inset 0 0 0 1px #6d9bce;font-weight:600}
.airside-choices input:focus-visible+span {outline:3px solid #82aada;outline-offset:3px}
.airside-function label {flex-basis:200px}
.airside-function span {min-height:58px;font-size:14px}
.airside-branch {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
.airside-branch>.full {grid-column:1/-1}
.airside-selection-note {padding:17px 20px;border-radius:8px;background:#f6f8fc;color:#73879f;font-size:12px;margin:0}
.airside-thermal-note {color:#71869d;font-size:12px;line-height:1.7;margin:0;align-self:center}
.table-not-applicable {display:block;padding:8px 12px;color:#9ba9b8}
@media(max-width:600px){.airside-branch{grid-template-columns:1fr}.airside-choices label{flex-basis:125px}.airside-function label{flex-basis:110px}}
.room-layout-table tbody tr {cursor:pointer}

.room-plan-heading .button {font-size:11px;padding:9px 12px}
.room-label-proposals{padding:12px;background:#eff5fc;border:1px solid #d8e4f3;border-radius:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.room-label-proposals p{margin:0;line-height:1.5;font-size:13px}.room-label-proposals .button{white-space:normal;text-align:left;justify-content:flex-start}

.equipment-table {min-width:1050px}
.equipment-table,.airside-table {border-collapse:separate;border-spacing:0}
.equipment-table .register-identity,.airside-table .register-identity {display:block;text-align:left;white-space:normal;min-width:150px;max-width:240px}
.equipment-table .register-identity>strong,.airside-table .register-identity>strong {display:block;font-weight:600;line-height:1.5}
.equipment-table .register-identity>small,.airside-table .register-identity>small {display:block;font-weight:400;font-size:12px;color:#657b96;margin-top:5px;line-height:1.5}
.airside-table th {position:sticky;top:0;z-index:2;background:var(--navy,#244d86)}
.airside-table .room-sticky-cell,.airside-table th:first-child {position:sticky;left:0;z-index:1;min-width:210px;box-shadow:1px 0 #c9d6e7}
.airside-table th:first-child {z-index:3;background:var(--navy,#244d86)}
.equipment-table tbody td.room-sticky-cell,.airside-table tbody td.room-sticky-cell {background:#e5edf7;box-shadow:1px 0 #c9d6e7}
.equipment-table tbody tr:hover td.room-sticky-cell,.airside-table tbody tr:hover td.room-sticky-cell {background:#dce7f4}
.equipment-position-state {display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#657e9c}
.equipment-position-state svg {width:15px;height:15px}
.equipment-pin-note {padding:13px 16px;margin:0;background:#eff5fd;border:1px solid #d9e6f7;border-radius:9px;color:#4e6c93;font-size:12px;line-height:1.6}
.equipment-start {padding:4px 24px 22px;color:#75869d;display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px}
.equipment-panel .panel-bottom>span {font-size:11px}
.project-tabs {overflow-x:auto;overscroll-behavior-x:contain}
.project-tab {flex-shrink:0;white-space:nowrap}
.room-child-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 0 18px;border-bottom:1px solid #e5edf7}
.room-child-heading h3{font-size:16px;display:flex;align-items:center;gap:10px;margin:0 0 7px;color:#486c99}.room-child-heading p{font-size:12px;line-height:1.6;color:#8198b6;margin:0}.room-child-heading .button{white-space:nowrap;font-size:12px}.room-child-count{font-size:11px;padding:4px 8px;background:#edf3fc;border-radius:12px;color:#6f8fb7}
.room-child-list{display:grid;gap:10px}.room-child-row{display:flex;align-items:center;gap:16px;width:100%;padding:18px;background:#fff;border:1px solid #dce7f4;border-radius:8px;text-align:left;color:#58769e}.room-child-row:hover{background:#f5f9ff;border-color:#a7c1e5}.room-child-row>span:first-child{display:grid;gap:7px;flex:1;min-width:0}.room-child-row strong{font-size:13px;overflow-wrap:anywhere}.room-child-row small{font-size:10px;color:#8a9fbb}.room-child-values{font-size:12px;color:#7a93b3;white-space:nowrap}.room-child-edit .icon{width:16px;height:16px}
.room-child-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;color:#92a8c5;font-size:13px;text-align:center}.room-child-empty .icon{width:32px;height:32px}.room-child-note{font-size:11px;color:#7c94b4;background:#f6f9fe;border-radius:6px;padding:12px 14px;line-height:1.7;margin:0}
@media(max-width:620px){.room-child-heading{align-items:flex-start;flex-direction:column}.room-child-row{gap:10px;flex-wrap:wrap}.room-child-values{font-size:11px}.room-child-row>span:first-child{flex-basis:65%}}

/* Terminal sizing follows the room form and table vocabulary. */
.terminal-inline-result{align-self:end}.terminal-inline-result .airflow-result{min-height:76px}
.terminal-result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.terminal-formula{font-size:12px;line-height:1.7;color:#657b95;padding:12px 16px;background:#f4f7fb;border-radius:10px;margin:0}
.terminal-adoption{border:1px solid #d8e4f2;background:#f8fbff;border-radius:12px;padding:18px;display:grid;gap:12px}
.terminal-adoption>span{font-size:13px;color:#657b95}.terminal-adoption>div{display:flex;gap:10px;flex-wrap:wrap}
.terminal-adoption [data-state="warning"]{color:#a8571c}.terminal-adoption [data-state="ok"]{color:#244d86}.terminal-adoption [data-state="pending"]{color:#657b95}
.terminal-table{min-width:960px;border-collapse:separate;border-spacing:0}.terminal-extract-table{min-width:820px}.terminal-table th,.terminal-table td{min-width:120px}
.terminal-table .register-identity{display:block;text-align:left;white-space:normal;min-width:150px;max-width:240px}
.terminal-table .register-identity>strong{display:block;font-weight:600;line-height:1.5}
.terminal-table .register-identity>small{display:block;font-weight:400;font-size:12px;color:#657b96;margin-top:5px;line-height:1.5}
.terminal-table tbody td.room-sticky-cell{background:#e5edf7;box-shadow:1px 0 #c9d6e7}
.terminal-table tbody tr:hover td.room-sticky-cell{background:#dce7f4}
.terminal-table .airflow-adopted-cell{background:#f1f6ff;color:#245b9f}
.terminal-table tbody tr:hover .airflow-adopted-cell{background:#e9f2ff}
.classification-tag{display:inline-block;white-space:nowrap;color:#40638e;font-size:12px;font-weight:600}
@media(max-width:640px){.terminal-result-grid{grid-template-columns:1fr}.terminal-adoption>div{display:grid}.terminal-adoption .button{width:100%}}

.transfer-table td:nth-child(-n+4){vertical-align:top}
.transfer-table .transfer-record{display:block;min-width:155px}
.transfer-table .transfer-record strong{display:block;font-size:12px;font-weight:550;line-height:1.5;color:#567492}
.transfer-table .transfer-record small{display:block;max-width:210px;white-space:normal;font-size:10px;line-height:1.5;margin-top:3px}

/* Fixed room identity has one treatment in both registers. */
.layout-conditions-table tbody td.room-sticky-cell,.airflow-table tbody td.room-sticky-cell{background:#e5edf7;box-shadow:1px 0 #c9d6e7}
.layout-conditions-table tbody tr:hover td.room-sticky-cell,.airflow-table tbody tr:hover td.room-sticky-cell{background:#dce7f4}
.airflow-live-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
.airflow-live-dialog .field input{background:#f1f6ff}
.airflow-live-dialog [hidden]{display:none!important}

.equipment-live-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
.equipment-live-dialog [hidden]{display:none!important}
.equipment-live-dialog .field input,.equipment-live-dialog .field select{background:#f1f6ff}

.transfer-live-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
.transfer-live-dialog [hidden]{display:none!important}
.transfer-live-dialog .field input,.transfer-live-dialog .field select{background:#f1f6ff}

.transfer-table .transfer-direction-cell{text-align:center;min-width:78px}
.transfer-direction{display:inline-flex;align-items:center;justify-content:center;width:48px;height:28px;border-radius:8px;background:#edf4fc;color:#3067a6}
.transfer-direction svg{display:block}
.transfer-direction.is-neutral{background:#f2f5f8;color:#7a8da2}

/* Keep the door reference visible while reading across the register. */
.transfer-table{border-collapse:separate;border-spacing:0}
.transfer-table th{position:sticky;top:0;z-index:2}
.transfer-table .door-sticky-cell{position:sticky;left:0;z-index:1;box-shadow:1px 0 #c9d6e7}
.transfer-table tbody .door-sticky-cell{background:#e5edf7}
.transfer-table tbody tr:hover .door-sticky-cell{background:#dce7f4}
.transfer-table th.door-sticky-cell{z-index:3;background:var(--navy,#244d86)}
/* Extra desktop width primarily benefits the table, while the plan stays useful. */
@media(min-width:1780px){.rooms-layout-board{grid-template-columns:minmax(310px,min(40%,640px)) minmax(0,1fr)}}

.airside-live-dialog form>fieldset{border:0;padding:0;margin:0;min-width:0}
.airside-live-dialog .field input,.airside-live-dialog .field select{background:#f1f6ff}
.airside-live-dialog [hidden]{display:none!important}

.airside-live-dialog input[readonly]{background:#e5edf7;color:#62758c;cursor:default}
.terminal-live-dialog fieldset{border:0;padding:0;margin:0;min-width:0}
.terminal-live-dialog .field input,.terminal-live-dialog .field select{background:#f1f6ff}
.terminal-live-dialog [hidden]{display:none!important}

.terminal-calculated-field{min-width:0}
.terminal-field-output{display:block;box-sizing:border-box;padding:11px;border:1px solid #dfe6f0;border-radius:6px;background:#f8fafd;color:#355575;font-size:13px;font-weight:600;line-height:normal}
