.house-studio .som-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.som-card{min-width:0;border:1px solid #dbe6f3;border-radius:9px;background:#fff;overflow:hidden}.house-studio .som-card button{display:block;width:100%;border:0;padding:0;text-align:left;background:white}.som-card img{display:block;width:100%;height:90px;object-fit:cover;background:#eef2f8}.som-card b{font-size:10px!important;line-height:1.4;display:block;padding:8px 7px 3px;overflow-wrap:anywhere}.som-card small{font-size:9px;display:block;padding:0 7px 7px;color:#60728a}.som-card a{display:block;font-size:9px;padding:5px 7px;border-top:1px solid #eaf0f8;color:#2869c3}.som-filter{display:grid;gap:8px;margin:10px 0}.som-pager{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:12px 0;font-size:11px}.house-studio .som-pager button{width:36px;min-width:36px;min-height:36px;padding:4px}.house-studio #bathroomPanel>label,.house-studio #bathroomPanel details{display:block;margin:12px 0}.house-studio #bathroomPanel summary{cursor:pointer;font-size:12px;font-weight:700;margin:10px 0}.house-studio #bathroomPanel input:not([type=checkbox]),.house-studio #bathroomPanel select,.house-studio .som-filter input,.house-studio .som-filter select{width:100%;min-width:0;min-height:39px;background:#fff;border:1px solid #d4e0ee;border-radius:7px;padding:7px;font:12px Arial;color:#213a5c}.house-studio #bathroomPanel input[type=color]{padding:4px}.house-studio #bathroomPanel label{font-size:11px;color:#5b718c}.bath-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.bath-checkbox{display:flex!important;gap:8px;align-items:center;margin:10px 0!important}.bath-checkbox input{width:16px!important;min-height:16px!important}.bath-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.house-studio .bath-presets button{background:#edf5ff;border:1px solid #caddf7;border-radius:8px;padding:10px;text-align:left;font-size:11px}.bath-presets small{display:block;margin-top:4px;color:#6483a7}.house-studio #tileApply{width:100%;margin:10px 0;padding:11px}.bath-tools{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.bath-tools button,#tileCsv,#tileResetOne{border:1px solid #cdddF1;border-radius:7px;padding:8px;font-size:11px;min-height:36px;color:#1e65bc}.bath-tools .active{background:#1667e7;color:white}#tileError{padding:9px;font-size:11px;background:#fff0e7;border:1px solid #efb68f;color:#994415;border-radius:7px;margin:10px 0}#tileSelection{padding:9px;background:#edf4ff;font-size:11px;border-radius:6px;color:#31649e}.tile-plan{margin:14px 0;border:1px solid #c8d8e9;border-radius:9px;background:#8e99a8;padding:5px;max-height:300px;overflow:auto}.tile-plan svg{display:block;width:100%;max-height:280px}.tile-plan polygon{cursor:pointer}.tile-plan polygon:hover{fill:#438ced}#tileStats{display:grid;gap:5px;font-size:12px;padding:12px;background:#f1f6fc;border-radius:8px;margin-bottom:10px}#tileStats small{font-size:10px;color:#64809f}.bath-icon{font-size:25px;line-height:22px;color:inherit}.join-settings{padding:12px;background:#edf5ff;border-radius:9px;margin-bottom:15px}.join-settings p{font-size:11px;line-height:1.5;color:#5b7594}.house-studio .studio-rail{overflow-y:auto}.house-studio #tileCatalog{margin-top:12px}@media(max-width:760px){.house-studio .studio-rail{overflow-x:auto;overflow-y:hidden;justify-content:flex-start}.house-studio .studio-rail button{min-width:65px}.house-studio #libraryPanel.studio-open{max-height:calc(100dvh - 155px);overflow-y:auto}.house-studio .som-card b{font-size:11px!important}.house-studio #bathroomPanel input,.house-studio #bathroomPanel select{font-size:16px!important}.house-studio .som-card img{height:105px}}

.house-studio #bathroomPanel{min-width:0}.house-studio #bathroomPanel>.studio-description:first-child{font-size:12px;line-height:1.5;margin:0 0 10px}.house-studio .bath-surface-picker{padding:12px;background:#f1f6ff;border:1px solid #d8e6fa;border-radius:12px;margin:12px 0}.house-studio .bath-surface-picker>label{display:grid;gap:5px}.house-studio .bath-kind-tabs{display:flex;gap:5px;margin-top:10px}.house-studio .bath-kind-tabs button{flex:1;min-height:40px;border:1px solid #d6e2f2;border-radius:8px;background:#fff;color:#456080;font-size:12px}.house-studio .bath-kind-tabs button[aria-pressed=true]{background:#1768ee;color:#fff;border-color:#1768ee}.house-studio .bath-surface-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.house-studio .bath-surface-cards button{min-width:0;display:grid;grid-template-columns:24px 1fr;gap:3px 5px;padding:9px;border:1px solid #d9e4f1;border-radius:9px;background:#fff;text-align:left;min-height:54px}.house-studio .bath-surface-cards button.active{border-color:#1768ee;background:#edf4ff}.house-studio .bath-surface-cards span{grid-row:1/3;font-size:20px;color:#347ce5}.house-studio .bath-surface-cards b{font-size:11px;overflow-wrap:anywhere}.house-studio .bath-surface-cards small{font-size:10px;color:#6e819b}.house-studio .bath-help{font-size:11px;line-height:1.5;color:#62758c;margin:8px 0}.house-studio .bath-help:empty{display:none}.house-studio .bath-edit-actions{display:flex;gap:6px;margin:12px 0}.house-studio .bath-edit-actions button,.house-studio #tileApplyRoom{border:1px solid #c9d9ef;border-radius:8px;min-height:38px;background:#f5f8ff;color:#1b5cab;font-size:11px;padding:7px}.house-studio #tileApplyRoom{width:100%}.house-studio #tileApplyRoom:disabled{opacity:.55}.house-studio .bath-batch{border:1px solid #dce6f5;border-radius:10px;padding:0 10px 10px}.house-studio .bath-batch>summary{font-size:11px!important}.house-studio .bath-plan-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:16px}.house-studio .bath-plan-heading>div{min-width:0}.house-studio .bath-plan-heading b{font-size:12px}.house-studio .bath-plan-heading small{display:block;font-size:10px;color:#60758e;margin-top:4px}.house-studio .bath-plan-heading>label{width:92px;flex-shrink:0;font-size:10px!important}.house-studio #bathroomPanel #tileZoom{font-size:12px!important;min-height:34px;padding:5px}.house-studio #tilePlan{height:225px;max-height:none;background:#edf2f8;padding:7px;margin:8px 0;overflow:auto;overscroll-behavior:auto;touch-action:pan-x pan-y}.house-studio #tilePlan svg{display:block;width:100%;height:100%;max-height:none;min-height:0}.house-studio #tilePlan [data-tile-key]{cursor:pointer;outline:none}.house-studio #tilePlan [data-tile-key]:focus-visible{stroke:#135fed;stroke-width:.015}.house-studio #tilePlan [data-tile-key]:hover{opacity:.8}.house-studio .bath-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:10px;color:#657b96}.house-studio .bath-legend span{display:flex;align-items:center;gap:4px}.house-studio .bath-legend i{width:10px;height:10px;border-radius:2px;background:#e4edf5;border:1px solid #afbed0}.house-studio .bath-legend .cut{background:#c1d7ed}.house-studio .bath-legend .accent{background:#cfbd91}.house-studio .bath-legend .chosen{background:#2476ea}.house-studio .bath-warnings{font-size:11px;line-height:1.5;color:#7a633a}.house-studio .bath-warnings p{margin:7px 0}.house-studio #bathroomPanel #tileStats{grid-template-columns:repeat(2,minmax(0,1fr));font-size:11px;gap:8px}.house-studio #bathroomPanel #tileStats small{grid-column:1/-1}.house-studio .studio-material-details{border-top:1px solid #edf1f7;font-size:11px}.house-studio .studio-material-details summary{font-size:11px!important;margin:0!important;padding:7px;cursor:pointer;color:#2869c3}.house-studio .studio-material-details p{font-size:11px;line-height:1.45;overflow-wrap:anywhere;margin:0;padding:4px 8px}.house-studio .studio-material-details a{border-top:0}.house-studio .studio-material-meta{line-height:1.4}.house-studio #tileCatalog .studio-material-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;height:calc(2.8em + 8px)}
@media(max-width:760px){.house-studio #bathroomPanel #tilePlan{height:210px}.house-studio .bath-surface-cards b{font-size:12px}.house-studio .bath-surface-cards small{font-size:11px}.house-studio .bath-kind-tabs button{font-size:13px}.house-studio .bath-edit-actions{flex-wrap:wrap}.house-studio .bath-edit-actions button{flex:1;min-width:120px}.house-studio .bath-plan-heading>label{width:96px}}


.house-studio .som-source-note{margin:8px 0;color:#5c7290;font-size:11px}.house-studio .som-source-note summary{cursor:pointer;font-size:11px}.house-studio .som-source-note p{font-size:11px;line-height:1.5;margin:8px 0}.house-studio #bathroomPanel [disabled]{opacity:.5;cursor:not-allowed}


/* Scoped to the furniture library; no independent vertical scroll regions. */
.house-studio #furnitureTabs.studio-furniture-filters{display:block!important;min-width:0;margin:12px 0!important;padding:0}
.house-studio #furnitureTabs [hidden]{display:none!important}
.house-studio #furnitureTabs label{display:grid;gap:4px;min-width:0;margin:0;font-size:11px;line-height:1.3;font-weight:600;color:#576b83}
.house-studio #furnitureTabs input,.house-studio #furnitureTabs select{box-sizing:border-box;display:block;min-width:0;max-width:100%;width:100%;min-height:40px;margin:0;padding:9px 10px;border:1px solid #dce5f2;border-radius:9px;background:#fff;color:#213a59;font:inherit;font-size:12px;font-weight:400;text-overflow:ellipsis}
.house-studio #furnitureTabs .studio-furniture-search{display:block;margin:0 0 10px}
.house-studio #furnitureTabs #studioFurnitureSearch{font-size:13px}
.house-studio #furnitureTabs .studio-furniture-primary,.house-studio #furnitureTabs .studio-furniture-extra>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.house-studio #furnitureTabs .studio-furniture-extra{border:0;border-radius:0;padding:0;margin:10px 0}
.house-studio #furnitureTabs .studio-furniture-extra summary{display:list-item;cursor:pointer;font-size:12px;font-weight:600;color:#366495;padding:7px 0;min-height:30px;line-height:1.4;box-sizing:border-box}
.house-studio #furnitureTabs .studio-furniture-extra summary small:not(:empty){display:inline-block;padding:1px 5px;background:#e4efff;color:#1769ed;border-radius:5px;font-size:10px}
.house-studio #furnitureTabs .studio-furniture-extra>div{padding:5px 0 8px}
.house-studio #furnitureTabs .studio-furniture-extra>small{display:block;font-size:10px;line-height:1.4;color:#77869a;font-weight:400;margin:0 0 6px}
.house-studio #furnitureTabs .studio-furniture-results{display:flex;align-items:center;flex-wrap:wrap;gap:6px;border-top:1px solid #e8eef6;padding:8px 0 2px}
.house-studio #studioFurnitureCount{flex:1;min-width:65px;font-size:12px;font-weight:600;color:#36516d;white-space:nowrap}
.house-studio #furnitureTabs .studio-furniture-results button{min-height:36px;padding:6px 8px;border:1px solid #d5e2f2;border-radius:8px;background:#f7faff;color:#315b88;font:inherit;font-size:11px;line-height:1.3;font-weight:600;cursor:pointer}
.house-studio #furnitureTabs #studioFurnitureReset{border-color:transparent;background:transparent;color:#62748b}
.house-studio #studioFurnitureFavorites[aria-pressed=true]{color:#175bc8;background:#eaf2ff;border-color:#b9d2ff}
.house-studio #furnitureTabs .studio-furniture-active{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 2px}
.house-studio #furnitureTabs .studio-furniture-active button{display:flex;align-items:center;gap:6px;max-width:100%;min-height:32px;padding:5px 8px;font:inherit;font-size:11px;line-height:1.3;font-weight:500;color:#285d9b;background:#eaf2ff;border:1px solid #d4e4fd;border-radius:7px;cursor:pointer}
.house-studio #furnitureTabs .studio-furniture-active button span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:220px}
.house-studio #furnitureTabs .studio-furniture-active button span:last-child{font-size:17px;line-height:1}
.house-studio #furnitureObjects.studio-furniture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;min-width:0;height:auto;max-height:none;overflow:visible}
.house-studio .studio-furniture-card{position:relative;min-width:0;border:1px solid #dce5f1;border-radius:12px;background:#fff;overflow:hidden}
.house-studio .studio-furniture-card>[data-studio-object]{box-sizing:border-box;border:0;width:100%;height:100%;margin:0;border-radius:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;text-align:left;padding:7px 7px 10px;background:transparent;cursor:pointer}
.house-studio .studio-furniture-card>[data-studio-object] img{display:block;width:100%;height:104px;object-fit:contain;border-radius:8px;background:#f1f6fc}
.house-studio .studio-furniture-card>[data-studio-object] span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:normal;word-break:normal;font-size:12px;line-height:1.35;height:2.7em;min-height:2.7em;max-height:2.7em;font-weight:600;color:#173a5d;padding:0;margin:0}
.house-studio .studio-furniture-card>[data-studio-object] small{display:block;min-width:0;font-size:10px;color:#647d97;line-height:1.4;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0;padding:0}
.house-studio .studio-furniture-card .studio-furniture-star{position:absolute;z-index:1;top:5px;right:5px;display:flex;align-items:center;justify-content:center;min-height:36px;width:36px;height:36px;padding:0;border:1px solid #dae5f1;border-radius:10px;background:#ffffffed;color:#647d97;font-size:21px;line-height:1;box-shadow:0 2px 8px #163e6610;cursor:pointer}
.house-studio .studio-furniture-star[aria-pressed=true]{color:#1769ed;background:#ecf3ff}
.house-studio .studio-furniture-card:focus-within,.house-studio .studio-furniture-card:hover{border-color:#8bb4fa;box-shadow:0 3px 12px #1769ed0e}
.house-studio .studio-furniture-footer{font-size:11px;line-height:1.5;color:#708098;margin:12px 0}
.house-studio .studio-furniture-pager{display:flex;justify-content:space-between;align-items:center;gap:6px;min-width:0;margin:0 0 10px}
.house-studio .studio-furniture-pager button,.house-studio .studio-furniture-empty button{min-height:40px;border:1px solid #cfddf1;border-radius:9px;padding:8px 10px;color:#1769ed;background:#f6f9ff;font:inherit;font-size:11px;line-height:1.3;font-weight:600;cursor:pointer}
.house-studio .studio-furniture-pager button:disabled{opacity:.45;cursor:default}
.house-studio .studio-furniture-pager span{font-size:10px;white-space:nowrap;text-align:center;font-variant-numeric:tabular-nums}
.house-studio .studio-furniture-credits{padding:0;border:0}
.house-studio .studio-furniture-credits summary{font-size:11px;cursor:pointer;color:#61758e;min-height:32px;line-height:32px}
.house-studio .studio-furniture-credits small{display:block;font-size:10px;line-height:1.5;padding:2px 0 8px}
.house-studio .studio-furniture-credits a{color:#356eb5}
.house-studio .studio-furniture-empty{grid-column:1/-1;padding:18px 14px;text-align:center;background:#f6f9fe;border:1px dashed #c4d7f0;border-radius:12px;font-size:12px;line-height:1.5;color:#536e8b}
.house-studio .studio-furniture-empty b{color:#2b486a;font-size:13px}
.house-studio .studio-furniture-empty p{font-size:12px;margin:7px 0 12px}
.house-studio #furnitureTabs :focus-visible,.house-studio .studio-furniture-card button:focus-visible,.house-studio .studio-furniture-pager button:focus-visible{outline:3px solid #8cb9ff;outline-offset:2px}
@media(max-width:760px){
 .house-studio #furnitureTabs input,.house-studio #furnitureTabs select{font-size:16px!important;min-height:44px}
 .house-studio #furnitureTabs .studio-furniture-results button{min-height:42px}
 .house-studio #furnitureTabs .studio-furniture-extra summary{min-height:42px;padding:11px 0}
 .house-studio #furnitureTabs .studio-furniture-active button{min-height:40px}
 .house-studio .studio-furniture-card .studio-furniture-star{width:42px;height:42px;min-height:42px}
 .house-studio .studio-furniture-card>[data-studio-object] img{height:110px}
 .house-studio .studio-furniture-pager button{min-height:44px}
}
@media(min-width:761px){.house-studio #furnitureTabs .studio-furniture-primary{grid-template-columns:1fr}}


/* One scroll surface per library panel. Canvas gestures remain scoped to canvas. */
.house-studio #libraryPanel{touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-top:86px;scrollbar-gutter:stable}
.house-studio #libraryPanel #templateList{max-height:none;height:auto;overflow:visible;overscroll-behavior:auto}
.house-studio #libraryPanel .studio-panel-head{padding:12px 0;min-height:66px;margin-bottom:12px}
.house-studio .studio-panel-head button,.house-studio .studio-inspector-head button{min-width:40px;min-height:40px;align-items:center;justify-content:center;border-radius:8px}
.house-studio #contextTip{top:auto;bottom:58px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);height:auto;min-height:0;max-height:72px;padding:8px 12px;line-height:1.35;overflow:hidden;white-space:normal;pointer-events:none;border:1px solid #d5e1ee;border-radius:10px;box-shadow:0 3px 14px #15335112;background:#fffffff0}
.house-studio .studio-tour-invite{max-width:calc(100% - 110px);white-space:normal;font-size:10px}
.house-studio #studioMaterialCards.som-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;margin:12px 0}
.house-studio .som-card{min-width:0;align-self:start}
.house-studio .som-card .studio-material-name{font-size:11px!important;line-height:1.4;height:calc(2.8em + 8px);max-height:calc(2.8em + 8px);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow-wrap:normal;word-break:normal;padding:8px 7px 0}
.house-studio .som-card .studio-material-meta{font-size:10px;line-height:1.35;min-height:28px;padding:5px 7px;overflow-wrap:anywhere}
.house-studio .som-card .studio-material-details{margin:0;border-top:1px solid #e7edf5}
.house-studio .som-card .studio-material-details>summary{font-size:10px;padding:10px 7px;min-height:36px;margin:0;border:0;color:#1a64c7}
.house-studio .som-card .studio-material-details p{font-size:11px;line-height:1.5;padding:0 7px;margin:7px 0;overflow-wrap:anywhere}
.house-studio .som-card .studio-material-details b{height:auto;max-height:none;display:block;-webkit-line-clamp:unset}
.house-studio .som-card img,.house-studio #studioMaterialCards img{aspect-ratio:1.5;object-fit:cover;height:90px;width:100%}
.house-studio #libraryPanel .studio-import{padding:12px 0;margin-top:12px;border-top:1px solid #e5edf7}
.house-studio #libraryPanel .studio-import p,.house-studio #libraryPanel .studio-import small{font-size:10px;line-height:1.5}
@media(max-width:760px){
 .house-studio #libraryPanel.studio-open{height:min(72dvh,calc(100% - 92px));max-height:calc(100% - 84px);padding:0 12px 20px;overflow-x:hidden;overflow-y:auto;touch-action:pan-y}
 .house-studio #libraryPanel .studio-panel-head{min-height:60px;padding:10px 0}
 .house-studio #libraryPanel .studio-panel-head small{font-size:7px}
 .house-studio #studioMaterialCards.som-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .house-studio #studioMaterialCards .studio-material-name{font-size:12px!important}
 .house-studio #studioMaterialCards img{height:88px}
 .house-studio .som-card .studio-material-details>summary{min-height:42px;display:flex;align-items:center;font-size:11px;padding:8px}
 .house-studio .panel input:not([type=checkbox]):not([type=range]):not([type=color]),.house-studio .panel select{font-size:16px;min-height:42px;height:auto}
 .house-studio #contextTip{bottom:58px;font-size:11px;max-width:calc(100% - 24px);padding:8px 10px}
 .house-studio .studio-tour-invite{font-size:9px;max-width:calc(100% - 105px)}
}

