:root{--bg-deep: #f8fafc;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-elevated: #f1f5f9;--bg-hover: #e2e8f0;--border-dim: rgba(15, 23, 42, .08);--border-base: rgba(15, 23, 42, .14);--border-bright: rgba(15, 23, 42, .22);--cyan: #ffffff;--violet: #6366f1;--green: #16a34a;--red: #dc2626;--amber: #d97706;--text-1: #0f172a;--text-2: #475569;--text-3: #64748b;--glow-cyan: none;--glow-violet: none;--font-display: "Inter", system-ui, sans-serif;--font-body: "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--sidebar-w: 62px;--topbar-h: 48px;--bottombar-h:36px;--right-w: 310px;--radius: 8px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:var(--font-body);background:linear-gradient(180deg,#fff,#f8fafc);color:var(--text-1);-webkit-font-smoothing:antialiased}#app{width:100%;height:100%;position:relative}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#9aad844d;border-radius:4px}.scanlines{position:fixed;inset:0;z-index:9999;pointer-events:none;background:none}.dashboard{display:grid;width:100vw;height:100vh;grid-template-rows:var(--topbar-h) 1fr var(--bottombar-h);grid-template-columns:var(--sidebar-w) 1fr var(--right-w);grid-template-areas:"topbar  topbar   topbar" "sidebar viewport rightpanel" "sidebar bottom   bottom";background:var(--bg-deep)}.dashboard.hidden{display:none}.dashboard.reviews-focus{grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"topbar topbar" "sidebar rightpanel" "sidebar bottom"}.dashboard.reviews-focus .viewport{display:none}.dashboard.insights-focus{grid-template-columns:var(--sidebar-w) 1fr;grid-template-areas:"topbar topbar" "sidebar rightpanel" "sidebar bottom"}.dashboard.insights-focus .viewport{display:none}.topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--bg-surface);border-bottom:1px solid var(--border-base);box-shadow:0 8px 20px #254a3114;z-index:20}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-logo-icon{display:flex}.logo-hex{width:22px;height:22px;color:var(--cyan);filter:drop-shadow(var(--glow-cyan))}.topbar-logo-img{width:28px;height:28px;object-fit:contain;border-radius:50%}.topbar-logo-text{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.12em;color:var(--cyan);text-shadow:var(--glow-cyan)}.topbar-divider{width:1px;height:20px;background:var(--border-base)}.topbar-subtitle{font-family:var(--font-display);font-size:9px;font-weight:500;letter-spacing:.18em;color:#79907e}.topbar-owner-chip:empty{display:none}.topbar-owner-chip{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--violet);margin-left:10px;padding:4px 9px;border-radius:6px;border:1px solid rgba(160,124,255,.35);background:#a07cff12}.topbar-center{display:flex;align-items:center;gap:8px}.sys-dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:none;animation:pulse-glow 2s ease-in-out infinite}.sys-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--green)}.sys-label:after{content:" · LIVE";color:var(--amber);font-weight:700;margin-left:4px}.topbar-right{display:flex;align-items:center;gap:16px}.topbar-date{font-family:var(--font-mono);font-size:11px;color:var(--text-2)}.topbar-time{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--cyan);letter-spacing:.08em;text-shadow:var(--glow-cyan)}.btn-logout{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);background:transparent;border:1px solid var(--border-base);border-radius:6px;padding:6px 12px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.btn-logout:hover{color:var(--red);border-color:#ff336673;background:#ff336614}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:2px;background:linear-gradient(180deg,#181d1a,#141815);border-right:1px solid var(--border-dim);z-index:20}.sidebar-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:52px;height:52px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-3);cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease;position:relative}.sidebar-btn svg{width:18px;height:18px}.sidebar-label{font-family:var(--font-display);font-size:7px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.sidebar-btn:hover{background:var(--bg-hover);color:var(--text-2);transform:translateY(-1px)}.sidebar-btn.active{color:var(--cyan);background:#9aad842e}.sidebar-btn.active:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:var(--cyan);box-shadow:none;border-radius:0 2px 2px 0}.viewport{grid-area:viewport;position:relative;overflow:hidden;background:#fff;display:flex;flex-direction:column}.viewport:before{content:"";position:absolute;right:18px;bottom:18px;width:180px;height:90px;opacity:.14;pointer-events:none;z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 150'%3E%3Cpath d='M20 128h260M40 128l28-40 25 30 20-24 24 34 18-20 20 20 30-48 34 48' stroke='%239aad84' stroke-width='5' fill='none'/%3E%3Ccircle cx='75' cy='55' r='12' stroke='%23d3ac64' stroke-width='4' fill='none'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;animation:hero-float 6s ease-in-out infinite}.viewport:after{content:"";position:absolute;left:14px;top:52px;width:86px;height:86px;opacity:.2;pointer-events:none;z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Ccircle cx='60' cy='60' r='44' stroke='%239aad84' stroke-width='4' fill='none'/%3E%3Ccircle cx='60' cy='60' r='19' stroke='%23d3ac64' stroke-width='4' fill='none'/%3E%3Cpath d='M60 8v24M60 88v24M8 60h24M88 60h24' stroke='%239aad84' stroke-width='4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;animation:radar-pulse 2.6s ease-in-out infinite}.viewport-tabs{display:flex;align-items:stretch;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-right:8px;background:var(--bg-surface);border-bottom:1px solid var(--border-dim);z-index:5;flex-shrink:0}.viewport-tabs-row{display:flex;flex:1;min-width:140px;gap:0}.viewport-tabs-row .viewport-tab{flex:1}.viewport-map-style{display:flex;align-items:center;gap:8px;padding:6px 4px 6px 8px;flex-shrink:0}.viewport-map-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.viewport-map-style label{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.map-display-select{font-family:var(--font-mono);font-size:11px;padding:6px 10px;border-radius:6px;border:1px solid var(--border-dim);background:var(--bg-deep);color:var(--text-2);cursor:pointer;min-width:118px}.map-display-select:focus{outline:none;border-color:var(--cyan)}.viewport-tab{flex:1;padding:10px 16px;font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.viewport-tab:hover{color:var(--text-2);background:var(--bg-hover)}.viewport-tab.active{color:var(--cyan);border-bottom-color:var(--cyan);text-shadow:var(--glow-cyan)}.viewport-3d,.viewport-2d{display:none;flex:1;position:relative;overflow:hidden}.viewport-3d.active{display:block;flex:1;min-height:0}.viewport-2d.active{display:flex;flex-direction:column;flex:1;min-height:0}.viewport-3d canvas,.viewport-2d canvas{display:block;width:100%!important;height:100%!important;position:absolute;top:0;left:0}.viewport-2d{cursor:default}.viewport-2d .spacecheck-matterport-root{flex:1;min-height:0;width:100%}.viewport-body{flex:1;position:relative;min-height:0;display:flex;flex-direction:column}.journey-panel.panel-slot.active{padding:12px 14px 20px;background:linear-gradient(180deg,#080a1680,#0c0e1c59);border-left:1px solid rgba(255,255,255,.12)}.roadmap-inner{max-width:1200px;margin:0 auto}.roadmap-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.roadmap-title{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);text-shadow:var(--glow-cyan)}.btn-roadmap-3d{font-family:var(--font-display);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px;border-radius:6px;border:1px solid rgba(255,255,255,.35);background:linear-gradient(135deg,#ffffff1f,#6366f126);color:var(--text-1);cursor:pointer;transition:border-color .2s,box-shadow .2s}.btn-roadmap-3d:hover{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.roadmap-hint{margin-top:14px;font-size:11px;color:var(--text-3);opacity:.85}.roadmap-chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px}.roadmap-connector{font-size:14px;color:var(--text-3);user-select:none;padding:0 2px}.roadmap-node{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:8px;border:1px solid var(--border-dim);background:var(--bg-surface);font-size:13px;color:var(--text-2)}.roadmap-node--start{border-color:#ffffff59;background:#ffffff0f}.roadmap-node-label{font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--cyan)}.roadmap-node--poi{cursor:grab;min-width:120px}.roadmap-node--poi.dragging{opacity:.55}.roadmap-node-seq{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:6px;font-size:11px;font-weight:700;background:#6366f140;color:var(--text-1)}.roadmap-node-name{font-weight:600}.roadmap-node-drag{font-size:10px;color:var(--text-3);letter-spacing:-2px}.roadmap-node--add{min-width:48px;min-height:48px;padding:0;border-style:dashed;border-color:#fff6;background:#ffffff0d;cursor:pointer;transition:background .2s,border-color .2s}.roadmap-node--add:hover{background:#ffffff1a;border-color:var(--cyan)}.roadmap-plus{font-size:22px;font-weight:300;line-height:1;color:var(--cyan)}.right-panel{grid-area:rightpanel;display:flex;flex-direction:column;background:var(--bg-surface);border-left:1px solid var(--border-dim);box-shadow:-8px 0 20px #254a310f;overflow:hidden;z-index:20}.panel-slot{display:none;flex:1;flex-direction:column;min-height:0;overflow-y:auto;padding:0}.bottombar{grid-area:bottom;display:flex;align-items:center;gap:24px;padding:0 20px;background:var(--bg-surface);border-top:1px solid var(--border-dim);box-shadow:0 -8px 16px #254a310d;z-index:20}.stat-chip{display:flex;align-items:center;gap:6px}.stat-label{font-family:var(--font-display);font-size:8px;font-weight:500;letter-spacing:.1em;color:var(--text-3)}.stat-value{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--cyan);letter-spacing:.04em}.panel-slot .nav-panel,.panel-slot .poi-panel,.panel-slot .media-panel,.panel-slot .user-panel,.panel-slot .reviews-panel,.panel-slot .user-insights-panel,.panel-slot .submitted-panel{position:static!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:100%;flex:1;min-height:0;max-height:none;border:none;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.panel-slot .nav-panel.hidden,.panel-slot .poi-panel.hidden,.panel-slot .media-panel.hidden,.panel-slot .user-panel.hidden,.panel-slot .reviews-panel.hidden,.panel-slot .user-insights-panel.hidden,.panel-slot .submitted-panel.hidden{display:none}.nav-title{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);padding:16px 16px 8px;text-shadow:none}.nav-subtitle{font-family:var(--font-display);font-size:9px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);padding:12px 16px 4px}.nav-divider{height:1px;margin:8px 16px;background:var(--border-base)}.btn-nav{display:flex;align-items:center;gap:8px;width:calc(100% - 32px);margin:4px 16px;padding:10px 12px;font-family:var(--font-body);font-size:12px;font-weight:600;color:var(--text-1);background:#00f0ff0d;border:1px solid var(--border-base);border-radius:var(--radius);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease;letter-spacing:.02em}.btn-nav .icon{font-size:14px}.btn-nav:hover{background:#e5f0db;border-color:var(--border-bright);box-shadow:0 8px 16px #254a311a;transform:translateY(-1px)}.btn-nav:active{transform:scale(.98)}#btn-origin{background:#00ff8814;border-color:#0f83;color:var(--green)}#btn-origin:hover{background:#00ff8826;box-shadow:0 0 12px #0f83}.coord-inputs{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;margin:8px 16px;padding:0;width:calc(100% - 32px);box-sizing:border-box}.coord-group--stacked,.poi-add-field.coord-group{flex:none;flex-direction:column;align-items:stretch;gap:6px}.coord-group label,.coord-inputs>.coord-group .field-label{flex-shrink:0;margin:0;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1;text-align:left;color:var(--text-2)}.field-label--x{color:#ef4444!important}.field-label--y{color:#22c55e!important}.field-label--z{color:#3b82f6!important}.coord-group input,.coord-inputs>.coord-group input,.coord-group--stacked input{flex:1 1 auto;min-width:0;width:100%;min-height:38px;height:38px;padding:8px 10px;box-sizing:border-box;font-family:var(--font-mono);font-size:12px;line-height:1.25;color:var(--text-1);background:#0000004d;border:1px solid var(--border-base);border-radius:var(--radius-sm);text-align:left;outline:none;transition:border-color .2s;-moz-appearance:textfield;appearance:textfield}.coord-group--stacked textarea,.poi-add-field textarea{flex:1 1 auto;min-width:0;width:100%;min-height:72px;padding:8px 10px;box-sizing:border-box;font-family:var(--font-body);font-size:12px;line-height:1.4;color:var(--text-1);background:#0000004d;border:1px solid var(--border-base);border-radius:var(--radius-sm);text-align:left;outline:none;resize:vertical;transition:border-color .2s}.coord-group--stacked textarea:focus,.poi-add-field textarea:focus{border-color:var(--cyan);box-shadow:0 0 8px #00f0ff26}.coord-group input::-webkit-outer-spin-button,.coord-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.coord-group input:focus{border-color:var(--cyan);box-shadow:0 0 8px #00f0ff26}.btn-save{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 32px);margin:8px 16px;padding:10px;font-family:var(--font-body);font-size:12px;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--violet),#6366f1);border:none;border-radius:var(--radius);cursor:pointer;transition:all .15s;box-shadow:var(--glow-violet)}.btn-save:hover{transform:translateY(-1px)}.btn-save:active{transform:translateY(0)}.btn-save .icon{font-size:13px}.poi-panel{display:flex;flex-direction:column;min-height:0}.poi-panel-header{padding:10px 12px 6px;flex-shrink:0}.poi-panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.poi-panel-header-row .poi-panel-title{flex:1;min-width:0}.poi-panel-header-row .admin-refresh-btn{flex-shrink:0;margin-left:auto}.poi-panel-title{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--cyan);margin:0 0 6px}.poi-panel-hint{font-family:var(--font-mono);font-size:10px;color:var(--text-3);line-height:1.35;margin:0}.poi-empty-hint{padding:12px 10px;font-size:12px;color:var(--text-3);line-height:1.4;border:1px dashed var(--border-base);border-radius:var(--radius);background:#7ad3ff0a}.poi-list{flex:1;overflow-y:auto;padding:0 8px 6px;min-height:120px;max-height:min(360px,45vh)}.poi-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 10px;font-size:12px;font-weight:500;line-height:1.35;color:var(--text-2);border-radius:var(--radius-sm);cursor:default;transition:all .15s;margin-bottom:1px;border:1px solid transparent;text-align:left}.poi-item-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:4px 0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.poi-item-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poi-item-nav-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border-radius:999px;font-size:11px;font-weight:600}.poi-item-nav-btn:disabled{opacity:.55;cursor:wait}.poi-item-nav-btn .icon{display:inline-flex}.poi-btn-navigate{width:36px;min-width:36px;padding:0!important;justify-content:center}.poi-item:hover{background:var(--bg-hover);color:var(--text-1)}.poi-item--inactive{opacity:.55}.facility-active-toggle{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.facility-active-toggle input{width:auto}.poi-item.active{background:#00f0ff14;border-color:var(--border-bright);color:var(--cyan);font-weight:600}.poi-coords,.poi-add,.block-coords{padding:0 0 8px;flex-shrink:0}.poi-coords.hidden,.block-coords.hidden{display:none}.coord-inputs.hidden,.hidden{display:none!important}.poi-add-dialog{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:auto}body>.poi-add-dialog{z-index:20000}.poi-add-dialog.hidden{display:none!important}.poi-add-dialog-backdrop{position:absolute;inset:0;background:#000000a6}.poi-add-dialog-card{position:relative;z-index:1;width:min(380px,92vw);max-height:90vh;overflow-y:auto;padding:0 0 4px}.poi-add-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-dim, rgba(255, 255, 255, .06))}.poi-add-dialog-title{margin:0;font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.poi-add-dialog-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:22px;line-height:1;cursor:pointer}.poi-add-dialog-close:hover{background:var(--bg-hover);color:var(--text-1)}.poi-add-field{padding:12px 20px 8px;display:flex;flex-direction:column;gap:6px}.poi-add-field .field-label{font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-2)}.poi-add-field input,.poi-add-field textarea{width:100%;box-sizing:border-box}.poi-add-dialog input[type=text],.poi-add-dialog input[type=number],.poi-add-coords input{min-height:38px;height:38px;padding:8px 10px;box-sizing:border-box;font-size:12px;line-height:1.25}.poi-add-dialog .coord-inputs,.poi-add-coords{margin:0;padding:0 20px 10px;width:auto}.poi-add-dialog-actions{display:flex;gap:10px;justify-content:flex-end;align-items:center;padding:12px 20px 18px}.poi-add-dialog-actions .btn-save{width:auto;margin:0;flex:0 1 auto;min-width:120px;max-width:200px}.btn-secondary{padding:10px 16px;font-size:12px;font-weight:600;color:var(--text-2);background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius-sm);cursor:pointer}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-1)}.poi-coords-title,#poi-selected-name,#media-selected-label{display:none!important}.reviews-panel{display:flex;flex-direction:column;min-height:0}.reviews-panel-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 8px 0;flex-shrink:0}.reviews-header-actions{display:flex;align-items:center;gap:8px}.reviews-refresh{background:transparent;border:1px solid var(--border-base);color:var(--text-2);border-radius:var(--radius);width:32px;height:32px;cursor:pointer;font-size:16px}.reviews-refresh:hover{border-color:var(--cyan);color:var(--cyan)}.reviews-export{border:1px solid rgba(46,94,62,.28);background:#ecf4e7;color:var(--cyan);border-radius:var(--radius);padding:6px 10px;font-family:var(--font-display);font-size:10px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.reviews-export:hover{border-color:var(--cyan);box-shadow:0 8px 14px #254a311a}.reviews-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:0 8px 10px}.insights-range-hint{grid-column:1 / -1;font-family:var(--font-mono);font-size:10px;color:var(--text-3);padding:2px 2px 4px;margin:0}.reviews-stat-card{background:#f5faf2;border:1px solid var(--border-base);border-radius:var(--radius);padding:8px}.reviews-stat-label{display:block;font-family:var(--font-display);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.reviews-stat-value{display:block;font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--cyan);margin-top:4px}.reviews-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 8px 12px}.reviews-date-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:0 8px 14px}.reviews-date-label{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.reviews-date-input{padding:6px 8px;min-width:132px;background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius);color:var(--text-1);font-family:var(--font-mono);font-size:11px}.reviews-date-input:focus{outline:none;border-color:var(--cyan)}.reviews-date-clear{padding:6px 10px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cyan);background:#ffffff14;border:1px solid var(--border-base);border-radius:var(--radius);cursor:pointer}.reviews-date-clear:hover{border-color:var(--cyan)}.reviews-filter-select{width:100%;padding:8px;background:#fff;border:1px solid var(--border-base);border-radius:var(--radius);color:var(--text-1);font-family:var(--font-mono);font-size:11px}.reviews-filter-select:focus{outline:none;border-color:var(--cyan)}.reviews-list{flex:1;overflow-y:auto;padding:0 8px 12px;max-height:none;display:flex;flex-direction:column;gap:10px}.reviews-loading,.reviews-empty,.reviews-error{font-family:var(--font-mono);font-size:11px;color:var(--text-3);padding:16px 8px;text-align:center}.reviews-error{color:#f87171}.review-card{padding:10px 12px;background:#f9fcf7;border:1px solid var(--border-base);border-radius:10px;font-size:12px;box-shadow:0 6px 14px #254a310f;animation:card-fade-in .26s ease both}.review-card-top{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.review-stars{color:var(--amber);letter-spacing:1px}.review-rating-num{font-family:var(--font-mono);color:var(--text-3);font-size:10px}.review-meta{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em}.review-user{font-size:10px;color:var(--text-3);margin-left:auto}.review-body{color:var(--text-2);line-height:1.45;margin-bottom:6px;white-space:pre-wrap;word-break:break-word}.review-card-actions{display:flex;justify-content:flex-end;margin-bottom:6px}.review-download-btn{border:1px solid rgba(46,94,62,.28);background:#ecf4e7;color:var(--cyan);border-radius:var(--radius);padding:5px 9px;font-family:var(--font-display);font-size:9px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.review-download-btn:hover{border-color:var(--cyan);box-shadow:0 8px 14px #254a311a;transform:translateY(-1px)}.admin-panel,.analytics-panel{animation:card-fade-in .3s ease both}.topbar-logo-text{position:relative}.topbar-logo-text:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(46,94,62,.6) 50%,transparent 100%);opacity:.8}@keyframes card-fade-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.review-when{font-size:10px;color:var(--text-3);font-family:var(--font-mono)}.user-insights-panel,.submitted-panel{display:flex;flex-direction:column;min-height:0}.insights-user-list{flex:1;overflow-y:auto;padding:0 8px 12px;display:flex;flex-direction:column;gap:10px}.submitted-detail{border-top:1px solid var(--border-base);padding:8px}.submitted-detail.hidden{display:none}.submitted-detail-image{display:block;width:100%;max-height:180px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border-base);margin:6px 0}:root{--sidebar-w: 56px;--topbar-h: 42px;--bottombar-h: 32px;--right-w: 292px;--radius: 10px}.dashboard{letter-spacing:.01em}.topbar{padding:0 14px}.topbar-logo-text{font-size:12px;letter-spacing:.08em}.topbar-subtitle{font-size:8px;letter-spacing:.12em}.topbar-date,.topbar-time{font-size:11px}.sidebar{padding:6px 0;gap:4px}.sidebar-btn{width:46px;height:46px;border-radius:9px}.sidebar-btn svg{width:15px;height:15px}.sidebar-label{font-size:6px;letter-spacing:.05em}.viewport-tabs{padding-right:6px}.viewport-tab{padding:8px 12px;font-size:9px}.map-display-select{font-size:10px;padding:5px 8px;min-width:102px}.bottombar{gap:14px;padding:0 12px}.stat-label{font-size:7px}.stat-value{font-size:11px}.right-panel,.panel-slot{background:#f8fbf6}.panel-slot.active{padding:6px}.nav-title{font-size:10px;letter-spacing:.08em;padding:10px 10px 6px}.nav-subtitle{font-size:8px;padding:8px 10px 4px}.btn-nav,.btn-save{width:calc(100% - 20px);margin:4px 10px;padding:8px 10px;font-size:11px;border-radius:9px}.reviews-summary-grid{gap:6px;padding:0 6px 8px}.reviews-stat-card{padding:7px;border-radius:9px}.reviews-stat-value{font-size:14px}.reviews-filter-select{padding:7px;font-size:10px}.reviews-list{padding:0 6px 8px;gap:8px}.review-card{padding:9px 10px;border-radius:9px}.review-body{font-size:11px;line-height:1.4}.review-when,.review-meta,.review-user{font-size:9px}.submitted-detail-image{max-height:150px}.admin-panel,.analytics-panel{border-radius:10px;border:1px solid var(--border-base);background:#f9fcf7}@media(max-width:1200px){.reviews-summary-grid{grid-template-columns:1fr 1fr}}.zone-panel{display:flex;flex-direction:column}.zone-panel-header{padding:0;flex-shrink:0}.zone-list{flex:1;overflow-y:auto;padding:0 8px 6px;max-height:260px}.zone-detail{padding:0 0 8px;flex-shrink:0}.zone-detail.hidden{display:none}.zone-detail-title{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-1);padding:8px 16px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.zone-loading{font-family:var(--font-mono);font-size:11px;color:var(--text-3);padding:16px 0;text-align:center}.zone-draw-btn.hidden{display:none}.zone-draw-status{display:flex;align-items:center;gap:8px;padding:10px 16px;margin:6px 16px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--amber);background:#ffaa0014;border:1px solid rgba(255,170,0,.25);border-radius:var(--radius);animation:draw-status-glow 2s ease-in-out infinite}.zone-draw-status.hidden{display:none}.zone-draw-pulse{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--amber);box-shadow:0 0 8px var(--amber);animation:pulse-glow 1.2s ease-in-out infinite}.zone-draw-result{padding:4px 0 8px}.zone-draw-result.hidden{display:none}@keyframes draw-status-glow{0%,to{border-color:#ffaa0026}50%{border-color:#fa06}}.panel-slot .zone-panel{position:static!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:100%;max-height:none;border:none;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.panel-slot .zone-panel.hidden{display:none}.btn-mode{flex:1;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#a0a0b0;padding:8px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn-mode:hover{background:#ffffff1a;border-color:#fff3;color:#fff}.btn-mode.active{background:linear-gradient(135deg,#a855f74d,#8b5cf64d);border-color:#a855f7;color:#fff;box-shadow:0 0 12px #a855f733}.zone-panel .nav-title{display:none}.map2d-panel{display:flex;flex-direction:column;height:100%}.map2d-panel.hidden{display:none}.map2d-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;flex-shrink:0}.map2d-controls{display:flex;align-items:center;gap:8px}.map2d-zoom-label{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--cyan);letter-spacing:.04em;min-width:42px;text-align:right}.map2d-canvas-wrap{flex:1;position:relative;overflow:hidden;cursor:grab;border-top:1px solid var(--border-dim);background:#0d1117}.map2d-canvas-wrap canvas{display:block;width:100%!important;height:100%!important}.panel-slot .map2d-panel{position:static!important;transform:none!important;opacity:1!important;pointer-events:auto!important;width:100%;max-height:none;border:none;border-radius:0;box-shadow:none;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.map2d-floor-list{flex:1;overflow-y:auto;padding:0 8px 6px;max-height:340px}.floor-entry{display:flex;flex-direction:column;gap:6px;padding:10px;margin-bottom:4px;border:1px solid var(--border-dim);border-radius:var(--radius);background:var(--bg-elevated);transition:all .2s}.floor-entry.active{border-color:var(--cyan);background:#ffffff0d;box-shadow:0 0 8px #ffffff1a}.floor-entry.confirmed{border-color:#0f83;cursor:pointer}.floor-entry.confirmed:hover{border-color:#0f86;background:#00ff880d}.floor-entry-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.floor-entry-actions{display:flex;gap:4px;justify-content:flex-end}.floor-name-input{flex:1}.user-panel{display:flex;flex-direction:column}.user-panel-header{padding:0;flex-shrink:0}.user-tabs{display:flex;gap:2px;margin:6px 16px 4px;background:#0000004d;border-radius:var(--radius);padding:2px;border:1px solid var(--border-dim)}.user-tab{flex:1;padding:7px 0;font-family:var(--font-display);font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);background:transparent;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.user-tab:hover{color:var(--text-2)}.user-tab.active{background:#00f0ff26;color:var(--cyan);box-shadow:0 0 8px #00f0ff26}.user-list{flex:1;overflow-y:auto;padding:4px 8px;max-height:260px}.user-item{display:flex;align-items:center;justify-content:flex-start;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;margin-bottom:1px;border:1px solid transparent}.user-item:hover{background:var(--bg-hover)}.user-item.active{background:#00f0ff14;border-color:var(--border-bright)}.user-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 6px currentColor}.user-name{flex:1;font-size:12px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3)}.user-detail{padding:0 0 8px;flex-shrink:0}.user-detail.hidden{display:none}.user-detail-content{max-height:230px;overflow-y:auto;padding:0 16px}.user-pos-label{font-family:var(--font-display);font-size:11px;font-weight:700;color:var(--text-1);margin-bottom:6px;letter-spacing:.04em}.user-pos-coords{display:flex;gap:10px;font-family:var(--font-mono);font-size:11px;font-weight:600;margin-bottom:4px}.user-pos-time{font-family:var(--font-mono);font-size:10px;color:var(--text-3)}.user-loading,.user-empty{font-family:var(--font-mono);font-size:11px;color:var(--text-3);padding:16px 0;text-align:center}.user-empty .user-err-detail{display:block;margin-top:10px;font-size:9px;text-align:left;opacity:.9;word-break:break-word;line-height:1.35;color:var(--text-3)}.user-empty code{font-size:10px;color:var(--cyan)}.user-history-list{display:flex;flex-direction:column;gap:1px;margin-top:6px}.user-history-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:4px;cursor:pointer;transition:background .15s;font-size:10px}.user-history-item:hover{background:var(--bg-hover)}.user-history-num{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--violet);background:#8b5cf61f;border-radius:50%;flex-shrink:0}.user-history-time{font-family:var(--font-mono);color:var(--text-2);font-weight:600;flex-shrink:0}.user-history-xyz{font-family:var(--font-mono);color:var(--text-3);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-panel{display:flex;flex-direction:column;height:100%}.admin-header{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 10px;flex-shrink:0}.admin-title{font-family:var(--font-display);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--cyan);text-shadow:var(--glow-cyan)}.admin-refresh-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--text-2);background:transparent;border:1px solid var(--border-dim);border-radius:var(--radius);cursor:pointer;transition:all .2s}.admin-refresh-btn:hover{color:var(--cyan);border-color:var(--border-bright);box-shadow:var(--glow-cyan)}.admin-list{flex:1;overflow-y:auto;padding:0 10px 10px}.admin-loading,.admin-empty,.admin-error{font-family:var(--font-mono);font-size:11px;color:var(--text-3);padding:20px 0;text-align:center}.admin-error{color:var(--red)}.admin-item{border:1px solid var(--border-dim);border-radius:var(--radius);margin-bottom:4px;background:var(--bg-elevated);transition:all .2s;overflow:hidden}.admin-item:hover{border-color:var(--border-base)}.admin-item-display{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;gap:8px}.admin-item-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.admin-item-title{font-size:12px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-item-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-3);letter-spacing:.02em}.admin-item-actions{display:flex;gap:4px;flex-shrink:0}.admin-btn{padding:5px 8px;font-family:var(--font-body);font-size:11px;font-weight:600;border:1px solid var(--border-dim);border-radius:4px;background:transparent;color:var(--text-2);cursor:pointer;transition:all .15s}.admin-btn:hover{border-color:var(--border-base)}.admin-btn-edit:hover{color:var(--cyan);border-color:#00f0ff4d}.admin-btn-delete:hover{color:var(--red);border-color:#ff33664d}.admin-btn-save{background:#00ff881a;border-color:#00ff8840;color:var(--green)}.admin-btn-save:hover{background:#0f83}.admin-btn-cancel{color:var(--text-3)}.admin-item-edit{padding:8px 12px 12px;border-top:1px solid var(--border-dim);background:#00000026}.admin-item-edit.hidden{display:none}.admin-field{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.admin-field label{font-family:var(--font-display);font-size:8px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3)}.admin-field input[type=text]{width:100%;padding:7px 10px;font-family:var(--font-mono);font-size:12px;color:var(--text-1);background:#0000004d;border:1px solid var(--border-base);border-radius:4px;outline:none;transition:border-color .2s}.admin-field input[type=text]:focus{border-color:var(--cyan);box-shadow:0 0 8px #00f0ff1f}.admin-field-bool{display:flex;align-items:center;gap:8px;margin-bottom:8px;cursor:pointer}.admin-field-bool input[type=checkbox]{accent-color:var(--cyan);width:14px;height:14px}.admin-field-bool span{font-size:11px;font-weight:500;color:var(--text-2)}.admin-edit-actions{display:flex;gap:6px;padding-top:4px}.analytics-panel{padding:0}.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 12px 12px}.analytics-loading{grid-column:1/-1;font-family:var(--font-mono);font-size:11px;color:var(--text-3);padding:24px 0;text-align:center}.analytics-card{position:relative;padding:20px 16px;border-radius:var(--radius);border:1px solid var(--border-dim);background:var(--bg-elevated);text-align:center;overflow:hidden}.analytics-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px}.analytics-card--cyan:before{background:var(--cyan);box-shadow:0 0 12px var(--cyan)}.analytics-card--violet:before{background:var(--violet);box-shadow:0 0 12px var(--violet)}.analytics-card--green:before{background:var(--green);box-shadow:0 0 12px var(--green)}.analytics-card--amber:before{background:var(--amber);box-shadow:0 0 12px var(--amber)}.analytics-card--red:before{background:var(--red);box-shadow:0 0 12px var(--red)}.analytics-card-value{font-family:var(--font-display);font-size:28px;font-weight:800;letter-spacing:.02em}.analytics-card--cyan .analytics-card-value{color:var(--cyan);text-shadow:var(--glow-cyan)}.analytics-card--violet .analytics-card-value{color:var(--violet);text-shadow:var(--glow-violet)}.analytics-card--green .analytics-card-value{color:var(--green);text-shadow:0 0 12px rgba(0,255,136,.25)}.analytics-card--amber .analytics-card-value{color:var(--amber);text-shadow:0 0 12px rgba(255,170,0,.25)}.analytics-card--red .analytics-card-value{color:var(--red);text-shadow:0 0 12px rgba(255,51,102,.25)}.analytics-card-label{font-family:var(--font-display);font-size:8px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-3);margin-top:6px}.overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none}.overlay>*{pointer-events:auto}.form-overlay{background:radial-gradient(ellipse at 50% 30%,rgba(0,240,255,.04) 0%,transparent 60%),var(--bg-deep);pointer-events:auto}.form-card{width:min(420px,92vw);padding:36px 32px 32px;background:var(--bg-surface);border:1px solid var(--border-base);border-radius:12px;box-shadow:0 4px 40px #0009,0 0 0 1px var(--border-dim) inset;position:relative}.form-card:before{content:"";position:absolute;top:-1px;left:-1px;width:24px;height:24px;border-top:2px solid var(--cyan);border-left:2px solid var(--cyan);border-radius:12px 0 0;filter:drop-shadow(var(--glow-cyan))}.form-card:after{content:"";position:absolute;bottom:-1px;right:-1px;width:24px;height:24px;border-bottom:2px solid var(--cyan);border-right:2px solid var(--cyan);border-radius:0 0 12px;filter:drop-shadow(var(--glow-cyan))}.form-logo{display:block;margin:0 auto 10px;width:80px;height:80px;object-fit:contain;border-radius:50%;filter:drop-shadow(0 0 8px rgba(0,200,255,.35))}.form-card h1{font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:.06em;color:var(--cyan);text-shadow:var(--glow-cyan);margin-bottom:4px;text-align:center}.form-card .subtitle{font-family:var(--font-mono);font-size:11px;color:var(--text-3);margin-bottom:28px}.form-card .form-error{font-family:var(--font-mono);font-size:12px;color:#f87171;margin:-8px 0 18px;padding:10px 12px;border-radius:var(--radius);background:#f8717114;border:1px solid rgba(248,113,113,.35)}.form-card .form-error.hidden{display:none}.form-group{margin-bottom:18px}.form-group label{display:block;font-family:var(--font-display);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:6px}.form-group input{width:100%;padding:12px 14px;font-family:var(--font-mono);font-size:13px;color:var(--text-1);background:#0000004d;border:1px solid var(--border-base);border-radius:var(--radius);outline:none;transition:border-color .2s,box-shadow .2s}.right-panel,.panel-slot{background:#1a1f1c!important}.right-panel{position:relative}.right-panel:before{content:"";position:absolute;right:10px;top:12px;width:92px;height:32px;opacity:.16;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 70'%3E%3Crect x='8' y='8' width='184' height='54' rx='10' stroke='%239aad84' stroke-width='4' fill='none'/%3E%3Cpath d='M28 43h48M124 43h48M100 22v26' stroke='%23d3ac64' stroke-width='4'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.reviews-export,.review-download-btn{border:1px solid rgba(154,173,132,.36)!important;background:#9aad8426!important}.reviews-stat-card,.review-card,.admin-panel,.analytics-panel{background:#202521!important}.reviews-filter-select{background:#171c19!important;color:var(--text-1)!important}.review-card{box-shadow:0 8px 18px #00000047!important}@keyframes hero-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes radar-pulse{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.06);opacity:.3}}.form-group input::placeholder{color:var(--text-3)}.form-group input:focus{border-color:var(--cyan);box-shadow:0 0 12px #00f0ff1f}.form-group .help{font-family:var(--font-mono);font-size:10px;color:var(--text-3);margin-top:5px}.btn-start{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:24px;padding:14px;font-family:var(--font-display);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#00f0ff40,#8b5cf640);border:1px solid var(--border-bright);border-radius:var(--radius);cursor:pointer;transition:all .2s;box-shadow:var(--glow-cyan)}.btn-start:hover{background:linear-gradient(135deg,#00f0ff59,#8b5cf659);transform:translateY(-1px)}.btn-start:active{transform:translateY(0)}.btn-start:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-start .icon{font-size:16px}.status-bar{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:10px 20px;background:#030308d9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-dim);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--text-2);transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s}.viewport-body>.status-bar,.viewport-map-chrome~.status-bar,.immersive-shell .viewport-body>.status-bar{position:fixed;inset:50% auto auto 50%;width:max-content;max-width:min(92vw,520px);transform:translate(-50%,-50%);padding:14px 22px;border:1px solid var(--border-base, rgba(255, 255, 255, .12));border-radius:var(--radius, 12px);box-shadow:var(--shadow-float, 0 8px 24px rgba(0, 0, 0, .35));z-index:160;pointer-events:none}.viewport-body>.status-bar.hidden,.immersive-shell .viewport-body>.status-bar.hidden{transform:translate(-50%,-50%) scale(.98);opacity:0;pointer-events:none}.status-bar.hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.viewport-body>.status-bar.hidden{transform:translate(-50%,-50%) scale(.98);opacity:0}.status-bar .dot{width:7px;height:7px;border-radius:50%;margin-right:10px;flex-shrink:0}.status-bar .dot.pulse{animation:pulse-glow 1.4s ease-in-out infinite}.status-bar .dot.loading{background:var(--cyan)}.status-bar .dot.success{background:var(--green)}.status-bar .dot.error{background:var(--red)}.confidence-badge{position:fixed;bottom:44px;left:50%;transform:translate(-50%);z-index:100;padding:6px 16px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--cyan);background:#030308cc;backdrop-filter:blur(12px);border:1px solid var(--border-base);border-radius:100px;opacity:0;transition:opacity .3s}.confidence-badge.visible{opacity:1}@keyframes pulse-glow{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.nav-panel:not(.panel-slot .nav-panel){position:fixed;top:60px;right:20px;z-index:50;width:240px;padding:20px;background:var(--bg-surface);border:1px solid var(--border-base);border-radius:12px;box-shadow:0 4px 24px #00000080}.nav-panel:not(.panel-slot .nav-panel).hidden{transform:translate(120%);opacity:0;pointer-events:none}.poi-panel:not(.panel-slot .poi-panel){position:fixed;top:60px;left:20px;z-index:50;width:260px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-base);border-radius:12px;box-shadow:0 4px 24px #00000080}.poi-panel:not(.panel-slot .poi-panel).hidden{transform:translate(-120%);opacity:0;pointer-events:none}.user-panel:not(.panel-slot .user-panel){position:fixed;top:310px;right:20px;z-index:50;width:260px;max-height:calc(100vh - 100px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-base);border-radius:12px;box-shadow:0 4px 24px #00000080}.user-panel:not(.panel-slot .user-panel).hidden{transform:translate(120%);opacity:0;pointer-events:none}:root{--bg-deep: #0d1117;--bg-base: #121823;--bg-surface: #161f2d;--bg-elevated: #1c283a;--bg-hover: #26354b;--border-dim: rgba(255, 255, 255, .2);--border-base: rgba(255, 255, 255, .3);--border-bright: rgba(255, 255, 255, .55);--cyan: #ffffff;--violet: #8ea1ff;--green: #46d8be;--red: #ff6b7a;--amber: #ffcf6a;--text-1: #edf4ff;--text-2: #b9cae5;--text-3: #8ea3c4}html,body{background:radial-gradient(circle at 15% 15%,#1a2740,#0e141d,#0a1018)}.viewport:before,.viewport:after,.right-panel:before{display:none!important}.topbar,.bottombar,.sidebar,.right-panel{background:linear-gradient(180deg,#161f2df2,#111824f2)!important}.sidebar-btn.active,.reviews-export,.review-download-btn{background:#79c9ff29!important;border-color:#79c9ff73!important}.review-card,.reviews-stat-card,.admin-panel,.analytics-panel{background:#1c283aeb!important;border:1px solid rgba(121,201,255,.22)}.reviews-filter-select,.map-display-select,.form-group input{background:#111925e6!important;color:var(--text-1)!important;border-color:#79c9ff4d!important}.topbar-logo-text{animation:neon-breathe 3.6s ease-in-out infinite}.sys-dot{animation:pulse-glow 1.6s ease-in-out infinite}.sidebar-btn:hover,.review-download-btn:hover,.reviews-export:hover,.btn-nav:hover,.btn-save:hover{transform:translateY(-1px) scale(1.01);box-shadow:0 0 16px #79c9ff33}.review-card{animation:glass-rise .22s ease both}@keyframes neon-breathe{0%,to{text-shadow:0 0 8px rgba(121,201,255,.35)}50%{text-shadow:0 0 16px rgba(121,201,255,.7)}}@keyframes glass-rise{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.form-overlay{background:radial-gradient(circle at 20% 15%,rgba(121,201,255,.18),transparent 45%),radial-gradient(circle at 80% 80%,rgba(142,161,255,.15),transparent 48%),linear-gradient(140deg,#0c121c,#121b2b 60%,#0f1623)}.form-card{width:min(460px,92vw);padding:38px 34px 32px;border-radius:16px;border:1px solid rgba(121,201,255,.32);background:linear-gradient(180deg,#172130f2,#111925f2);box-shadow:0 16px 50px #070b11a6,0 0 0 1px #79c9ff1f inset}.form-card h1{font-size:20px;letter-spacing:.08em}.form-card .subtitle{font-size:12px;color:var(--text-2)}.btn-start{border-radius:12px;background:linear-gradient(135deg,#79c9ff47,#8ea1ff40);border:1px solid rgba(121,201,255,.45);box-shadow:0 10px 22px #79c9ff29}.btn-start:hover{background:linear-gradient(135deg,#79c9ff59,#8ea1ff52);box-shadow:0 14px 24px #79c9ff38}.sidebar{background:linear-gradient(180deg,#111a2a,#0f1624)!important}.sidebar-btn{color:#9ab3d9!important}.sidebar-btn:hover{background:#ffffff24!important;color:#d6e8ff!important}.sidebar-btn.active{background:#ffffff2e!important;color:#fff!important}.sidebar-btn.active:before{background:#8fd5ff!important}.sidebar{background:linear-gradient(180deg,#10192a,#0d1524)!important;border-right:1px solid rgba(255,255,255,.22)!important}.right-panel,.panel-slot{background:linear-gradient(180deg,#111a2b,#0e1626)!important;border-left:1px solid rgba(255,255,255,.2)!important}:root{--bg-deep: #090d16;--bg-base: #0e1422;--bg-surface: #131b2d;--bg-elevated: #1a2440;--bg-hover: #253152;--border-dim: rgba(255, 255, 255, .2);--border-base: rgba(255, 255, 255, .34);--border-bright: rgba(160, 124, 255, .58);--cyan: #ffffff;--violet: #a07cff;--green: #ffffff;--amber: #ffcc70;--text-1: #f3f7ff;--text-2: #bfd0ec;--text-3: #93a9cb}html,body{background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.15),transparent 34%),radial-gradient(circle at 86% 82%,rgba(160,124,255,.14),transparent 38%),linear-gradient(145deg,#070b12,#0d1321 55%,#0a1020)}.dashboard{position:relative}.dashboard:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' viewBox='0 0 240 240'%3E%3Cpath d='M30 120h180M120 30v180M60 60h120v120H60z' stroke='%23ffffff' stroke-opacity='0.25' stroke-width='1' fill='none'/%3E%3C/svg%3E");background-size:240px 240px;animation:bg-drift 18s linear infinite}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 40%,rgba(255,255,255,.25) 60%,transparent 100%);animation:scanline 3.2s ease-in-out infinite}.sidebar:after{content:"";position:absolute;bottom:8px;width:28px;height:28px;opacity:.35;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Ccircle cx='32' cy='32' r='24' stroke='%23ffffff' stroke-width='3' fill='none'/%3E%3Ccircle cx='32' cy='32' r='10' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='3' fill='none'/%3E%3C/svg%3E");background-size:contain;animation:pulse-orb 2.6s ease-in-out infinite}.right-panel:after{content:"";position:absolute;right:12px;bottom:12px;width:88px;height:52px;opacity:.22;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 90'%3E%3Cpath d='M12 75h156M24 58l24-20 20 14 18-10 22 18 18-12 30 20' stroke='%23ffffff' stroke-opacity='0.35' stroke-width='4' fill='none'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat}.sidebar-btn,.viewport-tab,.review-download-btn,.reviews-export,.btn-nav,.btn-save,.btn-start{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background .2s ease}.sidebar-btn:hover,.viewport-tab:hover,.review-download-btn:hover,.reviews-export:hover,.btn-nav:hover,.btn-save:hover,.btn-start:hover{box-shadow:0 0 0 1px #ffffff52,0 10px 20px #060c1673}.review-card,.analytics-card,.admin-item{animation:rise-in .24s cubic-bezier(.2,.8,.2,1) both}@keyframes bg-drift{0%{background-position:0 0}to{background-position:240px 240px}}@keyframes scanline{0%,to{opacity:.35}50%{opacity:.95}}@keyframes pulse-orb{0%,to{transform:scale(1);opacity:.25}50%{transform:scale(1.1);opacity:.55}}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.category-panel{display:flex;flex-direction:column;min-height:0;height:100%;gap:10px;padding:0 12px 12px}.category-panel.hidden{display:none}.category-panel-hint{margin:0;font-size:12px;line-height:1.45;color:var(--text-3, #64748b)}.category-add-btn{width:32px;height:32px;border-radius:8px}.category-list{display:flex;flex-direction:column;gap:6px;overflow:auto;min-height:0}.category-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left}.category-item-icon,.poi-item-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.poi-item{display:flex;align-items:center;gap:10px}.poi-item-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-empty{padding:14px 10px;font-size:12px;color:var(--text-3, #64748b)}.category-editor{border-top:1px solid var(--border-base, rgba(148, 163, 184, .22));padding-top:12px}.category-icon-preview{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:8px;border-radius:10px;background:var(--glass-item-bg, rgba(255, 255, 255, .72));border:1px solid var(--glass-item-border, rgba(148, 163, 184, .22))}.category-icon-picker{display:flex;flex-direction:column;gap:8px}.category-icon-search{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--glass-item-border, rgba(148, 163, 184, .22));background:var(--glass-item-bg, rgba(255, 255, 255, .72));color:var(--text-1);font-size:12px}.category-icon-search::placeholder{color:var(--text-3, #64748b)}.category-icon-grid{display:flex;flex-direction:column;gap:10px;max-height:240px;overflow:auto;padding:2px}.category-icon-group-label{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--text-3, #64748b);margin-bottom:4px}.category-icon-group-label--empty{text-transform:none;font-weight:500}.category-icon-group-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.category-icon-option{display:inline-flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:8px;border:1px solid var(--glass-item-border, rgba(148, 163, 184, .22));background:var(--glass-item-bg, rgba(255, 255, 255, .72));color:var(--text-1);cursor:pointer}.category-icon-option.active,.category-icon-option:hover{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 12%,white)}.poi-category-filter{margin-top:8px}:root{--bg-mesh: #ffffff;--bg-mesh-deep: #ffffff;--bg-app-gradient: radial-gradient(ellipse 100% 70% at 50% -15%, rgba(37, 99, 235, .06), transparent 55%), linear-gradient(155deg, #ffffff 0%, #f8fafc 45%, #f1f5f9 100%);--bg-deep: #f8fafc;--bg-base: #ffffff;--bg-surface: #ffffff;--bg-elevated: #f8fafc;--bg-hover: #e2e8f0;--bg-inverse: #0f172a;--bg-sidebar: transparent;--ink: #0f172a;--ink-muted: #475569;--ink-faint: #64748b;--glass-white: rgba(255, 255, 255, .96);--glass-white-strong: #ffffff;--glass-ink: #0f172a;--glass-border: rgba(15, 23, 42, .1);--glass-border-ink: rgba(15, 23, 42, .14);--glass-blur: blur(12px);--glass-blur-heavy: blur(16px);--chrome-panel: #ffffff;--chrome-panel-strong: #ffffff;--accent: #ffffff;--accent-hover: rgba(255, 255, 255, .92);--accent-soft: rgba(255, 255, 255, .08);--border-dim: rgba(15, 23, 42, .08);--border-base: rgba(15, 23, 42, .14);--border-bright: rgba(15, 23, 42, .24);--cyan: #ffffff;--violet: #6366f1;--green: #16a34a;--red: #dc2626;--amber: #d97706;--text-1: #0f172a;--text-2: #475569;--text-3: #64748b;--text-inverse: #ffffff;--text-on-ink: #0f172a;--glow-cyan: none;--glow-amber: none;--glow-violet: none;--font-display: "IBM Plex Sans", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", Consolas, monospace;--chrome-gap: 12px;--hud-header-h: 52px;--hud-footer-h: 68px;--hud-drawer-w: 300px;--hud-scene-gap: 10px;--nav-float-width: 64px;--float-radius: 14px;--radius: 10px;--radius-sm: 8px;--shadow-float: 0 10px 40px rgba(0, 0, 0, .55), 0 0 28px rgba(255, 255, 255, .1);--shadow-float-sm: 0 4px 18px rgba(0, 0, 0, .45), 0 0 14px rgba(255, 255, 255, .08);--shadow-float-ink: 0 12px 48px rgba(0, 0, 0, .65), 0 0 32px rgba(255, 149, 0, .12);--brand-navy: #1a1b23;--brand-blue: #ffffff;--brand-blue-mid: #ffffff;--brand-cyan: #ffffff;--brand-ice: rgba(255, 255, 255, .08);--brand-snow: #1a2535;--brand-amber: #ff9500}.float-glass{background:var(--glass-panel-bg, rgba(255, 255, 255, .78));border:1px solid var(--glass-panel-border, rgba(255, 255, 255, .92));box-shadow:var(--shadow-float-sm);backdrop-filter:var(--glass-blur-heavy, blur(18px)) saturate(140%);-webkit-backdrop-filter:var(--glass-blur-heavy, blur(18px)) saturate(140%);border-radius:var(--float-radius)}.float-glass--ink{background:var(--glass-item-bg-hover, rgba(255, 255, 255, .92));border:1px solid var(--glass-panel-border, rgba(255, 255, 255, .92));box-shadow:var(--shadow-float);color:var(--text-1)}.scanlines,.viewport:before,.viewport:after,.dashboard:before,.topbar:after,.sidebar:after,.right-panel:after,.right-panel:before{display:none!important;content:none!important}.immersive-shell{display:block!important;position:relative;width:100vw;height:100vh;overflow:hidden;background:transparent!important;background-color:transparent!important;grid-template:none!important;gap:0!important;padding:0!important}.immersive-shell.dashboard.hidden{display:none!important;visibility:hidden!important;pointer-events:none!important}.immersive-shell .scene-stage.scene-float{position:fixed;z-index:1;top:calc(var(--chrome-gap) + var(--hud-header-h, 52px) + var(--hud-scene-gap, 10px));bottom:calc(var(--chrome-gap) + var(--hud-scene-gap, 10px));left:calc(var(--chrome-gap) + var(--nav-float-width, 64px) + var(--hud-scene-gap, 10px));right:calc(var(--chrome-gap) + var(--hud-scene-gap, 10px));margin:0!important;border:1px solid var(--glass-panel-border, var(--scene-chrome-border))!important;border-radius:20px!important;box-shadow:var(--shadow-float)!important;background:var(--glass-panel-bg, rgba(255, 255, 255, .72))!important;backdrop-filter:var(--glass-blur-heavy, blur(22px)) saturate(160%);-webkit-backdrop-filter:var(--glass-blur-heavy, blur(22px)) saturate(160%);display:flex;flex-direction:column;overflow:hidden;pointer-events:none}.scene-hud-clip{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;clip-path:polygon(14px 0,calc(100% - 14px) 0,100% 14px,100% calc(100% - 14px),calc(100% - 14px) 100%,14px 100%,0 calc(100% - 14px),0 14px)}.viewport-body{position:relative;flex:1;min-height:0;pointer-events:auto}.scene-overlay-ui{position:absolute;inset:0;z-index:60;pointer-events:none}.immersive-shell .scene-overlay-ui.chrome-layer{pointer-events:none!important;z-index:60!important}.immersive-shell .scene-overlay-ui .scene-toolbar,.immersive-shell .scene-overlay-ui .scene-toolbar-inner{pointer-events:auto}.scene-overlay-ui .scene-toolbar{position:absolute;left:50%;bottom:14px;transform:translate(-50%);z-index:3;pointer-events:none;max-width:min(560px,calc(100% - 32px))}.hud-footer-dock{display:none!important}.drawer-panel-stack{position:relative;flex:1;display:flex;flex-direction:column;gap:10px;min-height:0;padding:10px;overflow:hidden;z-index:1}.drawer-panel-stack .panel-slot{display:none;flex-direction:column;gap:10px;flex:1;min-height:0;overflow:hidden}.drawer-panel-stack .panel-slot.active{display:flex}.scene-panel-stack{display:none!important}.scene-float-panel{pointer-events:auto;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-radius:20px!important}.scene-float-panel.hidden{display:none!important}.scene-float-panel--list{flex:3 1 0;min-height:0;max-height:none}.scene-float-panel--edit{flex:2 1 0;min-height:210px;max-height:none;overflow-x:hidden;overflow-y:auto}.scene-float-panel--single{flex:1 1 auto;max-height:none}.immersive-shell .float-drawer{display:none}.immersive-shell.drawer-open .float-drawer{display:flex!important}.immersive-shell.drawer-open .scene-stage.scene-float{right:calc(var(--chrome-gap) + var(--hud-drawer-w, 300px) + var(--hud-scene-gap, 10px))}.scene-hud-frame{position:absolute;inset:0;z-index:45;pointer-events:none}.scene-float-panel .poi-list,.scene-float-panel .zone-list.block-list,.scene-float-panel .media-list,.scene-float-panel .user-list{flex:1;min-height:0;overflow-y:auto;padding:0 10px 10px}.scene-float-panel .poi-panel-header,.scene-float-panel .zone-panel-header,.scene-float-panel .media-panel-header,.scene-float-panel .user-panel-header{flex-shrink:0;padding:12px 14px 8px!important}.scene-hud-corner{position:absolute;width:28px;height:28px;border-color:#94a3b873;border-style:solid;opacity:.75}.scene-hud-corner--tl{top:10px;left:10px;border-width:2px 0 0 2px}.scene-hud-corner--tr{top:10px;right:10px;border-width:2px 2px 0 0}.scene-hud-corner--bl{bottom:10px;left:10px;border-width:0 0 2px 2px}.scene-hud-corner--br{bottom:10px;right:10px;border-width:0 2px 2px 0}.immersive-shell .topbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-3, 12px)}.immersive-shell .topbar-left{justify-self:start;min-width:0}.immersive-shell .topbar-right{justify-self:end;display:flex;align-items:center;gap:var(--space-2, 8px);flex-shrink:0}.immersive-shell .topbar-stat{display:flex;align-items:center;min-height:40px;height:40px;padding:0 14px;border-radius:999px;pointer-events:none;flex-shrink:0}.immersive-shell .topbar-stat-panel{display:none;align-items:baseline;gap:8px;margin:0;white-space:nowrap;line-height:1}.immersive-shell .topbar-stat-panel.active{display:flex}.immersive-shell .topbar-stat-value{font-family:var(--font-mono);font-size:15px;font-weight:700;color:var(--stat-accent, var(--accent));letter-spacing:-.02em}.immersive-shell .topbar-stat-label{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-2);letter-spacing:.01em}.immersive-shell[data-active-panel=pois] .topbar-stat{--stat-accent: #2563eb}.immersive-shell[data-active-panel=media] .topbar-stat{--stat-accent: #818cf8}.immersive-shell[data-active-panel=users] .topbar-stat{--stat-accent: #86efac}.immersive-shell[data-active-panel=blocks] .topbar-stat{--stat-accent: #ffb84d}.immersive-shell .viewport-map-chrome{display:none!important}.immersive-shell.drawer-open .viewport-map-chrome .map-stats-bar{max-width:calc(100% - 32px)}.immersive-shell.nav-dock-open .scene-stage.scene-float{right:calc(var(--chrome-gap) + min(280px,calc(100vw - 120px)) + 8px)}.immersive-shell .viewport-body,.immersive-shell .viewport-3d,.immersive-shell .viewport-2d,.immersive-shell .viewport-body canvas{pointer-events:auto}.immersive-shell .chrome-layer,.immersive-shell .topbar,.immersive-shell .sidebar-nav-block,.immersive-shell .viewport-tabs,.immersive-shell .bottombar,.immersive-shell .topbar-stat,.immersive-shell .float-nav-dock,.immersive-shell .float-drawer{pointer-events:auto;z-index:500}.immersive-shell>.bottombar{display:none!important}.immersive-shell .viewport-map-chrome{position:absolute;inset:0;z-index:40;pointer-events:none}.immersive-shell .viewport-map-chrome .map-stats-bar,.immersive-shell .viewport-map-chrome .bottombar.map-stats-bar{position:absolute;inset:auto auto 88px 16px;width:auto;margin:0;padding:8px 14px;display:flex;align-items:center;gap:18px;pointer-events:auto;border-radius:var(--float-radius, 14px)}.immersive-shell .scene-toolbar{z-index:150}.hud-footer-dock .scene-toolbar-inner{pointer-events:auto}.immersive-shell .viewport-tabs{position:relative;top:auto;left:auto;right:auto;width:100%;max-width:none;display:flex;align-items:center;justify-content:space-between;padding:10px 14px!important;min-height:44px;flex-shrink:0;border-bottom:1px solid var(--border-dim);background:var(--bg-surface)}.immersive-shell .viewport-body{flex:1;min-height:0;position:relative;background:var(--bg-mesh)}.immersive-shell .viewport-3d,.immersive-shell .viewport-2d{position:absolute;inset:0;width:100%;height:100%;z-index:1;min-height:0}.scene-toolbar{position:absolute;left:50%;bottom:10px;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;max-width:min(420px,calc(100% - 24px))}.scene-toolbar-inner{display:flex;align-items:center;gap:4px;padding:4px 6px;pointer-events:auto;border-radius:999px!important}.scene-tool-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:0;width:52px;padding:4px 6px;border:none;border-radius:999px;background:transparent;color:var(--text-2);cursor:pointer;box-shadow:none;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.scene-tool-btn:hover{color:var(--text-1);background:var(--glass-item-bg-hover);border:none;box-shadow:none}.scene-tool-btn.active{color:var(--accent);background:var(--glass-item-bg-active);border:none;box-shadow:none}.scene-tool-icon svg{display:block;width:16px;height:16px}.scene-tool-label{font-family:var(--font-mono);font-size:7px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;line-height:1.1}.scene-tool-hint{display:none!important}.scene-tool-cancel{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:2px;padding:0;border:1px solid var(--border-base);border-radius:50%;background:#ff6b8a1f;color:var(--red);cursor:pointer;flex-shrink:0}.scene-tool-cancel:hover{background:#fee2e2;border-color:#f87171;color:#b91c1c}.scene-tool-cancel.hidden{display:none}.scene-tool-cancel svg{width:18px;height:18px}.immersive-shell .viewport-3d,.immersive-shell .viewport-2d{background:var(--bg-mesh)!important}.immersive-shell .viewport-3d canvas,.immersive-shell .viewport-2d canvas{background:transparent!important}.immersive-shell .topbar{position:fixed;top:var(--chrome-gap);left:var(--chrome-gap);right:var(--chrome-gap);height:48px;min-height:48px;padding:0 16px!important;margin:0!important;width:auto!important;border-radius:var(--float-radius)!important;background:var(--chrome-panel)!important}.topbar-logo-text{font-size:14px;font-weight:600;letter-spacing:-.02em;color:var(--cyan);background:none;-webkit-text-fill-color:var(--cyan);text-shadow:var(--glow-cyan)}.topbar-subtitle{font-size:11px;color:var(--amber);letter-spacing:.02em;font-weight:500;text-shadow:var(--glow-amber)}.topbar-divider{height:20px;background:var(--border-base)}.topbar-owner-chip{font-size:10px;font-weight:600;color:var(--ink);background:var(--accent-soft);border:1px solid var(--border-base);border-radius:999px;padding:3px 10px}.sys-dot{width:7px;height:7px;background:var(--green);box-shadow:none;animation:none}.sys-label{font-size:11px;font-weight:500;color:var(--text-2)}.sys-label:after{display:none!important}.topbar-date{font-size:11px;color:var(--text-3)}.topbar-time{font-size:11px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.topbar-logout{margin-left:0}.brand-logo{display:block;width:auto;object-fit:contain;flex-shrink:0}.brand-logo--topbar{height:44px;max-width:44px}.topbar-logo-icon{display:flex;align-items:center;line-height:0}.form-brand{display:flex;justify-content:center;margin-bottom:8px}.brand-logo--login{height:128px;max-width:min(220px,80vw);width:auto}.form-brand-title{text-align:center;margin-bottom:4px!important}.immersive-shell .sidebar-nav-block{position:fixed;left:var(--chrome-gap);top:50%;transform:translateY(-50%);bottom:auto;z-index:600;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px 10px;margin:0;width:auto;max-height:calc(100vh - var(--hud-header-h, 52px) - var(--hud-footer-h, 68px) - 48px);overflow:visible;background:var(--chrome-panel-strong)!important;border:1px solid var(--border-base)!important;border-radius:22px!important;box-shadow:var(--shadow-float-sm)!important}.immersive-shell .sidebar-nav-block.float-glass{background:var(--chrome-panel-strong)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.sidebar-nav-block .sidebar-btn{width:44px;height:44px;min-height:44px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:0;border-radius:50%;color:var(--text-3)!important;background:transparent!important;border:none!important;box-shadow:none!important}.sidebar-nav-block .sidebar-btn svg{width:20px;height:20px;color:currentColor;stroke:currentColor;stroke-width:1.75}.sidebar-nav-block .sidebar-btn[data-panel=media] svg{width:24px;height:24px}.sidebar-nav-block .sidebar-label{display:none}.sidebar-nav-block .sidebar-btn:hover{background:var(--accent-soft)!important;color:var(--accent)!important;transform:none}.sidebar-nav-block .sidebar-btn:hover svg{color:var(--ink)}.sidebar-nav-block .sidebar-btn.active{background:var(--glass-item-bg-active)!important;color:var(--accent)!important;box-shadow:0 0 0 1px var(--accent-soft),var(--glow-cyan)!important}.sidebar-nav-block .sidebar-btn.active svg{color:var(--accent);filter:none}.sidebar-nav-block .sidebar-btn.active:before{display:none!important}.immersive-shell .bottombar{position:fixed;bottom:var(--chrome-gap);left:var(--chrome-gap);right:var(--chrome-gap);height:40px;min-height:40px;padding:0 16px!important;margin:0!important;display:flex;align-items:center;gap:20px;border-radius:var(--float-radius)!important;background:var(--chrome-panel)!important}.stat-chip{background:transparent;border:none;box-shadow:none;padding:0;gap:6px}.stat-label{font-size:9px;font-weight:600;letter-spacing:.08em;color:var(--text-3)}.stat-value{font-size:12px;font-weight:600;color:var(--cyan);text-shadow:0 0 10px rgba(255,255,255,.4)}.float-nav-dock{position:fixed;right:var(--chrome-gap);top:calc(var(--chrome-gap) + 52px + 48px);width:min(280px,calc(100vw - 120px));max-height:calc(100vh - 180px);overflow:hidden;display:none;flex-direction:column;padding:0}.immersive-shell.nav-dock-open .float-nav-dock{display:flex}.nav-dock-frost{isolation:isolate;border-radius:var(--float-radius);border:1px solid var(--border-base);background:linear-gradient(155deg,#121c2af0,#0a101af5 45%,#080c14fa);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:var(--shadow-float),var(--glow-cyan),inset 0 1px #ffffff1f,inset 0 -1px #ff950026}.nav-dock-frost:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;opacity:.92;background-image:radial-gradient(1.8px 1.8px at 8% 14%,rgba(255,255,255,.98) 48%,transparent 50%),radial-gradient(2px 2px at 22% 38%,rgba(255,255,255,.95) 48%,transparent 50%),radial-gradient(1.5px 1.5px at 41% 12%,rgba(248,252,255,.9) 48%,transparent 50%),radial-gradient(2.2px 2.2px at 58% 28%,rgba(255,255,255,.92) 48%,transparent 50%),radial-gradient(1.6px 1.6px at 74% 16%,rgba(255,255,255,.88) 48%,transparent 50%),radial-gradient(2px 2px at 88% 42%,rgba(248,252,255,.95) 48%,transparent 50%),radial-gradient(1.4px 1.4px at 15% 62%,rgba(255,255,255,.9) 48%,transparent 50%),radial-gradient(2.4px 2.4px at 33% 78%,rgba(255,255,255,.96) 48%,transparent 50%),radial-gradient(1.7px 1.7px at 52% 58%,rgba(224,242,254,.85) 48%,transparent 50%),radial-gradient(2px 2px at 68% 72%,rgba(255,255,255,.94) 48%,transparent 50%),radial-gradient(1.5px 1.5px at 85% 64%,rgba(255,255,255,.88) 48%,transparent 50%),radial-gradient(1.8px 1.8px at 6% 88%,rgba(248,252,255,.92) 48%,transparent 50%),radial-gradient(2.2px 2.2px at 48% 92%,rgba(255,255,255,.9) 48%,transparent 50%),radial-gradient(ellipse 130% 70% at 50% -15%,rgba(56,189,248,.28),transparent 58%),radial-gradient(ellipse 90% 50% at 100% 100%,rgba(37,99,235,.12),transparent 55%)}.nav-dock-frost:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(180deg,#ffffff8c,#ffffff14 42%,#bae6fd1f)}.nav-dock-frost .nav-panel{position:relative;z-index:1;padding:16px 16px 18px!important;background:transparent!important;border:none!important;overflow-y:auto;max-height:inherit}.nav-dock-frost .nav-title{font-size:10px!important;font-weight:700!important;letter-spacing:.14em!important;color:var(--cyan)!important;padding:0 0 12px!important;border:none!important;text-shadow:var(--glow-cyan)}.nav-dock-frost .nav-subtitle{color:#0c1e3da6!important;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.nav-dock-frost .nav-divider{height:1px;margin:10px 0 12px;background:linear-gradient(90deg,transparent,rgba(37,99,235,.2) 20%,rgba(56,189,248,.35) 50%,rgba(37,99,235,.2) 80%,transparent);border:none}.nav-dock-frost .btn-nav{background:#ffffff80!important;color:var(--brand-navy)!important;border:1px solid rgba(37,99,235,.35)!important;font-weight:600!important;margin:4px 0!important;width:100%!important;box-shadow:0 2px 8px #1d4ed814,inset 0 1px #ffffffd9!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-dock-frost .btn-nav:hover{background:#ffffffb8!important;border-color:var(--brand-blue-mid)!important;box-shadow:0 4px 14px #2563eb26!important}.nav-dock-frost .coord-group label{color:#1d4ed8bf!important;font-size:9px;font-weight:600}.nav-dock-frost .coord-group input{background:#ffffff8c!important;border:1px solid rgba(56,189,248,.4)!important;color:var(--brand-navy)!important;border-radius:var(--radius-sm)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:inset 0 1px 2px #fff9}.nav-dock-frost .coord-group input:focus{border-color:var(--brand-blue-mid)!important;box-shadow:0 0 0 2px #38bdf840!important;outline:none}.nav-dock-frost .coord-inputs{padding:0 2px;margin:8px 0 10px}.nav-dock-frost .nav-hint{margin:12px 0 0!important;font-size:11px!important;line-height:1.45!important;color:#0c1e3d9e!important;padding:0 2px 4px!important}.nav-dock-frost .nav-hint kbd{display:inline-block;padding:2px 7px;border-radius:5px;font-family:var(--font-mono);font-size:10px;font-weight:600;color:var(--brand-blue);background:#ffffffa6;border:1px solid rgba(37,99,235,.25);box-shadow:inset 0 1px #ffffffe6}.immersive-shell .float-drawer{position:fixed;right:var(--chrome-gap);top:calc(var(--chrome-gap) + var(--hud-header-h, 52px) + var(--hud-scene-gap, 10px));bottom:calc(var(--chrome-gap) + var(--hud-scene-gap, 10px));width:min(var(--hud-drawer-w, 300px),calc(100vw - var(--nav-float-width, 64px) - 48px));flex-direction:column;overflow:hidden;padding:0;margin:0!important;border-radius:var(--float-radius, 20px)!important;z-index:500}.drawer-frost{isolation:isolate;border:1px solid var(--glass-panel-border, rgba(148, 163, 184, .28));background:var(--glass-panel-bg, rgba(255, 255, 255, .78));backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:var(--shadow-float-sm)}.drawer-frost:before,.drawer-frost:after{display:none}.drawer-frost .panel-slot{position:relative;z-index:1}.immersive-shell.reviews-focus .float-drawer,.immersive-shell.insights-focus .float-drawer{display:flex!important;left:calc(var(--chrome-gap) + var(--nav-float-width) + 8px);right:var(--chrome-gap);width:auto;max-width:none}.immersive-shell.reviews-focus .panel-slot.active,.immersive-shell.insights-focus .panel-slot.active{min-height:0;flex:1;width:100%}.immersive-shell.reviews-focus .reviews-panel,.immersive-shell.insights-focus .user-insights-panel{flex:1;min-height:0;display:flex!important;flex-direction:column}.immersive-shell .user-panel{flex:1;min-height:0;height:100%;display:flex;flex-direction:column}.immersive-shell .user-panel-header{flex-shrink:0;padding:14px 16px 6px}.immersive-shell .user-panel-header .poi-panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:0}.immersive-shell .user-panel-header .poi-panel-header-row .admin-refresh-btn{flex-shrink:0;margin-left:auto}.immersive-shell .user-tabs{margin:6px 12px 8px;background:#fff9;border:1px solid var(--border-base)}.immersive-shell .user-tab{color:var(--text-3)}.immersive-shell .user-tab.active{background:var(--bg-elevated);color:var(--brand-blue);box-shadow:var(--shadow-float-sm)}.immersive-shell .user-list{flex:1;min-height:0;max-height:none!important;padding:4px 12px 12px}.immersive-shell .user-detail:not(.hidden){flex:1;min-height:0;max-height:none;border-top:1px solid var(--border-dim);padding-top:8px}.immersive-shell .user-panel:has(.user-detail:not(.hidden)) .user-list{flex:0 1 42%;max-height:42%}.immersive-shell .user-detail-content{max-height:none!important}.immersive-shell .user-item{background:var(--bg-elevated);border:1px solid var(--border-dim);margin-bottom:6px;box-shadow:var(--shadow-float-sm)}.immersive-shell .user-item.active{border-color:var(--brand-blue-mid);background:var(--bg-surface);box-shadow:inset 0 0 0 1px var(--brand-blue-mid)}.immersive-shell.reviews-focus .scene-stage.scene-float,.immersive-shell.insights-focus .scene-stage.scene-float{display:none!important}.panel-slot{display:none;flex:1;min-height:0;overflow-y:auto;padding:8px 0 12px!important;background:transparent!important}.panel-slot.active{display:flex;flex-direction:column}.glass-shell .panel-slot:not(.active),.immersive-shell .panel-slot:not(.active){display:none!important}.glass-shell .panel-slot:not(.active) .poi-panel,.glass-shell .panel-slot:not(.active) .media-panel{display:none!important}.nav-title,.admin-title{font-size:10px;font-weight:700;letter-spacing:.1em;color:var(--text-3);padding:12px 14px 8px;border-bottom:1px solid var(--border-dim);text-transform:uppercase}.viewport-tab{font-size:11px;font-weight:600;color:var(--text-3);padding:6px 12px;border-bottom:2px solid transparent;letter-spacing:.02em;text-transform:none}.viewport-tab.active{color:var(--ink);border-bottom-color:var(--ink)}.map-display-select{font-size:11px;padding:5px 8px;background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius-sm)!important;color:var(--ink)}.viewport-map-style label{font-size:10px;color:var(--text-3);font-weight:500}.glass-shell .panel-slot .poi-list+.btn-save,.glass-shell .panel-slot>.btn-save:not(.poi-btn-save){margin:4px 14px!important;width:calc(100% - 28px)!important}.btn-nav,.reviews-export,.review-download-btn{background:var(--chrome-panel)!important;color:var(--ink)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius-sm)!important;font-size:11px!important;font-weight:600!important;box-shadow:var(--shadow-float-sm)!important;padding:8px 12px!important}.btn-nav:hover,.reviews-export:hover,.review-download-btn:hover{background:var(--bg-hover)!important;box-shadow:var(--shadow-float)!important;transform:none!important}.btn-delete,.btn-delete-poi,#btn-delete-poi.btn-save,#btn-delete-zone.btn-save,#btn-cancel-draw.btn-save,.admin-btn-delete{background:var(--chrome-panel)!important;color:var(--text-2)!important;border:1px solid var(--border-base)!important;box-shadow:none!important}.btn-delete:hover,.btn-delete-poi:hover,#btn-delete-poi.btn-save:hover,#btn-delete-zone.btn-save:hover,#btn-cancel-draw.btn-save:hover,.admin-btn-delete:hover{background:var(--bg-hover)!important;color:var(--text-1)!important;border-color:var(--border-bright, var(--border-base))!important}.poi-actions-row{display:flex;gap:8px;padding:0 16px;align-items:stretch}.poi-actions-row .poi-btn-save{flex:0 0 75%;width:75%!important;max-width:75%;margin:0!important;white-space:nowrap}.poi-actions-row .poi-btn-delete{flex:0 0 calc(25% - 8px);width:calc(25% - 8px)!important;max-width:calc(25% - 8px);margin:0!important;padding:8px 4px!important;min-width:0;display:inline-flex!important;align-items:center;justify-content:center}.poi-actions-row .poi-btn-save .icon{display:inline-flex;vertical-align:middle;margin-right:5px}.coord-inputs{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:14px;padding:0 14px 10px;margin:0;width:100%;box-sizing:border-box}.coord-inputs>.coord-group{flex:1 1 0;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:3px;min-width:0}.coord-inputs>.coord-group input{flex:1 1 auto;min-width:0;width:100%;min-height:38px;height:38px;padding:8px 10px;box-sizing:border-box;font-size:12px;line-height:1.25;font-family:var(--font-mono);background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius-sm)!important;box-shadow:inset 0 1px 2px #ffffffe6}.immersive-shell input[type=number]{-moz-appearance:textfield;appearance:textfield}.immersive-shell input[type=number]::-webkit-outer-spin-button,.immersive-shell input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.immersive-shell input[type=text],.immersive-shell input[type=number],.immersive-shell input[type=password],.immersive-shell input[type=email],.immersive-shell select,.immersive-shell textarea{background:var(--chrome-panel)!important;color:var(--ink)!important;border-radius:var(--radius-sm)!important}.immersive-shell input:focus,.immersive-shell select:focus,.immersive-shell textarea:focus{border-color:var(--brand-blue-mid)!important;box-shadow:0 0 0 2px #38bdf838,var(--shadow-float-sm)!important;outline:none}.reviews-refresh{font-size:11px;padding:6px 12px;background:var(--bg-elevated);border:1px solid var(--border-base);color:var(--accent);border-radius:var(--radius-sm)}.nav-item,.tracking-row,.submitted-row,.admin-item{margin:0 12px 6px;padding:10px 12px;background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius-sm);font-size:12px;box-shadow:var(--shadow-float-sm)}.glass-shell .panel-slot .poi-item,.glass-shell .panel-slot .media-list .poi-item{margin:0!important}.nav-item:hover,.poi-item:hover{background:var(--bg-hover);border-color:var(--border-bright);color:var(--accent)}.nav-item.active,.poi-item.active{background:#ffffff1f;color:var(--cyan);border-color:var(--cyan);box-shadow:inset 0 0 0 1px #ffffff80,0 0 12px #fff3}.reviews-panel-header{padding:10px 12px}.reviews-stat-card{background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius-sm);padding:10px}.reviews-stat-value{color:var(--ink);font-weight:700}.reviews-filter-select,.reviews-date-input{font-size:11px;padding:6px 8px;background:var(--bg-elevated)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius-sm)!important}.review-card{background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius)!important;box-shadow:none!important;margin:0 12px 8px;padding:12px!important}.review-journey-title{color:var(--ink)!important;font-size:13px;font-weight:600}.review-stop{background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius-sm)}.admin-panel,.analytics-panel{margin:8px 12px;padding:12px!important;background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius)!important}.analytics-card{background:var(--bg-elevated);border:1px solid var(--border-dim);border-radius:var(--radius-sm)}.analytics-card-value{color:var(--ink)!important;text-shadow:none!important}.form-overlay{position:fixed!important;inset:0!important;width:100%!important;min-height:100vh!important;min-height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;z-index:900}.form-overlay--glass .form-card{width:min(400px,92vw)!important;padding:28px 28px 26px!important;background:var(--chrome-panel-strong)!important;backdrop-filter:blur(20px) saturate(140%);-webkit-backdrop-filter:blur(20px) saturate(140%);border:1px solid var(--border-base)!important;border-radius:var(--float-radius)!important;box-shadow:var(--shadow-float),var(--glow-cyan),inset 0 0 0 1px #ff950026!important}.form-card:before,.form-card:after{display:none!important}.form-card h1{font-size:20px!important;font-weight:700!important;color:var(--ink)!important}.form-card .subtitle{font-size:13px!important;color:var(--text-2)!important;margin-bottom:22px!important}.form-group label{font-size:11px;font-weight:600;color:var(--text-2)}.form-group input{padding:10px 12px!important;background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important;border-radius:var(--radius-sm)!important}.password-field{position:relative;display:block;width:100%}.password-field input{width:100%;padding-right:44px!important;box-sizing:border-box}.password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer}.password-toggle:hover,.password-toggle:focus-visible{color:var(--ink);background:var(--bg-hover)}.form-group input:focus{border-color:var(--cyan)!important;box-shadow:0 0 0 2px #ffffff40,var(--glow-cyan)!important}.btn-start{background:linear-gradient(135deg,#ffffff59,#fff3)!important;color:var(--cyan)!important;border:1px solid var(--amber)!important;font-weight:600!important;padding:11px!important;border-radius:var(--radius-sm)!important;margin-top:8px!important;box-shadow:var(--glow-amber),var(--shadow-float-sm);text-shadow:0 0 12px rgba(255,255,255,.5)}.btn-start:hover{background:linear-gradient(135deg,#ffffff73,#ffffff4d)!important;border-color:var(--cyan)!important;box-shadow:var(--glow-cyan),var(--glow-amber)}.form-error{font-size:12px;padding:8px 10px;background:#f871711f;border:1px solid rgba(248,113,113,.35);color:var(--red);border-radius:var(--radius-sm)}.form-error.hidden{display:none}.status-bar{background:var(--chrome-panel)!important;color:var(--ink)!important;border:1px solid var(--border-base)!important}.immersive-shell .viewport-body>.status-bar{background:var(--clay-surface, var(--chrome-panel))!important;color:var(--text-1, var(--ink))!important;top:50%;bottom:auto;transform:translate(-50%,-50%)}.sidebar{background:transparent!important;border:none!important}.right-panel,.panel-slot{background:transparent!important}.reviews-stat-card,.review-card,.admin-panel,.analytics-panel{background:var(--chrome-panel)!important}.poi-panel-hint,.map2d-matterport-help{display:none!important}.glass-shell .panel-slot .poi-list,.glass-shell .panel-slot .media-list{padding:4px 14px 14px;flex:1;min-height:0;overflow-y:auto}.poi-list{padding:0 8px 8px}.poi-drawer-grid{display:none}.block-detail.is-empty .block-detail-fields{opacity:.45;pointer-events:none}.poi-subpanel-title{padding:6px 12px 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);flex-shrink:0}.poi-list-panel .poi-list{flex:1;min-height:0;overflow-y:auto;padding:0 8px 8px}.poi-edit-panel .poi-coords,#media-edit-panel .media-coords,.block-detail-fields,.block-coords .block-detail-fields{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.scene-float-panel--edit .poi-actions-row{flex-shrink:0;margin-top:auto;padding:6px 12px 10px;position:sticky;bottom:0;z-index:1;background:var(--chrome-panel, #fff)}#media-edit-panel .media-panel-save-row{position:static;margin-top:8px}.poi-edit-empty{display:none}#poi-edit-panel:not(:has(#poi-coords:not(.hidden))) .poi-edit-empty{display:none}#poi-edit-panel:has(#poi-coords:not(.hidden)) .poi-edit-empty{display:none}.poi-edit-empty.hidden{display:none}.scene-float-panel--edit,#poi-edit-panel{display:flex;flex-direction:column;min-height:0}.immersive-shell .poi-panel .poi-panel-header{flex-shrink:0}.immersive-shell .poi-panel{display:flex;flex-direction:column;flex:1;min-height:0;height:100%}.map2d-actions{padding:0 14px 14px}.poi-panel-header,.map2d-header{padding:14px 16px 10px!important}.immersive-shell .poi-panel-title{color:var(--text-1)!important;text-shadow:none}.float-drawer .journey-panel,.float-drawer .reviews-panel{padding:0 0 8px}.dashboard:before,.topbar:after,.sidebar:after,.right-panel:after{display:none!important}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#00000059;border-radius:4px;box-shadow:none}#form-overlay.hidden{display:none!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important}.overlay.form-overlay{z-index:900;pointer-events:auto;position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important}.overlay.form-overlay.hidden{z-index:-1!important}#app>.dashboard:not(.hidden){z-index:10;position:relative;pointer-events:auto}.immersive-shell .dashboard:not(.hidden){cursor:default}.immersive-shell .dashboard:not(.hidden) canvas{cursor:inherit}.dashboard,.dashboard .right-panel,.dashboard .float-nav-dock,.dashboard .topbar,.dashboard .bottombar,.dashboard .sidebar-nav-block,.dashboard .poi-panel,.dashboard .panel-slot,.dashboard .roadmap-inner,.dashboard .poi-item,.dashboard .poi-coords-title,.dashboard .nav-subtitle,.dashboard .field-label,.dashboard .coord-group .field-label,.dashboard .stat-chip,.dashboard .topbar-date,.dashboard .topbar-time{user-select:none;cursor:default}.topbar-logout,.sidebar-btn,.viewport-tab,.btn-nav,.btn-start,.map-display-select,.dashboard button,.dashboard a,.dashboard .poi-item,.dashboard .btn-poi-add{cursor:pointer}.dashboard input[type=text],.dashboard input[type=password],.dashboard input[type=number],.dashboard input[type=email],.dashboard textarea,.dashboard select{cursor:text;user-select:text}.dashboard label{cursor:default;user-select:none}@media(max-width:768px){.immersive-shell .scene-stage.scene-float{left:var(--chrome-gap);right:var(--chrome-gap);top:calc(var(--chrome-gap) + var(--hud-header-h, 52px) + 8px);bottom:calc(var(--chrome-gap) + var(--hud-footer-h, 68px) + 8px)}.immersive-shell .hud-footer-dock{left:var(--chrome-gap);right:var(--chrome-gap)}.immersive-shell .sidebar-nav-block{top:auto;bottom:calc(var(--chrome-gap) + var(--hud-footer-h, 68px) + 4px);left:var(--chrome-gap);right:auto;width:auto;height:auto;flex-direction:row;padding:8px 12px!important;overflow-x:auto;max-width:calc(100vw - 24px)}.float-nav-dock,.immersive-shell .float-drawer{left:auto;right:var(--chrome-gap);width:min(var(--hud-drawer-w, 300px),calc(100vw - 48px));max-width:85vw}.immersive-shell.drawer-open .scene-stage.scene-float{right:calc(var(--chrome-gap) + min(var(--hud-drawer-w, 300px),calc(100vw - 48px)) + 8px)}}.immersive-shell .viewport-tabs--display-only{justify-content:space-between;gap:12px}.viewport-map-controls--leading{justify-content:flex-start}.viewport-map-controls--trailing{justify-content:flex-end}.viewport-accessibility-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid rgba(91,33,182,.45);border-radius:999px;background:#7c3aed1a;color:#5b21b6;font-family:var(--font-mono);font-size:11px;font-weight:600;cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast),color var(--duration-fast)}.viewport-accessibility-btn:hover{background:#7c3aed2e;border-color:#5b21b6a6;color:#4c1d95}.viewport-accessibility-btn.active{background:#7c3aed3d;border-color:#7c3aed;color:#4c1d95}html[data-theme=dark] .viewport-accessibility-btn{border-color:#7c3aed73;background:#7c3aed24;color:#ddd6fe}html[data-theme=dark] .viewport-accessibility-btn:hover{background:#7c3aed3d;border-color:#a78bfaa6;color:#f5f3ff}html[data-theme=dark] .viewport-accessibility-btn.active{background:#7c3aed52;border-color:#a78bfa;color:#fff}.viewport-accessibility-icon svg{display:block;width:16px;height:16px;color:currentColor}.stairs-add-btn{width:100%;margin-top:var(--space-2);font-size:12px}.immersive-shell .viewport-blocks-toggle{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-2);cursor:pointer;user-select:none}.immersive-shell .viewport-blocks-toggle input{accent-color:var(--brand-blue)}.immersive-shell .journey-panel.panel-slot.active{padding:16px 18px 20px!important;background:transparent!important;border:none!important}.immersive-shell .roadmap-inner{padding:0 4px}.immersive-shell .roadmap-toolbar{margin-bottom:16px;padding:0 2px}.immersive-shell .roadmap-title{color:var(--cyan)!important;text-shadow:var(--glow-cyan)!important}.immersive-shell .roadmap-node--start{border-color:var(--border-base)!important;background:var(--chrome-panel)!important}.immersive-shell .roadmap-node-label{color:var(--cyan)!important;text-shadow:var(--glow-cyan)}.immersive-shell .roadmap-node--poi{background:var(--chrome-panel)!important;border:1px solid var(--border-base)!important}.immersive-shell .roadmap-node-seq{background:#fff3!important;color:var(--cyan)!important;box-shadow:0 0 10px #ffffff40}.immersive-shell .roadmap-node--add{border:1px dashed var(--border-bright)!important;background:var(--accent-soft)!important;color:var(--accent)!important}.immersive-shell .roadmap-hint{padding:0 4px;margin-top:16px}.immersive-shell .roadmap-chain--vertical .roadmap-node--poi,.immersive-shell .roadmap-chain--vertical .roadmap-node--start,.immersive-shell .roadmap-chain--vertical .roadmap-node--add{width:100%;justify-content:center!important;text-align:center}.immersive-shell .reviews-panel-header,.immersive-shell .user-insights-header{padding:14px 16px 10px!important;display:flex;align-items:center;justify-content:space-between;gap:12px}.immersive-shell .reviews-header-actions{display:flex;align-items:center;gap:8px}.immersive-shell .reviews-filters,.immersive-shell .reviews-date-filters,.immersive-shell #insights-date-filters{padding:0 16px 10px!important}.immersive-shell .reviews-summary-grid{padding:0 16px 12px!important}.immersive-shell .reviews-list,.immersive-shell .insights-user-list{padding:0 16px 16px!important}.immersive-shell .review-journey-title{color:var(--ink)!important;text-shadow:none!important}.immersive-shell .review-meta{color:#000!important;padding:0 4px}.immersive-shell .review-media-badge,.immersive-shell .review-media-badge--video{color:var(--ink)!important;background:var(--chrome-panel)!important;border:1px solid var(--ink)!important;font-weight:600}.immersive-shell .review-video,.immersive-shell .review-snapshot{background:#f5f5f5!important;border:1px solid var(--border-base)!important}.immersive-shell .review-stop{padding:12px!important}.immersive-shell .review-card-top{padding-bottom:4px}.immersive-shell .reviews-refresh{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:32px;padding:6px!important}.immersive-shell .ui-icon{display:block;flex-shrink:0}.immersive-shell .btn-save .icon,.immersive-shell .btn-nav .icon,.immersive-shell .zone-draw-btn .icon{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px}.immersive-shell .admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 8px;background:var(--bg-elevated);border:1px solid var(--border-base);border-radius:var(--radius-sm)}.immersive-shell .admin-btn-edit:hover{border-color:var(--ink)}.immersive-shell .admin-btn-delete{border-color:var(--red)!important;color:var(--red)!important}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--chrome-gap: 16px;--stats-dock-h: 38px;--glass-blur: blur(14px);--glass-blur-heavy: blur(22px);--font-display: "DM Sans", system-ui, sans-serif;--font-body: "DM Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", monospace;--drawer-w: 320px;--hud-drawer-w: 320px;--nav-float-width: 64px;--float-radius: 20px;--radius: 16px;--radius-sm: 12px;--radius-xs: 8px;--radius-pill: 999px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .45s;--route-violet: #6366f1;--beacon-green: #16a34a;--waypoint-amber: #d97706;--violet: #6366f1;--green: #16a34a;--red: #dc2626;--amber: #d97706}html[data-theme=light],html:not([data-theme]){color-scheme:light;--bg-mesh: #eef4fb;--bg-mesh-deep: #e5edf8;--bg-app-gradient: radial-gradient(ellipse 90% 70% at 15% -10%, rgba(255, 255, 255, .95) 0%, transparent 55%), radial-gradient(ellipse 70% 55% at 85% 100%, rgba(147, 197, 253, .28) 0%, transparent 50%), linear-gradient(165deg, #eef4fb 0%, #dde8f5 48%, #e8eef7 100%);--bg-deep: #eef4fb;--bg-base: rgba(255, 255, 255, .72);--bg-surface: rgba(255, 255, 255, .82);--bg-elevated: rgba(255, 255, 255, .9);--bg-hover: rgba(255, 255, 255, .95);--bg-inverse: #0f172a;--bg-sidebar: transparent;--ink: #0f172a;--ink-muted: #475569;--ink-faint: #64748b;--chrome-panel: rgba(255, 255, 255, .78);--chrome-panel-strong: rgba(255, 255, 255, .88);--glass-white: rgba(255, 255, 255, .82);--glass-white-strong: rgba(255, 255, 255, .92);--glass-border: rgba(255, 255, 255, .85);--glass-border-ink: rgba(148, 163, 184, .35);--glass-panel-bg: rgba(255, 255, 255, .78);--glass-panel-border: rgba(255, 255, 255, .92);--glass-stat-bg: rgba(255, 255, 255, .55);--glass-stat-border: rgba(148, 163, 184, .22);--glass-control-bg: rgba(255, 255, 255, .65);--glass-control-border: rgba(148, 163, 184, .25);--glass-control-bg-hover: rgba(255, 255, 255, .92);--glass-item-bg: rgba(255, 255, 255, .72);--glass-item-border: rgba(148, 163, 184, .22);--glass-item-bg-hover: rgba(255, 255, 255, .92);--glass-item-bg-active: rgba(255, 255, 255, .96);--glass-input-bg: rgba(255, 255, 255, .82);--glass-input-border: rgba(148, 163, 184, .28);--glass-grid-line: rgba(15, 23, 42, .04);--scene-chrome-border: rgba(255, 255, 255, .65);--glass-modal-bg: rgba(255, 255, 255, .92);--glass-modal-border: rgba(148, 163, 184, .28);--glass-backdrop: rgba(238, 244, 251, .72);--glass-inset-highlight: rgba(255, 255, 255, .85);--accent: #2563eb;--accent-hover: #1d4ed8;--accent-soft: rgba(37, 99, 235, .1);--cyan: #2563eb;--border-dim: rgba(148, 163, 184, .2);--border-base: rgba(148, 163, 184, .28);--border-bright: rgba(100, 116, 139, .4);--text-1: #0f172a;--text-2: #475569;--text-3: #64748b;--text-inverse: #ffffff;--text-on-ink: #0f172a;--glow-cyan: 0 4px 24px rgba(37, 99, 235, .18);--glow-amber: 0 4px 20px rgba(217, 119, 6, .15);--glow-violet: 0 4px 20px rgba(99, 102, 241, .15);--shadow-float: 0 12px 40px rgba(15, 23, 42, .08), 0 0 0 1px rgba(255, 255, 255, .95) inset, inset 0 1px 0 rgba(255, 255, 255, 1);--shadow-float-sm: 0 6px 24px rgba(15, 23, 42, .06), 0 0 0 1px rgba(255, 255, 255, .9) inset;--shadow-float-ink: 0 16px 48px rgba(15, 23, 42, .12);--brand-navy: #0f172a;--brand-blue: #2563eb;--brand-blue-mid: #3b82f6;--brand-cyan: #2563eb;--brand-ice: rgba(255, 255, 255, .85);--brand-snow: rgba(255, 255, 255, .92);--brand-amber: #fcd34d;--clay-raised-sm: var(--shadow-float-sm);--clay-raised: var(--shadow-float);--clay-pressed: inset 0 0 0 1px rgba(148, 163, 184, .25);--clay-inset: inset 0 1px 0 rgba(255, 255, 255, .85)}html[data-theme=dark]{color-scheme:dark;--bg-mesh: #0f1219;--bg-mesh-deep: #0a0d14;--bg-app-gradient: radial-gradient(ellipse 80% 60% at 20% -5%, rgba(96, 165, 250, .12) 0%, transparent 55%), radial-gradient(ellipse 70% 50% at 90% 100%, rgba(99, 102, 241, .1) 0%, transparent 50%), linear-gradient(165deg, #0f1219 0%, #12161f 48%, #0a0d14 100%);--bg-deep: #0f1219;--bg-base: rgba(22, 28, 42, .72);--bg-surface: rgba(28, 36, 52, .82);--bg-elevated: rgba(34, 42, 58, .88);--bg-hover: rgba(42, 52, 72, .92);--bg-inverse: #f8fafc;--bg-sidebar: transparent;--ink: #f1f5f9;--ink-muted: #94a3b8;--ink-faint: #64748b;--chrome-panel: rgba(22, 28, 42, .72);--chrome-panel-strong: rgba(28, 36, 52, .85);--glass-white: rgba(30, 41, 59, .5);--glass-white-strong: rgba(51, 65, 85, .55);--glass-border: rgba(51, 65, 85, .45);--glass-border-ink: rgba(71, 85, 105, .5);--glass-panel-bg: rgba(22, 28, 42, .72);--glass-panel-border: rgba(51, 65, 85, .55);--glass-stat-bg: rgba(15, 23, 42, .65);--glass-stat-border: rgba(51, 65, 85, .45);--glass-control-bg: rgba(15, 23, 42, .55);--glass-control-border: rgba(51, 65, 85, .4);--glass-control-bg-hover: rgba(30, 41, 59, .75);--glass-item-bg: rgba(15, 23, 42, .5);--glass-item-border: rgba(51, 65, 85, .4);--glass-item-bg-hover: rgba(30, 41, 59, .7);--glass-item-bg-active: rgba(37, 99, 235, .18);--glass-input-bg: rgba(12, 16, 24, .65);--glass-input-border: rgba(51, 65, 85, .45);--glass-grid-line: rgba(71, 85, 105, .08);--scene-chrome-border: rgba(51, 65, 85, .5);--glass-modal-bg: rgba(22, 28, 42, .96);--glass-modal-border: rgba(51, 65, 85, .55);--glass-backdrop: rgba(4, 7, 13, .78);--glass-inset-highlight: transparent;--accent: #60a5fa;--accent-hover: #93c5fd;--accent-soft: rgba(96, 165, 250, .14);--cyan: #60a5fa;--border-dim: rgba(30, 41, 59, .55);--border-base: rgba(51, 65, 85, .5);--border-bright: rgba(71, 85, 105, .65);--text-1: #f1f5f9;--text-2: #94a3b8;--text-3: #64748b;--text-inverse: #0f172a;--text-on-ink: #f1f5f9;--glow-cyan: 0 4px 28px rgba(96, 165, 250, .22);--glow-amber: 0 4px 20px rgba(251, 191, 36, .12);--glow-violet: 0 4px 20px rgba(129, 140, 248, .15);--shadow-float: 0 16px 48px rgba(0, 0, 0, .55), 0 0 0 1px rgba(51, 65, 85, .35) inset;--shadow-float-sm: 0 8px 28px rgba(0, 0, 0, .45), 0 0 0 1px rgba(51, 65, 85, .3) inset;--shadow-float-ink: 0 20px 56px rgba(0, 0, 0, .65);--brand-navy: #0f1219;--brand-blue: #60a5fa;--brand-blue-mid: #93c5fd;--brand-cyan: #60a5fa;--brand-ice: rgba(30, 41, 59, .5);--brand-snow: rgba(51, 65, 85, .45);--brand-amber: #fcd34d;--clay-raised-sm: var(--shadow-float-sm);--clay-raised: var(--shadow-float);--clay-pressed: inset 0 0 0 1px rgba(51, 65, 85, .4);--clay-inset: none}html.theme-transition,html.theme-transition *,html.theme-transition *:before,html.theme-transition *:after{transition:background-color .4s var(--ease-out-expo),color .3s ease,border-color .35s ease,box-shadow .4s var(--ease-out-expo),fill .3s ease,stroke .3s ease!important}html,body,#app{background:var(--bg-app-gradient)!important;background-color:var(--bg-deep)!important;color:var(--text-1)}.glass-shell.dashboard,.glass-shell.immersive-shell{background:transparent!important;background-color:transparent!important;color:var(--text-1)}.glass-shell:not(.dashboard):not(.immersive-shell){background:var(--bg-app-gradient)!important;background-color:var(--bg-deep)!important;color:var(--text-1)}.glass-shell{position:relative}.glass-shell:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.22;background-image:linear-gradient(var(--glass-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--glass-grid-line) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,black 20%,transparent 75%)}.glass-shell .topbar,.glass-shell .sidebar-nav-block,.glass-shell .right-panel,.glass-shell .bottombar,.glass-shell .scene-toolbar-inner,.glass-shell .float-glass,.glass-shell .float-drawer,.glass-shell .poi-add-dialog-card,.glass-shell .map-stats-bar,.glass-shell .clay-pill,.glass-shell .scene-float-panel{background:var(--glass-panel-bg)!important;border:1px solid var(--glass-panel-border)!important;box-shadow:var(--shadow-float)!important;backdrop-filter:var(--glass-blur-heavy) saturate(160%);-webkit-backdrop-filter:var(--glass-blur-heavy) saturate(160%);color:var(--text-1)!important}.glass-shell .topbar{padding:0 var(--space-4)!important;gap:var(--space-3);border-radius:var(--float-radius)!important}.glass-shell .topbar-stat{background:var(--glass-stat-bg)!important;border:1px solid var(--glass-stat-border)!important;box-shadow:var(--shadow-float-sm)!important;border-radius:999px!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.glass-shell .topbar-logo-text{font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-1)!important;text-shadow:none;display:block;line-height:1.2}.topbar-brand-block{display:flex;flex-direction:column;gap:2px;justify-content:center}.glass-shell .topbar-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.glass-shell .topbar-right{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0;margin-left:auto}.topbar-action-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;height:40px;min-height:40px;padding:0 16px;border-radius:var(--radius-pill, 999px);background:var(--glass-control-bg)!important;border:1px solid var(--glass-control-border)!important;color:var(--text-1)!important;cursor:pointer;box-shadow:var(--shadow-float-sm)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.02em;line-height:1;flex-shrink:0;transition:background .25s ease,border-color .25s ease,transform .2s var(--ease-spring),box-shadow var(--duration-normal)}.topbar-action-btn:hover{background:var(--glass-control-bg-hover)!important;border-color:var(--border-bright)!important;box-shadow:var(--shadow-float)!important}.topbar-action-btn:active{transform:scale(.97)}.theme-toggle.topbar-action-btn{width:40px;min-width:40px;padding:0}.theme-toggle-icon{position:absolute;display:flex;align-items:center;justify-content:center;transition:opacity .35s var(--ease-out-expo),transform .4s var(--ease-out-expo)}html[data-theme=light] .theme-toggle-icon--sun,html:not([data-theme]) .theme-toggle-icon--sun{opacity:1;transform:rotate(0) scale(1)}html[data-theme=light] .theme-toggle-icon--moon,html:not([data-theme]) .theme-toggle-icon--moon{opacity:0;transform:rotate(-40deg) scale(.5)}html[data-theme=dark] .theme-toggle-icon--sun{opacity:0;transform:rotate(40deg) scale(.5)}html[data-theme=dark] .theme-toggle-icon--moon{opacity:1;transform:rotate(0) scale(1)}.theme-toggle--floating{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2}.glass-shell .topbar-subtitle{font-family:var(--font-body);font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:none;color:var(--text-3)!important}.glass-shell .topbar-divider{height:22px;width:1px;background:var(--border-dim)}.glass-shell .topbar-owner-chip{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.04em;padding:var(--space-1) var(--space-3);border-radius:999px;color:var(--accent)!important;background:var(--bg-base)!important;border:none!important;box-shadow:var(--clay-inset)}.glass-shell .topbar-date{font-family:var(--font-mono);font-size:11px;color:var(--text-3)!important}.glass-shell .topbar-time{font-family:var(--font-mono);font-size:12px;font-weight:700;color:var(--text-1)!important;letter-spacing:.04em;text-shadow:none}.glass-shell .topbar-logout{padding:0 16px!important;color:var(--red)!important}.live-status{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:999px;background:var(--bg-base);border:none;box-shadow:var(--clay-inset);margin-right:var(--space-2)}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--beacon-green);box-shadow:0 0 0 2px #3da88a40;animation:clay-beacon-pulse 2.4s ease-in-out infinite}.live-label{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--beacon-green)}.glass-shell .sidebar-nav-block{padding:var(--space-3) var(--space-2)!important;gap:var(--space-2)!important;border-radius:28px!important}.glass-shell .sidebar-btn{width:46px!important;height:46px!important;color:var(--text-2)!important;background:var(--glass-control-bg)!important;border:1px solid var(--glass-control-border)!important;border-radius:50%!important;box-shadow:var(--shadow-float-sm)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:color var(--duration-normal),background var(--duration-normal),box-shadow var(--duration-normal),border-color var(--duration-normal),transform var(--duration-fast) var(--ease-spring)}.glass-shell .sidebar-btn svg{transition:transform var(--duration-fast) var(--ease-spring)}.glass-shell .sidebar-btn:hover{color:var(--text-1)!important;background:var(--glass-control-bg-hover)!important;border-color:var(--border-bright)!important;box-shadow:var(--shadow-float)!important;transform:translateY(-1px)}.glass-shell .sidebar-btn:hover svg{transform:scale(1.06)}.glass-shell .sidebar-btn.active{color:var(--accent)!important;background:var(--glass-item-bg-active)!important;border-color:var(--accent)!important;box-shadow:var(--shadow-float),var(--glow-cyan)!important}.glass-shell .sidebar-btn.active svg{filter:none}.glass-shell .viewport,.glass-shell .scene-stage,.glass-shell .viewport-body,.glass-shell .viewport-3d,.glass-shell .viewport-2d{background:var(--bg-mesh)!important}.glass-shell .viewport-body:before{display:none!important}.glass-shell .viewport,.glass-shell .scene-stage{border:1px solid var(--border-base)!important;box-shadow:var(--shadow-float-sm)!important}.glass-shell .viewport-tabs{padding:var(--space-3) var(--space-4)!important;min-height:48px;background:color-mix(in srgb,var(--glass-panel-bg) 88%,transparent)!important;border-bottom:1px solid var(--glass-panel-border)!important;box-shadow:none!important;backdrop-filter:var(--glass-blur) saturate(140%);-webkit-backdrop-filter:var(--glass-blur) saturate(140%)}.glass-shell .viewport-map-style label{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:none;color:var(--text-3)!important}.glass-shell .viewport-blocks-toggle{font-family:var(--font-body);font-size:11px;font-weight:500;color:var(--text-2)!important}.glass-shell .viewport-blocks-toggle input{accent-color:var(--accent)}.glass-shell .topbar-stat-value{color:var(--stat-accent, var(--accent))!important}.glass-shell .zone-panel-header.poi-panel-header{padding:var(--space-4) var(--space-4) var(--space-2)!important}.glass-shell .block-panel-hint{margin:var(--space-2) 0 0;padding:0;font-size:11px;line-height:1.5;color:var(--text-2)!important}.glass-shell .zone-list.block-list{padding:var(--space-1) var(--space-4) var(--space-4)!important;display:flex;flex-direction:column;gap:var(--space-2)}.glass-shell .zone-list.block-list .poi-item{text-align:left}.glass-shell .zone-list.block-list .zone-loading{padding:var(--space-4);font-family:var(--font-mono);font-size:11px;color:var(--text-3);line-height:1.45}.glass-shell .viewport-accessibility-btn{border-color:#5b21b673!important;background:#7c3aed1a!important;color:#5b21b6!important}.glass-shell .viewport-accessibility-btn:hover{background:#7c3aed2e!important;border-color:#5b21b6a6!important;color:#4c1d95!important}.glass-shell .viewport-accessibility-btn.active{background:#7c3aed3d!important;border-color:#7c3aed!important;color:#4c1d95!important}html[data-theme=dark] .glass-shell .viewport-accessibility-btn{border-color:#7c3aed73!important;background:#7c3aed24!important;color:#ddd6fe!important}html[data-theme=dark] .glass-shell .viewport-accessibility-btn:hover{background:#7c3aed3d!important;color:#f5f3ff!important}html[data-theme=dark] .glass-shell .viewport-accessibility-btn.active{background:#7c3aed52!important;border-color:#a78bfa!important;color:#fff!important}.glass-shell .stairs-add-btn{margin:var(--space-3) var(--space-4) 0;width:calc(100% - var(--space-4) * 2)}.glass-shell .zone-state-btn--fixed{pointer-events:none;cursor:default;opacity:.92}.glass-shell .block-stairs-edit-note{margin:var(--space-2) 0 0;font-size:11px;line-height:1.45;color:var(--text-2)}.glass-shell .block-detail-fields{padding:0 var(--space-4) var(--space-4)}.glass-shell .zone-detail-title,.glass-shell .block-detail .zone-detail-title{padding:var(--space-3) var(--space-4) var(--space-2);font-family:var(--font-body);font-size:13px;font-weight:600;color:var(--text-1)}.glass-shell .drawer-panel-edge{margin:0 var(--space-4) var(--space-3)}.glass-shell .float-drawer.drawer-frost{background:var(--glass-panel-bg)!important;border:1px solid var(--glass-panel-border)!important;box-shadow:var(--shadow-float)!important;backdrop-filter:var(--glass-blur-heavy) saturate(160%);-webkit-backdrop-filter:var(--glass-blur-heavy) saturate(160%)}.glass-shell .panel-slot{padding:var(--space-2) 0 var(--space-4)!important}.glass-shell .poi-panel-header,.glass-shell .media-panel-header,.glass-shell .user-panel-header,.glass-shell .map2d-header{padding:var(--space-4) var(--space-4) var(--space-3)!important}.glass-shell .poi-panel-header-row,.glass-shell .user-panel-header .poi-panel-header-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:var(--space-2)!important;width:100%}.glass-shell .poi-panel-header-row .admin-refresh-btn{flex-shrink:0;margin-left:auto}.glass-shell .poi-panel-title,.glass-shell .media-panel-title,.glass-shell .admin-title,.glass-shell .nav-title{font-family:var(--font-display)!important;font-size:12px!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--accent)!important;text-shadow:none!important;padding:0!important;border:none!important}.drawer-panel-edge{height:3px;margin:0 var(--space-4) var(--space-3);border-radius:999px;background:linear-gradient(90deg,transparent,rgba(74,143,212,.35) 35%,rgba(123,107,207,.35) 65%,transparent);opacity:.9;animation:none}.glass-shell .panel-slot .poi-list,.glass-shell .panel-slot .media-list{padding:var(--space-1) var(--space-4) var(--space-4)!important;display:flex;flex-direction:column;gap:var(--space-2)}.glass-shell .poi-item,.glass-shell .user-item,.glass-shell .media-list .poi-item,.glass-shell .zone-list.block-list .poi-item{background:var(--glass-item-bg)!important;border:1px solid var(--glass-item-border)!important;box-shadow:var(--shadow-float-sm)!important;backdrop-filter:var(--glass-blur) saturate(140%);-webkit-backdrop-filter:var(--glass-blur) saturate(140%);display:flex!important;align-items:center!important;justify-content:space-between!important;gap:var(--space-2);width:100%;box-sizing:border-box;min-height:40px;padding:6px 8px 6px 10px!important;margin:0!important;border-radius:var(--radius-sm)!important;font-size:12px;font-weight:500;line-height:1.35;text-align:left;color:var(--text-2)!important;white-space:nowrap;overflow:hidden;transition:color var(--duration-fast),background var(--duration-fast),box-shadow var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast) var(--ease-spring)}.glass-shell .user-item .user-dot{flex-shrink:0}.glass-shell .user-item .user-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.glass-shell .user-item .user-role{flex-shrink:0;margin-left:auto;text-align:right}.glass-shell .media-list .poi-item .media-item-badge{flex-shrink:0}.glass-shell .media-list .poi-item .media-item-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.glass-shell .poi-item:hover,.glass-shell .user-item:hover{color:var(--text-1)!important;background:var(--glass-item-bg-hover)!important;border-color:var(--accent-soft)!important;transform:translateY(-1px);box-shadow:var(--shadow-float)!important}.glass-shell .poi-item.active,.glass-shell .user-item.active{color:var(--accent)!important;background:var(--glass-item-bg-active)!important;border-color:var(--accent)!important;box-shadow:var(--shadow-float),var(--glow-cyan)!important;font-weight:600}.glass-shell input,.glass-shell select,.glass-shell textarea{background:var(--glass-input-bg)!important;border:1px solid var(--glass-input-border)!important;color:var(--text-1)!important;border-radius:var(--radius-sm)!important;padding:var(--space-2) var(--space-4)!important;font-family:var(--font-body);font-size:12px;box-shadow:none!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:box-shadow var(--duration-fast),background var(--duration-fast),border-color var(--duration-fast)}.glass-shell input:focus,.glass-shell select:focus,.glass-shell textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 2px var(--accent-soft)!important}.glass-shell .map-display-select{min-width:120px;padding:var(--space-2) var(--space-3)!important;cursor:pointer}.glass-shell .coord-inputs{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)!important;margin:0!important;padding:0 var(--space-4) var(--space-2)!important;width:100%;box-sizing:border-box}.glass-shell .coord-inputs>.coord-group{flex:1 1 0;display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:3px!important;min-width:0}.glass-shell .coord-inputs>.coord-group .field-label{flex-shrink:0;min-width:auto;margin:0!important;padding:0;font-family:var(--font-mono)!important;font-size:11px!important;font-weight:700!important;letter-spacing:.02em;text-align:left;line-height:1}.glass-shell .coord-inputs>.coord-group input[type=number],.glass-shell .coord-inputs>.coord-group input[type=text]{flex:1 1 auto;min-width:0;width:100%!important;min-height:38px!important;height:38px!important;padding:8px 10px!important;font-size:12px!important;line-height:1.25!important;text-align:left!important;border-radius:var(--radius-sm)!important;box-sizing:border-box!important;-moz-appearance:textfield;appearance:textfield}.glass-shell .coord-group input[type=number]::-webkit-outer-spin-button,.glass-shell .coord-group input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.glass-shell .coord-group--stacked,.glass-shell .poi-add-field.coord-group,.glass-shell .block-detail-fields>.coord-group.coord-group--stacked{flex:none;flex-direction:column;align-items:stretch;gap:var(--space-2);padding:0 var(--space-4) var(--space-2)}.glass-shell .coord-group--stacked .field-label,.glass-shell .poi-add-field .field-label{width:100%}.glass-shell .coord-group--stacked input[type=text],.glass-shell .coord-group--stacked input[type=number],.glass-shell .coord-group--stacked textarea,.glass-shell .block-detail-fields input[type=text],.glass-shell .block-detail-fields input[type=number],.glass-shell .poi-coords input[type=text],.glass-shell .poi-coords input[type=number],.glass-shell .poi-coords textarea,.glass-shell .scene-float-panel--edit input[type=text],.glass-shell .scene-float-panel--edit input[type=number],.glass-shell .scene-float-panel--edit textarea{width:100%!important;min-height:38px!important;height:38px!important;padding:8px 10px!important;box-sizing:border-box!important;font-size:12px!important;line-height:1.25!important}.glass-shell .coord-group--stacked textarea,.glass-shell .poi-coords textarea,.glass-shell .scene-float-panel--edit textarea,.glass-shell .poi-add-field textarea{min-height:72px!important;height:auto!important;line-height:1.4!important;resize:vertical}.glass-shell .coord-inputs>.coord-group .field-label{align-self:center}.glass-shell .block-detail-fields{display:flex;flex-direction:column;gap:var(--space-2);padding-bottom:var(--space-2)}.glass-shell .block-detail-fields .block-gizmo-modes{padding:0 var(--space-4)}.glass-shell .zone-list-item{display:flex;align-items:center;gap:var(--space-2)}.glass-shell .zone-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.glass-shell .zone-state-btn{flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:600;line-height:1.2;border-radius:var(--radius-sm, 8px);border:1px solid var(--glass-control-border, rgba(255, 255, 255, .12));background:var(--glass-item-bg, rgba(255, 255, 255, .04));color:var(--text-2);cursor:pointer}.glass-shell .zone-state-btn:hover{color:var(--text-1);background:var(--glass-item-bg-hover, rgba(255, 255, 255, .08))}.glass-shell .zone-state-btn.is-blocked{color:#fca5a5;background:#dc26262e;border-color:#f8717173}.glass-shell .zone-state-btn.is-open{color:#93c5fd;background:#2563eb24;border-color:#60a5fa66}.glass-shell .gizmo-mode-btn{border-radius:var(--radius-sm, 8px)!important;border:1px solid var(--glass-control-border, rgba(255, 255, 255, .12))!important;background:var(--glass-item-bg, rgba(255, 255, 255, .04))!important;color:var(--text-2)!important;box-shadow:none!important}.glass-shell .gizmo-mode-btn:hover{color:var(--text-1)!important;background:var(--glass-item-bg-hover, rgba(255, 255, 255, .08))!important}.glass-shell .gizmo-mode-btn.active{color:var(--text-1)!important;background:var(--glass-item-bg-active, rgba(255, 255, 255, .12))!important;border-color:var(--border-bright, rgba(255, 255, 255, .2))!important}.glass-shell .scene-float-panel--edit .poi-coords,.glass-shell .scene-float-panel--edit .media-coords,.glass-shell .block-detail-fields{display:flex;flex-direction:column;gap:var(--space-1, 4px);padding:var(--space-1, 4px) 0 0;flex:1 1 auto;min-height:0;overflow-y:auto}.glass-shell .scene-float-panel--edit .poi-actions-row{flex-shrink:0;margin-top:auto;padding:6px 12px 10px;position:sticky;bottom:0;z-index:1;background:inherit}.glass-shell .scene-float-panel--edit .media-panel-save-row{position:static;margin-top:8px}.glass-shell .scene-float-panel--edit .media-panel-details{flex-shrink:0;padding:10px 16px 4px}.glass-shell .scene-float-panel--edit .media-edit-details-btn{width:100%}.glass-shell .scene-float-panel--edit .poi-subpanel-title{padding:var(--space-2) var(--space-4) var(--space-1)}.glass-shell .scene-float-panel--edit{display:flex;flex-direction:column;min-height:0}.glass-shell .scene-float-panel--edit .poi-edit-empty{display:none!important}.glass-shell .block-detail-fields .zone-detail-title,.glass-shell .block-detail .zone-detail-title{padding:var(--space-3) var(--space-4) var(--space-2)!important;font-size:13px!important;font-weight:600!important}.glass-shell .poi-subpanel-title{padding:var(--space-3) var(--space-4) var(--space-2)!important}.glass-shell .coord-group label,.glass-shell .field-label{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:none;color:var(--text-3)!important}.glass-shell .coord-inputs>.coord-group .field-label--x{color:#ef4444!important;font-family:var(--font-mono)!important;font-size:11px!important;font-weight:700!important}.glass-shell .coord-inputs>.coord-group .field-label--y{color:#22c55e!important;font-family:var(--font-mono)!important;font-size:11px!important;font-weight:700!important}.glass-shell .coord-inputs>.coord-group .field-label--z{color:#3b82f6!important;font-family:var(--font-mono)!important;font-size:11px!important;font-weight:700!important}.glass-shell .poi-actions-row{padding:0 var(--space-4) var(--space-4)!important;gap:var(--space-2)!important}.glass-shell .poi-item-main{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:0}.glass-shell .poi-item-nav-btn{flex-shrink:0;white-space:nowrap;width:32px;height:32px;min-width:32px;padding:0!important;justify-content:center}.glass-shell .poi-actions-row .poi-btn-navigate{flex:0 0 36px;width:36px;min-width:36px;padding:0!important;justify-content:center}.glass-shell .btn-save,.glass-shell .btn-nav,.glass-shell .btn-secondary,.glass-shell .reviews-export,.glass-shell .review-download-btn{background:var(--glass-control-bg)!important;color:var(--text-1)!important;border:1px solid var(--glass-control-border)!important;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-pill, 999px)!important;box-shadow:var(--shadow-float-sm)!important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal),background var(--duration-fast),border-color var(--duration-fast)}.glass-shell .btn-save:hover,.glass-shell .btn-nav:hover,.glass-shell .btn-secondary:hover{background:var(--glass-control-bg-hover)!important;border-color:var(--border-bright)!important;transform:translateY(-1px);box-shadow:var(--shadow-float)!important}.glass-shell .btn-save:active,.glass-shell .btn-nav:active,.glass-shell .btn-secondary:active{transform:translateY(0);box-shadow:var(--clay-pressed)!important}.glass-shell .btn-delete,.glass-shell .btn-delete-poi{color:var(--text-2)!important;border-color:var(--glass-control-border, rgba(255, 255, 255, .12))!important}.glass-shell .btn-delete:hover,.glass-shell .btn-delete-poi:hover{color:var(--text-1)!important;background:var(--glass-item-bg-hover, rgba(255, 255, 255, .08))!important;border-color:var(--border-bright, rgba(255, 255, 255, .2))!important}.glass-shell .scene-tool-btn{color:var(--text-2)!important;background:transparent!important;border:none!important;border-radius:var(--radius-pill, 999px)!important;box-shadow:none!important}.glass-shell .scene-tool-btn:hover{color:var(--text-1)!important;background:var(--glass-item-bg-hover)!important;border:none!important;box-shadow:none!important}.glass-shell .scene-tool-btn.active{color:var(--accent)!important;background:var(--glass-item-bg-active)!important;border:none!important;box-shadow:none!important}.glass-shell .scene-tool-hint{display:none!important}.glass-shell .reviews-stat-card,.glass-shell .review-card,.glass-shell .admin-panel,.glass-shell .analytics-panel,.glass-shell .admin-item{background:var(--bg-base)!important;border:none!important;border-radius:var(--radius)!important;box-shadow:var(--clay-raised-sm)!important}.glass-shell .reviews-stat-value,.glass-shell .analytics-card-value{color:var(--accent)!important;text-shadow:none!important}.form-overlay{position:fixed;inset:0;width:100%;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center}.form-overlay--glass .form-card{padding:var(--space-7) var(--space-6) var(--space-6)!important;background:var(--glass-panel-bg)!important;border:1px solid var(--glass-panel-border)!important;border-radius:var(--float-radius)!important;box-shadow:var(--shadow-float)!important;backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy)}.form-card h1{font-family:var(--font-display)!important;font-size:20px!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--text-1)!important;text-shadow:none!important}.form-card .subtitle{font-family:var(--font-body)!important;font-size:12px!important;letter-spacing:0;color:var(--text-2)!important;margin-bottom:var(--space-6)!important;text-align:center}.form-group{margin-bottom:var(--space-4)!important}.form-group label{font-family:var(--font-body)!important;font-size:11px!important;font-weight:600!important;letter-spacing:.02em!important;text-transform:none!important;color:var(--text-3)!important;margin-bottom:var(--space-2)!important}.form-group input{padding:var(--space-3) var(--space-4)!important;min-height:38px;height:38px;box-sizing:border-box;background:var(--glass-input-bg)!important;border:1px solid var(--glass-input-border)!important;color:var(--text-1)!important;border-radius:var(--radius-sm)!important;box-shadow:none!important}.form-overlay .password-field{position:relative;display:block;width:100%}.form-overlay .password-field input{width:100%;padding-right:44px!important;box-sizing:border-box}.form-overlay .password-toggle{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-xs);background:transparent;color:var(--text-3);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast)}.form-overlay .password-toggle:hover,.form-overlay .password-toggle:focus-visible{color:var(--accent);background:var(--accent-soft)}.form-brand{display:flex;justify-content:center;margin-bottom:var(--space-3)}.btn-start{margin-top:var(--space-4)!important;padding:var(--space-4)!important;font-family:var(--font-display)!important;font-size:13px!important;font-weight:700!important;letter-spacing:.02em!important;text-transform:none!important;background:var(--bg-base)!important;color:var(--accent)!important;border:1px solid var(--glass-input-border, var(--border-base))!important;border-radius:var(--radius-sm)!important;box-shadow:var(--clay-raised-sm)!important;transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal),background var(--duration-normal)}.btn-start:hover:not(:disabled){transform:translateY(-1px);border-color:var(--accent)!important;box-shadow:var(--clay-raised)!important}.btn-start:active:not(:disabled){box-shadow:var(--clay-pressed)!important}.btn-start:disabled{opacity:.55;cursor:not-allowed}.brand-logo--login{filter:drop-shadow(4px 4px 8px rgba(163,177,198,.4))}.glass-shell ::-webkit-scrollbar{width:6px}.glass-shell ::-webkit-scrollbar-thumb{background:#a3b1c68c;border-radius:999px}.glass-shell ::-webkit-scrollbar-thumb:hover{background:#8c9eb6bf}.glass-shell .status-bar,.immersive-shell .viewport-body>.status-bar{background:var(--bg-surface)!important;color:var(--text-1)!important;border:1px solid var(--glass-panel-border, rgba(148, 163, 184, .28))!important;font-family:var(--font-mono);box-shadow:var(--shadow-float, 0 12px 32px rgba(15, 23, 42, .18))!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.glass-shell .right-panel,.glass-shell .panel-slot{background:transparent!important;border-left:none!important}.glass-shell .btn-nav:hover{box-shadow:var(--clay-pressed)!important}.glass-shell .nav-divider{margin:var(--space-3) var(--space-4);background:var(--border-dim);height:1px}.glass-shell .user-tabs{margin:var(--space-2) var(--space-4) var(--space-3)!important;padding:var(--space-1)!important;background:var(--bg-base)!important;border:none!important;border-radius:var(--radius-sm)!important;box-shadow:var(--clay-inset)!important}.glass-shell .user-tab.active{background:var(--bg-surface)!important;color:var(--accent)!important;box-shadow:var(--clay-raised-sm)!important}.scanlines,.dashboard:before,.topbar:after,.sidebar:after,.right-panel:before,.right-panel:after,.viewport:before,.viewport:after{display:none!important;content:none!important}@keyframes clay-beacon-pulse{0%,to{opacity:.65;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.live-dot{animation:none!important}}html[data-theme=dark] .glass-shell .topbar-stat{box-shadow:var(--shadow-float-sm)!important}html[data-theme=dark] .glass-shell .viewport-tabs{box-shadow:inset 0 -1px 0 var(--border-dim)!important}html[data-theme=dark] .scene-hud-corner{border-color:#3341558c;opacity:.6}.ui-icon,.sidebar-icon,.sidebar-btn svg,.scene-tool-icon svg,.theme-toggle-icon svg,.admin-refresh-btn svg,.btn-save .icon svg,.poi-btn-save .icon svg,.poi-btn-delete svg,.scene-tool-cancel svg{display:block;flex-shrink:0;stroke:currentColor;fill:none;color:inherit}.sidebar-btn svg,.sidebar-icon{width:20px;height:20px}.sidebar-btn[data-panel=media] svg,.sidebar-btn[data-panel=media] .ui-icon-media{width:24px;height:24px;display:block;margin:0 auto}.sidebar-btn{color:var(--text-2)!important}.sidebar-btn svg{color:currentColor;opacity:.85}.sidebar-btn:hover svg,.sidebar-btn.active svg{opacity:1;color:var(--accent)}.scene-tool-btn .scene-tool-icon{color:var(--text-2);display:flex;align-items:center;justify-content:center}.scene-tool-btn:hover .scene-tool-icon,.scene-tool-btn.active .scene-tool-icon{color:var(--accent)}.scene-tool-icon svg{width:20px;height:20px}.btn-save .icon,.poi-btn-save .icon{display:inline-flex;align-items:center;margin-right:6px;color:inherit}.poi-btn-delete svg,.btn-delete svg{width:18px;height:18px;color:inherit;stroke:currentColor}.admin-refresh-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid var(--glass-control-border);background:var(--glass-control-bg);color:var(--text-2);cursor:pointer}.admin-refresh-btn:hover{color:var(--accent);border-color:var(--accent-soft);background:var(--glass-control-bg-hover)}.scene-tool-icon svg{width:16px;height:16px}.ui-icon-add-media,.ui-icon-place-media,.ui-icon-media,.ui-icon-zone-block,.ui-icon-place-block{stroke-width:1.75}.ui-icon-add-media .ui-icon-plus-mark{stroke-width:2.25}.media-panel-sub{margin:0;padding:0 14px 8px;font-size:11px;color:var(--text-3)}.toast-host{position:fixed;bottom:24px;right:24px;z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:12px 18px;border-radius:var(--radius-sm, 10px);font-family:var(--font-body, "DM Sans", system-ui, sans-serif);font-size:13px;font-weight:600;line-height:1.4;color:var(--text-1);background:var(--glass-modal-bg, rgba(255, 255, 255, .92));border:1px solid var(--glass-modal-border, rgba(148, 163, 184, .28));backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);opacity:0;transform:translateY(8px);transition:opacity .25s ease,transform .25s ease;max-width:min(360px,calc(100vw - 48px));box-shadow:var(--shadow-float-sm);word-break:break-word}.toast--visible{opacity:1;transform:translateY(0)}.toast--success{border-color:#22c55e73;background:color-mix(in srgb,var(--glass-modal-bg) 92%,rgba(34,197,94,.12))}.toast--error{border-color:#ef444473;background:color-mix(in srgb,var(--glass-modal-bg) 92%,rgba(239,68,68,.1))}.panel-slot .media-panel{display:flex;flex-direction:column;min-height:0;height:100%}.panel-slot .media-panel.hidden{display:none}.media-panel-header,.media-panel .poi-panel-header{padding:10px 12px 6px;flex-shrink:0}.media-panel .poi-panel-title,.media-panel-title{font-family:var(--font-display, system-ui, sans-serif);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-1, #f0f0f0)!important;text-shadow:none!important}.media-panel-hint,.media-panel .poi-panel-hint{font-size:11px;color:var(--text-2, #b0b0b0)!important;margin:4px 0 0}.media-panel-link{font-size:11px;color:var(--text-2, #b0b0b0);text-decoration:none}.media-panel-link:hover{color:var(--text-1, #f0f0f0);text-decoration:underline}.media-toolbar{padding:8px 14px 10px;flex-shrink:0}.media-toolbar .btn-save,.media-toolbar .poi-btn-save{width:100%!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px}.media-list{flex:1;overflow-y:auto;padding:4px 12px 8px}.media-list .poi-item{margin:0!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px}.media-item-badge{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px}.media-item-badge svg{width:18px;height:18px;color:var(--text-2, #b0b0b0)}.media-item-label{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.media-item-label .media-item-redirect{font-size:11px;color:var(--accent, #2563eb);font-weight:600}.media-panel-details{flex-shrink:0;padding:10px 12px 4px}.media-edit-details-btn{width:100%;justify-content:center}.media-panel-save-row{position:static;margin-top:8px}.media-coords{flex-shrink:0;padding-bottom:6px}.media-gizmo-modes{display:flex;gap:6px;padding:0 12px 4px}.zone-list-item{display:flex!important;align-items:center!important;gap:8px}.zone-item-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.zone-state-btn{flex-shrink:0;padding:4px 8px;font-size:10px;font-weight:600;line-height:1.2;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-base, rgba(255, 255, 255, .12));background:var(--glass-item-bg, var(--clay-pressed, #181818));color:var(--text-2, #b0b0b0);cursor:pointer}.zone-state-btn:hover{color:var(--text-1, #f0f0f0)}.zone-state-btn.is-blocked{color:#b91c1c;background:#dc26261f;border-color:#dc262673}.zone-state-btn.is-open{color:#1d4ed8;background:#2563eb1a;border-color:#2563eb66}.gizmo-mode-btn{flex:1;padding:8px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-base, rgba(255, 255, 255, .12));background:var(--glass-item-bg, var(--clay-pressed, #181818));color:var(--text-2, #b0b0b0);cursor:pointer;box-shadow:none}.gizmo-mode-btn:hover{color:var(--text-1, #f0f0f0);background:var(--glass-item-bg-hover, var(--clay-raised, #262626))}.gizmo-mode-btn.active{border-color:var(--border-bright, rgba(255, 255, 255, .2));color:var(--text-1, #f0f0f0);background:var(--glass-item-bg-active, var(--clay-black-soft, #2d2d2d));box-shadow:none}.poi-add-dialog.media-modal-overlay,.media-modal-overlay.poi-add-dialog{position:fixed;inset:0;z-index:20000;display:flex;align-items:center;justify-content:center;padding:24px}.media-modal-overlay .poi-add-dialog-backdrop{position:absolute;inset:0;background:var(--glass-backdrop, rgba(15, 23, 42, .45));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.poi-add-dialog-card.media-modal,.media-modal.poi-add-dialog-card,.media-modal-card{position:relative;z-index:1;width:min(420px,92vw);max-height:90vh;overflow-y:auto;padding:0 0 4px;background:var(--glass-modal-bg, rgba(255, 255, 255, .92))!important;border:1px solid var(--glass-modal-border, rgba(148, 163, 184, .28))!important;border-radius:var(--float-radius, 16px)!important;box-shadow:var(--shadow-float, 0 16px 48px rgba(15, 23, 42, .12))!important;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);color:var(--text-1, #0f172a)!important}.media-modal-header,.poi-add-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-dim, rgba(148, 163, 184, .2));margin-bottom:0}.poi-add-dialog-title,.media-modal-header h2{margin:0;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-display, system-ui, sans-serif);color:var(--text-1, #0f172a)!important}.poi-add-dialog-close,.media-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm, 8px);background:transparent;color:var(--text-2, #475569);cursor:pointer}.poi-add-dialog-close:hover,.media-modal-close:hover{background:var(--glass-item-bg-hover, rgba(255, 255, 255, .92));color:var(--text-1, #0f172a)}.media-modal-section{padding:16px 20px 8px;border:none}.media-upload-zone{display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:16px;border:2px dashed var(--glass-control-border, rgba(148, 163, 184, .35));border-radius:var(--radius-sm, 12px);cursor:pointer;text-align:left;background:var(--glass-control-bg, rgba(255, 255, 255, .65));box-shadow:none;transition:border-color .2s,background .2s}.media-upload-zone:hover,.media-upload-zone--ready{border-color:var(--accent, #2563eb);background:var(--glass-item-bg-hover, rgba(255, 255, 255, .92))}.media-upload-zone-title{font-weight:600;font-size:14px;color:var(--text-1, #0f172a)}.media-upload-zone-hint{font-size:12px;color:var(--text-3, #64748b);line-height:1.4}.media-file-input{width:100%;max-width:none;font-size:12px;color:var(--text-2, #475569);cursor:pointer}.media-file-input::file-selector-button{margin-right:10px;padding:8px 14px;border:1px solid var(--glass-control-border, rgba(148, 163, 184, .28));border-radius:var(--radius-sm, 8px);background:var(--glass-item-bg, rgba(255, 255, 255, .82));color:var(--text-1, #0f172a);font-weight:600;font-size:12px;cursor:pointer;box-shadow:none}.media-file-input::file-selector-button:hover{background:var(--glass-item-bg-hover, rgba(255, 255, 255, .95));border-color:var(--border-bright, rgba(100, 116, 139, .4))}.media-type-detected{display:inline-block;margin-bottom:6px;padding:4px 10px;border-radius:var(--radius-pill, 999px);font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft, rgba(37, 99, 235, .1));color:var(--accent, #2563eb);border:1px solid var(--glass-control-border, rgba(148, 163, 184, .28))}.media-preview{width:100%;margin-top:12px;border-radius:var(--radius-sm, 8px);overflow:hidden;background:var(--glass-control-bg, rgba(255, 255, 255, .65));border:1px solid var(--border-dim, rgba(148, 163, 184, .2));min-height:0}.media-preview.hidden{display:none!important;margin:0;padding:0;min-height:0;border:none}.media-preview:not(.hidden){min-height:80px;padding:8px}.media-preview img,.media-preview video{display:block;max-width:100%;max-height:180px;margin:0 auto;border-radius:6px}.media-preview-model{padding:20px;text-align:center;color:var(--text-2, #475569);font-size:13px}.media-modal-hint{font-size:11px;color:var(--text-3, #64748b);margin:8px 0 0}.media-modal-form .poi-add-field{padding:12px 20px 4px;display:flex;flex-direction:column;align-items:stretch;gap:6px}.media-modal-form .poi-add-field .field-label{display:block;text-align:left;font-size:11px;font-weight:600;letter-spacing:.04em;color:var(--text-2, #475569)}.media-modal-form .poi-add-field input{width:100%;box-sizing:border-box;text-align:left;min-height:38px;height:38px;padding:8px 12px;font-size:13px;line-height:1.25;color:var(--text-1, #0f172a)!important;background:var(--glass-input-bg, rgba(255, 255, 255, .82))!important;border:1px solid var(--glass-input-border, rgba(148, 163, 184, .28))!important;border-radius:var(--radius-sm, 8px);box-shadow:none}.media-modal-form .poi-add-field input::placeholder{color:var(--text-3, #64748b)}.media-modal-form .poi-add-field input:focus{outline:none;border-color:var(--accent, #2563eb)!important;box-shadow:0 0 0 3px var(--accent-soft, rgba(37, 99, 235, .1))}.media-redirect-toggle{display:flex;gap:12px}.media-redirect-option{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-1, #0f172a);cursor:pointer}.media-redirect-option input[type=radio]{width:auto;min-height:auto;height:auto;margin:0;accent-color:var(--accent, #2563eb)}.media-modal-footer,.poi-add-dialog-actions.media-modal-footer{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;padding:14px 20px 18px;border-top:1px solid var(--border-dim, rgba(148, 163, 184, .2))}.media-modal-footer .btn-secondary,.poi-add-dialog-actions .btn-secondary,.media-modal-overlay .media-modal-footer .btn-save,.poi-add-dialog .poi-add-dialog-actions .btn-save{display:inline-flex;align-items:center;justify-content:center;width:100%!important;max-width:none!important;min-height:40px;margin:0!important;padding:10px 16px;font-size:12px;font-weight:600;border-radius:var(--radius-sm, 8px);cursor:pointer;box-shadow:none;transform:none!important}.media-modal-footer .btn-secondary,.poi-add-dialog-actions .btn-secondary{border:1px solid var(--glass-control-border, rgba(148, 163, 184, .28));background:var(--glass-control-bg, rgba(255, 255, 255, .65));color:var(--text-2, #475569)}.media-modal-footer .btn-secondary:hover,.poi-add-dialog-actions .btn-secondary:hover{color:var(--text-1, #0f172a);background:var(--glass-item-bg-hover, rgba(255, 255, 255, .92));border-color:var(--border-bright, rgba(100, 116, 139, .4))}.media-modal-overlay .btn-save,.poi-add-dialog .btn-save{background:var(--accent, #2563eb)!important;border:1px solid var(--accent, #2563eb)!important;color:var(--text-inverse, #ffffff)!important;box-shadow:var(--glow-cyan, 0 4px 24px rgba(37, 99, 235, .18))!important}.media-modal-overlay .btn-save:hover:not(:disabled),.poi-add-dialog .btn-save:hover:not(:disabled){background:var(--accent-hover, #1d4ed8)!important;border-color:var(--accent-hover, #1d4ed8)!important;color:var(--text-inverse, #ffffff)!important}.media-modal-overlay .btn-save:disabled,.poi-add-dialog .btn-save:disabled{opacity:1;cursor:not-allowed;background:var(--glass-control-bg, rgba(255, 255, 255, .65))!important;color:var(--text-3, #64748b)!important;border-color:var(--glass-control-border, rgba(148, 163, 184, .28))!important;box-shadow:none!important}.panel-slot:not(.active) .poi-panel,.panel-slot:not(.active) .media-panel{display:none}.media-admin-page{min-height:100vh;background:var(--bg-deep, #121212);color:var(--text-1, #f0f0f0)}.media-admin-topbar{display:flex;align-items:center;gap:16px;padding:16px 24px;border-bottom:1px solid var(--border-dim);background:var(--clay-surface, #1e1e1e);box-shadow:var(--shadow-clay-raised-sm)}.media-admin-topbar h1{margin:0;font-size:18px;font-weight:700;font-family:var(--font-display, system-ui, sans-serif);color:var(--text-1, #f0f0f0)}.media-admin-subtitle{margin:4px 0 0;font-size:12px;color:var(--text-3, #787878)}.media-admin-topbar-actions{margin-left:auto;display:flex;gap:10px;align-items:center}.media-admin-main{padding:20px 24px 40px}.media-admin-main.hidden{display:none}.media-admin-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;align-items:center}.media-admin-filters input,.media-admin-filters select{padding:8px 12px;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-base);background:var(--clay-pressed, #181818);color:var(--text-1, #f0f0f0);font-size:13px;box-shadow:var(--shadow-clay-inset)}.media-admin-table-wrap{overflow-x:auto;border-radius:var(--radius, 12px);border:1px solid var(--border-base);background:var(--clay-surface, #1e1e1e)}.media-admin-table{width:100%;border-collapse:collapse;font-size:13px}.media-admin-table th,.media-admin-table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border-dim);color:var(--text-1, #f0f0f0)}.media-admin-table th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2, #b0b0b0);background:var(--clay-pressed, #181818)}.media-admin-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;background:var(--clay-pressed, #181818);display:block}.media-admin-thumb--model{display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-1, #f0f0f0)}.media-admin-actions{display:flex;gap:6px;flex-wrap:wrap}.media-admin-actions button{padding:6px 10px;font-size:11px;font-weight:600;border-radius:var(--radius-sm, 8px);border:1px solid var(--border-base);background:var(--clay-raised, #262626);color:var(--text-1, #f0f0f0);cursor:pointer}.media-admin-actions button:hover{background:var(--clay-black-soft, #2d2d2d)}.media-admin-actions button.danger{border-color:#f8717166;color:#fca5a5}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.badge--ok{background:#4ade8026;color:#4ade80}.badge--off{background:#ffffff14;color:var(--text-3, #787878)}.dashboard-enter .topbar{animation:chrome-slide-down .55s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) both}.dashboard-enter .sidebar-nav-block{animation:chrome-slide-left .6s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) .08s both}.dashboard-enter .scene-stage{animation:scene-scale-in .65s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) .05s both}.dashboard-enter .float-drawer{animation:drawer-slide-in .55s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) .12s both}.dashboard-enter .topbar-stat{animation:stats-fade-up .5s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) .15s both}.panel-slot.active{animation:panel-fade-in .35s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) both}.panel-slot.active .poi-item,.panel-slot.active .user-item,.panel-slot.active .media-list .poi-item{animation:list-item-rise .4s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) both}.panel-slot.active .poi-item:nth-child(1),.panel-slot.active .user-item:nth-child(1){animation-delay:.04s}.panel-slot.active .poi-item:nth-child(2),.panel-slot.active .user-item:nth-child(2){animation-delay:.08s}.panel-slot.active .poi-item:nth-child(3),.panel-slot.active .user-item:nth-child(3){animation-delay:.12s}.panel-slot.active .poi-item:nth-child(4),.panel-slot.active .user-item:nth-child(4){animation-delay:.16s}.panel-slot.active .poi-item:nth-child(5),.panel-slot.active .user-item:nth-child(5){animation-delay:.2s}.btn-ripple-host{position:relative;overflow:hidden;isolation:isolate}.btn-ripple{position:absolute;border-radius:50%;transform:scale(0);pointer-events:none;background:#ffffff59;animation:btn-ripple-expand .55s ease-out forwards}.glass-shell button,.form-overlay button,.scene-tool-btn{position:relative}.glass-shell .sidebar-btn:active,.glass-shell .btn-save:active,.glass-shell .btn-nav:active,.glass-shell .topbar-logout:active,.scene-tool-btn:active,.btn-start:active:not(:disabled){transform:scale(.96)!important}.form-overlay:not(.hidden) .form-card{animation:form-card-enter .7s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) both}.btn-start.is-loading{pointer-events:none;position:relative;color:transparent!important}.btn-start.is-loading:after{content:"";position:absolute;width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-top-color:#fff;border-radius:50%;animation:spin-loader .7s linear infinite}.toast--visible{animation:toast-slide-in .35s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) both}.dashboard-enter .scene-toolbar{animation:toolbar-rise .5s var(--ease-out-expo, cubic-bezier(.16, 1, .3, 1)) .3s both}@keyframes chrome-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes chrome-slide-left{0%{opacity:0;transform:translateY(-50%) translate(-16px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@keyframes scene-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes drawer-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes stats-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes panel-fade-in{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes list-item-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes btn-ripple-expand{to{transform:scale(4);opacity:0}}@keyframes form-card-enter{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin-loader{to{transform:rotate(360deg)}}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toolbar-rise{0%{opacity:0;transform:translate(-50%) translateY(16px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media(prefers-reduced-motion:reduce){.dashboard-enter *,.panel-slot.active,.panel-slot.active .poi-item,.form-overlay .form-card{animation:none!important;transition:none!important}}.poi-add-dialog-card,.media-modal-card{background:var(--glass-modal-bg)!important;border:1px solid var(--glass-modal-border)!important;border-radius:var(--radius, 12px)!important;box-shadow:var(--shadow-float, 0 16px 48px rgba(0, 0, 0, .55))!important;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);color:var(--text-1)!important}.poi-add-dialog-backdrop,.media-modal-overlay{background:var(--glass-backdrop)!important;backdrop-filter:blur(8px)}.poi-add-dialog-title,.media-modal-title,.media-modal-header h2{font-family:var(--font-display, "DM Sans", sans-serif)!important;color:var(--text-1, #0f172a)!important;letter-spacing:.08em}.poi-add-dialog .btn-save,.media-modal-overlay .btn-save{background:var(--accent, #2563eb)!important;border:1px solid var(--accent, #2563eb)!important;color:var(--text-inverse, #ffffff)!important;box-shadow:var(--glow-cyan, 0 4px 24px rgba(37, 99, 235, .18))!important}.poi-add-dialog .btn-secondary,.media-modal-footer .btn-secondary{background:var(--glass-control-bg)!important;border:1px solid var(--glass-control-border)!important;color:var(--text-2)!important}.poi-add-dialog input,.media-modal-overlay input,.media-modal-overlay select,.media-modal-overlay textarea{background:var(--glass-input-bg)!important;border:1px solid var(--glass-input-border)!important;color:var(--text-1)!important}html,body,#app{font-family:var(--font-body, "DM Sans", system-ui, sans-serif)!important;background:var(--bg-app-gradient)!important;background-color:var(--bg-deep, #070b14)!important;color:var(--text-1, #e8f4ff)!important}.right-panel,.panel-slot,.reviews-stat-card,.review-card,.admin-panel,.analytics-panel{background:transparent!important}.review-card,.reviews-stat-card,.admin-panel,.analytics-panel,.admin-item{background:var(--bg-elevated, rgba(18, 28, 48, .92))!important;border:1px solid var(--border-base, rgba(255, 255, 255, .22))!important;box-shadow:var(--shadow-float-sm)!important}.reviews-filter-select,.reviews-export,.review-download-btn{background:#060a12bf!important;color:var(--text-1, #e8f4ff)!important;border:1px solid var(--border-base, rgba(255, 255, 255, .22))!important}.immersive-shell .review-meta{color:var(--text-3, #6b84a8)!important}.immersive-shell .review-video,.immersive-shell .review-snapshot{background:#060a1299!important}:root{--navme-spatial-bg-light: linear-gradient(165deg, rgba(255, 255, 255, .92) 0%, rgba(224, 238, 255, .82) 42%, rgba(238, 246, 255, .88) 100%), radial-gradient(ellipse 70% 55% at 12% 8%, rgba(147, 197, 253, .35) 0%, transparent 58%), radial-gradient(ellipse 60% 50% at 88% 92%, rgba(99, 102, 241, .22) 0%, transparent 55%), url(/login-indoor-nav-bg.png), url(/login-spatial-bg.svg);--navme-spatial-bg-dark: linear-gradient(165deg, rgba(11, 18, 32, .94) 0%, rgba(15, 23, 42, .9) 50%, rgba(8, 12, 24, .96) 100%), radial-gradient(ellipse 65% 50% at 10% 12%, rgba(37, 99, 235, .18) 0%, transparent 58%), radial-gradient(ellipse 55% 45% at 90% 88%, rgba(99, 102, 241, .14) 0%, transparent 55%), url(/login-indoor-nav-bg.png), url(/login-spatial-bg.svg)}.form-overlay{position:fixed!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:24px!important;box-sizing:border-box;overflow:auto;background-color:#eef4fc!important;background-image:var(--navme-spatial-bg-light)!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}.form-overlay--glass .form-card{width:min(400px,92vw)!important;max-width:400px;margin:0 auto;position:relative;z-index:2}.theme-toggle--floating{z-index:910}html[data-theme=dark] .form-overlay{background-color:#0b1220!important;background-image:var(--navme-spatial-bg-dark)!important}.spatial-ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}.spatial-ambient-bg{position:absolute;inset:0;background-color:#eef4fc;background-image:var(--navme-spatial-bg-light);background-size:cover;background-position:center;background-repeat:no-repeat}html[data-theme=dark] .spatial-ambient-bg{background-color:#0b1220;background-image:var(--navme-spatial-bg-dark)}.spatial-ambient-glow{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none}.spatial-ambient-glow--tl{top:-8%;left:-6%;width:min(420px,48vw);height:min(420px,48vw);background:radial-gradient(circle,rgba(147,197,253,.55) 0%,transparent 70%)}.spatial-ambient-glow--br{bottom:-10%;right:-4%;width:min(380px,44vw);height:min(380px,44vw);background:radial-gradient(circle,rgba(99,102,241,.4) 0%,transparent 72%)}html[data-theme=dark] .spatial-ambient-glow{opacity:.35}html[data-theme=dark] .spatial-ambient-glow--tl{background:radial-gradient(circle,rgba(37,99,235,.35) 0%,transparent 70%)}html[data-theme=dark] .spatial-ambient-glow--br{background:radial-gradient(circle,rgba(129,140,248,.28) 0%,transparent 72%)}.spatial-ambient-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 90% 80% at 50% 45%,transparent 35%,rgba(15,23,42,.06) 100%);pointer-events:none}html[data-theme=dark] .spatial-ambient-vignette{background:radial-gradient(ellipse 90% 80% at 50% 45%,transparent 30%,rgba(0,0,0,.35) 100%)}.immersive-shell.glass-shell,.dashboard.immersive-shell{position:relative;z-index:1;background:transparent!important;background-color:transparent!important}#app:has(.access-control-page){height:100vh;overflow:hidden}.glass-shell.access-control-page{position:relative;height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow:hidden;color:var(--text-1);background:var(--bg-app-gradient);background-color:var(--bg-deep)}.access-ambient{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.access-ambient .spatial-ambient-bg{position:absolute;inset:0;opacity:.55}.access-control-page>:not(.access-ambient){position:relative;z-index:1}.access-topbar{flex-shrink:0;display:flex;align-items:center;gap:var(--space-4);margin:var(--space-4) var(--space-4) 0;padding:var(--space-4) var(--space-5);border-radius:var(--float-radius)}.access-page-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-7)}.access-topbar-copy h1{margin:0;font-size:18px;font-weight:700;font-family:var(--font-display);color:var(--text-1)}.access-subtitle{margin:4px 0 0;font-size:12px;color:var(--text-3)}.access-topbar-actions{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.access-control-page .access-topbar-actions .topbar-action-btn{text-decoration:none}.access-editor-link,.access-control-page .topbar-logout{display:inline-flex!important;align-items:center;gap:8px}.access-icon-slot{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;color:currentColor}.access-icon-slot--sm .ui-icon{width:14px;height:14px}.access-control-page .topbar-action-btn.theme-toggle{width:40px;min-width:40px;padding:0;position:relative}.access-control-page .access-logout-btn,.access-control-page .topbar-logout{border-color:color-mix(in srgb,var(--red, #dc2626) 50%,var(--glass-control-border))!important;color:var(--red, #dc2626)!important}.access-control-page .access-logout-btn:hover,.access-control-page .topbar-logout:hover{border-color:var(--red, #dc2626)!important;background:color-mix(in srgb,var(--red, #dc2626) 12%,var(--glass-control-bg))!important;color:var(--red, #dc2626)!important}.access-login-wrap{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 120px);padding:var(--space-6)}.access-login-wrap.hidden{display:none}.access-login-card{width:min(440px,100%);padding:32px 28px;border-radius:var(--float-radius)}.access-login-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;margin-bottom:12px;border-radius:var(--radius-pill);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft, rgba(37, 99, 235, .12));border:1px solid var(--glass-control-border)}.access-login-card h2{margin:0 0 8px;font-size:22px;font-family:var(--font-display)}.access-login-hint{margin:0 0 20px;font-size:13px;color:var(--text-3);line-height:1.5}.access-main{padding:var(--space-4) var(--space-4) 0;max-width:1280px;margin:0 auto}.access-main.hidden,.access-view.hidden{display:none}.access-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-radius:var(--radius);align-items:center}.access-search-field{flex:1 1 280px;display:flex;align-items:center;gap:10px;padding:0 14px;min-height:42px;border-radius:var(--radius-sm);border:1px solid var(--glass-control-border);background:var(--glass-control-bg);box-shadow:var(--shadow-clay-inset, inset 0 1px 2px rgba(15, 23, 42, .06));transition:border-color var(--duration-fast),background var(--duration-fast)}.access-search-field:focus-within{border-color:var(--accent);background:var(--glass-control-bg-hover)}.access-search-icon{display:inline-flex;color:var(--text-3);flex-shrink:0}.access-search-field input[type=search]{flex:1;min-width:0;border:none;background:transparent;color:var(--text-1);font-size:13px;padding:10px 0;outline:none}.access-search-field input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}.access-add-tenant-btn,.access-save-btn{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 18px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--glass-control-border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,#ffffff),color-mix(in srgb,var(--accent) 78%,#0f172a));color:var(--text-inverse, #ffffff);font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;box-shadow:var(--glow-cyan, 0 4px 24px rgba(37, 99, 235, .18));transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal),filter var(--duration-fast)}.access-add-tenant-btn:hover,.access-save-btn:hover{filter:brightness(1.05);box-shadow:var(--shadow-float)}.access-add-tenant-btn:active,.access-save-btn:active{transform:scale(.98)}.access-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:var(--space-4);padding-bottom:var(--space-4)}.access-tenant-card{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);width:100%;min-height:196px;padding:var(--space-5);padding-bottom:var(--space-4);border-radius:var(--float-radius);border:1px solid var(--glass-panel-border);background:var(--glass-panel-bg);text-align:left;overflow:hidden;transition:transform var(--duration-normal) var(--ease-out-expo),box-shadow var(--duration-normal) var(--ease-out-expo),border-color var(--duration-normal)}.access-tenant-card-main{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);width:100%;flex:1;padding:0;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.access-tenant-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:12px}.access-tenant-login-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid color-mix(in srgb,var(--accent) 35%,var(--glass-control-border));background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 92%,#ffffff),color-mix(in srgb,var(--accent) 78%,#0f172a));color:var(--text-inverse, #ffffff);font-size:13px;font-weight:700;font-family:var(--font-body);cursor:pointer;box-shadow:var(--glow-cyan, 0 4px 24px rgba(37, 99, 235, .18));transition:transform var(--duration-fast) var(--ease-spring),box-shadow var(--duration-normal),filter var(--duration-fast)}.access-tenant-login-btn:hover{filter:brightness(1.05);box-shadow:var(--shadow-float)}.access-tenant-login-btn:active{transform:scale(.98)}.access-tenant-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-float);border-color:color-mix(in srgb,var(--accent) 35%,var(--glass-panel-border))}.access-tenant-card:focus-within{outline:none}.access-tenant-card-glow{position:absolute;inset:-40% auto auto -20%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 28%,transparent) 0%,transparent 70%);pointer-events:none}.access-tenant-card-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 40%,transparent))}.access-tenant-avatar,.access-detail-avatar{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:16px;font-size:22px;font-weight:800;font-family:var(--font-display);color:#fff;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 65%,#0f172a));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 35%,transparent)}.access-tenant-body{display:flex;flex-direction:column;gap:4px;min-width:0;width:100%}.access-tenant-name{font-size:18px;font-weight:700;font-family:var(--font-display);color:var(--text-1);line-height:1.2}.access-tenant-email{font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.access-tenant-footer{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:auto;padding-top:var(--space-2);border-top:1px solid var(--border-dim, rgba(148, 163, 184, .18))}.access-tenant-chip,.access-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:600;color:var(--text-2);background:var(--glass-stat-bg, var(--glass-control-bg));border:1px solid var(--glass-stat-border, var(--glass-control-border))}.access-chip--map{gap:4px;padding-right:4px}.access-map-code{font-family:var(--font-mono, monospace);font-size:11px;color:var(--text-2)}.access-copy-map-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;margin-left:2px;border:none;border-radius:8px;background:transparent;color:var(--text-3);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast)}.access-copy-map-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.access-copy-map-btn:active{transform:scale(.94)}.access-copy-map-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.access-card-arrow{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--glass-control-bg));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--glass-control-border));transition:transform var(--duration-normal) var(--ease-spring),background var(--duration-fast),box-shadow var(--duration-fast)}.access-tenant-card:hover .access-card-arrow{transform:translate(4px);background:color-mix(in srgb,var(--accent) 18%,var(--glass-control-bg));box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 22%,transparent)}.access-empty{grid-column:1 / -1;padding:var(--space-7);text-align:center;border-radius:var(--float-radius);display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.access-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:18px;color:var(--accent);background:var(--accent-soft, rgba(37, 99, 235, .12));border:1px solid var(--glass-control-border)}.access-empty p{margin:0;color:var(--text-3)}.access-action-btn,.access-back-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--glass-control-border);background:var(--glass-control-bg);color:var(--text-2);font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast),transform var(--duration-fast)}.access-action-btn:hover,.access-back-btn:hover{background:var(--glass-control-bg-hover);color:var(--text-1);border-color:var(--border-bright, var(--glass-control-border))}.access-action-btn--danger{color:var(--red, #dc2626)!important;border-color:color-mix(in srgb,var(--red, #dc2626) 40%,var(--glass-control-border))!important}.access-action-btn--danger:hover{background:color-mix(in srgb,var(--red, #dc2626) 10%,var(--glass-control-bg))!important}.access-back-btn{margin-bottom:var(--space-4)}.access-detail-hero{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-6);margin-bottom:var(--space-4);border-radius:var(--float-radius)}.access-detail-meta h2{margin:0 0 6px;font-size:24px;font-family:var(--font-display)}.access-detail-email{margin:0 0 var(--space-3);font-size:13px;color:var(--text-3)}.access-detail-chips{display:flex;flex-wrap:wrap;gap:8px}.access-feature-panel{padding:var(--space-5) var(--space-6);border-radius:var(--float-radius);margin-bottom:var(--space-4)}.access-feature-panel-head{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-dim, rgba(148, 163, 184, .18))}.access-feature-panel-head h2{margin:0 0 6px;font-size:16px;font-family:var(--font-display)}.access-feature-panel-head p{margin:0;font-size:13px;color:var(--text-3)}.access-switch-list{display:flex;flex-direction:column;gap:var(--space-3)}.access-switch-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius);background:var(--glass-stat-bg, var(--glass-control-bg));border:1px solid var(--glass-stat-border, var(--glass-control-border));transition:border-color var(--duration-fast),background var(--duration-fast)}.access-switch-row:hover{background:var(--glass-control-bg-hover);border-color:color-mix(in srgb,var(--accent) 25%,var(--glass-control-border))}.access-switch-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;flex-shrink:0;color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--glass-control-bg));border:1px solid color-mix(in srgb,var(--accent) 18%,var(--glass-control-border))}.access-switch-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.access-switch-label{font-size:14px;font-weight:700;color:var(--text-1)}.access-switch-desc{font-size:12px;color:var(--text-3);line-height:1.45}.access-language-panel{margin-top:calc(-1 * var(--space-2))}.access-language-code{font-size:11px;font-weight:800;letter-spacing:.04em;font-family:var(--font-mono, monospace)}.access-chip--languages{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 28%,var(--glass-control-border));background:color-mix(in srgb,var(--accent) 8%,var(--glass-stat-bg, var(--glass-control-bg)))}.access-switch{flex-shrink:0;padding:0;border:none;background:transparent;cursor:pointer;margin-left:auto}.access-switch-track{display:block;position:relative;width:52px;height:30px;border-radius:var(--radius-pill);background:var(--glass-control-border);transition:background var(--duration-normal) var(--ease-out-expo);box-shadow:inset 0 1px 3px #0f172a1f}.access-switch-thumb{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0f172a2e;transition:transform var(--duration-normal) var(--ease-spring)}.access-switch--on .access-switch-track,.access-switch[aria-checked=true] .access-switch-track{background:var(--accent)}.access-switch--on .access-switch-thumb,.access-switch[aria-checked=true] .access-switch-thumb{transform:translate(22px)}.access-switch:disabled{cursor:wait;opacity:.85}.access-switch:focus-visible .access-switch-track{outline:2px solid var(--accent);outline-offset:2px}.access-detail-actions{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:var(--space-4)}.access-dialog{border:none;padding:0;background:transparent;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:visible;position:fixed;inset:0;margin:auto;height:fit-content}.access-dialog::backdrop{background:#0f172a59;backdrop-filter:blur(8px)}html[data-theme=dark] .access-dialog::backdrop{background:#0000008c}.access-dialog-card{display:flex;flex-direction:column;max-height:calc(100vh - 32px);padding:0;border-radius:var(--float-radius);overflow:hidden}.access-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border-dim, rgba(148, 163, 184, .18))}.access-dialog-heading{display:flex;align-items:flex-start;gap:var(--space-3);min-width:0}.access-dialog-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:14px;flex-shrink:0;color:var(--accent);background:var(--accent-soft, rgba(37, 99, 235, .12));border:1px solid var(--glass-control-border)}.access-dialog-header h3{margin:0 0 4px;font-size:18px;font-family:var(--font-display);color:var(--text-1)}.access-dialog-header p{margin:0;font-size:12px;color:var(--text-3);line-height:1.45}.access-dialog-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border-radius:50%;border:1px solid var(--glass-control-border);background:var(--glass-control-bg);color:var(--text-2);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.access-dialog-close:hover{background:var(--glass-control-bg-hover);color:var(--text-1)}.access-dialog-body{padding:var(--space-4) var(--space-5);overflow-y:auto}.access-form-group label{display:block;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--text-2)}.access-label-hint{font-weight:500;color:var(--text-3)}.access-form-group input{width:100%;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--glass-control-border);background:var(--glass-control-bg);color:var(--text-1);font-size:13px;transition:border-color var(--duration-fast),background var(--duration-fast)}.access-form-group input:focus{outline:none;border-color:var(--accent);background:var(--glass-control-bg-hover)}.access-form-group input:disabled{opacity:.65;cursor:not-allowed}.access-field-help{margin:6px 0 0;font-size:11px;color:var(--text-3);line-height:1.4}.access-dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border-dim, rgba(148, 163, 184, .18));background:color-mix(in srgb,var(--glass-control-bg) 50%,transparent)}html[data-theme=dark] .access-switch-thumb{background:var(--bg-elevated, #1e293b)}html[data-theme=dark] .access-tenant-card:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--glass-panel-border))}@media(max-width:640px){.access-topbar{flex-wrap:wrap}.access-topbar-actions{width:100%;justify-content:flex-end}.access-toolbar{flex-direction:column;align-items:stretch}.access-add-tenant-btn{justify-content:center}.access-detail-hero{flex-direction:column;align-items:flex-start}.access-switch-row{flex-wrap:wrap}.access-switch{margin-left:auto}.access-dialog-actions{flex-direction:column-reverse}.access-dialog-actions .access-action-btn,.access-dialog-actions .access-save-btn{width:100%;justify-content:center}}
