:root{
  --lg-alpha:.16;
  --lg-alpha-strong:.26;
  --lg-blur:28px;
  --lg-sat:170%;
  --lg-border-alpha:.48;
  --lg-radius:22px;
  --lg-radius-sm:14px;
  --lg-radius-xs:10px;
  --lg-control-h:40px;
  --lg-shadow:0 18px 56px rgba(6,10,14,.16);
  --lg-highlight:rgba(255,255,255,.58);
  --lg-tint:255,255,255;
  --lg-ink:#121416;
  --lg-accent:#ff2a0e;
}

/* ---------- Shared liquid material ---------- */
.project-nav,.viewer-toolbar,.sector-nav,.inventory,.lot-card,.front-action,
.p360-browser,.p360-screen-buttons button,.p360-floating-browser,.p360-close,
.admin-glass,.topbar,.rail,.rightbar,.stage-head,.stage-overlay,.panel-card,.hero-card,.stat,.asset-card,.section-box,
.mode-switch,.editor-view-switch,.editor-light-switch,.zoom-tools,.save-state,.history-pill,.btn,.tiny,
.entity-item,.phase-row,.layer-row,.smart-row,.project-media-card,.project-map,.inspector-switch,.modal-card,.auth-card,
.v22-command,.v22-command-palette,.v22-cal-preview,.v22-settings-card{
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  border:1px solid rgba(var(--lg-tint),var(--lg-border-alpha));
  box-shadow:var(--lg-shadow),inset 0 1px 0 var(--lg-highlight),inset 0 -1px 0 rgba(255,255,255,.08);
}
.project-nav,.viewer-toolbar,.sector-nav,.inventory,.lot-card,.front-action,
.p360-browser,.p360-screen-buttons button,.p360-floating-browser,
.topbar,.rail,.rightbar,.stage-head,.stage-overlay,.panel-card,.hero-card,.stat,.asset-card,.section-box,
.mode-switch,.editor-view-switch,.editor-light-switch,.zoom-tools,.save-state,.history-pill,.entity-item,.phase-row,.layer-row,
.smart-row,.project-media-card,.project-map,.inspector-switch,.modal-card,.auth-card,.v22-command-palette,.v22-cal-preview,.v22-settings-card{
  background:linear-gradient(135deg,rgba(var(--lg-tint),calc(var(--lg-alpha) + .08)),rgba(var(--lg-tint),var(--lg-alpha)) 48%,rgba(var(--lg-tint),calc(var(--lg-alpha) * .58)));
}

button,.btn,input,select,textarea,.chip,.mode-badge,.lot-grid span,.asset-actions label,.asset-actions button,
.p360-launch,.p360-list button,.p360-hotspot-label,.v22-pill{
  border-radius:var(--lg-radius-sm)!important;
}
.project-nav,.inventory,.lot-card,.p360-browser,.modal-card,.auth-card,.rightbar,.rail,.stage,.v22-command-palette{
  border-radius:var(--lg-radius)!important;
}

