.host-panel--menu-open{background:#ffffffd1;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .2s ease,backdrop-filter .2s ease}.host-panel__nav{display:flex;justify-content:space-between;gap:10px;flex-wrap:nowrap;align-items:center}.host-panel__tabs{position:relative;display:inline-flex;align-items:center;width:190px;flex:0 0 190px}.host-panel__tabs.is-open .host-panel__tabs-toggle{border-bottom-left-radius:0;border-bottom-right-radius:0}.host-panel__tabs-toggle{border:1px solid rgba(255,255,255,.08);background:#121720eb;color:#f0f4fbe6;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;justify-content:space-between;cursor:pointer;padding:10px 18px;border-radius:14px;transition:color .2s ease,background .2s ease;width:100%;text-align:left}.host-panel__tabs-toggle:hover{color:#fff;border-color:#fff3}.host-panel__tabs-icon{width:18px;height:18px;display:grid;place-items:center;color:inherit}.host-panel__tabs-chevron{width:8px;height:8px;border-left:2px solid rgba(240,244,251,.8);border-bottom:2px solid rgba(240,244,251,.8);transform:rotate(-45deg) translateY(2px);transition:transform .2s ease}.host-panel__tabs-chevron.is-open{transform:rotate(135deg)}.host-panel__tabs-menu{position:absolute;top:calc(100% - 1px);left:0;list-style:none;padding:12px 0;margin:0;border-radius:0 0 14px 14px;background:#121720d1;border:1px solid rgba(255,255,255,.08);box-shadow:0 22px 40px #05081459;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);width:100%;display:flex;flex-direction:column;gap:0;z-index:35}@media(max-width:1200px){.host-panel--mobile-editor{position:relative;z-index:60}.host-panel--mobile-editor .host-panel__tabs-menu{z-index:80}}.host-panel__tabs-option{border:none;background:transparent;width:100%;text-align:left;padding:10px 18px;border-radius:0;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#f0f4fbbf;cursor:pointer;transition:background .2s ease,color .2s ease}.host-panel__tabs-option:hover,.host-panel__tabs-option.is-active{background:#ffffff14;color:#fff}.host-panel__tabs-option-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;margin-right:8px;color:inherit}@media(max-width:600px){.host-panel .host-panel__nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.host-panel .host-panel__tabs{width:auto;min-width:0;flex:1 1 auto}.host-panel .host-panel__tabs-toggle{gap:8px;padding:10px 12px}.host-panel .host-panel__actions{width:auto;gap:8px;justify-content:flex-end}}@media(max-width:359px){.host-panel .host-panel__nav{grid-template-columns:minmax(0,1fr)}.host-panel .host-panel__actions{justify-self:end}}.host-panel__camera-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121720e6;color:#f5f7fbcc;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .18s ease,border-color .18s ease}.host-panel__camera-btn:hover{color:#fff;border-color:#fff3}.host-panel__preview-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121720e6;color:#f5f7fbcc;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .18s ease,border-color .18s ease,background .18s ease}.host-panel__preview-btn.is-active{background:#4f84ff26;border-color:#4f84ff99;color:#f5f7fb}.host-panel__preview-btn:hover{border-color:#ffffff4d;color:#fff}.host-panel__delete-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121720e6;color:#ffe0e0cc;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .18s ease,border-color .18s ease}.host-panel__delete-btn:not(:disabled):hover{color:#fff;border-color:#fff3}@media(max-width:1200px){.app-main{flex-direction:column;gap:20px}.viewer-wrap{order:2;max-width:100%;width:100%}.host-panel-column{order:1;width:100%;max-width:none}.host-panel{border-radius:22px}}.viewer360-wrapper{--viewer-fs-width: 32px;--viewer-fs-height: 32px;--viewer-fs-offset: 12px;--viewer-fs-gap: 10px;width:100%;display:flex;flex-direction:column;height:100%;position:relative}.viewer360-canvas{width:100%;border-radius:18px;overflow:hidden;background:#050608;position:relative;cursor:grab;aspect-ratio:2 / 1;min-height:520px;height:auto}.viewer360-canvas canvas{position:absolute;inset:0;width:100%;height:100%}.viewer360-canvas--hotspot-hover{cursor:pointer}.viewer360-canvas--dragging{cursor:grabbing}.viewer360-canvas--adding{cursor:crosshair}.viewer360-fs-button{position:absolute;bottom:var(--viewer-fs-offset);right:var(--viewer-fs-offset);width:var(--viewer-fs-width);height:var(--viewer-fs-height);border-radius:10px;background:#14141999;border:1px solid rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 24px #05081459;pointer-events:auto;z-index:45;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.viewer360-fs-button svg{width:16px;height:16px}.viewer360-fs-button--active{background:#081026d9}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0000004d}.spinner{width:40px;height:40px;border-radius:50%;border:4px solid rgba(255,255,255,.2);border-top-color:var(--accent);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.host-panel{width:100%;background:linear-gradient(180deg,#fff,#f5f7fb);border-radius:26px;padding:26px;box-shadow:0 30px 60px #0f17242e;border:1px solid rgba(15,23,36,.05);display:flex;flex-direction:column;gap:20px}.host-panel__nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:nowrap;align-items:center}.host-panel__actions{display:flex;gap:10px;align-items:center}.host-panel__camera-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121720e6;color:#f5f7fb;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.host-panel__delete-btn{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#121720e6;color:#f7c0c0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .18s ease}.host-panel__delete-btn:disabled{opacity:.35;cursor:not-allowed}.host-panel__delete-btn:not(:disabled):hover{color:#ffdede;border-color:#fff3}.host-panel__content{flex:1}.host-panel{gap:16px;padding:22px}.host-panel__nav{gap:8px}.host-panel__tabs{width:180px;flex-basis:180px}.host-panel__actions{gap:8px;padding:2px;border:1px solid rgba(18,23,32,.08);border-radius:13px;background:#1217200f}.host-panel__camera-btn,.host-panel__preview-btn,.host-panel__delete-btn{width:36px;height:36px;border-radius:10px}.host-hotspot__tour-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 12px}.host-hotspot__tour-row .host-card__message{flex:1}.host-hotspot__cta{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.host-panel--mobile-hotspot-tools{display:flex;flex-direction:column;gap:14px}.host-panel--mobile-hotspot-tools .host-hotspot__cta{width:100%;margin-top:auto}.host-panel--mobile-hotspot-tools .host-hotspot__manager-btn{width:100%;min-height:44px;justify-content:space-between}.host-panel--mobile-hotspot-tools .host-hotspot__manager-label{flex:1;text-align:left}.host-hotspot__manager-btn{display:inline-flex;align-items:center;gap:10px}.host-hotspot__manager-spinner{width:14px;height:14px;border-radius:999px;border:2px solid rgba(15,23,36,.2);border-top-color:#0f17248c;animation:host-hotspot-spin .85s linear infinite;opacity:0;transition:opacity .18s ease}.host-hotspot__manager-btn.is-busy .host-hotspot__manager-spinner{opacity:1}@keyframes host-hotspot-spin{to{transform:rotate(360deg)}}.host-hotspot__list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.host-hotspot__item{width:100%;border:1px solid rgba(15,23,36,.08);border-radius:16px;padding:12px 14px;background:#0f172405;text-align:left;cursor:pointer;transition:all .2s ease}.host-hotspot__item.is-selected{border-color:#2aa7c766;box-shadow:0 12px 32px #2aa7c738;background:#2aa7c714}.host-hotspot__empty{padding:14px;border-radius:16px;border:1px dashed rgba(15,23,36,.14);text-align:center;color:#8a97aa;font-size:13px}@media(max-width:760px){.host-hotspot__tour-row{align-items:flex-start;flex-direction:column}}.thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px;margin-top:12px}.thumb{width:100%;height:86px;border-radius:16px;border:1px solid rgba(15,23,36,.08);background:var(--surface);position:relative;overflow:hidden;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb .label{padding:10px;font-size:12px;color:#6b7280;text-align:center}.thumb:hover{transform:translateY(-4px);box-shadow:0 16px 32px #0f17241f}.thumb.selected{outline:3px solid rgba(42,167,199,.3);box-shadow:0 14px 32px #1b95ad33}.thumb .remove-btn{position:absolute;left:8px;top:8px;border:none;background:#ffffffe6;color:#475569;border-radius:999px;padding:2px 6px;font-size:14px;cursor:pointer;box-shadow:0 6px 16px #0f17241a}.thumb .remove-btn:hover{background:#fee2e2;color:#b91c1c}.thumb .badge{position:absolute;right:8px;top:8px;background:#2aa7c7e6;color:#fff;padding:4px 10px;border-radius:999px;font-size:11px}.host-placeholder{border:1px dashed var(--empty-state-border);border-radius:18px;padding:16px;background:var(--empty-state-bg-soft);color:var(--empty-state-muted)}.badge-pill{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;background:#2aa7c729;color:#0f5f75;font-weight:600}
