
/* Virtual Tour Studio v50.20 — quality refinement and reliability closure.
   No new product subsystem is introduced here. This layer fixes visual
   inconsistency, misleading states, clipping and degraded fallbacks. */
:root{
  --v520-ink:#151820;
  --v520-muted:#667085;
  --v520-line:#dfe3ea;
  --v520-soft:#f5f6f8;
  --v520-panel:#fff;
  --v520-accent:#625cf2;
  --v520-accent-soft:#f0efff;
  --v520-success:#147a55;
  --v520-warning:#a66516;
  --v520-danger:#bc4141;
  --v520-shadow:0 18px 48px rgba(17,24,39,.07);
  --v520-shadow-strong:0 28px 78px rgba(17,24,39,.12);
}

/* Shared craft rules */
body.v520-quality-refinement :where(button,a,input,select,textarea):focus-visible{
  outline:3px solid rgba(98,92,242,.32)!important;
  outline-offset:2px!important;
}
body.v520-quality-refinement :where(button,a){-webkit-tap-highlight-color:transparent}
body.v520-quality-refinement :where(button,a,input,select,textarea){font-kerning:normal;text-rendering:optimizeLegibility}

/* Dashboard */
body.v47-dashboard.v520-quality-refinement .v47-content{padding-top:34px!important}
body.v47-dashboard.v520-quality-refinement .v47-page-head{margin-bottom:24px!important}
body.v47-dashboard.v520-quality-refinement .v47-page-head h1{color:var(--v520-ink)!important}
body.v47-dashboard.v520-quality-refinement .v508-dashboard-overview{
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.55fr)!important;
  gap:24px!important;
}
body.v47-dashboard.v520-quality-refinement .v47-continue{
  min-height:414px!important;
  border:1px solid rgba(255,255,255,.08)!important;
  border-radius:28px!important;
  box-shadow:0 22px 58px rgba(18,21,30,.12)!important;
}
body.v47-dashboard.v520-quality-refinement .v47-continue-copy{padding:38px 40px!important}
body.v47-dashboard.v520-quality-refinement .v47-continue-copy h2{
  max-width:620px!important;
  font-size:clamp(34px,3.1vw,48px)!important;
  line-height:1.02!important;
}
body.v47-dashboard.v520-quality-refinement .v47-continue-preview{
  min-height:414px!important;
  isolation:isolate!important;
  background-color:#252832!important;
}
body.v47-dashboard.v520-quality-refinement .v47-continue-preview>img{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  color:transparent!important;
}
body.v47-dashboard.v520-quality-refinement .v47-continue-preview>img:not([src]),
body.v47-dashboard.v520-quality-refinement .v47-continue-preview>img[src=""]{display:none!important}
body.v47-dashboard.v520-quality-refinement .v47-continue-preview::after{
  z-index:1!important;
  background:linear-gradient(90deg,rgba(17,19,24,.14),transparent 42%),linear-gradient(0deg,rgba(17,19,24,.38),transparent 54%)!important;
}
body.v47-dashboard.v520-quality-refinement .v508-workspace-card{
  min-height:414px!important;
  padding:26px!important;
  border:1px solid var(--v520-line)!important;
  background:linear-gradient(160deg,#fff,#fafaff)!important;
  box-shadow:var(--v520-shadow)!important;
}
body.v47-dashboard.v520-quality-refinement .v508-workspace-card h3{font-size:25px!important;line-height:1.12!important}
body.v47-dashboard.v520-quality-refinement .v508-workspace-steps>div{min-height:49px!important;border-radius:13px!important}
body.v47-dashboard.v520-quality-refinement #recentGrid.is-sparse .v47-thumb{
  min-height:270px!important;
  max-height:350px!important;
  aspect-ratio:16/7.2!important;
}
body.v47-dashboard.v520-quality-refinement #recentGrid.is-sparse .v47-card-copy{min-height:78px!important}
body.v47-dashboard.v520-quality-refinement #quickStartGrid>button{
  min-height:106px!important;
  border-color:#dfe2e8!important;
  border-radius:19px!important;
  box-shadow:0 8px 22px rgba(24,27,36,.035)!important;
}
body.v47-dashboard.v520-quality-refinement #quickStartGrid>button>span>b{font-size:14.5px!important}
body.v47-dashboard.v520-quality-refinement #quickStartGrid>button>span>small{font-size:11.75px!important}
body.v47-dashboard.v520-quality-refinement #scenarioGrid>.v47-empty{
  width:min(780px,100%)!important;
  min-height:320px!important;
  margin:14px auto 0!important;
  border:1px dashed #cfd4dd!important;
  border-radius:24px!important;
  background:linear-gradient(160deg,#fff,#fafaff)!important;
}
body.v47-dashboard.v520-quality-refinement #scenarioGrid>.v47-empty .v47-btn{min-height:44px!important}
body.v47-dashboard.v520-quality-refinement #analyticsGrid .v47-panel,
body.v47-dashboard.v520-quality-refinement #organizationGrid .v47-panel{
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
body.v47-dashboard.v520-quality-refinement #analyticsGrid .v47-panel:hover,
body.v47-dashboard.v520-quality-refinement #organizationGrid .v47-panel:hover{
  transform:translateY(-2px)!important;
  border-color:#d3d7e0!important;
  box-shadow:0 18px 42px rgba(24,28,40,.075)!important;
}
body.v47-dashboard.v520-quality-refinement .v47-create{
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:28px!important;
  box-shadow:0 34px 110px rgba(16,20,30,.25)!important;
}
body.v47-dashboard.v520-quality-refinement .v47-create>header{padding:27px 30px 20px!important}
body.v47-dashboard.v520-quality-refinement .v47-create-scroll{padding:0 30px 28px!important}
body.v47-dashboard.v520-quality-refinement .v47-create-type,
body.v47-dashboard.v520-quality-refinement .v47-source{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease!important;
}
body.v47-dashboard.v520-quality-refinement .v47-create-type:hover,
body.v47-dashboard.v520-quality-refinement .v47-source:hover{transform:translateY(-1px)!important;border-color:#cdd2dc!important}
body.v47-dashboard.v520-quality-refinement .v47-create>footer{padding:15px 30px 18px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(12px)!important}
body.v47-dashboard.v520-quality-refinement .v47-create>footer .v47-btn{min-height:44px!important}

/* Publish Center */
body.pc-body.v520-quality-refinement .pc-content{padding-top:34px!important}
body.pc-body.v520-quality-refinement .pc-hero{
  border-radius:26px!important;
  box-shadow:var(--v520-shadow)!important;
}
body.pc-body.v520-quality-refinement .pc-hero h1{max-width:760px!important;line-height:1.02!important}
body.pc-body.v520-quality-refinement .pc-release-card{
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!important;
  border-color:#d8dce5!important;
  background:linear-gradient(160deg,#eff1f5,#d9dce3)!important;
}
body.pc-body.v520-quality-refinement .pc-release-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-image:var(--v520-release-cover,none);
  background-size:cover;
  background-position:center;
  transform:scale(1.015);
}
body.pc-body.v520-quality-refinement .pc-release-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(13,17,26,.08),rgba(13,17,26,.76));
}
body.pc-body.v520-quality-refinement .pc-release-card :is(span,b,small,.v508-release-proof,.pc-status-pill){position:relative;z-index:1}
body.pc-body.v520-quality-refinement .pc-release-card :is(span,b,small){color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.25)!important}
body.pc-body.v520-quality-refinement .pc-release-card .v508-release-proof p{color:rgba(255,255,255,.72)!important}
body.pc-body.v520-quality-refinement .pc-release-card .v508-device-badge{
  border:1px solid rgba(255,255,255,.18)!important;
  background:rgba(12,16,24,.58)!important;
  color:#fff!important;
  backdrop-filter:blur(12px)!important;
}
body.pc-body.v520-quality-refinement .pc-gate{
  min-height:108px!important;
  border-radius:16px!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
body.pc-body.v520-quality-refinement .pc-gate:not(.v520-pending):hover{
  transform:translateY(-2px)!important;
  border-color:#d0d5df!important;
  box-shadow:0 15px 35px rgba(22,25,34,.07)!important;
}
body.pc-body.v520-quality-refinement .pc-gate.v520-pending{
  --value:0!important;
  background:linear-gradient(160deg,#fafbfc,#f4f5f7)!important;
  color:#8a909d!important;
  box-shadow:none!important;
}
body.pc-body.v520-quality-refinement .pc-gate.v520-pending b{color:#98a0ad!important}
body.pc-body.v520-quality-refinement .pc-gate.v520-pending i{background:#e4e7ec!important}
body.pc-body.v520-quality-refinement .v519-readiness-summary{border-radius:18px!important}
body.pc-body.v520-quality-refinement .pc-grid.two{align-items:stretch!important}
body.pc-body.v520-quality-refinement .pc-grid.two>.pc-card{min-height:100%!important}
body.pc-body.v520-quality-refinement .pc-card{border-radius:19px!important}
body.pc-body.v520-quality-refinement .pc-output-row{
  min-height:62px!important;
  padding:9px 12px!important;
  border-radius:14px!important;
}
body.pc-body.v520-quality-refinement .pc-output-row>div{min-width:0!important}
body.pc-body.v520-quality-refinement .pc-output-row :is(b,span,small){overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
body.pc-body.v520-quality-refinement .pc-output-row a{min-height:36px!important;display:inline-flex!important;align-items:center!important}
body.pc-body.v520-quality-refinement .pc-findings.v518-findings-empty{min-height:270px!important}
body.pc-body.v520-quality-refinement #pcStandaloneDownload[hidden]{display:none!important}

/* Studio */
body.v22-studio.v520-quality-refinement .inspector{
  width:390px!important;
  min-width:390px!important;
}
body.v22-studio.v520-quality-refinement .inspector .tab-panel{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
}
body.v22-studio.v520-quality-refinement .v515-route-hero,
body.v22-studio.v520-quality-refinement .v515-route-card,
body.v22-studio.v520-quality-refinement .form-section{
  border-radius:17px!important;
}
body.v22-studio.v520-quality-refinement .v515-route-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
body.v22-studio.v520-quality-refinement .v515-route-actions .btn{
  width:100%!important;
  min-height:44px!important;
  justify-content:space-between!important;
  overflow:visible!important;
}
body.v22-studio.v520-quality-refinement .v515-route-actions .btn span{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  text-align:left!important;
}
body.v22-studio.v520-quality-refinement .v515-simulator-button{min-height:44px!important}
body.v22-studio.v520-quality-refinement .v515-route-option{padding:13px 0!important}
body.v22-studio.v520-quality-refinement .v515-route-option b{line-height:1.3!important}
body.v22-studio.v520-quality-refinement .hotspot-item{border-color:#e1e4ea!important;background:#fff!important}
body.v22-studio.v520-quality-refinement .hotspot-item:hover{border-color:#cfd4de!important;background:#fafbff!important}
body.v22-studio.v520-quality-refinement .hotspot-item.active{border-color:#aaa5fb!important;box-shadow:0 0 0 3px rgba(98,92,242,.08)!important}
body.v22-studio.v520-quality-refinement #editExhibit,
body.v22-studio.v520-quality-refinement #v516EditAudioGuide{min-height:44px!important}
body.v22-studio.v520-quality-refinement .viewer.viewer-fallback{
  background-color:#111722!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
body.v22-studio.v520-quality-refinement .viewer.viewer-fallback .viewer-overlay{
  background:linear-gradient(180deg,rgba(4,8,16,.18),transparent 32%,rgba(4,8,16,.24))!important;
}
body.v22-studio.v520-quality-refinement .viewer.viewer-fallback .viewer-status{
  max-width:360px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:12px!important;
  background:rgba(12,16,24,.72)!important;
  color:#fff!important;
  backdrop-filter:blur(14px)!important;
}
body.v22-studio.v520-quality-refinement .scene-row b,
body.v22-studio.v520-quality-refinement .hotspot-item b{font-weight:740!important}

/* Public player */
body.v520-quality-refinement .viewer.viewer-fallback{
  background-color:#07101f!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:cover!important;
}
body.v520-quality-refinement .viewer.viewer-fallback .viewer-overlay{
  background:linear-gradient(180deg,rgba(3,7,15,.34),transparent 34%,rgba(3,7,15,.36))!important;
}
body.v520-quality-refinement .info-card,
body.v520-quality-refinement .interaction-public-card,
body.v520-quality-refinement .exhibit-public-card{border-radius:24px!important}
body.v520-quality-refinement .info-close,
body.v520-quality-refinement .exhibit-public-close{min-width:40px!important;min-height:40px!important}
body.v520-quality-refinement .hotspot-visibility-toggle{min-height:44px!important}
body.v520-quality-refinement .tour-actions button{min-width:40px!important;min-height:40px!important}

@media(max-width:1180px){
  body.v47-dashboard.v520-quality-refinement .v508-dashboard-overview{grid-template-columns:1fr!important}
  body.v47-dashboard.v520-quality-refinement .v508-workspace-card{min-height:auto!important}
  body.v22-studio.v520-quality-refinement .inspector{width:370px!important;min-width:370px!important}
}
@media(max-width:900px){
  body.v47-dashboard.v520-quality-refinement .v47-content{width:calc(100% - 24px)!important;padding-top:24px!important}
  body.v47-dashboard.v520-quality-refinement .v47-continue{min-height:0!important}
  body.v47-dashboard.v520-quality-refinement .v47-continue-preview{min-height:230px!important}
  body.v47-dashboard.v520-quality-refinement .v47-create{border-radius:22px 22px 0 0!important}
  body.v22-studio.v520-quality-refinement .inspector{width:min(390px,100vw)!important;min-width:0!important}
}
@media(max-width:620px){
  body.v47-dashboard.v520-quality-refinement .v47-content{width:calc(100% - 20px)!important}
  body.v47-dashboard.v520-quality-refinement .v47-continue-copy{padding:25px!important}
  body.v47-dashboard.v520-quality-refinement .v47-continue-copy h2{font-size:30px!important}
  body.v47-dashboard.v520-quality-refinement .v47-create>header{padding:20px 18px 14px!important}
  body.v47-dashboard.v520-quality-refinement .v47-create-scroll{padding:0 18px 18px!important}
  body.v47-dashboard.v520-quality-refinement .v47-create>footer{padding:12px 18px calc(14px + env(safe-area-inset-bottom))!important}
  body.pc-body.v520-quality-refinement .pc-hero{border-radius:22px!important}
  body.pc-body.v520-quality-refinement .pc-release-card{min-height:230px!important}
  body.pc-body.v520-quality-refinement .pc-output-row :is(span,small){white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical}
}
@media(prefers-reduced-motion:reduce){
  body.v520-quality-refinement *,body.v520-quality-refinement *::before,body.v520-quality-refinement *::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
