*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--map-bg:#d4dce8;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--border:#e2e8f0;--border-strong:#cbd5e1;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:#dbeafe;--accent-glow:#2563eb26;--danger:#dc2626;--danger-soft:#fef2f2;--success:#16a34a;--success-soft:#dcfce7;--shadow-sm:0 2px 8px #0f172a0f;--shadow:0 4px 20px #0f172a1a;--shadow-lg:0 12px 40px #0f172a24;--shadow-xl:0 20px 50px #0f172a2e;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--font:"Inter",system-ui,sans-serif;--mono:"JetBrains Mono",monospace;--topbar-h:68px;--status-banner-h:0px;--map-chrome-top:0px;--ease:cubic-bezier(0.4,0,0.2,1);--auth-bg:linear-gradient(145deg,#e8eef6,#d4dce8 45%,#c5d0e0);--auth-card-bg:#fffffffa;--glass-bg:#fffffff2;--glass-bg-soft:#ffffffe0;--loading-overlay:#f8fafcbf;--selected-row-bg:#fde8e8;--star-active:#f59e0b;--input-bg:#fff;--tab-active-bg:#fff;--skeleton-from:#f1f5f9;--skeleton-to:#e2e8f0;--on-accent:#fff;--error-text:#991b1b;--success-text:#15803d;--live-on-text:#15803d;--live-off-text:#b91c1c;--accent-gradient-end:#3b82f6;--accent-border:#2563eb33;--danger-border:#dc262626;--danger-border-soft:#dc262633;--success-border:#16a34a33;--success-border-soft:#16a34a26;--topbar-bg:#ffffffe0;--topbar-border:#e2e8f0cc;--panel-bg:#fffffffa;--panel-border:#e2e8f0e6;--panel-inset:#fff9;--panel-header-gradient:linear-gradient(180deg,#dbeafe73,#fff0);--control-bg:#fffffff2;--tooltip-bg:#fffffffa;--tooltip-border:#e2e8f0f2;--tooltip-arrow:#fffffffa;--tooltip-close-bg:#ffffffeb;--dot-ring:#fffc;--canvas-bg-from:#e8eef6;--canvas-bg-to:#d0dae8;--canvas-floor:#fff;--canvas-floor-stroke:#cbd5e1;--canvas-perimeter-stroke:#1e293b;--canvas-text-muted:#64748b;--canvas-nav-path:#4285f4;--canvas-nav-glow:#4285f440;--canvas-you:#2563eb;--canvas-tag:37,99,235;--canvas-selected:#dc2626;--canvas-device-ring:#2563eb1f;--overlay-bg:#0f172a73;--device-badge-text:#475569;--device-badge-bg:#f1f5f9;--danger-hover-bg:#fee2e2;--mode-hover-bg:#ffffffb3;--card-gradient-end:#fff;--outline-dot:#1e293b;--shadow-inset:#ffffffb3;--tooltip-shadow:#0f172a14;--danger-ring:#dc262633;--accent-hover-shadow:#2563eb47;--zone-frontstore:#1e3a8a;--zone-backstore:#334155;--zone-fitting:#92400e;--zone-other:#475569;--status-info-text:#1d4ed8;color-scheme:light}[data-theme=dark]{--map-bg:#0f172a;--surface:#1e293b;--surface-2:#1a2332;--surface-3:#243044;--border:#334155;--border-strong:#475569;--text:#f1f5f9;--text-2:#94a3b8;--text-3:#64748b;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-soft:#3b82f62e;--accent-glow:#3b82f640;--danger:#f87171;--danger-soft:#f871711f;--success:#4ade80;--success-soft:#4ade801f;--shadow-sm:0 2px 8px #00000059;--shadow:0 4px 20px #0006;--shadow-lg:0 12px 40px #00000073;--shadow-xl:0 20px 50px #0000008c;--auth-bg:linear-gradient(145deg,#0f172a,#1e293b 45%,#0f172a);--auth-card-bg:#1e293bfa;--glass-bg:#1e293beb;--glass-bg-soft:#1e293bd9;--loading-overlay:#0f172ad1;--selected-row-bg:#f8717126;--star-active:#fbbf24;--input-bg:var(--surface-3);--tab-active-bg:var(--surface);--skeleton-from:#243044;--skeleton-to:#334155;--on-accent:#fff;--error-text:#fca5a5;--success-text:#86efac;--live-on-text:#4ade80;--live-off-text:#f87171;--accent-gradient-end:#60a5fa;--accent-border:#3b82f647;--danger-border:#f8717140;--danger-border-soft:#f8717159;--success-border:#4ade8040;--success-border-soft:#4ade8033;--topbar-bg:#1e293beb;--topbar-border:#334155d9;--panel-bg:#1e293bfa;--panel-border:#334155e6;--panel-inset:#1e293b80;--panel-header-gradient:linear-gradient(180deg,#3b82f61f,#1e293b00);--control-bg:#1e293bf2;--tooltip-bg:#1e293bfa;--tooltip-border:#334155f2;--tooltip-arrow:#1e293bfa;--tooltip-close-bg:#243044eb;--dot-ring:#1e293be6;--canvas-bg-from:#1e293b;--canvas-bg-to:#0f172a;--canvas-floor:#243044;--canvas-floor-stroke:#475569;--canvas-perimeter-stroke:#94a3b8;--canvas-text-muted:#94a3b8;--canvas-nav-path:#60a5fa;--canvas-nav-glow:#60a5fa40;--canvas-you:#3b82f6;--canvas-tag:96,165,250;--canvas-selected:#f87171;--canvas-device-ring:#3b82f633;--overlay-bg:#000000a6;--device-badge-text:#94a3b8;--device-badge-bg:#243044;--danger-hover-bg:#f871712e;--mode-hover-bg:#33415599;--card-gradient-end:var(--surface);--outline-dot:#94a3b8;--shadow-inset:#1e293b99;--tooltip-shadow:#00000040;--danger-ring:#f8717147;--accent-hover-shadow:#3b82f659;--zone-frontstore:#93c5fd;--zone-backstore:#cbd5e1;--zone-fitting:#fcd34d;--zone-other:#94a3b8;--status-info-text:#93c5fd;color-scheme:dark}#root,body,html{height:100%;overflow:hidden}@supports (height:100dvh){#root,body,html{height:100dvh}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#d4dce8;background:var(--map-bg);color:#0f172a;color:var(--text);font-family:Inter,system-ui,sans-serif;font-family:var(--font)}.auth-page{align-items:center;background:linear-gradient(145deg,#e8eef6,#d4dce8 45%,#c5d0e0);background:var(--auth-bg);display:flex;justify-content:center;min-height:100vh;min-height:100dvh;overflow:hidden;padding:max(20px,env(safe-area-inset-top,0px)) 20px max(20px,env(safe-area-inset-bottom,0px));position:relative}.auth-page-bg{inset:0;overflow:hidden;pointer-events:none;position:absolute}.auth-page-orb{border-radius:50%;filter:blur(72px);opacity:.55;position:absolute}.auth-page-orb--1{background:radial-gradient(circle,#2563eb59 0,#0000 70%);height:min(520px,70vw);left:-8%;top:-18%;width:min(520px,70vw)}.auth-page-orb--2{background:radial-gradient(circle,#3b82f638 0,#0000 70%);bottom:-12%;height:min(420px,55vw);right:-6%;width:min(420px,55vw)}.auth-page-grid{background-image:linear-gradient(#2563eb0a 1px,#0000 0),linear-gradient(90deg,#2563eb0a 1px,#0000 0);background-size:32px 32px;inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 20%,#0000 100%);mask-image:radial-gradient(ellipse 80% 70% at 50% 45%,#000 20%,#0000 100%);position:absolute}[data-theme=dark] .auth-page-orb--1{background:radial-gradient(circle,#3b82f647 0,#0000 70%)}[data-theme=dark] .auth-page-grid{background-image:linear-gradient(#94a3b80f 1px,#0000 0),linear-gradient(90deg,#94a3b80f 1px,#0000 0)}.auth-theme-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;background:var(--glass-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-2);cursor:pointer;display:inline-flex;height:42px;justify-content:center;position:absolute;right:16px;top:max(16px,env(safe-area-inset-top,0px));transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease);width:42px;z-index:3}.auth-theme-toggle:hover{background:#fff;background:var(--surface);border-color:#cbd5e1;border-color:var(--border-strong);color:#2563eb;color:var(--accent)}.auth-shell{animation:authShellIn .45s cubic-bezier(.4,0,.2,1) both;animation:authShellIn .45s var(--ease) both;position:relative;width:min(980px,100%);z-index:1}.auth-unified-card{align-items:stretch;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;background:var(--auth-card-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 20px 50px #0f172a2e;box-shadow:var(--shadow-xl);display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);overflow:hidden;width:100%}.auth-unified-card--loading{grid-template-columns:1fr;padding:36px 24px}@keyframes authShellIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.auth-hero{background:linear-gradient(180deg,#f8fafc,#fffffffa);background:linear-gradient(180deg,var(--surface-2) 0,var(--auth-card-bg) 100%);min-width:0}.auth-hero-panel{gap:20px;height:100%;padding:clamp(24px,2.8vw,30px)}.auth-hero-intro,.auth-hero-panel{display:flex;flex-direction:column}.auth-hero-intro{gap:14px}.auth-hero-brand{align-items:center;display:flex;gap:14px}.auth-hero-logo{border:1px solid #ffffffa6;border-radius:16px;box-shadow:0 10px 28px #2563eb26;box-shadow:0 10px 28px var(--accent-glow);height:54px;width:54px}.auth-hero-eyebrow{align-items:center;background:#dbeafe;background:var(--accent-soft);border:1px solid #2563eb33;border:1px solid var(--accent-border);border-radius:999px;color:#2563eb;color:var(--accent);display:inline-flex;font-size:10px;font-weight:700;letter-spacing:.1em;padding:4px 10px;text-transform:uppercase}.auth-hero-title{color:#0f172a;color:var(--text);font-size:clamp(28px,3.4vw,36px);font-weight:800;letter-spacing:-.045em;line-height:1.02;margin-top:8px}.auth-hero-lead{color:#475569;color:var(--text-2);font-size:clamp(15px,1.7vw,17px);line-height:1.6;max-width:36ch}.auth-hero-badges{display:flex;flex-wrap:wrap;gap:8px}.auth-hero-badge{align-items:center;background:#f1f5f9;background:var(--surface-3);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:999px;color:#475569;color:var(--text-2);display:inline-flex;font-size:11px;font-weight:600;padding:5px 10px}.auth-hero-features{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0}.auth-feature-card{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:10px;padding:11px 11px 10px;transition:border-color .2s cubic-bezier(.4,0,.2,1),background .2s cubic-bezier(.4,0,.2,1);transition:border-color .2s var(--ease),background .2s var(--ease)}.auth-feature-card:hover{background:#fff;background:var(--input-bg);border-color:#2563eb33;border-color:var(--accent-border)}.auth-feature-card strong{color:#0f172a;color:var(--text);display:block;font-size:12px;font-weight:700;line-height:1.25}.auth-feature-card span{color:#94a3b8;color:var(--text-3);display:block;font-size:11px;font-weight:500;line-height:1.4;margin-top:3px}.auth-hero-feature-icon{align-items:center;background:#dbeafe;background:var(--accent-soft);border:1px solid #2563eb33;border:1px solid var(--accent-border);border-radius:8px;border-radius:var(--radius-sm);color:#2563eb;color:var(--accent);display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.auth-hero-visual{display:flex;justify-content:stretch}.auth-map-preview{background:#fff;background:var(--input-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);overflow:hidden;width:100%}.auth-map-preview-footer,.auth-map-preview-header{align-items:center;background:#f8fafc;background:var(--surface-2);color:#475569;color:var(--text-2);display:flex;font-size:11px;font-weight:600;gap:10px;justify-content:space-between;padding:10px 14px}.auth-map-preview-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border)}.auth-map-preview-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border)}.auth-map-preview-status{align-items:center;display:inline-flex;gap:7px}.auth-map-preview-sync{color:#94a3b8;color:var(--text-3);font-size:10px;font-weight:500}.auth-map-preview-floor-label{color:#2563eb;color:var(--accent);font-weight:700}.auth-map-preview-tag-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-map-preview-dot{animation:authLivePulse 2s cubic-bezier(.4,0,.2,1) infinite;animation:authLivePulse 2s var(--ease) infinite;background:#16a34a;background:var(--success);border-radius:50%;box-shadow:0 0 0 3px #dcfce7;box-shadow:0 0 0 3px var(--success-soft);height:7px;width:7px}@keyframes authLivePulse{0%,to{opacity:1}50%{opacity:.55}}.auth-map-preview-canvas{background:linear-gradient(165deg,#e8eef6,#d0dae8);background:linear-gradient(165deg,var(--canvas-bg-from) 0,var(--canvas-bg-to) 100%);height:196px;padding:14px;position:relative}.auth-map-preview-floor{background:#fff;background:var(--canvas-floor);border:1.5px solid #cbd5e1;border:1.5px solid var(--canvas-floor-stroke);border-radius:12px;box-shadow:inset 0 1px 0 #ffffffb3;box-shadow:inset 0 1px 0 var(--shadow-inset);height:100%;overflow:hidden;position:relative;width:100%}.auth-map-preview-aisle{background:#f1f5f9;background:var(--surface-3);border-radius:4px;opacity:.85;position:absolute}.auth-map-preview-aisle.aisle-1{height:64%;left:12%;top:18%;width:22%}.auth-map-preview-aisle.aisle-2{height:52%;right:14%;top:24%;width:18%}.auth-map-preview-route{height:100%;inset:0;pointer-events:none;position:absolute;width:100%}.auth-map-preview-route path{fill:none;stroke:#4285f4;stroke:var(--canvas-nav-path);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:6 5;opacity:.9}.auth-map-preview-tag{background:#2563eb;background:rgb(var(--canvas-tag));border-radius:50%;box-shadow:0 0 0 2px #fffc;box-shadow:0 0 0 2px var(--dot-ring);height:7px;position:absolute;width:7px;z-index:2}.auth-map-preview-tag.tag-a{left:34%;top:30%}.auth-map-preview-tag.tag-b{left:56%;top:58%}.auth-map-preview-tag.tag-c{left:78%;top:26%}.auth-map-preview-tag.selected{background:#dc2626;background:var(--canvas-selected);box-shadow:0 0 0 3px #dc26262e;height:11px;margin:-2px 0 0 -2px;position:absolute;width:11px;z-index:3}.auth-map-preview-pulse{animation:authTagPulse 2.2s cubic-bezier(.4,0,.2,1) infinite;animation:authTagPulse 2.2s var(--ease) infinite;border:2px solid #dc2626;border:2px solid var(--canvas-selected);border-radius:50%;inset:-7px;opacity:.45;position:absolute}@keyframes authTagPulse{0%{opacity:.55;transform:scale(.7)}70%{opacity:0;transform:scale(1.35)}to{opacity:0;transform:scale(1.35)}}.auth-map-preview-you{background:#2563eb;background:var(--canvas-you);border-radius:50%;bottom:20%;height:13px;left:22%;position:absolute;width:13px;z-index:2}@media (max-width:980px){.auth-hero-features{grid-template-columns:1fr}.auth-feature-card{align-items:center;flex-direction:row;gap:12px}}.auth-map-preview-you-ring{background:#2563eb1f;border:2px solid #2563eb59;border-radius:50%;inset:-6px;position:absolute}.auth-form-panel{border-left:1px solid #e2e8f0;border-left:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;min-width:0;padding:clamp(24px,2.8vw,30px)}.auth-card,.auth-form-panel{background:#fffffffa;background:var(--auth-card-bg)}.auth-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 20px 50px #0f172a2e;box-shadow:var(--shadow-xl);padding:clamp(24px,3vw,32px);width:100%}.auth-loading-card{align-items:center;color:#475569;color:var(--text-2);display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:14px}.auth-header{margin-bottom:20px}.auth-header-text h1{color:#0f172a;color:var(--text);font-size:clamp(20px,2.2vw,24px);font-weight:800;letter-spacing:-.03em;line-height:1.15}.auth-header-text p{color:#475569;color:var(--text-2);font-size:13px;line-height:1.45;margin-top:5px}.auth-tabs{grid-gap:4px;background:#f1f5f9;background:var(--surface-3);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin-bottom:22px;padding:4px}.auth-tabs button{background:#0000;border:none;border-radius:8px;color:#475569;color:var(--text-2);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;padding:11px 12px;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease),box-shadow .15s var(--ease)}.auth-tabs button.active{background:#fff;background:var(--tab-active-bg);box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);color:#2563eb;color:var(--accent)}.auth-form{gap:14px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field span{color:#475569;color:var(--text-2);font-size:12px;font-weight:600}.auth-field input{background:#fff;background:var(--input-bg);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:15px;outline:none;padding:12px 14px;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1);transition:border-color .15s var(--ease),box-shadow .15s var(--ease),background .15s var(--ease)}.auth-field input::placeholder{color:#94a3b8;color:var(--text-3)}.auth-field input:focus{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--accent-soft)}.auth-error{background:#fef2f2;background:var(--danger-soft);border:1px solid #dc262626;border:1px solid var(--danger-border);border-radius:8px;border-radius:var(--radius-sm);color:#dc2626;color:var(--danger);font-size:13px;line-height:1.45;padding:10px 12px}.auth-error-hint{color:#991b1b;color:var(--error-text);display:block;font-weight:500;margin-top:4px}.auth-success{background:#dcfce7;background:var(--success-soft);border:1px solid #16a34a33;border:1px solid var(--success-border);border-radius:8px;border-radius:var(--radius-sm);color:#15803d;color:var(--success-text);font-size:13px;line-height:1.45;padding:10px 12px}.auth-submit{background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--accent) 0,var(--accent-gradient-end) 100%);border:none;border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 22px #2563eb26;box-shadow:0 8px 22px var(--accent-glow);color:#fff;color:var(--on-accent);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:15px;font-weight:700;letter-spacing:-.01em;margin-top:6px;padding:13px 16px;transition:transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:transform .15s var(--ease),box-shadow .15s var(--ease)}.auth-submit:hover:not(:disabled){box-shadow:0 8px 22px #2563eb47;transform:translateY(-1px)}.auth-submit:disabled{cursor:not-allowed;opacity:.7}.auth-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.auth-check{align-items:center;color:#475569;color:var(--text-2);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:8px;-webkit-user-select:none;user-select:none}.auth-check input{accent-color:#2563eb;accent-color:var(--accent);cursor:pointer;height:16px;width:16px}.auth-back-btn,.auth-link-btn{background:none;border:none;color:#2563eb;color:var(--accent);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;padding:0}.auth-back-btn:hover,.auth-link-btn:hover{color:#1d4ed8;color:var(--accent-hover);text-decoration:underline}.auth-back-btn{color:#475569;color:var(--text-2);margin-top:4px;text-align:center;width:100%}.auth-password-wrap{align-items:center;display:flex;position:relative}.auth-password-wrap input{padding-right:48px;width:100%}.auth-password-toggle{align-items:center;background:#0000;border:none;border-radius:8px;color:#94a3b8;color:var(--text-3);cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:6px;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease);width:36px}.auth-password-toggle:hover{background:#f1f5f9;background:var(--surface-3);color:#0f172a;color:var(--text)}.auth-info{background:#dbeafe;background:var(--accent-soft);border:1px solid #2563eb33;border:1px solid var(--accent-border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);font-size:13px;line-height:1.45;padding:10px 12px}.auth-info-note{color:#475569;color:var(--text-2);display:block;font-size:11px;margin-top:4px}@media (max-width:860px){.auth-shell{max-width:460px}.auth-unified-card{grid-template-columns:1fr}.auth-form-panel{border-left:none;border-top:1px solid #e2e8f0;border-top:1px solid var(--border);justify-content:flex-start}.auth-hero-panel{gap:18px;padding:20px 18px 18px}.auth-hero-intro{text-align:left}.auth-hero-brand{align-items:flex-start}.auth-hero-lead{max-width:none}.auth-hero-badges{display:none}.auth-hero-features{gap:8px;grid-template-columns:1fr}.auth-feature-card{align-items:center;flex-direction:row;gap:12px;padding:11px 12px}.auth-feature-card strong{font-size:13px}.auth-feature-card span{font-size:12px}.auth-map-preview-canvas{height:168px}}@media (max-width:480px){.auth-page{align-items:flex-start;padding:max(56px,calc(12px + env(safe-area-inset-top, 0px))) 12px 12px}.auth-shell{max-width:none}.auth-form-panel,.auth-hero-panel{padding:16px 14px}.auth-hero-panel{gap:14px}.auth-hero-brand{gap:10px}.auth-hero-logo{border-radius:12px;height:42px;width:42px}.auth-hero-title{font-size:24px;margin-top:6px}.auth-hero-lead{font-size:14px}.auth-map-preview-canvas{height:148px;padding:10px}.auth-hero-features{display:grid}.auth-header-text h1{font-size:20px}.auth-tabs button{font-size:12px;padding:10px}.auth-submit{min-height:48px}}.sign-out-btn{background:#fff;background:var(--input-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:999px;color:#475569;color:var(--text-2);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:12px;font-weight:600;padding:6px 12px;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease)}.sign-out-btn:hover{background:#fef2f2;background:var(--danger-soft);border-color:#dc262633;border-color:var(--danger-border-soft);color:#dc2626;color:var(--danger)}.user-menu{flex-shrink:0;position:relative}.user-menu-trigger{align-items:center;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;height:34px;justify-content:center;padding:0;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:border-color .15s var(--ease),box-shadow .15s var(--ease);width:34px}.user-menu-trigger:hover,.user-menu.open .user-menu-trigger{border-color:#2563eb33;border-color:var(--accent-border,#2563eb59);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--accent-soft)}.user-avatar{align-items:center;background:linear-gradient(145deg,#2563eb,#3b82f6);background:linear-gradient(145deg,var(--accent) 0,var(--accent-gradient-end) 100%);border-radius:50%;color:#fff;color:var(--on-accent);display:flex;flex-shrink:0;font-size:10px;font-weight:800;height:30px;justify-content:center;letter-spacing:.04em;width:30px}.user-menu-dropdown{animation:fadeIn .15s cubic-bezier(.4,0,.2,1);animation:fadeIn .15s var(--ease);background:#fffffff2;background:var(--glass-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 12px 32px #0f172a24;box-shadow:var(--shadow-md,0 12px 32px #0f172a24);min-width:220px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:30}.user-menu-dropdown-header{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:2px;margin-bottom:4px;padding:8px 10px 10px}.user-menu-name{color:#0f172a;color:var(--text);font-size:13px;font-weight:700}.user-menu-email,.user-menu-name{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-email{color:#94a3b8;color:var(--text-3);font-size:11px;font-weight:500}.user-menu-signout{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-2);cursor:pointer;display:flex;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;gap:8px;padding:9px 10px;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease);width:100%}.user-menu-signout:hover{background:#fef2f2;background:var(--danger-soft);color:#dc2626;color:var(--danger)}.user-menu-signout:active{background:#fee2e2;background:var(--danger-hover-bg)}.user-chip{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-app{height:100vh;height:100dvh;overflow:hidden;position:relative;width:100%}.store-map-root{inset:0;position:absolute;z-index:0}.store-map-canvas{display:block;height:100%;touch-action:none;width:100%}.top-bar{backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);background:#ffffffe0;background:var(--topbar-bg);border-bottom:1px solid #e2e8f0cc;border-bottom:1px solid var(--topbar-border);box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);height:68px;height:var(--topbar-h);left:0;min-height:68px;min-height:var(--topbar-h);padding:env(safe-area-inset-top,0) 16px 0;position:absolute;right:0;top:0;z-index:20}.top-bar,.top-bar-brand{align-items:center;display:flex;gap:12px;min-width:0}.brand-mark,.top-bar-brand{flex-shrink:0}.brand-mark{border-radius:10px;box-shadow:0 2px 8px #2563eb26;box-shadow:0 2px 8px var(--accent-glow);display:block;height:36px;width:36px}.brand-title{color:#0f172a;color:var(--text);font-size:15px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.brand-sub{color:#94a3b8;color:var(--text-3);font-size:11px;font-weight:500;margin-top:1px}.top-bar-center{align-items:center;display:flex;flex:1 1;justify-content:center;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.top-bar-center::-webkit-scrollbar{display:none}.location-filters{background:#0000;border:none;border-radius:0;box-shadow:none;flex-shrink:1;min-width:0;padding:0}.loc-select-wrap,.location-filters,.shop-select-wrap{align-items:center;display:flex;gap:8px}.loc-select-label,.shop-select-label{color:#94a3b8;color:var(--text-3);font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.loc-select,.shop-select{-webkit-appearance:none;appearance:none;background:#fff;background:var(--surface);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;border:1px solid #0000;border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;max-width:100%;min-width:130px;padding:8px 32px 8px 12px;text-overflow:ellipsis;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1),background-color .2s cubic-bezier(.4,0,.2,1);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),background-color .2s var(--ease)}.loc-select-shop{min-width:200px}.loc-select-floor{min-width:180px}.loc-select:hover:not(:disabled){background-color:#fff;background-color:var(--input-bg);border-color:#cbd5e1;border-color:var(--border-strong)}.loc-select:focus{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 3px #dbeafe;box-shadow:0 0 0 3px var(--accent-soft);outline:none}.loc-select:disabled{cursor:not-allowed;opacity:.45}[data-theme=dark] .loc-select,[data-theme=dark] .shop-select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.loc-select option,.shop-select option{background:#fff;background:var(--surface);color:#0f172a;color:var(--text)}.top-bar-stats{align-items:center;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;margin-left:auto}.live-pill{align-items:center;border:1px solid #0000;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:6px;padding:6px 12px}.live-pill.on{background:#dcfce7;background:var(--success-soft);border-color:#16a34a26;border-color:var(--success-border-soft);color:#15803d;color:var(--live-on-text)}.live-pill.off{background:#fef2f2;background:var(--danger-soft);border-color:#dc262626;border-color:var(--danger-border);color:#b91c1c;color:var(--live-off-text)}.live-dot{background:currentColor;border-radius:50%;height:7px;width:7px}.live-pill.on .live-dot{animation:livePulse 2s cubic-bezier(.4,0,.2,1) infinite;animation:livePulse 2s var(--ease) infinite}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.stat-chip{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-2);font-size:12px;font-weight:600;padding:6px 12px}.stat-chip.muted{background:#0000;border-color:#0000;color:#94a3b8;color:var(--text-3);font-weight:500}.map-float-controls{bottom:calc(28px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:8px;position:absolute;right:20px;z-index:15}.map-ctrl-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;background:var(--glass-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 20px #0f172a1a;box-shadow:var(--shadow);color:#475569;color:var(--text-2);cursor:pointer;display:flex;font-size:18px;font-weight:500;height:44px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease),transform .15s var(--ease),box-shadow .15s var(--ease);width:44px}.map-ctrl-btn:hover{background:#dbeafe;background:var(--accent-soft);border-color:#2563eb;border-color:var(--accent);box-shadow:0 12px 40px #0f172a24;box-shadow:var(--shadow-lg);color:#2563eb;color:var(--accent);transform:translateY(-1px)}.map-ctrl-btn:active{transform:translateY(0)}.map-ctrl-btn.accent{background:#fef2f2;background:var(--danger-soft);border-color:#dc262633;border-color:var(--danger-border-soft);color:#dc2626;color:var(--danger)}.map-ctrl-btn.accent:hover{background:#fee2e2;background:var(--danger-hover-bg);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.map-ctrl-btn.active{background:#dbeafe;background:var(--accent-soft);border-color:#2563eb;border-color:var(--accent);color:#2563eb;color:var(--accent)}.map-legend-float{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe0;background:var(--glass-bg-soft);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);bottom:28px;box-shadow:0 4px 20px #0f172a1a;box-shadow:var(--shadow);color:#475569;color:var(--text-2);display:flex;font-size:12px;font-weight:500;gap:16px;left:20px;padding:10px 16px;position:absolute;z-index:15}.map-legend-float span{align-items:center;display:flex;gap:8px}.map-floor-badge{color:#2563eb;color:var(--accent);font-weight:700}.dot-all,.dot-device,.dot-selected{border-radius:50%;box-shadow:0 0 0 2px #fffc;box-shadow:0 0 0 2px var(--dot-ring);display:inline-block;height:10px;width:10px}.legend-advantrack-icon{display:block;flex-shrink:0}.map-point-tooltip{animation:tooltipIn .22s cubic-bezier(.4,0,.2,1);animation:tooltipIn .22s var(--ease);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;background:var(--tooltip-bg);border:1px solid #e2e8f0f2;border:1px solid var(--tooltip-border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #0f172a2e,inset 0 0 0 1px #ffffffb3;box-shadow:var(--shadow-xl),0 0 0 1px var(--shadow-inset) inset;color:#0f172a;color:var(--text);font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:12px;line-height:1.45;overflow:visible;pointer-events:auto;position:absolute;width:min(280px,calc(100vw - 32px));z-index:40}.map-point-tooltip:after{border:9px solid #0000;content:"";filter:drop-shadow(0 2px 2px rgba(15,23,42,.08));filter:drop-shadow(0 2px 2px var(--tooltip-shadow));position:absolute}.map-point-tooltip--above:after,.map-point-tooltip--below:after{left:50%;left:var(--tooltip-anchor-x,50%);transform:translateX(-50%)}.map-point-tooltip--above:after{border-top-color:#fffffffa;border-top-color:var(--tooltip-arrow);bottom:-17px}.map-point-tooltip--below:after{border-bottom-color:#fffffffa;border-bottom-color:var(--tooltip-arrow);top:-17px}.map-point-tooltip--right:after{border-right-color:#fffffffa;border-right-color:var(--tooltip-arrow);left:-17px}.map-point-tooltip--left:after,.map-point-tooltip--right:after{top:50%;top:var(--tooltip-anchor-y,50%);transform:translateY(-50%)}.map-point-tooltip--left:after{border-left-color:#fffffffa;border-left-color:var(--tooltip-arrow);right:-17px}@keyframes tooltipIn{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.map-tooltip-close{align-items:center;background:#ffffffe0;background:var(--glass-bg-soft);border:none;border-radius:8px;box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);color:#475569;color:var(--text-2);cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:10px;top:10px;transition:background .15s,color .15s,transform .15s;width:28px;z-index:2}.map-tooltip-close:hover{background:#fff;background:var(--input-bg);color:#0f172a;color:var(--text);transform:scale(1.05)}.map-tooltip-copy{align-items:center;background:#ffffffe0;background:var(--glass-bg-soft);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;color:#475569;color:var(--text-2);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s,border-color .15s;width:28px}.map-tooltip-copy:hover{background:#fff;background:var(--input-bg);border-color:#cbd5e1;border-color:var(--border-strong,var(--border));color:#0f172a;color:var(--text)}.map-tooltip-copy.copied{background:#dbeafe;background:var(--accent-soft);border-color:#2563eb33;border-color:var(--accent-border);color:#2563eb;color:var(--accent)}.map-tooltip-hero{background:linear-gradient(145deg,#f1f5f9,#e2e8f0);background:linear-gradient(145deg,var(--skeleton-from) 0,var(--skeleton-to) 100%);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-radius:16px 16px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:140px;overflow:hidden;position:relative;width:100%}.map-tooltip-photo{display:block;height:140px;object-fit:cover;width:100%}.map-tooltip-image-loading{animation:productShimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:200% 100%;height:140px;width:100%}.map-tooltip-image-missing{display:none}.map-tooltip-image-fallback{align-items:center;color:#94a3b8;color:var(--text-3);display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;position:absolute}.map-tooltip-image-fallback svg{opacity:.45}.map-tooltip-image-fallback span{font-size:11px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.map-tooltip-body{padding:14px 14px 12px}.map-tooltip-head{margin-bottom:12px;padding-right:3px}.map-tooltip-head-row{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-bottom:6px}.map-tooltip-type{background:#dbeafe;background:var(--accent-soft);border-radius:999px;color:#2563eb;color:var(--accent);display:inline-block;font-size:10px;font-weight:700;letter-spacing:.06em;margin-bottom:0;padding:3px 8px;text-transform:uppercase}.map-point-tooltip--device .map-tooltip-type{background:#f1f5f9;background:var(--device-badge-bg);color:#475569;color:var(--device-badge-text)}.map-tooltip-title{color:#0f172a;color:var(--text);font-size:15px;font-weight:700;line-height:1.3;margin-bottom:2px}.map-tooltip-title-muted{color:#475569;color:var(--text-2);font-weight:600}.map-tooltip-subtitle{color:#475569;color:var(--text-2);font-size:12px;margin-top:2px}.map-tooltip-epc{color:#2563eb;color:var(--accent);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.02em;line-height:1.35;margin-top:6px;word-break:break-all}.map-tooltip-coords{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(3,1fr);margin-bottom:10px}.map-tooltip-coord{align-items:center;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:2px;padding:8px 4px}.map-tooltip-coord-label{color:#94a3b8;color:var(--text-3);font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.map-tooltip-coord-value{color:#0f172a;color:var(--text);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:13px;font-weight:600}.map-tooltip-details{background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;display:flex;flex-direction:column;gap:0;overflow:hidden}.map-tooltip-detail{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.map-tooltip-detail+.map-tooltip-detail{border-top:1px solid #e2e8f0;border-top:1px solid var(--border)}.map-tooltip-detail-label{color:#475569;color:var(--text-2);flex-shrink:0;font-size:11px;font-weight:600}.map-tooltip-detail-value{color:#0f172a;color:var(--text);font-size:11px;font-weight:500;text-align:right;word-break:break-all}.map-tooltip-detail-value.mono{font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:10px}.map-tooltip-row{align-items:flex-start;display:flex;gap:6px;margin-bottom:2px}.map-tooltip-label{flex-shrink:0;font-weight:600;min-width:72px}.map-tooltip-value{font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px;font-weight:400;word-break:break-all}.dot-outline{background:#0000;border:2px solid #1e293b;border:2px solid var(--outline-dot);border-radius:1px;box-shadow:none;height:8px;width:12px}.dot-all{background:#0f172a}.dot-selected{background:#dc2626;background:var(--danger);box-shadow:0 0 0 2px #fffc,0 0 0 4px #dc262633;box-shadow:0 0 0 2px var(--dot-ring),0 0 0 4px var(--danger-ring)}.find-product-panel{animation:slideInLeft .32s cubic-bezier(.4,0,.2,1);animation:slideInLeft .32s var(--ease);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;background:var(--panel-bg);border:1px solid #e2e8f0e6;border:1px solid var(--panel-border);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 20px 50px #0f172a2e,inset 0 0 0 1px #fff9;box-shadow:var(--shadow-xl),0 0 0 1px var(--panel-inset) inset;display:flex;flex-direction:column;left:16px;max-height:calc(100vh - 100px);max-height:calc(100vh - var(--topbar-h) - 32px);max-height:calc(100dvh - 100px);max-height:calc(100dvh - var(--topbar-h) - 32px);overflow:hidden;position:absolute;top:84px;top:calc(var(--topbar-h) + 16px);width:min(380px,calc(100% - 32px));z-index:25}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideUp{0%{opacity:.8;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.find-panel-header{align-items:center;background:linear-gradient(180deg,#dbeafe73,#fff0);background:var(--panel-header-gradient);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);display:flex;gap:12px;justify-content:space-between;padding:16px 16px 14px}.find-panel-title-group{align-items:center;display:flex;gap:12px;min-width:0}.find-panel-icon-badge{align-items:center;background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--accent) 0,var(--accent-gradient-end) 100%);border-radius:12px;box-shadow:0 4px 14px #2563eb26;box-shadow:0 4px 14px var(--accent-glow);color:#fff;color:var(--on-accent);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.find-panel-header h2{font-size:17px;font-weight:700;letter-spacing:-.03em;line-height:1.2}.find-panel-subtitle{color:#475569;color:var(--text-2);font-size:12px;font-weight:500;line-height:1.35;margin-top:3px}.find-panel-close{align-items:center;background:#ffffffeb;background:var(--tooltip-close-bg);border:none;border-radius:10px;box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);color:#475569;color:var(--text-2);cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease);width:34px}.find-panel-close:hover{background:#f1f5f9;background:var(--surface-3);color:#0f172a;color:var(--text);transform:scale(1.04)}.find-panel-body{--find-panel-pad:16px;display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.find-panel-top{flex-shrink:0;max-height:36%;overflow-y:auto}.find-panel-results{background:#fff;background:var(--surface);border-top:1px solid #e2e8f0;border-top:1px solid var(--border);flex:1 1;min-height:140px;overflow-y:auto}.find-panel-controls{display:flex;flex-direction:column;gap:10px;padding:var(--find-panel-pad) var(--find-panel-pad) 0}.find-panel-search{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #e2e8f0;border:1.5px solid var(--border);border-radius:14px;box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);display:flex;gap:10px;margin:0;padding:6px 14px;transition:border-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}.find-panel-search:focus-within{border-color:#2563eb;border-color:var(--accent);box-shadow:0 0 0 4px #dbeafe,0 2px 8px #0f172a0f;box-shadow:0 0 0 4px var(--accent-soft),var(--shadow-sm)}.find-panel-search-icon{color:#2563eb;color:var(--accent);flex-shrink:0}.find-panel-search-input{background:#0000;border:none;color:#0f172a;color:var(--text);flex:1 1;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:14px;min-width:0;outline:none;padding:11px 0}.find-panel-search-input::placeholder{color:#94a3b8;color:var(--text-3)}.find-panel-spinner{animation:spin .65s linear infinite;border:2px solid #dbeafe;border-top-color:#2563eb;border:2px solid var(--accent-soft);border-radius:50%;border-top-color:var(--accent);flex-shrink:0;height:18px;width:18px}.find-panel-clear{align-items:center;background:#f1f5f9;background:var(--surface-3);border:none;border-radius:8px;color:#475569;color:var(--text-2);cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease);width:28px}.find-panel-clear:hover{background:#e2e8f0;background:var(--border);color:#0f172a;color:var(--text)}.find-panel-mode{grid-gap:4px;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;display:grid;gap:4px;grid-template-columns:1fr 1fr;margin:0;padding:3px}.find-mode-btn{background:#0000;border:none;border-radius:7px;color:#475569;color:var(--text-2);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:11px;font-weight:600;padding:6px 8px;transition:background .18s cubic-bezier(.4,0,.2,1),color .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);transition:background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}.find-mode-btn:hover{background:#ffffffb3;background:var(--mode-hover-bg);color:#0f172a;color:var(--text)}.find-mode-btn.active{background:#fff;background:var(--tab-active-bg);box-shadow:0 2px 8px #0f172a0f;box-shadow:var(--shadow-sm);color:#2563eb;color:var(--accent)}.find-mode-hint{color:#94a3b8;color:var(--text-3);font-size:11px;line-height:1.4;margin:0}.find-panel-sku-summary{display:flex;flex-direction:column;gap:6px;padding:12px 16px 8px;padding:12px var(--find-panel-pad,16px) 8px}.find-sku-line{grid-gap:10px;align-items:center;display:grid;font-size:13px;gap:10px;grid-template-columns:76px 1fr;line-height:1.4;min-height:24px}.find-sku-label{color:#0f172a;color:var(--text);font-weight:700}.find-sku-value{background:#f1f5f9;background:var(--surface-3);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;color:#0f172a;color:var(--text);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:12px;font-weight:600;padding:3px 8px;word-break:break-all}.find-sku-count{color:#0f172a;color:var(--text);font-size:14px;font-weight:800}.find-panel-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:14px 16px 12px}.find-stat-card{background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);padding:10px 10px 9px}.find-stat-card.accent{background:#dbeafe;background:var(--accent-soft);border-color:#2563eb33;border-color:var(--accent-border)}.find-stat-label{color:#94a3b8;color:var(--text-3);display:block;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.find-stat-value{color:#0f172a;color:var(--text);display:block;font-size:14px;font-weight:700;line-height:1.2;margin-top:5px}.find-stat-card code.find-stat-value{color:#2563eb;color:var(--accent);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:10px;font-weight:600;word-break:break-all}.find-stat-card.accent .find-stat-value{color:#2563eb;color:var(--accent)}.find-product-panel .epc-table-wrap{flex:none;max-height:none;overflow:visible;padding:4px 16px 16px;padding:4px var(--find-panel-pad,16px) 16px}.find-panel-empty{padding:24px 16px 28px;padding:24px var(--find-panel-pad,16px) 28px;text-align:center}.find-empty-icon{align-items:center;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;color:#94a3b8;color:var(--text-3);display:flex;height:56px;justify-content:center;margin:0 auto 14px;width:56px}.find-panel-empty-title{color:#0f172a;color:var(--text);font-size:15px;font-weight:700;margin-bottom:6px}.find-panel-empty-text{color:#475569;color:var(--text-2);font-size:13px;line-height:1.55;margin:0 auto;max-width:260px}.find-panel-empty-text strong{color:#0f172a;color:var(--text);font-weight:600}.find-panel-error .find-panel-empty-title{color:#dc2626;color:var(--danger)}.find-panel-hint{padding:16px 16px 22px;padding:var(--find-panel-pad,16px) var(--find-panel-pad,16px) 22px}.find-hint-card{background:linear-gradient(180deg,#f8fafc,#fff);background:linear-gradient(180deg,var(--surface-2) 0,var(--card-gradient-end) 100%);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;padding:16px}.find-hint-lead{color:#0f172a;color:var(--text);font-size:13px;font-weight:600;line-height:1.5;margin-bottom:6px}.find-hint-sub{color:#475569;color:var(--text-2);font-size:12px;line-height:1.45;margin-bottom:12px}.find-hint-sub--mobile{display:none}.find-hint-tips{display:flex;flex-direction:column;gap:8px;list-style:none}.find-hint-tips li{align-items:center;color:#475569;color:var(--text-2);display:flex;font-size:12px;gap:10px;line-height:1.4}.find-hint-tag{align-items:center;background:#dbeafe;background:var(--accent-soft);border-radius:6px;color:#2563eb;color:var(--accent);display:inline-flex;flex-shrink:0;font-size:10px;font-weight:700;justify-content:center;letter-spacing:.03em;min-width:38px;padding:3px 8px}.find-panel-detail{padding:14px 16px 22px}.product-image-wrap{align-items:flex-start;display:flex;gap:12px}.product-image-wrap.size-lg{align-items:stretch;flex-direction:column}.product-image-frame{align-items:center;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);display:flex;flex-shrink:0;justify-content:center;overflow:hidden;position:relative}.size-sm .product-image-frame{height:56px;width:56px}.size-md .product-image-frame{height:72px;width:72px}.size-lg .product-image-frame{height:140px;width:100%}.product-image-photo{display:block;height:100%;object-fit:cover;width:100%}.product-image-placeholder{align-items:center;background:linear-gradient(145deg,#f1f5f9,#e2e8f0);background:linear-gradient(145deg,var(--skeleton-from),var(--skeleton-to));color:#94a3b8;color:var(--text-3);display:flex;flex-direction:column;gap:4px;height:100%;justify-content:center;width:100%}.product-image-placeholder span{font-size:9px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.product-image-loading{animation:productShimmer 1.2s ease-in-out infinite;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-to) 50%,var(--skeleton-from) 75%);background-size:200% 100%;height:100%;width:100%}@keyframes productShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.product-image-meta{flex:1 1;min-width:0}.size-lg .product-image-meta{padding-top:2px}.product-image-name{color:#0f172a;color:var(--text);font-size:14px;font-weight:700;line-height:1.3;margin-bottom:2px}.product-image-brand{color:#475569;color:var(--text-2);font-size:12px;font-weight:500;margin-bottom:2px}.product-image-ean{color:#2563eb;color:var(--accent);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px}.map-tooltip-product{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:8px}.map-tooltip-product .product-image-wrap{justify-content:center}.find-detail-header{align-items:center;color:#2563eb;color:var(--accent);display:flex;font-size:12px;font-weight:700;gap:8px;letter-spacing:.04em;margin-bottom:10px;text-transform:uppercase}.find-detail-card{background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;overflow:hidden;padding:4px 0}.find-detail-card .detail-row{border-radius:0;padding:11px 14px}.find-detail-card .detail-row+.detail-row{border-top:1px solid #e2e8f0;border-top:1px solid var(--border)}.find-detail-card .detail-row:hover{background:#ffffffb3;background:var(--mode-hover-bg)}.map-find-actions{align-items:center;display:flex;gap:10px;left:16px;position:absolute;top:80px;top:calc(var(--topbar-h) + var(--status-banner-h) + 12px);z-index:25}.open-find-panel-btn{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#2563eb,#3b82f6);background:linear-gradient(135deg,var(--accent) 0,var(--accent-gradient-end) 100%);border:none;border-radius:14px;box-shadow:0 8px 24px #2563eb26,0 12px 40px #0f172a24;box-shadow:0 8px 24px var(--accent-glow),var(--shadow-lg);color:#fff;color:var(--on-accent);cursor:pointer;display:flex;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:14px;font-weight:600;gap:8px;height:50px;justify-content:center;left:auto;min-width:50px;padding:0 16px 0 14px;position:relative;top:auto;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1);transition:transform .18s var(--ease),box-shadow .18s var(--ease)}.open-find-panel-label{line-height:1}.open-find-panel-btn:hover{box-shadow:0 12px 28px #2563eb47,0 12px 40px #0f172a24;box-shadow:0 12px 28px var(--accent-hover-shadow),var(--shadow-lg);transform:translateY(-2px) scale(1.03)}.open-scan-fab{align-items:center;background:#fff;background:var(--surface);border:1.5px solid #2563eb;border:1.5px solid var(--accent);border-radius:14px;box-shadow:0 12px 40px #0f172a24;box-shadow:var(--shadow-lg);color:#2563eb;color:var(--accent);cursor:pointer;display:none;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:14px;font-weight:600;gap:8px;height:50px;justify-content:center;min-width:50px;padding:0 16px 0 14px;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .18s cubic-bezier(.4,0,.2,1);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}.open-scan-fab:hover{background:#dbeafe;background:var(--accent-soft);transform:translateY(-2px)}.open-scan-fab-label{line-height:1}.find-panel-scan-btn{align-items:center;background:#dbeafe;background:var(--accent-soft);border:none;border-radius:10px;color:#2563eb;color:var(--accent);cursor:pointer;display:flex;flex-shrink:0;height:36px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease),transform .15s var(--ease);width:36px}.find-panel-scan-btn:hover{background:#2563eb;background:var(--accent);color:#fff;color:var(--on-accent)}.find-panel-scan-cta{align-items:center;background:#dbeafe;background:var(--accent-soft);border:1.5px solid #2563eb;border:1.5px solid var(--accent);border-radius:14px;color:#2563eb;color:var(--accent);cursor:pointer;display:none;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:15px;font-weight:600;gap:10px;justify-content:center;min-height:48px;padding:12px 16px;transition:background .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),transform .15s var(--ease);width:100%}.find-panel-scan-cta:hover{background:#2563eb;background:var(--accent);color:#fff;color:var(--on-accent)}.barcode-scanner-overlay{background:#0a0a0f;color:#f5f5f7;display:flex;flex-direction:column;inset:0;padding-bottom:env(safe-area-inset-bottom,0);padding-top:env(safe-area-inset-top,0);position:fixed;z-index:80}.barcode-scanner-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;padding:16px 16px 12px}.barcode-scanner-header h2{font-size:18px;font-weight:700;margin:0 0 4px}.barcode-scanner-header p{color:#f5f5f7b8;font-size:13px;margin:0}.barcode-scanner-close{align-items:center;background:#ffffff14;border:1px solid #ffffff2e;border-radius:12px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.barcode-scanner-stage{background:#000;border-radius:20px;flex:1 1;margin:0 16px;min-height:0;overflow:hidden;position:relative}.barcode-scanner-video{height:100%;object-fit:cover;width:100%}.barcode-scanner-frame{border:2px solid #ffffffeb;border-radius:16px;box-shadow:0 0 0 9999px #0000006b;height:min(34vw,140px);inset:50% auto auto 50%;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:min(78vw,320px)}.barcode-scanner-error{background:#b41e1eeb;border-radius:12px;font-size:13px;inset:auto 16px 16px;line-height:1.45;padding:12px 14px;position:absolute}.barcode-scanner-error p{margin:0}.barcode-scanner-toolbar{align-items:center;display:flex;flex-direction:column;gap:12px;padding:16px}.barcode-scanner-torch{align-items:center;background:#ffffff14;border:1px solid #fff3;border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:14px;font-weight:600;gap:8px;min-height:44px;padding:0 16px}.barcode-scanner-torch.active{background:#fff3;border-color:#ffffff73}.barcode-scanner-hint{color:#f5f5f7a6;font-size:12px;margin:0;text-align:center}.status-banner{border-radius:12px;border-radius:var(--radius);box-shadow:0 4px 20px #0f172a1a;box-shadow:var(--shadow);font-size:13px;font-weight:500;left:50%;line-height:1.45;max-width:min(560px,calc(100% - 32px));padding:10px 16px;position:absolute;text-align:center;top:76px;top:calc(var(--topbar-h) + 8px);transform:translateX(-50%);z-index:45}.status-banner--info{background:#dbeafe;background:var(--accent-soft);border:1px solid #2563eb33;border:1px solid var(--accent-border);color:#1d4ed8;color:var(--status-info-text)}.status-banner--error,.status-banner--warn{background:#fef2f2;background:var(--danger-soft);border:1px solid #dc2626;border:1px solid var(--danger);color:#dc2626;color:var(--danger)}.app-toast{align-items:center;animation:toastIn .2s cubic-bezier(.4,0,.2,1);animation:toastIn .2s var(--ease);border-radius:12px;border-radius:var(--radius);bottom:calc(24px + env(safe-area-inset-bottom, 0px));box-shadow:0 12px 40px #0f172a24;box-shadow:var(--shadow-lg);display:flex;font-size:14px;font-weight:500;gap:12px;left:50%;max-width:min(420px,calc(100% - 32px));padding:12px 16px;position:fixed;transform:translateX(-50%);z-index:210}.app-toast--info{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);color:#0f172a;color:var(--text)}.app-toast--success{background:#dcfce7;background:var(--success-soft);border:1px solid #16a34a;border:1px solid var(--success);color:#16a34a;color:var(--success)}.app-toast--warn{background:#fef2f2;background:var(--danger-soft);border:1px solid #dc2626;border:1px solid var(--danger);color:#dc2626;color:var(--danger)}.app-toast-close{background:#0000;border:none;color:inherit;cursor:pointer;font-size:18px;line-height:1;opacity:.7;padding:0 2px}.app-toast-close:hover{opacity:1}@keyframes toastIn{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.map-hint-banner{align-items:center;background:#fffffff2;background:var(--glass-bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:12px;border-radius:var(--radius);bottom:24px;box-shadow:0 4px 20px #0f172a1a;box-shadow:var(--shadow);color:#475569;color:var(--text-2);display:flex;font-size:13px;gap:10px;left:50%;max-width:min(420px,calc(100% - 32px));padding:10px 14px;position:absolute;transform:translateX(-50%);z-index:35}.map-hint-banner button{background:#0000;border:none;color:#94a3b8;color:var(--text-3);cursor:pointer;font-size:18px;line-height:1}.find-panel-favorites{margin-top:16px}.find-favorites-title{font-size:13px;font-weight:700;margin-bottom:4px}.find-favorites-sub{color:#94a3b8;color:var(--text-3);font-size:12px;margin-bottom:10px}.find-hint-sub kbd{background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:4px;display:inline-block;font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px;padding:1px 5px}.epc-table-wrap{-webkit-overflow-scrolling:touch;max-height:28vh;overflow-x:auto;overflow-y:auto;padding:0 16px 20px}.find-product-panel .find-panel-results .epc-table-wrap{max-height:none;overflow:visible;padding:4px 16px 16px;padding:4px var(--find-panel-pad,16px) 16px}.epc-table{border-collapse:initial;border-spacing:0;font-size:12px;width:100%}.epc-table th{background:#fff;background:var(--surface);color:#94a3b8;color:var(--text-3);font-size:10px;font-weight:600;letter-spacing:.05em;padding:8px 10px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;z-index:1}.epc-table td,.epc-table th{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border)}.epc-table td{padding:10px;vertical-align:middle}.col-num{font-feature-settings:"tnum";color:#94a3b8;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:600;padding-left:8px!important;padding-right:4px!important;text-align:center;width:36px}.epc-table th.col-num{padding-left:8px;padding-right:4px;text-align:center}.col-epc code{color:#475569;color:var(--text-2);font-family:JetBrains Mono,monospace;font-family:var(--mono);font-size:11px;word-break:break-all}.col-star{text-align:center;width:40px}.epc-row{cursor:pointer;transition:background .12s cubic-bezier(.4,0,.2,1);transition:background .12s var(--ease)}.epc-row:hover{background:#f8fafc;background:var(--surface-2)}.epc-row.selected{background:#fde8e8;background:var(--selected-row-bg);box-shadow:inset 3px 0 0 #dc2626;box-shadow:inset 3px 0 0 var(--danger)}.epc-row.selected .col-epc code{color:#0f172a;color:var(--text);font-weight:600}.epc-row.selected td:first-child{box-shadow:none}.epc-row.selected code{color:#dc2626;color:var(--danger);font-weight:600}.star-btn{background:none;border:none;border-radius:6px;color:#94a3b8;color:var(--text-3);cursor:pointer;font-size:16px;padding:4px;transition:color .15s cubic-bezier(.4,0,.2,1),transform .15s cubic-bezier(.4,0,.2,1);transition:color .15s var(--ease),transform .15s var(--ease)}.star-btn:hover{transform:scale(1.15)}.epc-row.selected .star-btn,.star-btn.active{color:#f59e0b;color:var(--star-active)}.map-loading{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f8fafcbf;background:var(--loading-overlay);color:#475569;color:var(--text-2);display:flex;flex-direction:column;font-size:14px;font-weight:500;gap:16px;inset:0;justify-content:center;position:absolute;z-index:50}.map-loading-ring{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#2563eb;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:44px;width:44px}@keyframes spin{to{transform:rotate(1turn)}}.find-panel-backdrop{border:none;cursor:pointer;display:none;padding:0}@media (max-width:1100px) and (min-width:901px){.brand-sub,.stat-chip.muted{display:none}.top-bar{gap:8px;padding:0 12px}.loc-select-label{display:none}.location-filters{gap:6px}.loc-select-wrap{align-items:stretch;flex-direction:column;gap:2px;min-width:0}.loc-select,.loc-select-floor{font-size:12px;min-width:0;padding:7px 28px 7px 10px;width:min(124px,16vw)}.loc-select-shop{min-width:0;width:min(210px,26vw)}}@media (max-width:900px){.top-bar{grid-gap:8px 10px;align-items:center;display:grid;gap:8px 10px;grid-template-areas:"brand stats" "filters filters";grid-template-columns:minmax(0,1fr) auto;height:auto;min-height:0;min-height:auto;padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px}.top-bar-brand{grid-area:brand;min-width:0}.top-bar-center{grid-area:filters;justify-content:stretch;min-width:0;order:0;width:100%}.location-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:6px;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;scrollbar-width:none;width:100%}.location-filters::-webkit-scrollbar{display:none}.loc-select-wrap{align-items:stretch;flex:0 0 auto;flex-direction:column;gap:2px;min-width:0}.loc-select-label{font-size:9px;letter-spacing:.06em;line-height:1}.loc-select,.loc-select-floor,.loc-select-shop{font-size:12px;max-width:156px;min-width:104px;padding:7px 26px 7px 9px;width:auto}.loc-select-shop{max-width:188px;min-width:128px}.top-bar-stats{flex:initial;flex-wrap:nowrap;gap:5px;grid-area:stats;justify-content:flex-end;min-width:0}.brand-sub,.stat-chip.muted{display:none}.stat-chip{font-size:11px;padding:5px 8px;white-space:nowrap}.live-pill{font-size:11px;padding:5px 9px}}@media (max-width:768px){.auth-page{padding:max(16px,env(safe-area-inset-top,0px)) 16px max(16px,env(safe-area-inset-bottom,0px))}.status-banner{font-size:12px;padding:8px 14px;top:76px;top:calc(var(--topbar-h) + 8px)}.map-float-controls{right:12px}.map-float-controls,.map-legend-float{bottom:calc(16px + env(safe-area-inset-bottom, 0px))}.map-legend-float{flex-wrap:wrap;gap:8px 12px;left:12px;max-width:calc(100% - 80px);right:68px}.map-hint-banner{bottom:auto;font-size:12px;max-width:calc(100% - 24px);top:80px;top:calc(var(--topbar-h) + var(--status-banner-h) + var(--map-chrome-top) + 12px)}.find-panel-backdrop{animation:fadeIn .15s cubic-bezier(.4,0,.2,1);animation:fadeIn .15s var(--ease);background:#0f172a73;background:var(--overlay-bg);display:block;inset:0;position:absolute;z-index:24}.find-product-panel{animation:slideUp .32s cubic-bezier(.4,0,.2,1);animation:slideUp .32s var(--ease);border-bottom:none;border-radius:20px 20px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;bottom:0;left:0;max-height:min(72dvh,calc(100dvh - 76px));max-height:min(72dvh,calc(100dvh - var(--topbar-h) - 8px));padding-bottom:env(safe-area-inset-bottom,0);right:0;top:auto;width:100%}.find-panel-top{max-height:48%}.find-panel-results{-webkit-overflow-scrolling:touch}.find-mode-btn,.find-panel-clear,.find-panel-close,.find-panel-scan-btn{min-height:44px;min-width:44px}.find-panel-summary{grid-template-columns:1fr}.map-find-actions{gap:8px;left:10px;right:auto}.open-find-panel-btn{flex:0 0 auto;height:44px;min-width:44px;padding:0;width:44px}.open-find-panel-label{display:none}.open-scan-fab{display:flex;flex:0 0 auto;height:44px;max-width:none;min-width:44px;padding:0;width:44px}.open-scan-fab-label{display:none}.find-panel-scan-cta{display:flex}.find-hint-sub--desktop{display:none}.find-hint-sub--mobile{display:block}.app-toast{animation:toastInMobile .2s cubic-bezier(.4,0,.2,1);animation:toastInMobile .2s var(--ease);bottom:auto;top:80px;top:calc(var(--topbar-h) + var(--status-banner-h) + 12px)}}@keyframes toastInMobile{0%{opacity:0;transform:translateX(-50%) translateY(-8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:600px){.brand-title{font-size:14px}}@media (max-width:480px){.top-bar{gap:6px 8px;padding:calc(8px + env(safe-area-inset-top, 0px)) 10px 8px}.brand-sub,.loc-select-label{display:none}.brand-mark{border-radius:8px;height:32px;width:32px}.location-filters{gap:5px}.loc-select,.loc-select-floor,.loc-select-shop{font-size:11px;max-width:140px;min-width:96px;padding:7px 24px 7px 8px}.loc-select-shop{max-width:164px;min-width:118px}.top-bar-stats .stat-chip:not(.muted){display:none}.live-pill{font-size:10px;gap:4px;padding:4px 8px}.live-dot{height:6px;width:6px}.map-legend-float{bottom:calc(12px + env(safe-area-inset-bottom, 0px));font-size:10px;gap:5px 8px;left:10px;padding:6px 9px;right:58px}.map-legend-float .legend-secondary{display:none}.map-float-controls{bottom:calc(12px + env(safe-area-inset-bottom, 0px));gap:6px;right:10px}.map-ctrl-btn{font-size:16px;height:40px;width:40px}.user-menu-trigger{height:44px;width:44px}.theme-toggle-btn{min-height:44px;min-width:44px}.auth-theme-toggle{right:12px;top:max(12px,env(safe-area-inset-top,0px))}.find-panel-header h2{font-size:16px}.find-sku-line{gap:4px;grid-template-columns:1fr}.confirm-dialog{padding:20px}.confirm-actions{flex-direction:column-reverse}.confirm-btn{text-align:center;width:100%}.app-toast{font-size:13px;max-width:calc(100% - 24px)}}@media (max-width:360px){.brand-title{display:none}.live-pill{padding:4px 6px}.loc-select,.loc-select-floor,.loc-select-shop{max-width:124px;min-width:88px}}@media (max-height:500px) and (orientation:landscape){.top-bar{gap:8px;padding:calc(6px + env(safe-area-inset-top, 0px)) 12px 6px}.top-bar-brand .brand-mark{height:30px;width:30px}.brand-sub,.loc-select-label{display:none}.top-bar-center{flex:1 1;min-width:0;order:0;width:auto}.location-filters{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.location-filters::-webkit-scrollbar{display:none}.loc-select-wrap{flex:0 0 auto;min-width:118px}.loc-select{font-size:12px;padding:7px 26px 7px 10px}.top-bar-stats{flex-wrap:nowrap;gap:4px}.stat-chip.muted{display:none}.find-product-panel{max-height:min(88dvh,calc(100dvh - 72px));max-height:min(88dvh,calc(100dvh - var(--topbar-h) - 4px))}.find-panel-top{max-height:40%}.map-find-actions{top:76px;top:calc(var(--topbar-h) + var(--status-banner-h) + 8px)}.map-hint-banner{font-size:11px;padding:8px 12px;top:76px;top:calc(var(--topbar-h) + var(--status-banner-h) + var(--map-chrome-top) + 8px)}.map-legend-float{left:8px;padding:6px 10px;right:60px}.map-float-controls,.map-legend-float{bottom:calc(10px + env(safe-area-inset-bottom, 0px))}.map-float-controls{right:8px}}.confirm-overlay{align-items:center;animation:fadeIn .15s cubic-bezier(.4,0,.2,1);animation:fadeIn .15s var(--ease);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a73;background:var(--overlay-bg);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:200}.confirm-dialog{background:#fff;background:var(--surface);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:16px;border-radius:var(--radius-lg);box-shadow:0 20px 50px #0f172a2e;box-shadow:var(--shadow-xl);padding:24px;width:min(400px,100%)}.confirm-title{font-size:17px;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.confirm-message{color:#475569;color:var(--text-2);font-size:14px;line-height:1.5;margin-bottom:20px}.confirm-actions{display:flex;gap:10px;justify-content:flex-end}.confirm-btn{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;font-family:Inter,system-ui,sans-serif;font-family:var(--font);font-size:13px;font-weight:600;padding:10px 16px;transition:background .15s cubic-bezier(.4,0,.2,1),border-color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),border-color .15s var(--ease)}.confirm-btn.cancel{background:#f8fafc;background:var(--surface-2);color:#475569;color:var(--text-2)}.confirm-btn.cancel:hover{background:#f1f5f9;background:var(--surface-3)}.confirm-btn.confirm{background:#2563eb;background:var(--accent);border-color:#2563eb;border-color:var(--accent);color:#fff;color:var(--on-accent)}.confirm-btn.confirm:hover{background:#1d4ed8;background:var(--accent-hover)}.confirm-btn.confirm.danger{background:#dc2626;background:var(--danger);border-color:#dc2626;border-color:var(--danger)}.confirm-btn.confirm.danger:hover{filter:brightness(1.08)}.confirm-btn.confirm.success{background:#16a34a;background:var(--success);border-color:#16a34a;border-color:var(--success);color:#fff;color:var(--on-accent)}.confirm-btn.confirm.success:hover{filter:brightness(1.08)}.alert-dialog .confirm-actions{justify-content:center}.alert-dialog--success .confirm-title{color:#16a34a;color:var(--success)}.theme-toggle-btn{align-items:center;background:#f8fafc;background:var(--surface-2);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#475569;color:var(--text-2);cursor:pointer;display:inline-flex;height:34px;justify-content:center;transition:background .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1);transition:background .15s var(--ease),color .15s var(--ease);width:34px}.theme-toggle-btn:hover{background:#f1f5f9;background:var(--surface-3);color:#2563eb;color:var(--accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}
/*# sourceMappingURL=main.7df1051b.css.map*/