:root { --tour-primary: #009ed9; --tour-ink: #142333; --tour-soft: #eef8fc; }
.tour-standalone-page { width:100%; height:100%; margin:0; overflow:hidden; background:#0d1820; }
.tour-standalone-main,.tour-standalone-page .tour-shell,.tour-standalone-page .tour-stage { width:100%; height:100vh; height:100dvh; min-height:100vh; min-height:100dvh; margin:0; }
.tour-standalone-page .tour-stage { border-radius:0; box-shadow:none; }
.tour-shell { --tour-travel-duration:1250ms;--tour-arrival-duration:0ms;--tour-motion-duration:1490ms;--tour-travel-scale:1;--tour-horizon-y:50%;--tour-travel-shift-x:0%;--tour-travel-shift-y:0%;--tour-arrival-shift-x:0%;--tour-arrival-shift-y:0%; width: min(1200px, calc(100% - 32px)); margin: 32px auto; }
.tour-stage { position: relative; isolation:isolate; height: min(72vh, 720px); min-height: 430px; overflow: hidden; border-radius: 18px; background: #0d1820; box-shadow: 0 20px 55px rgba(10, 40, 55, .18); }
.tour-editor-canvas::after { content:""; position:absolute; z-index:6; inset:0; opacity:0; pointer-events:none; background:rgba(5,18,25,.1); transition:opacity .14s ease; }
.tour-editor-canvas.is-tour-travelling::after { opacity:1; }
.tour-editor-canvas.is-tour-arriving::after { opacity:0; }
.tour-panorama { width: 100%; height: 100%; }
.tour-panorama .pnlm-panorama-info { display:none!important; }
.tour-shell.is-tour-travelling .pnlm-load-box { display:none!important; }
.tour-scene-transition-stack{position:absolute;z-index:4;inset:0;overflow:hidden;pointer-events:none;backface-visibility:hidden}
.tour-scene-transition,.tour-scene-anchor{position:absolute;inset:0;width:100%;height:100%;opacity:1;transform:none;pointer-events:none;backface-visibility:hidden;will-change:opacity}
.tour-scene-anchor{z-index:1}
.tour-shell.is-tour-fading .tour-scene-transition{animation:tour-walk-source var(--tour-travel-duration) cubic-bezier(.35,0,.2,1) both}
.tour-shell.is-tour-fading .tour-scene-anchor{animation:tour-walk-anchor var(--tour-travel-duration) cubic-bezier(.4,0,.25,1) both}
.tour-walkthrough-layer{position:absolute;z-index:3;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;will-change:opacity}
@keyframes tour-walk-source{0%,10%{opacity:1}68%,100%{opacity:0}}
@keyframes tour-walk-anchor{0%,34%{opacity:.82}74%,100%{opacity:0}}
.tour-travel-motion{display:none}
.tour-shell.is-tour-travelling.is-tour-hotspot-travel .tour-travel-motion{animation:tour-motion-envelope var(--tour-motion-duration) cubic-bezier(.2,.7,.2,1) both}.tour-shell.is-tour-travelling.is-tour-hotspot-travel .tour-travel-motion i:first-child{animation:tour-motion-ring var(--tour-motion-duration) cubic-bezier(.18,.7,.2,1) both}.tour-shell.is-tour-travelling.is-tour-hotspot-travel .tour-travel-motion i:last-child{animation:tour-motion-rays var(--tour-motion-duration) ease-out both}.tour-shell.is-tour-spatial-travel .tour-travel-motion{background:radial-gradient(circle at center,transparent 0 22%,rgba(0,158,217,.025) 42%,rgba(4,14,20,.28) 88%,rgba(4,14,20,.5) 100%)}.tour-shell.is-tour-vertical-travel .tour-travel-motion{transform:translateY(var(--tour-travel-shift-y)) scale(.92)}
@keyframes tour-motion-envelope{0%,8%{opacity:0;transform:scale(.92)}42%{opacity:.38}70%{opacity:.18;transform:scale(1.08)}100%{opacity:0;transform:scale(1.16)}}
@keyframes tour-motion-ring{0%,18%{opacity:0;transform:scale(.45)}48%{opacity:.65}100%{opacity:0;transform:scale(2.7)}}
@keyframes tour-motion-rays{0%,25%{opacity:0;transform:scale(.7) rotate(0)}55%{opacity:.42}100%{opacity:0;transform:scale(1.8) rotate(2deg)}}
.tour-stage-shade { position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(4,13,20,.56) 0,transparent 22%,transparent 60%,rgba(4,13,20,.82) 100%); }
.tour-overlay-header { position:absolute; z-index:7; top:24px; left:28px; max-width:min(520px,60%); color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.62); pointer-events:none; }
.tour-overlay-heading { display:grid; gap:4px; }.tour-overlay-heading strong { font-size:clamp(18px,2vw,28px); line-height:1.1; }.tour-overlay-heading span { opacity:.86; font-size:13px; }
.tour-overlay-controls { position:absolute; z-index:8; top:20px; right:22px; display:flex; gap:7px; }
.tour-zoom-feedback { --zoom-progress:0deg; position:absolute; z-index:10; top:50%; left:50%; display:grid; width:58px; height:58px; place-items:center; border-radius:50%; opacity:0; transform:translate(-50%,-50%) scale(.88); color:#fff; background:conic-gradient(var(--tour-primary) 0 var(--zoom-progress),rgba(255,255,255,.24) var(--zoom-progress) 360deg); box-shadow:0 8px 25px rgba(0,0,0,.22); pointer-events:none; transition:opacity .18s ease,transform .18s ease; }.tour-zoom-feedback::before { content:""; position:absolute; inset:3px; border-radius:50%; background:rgba(24,31,35,.58); backdrop-filter:blur(8px); }.tour-zoom-feedback span { position:relative; z-index:1; font-size:13px; font-weight:700; letter-spacing:-.02em; }.tour-zoom-feedback.is-visible { opacity:1; transform:translate(-50%,-50%) scale(1); }
.tour-control { display:grid; place-items:center; width:42px; height:42px; padding:0; border:1px solid rgba(255,255,255,.52); border-radius:50%; color:#fff; background:rgba(8,22,30,.45); box-shadow:0 6px 18px rgba(0,0,0,.16); backdrop-filter:blur(9px); font:600 22px/1 inherit; cursor:pointer; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.tour-control:hover { border-color:#fff; background:var(--tour-primary); transform:translateY(-1px); }.tour-fullscreen-close { display:none; font-size:28px; }.tour-shell.is-expanded .tour-fullscreen-open { display:none; }.tour-shell.is-expanded .tour-fullscreen-close { display:inline; }
.tour-scene-rail { position:absolute; z-index:7; right:0; bottom:0; left:0; overflow:hidden; padding:12px 26px 20px; background:linear-gradient(180deg,transparent 0,rgba(7,17,23,.28) 22%,rgba(7,17,23,.68) 100%); pointer-events:none; }
.tour-floor-tabs { display:flex; align-items:center; gap:22px; min-height:28px; margin:0 0 8px; pointer-events:auto; }
.tour-floor-tab { position:relative; padding:2px 0 7px; border:0; color:rgba(255,255,255,.62); background:transparent; font:700 15px/1 inherit; text-shadow:0 1px 5px rgba(0,0,0,.48); cursor:pointer; transition:color .18s ease; }
.tour-floor-tab::after { content:""; position:absolute; right:0; bottom:0; left:0; height:2px; border-radius:2px; opacity:0; background:#fff; transform:scaleX(.55); transition:opacity .18s ease,transform .18s ease; }
.tour-floor-tab:hover,.tour-floor-tab:focus-visible,.tour-floor-tab.is-active { color:#fff; outline:0; }.tour-floor-tab.is-active::after { opacity:1; transform:scaleX(1); }
.tour-thumbs { display:flex; justify-content:flex-start; gap:12px; overflow-x:auto; padding:4px 2px 4px; scrollbar-width:none; pointer-events:auto; scroll-snap-type:x proximity; overscroll-behavior-x:contain; touch-action:pan-x; cursor:grab; user-select:none; -webkit-overflow-scrolling:touch; }.tour-thumbs.is-dragging { cursor:grabbing; scroll-snap-type:none; }.tour-thumbs::-webkit-scrollbar { display:none; }
.tour-floor-separator { flex:0 0 1px; align-self:center; height:64px; margin:0 3px; border-radius:1px; background:rgba(255,255,255,.5); box-shadow:0 1px 5px rgba(0,0,0,.2); pointer-events:none; }
.tour-thumbs-end-spacer { flex:0 0 0; width:0; min-width:0; height:1px; pointer-events:none; }
.tour-load-error { margin:12px 0 0; padding:11px 14px; border-radius:8px; background:#fff0f0; color:#a32323; }
.tour-thumb { position:relative; flex:0 0 126px; height:82px; padding:0; overflow:hidden; border:1px solid rgba(255,255,255,.3); border-radius:4px; background:#142333; box-shadow:0 5px 16px rgba(0,0,0,.2); color:#fff; cursor:pointer; text-align:left; scroll-snap-align:start; transition:border-color .18s ease,transform .18s ease,opacity .18s ease; opacity:.88; }
.tour-thumb:hover,.tour-thumb:focus-visible { border-color:var(--tour-primary); box-shadow:0 0 0 1px var(--tour-primary),0 7px 18px rgba(0,0,0,.25); opacity:1; transform:translateY(-2px); }.tour-thumb:focus-visible { outline:2px solid var(--tour-primary); outline-offset:2px; }
.tour-thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.tour-thumb span { position:absolute; right:0; bottom:0; left:0; display:block; padding:22px 8px 7px; overflow:hidden; background:linear-gradient(transparent,rgba(4,12,18,.86)); color:#fff; font-size:11px; font-weight:700; text-overflow:ellipsis; text-shadow:0 1px 4px rgba(0,0,0,.8); white-space:nowrap; }
.tour-property-link { width:auto; min-width:88px; padding:0 14px; border-radius:10px; color:#fff; font-size:13px; font-weight:700; text-decoration:none; white-space:nowrap; }
.tour-property-link:hover,.tour-property-link:focus-visible { border-color:var(--tour-primary); background:var(--tour-primary); color:#fff; }
.tour-share svg { width:19px; height:19px; fill:currentColor; }
.tour-share-feedback { position:absolute; top:calc(100% + 9px); right:48px; padding:7px 10px; border-radius:7px; background:rgba(8,24,36,.9); color:#fff; font-size:12px; font-weight:600; opacity:0; pointer-events:none; transform:translateY(-4px); transition:opacity .18s ease,transform .18s ease; white-space:nowrap; }
.tour-share-feedback.is-visible { opacity:1; transform:translateY(0); }
.tour-branding { position:absolute; z-index:7; bottom:158px; left:28px; width:170px; opacity:.82; pointer-events:none; filter:drop-shadow(0 2px 9px rgba(0,0,0,.5)); }.tour-branding img { display:block; width:100%; height:auto; }
.tour-contact-cta { position:absolute; z-index:8; right:28px; bottom:158px; display:flex; align-items:center; gap:10px; min-height:48px; padding:7px 13px 7px 8px; border:1px solid rgba(255,255,255,.5); border-radius:12px; color:#fff; background:rgba(8,22,30,.56); box-shadow:0 7px 22px rgba(0,0,0,.2); backdrop-filter:blur(10px); text-decoration:none; transition:border-color .18s ease,background .18s ease,transform .18s ease; }
.tour-contact-cta:hover,.tour-contact-cta:focus-visible { border-color:#23d466; color:#fff; background:rgba(13,79,48,.82); outline:0; transform:translateY(-2px); }
.tour-contact-icon { display:grid; flex:0 0 34px; width:34px; height:34px; place-items:center; border-radius:9px; color:#fff; background:#23d466; }.tour-contact-icon i { display:block; font-size:25px; line-height:1; }
.tour-contact-copy { display:grid; gap:1px; line-height:1.05; }.tour-contact-copy small { color:rgba(255,255,255,.78); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }.tour-contact-copy strong { color:#fff; font-size:13px; font-weight:700; white-space:nowrap; }
.tour-stage:fullscreen,.tour-shell.is-simulated-fullscreen .tour-stage { width:100vw; height:100vh; min-height:100vh; border-radius:0; box-shadow:none; }
.tour-shell.is-simulated-fullscreen { position:fixed; z-index:2147483000; inset:0; width:100%; margin:0; }.has-tour-overlay { overflow:hidden; }
.tour-stage:fullscreen .tour-scene-rail,.tour-shell.is-expanded .tour-scene-rail { right:0; bottom:0; left:0; padding-right:34px; padding-bottom:25px; padding-left:34px; }.tour-stage:fullscreen .tour-thumb,.tour-shell.is-expanded .tour-thumb { flex-basis:126px; height:82px; }
.pnlm-hotspot-base.tour-hotspot { width:56px; height:34px; border-radius:50%; background:transparent; box-shadow:none; cursor:pointer; }
.pnlm-hotspot-base.tour-hotspot::before,.pnlm-hotspot-base.tour-hotspot::after,.tour-hotspot-drag-ghost::before,.tour-hotspot-drag-ghost::after { position:absolute; left:50%; top:50%; box-sizing:border-box; pointer-events:none; }
.pnlm-hotspot-base.tour-hotspot::before,.tour-hotspot-drag-ghost::before { content:""; width:50px; height:25px; border:3px solid rgba(255,255,255,.94); border-radius:50%; transform:translate(-50%,-50%) perspective(60px) rotateX(58deg); background:rgba(0,158,217,.2); box-shadow:0 0 0 3px rgba(0,158,217,.48),0 4px 15px rgba(0,0,0,.3),inset 0 0 12px rgba(255,255,255,.55); }
.pnlm-hotspot-base.tour-hotspot::after,.tour-hotspot-drag-ghost::after { display:grid; place-items:center; width:28px; height:28px; transform:translate(-50%,-50%); color:#fff; text-shadow:0 1px 4px rgba(0,0,0,.55); font-size:21px; font-weight:900; }
.pnlm-hotspot-base.tour-hotspot.hotspot-style-floor::after,.tour-hotspot-drag-ghost.hotspot-style-floor::after { content:""; width:14px; height:14px; border:3px solid #fff; border-radius:50%; background:rgba(0,158,217,.72); }
.pnlm-hotspot-base.tour-hotspot.hotspot-style-arrow::after,.tour-hotspot-drag-ghost.hotspot-style-arrow::after { content:"➜"; }
.pnlm-hotspot-base.tour-hotspot.hotspot-style-footprints::after,.tour-hotspot-drag-ghost.hotspot-style-footprints::after { content:"••"; letter-spacing:4px; transform:translate(-50%,-50%) rotate(-25deg); }
.pnlm-hotspot-base.tour-hotspot.hotspot-style-drone::after,.tour-hotspot-drag-ghost.hotspot-style-drone::after { content:"✣"; font-size:24px; }
.tour-hotspot-label { position:absolute; z-index:3; left:50%; bottom:38px; max-width:190px; padding:6px 9px; overflow:hidden; border-radius:7px; opacity:0; transform:translate(-50%,5px); color:#fff; background:rgba(10,31,42,.88); box-shadow:0 5px 16px rgba(0,0,0,.24); font-size:11px; font-weight:700; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; transition:opacity .16s ease,transform .16s ease; }
.pnlm-hotspot-base.tour-hotspot:hover .tour-hotspot-label,.pnlm-hotspot-base.tour-hotspot.is-selected .tour-hotspot-label { opacity:1; transform:translate(-50%,0); }
.tour-admin-body { margin: 0; background: #edf6fa; color: var(--tour-ink); font-family: Quicksand, sans-serif; }
.tour-admin-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px max(24px, calc((100% - 1200px)/2)); background:#fff; box-shadow:0 4px 20px rgba(0,0,0,.08); }
.tour-admin-main { width:min(1200px, calc(100% - 32px)); margin:28px auto 60px; }
.tour-admin-editor-body { background:#eaf1f4; }
.tour-admin-editor-body .tour-admin-main { width:100%; margin:0; }
.tour-admin-editor-body .tour-admin-header { width:100%; padding-right:18px; padding-left:18px; }
.tour-editor-toolbar { position:sticky; z-index:100; top:0; min-height:76px; box-sizing:border-box; padding-top:11px; padding-bottom:11px; }
.tour-editor-toolbar-identity { display:flex; align-items:center; min-width:0; gap:13px; }
.tour-editor-toolbar-back { display:grid; flex:0 0 42px; place-items:center; width:42px; height:42px; border:1px solid #b9dce9; border-radius:11px; color:var(--tour-primary); background:#fff; font-size:23px; line-height:1; text-decoration:none; transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease; }
.tour-editor-toolbar-back:hover { border-color:var(--tour-primary); color:#fff; background:var(--tour-primary); transform:translateX(-2px); text-decoration:none; }
.tour-editor-toolbar-title { min-width:0; }.tour-editor-toolbar-title h1 { margin:0; overflow:hidden; color:var(--tour-ink); font-size:clamp(18px,1.45vw,25px); line-height:1.15; text-overflow:ellipsis; white-space:nowrap; }.tour-editor-toolbar-title h1 small { color:var(--tour-primary); font-size:.7em; font-weight:800; }
.tour-editor-toolbar-meta { display:flex; align-items:center; min-width:0; gap:12px; margin-top:4px; font-size:11px; }.tour-editor-toolbar-meta>a { flex:0 0 auto; color:var(--tour-primary); font-weight:700; }.tour-editor-toolbar-meta .tour-status { min-height:0; margin:0; overflow:hidden; color:#617985; text-overflow:ellipsis; white-space:nowrap; }
.tour-editor-toolbar-actions { flex:0 0 auto; flex-wrap:nowrap; justify-content:flex-end; margin-left:auto; }.tour-editor-toolbar-actions .tour-button { padding:9px 13px; font-size:12px; white-space:nowrap; }
.tour-editor-toolbar-actions .tour-button.has-pending-review{border-color:#e5a323;color:#8b5b00;background:#fff8e8;box-shadow:0 0 0 3px rgba(229,163,35,.12)}
.tour-admin-card { padding:22px; border-radius:16px; background:#fff; box-shadow:0 10px 32px rgba(20,60,80,.1); margin-bottom:20px; }
.tour-admin-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.tour-admin-card input,.tour-admin-card select { min-height:44px; padding:0 12px; border:1px solid #c7dce6; border-radius:9px; font:inherit; }
.tour-admin-card input[type="text"] { flex:1; min-width:220px; }
.tour-button { border:1px solid var(--tour-primary); border-radius:9px; padding:11px 18px; background:var(--tour-primary); color:#fff; font:600 15px inherit; cursor:pointer; }
.tour-button.secondary { background:#fff; color:var(--tour-primary); }.tour-button.danger { border-color:#c73c3c; background:#c73c3c; }
.tour-button:disabled { opacity:.55; cursor:not-allowed; }
.tour-status { min-height:24px; margin:10px 0; color:#44606e; }.tour-status.is-error { color:#b12626; }
.tour-upload-progress { width:100%; height:8px; accent-color:var(--tour-primary); }
.tour-library-card { padding:0; overflow:hidden; }
.tour-library-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px 18px; border-bottom:1px solid #e1edf2; }
.tour-library-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.tour-library-heading #tour-stats{margin:10px 0 0;font-size:12px}
.tour-library-heading h2 { margin:2px 0 4px; font-size:24px; }.tour-library-heading p { margin:0; color:#607985; }
.tour-library-eyebrow { color:var(--tour-primary)!important; font-size:10px; font-weight:800; letter-spacing:.13em; }
.tour-library { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:16px; padding:20px 24px 24px; }
.tour-library-item { position:relative; min-width:0; overflow:hidden; border:1px solid #d5e4eb; border-radius:14px; background:#fff; box-shadow:0 7px 22px rgba(21,65,83,.08); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.tour-library-item:hover { border-color:#78cce9; transform:translateY(-3px); box-shadow:0 13px 30px rgba(18,92,121,.15); }
.tour-library-cover { position:relative; display:block; width:100%; height:145px; padding:0; overflow:hidden; border:0; background:linear-gradient(145deg,#dff3fa,#b9e4f3); cursor:pointer; }
.tour-library-cover img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.tour-library-item:hover .tour-library-cover img { transform:scale(1.035); }
.tour-library-cover.is-empty::after { content:"360\00b0"; position:absolute; inset:0; display:grid; place-items:center; color:#55badd; font-size:38px; font-weight:800; }
.tour-library-state { position:absolute; top:10px; right:10px; padding:6px 9px; border-radius:999px; color:#526975; background:rgba(255,255,255,.92); font-size:10px; font-weight:800; box-shadow:0 4px 12px rgba(0,0,0,.12); backdrop-filter:blur(5px); }
.tour-library-state.is-published { color:#087aa4; }.tour-library-state.is-draft { color:#8a5d09; }
.tour-library-property-states{display:grid;gap:5px;margin-top:10px}.tour-library-property-state-row{display:flex;align-items:center;gap:7px;color:#6c828d;font-size:10px}.tour-property-state{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.tour-property-state.is-available{color:#087a50;background:#dff7ec}.tour-property-state.is-reserved{color:#8b6200;background:#fff1c7}.tour-property-state.is-sold{color:#87502c;background:#f7e6d9}.tour-property-state.is-rented{color:#596373;background:#e8edf1}.tour-property-state.is-unknown{color:#66737b;background:#edf1f3}
.tour-library-body { padding:14px; }.tour-library-code { display:block; margin-bottom:5px; color:var(--tour-primary); font-size:11px; font-weight:800; letter-spacing:.08em; }
.tour-library-title { display:block; overflow:hidden; min-height:42px; color:var(--tour-ink); font-size:16px; line-height:1.3; }.tour-library-meta { margin:8px 0 12px; color:#6f8590; font-size:12px; }
.tour-library-actions { display:grid; grid-template-columns:1fr auto; gap:8px; }.tour-library-actions .tour-button { padding:9px 12px; font-size:12px; text-align:center; text-decoration:none; }
.tour-library-item.is-processing { transform:none; border-color:#8bd3ed; }
.tour-library-item.has-process-error { border-color:#e4a6a6; }
.tour-library-cover:disabled { cursor:wait; }
.tour-library-cover:disabled img { filter:saturate(.72) brightness(.86); }
.tour-library-process { display:grid; gap:8px; margin:0 0 12px; padding:10px 11px; border:1px solid #cce8f2; border-radius:10px; background:#f1faff; }
.tour-library-process[hidden] { display:none; }
.tour-library-process-copy { display:grid; gap:2px; min-width:0; }
.tour-library-process strong { color:#087fa9; font-size:12px; }
.tour-library-process output { color:#087fa9; font-size:11px; font-weight:700; }
.tour-library-process span { overflow:hidden; color:#617b87; font-size:10px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.tour-library-progress-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; }
.tour-library-process progress { display:block; width:100%; height:6px; overflow:hidden; border:0; border-radius:999px; accent-color:var(--tour-primary); }
.tour-library-process.is-live progress::-webkit-progress-value { background:linear-gradient(90deg,var(--tour-primary) 0%,#61d2f5 48%,var(--tour-primary) 100%); background-size:32px 100%; animation:tour-progress-pulse .9s linear infinite; }
@keyframes tour-progress-pulse { to { background-position:32px 0; } }
.tour-library-process.is-error { border-color:#efc5c5; background:#fff6f6; }
.tour-library-process.is-error strong { color:#b32f2f; }
.tour-library-actions .tour-button:disabled { cursor:wait; opacity:.58; }
.tour-library-item.is-processing .tour-library-actions { grid-template-columns:1fr; }
.tour-library-item.has-process-error .tour-library-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tour-library-empty,.tour-library-error { grid-column:1/-1; padding:34px 20px; border:1px dashed #c9dce5; border-radius:13px; color:#687e89; background:#f8fbfc; text-align:center; }.tour-library-error { color:#a52c2c; border-color:#e8b8b8; background:#fff7f7; }
.tour-library-loading { display:contents; }.tour-library-loading span { min-height:240px; border-radius:14px; background:linear-gradient(100deg,#edf4f7 25%,#f8fbfc 40%,#edf4f7 55%); background-size:250% 100%; animation:tour-library-shimmer 1.2s infinite linear; }@keyframes tour-library-shimmer{to{background-position-x:-250%}}
.tour-selected-previews { display:flex; gap:6px; justify-content:flex-start; overflow-x:auto; margin-top:14px; padding:2px 2px 10px; scrollbar-width:thin; }
.tour-selected-previews:empty { display:none; }
.tour-selected-preview { position:relative; flex:0 0 150px; overflow:hidden; border:2px solid transparent; border-radius:10px; background:#edf5f8; transition:border-color .2s ease, opacity .2s ease; }
.tour-selected-preview img { display:block; width:100%; height:82px; object-fit:cover; }
.tour-selected-preview span { display:block; padding:7px 8px; overflow:hidden; color:#334d5a; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.tour-selected-preview.is-processing { border-color:var(--tour-primary); }
.tour-selected-preview.is-uploaded { opacity:.48; }
.tour-selected-preview.is-error { border-color:#c73c3c; }
.tour-scenes { display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:14px; margin-top:16px; }
.tour-scene-card { border:1px solid #d4e4eb; border-radius:12px; overflow:hidden; background:#fafdff; }
.tour-scene-card img { width:100%; height:125px; object-fit:cover; display:block; }.tour-scene-card .body { padding:12px; }
.tour-scene-actions { display:flex; gap:7px; margin-top:10px; flex-wrap:wrap; }.tour-scene-actions button { padding:6px 9px; }
.tour-hotspots { display:grid; gap:8px; margin-top:10px; }
.tour-connection-editor { overflow:hidden; margin:0; border:0; border-radius:0; background:#fff; box-shadow:none; }
.tour-editor-eyebrow { color:var(--tour-primary)!important; font-size:11px; font-weight:800; letter-spacing:.12em; }
.tour-editor-save-state { padding:6px 9px; border-radius:999px; color:#58717d; background:#edf4f7; font-size:12px; font-weight:700; }
.tour-editor-save-state.is-dirty { color:#8a5b00; background:#fff3cf; }.tour-editor-save-state.is-saved { color:#18714a; background:#e1f6ec; }
.tour-editor-close { display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; color:#49616c; background:#edf4f7; font-size:25px; cursor:pointer; }
.tour-editor-close:hover { color:#fff; background:#364e59; }
.tour-editor-workspace { display:grid; grid-template-columns:230px minmax(460px,1fr) 420px; min-height:610px; }
.tour-editor-scenes-panel,.tour-editor-inspector { min-width:0; background:#f8fbfc; }
.tour-editor-scenes-panel { border-right:1px solid #dce9ee; }.tour-editor-inspector { padding:16px; border-left:1px solid #dce9ee; }
.tour-editor-panel-title { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:45px; margin-bottom:10px; }
.tour-editor-scenes-panel .tour-editor-panel-title { padding:12px 14px 0; }.tour-editor-scenes-panel .tour-editor-panel-title>div { display:grid; gap:2px; }.tour-editor-scenes-panel .tour-editor-panel-title small { color:#79909a; font-size:9px; font-weight:600; }.tour-editor-panel-title span,.tour-editor-list-heading span { display:grid; place-items:center; min-width:24px; height:24px; border-radius:999px; color:#506873; background:#e4eef2; font-size:12px; font-weight:700; }
.tour-editor-panel-title small { display:block; margin-bottom:3px; color:#82959e; font-size:9px; font-weight:800; letter-spacing:.1em; }.tour-editor-panel-title strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tour-editor-scenes { display:grid; gap:5px; max-height:555px; overflow-y:auto; padding:0 8px 12px; scrollbar-width:thin; }
.tour-editor-scene { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr) 14px; align-items:center; gap:9px; width:100%; padding:7px; border:1px solid transparent; border-radius:10px; color:var(--tour-ink); background:transparent; text-align:left; cursor:grab; transition:opacity .15s ease,transform .15s ease,background .15s ease; }
.tour-editor-scene:hover { background:#edf6fa; }.tour-editor-scene:active { cursor:grabbing; }.tour-editor-scene.is-active { border-color:#83d1ed; background:#e5f7fd; box-shadow:inset 3px 0 var(--tour-primary); }.tour-editor-scene.is-dragging { opacity:.38; }.tour-editor-scene.is-drop-before::before,.tour-editor-scene.is-drop-after::after { content:""; position:absolute; z-index:4; right:5px; left:5px; height:3px; border-radius:999px; background:var(--tour-primary); box-shadow:0 0 0 3px rgba(0,158,217,.14); }.tour-editor-scene.is-drop-before::before { top:-4px; }.tour-editor-scene.is-drop-after::after { bottom:-4px; }
.tour-editor-scene img { width:58px; height:43px; border-radius:7px; object-fit:cover; }.tour-editor-scene strong,.tour-editor-scene small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tour-editor-scene strong { font-size:12px; }.tour-editor-scene small { margin-top:4px; color:#748993; font-size:10px; }
.tour-editor-scene-handle { color:#91a5ae; font-size:13px; font-weight:900; letter-spacing:-3px; writing-mode:vertical-rl; pointer-events:none; }.tour-editor-scene:hover .tour-editor-scene-handle,.tour-editor-scene.is-active .tour-editor-scene-handle { color:var(--tour-primary); }
.tour-editor-canvas { position:relative; min-width:0; padding:14px; background:#eaf1f4; }
.tour-editor-stage { height:540px; min-height:0; border-radius:13px; box-shadow:0 8px 25px rgba(11,39,52,.15); }
.tour-editor-canvas.is-placement-mode .tour-editor-stage { box-shadow:0 0 0 3px var(--tour-primary),0 8px 25px rgba(11,39,52,.15); }.tour-editor-canvas.is-placement-mode .pnlm-render-container { cursor:crosshair!important; }
.tour-editor-mode-banner { position:absolute; z-index:12; top:28px; left:50%; display:flex; align-items:center; gap:10px; width:min(520px,calc(100% - 55px)); padding:10px 12px; border-radius:12px; transform:translateX(-50%); color:#fff; background:rgba(10,33,44,.9); box-shadow:0 8px 28px rgba(0,0,0,.25); backdrop-filter:blur(9px); }
.tour-editor-mode-banner[hidden] { display:none; }
.tour-editor-mode-icon { display:grid; place-items:center; flex:0 0 34px; height:34px; border-radius:50%; background:var(--tour-primary); font-size:21px; }.tour-editor-mode-banner div { min-width:0; flex:1; }.tour-editor-mode-banner strong,.tour-editor-mode-banner small { display:block; }.tour-editor-mode-banner small { margin-top:2px; color:#d7e6ec; }
.tour-editor-mode-banner button { border:0; color:#fff; background:transparent; cursor:pointer; }.tour-editor-mode-banner kbd { margin-left:4px; padding:2px 5px; border:1px solid #7a929d; border-radius:4px; color:#fff; background:#354b55; }
.tour-editor-help { display:flex; justify-content:center; gap:18px; padding:10px 4px 0; color:#657c87; font-size:10px; }.tour-editor-help span::before { content:"•"; margin-right:5px; color:var(--tour-primary); }
.tour-editor-empty { padding:28px 12px; text-align:center; color:#647b86; }.tour-editor-empty-icon { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 12px; border-radius:50%; color:var(--tour-primary); background:#dff4fc; font-size:25px; }.tour-editor-empty p { margin:8px 0 0; font-size:12px; line-height:1.5; }
.tour-hotspot-editor { padding:13px; border:1px solid #bfe3f0; border-radius:12px; background:#fff; box-shadow:0 8px 25px rgba(20,80,105,.08); }.tour-hotspot-editor-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }.tour-hotspot-editor-heading button { border:0; color:#647b86; background:transparent; font-size:20px; cursor:pointer; }
.tour-hotspot-editor label { display:block; margin-top:10px; color:#536a75; font-size:11px; font-weight:700; }.tour-hotspot-editor input,.tour-hotspot-editor select { box-sizing:border-box; width:100%; min-height:42px; margin-top:5px; padding:0 10px; border:1px solid #c8dce5; border-radius:8px; color:var(--tour-ink); background:#fff; font:inherit; font-size:13px; }
.tour-hotspot-target-preview { display:grid; grid-template-columns:68px minmax(0,1fr); align-items:center; gap:10px; margin-top:10px; padding:8px; border:1px solid #d5e5eb; border-radius:10px; background:#f5fafc; }.tour-hotspot-target-preview[hidden] { display:none; }.tour-hotspot-target-preview img { width:68px; height:48px; border-radius:7px; object-fit:cover; background:#dfecef; }.tour-hotspot-target-preview div { min-width:0; }.tour-hotspot-target-preview small,.tour-hotspot-target-preview strong,.tour-hotspot-target-preview span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tour-hotspot-target-preview small { color:var(--tour-primary); font-size:9px; font-weight:800; letter-spacing:.1em; }.tour-hotspot-target-preview strong { margin-top:2px; color:var(--tour-ink); font-size:12px; }.tour-hotspot-target-preview span { margin-top:3px; color:#6f858f; font-size:10px; }
.tour-hotspot-editor .tour-hotspot-return-option { display:flex; align-items:flex-start; gap:9px; margin-top:11px; padding:10px; border:1px solid #bfe3f0; border-radius:10px; background:#edf9fd; cursor:pointer; }.tour-hotspot-editor .tour-hotspot-return-option[hidden] { display:none; }.tour-hotspot-return-option input { flex:0 0 17px; width:17px; min-height:17px; height:17px; margin:1px 0 0; accent-color:var(--tour-primary); }.tour-hotspot-return-option span { min-width:0; }.tour-hotspot-return-option strong,.tour-hotspot-return-option small { display:block; }.tour-hotspot-return-option strong { color:var(--tour-ink); font-size:11px; }.tour-hotspot-return-option small { margin-top:3px; color:#617985; font-size:10px; font-weight:400; line-height:1.35; }
.tour-hotspot-position { margin-top:9px; color:#82959e; font-size:10px; }.tour-hotspot-editor-actions { display:grid; grid-template-columns:1fr; gap:7px; margin-top:13px; }.tour-hotspot-editor-actions .tour-button { width:100%; padding:9px 8px; font-size:12px; }
.tour-button.ghost-danger { border-color:transparent; color:#b82f2f; background:#fff0f0; }.tour-button.ghost-danger:hover { color:#fff; background:#b82f2f; }
.tour-editor-list-heading { display:grid; gap:8px; margin-top:18px; color:#4e6570; font-size:12px; }.tour-editor-list-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }.tour-editor-add-connection { width:100%; padding:9px 11px; font-size:12px; }
.tour-scene-settings { padding:13px; border:1px solid #d6e6ec; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(20,80,105,.06); }
.tour-scene-settings .tour-editor-panel-title { margin-bottom:12px; }
.tour-scene-settings>label { display:block; margin-top:10px; color:#536a75; font-size:11px; font-weight:700; }
.tour-scene-settings>label>input[type="text"],.tour-scene-settings>label>select { box-sizing:border-box; width:100%; min-height:42px; margin-top:5px; padding:0 10px; border:1px solid #c8dce5; border-radius:8px; color:var(--tour-ink); background:#fff; font:inherit; font-size:13px; }
.tour-scene-space-field { margin-top:10px; }.tour-scene-space-field>label { color:#536a75; font-size:11px; font-weight:700; }.tour-scene-space-row { display:grid; grid-template-columns:minmax(0,1fr) 42px 42px; gap:7px; margin-top:5px; }.tour-scene-space-row select { box-sizing:border-box; width:100%; min-height:42px; padding:0 9px; border:1px solid #c8dce5; border-radius:8px; color:var(--tour-ink); background:#fff; font:inherit; font-size:13px; }.tour-scene-space-action { display:grid; width:42px; height:42px; padding:0; place-items:center; border:1px solid var(--tour-primary); border-radius:9px; color:#fff; background:var(--tour-primary); font:700 20px inherit; cursor:pointer; transition:color .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease; }.tour-scene-space-action:hover { border-color:#0088bb; background:#0088bb; box-shadow:0 5px 12px rgba(0,158,217,.2); }.tour-scene-space-action.secondary { color:var(--tour-primary); background:#fff; }.tour-scene-space-action.secondary:hover { color:#fff; background:var(--tour-primary); }.tour-scene-space-action:disabled { color:#a6b5bc; border-color:#d9e4e8; background:#f3f7f8; box-shadow:none; cursor:not-allowed; }.tour-scene-space-action svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.tour-scene-floor-row { grid-template-columns:minmax(0,1fr) 42px 42px; }
.tour-scene-space-create { display:grid; gap:8px; margin-top:8px; padding:11px; border:1px solid #c8e3ed; border-radius:10px; background:#f1f9fc; }.tour-scene-space-create[hidden] { display:none; }.tour-scene-space-create>strong { color:#294653; font-size:11px; }.tour-scene-space-create>input { box-sizing:border-box; width:100%; min-height:40px; padding:0 10px; border:1px solid #c8dce5; border-radius:8px; color:var(--tour-ink); background:#fff; font:inherit; font-size:12px; }.tour-scene-space-create>div { display:grid; grid-template-columns:1fr 1fr; gap:7px; }.tour-scene-space-create .tour-button { padding:8px; font-size:11px; }
.tour-scene-initial-card { margin-top:10px; overflow:hidden; border:1px solid #bfe3f0; border-radius:10px; background:#edf9fd; }
.tour-scene-settings .tour-scene-initial { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:10px; border:0; border-radius:0; background:transparent; cursor:pointer; }
.tour-scene-initial-copy { min-width:0; }.tour-scene-initial-copy strong,.tour-scene-initial-copy small { display:block; }.tour-scene-initial-copy strong { color:var(--tour-ink); font-size:11px; }.tour-scene-initial-copy small { margin-top:3px; color:#617985; font-size:10px; font-weight:400; line-height:1.35; }
.tour-switch { position:relative; flex:0 0 38px; width:38px; height:22px; }.tour-switch input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }.tour-switch>span { position:absolute; inset:0; border-radius:999px; background:#a9bdc6; box-shadow:inset 0 0 0 1px rgba(20,50,63,.1); transition:background .18s ease; }.tour-switch>span::after { content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 2px 5px rgba(0,0,0,.22); transition:transform .18s ease; }.tour-switch input:checked+span { background:var(--tour-primary); }.tour-switch input:checked+span::after { transform:translateX(16px); }.tour-switch input:focus-visible+span { outline:3px solid rgba(0,158,217,.25); outline-offset:2px; }
.tour-scene-initial-view { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 10px; padding:10px; border:0; border-top:1px solid #bfe3f0; border-radius:0; background:#f9fdff; }
.tour-scene-initial-view[hidden] { display:none; }
.tour-scene-initial-view strong,.tour-scene-initial-view small { display:block; }
.tour-scene-initial-view strong { color:var(--tour-ink); font-size:11px; }
.tour-scene-initial-view small,.tour-scene-initial-view p { color:#617985; font-size:9px; line-height:1.35; }
.tour-scene-initial-view small { margin-top:3px; }
.tour-scene-initial-view p { grid-column:1/-1; margin:0; }
.tour-scene-initial-view .tour-button { min-height:34px; padding:7px 10px; white-space:nowrap; }
.tour-scene-settings>.tour-button { width:100%; margin-top:11px; }
.tour-editor-section-divider { height:1px; margin:16px 0; background:#dce9ee; }
.tour-hotspot-row { display:grid; grid-template-columns:34px minmax(0,1fr) 22px; align-items:center; gap:9px; width:100%; padding:9px; border:1px solid #dce8ed; border-radius:9px; color:var(--tour-ink); background:#fff; text-align:left; cursor:pointer; }.tour-hotspot-row:hover,.tour-hotspot-row.is-active { border-color:#76c9e7; background:#edf9fd; }.tour-hotspot-row.is-active { box-shadow:inset 3px 0 var(--tour-primary); }
.tour-hotspot-row-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#fff; background:var(--tour-primary); font-size:17px; }.tour-hotspot-row strong,.tour-hotspot-row small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.tour-hotspot-row strong { font-size:11px; }.tour-hotspot-row small { margin-top:3px; color:#738893; font-size:10px; }.tour-hotspot-row-arrow { color:var(--tour-primary); font-size:18px; }
.tour-hotspots-empty { padding:14px 6px; color:#8597a0; font-size:11px; text-align:center; }
.pnlm-hotspot-base.tour-hotspot.editor-hotspot { cursor:pointer; }.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-selected,.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-preview { cursor:grab; }.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-selected:active,.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-preview:active { cursor:grabbing; }.pnlm-hotspot-base.tour-hotspot.editor-hotspot:hover::before,.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-selected::before { border-color:#fff; background:rgba(0,158,217,.58); box-shadow:0 0 0 5px rgba(255,255,255,.75),0 0 0 9px rgba(0,158,217,.38),0 6px 18px rgba(0,0,0,.3); }.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-drag-source { opacity:.3; }
.tour-hotspot-drag-ghost { position:absolute; z-index:30; width:56px; height:34px; transform:translate(-50%,-50%); pointer-events:none; }
.tour-hotspot-drag-ghost[hidden] { display:none; }
.tour-admin-login { min-height:100vh; display:grid; place-items:center; padding:20px; background:linear-gradient(145deg,#e7f7fd,#fff); }
.tour-login-card { width:min(410px,100%); padding:32px; border-radius:18px; background:#fff; box-shadow:0 20px 60px rgba(0,70,100,.16); }
.tour-login-card input { width:100%; box-sizing:border-box; margin:6px 0 14px; min-height:48px; padding:0 13px; border:1px solid #bfd9e4; border-radius:9px; }
.tour-confirm-dialog { width:min(430px,calc(100% - 32px)); padding:0; border:0; border-radius:18px; color:var(--tour-ink); background:#fff; box-shadow:0 24px 80px rgba(8,32,45,.28); }
.tour-confirm-dialog::backdrop { background:rgba(8,24,34,.62); backdrop-filter:blur(3px); }
.tour-confirm-dialog form { padding:28px; text-align:center; }
.tour-confirm-icon { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 14px; border-radius:50%; color:#c73c3c; background:#fff0f0; font-size:30px; font-weight:700; }
.tour-duplicate-dialog { width:min(560px,calc(100% - 32px)); }
.tour-duplicate-content { padding:28px; }
.tour-duplicate-icon { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 14px; border-radius:50%; color:#8a5b00; background:#fff3cf; font-size:32px; font-weight:800; }
.tour-duplicate-content h2,.tour-duplicate-content>p { text-align:center; }.tour-duplicate-content h2 { margin:0; }.tour-duplicate-content>p { margin:8px auto 18px; color:#617985; line-height:1.45; }
.tour-duplicate-content ul { max-height:190px; margin:0; padding:10px 14px 10px 34px; overflow:auto; border:1px solid #d8e6ec; border-radius:10px; color:#405b67; background:#f7fafb; font-size:13px; }
.tour-duplicate-content li+li { margin-top:7px; }.tour-duplicate-content li span { display:block; margin-top:2px; color:#84959d; font-size:11px; }
.tour-duplicate-actions { display:flex; justify-content:center; gap:9px; margin-top:22px; flex-wrap:wrap; }
.tour-confirm-dialog h2 { margin:0 0 10px; font-size:24px; }.tour-confirm-dialog p { margin:0; color:#506774; line-height:1.55; }
.tour-confirm-actions { display:flex; justify-content:center; gap:10px; margin-top:24px; }.tour-confirm-actions .tour-button { min-width:125px; }
.tour-admin-back { color:var(--tour-primary); font-size:13px; font-weight:700; text-decoration:none; }
.tour-admin-back:hover { text-decoration:underline; }
.tour-upload-dialog { width:min(900px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100vh - 48px); box-sizing:border-box; padding:0; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; border:0; border-radius:20px; color:var(--tour-ink); background:#fff; box-shadow:0 28px 90px rgba(8,32,45,.3); }
.tour-upload-dialog::backdrop { background:rgba(8,24,34,.64); backdrop-filter:blur(4px); }
.tour-upload-dialog-header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:24px; padding:26px 28px 20px; border-bottom:1px solid #e1edf2; }
.tour-upload-dialog-header h2 { margin:3px 0 5px; font-size:26px; }.tour-upload-dialog-header p { margin:0; color:#647b86; }
.tour-upload-dropzone { display:grid; place-items:center; gap:6px; margin:24px 28px 16px; padding:30px; border:2px dashed #a9d9ea; border-radius:15px; color:#58717d; background:#f4fbfe; text-align:center; cursor:pointer; }
.tour-upload-dropzone:hover,.tour-upload-dropzone.is-dragging { border-color:var(--tour-primary); background:#e4f6fc; box-shadow:inset 0 0 0 2px rgba(0,158,217,.08); }.tour-upload-dropzone.is-dragging { transform:scale(1.005); }.tour-upload-dropzone input { max-width:100%; margin-bottom:8px; }.tour-upload-dropzone strong { color:var(--tour-ink); font-size:17px; }.tour-upload-dropzone span { font-size:12px; }
.tour-upload-dialog .tour-selected-previews { min-width:0; max-width:calc(100% - 56px); margin:0 28px 18px; }.tour-upload-dialog .tour-upload-progress { display:block; width:calc(100% - 56px); margin:0 28px 18px; }
.tour-upload-dialog-actions { position:sticky; bottom:0; display:flex; min-width:0; justify-content:flex-end; gap:10px; padding:17px 28px; border-top:1px solid #e1edf2; background:#fff; }
.tour-create-dialog{width:min(940px,calc(100% - 32px))}.tour-create-body{display:grid;min-width:0;gap:18px;padding:22px 28px;overflow:hidden}.tour-create-step{min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;padding:18px;border:1px solid #d9e8ee;border-radius:14px;background:#fbfdfe}.tour-create-step-heading{display:flex;min-width:0;align-items:center;gap:11px;margin-bottom:15px}.tour-create-step-heading>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#fff;background:#009ed9;font-weight:800}.tour-create-step-heading>div{display:grid;min-width:0;gap:2px}.tour-create-step-heading strong{font-size:16px}.tour-create-step-heading small{color:#718792}.tour-create-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px}.tour-create-search input{min-width:0;padding:0 12px;border:1px solid #c7dce6;border-radius:9px;font:inherit}.tour-create-properties{display:grid;gap:8px;margin-top:10px}.tour-create-property{display:grid;grid-template-columns:62px minmax(0,1fr) auto auto;align-items:center;gap:11px;padding:8px;border:1px solid #dce9ee;border-radius:11px;background:#fff}.tour-create-property img{width:62px;height:46px;border-radius:8px;object-fit:cover}.tour-create-property>div{display:grid;min-width:0}.tour-create-property strong,.tour-create-property small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-create-property small{color:#708590}.tour-create-property>button{width:30px;height:30px;border:0;border-radius:50%;color:#a12b2b;background:#fff0f0;font-size:19px;cursor:pointer}.tour-create-dropzone{margin:0}.tour-create-step .tour-selected-previews{width:100%;max-width:100%;min-width:0;margin-top:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain}.tour-create-step .tour-upload-progress{width:100%;margin-top:12px}
.tour-create-step-heading .tour-create-add-files{display:inline-flex;margin-left:auto;align-items:center;gap:7px;white-space:nowrap}.tour-create-add-files[hidden],.tour-create-dropzone[hidden]{display:none!important}.tour-create-add-files>span{font-size:20px;line-height:1}.tour-capture-help{margin:12px 0 0;color:#607985;font-size:13px}.tour-create-step .tour-selected-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;overflow:visible;padding:2px}.tour-create-step .tour-capture-preview{min-width:0;overflow:hidden;padding-bottom:10px;border-color:#d6e6ec;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,opacity .18s ease,transform .18s ease}.tour-capture-preview.is-dragging{opacity:.45;transform:scale(.98)}.tour-capture-preview.is-drag-target{border-color:#009ed9;box-shadow:0 0 0 3px rgba(0,158,217,.17)}.tour-capture-thumb{position:relative;overflow:hidden;cursor:grab}.tour-capture-thumb:active{cursor:grabbing}.tour-capture-thumb>img{display:block;width:100%;height:118px;border-radius:8px 8px 0 0;object-fit:cover;pointer-events:none}.tour-capture-open{position:absolute;right:8px;bottom:8px;display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border:0;border-radius:7px;color:#fff;background:rgba(5,28,39,.85);font:700 11px inherit;cursor:pointer}.tour-capture-preview figcaption{padding:8px 10px 5px;overflow:hidden;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.tour-capture-preview>label{display:grid;gap:3px;padding:4px 10px;color:#607985;font-size:11px;font-weight:700}.tour-capture-preview :is(input[type="text"],select){box-sizing:border-box;width:100%;min-height:34px;padding:5px 7px;border:1px solid #c7dce6;border-radius:7px;color:#183542;background:#fff;font:inherit;font-weight:500}.tour-capture-preview>.tour-capture-previous{display:flex;align-items:center;gap:7px;font-size:12px}.tour-capture-preview>.tour-capture-previous input{margin:0}.tour-capture-remove{display:block;margin:5px 10px 0;padding:5px 0;border:0;color:#a53b3b;background:transparent;font:700 11px inherit;cursor:pointer}.tour-capture-order{position:absolute;z-index:2;top:7px;left:7px;display:flex;align-items:center;gap:3px;padding:4px;border-radius:9px;background:rgba(8,29,39,.88)}.tour-capture-order strong{display:grid;place-items:center;min-width:25px;height:25px;color:#fff}.tour-capture-order>span{color:#a8d7e8;font-size:17px}.tour-capture-order button{width:25px;height:25px;padding:0;border:0;border-radius:6px;color:#17333f;background:#fff;cursor:pointer}.tour-capture-order button:disabled{opacity:.35;cursor:default}.tour-panorama-preview-dialog{width:min(1120px,calc(100% - 32px));height:min(780px,calc(100% - 32px));max-width:none;max-height:none;padding:0;overflow:hidden;border:1px solid #365867;border-radius:16px;background:#071c26;box-shadow:0 28px 80px rgba(0,0,0,.45)}.tour-panorama-preview-dialog::backdrop{background:rgba(2,14,20,.78);backdrop-filter:blur(5px)}.tour-panorama-preview-header{display:flex;height:64px;align-items:center;justify-content:space-between;padding:0 18px;color:#fff;background:#0a2632}.tour-panorama-preview-header>div{display:grid;gap:2px;min-width:0}.tour-panorama-preview-header small{color:#5ed2ff;font-size:10px;font-weight:800;letter-spacing:.1em}.tour-panorama-preview-header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-panorama-preview-header>button{width:38px;height:38px;border:0;border-radius:50%;color:#fff;background:#173d4d;font-size:25px;cursor:pointer}.tour-panorama-preview-viewer{width:100%;height:calc(100% - 64px);background:#061820}
.tour-capture-thumb{background:linear-gradient(110deg,#dbe8ed 8%,#edf4f6 18%,#dbe8ed 33%);background-size:200% 100%;animation:tour-thumb-loading 1.2s linear infinite}.tour-capture-thumb:has(img[src]){background:#0a202a;animation:none}@keyframes tour-thumb-loading{to{background-position-x:-200%}}
.tour-appearance-dialog { width:min(720px,calc(100% - 32px)); }.tour-appearance-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:24px 28px 28px; }.tour-appearance-form>label { display:grid; gap:7px; color:#36515e; font-size:13px; font-weight:700; }.tour-appearance-form input[type="text"] { min-height:46px; box-sizing:border-box; width:100%; padding:0 13px; border:1px solid #c7dce6; border-radius:9px; color:var(--tour-ink); font:500 15px inherit; }.tour-color-field { display:grid; grid-template-columns:52px 1fr; gap:8px; }.tour-color-field input[type="color"] { width:52px; height:46px; padding:4px; border:1px solid #c7dce6; border-radius:9px; background:#fff; }.tour-appearance-form fieldset { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:2px 0 0; padding:16px; border:1px solid #d5e5ec; border-radius:12px; }.tour-appearance-form legend { padding:0 7px; color:var(--tour-ink); font-weight:800; }.tour-appearance-toggle { display:flex!important; align-items:flex-start; gap:10px!important; padding:11px; border-radius:10px; background:#f4f9fb; cursor:pointer; }.tour-appearance-toggle input { margin-top:3px; accent-color:var(--tour-primary); }.tour-appearance-toggle span { display:grid; gap:2px; }.tour-appearance-toggle strong { color:var(--tour-ink); font-size:13px; }.tour-appearance-toggle small { color:#708690; font-size:11px; font-weight:500; line-height:1.35; }
.tour-hotspot-direction-status { margin-top:10px; padding:9px 11px; border-radius:9px; font-size:11px; font-weight:800; }
.tour-hotspot-direction-status[hidden] { display:none; }
.tour-hotspot-direction-status.is-roundtrip { color:#16734a; background:#e7f8ef; }
.tour-hotspot-direction-status.is-oneway { color:#8b5d08; background:#fff4d7; }
.tour-hotspot-direction { display:inline-flex; align-items:center; width:max-content; margin-top:5px; padding:3px 7px; border-radius:999px; font-size:9px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.tour-hotspot-direction.is-roundtrip { color:#16734a; background:#e7f8ef; }
.tour-hotspot-direction.is-oneway { color:#8b5d08; background:#fff4d7; }
@media (min-width:1451px){
  html:has(.tour-admin-editor-body) { height:100%; overflow:hidden; }
  .tour-admin-editor-body { display:flex; width:100%; height:100dvh; min-height:0; flex-direction:column; overflow:hidden; }
  .tour-admin-editor-body .tour-editor-toolbar { position:relative; flex:0 0 auto; }
  .tour-admin-editor-body .tour-admin-main { display:flex; min-height:0; flex:1; overflow:hidden; }
  .tour-admin-editor-body #tour-editor { width:100%; min-height:0; }
  .tour-admin-editor-body .tour-connection-editor:not([hidden]),
  .tour-admin-editor-body .tour-editor-workspace { width:100%; height:100%; min-height:0; }
  .tour-admin-editor-body .tour-connection-editor:not([hidden]) { display:block; overflow:hidden; }
  .tour-admin-editor-body .tour-editor-scenes-panel,
  .tour-admin-editor-body .tour-editor-inspector { height:100%; min-height:0; box-sizing:border-box; overflow:hidden; }
  .tour-admin-editor-body .tour-tools-context { display:flex; min-height:0; flex-direction:column; }
  .tour-admin-editor-body .tour-editor-scenes { height:auto; min-height:0; max-height:none; flex:1; overflow-y:auto; overscroll-behavior:contain; }
  .tour-admin-editor-body .tour-editor-inspector { overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
  .tour-admin-editor-body .tour-editor-canvas { display:flex; min-height:0; flex-direction:column; overflow:hidden; }
  .tour-admin-editor-body .tour-editor-stage { height:auto; min-height:0; flex:1; }
  .tour-admin-editor-body .tour-editor-help { flex:0 0 auto; }
}
.tour-scan-floor-list button{appearance:none!important;box-sizing:border-box;align-items:center;min-height:48px;background:#132630!important;color:#d9e8ed!important;font:inherit;text-align:left;white-space:normal}.tour-scan-floor-list button:hover,.tour-scan-floor-list button.is-active{border-color:#35bce8!important;background:#173b4b!important;box-shadow:0 0 0 2px rgba(53,188,232,.12)}.tour-scan-floor-list button>span{flex:none;grid-row:1/3;line-height:1}.tour-scan-floor-list button strong{display:block;min-width:0;overflow:hidden;color:#f0f8fa;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.tour-scan-floor-list button small{display:block;color:#83d8f2;font-size:8px;line-height:1.2}
@media (max-width:1200px){.tour-editor-workspace{grid-template-columns:190px minmax(380px,1fr)}.tour-editor-inspector{grid-column:1/-1;border-top:1px solid #dce9ee;border-left:0}.tour-editor-scenes{max-height:555px}}
@media (max-width:1450px){.tour-editor-toolbar{align-items:flex-start;flex-wrap:wrap}.tour-editor-toolbar-identity{flex:1 1 480px}.tour-editor-toolbar-actions{flex:1 1 100%;width:100%}.tour-editor-toolbar-meta .tour-status{white-space:normal}}
@media (max-width:700px){.tour-editor-toolbar{position:relative;gap:12px}.tour-editor-toolbar-identity{flex-basis:100%;align-items:flex-start}.tour-editor-toolbar-title h1{white-space:normal}.tour-editor-toolbar-meta{align-items:flex-start;flex-direction:column;gap:3px}.tour-editor-toolbar-actions{flex-wrap:wrap;justify-content:flex-start;margin-left:0}.tour-editor-toolbar-actions .tour-button{flex:1 1 auto}.tour-editor-toolbar-back{flex-basis:38px;width:38px;height:38px}}
@media (max-width:700px){.tour-stage{min-height:360px;height:62vh}.tour-overlay-header{top:18px;left:18px;max-width:58%}.tour-overlay-heading strong{font-size:17px}.tour-overlay-heading span{display:none}.tour-overlay-controls{top:14px;right:14px}.tour-zoom-in,.tour-zoom-out{display:none}.tour-scene-rail{right:0;bottom:0;left:0;padding:9px 12px 12px}.tour-floor-tabs{min-height:23px;margin-bottom:6px}.tour-floor-tab{font-size:13px}.tour-thumbs{justify-content:flex-start}.tour-thumb{flex-basis:112px;height:68px}.tour-branding{bottom:128px;left:18px;width:118px}.tour-contact-cta{right:14px;bottom:128px;min-height:42px;padding:5px 7px;border-radius:10px}.tour-contact-icon{flex-basis:30px;width:30px;height:30px}.tour-contact-copy{display:none}.tour-appearance-form{grid-template-columns:1fr;padding:20px}.tour-appearance-form fieldset{grid-template-columns:1fr}.tour-admin-header{align-items:flex-start}.tour-admin-header h1{font-size:22px}.tour-library-heading{align-items:flex-start;padding:18px}.tour-library-heading>div{min-width:0}.tour-library-heading h2{font-size:21px}.tour-library-heading .tour-button{padding:8px 10px}.tour-library{grid-template-columns:1fr;padding:14px 18px 18px}.tour-editor-header{align-items:flex-start;flex-direction:column}.tour-editor-actions{justify-content:flex-start}.tour-editor-workspace{display:block}.tour-editor-scenes-panel{border-right:0;border-bottom:1px solid #dce9ee}.tour-editor-scenes{display:flex;max-height:none;overflow-x:auto}.tour-editor-scene{flex:0 0 170px}.tour-editor-stage{height:58vh}.tour-editor-help{display:none}.tour-editor-inspector{border-left:0}.tour-editor-mode-banner{top:22px}.tour-editor-mode-banner small{display:none}}
.tour-tools-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr)}
.tour-tools-nav{display:grid;gap:5px;padding:10px;border-bottom:1px solid #dce9ee}
.tour-tools-nav :is(button,.tour-tools-link){display:flex;box-sizing:border-box;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:9px;color:#4c6470;background:transparent;font:600 12px inherit;text-align:left;text-decoration:none;cursor:pointer;transition:.18s ease}
.tour-tools-nav :is(button,.tour-tools-link) span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:#009ed9;background:#e1f5fc;font-size:15px}
.tour-tools-nav :is(button,.tour-tools-link):hover,.tour-tools-nav button.is-active{color:#08243a;background:#eaf7fc}.tour-tools-nav button.is-active{box-shadow:inset 3px 0 #009ed9}.tour-tools-nav [hidden]{display:none!important}
.tour-tools-context{min-height:0;overflow:hidden}.tour-tools-context>.tour-editor-scenes,.tour-tool-items{height:calc(100% - 54px);overflow:auto;padding:8px}
.tour-tool-panel[hidden],.tour-tool-items[hidden],.tour-tool-summary[hidden]{display:none!important}
.tour-tool-summary,.tour-tool-empty{margin:12px;padding:14px;border-radius:10px;color:#68808b;background:#eef6f9;font-size:12px;line-height:1.45}
.tour-tool-item{display:flex;align-items:center;gap:9px;width:100%;margin-bottom:6px;padding:7px;border:1px solid transparent;border-radius:10px;color:#1a3345;background:transparent;text-align:left;cursor:pointer}.tour-tool-item:hover,.tour-tool-item.is-active{border-color:#8ed8f2;background:#e9f8fd}.tour-tool-item img{width:52px;height:38px;border-radius:7px;object-fit:cover}.tour-tool-item>span:not(.tour-tool-item-icon){display:grid;min-width:0}.tour-tool-item strong,.tour-tool-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-tool-item strong{font-size:12px}.tour-tool-item small{color:#718995;font-size:10px}.tour-tool-item-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;color:#fff;background:#009ed9;font-weight:800}
.tour-profile-form,.tour-element-form{display:grid;gap:12px}.tour-profile-form label,.tour-element-form label,.tour-tool-field{display:grid;gap:6px;color:#58707c;font-size:11px;font-weight:600}.tour-profile-form input,.tour-element-form input,.tour-element-form select,.tour-element-form textarea,.tour-tool-field input{box-sizing:border-box;width:100%;padding:10px;border:1px solid #c8dce5;border-radius:9px;background:#fff;font:13px inherit}.tour-profile-color{display:grid;grid-template-columns:44px 1fr;gap:8px}.tour-profile-color input[type=color]{height:40px;padding:3px}.tour-profile-toggle{display:flex!important;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e4edf1}.tour-profile-toggle input{width:18px}.tour-tool-copy{color:#718995;font-size:12px;line-height:1.45}.tour-tool-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tour-info-editor{width:34px!important;height:34px!important;border:3px solid #fff!important;border-radius:50%!important;background:#009ed9!important;box-shadow:0 5px 18px #002b4266!important}.tour-info-editor:before{content:'i';display:grid;place-items:center;height:100%;color:#fff;font:bold 18px serif}.tour-info-editor.is-selected{outline:4px solid #009ed944}
@media(max-width:700px){.tour-tools-nav{grid-template-columns:repeat(5,minmax(68px,1fr));overflow-x:auto}.tour-tools-nav :is(button,.tour-tools-link){display:grid;justify-items:center;padding:7px 4px;font-size:10px;text-align:center}}
.tour-info-hotspot{width:38px!important;height:38px!important;margin:-19px!important;border:3px solid #ffffffcc!important;border-radius:50%!important;background:var(--tour-primary,#009ed9)!important;box-shadow:0 7px 22px #001a2b66!important;cursor:pointer}.tour-info-marker,.tour-info-marker span{display:grid;place-items:center;width:100%;height:100%;color:#fff;font:bold 18px serif}.tour-info-card{position:absolute;z-index:13;top:86px;right:24px;width:min(320px,calc(100% - 48px));box-sizing:border-box;padding:20px;border:1px solid #ffffff55;border-radius:16px;color:#fff;background:#09202ee8;box-shadow:0 18px 50px #0006;backdrop-filter:blur(14px)}.tour-info-card[hidden]{display:none}.tour-info-card small{color:var(--tour-primary);font-weight:800;letter-spacing:.12em}.tour-info-card h3{margin:6px 28px 8px 0;font-size:20px}.tour-info-card p{margin:0;color:#dbe8ed;line-height:1.5}.tour-info-card a{display:inline-flex;margin-top:14px;color:#fff;font-weight:700}.tour-info-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:0;border-radius:50%;color:#fff;background:#ffffff18;font-size:20px;cursor:pointer}
.editor-hotspot.is-preview{pointer-events:auto!important;opacity:.82;filter:drop-shadow(0 0 5px rgba(255,255,255,.34));animation:tour-preview-pulse 1.15s ease-in-out infinite alternate}.tour-hotspot-pair-help{margin:2px 0 0;padding:10px;border-radius:9px;color:#54717e;background:#edf8fc;font-size:11px;line-height:1.4}@keyframes tour-preview-pulse{to{opacity:1;filter:drop-shadow(0 0 9px rgba(255,255,255,.52))}}
.tour-scene-delete-icon{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #f0caca;border-radius:9px;color:#c83737;background:#fff5f5;cursor:pointer;transition:.18s ease}.tour-scene-delete-icon:hover{color:#fff;border-color:#cf3636;background:#cf3636}.tour-scene-delete-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tour-scene-connections{margin-top:18px;padding-top:16px;border-top:1px solid #dce8ed}.tour-scene-connections .tour-editor-list-heading{margin-top:0}.tour-scene-connections .tour-editor-list-title>div{display:grid;gap:2px}.tour-scene-connections .tour-editor-list-title small{color:#81949d;font-size:9px;font-weight:700;letter-spacing:.08em}.tour-scene-connections .tour-editor-list-title strong{font-size:14px}.tour-hotspots{display:grid;gap:8px;margin-top:10px}.tour-connection-card{overflow:hidden;border:1px solid #dce8ed;border-radius:11px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease}.tour-connection-card:hover,.tour-connection-card.is-expanded{border-color:#76c9e7}.tour-connection-card.is-expanded{box-shadow:0 8px 22px rgba(20,80,105,.09)}.tour-connection-card>.tour-hotspot-row{border:0;border-radius:0}.tour-connection-card>.tour-hotspot-row.is-active{box-shadow:inset 3px 0 var(--tour-primary)}.tour-connection-card.is-expanded .tour-hotspot-row-arrow{transform:rotate(90deg)}.tour-connection-card>.tour-hotspot-editor{margin:0;border:0;border-top:1px solid #dce8ed;border-radius:0;background:#fbfdfe;box-shadow:none}.tour-connection-card.is-pending{border-style:dashed}.tour-connection-card.is-pending>.tour-hotspot-row{cursor:default}
.tour-tool-panel#tour-tool-gallery .tour-tool-field{margin-top:0}
.tour-gallery-inspector-list {
  display: grid;
  min-height: 0;
  align-content: start;
  gap: 5px;
  max-height: none;
  margin: 12px -5px 0;
  padding: 4px 5px 18px;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.tour-gallery-inspector-list .tour-gallery-item { margin: 0; border-color: #e0ebef; background: #fff; }
#tour-tool-gallery .tour-gallery-inspector-list .tour-gallery-item-main { grid-template-columns: 86px minmax(0, 1fr); gap: 9px; padding: 7px; }
#tour-tool-gallery .tour-gallery-inspector-list .tour-gallery-item-image { width: 86px; height: 62px; }
#tour-tool-gallery .tour-gallery-inspector-list .tour-gallery-item-copy { gap: 3px; }
.tour-gallery-inspector-list .tour-gallery-item-copy strong { font-size: 12px; }
.tour-gallery-inspector-list .tour-gallery-item-copy small { color: #6f858f; font-size: 10px; }
.tour-gallery-inspector-list .tour-gallery-item-copy em { color: #8b9ba2; font-size: 8.5px; }
.tour-gallery-inspector-list>.tour-tool-empty { margin: 0; }
.tour-gallery-edit-dialog { width: min(430px, calc(100% - 32px)); }
.tour-gallery-edit-dialog form { padding: 25px; text-align: left; }
.tour-gallery-edit-dialog .tour-editor-eyebrow { margin: 0 0 4px; color: var(--tour-primary); font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.tour-gallery-edit-dialog h2 { margin: 0 0 18px; }
.tour-gallery-edit-dialog label { display: grid; gap: 7px; color: #526b76; font-size: 12px; font-weight: 700; }
.tour-gallery-edit-dialog input {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #bfd9e4;
  border-radius: 9px;
  color: var(--tour-ink);
  background: #fff;
  font: 500 14px inherit;
}
.tour-gallery-edit-dialog input:focus { border-color: var(--tour-primary); outline: 3px solid rgba(0, 158, 217, .13); }
.tour-gallery-edit-dialog .tour-confirm-actions { justify-content: flex-end; }

.tour-connection-map-dialog{width:min(1180px,calc(100% - 32px));overflow-x:hidden;overflow-y:auto}.tour-connection-map-body{display:grid;gap:14px;padding:18px 24px 24px}.tour-connection-map-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.tour-connection-map-summary article{display:grid;gap:2px;padding:11px 14px;border:1px solid #d8e7ed;border-radius:12px;background:#f8fbfc}.tour-connection-map-summary strong{color:var(--tour-primary);font-size:22px}.tour-connection-map-summary span{color:#69808b;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.tour-connection-map-tabs{display:flex;gap:7px}.tour-connection-map-tabs button{padding:8px 13px;border:1px solid #c9dce4;border-radius:999px;color:#54707c;background:#fff;font:700 12px inherit;cursor:pointer}.tour-connection-map-tabs button.is-active{border-color:var(--tour-primary);color:#fff;background:var(--tour-primary)}.tour-connection-map-canvas{height:min(58vh,650px);min-height:390px;overflow:hidden;border:1px solid #d6e5eb;border-radius:16px;background:linear-gradient(180deg,#fbfdfe,#f3f8fa)}.tour-connection-map-canvas svg{display:block;width:100%;height:100%}.tour-map-edge{stroke-width:3;stroke-linecap:round;opacity:.72}.tour-map-edge.is-manual{stroke:#334e5a}.tour-map-edge.is-strong{stroke:#14a26f}.tour-map-edge.is-review{stroke:#e5a323;stroke-dasharray:8 5}.tour-map-edge.is-forced{stroke:#df4a4a;stroke-width:4;stroke-dasharray:4 5}.tour-map-edge.is-candidate{stroke:#8b71d8;stroke-width:2;stroke-dasharray:3 7;opacity:.85}.tour-map-node{cursor:pointer;outline:0}.tour-map-node circle{fill:#fff;stroke:#718995;stroke-width:4;transition:transform .16s ease,fill .16s ease}.tour-map-node.is-registered circle{fill:#009ed9;stroke:#fff;filter:drop-shadow(0 2px 5px rgba(0,61,86,.28))}.tour-map-node.is-estimated circle{fill:#075ee8;stroke:#f5b942;stroke-dasharray:4 3;filter:drop-shadow(0 2px 5px rgba(0,61,86,.22))}.tour-map-node.is-isolated circle{fill:#fff0f0;stroke:#df4a4a}.tour-map-node:hover circle,.tour-map-node:focus circle{transform:scale(1.18);transform-box:fill-box;transform-origin:center}.tour-map-node-index{fill:#304b57;font:800 10px sans-serif;text-anchor:middle;pointer-events:none}.tour-map-node.is-registered .tour-map-node-index,.tour-map-node.is-estimated .tour-map-node-index{fill:#fff}.tour-map-node-label{fill:#415d69;font:700 10px sans-serif;text-anchor:middle;paint-order:stroke;stroke:#f8fbfc;stroke-width:4px;stroke-linejoin:round;pointer-events:none}.tour-map-component-box{fill:rgba(255,255,255,.62);stroke:#cbdfe7;stroke-width:2;stroke-dasharray:7 5}.tour-map-component-label{fill:#718994;font:700 12px sans-serif}.tour-connection-map-legend{display:flex;flex-wrap:wrap;gap:14px;color:#58717c;font-size:11px;font-weight:700}.tour-connection-map-legend span{display:flex;align-items:center;gap:6px}.tour-connection-map-legend i{width:22px;height:4px;border-radius:4px;background:#334e5a}.tour-connection-map-legend i.is-strong{background:#14a26f}.tour-connection-map-legend i.is-review{background:#e5a323}.tour-connection-map-legend i.is-forced{background:#df4a4a}.tour-connection-map-legend i.is-estimated{background:#f5b942}.tour-connection-map-legend i.is-candidate{background:#8b71d8}.tour-connection-map-issues{display:grid;gap:8px}.tour-connection-map-issues h3{margin:0;font-size:14px}.tour-connection-map-issues ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}.tour-connection-map-issues li{padding:8px 10px;border-left:4px solid #8aa0aa;border-radius:6px;color:#58707b;background:#f5f8f9;font-size:11px;line-height:1.35}.tour-connection-map-issues li.is-danger{border-color:#df4a4a;background:#fff5f5}.tour-connection-map-issues li.is-warning{border-color:#e5a323;background:#fffaf0}.tour-connection-map-issues li.is-suggestion{border-color:#8b71d8;background:#f8f5ff}.tour-connection-map-issues li.is-ok{border-color:#14a26f;background:#f2fbf7}
.tour-connection-review-notice{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border:1px solid #efc56b;border-radius:12px;color:#72500c;background:#fff8e8}.tour-connection-review-notice[hidden]{display:none}.tour-connection-review-notice strong{font-size:13px}.tour-connection-review-notice span{font-size:11px}

.tour-connection-map-canvas svg[hidden]{display:none}.tour-connection-cloud{position:relative;width:100%;height:100%;background:#071018}.tour-connection-cloud[hidden]{display:none}.tour-connection-cloud canvas{display:block;width:100%;height:100%}.tour-cloud-view-controls{position:absolute;z-index:2;top:12px;left:12px;display:flex;gap:6px;padding:5px;border-radius:999px;background:rgba(7,16,24,.8);backdrop-filter:blur(8px)}.tour-cloud-view-controls button{padding:7px 11px;border:1px solid #466375;border-radius:999px;color:#d9e7ef;background:transparent;font:700 11px inherit;cursor:pointer}.tour-cloud-view-controls button.is-active{border-color:#4d8dff;color:#fff;background:#075ee8}.tour-connection-cloud>p{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:#d9e7ef;font-size:13px;pointer-events:none}.tour-connection-cloud>canvas~p{display:none}.tour-connection-map-issues li .tour-map-review-actions{display:flex;gap:6px;margin-top:7px}.tour-map-review-actions button{padding:5px 8px;border:1px solid #c9dce4;border-radius:7px;background:#fff;color:#47616c;font:700 10px inherit;cursor:pointer}.tour-map-review-actions button[data-decision="accepted"]{border-color:#14a26f;color:#08764f}
@media(max-width:760px){.tour-connection-map-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-connection-map-canvas{min-height:330px}.tour-connection-map-issues ul{grid-template-columns:1fr}}
.tour-custom-select{position:relative;min-width:0}.tour-custom-select>select{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0!important}.tour-custom-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:0 11px;border:1px solid #c8dce5;border-radius:8px;color:var(--tour-ink);background:#fff;font:13px inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.tour-custom-select-trigger:hover,.tour-custom-select.is-open .tour-custom-select-trigger{border-color:var(--tour-primary);box-shadow:0 0 0 3px rgba(0,158,217,.1)}.tour-custom-select-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .18s ease}.tour-custom-select.is-open .tour-custom-select-trigger svg{transform:rotate(180deg)}.tour-custom-select-menu{position:absolute;z-index:50;top:calc(100% + 6px);right:0;left:0;max-height:230px;padding:5px;overflow:auto;border:1px solid #c8dce5;border-radius:10px;background:#fff;box-shadow:0 14px 35px rgba(12,56,74,.18)}.tour-custom-select-menu[hidden]{display:none}.tour-custom-select-option{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;color:#314b58;background:transparent;font:13px inherit;text-align:left;cursor:pointer}.tour-custom-select-option:hover,.tour-custom-select-option:focus-visible{outline:0;color:#007eae;background:#e9f7fc}.tour-custom-select-option.is-selected{color:#fff;background:var(--tour-primary)}.tour-custom-select-option.is-selected:hover,.tour-custom-select-option.is-selected:focus-visible{color:#fff;background:#008fc5}
.tour-custom-select-trigger:disabled{cursor:not-allowed;color:#6f858f;background:#f2f6f8;box-shadow:none;opacity:.8}.tour-hotspot-target-field>label{display:block;margin-bottom:6px}.tour-hotspot-target-field .tour-custom-select-menu{z-index:80}
.tour-hotspot-select-field>label{display:block;margin-bottom:6px}.tour-hotspot-select-field .tour-custom-select-menu{z-index:80}.tour-custom-select-current{display:flex;align-items:center;min-width:0;gap:9px}.tour-custom-select-current>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-custom-select-icon{display:inline-flex;flex:0 0 22px;align-items:center;justify-content:center;width:22px;height:22px;color:var(--tour-primary)}.tour-custom-select-icon svg,.tour-custom-select.is-open .tour-custom-select-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transform:none}.tour-custom-select-option-icon{display:flex;align-items:center;gap:9px}.tour-custom-select-option-icon .tour-custom-select-icon{width:20px;height:20px}.tour-custom-select-option-icon.is-selected .tour-custom-select-icon{color:#fff}.tour-icon-select .tour-custom-select-trigger{min-height:44px}.tour-icon-select .tour-custom-select-chevron{flex:0 0 17px}
.tour-profile-properties{display:grid;gap:10px;margin-top:10px;padding-top:16px;border-top:1px solid #dce8ed}.tour-profile-properties>div:first-child{display:grid;gap:3px}.tour-profile-properties>div:first-child strong{color:var(--tour-ink);font-size:13px}.tour-profile-properties>div:first-child small{color:#718792;font-size:10px;line-height:1.4}.tour-profile-properties form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.tour-profile-properties form input{min-width:0}.tour-profile-properties form .tour-button{padding:9px 10px;font-size:11px}.tour-profile-properties .tour-status{margin:0;font-size:10px}.tour-profile-property-list{display:grid;gap:7px}.tour-profile-property{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid #d8e7ed;border-radius:9px;background:#f9fcfd}.tour-profile-property>div{display:grid;min-width:0;gap:3px}.tour-profile-property>div>span{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tour-profile-property strong{font-size:11px}.tour-profile-property small{overflow:hidden;color:#718792;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.tour-profile-property-remove{min-width:30px;height:30px;padding:0 8px;border:0;border-radius:8px;color:#bd3030;background:#fff0f0;font-size:18px;cursor:pointer}.tour-profile-property-remove:disabled{color:#718792;background:#e9f0f3;font-size:9px;font-weight:700;cursor:default}
.tour-profile-floor-limit{display:grid;gap:9px;margin-top:8px;padding:14px 0;border-top:1px solid #dce8ed;border-bottom:1px solid #dce8ed}.tour-profile-floor-limit>div:first-child{display:grid;gap:3px}.tour-profile-floor-limit strong{color:var(--tour-ink);font-size:13px}.tour-profile-floor-limit small,.tour-profile-floor-limit p{margin:0;color:#718792;font-size:10px;line-height:1.4}.tour-profile-floor-limit>label{gap:5px!important}.tour-profile-floor-limit>label>div{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:center;gap:8px}.tour-profile-floor-limit input{padding:0!important;accent-color:var(--tour-primary)}.tour-profile-floor-limit output{color:var(--tour-primary);font-size:11px;font-weight:800;text-align:right}
.tour-upload-progress[hidden]{display:none!important}.tour-create-dropzone>input{position:absolute!important;width:1px!important;height:1px!important;margin:0!important;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tour-create-file-button{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 15px;border:1px solid var(--tour-primary);border-radius:8px;color:#fff!important;background:var(--tour-primary);font-size:12px!important;font-weight:700;box-shadow:0 5px 13px rgba(0,158,217,.18)}.tour-create-dropzone:hover .tour-create-file-button{background:#008bbe}.tour-create-file-summary{margin-bottom:4px;color:#607985!important;font-size:11px!important}

/* Navigation markers adapt their projection to the selected physical surface. */
.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor,
.tour-hotspot-drag-ghost.hotspot-surface-floor {
  width: 66px;
  height: 34px;
  background: transparent;
  filter: none;
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor.has-floor-projection::before,
.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor.has-floor-projection::after {
  content: none;
}

.tour-floor-decal {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  margin: -30px 0 0 -30px;
  transform: matrix(1, 0, 0, .3, 0, 0);
  transform-origin: 50% 50%;
  pointer-events: none;
  will-change: transform;
}

.tour-floor-ring,
.tour-floor-wave,
.tour-floor-core {
  position: absolute;
  box-sizing: border-box;
  border-radius: 50%;
  pointer-events: none;
}

.tour-floor-ring {
  inset: 2px;
  border: 2px solid rgba(255, 255, 255, .78);
  background: radial-gradient(circle, rgba(255, 255, 255, .04) 48%, rgba(9, 20, 26, .07) 73%, rgba(255, 255, 255, .1) 100%);
  box-shadow: 0 0 0 1px rgba(8, 21, 27, .14), 0 3px 8px rgba(4, 12, 17, .22), inset 0 0 7px rgba(255, 255, 255, .17);
}

.tour-floor-wave {
  inset: 4px;
  border: 2px solid rgba(255, 255, 255, .92);
  box-shadow: 0 0 8px rgba(255, 255, 255, .3);
  animation: tour-floor-signal 2.05s cubic-bezier(.2, .58, .34, 1) infinite;
}

.tour-floor-core {
  top: 50%;
  left: 50%;
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border: 3px solid rgba(255, 255, 255, .96);
  background: rgba(255, 255, 255, .1);
  box-shadow: 0 0 7px rgba(255, 255, 255, .32), inset 0 0 3px rgba(7, 22, 29, .12);
  transform: translate(-50%, -50%);
}

.tour-floor-symbol {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .3);
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor:hover .tour-floor-ring,
.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor.is-selected .tour-floor-ring {
  border-color: #fff;
  background: radial-gradient(circle, rgba(255, 255, 255, .09) 45%, rgba(255, 255, 255, .17) 100%);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .2), 0 4px 11px rgba(4, 12, 17, .28), inset 0 0 9px rgba(255, 255, 255, .24);
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor .tour-hotspot-label { bottom: 43px; }

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall,
.tour-hotspot-drag-ghost.hotspot-surface-wall {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  filter: drop-shadow(0 7px 8px rgba(5, 15, 20, .24));
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall::before,
.tour-hotspot-drag-ghost.hotspot-surface-wall::before {
  width: 48px;
  height: 48px;
  border: 2px solid rgba(255, 255, 255, .8);
  border-radius: 50%;
  background: rgba(21, 31, 36, .3);
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .11), inset 0 0 10px rgba(255, 255, 255, .12);
  transform: translate(-50%, -50%);
  animation: tour-wall-marker-breathe 1.85s ease-in-out infinite;
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall::after,
.tour-hotspot-drag-ghost.hotspot-surface-wall::after {
  transform: translate(-50%, -50%);
}

.pnlm-hotspot-base.tour-hotspot.hotspot-style-floor.hotspot-surface-wall::after,
.tour-hotspot-drag-ghost.hotspot-style-floor.hotspot-surface-wall::after {
  width: 17px;
  height: 17px;
  border: 3px solid rgba(255, 255, 255, .96);
  border-radius: 50%;
  background: rgba(255, 255, 255, .12);
}

.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall .tour-hotspot-label { bottom: 50px; }

@keyframes tour-floor-signal {
  0% { opacity: 0; transform: scale(.48); }
  16% { opacity: .9; }
  76%, 100% { opacity: 0; transform: scale(1.34); }
}

@keyframes tour-wall-marker-breathe {
  0%, 100% { opacity: .72; box-shadow: 0 0 0 4px rgba(255, 255, 255, .08), inset 0 0 10px rgba(255, 255, 255, .1); }
  48% { opacity: 1; box-shadow: 0 0 0 7px rgba(255, 255, 255, .14), inset 0 0 10px rgba(255, 255, 255, .18); }
}

@media (prefers-reduced-motion: reduce) {
  .tour-floor-wave,
  .pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall::before,
  .tour-hotspot-drag-ghost.hotspot-surface-wall::before { animation: none; }
  .tour-shell .tour-travel-motion,
  .tour-shell .tour-travel-motion i,
  .tour-shell .pnlm-fade-img,
  .tour-shell .pnlm-render-container { animation:none!important;transform:none!important;filter:none!important; }
}

.tour-gallery-capture-menu {
  position: absolute;
  z-index: 18;
  right: 50%;
  bottom: 24px;
  padding: 7px;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 13px;
  background: rgba(255, 255, 255, .92);
  box-shadow: 0 12px 30px rgba(8, 28, 38, .26);
  transform: translateX(50%);
  backdrop-filter: blur(12px);
}

.tour-gallery-capture-menu[hidden] { display: none; }
.tour-gallery-capture-menu button {
  display: grid;
  min-width: 86px;
  padding: 8px 13px 7px;
  place-items: center;
  gap: 4px;
  border: 0;
  border-radius: 9px;
  color: #314b58;
  background: transparent;
  font: 600 11px inherit;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, transform .18s ease;
}
.tour-gallery-capture-menu button:hover {
  color: var(--tour-primary);
  background: #eaf8fd;
  transform: translateY(-1px);
}
.tour-gallery-capture-menu svg { width: 23px; height: 23px; fill: var(--tour-primary); }

#tour-gallery-items.tour-tool-items { padding: 8px 7px 14px; }
.tour-gallery-item {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  margin-bottom: 7px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.tour-gallery-item:hover { background: #f0f6f8; }
.tour-gallery-item.is-active {
  border-color: #9fdcf0;
  background: #e9f7fc;
  box-shadow: inset 3px 0 var(--tour-primary);
}
.tour-gallery-item-main {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-width: 0;
  padding: 7px;
  border: 0;
  color: var(--tour-ink);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: grab;
}
.tour-gallery-item-main:active { cursor: grabbing; }
.tour-gallery-item.is-dragging {
  opacity: .42;
  box-shadow: none;
}
.tour-gallery-item.is-drop-before::before,
.tour-gallery-item.is-drop-after::after {
  content: "";
  position: absolute;
  z-index: 4;
  right: 7px;
  left: 7px;
  height: 3px;
  border-radius: 999px;
  background: var(--tour-primary);
  box-shadow: 0 0 0 3px rgba(0, 158, 217, .14);
}
.tour-gallery-item.is-drop-before::before { top: 1px; }
.tour-gallery-item.is-drop-after::after { bottom: 1px; }
.tour-gallery-item-image {
  position: relative;
  display: block;
  width: 82px;
  height: 62px;
  overflow: hidden;
  border-radius: 8px;
  background: #dce8ed;
}
.tour-gallery-item-image img { width: 100%; height: 100%; object-fit: cover; }
.tour-gallery-item-image>span {
  position: absolute;
  right: 5px;
  bottom: 5px;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(9, 29, 39, .7);
  font-size: 15px;
}
.tour-gallery-item-copy { display: grid; min-width: 0; gap: 3px; }
.tour-gallery-item-copy strong,
.tour-gallery-item-copy small,
.tour-gallery-item-copy em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tour-gallery-item-copy strong { font-size: 12px; font-weight: 700; }
.tour-gallery-item-copy small { color: #82939b; font-size: 11px; }
.tour-gallery-item-copy em { color: #9aa8ae; font-size: 9px; font-style: normal; }
.tour-gallery-item-actions { display: grid; align-content: center; gap: 4px; }
.tour-gallery-item-edit,
.tour-gallery-item-delete {
  display: grid;
  width: 28px;
  height: 28px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 7px;
  opacity: .52;
  color: #7e9098;
  background: transparent;
  cursor: pointer;
  transition: opacity .18s ease, color .18s ease, background .18s ease;
}
.tour-gallery-item:hover .tour-gallery-item-edit,
.tour-gallery-item.is-active .tour-gallery-item-edit,
.tour-gallery-item:hover .tour-gallery-item-delete,
.tour-gallery-item.is-active .tour-gallery-item-delete { opacity: 1; }
.tour-gallery-item-edit:hover { color: #007fae; background: #e5f6fc; }
.tour-gallery-item-delete:hover { color: #c53333; background: #ffeded; }
.tour-gallery-item-edit svg,
.tour-gallery-item-delete svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tour-scene-space-row .tour-custom-select-trigger {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #c8dce5;
  border-radius: 9px;
  color: #294653;
  background: #fff;
  box-shadow: none;
  font-size: 13px;
  font-weight: 600;
}
.tour-scene-space-row .tour-custom-select-trigger:hover,
.tour-scene-space-row .tour-custom-select.is-open .tour-custom-select-trigger {
  color: #163847;
  border-color: #63c4e6;
  background: #fbfeff;
  box-shadow: 0 0 0 3px rgba(0, 158, 217, .1);
}
#tour-scene-space-menu,
#tour-scene-floor-menu {
  display: grid;
  gap: 3px;
  padding: 6px;
  border-color: #c9dde6;
  border-radius: 11px;
  box-shadow: 0 15px 35px rgba(12, 56, 74, .18);
}
#tour-scene-space-menu[hidden],
#tour-scene-floor-menu[hidden] { display: none; }
#tour-scene-space-menu .tour-custom-select-option,
#tour-scene-floor-menu .tour-custom-select-option {
  position: relative;
  min-height: 35px;
  padding: 8px 34px 8px 10px;
  border-radius: 7px;
  color: #405a66;
  background: transparent;
  font-size: 12px;
  font-weight: 500;
}
#tour-scene-space-menu .tour-custom-select-option:hover,
#tour-scene-space-menu .tour-custom-select-option:focus-visible,
#tour-scene-floor-menu .tour-custom-select-option:hover,
#tour-scene-floor-menu .tour-custom-select-option:focus-visible {
  color: #007fae;
  background: #eaf7fc;
}
#tour-scene-space-menu .tour-custom-select-option.is-selected,
#tour-scene-floor-menu .tour-custom-select-option.is-selected {
  color: #007fae;
  background: #dff4fb;
  font-weight: 700;
}
#tour-scene-space-menu .tour-custom-select-option.is-selected::after,
#tour-scene-floor-menu .tour-custom-select-option.is-selected::after {
  content: "✓";
  position: absolute;
  top: 50%;
  right: 11px;
  transform: translateY(-50%);
  color: var(--tour-primary);
  font-size: 13px;
}

.tour-editor-loading {
  position: fixed;
  z-index: 90;
  top: var(--tour-loading-top, 76px);
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  overflow: hidden;
  place-items: center;
  padding: 32px;
  box-sizing: border-box;
  color: #173748;
  background:
    radial-gradient(circle at 50% 44%, rgba(255, 255, 255, .82) 0, rgba(255, 255, 255, 0) 250px),
    #eaf1f4;
  text-align: center;
}
.tour-editor-loading[hidden] { display: none; }
.tour-editor-loading-content { display: grid; justify-items: center; gap: 8px; transform: translateY(-3vh); }
.tour-editor-loading strong { margin-top: 7px; font-size: clamp(18px, 1.5vw, 22px); }
.tour-editor-loading small { color: #6d8591; font-size: 13px; }
.tour-editor-loading-spinner {
  position: relative;
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 2px solid rgba(0, 158, 217, .14);
  border-radius: 50%;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 12px 35px rgba(12, 73, 98, .12);
}
.tour-editor-loading-spinner::before,
.tour-editor-loading-spinner::after {
  content: "";
  position: absolute;
  border-radius: 50%;
}
.tour-editor-loading-spinner::before {
  inset: 8px;
  border: 3px solid transparent;
  border-top-color: var(--tour-primary);
  border-right-color: rgba(0, 158, 217, .35);
  animation: tour-loading-spin .9s linear infinite;
}
.tour-editor-loading-spinner::after {
  width: 10px;
  height: 10px;
  background: var(--tour-primary);
  box-shadow: 0 0 0 5px rgba(0, 158, 217, .12);
  animation: tour-loading-pulse 1.1s ease-in-out infinite;
}
.tour-editor-loading-progress {
  width: min(210px, 55vw);
  height: 3px;
  margin-top: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(0, 158, 217, .14);
}
.tour-editor-loading-progress i {
  display: block;
  width: 42%;
  height: 100%;
  border-radius: inherit;
  background: var(--tour-primary);
  animation: tour-loading-progress 1.25s ease-in-out infinite;
}
@keyframes tour-loading-spin { to { transform: rotate(360deg); } }
@keyframes tour-loading-pulse { 50% { transform: scale(.72); opacity: .68; } }
@keyframes tour-loading-progress {
  0% { transform: translateX(-115%); }
  55%, 100% { transform: translateX(245%); }
}

@media (min-width: 1201px) {
  .tour-connection-editor.is-gallery-tool .tour-editor-workspace { grid-template-columns: 320px minmax(460px, 1fr) 420px; }
}
@media (min-width: 1451px) {
  .tour-admin-editor-body .tour-connection-editor.is-gallery-tool .tour-editor-inspector {
    display: flex;
    min-height: 0;
    flex-direction: column;
    overflow: hidden;
  }
  .tour-admin-editor-body .tour-connection-editor.is-gallery-tool #tour-tool-gallery:not([hidden]) {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
  }
  .tour-admin-editor-body .tour-connection-editor.is-gallery-tool .tour-gallery-inspector-list {
    min-height: 0;
    flex: 1;
  }
}
.tour-connection-editor.is-gallery-tool .tour-tools-context>.tour-editor-panel-title { padding: 16px 18px 8px; }
.tour-connection-editor.is-gallery-tool #tour-sidebar-title { font-size: 16px; }
.tour-connection-editor.is-gallery-tool #tour-sidebar-help { margin-top: 3px; font-size: 10px; }
.tour-connection-editor.is-gallery-tool #tour-gallery-items.tour-tool-items { height: calc(100% - 62px); padding: 4px 12px 18px; }
.tour-connection-editor.is-gallery-tool .tour-gallery-item {
  grid-template-columns: minmax(0, 1fr) 32px;
  margin: 0 0 5px;
  border: 0;
  border-radius: 10px;
}
.tour-connection-editor.is-gallery-tool .tour-gallery-item:hover { background: #eef5f8; }
.tour-connection-editor.is-gallery-tool .tour-gallery-item.is-active {
  background: #e8f6fb;
  box-shadow: inset 3px 0 var(--tour-primary);
}
.tour-connection-editor.is-gallery-tool .tour-gallery-item-main {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 11px;
  padding: 7px;
}
.tour-connection-editor.is-gallery-tool .tour-gallery-item-image { width: 112px; height: 82px; border-radius: 8px; }
.tour-connection-editor.is-gallery-tool .tour-gallery-item-copy { align-content: center; gap: 8px; }
.tour-connection-editor.is-gallery-tool .tour-gallery-item-copy strong { font-size: 14px; font-weight: 500; }
.tour-connection-editor.is-gallery-tool .tour-gallery-item-copy small { color: #9aa4a9; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  .tour-editor-loading-spinner::before,
  .tour-editor-loading-spinner::after,
  .tour-editor-loading-progress i { animation: none; }
}

@media (max-width: 700px) {
  .tour-gallery-capture-menu { bottom: 15px; }
}

/* Private tour administration theme. Public viewers never receive these rules. */
.tour-admin-header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.tour-admin-header-actions form { margin: 0; }
.tour-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid #b9dce9;
  border-radius: 9px;
  color: #087da9;
  background: #fff;
  font: 700 13px Quicksand, sans-serif;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.tour-theme-toggle:hover {
  border-color: var(--tour-primary);
  color: #fff;
  background: var(--tour-primary);
  box-shadow: 0 7px 18px rgba(0, 158, 217, .2);
  transform: translateY(-1px);
}
.tour-theme-toggle:focus-visible {
  outline: 3px solid rgba(0, 158, 217, .28);
  outline-offset: 3px;
}
.tour-theme-icon { display: grid; width: 18px; height: 18px; place-items: center; }
.tour-theme-icon svg {
  grid-area: 1 / 1;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: opacity .18s ease, transform .25s ease;
}
.tour-theme-icon-sun { opacity: 0; transform: rotate(-35deg) scale(.75); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-theme-icon-moon { opacity: 0; transform: rotate(35deg) scale(.75); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-theme-icon-sun { opacity: 1; transform: rotate(0) scale(1); }

html[data-tour-admin-theme="dark"] .tour-admin-body {
  color-scheme: dark;
  --tour-ink: #edf7fb;
  --tour-soft: #0c1b25;
  --tour-admin-page: #08141d;
  --tour-admin-editor-page: #091720;
  --tour-admin-surface: #10212c;
  --tour-admin-surface-elevated: #142936;
  --tour-admin-surface-soft: #0c1b25;
  --tour-admin-surface-muted: #172d39;
  --tour-admin-field: #0b1923;
  --tour-admin-border: #294653;
  --tour-admin-border-strong: #376273;
  --tour-admin-text: #edf7fb;
  --tour-admin-muted: #9bb0ba;
  --tour-admin-subtle: #78909b;
  --tour-admin-shadow: 0 14px 38px rgba(0, 0, 0, .32);
  background: var(--tour-admin-page);
  color: var(--tour-admin-text);
}
html[data-tour-admin-theme="dark"] .tour-admin-body.tour-admin-editor-body { background: var(--tour-admin-editor-page); }
html[data-tour-admin-theme="dark"] .tour-admin-body,
html[data-tour-admin-theme="dark"] .tour-admin-body :is(button, input, select, textarea) { color-scheme: dark; }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  .tour-admin-header,
  .tour-admin-card,
  .tour-library-item,
  .tour-connection-editor,
  .tour-scene-settings,
  .tour-hotspot-editor,
  .tour-connection-card,
  .tour-hotspot-row,
  .tour-confirm-dialog,
  .tour-upload-dialog,
  .tour-upload-dialog-actions,
  .tour-create-property,
  .tour-gallery-edit-dialog,
  .tour-profile-property
) {
  color: var(--tour-admin-text);
  border-color: var(--tour-admin-border);
  background: var(--tour-admin-surface);
  box-shadow: var(--tour-admin-shadow);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-admin-header {
  border-bottom: 1px solid var(--tour-admin-border);
  box-shadow: 0 5px 24px rgba(0, 0, 0, .28);
}
html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  h1, h2, h3, strong,
  .tour-library-title,
  .tour-editor-toolbar-title h1,
  .tour-editor-panel-title strong,
  .tour-editor-list-title strong,
  .tour-hotspot-target-preview strong,
  .tour-scene-initial-copy strong,
  .tour-scene-initial-view strong,
  .tour-profile-properties>div:first-child strong,
  .tour-profile-floor-limit strong,
  .tour-appearance-toggle strong
) { color: var(--tour-admin-text); }
html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  p, small,
  .tour-status,
  .tour-library-heading p,
  .tour-library-meta,
  .tour-library-property-state-row,
  .tour-editor-toolbar-meta .tour-status,
  .tour-editor-panel-title small,
  .tour-editor-scene small,
  .tour-editor-help,
  .tour-editor-empty,
  .tour-hotspot-target-preview span,
  .tour-hotspot-return-option small,
  .tour-hotspot-position,
  .tour-hotspot-row small,
  .tour-hotspots-empty,
  .tour-upload-dialog-header p,
  .tour-create-step-heading small,
  .tour-create-property small,
  .tour-tool-copy,
  .tour-profile-form label,
  .tour-element-form label,
  .tour-tool-field,
  .tour-hotspot-editor label,
  .tour-scene-settings>label,
  .tour-scene-space-field>label,
  .tour-appearance-form>label,
  .tour-gallery-edit-dialog label,
  .tour-profile-properties>div:first-child small,
  .tour-profile-property small,
  .tour-profile-floor-limit small,
  .tour-profile-floor-limit p,
  .tour-gallery-item-copy small,
  .tour-gallery-item-copy em
) { color: var(--tour-admin-muted); }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  .tour-library-heading,
  .tour-upload-dialog-header,
  .tour-upload-dialog-actions,
  .tour-tools-nav,
  .tour-editor-scenes-panel,
  .tour-editor-inspector,
  .tour-editor-section-divider,
  .tour-scene-connections,
  .tour-profile-properties,
  .tour-profile-toggle,
  .tour-profile-floor-limit
) { border-color: var(--tour-admin-border); }
html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-editor-scenes-panel, .tour-editor-inspector) {
  background: var(--tour-admin-surface-soft);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-canvas { background: var(--tour-admin-editor-page); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-stage { box-shadow: 0 9px 28px rgba(0, 0, 0, .42); }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
  select,
  textarea,
  .tour-custom-select-trigger,
  .tour-gallery-edit-dialog input
) {
  color: var(--tour-admin-text);
  border-color: var(--tour-admin-border-strong);
  background: var(--tour-admin-field);
  caret-color: var(--tour-primary);
}
html[data-tour-admin-theme="dark"] .tour-admin-body :is(input, textarea)::placeholder { color: #718994; opacity: 1; }
html[data-tour-admin-theme="dark"] .tour-admin-body :is(input, select, textarea, .tour-custom-select-trigger):focus-visible {
  border-color: var(--tour-primary);
  outline: 3px solid rgba(0, 158, 217, .2);
  outline-offset: 1px;
}
html[data-tour-admin-theme="dark"] .tour-admin-body select option { color: var(--tour-admin-text); background: var(--tour-admin-field); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-menu {
  border-color: var(--tour-admin-border-strong);
  background: var(--tour-admin-surface-elevated);
  box-shadow: 0 16px 38px rgba(0, 0, 0, .42);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-option { color: #d6e6ed; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-option:hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-option:focus-visible {
  color: #fff;
  background: #193b4b;
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-option.is-selected { color: #fff; background: var(--tour-primary); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-custom-select-trigger:disabled {
  color: #728995;
  background: #14242d;
  opacity: .78;
}

html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-button.secondary, .tour-theme-toggle, .tour-editor-toolbar-back) {
  color: #64cff4;
  border-color: #315d70;
  background: #10232e;
}
html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-button.secondary, .tour-theme-toggle, .tour-editor-toolbar-back):hover {
  color: #fff;
  border-color: var(--tour-primary);
  background: var(--tour-primary);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-button:disabled {
  color: #71838c;
  border-color: #263d48;
  background: #192a33;
  box-shadow: none;
  opacity: .72;
}

html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-library-empty, .tour-library-error) {
  color: var(--tour-admin-muted);
  border-color: var(--tour-admin-border-strong);
  background: var(--tour-admin-surface-soft);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-error { color: #ff9e9e; border-color: #744047; background: #29191d; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-loading span {
  background: linear-gradient(100deg, #10232e 25%, #19313e 40%, #10232e 55%);
  background-size: 250% 100%;
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-cover { background: linear-gradient(145deg, #122d3a, #16475a); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-state {
  color: #d7e8ef;
  background: rgba(9, 25, 34, .9);
  box-shadow: 0 5px 15px rgba(0, 0, 0, .32);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-state.is-published { color: #6dd5fa; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-state.is-draft { color: #ffd277; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process { border-color:#24556a; background:#102b37; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process strong { color:#65d0f5; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process output { color:#65d0f5; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process span { color:#a8c0cb; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process.is-error { border-color:#744047; background:#29191d; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-library-process.is-error strong { color:#ff9e9e; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-property-state.is-available { color: #8fe2ba; background: #123527; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-property-state.is-reserved { color: #ffd77f; background: #3a2c13; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-property-state.is-sold { color: #e8b28d; background: #38261f; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-property-state.is-rented,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-property-state.is-unknown { color: #b8cbd4; background: #21343e; }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-selected-preview, .tour-scene-card) {
  color: var(--tour-admin-text);
  border-color: var(--tour-admin-border);
  background: var(--tour-admin-surface-soft);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-selected-preview span { color: var(--tour-admin-muted); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-selected-preview.is-processing { border-color: var(--tour-primary); }

html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tools-nav :is(button,.tour-tools-link) { color: #9db3bd; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tools-nav :is(button,.tour-tools-link) span { color: #50c9f3; background: #153746; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tools-nav :is(button,.tour-tools-link):hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tools-nav button.is-active { color: #f4fbfe; background: #173644; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-panel-title span,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-list-heading span { color: #b9ced7; background: #203743; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-scene { color: var(--tour-admin-text); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-scene:hover { background: #142d39; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-scene.is-active { border-color: #267fa0; background: #123645; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-save-state { color: #b3c7d0; background: #1b313c; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-save-state.is-dirty { color: #ffd77f; background: #3a2c13; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-save-state.is-saved { color: #8fe2ba; background: #123527; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-close { color: #b8ccd5; background: #1b313c; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-close:hover { color: #fff; background: var(--tour-primary); }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  .tour-hotspot-target-preview,
  .tour-scene-space-create,
  .tour-scene-initial-card,
  .tour-scene-initial-view,
  .tour-hotspot-editor .tour-hotspot-return-option,
  .tour-connection-card>.tour-hotspot-editor,
  .tour-profile-property,
  .tour-create-step,
  .tour-appearance-toggle,
  .tour-gallery-item,
  .tour-gallery-inspector-list .tour-gallery-item
) {
  color: var(--tour-admin-text);
  border-color: var(--tour-admin-border);
  background: var(--tour-admin-surface-soft);
}
html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-hotspot-row:hover, .tour-hotspot-row.is-active) { background: #123645; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-connection-card.is-expanded { box-shadow: 0 10px 25px rgba(0, 0, 0, .3); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-gallery-item:hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-connection-editor.is-gallery-tool .tour-gallery-item:hover { background: #18313d; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-gallery-item.is-active,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-connection-editor.is-gallery-tool .tour-gallery-item.is-active { background: #123645; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-empty-icon { background: #153746; }
html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-tool-summary, .tour-tool-empty) {
  color: var(--tour-admin-muted);
  background: var(--tour-admin-surface-muted);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tool-item { color: var(--tour-admin-text); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tool-item:hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tool-item.is-active { border-color: #267fa0; background: #123645; }

html[data-tour-admin-theme="dark"] .tour-admin-body .tour-upload-dropzone {
  color: #a5bbc5;
  border-color: #346275;
  background: #0c1d27;
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-upload-dropzone:hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-upload-dropzone.is-dragging { background: #113443; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-create-step { background: #0c1b25; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-loading {
  color: var(--tour-admin-text);
  background:
    radial-gradient(circle at 50% 44%, rgba(20, 56, 72, .62) 0, rgba(20, 56, 72, 0) 250px),
    var(--tour-admin-editor-page);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-loading small { color: var(--tour-admin-muted); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-loading-spinner {
  border-color: rgba(0, 158, 217, .28);
  background: var(--tour-admin-surface-elevated);
  box-shadow: 0 14px 38px rgba(0, 0, 0, .32);
}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-confirm-dialog::backdrop,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-upload-dialog::backdrop { background: rgba(1, 8, 12, .78); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-confirm-icon { color: #ff9292; background: #3b1c21; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-duplicate-icon { color: #ffd477; background: #3b2e14; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-duplicate-content ul { color: #c8d9e0; border-color: var(--tour-admin-border); background: var(--tour-admin-surface-soft); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-duplicate-content li span { color: var(--tour-admin-subtle); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-button.ghost-danger,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-profile-property-remove { color: #ff9696; background: #351a1f; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-button.ghost-danger:hover,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-profile-property-remove:hover { color: #fff; background: #bf3b42; }
html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-appearance-form fieldset, .tour-gallery-edit-dialog label) { border-color: var(--tour-admin-border); color: var(--tour-admin-muted); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-color-field input[type="color"] { border-color: var(--tour-admin-border-strong); background: var(--tour-admin-field); }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-hotspot-direction-status.is-roundtrip,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-hotspot-direction.is-roundtrip { color: #89e2b7; background: #123527; }
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-hotspot-direction-status.is-oneway,
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-hotspot-direction.is-oneway { color: #ffd77f; background: #3a2c13; }

html[data-tour-admin-theme="dark"] .tour-admin-body :is(
  *,
  .tour-editor-scenes,
  .tour-editor-inspector,
  .tour-tool-items,
  .tour-gallery-inspector-list,
  .tour-custom-select-menu
) {
  scrollbar-color: #365d6e #0b1922;
}

@media (max-width: 700px) {
  .tour-admin-header-actions { width: 100%; justify-content: flex-start; flex-wrap: wrap; }
  .tour-theme-toggle { flex: 1 1 auto; }
  .tour-admin-header-actions form { flex: 1 1 auto; }
  .tour-admin-header-actions form .tour-button { width: 100%; }
}

/* Keep equal horizontal breathing room around the create-tour progress bar. */
.tour-create-dialog .tour-create-step .tour-upload-progress {
  width: calc(100% - 36px);
  margin: 12px 18px 18px;
}

.tour-connection-cloud-stage {
  display: block;
  width: 100%;
  height: 100%;
}
.tour-connection-cloud > p[hidden] { display: none; }

.tour-reconstruction-body{min-height:100vh}.tour-reconstruction-title{display:flex;align-items:flex-start;gap:16px}.tour-reconstruction-title h1{margin:2px 0 4px}.tour-reconstruction-title p{margin:0;color:#68808b}.tour-reconstruction-main{max-width:1500px;margin:0 auto}.tour-reconstruction-grid{display:grid;grid-template-columns:minmax(280px,360px) minmax(0,1fr);gap:18px;align-items:start}.tour-reconstruction-sidebar,.tour-floor-plan-workspace{padding:22px}.tour-reconstruction-sidebar h2,.tour-floor-plan-workspace h2{margin:3px 0 5px}.tour-reconstruction-sidebar p{color:#68808b}.tour-reconstruction-sidebar hr{width:100%;margin:22px 0;border:0;border-top:1px solid #d9e6eb}.tour-spatial-floor-list,.tour-floor-plan-list{display:grid;gap:9px;margin-top:14px}.tour-spatial-floor-card{display:grid;gap:7px;padding:12px;border:1px solid #d3e2e8;border-radius:12px;background:#f8fbfc}.tour-spatial-floor-card small{color:#708792}.tour-spatial-floor-card select{width:100%;padding:9px 10px;border:1px solid #c9dce4;border-radius:8px;color:#294651;background:#fff}.tour-spatial-floor-confirm{color:#58717c;font-size:12px}.tour-reconstruction-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.tour-floor-plan-item{display:grid;gap:3px;width:100%;padding:11px 12px;border:1px solid #d3e2e8;border-radius:10px;text-align:left;color:#294651;background:#fff;cursor:pointer}.tour-floor-plan-item span{color:#718994;font-size:11px}.tour-floor-plan-item.is-active{border-color:var(--tour-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--tour-primary) 16%,transparent)}.tour-floor-plan-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.tour-floor-plan-heading p{margin:0;color:#68808b}.tour-floor-plan-empty{display:grid;place-content:center;gap:5px;min-height:500px;margin-top:18px;border:1px dashed #c9dce4;border-radius:16px;text-align:center;color:#718994;background:#f8fbfc}.tour-floor-plan-empty-copy{margin:4px 0;color:#718994;font-size:12px}.tour-floor-plan-canvas{height:min(68vh,760px);min-height:520px;margin-top:18px;overflow:hidden;border:1px solid #cbdce3;border-radius:16px;background:#071018}.tour-floor-plan-canvas svg{display:block;width:100%;height:100%;background:#071018}.plan-grid line{stroke:#1c3442;stroke-width:1}.plan-passage{stroke:#7aa4b7;stroke-width:2;stroke-dasharray:8 7;opacity:.7}.plan-wall{stroke:#dce8ed;stroke-width:8;stroke-linecap:square}.plan-wall.detected{stroke:#fff}.plan-room-label{fill:#c9dce4;font:700 18px sans-serif;text-anchor:middle;paint-order:stroke;stroke:#071018;stroke-width:5}.plan-camera circle{fill:#075ee8;stroke:#dbe9ff;stroke-width:4}.plan-camera.estimated circle{stroke:#f5b942;stroke-width:5;stroke-dasharray:5 3}.plan-camera text{fill:#fff;font:800 10px sans-serif;text-anchor:middle;pointer-events:none}.tour-floor-plan-metrics{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}.tour-floor-plan-metrics span{padding:7px 10px;border-radius:999px;color:#59727d;background:#edf4f7;font-size:11px}.tour-floor-plan-metrics strong{color:#24424e}.tour-status.error{color:#b42318}
@media(max-width:900px){.tour-reconstruction-grid{grid-template-columns:1fr}.tour-floor-plan-heading{display:grid}.tour-floor-plan-canvas{min-height:430px}.tour-reconstruction-title p{display:none}}
html[data-tour-admin-theme="dark"] .tour-spatial-floor-card,html[data-tour-admin-theme="dark"] .tour-floor-plan-item,html[data-tour-admin-theme="dark"] .tour-floor-plan-empty{border-color:#284554;color:#d8e8ef;background:#102531}html[data-tour-admin-theme="dark"] .tour-spatial-floor-card select{border-color:#31505f;color:#d8e8ef;background:#0d202a}html[data-tour-admin-theme="dark"] .tour-reconstruction-sidebar hr{border-color:#294450}html[data-tour-admin-theme="dark"] .tour-floor-plan-metrics span{color:#b9ced7;background:#17303c}

.tour-floor-plan-open svg{width:20px;height:20px;fill:currentColor}.tour-public-floor-plan{width:min(900px,calc(100% - 28px));max-height:calc(100% - 28px);padding:0;overflow:hidden;border:0;border-radius:18px;color:#dce8ed;background:#071018;box-shadow:0 24px 80px rgba(0,0,0,.5)}.tour-public-floor-plan::backdrop{background:rgba(0,8,14,.72);backdrop-filter:blur(6px)}.tour-public-floor-plan-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid #203744}.tour-public-floor-plan-header small{color:#6caeff;font-size:10px;font-weight:800;letter-spacing:.12em}.tour-public-floor-plan-header h2{margin:3px 0 0;color:#fff;font-size:22px}.tour-public-floor-plan-close{display:grid;place-items:center;width:38px;height:38px;border:1px solid #375464;border-radius:50%;color:#fff;background:#102733;font-size:25px;cursor:pointer}.tour-public-floor-plan-tabs{display:flex;gap:7px;padding:13px 22px 0;overflow-x:auto}.tour-public-floor-plan-tabs button{padding:7px 11px;border:1px solid #385463;border-radius:999px;color:#bbced7;background:transparent;font:700 11px inherit;white-space:nowrap;cursor:pointer}.tour-public-floor-plan-tabs button.is-active{border-color:#4d8dff;color:#fff;background:#075ee8}.tour-public-floor-plan-image{display:grid;place-items:center;height:min(68vh,650px);padding:16px}.tour-public-floor-plan-image img{display:block;max-width:100%;max-height:100%;border-radius:12px;background:#f7fbfd}.tour-public-floor-plan>p{margin:0;padding:0 22px 17px;color:#78919d;font-size:11px;text-align:right}@media(max-width:700px){.tour-public-floor-plan-image{height:62vh;padding:10px}.tour-public-floor-plan-header{padding:14px 16px}.tour-public-floor-plan-tabs{padding-right:16px;padding-left:16px}}

html[data-tour-admin-theme="dark"] .tour-create-step .tour-capture-preview{border-color:#315363;background:#102733}
html[data-tour-admin-theme="dark"] .tour-capture-preview>label{color:#a6bdc7}
html[data-tour-admin-theme="dark"] .tour-capture-preview :is(input[type="text"],select){border-color:#345665;color:#e7f2f6;background:#0a202a}
html[data-tour-admin-theme="dark"] .tour-capture-remove{color:#ff9e9e}
.tour-capture-taxonomies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}.tour-capture-taxonomies[hidden]{display:none}.tour-capture-taxonomy{min-width:0;padding:12px;border:1px solid #d6e6ec;border-radius:11px;background:#f5fafc}.tour-capture-taxonomy-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tour-capture-taxonomy-heading>div{display:grid;gap:2px}.tour-capture-taxonomy-heading strong{font-size:13px}.tour-capture-taxonomy-heading small{color:#718792;font-size:10px}.tour-capture-taxonomy-heading>button,.tour-capture-option-editor button{padding:6px 9px;border:1px solid #9ed6e9;border-radius:7px;color:#007da9;background:#fff;font:700 11px inherit;cursor:pointer}.tour-capture-option-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.tour-capture-option{display:inline-flex;max-width:100%;align-items:center;overflow:hidden;border:1px solid #c8dfe8;border-radius:8px;background:#fff}.tour-capture-option strong{padding:6px 8px;overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.tour-capture-option button{align-self:stretch;padding:0 7px;border:0;border-left:1px solid #d8e7ed;color:#46707f;background:#f7fbfc;font:700 10px inherit;cursor:pointer}.tour-capture-option button.is-delete{color:#ad3939;font-size:16px}.tour-capture-option button:disabled{color:#91a4ac;cursor:not-allowed}.tour-capture-option-empty{padding:5px 0;color:#80949d;font-size:10px}.tour-capture-option-editor{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin-top:10px}.tour-capture-option-editor[hidden]{display:none}.tour-capture-option-editor input{min-width:0;padding:7px 9px;border:1px solid #c5dce5;border-radius:7px;font:12px inherit}.tour-capture-option-editor button:last-child{border-color:#d5e2e7;color:#607985}
html[data-tour-admin-theme="dark"] .tour-capture-taxonomy{border-color:#2d4c5a;background:#0d222d}html[data-tour-admin-theme="dark"] .tour-capture-taxonomy-heading small,html[data-tour-admin-theme="dark"] .tour-capture-option-empty{color:#91aab5}html[data-tour-admin-theme="dark"] .tour-capture-taxonomy-heading>button,html[data-tour-admin-theme="dark"] .tour-capture-option-editor button,html[data-tour-admin-theme="dark"] .tour-capture-option{border-color:#345665;color:#dceaf0;background:#102d3a}html[data-tour-admin-theme="dark"] .tour-capture-option button{border-color:#345665;color:#a9c5d0;background:#173947}html[data-tour-admin-theme="dark"] .tour-capture-option button.is-delete{color:#ff9e9e}html[data-tour-admin-theme="dark"] .tour-capture-option-editor input{border-color:#345665;color:#e7f2f6;background:#0a202a}

@media(max-width:700px){
  .tour-create-step-heading{align-items:flex-start;flex-wrap:wrap}
  .tour-create-step-heading .tour-create-add-files{width:100%;justify-content:center;margin-left:41px}
  .tour-create-step .tour-selected-previews{grid-template-columns:1fr}
  .tour-capture-taxonomies{grid-template-columns:1fr}
  .tour-panorama-preview-dialog{width:100%;height:100%;border-radius:0}
}

/* Organizador de panoramas: tarjetas compactas y ordenamiento con feedback visible. */
.tour-create-dialog{width:min(1320px,calc(100% - 28px));max-width:calc(100% - 28px)}
.tour-create-body{padding:22px clamp(18px,2.5vw,34px) 28px}
.tour-capture-help{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:13px 0 0}.tour-capture-help p{margin:0;color:#607985;font-size:12px}.tour-capture-drag-tip{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;padding:8px 11px;border:1px solid #a9dbea;border-radius:999px;color:#087da6;background:#edf9fd;font-size:11px;font-weight:800}.tour-capture-drag-tip b{font-size:16px;line-height:1}
.tour-create-step .tour-selected-previews{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin-top:18px;padding:5px}
.tour-create-step .tour-capture-preview{position:relative;overflow:visible;padding:0;border:1px solid #bfd8e2;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(17,58,75,.08);transition:border-color .2s ease,box-shadow .2s ease,opacity .2s ease,transform .2s ease,filter .2s ease}
.tour-capture-order{position:relative;z-index:2;top:auto;left:auto;display:flex;min-height:48px;align-items:center;gap:8px;padding:7px 8px;border-radius:13px 13px 0 0;border-bottom:1px solid #d8e7ed;background:#f4f9fb}
.tour-capture-position{display:flex;align-items:baseline;gap:5px;padding:0 5px;color:#163b4a}.tour-capture-position small{color:#78909a;font-size:8px;font-weight:900;letter-spacing:.1em}.tour-capture-position strong{min-width:auto;height:auto;color:inherit;font-size:18px}
.tour-capture-drag-handle{display:inline-flex;flex:1;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;border:1px dashed #62bddc;border-radius:8px;color:#087ba3;background:#e7f7fc;font-size:11px;font-weight:800;cursor:grab;user-select:none}.tour-capture-drag-handle:hover,.tour-capture-drag-handle:focus-visible{outline:0;border-style:solid;background:#d6f1fa;box-shadow:0 0 0 3px rgba(0,158,217,.12)}.tour-capture-drag-handle:active{cursor:grabbing}.tour-capture-drag-handle b{font-size:17px;line-height:1}
.tour-capture-stepper{display:flex;gap:4px}.tour-capture-order .tour-capture-stepper button{width:30px;height:30px;border:1px solid #c8dce5;border-radius:7px;color:#234653;background:#fff}.tour-capture-order .tour-capture-stepper button:hover:not(:disabled){border-color:#62bddc;color:#007fae;background:#f0fbfe}
.tour-capture-thumb{border-radius:0;cursor:default}.tour-capture-thumb>img{height:150px;border-radius:0;object-fit:cover}.tour-capture-open{right:10px;bottom:10px;padding:8px 10px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(5,28,39,.9);box-shadow:0 4px 12px rgba(0,0,0,.2)}
.tour-capture-preview figcaption{padding:10px 12px 7px;color:#153b4a;font-size:12px}
.tour-capture-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:4px 12px 11px}.tour-capture-fields>label{display:grid;min-width:0;gap:4px;color:#607985;font-size:10px;font-weight:800}.tour-capture-fields>label:first-child{grid-column:1/-1}.tour-capture-fields>label small{margin-left:4px;color:#8a9da5;font-size:8px;font-weight:600;text-transform:uppercase}.tour-capture-preview .tour-capture-fields select{min-height:38px;padding:6px 9px}
.tour-capture-card-footer{display:flex;min-height:45px;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-top:1px solid #dfebef;border-radius:0 0 13px 13px;background:#f8fbfc}.tour-capture-card-footer .tour-capture-previous{display:flex;min-width:0;align-items:center;gap:7px;color:#41616e;font-size:11px;font-weight:700}.tour-capture-card-footer .tour-capture-previous input{margin:0;accent-color:var(--tour-primary)}.tour-capture-remove{flex:0 0 auto;margin:0;padding:6px 8px;border-radius:7px}.tour-capture-remove:hover{background:#fff0f0}
.tour-selected-previews.is-sorting{cursor:grabbing}.tour-selected-previews.is-sorting .tour-capture-preview:not(.is-dragging){opacity:.72;filter:saturate(.72)}.tour-create-step .tour-capture-preview.is-dragging{opacity:.22;transform:scale(.96);border-color:#44bde7;border-style:dashed;box-shadow:none;filter:grayscale(.65)}.tour-create-step .tour-capture-preview.is-drop-before,.tour-create-step .tour-capture-preview.is-drop-after{z-index:4;opacity:1;transform:translateY(-5px);border-color:#26bde9;box-shadow:0 14px 34px rgba(0,158,217,.24);filter:none}.tour-capture-preview.is-drop-before::before,.tour-capture-preview.is-drop-after::after{content:"";position:absolute;z-index:8;top:-8px;bottom:-8px;width:5px;border-radius:999px;background:#14c7f4;box-shadow:0 0 0 4px rgba(20,199,244,.18);animation:tour-drop-marker .75s ease-in-out infinite alternate}.tour-capture-preview.is-drop-before::before{left:-12px}.tour-capture-preview.is-drop-after::after{right:-12px}.tour-capture-preview:is(.is-drop-before,.is-drop-after) .tour-capture-order::after{content:"SOLTAR ACÁ";position:absolute;z-index:9;top:-19px;padding:4px 8px;border-radius:999px;color:#fff;background:#009ed9;box-shadow:0 4px 12px rgba(0,126,174,.25);font-size:8px;font-weight:900;letter-spacing:.08em}.tour-capture-preview.is-drop-before .tour-capture-order::after{left:3px}.tour-capture-preview.is-drop-after .tour-capture-order::after{right:3px}
.tour-capture-drag-preview{position:fixed!important;z-index:99999!important;top:-2000px!important;left:-2000px!important;margin:0!important;opacity:.94!important;transform:rotate(2deg) scale(.96)!important;border:2px solid #17bde9!important;box-shadow:0 24px 55px rgba(0,0,0,.35)!important;pointer-events:none!important}
@keyframes tour-drop-marker{to{box-shadow:0 0 0 7px rgba(20,199,244,.08)}}
html[data-tour-admin-theme="dark"] .tour-capture-help p{color:#9bb3bd}html[data-tour-admin-theme="dark"] .tour-capture-drag-tip{border-color:#28657a;color:#6fdcff;background:#102f3c}html[data-tour-admin-theme="dark"] .tour-capture-order{border-color:#2c4b59;background:#0c212b}html[data-tour-admin-theme="dark"] .tour-capture-position{color:#e0eef3}html[data-tour-admin-theme="dark"] .tour-capture-position small{color:#81a0ac}html[data-tour-admin-theme="dark"] .tour-capture-drag-handle{border-color:#377f97;color:#72dafe;background:#123441}html[data-tour-admin-theme="dark"] .tour-capture-drag-handle:hover{background:#174253}html[data-tour-admin-theme="dark"] .tour-capture-order .tour-capture-stepper button{border-color:#315363;color:#dcebf0;background:#153542}html[data-tour-admin-theme="dark"] .tour-capture-preview figcaption{color:#e3eff3}html[data-tour-admin-theme="dark"] .tour-capture-fields>label{color:#a6bdc7}html[data-tour-admin-theme="dark"] .tour-capture-card-footer{border-color:#2c4b59;background:#0d222d}html[data-tour-admin-theme="dark"] .tour-capture-card-footer .tour-capture-previous{color:#b9ced6}
@media(max-width:1000px){.tour-create-step .tour-selected-previews{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.tour-capture-help{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.tour-create-dialog{width:100%;max-width:100%;max-height:100vh;border-radius:0}.tour-create-body{padding:14px}.tour-create-step{padding:13px}.tour-create-step .tour-selected-previews{grid-template-columns:1fr;padding:2px}.tour-capture-drag-tip{width:100%;box-sizing:border-box;justify-content:center}.tour-capture-thumb>img{height:180px}}

/* Las tarjetas de fotos aprovechan mejor el ancho disponible del diálogo. */
.tour-create-step .tour-selected-previews{padding-right:0;padding-left:0}
.tour-create-step .tour-capture-preview figcaption{padding-right:9px;padding-left:9px}
.tour-create-step .tour-capture-fields{padding-right:9px;padding-left:9px}
.tour-create-step .tour-capture-card-footer{padding-right:9px;padding-left:9px}

/* Selectores personalizados de las tarjetas de carga. */
.tour-capture-custom-select{position:relative;min-width:0}.tour-capture-custom-select>select{display:none!important}.tour-capture-custom-select-trigger{display:flex;box-sizing:border-box;width:100%;min-height:38px;align-items:center;justify-content:space-between;gap:8px;padding:6px 9px;border:1px solid #2d6176;border-radius:8px;color:#e5f5fa;background:#081b25;font:500 11px inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.tour-capture-custom-select-trigger:hover,.tour-capture-custom-select.is-open .tour-capture-custom-select-trigger{border-color:#14b8ea;background:#0d2632;box-shadow:0 0 0 3px rgba(0,158,217,.14)}.tour-capture-custom-select-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-capture-custom-select-chevron{flex:0 0 auto;color:#8ddbf5;font-size:16px;line-height:1;transform:translateY(-1px);transition:transform .18s ease}.tour-capture-custom-select.is-open .tour-capture-custom-select-chevron{transform:rotate(180deg) translateY(1px)}.tour-capture-custom-select-menu{position:absolute;z-index:40;top:calc(100% + 5px);right:0;left:0;display:none;max-height:210px;overflow:auto;padding:5px;border:1px solid #2f6479;border-radius:9px;background:#081923;box-shadow:0 14px 28px rgba(0,0,0,.38)}.tour-capture-custom-select.is-open .tour-capture-custom-select-menu{display:grid;gap:2px}.tour-capture-custom-select-menu button{display:block;width:100%;padding:8px 9px;border:0;border-radius:6px;color:#d9edf3;background:transparent;font:500 11px inherit;text-align:left;cursor:pointer}.tour-capture-custom-select-menu button:hover,.tour-capture-custom-select-menu button:focus-visible{outline:0;color:#fff;background:#123b4c}.tour-capture-custom-select-menu button.is-selected{color:#062438;background:#82b9ee;font-weight:700}.tour-capture-custom-select-menu button.is-selected:hover,.tour-capture-custom-select-menu button.is-selected:focus-visible{color:#062438;background:#9acbfa}
html[data-tour-admin-theme="light"] .tour-capture-custom-select-trigger{border-color:#7bbbd0;color:#1a3c4a;background:#f7fcfe}html[data-tour-admin-theme="light"] .tour-capture-custom-select-trigger:hover,html[data-tour-admin-theme="light"] .tour-capture-custom-select.is-open .tour-capture-custom-select-trigger{border-color:#009ed9;color:#173b4a;background:#fff}html[data-tour-admin-theme="light"] .tour-capture-custom-select-menu{border-color:#8ac7d9;background:#fff;box-shadow:0 14px 28px rgba(17,58,75,.2)}html[data-tour-admin-theme="light"] .tour-capture-custom-select-menu button{color:#294d5a}html[data-tour-admin-theme="light"] .tour-capture-custom-select-menu button:hover,html[data-tour-admin-theme="light"] .tour-capture-custom-select-menu button:focus-visible{color:#123442;background:#e8f7fc}

/* Planos dentro del editor principal. */
.tour-floorplan-sidebar{display:grid;gap:10px;padding:0 9px 14px}.tour-floorplan-sidebar[hidden]{display:none}.tour-floorplan-sidebar>p{margin:0;padding:10px 8px;color:#6d838d;font-size:10px;line-height:1.45}.tour-floorplan-sidebar-list{display:grid;gap:6px}.tour-floorplan-sidebar-item{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:8px;border:1px solid transparent;border-radius:10px;color:#294753;background:transparent;text-align:left;cursor:pointer}.tour-floorplan-sidebar-item>span:first-child{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;color:#087fa9;background:#e2f4fa;font-size:18px}.tour-floorplan-sidebar-item strong,.tour-floorplan-sidebar-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-floorplan-sidebar-item strong{font-size:11px}.tour-floorplan-sidebar-item small{margin-top:3px;color:#78909a;font-size:9px}.tour-floorplan-sidebar-item:hover{background:#edf6fa}.tour-floorplan-sidebar-item.is-active{border-color:#8ad5ee;background:#e5f7fd;box-shadow:inset 3px 0 var(--tour-primary)}.tour-floorplan-sidebar>.tour-button{display:flex;width:100%;justify-content:center;padding:9px 8px;font-size:11px;text-decoration:none}.tour-tools-nav button.has-data span::after{content:"";position:absolute;right:-2px;bottom:-2px;width:7px;height:7px;border:2px solid #f8fbfc;border-radius:50%;background:#25b96f}.tour-tools-nav button span{position:relative}
.tour-review-sidebar{display:grid;gap:10px;padding:0 9px 14px}.tour-review-sidebar[hidden]{display:none}.tour-review-sidebar>p{margin:0;padding:10px 8px;color:#6d838d;font-size:10px;line-height:1.45}.tour-review-sidebar-list{display:grid;gap:6px}.tour-review-sidebar-item{display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;width:100%;padding:8px;border:1px solid transparent;border-radius:10px;color:#294753;background:transparent;text-align:left;cursor:pointer}.tour-review-sidebar-item>span:first-child{display:grid;width:31px;height:31px;place-items:center;border-radius:8px;color:#8a6817;background:#fff3cc;font-size:11px;font-weight:900}.tour-review-sidebar-item strong,.tour-review-sidebar-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-review-sidebar-item strong{font-size:11px}.tour-review-sidebar-item small{margin-top:3px;color:#78909a;font-size:9px}.tour-review-sidebar-item:hover{background:#f7f1df}.tour-review-sidebar-item.is-active{border-color:#efc56b;background:#fff8e8;box-shadow:inset 3px 0 #e5a323}.tour-review-tool{display:grid;gap:13px}.tour-review-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.tour-review-stats article{display:grid;gap:2px;padding:9px;border:1px solid #d8e7ed;border-radius:8px;background:#f8fbfc}.tour-review-stats strong{color:#24424e;font-size:18px}.tour-review-stats span{color:#78909a;font-size:8px;font-weight:900;text-transform:uppercase}.tour-review-current,.tour-review-missing,.tour-review-candidates{display:grid;gap:10px;padding:12px;border:1px solid #d5e4ea;border-radius:10px;background:#fff}.tour-review-current>strong,.tour-review-missing strong,.tour-review-candidates strong{font-size:12px}.tour-review-current p,.tour-review-missing small,.tour-review-candidates small{margin:0;color:#6b828d;font-size:10px;line-height:1.45}.tour-review-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tour-review-pair figure{min-width:0;margin:0;overflow:hidden;border:1px solid #d9e6eb;border-radius:8px;background:#f4f8fa}.tour-review-pair img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;background:#dce8ee}.tour-review-pair figcaption{overflow:hidden;padding:6px;color:#395966;font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tour-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tour-review-missing label{display:grid;gap:5px;color:#58717c;font-size:10px;font-weight:800}.tour-review-missing select{min-height:38px;padding:0 8px;border:1px solid #c9dce4;border-radius:8px;color:#254550;background:#fff;font:11px inherit}.tour-review-candidates>div:last-child{display:grid;gap:6px}.tour-review-candidates button{display:grid;gap:3px;width:100%;padding:8px;border:1px solid #d9e6eb;border-radius:8px;color:#294753;background:#f8fbfc;text-align:left;cursor:pointer}.tour-review-candidates button.is-active{border-color:#efc56b;background:#fff8e8}.tour-review-candidates button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tour-review-candidates button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tour-review-reject-detail{display:grid;gap:8px;padding:12px;border:1px solid #ead49b;border-radius:10px;background:#fffaf0}.tour-review-reason-field{display:grid;gap:5px;color:#72500c;font-size:10px;font-weight:800}.tour-review-reject-detail textarea{box-sizing:border-box;width:100%;min-height:54px;padding:8px;border:1px solid #dfc27c;border-radius:8px;color:#3f3215;background:#fff;font:11px inherit;resize:vertical}.tour-review-reason-field .tour-custom-select-trigger{min-height:38px;border-color:#dfc27c;color:#3f3215;background:#fff;font-size:11px}.tour-review-reason-field .tour-custom-select-trigger:hover,.tour-review-reason-field .tour-custom-select.is-open .tour-custom-select-trigger{border-color:#d49b20;box-shadow:0 0 0 3px rgba(212,155,32,.15)}.tour-review-reason-field .tour-custom-select-trigger .is-placeholder{color:#8a7b5b;font-weight:600}.tour-review-reason-field .tour-custom-select-menu{z-index:90;border-color:#dfc27c;background:#fffdf7;box-shadow:0 14px 30px rgba(83,61,12,.2)}.tour-review-reason-field .tour-custom-select-option{color:#4b3a16;font-size:11px;font-weight:600}.tour-review-reason-field .tour-custom-select-option:hover,.tour-review-reason-field .tour-custom-select-option:focus-visible{color:#624500;background:#fff0c8}.tour-review-reason-field .tour-custom-select-option.is-selected{color:#352300;background:#ffd77f}.tour-review-reject-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}.tour-review-reject-actions .tour-button{width:100%}
.tour-review-reject-detail[hidden]{display:none}
.tour-review-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:3px;border:1px solid #d1e1e7;border-radius:8px;background:#edf4f7}.tour-review-mode-tabs button{min-width:0;min-height:36px;padding:6px 5px;border:0;border-radius:6px;color:#607984;background:transparent;font:800 9px inherit;line-height:1.2;cursor:pointer}.tour-review-mode-tabs button:hover{color:#087fa9;background:rgba(255,255,255,.65)}.tour-review-mode-tabs button.is-active{color:#fff;background:#087fa9;box-shadow:0 2px 7px rgba(8,127,169,.24)}.tour-review-workspace{display:grid;gap:10px}.tour-review-workspace[hidden],.tour-review-missing[hidden],.tour-review-candidates[hidden]{display:none}
.tour-review-actions[hidden]{display:none}.tour-review-actions .tour-button.is-loading,.tour-review-reject-actions .tour-button.is-loading{display:flex;align-items:center;justify-content:center;gap:7px;cursor:wait}.tour-review-actions .tour-button.is-loading::before,.tour-review-reject-actions .tour-button.is-loading::before{content:"";flex:0 0 13px;width:13px;height:13px;box-sizing:border-box;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:tour-review-spin .7s linear infinite}.tour-review-actions .tour-button.secondary.is-loading::before,.tour-review-reject-actions .tour-button.secondary.is-loading::before{border-color:rgba(8,127,169,.28);border-top-color:#087fa9}.tour-review-action-status{min-height:16px;margin:0;color:#6b828d;font-size:10px;line-height:1.4}.tour-review-action-status:empty{display:none}.tour-review-action-status.is-loading{color:#087fa9}.tour-review-action-status.is-success{color:#16734a}.tour-review-action-status.is-error{color:#b12626}@keyframes tour-review-spin{to{transform:rotate(360deg)}}
.tour-review-scene{min-width:0;margin:0;padding:0;overflow:hidden;border:1px solid #d9e6eb;border-radius:8px;color:#395966;background:#f4f8fa;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.tour-review-scene:hover{border-color:#72c9e8;transform:translateY(-1px)}.tour-review-scene.is-current{border-color:#f0b637;box-shadow:0 0 0 2px rgba(240,182,55,.22)}.tour-review-scene img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover;background:#dce8ee}.tour-review-scene>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;padding:6px}.tour-review-scene strong{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.tour-review-scene small{color:#087fa9;font-size:8px;font-weight:900;text-transform:uppercase}.tour-review-scene.is-current small{color:#9b6500}
.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-under-review{z-index:8!important;filter:drop-shadow(0 0 9px rgba(244,177,36,.9))}.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-review-editable{cursor:grab;touch-action:none}.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-review-editable:active{cursor:grabbing}.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-under-review .tour-hotspot-label{opacity:1;transform:translate(-50%,0);color:#2d2109;background:#ffd76f}.pnlm-hotspot-base.tour-hotspot.editor-hotspot.is-review-modified .tour-hotspot-label{color:#052c1d;background:#8ce7ba}.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall.is-under-review::before{border-color:#fff4c5;background:rgba(244,177,36,.7);box-shadow:0 0 0 5px rgba(255,255,255,.82),0 0 0 10px rgba(244,177,36,.48),0 7px 20px rgba(0,0,0,.34)}.pnlm-hotspot-base.tour-hotspot.hotspot-surface-wall.is-under-review::after{background:#f4b124}.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor.is-under-review .tour-floor-ring{border-color:#fff7d6;background:rgba(244,177,36,.48);box-shadow:0 0 0 3px rgba(255,255,255,.8),0 0 0 8px rgba(244,177,36,.46),0 5px 15px rgba(0,0,0,.34)}.pnlm-hotspot-base.tour-hotspot.hotspot-surface-floor.is-under-review .tour-floor-core{background:#eaa315;box-shadow:0 0 0 4px rgba(244,177,36,.38),0 0 12px rgba(255,214,106,.88)}.pnlm-hotspot-base.tour-hotspot.is-review-modified .tour-floor-ring{border-color:#eafff4;background:rgba(39,187,115,.5);box-shadow:0 0 0 3px rgba(255,255,255,.85),0 0 0 8px rgba(39,187,115,.45),0 5px 15px rgba(0,0,0,.34)}.pnlm-hotspot-base.tour-hotspot.is-review-candidate{animation:tour-review-marker-pulse .9s ease-in-out infinite alternate}@keyframes tour-review-marker-pulse{to{filter:drop-shadow(0 0 16px rgba(255,205,80,1))}}
.tour-floorplan-tool{min-width:0}.tour-floorplan-tabs{display:flex;gap:6px;margin-bottom:10px;overflow-x:auto;padding:1px 0 5px}.tour-floorplan-tabs:empty{display:none}.tour-floorplan-tabs button{flex:0 0 auto;padding:7px 10px;border:1px solid #c9dce4;border-radius:999px;color:#5c7480;background:#fff;font:700 10px inherit;cursor:pointer}.tour-floorplan-tabs button:hover{border-color:#78c9e6;color:#087da8}.tour-floorplan-tabs button.is-active{border-color:var(--tour-primary);color:#fff;background:var(--tour-primary)}.tour-floorplan-preview{position:relative;display:grid;min-height:255px;overflow:hidden;place-items:center;border:1px solid #cbdde5;border-radius:14px;background:#071018;box-shadow:inset 0 0 45px rgba(0,0,0,.28)}.tour-floorplan-preview::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(68,111,132,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(68,111,132,.12) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.tour-floorplan-preview svg{position:relative;z-index:1;display:block;width:100%;height:auto;max-height:340px}.tour-floorplan-preview svg[hidden]{display:none}.tour-floorplan-empty{position:relative;z-index:1;display:grid;min-height:240px;padding:20px;place-content:center;justify-items:center;text-align:center;color:#9db3bd}.tour-floorplan-empty[hidden]{display:none}.tour-floorplan-empty>span{display:grid;width:48px;height:48px;margin-bottom:9px;place-items:center;border:1px solid #31505f;border-radius:14px;color:#5bc9ef;background:#102733;font-size:25px}.tour-floorplan-empty strong{color:#e4f0f4;font-size:12px}.tour-floorplan-empty p{max-width:240px;margin:6px 0 0;font-size:10px;line-height:1.45}.tour-floorplan-preview .plan-camera{cursor:pointer;outline:none}.tour-floorplan-preview .plan-camera circle{transition:r .16s ease,fill .16s ease,filter .16s ease}.tour-floorplan-preview .plan-camera:hover circle,.tour-floorplan-preview .plan-camera:focus-visible circle{r:20;filter:drop-shadow(0 0 8px #4ca2ff)}.tour-floorplan-preview .plan-camera.is-current circle{fill:#00aee8;stroke:#fff;stroke-width:6;filter:drop-shadow(0 0 9px #00b7f4)}.tour-floorplan-details{display:grid;gap:10px;margin-top:11px;padding:12px;border:1px solid #d4e4ea;border-radius:12px;background:#fff}.tour-floorplan-details[hidden]{display:none}.tour-floorplan-details>div:first-child{display:grid;gap:2px}.tour-floorplan-details small{color:#7a9099;font-size:8px;font-weight:800;letter-spacing:.1em}.tour-floorplan-details strong{font-size:13px}.tour-floorplan-details>div>span{margin-top:2px;color:#68808b;font-size:10px}.tour-floorplan-details .tour-profile-toggle{margin:2px 0 0}.tour-floorplan-details .tour-profile-toggle span strong,.tour-floorplan-details .tour-profile-toggle span small{display:block}.tour-floorplan-details .tour-profile-toggle span small{margin-top:3px;color:#718792;font-weight:400;letter-spacing:0;line-height:1.35}.tour-floorplan-edit{display:flex;width:100%;justify-content:center;margin-top:10px;padding:10px;text-decoration:none}.tour-floorplan-tool>.tour-tool-copy{margin-top:10px;line-height:1.45}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-sidebar>p{color:#91aab5}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-sidebar-item{color:#dcebf1}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-sidebar-item>span:first-child{color:#5bd0f7;background:#153746}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-sidebar-item:hover{background:#142d39}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-sidebar-item.is-active{border-color:#267fa0;background:#123645}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-tools-nav button.has-data span::after{border-color:#0b1e28}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-tabs button{border-color:#345665;color:#aec4ce;background:#102733}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-tabs button.is-active{border-color:var(--tour-primary);color:#fff;background:var(--tour-primary)}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-details{border-color:#2d4c5a;color:#e6f0f4;background:#102733}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-details>div>span,html[data-tour-admin-theme="dark"] .tour-admin-body .tour-floorplan-details .tour-profile-toggle span small{color:#97adb7}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-editor-toolbar-actions .tour-button.has-pending-review{border-color:#8e6720;color:#ffd77f;background:#302814;box-shadow:0 0 0 3px rgba(229,163,35,.12)}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-sidebar>p{color:#91aab5}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-sidebar-item{color:#dcebf1}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-sidebar-item>span:first-child{color:#ffd77f;background:#3a2c13}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-sidebar-item:hover{background:#142d39}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-sidebar-item.is-active{border-color:#8e6720;background:#302814;box-shadow:inset 3px 0 #e5a323}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-stats article,html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-review-current,.tour-review-missing,.tour-review-candidates){border-color:#2d4c5a;color:#e6f0f4;background:#102733}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-stats strong,html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-review-current>strong,.tour-review-missing strong,.tour-review-candidates strong){color:#e6f0f4}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-stats span,html[data-tour-admin-theme="dark"] .tour-admin-body :is(.tour-review-current p,.tour-review-missing small,.tour-review-candidates small){color:#9db5c0}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-pair figure{border-color:#2d4c5a;background:#0b1e28}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-pair figcaption{color:#d6e7ee;background:#0c202a}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-missing label{color:#b8ccd5}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-missing select{border-color:#345665;color:#e6f1f5;background:#091d26}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-candidates button{border-color:#2d4c5a;color:#dcebf1;background:#0c202a}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-candidates button:hover{background:#142d39}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-candidates button.is-active{border-color:#8e6720;background:#302814}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reject-detail{border-color:#6d541f;color:#e6f0f4;background:#2a2415}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field{color:#ffd77f}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reject-detail textarea{border-color:#6d541f;color:#f0e4c0;background:#141d20}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-trigger{border-color:#856824;color:#f0e4c0;background:#141d20}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-trigger .is-placeholder{color:#aa9b77}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-menu{border-color:#856824;background:#111b1f;box-shadow:0 16px 34px rgba(0,0,0,.45)}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-option{color:#eee2c1}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-option:hover,html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-option:focus-visible{color:#ffe7a8;background:#3a3019}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-reason-field .tour-custom-select-option.is-selected{color:#241900;background:#ffd77f}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-scene{border-color:#2d4c5a;color:#d6e7ee;background:#0b1e28}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-scene:hover{border-color:#267fa0}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-scene.is-current{border-color:#c68e21;box-shadow:0 0 0 2px rgba(229,163,35,.2)}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-scene small{color:#7edcff}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-scene.is-current small{color:#ffd77f}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-mode-tabs{border-color:#294956;background:#091d26}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-mode-tabs button{color:#9fb5bf}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-mode-tabs button:hover{color:#dff5fc;background:#143441}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-mode-tabs button.is-active{color:#fff;background:#087fa9}
html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-action-status{color:#9db5c0}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-action-status.is-loading{color:#7edcff}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-action-status.is-success{color:#89e2b7}html[data-tour-admin-theme="dark"] .tour-admin-body .tour-review-action-status.is-error{color:#ff9e9e}
@media(max-width:1100px){.tour-floorplan-preview{min-height:220px}.tour-floorplan-empty{min-height:205px}}

/* Editor completo de planos: dibujo y comprobación 360 en una sola pantalla. */
.tour-reconstruction-main{max-width:1800px}.tour-reconstruction-grid{grid-template-columns:minmax(270px,330px) minmax(0,1fr)}.tour-floor-plan-workspace{min-width:0}.tour-floor-plan-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:16px;margin-top:18px}.tour-floor-plan-drawing{min-width:0}.tour-floor-plan-editor-grid .tour-floor-plan-empty,.tour-floor-plan-editor-grid .tour-floor-plan-canvas{margin-top:0}.tour-floor-plan-editor-grid .tour-floor-plan-canvas{position:relative;height:min(72vh,790px);min-height:570px}.tour-floor-plan-canvas-help{position:absolute;right:14px;bottom:12px;left:14px;padding:9px 12px;border:1px solid rgba(118,161,181,.25);border-radius:9px;color:#b8cbd4;background:rgba(7,16,24,.82);font-size:10px;text-align:center;pointer-events:none;backdrop-filter:blur(7px)}.tour-floor-plan-canvas .plan-camera{cursor:grab;outline:none;touch-action:none}.tour-floor-plan-canvas .plan-camera:hover circle,.tour-floor-plan-canvas .plan-camera:focus-visible circle{fill:#009ed9;filter:drop-shadow(0 0 9px #168ffc)}.tour-floor-plan-canvas .plan-camera.is-current circle{fill:#00b5eb;stroke:#fff;stroke-width:6;filter:drop-shadow(0 0 11px #00aee8)}.tour-floor-plan-canvas .plan-camera.is-dragging{cursor:grabbing}.tour-floor-plan-canvas .plan-camera.is-dragging circle{fill:#14c7f4;filter:drop-shadow(0 0 13px #14c7f4)}.tour-floor-plan-preview-panel{align-self:start;overflow:hidden;border:1px solid #d2e2e8;border-radius:16px;background:#f8fbfc}.tour-floor-plan-preview-heading{display:flex;min-height:62px;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #dbe8ed}.tour-floor-plan-preview-heading div{min-width:0}.tour-floor-plan-preview-heading small,.tour-floor-plan-preview-heading strong{display:block}.tour-floor-plan-preview-heading small{color:#7b9099;font-size:8px;font-weight:900;letter-spacing:.11em}.tour-floor-plan-preview-heading strong{margin-top:4px;overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tour-floor-plan-preview-heading>span{flex:0 0 auto;padding:5px 7px;border-radius:999px;color:#52707d;background:#e5eff3;font-size:8px;font-weight:800}.tour-floor-plan-panorama-wrap{position:relative;height:330px;overflow:hidden;background:#071018}.tour-floor-plan-panorama-wrap>#tour-floor-plan-panorama{width:100%;height:100%}.tour-floor-plan-panorama-wrap>#tour-floor-plan-panorama-empty{position:absolute;inset:0;display:grid;padding:24px;place-content:center;justify-items:center;color:#9cb3bd;background:radial-gradient(circle at 50% 45%,#173746,#071018 72%);text-align:center}.tour-floor-plan-panorama-wrap>#tour-floor-plan-panorama-empty[hidden]{display:none}.tour-floor-plan-panorama-wrap>#tour-floor-plan-panorama-empty span{display:grid;width:56px;height:56px;place-items:center;border:1px solid #3a5a69;border-radius:50%;color:#64d2f8;background:#102733;font-weight:900}.tour-floor-plan-panorama-wrap>#tour-floor-plan-panorama-empty p{max-width:230px;margin:12px 0 0;font-size:10px;line-height:1.5}.tour-floor-plan-preview-copy{padding:14px}.tour-floor-plan-preview-copy strong{font-size:11px}.tour-floor-plan-preview-copy p{margin:6px 0 0;color:#6c828d;font-size:10px;line-height:1.5}.tour-floor-plan-panorama-wrap .pnlm-container{background:#071018}
html[data-tour-admin-theme="dark"] .tour-floor-plan-preview-panel{border-color:#294956;color:#e4eff3;background:#102733}html[data-tour-admin-theme="dark"] .tour-floor-plan-preview-heading{border-color:#294956}html[data-tour-admin-theme="dark"] .tour-floor-plan-preview-heading>span{color:#b9ced7;background:#1c3541}html[data-tour-admin-theme="dark"] .tour-floor-plan-preview-copy p{color:#96adb7}
@media(max-width:1250px){.tour-floor-plan-editor-grid{grid-template-columns:1fr}.tour-floor-plan-preview-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,280px)}.tour-floor-plan-preview-heading{grid-column:1/-1}.tour-floor-plan-panorama-wrap{height:270px}.tour-floor-plan-preview-copy{align-self:center}.tour-floor-plan-editor-grid .tour-floor-plan-canvas{min-height:520px}}
@media(max-width:900px){.tour-reconstruction-grid{grid-template-columns:1fr}.tour-floor-plan-preview-panel{grid-template-columns:1fr}.tour-floor-plan-preview-heading{grid-column:auto}.tour-floor-plan-editor-grid .tour-floor-plan-canvas{min-height:430px}}

/* Menú contextual del editor del tour. */
.tour-editor-more{position:relative}.tour-editor-more>summary{display:grid;width:42px;height:42px;box-sizing:border-box;place-items:center;border:1px solid #c9dce4;border-radius:10px;color:#36515d;background:#fff;font-size:25px;line-height:1;list-style:none;cursor:pointer}.tour-editor-more>summary::-webkit-details-marker{display:none}.tour-editor-more[open]>summary,.tour-editor-more>summary:hover{border-color:#7acbe8;color:#0089ba;background:#eef9fd}.tour-editor-more>div{position:absolute;z-index:100;top:calc(100% + 8px);right:0;display:grid;width:245px;padding:7px;border:1px solid #cddfe6;border-radius:12px;background:#fff;box-shadow:0 16px 45px rgba(8,39,52,.2)}.tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger){display:grid;grid-template-columns:34px minmax(0,1fr);gap:0 9px;padding:9px;border:0;border-radius:9px;color:#284753;background:transparent;font:inherit;text-align:left;text-decoration:none;cursor:pointer}.tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger):hover{background:#ecf8fc}.tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger)>span{grid-row:1/3;display:grid;width:34px;height:34px;place-items:center;border-radius:8px;color:#008fbe;background:#e0f4fb;font-size:18px}.tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger) strong{font-size:11px}.tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger) small{margin-top:2px;color:#78909a;font-size:9px}.tour-editor-more :is(.tour-editor-more-action,.tour-editor-more-danger):disabled{opacity:.55;cursor:wait}.tour-editor-more>div>hr{width:100%;height:1px;margin:6px 0;border:0;background:#dce8ed}.tour-editor-more-danger{color:#b42318!important}.tour-editor-more-danger:hover{background:#fff1f1!important}.tour-editor-more-danger>span{color:#c43a39!important;background:#ffe8e8!important}
html[data-tour-admin-theme="dark"] .tour-editor-more>summary{border-color:#31505f;color:#c6d9e1;background:#102733}html[data-tour-admin-theme="dark"] .tour-editor-more>div{border-color:#31505f;background:#102733}html[data-tour-admin-theme="dark"] .tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger){color:#e2eef2}html[data-tour-admin-theme="dark"] .tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger):hover{background:#173746}html[data-tour-admin-theme="dark"] .tour-editor-more :is(a,.tour-editor-more-action,.tour-editor-more-danger)>span{color:#61d2f7;background:#173c4b}html[data-tour-admin-theme="dark"] .tour-editor-more>div>hr{background:#31505f}html[data-tour-admin-theme="dark"] .tour-editor-more-danger{color:#ff9e9e!important}html[data-tour-admin-theme="dark"] .tour-editor-more-danger:hover{background:#47252b!important}html[data-tour-admin-theme="dark"] .tour-editor-more-danger>span{color:#ffb5b5!important;background:#4a2830!important}

/* Editor arquitectónico: no contiene puntos de escaneo. */
.tour-plan-editor-body{min-height:100vh;overflow:hidden;background:#eaf1f5}.tour-plan-editor-header{position:relative;z-index:20;display:grid;grid-template-columns:260px minmax(520px,1fr) auto;min-height:76px;align-items:center;gap:14px;padding:7px 18px;border-bottom:1px solid #cbdce4;background:#fff;box-shadow:0 3px 14px rgba(15,49,64,.08)}.tour-plan-editor-identity{display:flex;align-items:center;gap:11px}.tour-plan-editor-identity>a{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#41606d;background:#edf4f7;text-decoration:none;font-size:20px}.tour-plan-editor-identity div{display:grid}.tour-plan-editor-identity small{color:#7a909a;font-size:8px;font-weight:900;letter-spacing:.12em}.tour-plan-editor-identity strong{margin-top:3px;font-size:14px}.tour-plan-toolbar{display:flex;min-width:0;align-items:stretch;justify-content:center;gap:4px}.tour-plan-toolbar>i{width:1px;margin:5px 7px;background:#d7e4e9}.tour-plan-toolbar button{display:grid;min-width:62px;place-items:center;gap:2px;padding:5px 7px;border:1px solid transparent;border-radius:9px;color:#607985;background:transparent;font:600 9px inherit;cursor:pointer}.tour-plan-toolbar button span{font-size:19px;line-height:1}.tour-plan-toolbar button:hover,.tour-plan-toolbar button.is-active{color:#007fae;background:#e8f7fc}.tour-plan-toolbar button.is-active{border-color:#91d9ee}.tour-plan-toolbar button:disabled{opacity:.3;cursor:default}.tour-plan-toolbar button.is-danger:not(:disabled){color:#b53d43}.tour-plan-editor-actions{display:flex;align-items:center;gap:7px}.tour-plan-editor-actions .tour-button{white-space:nowrap}.tour-plan-editor-main{display:grid;grid-template-columns:275px minmax(500px,1fr) 305px;height:calc(100vh - 76px);min-height:560px}.tour-plan-editor-sidebar,.tour-plan-properties{position:relative;z-index:3;overflow-y:auto;padding:18px;background:#f8fbfc}.tour-plan-editor-sidebar{border-right:1px solid #cedfe6}.tour-plan-editor-sidebar>section+section{margin-top:22px;padding-top:19px;border-top:1px solid #d9e6eb}.tour-plan-editor-sidebar small,.tour-plan-properties>div>small{color:#008fbf;font-size:8px;font-weight:900;letter-spacing:.12em}.tour-plan-editor-sidebar h2,.tour-plan-properties h2{margin:4px 0 5px;font-size:16px}.tour-plan-editor-sidebar p,.tour-plan-properties>div>p{margin:0;color:#718792;font-size:10px;line-height:1.45}.tour-plan-stage{min-width:0;overflow:hidden;padding:18px;background-color:#eaf2f7;background-image:linear-gradient(#cadce6 1px,transparent 1px),linear-gradient(90deg,#cadce6 1px,transparent 1px);background-size:42px 42px}.tour-plan-stage-heading{display:flex;min-height:54px;align-items:flex-start;justify-content:space-between;gap:15px;padding:0 4px 12px}.tour-plan-stage-heading small{color:#587580;font-size:8px;font-weight:900;letter-spacing:.12em}.tour-plan-stage-heading h1{margin:3px 0 2px;font-size:20px}.tour-plan-stage-heading p{margin:0;color:#718792;font-size:10px}.tour-plan-canvas{position:relative;height:calc(100% - 66px);min-height:450px;overflow:hidden;border:1px solid #bfd2dc;border-radius:14px;background:rgba(249,252,254,.92);box-shadow:0 12px 35px rgba(23,57,72,.12)}.tour-plan-canvas svg{display:block;width:100%;height:100%;transform-origin:center;transition:transform .15s ease}.plan-editor-grid line{stroke:#d9e7ed;stroke-width:1}.plan-edit-wall{stroke:#172b35;stroke-width:10;stroke-linecap:square;cursor:pointer}.plan-edit-wall:hover,.plan-edit-wall.is-selected{stroke:#008fc2}.plan-edit-opening{stroke:#f9fcfe;stroke-width:18;stroke-linecap:butt;cursor:pointer}.plan-edit-door{stroke:#d99b2f;stroke-width:9}.plan-edit-window{stroke:#1b9fd0;stroke-width:10;stroke-dasharray:15 5}.plan-edit-opening:hover,.plan-edit-opening.is-selected{filter:drop-shadow(0 0 5px #00aee8)}.plan-edit-label{fill:#23424e;stroke:#f9fcfe;stroke-width:6;paint-order:stroke;font:700 18px sans-serif;text-anchor:middle;cursor:pointer}.plan-edit-label.is-selected{fill:#008fbe}.plan-edit-handle{fill:#fff;stroke:#00a6dc;stroke-width:5;cursor:grab;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.plan-wall-start{fill:#fff;stroke:#00a6dc;stroke-width:5;animation:tour-plan-pulse 1s infinite alternate}@keyframes tour-plan-pulse{to{r:14;opacity:.55}}.tour-plan-tool-help{position:absolute;bottom:15px;left:50%;padding:9px 13px;border:1px solid #b8dbe7;border-radius:999px;transform:translateX(-50%);color:#42616e;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(30,75,93,.12);font-size:10px;white-space:nowrap}.tour-plan-zoom{position:absolute;right:15px;bottom:15px;display:flex;align-items:center;gap:4px;padding:5px;border:1px solid #c6dae2;border-radius:10px;background:#fff;box-shadow:0 6px 18px rgba(20,58,74,.13)}.tour-plan-zoom button{height:30px;padding:0 9px;border:0;border-radius:7px;color:#365561;background:#edf5f8;cursor:pointer}.tour-plan-zoom output{min-width:48px;text-align:center;font-size:10px;font-weight:800}.tour-plan-properties{border-left:1px solid #cedfe6}.tour-plan-properties>section{display:grid;gap:12px;margin-top:18px;padding:14px;border:1px solid #d5e4ea;border-radius:12px;background:#fff}.tour-plan-properties label{display:grid;gap:6px;color:#58717c;font-size:10px;font-weight:800}.tour-plan-properties input[type=text],.tour-plan-properties input[type=number]{box-sizing:border-box;width:100%;min-height:39px;padding:0 9px;border:1px solid #c9dce4;border-radius:8px;color:#254550;background:#fff;font:12px inherit}.tour-plan-properties label>div{display:grid;grid-template-columns:1fr 25px;align-items:center}.tour-plan-properties label>div span{text-align:right}.tour-plan-legend{display:grid;gap:9px;margin-top:18px;padding:14px;border-radius:12px;background:#edf5f8}.tour-plan-legend>span{display:flex;align-items:center;gap:8px;color:#5c7480;font-size:10px}.tour-plan-legend i{display:block;width:26px;height:5px;background:#172b35}.tour-plan-legend i.door{background:#d99b2f}.tour-plan-legend i.window{height:6px;background:#1b9fd0}.tour-plan-legend i.label{height:14px;background:transparent}.tour-plan-legend i.label::after{content:"T";color:#23424e;font-weight:900}.plan-opening{stroke:#f7fbfd;stroke-width:13;stroke-linecap:butt}.plan-door{stroke:#d99b2f;stroke-width:7}.plan-window{stroke:#1b9fd0;stroke-width:8;stroke-dasharray:13 4}
html[data-tour-admin-theme="dark"] .tour-plan-editor-body{background:#07141c}html[data-tour-admin-theme="dark"] .tour-plan-editor-header,html[data-tour-admin-theme="dark"] .tour-plan-editor-sidebar,html[data-tour-admin-theme="dark"] .tour-plan-properties{border-color:#294754;color:#e5f0f4;background:#0c202a}html[data-tour-admin-theme="dark"] .tour-plan-stage{background-color:#0b1922;background-image:linear-gradient(#193340 1px,transparent 1px),linear-gradient(90deg,#193340 1px,transparent 1px)}html[data-tour-admin-theme="dark"] .tour-plan-canvas{border-color:#294a58;background:rgba(9,25,34,.94)}html[data-tour-admin-theme="dark"] .plan-editor-grid line{stroke:#193440}html[data-tour-admin-theme="dark"] .plan-edit-wall{stroke:#d8e8ee}html[data-tour-admin-theme="dark"] .plan-edit-opening,html[data-tour-admin-theme="dark"] .plan-edit-label{stroke:#091922}html[data-tour-admin-theme="dark"] .plan-edit-label{fill:#d8e8ee}html[data-tour-admin-theme="dark"] .tour-plan-properties>section,html[data-tour-admin-theme="dark"] .tour-plan-zoom{border-color:#2d4d5b;background:#102733}html[data-tour-admin-theme="dark"] .tour-plan-properties input{border-color:#345665!important;color:#e6f1f5!important;background:#091d26!important}html[data-tour-admin-theme="dark"] .tour-plan-legend{background:#102733}

/* Modificar escaneo: nube cenital y capturas movibles. */
.tour-scan-editor-body{min-height:100vh;overflow:hidden;background:#05090d}.tour-scan-header{position:relative;z-index:20;display:grid;grid-template-columns:minmax(250px,1fr) minmax(220px,1fr) auto;min-height:68px;align-items:center;gap:15px;padding:0 18px;border-bottom:1px solid #263b46;color:#eef7fa;background:#111a21}.tour-scan-header>div{display:flex;align-items:center;gap:9px}.tour-scan-header>div:first-child>a{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;color:#dcebf1;background:#1c2c35;text-decoration:none}.tour-scan-header>div:first-child span{display:grid}.tour-scan-header small{color:#5cd1f7;font-size:8px;font-weight:900;letter-spacing:.12em}.tour-scan-header strong{margin-top:3px;font-size:13px}.tour-scan-header>p{margin:0;color:#9fb3bc;font-size:10px;text-align:center}.tour-scan-header>div:last-child{justify-content:flex-end}.tour-scan-workspace{position:relative;height:calc(100vh - 68px);min-height:600px}.tour-scan-stage,#tour-scan-cloud{position:absolute;inset:0}.tour-scan-stage canvas{display:block;width:100%;height:100%;cursor:grab}.tour-scan-stage canvas:active{cursor:grabbing}.tour-scan-instructions{position:absolute;z-index:3;top:18px;left:50%;display:grid;max-width:440px;padding:9px 15px;border:1px solid #31505f;border-radius:12px;transform:translateX(-50%);color:#e8f3f7;background:rgba(13,28,36,.9);text-align:center;pointer-events:none;backdrop-filter:blur(8px)}.tour-scan-instructions strong{font-size:11px}.tour-scan-instructions span{margin-top:2px;color:#9fb6c0;font-size:9px}.tour-scan-view-controls{position:absolute;z-index:4;right:340px;bottom:18px;display:flex;gap:5px;padding:5px;border:1px solid #2d4855;border-radius:11px;background:rgba(13,29,37,.9)}.tour-scan-view-controls>span{width:1px;margin:3px;background:#2d4855}.tour-scan-view-controls button{padding:8px 10px;border:0;border-radius:7px;color:#a9bec7;background:transparent;font:700 9px inherit;cursor:pointer}.tour-scan-view-controls button:hover,.tour-scan-view-controls button.is-active{color:#fff;background:#075ee8}.tour-scan-view-controls button:disabled{color:#536a74;background:transparent;cursor:not-allowed}.tour-scan-floors,.tour-scan-inspector{position:absolute;z-index:5;top:18px;overflow:auto;border:1px solid #2b414c;border-radius:15px;color:#e8f2f6;background:rgba(20,27,34,.94);box-shadow:0 18px 45px rgba(0,0,0,.32);backdrop-filter:blur(12px)}.tour-scan-floors{left:18px;width:230px;max-height:calc(100% - 36px);padding:17px}.tour-scan-inspector{right:18px;width:285px;max-height:calc(100% - 36px);padding:15px}.tour-scan-floors small,.tour-scan-inspector small{color:#5dd2fa;font-size:8px;font-weight:900;letter-spacing:.12em}.tour-scan-floors h2,.tour-scan-inspector h2{margin:4px 0 5px;font-size:16px}.tour-scan-floors p,.tour-scan-inspector>div>p,.tour-scan-inspector section>p{margin:0;color:#98adb6;font-size:9px;line-height:1.5}.tour-scan-floors>label,.tour-scan-inspector section>label{display:grid;gap:6px;margin-top:14px;color:#b8cad2;font-size:9px;font-weight:800}.tour-scan-floors>label output,.tour-scan-inspector section>label output{color:#61cef3}.tour-scan-floor-list{display:grid;gap:6px;margin-top:14px}.tour-scan-floor-list button{display:grid;grid-template-columns:30px minmax(0,1fr);gap:0 9px;width:100%;padding:9px;border:1px solid transparent;border-radius:10px;color:#d9e8ed;background:transparent;text-align:left;cursor:pointer}.tour-scan-floor-list button:hover,.tour-scan-floor-list button.is-active{border-color:#286f91;background:#123545}.tour-scan-floor-list button>span{grid-row:1/3;display:grid;width:30px;height:30px;place-items:center;border-radius:8px;color:#65d7fc;background:#173e4d;font-weight:900}.tour-scan-floor-list button strong{font-size:10px}.tour-scan-floor-list button small{margin-top:3px;color:#8ca5af;font-size:8px;letter-spacing:0}.tour-scan-panorama{position:relative;height:190px;margin-top:13px;overflow:hidden;border:1px solid #354d59;border-radius:11px;background:#070e13}.tour-scan-panorama>#tour-scan-panorama{width:100%;height:100%}.tour-scan-panorama-empty{position:absolute;inset:0;display:grid;padding:15px;place-content:center;justify-items:center;color:#91a8b2;background:#111d24;text-align:center}.tour-scan-panorama-empty[hidden]{display:none}.tour-scan-panorama-empty span{display:grid;width:48px;height:48px;place-items:center;border:1px solid #3b5663;border-radius:50%;color:#68d5fa;font-weight:900}.tour-scan-panorama-empty p{max-width:200px;margin:8px 0 0;font-size:9px}.tour-scan-inspector>section{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding:12px;border:1px solid #304752;border-radius:11px;background:#111d24}.tour-scan-inspector>section>strong,.tour-scan-inspector>section>p,.tour-scan-inspector>section>label:has(input[type=range]),.tour-scan-inspector>section>.tour-button{grid-column:1/-1}.tour-scan-inspector section>label{margin:0}.tour-scan-inspector input[type=number]{box-sizing:border-box;width:100%;min-height:34px;padding:0 6px;border:1px solid #405762;border-radius:7px;color:#fff;background:#202d34;font:10px inherit}.tour-scan-inspector input[type=range]{width:100%;accent-color:#2175ff}.tour-scan-inspector .tour-button{width:100%;padding:8px;font-size:9px}
.tour-scan-inspector{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(calc(100% + 36px));transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .22s ease,visibility 0s linear .34s;will-change:transform,opacity}.tour-scan-inspector.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0);transition-delay:0s}.tour-scan-inspector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.tour-scan-inspector-heading>div{min-width:0}.tour-scan-inspector-heading p{margin:0;color:#98adb6;font-size:9px;line-height:1.5}.tour-scan-inspector-heading>button{display:grid;flex:0 0 30px;width:30px;height:30px;padding:0;place-items:center;border:1px solid #3a5663;border-radius:8px;color:#a9c0ca;background:#18262e;font:600 20px/1 inherit;cursor:pointer;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.tour-scan-inspector-heading>button:hover{border-color:#5dd2fa;color:#fff;background:#1d3946;transform:scale(1.04)}@media(prefers-reduced-motion:reduce){.tour-scan-inspector{transition:none}.tour-scan-inspector-heading>button{transition:none}}
.tour-scan-stage canvas.is-transform-handle-hover{cursor:crosshair}.tour-scan-stage canvas.is-transforming-point{cursor:grabbing}.tour-scan-stage canvas.is-moving-floor{cursor:move}.tour-scan-floor-align{display:grid;gap:9px;margin-top:14px;padding:12px;border:1px solid #304b58;border-radius:11px;background:#101d24}.tour-scan-floor-align>strong{font-size:10px}.tour-scan-floor-align>p{margin-top:-5px}.tour-scan-floor-align label{display:grid;gap:5px;color:#a9bdc6;font-size:8px;font-weight:800}.tour-scan-floor-align select{min-height:32px;padding:0 8px;border:1px solid #3b5663;border-radius:7px;color:#e9f5f8;background:#1b2a32;font:9px inherit}.tour-scan-rotation-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px}.tour-scan-floor-align button{min-height:32px;padding:7px;border:1px solid #345667;border-radius:8px;color:#cce0e8;background:#172a34;font:800 9px inherit;cursor:pointer}.tour-scan-floor-align button:hover,.tour-scan-floor-align button.is-active{border-color:#39bdea;color:#fff;background:#0a7198}.tour-scan-floor-align button.danger{border-color:#653944;color:#ffabb5;background:#2d1c22}.tour-scan-floor-nudge{display:grid;grid-template-columns:repeat(3,32px);justify-content:center;gap:4px}.tour-scan-floor-nudge button{min-height:30px;padding:0;font-size:15px}
@media(max-width:1200px){.tour-plan-editor-header{grid-template-columns:210px 1fr}.tour-plan-editor-actions{grid-column:1/-1;justify-content:flex-end}.tour-plan-editor-main{height:calc(100vh - 126px);grid-template-columns:240px minmax(450px,1fr) 270px}.tour-plan-toolbar button{min-width:53px}.tour-scan-floors{width:190px}.tour-scan-inspector{width:250px}.tour-scan-view-controls{right:305px}}
@media(max-width:850px){.tour-plan-editor-body{overflow:auto}.tour-plan-editor-header{display:flex;flex-wrap:wrap}.tour-plan-toolbar{order:3;width:100%;overflow-x:auto;justify-content:flex-start}.tour-plan-editor-main{display:block;height:auto}.tour-plan-editor-sidebar,.tour-plan-properties{border:0}.tour-plan-stage{height:70vh}.tour-plan-tool-help{max-width:70%;white-space:normal;text-align:center}.tour-scan-floors{display:none}.tour-scan-inspector{right:10px;width:220px}.tour-scan-view-controls{right:auto;left:10px}.tour-scan-instructions{display:none}}

/* Contexto predeterminado por ambiente durante la creación del tour. */
.tour-capture-space-editor{grid-template-columns:minmax(170px,1.4fr) minmax(130px,1fr) minmax(150px,1fr);align-items:end}.tour-capture-space-editor>label{display:grid;gap:5px;color:#78909b;font-size:10px;font-weight:800}.tour-capture-space-editor :is(input,select){box-sizing:border-box;width:100%;min-height:36px;padding:7px 9px;border:1px solid #bcd4de;border-radius:8px;color:#153440;background:#fff;font:inherit}.tour-capture-space-editor>p{grid-column:1/-1;margin:0;color:#718994;font-size:10px}.tour-capture-space-editor>div{grid-column:1/-1;display:flex;gap:8px}.tour-capture-option.is-space{display:grid;grid-template-columns:minmax(0,1fr) auto auto;flex:1 1 230px;min-width:0;overflow:hidden;border-radius:10px;box-shadow:0 2px 7px rgba(23,58,73,.07)}.tour-capture-option.is-space strong{padding:9px 10px;font-size:12px}.tour-capture-option.is-space button{align-self:stretch;min-width:37px;padding:0 9px}.tour-capture-option.is-space .tour-capture-option-meta{grid-column:1/-1;margin:0;padding:6px 10px 7px;border-top:1px solid #dce9ee;color:#597987;background:#f5fafc;font-size:10px;font-weight:700;letter-spacing:.01em}
.tour-capture-space-editor>label>.tour-space-preset-picker{position:relative;display:block}.tour-space-preset-picker>input{padding-right:38px}.tour-space-preset-toggle{position:absolute;z-index:2;top:1px;right:1px;width:34px;height:34px;padding:0!important;border:0!important;border-left:1px solid #d2e3e9!important;border-radius:0 7px 7px 0!important;color:#337184!important;background:transparent!important;font-size:18px!important;cursor:pointer}.tour-space-preset-toggle span{display:block;transition:transform .18s ease}.tour-space-preset-picker.is-open .tour-space-preset-toggle span{transform:rotate(180deg)}.tour-space-preset-picker.is-open>input{border-color:#00a8df;box-shadow:0 0 0 3px rgba(0,168,223,.13)}.tour-space-preset-menu{position:absolute;z-index:80;top:calc(100% + 6px);right:0;left:0;display:grid;max-height:264px;gap:3px;overflow-y:auto;padding:6px;border:1px solid #bdd8e2;border-radius:10px;background:#fff;box-shadow:0 18px 42px rgba(18,53,66,.2)}.tour-space-preset-menu[hidden]{display:none}.tour-space-preset-menu button{display:grid;gap:2px;width:100%;padding:8px 10px!important;border:0!important;border-radius:7px!important;color:#153440!important;background:transparent!important;text-align:left;cursor:pointer}.tour-space-preset-menu button strong{font-size:11px}.tour-space-preset-menu button small{color:#718994;font-size:9px;font-weight:600}.tour-space-preset-menu button:hover,.tour-space-preset-menu button:focus-visible{outline:0;background:#e9f7fc!important}.tour-space-preset-menu button:hover small,.tour-space-preset-menu button:focus-visible small{color:#34778f}.tour-space-preset-empty{margin:0;padding:10px;color:#718994;font-size:10px;line-height:1.4}
.tour-capture-floor-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.tour-capture-floor-actions button{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #9ed6e9;border-radius:7px;color:#007da9;background:#fff;font:700 11px inherit;cursor:pointer}.tour-capture-floor-actions button span{font-size:15px;line-height:1}
html[data-tour-admin-theme="dark"] .tour-capture-space-editor>label,html[data-tour-admin-theme="dark"] .tour-capture-space-editor>p,html[data-tour-admin-theme="dark"] .tour-capture-option-meta{color:#9bb3bd}html[data-tour-admin-theme="dark"] .tour-capture-space-editor :is(input,select){border-color:#345665;color:#e7f2f6;background:#0a202a}html[data-tour-admin-theme="dark"] .tour-capture-option.is-space .tour-capture-option-meta{border-color:#345665;color:#a9c5d0;background:#0d2733}
html[data-tour-admin-theme="dark"] .tour-space-preset-toggle{border-left-color:#345665!important;color:#93dff6!important}html[data-tour-admin-theme="dark"] .tour-space-preset-menu{border-color:#2b6377;background:#0a202a;box-shadow:0 18px 42px rgba(0,0,0,.38)}html[data-tour-admin-theme="dark"] .tour-space-preset-menu button{color:#e8f5f8!important}html[data-tour-admin-theme="dark"] .tour-space-preset-menu button small{color:#8eabb6}html[data-tour-admin-theme="dark"] .tour-space-preset-menu button:hover,html[data-tour-admin-theme="dark"] .tour-space-preset-menu button:focus-visible{background:#123b4b!important}html[data-tour-admin-theme="dark"] .tour-space-preset-menu button:hover small,html[data-tour-admin-theme="dark"] .tour-space-preset-menu button:focus-visible small{color:#bfe8f6}html[data-tour-admin-theme="dark"] .tour-space-preset-empty{color:#88a4af}
html[data-tour-admin-theme="dark"] .tour-capture-floor-actions button{border-color:#345665;color:#dceaf0;background:#102d3a}
@media(max-width:720px){.tour-capture-space-editor{grid-template-columns:1fr}.tour-capture-space-editor>p,.tour-capture-space-editor>div{grid-column:1}}

/* El pie fijo del creador siempre cubre las tarjetas al desplazarse. */
.tour-create-dialog{isolation:isolate}.tour-create-dialog .tour-create-body{position:relative;z-index:0}.tour-create-dialog>.tour-upload-dialog-actions{position:sticky;z-index:60;bottom:0;isolation:isolate;box-shadow:0 -12px 24px rgba(8,32,45,.12)}
html[data-tour-admin-theme="dark"] .tour-create-dialog>.tour-upload-dialog-actions{background:var(--tour-admin-surface);box-shadow:0 -12px 24px rgba(0,0,0,.28)}