/* ---------- Public showroom ---------- */
.project-nav{
  top:14px!important;left:14px!important;right:14px!important;height:64px!important;
  background:linear-gradient(128deg,rgba(255,255,255,.28),rgba(255,255,255,.13) 48%,rgba(255,255,255,.08))!important;
  color:#111!important;overflow:hidden!important;
}
.project-nav::before{opacity:.88!important;background:linear-gradient(108deg,rgba(255,255,255,.64),rgba(255,255,255,.12) 28%,transparent 52%,rgba(255,255,255,.22))!important}
.project-logo{filter:brightness(.12)}
.viewer-toolbar,.sector-nav{background:rgba(255,255,255,var(--lg-alpha))!important}
.viewer-toolbar button,.sector-nav button{min-height:var(--lg-control-h)}
.inventory,.lot-card{background:rgba(255,255,255,calc(var(--lg-alpha-strong) + .14))!important}
.inventory-list .lot-row,.lot-grid span,.filters input,.filters select{background:rgba(255,255,255,.36)!important;border:1px solid rgba(255,255,255,.48)!important;backdrop-filter:blur(18px)}
.front-action{background:rgba(15,18,20,.28)!important;border-color:rgba(255,255,255,.34)!important}
.enter-action{background:rgba(255,255,255,.70)!important;color:#111!important}
.p360-screen-buttons button,.p360-floating-browser,.p360-close{background:rgba(10,12,14,.30)!important}
.p360-browser{background:rgba(245,247,249,.48)!important}
#aerialCanvas{cursor:default!important}
#aerialCanvas.is-locked{touch-action:auto!important}
#aerialLayer{background:#0d0e0e}
#aerialDayImage,#aerialNightImage{will-change:opacity,transform;transform-origin:50% 50%}
.v22-aerial-lock-note{position:absolute;z-index:72;right:var(--pad);top:144px;padding:8px 10px;border-radius:var(--lg-radius-xs);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.42);backdrop-filter:blur(18px);font:700 8px/1 var(--sans);letter-spacing:.06em;color:#111;pointer-events:none;opacity:.72}

/* ---------- Admin studio: image behind glass ---------- */
body:has(#appShell){background:#0d1113 var(--v22-admin-bg,url('assets/aerial.webp')) center/cover fixed no-repeat!important}
body:has(#appShell)::before{content:"";position:fixed;inset:0;background:linear-gradient(115deg,rgba(8,12,14,.36),rgba(8,12,14,.12) 46%,rgba(8,12,14,.30));pointer-events:none;z-index:-1}
body:has(#appShell){--bg:transparent;--paper:transparent;--ink:#f6f7f8;--muted:rgba(255,255,255,.62);--line:rgba(255,255,255,.16)}
body:has(#appShell) .topbar{
  position:fixed!important;z-index:120!important;top:12px!important;left:12px!important;right:12px!important;height:64px!important;
  padding:0 18px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:var(--lg-radius)!important;
  background:rgba(255,255,255,.14)!important;color:#fff!important;
}
body:has(#appShell) .brand{color:#fff!important}body:has(#appShell) .brand img{filter:brightness(0) invert(1)!important}
body:has(#appShell) .shell{height:calc(100vh - 94px)!important;margin-top:88px!important;padding:0 12px 12px!important;grid-template-columns:238px minmax(0,1fr) 420px!important;gap:12px!important;background:transparent!important}
body:has(#appShell) .rail{border:1px solid rgba(255,255,255,.30)!important;padding:12px!important;align-items:stretch!important;background:rgba(255,255,255,.10)!important;overflow:auto}
body:has(#appShell) .tool-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
body:has(#appShell) .tool{width:100%!important;min-height:58px!important;color:rgba(255,255,255,.72)!important;background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.10)!important}
body:has(#appShell) .tool:hover{background:rgba(255,255,255,.18)!important;color:#fff!important}body:has(#appShell) .tool.is-active{background:rgba(255,255,255,.90)!important;color:#111!important}
body:has(#appShell) .stage-wrap{padding:0!important;background:transparent!important;gap:10px!important}
body:has(#appShell) .stage-head{padding:10px 12px!important;color:#fff!important;background:rgba(255,255,255,.10)!important;border-radius:var(--lg-radius)!important;align-items:center!important}
body:has(#appShell) .stage-head h1{font-size:24px!important;margin:2px 0 0!important}
body:has(#appShell) .stage-head small{color:rgba(255,255,255,.56)!important}
body:has(#appShell) .stage{border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 24px 80px rgba(0,0,0,.34)!important}
body:has(#appShell) .rightbar{border:1px solid rgba(255,255,255,.30)!important;background:rgba(255,255,255,.10)!important;color:#fff!important;overflow:hidden}
body:has(#appShell) .right-tabs{border-bottom:1px solid rgba(255,255,255,.14)!important;padding:9px!important;background:rgba(0,0,0,.05)}
body:has(#appShell) .right-tabs button{color:rgba(255,255,255,.64)!important;padding:9px 9px!important}body:has(#appShell) .right-tabs button.is-active{background:rgba(255,255,255,.88)!important;color:#111!important}
body:has(#appShell) .panel{padding:12px!important;background:transparent!important}
body:has(#appShell) .panel-card,body:has(#appShell) .hero-card,body:has(#appShell) .stat,body:has(#appShell) .asset-card,body:has(#appShell) .section-box,body:has(#appShell) .smart-row,body:has(#appShell) .phase-row,body:has(#appShell) .layer-row,body:has(#appShell) .inspector-switch{
  background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.20)!important;
}
body:has(#appShell) .hero-card{background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.07))!important}
body:has(#appShell) .hero-card p,body:has(#appShell) .subtle,body:has(#appShell) .field,body:has(#appShell) .entity-summary,body:has(#appShell) .smart-row small,body:has(#appShell) .entity-item small{color:rgba(255,255,255,.58)!important}
body:has(#appShell) input,body:has(#appShell) select,body:has(#appShell) textarea{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.20)!important}
body:has(#appShell) select option{color:#111;background:#fff}
body:has(#appShell) .btn,body:has(#appShell) .tiny{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.22)!important}
body:has(#appShell) .btn.primary{background:rgba(255,255,255,.90)!important;color:#111!important;border-color:rgba(255,255,255,.9)!important}
body:has(#appShell) .entity-item{color:#fff!important;background:rgba(255,255,255,.04)!important}body:has(#appShell) .entity-item:hover{background:rgba(255,255,255,.14)!important}body:has(#appShell) .entity-item.is-selected{background:rgba(255,255,255,.88)!important;color:#111!important}
body:has(#appShell) .stage-overlay{background:rgba(255,255,255,.14)!important;color:#fff!important;border-color:rgba(255,255,255,.26)!important}
body:has(#appShell) .mode-badge{background:rgba(255,255,255,.88)!important;color:#111!important}
body:has(#appShell) .mode-switch,body:has(#appShell) .editor-view-switch,body:has(#appShell) .editor-light-switch,body:has(#appShell) .zoom-tools{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.18)!important}
body:has(#appShell) .mode-switch button,body:has(#appShell) .editor-view-switch button,body:has(#appShell) .editor-light-switch button,body:has(#appShell) .zoom-tools button{color:rgba(255,255,255,.70)!important}
body:has(#appShell) .mode-switch button.is-active,body:has(#appShell) .editor-view-switch button.is-active,body:has(#appShell) .editor-light-switch button.is-active{background:rgba(255,255,255,.90)!important;color:#111!important}
body:has(#appShell) .save-state,body:has(#appShell) .history-pill{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}
body:has(#appShell) .history-pill button{color:#fff!important}

/* V22 navigator / settings */
.v22-rail-title{padding:12px 8px 7px;font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.42)}
.v22-rail-shortcuts{display:grid;gap:6px}.v22-rail-shortcuts button{height:36px;text-align:left;padding:0 11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;font-size:9px;font-weight:750}.v22-rail-shortcuts button:hover{background:rgba(255,255,255,.15)}
.v22-rail-status{margin-top:12px;padding:11px;border-radius:var(--lg-radius-sm);background:rgba(0,0,0,.12);border:1px solid rgba(255,255,255,.10);font-size:9px;color:rgba(255,255,255,.65);line-height:1.5}.v22-rail-status b{color:#fff}
.v22-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v22-settings-card{padding:13px;margin-bottom:10px}.v22-settings-card h3{margin:3px 0 11px;font-size:14px}.v22-settings-card small{font-size:8px;letter-spacing:.13em;color:rgba(255,255,255,.52)}
.v22-range{display:grid;grid-template-columns:1fr 60px;gap:8px;align-items:center}.v22-range input[type=range]{padding:0!important}.v22-cal-preview{position:relative;aspect-ratio:16/9;overflow:hidden;margin:10px 0;background:#0a0b0c}.v22-cal-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform-origin:50% 50%}.v22-cal-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:25% 25%;pointer-events:none}.v22-command{height:36px;padding:0 12px;background:rgba(255,255,255,.08);color:#fff;font-size:9px;font-weight:750}
.v22-command-palette{position:fixed;z-index:1000;left:50%;top:14vh;transform:translateX(-50%);width:min(620px,92vw);padding:12px;background:rgba(17,20,22,.58);color:#fff}.v22-command-palette[hidden]{display:none}.v22-command-palette input{width:100%;height:48px;padding:0 14px;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.24)!important;color:#fff!important}.v22-command-list{display:grid;gap:6px;margin-top:8px;max-height:52vh;overflow:auto}.v22-command-list button{display:flex;justify-content:space-between;align-items:center;padding:12px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.12);text-align:left}.v22-command-list button:hover{background:rgba(255,255,255,.18)}
.v22-json{min-height:280px!important;font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace!important;white-space:pre}
.v22-color-row{display:grid;grid-template-columns:1fr 56px;gap:8px;align-items:center}.v22-color-row input[type=color]{height:40px;padding:4px!important}

@media(max-width:1320px){body:has(#appShell) .shell{grid-template-columns:190px minmax(0,1fr) 370px!important}.v22-rail-shortcuts{display:none}}
@media(max-width:980px){body:has(#appShell) .shell{grid-template-columns:64px minmax(0,1fr)!important}.v22-rail-title,.v22-rail-shortcuts,.v22-rail-status{display:none}.rightbar{top:88px!important}.stage-head{grid-template-columns:1fr auto!important}}

/* World header is also a full-width glass plate */
.front-bar{
  top:14px!important;left:14px!important;right:14px!important;height:64px!important;padding:0 clamp(18px,4vw,64px)!important;
  border:1px solid rgba(255,255,255,.30)!important;border-radius:var(--lg-radius)!important;
  background:linear-gradient(128deg,rgba(16,20,22,.24),rgba(16,20,22,.10) 50%,rgba(255,255,255,.06))!important;
  -webkit-backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));backdrop-filter:blur(var(--lg-blur)) saturate(var(--lg-sat));
  box-shadow:var(--lg-shadow),inset 0 1px 0 rgba(255,255,255,.18)!important;overflow:hidden;
}
.front-bar::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(255,255,255,.20),transparent 33%,transparent 70%,rgba(255,255,255,.08));pointer-events:none}.front-bar>*{position:relative;z-index:1}
@media(max-width:800px){.front-bar{top:8px!important;left:8px!important;right:8px!important;height:56px!important;padding:0 16px!important}}

/* Remove isolated opaque materials: active states remain glass, only with stronger contrast */
.project-view .mode-btn.is-active,.lighting-switch button.is-active,.sector-nav button.is-active,
.lot-card #lotContact,.p360-launch,.p360-list button,.inventory-head button,.lot-card-close{
  background:rgba(18,20,22,.72)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;
  -webkit-backdrop-filter:blur(calc(var(--lg-blur) * .75)) saturate(var(--lg-sat));backdrop-filter:blur(calc(var(--lg-blur) * .75)) saturate(var(--lg-sat));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 26px rgba(0,0,0,.12)!important;
}
.filters input,.filters select,.lot-row,.lot-grid span{border-radius:var(--lg-radius-sm)!important}
.p360-modal .p360-top{background:linear-gradient(to bottom,rgba(4,6,7,.36),rgba(4,6,7,.02))!important;backdrop-filter:blur(10px)}


/* V22.1 — public project viewer cleanup */
.project-view .project-nav{display:none!important}
.project-brand-float{position:absolute;z-index:86;top:26px;left:28px;display:flex;align-items:center;pointer-events:none}
.project-brand-float .project-logo{width:116px;height:auto;display:block;filter:brightness(0) invert(1);transition:filter .35s ease,opacity .35s ease}
.project-world-float{position:absolute;z-index:86;top:25px;left:50%;transform:translateX(-50%);min-height:34px;padding:0 12px;border:0!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;color:#111;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 8px 24px rgba(0,0,0,.08);font:750 8px/1 var(--sans);letter-spacing:.04em}
.project-view[data-light="night"][data-view="aerial"] .project-world-float{color:#fff;background:rgba(8,10,12,.20)!important}
.project-lang-float{position:absolute;z-index:86;top:24px;right:28px;height:34px;display:flex;align-items:center;gap:7px;padding:0 9px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.20);-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 8px 24px rgba(0,0,0,.08)}
.project-lang-float .lang-option{color:rgba(17,17,17,.50)!important;font-size:8px!important}.project-lang-float .lang-option.is-active{color:#111!important}
.project-view[data-light="night"][data-view="aerial"] .project-lang-float .lang-option{color:rgba(255,255,255,.52)!important}.project-view[data-light="night"][data-view="aerial"] .project-lang-float .lang-option.is-active{color:#fff!important}.project-view[data-light="night"][data-view="aerial"] .project-lang-float{background:rgba(8,10,12,.18)}
.viewer-toolbar{top:76px!important;right:24px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.viewer-control-group{display:flex;align-items:center;gap:3px;padding:4px!important;border:1px solid rgba(255,255,255,.30)!important;border-radius:15px!important;background:rgba(255,255,255,.15)!important;-webkit-backdrop-filter:blur(24px) saturate(180%)!important;backdrop-filter:blur(24px) saturate(180%)!important;box-shadow:0 12px 34px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.32)!important}
.viewer-control-group button{min-width:auto!important;height:34px!important;padding:0 11px!important;border-radius:11px!important;border:1px solid transparent!important;background:transparent!important;color:rgba(20,20,22,.68)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;font:750 8px/1 var(--sans)!important;letter-spacing:.02em!important;transition:background .22s ease,color .22s ease,box-shadow .22s ease,transform .18s ease!important}
.viewer-control-group button:hover{background:rgba(255,255,255,.18)!important;transform:translateY(-1px)}
.viewer-control-group button.is-active{background:rgba(255,255,255,.84)!important;color:#111!important;border-color:rgba(255,255,255,.70)!important;box-shadow:0 4px 14px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.9)!important}
.control-icon{font-size:11px;line-height:1;opacity:.78}.mode-switch{border-left:0!important;margin-left:0!important}.lighting-switch{border-left:0!important;margin-left:0!important}
.apple-light-switch{position:relative;background:rgba(28,30,32,.18)!important}.apple-light-switch button[data-light="day"].is-active{background:rgba(250,250,250,.90)!important;color:#171717!important}.apple-light-switch button[data-light="night"].is-active{background:rgba(19,21,24,.86)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;box-shadow:0 4px 18px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12)!important}
.zoom-switch button{width:34px!important;padding:0!important}.zoom-switch button:disabled{display:none!important}
#aerialDayImage,#aerialNightImage{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;transform-origin:50% 50%!important;transition:opacity .42s ease!important}#aerialOverlay{z-index:5!important}
.v17-dock{left:24px!important;bottom:24px!important;gap:6px!important}.v17-dock button{height:34px!important;padding:0 11px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.30)!important;background:rgba(255,255,255,.18)!important;color:#fff!important;-webkit-backdrop-filter:blur(22px) saturate(175%)!important;backdrop-filter:blur(22px) saturate(175%)!important;box-shadow:0 10px 28px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.32)!important;font-size:8px!important}.v17-dock button:hover{background:rgba(255,255,255,.30)!important}
.project-view::before{display:none!important}
@media(max-width:800px){.project-brand-float{top:16px;left:16px}.project-brand-float .project-logo{width:98px}.project-world-float{top:14px}.project-lang-float{top:14px;right:16px}.viewer-toolbar{top:64px!important;right:12px!important;gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end!important;max-width:calc(100vw - 24px)}.viewer-control-group button{height:32px!important;padding:0 9px!important}.v17-dock{left:12px!important;bottom:76px!important}.v17-dock button{height:32px!important;padding:0 9px!important}}
:root{
  --v23-glass-bg:rgba(255,255,255,.16);
  --v23-glass-bg-strong:rgba(255,255,255,.26);
  --v23-glass-line:rgba(255,255,255,.42);
  --v23-glass-blur:24px;
  --v23-radius:18px;
  --v23-radius-sm:13px;
  --v23-shadow:0 18px 46px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.36);
}

/* WORLD — no top bar, three aligned controls */
.world-view .front-bar{display:none!important}
.world-view .front-action{
  width:132px!important;height:44px!important;padding:0 14px!important;
  justify-content:center!important;gap:8px!important;
  border-radius:14px!important;background:rgba(8,10,12,.28)!important;
  border:1px solid rgba(255,255,255,.26)!important;
  -webkit-backdrop-filter:blur(20px) saturate(170%)!important;backdrop-filter:blur(20px) saturate(170%)!important;
  box-shadow:0 12px 34px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.22)!important;
  bottom:max(22px,env(safe-area-inset-bottom))!important;
}
.world-view .contact-action{left:max(24px,env(safe-area-inset-left))!important}
.world-view .enter-action{left:50%!important;transform:translateX(-50%)!important}
.world-view .language-action{right:max(24px,env(safe-area-inset-right))!important}
.world-view .enter-action:hover{transform:translateX(-50%) translateY(-1px)!important}

/* PROJECT — floating only, no bar */
.project-nav{display:none!important}
.project-brand-float{top:22px!important;left:24px!important}
.project-brand-float .project-logo{width:112px!important}
.project-world-float{top:20px!important;min-height:34px!important}
.project-lang-float{top:20px!important;right:24px!important}

/* Smart independent toggles */
.viewer-toolbar{
  top:18px!important;right:24px!important;left:auto!important;padding:0!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;
}
.viewer-toolbar .legacy-view-controls{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;opacity:0!important;pointer-events:none!important}
.smart-toggle{
  position:relative;display:grid;grid-template-columns:30px auto 42px 30px;align-items:center;gap:8px;
  height:48px;min-width:190px;padding:0 12px;border-radius:24px!important;
  color:#111!important;background:linear-gradient(135deg,rgba(255,255,255,.33),rgba(255,255,255,.12))!important;
  border:1px solid rgba(255,255,255,.48)!important;
  -webkit-backdrop-filter:blur(26px) saturate(180%)!important;backdrop-filter:blur(26px) saturate(180%)!important;
  box-shadow:0 16px 42px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.66),inset 0 -1px 0 rgba(255,255,255,.10)!important;
  overflow:hidden;transition:transform .22s ease,background .3s ease,border-color .3s ease;
}
.smart-toggle:hover{transform:translateY(-1px)}
.smart-toggle .toggle-icon{font-size:15px;opacity:.55;text-align:center;position:relative;z-index:2}
.smart-toggle .toggle-label{font:800 9px/1 var(--sans);letter-spacing:.08em;text-align:center;position:relative;z-index:2}
.smart-toggle .toggle-track{height:28px;width:42px;border-radius:16px;background:rgba(18,20,22,.12);border:1px solid rgba(255,255,255,.30);position:relative;box-shadow:inset 0 1px 4px rgba(0,0,0,.08)}
.smart-toggle .toggle-track i{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(0,0,0,.16),inset 0 1px 0 #fff;transition:transform .32s cubic-bezier(.2,.9,.2,1),background .3s}
.smart-toggle[data-state="plan"] .toggle-track i,.smart-toggle[data-state="night"] .toggle-track i{transform:translateX(14px)}
.smart-toggle[data-state="night"]{color:#fff!important;background:linear-gradient(135deg,rgba(25,32,50,.58),rgba(19,24,39,.34))!important;border-color:rgba(188,210,255,.42)!important}
.smart-toggle[data-state="night"] .toggle-track{background:rgba(88,112,174,.34)}
.smart-toggle[data-state="night"] .toggle-track i{background:linear-gradient(135deg,#eef4ff,#b7c7ef);box-shadow:0 0 20px rgba(151,180,255,.68),0 4px 14px rgba(0,0,0,.22)}
.smart-toggle[data-state="day"]{background:linear-gradient(135deg,rgba(255,247,225,.46),rgba(255,255,255,.16))!important}
.smart-toggle[data-state="day"] .toggle-track i{box-shadow:0 0 18px rgba(255,219,126,.58),0 4px 12px rgba(0,0,0,.14)}
.view-toggle{min-width:178px}
.light-toggle{min-width:188px}
.zoom-switch{height:44px!important;padding:4px!important;border-radius:22px!important;background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.36)!important;-webkit-backdrop-filter:blur(22px) saturate(170%)!important;backdrop-filter:blur(22px) saturate(170%)!important;box-shadow:var(--v23-shadow)!important}
.zoom-switch button{width:34px!important;min-width:34px!important;height:34px!important;padding:0!important;border-radius:17px!important;color:#111!important}
.zoom-switch button:hover{background:rgba(255,255,255,.50)!important}

/* Context panels respect top safe zone */
.inventory,.v17-panel,.lot-card{top:92px!important;right:24px!important;bottom:24px!important;width:min(390px,calc(100vw - 48px))!important}
.inventory,.v17-panel,.lot-card{
  background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.16) 58%,rgba(255,255,255,.10))!important;
  border:1px solid rgba(255,255,255,.52)!important;
  -webkit-backdrop-filter:blur(30px) saturate(180%)!important;backdrop-filter:blur(30px) saturate(180%)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.58)!important;
  border-radius:24px!important;
}
.inventory{padding:18px!important}
.v17-panel{padding:18px!important}

/* Selected lot becomes the information panel */
.lot-card{left:auto!important;padding:0!important;overflow:auto!important;transform:translateX(calc(100% + 70px))!important}
.lot-card.is-open{transform:none!important}
.lot-card-media{height:180px;min-height:180px;background:center/cover no-repeat;border-radius:23px 23px 0 0;position:relative;overflow:hidden}
.lot-media-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.42))}
.lot-card-media>span{position:absolute;left:16px;bottom:14px;color:#fff;font:800 9px/1 var(--sans);letter-spacing:.10em}
.lot-card-body{padding:18px}
.lot-card-close{top:12px!important;right:12px!important;background:rgba(255,255,255,.48)!important;color:#111!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important}
.lot-title-row{display:flex;align-items:end;justify-content:space-between;gap:12px}.lot-title-row h2{margin:4px 0 0!important}.lot-title-row .lot-status{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.44)}
.lot-grid span{background:rgba(255,255,255,.28)!important;border:1px solid rgba(255,255,255,.38)!important;-webkit-backdrop-filter:blur(14px)!important;backdrop-filter:blur(14px)!important}
.lot-card-nav{display:grid;grid-template-columns:38px 1fr 38px;align-items:center;gap:8px;margin:12px 0 0}.lot-card-nav button{height:36px;border-radius:18px!important;background:rgba(255,255,255,.34);border:1px solid rgba(255,255,255,.40)}.lot-card-nav span{text-align:center;font:750 8px/1 var(--sans);letter-spacing:.08em;color:rgba(17,17,17,.56)}
.lot-card #lotContact,.p360-launch{border-radius:14px!important}

/* smaller dock */
.v17-dock{left:24px!important;bottom:22px!important;gap:7px!important}
.v17-dock button{height:32px!important;padding:0 10px!important;border-radius:13px!important;font-size:7.5px!important;background:rgba(255,255,255,.18)!important;border:1px solid rgba(255,255,255,.34)!important;box-shadow:0 10px 28px rgba(0,0,0,.10),inset 0 1px 0 rgba(255,255,255,.34)!important}
.sector-nav{bottom:22px!important;background:rgba(255,255,255,.15)!important}

/* Images and overlays always share one crop */
#aerialCanvas,#planCanvas{overflow:hidden!important}
#aerialCanvas img,#aerialCanvas svg,#planCanvas img,#planCanvas svg{inset:0!important;width:100%!important;height:100%!important}
#aerialCanvas img,#planCanvas img{object-fit:cover!important;object-position:50% 50%!important}
#aerialOverlay,#planOverlay{preserve-aspect-ratio:xMidYMid slice}

@media(max-width:900px){
  .viewer-toolbar{top:66px!important;right:12px!important;gap:7px!important;flex-direction:column;align-items:flex-end!important}
  .smart-toggle{height:42px;min-width:164px;grid-template-columns:26px auto 38px 26px;padding:0 10px}
  .inventory,.v17-panel,.lot-card{top:166px!important;left:12px!important;right:12px!important;width:auto!important;bottom:72px!important}
  .world-view .front-action{width:112px!important;height:42px!important}.world-view .contact-action{left:12px!important}.world-view .language-action{right:12px!important}
}

/* ===== v34 CLEAN PRODUCTION — single public layout authority ===== */
html,body,#app,.viewer,.viewer-layer,.panzoom,.panzoom img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
img{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.viewer img,.viewer svg image,#planLayer img,#aerialLayer img,#planCanvasV2 image{user-select:none!important;-webkit-user-select:none!important;-webkit-user-drag:none!important;outline:none!important}

/* WORLD: no top bar background; logo + language remain floating */
.front-bar{display:none!important}
.world-brand-float{position:absolute;z-index:28;top:max(18px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));pointer-events:none}
.world-logo{width:118px;height:auto;filter:brightness(0) invert(1)!important;display:block}
.world-lang-float{position:absolute;z-index:28;top:max(18px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:center;gap:10px;min-width:116px;height:44px;padding:0 14px;border-radius:18px;background:rgba(6,10,16,.22);border:1px solid rgba(255,255,255,.24);-webkit-backdrop-filter:blur(20px) saturate(170%);backdrop-filter:blur(20px) saturate(170%);box-shadow:0 10px 32px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.22)}
.world-lang-float .lang-option{padding:0;border:0;background:none;color:rgba(255,255,255,.52);font:800 10px/1 var(--sans);letter-spacing:.08em}.world-lang-float .lang-option.is-active,.world-lang-float .lang-option:hover{color:#fff}.world-lang-float span{color:rgba(255,255,255,.24)}
.world-view .front-action{color:#fff!important;text-shadow:0 1px 10px rgba(0,0,0,.28)!important;background:rgba(8,12,18,.30)!important;border-color:rgba(255,255,255,.28)!important}
.world-view .enter-action{background:rgba(8,12,18,.48)!important;color:#fff!important;min-width:138px!important}

/* PROJECT: logo always white and no glass header bar */
.project-nav{position:absolute!important;z-index:82!important;inset:0!important;height:0!important;padding:0!important;display:block!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;overflow:visible!important;pointer-events:none!important}
.project-nav:before{display:none!important}
.project-logo{position:absolute!important;top:20px!important;left:24px!important;width:118px!important;height:auto!important;filter:brightness(0) invert(1)!important;z-index:98!important;pointer-events:none!important}
.project-nav>button{position:absolute!important;top:20px!important;left:50%!important;transform:translateX(-50%)!important;height:42px!important;padding:0 16px!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(225,215,186,.45),rgba(93,80,49,.32))!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 12px 32px rgba(20,15,8,.14),inset 0 1px 0 rgba(255,255,255,.58)!important;-webkit-backdrop-filter:blur(24px) saturate(175%)!important;backdrop-filter:blur(24px) saturate(175%)!important;pointer-events:auto!important}
.project-lang{display:none!important}

/* One authoritative toolbar cluster, top-right */
.project-view .viewer-toolbar{position:absolute!important;z-index:96!important;top:20px!important;right:24px!important;left:auto!important;bottom:auto!important;width:auto!important;max-width:calc(100vw - 220px)!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;padding:0!important;background:none!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;flex-direction:row!important;flex-wrap:nowrap!important}
.project-view .viewer-toolbar>.smart-toggle,.project-view .viewer-toolbar>.viewer-control-group,.project-view .viewer-toolbar>.zoom-switch{flex:0 0 auto!important;height:48px!important;min-height:48px!important;margin:0!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(230,220,194,.50),rgba(92,79,49,.34))!important;border:1px solid rgba(255,255,255,.48)!important;box-shadow:0 12px 34px rgba(23,18,11,.16),inset 0 1px 0 rgba(255,255,255,.62)!important;-webkit-backdrop-filter:blur(26px) saturate(175%)!important;backdrop-filter:blur(26px) saturate(175%)!important}
.project-view .viewer-toolbar .smart-toggle{padding:0 14px!important;min-width:150px!important}
.project-view .viewer-toolbar .zoom-switch{padding:4px 7px!important;display:flex!important;align-items:center!important;gap:2px!important}
.project-view .viewer-toolbar .zoom-switch button{width:34px!important;height:38px!important;min-width:34px!important;padding:0!important;border-radius:999px!important}

/* Side panels always below toolbar safe area */
.project-view .inventory,.project-view .v17-panel,.project-view .lot-card{top:92px!important}

/* Zone track layout is defined only by the v41 hierarchical track block below. */
.project-lang-menu{position:absolute;z-index:98;right:24px;bottom:24px;display:flex;flex-direction:column;align-items:stretch;gap:7px;font:800 9px/1 var(--sans)}
.project-lang-trigger,.project-lang-list{border:1px solid rgba(255,255,255,.48);background:linear-gradient(135deg,rgba(228,219,194,.46),rgba(89,79,53,.34));-webkit-backdrop-filter:blur(26px) saturate(175%);backdrop-filter:blur(26px) saturate(175%);box-shadow:0 14px 36px rgba(22,17,10,.17),inset 0 1px 0 rgba(255,255,255,.60)}
.project-lang-trigger{order:2;width:76px;height:48px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;color:#fff!important;font:800 9px/1 var(--sans)}
.project-lang-trigger b{font-size:10px;font-weight:500;transition:transform .25s}.project-lang-menu.is-open .project-lang-trigger b{transform:rotate(180deg)}
.project-lang-list{order:1;width:76px;padding:7px;border-radius:25px;display:grid;gap:3px;opacity:0;visibility:hidden;transform:translateY(8px) scale(.96);transform-origin:bottom center;transition:.23s var(--ease)}
.project-lang-menu.is-open .project-lang-list{opacity:1;visibility:visible;transform:none}
.project-lang-list button{height:34px;border-radius:17px;color:rgba(255,255,255,.72);font:800 9px/1 var(--sans)}
.project-lang-list button:hover,.project-lang-list button.is-active{background:rgba(255,255,255,.18);color:#fff}

/* Project info sheet: image > copy > metrics */
.v34-project-sheet{display:grid;gap:12px}.v34-project-hero{height:190px;border-radius:22px;background-position:center;background-size:cover;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.48);box-shadow:inset 0 1px 0 rgba(255,255,255,.42)}
.v34-project-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(8,8,8,.50))}.v34-project-hero span{position:absolute;z-index:2;left:16px;bottom:14px;color:#fff;font:800 10px/1 var(--sans);letter-spacing:.09em}
.v34-project-copy,.v34-project-data{border-radius:18px;padding:15px;background:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.54);backdrop-filter:blur(18px)}
.v34-project-copy h4{margin:0 0 7px;font-size:18px}.v34-project-copy p{margin:0;font-size:11px;line-height:1.55;color:#5d5d61}.v34-project-data{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v34-project-data>div{padding:11px;border-radius:13px;background:rgba(255,255,255,.48)}.v34-project-data small{display:block;font:700 7px/1 var(--sans);letter-spacing:.08em;color:#777}.v34-project-data b{display:block;margin-top:6px;font-size:12px;color:#161616}

@media(max-width:980px){
  .project-logo{top:14px!important;left:12px!important;width:104px!important}
  .project-nav>button{top:14px!important}
  .project-view .viewer-toolbar{top:66px!important;right:12px!important;gap:6px!important;transform:scale(.88);transform-origin:top right}
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{top:124px!important;left:12px!important;right:12px!important;width:auto!important;bottom:72px!important}
  .sector-nav{max-width:calc(100vw - 24px)!important;bottom:68px!important;height:46px!important;min-height:46px!important;padding:4px 10px!important}
  .project-lang-menu{right:12px;bottom:12px}
  .world-brand-float{top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left))}.world-logo{width:104px}.world-lang-float{top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));height:40px;min-width:108px;padding:0 12px;border-radius:16px}
}


/* v36 public polish */
.project-logo,.project-brand-float .project-logo,.world-logo,.crudo-logo{filter:brightness(0) invert(1)!important;opacity:1!important;mix-blend-mode:normal!important}
.v17-dock{left:24px!important;bottom:24px!important;gap:8px!important}.v17-dock button{height:40px!important;min-width:104px!important;padding:0 16px!important;border-radius:999px!important;background:linear-gradient(135deg,rgba(119,93,145,.34),rgba(255,255,255,.12))!important;border:1px solid rgba(255,255,255,.32)!important;-webkit-backdrop-filter:blur(22px) saturate(170%)!important;backdrop-filter:blur(22px) saturate(170%)!important}
.v36-layer-fab{position:absolute;z-index:84;left:24px;bottom:76px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);color:#fff;-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%);box-shadow:0 10px 28px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.3)}
.v17-panel{right:24px!important;top:84px!important;bottom:88px!important;width:min(350px,calc(100vw - 48px))!important;padding:16px!important;border-radius:30px!important;background:linear-gradient(145deg,rgba(245,245,247,.78),rgba(232,232,236,.66))!important;border:1px solid rgba(255,255,255,.54)!important;box-shadow:0 28px 70px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.82)!important;-webkit-backdrop-filter:blur(34px) saturate(165%)!important;backdrop-filter:blur(34px) saturate(165%)!important}.v17-head h3{font-size:26px!important}.v17-item{background:rgba(255,255,255,.62)!important;border-color:rgba(255,255,255,.65)!important}

/* ===== v40 CLEAN PATCH — TRACK LABELS + ICON DOCK + COMPACT LANGUAGE ===== */
/* Single public-layout authority for the controls changed in v40. */

/* CRUDO-derived hierarchical track — v47. Exact box-model alignment. */
.project-view .sector-nav{
  --track-cell:112px;
  box-sizing:border-box!important;
  position:absolute!important;z-index:88!important;left:50%!important;bottom:18px!important;
  transform:translateX(-50%)!important;display:flex!important;align-items:flex-start!important;justify-content:flex-start!important;
  gap:0!important;height:92px!important;min-height:92px!important;width:max-content!important;
  max-width:min(960px,calc(100vw - 330px))!important;padding:0 18px!important;border:0!important;border-radius:0!important;
  background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  overflow:visible!important;scrollbar-width:none!important;isolation:isolate;
  transition:opacity .24s var(--ease),transform .34s var(--ease),filter .24s var(--ease)!important;
}
.project-view .sector-nav.is-switching{opacity:0!important;filter:blur(7px)!important;transform:translateX(-50%) translateY(6px) scale(.965)!important;pointer-events:none!important}
.project-view .sector-nav::-webkit-scrollbar{display:none!important}
.project-view .sector-nav .v43-track-svg{position:absolute;left:0;top:0;z-index:0;width:100%;height:92px;pointer-events:none;overflow:visible;filter:drop-shadow(0 15px 30px rgba(0,0,0,.17))}
.project-view .sector-nav .v43-track-rail{fill:rgba(115,102,70,.22);stroke:rgba(255,255,255,.64);stroke-width:1;vector-effect:non-scaling-stroke}
.project-view .sector-nav .v43-track-sheen{fill:none;stroke:rgba(255,255,255,.34);stroke-width:.8;stroke-linecap:round;vector-effect:non-scaling-stroke}
.project-view .sector-nav button:is([data-zone],[data-track-id]){
  position:relative!important;z-index:2!important;display:grid!important;grid-template-rows:64px 24px!important;place-items:center!important;
  width:var(--track-cell)!important;min-width:var(--track-cell)!important;height:92px!important;padding:0!important;margin:0!important;border:0!important;
  border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important;overflow:visible!important;
  -webkit-backdrop-filter:none!important;backdrop-filter:none!important;flex:0 0 var(--track-cell)!important;
}
.project-view .sector-nav button:is([data-zone],[data-track-id])::after{display:none!important}
.project-view .sector-nav .zone-step-num{
  align-self:start;margin-top:7px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#fff;
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(105,92,61,.16));border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.44),0 8px 20px rgba(0,0,0,.11);-webkit-backdrop-filter:blur(24px) saturate(165%);backdrop-filter:blur(24px) saturate(165%);
  font:850 10px/1 var(--sans);letter-spacing:.02em;transition:width .34s var(--ease),height .34s var(--ease),margin .34s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease),color .25s var(--ease),transform .25s var(--ease)
}
.project-view .sector-nav .zone-step-name{
  align-self:start;width:108px;padding-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;text-transform:uppercase;
  color:rgba(255,255,255,.98);text-shadow:0 1px 9px rgba(0,0,0,.42);font:900 8px/1 var(--sans);letter-spacing:.11em;
  transition:color .25s var(--ease),font-weight .25s var(--ease),opacity .25s var(--ease)
}
.project-view .sector-nav button:is([data-zone],[data-track-id]):hover .zone-step-num{transform:translateY(-1px);background:rgba(255,255,255,.26)}
.project-view .sector-nav button:is([data-zone],[data-track-id]).is-active .zone-step-num{
  width:56px;height:56px;margin-top:0;background:rgba(255,255,255,.22)!important;color:#fff!important;border-color:#fff!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.82),0 0 22px rgba(255,255,255,.94),0 0 46px rgba(255,247,215,.70),0 13px 32px rgba(0,0,0,.17)!important;
  -webkit-backdrop-filter:blur(26px) saturate(175%)!important;backdrop-filter:blur(26px) saturate(175%)!important
}
.project-view .sector-nav button:is([data-zone],[data-track-id]).is-active .zone-step-name{color:#fff!important;font-weight:950!important}
.project-view .v43-track-back{
  position:absolute;z-index:91;left:50%;bottom:42px;transform:translateX(calc(-50% - var(--v43-track-half, 180px) - 30px));
  width:36px;height:36px;padding:0;border-radius:13px;display:grid;place-items:center;color:#fff;opacity:0;visibility:hidden;pointer-events:none;
  border:1px solid rgba(255,255,255,.36);background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.08));
  -webkit-backdrop-filter:blur(24px) saturate(175%);backdrop-filter:blur(24px) saturate(175%);box-shadow:0 10px 26px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.34);
  transition:opacity .24s var(--ease),transform .28s var(--ease),visibility .24s
}
.project-view .v43-track-back.is-visible{opacity:1;visibility:visible;pointer-events:auto}
.project-view .v43-track-back:hover{background:rgba(255,255,255,.28)}
.project-view .v43-track-back svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){
  .project-view .sector-nav{--track-cell:92px;max-width:calc(100vw - 120px)!important;overflow-x:auto!important;overflow-y:visible!important;padding-bottom:3px!important}
  .project-view .sector-nav .zone-step-name{width:88px;font-size:7px}
}

/* Four compact icon-only actions aligned in one line, bottom-left. */
.project-view .v17-dock{left:24px!important;bottom:24px!important;display:flex!important;align-items:center!important;gap:7px!important}
.project-view .v17-dock button{
  width:38px!important;min-width:38px!important;height:38px!important;padding:0!important;border-radius:13px!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.32)!important;
  background:linear-gradient(145deg,rgba(255,255,255,.17),rgba(255,255,255,.08))!important;
  color:#fff!important;-webkit-backdrop-filter:blur(24px) saturate(175%)!important;backdrop-filter:blur(24px) saturate(175%)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.13),inset 0 1px 0 rgba(255,255,255,.34)!important;text-shadow:none!important
}
.project-view .v17-dock button:hover{transform:translateY(-1px)!important;background:rgba(255,255,255,.26)!important;border-color:rgba(255,255,255,.46)!important}
.project-view .v17-dock button svg{width:16px;height:16px;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.project-view .v36-layer-fab{display:none!important}

/* Compact language selector, same visual scale as the icon actions. */
.project-view .project-lang-menu{right:24px!important;bottom:24px!important;gap:6px!important}
.project-view .project-lang-trigger{width:44px!important;height:38px!important;padding:0!important;border-radius:13px!important;gap:4px!important;font-size:8px!important}
.project-view .project-lang-trigger b{font-size:8px!important}
.project-view .project-lang-list{width:44px!important;padding:5px!important;border-radius:16px!important}
.project-view .project-lang-list button{height:30px!important;border-radius:11px!important;font-size:8px!important}

/* CRUDO must always remain white, independent of view or lighting state. */
.project-view .project-logo,.project-brand-float .project-logo,.world-logo,.crudo-logo{filter:brightness(0) invert(1)!important;opacity:1!important}

/* Smaller iPhone-like right panels. Leave a clear safety gap above bottom controls/language. */
.project-view .inventory,
.project-view .v17-panel,
.project-view .lot-card{
  left:auto!important;
  right:24px!important;
  top:96px!important;
  bottom:108px!important;
  width:min(328px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 204px)!important;
  padding:14px!important;
  border-radius:28px!important;
  background:linear-gradient(145deg,rgba(248,248,250,.76),rgba(230,231,234,.64))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  -webkit-backdrop-filter:blur(38px) saturate(170%)!important;
  backdrop-filter:blur(38px) saturate(170%)!important;
  box-shadow:0 24px 64px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.90)!important;
  overflow:auto!important;
}
.project-view .v17-head h3,.project-view .inventory-head h2{font-size:24px!important;letter-spacing:-.045em!important}
.project-view .v17-head button,.project-view .inventory-head button,.project-view .lot-card-close{
  width:32px!important;height:32px!important;border-radius:50%!important;background:rgba(235,235,238,.82)!important;
  border:1px solid rgba(255,255,255,.68)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
}
.project-view .v17-item,.project-view .lot-grid span,.project-view .lot-row{
  border-radius:16px!important;background:rgba(255,255,255,.60)!important;border-color:rgba(255,255,255,.64)!important;
}
.project-view .inventory-list{grid-template-columns:1fr!important}
.project-view .lot-card-media{height:150px!important;min-height:150px!important;border-radius:22px 22px 0 0!important}

@media(max-width:900px){
  .project-view .sector-nav{bottom:70px!important;max-width:calc(100vw - 24px)!important;height:82px!important;padding:0 10px!important;overflow-x:auto!important;overflow-y:visible!important}
  .project-view .sector-nav button:is([data-zone],[data-track-id]){height:82px!important}
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{left:12px!important;right:12px!important;top:132px!important;bottom:142px!important;width:auto!important;max-height:calc(100dvh - 274px)!important}
}
/* v46 exact track cut: the concavity is generated from the exact same cx/cy as the active circle. */
.project-view .sector-nav .v46-track-cut-outline{
  fill:none;stroke:rgba(255,255,255,.68);stroke-width:1;vector-effect:non-scaling-stroke;
}

/* ===== v49 — APPLE MOTION + RESPONSIVE PANELS (NO ROLLBACK) ===== */
/* NOTE 1: right-side surfaces never create horizontal overflow. */
.project-view .inventory,
.project-view .v17-panel,
.project-view .lot-card{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
.project-view .inventory *,
.project-view .v17-panel *,
.project-view .lot-card *{box-sizing:border-box;min-width:0;max-width:100%}
.project-view .filters{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(92px,.62fr)!important;gap:8px!important;width:100%!important}
.project-view .filters input,.project-view .filters select{width:100%!important;min-width:0!important}
.project-view .inventory-list,.project-view #lotList{width:100%!important;min-width:0!important}

/* NOTE 2: Apple-like physical motion, without changing the proven track geometry. */
.project-view .sector-nav{
  transition:opacity .30s cubic-bezier(.22,.8,.2,1),transform .46s cubic-bezier(.22,.8,.2,1),filter .30s ease!important;
}
.project-view .sector-nav.is-switching{
  opacity:0!important;filter:blur(9px)!important;transform:translateX(-50%) translateY(7px) scale(.975)!important;
}
.project-view .sector-nav .zone-step-num{
  transform-origin:50% 50%;will-change:width,height,transform,box-shadow;
  transition:width .46s cubic-bezier(.22,.88,.24,1),height .46s cubic-bezier(.22,.88,.24,1),margin .46s cubic-bezier(.22,.88,.24,1),background .32s ease,box-shadow .40s cubic-bezier(.22,.8,.2,1),color .28s ease,transform .36s cubic-bezier(.22,.88,.24,1)!important;
}
.project-view .sector-nav .zone-step-name{transition:opacity .34s ease,transform .42s cubic-bezier(.22,.8,.2,1),color .28s ease!important;will-change:transform,opacity}
.project-view .sector-nav button:is([data-zone],[data-track-id]).is-active .zone-step-num{animation:v49GlowIn .48s cubic-bezier(.22,.8,.2,1) both}
@keyframes v49GlowIn{0%{box-shadow:0 0 0 rgba(255,255,255,0);transform:scale(.95)}55%{transform:scale(1.045)}100%{transform:scale(1)}}

/* NOTE 3: mouse/trackpad/touch remains the only zoom UI; view/light controls stay grouped at far right. */
.project-view .zoom-switch{display:none!important}
.project-view .viewer-toolbar{right:24px!important;left:auto!important;justify-content:flex-end!important;gap:8px!important}

/* NOTE 4: hierarchical zone summary in the existing inventory surface. */
.zone-hierarchy-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px}
.zone-summary-stat{padding:13px 12px;border-radius:17px;background:rgba(255,255,255,.48);border:1px solid rgba(255,255,255,.68);box-shadow:inset 0 1px 0 rgba(255,255,255,.72)}
.zone-summary-stat b{display:block;font:800 21px/1 var(--sans);letter-spacing:-.04em;color:#181818}.zone-summary-stat span{display:block;margin-top:5px;font:750 8px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:rgba(17,17,17,.48)}
.subzone-panel-list{display:grid;gap:7px}.subzone-panel-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:10px;border:1px solid rgba(255,255,255,.62);border-radius:16px;background:rgba(255,255,255,.46);color:#171717;text-align:left;transition:transform .28s cubic-bezier(.22,.8,.2,1),background .22s ease,box-shadow .28s ease}.subzone-panel-row:hover{transform:translateY(-1px);background:rgba(255,255,255,.68);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.subzone-index{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(0,0,0,.12);font:800 8px var(--sans)}.subzone-copy{display:grid;gap:3px}.subzone-copy b{font:800 10px/1.15 var(--sans)}.subzone-copy small{font:650 8px/1 var(--sans);color:rgba(17,17,17,.48)}.subzone-chevron{font-size:20px;color:rgba(17,17,17,.34)}.inventory-empty{padding:18px 12px;text-align:center;font:650 9px/1.4 var(--sans);color:rgba(17,17,17,.48)}

/* NOTE 5: exclusive panels transform like a single Apple surface. */
.project-view .inventory,.project-view .lot-card,.project-view .v17-panel{
  transition:transform .36s cubic-bezier(.22,.8,.2,1),opacity .30s ease,filter .30s ease!important;
  will-change:transform,opacity,filter;
}
.project-view .inventory.is-closing,.project-view .lot-card.is-closing,.project-view .v17-panel.is-closing{
  opacity:0!important;filter:blur(7px)!important;transform:translateX(22px) scale(.986)!important;pointer-events:none!important;
}
.project-view .inventory.is-panel-pending,.project-view .lot-card.is-panel-pending,.project-view .v17-panel.is-panel-pending{opacity:0!important;filter:blur(5px)!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){.project-view .sector-nav,.project-view .sector-nav .zone-step-num,.project-view .sector-nav .zone-step-name,.project-view .inventory,.project-view .lot-card,.project-view .v17-panel,.subzone-panel-row{transition:none!important;animation:none!important}}

/* ===== v50 — PUBLIC CONTROL SHAPE + UNIFIED LIQUID PANELS + PANEL MOTION ===== */
/* World controls: more visual/minimal, low tab geometry inspired by the supplied reference. */
.world-view .front-action{
  height:38px!important;width:auto!important;min-width:112px!important;padding:0 14px!important;
  border-radius:12px!important;gap:7px!important;
  background:linear-gradient(145deg,rgba(28,31,32,.34),rgba(14,16,18,.22))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  -webkit-backdrop-filter:blur(24px) saturate(175%)!important;backdrop-filter:blur(24px) saturate(175%)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.12),inset 0 1px 0 rgba(255,255,255,.22)!important;
  font-size:8px!important;letter-spacing:.035em!important;
}
.world-view .front-action b{font-size:11px!important;opacity:.72!important}
.world-view .enter-action{min-width:124px!important}
.world-view .language-action{min-width:104px!important}

/* Existing right-side panels become the same smoked Liquid Glass family as the rest of the showroom. */
.project-view .inventory,
.project-view .v17-panel,
.project-view .lot-card{
  background:linear-gradient(145deg,rgba(48,49,46,.58),rgba(29,30,29,.42))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  color:#fff!important;
  -webkit-backdrop-filter:blur(42px) saturate(175%)!important;backdrop-filter:blur(42px) saturate(175%)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.28)!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  scrollbar-width:none!important;
}
.project-view .inventory::-webkit-scrollbar,.project-view .v17-panel::-webkit-scrollbar,.project-view .lot-card::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.project-view .inventory-head small,.project-view .v17-head small,.project-view .lot-card small{color:rgba(255,255,255,.55)!important}
.project-view .inventory-head h2,.project-view .v17-head h3,.project-view .lot-card h2,.project-view .lot-card h3{color:#fff!important}
.project-view .filters input,.project-view .filters select,.project-view .v17-search,
.project-view .v17-item,.project-view .v17-toggle,.project-view .lot-grid span,.project-view .lot-row,
.project-view .zone-summary-stat,.project-view .subzone-panel-row{
  background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10)!important;
}
.project-view .filters input::placeholder,.project-view .v17-search::placeholder{color:rgba(255,255,255,.52)!important}
.project-view .filters select option{color:#111!important}
.project-view .v17-item p,.project-view .subzone-copy small,.project-view .zone-summary-stat span,.project-view .inventory-empty{color:rgba(255,255,255,.58)!important}
.project-view .zone-summary-stat b,.project-view .subzone-copy b,.project-view .subzone-index{color:#fff!important}
.project-view .subzone-index{border-color:rgba(255,255,255,.24)!important;background:rgba(255,255,255,.06)!important}
.project-view .subzone-chevron{color:rgba(255,255,255,.45)!important}
.project-view .v17-head button,.project-view .inventory-head button,.project-view .lot-card-close{background:rgba(255,255,255,.13)!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important}

/* Panel switching should read as one transforming surface, not two windows popping. */
.project-view .inventory,.project-view .lot-card,.project-view .v17-panel{
  transform-origin:100% 45%;
  transition:transform .42s cubic-bezier(.22,.8,.2,1),opacity .30s ease,filter .30s ease!important;
}
.project-view .inventory.is-closing,.project-view .lot-card.is-closing,.project-view .v17-panel.is-closing{
  opacity:0!important;filter:blur(9px)!important;transform:translateX(34px) scale(.975)!important;
}
.project-view .inventory.is-panel-pending,.project-view .lot-card.is-panel-pending,.project-view .v17-panel.is-panel-pending{
  opacity:0!important;filter:blur(7px)!important;transform:translateX(22px) scale(.982)!important;
}
.project-view .inventory.is-open,.project-view .lot-card.is-open,.project-view .v17-panel.open{filter:blur(0)!important}

/* Top viewer controls use flatter tab geometry while retaining Liquid Glass. */
.project-view .smart-toggle{
  height:42px!important;min-width:168px!important;border-radius:13px!important;padding:0 10px!important;
  grid-template-columns:24px auto 38px 24px!important;gap:7px!important;
}
.project-view .smart-toggle .toggle-track{height:24px!important;width:38px!important;border-radius:12px!important}
.project-view .smart-toggle .toggle-track i{width:18px!important;height:18px!important;top:2px!important;left:2px!important}
.project-view .smart-toggle[data-state="plan"] .toggle-track i,.project-view .smart-toggle[data-state="night"] .toggle-track i{transform:translateX(14px)!important}

@media(max-width:900px){
  .world-view .front-action{height:36px!important;min-width:98px!important;padding:0 11px!important}
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{background:rgba(35,36,34,.72)!important}
}
.project-view .inventory.is-entering,.project-view .lot-card.is-entering,.project-view .v17-panel.is-entering{animation:v50PanelIn .42s cubic-bezier(.22,.8,.2,1) both}
@keyframes v50PanelIn{0%{opacity:0;filter:blur(8px);transform:translateX(24px) scale(.982)}100%{opacity:1;filter:blur(0);transform:none}}
@media(prefers-reduced-motion:reduce){.project-view .inventory.is-entering,.project-view .lot-card.is-entering,.project-view .v17-panel.is-entering{animation:none!important}}

/* ===== v51 — INTERACTION SAFETY + REAL PANEL MOTION ===== */
/* Closed / off-canvas panels must never intercept clicks. */
.project-view .inventory,
.project-view .lot-card,
.project-view .v17-panel{pointer-events:none!important;}
.project-view .inventory.is-open,
.project-view .lot-card.is-open,
.project-view .v17-panel.open{pointer-events:auto!important;}
.project-view .inventory.is-closing,
.project-view .lot-card.is-closing,
.project-view .v17-panel.is-closing,
.project-view .inventory.is-panel-pending,
.project-view .lot-card.is-panel-pending,
.project-view .v17-panel.is-panel-pending{pointer-events:none!important;}

/* NOTE 6 — readable project copy on smoked glass. */
.project-view .v34-project-copy h4{color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.18)!important;}
.project-view .v34-project-copy p{color:rgba(255,255,255,.84)!important;line-height:1.55!important;font-weight:560!important;}
.project-view .v17-item p,.project-view .inventory-empty,.project-view .subzone-copy small{color:rgba(255,255,255,.76)!important;}

/* Explicit Apple-like panel entrance/exit. */
.project-view .inventory.is-entering,
.project-view .lot-card.is-entering,
.project-view .v17-panel.is-entering{animation:v51PanelEnter .36s cubic-bezier(.16,1,.3,1) both!important;}
@keyframes v51PanelEnter{
  0%{opacity:0;filter:blur(10px);transform:translateX(30px) scale(.975)}
  62%{opacity:1;filter:blur(1px);transform:translateX(-2px) scale(1.003)}
  100%{opacity:1;filter:blur(0);transform:none}
}
@media(prefers-reduced-motion:reduce){
  .project-view .inventory.is-entering,.project-view .lot-card.is-entering,.project-view .v17-panel.is-entering{animation:none!important}
}

/* ===== v53 NO ROLLBACK — hierarchical panel motion + track back alignment ===== */
.project-view .v43-track-back{
  bottom:18px!important;
  transform:translateX(calc(-50% - var(--v43-track-half,180px) - 28px)) translateY(-28px)!important;
  width:40px!important;height:40px!important;border-radius:14px!important;
}
.project-view .inventory.zone-panel-exit .inventory-list,
.project-view .inventory.zone-panel-exit .filters,
.project-view .inventory.zone-panel-exit .inventory-head{
  opacity:0;transform:translateX(10px) scale(.985);filter:blur(5px);
  transition:opacity .18s ease,transform .18s ease,filter .18s ease;
}
.project-view .inventory.zone-panel-enter .inventory-list,
.project-view .inventory.zone-panel-enter .filters,
.project-view .inventory.zone-panel-enter .inventory-head{
  animation:v53PanelIn .36s cubic-bezier(.22,.8,.2,1) both;
}
@keyframes v53PanelIn{0%{opacity:0;transform:translateX(-9px) scale(.985);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
.project-view .inventory-list>*{animation:v53Stagger .34s cubic-bezier(.22,.8,.2,1) both}
.project-view .inventory-list>*:nth-child(2){animation-delay:.025s}.project-view .inventory-list>*:nth-child(3){animation-delay:.05s}.project-view .inventory-list>*:nth-child(4){animation-delay:.075s}.project-view .inventory-list>*:nth-child(5){animation-delay:.1s}
@keyframes v53Stagger{0%{opacity:0;transform:translateY(5px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.project-view .inventory.zone-panel-enter .inventory-list,.project-view .inventory.zone-panel-enter .filters,.project-view .inventory.zone-panel-enter .inventory-head,.project-view .inventory-list>*{animation:none!important;transition:none!important;transform:none!important;filter:none!important}}

/* ===== v54 — TRUE MOBILE ADAPTATION (layout, not scale) ===== */
@media (max-width: 760px){
  :root{--mobile-safe-top:max(10px,env(safe-area-inset-top));--mobile-safe-bottom:max(10px,env(safe-area-inset-bottom));}
  html,body,#app{height:100dvh!important;min-height:100dvh!important;overscroll-behavior:none}
  button,a,input,select{touch-action:manipulation}

  /* World / globe landing: dedicated phone composition */
  .world-view{min-height:100dvh!important}
  .world-view .front-bar{top:var(--mobile-safe-top)!important;left:12px!important;right:12px!important;height:48px!important;padding:0!important;background:transparent!important}
  .world-view .crudo-logo{width:102px!important}
  .world-view .lang-top{height:38px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(8,10,12,.22);-webkit-backdrop-filter:blur(22px) saturate(170%);backdrop-filter:blur(22px) saturate(170%)}
  .world-view .globe-wrap{width:min(128vw,72dvh)!important;max-width:none!important;top:48%!important}
  .world-view .front-action{height:46px!important;bottom:calc(var(--mobile-safe-bottom) + 10px)!important;border-radius:999px!important;padding:0 15px!important;background:rgba(12,14,16,.30)!important;-webkit-backdrop-filter:blur(24px) saturate(175%);backdrop-filter:blur(24px) saturate(175%)}
  .world-view .contact-action{left:12px!important}
  .world-view .enter-action{left:50%!important;bottom:calc(var(--mobile-safe-bottom) + 68px)!important;min-width:150px!important;justify-content:center!important}
  .world-view .language-action{display:none!important}
  .world-view .site-marker span{display:block!important;max-width:120px;overflow:hidden;text-overflow:ellipsis}

  /* Project is full bleed. No desktop navbar compression. */
  .project-view,.project-view .viewer{height:100dvh!important;min-height:100dvh!important}
  .project-view .project-nav{display:none!important}
  .project-brand-float{top:calc(var(--mobile-safe-top) + 3px)!important;left:14px!important;z-index:105!important}
  .project-brand-float .project-logo{width:100px!important;filter:brightness(0) invert(1)!important}
  .project-world-float{top:calc(var(--mobile-safe-top) + 2px)!important;left:50%!important;right:auto!important;transform:translateX(-50%)!important;height:38px!important;padding:0 13px!important}

  /* View controls: genuine touch layout, no transform:scale. */
  .project-view .viewer-toolbar{top:calc(var(--mobile-safe-top) + 50px)!important;right:10px!important;left:10px!important;max-width:none!important;width:auto!important;transform:none!important;display:flex!important;flex-direction:row!important;justify-content:flex-end!important;align-items:center!important;gap:6px!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;padding-left:72px!important}
  .project-view .viewer-toolbar::-webkit-scrollbar{display:none!important}
  .project-view .viewer-toolbar>.smart-toggle,.project-view .viewer-toolbar>.viewer-control-group{height:44px!important;min-height:44px!important;border-radius:999px!important;flex:0 0 auto!important}
  .project-view .viewer-toolbar .smart-toggle{min-width:132px!important;padding:0 11px!important}
  .project-view .viewer-toolbar .zoom-switch{display:none!important}
  .smart-toggle .toggle-track{width:40px!important;height:26px!important}
  .smart-toggle .toggle-label{font-size:8px!important}

  /* Thumb dock: icons only, 44px touch targets. */
  .v17-dock{left:12px!important;bottom:calc(var(--mobile-safe-bottom) + 10px)!important;gap:6px!important;z-index:108!important}
  .v17-dock button{width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;border-radius:15px!important}
  .v17-dock button svg{width:18px!important;height:18px!important}

  /* Hierarchical track: horizontal swipe rail above dock. */
  .project-view .sector-nav{--track-cell:94px!important;left:10px!important;right:10px!important;bottom:calc(var(--mobile-safe-bottom) + 66px)!important;transform:none!important;width:auto!important;max-width:none!important;height:92px!important;min-height:92px!important;padding-left:16px!important;padding-right:16px!important;overflow-x:auto!important;overflow-y:visible!important;scroll-snap-type:x proximity!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;touch-action:pan-x!important}
  .project-view .sector-nav::-webkit-scrollbar{display:none!important}
  .project-view .sector-nav button:is([data-zone],[data-track-id]){scroll-snap-align:center!important;flex:0 0 var(--track-cell)!important;width:var(--track-cell)!important;min-width:var(--track-cell)!important}
  .project-view .sector-nav .zone-step-num{width:46px!important;height:46px!important;font-size:10px!important}
  .project-view .sector-nav button:is([data-zone],[data-track-id]).is-active .zone-step-num{width:58px!important;height:58px!important}
  .project-view .sector-nav .zone-step-name{width:90px!important;font-size:8px!important}
  .project-view .v43-track-back{left:12px!important;bottom:calc(var(--mobile-safe-bottom) + 94px)!important;transform:none!important;width:42px!important;height:42px!important;border-radius:15px!important}

  /* Language becomes a compact thumb control. */
  .project-lang-menu{right:12px!important;bottom:calc(var(--mobile-safe-bottom) + 10px)!important;z-index:109!important}
  .project-lang-trigger{width:54px!important;height:44px!important;border-radius:15px!important}
  .project-lang-list{width:54px!important;border-radius:18px!important;padding:5px!important}
  .project-lang-list button{height:36px!important;border-radius:13px!important}

  /* Right desktop panels become iOS-like bottom sheets. */
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{
    --sheet-drag:0px;
    position:absolute!important;z-index:120!important;left:8px!important;right:8px!important;top:auto!important;bottom:calc(var(--mobile-safe-bottom) + 4px)!important;width:auto!important;max-width:none!important;height:min(72dvh,680px)!important;max-height:calc(100dvh - var(--mobile-safe-top) - 18px)!important;
    padding:28px 16px 16px!important;border-radius:28px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;
    transform:translateY(calc(112% + var(--sheet-drag)))!important;opacity:0!important;pointer-events:none!important;
    transition:transform .48s cubic-bezier(.22,.8,.2,1),opacity .28s ease,filter .34s ease!important;
    box-shadow:0 -22px 70px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.75)!important;
  }
  .project-view .inventory.is-open,.project-view .lot-card.is-open,.project-view .v17-panel.open{transform:translateY(var(--sheet-drag))!important;opacity:1!important;pointer-events:auto!important;filter:none!important}
  .project-view .inventory.mobile-dragging,.project-view .lot-card.mobile-dragging,.project-view .v17-panel.mobile-dragging{transition:none!important}
  .mobile-sheet-handle{position:sticky;z-index:5;top:-22px;margin:-6px auto 12px;width:44px;height:5px;border-radius:999px;background:rgba(70,70,75,.30);touch-action:none;cursor:grab}
  .mobile-sheet-handle:active{cursor:grabbing}
  .inventory-head,.v17-head{position:relative!important;align-items:center!important}
  .inventory-head h2,.v17-head h3{font-size:28px!important;line-height:1.02!important}
  .filters{grid-template-columns:minmax(0,1fr) 104px!important;gap:7px!important;margin:12px 0!important}
  .filters input,.filters select{min-width:0!important;width:100%!important}
  .inventory-list{grid-template-columns:1fr!important;overflow:visible!important;padding:0!important}
  .lot-card{height:min(78dvh,720px)!important}
  .lot-card-media{min-height:180px!important}
  .lot-card h2{font-size:34px!important}
  .v17-panel .v34-project-data{grid-template-columns:1fr 1fr!important}
  .v17-panel *,.inventory *,.lot-card *{max-width:100%;min-width:0}

  /* 360 remains immersive on phones. */
  .p360-modal,.p360-shell,.p360-viewer{max-height:100dvh!important}
  .p360-modal{padding:0!important}
  .p360-shell{border-radius:0!important;width:100vw!important;height:100dvh!important}

  /* Better touch / pan behavior in map canvases. */
  .panzoom{touch-action:none!important}
  .sector-shape,.lot-row,.v17-item{touch-action:manipulation}
}

@media (max-width:760px) and (orientation:landscape){
  .project-view .viewer-toolbar{top:calc(var(--mobile-safe-top) + 4px)!important;left:140px!important}
  .project-brand-float{top:calc(var(--mobile-safe-top) + 8px)!important}
  .project-view .sector-nav{bottom:calc(var(--mobile-safe-bottom) + 8px)!important;left:72px!important;right:72px!important;height:78px!important;min-height:78px!important}
  .project-view .sector-nav button:is([data-zone],[data-track-id]){height:78px!important;grid-template-rows:56px 18px!important}
  .v17-dock{bottom:calc(var(--mobile-safe-bottom) + 8px)!important}
  .project-lang-menu{bottom:calc(var(--mobile-safe-bottom) + 8px)!important}
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{left:auto!important;width:min(420px,46vw)!important;height:calc(100dvh - var(--mobile-safe-top) - 16px)!important;right:8px!important}
}

@media (prefers-reduced-motion:reduce){
  .project-view .inventory,.project-view .v17-panel,.project-view .lot-card{transition:opacity .12s linear!important}
}

/* ===== v59 — REVEAL ZONES + PANEL LOT RELATION FIX ===== */
/* Start clean: territory and track stay hidden until the user explicitly asks to see zones. */
body:not(.zones-visible) .project-view #sectorNav,
body:not(.zones-visible) .project-view .v43-track-back,
body:not(.zones-visible) #aerialOverlay .v19-zone,
body:not(.zones-visible) #aerialOverlay .v19-zone-label,
body:not(.zones-visible) #aerialOverlay .v19-lot,
body:not(.zones-visible) #aerialOverlay .v19-lot-label,
body:not(.zones-visible) #aerialOverlay .sector-group{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.zones-visible .project-view #sectorNav{
  animation:v59TrackReveal .58s cubic-bezier(.16,1,.3,1) both;
}
@keyframes v59TrackReveal{
  0%{opacity:0;filter:blur(12px);transform:translateX(-50%) translateY(18px) scale(.94)}
  58%{opacity:1;filter:blur(1px);transform:translateX(-50%) translateY(-2px) scale(1.008)}
  100%{opacity:1;filter:blur(0);transform:translateX(-50%) translateY(0) scale(1)}
}
body.zones-visible #aerialOverlay .v19-zone,
body.zones-visible #aerialOverlay .v19-zone-label,
body.zones-visible #aerialOverlay .v19-lot,
body.zones-visible #aerialOverlay .v19-lot-label{
  animation:v59TerritoryReveal .46s cubic-bezier(.16,1,.3,1) backwards;
}
@keyframes v59TerritoryReveal{from{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}

.zones-reveal-btn{
  position:absolute;z-index:96;left:50%;bottom:58px;transform:translateX(-50%);
  height:48px;padding:0 18px 0 20px;display:flex;align-items:center;gap:12px;
  border:1px solid rgba(255,255,255,.42);border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.10));
  color:#fff;-webkit-backdrop-filter:blur(30px) saturate(185%);backdrop-filter:blur(30px) saturate(185%);
  box-shadow:0 18px 54px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.34);
  font:800 10px/1 var(--sans);letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.25);
  transition:width .54s cubic-bezier(.16,1,.3,1),padding .54s cubic-bezier(.16,1,.3,1),transform .34s cubic-bezier(.16,1,.3,1),opacity .28s ease,filter .28s ease,background .22s ease;border-radius .54s cubic-bezier(.16,1,.3,1);
}
.zones-reveal-btn:hover{transform:translateX(-50%) scale(1.035);background:rgba(255,255,255,.30)}
.zones-reveal-btn i{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.16);font-style:normal;font-size:17px;line-height:1}
.zones-reveal-btn.is-expanding{width:var(--reveal-track-width,520px);padding-left:22px;padding-right:22px;border-radius:27px;justify-content:center}.zones-reveal-btn.is-expanding span,.zones-reveal-btn.is-expanding i{opacity:0;transform:scale(.86);transition:opacity .16s ease,transform .2s ease}.zones-reveal-btn.is-leaving{opacity:0;filter:blur(8px);transform:translateX(-50%) scale(.985);pointer-events:none}

@media(max-width:700px){
  .zones-reveal-btn{height:46px;border-radius:17px;padding:0 16px 0 18px;bottom:86px;max-width:calc(100vw - 28px);}
}
@media(prefers-reduced-motion:reduce){
  body.zones-visible .project-view #sectorNav,
  body.zones-visible #aerialOverlay .v19-zone,
  body.zones-visible #aerialOverlay .v19-zone-label,
  body.zones-visible #aerialOverlay .v19-lot,
  body.zones-visible #aerialOverlay .v19-lot-label{animation:none!important}
  .zones-reveal-btn{transition:none!important}
}


/* ===== v59 — TERRITORY SELECTION + TRACK MORPH ===== */
.project-view #planCanvasV2 polygon.v59-selected{stroke:#fff!important;stroke-width:2.6!important;opacity:1!important;filter:drop-shadow(0 0 5px rgba(255,255,255,.95)) drop-shadow(0 0 16px rgba(255,244,205,.72))!important}
.project-view #planCanvasV2 polygon.v59-muted{opacity:.24!important;filter:saturate(.5) brightness(.72)!important}
.project-view #planCanvasV2 .v59-selected-overlay{fill:rgba(255,255,255,.10)!important;stroke:#fff!important;stroke-width:2.8!important;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px rgba(255,255,255,.98)) drop-shadow(0 0 20px rgba(255,244,205,.78))!important;pointer-events:none}
#aerialOverlay .v19-zone.v59-selected,#aerialOverlay .v19-lot.v59-selected{opacity:1!important;stroke:#fff!important;stroke-width:2.7!important;filter:drop-shadow(0 0 5px rgba(255,255,255,.95)) drop-shadow(0 0 18px rgba(255,244,205,.76))!important}
#aerialOverlay .v19-lot.v59-muted{opacity:.18!important;stroke:rgba(255,255,255,.18)!important;fill:rgba(255,255,255,.015)!important;filter:none!important}
body.zones-opening .project-view #sectorNav{opacity:0!important;visibility:visible!important;pointer-events:none!important}
body.zones-visible .project-view #sectorNav{visibility:visible!important;pointer-events:auto!important}
@media(prefers-reduced-motion:reduce){.zones-reveal-btn.is-expanding{transition:none!important}}

/* ===== v60 — TRUE TRACK MORPH + TERRITORY FOCUS POLISH ===== */
/* The compact CTA and the track share the same center. During opening the CTA widens
   while the track is revealed from its center, so it reads as one object morphing. */
body.zones-opening .project-view #sectorNav{
  visibility:visible!important;
  pointer-events:none!important;
  opacity:1!important;
  clip-path:inset(0 50% 0 50% round 27px);
  filter:blur(10px);
  animation:v60TrackMorph .56s cubic-bezier(.16,1,.3,1) forwards!important;
}
body.zones-visible .project-view #sectorNav{
  clip-path:inset(0 0 0 0 round 27px);
  filter:none;
}
@keyframes v60TrackMorph{
  0%{clip-path:inset(0 50% 0 50% round 24px);filter:blur(10px);opacity:.10}
  32%{clip-path:inset(0 36% 0 36% round 25px);filter:blur(7px);opacity:.34}
  72%{clip-path:inset(0 8% 0 8% round 27px);filter:blur(1.5px);opacity:.92}
  100%{clip-path:inset(0 0 0 0 round 27px);filter:blur(0);opacity:1}
}
.zones-reveal-btn{
  overflow:hidden;
  will-change:width,transform,opacity,filter,border-radius;
}
.zones-reveal-btn::before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(110deg,transparent 12%,rgba(255,255,255,.18) 45%,transparent 72%);
  transform:translateX(-120%);opacity:0;
}
.zones-reveal-btn.is-expanding::before{animation:v60RevealSheen .48s .06s cubic-bezier(.2,.8,.2,1) both}
@keyframes v60RevealSheen{0%{transform:translateX(-120%);opacity:0}20%{opacity:1}100%{transform:translateX(120%);opacity:0}}
.zones-reveal-btn.is-expanding{
  box-shadow:0 18px 54px rgba(0,0,0,.16),0 0 28px rgba(255,255,255,.13),inset 0 1px 0 rgba(255,255,255,.40);
}
@media(prefers-reduced-motion:reduce){
  body.zones-opening .project-view #sectorNav{animation:none!important;clip-path:none!important;filter:none!important;opacity:1!important}
  .zones-reveal-btn.is-expanding::before{animation:none!important}
}

/* ===== v61 — VERIFIED EXCLUSIVE PANEL TRANSITIONS ===== */
.project-view .inventory,.project-view .lot-card,.project-view .v17-panel{
  transition:transform .39s cubic-bezier(.16,1,.3,1),opacity .26s ease,filter .26s ease!important;
  will-change:transform,opacity,filter;
}
.project-view .inventory.is-closing,.project-view .lot-card.is-closing,.project-view .v17-panel.is-closing{
  opacity:0!important;filter:blur(10px)!important;transform:translateX(30px) scale(.978)!important;pointer-events:none!important;
}
.project-view .inventory.is-panel-pending,.project-view .lot-card.is-panel-pending,.project-view .v17-panel.is-panel-pending{
  opacity:0!important;filter:blur(8px)!important;transform:translateX(22px) scale(.982)!important;pointer-events:none!important;
}
.project-view .inventory.is-entering,.project-view .lot-card.is-entering,.project-view .v17-panel.is-entering{
  animation:v61PanelEnter .39s cubic-bezier(.16,1,.3,1) both!important;
}
@keyframes v61PanelEnter{0%{opacity:0;filter:blur(10px);transform:translateX(28px) scale(.978)}70%{opacity:1;filter:blur(1px);transform:translateX(-2px) scale(1.002)}100%{opacity:1;filter:blur(0);transform:none}}
@media(prefers-reduced-motion:reduce){.project-view .inventory.is-entering,.project-view .lot-card.is-entering,.project-view .v17-panel.is-entering{animation:none!important}}

/* ===== v63 — 3-level track morph polish ===== */
.project-view .sector-nav.is-morphing{pointer-events:none!important;transform-origin:center 28px!important;will-change:transform,filter,opacity,width}
.project-view .sector-nav button[data-track-type="lot"] .zone-step-num{
  background:linear-gradient(145deg,rgba(168,200,110,.22),rgba(255,255,255,.08));
  border-color:rgba(205,232,157,.78);
}
.project-view .sector-nav button[data-track-type="lot"].is-active .zone-step-num{background:#fff!important;color:#111!important;border-color:#fff!important}
.project-view .sector-nav button[data-track-type="lot"] .zone-step-name{letter-spacing:.065em}
.project-view .sector-nav .v43-track-svg{transition:filter .42s cubic-bezier(.16,1,.3,1),opacity .3s ease!important}
.project-view .v43-track-back[data-track-level="lots"]{box-shadow:0 0 0 1px rgba(255,255,255,.16),0 12px 32px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.4)!important}
@media (prefers-reduced-motion:reduce){.project-view .sector-nav.is-morphing{filter:none!important;transition:none!important}}

/* v65 — hierarchical track ownership + lot label clarity */
.project-view .sector-nav button[data-track-type="lot"] .zone-step-name{max-width:var(--track-cell);padding-inline:6px;box-sizing:border-box;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}

/* ===== v66 NO ROLLBACK — compact all-lots track + status matrix ===== */
.project-view .sector-nav.is-lots-level{
  max-width:calc(100vw - 340px)!important;
  overflow:visible!important;
  padding-inline:10px!important;
  justify-content:center!important;
}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"]{
  width:var(--track-cell)!important;
  min-width:var(--track-cell)!important;
  flex:0 0 var(--track-cell)!important;
  grid-template-rows:54px 18px!important;
}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"] .zone-step-num{
  width:var(--lot-circle)!important;
  height:var(--lot-circle)!important;
  min-width:var(--lot-circle)!important;
  margin-top:calc((46px - var(--lot-circle))/2)!important;
  border-color:color-mix(in srgb,var(--lot-status) 68%,rgba(255,255,255,.75))!important;
  background:color-mix(in srgb,var(--lot-status) 46%,transparent)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.30),0 5px 14px rgba(0,0,0,.14)!important;
  color:#fff!important;
  font-size:var(--lot-font)!important;
  letter-spacing:0!important;
  text-shadow:0 1px 4px rgba(0,0,0,.35);
}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"].is-active .zone-step-num{
  width:var(--lot-active)!important;
  height:var(--lot-active)!important;
  min-width:var(--lot-active)!important;
  margin-top:calc((46px - var(--lot-active))/2)!important;
  background:color-mix(in srgb,var(--lot-status) 72%,white 28%)!important;
  border-color:#fff!important;
  color:#101010!important;
  text-shadow:none!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 18px color-mix(in srgb,var(--lot-status) 70%,white 30%),0 10px 24px rgba(0,0,0,.18)!important;
}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"] .zone-step-name{
  width:calc(var(--track-cell) + 6px)!important;
  max-width:calc(var(--track-cell) + 6px)!important;
  opacity:var(--lot-label-opacity)!important;
  font-size:clamp(5px,calc(var(--lot-font) * .92),8px)!important;
  letter-spacing:.02em!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.project-view .sector-nav.is-lots-level .v43-track-svg{height:92px!important}

.lot-availability-summary{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 11px}
.lot-availability-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.08);font:750 8px/1 var(--sans);color:rgba(255,255,255,.9)}
.lot-availability-pill i{width:8px;height:8px;border-radius:50%;background:var(--status-color);box-shadow:0 0 9px color-mix(in srgb,var(--status-color) 65%,transparent)}
.lot-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(46px,1fr));gap:9px;padding:4px 0 10px}
.lot-status-dot{appearance:none;border:0;background:transparent;display:grid;place-items:center;gap:5px;padding:2px;min-width:0;color:#fff;cursor:pointer}
.lot-status-dot .dot{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--status-color) 44%,transparent);border:1px solid color-mix(in srgb,var(--status-color) 75%,white 25%);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 7px 16px rgba(0,0,0,.14);font:850 8px/1 var(--sans);transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s ease,background .28s ease}
.lot-status-dot small{display:block;max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:750 6.5px/1 var(--sans);letter-spacing:.02em;color:rgba(255,255,255,.78)}
.lot-status-dot:hover .dot{transform:translateY(-2px) scale(1.04)}
.lot-status-dot.is-selected .dot{background:color-mix(in srgb,var(--status-color) 72%,white 28%);color:#111;border-color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.92),0 0 20px color-mix(in srgb,var(--status-color) 68%,white 32%),0 9px 22px rgba(0,0,0,.17)}
.lot-grid-help{margin:0 0 10px;font:650 8px/1.45 var(--sans);color:rgba(255,255,255,.66)}
.lot-extra-card{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.06)}
.lot-extra-breadcrumb{font:800 7px/1.35 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:8px}
.lot-extra-card p{margin:6px 0 0;font:650 9px/1.55 var(--sans);color:rgba(255,255,255,.8)}
.lot-extra-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px}
.lot-extra-specs span{padding:8px;border-radius:11px;background:rgba(255,255,255,.07);font:700 8px/1.3 var(--sans);color:rgba(255,255,255,.82)}

@media(max-width:900px){
  .project-view .sector-nav.is-lots-level{left:8px!important;right:8px!important;max-width:none!important;width:auto!important;overflow:visible!important;transform:none!important;padding-inline:6px!important}
  .project-view .sector-nav.is-lots-level button[data-track-type="lot"]{scroll-snap-align:none!important}
  .lot-status-grid{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px}
  .lot-status-dot .dot{width:32px;height:32px}
}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"] .zone-step-num{color:rgba(255,255,255,var(--lot-code-opacity,1))!important}
.project-view .sector-nav.is-lots-level button[data-track-type="lot"].is-active .zone-step-num{color:rgba(16,16,16,var(--lot-code-opacity,1))!important}

/* Territory overlays use the same hierarchy and selection as the track. */
#aerialOverlay .v19-zone,#aerialOverlay .v19-lot{vector-effect:non-scaling-stroke;cursor:pointer;stroke-linejoin:round;transition:fill .18s,stroke .18s}
#aerialOverlay .v19-zone{fill:rgba(255,42,14,.035);stroke:rgba(255,255,255,.45);stroke-width:calc(1.4px / var(--camera-scale,1))}
#aerialOverlay .v19-lot{fill:rgba(112,143,78,.10);stroke:rgba(205,232,157,.7);stroke-width:calc(1.2px / var(--camera-scale,1))}
#aerialOverlay .v19-zone:hover,#aerialOverlay .v19-lot:hover{fill:rgba(255,255,255,.14);stroke:white}
#aerialOverlay .v19-zone-label{font:800 calc(11px / var(--camera-scale,1)) var(--sans);fill:white;paint-order:stroke;stroke:rgba(0,0,0,.6);stroke-width:3px;pointer-events:none}
#aerialOverlay.labels-off text{display:none}
#aerialOverlay polygon.territory-selected{fill:rgba(255,255,255,.12)!important;stroke:white!important;stroke-width:calc(2.5px / var(--camera-scale,1));filter:drop-shadow(0 0 calc(3px / var(--camera-scale,1)) white) drop-shadow(0 0 calc(8px / var(--camera-scale,1)) rgba(255,255,255,.8))}
.project-view #lotContact{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;margin:14px 0 0;padding:12px 14px;text-align:center;text-decoration:none;font:700 11px/1.3 var(--sans)}
.project-view #closeLot{display:grid;place-items:center;padding:0;top:24px!important;right:24px!important;line-height:1;z-index:3}
.project-view #closeLot svg{display:block;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.project-view #lotContact:focus-visible,.project-view #closeLot:focus-visible{outline:2px solid white;outline-offset:3px}

/* Keep contact actions visible independently of the property details. */
.project-view #lotCard{display:flex;flex-direction:column;overflow:hidden!important}
.project-view #lotCard .lot-card-media{flex:0 0 auto;height:clamp(80px,16dvh,150px)!important;min-height:0!important}
.project-view #lotCard .lot-card-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 18px 8px}
.project-view #lotCard .lot-card-footer{flex:0 0 auto;padding:10px 18px 4px;border-top:1px solid rgba(255,255,255,.16)}
.project-view #lotCard .lot-card-nav{margin:0}
.project-view #lotCard #lotContact{margin-top:10px}
.project-view #lotCard .mobile-sheet-handle{flex-shrink:0}

/* Fit the entire property summary inside the available card height. */
.project-view #lotCard .lot-card-media{height:clamp(64px,11dvh,100px)!important}
.project-view #lotCard .lot-card-body{overflow:hidden;padding:10px 12px 8px}
.project-view #lotCard .lot-card-details{display:flow-root}
.project-view #lotCard .lot-title-row{flex-wrap:wrap;gap:6px;margin:4px 0 8px}
.project-view #lotCard #lotId{font-size:30px;line-height:1.05;white-space:nowrap;margin:0}
.project-view #lotCard .lot-price{font-size:24px;padding:8px 0;margin:8px 0}
.project-view #lotCard .lot-grid{gap:6px}
.project-view #lotCard .lot-grid>span{padding:8px 10px;min-height:0}
.project-view #lotCard .lot-extra-card{margin-top:8px;padding:8px}
.project-view #lotCard .lot-extra-specs{margin-top:5px;gap:4px}
.project-view #lotCard .lot-extra-specs span{padding:5px 8px}
.project-view #lotCard .lot-card-footer{padding:8px 12px 2px}

/* NEXUS commercial preview layer */
.project-view .nexus-powered{
  position:absolute;z-index:84;top:78px;left:24px;pointer-events:none;
  padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.24);
  background:rgba(6,8,10,.16);color:rgba(255,255,255,.84);
  -webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
  font:800 8px/1 var(--sans);letter-spacing:.10em;text-transform:uppercase;
  text-shadow:0 1px 10px rgba(0,0,0,.24);
}
.project-view #lotCard .lot-card-footer{display:grid;gap:6px;padding:7px 12px 5px}
.project-view #lotCard .lot-card-nav{grid-template-columns:34px 1fr 34px;gap:6px}
.project-view #lotCard .lot-card-nav button{height:32px!important}
.project-view #lotCard #lotContact{min-height:38px;margin:0;padding:10px 12px}
.project-view .lot-commercial-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.project-view .lot-commercial-actions a,.project-view .lot-commercial-actions button{
  height:30px;display:grid;place-items:center;padding:0 8px;border-radius:12px!important;
  border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.10);
  color:#fff;text-align:center;text-decoration:none;font:800 11px/1 var(--sans);letter-spacing:.02em;
  -webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);
}
.project-view .lot-commercial-actions a:hover,.project-view .lot-commercial-actions button:hover{background:rgba(255,255,255,.18)}
.project-view .lot-commercial-actions a:focus-visible,.project-view .lot-commercial-actions button:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:900px){
  .project-view .nexus-powered{display:none}
  .project-view #lotCard .lot-card-footer{gap:5px;padding-bottom:4px}
  .project-view .lot-commercial-actions a,.project-view .lot-commercial-actions button{height:30px;font-size:11px}
}
@media print{
  body[data-print-unit]{background:#fff!important;color:#111!important}
  body[data-print-unit] .world-view,body[data-print-unit] .viewer-toolbar,body[data-print-unit] .sector-nav,body[data-print-unit] .inventory,body[data-print-unit] .v17-panel,body[data-print-unit] .project-brand-float,body[data-print-unit] .nexus-powered,body[data-print-unit] .project-world-float,body[data-print-unit] .project-lang{display:none!important}
  body[data-print-unit] .project-view,body[data-print-unit] #app{position:static!important;display:block!important;width:auto!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#111!important}
  body[data-print-unit] .viewer{position:static!important;height:auto!important;background:#fff!important}
  body[data-print-unit] #lotCard{position:static!important;display:block!important;transform:none!important;opacity:1!important;width:100%!important;max-width:720px!important;height:auto!important;margin:0 auto!important;background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  body[data-print-unit] #lotCard .lot-card-media{height:210px!important;min-height:210px!important;border-radius:18px!important}
  body[data-print-unit] #lotCard .lot-card-body,body[data-print-unit] #lotCard .lot-card-footer{overflow:visible!important;padding:16px!important;border:0!important}
  body[data-print-unit] #lotCard .lot-card-details{zoom:1!important}
  body[data-print-unit] #lotCard *{color:#111!important;text-shadow:none!important}
  body[data-print-unit] .lot-card-close,body[data-print-unit] .lot-card-nav,body[data-print-unit] .lot-commercial-actions{display:none!important}
  body[data-print-unit] #lotContact{background:#111!important;color:#fff!important}
}

/* v70.1 — public NEXUS 3D model viewer */
.project-view .nexus-model3d-open{position:absolute;z-index:88;right:24px;top:146px;height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.14);color:#fff;font:850 8px/1 var(--sans);letter-spacing:.10em;text-transform:uppercase;box-shadow:0 14px 38px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.28);-webkit-backdrop-filter:blur(18px) saturate(160%);backdrop-filter:blur(18px) saturate(160%);text-shadow:0 1px 10px rgba(0,0,0,.28)}
.project-view .nexus-model3d-open:hover{background:rgba(255,255,255,.22);transform:translateY(-1px)}
.nexus-model3d-modal{position:fixed;inset:0;z-index:9998;display:none;background:rgba(5,6,6,.74);-webkit-backdrop-filter:blur(28px) saturate(140%);backdrop-filter:blur(28px) saturate(140%);padding:22px;color:#fff}
.nexus-model3d-modal.is-open{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px}
.nexus-model3d-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:22px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.16)}
.nexus-model3d-top small{display:block;font:800 8px/1 var(--sans);letter-spacing:.14em;color:rgba(255,255,255,.56);text-transform:uppercase}.nexus-model3d-top b{display:block;margin-top:3px;font:850 18px/1.05 var(--display);letter-spacing:-.03em}.nexus-model3d-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff;font-size:21px}.nexus-model3d-stage{min-height:0;border-radius:30px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:radial-gradient(circle at 50% 22%,rgba(255,255,255,.12),transparent 30%),#080a0a;position:relative}.nexus-model3d-stage model-viewer{width:100%;height:100%;min-height:360px;background:transparent}.nexus-model3d-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:24px;color:rgba(255,255,255,.72);font:700 12px/1.5 var(--sans)}
@media(max-width:900px){.project-view .nexus-model3d-open{right:14px;top:86px;height:34px;padding:0 11px}.nexus-model3d-modal{padding:10px}.nexus-model3d-stage{border-radius:22px}}
@media print{.project-view .nexus-model3d-open,.nexus-model3d-modal{display:none!important}}

/* v70.2 — Commercial Core controls: search, filters, sales tray, QR, history, compare. */
.project-view .nexus-discovery{position:absolute;z-index:92;left:24px;top:112px;width:min(360px,calc(100vw - 48px));color:#fff;font-family:var(--sans);pointer-events:auto}.project-view .nexus-discovery-trigger{height:38px;min-width:210px;padding:0 13px;border-radius:999px;border:1px solid rgba(255,255,255,.24);background:rgba(7,9,10,.18);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;font:850 8px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 14px 38px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.24);-webkit-backdrop-filter:blur(20px) saturate(165%);backdrop-filter:blur(20px) saturate(165%)}.project-view .nexus-discovery-trigger b{padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.18);font-size:8px}.project-view .nexus-discovery-panel{display:none;margin-top:8px;padding:12px;border-radius:22px;border:1px solid rgba(255,255,255,.18);background:rgba(9,11,12,.46);box-shadow:0 18px 58px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.16);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%)}.project-view .nexus-discovery.is-open .nexus-discovery-panel{display:grid;gap:9px}.project-view .nexus-discovery input,.project-view .nexus-discovery select{width:100%;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.10);color:#fff;padding:0 10px;font:750 10px/1 var(--sans);outline:none}.project-view .nexus-discovery input::placeholder{color:rgba(255,255,255,.54)}.project-view .nexus-discovery select option{color:#111}.project-view .nexus-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.project-view .nexus-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-view .nexus-filter-count{font:800 9px/1.3 var(--sans);color:rgba(255,255,255,.72)}.project-view .nexus-filter-reset{height:30px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;font:850 8px/1 var(--sans);text-transform:uppercase;letter-spacing:.08em}.project-view .nexus-results{display:grid;gap:6px;max-height:230px;overflow:auto;padding-right:2px;scrollbar-color:rgba(255,255,255,.36) transparent}.project-view .nexus-result{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:14px;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.07);color:#fff;text-align:left}.project-view .nexus-result:hover{background:rgba(255,255,255,.14)}.project-view .nexus-result b{font-size:10px}.project-view .nexus-result small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:8px}.project-view .nexus-status-dot{width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 4px rgba(255,255,255,.08)}.project-view .nexus-filter-dim{opacity:.16!important;filter:saturate(.55)!important}.project-view .nexus-nav-stack{position:absolute;z-index:91;left:24px;bottom:92px;max-width:min(470px,calc(100vw - 48px));display:flex;align-items:center;gap:8px;padding:7px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(7,9,10,.20);color:#fff;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);box-shadow:0 12px 34px rgba(0,0,0,.16);opacity:0;transform:translateY(6px);pointer-events:none;transition:.24s ease}.project-view .nexus-nav-stack.is-visible{opacity:1;transform:none;pointer-events:auto}.project-view .nexus-nav-stack button{width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.12);color:#fff}.project-view .nexus-nav-stack span{font:800 8px/1.35 var(--sans);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-view .nexus-sales-tray{position:absolute;z-index:111;left:50%;bottom:20px;transform:translateX(-50%) translateY(12px);min-width:min(540px,calc(100vw - 34px));display:none;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:24px;border:1px solid rgba(255,255,255,.18);background:rgba(8,10,11,.44);color:#fff;box-shadow:0 22px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.16);-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);opacity:0;transition:.28s var(--ease)}.project-view .nexus-sales-tray.is-visible{display:grid;opacity:1;transform:translateX(-50%)}.project-view .nexus-sales-main{display:flex;gap:6px;align-items:center}.project-view .nexus-sales-main button,.project-view .nexus-sales-compare{height:32px;padding:0 10px;border-radius:999px;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.10);color:#fff;font:850 8px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}.project-view .nexus-sales-main button.is-active{background:rgba(255,255,255,.88);color:#111}.project-view .nexus-sales-copy{min-width:0}.project-view .nexus-sales-copy b{display:block;font:850 10px/1 var(--sans)}.project-view .nexus-sales-copy small{display:block;margin-top:3px;font:700 8px/1 var(--sans);color:rgba(255,255,255,.58);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.project-view .nexus-sales-compare:disabled{opacity:.42}.nexus-modal{position:fixed;inset:0;z-index:10000;display:none;place-items:center;padding:22px;background:rgba(5,6,6,.70);-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);color:#fff}.nexus-modal.is-open{display:grid}.nexus-modal-card{width:min(720px,calc(100vw - 28px));max-height:calc(100vh - 36px);overflow:auto;border-radius:30px;border:1px solid rgba(255,255,255,.18);background:rgba(17,19,20,.86);box-shadow:0 30px 90px rgba(0,0,0,.38);padding:18px}.nexus-modal-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.nexus-modal-head h3{margin:0;font:850 24px/1.05 var(--display);letter-spacing:-.04em}.nexus-modal-head p{margin:5px 0 0;color:rgba(255,255,255,.64);font:700 10px/1.45 var(--sans)}.nexus-modal-close{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.17);background:rgba(255,255,255,.10);color:#fff;font-size:21px}.nexus-qr-box{display:grid;place-items:center;gap:12px;padding:18px;border-radius:22px;background:rgba(255,255,255,.08)}.nexus-qr-box canvas,.nexus-qr-box img{width:220px;height:220px;border-radius:18px;background:#fff;padding:10px}.nexus-compare-table{width:100%;border-collapse:separate;border-spacing:0 6px;font:750 10px/1.3 var(--sans)}.nexus-compare-table th,.nexus-compare-table td{padding:9px;border-top:1px solid rgba(255,255,255,.10);border-bottom:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.07);text-align:left}.nexus-compare-table th:first-child,.nexus-compare-table td:first-child{border-radius:12px 0 0 12px}.nexus-compare-table th:last-child,.nexus-compare-table td:last-child{border-radius:0 12px 12px 0}.project-view .lot-commercial-actions.nexus-has-qr{grid-template-columns:repeat(4,minmax(0,1fr))}.project-view .lot-commercial-actions.nexus-has-qr a,.project-view .lot-commercial-actions.nexus-has-qr button{font-size:9px;padding:0 5px}
.nexus-model3d-side{position:absolute;right:14px;top:14px;bottom:14px;width:min(300px,calc(100vw - 44px));z-index:2;display:grid;grid-template-rows:auto 1fr;gap:8px;padding:12px;border-radius:22px;border:1px solid rgba(255,255,255,.14);background:rgba(9,11,12,.50);-webkit-backdrop-filter:blur(22px) saturate(155%);backdrop-filter:blur(22px) saturate(155%)}.nexus-model3d-side h4{margin:0;font:850 13px/1.1 var(--sans)}.nexus-model3d-side p{margin:4px 0 0;font:700 9px/1.4 var(--sans);color:rgba(255,255,255,.62)}.nexus-model3d-units{display:grid;gap:6px;overflow:auto}.nexus-model3d-unit{padding:8px 9px;border-radius:13px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.08);color:#fff;text-align:left}.nexus-model3d-unit b{font-size:9px}.nexus-model3d-unit small{display:block;margin-top:3px;font-size:7px;color:rgba(255,255,255,.56)}.nexus-model3d-unit.is-active{background:rgba(255,255,255,.88);color:#111}.nexus-model3d-unit.is-active small{color:rgba(0,0,0,.54)}
@media(max-width:900px){.project-view .nexus-discovery{left:10px;right:10px;top:auto;bottom:calc(var(--mobile-safe-bottom) + 164px);width:auto}.project-view .nexus-discovery-panel{max-height:52vh;overflow:auto}.project-view .nexus-nav-stack{display:none}.project-view .nexus-sales-tray{bottom:calc(var(--mobile-safe-bottom) + 8px);grid-template-columns:1fr;min-width:calc(100vw - 20px);border-radius:20px}.project-view .nexus-sales-main{display:grid;grid-template-columns:repeat(3,1fr)}.project-view .nexus-sales-main button{width:100%}.nexus-model3d-side{position:static;width:auto;max-height:220px;margin:10px}.nexus-model3d-stage{display:grid;grid-template-rows:minmax(320px,1fr) auto}}
/* Project media shortcuts. */
.v17-project-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.v17-project-actions button{min-height:44px;padding:10px;border:1px solid currentColor;border-radius:12px;background:transparent;color:inherit;font:700 12px var(--sans);cursor:pointer}
.v17-project-actions button:hover{background:#ffffff20}.v17-project-actions button:disabled{opacity:.45;cursor:default}.v17-project-actions button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
