/* Operations pages share the existing neutral workspace palette. */
.ops-toolbar,.ops-actions,.ops-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ops-toolbar{justify-content:space-between;margin-bottom:20px}.ops-toolbar .search{max-width:380px;margin:0}.ops-toolbar p{margin:0}.ops-actions{margin-top:14px}.ops-line{justify-content:space-between}.ops-line h3{margin:0}.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.ops-grid>.card{margin:0 0 8px}.ops-grid .card p{margin:12px 0}.ops-grid .card{min-width:0}.ops-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.ops-metrics>div{background:#fff;border:1px solid #e3e8ef;border-radius:12px;padding:18px}.ops-metrics span{display:block;color:#64748b;font-size:12px}.ops-metrics b{display:block;font-size:26px;margin-top:6px;font-variant-numeric:tabular-nums}.ops-help{padding:12px 14px;border-left:3px solid #3b82f6;background:#f0f6ff;color:#475569;line-height:1.7}.ops-empty{margin-bottom:8px}.ops-warning{font-size:12px;background:#fff7e5;color:#925c09;padding:4px 8px;border-radius:6px}.ops-stock{font-size:30px;font-weight:650;font-variant-numeric:tabular-nums}.ops-stock small{font-size:13px;color:#64748b;margin-left:8px}.ops-table-scroll{overflow:auto;max-width:100%}.ops-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.ops-table th,.ops-table td{padding:12px;text-align:left;border-bottom:1px solid #e7ecf2}.ops-table th{background:#f8fafc;color:#64748b;font-weight:500}.ops-table small,.ops-count-row small{display:block;color:#64748b;font-size:11px;white-space:normal}.ops-table td{white-space:normal;min-width:100px}details.card{margin-top:18px}details.card summary{font-weight:600;cursor:pointer;padding:4px 0}.ops-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ops-dialog{border:1px solid #dbe2ed;border-radius:16px;width:min(760px,calc(100vw - 28px));max-height:90vh;padding:0;color:#243449;background:white;box-shadow:0 20px 80px #0f172a30}.ops-dialog::backdrop{background:#0f172a70}.ops-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5ebf3;position:sticky;top:0;background:#fff;z-index:2}.ops-dialog-head h2{font-size:19px;margin:0}.ops-dialog-body{padding:22px 24px;overflow-wrap:anywhere}.ops-dialog-body>label,.ops-form-grid>label{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:550;margin-bottom:15px}.ops-dialog input:not([type=checkbox]),.ops-dialog select,.ops-dialog textarea,.ops-toolbar select{font:inherit;width:100%;padding:10px 12px;border:1px solid #cad5e2;border-radius:8px;background:#fff;color:#27364b;box-sizing:border-box}.ops-dialog input:focus,.ops-dialog select:focus,.ops-dialog textarea:focus{outline:2px solid #accbff;outline-offset:1px}.ops-dialog small{color:#64748b;font-weight:400;line-height:1.5}.ops-dialog #ops-error,.ops-dialog #ops-confirm-error{color:#b42318;line-height:1.5}.ops-upload{display:inline-flex!important;position:relative;overflow:hidden;padding:9px 13px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc;font-size:13px;cursor:pointer;gap:8px}.ops-upload input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.ops-zone{border:1px solid #dae4ee;border-radius:12px;padding:16px;margin:14px 0;background:#fbfcfe}.ops-zone h3{font-size:15px}.ops-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.ops-thumbs figure{position:relative;margin:0}.ops-thumbs img{width:110px;height:82px;object-fit:cover;border-radius:8px;border:1px solid #ddd}.ops-thumbs button{position:absolute;right:2px;top:2px;background:#fff;border:1px solid #cbd5e1;border-radius:50%;width:24px;height:24px}.ops-count-row{display:grid!important;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e8eef5;font-size:13px}.ops-count-row input{max-width:110px}.ops-check{flex-direction:row!important;align-items:flex-start;margin:18px 0;line-height:1.6}.ops-check input{width:18px;height:18px;flex-shrink:0;margin-top:2px}.ops-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.ops-photo-grid figure{margin:0}.ops-photo-grid img{width:100%;max-height:500px;object-fit:contain;background:#f1f5f9;border-radius:8px}.ops-photo-grid figcaption{font-size:12px;color:#64748b;padding:7px}.ops-review-list{max-height:40vh;overflow:auto}.nav-footer{margin-top:auto}.perm-table{overflow:auto}.perm-row{min-width:0}.pr-chips{flex-wrap:wrap}
@media(min-width:960px){nav{overflow-y:auto}nav button{flex-shrink:0;padding-top:8px!important;padding-bottom:8px!important}.nav-brand{padding-bottom:14px!important}.nav-group{padding-top:8px!important}.nav-footer{padding-top:12px!important}}
@media(max-width:959px){nav{overflow-x:auto!important;justify-content:flex-start!important;display:flex!important;padding-bottom:env(safe-area-inset-bottom)!important}nav button{flex:0 0 76px!important;min-width:76px!important}.ops-form-grid{grid-template-columns:1fr}.ops-dialog-body{padding:16px}.ops-dialog-head{padding:16px}.ops-grid{grid-template-columns:1fr}.ops-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-metrics b{font-size:23px}.ops-toolbar{align-items:stretch}.ops-toolbar .search{max-width:none;flex:1;min-width:180px}.ops-photo-grid{grid-template-columns:1fr}.ops-grid .card{margin-bottom:0}}

/* Dense room workspace: the table is the primary surface. */
.room-overview{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px}.room-overview h2{font-size:23px;letter-spacing:-.5px;margin:0 0 5px}.room-overview p{font-size:13px;color:#697586;margin:0}.room-demo-label{font-size:12px;color:#64748b;border:1px solid #dbe3eb;border-radius:6px;padding:6px 10px;white-space:nowrap}.room-status-tabs{display:flex;gap:4px;border-bottom:1px solid #dbe3eb;margin-bottom:18px;overflow:auto}.room-status-tabs button{border:0;border-bottom:2px solid transparent;background:none;white-space:nowrap;padding:11px 13px;font:inherit;font-size:13px;color:#64748b;cursor:pointer}.room-status-tabs button b{font-size:11px;margin-left:7px;padding:2px 5px;background:#eaf0f5;border-radius:4px;font-variant-numeric:tabular-nums}.room-status-tabs button.active{color:#245bdb;border-bottom-color:#245bdb;font-weight:650}.room-status-tabs button.active b{background:#eef3ff}.room-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:18px}.room-filters label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#64748b;min-width:110px}.room-filters .room-search-label{flex:1;min-width:200px;max-width:340px}.room-filters .search{margin:0;min-width:0;width:100%;height:36px;padding:8px 10px;font-size:13px}.room-filters select,.room-pagination select{height:36px;border:1px solid #d3dce5;border-radius:6px;background:#fff;color:#344154;padding:5px 27px 5px 9px;font:inherit;font-size:13px}.room-filter-actions{display:flex;gap:8px;margin-left:auto}.room-result-summary{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px;margin:0 0 10px;color:#64748b}.room-result-summary b{color:#273747;font-size:14px;font-variant-numeric:tabular-nums}.room-result-summary i{font-style:normal;margin:0 7px;color:#aebaca}.room-table-wrap{overflow:auto;max-height:calc(100vh - 350px);min-height:160px;border:1px solid #dfe5ec;border-radius:8px;background:#fff}.room-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px;white-space:nowrap}.room-table th{position:sticky;top:0;z-index:1;background:#f4f7f9;border-bottom:1px solid #dfe5ec;color:#637182;font-weight:550;text-align:left;padding:10px}.room-table td{padding:7px 10px;border-bottom:1px solid #edf0f4;height:43px;box-sizing:border-box}.room-table tr:last-child td{border-bottom:0}.room-table tr:hover td{background:#f8fafc}.room-table .room-highlight td{background:#eef3ff}.room-table small{display:block;font-size:10px;color:#8a95a4;line-height:1.5}.room-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.room-link{border:0;background:none;color:#245bdb;font:inherit;font-weight:650;padding:3px 0;cursor:pointer;text-decoration:underline;text-decoration-color:#c3d2f5;text-underline-offset:3px}.room-tenant{max-width:170px;overflow:hidden;text-overflow:ellipsis}.room-state{display:inline-flex;align-items:center;gap:5px;color:#637182}.room-state:before{content:'';width:6px;height:6px;border-radius:50%;background:#a8b3c1}.room-state.vacant:before{background:#3c9871}.room-state.rented:before{background:#5077ba}.room-state.sample:before{background:#9a73b8}.room-state.maintenance:before,.room-state.vacating:before{background:#d49a4e}.room-available,.room-result-summary .room-available{color:#245bdb}.room-reserved{color:#b17926}.room-row-actions{display:flex;gap:7px}.room-row-actions .btn{padding:4px 7px;min-height:27px;font-size:11px}.room-update{font-size:11px;color:#6b7787}.room-table .room-no-results{height:180px;text-align:center;color:#8491a1}.room-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;font-size:12px;color:#697586}.room-pagination>div{display:flex;gap:10px;align-items:center}.room-pagination label{display:flex;gap:7px;align-items:center}.room-pagination select{height:30px;font-size:12px}.room-footnote{margin-top:14px}.room-ledger-link{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:2px 0 14px;font-size:12px;color:#64748b}.stock-check{padding:10px 12px;margin:12px 0;background:#edf7f1;color:#18794e;border:1px solid #d3e9dc;border-radius:8px;font-size:12px;line-height:1.7}.stock-check p{margin:3px 0}.stock-check.shortage{background:#fff7ed;border-color:#ecd7b9;color:#925e25}
@media(max-width:959px){.room-overview h2{font-size:20px}.room-overview{align-items:flex-start}.room-demo-label{font-size:10px;padding:5px}.room-filters{gap:10px}.room-filters .room-search-label{max-width:none;flex-basis:100%}.room-filters label{min-width:0;flex:1}.room-filter-actions{margin:0;flex-basis:100%;justify-content:flex-end}.room-status-tabs button{padding:9px 10px}.room-result-summary{align-items:flex-start;flex-direction:column;gap:3px}.room-table-wrap{max-height:65vh}.room-table{min-width:860px}.room-pagination{flex-wrap:wrap}.room-pagination>div{gap:6px}.room-table th:first-child,.room-table td:first-child{position:sticky;left:0;background:#fff;box-shadow:2px 0 4px #152c4110}.room-table th:first-child{z-index:2;background:#f4f7f9}.room-table .room-highlight td:first-child{background:#eef3ff}}
main:has(#p-rooms.active){padding-top:18px}main:has(#p-rooms.active) .page-heading{margin-bottom:14px}main:has(#p-rooms.active) .page-heading .eyebrow{display:none}main:has(#p-rooms.active) .page-heading p{margin-top:3px}.room-overview{margin-bottom:10px}.room-overview h2{display:none}.room-overview p{font-size:12px}.room-status-tabs{margin-bottom:12px}.room-filters{margin-bottom:12px}.room-table td{padding:4px 10px;height:40px;line-height:1.35}.room-link{line-height:1.15;padding:2px 0;min-height:0}.room-table small{line-height:1.3}.room-table-wrap{max-height:calc(100vh - 365px)}
@media(max-width:959px){.room-table-wrap{max-height:65vh}.room-overview{flex-wrap:wrap;gap:6px}}
.room-view-tabs{display:flex;gap:4px;margin-bottom:14px;background:#e8edf2;padding:3px;border-radius:7px;width:fit-content}.room-view-tabs button{background:none;border:0;border-radius:5px;padding:7px 16px;font:inherit;font-size:12px;color:#637182;cursor:pointer}.room-view-tabs button.active{background:#fff;color:#245bdb;box-shadow:0 1px 3px #263b4512;font-weight:650}.room-map-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:16px 0}.room-map-buildings{display:flex;gap:5px;flex:1}.room-map-buildings button{padding:8px 14px;border:1px solid #d5dfe5;border-radius:6px;background:white;color:#637182;cursor:pointer}.room-map-buildings button.active{color:#245bdb;background:#eef3ff;border-color:#b9cdf3}.room-map-toolbar label{font-size:12px;color:#64748b}.room-map-toolbar select{border:1px solid #d5dfe5;border-radius:6px;padding:7px 12px;margin-left:5px;background:#fff}.room-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;border:1px solid #dbe3e7;border-radius:10px;overflow:hidden;background:white}.room-map-stage{position:relative;min-width:0;background:#f0f4f5}.room-map-canvas{width:100%;height:480px}.room-map-canvas canvas{display:block;width:100%;height:100%;touch-action:none}.room-map-caption{position:absolute;top:18px;left:20px;pointer-events:none}.room-map-caption b{display:block;color:#202938;font-size:20px;line-height:1.5}.room-map-caption span{font-size:11px;color:#72848c}.room-map-basis{position:absolute;bottom:12px;left:16px;font-size:10px;line-height:1.7;color:#71848c;background:#f0f4f5c9;padding:5px 8px;border-radius:5px;pointer-events:none}.room-map-rooms{border-left:1px solid #dbe3e7;max-height:480px;overflow:auto}.room-map-floor-heading{position:sticky;top:0;background:white;border-bottom:1px solid #e7ecef;padding:17px 16px;z-index:1}.room-map-floor-heading h3{font-size:17px;margin:0 0 6px}.room-map-floor-heading p{font-size:11px;color:#64748b;margin:0 0 5px}.room-map-floor-heading small{font-size:10px;color:#94a0ac;line-height:1.5}.room-map-room-list button{border:0;border-bottom:1px solid #eef1f3;background:white;display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px;padding:10px 16px;cursor:pointer;text-align:left;color:#202938}.room-map-room-list button:hover{background:#f5f7fb}.room-map-room-list b{font-size:12px;font-weight:600}.room-map-room-list small{display:block;font-size:10px;color:#8995a1;margin-top:4px}.room-map-room-list b small{display:inline}.room-map-room-list i{font-style:normal;font-size:13px;color:#9cabac}.room-map-source{display:flex;justify-content:space-between;gap:15px;font-size:11px;line-height:1.7;color:#7f8c98;margin-top:12px}.room-map-source a{color:#245bdb;white-space:nowrap}.room-map-fallback{height:100%;display:grid;place-content:center;padding:30px;color:#72848c;line-height:1.8;font-size:13px}
@media(max-width:1100px){.room-map-layout{grid-template-columns:minmax(0,1fr) 250px}.room-map-toolbar{gap:8px}.room-map-buildings button{padding:8px 11px}}
@media(max-width:959px){.room-map-layout{grid-template-columns:1fr}.room-map-canvas{height:340px}.room-map-rooms{border-left:0;border-top:1px solid #dbe3e7;max-height:300px}.room-map-buildings{flex-basis:100%}.room-map-buildings button{flex:1;padding:8px}.room-map-source{flex-direction:column;gap:4px}.room-map-toolbar .btn{font-size:11px}.room-map-caption{left:14px;top:12px}.room-view-tabs{margin-bottom:12px}.room-table-wrap{max-height:60vh}}
#rooms-body>.room-overview{display:none}
