/* AIVELI v16 - responsive furniture library and property inspector */
:root{--panel:#faf8f5;--panel2:#fffdf9;--bg:#f1eeea;--ink:#2d2a27;--muted:#817b74}
.embedded-visualizer .library-scroll{min-width:0;max-width:100%;overflow-x:hidden!important}
.embedded-visualizer .library-scroll .catalog,.library-scroll .catalog{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:8px!important;min-width:0!important;width:100%;max-width:100%
}
.embedded-visualizer .library-scroll .catalog .cat-card,.library-scroll .catalog .cat-card{
 display:flex;flex-direction:column;min-width:0!important;max-width:100%!important;
 width:100%!important;overflow:hidden;border-radius:12px!important;
 border:1px solid #e8e1d8!important;box-shadow:0 4px 12px rgba(49,42,35,.055)!important
}
.embedded-visualizer .library-scroll .catalog .cat-thumb{height:88px;min-height:76px;max-width:100%;padding:7px}
.embedded-visualizer .library-scroll .catalog .cat-copy{
 flex:1;min-width:0!important;padding:9px 8px 12px!important;
 font-size:10px;line-height:1.35;overflow-wrap:break-word;word-break:normal;
 white-space:normal!important
}
.embedded-visualizer .library-scroll .catalog .cat-copy b{
 display:block;font-size:11px!important;font-weight:600;line-height:1.24;
 white-space:normal!important;overflow-wrap:break-word
}
.embedded-visualizer .library-scroll .catalog .cat-copy span{font-size:9px;line-height:1.2}
.embedded-visualizer .inspector{
 top:9px!important;bottom:9px!important;right:9px!important;
 width:min(378px,calc(100vw - 72px))!important;
 max-height:calc(100dvh - 18px)!important;min-width:0!important;
 background:#fffdfb!important;border:1px solid #e3dcd3!important;
 border-radius:18px!important;box-shadow:-9px 14px 50px rgba(43,34,28,.14)!important;
}
.embedded-visualizer .inspector-top{
 min-height:57px!important;height:57px!important;padding:10px 15px!important;
 background:#fffdfb!important;border-bottom:1px solid #ece6df!important;
 justify-content:flex-start!important;gap:10px!important
}
.embedded-visualizer .inspector-close{flex:0 0 34px;background:#f4f0ec!important;border-color:#e3dcd3!important;color:#463b33!important}
.embedded-visualizer .inspector-top #saveBtn{
 background:#37322d!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:0 15px!important;
 min-width:0;min-height:37px;font-size:12px
}
.embedded-visualizer .inspector-scroll{
 flex:1 1 auto;min-height:0!important;width:100%;min-width:0;max-width:100%;
 overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;
 padding:12px 15px 35px!important;scrollbar-color:#c1b6a9 transparent
}
.embedded-visualizer .inspector-scroll .uce-inspector{
 width:100%!important;max-width:100%!important;min-width:0!important;
 padding:0!important;margin:0!important;box-sizing:border-box!important;overflow:visible!important
}
.embedded-visualizer .inspector-scroll .uce-inspector > *{
 width:100%;min-width:0!important;max-width:100%!important;margin-inline:0!important;box-sizing:border-box!important
}
.embedded-visualizer .inspector .uce-object-head{
 padding:4px 0 15px!important;max-width:100%!important;overflow:visible!important;
 background:transparent!important;border:0!important;border-bottom:1px solid #ebe5dd!important;border-radius:0!important
}
.embedded-visualizer .inspector .uce-object-head .obj-title{
 width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:0!important;
 display:block!important;white-space:normal!important
}
.embedded-visualizer .inspector .uce-object-head .obj-title small{
 color:#8e857a!important;white-space:normal!important;overflow-wrap:normal!important;
 word-break:normal!important;line-height:1.4!important;font-size:10px!important
}
.embedded-visualizer .inspector .uce-object-head .obj-title b{
 color:#2c2926!important;white-space:normal!important;word-break:normal!important;
 overflow-wrap:break-word!important;font-size:21px!important;line-height:1.2!important
}
.embedded-visualizer .inspector .uce-id{color:#80776d!important;white-space:normal!important}
.embedded-visualizer .inspector .uce-inspector-actions{
 display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;
 padding:15px 0!important;margin:0!important
}
.embedded-visualizer .inspector .uce-inspector-actions button{min-width:0!important;white-space:normal!important}
.embedded-visualizer .inspector .uce-action-main{
 background:#37332f!important;color:#fff!important;border:0!important;border-radius:11px!important;
 padding:12px 13px!important;box-shadow:none!important
}
.embedded-visualizer .inspector .uce-action-sub,.embedded-visualizer .inspector .uce-action-export{
 color:#544c43!important;background:#f7f3ee!important;border:1px solid #e6ddd3!important;
 border-radius:10px!important;box-shadow:none!important
}
.embedded-visualizer .inspector .uce-property-section{
 background:transparent!important;border:0!important;border-top:1px solid #ece5de!important;
 border-radius:0!important;padding:16px 0 11px!important;margin:0!important
}
.embedded-visualizer .inspector .uce-property-section .model-meta{
 display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,auto)!important;
 gap:10px 12px!important;padding:0!important;margin:0!important;
 background:transparent!important;border:0!important;border-radius:0!important
}
.embedded-visualizer .inspector .uce-property-section .model-meta span{min-width:0;color:#82786f!important}
.embedded-visualizer .inspector .uce-property-section .model-meta b{
 min-width:0;max-width:135px;color:#443a32!important;overflow-wrap:break-word!important
}
.embedded-visualizer .inspector .uce-property-title{color:#38312b!important}
.embedded-visualizer .inspector .uce-property-title span{color:#a39486!important}
.embedded-visualizer .inspector .action.primary{background:#38332f!important;color:#fff!important}
.embedded-visualizer .inspector .group,.embedded-visualizer .inspector .model-meta{
 border-color:#e9e0d7!important;background:#faf8f5!important;color:#514b43!important
}
.embedded-visualizer .inspector .tabs button.active{background:#39332c!important;color:#fff!important;border-color:#39332c!important}
@media(max-width:650px){
 .embedded-visualizer .library-scroll .catalog{gap:7px!important}
 .embedded-visualizer .library-scroll .cat-thumb{height:78px}
 .embedded-visualizer .library-scroll .catalog .cat-copy b{font-size:10px!important}
 .embedded-visualizer .inspector{width:calc(100vw - 65px)!important;right:6px!important;max-height:calc(100dvh - 12px)!important;top:6px!important;bottom:6px!important}
 .embedded-visualizer .inspector-scroll{padding:10px 11px 38px!important}
}
@media(min-width:1300px){.embedded-visualizer .library-scroll .catalog{gap:10px!important}}

/* v24 furniture: always-visible real category thumbnails, independent of GLB availability. */
.embedded-visualizer .library-scroll .furniture-category-gallery,.library-scroll .furniture-category-gallery{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;
  min-width:0!important;width:100%!important;align-items:stretch;overflow:visible!important
}
.embedded-visualizer .library-scroll .furniture-category-tile,.library-scroll .furniture-category-tile{
  display:flex!important;flex-direction:column!important;min-width:0!important;min-height:146px!important;
  height:auto!important;max-width:100%!important;background:#fdfbf8!important;
  color:#302c28!important;border:1px solid #e5ddd4!important;border-radius:12px!important;
  opacity:1!important;visibility:visible!important;box-shadow:0 5px 15px rgba(47,38,29,.055)!important;
  padding:0!important;text-align:left;overflow:hidden!important;position:relative
}
.embedded-visualizer .library-scroll .furniture-category-tile.selected,.library-scroll .furniture-category-tile.selected{
  border-color:#998573!important;box-shadow:inset 0 0 0 1px #a99783,0 6px 16px rgba(47,38,29,.085)!important
}
.embedded-visualizer .library-scroll .furniture-category-tile:hover,.library-scroll .furniture-category-tile:hover{
  transform:translateY(-2px);border-color:#c3b09f!important
}
.embedded-visualizer .library-scroll .furniture-category-image,.library-scroll .furniture-category-image{
  width:100%!important;height:107px!important;min-height:107px!important;max-height:107px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:6px!important;background:linear-gradient(145deg,#faf8f5,#e8e2da)!important;overflow:hidden
}
.embedded-visualizer .library-scroll .furniture-category-image img,.library-scroll .furniture-category-image img{
  display:block!important;width:100%!important;height:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;opacity:1!important;visibility:visible!important;
  filter:drop-shadow(0 5px 8px rgba(38,29,20,.13))!important
}
.embedded-visualizer .library-scroll .furniture-category-tile .cat-copy,.library-scroll .furniture-category-tile .cat-copy{
  display:flex!important;flex-direction:column;gap:4px;justify-content:center;flex:1;min-width:0!important;
  padding:8px 9px 11px!important;overflow-wrap:normal!important;word-break:normal!important
}
.library-scroll .furniture-category-tile .cat-copy b{
  font-size:11px!important;color:#302b27!important;line-height:1.25!important;font-weight:670!important
}
.library-scroll .furniture-category-tile .cat-copy span{
  font-size:9px!important;line-height:1.3!important;color:#867a6f!important
}
.library-scroll .furniture-category-results{margin:19px 0 10px;border-top:1px solid #e8e1d8;padding-top:13px}
.library-scroll .furniture-category-result-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.library-scroll .furniture-category-result-head h3{font-size:14px;margin:0;letter-spacing:-.025em}
.library-scroll .furniture-category-result-head .back-btn{margin:0!important;width:auto!important;white-space:nowrap}
.library-scroll .furniture-empty{padding:12px;font-size:11px;color:#72695f;line-height:1.45}
@media(max-width:380px){
 .embedded-visualizer .library-scroll .furniture-category-gallery,.library-scroll .furniture-category-gallery{gap:6px!important}
 .embedded-visualizer .library-scroll .furniture-category-image,.library-scroll .furniture-category-image{height:86px!important;min-height:86px!important;max-height:86px!important}
 .embedded-visualizer .library-scroll .furniture-category-tile,.library-scroll .furniture-category-tile{min-height:122px!important}
}

/* AIVELI workspace fit and accessible selected-object action. */
.inspector-top{min-width:0;gap:6px!important;padding-inline:clamp(6px,1vw,14px)!important;overflow:hidden}
.inspector-top>*{min-width:0;max-width:100%}
.inspector-top .aiveli-object-delete{flex:0 1 auto;min-width:60px;border:1px solid #e1c1bd;background:#fff5f2;color:#8a5148;border-radius:7px;font-size:11px;min-height:35px;padding:4px 8px}
.inspector-top .aiveli-object-delete[hidden]{display:none!important}
.inspector-top .action{flex:0 1 auto;white-space:nowrap;padding:7px 9px}
.modes{min-width:0;max-width:100%;flex-shrink:1!important;gap:2px}
.modes [data-mode="iso"]{display:flex!important;align-items:center;justify-content:center;min-width:39px;min-height:34px;padding:5px 9px!important}
.modes .aiveli-iso-icon{width:23px;height:23px;flex:none;display:block}
.sr-only{position:absolute!important;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.topbar{column-gap:clamp(4px,.6vw,10px)!important}
.topbar .project-history,.topbar .scene-actions{display:flex;min-width:0;overflow:hidden;align-items:center}
.topbar .project-history{justify-content:flex-start}
.topbar .scene-actions{justify-content:flex-end}
@media(max-width:940px){
 .topbar{grid-template-columns:auto minmax(120px,1fr) auto!important}
 .topbar .modes{justify-self:center}
 .topbar .history-btn{width:31px!important;min-width:31px!important}
 .topbar .scene-actions .icon-top-btn{min-width:30px!important;flex-basis:30px!important}
}
@media(max-width:650px){
 .topbar{grid-template-columns:minmax(0,1fr) auto!important;gap:3px!important}
 .topbar .project-history{display:none!important}
 .topbar .modes{grid-column:1!important;grid-row:1!important;justify-self:start!important}
 .topbar .scene-actions{grid-column:2!important;grid-row:1!important}
 .topbar .modes button{padding:6px 8px!important;min-width:32px!important}
 .topbar .modes .aiveli-iso-icon{width:19px;height:19px}
 .scene-toolbar{max-width:calc(100% - 18px)!important;overflow-x:auto;scrollbar-width:none}
}
.current-build,.version-badge{display:none!important}
.furniture-category-image img,.model-preview img,.material-image-wrap img,.decor-card img{image-rendering:auto;object-fit:contain;object-position:center}

/* AIVELI UI reliability + performance on narrow and short displays. */
.shell,.shell>*{min-width:0;min-height:0}
.library-scroll,.inspector-scroll{scrollbar-gutter:stable;overscroll-behavior:contain;contain:layout}
.inspector-scroll .group,.inspector-scroll .row,.inspector-scroll .model-meta{min-width:0;max-width:100%}
.inspector-scroll button,.inspector-scroll select,.inspector-scroll input{max-width:100%}
.inspector-top{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap}
.topbar{min-width:0}
.topbar .modes button,.topbar .scene-actions button{flex-shrink:0}
@media(min-width:901px) and (max-width:1240px){
 .topbar .project-btn{max-width:92px;overflow:hidden;text-overflow:ellipsis}
 .topbar .scene-actions{gap:3px}
 .topbar .scene-actions .icon-top-btn{width:34px;min-width:34px}
 .topbar .modes button{padding-inline:9px}
 .topbar .render-btn{padding-inline:6px}
}
@media(max-height:625px){
 .inspector-scroll,.library-scroll{overscroll-behavior:contain}
 .scene-toolbar{bottom:8px!important;padding:3px!important;gap:2px!important;max-width:calc(100% - 32px)}
 .scene-toolbar button{height:32px!important;min-height:0!important;padding-inline:7px!important}
 .inspector-top{height:48px!important;min-height:48px!important}
 .rail-nav{overflow-y:auto}
}
@media(prefers-reduced-motion:reduce){
 .aiveli-studio .acs-workbench *,#aiveli-plan-sheet *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}
}
