:root{--background: hsl(0 0% 100%);--foreground: hsl(215 25% 18%);--card: hsl(0 0% 100%);--card-foreground: #333333;--popover: hsl(0 0% 100%);--popover-foreground: #333333;--primary: hsl(215 45% 32%);--primary-foreground: #ffffff;--secondary: hsl(215 15% 93%);--secondary-foreground: #4b5563;--muted: hsl(215 15% 93%);--muted-foreground: #6b7280;--accent: hsl(215 25% 85%);--accent-hover: hsl(215 25% 80%);--accent-foreground: #1e3a8a;--destructive: hsl(0 84.2% 60.2%);--destructive-foreground: #ffffff;--success: hsl(142 76% 36%);--error: hsl(0 84.2% 60.2%);--border: hsl(215 18% 88%);--input: hsl(215 18% 88%);--ring: hsl(215 45% 32%);--radius: .5rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .625rem;--radius-xl: .75rem;--radius-full: 9999px;--chart-1: hsl(215 45% 32%);--chart-2: hsl(220 38% 45%);--chart-3: hsl(210 32% 58%);--chart-4: hsl(205 25% 68%);--chart-5: hsl(218 52% 22%);--sidebar: hsl(215 12% 97%);--sidebar-foreground: #333333;--sidebar-primary: #3b82f6;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #e0f2fe;--sidebar-accent-foreground: #1e3a8a;--sidebar-border: #e5e7eb;--sidebar-ring: #3b82f6;--shadow-x: 0px;--shadow-y: 1px;--shadow-blur: 2px;--shadow-spread: 0px;--shadow-opacity: .05;--shadow-color: #000000}.dark{--background: #171717;--foreground: #e5e5e5;--card: #262626;--card-foreground: #e5e5e5;--popover: #262626;--popover-foreground: #e5e5e5;--primary: #3b82f6;--primary-foreground: #ffffff;--secondary: #262626;--secondary-foreground: #e5e5e5;--muted: #262626;--muted-foreground: #a3a3a3;--accent: #1e3a8a;--accent-hover: #2563eb;--accent-foreground: #bfdbfe;--destructive: #ef4444;--destructive-foreground: #ffffff;--success: #22c55e;--error: #ef4444;--border: #404040;--input: #404040;--ring: #3b82f6;--chart-1: #60a5fa;--chart-2: #3b82f6;--chart-3: #2563eb;--chart-4: #1d4ed8;--chart-5: #1e40af;--sidebar: #171717;--sidebar-foreground: #e5e5e5;--sidebar-primary: #3b82f6;--sidebar-primary-foreground: #ffffff;--sidebar-accent: #1e3a8a;--sidebar-accent-foreground: #bfdbfe;--sidebar-border: #404040;--sidebar-ring: #3b82f6}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--foreground);line-height:1.5;min-height:100vh}.app{max-width:900px;margin:0 auto;padding:2rem;min-height:100vh}.app.loading,.app.error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.error-logo{width:160px;height:auto;margin-bottom:1rem}.header-logo{width:100px;height:auto;vertical-align:middle}.app-layout{min-height:100vh}html.local-dev body:before{content:"";position:fixed;inset:0;pointer-events:none;border:10px solid rgba(0,109,242,.45);z-index:9999}.app-layout.with-sidebar{display:flex}.app-layout .app-main{flex:1;min-width:0;padding:2rem;max-width:900px;margin-left:auto;margin-right:auto}.app-layout.with-sidebar .app-main{display:flex;flex-direction:column;max-width:none;min-width:0;overflow-x:hidden;overflow-y:auto}.app-layout.with-sidebar .app-main>*{max-width:900px;width:100%;margin-left:auto;margin-right:auto}.app-layout.with-sidebar .app-main>.funnel-embedded,.app-layout.with-sidebar .app-main>.funnel-page,.app-layout.with-sidebar .app-main>.admin-dashboard{max-width:1800px}.app-layout.with-sidebar .app-main>.full-width-page{width:100%;max-width:none;flex:1;min-width:0}.app-layout.with-sidebar .app-main>.admin-panel-page{flex:0 1 auto;min-height:min-content}.app-layout.with-sidebar .app-main>.admin-panel-page .admin-content{overflow:visible}.app-layout.with-sidebar .app-main>.org-multi-wrapper{max-width:100%;width:100%;padding:0;margin:0;flex:1;min-width:0}.app-layout.with-sidebar .app-main:has(>.org-multi-wrapper){padding:.5rem .75rem}.app-layout.org-user{display:flex;min-height:100vh}.app-layout.org-user .app-main{flex:1;min-width:0;max-width:none;padding:0;margin:0;display:flex;flex-direction:column;min-height:0}.app-layout.org-user .app-main>.org-multi-wrapper{flex:1;min-width:0;min-height:0;max-width:100%;width:100%;padding:0;margin:0;display:flex;overflow:hidden}.app-layout.org-user .org-multi-wrapper .org-multi-view{flex:1;min-width:0;min-height:0}.sidebar{width:260px;height:100vh;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;flex-shrink:0;overflow:hidden}.sidebar-collapse-btn{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;font-size:.7rem;width:26px;height:26px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.sidebar-collapse-btn:hover{background:var(--accent);color:var(--accent-foreground)}.sidebar-collapse-btn svg{flex-shrink:0;width:14px;height:14px;min-width:14px;min-height:14px}.sidebar.collapsed{width:52px}.sidebar.collapsed .sidebar-section{padding:.5rem .25rem}.sidebar.collapsed .sidebar-btn{justify-content:center;padding:.55rem}.sidebar.collapsed .sidebar-btn span:not(.sidebar-icon){display:none}.sidebar.collapsed .sidebar-icon{margin-right:0}.sidebar.collapsed .sidebar-footer{padding:.5rem .25rem}.sidebar-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:center;gap:.5rem}.sidebar.collapsed .sidebar-header{padding:.75rem .5rem}.sidebar-header h1{font-size:1.5rem;font-weight:800;color:var(--foreground);margin:0;letter-spacing:-.02em}.sidebar-logo{width:120px;height:auto}.sidebar-section{padding:1rem .75rem;border-bottom:1px solid var(--border)}.sidebar-section:last-of-type{border-bottom:none}.stores-section{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.sidebar-section-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem;margin-bottom:.75rem}.sidebar-section-header span{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted-foreground)}.sidebar-add-btn{height:22px;padding:0 6px;border-radius:6px;background:var(--secondary);border:1px solid var(--border);color:var(--muted-foreground);font-size:.7rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;white-space:nowrap}.sidebar-search{position:relative;margin-bottom:.5rem;padding:0 .25rem}.sidebar-search input{width:100%;padding:.5rem 2rem .5rem .75rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);font-size:.85rem}.sidebar-search input:focus{outline:none;border-color:var(--accent)}.sidebar-search input::placeholder{color:var(--muted-foreground)}.sidebar-search .clear-search{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--muted-foreground);font-size:1rem;cursor:pointer;padding:.25rem;line-height:1}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow-y:auto;min-height:0;padding:0 .25rem}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--foreground);font-size:.9rem;text-align:left;cursor:pointer;transition:all .15s ease;width:100%}.sidebar-nav-item:hover{background:var(--secondary)}.sidebar-nav-item.active{background:var(--accent);color:var(--accent-foreground)}.sidebar-nav-item .store-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid var(--border)}.sidebar-nav-item.active .store-dot{border-color:#ffffff4d}.sidebar-nav-item .store-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-nav .no-results{padding:1rem;color:var(--muted-foreground);font-size:.85rem;text-align:center}.sidebar-btn{display:flex;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--foreground);font-size:.9rem;text-align:left;cursor:pointer;transition:all .15s ease}.sidebar-btn:hover{background:var(--secondary)}.sidebar-btn.active{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.sidebar-icon{display:inline-flex;align-items:center;flex-shrink:0}.sidebar-footer{padding:1rem .75rem;border-top:1px solid var(--border);margin-top:auto}.sidebar-footer .logout-btn{color:var(--muted-foreground)}.sidebar-footer .logout-btn:hover{color:var(--foreground)}.admin-page-header{margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.admin-page-header h2{font-size:1.75rem;font-weight:700;color:var(--foreground);margin:0 0 .25rem;letter-spacing:-.02em}.admin-page-header .store-id{font-size:.85rem;color:var(--muted-foreground);font-family:Geist Mono,monospace;margin:0}.admin-dashboard{padding:1.5rem;max-width:1800px}.admin-dashboard-header{margin-bottom:1.5rem}.admin-dashboard-header h1{font-size:1.75rem;font-weight:700;margin:0 0 .25rem}.admin-dashboard-sub{font-size:.9rem;color:var(--muted-foreground);margin:0}.admin-dashboard-loading,.admin-dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem;color:var(--muted-foreground)}.admin-dashboard-section{margin-bottom:2rem;padding:1.25rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.admin-dashboard-section h2{font-size:1.1rem;font-weight:600;margin:0 0 1rem}.admin-dashboard-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;min-width:0}.admin-dashboard-kpi{padding:1rem;background:var(--secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.admin-dashboard-kpi.highlight{border-color:var(--accent);background:hsl(var(--accent-hsl) / .08)}.admin-dashboard-kpi-value{display:block;font-size:1.5rem;font-weight:700;color:var(--foreground)}.admin-dashboard-kpi-label{font-size:.8rem;color:var(--muted-foreground)}.admin-dashboard-kpi-sub{font-size:.75rem;color:var(--muted-foreground);margin-top:.25rem}.admin-dashboard-analytics{margin-top:.5rem}.fna-embedded .fna-body{padding:0}@media(max-width:1024px){.app-layout.with-sidebar .app-main{padding:1.5rem}.app-layout.with-sidebar .app-main>*{max-width:100%}}@media(max-width:768px){.sidebar{width:200px}.app-layout .app-main{padding:1rem}}@media(max-width:767px){.mobile-header{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;min-height:48px;margin:-.75rem -1rem 1rem;background:var(--card);border-bottom:1px solid var(--border);flex-shrink:0}.mobile-header-menu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer}.mobile-header-menu-btn:hover{background:var(--secondary)}.mobile-header-title{font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:999}.sidebar{position:fixed;left:0;top:0;height:100vh;z-index:1000;transform:translate(-100%);transition:transform .2s ease}.sidebar.mobile-open{transform:translate(0)}.main-sidebar-resize-handle{display:none}.app-layout.with-sidebar .app-main,.admin-dashboard{padding:.75rem 1rem}.admin-dashboard-section{padding:.75rem 1rem;margin-bottom:1rem}.admin-dashboard-kpi{padding:.75rem}}@media(min-width:768px){.mobile-header{display:none}}header{margin-bottom:2rem}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:1rem}header h1{font-size:2rem;font-weight:700;margin-bottom:0;letter-spacing:-.02em}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto}.admin-btn{background:#2d4b761a;border:1px solid hsl(215 45% 32% / .3);color:var(--accent);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all .2s ease;font-weight:500}.admin-btn:hover{background:#2d4b7633;border-color:var(--accent)}.logout-btn{background:var(--secondary);border:1px solid var(--border);color:var(--muted-foreground);padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:var(--muted);color:var(--foreground);border-color:var(--primary)}.company-selector{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.no-results{color:var(--muted-foreground);font-size:.875rem;padding:.5rem}.search-box{display:flex;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 .75rem;gap:.5rem;transition:border-color .2s ease}.search-box:focus-within{border-color:var(--accent)}.search-box .search-icon{font-size:.875rem;opacity:.5}.search-box input{background:transparent;border:none;color:var(--foreground);font-size:.875rem;padding:.5rem 0;outline:none;width:150px}.search-box input::placeholder{color:var(--muted-foreground)}.search-box .clear-search{background:transparent;border:none;color:var(--muted-foreground);font-size:1.25rem;padding:0;cursor:pointer;line-height:1;opacity:.7}.search-box .clear-search:hover{opacity:1;color:var(--foreground)}.company-search input{width:180px}.member-search{flex-shrink:0}.member-search input{width:160px}.company-btn{padding:.5rem 1rem;border:2px solid var(--border);border-radius:var(--radius-sm);background:var(--card);color:var(--muted-foreground);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.company-btn:hover{border-color:var(--muted-foreground);color:var(--foreground)}.company-btn.active{background:var(--bg);color:var(--fg);border-color:var(--bg)}.company-card{position:relative;border-radius:var(--radius);margin-bottom:1.5rem;overflow:hidden}.company-card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.3;pointer-events:none}.company-card-content{position:relative;display:flex;gap:1.5rem;padding:1.5rem}.company-card-info{flex:1;min-width:0}.company-card h2{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.company-card .reward-info{opacity:.8;font-size:.95rem}.company-card .location{margin-top:.5rem;font-size:.85rem;opacity:.7}.company-card-map{flex-shrink:0;width:200px;height:120px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 2px 8px #0000004d}.company-card-map iframe{width:100%;height:100%}.card-actions{display:flex;gap:.5rem}.preview-btn{background:#ffffff1a;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;opacity:.7;transition:opacity .2s}.preview-btn:hover{opacity:1;background:#fff3}@media(max-width:600px){.company-card-content{flex-direction:column}.company-card-map{width:100%;height:150px}}.actions{display:flex;gap:.75rem;margin-bottom:1.5rem}.scan-btn{background:var(--accent);color:var(--accent-foreground);font-weight:600;padding:.75rem 1.5rem;font-size:1rem}.scan-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2d4b764d}button{padding:.625rem 1.25rem;border:none;border-radius:var(--radius-lg);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s ease;background:var(--secondary);color:var(--foreground)}button:hover{background:var(--muted)}button.primary{background:var(--primary);color:var(--primary-foreground)}button.primary:hover{background:#303d50}.modal-overlay{position:fixed;inset:0;background:#222c39bf;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:100}.modal{background:var(--card);border-radius:var(--radius-lg);padding:1.5rem;width:100%;max-width:400px;border:1px solid var(--border);box-shadow:0 25px 50px #222c3940}.modal.analytics-modal{max-width:1100px;width:95vw;max-height:90vh;display:flex;flex-direction:column}.modal.analytics-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.modal.analytics-modal .modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.modal.analytics-modal .modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--muted-foreground);cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s}.modal.analytics-modal .modal-close:hover{color:var(--foreground)}.modal.analytics-modal .modal-content{flex:1;overflow-y:auto;overflow-x:hidden;margin:0 -1.5rem;padding:0 1.5rem}.modal.analytics-modal .modal-content::-webkit-scrollbar{width:6px}.modal.analytics-modal .modal-content::-webkit-scrollbar-track{background:var(--secondary);border-radius:3px}.modal.analytics-modal .modal-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal h3{margin-bottom:1rem;font-size:1.25rem}.modal input{width:100%;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:1rem}.modal input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.modal input::placeholder{color:var(--muted-foreground)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.users-list{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 380px)}.reward-banner-queue{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;flex-shrink:0}.reward-banner-item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;background:linear-gradient(135deg,#e7b00833,#f59f0a40);border:1px solid hsl(45 93% 47% / .4);border-radius:10px;font-size:.9rem;animation:rewardBannerSlide .3s ease}@keyframes rewardBannerSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.reward-banner-icon{flex-shrink:0;font-size:1.1rem}.reward-banner-text{flex:1;min-width:0}.reward-banner-text strong{font-weight:600}.reward-banner-dismiss{flex-shrink:0;width:1.5rem;height:1.5rem;padding:0;border:none;background:transparent;color:var(--muted-foreground);font-size:1.25rem;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.reward-banner-dismiss:hover{color:var(--foreground);background:#ffffff1a}.users-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.75rem;flex-shrink:0}.users-list-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:.5rem;display:flex;flex-direction:column;gap:.75rem}.users-list-scroll::-webkit-scrollbar{width:6px}.users-list-scroll::-webkit-scrollbar-track{background:var(--secondary);border-radius:3px}.users-list-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.users-list-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted-foreground)}.users-list h3{font-size:1rem;font-weight:600;color:var(--muted-foreground);margin-bottom:0}.users-list .empty{color:var(--muted-foreground);text-align:center;padding:2rem;background:var(--card);border-radius:var(--radius-lg)}.members-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;color:var(--muted-foreground);gap:.75rem}.members-loading .spinner{width:24px;height:24px}.user-card{display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;background:var(--card);border-radius:var(--radius-lg);margin-bottom:.5rem;border:1px solid var(--border);box-shadow:0 1px 3px #222c3914}.user-row-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.user-name{font-size:.95rem;font-weight:600;margin:0;display:flex;align-items:center;white-space:nowrap;gap:.4rem}.pass-type-badge{font-size:.7rem;padding:.1rem .4rem;border-radius:4px;font-weight:600;letter-spacing:.02em;flex-shrink:0}.pass-type-badge.apple{background:#000;color:#fff}.pass-type-badge.google{background:#fff;color:#000;border:1px solid #dadce0}.user-id{font-size:.7rem;color:var(--muted-foreground);font-family:SF Mono,Monaco,monospace;white-space:nowrap}.user-sep{color:var(--muted-foreground);opacity:.4}.user-timestamps{font-size:.7rem;color:var(--muted-foreground);opacity:.8;white-space:nowrap}.punch-display{display:flex;align-items:center;gap:.375rem;margin-left:auto}.punches{display:flex;gap:.125rem;align-items:center}.punch-dot{font-size:.875rem;opacity:.2;filter:grayscale(1);transition:all .2s ease}.punch-dot.filled{opacity:1;filter:grayscale(0)}.punch-count{font-size:.75rem;color:var(--muted-foreground)}.punch-count .rewards{color:var(--success)}.punch-count .rewards.pending{color:var(--success);font-weight:600}.punch-count .rewards-total{color:var(--muted-foreground);font-size:.7rem}.rewards-pending-note{display:block;font-size:.75rem;color:var(--success);margin-top:.25rem}.user-actions,.user-row-bottom{display:flex;gap:.5rem;justify-content:flex-end;align-items:center}.redeem-btn{background:var(--success);color:#fff;padding:.375rem .625rem;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap;transition:filter .15s}.redeem-btn:hover{filter:brightness(1.1)}.punch-btn{background:var(--accent);color:var(--accent-foreground);padding:.375rem .75rem;font-size:.8rem;white-space:nowrap}.punch-btn:hover{background:var(--accent-hover)}.download-btn{display:inline-flex;align-items:center;padding:.375rem .625rem;background:var(--secondary);color:var(--foreground);text-decoration:none;border-radius:var(--radius-sm);font-size:.8rem;font-weight:500;transition:all .15s ease}.download-btn:hover{background:var(--muted)}.apple-pass-btn{background:#000!important;color:#fff!important;font-size:.8rem!important;padding:.4rem .7rem!important;border-radius:6px!important;gap:.3rem}.apple-pass-btn:hover{background:#222!important}.google-pass-btn{background:#fff!important;color:#000!important;font-size:.8rem!important;padding:.4rem .7rem!important;border:1px solid #dadce0!important;border-radius:6px!important;cursor:pointer;gap:.3rem}.google-pass-btn:hover{background:#f1f3f4!important}.heatmap-btn,.edit-user-btn{background:var(--secondary);border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;transition:all .15s ease;opacity:.7}.heatmap-btn:hover,.edit-user-btn:hover{background:var(--border);opacity:1}.profile-link-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--secondary);border:none;padding:.5rem;border-radius:var(--radius-sm);color:var(--muted-foreground);cursor:pointer;font-size:.875rem;text-decoration:none;transition:all .15s ease;opacity:.7}.profile-link-btn:hover{background:var(--border);color:var(--text);opacity:1}.user-editor{max-width:450px}.user-editor input.disabled{opacity:.5;cursor:not-allowed;background:var(--background)}.punch-adjuster{display:flex;align-items:center;gap:.5rem;background:var(--secondary);border-radius:var(--radius-sm);padding:.25rem}.punch-adjuster button{width:32px;height:32px;padding:0;font-size:1.25rem;font-weight:600;display:flex;align-items:center;justify-content:center}.punch-adjuster button:disabled{opacity:.3;cursor:not-allowed}.punch-adjuster .punch-value{flex:1;text-align:center;font-weight:600;font-size:1rem}.user-stats{display:flex;gap:2rem;padding:1rem;background:var(--secondary);border-radius:var(--radius-sm);margin:1rem 0}.user-stats .stat{display:flex;flex-direction:column;gap:.25rem}.user-stats .stat-label{font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.user-stats .stat-value{font-size:.875rem;color:var(--muted-foreground)}.modal-actions .spacer{flex:1}.modal-actions .confirm-text{color:var(--destructive);font-weight:500;margin-right:auto}button.danger{background:var(--destructive);color:#fff}button.danger:hover{background:#dc2626}button.danger-outline{background:transparent;border:1px solid var(--destructive);color:var(--destructive)}button.danger-outline:hover{background:#ef44441a}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);padding:.875rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);font-weight:500;z-index:200;animation:slideUp .3s ease;box-shadow:0 10px 25px #222c3926}.toast.success{border-color:var(--accent);background:#2d4b761a}.toast.error{border-color:var(--destructive);background:#ef44441a}@keyframes slideUp{0%{opacity:0;transform:translate(-50%) translateY(1rem)}to{opacity:1;transform:translate(-50%) translateY(0)}}.activity-toaster{position:fixed;bottom:1.5rem;right:1.5rem;z-index:199;display:flex;flex-direction:column-reverse;gap:.5rem;pointer-events:none}.activity-toaster>*{pointer-events:auto}.activity-toast{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;min-width:280px;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 40px #222c3933;animation:activityToastIn .35s cubic-bezier(.34,1.56,.64,1)}.activity-toast-punch{border-left:3px solid var(--accent)}.activity-toast-signup{border-left:3px solid hsl(142 76% 36%)}.activity-toast-icon{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px}.activity-toast-store-icon{font-size:1.25rem;line-height:1}.activity-toast-body{flex:1;min-width:0}.activity-toast-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);margin-bottom:.15rem}.activity-toast-detail{font-size:.9rem;color:var(--foreground)}.activity-toast-detail strong{font-weight:600}.activity-toast-store{font-weight:400;color:var(--muted-foreground)}.activity-toast-time{font-size:.75rem;color:var(--muted-foreground);margin-top:.2rem}.activity-toast-dismiss{flex-shrink:0;background:none;border:none;color:var(--muted-foreground);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.activity-toast-dismiss:hover{color:var(--foreground);background:var(--muted)}@keyframes activityToastIn{0%{opacity:0;transform:translate(1.5rem)}to{opacity:1;transform:translate(0)}}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.error-box{text-align:center;padding:2rem;background:var(--card);border-radius:var(--radius-lg);border:1px solid var(--destructive)}.error-box .hint{color:var(--muted-foreground);font-size:.875rem;margin:1rem 0}.error-box code{background:var(--secondary);padding:.25rem .5rem;border-radius:4px;font-family:Geist Mono,SF Mono,Monaco,monospace;font-size:.875rem}@media(max-width:640px){.app{padding:1rem}.user-row-top{flex-direction:column;align-items:flex-start}.punch-display{margin-left:0}.user-row-bottom{flex-wrap:wrap;justify-content:flex-start}}.company-editor{max-width:950px;width:95vw;max-height:95vh;overflow-y:auto}.company-editor-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:1px solid var(--border);flex-shrink:0}.company-editor-header h3{margin:0;flex:1;min-width:0}.company-editor-close{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;color:var(--muted-foreground);cursor:pointer;border-radius:var(--radius);-webkit-tap-highlight-color:transparent}.company-editor-close:hover{background:var(--secondary);color:var(--foreground)}.company-editor .editor-tabs{margin-top:.5rem;margin-bottom:1rem}.company-editor .editor-tab-content{min-height:320px}.editor-columns{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.editor-column-single{display:block}.editor-column-single .editor-column{max-width:100%}.editor-column{display:flex;flex-direction:column;gap:1rem}.editor-section{background:var(--secondary);border-radius:var(--radius);padding:1rem;border:1px solid var(--border)}.section-title{font-size:.75rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.collapsible-section{padding:0}.collapsible-section .section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem;border:none;background:transparent;cursor:pointer;font:inherit;text-align:left;color:inherit}.collapsible-section .section-toggle:hover{background:#00000008}.collapsible-section .section-toggle .section-title{margin:0;font-size:.75rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.collapsible-section .section-chevron{font-size:.6rem;color:var(--muted-foreground);opacity:.7}.collapsible-section .section-content{padding:.75rem 1rem 1rem;border-top:1px solid var(--border)}.suggest-colors-row{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.suggest-colors-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.85rem;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .2s}.suggest-colors-btn:hover:not(:disabled){opacity:.9}.suggest-colors-btn:disabled{opacity:.8;cursor:not-allowed}.suggest-colors-btn .spinner-sm{flex-shrink:0;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@media(max-width:700px){.editor-columns{grid-template-columns:1fr}}@media(max-width:600px){.modal-overlay:has(.company-editor){align-items:stretch;padding:0;padding-bottom:env(safe-area-inset-bottom,0);overflow:hidden}.modal.company-editor{width:100%;max-width:none;max-height:100vh;max-height:100dvh;border-radius:0;border-left:none;border-right:none;display:flex;flex-direction:column;overflow:hidden;padding:0;padding-bottom:env(safe-area-inset-bottom,0)}.company-editor-header{padding:1rem;padding-top:max(1rem,env(safe-area-inset-top))}.company-editor-header h3{font-size:1.125rem}.company-editor-close{touch-action:manipulation}.company-editor form{display:flex;flex-direction:column;flex:1;min-height:0}.company-editor .editor-tabs{display:flex;gap:.25rem;padding:0 1rem 1rem;margin:0;flex-shrink:0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.company-editor .editor-tabs::-webkit-scrollbar{display:none}.company-editor .editor-tabs button{flex-shrink:0;min-height:44px;padding:.5rem .75rem;font-size:.9rem;touch-action:manipulation}.company-editor .editor-tab-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0 1rem 1rem}.company-editor .editor-columns{gap:1rem}.company-editor .modal-actions{flex-shrink:0;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));margin:0;gap:.75rem;background:var(--card);border-top:1px solid var(--border)}.company-editor .modal-actions button{min-height:44px;padding:.6rem 1rem;font-size:1rem;touch-action:manipulation}.company-editor .error-message{margin:0 1rem 1rem}.company-editor input,.company-editor select,.company-editor textarea{font-size:16px;min-height:44px;padding:.75rem 1rem}.company-editor textarea{min-height:88px}.company-editor .section-toggle{min-height:48px;padding:.75rem 1rem}.company-editor .suggest-colors-btn{min-height:44px;padding:.6rem 1rem;font-size:.95rem}.company-editor .color-picker-group input[type=color]{min-width:44px;min-height:44px}.company-editor .pass-images-grid{grid-template-columns:1fr}.company-editor .upload-dropzone{min-height:80px}.company-editor .upload-dropzone.strip{min-height:72px}.company-editor .confirm-delete{flex-wrap:wrap;gap:.5rem}.company-editor .confirm-delete .confirm-text{flex-basis:100%;margin-bottom:.5rem}.company-editor .emoji-suggestions .emoji-btn{min-width:44px;min-height:44px;width:44px;height:44px;font-size:1.1rem}.company-editor .qr-style-selector .style-btn{min-width:44px;min-height:44px;width:44px;height:44px;font-size:1.25rem}.company-editor .toggle-label{min-height:44px;padding:.5rem 0;display:flex;align-items:center;gap:.5rem}.company-editor .toggle-label input[type=checkbox]{min-width:24px;min-height:24px;width:24px;height:24px}.company-editor .business-type-selector .type-btn{min-height:44px;padding:.75rem 1rem}.company-editor .deal-emoji-picker .deal-emoji-opt,.company-editor .deal-emoji-picker button{min-width:44px;min-height:44px;font-size:1.2rem}.company-editor .tier-add-btn,.company-editor .tier-remove-btn{min-height:44px;min-width:44px;padding:.5rem}.company-editor .tier-row .tier-remove-btn{min-width:44px;min-height:44px}}.business-type-selector{display:flex;gap:.5rem}.business-type-selector .type-btn{flex:1;padding:.5rem .75rem;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground);font-size:.85rem;cursor:pointer;transition:all .2s ease}.business-type-selector .type-btn:hover{border-color:var(--primary)}.business-type-selector .type-btn.selected{border-color:var(--accent);background:#2d4b761a;color:var(--foreground)}.business-type-input{display:flex;gap:.35rem}.business-type-input .emoji-input{width:40px;text-align:center;font-size:1rem;padding:.35rem}.business-type-input .label-input{flex:1;padding:.35rem .5rem;font-size:.85rem}.company-id-prefixed{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);overflow:hidden}.company-id-prefixed .company-id-prefix{padding:.5rem .75rem;background:var(--muted);color:var(--muted-foreground);font-family:monospace;font-size:.9rem;flex-shrink:0}.company-id-prefixed input{flex:1;min-width:0;border:none;padding:.5rem .75rem;font-family:monospace;font-size:.9rem}.company-id-prefixed input:focus{outline:none}.emoji-suggestions{display:flex;flex-wrap:wrap;gap:2px;margin-top:.35rem}.emoji-suggestions .emoji-btn{width:24px;height:24px;padding:0;background:var(--card);border:1px solid var(--border);border-radius:4px;font-size:.8rem;cursor:pointer;transition:all .1s ease;line-height:1}.emoji-suggestions .emoji-btn:hover{border-color:var(--accent);background:#2d4b761a}.emoji-suggestions .emoji-btn.selected{border-color:var(--accent);background:#2d4b7626;box-shadow:0 0 0 2px #2d4b764d}.business-type-readonly{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground)}.business-type-readonly .business-icon{font-size:1.25rem}.business-type-readonly .business-label{font-size:.9rem;text-transform:capitalize}.billing-section{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.billing-section .section-header-row h4{margin:0}.billing-section .toggle-btn{background:transparent;border:none;color:var(--muted-foreground);font-size:.75rem;cursor:pointer;padding:.25rem}.billing-fields{margin-top:1rem;display:flex;flex-direction:column;gap:.75rem}.billing-fields .form-row{display:flex;gap:.75rem}.billing-fields .form-row .form-group{flex:1}.billing-fields .form-group label{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground);margin-bottom:.25rem}.billing-fields .form-group input,.billing-fields .form-group textarea{width:100%;padding:.5rem .75rem;font-size:.85rem;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.billing-fields .form-group input:focus,.billing-fields .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.billing-fields .form-group textarea{resize:vertical;min-height:60px}.pass-images-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem;margin-bottom:1rem}.pass-image-upload label{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground);margin-bottom:.5rem}.upload-dropzone{position:relative;border:2px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;overflow:hidden;height:80px;display:flex;align-items:center;justify-content:center}.upload-dropzone.strip{height:60px}.strip-upload-actions{display:flex;gap:.5rem;margin-top:.25rem}.strip-crop-btn{font-size:.75rem;padding:.2rem .5rem}.upload-dropzone:hover{border-color:var(--accent);background:#2d4b760d}.upload-dropzone.has-image{border-style:solid;background:var(--secondary)}.upload-dropzone img{max-width:100%;max-height:100%;object-fit:contain}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--muted-foreground);font-size:.75rem}.upload-placeholder .upload-icon{font-size:1.5rem}.upload-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center}.pass-image-upload .hint{display:block;font-size:.65rem;color:var(--muted-foreground);margin-top:.25rem}.banner-crop-overlay{position:fixed;inset:0;z-index:1000;background:#000000bf;display:flex;align-items:center;justify-content:center;padding:1rem;overscroll-behavior:contain}.banner-crop-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--muted-foreground)}.banner-crop-modal{background:var(--background);border-radius:var(--radius);max-width:min(95vw,560px);width:100%;max-height:95vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0006}.banner-crop-header{padding:1rem 1.25rem;border-bottom:1px solid var(--border);position:relative}.banner-crop-header h4{margin:0;font-size:1rem}.banner-crop-hint{margin:.25rem 0 0;font-size:.8rem;color:var(--muted-foreground)}.banner-crop-close{position:absolute;top:1rem;right:1rem;width:2rem;height:2rem;padding:0;border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted-foreground);border-radius:var(--radius);display:flex;align-items:center;justify-content:center}.banner-crop-close:hover{background:var(--secondary);color:var(--foreground)}.banner-crop-body{padding:1rem;overflow:auto;flex:1;min-height:0}.banner-crop-container{position:relative;width:100%;max-height:min(55vh,360px);overflow:hidden;border-radius:var(--radius);background:#111}.banner-crop-image{display:block;width:100%;height:100%;object-fit:contain;object-position:center;user-select:none;-webkit-user-select:none}.banner-crop-frame{position:absolute;cursor:move;border:2px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px #ffffff4d,0 0 0 9999px #0000008c;touch-action:none}.banner-crop-handle{position:absolute;width:28px;height:28px;background:#fffffff2;border:2px solid var(--accent);border-radius:6px;cursor:nwse-resize;touch-action:none;box-shadow:0 1px 4px #0000004d}@media(pointer:coarse){.banner-crop-handle{width:44px;height:44px}}.banner-crop-handle.nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nwse-resize}.banner-crop-handle.ne{top:0;right:0;left:auto;transform:translate(50%,-50%);cursor:nesw-resize}.banner-crop-handle.sw{bottom:0;left:0;top:auto;transform:translate(-50%,50%);cursor:nesw-resize}.banner-crop-handle.se{inset:auto 0 0 auto;transform:translate(50%,50%);cursor:nwse-resize}.banner-crop-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:flex-end;padding:1rem 1.25rem;border-top:1px solid var(--border)}.banner-crop-error{flex:1;font-size:.85rem;color:var(--destructive, #dc3545)}.additional-images{border-top:1px solid var(--border);padding-top:.75rem}.image-upload-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.image-upload-row .label{font-size:.75rem;color:var(--muted-foreground)}.image-upload-row button.small{padding:.25rem .5rem;font-size:.75rem}.image-grid.small{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:.5rem}.image-grid.small .image-item img{height:50px}.qr-section{text-align:center}.qr-preview{background:#fff;border-radius:var(--radius);padding:1rem;margin-bottom:.5rem;display:inline-block;position:relative;min-width:180px;min-height:180px}.qr-preview img{max-width:180px;height:auto;transition:opacity .2s ease}.qr-loading-spinner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10}.qr-loading-spinner .spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.qr-hint{font-size:.8rem;color:var(--muted-foreground);margin-bottom:1rem;line-height:1.5}.download-qr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--primary);color:var(--primary-foreground);border:none;cursor:pointer;padding:.5rem 1rem;border-radius:var(--radius-sm);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .2s ease}.download-qr-btn:hover:not(:disabled){background:#303d50;transform:translateY(-1px)}.download-qr-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.qr-config-layout{display:flex;gap:1rem;align-items:flex-start}.qr-options{flex:1;min-width:0}.qr-preview-container{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-style-selector{display:flex;gap:.25rem}.qr-style-selector .style-btn{width:36px;height:36px;padding:0;font-size:1.1rem;background:var(--card);border:2px solid var(--border);border-radius:var(--radius-sm);color:var(--muted-foreground);display:flex;align-items:center;justify-content:center}.qr-style-selector .style-btn:hover{border-color:var(--primary);color:var(--foreground)}.qr-style-selector .style-btn.selected{border-color:var(--accent);background:#2d4b761a;color:var(--accent)}.qr-options input[type=range]{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:3px;outline:none;margin:.5rem 0}.qr-options input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--border);border-radius:3px}.qr-options input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;margin-top:-6px;box-shadow:0 2px 4px #0000004d}.qr-options input[type=range]::-moz-range-track{height:6px;background:var(--border);border-radius:3px}.qr-options input[type=range]::-moz-range-thumb{width:18px;height:18px;background:var(--accent);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 4px #0000004d}.qr-toggles{display:flex;gap:1rem;margin-top:.5rem}.toggle-label{display:flex;align-items:center;gap:.375rem;font-size:.8rem;color:var(--muted-foreground);cursor:pointer}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.toggle-label:hover{color:var(--foreground)}.company-card-header{display:flex;justify-content:space-between;align-items:center}.company-card-header .edit-btn,.company-card-header .preview-btn,.company-card-header .login-as-btn{background:#ffffff1a;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;opacity:.7;transition:opacity .2s}.company-card-header .edit-btn:hover,.company-card-header .preview-btn:hover,.company-card-header .login-as-btn:hover{opacity:1;background:#fff3}.company-card-header .login-as-btn{background:#3b82f633}.company-card-header .login-as-btn:hover{background:#3b82f666}.company-card .set-pin-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.75rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:.5rem}.company-card .set-pin-row .pin-input{width:100px;padding:.5rem .75rem;font-size:1rem;font-family:monospace;text-align:center;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.company-card .set-pin-row .pin-input::placeholder{color:var(--muted-foreground)}.company-card .set-pin-row .pin-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.company-card .set-pin-row .save-btn,.company-card .set-pin-row .edit-btn{padding:.4rem .75rem;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:var(--secondary);color:var(--foreground)}.company-card .set-pin-row .save-btn{background:var(--accent);color:var(--accent-foreground);border-color:transparent}.company-card .set-pin-row .save-btn:hover:not(:disabled),.company-card .set-pin-row .edit-btn:hover{filter:brightness(1.05)}.company-card .set-pin-row .save-btn:disabled{opacity:.5;cursor:not-allowed}.company-btn.add-company{background:transparent;border:2px dashed var(--border);color:var(--muted-foreground)}.company-btn.add-company:hover{border-color:var(--accent);color:var(--accent)}.tabs{display:flex;gap:.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--border);padding-bottom:.5rem}.tabs button{background:transparent;border:none;padding:.5rem 1rem;color:var(--muted-foreground);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer}.tabs button.active{background:var(--secondary);color:var(--foreground)}.tabs button:hover:not(.active){color:var(--foreground)}.tab-content{min-height:250px}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--muted-foreground);margin-bottom:.375rem}.form-group .hint{font-size:.75rem;color:var(--muted-foreground);margin-top:.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group.full-width{grid-column:1 / -1}.opening-hours-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.375rem .75rem}.opening-hours-row{display:flex;align-items:center;gap:.5rem}.opening-hours-day{font-size:.75rem;font-weight:600;color:var(--muted-foreground);width:2.4rem;flex-shrink:0}.opening-hours-row input{flex:1;min-width:0}.label-with-lang{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.label-with-lang label{margin-bottom:0}.lang-selector{display:flex;gap:2px}.lang-btn{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-size:.85rem;cursor:pointer;line-height:1;opacity:.5;transition:all .15s ease}.lang-btn:hover{opacity:.8;border-color:var(--accent)}.lang-btn.selected{opacity:1;border-color:var(--accent);background:var(--accent)}.how-it-works-input{width:100%;padding:.625rem .75rem;background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);font-size:.875rem;font-family:inherit;resize:vertical;min-height:60px}.how-it-works-input:focus{outline:none;border-color:var(--accent)}.how-it-works-input::placeholder{color:var(--muted-foreground)}.error-message{background:#ef44441a;border:1px solid var(--destructive);color:var(--destructive);padding:.75rem;border-radius:var(--radius-sm);margin-bottom:1rem;font-size:.875rem}.color-preview-card{padding:1.25rem;border-radius:var(--radius);margin-bottom:1.5rem;text-align:center}.color-preview-card h4{font-size:1.25rem;margin-bottom:.25rem}.color-preview-card p{font-size:.875rem;margin-bottom:.5rem}.preview-punches{display:flex;justify-content:center;gap:.25rem;margin-top:.75rem}.preview-punches span{font-size:1rem;opacity:.3}.preview-punches span.filled{opacity:1}.color-pickers{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.color-picker-group{text-align:center}.color-picker-group label{display:block;font-size:.75rem;font-weight:500;color:var(--muted-foreground);margin-bottom:.5rem}.color-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:.5rem}.color-input-wrapper input[type=color]{width:50px;height:50px;border:none;border-radius:var(--radius-sm);cursor:pointer;padding:0;background:transparent}.color-input-wrapper input[type=color]::-webkit-color-swatch-wrapper{padding:0}.color-input-wrapper input[type=color]::-webkit-color-swatch{border:2px solid var(--border);border-radius:var(--radius-sm)}.color-input-wrapper input[type=text]{width:80px;padding:.375rem;text-align:center;font-family:SF Mono,Monaco,monospace;font-size:.75rem;text-transform:uppercase}.image-upload{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.image-upload .hint{font-size:.75rem;color:var(--muted-foreground)}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.image-grid .empty{grid-column:1 / -1;text-align:center;color:var(--muted-foreground);padding:2rem}.image-item{position:relative;background:var(--secondary);border-radius:var(--radius-sm);overflow:hidden}.image-item img{width:100%;height:80px;object-fit:contain;background:repeating-conic-gradient(#1a1a1a 0% 25%,#252525 0% 50%) 50% / 10px 10px}.image-item .image-info{display:flex;justify-content:space-between;align-items:center;padding:.375rem .5rem;background:var(--card)}.image-item .image-name{font-size:.625rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-item .delete-btn{background:transparent;border:none;color:var(--destructive);padding:0;font-size:1rem;cursor:pointer;opacity:.7;line-height:1}.image-item .delete-btn:hover{opacity:1}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f6f7f8,#e8eaee);padding:1rem}.login-container{width:100%;max-width:380px;background:var(--card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem 2.5rem;box-shadow:0 25px 50px #222c3926;text-align:center}.login-header{margin-bottom:2.5rem;display:flex;justify-content:center}.login-header h1{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent) 0%,hsl(215 45% 40%) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem;letter-spacing:-.02em}.login-logo{width:180px;height:auto}.login-header .tagline{font-size:.9rem;color:var(--muted-foreground);font-weight:500;letter-spacing:.15em;text-transform:uppercase}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-error{background:#ef44441a;border:1px solid hsl(0 84.2% 60.2% / .3);color:var(--destructive);padding:.75rem 1rem;border-radius:var(--radius);font-size:.875rem}.pin-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pin-instruction{font-size:.95rem;color:var(--muted-foreground)}.pin-input input{width:100%;max-width:200px;padding:1.25rem;font-size:2rem;font-weight:700;letter-spacing:.5em;text-align:center;background:var(--secondary);border:2px solid var(--border);border-radius:var(--radius-lg);color:var(--foreground);outline:none;transition:all .2s ease}.pin-input input:focus{border-color:var(--accent);background:#2d4b760d;box-shadow:0 0 0 3px #2d4b7633}.pin-input input::placeholder{color:var(--muted-foreground);letter-spacing:.3em}.pin-dots{display:flex;gap:.75rem}.pin-dot{width:12px;height:12px;border-radius:50%;background:var(--border);transition:all .2s ease}.pin-dot.filled{background:var(--accent);box-shadow:0 0 10px #2d4b7680}.login-btn{width:100%;padding:1rem;font-size:1rem;font-weight:700;color:var(--primary-foreground);background:var(--primary);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.05em;margin-top:.5rem}.login-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px #222c3933;background:#303d50}.login-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.login-footer{margin-top:2rem;font-size:.8rem;color:var(--muted-foreground)}.signup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;position:relative;overflow:hidden}.signup-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.2;pointer-events:none}.signup-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:#fff}.signup-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.signup-error-container{text-align:center;background:#000c;padding:3rem;border-radius:24px;color:#fff}.signup-error-container h1{font-size:3rem;margin-bottom:1rem}.signup-error-container p{color:#ffffffb3;margin-bottom:2rem}.signup-error-container button{background:#fff;color:#000;padding:.75rem 2rem;border:none;border-radius:12px;font-weight:600;cursor:pointer}.signup-container{position:relative;width:100%;max-width:400px;text-align:center}.signup-header{margin-bottom:2rem}.signup-logo{width:80px;height:80px;object-fit:contain;border-radius:16px;margin-bottom:1rem;box-shadow:0 8px 32px #0003}.signup-header h1{font-size:2rem;font-weight:800;margin-bottom:.5rem}.signup-header p{font-size:1.1rem}.signup-benefits{display:flex;justify-content:center;gap:1.5rem;margin-bottom:2rem;flex-wrap:wrap}.benefit{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.85rem;opacity:.9}.benefit-icon{font-size:1.5rem}.signup-form{background:var(--su-surface, rgba(255, 255, 255, .1));-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:2rem;margin-bottom:1rem}.signup-form-error{background:#ef444433;border:1px solid rgba(239,68,68,.4);color:#fca5a5;padding:.75rem;border-radius:12px;margin-bottom:1rem;font-size:.9rem}.signup-form .form-group{margin-bottom:1rem}.signup-form input{width:100%;padding:1rem 1.25rem;font-size:1rem;background:var(--su-surface, rgba(255, 255, 255, .1));border:2px solid var(--su-border, rgba(255, 255, 255, .2));border-radius:14px;outline:none;transition:all .2s ease}.signup-form input::placeholder{color:var(--su-placeholder, rgba(255, 255, 255, .4))}.signup-form input:focus{border-color:var(--su-border-focus, rgba(255, 255, 255, .5));background:var(--su-surface-hover, rgba(255, 255, 255, .15))}.signup-btn{width:100%;padding:1rem;font-size:1.1rem;font-weight:700;border:none;border-radius:14px;cursor:pointer;transition:all .2s ease;margin-top:.5rem}.signup-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0003}.signup-btn:disabled{opacity:.5;cursor:not-allowed}.signup-footer{font-size:.75rem;opacity:.7}.su-date-group{position:relative;overflow:hidden}.su-date-group input[type=date]{min-width:0;max-width:100%;-webkit-appearance:none;appearance:none}.su-date-placeholder{position:absolute;top:50%;left:1.25rem;transform:translateY(-50%);font-size:1rem;pointer-events:none;z-index:1}.signup-success{text-align:center}.success-icon{font-size:4rem;margin-bottom:1rem}.signup-success h1{font-size:2rem;margin-bottom:.5rem}.signup-success>p{margin-bottom:2rem}.member-card{padding:2rem;border-radius:20px;box-shadow:0 12px 40px #0000004d;margin-bottom:2rem}.member-card .card-logo{width:50px;height:50px;object-fit:contain;margin-bottom:.75rem}.member-card h3{font-size:1.25rem;margin-bottom:.5rem}.punch-preview{display:flex;justify-content:center;gap:.25rem;margin:1rem 0;flex-wrap:wrap}.punch-preview span{font-size:1.25rem;opacity:.3}.punch-preview span.filled{opacity:1}.reward-hint{font-size:.85rem;opacity:.8}.wallet-buttons{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:1.5rem}.add-to-wallet-btn{display:inline-block;transition:all .2s ease;background:none;border:none;padding:0;cursor:pointer}.add-to-wallet-btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.1)}.add-to-wallet-btn:disabled{cursor:wait;opacity:.9}.add-to-wallet-btn .wallet-badge{height:56px;width:auto;display:block}.add-to-wallet-btn .wallet-fallback{display:inline-block;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;background:#000;color:#fff;white-space:nowrap}.add-to-wallet-btn .wallet-fallback-hidden{display:none!important}.wallet-loading{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1rem 2rem;background:#000c;border-radius:12px;color:#fff;min-width:180px}.wallet-loading span{font-size:.9rem;font-weight:500}.wallet-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:wallet-spin .8s linear infinite}@keyframes wallet-spin{to{transform:rotate(360deg)}}.google-wallet-btn .wallet-badge{height:56px;border-radius:8px}.reward-deals-list{margin-top:.5rem;display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;opacity:.9}.reward-deals-list .deal-item{padding-left:.25rem}.signup-layout-default .signup-container{max-width:420px;padding:.5rem}.signup-layout-default .signup-form{background:var(--su-surface, rgba(255, 255, 255, .08));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:2rem 2.25rem;box-shadow:0 4px 24px #00000026,0 0 1px #ffffff0d}.signup-layout-default .signup-benefits{gap:2rem;margin-bottom:2.25rem}.signup-layout-default .benefit{padding:.75rem 1rem;background:#ffffff0d;border-radius:12px;min-width:100px}.signup-layout-default .benefit-icon{font-size:1.75rem;margin-bottom:.25rem}.signup-layout-compact .signup-container{max-width:360px}.signup-layout-compact .signup-header{margin-bottom:1.5rem}.signup-layout-compact .signup-logo{width:56px;height:56px;margin-bottom:.75rem;border-radius:14px}.signup-layout-compact .signup-header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.signup-layout-compact .signup-header p{font-size:.875rem;opacity:.85}.signup-layout-compact .signup-form{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;padding:1.5rem 0;box-shadow:none}.signup-layout-compact .signup-form input{border-radius:12px}.signup-layout-compact .signup-btn{border-radius:12px;font-weight:600;letter-spacing:.02em}.signup-layout-hero{position:relative;width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.signup-hero-strip{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;filter:saturate(1.1) contrast(1.05)}.signup-hero-strip:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0006,#000000b3)}.signup-hero-overlay{position:relative;width:100%;max-width:440px;display:flex;justify-content:center;align-items:center}.signup-hero-card{background:#ffffff14;backdrop-filter:blur(32px) saturate(1.2);-webkit-backdrop-filter:blur(32px) saturate(1.2);border:1px solid rgba(255,255,255,.18);border-radius:28px;padding:2.5rem;width:100%;box-shadow:0 32px 80px #0006,0 0 0 1px #ffffff0d inset}.signup-layout-hero .signup-logo{width:72px;height:72px;border-radius:18px}.signup-layout-hero .signup-header h1{font-size:2rem;font-weight:800;letter-spacing:-.03em}.signup-layout-split{display:grid;grid-template-columns:1.1fr .9fr;gap:0;max-width:920px;width:100%;margin:0 auto;align-items:stretch;min-height:100vh;padding:0}.signup-split-branding{position:relative;display:flex;flex-direction:column;justify-content:center;padding:3rem 3.5rem;min-height:100vh}.signup-split-strip{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.25}.signup-split-branding:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(0,0,0,.4) 100%);pointer-events:none}.signup-split-content{position:relative;text-align:left;padding:0}.signup-layout-split .signup-header{text-align:left;margin-bottom:2rem}.signup-layout-split .signup-logo{width:64px;height:64px;margin-bottom:1rem}.signup-layout-split .signup-benefits{justify-content:flex-start;gap:1.25rem;flex-direction:column;text-align:left}.signup-layout-split .benefit{flex-direction:row;align-items:center;gap:1rem}.signup-split-form{display:flex;flex-direction:column;justify-content:center;padding:3rem 3.5rem;background:#00000026}.signup-layout-split .signup-form{background:var(--su-surface, rgba(255, 255, 255, .06));border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:2rem}@media(max-width:768px){.signup-layout-split{grid-template-columns:1fr;padding:0}.signup-split-branding{min-height:auto;padding:2rem 1.5rem}.signup-split-form{padding:2rem 1.5rem}.signup-layout-split .signup-header,.signup-layout-split .signup-benefits{text-align:center}.signup-layout-split .signup-benefits{align-items:center}.signup-layout-split .benefit{flex-direction:column}}.signup-layout-previews{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.signup-layout-preview-card{display:flex;flex-direction:column;align-items:stretch;padding:0;border:2px solid var(--border);border-radius:12px;overflow:hidden;background:var(--card);transition:border-color .2s,box-shadow .2s}.signup-layout-preview-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.signup-layout-preview-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.signup-layout-preview-label-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem;background:var(--muted);border-bottom:1px solid var(--border)}.signup-layout-preview-label{font-size:.85rem;font-weight:600}.signup-layout-config-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .5rem;border-radius:6px}.signup-layout-config-badge-flat{background:#64748b4d;color:var(--muted-foreground)}.signup-layout-config-badge-tiers{background:#22c55e33;color:#1a9948}.signup-layout-config-badge-deals{background:#eab30833;color:#af8d04}.signup-page-config-toggles{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.signup-page-config-toggles .toggle-label{font-size:.9rem}.signup-layout-preview-frame{position:relative;height:180px;overflow:hidden}.signup-layout-preview-scaled{transform:scale(.28);transform-origin:top center;width:400px;min-height:700px}.signup-layout-preview-actions{display:flex;gap:.5rem;padding:.5rem .75rem;background:var(--muted);border-top:1px solid var(--border)}.signup-layout-select-btn,.signup-layout-expand-btn{flex:1;padding:.4rem .6rem;font-size:.8rem;font-weight:500;border:1px solid var(--border);border-radius:6px;background:var(--background);cursor:pointer;transition:background .15s,border-color .15s}.signup-layout-select-btn:hover,.signup-layout-expand-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.signup-layout-preview-card.selected .signup-layout-select-btn{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground);font-weight:600}.signup-layout-fullpage-overlay{position:fixed;inset:0;z-index:10000;background:#000000d9;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem;overflow:auto}.signup-layout-fullpage-close{position:absolute;top:1rem;right:1rem;width:44px;height:44px;font-size:1.75rem;font-weight:300;line-height:1;color:#fff;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:10001}.signup-layout-fullpage-close:hover{background:#ffffff40}.signup-layout-fullpage-header{position:absolute;top:1rem;left:50%;transform:translate(-50%);padding:.5rem 1rem;background:#00000080;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;z-index:10001}.signup-layout-fullpage-content{width:100%;max-width:430px;min-height:90vh;border-radius:16px;overflow:hidden;box-shadow:0 25px 80px #00000080}.punch-preview-tiers{flex-direction:column;align-items:center;gap:.5rem}.punch-preview-tiers .tier-badge{font-size:.75rem;padding:.25rem .5rem;background:#ffffff1a;border-radius:8px;opacity:.5}.punch-preview-tiers .tier-badge.filled{opacity:1;background:#fff3}.pass-instruction{font-size:.9rem;background:var(--su-surface, rgba(255, 255, 255, .1));padding:1rem 1.5rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mp-container{max-width:480px}.mp-card{margin-top:0;padding:1.25rem 1.5rem;border-radius:16px}.mp-card-name{font-size:1.1rem;font-weight:700;margin-bottom:.75rem;text-align:center}.mp-stats-row{display:flex;justify-content:space-around;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.1)}.mp-stat{display:flex;flex-direction:column;align-items:center;gap:.2rem}.mp-stat-value{font-size:1.25rem;font-weight:700}.mp-stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}.mp-since{text-align:center;font-size:.75rem;margin-top:.75rem}.mp-profile-view{width:100%;display:flex;flex-direction:column;gap:.75rem}.mp-profile-fields{background:var(--su-surface, rgba(255, 255, 255, .08));border:1px solid var(--su-border, rgba(255, 255, 255, .15));border-radius:12px;overflow:hidden}.mp-field-row{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1rem;border-bottom:1px solid var(--su-border, rgba(255, 255, 255, .08))}.mp-field-row:last-child{border-bottom:none}.mp-field-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.mp-field-value{font-size:.9rem;font-weight:500}.mp-edit-btn{width:100%;background:var(--su-surface, rgba(255, 255, 255, .12))}.mp-save-success{text-align:center;color:#4ade80;font-size:.85rem;font-weight:600}.mp-form{width:100%}.mp-form-actions{display:flex;gap:.75rem;margin-top:.25rem}.mp-cancel-btn{padding:.75rem 1.25rem;border-radius:12px;border:1px solid;background:transparent;cursor:pointer;font-size:.95rem;font-family:inherit}.mp-cancel-btn:hover{background:var(--su-surface, rgba(255, 255, 255, .1))}.admin-panel-overlay{position:fixed;inset:0;background:#222c39bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.admin-panel-page{padding:1.25rem 1.5rem;width:100%;max-width:none;flex:1;min-width:0;background:var(--background)}.admin-panel-layout{display:flex;flex-direction:row;gap:0;width:100%;max-width:100%;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 12px #222c3914;overflow:hidden}@media(max-width:768px){.admin-panel-sidebar{width:160px}}.admin-panel-sidebar{width:200px;flex-shrink:0;background:var(--secondary);border-right:1px solid var(--border);padding:1rem 0;display:flex;flex-direction:column;gap:.25rem}.admin-panel-sidebar-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;padding:0 1rem;color:var(--foreground)}.admin-panel-tabs-vertical{display:flex;flex-direction:column;gap:.125rem}.admin-panel-tab-vertical{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-left:3px solid transparent;border-radius:0;color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.admin-panel-tab-vertical:hover{background:var(--muted)}.admin-panel-tab-vertical.active{background:var(--primary);color:var(--primary-foreground);border-left-color:var(--primary-foreground)}.admin-tab-icon{font-size:1rem;opacity:.9}@media(max-width:600px){.admin-panel-layout{flex-direction:column}.admin-panel-sidebar{width:100%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);padding:.75rem 1rem;flex-direction:column;gap:.5rem}.admin-panel-sidebar-title{margin:0;padding:0;font-size:.9rem}.admin-panel-tabs-vertical{flex-direction:row;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;margin:0 -.25rem}.admin-panel-tab-vertical{flex-shrink:0;padding:.4rem .75rem;font-size:.75rem;border-left:none;border-bottom:3px solid transparent;white-space:nowrap}.admin-panel-tab-vertical.active{border-left-color:transparent;border-bottom-color:var(--primary-foreground)}.admin-panel-layout .admin-content{padding:1rem;min-height:0}.admin-panel-page{padding:1rem}}.admin-panel{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:1000px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 25px 50px #222c3940}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);background:var(--secondary)}.admin-header h2{font-size:1.25rem;font-weight:600;margin:0}.admin-header .close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--muted-foreground);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%}.admin-header .close-btn:hover{background:var(--background);color:var(--foreground)}.admin-panel-layout .admin-content{flex:1;min-width:0;padding:1.25rem 1.5rem;overflow-y:auto}.admin-loading,.admin-error{padding:3rem;text-align:center;color:var(--muted-foreground)}.admin-error button{margin-top:1rem;padding:.5rem 1rem;background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--primary-foreground);cursor:pointer}.action-result{padding:.75rem 1rem;background:var(--secondary);border-radius:var(--radius-md);margin-bottom:1rem;font-size:.9rem;border:1px solid var(--border)}.admin-section{margin-bottom:1.5rem;padding:1.25rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 1px 3px #222c390a}.admin-section:last-child{margin-bottom:0}.admin-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--foreground)}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.config-item{background:var(--secondary);padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.config-item label{display:block;font-size:.75rem;color:var(--muted-foreground);margin-bottom:.25rem;text-transform:uppercase;letter-spacing:.05em}.config-item code{font-size:.9rem;font-weight:500;color:var(--primary);word-break:break-all}.config-item .config-url-value{font-size:.9375rem;color:var(--foreground);font-weight:500}.config-item span{font-size:.9rem;color:var(--foreground)}.config-item .sandbox{color:#f59e0b}.config-item .production{color:var(--primary)}.effective-urls-note{font-size:.8125rem;color:var(--muted-foreground);background:#2d4b7614;padding:.5rem .75rem;border-radius:var(--radius-sm);margin-bottom:1rem;border-left:3px solid var(--primary)}.config-grid-urls .config-item{padding:.875rem 1rem}.server-status{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-sm);background:var(--secondary);border:1px solid var(--border)}.server-status.configured{border-left:3px solid var(--primary)}.server-status.not-configured{border-left:3px solid #f59e0b}.server-status code{color:var(--primary);font-size:.9rem;font-weight:500}.help-text{font-size:.85rem;color:var(--muted-foreground);margin-top:.75rem}.help-text code{background:var(--secondary);padding:.15rem .35rem;border-radius:3px;font-size:.8rem;font-family:Geist Mono,monospace}.certs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.cert-item{background:var(--secondary);padding:.75rem;border-radius:var(--radius-sm);border-left:3px solid transparent;border:1px solid var(--border)}.cert-item.valid{border-left-color:var(--primary)}.cert-item.missing{border-left-color:var(--destructive);opacity:.7}.cert-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.cert-icon{font-size:.9rem}.cert-name{font-weight:500;font-size:.9rem}.cert-details{display:flex;justify-content:space-between;align-items:center}.cert-details code{font-size:.75rem;color:var(--muted-foreground);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.cert-meta{font-size:.75rem;color:var(--muted-foreground)}.apns-status{display:flex;align-items:center;gap:.75rem;padding:1rem;border-radius:var(--radius-sm);background:var(--secondary);border:1px solid var(--border)}.apns-status.available{border-left:3px solid var(--accent)}.apns-status.unavailable{border-left:3px solid #f59e0b}.stats-row{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.stat{display:flex;flex-direction:column;align-items:center}.stat-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.stat-label{font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase}.notify-all-btn{margin-left:auto;padding:.5rem 1rem;background:var(--primary);border:none;border-radius:var(--radius-sm);color:var(--primary-foreground);font-weight:500;cursor:pointer;transition:all .15s ease}.notify-all-btn:hover:not(:disabled){background:#303d50}.notify-all-btn:disabled{opacity:.5;cursor:not-allowed}.passes-list{display:flex;flex-direction:column;gap:.5rem}.pass-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--secondary);border-radius:var(--radius-sm);border:1px solid var(--border)}.pass-info{display:flex;flex-direction:column;gap:.25rem}.pass-serial{font-size:.85rem;color:var(--foreground)}.pass-devices{font-size:.75rem;color:var(--muted-foreground)}.pass-sharing-badge{font-size:.7rem;padding:.15rem .4rem;border-radius:var(--radius-sm);font-weight:500}.pass-sharing-badge.medium{background:#eab30833;color:#d97706}.pass-sharing-badge.high{background:#ef444433;color:#dc2626}.pass-actions{display:flex;gap:.5rem}.pass-actions button{width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:var(--muted);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.pass-actions button:hover:not(:disabled){background:var(--accent);color:var(--accent-foreground)}.pass-actions button:disabled{opacity:.5;cursor:not-allowed}.architecture-diagrams-section h3{margin-bottom:.5rem}.architecture-intro{color:var(--muted-foreground);font-size:.9rem;margin-bottom:1.25rem}.architecture-diagrams-layout{display:flex;gap:1.5rem;min-height:500px}.architecture-diagrams-nav{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:.25rem;max-height:70vh;overflow-y:auto}.architecture-nav-item{display:flex;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary);color:var(--foreground);font-size:.9rem;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}.architecture-nav-item:hover{background:var(--muted)}.architecture-nav-item.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.architecture-diagrams-content{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.architecture-diagram-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;flex:1;display:flex;flex-direction:column;min-height:0}.architecture-diagram-title{font-size:1rem;font-weight:600;margin-bottom:.5rem}.architecture-diagram-description{font-size:.9rem;line-height:1.5;color:var(--muted-foreground);margin-bottom:1rem;padding:.75rem 1rem;background:var(--muted);border-radius:var(--radius-md);border-left:3px solid var(--primary)}.architecture-diagram-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:1rem 0}@media(max-width:768px){.architecture-diagrams-layout{flex-direction:column}.architecture-diagrams-nav{width:100%;max-height:200px;flex-direction:row;flex-wrap:wrap}.architecture-nav-item{flex:1 1 auto;min-width:140px}}.zoomable-diagram-wrapper{flex:1;min-height:0;display:flex;flex-direction:column;position:relative}.zoomable-diagram-viewport{flex:1;min-height:420px;overflow:hidden;display:flex;align-items:center;justify-content:center;user-select:none;-webkit-user-select:none}.zoomable-diagram-inner{transform-origin:center center;display:flex;align-items:center;justify-content:center;transition:none}.zoomable-diagram-controls{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;margin-top:.5rem;border-top:1px solid var(--border)}.zoomable-diagram-controls button{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--secondary);color:var(--foreground);font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .15s}.zoomable-diagram-controls button:hover{background:var(--muted)}.zoom-level{font-size:.85rem;color:var(--muted-foreground);min-width:3.5rem;text-align:center}.mermaid-container{display:flex;justify-content:center;align-items:center;padding:1rem}.mermaid-container svg{min-width:800px;width:100%;max-width:1200px;height:auto}.mermaid-loading{display:flex;align-items:center;gap:.5rem;padding:2rem;color:var(--muted-foreground)}.mermaid-spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.mermaid-error{padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);color:#dc2626;font-size:.9rem}.mermaid-code-fallback{margin-top:1rem;padding:1rem;background:var(--secondary);border-radius:var(--radius-sm);font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-all}.empty-message{text-align:center;color:var(--muted-foreground);font-size:.9rem;padding:2rem;background:var(--secondary);border-radius:var(--radius-md);border:1px solid var(--border)}.store-pages-list .empty-message{padding:2.5rem 2rem;font-size:.9375rem}.settings-section{background:var(--secondary);border-radius:var(--radius);padding:1rem;border:1px solid var(--border)}.settings-form{display:flex;flex-direction:column;gap:.75rem}.setting-field{display:flex;flex-direction:column;gap:.25rem}.setting-field label{font-size:.8rem;color:var(--muted-foreground)}.setting-field input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-family:Geist Mono,monospace;font-size:.85rem}.setting-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.settings-actions{display:flex;gap:.5rem;margin-top:.5rem}.settings-actions .save-btn{background:var(--primary);color:var(--primary-foreground);border:none;padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600}.settings-actions .save-btn:hover{background:#303d50}.settings-actions .save-btn:disabled{opacity:.6;cursor:not-allowed}.settings-actions .cancel-btn{background:transparent;border:1px solid var(--border);color:var(--muted-foreground);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer}.settings-actions .cancel-btn:hover{border-color:var(--primary);color:var(--foreground)}.settings-display{display:flex;flex-direction:column;gap:.75rem}.settings-display .edit-btn{align-self:flex-start;background:transparent;border:1px solid var(--accent);color:var(--accent);padding:.4rem .8rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem}.settings-display .edit-btn:hover{background:#2d4b761a}.config-item.full-width{grid-column:1 / -1}@media(max-width:600px){.config-grid,.certs-grid{grid-template-columns:1fr}.stats-row{flex-wrap:wrap}.notify-all-btn{width:100%;margin-left:0;margin-top:.5rem}}.qr-manager-section .section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.qr-manager-section .section-header-row h3{margin:0}.toggle-btn{background:transparent;border:1px solid var(--border);color:var(--muted-foreground);padding:.35rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem}.toggle-btn:hover{border-color:var(--accent);color:var(--accent)}.qr-manager-actions{display:flex;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.qr-manager-actions .select-btn{background:transparent;border:1px solid var(--border);color:var(--muted-foreground);padding:.4rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem}.qr-manager-actions .select-btn:hover{border-color:var(--text);color:var(--text)}.qr-manager-actions .download-btn{background:var(--primary);border:none;color:var(--primary-foreground);padding:.5rem 1rem;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;font-size:.85rem;margin-left:auto}.qr-manager-actions .download-btn:hover:not(:disabled){background:#303d50}.qr-manager-actions .download-btn:disabled{opacity:.5;cursor:not-allowed}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.qr-card{background:var(--card);border:2px solid var(--border);border-radius:var(--radius-lg);padding:.75rem;transition:all .2s ease;box-shadow:0 1px 3px #222c3914}.qr-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px #2d4b7626;box-shadow:0 0 0 3px #ff990026}.qr-card-header{margin-bottom:.5rem}.qr-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer}.qr-checkbox input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.qr-checkbox .company-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qr-preview{background:#fff;border-radius:8px;padding:.5rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;min-height:180px;position:relative}.qr-preview img{max-width:100%;max-height:180px;object-fit:contain}.qr-loading-overlay{position:absolute;inset:0;background:#ffffffd9;display:flex;align-items:center;justify-content:center;border-radius:8px;z-index:1}.qr-spinner{width:32px;height:32px;border:3px solid #eee;border-top-color:var(--accent);border-radius:50%;animation:qr-spin .8s linear infinite}@keyframes qr-spin{to{transform:rotate(360deg)}}.qr-config{display:flex;flex-direction:column;gap:.5rem}.qr-config .config-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.qr-config .config-row label{min-width:40px;color:var(--muted-foreground)}.qr-config .config-row select{flex:1;background:var(--input);border:1px solid var(--border);color:var(--foreground);padding:.3rem .5rem;border-radius:var(--radius-sm);font-size:.8rem}.qr-config .config-row input[type=range]{flex:1;height:4px;background:var(--border);border-radius:2px;-webkit-appearance:none;appearance:none}.qr-config .config-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:50%;cursor:pointer}.qr-config .config-row .size-value{min-width:45px;text-align:right;color:var(--muted-foreground);font-size:.75rem}.qr-config .config-row.checkboxes{gap:1rem}.qr-config .config-row.checkboxes label{display:flex;align-items:center;gap:.35rem;min-width:unset;color:var(--text);cursor:pointer}.qr-config .config-row.checkboxes input{width:14px;height:14px;accent-color:var(--accent)}.pin-manager-section .section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.pin-manager-section .section-header-row h3{margin:0}.pin-manager{display:flex;flex-direction:column;gap:1rem}.admin-pin-section{background:var(--secondary);padding:1rem;border-radius:var(--radius);border:1px solid var(--border)}.admin-pin-row{background:transparent!important;border:none!important}.pin-manager-actions{display:flex;gap:.75rem;flex-wrap:wrap}.pin-manager-actions .regenerate-btn{padding:.5rem 1rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.pin-manager-actions .regenerate-btn:hover:not(:disabled){background:var(--accent-hover)}.pin-manager-actions .regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.store-pins-list{display:flex;flex-direction:column;gap:.5rem}.pin-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.pin-row .store-name,.pin-row .pin-label{flex:1;font-weight:500;font-size:.9rem;color:var(--foreground);min-width:150px}.pin-row .pin-input{width:100px;padding:.5rem .75rem;font-size:1rem;font-family:monospace;text-align:center;letter-spacing:.15em;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.pin-row .pin-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.pin-row .pin-display{font-family:monospace;font-size:1rem;letter-spacing:.15em;background:var(--input);padding:.5rem .75rem;border-radius:var(--radius-sm)}.pin-row .save-btn,.pin-row .cancel-btn,.pin-row .edit-btn,.pin-row .quick-login-btn{padding:.4rem .75rem;font-size:.8rem;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease;white-space:nowrap}.pin-row .save-btn{background:var(--accent);color:var(--accent-foreground)}.pin-row .save-btn:hover:not(:disabled){background:var(--accent-hover)}.pin-row .save-btn:disabled{opacity:.4;cursor:not-allowed}.pin-row .cancel-btn{background:var(--secondary);color:var(--foreground)}.pin-row .cancel-btn:hover{background:var(--border)}.pin-row .edit-btn{background:var(--secondary);color:var(--foreground)}.pin-row .edit-btn:hover{background:var(--border)}.pin-row .quick-login-btn{background:var(--primary);color:var(--primary-foreground)}.pin-row .quick-login-btn:hover{background:#303d50}.org-pin-manager-section{margin-bottom:1.5rem}.org-pin-manager-section .section-header-row h3{font-size:1rem}.org-pin-row .org-name{flex:1;min-width:120px}.org-pin-row .org-id-cell{font-size:.8rem;color:var(--muted-foreground);min-width:100px;font-family:monospace}.analytics-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #222c3914}.analytics-panel.loading,.analytics-panel.error{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--muted-foreground)}.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.analytics-header h3{font-size:1rem;font-weight:600;color:var(--foreground);margin:0}.time-selector{display:flex;gap:.25rem;background:var(--secondary);border-radius:var(--radius-sm);padding:.25rem}.time-selector button{padding:.375rem .75rem;font-size:.75rem;background:transparent;color:var(--muted-foreground);border:none;border-radius:4px}.time-selector button:hover{color:var(--foreground)}.time-selector button.active{background:var(--primary);color:var(--primary-foreground)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.stat-card{background:var(--secondary);border-radius:var(--radius);padding:1rem;text-align:center;border:1px solid var(--border)}.stat-value{display:block;font-size:1.75rem;font-weight:700;color:var(--foreground);line-height:1.2}.stat-label{display:block;font-size:.75rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.chart-container{background:var(--secondary);border-radius:var(--radius);padding:1rem;margin-bottom:1rem;border:1px solid var(--border)}.chart-container:last-child{margin-bottom:0}.chart-container h4{font-size:.8rem;font-weight:600;color:var(--muted-foreground);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.03em}.chart-legend{display:flex;gap:1rem;margin-bottom:.75rem}.legend-item{display:flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--muted-foreground)}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-item.punches .legend-dot{background:var(--accent)}.legend-item.rewards .legend-dot{background:#47649e}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--border)}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:var(--card)!important;border:1px solid var(--border)!important;border-radius:8px!important}.recharts-tooltip-label{color:var(--foreground)!important;font-weight:600;margin-bottom:.25rem}.recharts-tooltip-item{color:var(--muted-foreground)!important}@media(max-width:480px){.analytics-header{flex-direction:column;align-items:flex-start;gap:.75rem}.stats-grid{grid-template-columns:repeat(3,1fr)}.stat-value{font-size:1.25rem}.stat-label{font-size:.65rem}}.pass-preview-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.pass-preview-container{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.pass-preview-image-wrapper{max-width:90vw;max-height:70vh;min-height:300px;min-width:250px;display:flex;align-items:center;justify-content:center}.pass-preview-image{max-width:100%;max-height:70vh;border-radius:16px;box-shadow:0 25px 80px #00000080}.pass-preview-loading,.pass-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#fffc;padding:2rem}.pass-preview-loading p,.pass-preview-error p{font-size:.9rem;margin:0}.pass-preview-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.2);border-top-color:#fffc;border-radius:50%;animation:pass-preview-spin .8s linear infinite}@keyframes pass-preview-spin{to{transform:rotate(360deg)}}.pass-preview-error{color:#ff6464e6}.pass-preview-header{display:flex;align-items:center;gap:2rem;color:#fff}.pass-preview-header h3{font-size:1.25rem;font-weight:600}.pass-preview-header .close-btn{background:#ffffff1a;border:none;color:#fff;width:36px;height:36px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.pass-preview-header .close-btn:hover{background:#fff3}.phone-frame{width:320px;background:#1c1c1e;border-radius:40px;padding:12px;box-shadow:0 25px 80px #00000080}.phone-notch{width:120px;height:28px;background:#1c1c1e;border-radius:20px;margin:0 auto 8px}.phone-screen{background:#000;border-radius:32px;overflow:hidden;padding:8px}.wallet-pass{border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #0000004d}.pass-strip{height:100px;background-size:cover;background-position:center;background-color:#0000001a}.pass-header{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-top:-40px;position:relative}.pass-logo{width:40px;height:40px;object-fit:contain;border-radius:8px;background:#ffffff1a}.pass-logo-text{font-size:1.1rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.3)}.pass-body{padding:0 16px 16px}.pass-primary{margin-bottom:16px}.punch-circles{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.punch-circle{font-size:1.25rem;opacity:.25;filter:grayscale(100%);transition:all .2s ease}.punch-circle.filled{opacity:1;filter:none}.pass-secondary,.pass-auxiliary{display:flex;justify-content:space-between;margin-bottom:12px}.pass-field{display:flex;flex-direction:column;gap:2px}.pass-field.right{text-align:right}.field-label{font-size:.65rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.field-value{font-size:.95rem;font-weight:600}.pass-barcode{background:#fff;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px}.qr-placeholder{width:120px;height:120px;padding:8px;background:#fff}.qr-pattern{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;width:100%;height:100%}.qr-cell{background:#eee;border-radius:1px}.qr-cell.dark{background:#222}.barcode-alt-text{font-size:.75rem;font-family:SF Mono,Menlo,monospace;color:#666;letter-spacing:.05em}.pass-preview-info{color:#ffffff80;font-size:.85rem}.scanner-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.scanner-modal{background:var(--card);border-radius:var(--radius-lg);width:100%;max-width:400px;overflow:hidden;box-shadow:0 25px 50px #222c3940}.scanner-fullscreen{position:fixed;inset:0;background:#0a0a0f;display:flex;flex-direction:column;z-index:1000}.scanner-fullscreen-content{display:flex;flex-direction:column;height:100%;max-width:600px;margin:0 auto;width:100%}.scanner-fullscreen .scanner-header{background:linear-gradient(180deg,rgba(0,0,0,.8) 0%,transparent 100%);position:absolute;top:0;left:0;right:0;z-index:10;border-bottom:none;padding:1.5rem}.scanner-fullscreen .scanner-header h3{font-size:1.5rem;text-shadow:0 2px 8px rgba(0,0,0,.5)}.scanner-fullscreen .scanner-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}.scanner-fullscreen .scanner-view{width:100%;max-width:400px;aspect-ratio:1;border-radius:var(--radius);flex-shrink:0}.scanner-fullscreen .scanner-info{background:#0009;border-top:1px solid rgba(255,255,255,.1);padding:1.25rem}.scanner-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.1);background:#263140}.scanner-header h3{font-size:1.1rem;font-weight:600;color:#fff}.scanner-header .header-actions{display:flex;gap:.75rem;align-items:center}.scanner-header .close-btn,.scanner-header .fullscreen-btn{background:#fff3!important;border:2px solid rgba(255,255,255,.4)!important;font-size:1.25rem!important;color:#fff!important;cursor:pointer;padding:0!important;line-height:1;width:42px!important;height:42px!important;min-width:42px;min-height:42px;display:flex!important;align-items:center;justify-content:center;border-radius:50%!important;transition:all .2s;box-shadow:0 2px 8px #0006}.scanner-header .fullscreen-btn{font-size:1rem!important;background:#3b82f6!important;border-color:#60a5fa!important}.scanner-header .close-btn{background:#ef4444!important;border-color:#f87171!important}.scanner-header .close-btn:hover{background:#dc2626!important;transform:scale(1.1)}.scanner-header .fullscreen-btn:hover{background:#2563eb!important;transform:scale(1.1)}.scanner-view{position:relative;aspect-ratio:1;background:#000;overflow:hidden}.scanner-view.frozen{filter:brightness(.3)}#scanner-container,#scanner-container-fullscreen{width:100%;height:100%;position:relative;overflow:hidden}#scanner-container video,#scanner-container-fullscreen video{width:100%!important;height:100%!important;object-fit:cover!important}#scanner-container svg,#scanner-container-fullscreen svg{display:none}.freeze-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:20;animation:fadeIn .3s ease}.freeze-overlay.loading{background:#3b82f6d9}.freeze-overlay.success{background:#2d4b76e6}.freeze-overlay.error{background:#ef4444d9}.freeze-content{display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center;padding:2rem}.freeze-icon{font-size:4rem;animation:popIn .3s ease}.freeze-name{font-size:1.8rem;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.3);margin:0}.freeze-message{font-size:1.3rem;font-weight:600;color:#ffffffe6;text-shadow:0 2px 8px rgba(0,0,0,.3);max-width:280px;margin:0}.countdown-ring{position:relative;width:80px;height:80px;margin-top:.5rem}.countdown-ring svg{display:block!important;width:100%;height:100%;transform:scaleX(-1)}.countdown-ring circle{transition:stroke-dasharray .3s linear}.countdown-number{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}@keyframes popIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scanner-error{background:#ef44441a;border:1px solid hsl(0 84.2% 60.2% / .3);color:var(--destructive);padding:.75rem 1.25rem;font-size:.875rem;text-align:center;margin:.5rem 1rem;border-radius:var(--radius)}.scanner-info{padding:1rem 1.25rem;text-align:center;color:var(--muted-foreground);font-size:.9rem;border-top:1px solid var(--border)}.scanner-info .admin-mode{color:#a78bfa;font-weight:500}.scanner-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#0a0a0f}.scanner-loading .spinner,.scanner-page-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.scanner-page-loading{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:#0a0a0f;color:#fff}.scan-history{background:#0009;border-top:1px solid rgba(255,255,255,.1);padding:1rem;max-height:200px;overflow-y:auto}.scan-history h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin-bottom:.75rem}.history-list{display:flex;flex-direction:column;gap:.5rem}.history-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;border-radius:8px;font-size:.9rem;animation:slideIn .3s ease}.history-item.success{background:#2d4b7626;border:1px solid hsl(215 45% 32% / .3)}.history-item.error{background:#ef444426;border:1px solid hsl(0 84.2% 60.2% / .3)}.history-icon{font-size:1.1rem}.history-name{font-weight:600;color:#fff;flex-shrink:0}.history-message{color:#ffffffb3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-left:auto}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}#qr-shaded-region{border-color:#2d4b7680!important}.store-section{margin-bottom:.25rem;flex-shrink:0}.store-section-header{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;margin-bottom:.25rem;border-radius:var(--radius-sm);background:var(--secondary);-webkit-user-select:none;user-select:none;width:100%;border:none;cursor:pointer;color:inherit;font-family:inherit;transition:background .15s}.store-section-header:hover{background:var(--accent)}.store-section-header span:nth-child(3){font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.section-chevron{display:inline-flex;align-items:center;flex-shrink:0;color:var(--muted-foreground);transition:transform .2s;width:10px;text-align:center}.section-chevron.collapsed{transform:rotate(-90deg)}.section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.section-dot.active{background:#22c55e}.section-dot.prospect{background:#f59e0b}.section-count{margin-left:auto;font-size:.65rem!important;font-weight:600!important;color:var(--muted-foreground)!important;background:var(--background);padding:.1rem .4rem;border-radius:9999px;min-width:1.2rem;text-align:center}.prospect-search{margin-top:.25rem}.prospect-list{max-height:50vh;overflow-y:auto;scrollbar-width:thin}.prospect-item{display:flex;align-items:center;gap:.4rem;width:100%;padding:.35rem .5rem;background:transparent;border:none;color:var(--foreground);font-size:.78rem;cursor:pointer;border-radius:4px;text-align:left;transition:background .12s}.prospect-item:hover{background:var(--secondary)}.prospect-item.active{background:var(--primary);color:var(--primary-foreground)}.prospect-city{margin-left:auto;font-size:.65rem;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:80px}.prospect-item.active .prospect-city{color:var(--primary-foreground);opacity:.7}.draggable-prospect{display:flex;align-items:center;gap:0;padding:0!important;touch-action:none}.draggable-prospect .drag-handle{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:var(--muted-foreground);cursor:grab;font-size:.85rem;opacity:0;transition:opacity .15s ease;padding:.625rem 0 .625rem .35rem}.draggable-prospect:hover .drag-handle{opacity:.6}.draggable-prospect .drag-handle:active{cursor:grabbing;opacity:1}.draggable-prospect.drag-overlay,.prospect-item.drag-overlay{background:var(--card);border:1px solid var(--accent);box-shadow:0 8px 24px #00000026;border-radius:var(--radius-sm);z-index:999}.sortable-store{display:flex;align-items:center;gap:0;padding:0!important;touch-action:none}.sortable-store .drag-handle{display:flex;align-items:center;justify-content:center;width:24px;flex-shrink:0;color:var(--muted-foreground);cursor:grab;font-size:.85rem;opacity:0;transition:opacity .15s ease;padding:.625rem 0 .625rem .35rem}.sortable-store:hover .drag-handle{opacity:.6}.sortable-store .drag-handle:active{cursor:grabbing;opacity:1}.store-select-btn{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;padding:.625rem .75rem .625rem .25rem;background:transparent;border:none;color:inherit;font-size:.9rem;text-align:left;cursor:pointer}.sortable-store.drag-overlay{background:var(--card);border:1px solid var(--accent);box-shadow:0 8px 24px #00000026;border-radius:var(--radius-sm);z-index:999}.sortable-store.drag-overlay .drag-handle{opacity:.8;cursor:grabbing}.drop-hint{font-style:italic;opacity:.5;padding:.5rem .75rem!important;font-size:.8rem!important}.store-section.drag-over{background:var(--accent);border-radius:var(--radius-sm);outline:2px dashed var(--sidebar-primary);outline-offset:-2px}.store-group{margin-bottom:.5rem}.store-group-header{display:flex;align-items:center;gap:.4rem;padding:.25rem .75rem;margin-bottom:.125rem}.store-group-header .group-icon{display:inline-flex;align-items:center;flex-shrink:0}.store-group-header .group-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);opacity:.7}.sidebar-btn.billing-btn{margin-top:.25rem}.store-pages-section .admin-section h3{margin-bottom:1rem}.store-pages-list{display:flex;flex-direction:column;gap:.625rem}.store-pages-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem;border-radius:var(--radius-md);background:var(--secondary);border:1px solid var(--border);transition:border-color .2s ease,box-shadow .2s ease}.store-pages-row:hover{border-color:#c9d0d9;box-shadow:0 1px 2px #222c390a}.store-pages-name{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;color:var(--foreground);min-width:0}.store-pages-row .store-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid var(--border)}.store-pages-name span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-pages-links{display:flex;gap:.5rem;flex-shrink:0}.store-page-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;color:var(--primary-foreground);text-decoration:none;padding:.5rem .875rem;border-radius:var(--radius-md);background:var(--primary);border:1px solid var(--primary);transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #2d4b7633}.store-page-link:hover{background:var(--primary);filter:brightness(1.08);box-shadow:0 2px 4px #2d4b7640;transform:translateY(-1px)}.dark .store-page-link{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);box-shadow:0 1px 2px #0003}.dark .store-page-link:hover{filter:brightness(1.12)}.blog-section .admin-hint{font-size:.875rem;color:var(--muted-foreground);margin-bottom:1rem}.blog-upload-area{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.blog-new-btn{background:var(--secondary);color:var(--foreground);border-color:var(--border)}.blog-new-btn:hover{background:var(--secondary);filter:brightness(.96)}.blog-edit-btn{padding:.35rem .75rem;font-size:.8125rem;font-weight:500;color:var(--primary);background:transparent;border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.blog-edit-btn:hover{background:var(--primary);color:var(--primary-foreground)}.blog-upload-btn{display:inline-flex;align-items:center;padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid var(--primary);transition:all .2s ease}.blog-upload-btn:hover:not(.disabled){filter:brightness(1.08)}.blog-upload-btn.disabled{opacity:.7;cursor:not-allowed}.blog-error{color:var(--destructive);font-size:.875rem;margin-bottom:.5rem}.blog-loading{color:var(--muted-foreground);font-size:.875rem}.blog-list{display:flex;flex-direction:column;gap:.5rem}.blog-list-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-md);gap:1rem}.blog-item-main{display:flex;flex-direction:column;gap:.25rem;min-width:0}.blog-item-title{font-weight:600;color:var(--foreground)}.blog-item-meta{font-size:.8125rem;color:var(--muted-foreground)}.blog-item-actions{display:flex;gap:.5rem;flex-shrink:0}.blog-delete-btn{padding:.35rem .75rem;font-size:.8125rem;font-weight:500;color:var(--destructive);background:transparent;border:1px solid var(--destructive);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease}.blog-delete-btn:hover{background:var(--destructive);color:var(--destructive-foreground)}.blog-empty-state{padding:1.5rem 2rem;border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--secondary);text-align:center}.blog-empty-text{margin:0;font-size:.875rem;color:var(--muted-foreground)}.blog-editor{display:flex;flex-direction:column;height:calc(100vh - 12rem);min-height:400px}.blog-editor-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;flex-shrink:0}.blog-editor-header h3{margin:0;font-size:1.125rem}.blog-editor-actions{display:flex;gap:.5rem}.blog-editor-btn{padding:.5rem 1rem;font-size:.875rem;font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;border:1px solid transparent}.blog-editor-btn.secondary{background:var(--secondary);color:var(--foreground);border-color:var(--border)}.blog-editor-btn.secondary:hover{filter:brightness(.96)}.blog-editor-btn.primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.blog-editor-btn.primary:hover:not(:disabled){filter:brightness(1.08)}.blog-editor-btn.primary:disabled{opacity:.7;cursor:not-allowed}.blog-editor-error{color:var(--destructive);font-size:.875rem;margin:-.5rem 0 .75rem}.blog-editor-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem;flex:1;min-height:0}.blog-editor-panel{display:flex;flex-direction:column;min-height:0;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--secondary);overflow:hidden}.blog-editor-panel-title{margin:0;padding:.5rem 1rem;font-size:.8125rem;font-weight:600;color:var(--muted-foreground);background:var(--muted);border-bottom:1px solid var(--border)}.blog-editor-textarea{flex:1;min-height:200px;padding:1rem;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.5;background:var(--background);color:var(--foreground);border:none;resize:none;outline:none}.blog-editor-preview{flex:1;overflow-y:auto;padding:1rem;font-size:.9375rem;line-height:1.6}.blog-editor-preview h1{font-size:1.5rem;margin:0 0 .75rem}.blog-editor-preview h2{font-size:1.25rem;margin:1rem 0 .5rem}.blog-editor-preview h3{font-size:1.1rem;margin:.75rem 0 .4rem}.blog-editor-preview p{margin:0 0 .75rem}.blog-editor-preview ul,.blog-editor-preview ol{margin:0 0 .75rem;padding-left:1.5rem}.blog-editor-preview blockquote{margin:.5rem 0;padding-left:1rem;border-left:3px solid var(--border);color:var(--muted-foreground)}.blog-editor-preview code{font-family:ui-monospace,monospace;font-size:.875em;background:var(--muted);padding:.15em .35em;border-radius:3px}.blog-editor-preview pre{margin:.5rem 0;padding:1rem;background:var(--muted);border-radius:var(--radius-sm);overflow-x:auto}.blog-editor-preview pre code{padding:0;background:none}.blog-editor-preview table{border-collapse:collapse;width:100%;margin:.5rem 0}.blog-editor-preview th,.blog-editor-preview td{border:1px solid var(--border);padding:.4rem .75rem;text-align:left}.blog-editor-preview th{background:var(--muted);font-weight:600}.blog-editor-preview a{color:var(--primary);text-decoration:underline}.blog-editor-loading{display:flex;align-items:center;gap:.75rem;padding:2rem;color:var(--muted-foreground)}.blog-editor-loading .spinner{width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.billing-page{display:flex;flex-direction:column;min-height:0;background:var(--background);padding:2rem}.billing-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem;flex-shrink:0}.billing-header .back-btn{padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;font-size:.9rem;transition:all .15s ease}.billing-header .back-btn:hover{background:var(--border)}.billing-header h1{font-size:1.75rem;font-weight:600;color:var(--foreground);margin:0}.billing-panel-layout{display:flex;flex:1;min-height:0;gap:0;border-radius:var(--radius-lg);overflow:hidden}.billing-panel-sidebar{width:200px;flex-shrink:0;background:var(--secondary);border-right:1px solid var(--border);padding:1rem 0;display:flex;flex-direction:column;gap:.25rem}.billing-panel-sidebar-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;padding:0 1rem;color:var(--foreground)}.billing-panel-tabs-vertical{display:flex;flex-direction:column;gap:.125rem}.billing-panel-tab-vertical{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:transparent;border:none;border-left:3px solid transparent;border-radius:0;color:var(--foreground);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s ease;text-align:left;width:100%}.billing-panel-tab-vertical:hover{background:var(--muted)}.billing-panel-tab-vertical.active{background:var(--primary);color:var(--primary-foreground);border-left-color:var(--primary-foreground)}.billing-tab-icon{font-size:1rem;opacity:.9}.billing-content-area{flex:1;min-width:0;padding:1.25rem 1.5rem;overflow-y:auto}@media(max-width:600px){.billing-panel-layout{flex-direction:column}.billing-panel-sidebar{width:100%;flex-shrink:0;border-right:none;border-bottom:1px solid var(--border);padding:.75rem 1rem;flex-direction:column;gap:.5rem}.billing-panel-sidebar-title{margin:0;padding:0;font-size:.9rem}.billing-panel-tabs-vertical{flex-direction:row;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem;margin:0 -.25rem}.billing-panel-tab-vertical{flex-shrink:0;padding:.4rem .75rem;font-size:.75rem;border-left:none;border-bottom:3px solid transparent;white-space:nowrap}.billing-panel-tab-vertical.active{border-left-color:transparent;border-bottom-color:var(--primary-foreground)}.billing-content-area{padding:1rem;min-height:0}.billing-page{padding:1rem}}.prospect-toggle{display:flex;align-items:center;gap:.5rem;margin-left:auto;cursor:pointer;-webkit-user-select:none;user-select:none}.prospect-toggle input[type=checkbox]{width:16px;height:16px;accent-color:#f59e0b;cursor:pointer}.prospect-toggle .toggle-label{font-size:.85rem;color:var(--muted-foreground);display:flex;align-items:center;gap:.4rem}.prospect-toggle .prospect-count{background:#f59e0b;color:#fff;font-size:.7rem;font-weight:600;padding:.1rem .4rem;border-radius:9999px;min-width:1.2rem;text-align:center}.forecast-tag{font-size:.7rem;font-weight:500;background:#f59e0b20;color:#f59e0b;padding:.15rem .5rem;border-radius:9999px;margin-left:.5rem;vertical-align:middle}.pipeline-summary{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border)}.pipeline-summary h3{font-size:.85rem;font-weight:600;color:var(--muted-foreground);margin-bottom:.75rem}.kpi-card.pipeline{border-left:3px solid #f59e0b}.sub-group-header{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground);background:var(--secondary);border-radius:var(--radius-sm);margin-bottom:.25rem}.sub-group-header .section-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.sub-group-header .section-dot.active{background:#22c55e}.sub-group-header .section-dot.prospect{background:#f59e0b}.sub-group-mrr{margin-left:auto;font-size:.75rem;font-weight:500;color:#f59e0b;text-transform:none;letter-spacing:normal}.prospect-table{margin-top:1rem;opacity:.85}.prospect-row{border-left:3px solid #f59e0b}.prospect-badge{background:#f59e0b!important;color:#fff}.billing-content{max-width:1200px;margin:0 auto}.billing-loading{display:flex;align-items:center;justify-content:center;min-height:300px;color:var(--muted-foreground)}.billing-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.5rem}.summary-card.highlight{border-color:var(--accent);background:#2d4b760d}.summary-card .summary-label{font-size:.8rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.03em}.summary-card .summary-value{font-size:1.75rem;font-weight:700;color:var(--foreground)}.summary-card.highlight .summary-value{color:var(--accent)}.billing-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem}.billing-section .section-header-row{display:flex;justify-content:space-between;align-items:center}.billing-section .section-header-row.clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--radius-sm);transition:background .15s ease}.billing-section .section-header-row.clickable:hover{background:var(--secondary)}.billing-section h2{font-size:1.1rem;font-weight:600;margin:0;color:var(--foreground)}.billing-section .toggle-btn{background:transparent;border:none;color:var(--muted-foreground);font-size:.85rem;cursor:pointer;padding:.25rem}.subscriptions-content{margin-top:1.5rem}.subscriptions-actions{margin-bottom:1.5rem}.default-amount-control{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.default-amount-control label{font-size:.85rem;color:var(--foreground)}.default-amount-control input{width:80px;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.9rem}.default-amount-control button{padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:background .15s ease}.default-amount-control button:hover{background:#303d50}.subscriptions-table,.payments-table,.forecast-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.table-header,.forecast-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 1fr;gap:.5rem;padding:.75rem 1rem;background:var(--secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--muted-foreground)}.forecast-header{grid-template-columns:1fr 1fr 1fr}.table-row,.forecast-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.5fr 1fr;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);align-items:center;font-size:.9rem}.forecast-row{grid-template-columns:1fr 1fr 1fr}.table-row:hover{background:var(--secondary)}.store-cell{display:flex;align-items:center;gap:.5rem}.store-cell .store-icon{font-size:1rem}.status-badge{display:inline-block;padding:.2rem .5rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;color:#fff}.amount-display{cursor:pointer;display:flex;align-items:center;gap:.35rem}.amount-display .edit-hint{opacity:0;transition:opacity .15s ease;font-size:.75rem}.amount-display:hover .edit-hint{opacity:.6}.edit-amount{display:flex;align-items:center;gap:.35rem}.edit-amount input{width:60px;padding:.35rem .5rem;border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.85rem}.edit-amount button{padding:.25rem .5rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);font-size:.8rem;cursor:pointer}.edit-amount button:last-child{background:var(--secondary);color:var(--foreground)}.contact-cell .no-billing{color:var(--muted-foreground);font-style:italic;font-size:.8rem}.actions-cell{display:flex;gap:.35rem}.action-btn{padding:.35rem .5rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;transition:all .15s ease}.action-btn:hover{background:var(--accent)}.forecast-content{margin-top:1.5rem}.forecast-controls{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.forecast-controls label{font-size:.85rem;color:var(--foreground)}.forecast-controls select{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.9rem;cursor:pointer}.forecast-row .cumulative{font-weight:600;color:var(--accent)}.forecast-summary{margin-top:1rem;padding:1rem;background:var(--secondary);border-radius:var(--radius-sm)}.forecast-total{display:flex;justify-content:space-between;align-items:center;font-size:1rem}.forecast-total .total-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.payments-content{margin-top:1.5rem}.payments-content .empty-state{text-align:center;padding:2rem;color:var(--muted-foreground)}.payments-content .empty-state .hint{font-size:.85rem;margin-top:.5rem}.settings-content{margin-top:1.5rem}.integration-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.integration-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.25rem}.integration-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.integration-header .integration-logo{font-size:1.5rem}.integration-header h3{font-size:1rem;font-weight:600;margin:0;color:var(--foreground)}.integration-card p{font-size:.85rem;color:var(--muted-foreground);margin:0 0 1rem}.integration-btn{width:100%;padding:.5rem 1rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;transition:background .15s ease}.integration-btn:hover:not(:disabled){background:#303d50}.integration-btn:disabled{opacity:.5;cursor:not-allowed}.bulk-actions h4{font-size:.9rem;font-weight:600;margin:0 0 .75rem;color:var(--foreground)}.bulk-actions-row{display:flex;gap:.75rem;flex-wrap:wrap}.bulk-actions-row button{padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);font-size:.85rem;cursor:pointer;transition:all .15s ease}.bulk-actions-row button:hover{background:var(--border)}.invoice-settings-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.invoice-settings-section h4.clickable{cursor:pointer;font-size:.95rem;margin:0 0 .75rem}.invoice-settings-form{display:flex;flex-direction:column;gap:.75rem;max-width:500px}.invoice-settings-form .form-row{display:flex;flex-direction:column;gap:.25rem}.invoice-settings-form .form-row label{font-size:.8rem;font-weight:500;color:var(--muted-foreground)}.invoice-settings-form .form-row input{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.9rem}.invoice-settings-form .form-row.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.invoice-settings-form h5{font-size:.9rem;margin:1rem 0 .5rem}.save-invoice-settings-btn{margin-top:.5rem;padding:.5rem 1rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;align-self:flex-start}.save-invoice-settings-btn:hover:not(:disabled){opacity:.9}.save-invoice-settings-btn:disabled{opacity:.6;cursor:not-allowed}.invoice-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.invoice-modal-overlay.expanded .invoice-modal{max-width:95vw;max-height:95vh;width:95vw;height:95vh}.invoice-modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);max-width:800px;width:100%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.invoice-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.invoice-modal-header h3{margin:0;font-size:1.1rem}.invoice-modal-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted-foreground);padding:0 .5rem;line-height:1}.invoice-modal-header .close-btn:hover{color:var(--foreground)}.invoice-modal-options{padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;border-bottom:1px solid var(--border)}.invoice-modal-options .option-row{display:flex;align-items:center;gap:.5rem}.invoice-modal-options .option-row label{font-size:.9rem}.invoice-modal-options select{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground)}.invoice-modal-options .option-row.line-items-section{flex-direction:column;align-items:stretch;width:100%}.invoice-modal-options .line-items-list{display:flex;flex-direction:column;gap:.5rem}.invoice-modal-options .line-item-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.invoice-modal-options .line-item-row input{padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground)}.invoice-modal-options .line-item-row input:first-of-type{flex:1;min-width:120px}.invoice-modal-options .line-item-total{font-size:.9rem;color:var(--muted-foreground);min-width:60px}.invoice-modal-options .remove-line-btn{padding:.25rem .5rem;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--muted-foreground);font-size:.85rem}.invoice-modal-options .remove-line-btn:hover{color:var(--destructive)}.invoice-modal-options .add-line-btn{padding:.5rem 1rem;background:var(--secondary);border:1px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;color:var(--foreground)}.invoice-modal-options .add-line-btn:hover{background:var(--accent);color:var(--accent-foreground)}.invoice-modal-error{padding:.75rem 1.25rem;background:#d9262626;color:var(--destructive);font-size:.9rem}.invoice-modal-actions{padding:.75rem 1.25rem;display:flex;gap:.75rem;border-bottom:1px solid var(--border)}.invoice-modal-actions .expand-btn{padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;color:var(--foreground)}.invoice-modal-actions .download-btn{padding:.5rem 1rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.invoice-modal-actions .download-btn:hover:not(:disabled){opacity:.9}.invoice-modal-actions .download-btn:disabled{opacity:.6;cursor:not-allowed}.invoice-modal-preview{flex:1;min-height:400px;overflow:auto}.invoice-preview-iframe{width:100%;height:100%;min-height:500px;border:none}.invoice-preview-loading{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--muted-foreground)}.invoice-history-modal{max-width:560px;max-height:70vh}.invoice-history-content{padding:1rem 1.25rem;overflow-y:auto}.invoice-history-empty{color:var(--muted-foreground);font-style:italic;margin:0}.invoice-history-list{display:flex;flex-direction:column;gap:.5rem}.invoice-history-row{display:grid;grid-template-columns:1fr auto auto auto auto;gap:1rem;align-items:center;padding:.5rem .75rem;background:var(--secondary);border-radius:var(--radius-sm);font-size:.9rem}.invoice-history-row .inv-number{font-weight:600}.invoice-history-row .inv-type{text-transform:capitalize;color:var(--muted-foreground)}.invoice-history-row .inv-download-link{padding:.25rem .5rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.8rem}.invoice-history-row .inv-download-link:hover:not(:disabled){opacity:.9}.invoice-history-row .inv-download-link:disabled{opacity:.6;cursor:not-allowed}.kpi-section .kpi-content{margin-top:1.5rem}.kpi-grid{display:grid;gap:1rem;margin-bottom:1.5rem}.kpi-grid.primary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.kpi-grid.secondary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.kpi-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.35rem;text-align:center}.kpi-card.highlight{background:#2d4b761a;border-color:var(--accent)}.kpi-card.small{padding:1rem}.kpi-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--foreground)}.kpi-card.highlight .kpi-value{color:var(--accent)}.kpi-card.small .kpi-value{font-size:1.25rem}.kpi-sublabel{font-size:.7rem;color:var(--muted-foreground)}.targets-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.targets-section h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--foreground)}.targets-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.target-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.target-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.target-label{font-size:.85rem;font-weight:500;color:var(--foreground)}.target-input{width:100px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.85rem;text-align:right}.target-progress{height:8px;background:var(--border);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.target-progress .progress-bar{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.target-stats{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--muted-foreground);flex-wrap:wrap;gap:.5rem}.target-stats .eta{color:var(--accent);font-weight:500}.target-projection{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted-foreground)}.target-projection strong{color:var(--foreground)}.growth-config{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.growth-config label{font-size:.85rem;color:var(--foreground)}.growth-config input{width:70px;padding:.35rem .5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.85rem;text-align:right}.forecast-chart{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;margin:1rem 0}.forecast-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-top:1rem}.forecast-stat{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;text-align:center}.forecast-stat .stat-label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--muted-foreground);margin-bottom:.35rem}.forecast-stat .stat-value{display:block;font-size:1.25rem;font-weight:700;color:var(--accent)}.recharts-legend-item-text{color:var(--foreground)!important;font-size:.8rem}.recharts-tooltip-wrapper{font-size:.85rem}.info-tooltip-wrapper{display:inline-flex;align-items:center;gap:.35rem;cursor:help;position:relative}.info-tooltip-wrapper .info-icon{font-size:.65rem;color:var(--muted-foreground);opacity:.5;transition:opacity .15s ease,color .15s ease}.info-tooltip-wrapper:hover .info-icon{opacity:1;color:var(--accent)}.info-tooltip-wrapper .tooltip-content{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--foreground);color:var(--background);padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;line-height:1.5;white-space:pre-line;min-width:220px;max-width:320px;z-index:1000;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;box-shadow:0 4px 12px #00000026;text-align:left}.info-tooltip-wrapper .tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--foreground)}.info-tooltip-wrapper:hover .tooltip-content{opacity:1;visibility:visible}.info-tooltip-wrapper:first-child .tooltip-content{left:0;transform:translate(0)}.info-tooltip-wrapper:first-child .tooltip-content:after{left:20px;transform:translate(0)}.info-tooltip-wrapper .kpi-label,.info-tooltip-wrapper .target-label,.info-tooltip-wrapper .stat-label,.info-tooltip-wrapper label{cursor:help}.ob-page{min-height:100vh;padding:1rem;padding-bottom:max(1.5rem,env(safe-area-inset-bottom,1rem))}.ob-container{position:relative;width:100%;max-width:780px;margin:0 auto;display:flex;flex-direction:column;min-height:calc(100vh - 2rem)}.ob-top-bar{flex-shrink:0;margin-bottom:1rem}.ob-progress{height:4px;border-radius:2px;overflow:hidden;margin-bottom:.5rem}.ob-progress-fill{height:100%;border-radius:2px;transition:width .5s cubic-bezier(.4,0,.2,1)}.ob-top-row{display:flex;justify-content:space-between;align-items:center}.ob-step-indicator{font-size:.75rem;opacity:.7}.ob-lang-wrapper{position:relative}.ob-lang-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .65rem;border:1px solid;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;background:transparent;transition:all .2s ease}.ob-lang-btn:hover{filter:brightness(1.15)}.ob-lang-flag{font-size:1.1rem;line-height:1}.ob-lang-code{font-size:.75rem;letter-spacing:.03em}.ob-lang-chevron{font-size:.55rem;opacity:.6}.ob-lang-dropdown{position:absolute;top:calc(100% + 4px);right:0;border:1px solid;border-radius:10px;overflow:hidden;z-index:50;min-width:140px;box-shadow:0 8px 24px #0000004d;animation:ob-fadeIn .15s ease}.ob-lang-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.6rem .85rem;border:none;cursor:pointer;font-size:.85rem;font-weight:500;transition:background .15s ease;text-align:left}.ob-lang-option:hover{filter:brightness(1.2)}.ob-lang-option.active{font-weight:700}.ob-content{flex:1;display:flex;align-items:flex-start;animation:ob-fadeIn .4s ease}@keyframes ob-fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-step{width:100%}.ob-nav{display:flex;justify-content:space-between;align-items:center;padding:2rem 0 max(2rem,env(safe-area-inset-bottom,1rem));flex-shrink:0}.ob-nav-btn{padding:.75rem 1.5rem;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.ob-nav-prev{background:transparent;border:2px solid}.ob-nav-prev:hover{transform:translate(-2px)}.ob-nav-next{border:none;box-shadow:0 4px 16px #0003}.ob-nav-next:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000004d}.ob-welcome{text-align:center;padding-top:2rem}.ob-step-icon{margin-bottom:1.5rem}.ob-company-logo{width:80px;height:80px;object-fit:contain;border-radius:20px;box-shadow:0 8px 32px #00000040}.ob-title{font-size:2rem;font-weight:800;margin-bottom:.5rem;line-height:1.2}.ob-subtitle{font-size:1.05rem;margin-bottom:2rem;line-height:1.5}.ob-welcome-card{border-radius:16px;padding:1.5rem;margin-bottom:2.5rem;font-size:1rem;line-height:1.6}.ob-welcome-card p{margin:0}.ob-steps-preview{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;width:100%}.ob-step-dot{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.1rem .6rem;border-radius:14px;transition:all .3s ease}.ob-step-dot>span:first-child{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}.ob-step-dot-label{font-size:.78rem;font-weight:600;text-align:center}@media(max-width:520px){.ob-steps-preview{grid-template-columns:repeat(3,1fr)}}.ob-how-it-works{text-align:center}.ob-demo-card{border-radius:20px;padding:1.5rem;margin-bottom:1rem;box-shadow:0 8px 32px #0003}.ob-demo-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem;text-align:left}.ob-demo-logo{width:40px;height:40px;object-fit:contain;border-radius:10px}.ob-demo-punches{display:flex;justify-content:center;gap:.35rem;flex-wrap:wrap;margin-bottom:.75rem}.ob-punch{font-size:1.5rem;opacity:.2;transition:all .3s ease;display:inline-block}.ob-punch.filled{opacity:1;transform:scale(1.1)}.ob-punch.animating{animation:ob-punchPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes ob-punchPop{0%{transform:scale(.5);opacity:0}50%{transform:scale(1.4)}to{transform:scale(1.1);opacity:1}}.ob-demo-progress{font-size:.85rem;margin-bottom:.5rem}.ob-reward-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1a1a1a;padding:.75rem;border-radius:12px;font-weight:700;margin-top:.75rem;animation:ob-fadeIn .5s ease}.ob-demo-btn{width:100%;padding:.85rem;border:none;border-radius:14px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s ease;margin-bottom:1.5rem}.ob-demo-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px #0003}.ob-demo-btn:active{transform:scale(.98)}.ob-info-cards{display:flex;flex-direction:column;gap:.75rem}.ob-info-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:14px;border:1px solid;text-align:left}.ob-info-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.ob-info-card strong{display:block;font-size:.9rem;margin-bottom:.15rem}.ob-info-card p{font-size:.8rem;margin:0;line-height:1.4}.ob-pass-preview{margin-top:1.5rem;text-align:center}.ob-pass-preview-label{font-size:.85rem;font-weight:600;margin-bottom:.75rem}.ob-pass-preview-frame{display:inline-block;position:relative;min-height:200px;min-width:180px}.ob-pass-preview-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ob-pass-preview-loading .spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.15);border-top-color:#fff9;border-radius:50%;animation:spin 1s linear infinite}.ob-pass-preview-error{display:flex;align-items:center;justify-content:center;min-height:200px;font-size:3rem;opacity:.3}.ob-pass-preview-img{max-width:280px;width:100%;border-radius:14px;box-shadow:0 12px 40px #00000059;transition:opacity .3s ease}.ob-qr-step{text-align:center}.ob-qr-showcase{display:flex;justify-content:center;margin:2rem 0 1.5rem}.ob-qr-frame{border-radius:20px;padding:1.5rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;transition:transform .3s ease,box-shadow .3s ease}.ob-qr-frame:hover{transform:scale(1.02);box-shadow:0 12px 40px #0000002e,0 4px 12px #00000014}.ob-qr-img{width:260px;height:260px;object-fit:contain;display:block;transition:opacity .4s ease}@media(min-width:480px){.ob-qr-img{width:300px;height:300px}.ob-qr-frame{padding:2rem}}.ob-qr-how{border:1px solid;border-radius:16px;padding:1.5rem;margin:1.5rem 0;text-align:left}.ob-qr-how h4{margin:0 0 1rem;font-size:1rem;font-weight:700}.ob-qr-steps{display:flex;flex-direction:column;gap:.75rem}.ob-qr-step-item{display:flex;align-items:center;gap:.75rem}.ob-qr-step-num{flex-shrink:0;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700}.ob-qr-step-item p{margin:0;font-size:.92rem;line-height:1.4}.ob-qr-url-box{border:1px solid;border-radius:12px;padding:1rem 1.25rem;margin:1rem 0;text-align:center}.ob-qr-url-box p{margin:0 0 .4rem;font-size:.82rem}.ob-qr-url-link{font-size:1rem;font-weight:700;text-decoration:none;word-break:break-all}.ob-qr-url-link:hover{text-decoration:underline}.ob-qr-tip{border:1px solid;border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:flex-start;gap:.75rem;margin:1rem 0;text-align:left}.ob-qr-tip span:first-child{font-size:1.3rem;flex-shrink:0;line-height:1;margin-top:.1rem}.ob-qr-tip p{margin:0;font-size:.85rem;line-height:1.5}.ob-qr-download-note{display:flex;align-items:flex-start;gap:.5rem;font-size:.82rem;opacity:.7;margin-top:1rem;text-align:left}.ob-qr-download-note span:first-child{flex-shrink:0}.ob-dashboard{text-align:center}.ob-bookmark-row{border:1px solid;border-radius:16px;padding:1.25rem;margin-bottom:1rem;text-align:center}.ob-bookmark-label{font-size:.85rem;font-weight:600;margin:0 0 .75rem}.ob-bookmark-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border:1px solid;border-radius:10px;margin-bottom:.6rem}.ob-bookmark-bar-left{display:flex;align-items:center;gap:.5rem;min-width:0}.ob-bookmark-lock{font-size:.8rem;flex-shrink:0}.ob-bookmark-url{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ob-bookmark-star{background:none;border:none;font-size:1.6rem;cursor:pointer;padding:0 .1rem;line-height:1;transition:all .2s ease;flex-shrink:0}.ob-bookmark-star:hover{transform:scale(1.2)}.ob-bookmark-star.active{animation:ob-starPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes ob-starPop{0%{transform:scale(.6)}50%{transform:scale(1.4)}to{transform:scale(1)}}.ob-bookmark-hint{font-size:.78rem;margin:0;display:flex;flex-direction:column;align-items:center;gap:.3rem}.ob-bookmark-shortcut{display:inline-block;font-size:.72rem;padding:.15rem .5rem;border-radius:6px;font-weight:600}.ob-bookmark-confirmed{display:inline-flex;align-items:center;gap:.35rem;font-weight:700;color:#22c55e;animation:ob-fadeIn .3s ease}.ob-bookmark-check{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#22c55e;color:#fff;font-size:.65rem;font-weight:700}.ob-dashboard-grid{display:flex;flex-direction:column;gap:1rem;width:100vw;max-width:1400px;margin-left:50%;transform:translate(-50%);padding:0 1.5rem;box-sizing:border-box}.ob-dashboard-grid .ob-browser-mockup{margin-bottom:0}.ob-dashboard-grid .ob-dashboard-features{justify-content:center}.ob-dashboard-grid .ob-scanner-demo,.ob-dashboard-grid .ob-members-demo,.ob-dashboard-grid .ob-browser-mockup{font-size:1.02rem}.ob-dashboard-grid .ob-scanner-demo,.ob-dashboard-grid .ob-members-demo{padding:1.25rem}.ob-dashboard-grid .ob-members-list{max-height:320px}.ob-dashboard-grid .ob-scanner-camera{aspect-ratio:1}.ob-grid-arrow{display:none}@media(min-width:700px){.ob-dashboard-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:.5rem;align-items:center}.ob-grid-arrow{display:flex;align-items:center;justify-content:center;font-size:2rem;opacity:.35;-webkit-user-select:none;user-select:none;padding:0 .25rem}.ob-dashboard-grid .ob-dashboard-features{grid-column:1 / -1}}.ob-browser-mockup{border:2px solid;border-radius:16px;overflow:hidden;margin-bottom:1.5rem;box-shadow:0 8px 32px #0003}.ob-browser-bar{display:flex;align-items:center;padding:.6rem 1rem;gap:.75rem}.ob-browser-dots{display:flex;gap:6px;flex-shrink:0}.ob-browser-dots span{width:10px;height:10px;border-radius:50%}.ob-browser-url{flex:1;padding:.35rem .75rem;border-radius:8px;font-size:.85rem;text-align:center}.ob-browser-content{padding:2rem 1.5rem}.ob-mock-login{text-align:center}.ob-mock-login-logo{margin-bottom:1rem}.ob-mock-login-img{width:48px;height:48px;object-fit:contain;border-radius:12px}.ob-mock-login h3{font-size:1.1rem;margin-bottom:1.25rem}.ob-pincode-display{padding:1.25rem;border:2px dashed;border-radius:16px;margin-bottom:1rem}.ob-pincode-dots{display:flex;justify-content:center;gap:.75rem;margin-bottom:.75rem}.ob-pincode-dot{width:16px;height:16px;border-radius:50%;border:2px solid;transition:all .3s ease}.ob-pincode-dot.filled{animation:ob-dotFill .3s ease forwards}.ob-pincode-dot.filled:nth-child(1){animation-delay:0ms}.ob-pincode-dot.filled:nth-child(2){animation-delay:.1s}.ob-pincode-dot.filled:nth-child(3){animation-delay:.2s}.ob-pincode-dot.filled:nth-child(4){animation-delay:.3s}@keyframes ob-dotFill{0%{transform:scale(.8)}50%{transform:scale(1.3)}to{transform:scale(1)}}.ob-pincode-label{font-size:.8rem;margin:0}.ob-mock-btn{padding:.6rem 1.5rem;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.ob-mock-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0003}.ob-mock-logged-in{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;font-weight:600}.ob-check-anim{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#22c55e;color:#fff;font-size:.8rem;font-weight:700;animation:ob-checkPop .4s cubic-bezier(.175,.885,.32,1.275)}@keyframes ob-checkPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.ob-dashboard-features{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.ob-feature-pill{display:flex;align-items:center;gap:.4rem;padding:.5rem 1rem;border-radius:100px;font-size:.85rem;font-weight:600}.ob-scanner-demo{border:1px solid;border-radius:16px;padding:1rem;margin-bottom:1rem;text-align:left}.ob-scanner-header{margin-bottom:.5rem}.ob-scanner-header h4{font-size:.95rem;font-weight:700;margin:0}.ob-scanner-desc{font-size:.82rem;line-height:1.5;margin:0 0 .75rem}.ob-scanner-viewfinder{border-radius:12px;overflow:hidden;margin-bottom:.75rem}.ob-scanner-camera{position:relative;aspect-ratio:4 / 3;background:#0a0a0f;display:flex;align-items:center;justify-content:center;overflow:hidden}.ob-scanner-idle{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ob-scanner-corners{position:absolute;inset:20%}.ob-scanner-corners span{position:absolute;width:20px;height:20px;border-color:#fff9;border-style:solid;border-width:0}.ob-scanner-corners span:nth-child(1){top:0;left:0;border-top-width:3px;border-left-width:3px;border-radius:4px 0 0}.ob-scanner-corners span:nth-child(2){top:0;right:0;border-top-width:3px;border-right-width:3px;border-radius:0 4px 0 0}.ob-scanner-corners span:nth-child(3){bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 4px}.ob-scanner-corners span:nth-child(4){bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 4px}.ob-scanner-line{position:absolute;left:20%;right:20%;height:2px;background:linear-gradient(90deg,transparent,#3b82f6,transparent);animation:ob-scanLine 2s ease-in-out infinite;box-shadow:0 0 8px #3b82f680}@keyframes ob-scanLine{0%,to{top:22%}50%{top:75%}}.ob-scanner-hint{position:absolute;bottom:10%;left:0;right:0;text-align:center;color:#ffffff80;font-size:.8rem;font-weight:500}.ob-scanner-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;color:#fff;animation:ob-fadeIn .25s ease}.ob-scanner-loading-state{background:#3b82f6d9}.ob-scanner-success-state{background:#22784ae6}.ob-scanner-reward-state{background:linear-gradient(135deg,#b45309eb,#d97706eb)}.ob-scanner-icon{font-size:2.5rem;animation:ob-scanPop .35s cubic-bezier(.175,.885,.32,1.275)}@keyframes ob-scanPop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}.ob-scanner-result-name{font-size:1.2rem;font-weight:800;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.3)}.ob-scanner-result-msg{font-size:1rem;font-weight:600;margin:0;opacity:.9}.ob-scanner-countdown{width:80%;max-width:200px;height:3px;background:#fff3;border-radius:2px;margin-top:.5rem;overflow:hidden}.ob-scanner-countdown-bar{height:100%;background:#fff;border-radius:2px;animation:ob-countdownShrink 2.5s linear forwards}@keyframes ob-countdownShrink{0%{width:100%}to{width:0%}}.ob-scanner-bar-bottom{padding:.5rem .75rem;text-align:center;min-height:2rem;display:flex;align-items:center;justify-content:center}.ob-scanner-bar-bottom p{font-size:.8rem;margin:0}.ob-scanner-tip{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border-radius:10px;border:1px solid;font-size:.8rem}.ob-scanner-tip span{flex-shrink:0}.ob-scanner-tip p{margin:0;line-height:1.45}.ob-members-demo{border:1px solid;border-radius:16px;padding:1rem;margin-bottom:1.5rem;text-align:left}.ob-members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.ob-members-header h4{font-size:.95rem;font-weight:700;margin:0}.ob-members-count{font-size:.75rem;font-weight:700;padding:.2rem .6rem;border-radius:100px}.ob-members-search-wrap{position:relative;margin-bottom:.5rem}.ob-members-search-icon{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);font-size:.85rem;pointer-events:none}.ob-members-search{width:100%;padding:.55rem .7rem .55rem 2.1rem;border:1px solid;border-radius:10px;font-size:.85rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.ob-members-search:focus{border-color:#fff6!important}.ob-members-search::placeholder{opacity:.4}.ob-members-search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;opacity:.6}.ob-members-search-clear:hover{opacity:1}.ob-members-hint{font-size:.75rem;font-style:italic;margin:0 0 .5rem;opacity:.8}.ob-members-list{display:flex;flex-direction:column;gap:4px;max-height:260px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}.ob-members-empty{text-align:center;padding:1.5rem 1rem;font-size:.85rem;opacity:.6}.ob-member-row{display:flex;align-items:center;gap:.6rem;padding:.55rem .65rem;border-radius:10px;border:1px solid;transition:background .15s ease;animation:ob-fadeIn .2s ease}.ob-member-avatar{width:32px;height:32px;min-width:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem}.ob-member-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.ob-member-name{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ob-member-meta{font-size:.7rem}.ob-member-stats{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ob-member-stats span{font-size:.8rem;white-space:nowrap}.ob-member-stats small{font-size:.65rem;font-weight:400}.ob-member-reward-badge{font-size:.7rem!important;font-weight:600;padding:.1rem .45rem;border-radius:100px}.ob-url-callout{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:14px;border:1px solid;text-align:left}.ob-url-icon{font-size:1.5rem;flex-shrink:0}.ob-url-callout strong{display:block;font-size:1rem;margin-bottom:.25rem}.ob-url-callout p{font-size:.85rem;margin:0;line-height:1.4}.ob-configurator{text-align:center}.ob-config-container{border:1px solid;border-radius:20px;padding:1.25rem;margin-bottom:1rem;text-align:left}.ob-config-layout{display:flex;flex-direction:column;gap:1.25rem}.ob-config-form{display:flex;flex-direction:column;gap:1rem}.ob-config-section h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.ob-config-field{margin-bottom:.75rem}.ob-config-field label{display:block;font-size:.75rem;font-weight:600;margin-bottom:.3rem}.ob-config-field input[type=text],.ob-config-field input[type=number]{width:100%;padding:.6rem .75rem;border:1px solid;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .2s ease;box-sizing:border-box}.ob-config-field input:focus{border-color:#ffffff80!important}.ob-config-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ob-color-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.ob-color-picker label{display:block;font-size:.75rem;font-weight:600;margin-bottom:.3rem}.ob-color-input{display:flex;align-items:center;gap:.5rem}.ob-color-input input[type=color]{width:28px;height:28px;border:none;border-radius:6px;cursor:pointer;padding:0;background:none}.ob-color-input input[type=color]::-webkit-color-swatch-wrapper{padding:0}.ob-color-input input[type=color]::-webkit-color-swatch{border:2px solid rgba(255,255,255,.2);border-radius:6px}.ob-color-input span{font-size:.7rem;font-family:monospace}.ob-config-uploads{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media(max-width:600px){.ob-config-uploads{grid-template-columns:1fr}}.ob-mock-upload{border:2px dashed;border-radius:12px;overflow:hidden;cursor:pointer;transition:border-color .2s ease,transform .15s ease;display:flex;flex-direction:column}.ob-mock-upload:hover{transform:scale(1.01)}.ob-mock-upload-preview{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.ob-mock-upload-logo{height:80px;padding:.5rem}.ob-mock-upload-logo img{max-width:60px;max-height:60px;object-fit:contain;border-radius:8px}.ob-mock-upload-strip{height:64px}.ob-mock-upload-strip img{width:100%;height:100%;object-fit:cover}.ob-mock-upload-badge{position:absolute;top:4px;right:4px;font-size:.6rem;font-weight:700;padding:2px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.03em}.ob-mock-upload-cta{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .5rem}.ob-mock-upload-icon{font-size:1.1rem;margin-bottom:.1rem}.ob-config-field-hint{display:block;font-size:.72rem;margin-top:.3rem;opacity:.7;line-height:1.3}.ob-config-preview{text-align:center}.ob-config-preview h4{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.ob-preview-card{border-radius:16px;padding:1.25rem;box-shadow:0 8px 24px #0003;transition:all .3s ease;text-align:center}.ob-preview-logo{width:36px;height:36px;object-fit:contain;border-radius:8px;margin-bottom:.5rem}.ob-preview-card h4{font-size:1rem;margin-bottom:.25rem;text-transform:none;letter-spacing:normal}.ob-preview-punches{display:flex;justify-content:center;gap:.2rem;flex-wrap:wrap;margin:.75rem 0 0}.ob-preview-punches span{font-size:1.1rem;opacity:.25;transition:opacity .2s ease}.ob-preview-punches span.filled{opacity:1}.ob-preview-hint{font-size:.8rem;margin-top:.75rem;font-style:italic}.ob-emoji-selector{display:flex;flex-wrap:wrap;gap:4px}.ob-emoji-btn{width:36px;height:36px;padding:0;border:2px solid;border-radius:8px;cursor:pointer;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.ob-emoji-btn:hover{transform:scale(1.15);filter:brightness(1.2)}.ob-emoji-btn.selected{transform:scale(1.1);box-shadow:0 0 0 2px #fff3}.ob-config-note{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;line-height:1.5;text-align:left}.ob-get-started{text-align:center}.ob-final-icon{font-size:4rem;margin-bottom:1rem}.ob-checklist{display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;text-align:left}.ob-check-item{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border-radius:14px;border:1px solid}.ob-check-number{width:28px;height:28px;min-width:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;margin-top:.1rem}.ob-check-item strong{display:block;font-size:.95rem;margin-bottom:.2rem}.ob-check-item p{font-size:.85rem;margin:0;line-height:1.4}.ob-cta-btn{display:inline-block;padding:1rem 2.5rem;border-radius:14px;font-size:1.1rem;font-weight:700;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 16px #0003;margin-bottom:1.5rem}.ob-cta-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000004d}.ob-help-note{font-size:.85rem;opacity:.7}@media(min-width:580px){.ob-config-layout{flex-direction:row}.ob-config-form{flex:1}.ob-config-preview{flex:0 0 200px;position:sticky;top:1rem}}.analytics-page{min-height:100vh;background:var(--background);padding:2rem}.analytics-page-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.analytics-page-header .back-btn{padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;font-size:.875rem}.analytics-page-header .back-btn:hover{background:var(--border)}.analytics-page-header h1{font-size:1.75rem;font-weight:600;color:var(--foreground);margin:0}.aa-store-label{font-size:.85rem;color:var(--muted-foreground);background:var(--secondary);padding:.25rem .75rem;border-radius:var(--radius-sm)}.analytics-page-content{max-width:1200px;margin:0 auto;min-width:0;overflow-x:hidden}.notification-planning-page{min-height:100vh;background:var(--background);padding:2rem}.np-header{margin-bottom:1.5rem}.np-header h1{font-size:1.25rem;font-weight:600;margin:0 0 .25rem}.np-subtitle{font-size:.9rem;color:var(--muted-foreground);margin:0 0 1rem}.np-controls{display:flex;gap:1rem;align-items:center}.np-select{padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);font-size:.9rem}.np-store-bar,.np-view-bar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.np-label{font-size:.85rem;font-weight:600;color:var(--muted-foreground)}.np-store-chips{display:flex;flex-wrap:wrap;gap:.5rem}.np-chip{padding:.4rem .75rem;border:1px solid var(--border);border-radius:var(--radius-full);background:var(--background);font-size:.85rem;cursor:pointer}.np-chip:hover{background:var(--secondary)}.np-chip.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.np-view-toggle{display:flex;gap:0}.np-toggle-btn{padding:.4rem .75rem;border:1px solid var(--border);background:var(--background);font-size:.85rem;cursor:pointer}.np-toggle-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.np-toggle-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.np-toggle-btn.active{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}.np-weeks-label{font-size:.9rem}.np-week-nav{display:flex;gap:.5rem;margin-left:1rem}.np-nav-btn{padding:.35rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);color:var(--foreground);cursor:pointer}.np-nav-btn:hover{background:var(--secondary)}.np-grid-wrap{overflow-x:auto;margin-top:1rem}.np-grid{width:100%;border-collapse:separate;border-spacing:.5rem}.np-grid-pie-th{width:100px;min-width:100px;padding:.25rem;vertical-align:bottom}.np-grid-pie-td{width:100px;min-width:100px;padding:.25rem;vertical-align:middle}.np-pie-wrap{margin:0 auto;flex-shrink:0}.np-week-th-pie{display:flex;justify-content:center;margin-bottom:.25rem}.np-grid-store-th,.np-grid-week-th{padding:.5rem;font-size:.8rem;font-weight:600;color:var(--muted-foreground);text-align:left}.np-grid-week-th{text-align:center;min-width:120px}.np-grid-store{padding:.75rem;font-size:.9rem;font-weight:500;vertical-align:top;min-width:140px}.np-grid-row:hover .np-grid-store{background:var(--secondary);border-radius:var(--radius-sm)}.np-week-cell{border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem;min-width:120px;min-height:100px;vertical-align:top}.np-week-cell>*{display:block;margin-bottom:.25rem}.np-week-empty{color:var(--muted-foreground);font-size:.9rem}.np-week-label{font-size:.75rem;color:var(--muted-foreground)}.np-week-metric{font-size:1.1rem;font-weight:600}.np-week-thompson{font-size:.75rem;color:var(--muted-foreground)}.np-suggestions-cta{margin-top:auto;padding:.25rem 0;background:none;border:none;font-size:.8rem;color:var(--primary);cursor:pointer;text-align:left}.np-suggestions-cta:hover{text-decoration:underline}.np-segment-row .np-grid-store{font-size:.85rem}.np-loading,.np-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--muted-foreground)}.np-promo-summary{margin-top:2rem;padding:1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius)}.np-promo-summary h3{font-size:.95rem;margin:0 0 .5rem}.np-promo-summary p{font-size:.9rem;margin:0;color:var(--muted-foreground)}.np-promo-link{display:inline-block;margin-top:.5rem;font-size:.85rem;color:var(--primary);text-decoration:none}.np-promo-link:hover{text-decoration:underline}.np-birthday-section{margin-top:2rem;padding:1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius)}.np-birthday-header{font-size:.95rem;margin:0 0 .5rem;cursor:pointer}.np-birthday-header.clickable:hover{color:var(--primary)}.np-birthday-empty{font-size:.9rem;color:var(--muted-foreground);margin:0}.np-birthday-table-wrap{display:flex;flex-direction:column;gap:.75rem}.np-birthday-row{border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem;background:var(--background)}.np-birthday-row-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.np-birthday-store{font-weight:600}.np-birthday-week{font-size:.85rem;color:var(--muted-foreground)}.np-birthday-members{font-size:.85rem;flex:1;min-width:120px}.np-birthday-fetch-btn{padding:.35rem .6rem;font-size:.8rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--primary);color:var(--primary-foreground);cursor:pointer}.np-birthday-fetch-btn:hover:not(:disabled){opacity:.9}.np-birthday-fetch-btn:disabled{opacity:.6;cursor:not-allowed}.np-birthday-detail{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}.np-birthday-detail-section{margin-bottom:.75rem}.np-birthday-detail-section h4{font-size:.75rem;font-weight:600;margin:0 0 .35rem;color:var(--muted-foreground)}.np-suggestions-panel{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.np-suggestions-loading{font-size:.8rem;color:var(--muted-foreground)}.np-suggestion-item{margin-bottom:.5rem;font-size:.8rem}.np-suggestion-badge{display:inline-block;padding:.15rem .4rem;border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;margin-right:.35rem}.np-suggestion-badge.np-notification{background:#e1e9f4;color:var(--primary)}.np-suggestion-badge.np-promotion{background:#dbfae6;color:var(--success)}.np-suggestion-badge.np-avoid{background:#fcd9d9;color:var(--error)}.np-suggestion-target{color:var(--muted-foreground)}.np-suggestion-header{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.2rem}.np-suggestion-uplift{font-size:.7rem;color:var(--success);font-weight:600}.np-suggestion-expand-btn{margin-left:auto;padding:.15rem .4rem;font-size:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent;color:var(--muted-foreground);cursor:pointer}.np-suggestion-expand-btn:hover{background:var(--secondary);color:var(--foreground)}.np-suggestion-detail-modal{margin-top:.5rem;padding:.75rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.8rem}.np-suggestion-detail-section{margin-bottom:.75rem}.np-suggestion-detail-section:last-child{margin-bottom:0}.np-suggestion-detail-section h4{font-size:.75rem;font-weight:600;margin:0 0 .35rem;color:var(--muted-foreground)}.np-suggestion-prompt{margin:0;padding:.5rem;background:var(--background);border-radius:var(--radius-sm);font-size:.7rem;white-space:pre-wrap;word-break:break-word;max-height:12rem;overflow-y:auto}.np-promo-list{margin:.25rem 0 0;padding-left:1.25rem}.np-uplift-value{font-weight:600;color:var(--success)}.np-suggestion-message{margin:.25rem 0 0;font-weight:500}.np-suggestion-rationale{margin:.1rem 0 0;color:var(--muted-foreground);font-size:.75rem}.np-suggestions-disabled{opacity:.6;cursor:not-allowed}.aa-embedded{padding:0}.aa-loading,.aa-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--muted-foreground)}.aa-skeleton{padding:0}.aa-skeleton .aa-skeleton-block{background:linear-gradient(90deg,var(--secondary) 0%,var(--border) 50%,var(--secondary) 100%);background-size:200% 100%;animation:aa-skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.aa-skeleton .aa-skeleton-block.title{border-radius:4px}@keyframes aa-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.aa-error button{padding:.5rem 1.5rem;background:var(--primary);color:var(--primary-foreground);border:none;border-radius:var(--radius-sm);cursor:pointer}.health-check-page{min-height:100vh;background:var(--background);padding:2rem;max-width:1000px;margin:0 auto}.health-check-header{margin-bottom:1.5rem}.health-check-header .back-btn{padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer;font-size:.875rem;margin-bottom:1rem}.health-check-header .back-btn:hover{background:var(--border)}.health-check-header h1{font-size:1.75rem;font-weight:600;margin:0 0 .25rem}.health-check-sub{font-size:.9rem;color:var(--muted-foreground);margin:0}.health-check-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem}.health-check-interval-row{display:flex;align-items:center;gap:.5rem}.health-check-interval-row label{font-size:.9rem;color:var(--muted-foreground)}.health-check-interval-row input{width:4.5rem;padding:.4rem .5rem;font-size:.9rem;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.health-check-interval-row .interval-unit{font-size:.85rem;color:var(--muted-foreground)}.health-check-interval-row .interval-save-btn{padding:.35rem .75rem;font-size:.85rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer}.health-check-interval-row .interval-save-btn:hover:not(:disabled){background:var(--border)}.health-check-interval-row .interval-save-btn:disabled{opacity:.6;cursor:default}.health-check-controls .run-btn{padding:.5rem 1.25rem;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem}.health-check-controls .run-btn:hover:not(:disabled){filter:brightness(1.05)}.health-check-controls .run-btn:disabled{opacity:.7;cursor:not-allowed}.health-check-prune-row{display:flex;align-items:center;gap:.5rem}.health-check-prune-row label{font-size:.9rem;color:var(--muted-foreground)}.health-check-prune-row input{width:3rem;padding:.4rem .5rem;font-size:.9rem;background:var(--input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.health-check-prune-row .prune-btn{padding:.35rem .75rem;font-size:.85rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);cursor:pointer}.health-check-prune-row .prune-btn:hover:not(:disabled){background:var(--border)}.health-check-prune-row .prune-btn:disabled{opacity:.6;cursor:default}.health-check-error{padding:1rem;background:#ef43431a;border:1px solid var(--destructive);border-radius:var(--radius-sm);margin-bottom:1rem;color:var(--destructive)}.health-check-loading{display:flex;flex-direction:column;align-items:center;padding:3rem;gap:1rem;color:var(--muted-foreground)}.health-check-summary{display:flex;gap:1.5rem;margin-bottom:1.5rem}.health-check-kpi{padding:1rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.health-check-kpi .value{display:block;font-size:1.5rem;font-weight:700}.health-check-kpi .label{font-size:.8rem;color:var(--muted-foreground)}.health-check-table-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.health-check-table{width:100%;border-collapse:collapse}.health-check-table th,.health-check-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.health-check-table th{font-size:.8rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.05em}.health-check-table tr:last-child td{border-bottom:none}.health-check-table tr.issue{background:#ef43430d}.health-check-table .store-name{display:block;font-weight:500}.health-check-table .store-id{display:block;font-size:.8rem;color:var(--muted-foreground)}.health-check-table .status.ok{color:var(--success, #22c55e);font-weight:500}.health-check-table .status.fail{color:var(--destructive);font-weight:500}.health-check-table .status.na{color:var(--muted-foreground);font-style:italic}.health-check-table .empty{color:var(--muted-foreground);font-style:italic;text-align:center;padding:2rem}.health-check-timeline-section h2{display:flex;align-items:center;gap:1rem;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.health-check-timing-toggle{font-size:.8rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:6px;background:var(--card);color:var(--muted-foreground);cursor:pointer;transition:all .15s ease}.health-check-timing-toggle:hover{background:var(--muted);color:var(--foreground)}.health-check-table tr.timing-detail-row td{background:#80808008;font-size:.8rem;color:var(--muted-foreground);padding:.35rem .75rem;border-top:none;vertical-align:top}.health-check-table tr.timing-detail-row td.timing-detail-spacer{padding:.2rem;background:transparent}.health-check-table tr.timing-detail-row td.timing-detail-cell{min-width:140px}.health-check-table tr.timing-detail-row td.timing-gen{border-left:2px solid var(--chart-1, #3b82f6);background:#3c83f60a}.health-check-table tr.timing-detail-row td.timing-regen{border-left:2px solid var(--chart-2, #22c55e);background:#21c45d0a}.health-timing-subtable{width:100%;border-collapse:collapse;font-size:.75rem;font-family:ui-monospace,monospace}.health-timing-subtable td{padding:.15rem .5rem .15rem 0;border:none;vertical-align:top}.health-timing-subtable td.timing-key{color:var(--muted-foreground);white-space:nowrap}.health-timing-subtable td.timing-val{text-align:right;font-weight:500;color:var(--foreground)}.health-check-table .timing-empty{padding:.25rem;font-style:italic}.health-check-table .timing-breakdown{display:flex;flex-wrap:wrap;gap:1rem}.health-check-table .timing-breakdown div{font-family:ui-monospace,monospace}.spinner.small{width:1rem;height:1rem;border-width:2px}.health-check-timeline-section{margin-top:1.5rem}.health-check-timeline{position:relative;padding-left:1.5rem;border-left:2px solid var(--border);margin-left:.5rem}.health-check-timeline-empty{padding:2rem;text-align:center;color:var(--muted-foreground);font-size:.9rem}.health-check-timeline-item{position:relative;margin-bottom:.5rem}.health-check-timeline-item .timeline-marker{position:absolute;left:-1.6rem;top:1rem;width:10px;height:10px;border-radius:50%;background:var(--border)}.health-check-timeline-item.healthy .timeline-marker{background:var(--success, #22c55e)}.health-check-timeline-item.has-issues .timeline-marker{background:var(--destructive)}.health-check-timeline-item .timeline-content{margin-left:.5rem}.health-check-timeline-item .timeline-run-header{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;padding:.75rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;color:var(--foreground);text-align:left;transition:background .15s}.health-check-timeline-item .timeline-run-header:hover{background:var(--secondary)}.health-check-timeline-item.has-issues .timeline-run-header{border-color:#ef43434d}.health-check-timeline-item .timeline-time{font-weight:600;min-width:8rem}.health-check-timeline-item .timeline-relative{font-size:.8rem;color:var(--muted-foreground)}.health-check-timeline-item .timeline-summary{flex:1;display:flex;align-items:center;gap:.5rem}.health-check-timeline-item .timeline-summary .fail-badge{font-size:.75rem;padding:.15rem .4rem;background:#ef434333;color:var(--destructive);border-radius:var(--radius-sm)}.health-check-timeline-item .timeline-duration{font-size:.8rem;color:var(--muted-foreground)}.health-check-timeline-item .expand-icon{font-size:.7rem;color:var(--muted-foreground)}.health-check-timeline-item .timeline-run-detail{margin-top:.5rem;margin-left:.5rem;padding:1rem;background:var(--secondary);border-radius:var(--radius-sm)}.health-check-timeline-item .timeline-run-detail .health-check-table{background:var(--card)}.health-check-analytics-section{margin-top:2rem}.health-check-system-section{margin-top:1.5rem}.health-check-system-grid{display:flex;flex-wrap:wrap;gap:.75rem}.health-check-system-item{display:flex;align-items:center;gap:.35rem;padding:.5rem .75rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.85rem}.health-check-system-item.ok{border-color:var(--success);background:#16a24914}.health-check-system-item.fail{border-color:var(--destructive);background:#ef434314}.health-check-system-item .status-icon{font-weight:700}.health-check-system-item.ok .status-icon{color:var(--success)}.health-check-system-item.fail .status-icon{color:var(--destructive)}.health-check-system-item .latency{font-size:.75rem;color:var(--muted-foreground);margin-left:.25rem}.health-check-summary-banner{margin-top:.75rem;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}.health-check-summary-banner.warning{background:#facc1426;border:1px solid hsl(48 96% 53% / .4);color:var(--foreground)}.health-check-resources-section h2{display:flex;align-items:center;gap:1rem}.health-check-thresholds-toggle{font-size:.8rem;padding:.25rem .5rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--foreground)}.health-check-thresholds-toggle:hover{background:var(--accent)}.health-check-thresholds-editor{margin-bottom:1rem;padding:1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm)}.health-check-thresholds-grid{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.health-check-threshold-row{display:flex;align-items:center;gap:.5rem}.health-check-threshold-row label{min-width:5rem;font-size:.85rem}.health-check-threshold-row input{width:4rem;padding:.25rem .5rem;font-size:.85rem}.health-check-thresholds-actions{display:flex;gap:.5rem}.health-check-resources-grid{display:flex;flex-direction:column;gap:1rem}.health-check-resource-bar{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.25rem .75rem;align-items:center}.health-check-resource-bar .resource-label{display:flex;justify-content:space-between;font-size:.9rem}.health-check-resource-bar .resource-value{font-weight:600}.health-check-resource-bar .resource-bar-track{grid-column:1;height:8px;background:var(--secondary);border-radius:var(--radius-full);overflow:hidden}.health-check-resource-bar .resource-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .2s ease}.health-check-resource-bar.status-ok .resource-bar-fill{background:var(--success)}.health-check-resource-bar.status-warning .resource-bar-fill{background:#eab308}.health-check-resource-bar.status-at_limit .resource-bar-fill{background:#f97316}.health-check-resource-bar.status-critical .resource-bar-fill{background:var(--destructive)}.resource-status-badge,.health-check-resource-bar .resource-meta{grid-column:2;grid-row:1 / -1}.health-check-resource-bar .resource-meta{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}.resource-status-badge{font-size:.7rem;padding:.2rem .4rem;border-radius:var(--radius-sm);text-transform:capitalize}.resource-status-badge.status-ok{background:#16a24933;color:var(--success)}.resource-status-badge.status-warning{background:#facc1433;color:#b45309}.resource-status-badge.status-at_limit{background:#f9741533;color:#ea580c}.resource-status-badge.status-critical{background:#ef434333;color:var(--destructive)}.health-check-investigate-disk{grid-column:2;grid-row:2;font-size:.75rem;padding:.2rem .5rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;color:var(--foreground)}.health-check-investigate-disk:hover{background:var(--accent)}.health-check-investigate-disk:disabled{opacity:.6;cursor:not-allowed}.health-check-disk-breakdown{margin-top:1rem;padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.health-check-disk-breakdown h4{margin:0 0 .5rem;font-size:.95rem}.health-check-disk-breakdown .disk-breakdown-path,.health-check-disk-breakdown .disk-breakdown-total{margin:.25rem 0;font-size:.85rem}.health-check-disk-breakdown .disk-breakdown-path code{font-size:.8rem;background:var(--secondary);padding:.1rem .3rem;border-radius:var(--radius-sm)}.health-check-disk-breakdown .disk-breakdown-table{width:100%;margin-top:.5rem;font-size:.85rem;border-collapse:collapse}.health-check-disk-breakdown .disk-breakdown-table th,.health-check-disk-breakdown .disk-breakdown-table td{padding:.35rem .5rem;text-align:left;border-bottom:1px solid var(--border)}.health-check-disk-breakdown .disk-breakdown-table th{font-weight:600}.health-check-disk-breakdown .disk-breakdown-table td.muted{color:var(--muted-foreground);font-size:.8rem}.health-check-disk-breakdown .disk-breakdown-recommendations{margin-top:1rem}.health-check-disk-breakdown .disk-breakdown-recommendations h5{margin:0 0 .5rem;font-size:.9rem}.health-check-disk-breakdown .disk-breakdown-recommendations ul{margin:0;padding-left:1.25rem;font-size:.85rem;color:var(--muted-foreground)}.health-check-timing-chart{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.health-check-resource-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.health-check-resource-charts .resource-chart{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem}.health-check-resource-charts .resource-chart h4{font-size:.9rem;margin:0 0 .5rem}.health-check-table-wrap.compact .health-check-table td,.health-check-table-wrap.compact .health-check-table th{padding:.5rem .75rem;font-size:.85rem}.health-check-section{margin-top:0;padding-top:0;border-top:none}.health-check-section h2{font-size:1.1rem;font-weight:600;margin:0 0 1rem;display:flex;align-items:center;gap:.75rem}.health-check-period-select{font-size:.85rem;padding:.25rem .5rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground)}.health-check-analytics-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem}.health-check-analytics-kpi{padding:1rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.health-check-analytics-kpi .value{display:block;font-size:1.25rem;font-weight:700}.health-check-analytics-kpi .label{font-size:.75rem;color:var(--muted-foreground)}.health-check-issues-table-wrap{margin-top:1rem}.health-check-issues-table-wrap h3{font-size:.9rem;font-weight:600;margin:0 0 .5rem}.health-check-empty-msg{color:var(--muted-foreground);font-size:.9rem;margin:0}.health-check-history-list{display:flex;flex-direction:column;gap:.5rem}.health-check-history-item{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.health-check-history-item.has-issues{border-color:#ef43434d}.health-check-history-header{width:100%;display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--card);border:none;cursor:pointer;font-size:.9rem;color:var(--foreground);text-align:left}.health-check-history-header:hover{background:var(--secondary)}.health-check-history-header .run-time{font-weight:500;min-width:6rem}.health-check-history-header .run-meta{flex:1;display:flex;align-items:center;gap:.5rem}.health-check-history-header .fail-badge{font-size:.75rem;padding:.15rem .4rem;background:#ef434333;color:var(--destructive);border-radius:var(--radius-sm)}.health-check-history-header .run-duration{font-size:.8rem;color:var(--muted-foreground)}.health-check-history-header .expand-icon{font-size:.7rem;color:var(--muted-foreground)}.health-check-history-detail{padding:0 1rem 1rem;background:var(--secondary)}.health-check-history-detail .health-check-table{background:var(--card)}.aa-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem;min-width:0;overflow:hidden}.aa-section-header{display:flex;justify-content:space-between;align-items:center}.aa-section-header.clickable{cursor:pointer;padding:.5rem;margin:-.5rem;border-radius:var(--radius)}.aa-section-header.clickable:hover{background:var(--secondary)}.aa-section-header h2{font-size:1.1rem;font-weight:600;margin:0}.aa-section-header .toggle-btn{background:transparent;border:none;color:var(--muted-foreground);font-size:.85rem;cursor:pointer}.aa-section-header-actions{display:flex;align-items:center;gap:1rem}.aa-compare-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--muted-foreground);cursor:pointer;-webkit-user-select:none;user-select:none}.aa-compare-toggle input[type=checkbox]{accent-color:var(--primary)}.aa-goal-input{width:60px;padding:.25rem .5rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card)}.aa-inline-insight{margin-top:.75rem;font-size:.9rem;color:var(--muted-foreground)}.aa-section-body{margin-top:1.5rem}.aa-empty{color:var(--muted-foreground);font-size:.85rem;text-align:center;padding:2rem 0}.aa-kpi-grid{display:grid;gap:1rem;margin-bottom:1.5rem;min-width:0}.aa-kpi-grid:last-child{margin-bottom:0}.aa-kpi-grid.primary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.aa-kpi-grid.secondary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.aa-kpi-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;display:flex;flex-direction:column;gap:.25rem}.aa-kpi-trend{font-size:.75rem;font-weight:500;margin-left:.35rem}.aa-kpi-trend.up{color:var(--success)}.aa-kpi-trend.down{color:var(--error)}.aa-kpi-trend.neutral{color:var(--muted-foreground)}.aa-kpi-card.highlight{background:#2d4b761a;border-color:var(--accent)}.aa-kpi-card.small{padding:1rem}.aa-kpi-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted-foreground)}.aa-kpi-value{font-size:1.75rem;font-weight:700;color:var(--foreground);line-height:1.2}.aa-kpi-card.highlight .aa-kpi-value{color:var(--accent)}.aa-kpi-card.small .aa-kpi-value{font-size:1.25rem}.aa-kpi-sub{font-size:.7rem;color:var(--muted-foreground)}.ms-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.ms-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary);color:var(--foreground);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s ease}.ms-tab:hover{border-color:var(--accent)}.ms-tab.active{background:#2d4b7626;border-color:var(--accent);color:var(--accent)}.ms-tab-sub{font-size:.7rem;font-weight:400;color:var(--muted-foreground)}.ms-tab.active .ms-tab-sub{color:var(--accent);opacity:.7}.ms-hero-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}.ms-hero-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.25rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg)}.ms-hero-value{font-size:2rem;font-weight:700;color:var(--accent);line-height:1.1;margin-bottom:.25rem}.ms-hero-label{font-size:.8rem;font-weight:600;color:var(--foreground);margin-bottom:.15rem}.ms-hero-sub{font-size:.7rem;color:var(--muted-foreground)}.ms-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.ms-detail-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.85rem .5rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius)}.ms-detail-value{font-size:1.25rem;font-weight:700;color:var(--foreground);line-height:1.2;margin-bottom:.15rem}.ms-detail-label{font-size:.7rem;color:var(--muted-foreground);font-weight:500}@media(max-width:640px){.ms-hero-row{grid-template-columns:1fr}.ms-detail-grid{grid-template-columns:repeat(2,1fr)}.ms-tabs{flex-direction:column}}.vd-observed{--vd-observed: #1e3a8a}.vd-poisson{--vd-poisson: #059669}.vd-negbin{--vd-negbin: #d97706}.vd-geometric{--vd-geometric: #7c3aed}:root{--vd-observed: #1e3a8a;--vd-poisson: #059669;--vd-negbin: #d97706;--vd-geometric: #7c3aed;--vd-thompson: #0d9488}.dark{--vd-observed: #60a5fa;--vd-poisson: #34d399;--vd-negbin: #fbbf24;--vd-geometric: #a78bfa;--vd-thompson: #2dd4bf}.vd-recommendation{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.vd-modeling-panel{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}.vd-model-row,.vd-params-row{display:flex;align-items:center;gap:.5rem}.vd-model-label{font-weight:600;font-size:.9rem}.vd-model-select{padding:.35rem .6rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);font-size:.9rem}.vd-params-row label{font-size:.85rem;color:var(--muted-foreground);margin-left:.5rem}.vd-params-row label:first-of-type{margin-left:0}.vd-param-input{width:5rem;padding:.25rem .4rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);font-size:.9rem}.vd-reset-btn{margin-left:.5rem;padding:.3rem .6rem;font-size:.8rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--primary);color:var(--primary-foreground);cursor:pointer}.vd-reset-btn:hover{opacity:.9}.vd-chart-desc{font-size:.8rem;color:var(--muted-foreground);margin:0 0 .35rem;line-height:1.3}.vd-fit-score,.vd-fit-scores{font-size:.85rem;color:var(--muted-foreground);margin-bottom:.5rem}.vd-fit-score strong{color:var(--foreground)}.vd-badge{padding:.35rem .75rem;border-radius:var(--radius);font-size:.85rem;font-weight:600}.vd-badge.vd-poisson_adequate{background:#dbfae6;color:#107535}.vd-badge.vd-use_negbin,.vd-badge.vd-use_segmented,.vd-badge.vd-use_negbin_segmented{background:#fdf0d8;color:#7f5305}.vd-meta{font-size:.8rem;color:var(--muted-foreground)}.vd-benchmark,.vd-per-store,.vd-advanced{margin-top:1rem}.vd-subtitle{font-size:.9rem;font-weight:600;color:var(--foreground);margin-bottom:.5rem}.vd-store-table{overflow-x:auto}.vd-store-table table{width:100%;border-collapse:collapse;font-size:.85rem}.vd-store-table th,.vd-store-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--border)}.vd-store-table th{font-weight:600;color:var(--muted-foreground)}.vd-fit{font-size:.8rem;font-weight:600;padding:.2rem .5rem;border-radius:var(--radius-sm)}.vd-fit.vd-poisson_like{background:#dbfae6;color:#107535}.vd-fit.vd-overdispersed{background:#fdf0d8;color:#7f5305}.vd-fit.vd-underdispersed{background:#d8e6fd;color:#06347f}.vd-fit.vd-insufficient_data{background:var(--secondary);color:var(--muted-foreground)}.vd-model-card{padding:.5rem .75rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.5rem;font-size:.9rem}.vd-model-card strong{margin-right:.5rem}.vd-time-select{margin-top:1rem;font-size:.9rem}.vd-time-select select{margin-left:.5rem;padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.vd-stat-tooltip{cursor:help;border-bottom:1px dotted var(--muted-foreground)}.vd-backtest-block{margin-top:.75rem;font-size:.85rem}.vd-backtest-title{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.vd-backtest-summary{margin-bottom:.5rem;color:var(--muted-foreground)}.vd-backtest-table-wrap{overflow-x:auto;margin-top:.5rem}.vd-backtest-table{width:100%;border-collapse:collapse;font-size:.8rem}.vd-backtest-table th,.vd-backtest-table td{padding:.35rem .5rem;text-align:right;border-bottom:1px solid var(--border)}.vd-backtest-table th{font-weight:600;text-align:right}.vd-backtest-table td:first-child,.vd-backtest-table th:first-child{text-align:left}.vd-deviation-positive{color:var(--success)}.vd-deviation-negative{color:var(--error)}.vd-plot-section{margin-top:1.5rem}.vd-histogram-section,.vd-histogram-per-store,.vd-histogram-per-segment{margin-top:1rem}.vd-histogram-plot{margin-bottom:1rem}.vd-histogram-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:.5rem}.vd-histogram-single,.vd-ci-single{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.vd-histogram-model-label,.vd-histogram-store-group .vd-plot-title{font-size:.9rem;font-weight:600;margin-bottom:.5rem}.vd-histogram-store-group,.vd-ci-store-group{margin-bottom:1.5rem}.vd-ci-store-group .vd-plot-title{margin-bottom:.75rem}.vd-thompson-per-segment{margin-top:1.5rem}.vd-plot-container{min-height:220px;margin-top:.5rem}.vd-plot-container .vd-expandable-plot{min-height:280px}.vd-per-store-plots{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;margin-top:1rem}.vd-per-segment-plots{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-top:1rem}.vd-expandable-plot{position:relative}.vd-expand-btn{position:absolute;top:.5rem;right:.5rem;z-index:2;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:.35rem;cursor:pointer;color:var(--muted-foreground);display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}.vd-expand-btn:hover{color:var(--foreground);background:var(--secondary)}.modal.chart-expanded-modal{max-width:95vw;width:900px;display:flex;flex-direction:column;max-height:90vh}.modal.chart-expanded-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.modal.chart-expanded-modal .modal-header h3{margin:0;font-size:1.1rem}.modal.chart-expanded-modal .modal-close{background:transparent;border:none;font-size:1.5rem;color:var(--muted-foreground);cursor:pointer;padding:.25rem .5rem;line-height:1}.modal.chart-expanded-modal .modal-close:hover{color:var(--foreground)}.vd-store-plot-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:0 1px 2px #0000000d}.vd-store-plot-card .vd-plot-title{margin-bottom:.25rem}.vd-store-rmse{font-size:.75rem;color:var(--muted-foreground);margin-bottom:.5rem}.vd-store-rmse strong{color:var(--foreground)}.vd-segment-plot{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem}.vd-plot-title{font-size:.85rem;font-weight:600;margin:0 0 .5rem}.vd-comparison-plot{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.vd-comparison-plot .vd-plot-title{margin-bottom:.5rem}.tl-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem}.tl-summary-card{display:flex;align-items:flex-start;gap:.75rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1rem}.tl-summary-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.tl-summary-icon.signup{color:#22c55e}.tl-summary-icon.punch{color:#f97316}.tl-summary-icon.reward{color:#eab308}.tl-summary-info{display:flex;flex-direction:column;gap:.15rem}.tl-summary-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.tl-summary-row{font-size:.85rem;color:var(--foreground)}.tl-summary-row strong{font-weight:700}.tl-sep{margin:0 .35rem;color:var(--muted-foreground)}.tl-summary-latest{font-size:.7rem;color:var(--muted-foreground)}.tl-feed{max-height:500px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius);background:var(--secondary)}.tl-feed::-webkit-scrollbar{width:6px}.tl-feed::-webkit-scrollbar-track{background:var(--secondary);border-radius:3px}.tl-feed::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.tl-day-group{border-bottom:1px solid var(--border)}.tl-day-group:last-child{border-bottom:none}.tl-day-header{position:sticky;top:0;background:var(--card);padding:.4rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted-foreground);border-bottom:1px solid var(--border);z-index:1}.tl-event{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;font-size:.8rem;border-bottom:1px solid var(--border);transition:background .1s}.tl-event:last-child{border-bottom:none}.tl-event:hover{background:var(--card)}.tl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tl-event.signup .tl-dot{background:#22c55e}.tl-event.punch .tl-dot{background:#f97316}.tl-event.reward .tl-dot{background:#eab308}.tl-time{display:flex;align-items:center;gap:.25rem;min-width:56px;flex-shrink:0;color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem}.tl-tz-flag{font-size:.9em;line-height:1}.tl-store{display:flex;align-items:center;gap:.3rem;width:120px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted-foreground);font-size:.75rem}.tl-store-icon{font-size:.85rem}.tl-member{font-weight:500;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:80px;max-width:150px}.tl-member.clickable{cursor:pointer;transition:color .15s}.tl-member.clickable:hover{color:var(--accent-foreground, #3b82f6);text-decoration:underline;text-underline-offset:2px}.tl-detail{flex:1;color:var(--muted-foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-empty,.tl-cap{text-align:center;color:var(--muted-foreground);font-size:.75rem;padding:1rem}.aa-segments-layout{display:flex;gap:2rem;align-items:center}.aa-segments-chart{flex:0 0 260px}.aa-segments-legend{flex:1;display:flex;flex-direction:column;gap:.5rem}.aa-segment-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--secondary);border-radius:var(--radius-sm)}.aa-segment-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.aa-segment-name{flex:1;font-size:.85rem;font-weight:500;color:var(--foreground)}.aa-segment-count{font-size:.9rem;font-weight:700;color:var(--foreground);min-width:30px;text-align:right}.aa-segment-pct{font-size:.75rem;color:var(--muted-foreground);min-width:35px;text-align:right}.aa-cohort-table-wrap,.aa-churn-table-wrap,.aa-store-table-wrap{overflow-x:auto}.aa-cohort-table,.aa-churn-table,.aa-store-table{width:100%;border-collapse:collapse;font-size:.8rem}.aa-cohort-table th,.aa-churn-table th,.aa-store-table th{text-align:left;padding:.6rem .75rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground);background:var(--secondary);border-bottom:1px solid var(--border);white-space:nowrap}.aa-cohort-table td,.aa-churn-table td,.aa-store-table td{padding:.55rem .75rem;border-bottom:1px solid var(--border);color:var(--foreground);white-space:nowrap}.aa-cohort-table tbody tr:hover,.aa-churn-table tbody tr:hover,.aa-store-table tbody tr:hover{background:var(--secondary)}.cohort-label{font-weight:600;font-variant-numeric:tabular-nums}.aa-cohort-table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.aa-cohort-summary-cards{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.aa-cohort-summary-card{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;min-width:140px;display:flex;flex-direction:column;gap:.25rem}.aa-cohort-summary-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}.aa-cohort-summary-value{font-weight:600;font-size:1rem}.aa-cohort-summary-sub{font-size:.85rem;color:var(--muted-foreground)}.aa-cohort-heatmap-section{margin-top:2rem}.aa-cohort-heatmap-title{font-size:.95rem;font-weight:600;margin:0 0 1rem;color:var(--foreground)}.aa-cohort-heatmap-wrap{overflow-x:auto;max-width:100%}.aa-cohort-heatmap{border-collapse:collapse;font-size:.75rem;min-width:400px}.aa-cohort-heatmap th,.aa-cohort-heatmap td{padding:.4rem .5rem;text-align:center;border:1px solid var(--border)}.aa-cohort-heatmap th{background:var(--secondary);color:var(--muted-foreground);font-weight:600}.aa-cohort-heatmap-cell{color:#fff;font-weight:600;min-width:44px}.aa-heat-cell{display:inline-block;padding:.15rem .5rem;border-radius:4px;color:#fff;font-weight:600;font-size:.75rem;min-width:42px;text-align:center}.aa-churn-actions{display:flex;justify-content:flex-end;margin-bottom:1rem}.aa-export-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem 1rem;background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground);font-size:.8rem;text-decoration:none;cursor:pointer;transition:background .15s}.aa-export-btn:hover{background:var(--border)}.churn-name{display:block;font-weight:500}.churn-id{display:block;font-size:.65rem;color:var(--muted-foreground);font-variant-numeric:tabular-nums}.churn-email{color:var(--muted-foreground);font-size:.75rem}.churn-days{font-weight:700;color:#ef4444}.aa-store-chart{background:var(--secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1rem}.store-icon-cell{margin-right:.3rem}.aa-per-store-graph-card{border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden}.aa-per-store-graph-header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--secondary)}.aa-per-store-graph-header.clickable:hover{background:color-mix(in srgb,var(--secondary) 90%,var(--accent))}.aa-per-store-name{font-weight:600;flex:1}.aa-per-store-meta{font-size:.8rem;color:var(--muted-foreground)}.aa-per-store-graph-body{padding:1rem;background:var(--card)}.aa-week-chart{min-height:200px}@media(max-width:768px){.analytics-page{padding:1rem}.analytics-page-header{gap:.75rem;margin-bottom:1rem}.analytics-page-header h1{font-size:1.25rem}.aa-section{padding:.75rem 1rem}.aa-section-body{margin-top:1rem}.aa-kpi-grid.primary,.aa-kpi-grid.secondary{grid-template-columns:repeat(2,1fr)}.aa-kpi-card{padding:.75rem 1rem}.aa-kpi-card.small{padding:.6rem .75rem}.aa-kpi-value{font-size:1.35rem}.aa-segments-layout{flex-direction:column}.aa-segments-chart{flex:none;width:100%}.tl-summary{grid-template-columns:1fr}.tl-store{display:none}.tl-member{min-width:60px;max-width:100px}}@media(max-width:640px){.aa-kpi-grid.primary,.aa-kpi-grid.secondary,.admin-dashboard-kpis{grid-template-columns:1fr}}.tier-toggle-section{margin-top:.5rem;margin-bottom:0}.tier-mode-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;font-weight:500}.tier-mode-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent, #2563eb)}.tier-config{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:.75rem;margin-bottom:.75rem}.tier-config-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.tier-config-title{font-weight:600;font-size:.85rem;opacity:.9}.tier-add-btn{font-size:.75rem;padding:.2rem .5rem;border-radius:6px;border:1px dashed rgba(255,255,255,.2);background:transparent;color:inherit;cursor:pointer;opacity:.7;transition:opacity .15s}.tier-add-btn:hover{opacity:1;border-color:#fff6}.tier-list{display:flex;flex-direction:column;gap:.4rem}.tier-row{display:flex;align-items:flex-end;gap:.5rem}.tier-number{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#ffffff14;font-size:.7rem;font-weight:700;flex-shrink:0;margin-bottom:.2rem}.tier-field{display:flex;flex-direction:column;gap:.15rem}.tier-field label{font-size:.65rem;opacity:.6;text-transform:uppercase;letter-spacing:.03em}.tier-field input[type=number]{width:60px;padding:.3rem .4rem;font-size:.8rem;border-radius:6px}.tier-reward-field{flex:1}.tier-reward-field input[type=text]{width:100%;padding:.3rem .4rem;font-size:.8rem;border-radius:6px}.tier-remove-btn{background:transparent;border:none;color:#e74c3c;font-size:1.1rem;cursor:pointer;padding:0 .3rem;margin-bottom:.15rem;opacity:.5;transition:opacity .15s;line-height:1}.tier-remove-btn:hover{opacity:1}.tier-config>.hint{display:block;margin-top:.5rem;font-size:.72rem;opacity:.5;line-height:1.4}.deal-config{margin-top:.5rem}.deal-list label{display:block;font-size:.78rem;font-weight:500;margin-bottom:.5rem;opacity:.9}.deal-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.deal-emoji-picker{display:flex;flex-wrap:wrap;gap:2px;flex-shrink:0}.deal-emoji-opt{width:28px;height:28px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--secondary);font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.deal-emoji-opt:hover,.deal-emoji-opt.active{background:var(--accent);border-color:var(--accent);color:var(--accent-foreground)}.deal-text-input{flex:1;min-width:0;padding:.5rem .75rem;font-size:.9rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--background);color:var(--foreground)}.deal-add-btn{margin-top:.5rem}.preview-tiers{margin:.25rem 0}.tier-progress{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem}.tier-milestone{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .4rem;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);opacity:.5;transition:all .2s;min-width:52px}.tier-milestone.reached{opacity:.85;background:#ffc1071a;border-color:#ffc1074d}.tier-milestone.claimed{opacity:1;background:#2ecc711a;border-color:#2ecc714d}.tier-milestone .tier-icon{font-size:1rem}.tier-milestone .tier-label{font-size:.6rem;text-align:center;line-height:1.2;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tier-milestone .tier-threshold{font-size:.6rem;opacity:.5;font-weight:600}.funnel-page,.funnel-embedded{--fn-lead: hsl(270 60% 65%);--fn-lead-bg: hsl(270 30% 18%);--fn-outreach: hsl(160 60% 50%);--fn-outreach-bg: hsl(160 25% 16%);--fn-contacted: hsl(200 85% 62%);--fn-contacted-bg: hsl(200 30% 18%);--fn-surface: var(--card);--fn-surface-raised: var(--secondary);--fn-surface-sunken: var(--background);--fn-text: var(--foreground);--fn-text-secondary: var(--muted-foreground);--fn-text-muted: var(--muted-foreground);--fn-border: var(--border);--fn-input-bg: var(--background);--fn-input-border: var(--input);--fn-card-bg: var(--card);--fn-hover: var(--secondary);--fn-bg: var(--background);--fn-accent: var(--primary);--fn-accent-fg: var(--primary-foreground);--fn-error: var(--error);--fn-radius: var(--radius);--fn-radius-sm: var(--radius-sm)}.funnel-page{min-height:100vh;background:var(--background);color:var(--fn-text);padding:1.5rem;font-family:inherit}.funnel-embedded{color:var(--fn-text);padding:1.2rem;font-family:inherit;flex:1;overflow-y:auto}.fn-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.fn-search-bar{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.fn-country-filter{position:relative;display:inline-block;margin-bottom:.75rem}.fn-country-trigger{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;padding:.3rem .7rem;border-radius:6px;border:1px solid var(--fn-border);background:var(--fn-card-bg);color:var(--fn-text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s;white-space:nowrap}.fn-country-trigger:hover{background:var(--fn-hover);color:var(--fn-text);border-color:var(--fn-text-muted)}.fn-country-trigger.active{background:var(--fn-text);color:var(--fn-bg);border-color:var(--fn-text)}.fn-country-trigger-icon{font-size:.85rem}.fn-country-trigger-label{flex:1}.fn-country-trigger-clear{font-size:.7rem;opacity:.7;padding:0 .1rem;border-radius:3px}.fn-country-trigger-clear:hover{opacity:1}.fn-country-trigger-arrow{font-size:.6rem;opacity:.6}.fn-country-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:210px;max-height:320px;overflow-y:auto;background:var(--fn-card-bg);border:1px solid var(--fn-border);border-radius:8px;box-shadow:0 8px 24px #0000002e;padding:.3rem 0}.fn-country-menu-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.38rem .85rem;font-size:.8rem;font-weight:500;color:var(--fn-text-muted);background:none;border:none;cursor:pointer;text-align:left;transition:background .1s,color .1s;gap:.5rem}.fn-country-menu-item:hover{background:var(--fn-hover);color:var(--fn-text)}.fn-country-menu-item.active{color:var(--fn-text);font-weight:700}.fn-country-menu-item.active .fn-cmi-name:before{content:"✓ "}.fn-cmi-name{flex:1}.fn-cmi-count{font-size:.7rem;font-weight:700;opacity:.5;min-width:2.5rem;text-align:right}.fn-country-menu-item.active .fn-cmi-count{opacity:.75}.fn-country-menu-divider{height:1px;background:var(--fn-border);margin:.25rem 0}.fn-search-input{flex:1 1 260px;min-width:180px;padding:.45rem .75rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-card-bg);color:var(--fn-text);font-size:.85rem}.fn-search-country{flex:0 1 160px;min-width:120px;padding:.45rem .75rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-card-bg);color:var(--fn-text);font-size:.85rem}.fn-search-clear{padding:.45rem .85rem;border:1px solid var(--fn-border);border-radius:6px;background:transparent;color:var(--fn-text-muted);font-size:.82rem;cursor:pointer;white-space:nowrap}.fn-search-clear:hover{background:var(--fn-hover)}.fn-load-more{display:block;width:100%;margin:.5rem 0;padding:.6rem;border:1px dashed var(--fn-border);border-radius:6px;background:transparent;color:var(--fn-text-muted);font-size:.82rem;cursor:pointer;text-align:center;transition:background .15s,color .15s}.fn-load-more:hover{background:var(--fn-hover);color:var(--fn-text)}.fn-col-loading{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;color:var(--fn-text-muted);font-size:.82rem}.spinner-sm{width:14px;height:14px;border:2px solid var(--fn-border);border-top-color:var(--fn-text-muted);border-radius:50%;animation:spin .7s linear infinite}.fn-header h1{margin:0;font-size:1.4rem;font-weight:700;color:var(--fn-text)}.fn-header-stats{display:flex;gap:.6rem;margin-left:auto}.fn-stat{font-size:.75rem;padding:.25rem .6rem;border-radius:var(--radius-full);font-weight:600}.fn-stat.lead{background:var(--fn-lead-bg);color:var(--fn-lead)}.fn-stat.outreach{background:var(--fn-outreach-bg);color:var(--fn-outreach)}.fn-stat.contacted{background:var(--fn-contacted-bg);color:var(--fn-contacted)}.fn-board{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start;width:100%}@media(max-width:1100px){.fn-board{grid-template-columns:1fr}}.fn-column{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 180px)}.funnel-embedded .fn-column{max-height:calc(100vh - 140px)}.fn-column-header{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;border-bottom:1px solid var(--fn-border)}.fn-column-header h2{margin:0;font-size:.9rem;font-weight:600;color:var(--fn-text)}.fn-col-dot{width:8px;height:8px;border-radius:50%}.fn-col-dot.lead{background:var(--fn-lead)}.fn-col-dot.outreach{background:var(--fn-outreach)}.fn-col-dot.contacted{background:var(--fn-contacted)}.fn-col-count{margin-left:auto;font-size:.7rem;color:var(--fn-text-secondary);background:var(--fn-surface-sunken);padding:.15rem .5rem;border-radius:var(--radius-full)}.fn-column-body{overflow-y:auto;padding:.6rem;flex:1;display:flex;flex-direction:column;gap:.5rem}.fn-empty{text-align:center;color:var(--fn-text-secondary);font-size:.8rem;padding:2rem .5rem}.fn-card{background:var(--fn-surface-raised);border-radius:var(--fn-radius-sm);padding:.75rem;border:1px solid var(--fn-border);transition:border-color .2s,box-shadow .2s}.fn-card:hover{border-color:var(--fn-accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--fn-accent) 20%,transparent)}.fn-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.fn-card-icon{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.fn-card-address{font-size:.72rem;color:var(--text-muted);margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fn-card-contact{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.4rem;row-gap:.25rem}.fn-card-link{font-size:.7rem;color:var(--accent);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.fn-card-link:hover{text-decoration:underline}.fn-card-title{flex:1;min-width:0}.fn-card-name{font-size:.85rem;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fn-text)}.fn-card-meta{font-size:.65rem;color:var(--fn-text-secondary)}.fn-edit-btn{background:none;border:none;cursor:pointer;font-size:.9rem;padding:.2rem;opacity:.4;transition:opacity .2s}.fn-edit-btn:hover{opacity:1}.fn-progress{height:6px;background:var(--fn-border);border-radius:3px;position:relative;margin-bottom:.5rem;overflow:hidden}.fn-progress-bar{height:100%;background:linear-gradient(90deg,var(--fn-lead),var(--fn-outreach));border-radius:3px;transition:width .4s}.fn-progress-label{position:absolute;right:4px;top:-1px;font-size:.55rem;color:var(--fn-accent-fg);font-weight:600;line-height:6px}.fn-toggle-btn{background:none;border:none;color:var(--fn-text-secondary);cursor:pointer;font-size:.7rem;padding:.2rem 0;text-align:left;width:100%;transition:color .2s}.fn-toggle-btn:hover{color:var(--fn-text)}.fn-tasks{padding:.3rem 0 .5rem}.fn-task{display:flex;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.72rem}.fn-task.done{opacity:.5}.fn-task-check{font-size:.7rem}.fn-task-label{color:var(--fn-text)}.fn-candidates{padding:.3rem 0 .5rem}.fn-candidates-status{display:flex;gap:.5rem;margin-bottom:.4rem;font-size:.7rem}.fn-candidates-done{color:var(--fn-outreach)}.fn-scrape-buttons{display:flex;gap:.4rem;flex-wrap:wrap}.fn-scrape-btn{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);border-radius:var(--fn-radius-sm);padding:.3rem .6rem;font-size:.7rem;cursor:pointer;margin-bottom:.5rem}.fn-scrape-btn:hover:not(:disabled){filter:brightness(1.1)}.fn-scrape-btn:disabled{opacity:.6;cursor:not-allowed}.fn-candidates-hint,.fn-candidates-loading,.fn-candidates-empty{font-size:.7rem;color:var(--fn-text-secondary);margin:.3rem 0}.fn-candidates-error{font-size:.7rem;color:var(--fn-error);margin:.3rem 0}.fn-candidates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.fn-candidate-thumb{background:var(--fn-input-bg);border:1px solid var(--fn-border);border-radius:var(--fn-radius-sm);overflow:hidden;display:flex;flex-direction:column}.fn-candidate-img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--fn-surface)}.fn-candidate-meta{display:flex;justify-content:space-between;padding:.2rem .35rem;font-size:.6rem;color:var(--fn-text-secondary)}.fn-candidate-type{text-transform:capitalize}.fn-candidate-type.logo{color:var(--fn-outreach)}.fn-candidate-type.banner{color:var(--fn-lead)}.fn-candidate-actions{display:flex;gap:.15rem;padding:.2rem .35rem;flex-wrap:wrap}.fn-candidate-actions button{flex:1;min-width:0;background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);border-radius:var(--fn-radius-sm);padding:.2rem .35rem;font-size:.6rem;cursor:pointer}.fn-candidate-actions button:hover:not(:disabled){filter:brightness(1.1)}.fn-candidate-actions button:disabled{opacity:.4;cursor:not-allowed}.fn-candidate-reject{flex:0!important;min-width:1.5rem!important;padding:.2rem!important}.fn-notes{padding:.3rem 0 .5rem}.fn-note{display:flex;gap:.4rem;align-items:flex-start;padding:.2rem 0;font-size:.7rem}.fn-note-source{font-size:.7rem;flex-shrink:0}.fn-note-text{flex:1;color:var(--fn-text);word-break:break-word}.fn-note-time{color:var(--fn-text-secondary);font-size:.6rem;flex-shrink:0}.fn-note-input{display:flex;gap:.3rem;margin-top:.3rem}.fn-note-input input{flex:1;background:var(--fn-input-bg);border:1px solid var(--fn-input-border);color:var(--fn-text);border-radius:var(--fn-radius-sm);padding:.3rem .5rem;font-size:.7rem}.fn-note-input button{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);border-radius:var(--fn-radius-sm);padding:.3rem .6rem;cursor:pointer;font-size:.8rem}.fn-note-input button:disabled{opacity:.3}.fn-card-actions{display:flex;gap:.4rem;margin-top:.5rem}.fn-action-btn{padding:.3rem .6rem;border-radius:var(--fn-radius-sm);border:none;cursor:pointer;font-size:.7rem;font-weight:600;transition:filter .2s;text-decoration:none}.fn-action-btn:hover{filter:brightness(1.15)}.fn-action-btn.promote{background:var(--fn-outreach);color:#12211c}.fn-action-btn.email{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text)}.fn-action-btn.activate{background:var(--fn-contacted);color:#121c21}.fn-action-btn.demote{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-muted);font-size:.65rem}.fn-action-btn.demote:hover{background:var(--fn-border);color:var(--fn-text)}.fn-card[draggable=true]{cursor:grab}.fn-card[draggable=true]:active{cursor:grabbing}.fn-column-drag-over{outline:2px dashed var(--fn-accent);outline-offset:-2px;background:hsl(var(--fn-accent-hsl, 220 70% 50%) / .06)}.fn-column-drag-over .fn-column-body{min-height:60px}.fn-email-preview{margin-top:.5rem;background:var(--fn-input-bg);border-radius:var(--fn-radius-sm);padding:.6rem;border:1px solid var(--fn-border)}.fn-email-to{font-size:.78rem;margin-bottom:.4rem;padding-bottom:.4rem;border-bottom:1px solid var(--fn-border);color:var(--fn-text)}.fn-email-to-missing{color:var(--fn-muted);font-style:italic}.fn-email-subject{font-size:.75rem;margin-bottom:.4rem;padding-bottom:.4rem;border-bottom:1px solid var(--fn-border);color:var(--fn-text)}.fn-email-body{font-size:.7rem;color:var(--fn-text-secondary);white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.5;max-height:200px;overflow-y:auto;font-family:inherit}.fn-email-actions{display:flex;gap:.4rem;margin-top:.5rem}.fn-email-actions button,.fn-email-actions a{padding:.3rem .6rem;border-radius:var(--fn-radius-sm);border:1px solid var(--fn-border);background:var(--fn-surface-raised);color:var(--fn-text);cursor:pointer;font-size:.7rem;text-decoration:none;font-weight:600}.fn-add-lead-btn{margin-left:auto;padding:.2rem .6rem;font-size:.72rem;font-weight:600;background:var(--fn-lead);color:#fff;border:none;border-radius:var(--fn-radius-sm);cursor:pointer;white-space:nowrap;opacity:.85;transition:opacity .15s}.fn-add-lead-btn:hover{opacity:1}.fn-modal-overlay{position:fixed;inset:0;z-index:1000;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1rem}.fn-modal-box{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:10px;width:min(520px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #00000059}.fn-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem .75rem .5rem;border-bottom:1px solid var(--fn-border);margin-bottom:.5rem}.fn-modal-header h3{margin:0;font-size:.95rem;font-weight:700;color:var(--fn-text)}.fn-modal-close{background:none;border:none;font-size:.9rem;color:var(--fn-text-muted);cursor:pointer;padding:.1rem .3rem;border-radius:4px;line-height:1}.fn-modal-close:hover{color:var(--fn-text);background:var(--fn-hover)}.fn-modal-body{padding:1rem;max-height:70vh;overflow-y:auto}.fn-template-editor{max-width:640px}.fn-template-intro{font-size:.85rem;color:var(--fn-text-secondary);margin-bottom:1rem;line-height:1.5}.fn-template-intro code{font-family:monospace;font-size:.8em;padding:.1em .3em;background:var(--fn-hover);border-radius:3px}.fn-template-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.fn-template-item{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-surface);color:var(--fn-text);cursor:pointer;text-align:left}.fn-template-item:hover{background:var(--fn-hover)}.fn-template-item-main{display:flex;flex-direction:column;gap:.15rem}.fn-template-name{font-weight:500}.fn-template-id{font-size:.75rem;color:var(--fn-muted);font-family:monospace}.fn-template-meta{font-size:.72rem;color:var(--fn-muted);white-space:nowrap}.fn-template-meta-line{font-size:.75rem;color:var(--fn-muted);margin-bottom:.75rem}.fn-template-duplicate-btn{padding:.4rem .75rem;margin-bottom:1rem;border:1px dashed var(--fn-border);border-radius:6px;background:transparent;color:var(--fn-text-secondary);font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s}.fn-template-duplicate-btn:hover{background:var(--fn-hover);border-color:var(--fn-accent, #3b82f6);color:var(--fn-accent, #3b82f6)}.fn-template-duplicate-form{padding:.75rem;margin-bottom:1rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-hover)}.fn-template-actions-inline{margin-top:.5rem;padding-top:.5rem;border-top:none}.fn-template-error{padding:.5rem;margin-bottom:.75rem;background:var(--fn-error-bg, rgba(220, 38, 38, .1));color:var(--fn-error, #dc2626);font-size:.8rem;border-radius:4px}.fn-template-edit-row{margin-bottom:.75rem}.fn-template-edit-row label{display:block;font-size:.75rem;color:var(--fn-muted);margin-bottom:.25rem}.fn-template-edit-row input,.fn-template-edit-row textarea{width:100%;padding:.4rem .5rem;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-input-bg);color:var(--fn-text);font-size:.8rem;box-sizing:border-box}.fn-template-edit-row textarea{resize:vertical;font-family:inherit}.fn-template-hint{font-size:.75rem;color:var(--fn-muted);margin-bottom:.75rem}.fn-template-tabs{display:flex;gap:.25rem;margin-bottom:.75rem}.fn-template-tabs button{padding:.35rem .6rem;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-surface);color:var(--fn-muted);font-size:.75rem;cursor:pointer}.fn-template-tabs button.active{background:var(--fn-accent, #3b82f6);color:#fff;border-color:var(--fn-accent)}.fn-template-lang-editor{margin-bottom:1rem}.fn-template-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--fn-border)}.fn-template-actions button{padding:.4rem .8rem;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-surface);color:var(--fn-text);font-size:.8rem;cursor:pointer}.fn-template-actions button:hover:not(:disabled){background:var(--fn-hover)}.fn-template-actions button:disabled{opacity:.5;cursor:not-allowed}.fn-quick-add{padding:0 .75rem .75rem}.fn-quick-row{display:flex;gap:.4rem;margin-bottom:.4rem}.fn-quick-add input,.fn-quick-add select{background:var(--fn-input-bg);border:1px solid var(--fn-input-border);color:var(--fn-text);appearance:none;-webkit-appearance:none;border-radius:var(--fn-radius-sm);padding:.4rem .5rem;font-size:.75rem;flex:1;min-width:0}.fn-quick-add input:focus,.fn-quick-add select:focus{outline:none;border-color:var(--fn-accent)}.fn-id-input{max-width:120px;font-family:monospace;font-size:.7rem!important}.fn-quick-row>input[type=url]:nth-child(n+2),.fn-quick-row>input[type=tel]{flex:1 1 0;min-width:0}.fn-quick-add button[type=submit]{background:var(--fn-lead);color:#fff;border:none;border-radius:var(--fn-radius-sm);padding:.4rem .8rem;cursor:pointer;font-size:.75rem;font-weight:600;white-space:nowrap}.fn-quick-add button[type=submit]:disabled{opacity:.4;cursor:not-allowed}.fn-icon-picker{display:flex;gap:2px;flex-wrap:wrap;flex:1}.fn-icon-opt{width:26px;height:26px;border-radius:var(--fn-radius-sm);border:1px solid var(--fn-input-border);background:var(--fn-input-bg);cursor:pointer;font-size:.8rem;display:flex;align-items:center;justify-content:center;transition:border-color .2s,transform .15s}.fn-icon-opt:hover{border-color:var(--fn-text-secondary);transform:scale(1.1)}.fn-icon-opt.active{border-color:var(--fn-lead);background:var(--fn-lead-bg)}.fn-quick-add select{max-width:100px}.fn-select-wrap{position:relative;flex:1;display:flex}.fn-select-wrap select{width:100%;max-width:none;padding-right:1.75rem;cursor:pointer}.fn-select-wrap:after{content:"▾";position:absolute;right:.55rem;top:50%;transform:translateY(-50%);font-size:.65rem;color:var(--fn-text-secondary);pointer-events:none}.fn-error{color:var(--fn-error);font-size:.7rem;margin:0}.fn-quick-deal-toggle label{display:flex;align-items:center;gap:.4rem;font-size:.8rem;cursor:pointer}.fn-quick-deals{margin-bottom:.4rem}.fn-quick-deal-row{display:flex;gap:.4rem;margin-bottom:.3rem;align-items:center}.fn-quick-deal-row .fn-deal-emoji-picker{display:flex;gap:2px;flex-wrap:wrap}.fn-quick-deal-row .fn-deal-emoji-picker button{width:24px;height:24px;border-radius:4px;border:1px solid var(--fn-input-border);background:var(--fn-input-bg);cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center}.fn-quick-deal-row .fn-deal-emoji-picker button.active{border-color:var(--fn-lead);background:var(--fn-lead-bg)}.fn-quick-deal-row input{flex:1;min-width:0}.fn-quick-deal-remove{width:24px;height:24px;border:none;background:transparent;color:var(--fn-text-secondary);cursor:pointer;font-size:1.2rem;line-height:1;padding:0;flex-shrink:0}.fn-quick-deal-remove:hover{color:var(--fn-error)}.fn-quick-deal-add{background:transparent;border:1px dashed var(--fn-input-border);color:var(--fn-text-secondary);padding:.3rem .6rem;border-radius:var(--fn-radius-sm);font-size:.75rem;cursor:pointer}.fn-quick-deal-add:hover{border-color:var(--fn-accent);color:var(--fn-accent)}.fn-agent-modal{max-width:800px;width:90vw;max-height:85vh;overflow-y:auto}.fn-agent-body{padding:1rem}.fn-agent-section{margin-bottom:1rem}.fn-agent-section:last-child{margin-bottom:0}.fn-agent-section h4{margin:0 0 .5rem;font-size:.85rem;color:var(--fn-lead);font-weight:600}.fn-agent-field{margin-bottom:.6rem}.fn-agent-field label{display:block;font-size:.7rem;color:var(--fn-text-secondary);margin-bottom:.2rem}.fn-agent-url{display:flex;gap:.5rem;align-items:center}.fn-agent-url code{background:var(--fn-surface-sunken);padding:.4rem .6rem;border-radius:var(--fn-radius-sm);font-size:.75rem;color:var(--fn-outreach);flex:1;overflow-x:auto;border:1px solid var(--fn-border)}.fn-agent-url button{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);padding:.35rem .7rem;border-radius:var(--fn-radius-sm);cursor:pointer;font-size:.7rem;white-space:nowrap}.fn-curl{display:block;background:var(--fn-surface-sunken);padding:.4rem .6rem;border-radius:var(--fn-radius-sm);font-size:.7rem;color:var(--fn-text);overflow-x:auto;border:1px solid var(--fn-border)}.fn-agent-hint{font-size:.72rem;color:var(--fn-text-secondary);margin:0 0 .5rem}.fn-agent-prompt{background:var(--fn-surface-sunken);padding:.6rem;border-radius:var(--fn-radius-sm);font-size:.68rem;color:var(--fn-text);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;line-height:1.5;margin:0;font-family:inherit;border:1px solid var(--fn-border)}.fn-copy-prompt-btn{margin-top:.5rem;background:var(--fn-accent);border:none;color:var(--fn-accent-fg);padding:.4rem .8rem;border-radius:var(--fn-radius-sm);cursor:pointer;font-size:.75rem;font-weight:600}.fn-agent-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}.fn-agent-section-header h4{margin:0}.fn-agent-section-actions{display:flex;gap:.4rem;align-items:center}.fn-agent-edit-btn,.fn-agent-reset-btn,.fn-agent-cancel-btn{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);padding:.25rem .6rem;border-radius:var(--fn-radius-sm);cursor:pointer;font-size:.72rem;font-weight:500;transition:border-color .15s}.fn-agent-edit-btn:hover{border-color:var(--fn-accent);color:var(--fn-accent)}.fn-agent-reset-btn:hover{border-color:var(--fn-outreach);color:var(--fn-outreach)}.fn-agent-cancel-btn:hover{border-color:var(--fn-border);opacity:.7}.fn-agent-prompt-editor{width:100%;box-sizing:border-box;background:var(--fn-surface-sunken);border:1px solid var(--fn-border);border-radius:var(--fn-radius-sm);color:var(--fn-text);font-size:.68rem;font-family:monospace;line-height:1.5;padding:.6rem;resize:vertical;outline:none;transition:border-color .15s}.fn-agent-prompt-editor:focus{border-color:var(--fn-accent)}.fn-agent-edit-area{display:flex;flex-direction:column;gap:.4rem}.fn-agent-edit-actions{display:flex;gap:.5rem;align-items:center}.fn-agent-custom-badge,.fn-agent-default-badge{display:inline-block;font-size:.65rem;padding:.1rem .4rem;border-radius:999px;font-weight:600;vertical-align:middle}.fn-agent-custom-badge{background:color-mix(in srgb,var(--fn-outreach) 15%,transparent);color:var(--fn-outreach);border:1px solid color-mix(in srgb,var(--fn-outreach) 30%,transparent)}.fn-agent-default-badge{background:color-mix(in srgb,var(--fn-text-secondary) 12%,transparent);color:var(--fn-text-secondary);border:1px solid color-mix(in srgb,var(--fn-text-secondary) 20%,transparent)}.fn-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:1rem}.fn-error-page{display:flex;flex-direction:column;align-items:center;justify-content:center;height:40vh;gap:1rem}.fn-error-page button{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);padding:.5rem 1rem;border-radius:var(--fn-radius);cursor:pointer}.activity-heatmap{display:flex;flex-direction:column;gap:4px;-webkit-user-select:none;user-select:none;overflow-x:auto;padding-bottom:4px}.heatmap-title{font-size:.72rem;font-weight:600;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.35rem}.heatmap-tooltip{position:fixed;z-index:9999;background:var(--card);border:1px solid var(--border);border-radius:7px;padding:6px 10px;display:flex;flex-direction:column;gap:2px;pointer-events:none;white-space:nowrap;box-shadow:0 4px 16px #00000040}.heatmap-tooltip-date{font-size:.7rem;color:var(--muted-foreground, #888)}.heatmap-tooltip-count{font-size:.78rem;font-weight:600;color:var(--foreground)}.heatmap-months-row{display:flex;flex-direction:row;min-height:14px}.heatmap-month-label{font-size:.65rem;color:var(--muted-foreground, #888);overflow:hidden;white-space:nowrap;flex-shrink:0}.heatmap-body{display:flex;flex-direction:row;gap:4px;align-items:flex-start}.heatmap-day-labels{display:flex;flex-direction:column;gap:2px;padding-top:1px;flex-shrink:0}.heatmap-day-label{font-size:.6rem;color:var(--muted-foreground, #888);display:flex;align-items:center;line-height:1}.heatmap-columns{display:flex;flex-direction:row;gap:2px}.heatmap-week-col{display:flex;flex-direction:column}.heatmap-cell{border-radius:2px;flex-shrink:0;cursor:default}.heatmap-cell:hover{outline:1px solid rgba(255,255,255,.5);outline-offset:-1px}.heatmap-cell.level-0{background:var(--border, #2d2d2d);opacity:.5}.heatmap-cell.hm-punches.level-1{background:#1e3a8a}.heatmap-cell.hm-punches.level-2{background:#2563eb}.heatmap-cell.hm-punches.level-3{background:#3b82f6}.heatmap-cell.hm-punches.level-4{background:#93c5fd}.heatmap-cell.hm-rewards.level-1{background:#78350f}.heatmap-cell.hm-rewards.level-2{background:#b45309}.heatmap-cell.hm-rewards.level-3{background:#d97706}.heatmap-cell.hm-rewards.level-4{background:#fbbf24}.heatmap-legend{display:flex;flex-direction:row;align-items:center;gap:3px;margin-top:6px}.heatmap-legend-text{font-size:.6rem;color:var(--muted-foreground, #888);margin:0 2px}.heatmap-empty{font-size:.8rem;color:var(--muted-foreground, #888);padding:8px 0}.aa-heatmap-pair{display:flex;flex-direction:column;gap:24px;padding:8px 0 4px}.aa-heatmap-block{display:flex;flex-direction:column;gap:8px}.aa-heatmap-block-label{font-size:.72rem;font-weight:600;color:var(--muted-foreground, #888);text-transform:uppercase;letter-spacing:.07em;display:flex;align-items:center;gap:5px}.member-heatmap-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 28px 24px;width:min(720px,95vw);max-height:90vh;overflow-y:auto;position:relative;display:flex;flex-direction:column;gap:20px;box-shadow:0 24px 64px #00000059;animation:modal-in .18s ease}.mhm-header{display:flex;flex-direction:column;gap:4px;position:relative;padding-right:40px}.mhm-title-row{display:flex;align-items:center;gap:8px}.mhm-name{font-size:1.35rem;font-weight:700;color:var(--foreground);margin:0}.mhm-id{font-size:.75rem;color:var(--muted-foreground, #888);font-family:monospace}.mhm-email{font-size:.8rem;color:var(--muted-foreground, #888)}.mhm-close{position:absolute;top:0;right:0;background:none;border:none;font-size:1.6rem;line-height:1;color:var(--muted-foreground, #888);cursor:pointer;padding:0 4px;border-radius:6px;transition:color .15s,background .15s}.mhm-close:hover{color:var(--foreground);background:var(--border)}.mhm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:480px){.mhm-stats{grid-template-columns:repeat(2,1fr)}}.mhm-stat{background:var(--background);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.mhm-stat-value{font-size:1.4rem;font-weight:700;color:var(--foreground);line-height:1.1}.mhm-stat-label{font-size:.7rem;color:var(--muted-foreground, #888);text-transform:uppercase;letter-spacing:.05em}.mhm-heatmap-section{display:flex;flex-direction:column;gap:16px}.mhm-heatmap-block{display:flex;flex-direction:column;gap:8px}.mhm-section-label{font-size:.72rem;font-weight:600;color:var(--muted-foreground, #888);text-transform:uppercase;letter-spacing:.07em;margin:0}.mhm-loading{display:flex;align-items:center;gap:10px;color:var(--muted-foreground, #888);font-size:.85rem;padding:16px 0}.mhm-no-data{font-size:.85rem;color:var(--muted-foreground, #888)}.user-name.clickable-name{cursor:pointer;transition:color .15s}.user-name.clickable-name:hover{color:var(--accent-foreground, #3b82f6);text-decoration:underline;text-underline-offset:2px}.fn-group-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .45rem;font-size:.62rem;font-weight:600;border:1px solid;border-radius:20px;background:transparent;cursor:pointer;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis;transition:background .12s,opacity .12s;line-height:1.4}.fn-group-badge:hover{background:color-mix(in srgb,currentColor 10%,transparent)}.fn-group-badge.unset{border-color:var(--fn-border);color:var(--fn-text-secondary);opacity:.35;font-size:.65rem}.fn-group-badge.unset:hover{opacity:.7;border-color:var(--fn-text-secondary)}.fn-group-modal{max-width:380px}.fn-group-modal-sub{margin:0 0 .75rem;font-size:.78rem;color:var(--fn-text-secondary);padding:0 .75rem}.fn-group-input-row{display:flex;gap:.4rem;padding:0 .75rem;margin-bottom:.75rem}.fn-group-input-row input{flex:1;min-width:0;background:var(--fn-input-bg);border:1px solid var(--fn-input-border);color:var(--fn-text);padding:.45rem .6rem;border-radius:var(--fn-radius-sm);font-size:.82rem}.fn-group-input-row input:focus{outline:none;border-color:var(--fn-accent)}.fn-group-input-row button{padding:.45rem .85rem;border:none;border-radius:var(--fn-radius-sm);background:var(--fn-accent);color:var(--fn-accent-fg);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap}.fn-group-input-row button:disabled{opacity:.5;cursor:not-allowed}.fn-group-suggestions{max-height:240px;overflow-y:auto;padding:0 .75rem .75rem;display:flex;flex-direction:column;gap:2px}.fn-group-suggestion{display:flex;align-items:center;gap:.5rem;padding:.4rem .6rem;border:1px solid transparent;border-radius:var(--fn-radius-sm);background:var(--fn-surface-raised);color:var(--fn-text);font-size:.78rem;cursor:pointer;text-align:left;width:100%;transition:background .1s,border-color .1s}.fn-group-suggestion:hover{background:var(--fn-hover);border-color:var(--fn-border)}.fn-group-suggestion.active{border-color:var(--fn-accent);background:color-mix(in srgb,var(--fn-accent) 10%,transparent)}.fn-convert-org-btn{display:block;width:100%;padding:.5rem .75rem;border:1px dashed var(--fn-border);border-radius:var(--fn-radius-sm);background:transparent;color:var(--fn-accent);font-size:.8rem;cursor:pointer;transition:background .1s,border-color .1s}.fn-convert-org-btn:hover{background:color-mix(in srgb,var(--fn-accent) 8%,transparent);border-color:var(--fn-accent)}.fn-group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.fn-group-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fn-group-cnt{font-size:.68rem;color:var(--fn-text-secondary);flex-shrink:0}.fn-group-new-hint{margin:0;font-size:.72rem;color:var(--fn-text-secondary);font-style:italic;padding:.3rem 0}.fn-td-group{white-space:nowrap}.fn-view-toggle{display:flex;gap:2px;background:var(--fn-surface-sunken);border:1px solid var(--fn-border);border-radius:6px;padding:2px}.fn-view-btn{width:30px;height:26px;border:none;border-radius:4px;background:transparent;color:var(--fn-text-secondary);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.fn-view-btn:hover{background:var(--fn-hover);color:var(--fn-text)}.fn-view-btn.active{background:var(--fn-surface);color:var(--fn-accent);box-shadow:0 1px 3px #00000026}.fn-bulk-email-hint-bar{padding:.5rem 1rem;margin-bottom:.75rem;font-size:.8rem;color:var(--fn-text-secondary);background:color-mix(in srgb,var(--fn-accent, #3b82f6) 8%,var(--fn-surface));border:1px solid color-mix(in srgb,var(--fn-accent, #3b82f6) 20%,transparent);border-radius:var(--fn-radius)}.fn-table-section{background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);overflow:hidden;margin-bottom:1rem}.fn-table-collapse-header{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:.5rem;width:100%;padding:.65rem 1rem;cursor:pointer;background:var(--fn-surface-sunken);border-bottom:1px solid var(--fn-border);-webkit-user-select:none;user-select:none;transition:background .12s}.fn-table-collapse-header:hover{background:var(--fn-hover)}.fn-table-collapse-header h2{font-size:.85rem;font-weight:700;margin:0;color:var(--fn-text)}.fn-collapse-arrow{font-size:.75rem;color:var(--fn-text-secondary)}.fn-collapse-extra{margin-left:auto}.fn-table-header{border-bottom:1px solid var(--fn-border)}.fn-editable-cell{cursor:pointer;padding:1px 4px;border-radius:3px;transition:background .1s;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fn-editable-cell:hover{background:var(--fn-hover)}.fn-editable-cell.empty{color:var(--fn-border);font-style:italic;font-size:.72rem}.fn-editable-input{width:100%;font-size:.78rem;padding:2px 5px;border:1px solid var(--fn-accent);border-radius:3px;background:var(--fn-surface);color:var(--fn-text);outline:none;box-shadow:0 0 0 2px #3b82f626}.fn-td-contact-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 4px;align-items:center}.fn-td-contact-icon{font-size:.72rem;opacity:.6;line-height:1}.fn-table-wrap{overflow-x:auto;width:100%}.fn-table{width:100%;border-collapse:collapse;font-size:.8rem;color:var(--fn-text)}.fn-table thead tr{background:var(--fn-surface-sunken);border-bottom:1px solid var(--fn-border)}.fn-table th{padding:.55rem .75rem;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-secondary);white-space:nowrap;text-align:left}.fn-th-check,.fn-td-check{width:36px;min-width:36px;padding:.4rem .5rem!important;text-align:center;cursor:pointer}.fn-td-check{vertical-align:middle}.fn-checkbox{width:15px;height:15px;cursor:pointer;accent-color:var(--fn-accent, #3b82f6)}.fn-table-row.selected{background:color-mix(in srgb,var(--fn-accent, #3b82f6) 8%,transparent)}.fn-table-row.selected:hover{background:color-mix(in srgb,var(--fn-accent, #3b82f6) 14%,transparent)}.fn-bulk-bar{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:.75rem;padding:.55rem 1rem;background:var(--fn-surface);border-bottom:1px solid color-mix(in srgb,var(--fn-accent, #3b82f6) 30%,transparent);flex-wrap:wrap;box-shadow:0 2px 8px #00000014}.fn-bulk-count{font-size:.78rem;font-weight:700;color:var(--fn-accent, #3b82f6);white-space:nowrap}.fn-bulk-actions{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.fn-bulk-btn{padding:.28rem .65rem;border-radius:5px;border:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:.74rem;font-weight:600;cursor:pointer;transition:background .1s,border-color .1s;white-space:nowrap}.fn-bulk-btn:hover:not(:disabled){background:var(--fn-hover);border-color:var(--fn-text-secondary)}.fn-bulk-btn:disabled{opacity:.5;cursor:not-allowed}.fn-bulk-btn.danger{color:#ef4444;border-color:#fca5a5}.fn-bulk-btn.danger:hover:not(:disabled){background:#fef2f2;border-color:#ef4444}.fn-bulk-btn.muted{color:var(--fn-text-secondary)}.fn-bulk-sep{width:1px;height:1.4rem;background:var(--fn-border);margin:0 .15rem}.fn-bulk-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fn-muted)}.fn-bulk-btn-accent{background:var(--fn-accent, #3b82f6);color:#fff;border-color:var(--fn-accent, #3b82f6)}.fn-bulk-btn-accent:hover:not(:disabled){background:color-mix(in srgb,var(--fn-accent, #3b82f6) 85%,black);border-color:color-mix(in srgb,var(--fn-accent, #3b82f6) 85%,black)}.fn-bulk-group-wrap{position:relative}.fn-bulk-group-menu{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:200px;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:8px;box-shadow:0 6px 20px #00000026;overflow:hidden}.fn-bulk-group-input{width:100%;padding:.5rem .75rem;border:none;border-bottom:1px solid var(--fn-border);background:var(--fn-surface);color:var(--fn-text);font-size:.8rem;outline:none;box-sizing:border-box}.fn-bulk-group-list{max-height:180px;overflow-y:auto}.fn-bulk-group-new{width:100%;padding:.45rem .75rem;border:none;border-top:1px solid var(--fn-border);background:transparent;color:var(--fn-accent, #3b82f6);font-size:.76rem;font-weight:600;cursor:pointer;text-align:left}.fn-bulk-group-new:hover{background:var(--fn-hover)}.fn-bulk-email-header{padding:.5rem .75rem;font-weight:600;font-size:.85rem;border-bottom:1px solid var(--fn-border)}.fn-bulk-email-row{padding:.4rem .75rem}.fn-bulk-email-row label{display:block;font-size:.75rem;color:var(--fn-muted);margin-bottom:.2rem}.fn-bulk-email-select{width:100%;padding:.35rem .5rem;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-surface);color:var(--fn-text);font-size:.8rem}.fn-bulk-email-manage{display:block;margin-top:.35rem;padding:.25rem 0;border:none;background:none;color:var(--fn-accent, #3b82f6);font-size:.78rem;font-weight:500;cursor:pointer;text-align:left}.fn-bulk-email-manage:hover{text-decoration:underline}.fn-bulk-email-hint{font-size:.75rem;color:var(--fn-muted)}.fn-bulk-email-recipients-label{font-size:.75rem;font-weight:600;color:var(--fn-text);margin-bottom:.35rem}.fn-bulk-email-recipients-label:empty{display:none}.fn-bulk-email-recipients{max-height:140px;overflow-y:auto;margin-bottom:.5rem;padding:.35rem 0;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-input-bg)}.fn-bulk-email-recipient{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .5rem;font-size:.78rem;border-bottom:1px solid var(--fn-border)}.fn-bulk-email-recipient:last-child{border-bottom:none}.fn-bulk-recipient-name{font-weight:500;color:var(--fn-text)}.fn-bulk-recipient-email{font-size:.72rem;color:var(--fn-accent, #3b82f6);font-family:monospace}.fn-bulk-email-skipped{font-size:.72rem;color:var(--fn-muted);margin-top:.25rem}.fn-bulk-email-error{padding:.4rem .75rem;font-size:.8rem;color:var(--fn-error, #dc2626)}.fn-bulk-email-result{padding:.4rem .75rem;font-size:.8rem;color:var(--fn-success, #16a34a)}.fn-bulk-email-actions{display:flex;gap:.5rem;padding:.5rem .75rem;border-top:1px solid var(--fn-border);justify-content:flex-end}.fn-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.fn-th-sort:hover{color:var(--fn-text)}.fn-table-row{border-bottom:1px solid var(--fn-border);transition:background .1s}.fn-table-row:last-child{border-bottom:none}.fn-table-row:hover{background:var(--fn-hover)}.fn-table td{padding:.55rem .75rem;vertical-align:middle}.fn-td-store{display:flex;align-items:center;gap:.5rem;min-width:180px;max-width:240px}.fn-table-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}.fn-td-store-info{display:flex;flex-direction:column;gap:1px;min-width:0}.fn-td-name,.fn-td-store-info>.fn-editable-cell{font-weight:600;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--fn-text)}.fn-td-store-info>.fn-editable-input{font-weight:600;font-size:.82rem}.fn-td-id,.fn-td-store-info>.fn-editable-cell:nth-child(2){font-size:.65rem;color:var(--fn-text-secondary);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fn-td-store-info>.fn-editable-input:nth-child(2){font-size:.65rem;font-family:monospace}.fn-td-lang{font-size:.62rem;color:var(--fn-text-secondary)}.fn-td-location{min-width:100px}.fn-td-location .fn-editable-cell,.fn-td-location .fn-editable-input{display:block}.fn-td-location .fn-editable-cell:first-child{font-size:.8rem;color:var(--fn-text)}.fn-td-location .fn-editable-cell:last-child{font-size:.68rem;color:var(--fn-text-secondary)}.fn-td-city{display:block;font-size:.8rem;color:var(--fn-text)}.fn-td-country{display:block;font-size:.68rem;color:var(--fn-text-secondary)}.fn-td-empty{color:var(--fn-border);font-size:.8rem}.fn-td-contact,.fn-td-socials{white-space:nowrap}.fn-td-link{display:inline-block;font-size:.9rem;margin-right:.25rem;opacity:.75;text-decoration:none;transition:opacity .12s}.fn-td-link:hover{opacity:1}.fn-td-asset{text-align:center;min-width:60px}.fn-asset-dot{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700}.fn-asset-dot.done{background:#4caf5026;color:#4caf50}.fn-asset-dot.missing{background:#f443361f;color:#f44336}.fn-td-stage{white-space:nowrap;display:flex;align-items:center;gap:.4rem;padding-top:.55rem}.fn-td-stage-label{font-size:.75rem;color:var(--fn-text-secondary)}.fn-td-days{white-space:nowrap;text-align:right}.fn-td-days-val{font-size:.75rem;color:var(--fn-text-secondary);font-variant-numeric:tabular-nums}.fn-td-actions{white-space:nowrap;text-align:right}.fn-tbl-btn{width:26px;height:26px;border:1px solid var(--fn-border);border-radius:4px;background:var(--fn-surface-raised);color:var(--fn-text);font-size:.75rem;cursor:pointer;margin-left:2px;transition:background .1s,border-color .1s;display:inline-flex;align-items:center;justify-content:center}.fn-tbl-btn:hover{background:var(--fn-hover);border-color:var(--fn-accent)}.fn-tbl-btn:disabled{opacity:.4;cursor:not-allowed}.fn-tbl-btn.promote{background:color-mix(in srgb,var(--fn-outreach) 15%,transparent);border-color:color-mix(in srgb,var(--fn-outreach) 40%,transparent);color:var(--fn-outreach)}.fn-tbl-btn.activate{background:color-mix(in srgb,var(--fn-contacted) 15%,transparent);border-color:color-mix(in srgb,var(--fn-contacted) 40%,transparent)}.fn-tbl-btn.demote{background:var(--fn-surface-raised);border-color:var(--fn-border);color:var(--fn-muted);font-size:.7rem}.fn-tbl-btn.demote:hover{background:var(--fn-hover);color:var(--fn-text)}.fn-vet-btn{margin-left:0;padding:.35rem .85rem;font-size:.82rem;font-weight:600;background:var(--fn-outreach);color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap;opacity:.9;transition:opacity .15s,transform .1s}.fn-vet-btn:hover{opacity:1;transform:scale(1.03)}.fn-vet-btn-accent{background:var(--fn-accent, #3b82f6)}.fn-sync-btn{padding:.35rem .85rem;font-size:.82rem;font-weight:600;background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);border-radius:var(--fn-radius);cursor:pointer;margin-left:.5rem;transition:border-color .15s,background .15s}.fn-sync-btn:hover:not(:disabled){border-color:var(--fn-accent);background:var(--fn-hover)}.fn-sync-btn:disabled{opacity:.6;cursor:not-allowed}.fn-community-view{padding:0 0 1.5rem}.fn-conversion-panel{margin-bottom:1rem;border:1px solid var(--fn-border);border-radius:var(--fn-radius);overflow:hidden;background:var(--fn-surface)}.fn-conversion-panel-toggle{width:100%;padding:.6rem 1rem;text-align:left;background:var(--fn-surface-raised);border:none;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--fn-text);display:flex;align-items:center;gap:.5rem}.fn-conversion-panel-toggle:hover{background:var(--fn-hover)}.fn-conversion-best{font-size:.8rem;font-weight:500;color:var(--fn-accent);margin-left:auto}.fn-conversion-panel-body{padding:1rem;border-top:1px solid var(--fn-border);display:flex;flex-wrap:wrap;gap:1rem}.fn-conversion-comm{flex:1;min-width:180px;padding:.5rem;background:var(--fn-input-bg);border-radius:var(--fn-radius-sm)}.fn-conversion-comm strong{display:block;margin-bottom:.4rem;font-size:.85rem}.fn-conversion-variants{display:flex;flex-wrap:wrap;gap:.5rem}.fn-variant-metric{font-size:.75rem;color:var(--fn-muted)}.fn-community-cards{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.5rem}.fn-community-card{flex-shrink:0;min-width:140px;padding:.75rem 1rem;border:1px solid var(--fn-border);border-radius:var(--fn-radius);background:var(--fn-surface);cursor:pointer;transition:border-color .15s,box-shadow .15s;position:relative}.fn-community-card:hover{border-color:var(--fn-accent)}.fn-community-card.selected{border-color:var(--fn-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--fn-accent) 25%,transparent)}.fn-community-card-label{font-weight:700;font-size:1.1rem;color:var(--fn-text);margin-bottom:.25rem}.fn-community-card-size{font-size:.8rem;color:var(--fn-muted)}.fn-community-card-rate{font-size:.75rem;color:var(--fn-muted);margin-top:.2rem}.fn-community-card-variants{margin-top:.5rem;display:flex;flex-wrap:wrap;gap:.25rem}.fn-community-assign-btn{position:absolute;top:.5rem;right:.5rem;padding:.2rem .4rem;font-size:.65rem;font-weight:600;background:var(--fn-surface-raised);border:1px solid var(--fn-border);border-radius:4px;cursor:pointer;color:var(--fn-muted)}.fn-community-assign-btn:hover{background:var(--fn-accent);color:var(--accent-foreground, #fff);border-color:var(--fn-accent)}.fn-assign-variants-popover{position:absolute;top:100%;left:0;margin-top:.25rem;padding:.75rem;background:var(--fn-surface);border:1px solid var(--fn-border);border-radius:var(--fn-radius);box-shadow:0 4px 12px #00000026;z-index:50;min-width:200px}.fn-assign-variants-popover p{margin:0 0 .5rem;font-size:.8rem;color:var(--fn-muted)}.fn-assign-variants-actions{display:flex;flex-direction:column;gap:.35rem}.fn-assign-variants-actions button{padding:.4rem .6rem;font-size:.8rem;text-align:left;background:var(--fn-surface-raised);border:1px solid var(--fn-border);border-radius:4px;cursor:pointer;color:var(--fn-text)}.fn-assign-variants-actions button:hover{background:var(--fn-hover);border-color:var(--fn-accent)}.fn-community-leads h3{font-size:1rem;margin:0 0 .75rem;font-weight:600}.fn-community-leads-table-wrap{overflow-x:auto;border:1px solid var(--fn-border);border-radius:var(--fn-radius)}.fn-impact-badge-wrap{display:inline-block;width:48px;height:6px;background:var(--fn-border);border-radius:3px;overflow:hidden;vertical-align:middle;margin-right:.35rem}.fn-impact-badge{display:block;height:100%;background:linear-gradient(90deg,var(--fn-accent),var(--fn-outreach));border-radius:3px;min-width:2px}.fn-impact-val{font-size:.8rem;font-family:var(--font-mono, monospace);color:var(--fn-muted)}.fn-variant-badge{display:inline-block;padding:.15rem .4rem;font-size:.7rem;font-weight:700;border-radius:4px;background:var(--fn-surface-raised);color:var(--fn-muted);border:1px solid var(--fn-border)}.fn-variant-badge.fn-variant-A{background:color-mix(in srgb,#3b82f6 20%,transparent);color:#3b82f6}.fn-variant-badge.fn-variant-B{background:color-mix(in srgb,#22c55e 20%,transparent);color:#22c55e}.fn-variant-badge.fn-variant-C{background:color-mix(in srgb,#f59e0b 20%,transparent);color:#f59e0b}.fna-modal{background:var(--fn-surface, #fff);border:1px solid var(--fn-border);border-radius:12px;width:min(1100px,96vw);max-height:92vh;overflow-y:auto;box-shadow:0 20px 60px #0006;display:flex;flex-direction:column}.fna-modal .fna-embedded .fna-body{padding:1.25rem 1.5rem 1.5rem}.fna-modal .fna-error-banner{margin:1rem 1.5rem}.fna-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--fn-border);position:sticky;top:0;background:var(--fn-surface, #fff);z-index:2}.fna-header h2{margin:0;font-size:1.15rem;font-weight:700}.fna-close{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;color:var(--fn-text-muted);transition:background .15s}.fna-close:hover{background:var(--fn-hover);color:var(--fn-text)}.fna-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;color:var(--fn-text-muted)}.fna-error{padding:1.5rem;color:#ef4444;text-align:center}.fna-error-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;background:color-mix(in srgb,#ef4444 10%,var(--fn-card-bg, #fff));border:1px solid #ef4444;border-radius:8px;margin:0 1.25rem 1rem;color:#ef4444;font-size:.9rem}.fna-error-banner button{padding:.35rem .75rem;font-size:.85rem;border-radius:6px;border:1px solid #ef4444;background:transparent;color:#ef4444;cursor:pointer}.fna-error-banner button:hover{background:#ef4444;color:#fff}.fna-body{padding:.75rem 1.25rem 1.5rem}.fna-section{margin-bottom:1.5rem}.fna-section h3{font-size:.92rem;font-weight:700;margin:0 0 .65rem;color:var(--fn-text);text-transform:uppercase;letter-spacing:.04em}.fna-section h4{font-size:.82rem;font-weight:600;margin:.75rem 0 .4rem;color:var(--fn-text-muted)}.fna-kpi-grid{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.fna-kpi{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .8rem;border:1px solid var(--fn-border);border-radius:8px;background:var(--fn-card-bg, #fff);min-width:100px;flex:1}.fna-kpi.highlight{border-color:var(--fn-accent, #6366f1);background:color-mix(in srgb,var(--fn-accent, #6366f1) 6%,var(--fn-card-bg, #fff))}.fna-kpi.warn{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 6%,var(--fn-card-bg, #fff))}.fna-kpi-val.fna-kpi-loading{display:inline-flex;align-items:center;justify-content:center;min-height:1.4em}.fna-row-skeleton td{padding:.75rem 1rem;color:var(--fn-text-muted);font-size:.85rem}.fna-kpi-val{font-size:1.3rem;font-weight:800;line-height:1.1;color:var(--fn-text)}.fna-kpi-label{font-size:.68rem;font-weight:500;color:var(--fn-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.02em}.fna-funnel-bar{display:flex;align-items:center;gap:0;margin:.6rem 0;height:32px;border-radius:6px;overflow:hidden}.fna-funnel-stage{display:flex;align-items:center;justify-content:center;height:100%;font-size:.7rem;font-weight:600;color:#fff;white-space:nowrap;padding:0 .5rem;min-width:40px}.fna-funnel-stage.lead{background:#6366f1}.fna-funnel-stage.outreach{background:#f59e0b}.fna-funnel-stage.contacted{background:#3b82f6}.fna-funnel-stage.activated{background:#22c55e}.fna-funnel-arrow{font-size:.85rem;color:var(--fn-text-muted);padding:0 .25rem;flex-shrink:0}.fna-conversion-row,.fna-completeness-row{display:flex;gap:1rem;flex-wrap:wrap;font-size:.78rem;color:var(--fn-text-muted);margin-top:.3rem}.fna-conversion-row strong,.fna-completeness-row strong{color:var(--fn-text)}.fna-table-controls{display:flex;gap:.5rem;margin-bottom:.5rem;flex-wrap:wrap}.fna-search{flex:1;min-width:180px;padding:.4rem .65rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-card-bg, #fff);color:var(--fn-text);font-size:.8rem}.fna-search:focus{outline:none;border-color:var(--fn-accent, #6366f1);box-shadow:0 0 0 2px color-mix(in srgb,var(--fn-accent, #6366f1) 15%,transparent)}.fna-filter-select{padding:.4rem .65rem;border:1px solid var(--fn-border);border-radius:6px;background:var(--fn-card-bg, #fff);color:var(--fn-text);font-size:.8rem;cursor:pointer}.fna-table-wrap{overflow-x:auto;border:1px solid var(--fn-border);border-radius:8px}.fna-table{width:100%;border-collapse:collapse;font-size:.78rem}.fna-table th,.fna-table td{padding:.45rem .6rem;text-align:left;border-bottom:1px solid var(--fn-border);white-space:nowrap}.fna-table thead th{background:color-mix(in srgb,var(--fn-border) 30%,var(--fn-surface, #fff));font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--fn-text-muted);position:sticky;top:0}.fna-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none}.fna-th-sort:hover{color:var(--fn-text)}.fna-table tbody tr:hover{background:var(--fn-hover)}.fna-row-active{background:color-mix(in srgb,#22c55e 4%,transparent)}.fna-td-store{display:flex;align-items:center;gap:.4rem}.fna-store-icon{font-size:1rem;flex-shrink:0}.fna-store-info{display:flex;flex-direction:column;min-width:0}.fna-store-name{font-weight:600;color:var(--fn-text);overflow:hidden;text-overflow:ellipsis;max-width:180px}.fna-store-loc{font-size:.68rem;color:var(--fn-text-muted)}.fna-badge{display:inline-block;padding:.15rem .45rem;border-radius:9999px;font-size:.67rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.fna-badge.active{background:color-mix(in srgb,#22c55e 18%,transparent);color:#16a34a}.fna-has-views{font-weight:600;color:var(--fn-text)}.fna-unique{font-weight:400;color:var(--fn-text-muted);font-size:.72rem}.fna-empty{text-align:center;color:var(--fn-text-muted);padding:1.5rem!important}.fna-table-sm{font-size:.76rem}.fna-table-sm th,.fna-table-sm td{padding:.35rem .5rem}.fna-variant-table{margin-top:.5rem;border:1px solid var(--fn-border);border-radius:8px;overflow:hidden}.fna-variant-table h4{padding:.4rem .6rem;margin:0;background:color-mix(in srgb,var(--fn-border) 30%,var(--fn-surface));border-bottom:1px solid var(--fn-border)}.vet-overlay{position:fixed;inset:0;z-index:1100;background:var(--fn-bg, #0f1117);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.vet-topbar{display:flex;align-items:center;gap:1rem;padding:.65rem 1rem;border-bottom:1px solid var(--fn-border);flex-shrink:0}.vet-topbar-left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.vet-filterbar{display:flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-bottom:1px solid var(--fn-border);flex-shrink:0;flex-wrap:wrap;background:var(--fn-surface, #f9fafb)}.vet-search-wrap{position:relative;flex:1 1 200px;min-width:160px;max-width:280px}.vet-search-input{width:100%;padding:.3rem 1.75rem .3rem .65rem;border:1.5px solid var(--fn-border);border-radius:9999px;background:var(--fn-card-bg, #fff);color:var(--fn-text);font-size:.78rem;line-height:1.3}.vet-search-input::placeholder{color:var(--fn-text-muted)}.vet-search-input:focus{outline:none;border-color:var(--fn-accent, #6366f1);box-shadow:0 0 0 3px color-mix(in srgb,var(--fn-accent, #6366f1) 12%,transparent)}.vet-search-clear{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:none;border-radius:50%;background:var(--fn-text-muted);color:#fff;font-size:.9rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.vet-search-clear:hover{background:var(--fn-accent, #6366f1)}.vet-filter-pill{position:relative}.vet-filter-pill-btn{display:flex;align-items:center;gap:.35rem;padding:.3rem .65rem .3rem .55rem;border:1.5px solid var(--fn-border);border-radius:9999px;background:var(--fn-card-bg, #fff);color:var(--fn-text-muted);font-size:.78rem;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;white-space:nowrap;line-height:1}.vet-filter-pill-btn:hover{border-color:var(--fn-accent, #6366f1);color:var(--fn-text);background:var(--fn-hover);box-shadow:0 0 0 3px color-mix(in srgb,var(--fn-accent, #6366f1) 12%,transparent)}.vet-filter-pill.open .vet-filter-pill-btn,.vet-filter-pill.active .vet-filter-pill-btn{border-color:var(--fn-accent, #6366f1);background:color-mix(in srgb,var(--fn-accent, #6366f1) 8%,var(--fn-card-bg, #fff));color:var(--fn-accent, #6366f1);box-shadow:0 0 0 3px color-mix(in srgb,var(--fn-accent, #6366f1) 12%,transparent)}.vet-filter-pill-icon{font-size:.85rem;line-height:1}.vet-filter-pill-label{flex:1;min-width:0}.vet-filter-pill-chevron{font-size:.6rem;opacity:.55}.vet-filter-pill-clear{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;background:var(--fn-accent, #6366f1);color:#fff;font-size:.65rem;font-weight:700;cursor:pointer;line-height:1;flex-shrink:0}.vet-filter-dropdown{position:absolute;top:calc(100% + 6px);left:0;z-index:200;background:var(--fn-card-bg, #fff);border:1.5px solid var(--fn-border);border-radius:10px;box-shadow:0 8px 24px #00000021;min-width:180px;max-width:260px;max-height:260px;overflow-y:auto;padding:.35rem}.vet-filter-option{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.45rem .7rem;border:none;background:none;border-radius:7px;font-size:.82rem;color:var(--fn-text);cursor:pointer;text-align:left;gap:.5rem;transition:background .1s}.vet-filter-option:hover{background:var(--fn-hover)}.vet-filter-option.selected{background:color-mix(in srgb,var(--fn-accent, #6366f1) 10%,transparent);color:var(--fn-accent, #6366f1);font-weight:600}.vet-filter-option-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vet-filter-option-count{font-size:.72rem;color:var(--fn-text-muted);background:var(--fn-surface, #f3f4f6);border-radius:9999px;padding:.1rem .45rem;flex-shrink:0}.vet-filter-option.selected .vet-filter-option-count{background:color-mix(in srgb,var(--fn-accent, #6366f1) 15%,transparent);color:var(--fn-accent, #6366f1)}.vet-filter-empty{padding:.5rem .7rem;font-size:.8rem;color:var(--fn-text-muted)}.vet-filter-clear-all{border:none;background:none;color:var(--fn-text-muted);font-size:.75rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .1s,color .1s}.vet-filter-clear-all:hover{background:var(--fn-hover);color:var(--fn-text)}.vet-filters{display:flex;gap:.4rem;flex-shrink:0}.vet-filter-select{font-size:.72rem;padding:.3rem .5rem;border-radius:5px;border:1px solid var(--fn-border, #e5e7eb);background:var(--fn-card-bg, #fff);color:var(--fn-text, #1f2937);cursor:pointer;max-width:160px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%236b7280'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center;padding-right:20px}.vet-link-bar{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;flex-wrap:wrap}.vet-link-btn{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;padding:.3rem .6rem;border-radius:5px;border:1px solid var(--fn-border, #e5e7eb);background:var(--fn-card-bg, #fff);color:var(--fn-text, #1f2937);cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}.vet-link-btn:hover{border-color:var(--fn-accent, #3b82f6);background:#3b82f60f}.vet-link-btn.ig{color:#e1306c}.vet-link-btn.ig:hover{border-color:#e1306c;background:#e1306c0f}.vet-link-btn.fb{color:#1877f2}.vet-link-btn.fb:hover{border-color:#1877f2;background:#1877f20f}.vet-link-btn.scrape{color:var(--fn-accent, #3b82f6)}.vet-link-btn.scrape:hover{background:#3b82f61a}.vet-link-btn.scrape:disabled{opacity:.5;cursor:not-allowed}.vet-banner-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.vet-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:6px;border:none;background:#fff3;color:#fff;font-size:1rem;cursor:pointer;transition:background .15s}.vet-edit-btn:hover{background:#ffffff59}.vet-btn-back{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:8px;border:1px solid var(--fn-border, #e5e7eb);background:var(--fn-card-bg, #fff);color:var(--fn-text-muted, #6b7280);font-size:1.1rem;cursor:pointer;flex-shrink:0;transition:border-color .15s,color .15s}.vet-btn-back:hover:not(:disabled){border-color:var(--fn-accent, #3b82f6);color:var(--fn-accent, #3b82f6)}.vet-btn-back:disabled{opacity:.3;cursor:not-allowed}.vet-progress-wrap{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0}.vet-progress-track{flex:1;height:4px;background:var(--fn-border);border-radius:99px;overflow:hidden;max-width:200px}.vet-progress-fill{height:100%;background:var(--fn-outreach);border-radius:99px;transition:width .4s ease}.vet-progress-label{font-size:.78rem;color:var(--fn-text-muted);white-space:nowrap}.vet-kbd-hint{font-size:.72rem;color:var(--fn-text-muted);opacity:.55;white-space:nowrap}@media(max-width:600px){.vet-kbd-hint{display:none}}.vet-close-btn{background:none;border:none;font-size:1.1rem;color:var(--fn-text-muted);cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;flex-shrink:0}.vet-close-btn:hover{color:var(--fn-text);background:var(--fn-hover)}.vet-stage{flex:1;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:1.5rem 1rem .5rem}.vet-spinner-wrap{display:flex;align-items:center;justify-content:center;flex:1;min-height:200px}.vet-done-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:3rem 1rem;text-align:center}.vet-done-emoji{font-size:3.5rem}.vet-done-wrap h2{font-size:1.4rem;margin:0}.vet-done-wrap p{color:var(--fn-text-muted);margin:0}.vet-card{width:min(500px,100%);background:var(--fn-card-bg);border:1px solid var(--fn-border);border-radius:14px;overflow:hidden;box-shadow:0 8px 32px #00000040;transition:transform .28s cubic-bezier(.4,0,.2,1),opacity .28s;will-change:transform,opacity;flex-shrink:0}.vet-card.vet-exit-left{transform:translate(-120%) rotate(-8deg);opacity:0}.vet-card.vet-exit-right{transform:translate(120%) rotate(8deg);opacity:0}.vet-card-banner{display:flex;align-items:center;gap:.75rem;padding:1rem 1.1rem}.vet-card-icon{font-size:2rem;flex-shrink:0}.vet-card-title{flex:1;min-width:0}.vet-card-title h2{margin:0;font-size:1.1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vet-card-title span{display:block;font-size:.8rem;margin-top:.1rem}.vet-completeness-pill{font-size:.7rem;font-weight:700;color:#fff;padding:.2rem .5rem;border-radius:99px;flex-shrink:0}.vet-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.6rem .9rem;border-bottom:1px solid var(--fn-border)}.vet-chip{display:inline-flex;align-items:center;font-size:.72rem;padding:.22rem .5rem;border-radius:99px;border:1px solid var(--fn-border);color:var(--fn-text-muted);background:var(--fn-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;text-decoration:none}.vet-chip.ig{border-color:#c13584;color:#c13584}.vet-chip.web{border-color:var(--fn-accent);color:var(--fn-accent)}a.vet-chip:hover{opacity:.8}.vet-image-section{padding:.6rem .9rem}.vet-image-section-label{font-size:.72rem;color:var(--fn-text-muted);margin-bottom:.5rem}.vet-scrape-buttons{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-bottom:.5rem}.vet-scrape-btn{background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);border-radius:var(--fn-radius-sm);padding:.25rem .55rem;font-size:.72rem;cursor:pointer;white-space:nowrap}.vet-scrape-btn:hover:not(:disabled){filter:brightness(1.15)}.vet-scrape-btn:disabled{opacity:.5;cursor:not-allowed}.vet-scrape-error{font-size:.7rem;color:#ef4444}.vet-image-loader{display:flex;justify-content:center;padding:1rem 0}.vet-image-strip{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:thin}.vet-image-strip::-webkit-scrollbar{height:4px}.vet-image-strip::-webkit-scrollbar-thumb{background:var(--fn-border);border-radius:2px}.vet-image-cell{position:relative;flex-shrink:0;width:110px;border-radius:8px;overflow:hidden;border:1px solid var(--fn-border);background:var(--fn-surface);transition:border-color .15s}.vet-image-cell.is-promoted{border-color:var(--fn-outreach)}.vet-image-thumb{display:block;width:100%;height:80px;object-fit:cover}.vet-image-btns{display:flex;gap:2px;padding:3px}.vet-img-action{flex:1;font-size:.62rem;font-weight:600;padding:.2rem 0;border:none;border-radius:4px;cursor:pointer;transition:opacity .1s}.vet-img-action:disabled{opacity:.4;cursor:not-allowed}.vet-img-action.logo{background:var(--fn-lead);color:#fff}.vet-img-action.strip{background:var(--fn-outreach);color:#fff}.vet-img-action.dismiss{background:var(--fn-border);color:var(--fn-text-muted);flex:0 0 24px}.vet-promoted-badge{font-size:.65rem;font-weight:700;color:var(--fn-outreach);text-align:center;padding:.25rem .3rem}.vet-no-images{font-size:.78rem;color:var(--fn-text-muted);padding:.5rem 0;margin:0}.vet-missing{display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem .9rem .7rem;border-top:1px solid var(--fn-border)}.vet-missing-tag{font-size:.68rem;color:#f59e0b;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:4px;padding:.15rem .4rem}.vet-actions{display:flex;gap:1rem;padding:1rem;border-top:1px solid var(--fn-border);justify-content:center;flex-shrink:0}.vet-btn-skip,.vet-btn-ready{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;font-size:.95rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:transform .1s,opacity .15s;min-width:140px;justify-content:center}.vet-btn-skip:hover,.vet-btn-ready:hover{transform:scale(1.04)}.vet-btn-skip:disabled,.vet-btn-ready:disabled{opacity:.4;cursor:not-allowed;transform:none}.vet-btn-skip{background:var(--fn-surface);color:var(--fn-text);border:1px solid var(--fn-border)}.vet-btn-ready{background:var(--fn-outreach);color:#fff}.vet-btn-arrow{font-size:1.1rem}.vet-swipe-hint{position:fixed;top:50%;transform:translateY(-50%);font-size:1.8rem;font-weight:900;letter-spacing:.06em;padding:.5rem 1.2rem;border-radius:10px;pointer-events:none;animation:vet-hint-pop .28s ease}.vet-swipe-hint.skip{left:2rem;color:var(--fn-text-muted);border:3px solid var(--fn-border)}.vet-swipe-hint.ready{right:2rem;color:var(--fn-outreach);border:3px solid var(--fn-outreach)}@keyframes vet-hint-pop{0%{opacity:0;transform:translateY(-50%) scale(.75)}to{opacity:1;transform:translateY(-50%) scale(1)}}.vet-topbar-controls{display:flex;align-items:center;gap:.75rem}.vet-view-toggle{display:flex;gap:2px;background:var(--fn-surface);border-radius:var(--fn-radius-sm);padding:2px}.vet-view-btn{background:transparent;border:none;color:var(--fn-text-muted);font-size:1rem;padding:.2rem .45rem;border-radius:calc(var(--fn-radius-sm) - 2px);cursor:pointer}.vet-view-btn.active{background:var(--fn-surface-raised);color:var(--fn-text)}.vet-edit-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:.2rem;opacity:.7;transition:opacity .15s;flex-shrink:0}.vet-edit-btn:hover{opacity:1}.vet-lightbox{position:fixed;inset:0;z-index:1200;background:#000000e0;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:vet-lb-in .2s ease}@keyframes vet-lb-in{0%{opacity:0}to{opacity:1}}.vet-lightbox-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 8px 40px #00000080}.vet-lightbox-close{position:absolute;top:1rem;right:1.5rem;background:#ffffff1f;border:none;color:#fff;font-size:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.vet-lightbox-close:hover{background:#ffffff38}.vet-editor-loading{position:fixed;inset:0;z-index:1150;background:#00000080;display:flex;align-items:center;justify-content:center}.vet-grid-stage{flex:1;overflow-y:auto;padding:1rem 1.5rem;min-width:0}.vet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;max-width:1800px;margin:0 auto}.vet-grid-card{background:var(--fn-card-bg);border:1px solid var(--fn-border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.vet-grid-card .vet-image-section{padding:.5rem .6rem}.vet-grid-card .vet-image-strip{gap:.35rem}.vet-grid-card .vet-image-cell{width:90px}.vet-grid-card .vet-image-thumb{height:65px}.vet-grid-card-actions{display:flex;gap:.4rem;padding:.5rem .6rem;border-top:1px solid var(--fn-border);margin-top:auto}.vet-grid-edit-btn,.vet-grid-ready-btn{flex:1;padding:.35rem .5rem;border-radius:var(--fn-radius-sm);border:1px solid var(--fn-border);background:var(--fn-surface-raised);color:var(--fn-text);font-size:.75rem;cursor:pointer;text-align:center}.vet-grid-ready-btn{background:var(--fn-outreach);color:#fff;border-color:var(--fn-outreach);font-weight:600}.vet-grid-ready-btn:disabled{opacity:.5;cursor:not-allowed}.vet-grid-edit-btn:hover{filter:brightness(1.1)}.vet-grid-ready-btn:not(:disabled):hover{filter:brightness(1.15)}.vet-grid-load-more{grid-column:1 / -1;background:var(--fn-surface-raised);border:1px solid var(--fn-border);color:var(--fn-text);padding:.6rem 1rem;border-radius:var(--fn-radius-sm);cursor:pointer;text-align:center;font-size:.85rem}.vet-grid-load-more:hover{filter:brightness(1.1)}.cl-tip{position:relative;display:inline-flex;align-items:center;margin-left:3px;cursor:help;vertical-align:middle}.cl-tip-icon{font-size:.68rem;color:var(--fn-text-muted, #6b7280);opacity:.55;line-height:1;-webkit-user-select:none;user-select:none;transition:opacity .15s}.cl-tip:hover .cl-tip-icon{opacity:1}.cl-tip-bubble{display:none;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%);background:#1f2937;color:#f9fafb;font-size:.72rem;font-weight:400;line-height:1.45;padding:.45rem .65rem;border-radius:7px;white-space:normal;width:max-content;max-width:220px;text-align:center;z-index:500;pointer-events:none;box-shadow:0 4px 14px #00000038}.cl-tip-bubble:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#1f2937}.cl-tip:hover .cl-tip-bubble{display:block}.na-impact-table th{overflow:visible}.na-th-num{text-align:right!important}.cl-page{padding:1.5rem;max-width:100%}.cl-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.cl-header-title{flex:1}.cl-refresh-btn{flex-shrink:0;padding:.4rem .75rem;font-size:.85rem;background:var(--fn-bg-secondary, #f3f4f6);border:1px solid var(--fn-border, #e5e7eb);border-radius:6px;color:var(--fn-text-secondary, #6b7280);cursor:pointer;transition:background .15s,color .15s}.cl-refresh-btn:hover:not(:disabled){background:var(--fn-bg-hover, #e5e7eb);color:var(--fn-text, #1f2937)}.cl-refresh-btn:disabled{opacity:.6;cursor:not-allowed}.cl-header h1{font-size:1.4rem;font-weight:800;margin:0 0 .15rem;color:var(--fn-text, #1f2937)}.cl-subtitle{font-size:.82rem;color:var(--fn-text-secondary, #6b7280);margin:0}.cl-loading,.cl-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;color:var(--fn-text-secondary, #6b7280)}.cl-summary-row{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap}.cl-summary-card{flex:1;min-width:100px;padding:.8rem 1rem;background:var(--fn-surface, #fff);border:1px solid var(--fn-border, #e5e7eb);border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:.15rem}.cl-summary-card.accent{border-color:#3b82f6;background:linear-gradient(135deg,rgba(59,130,246,.05),transparent)}.cl-summary-card.success{border-color:#10b981;background:linear-gradient(135deg,rgba(16,185,129,.05),transparent)}.cl-sum-value{font-size:1.4rem;font-weight:800;color:var(--fn-text, #1f2937)}.cl-sum-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--fn-text-secondary, #6b7280)}.cl-filters{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap;align-items:center}.cl-search{flex:1;min-width:160px;padding:.45rem .75rem;border:1px solid var(--fn-border, #e5e7eb);border-radius:6px;font-size:.82rem;background:var(--fn-surface, #fff);color:var(--fn-text, #1f2937);outline:none}.cl-search:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.cl-country-select{padding:.45rem .75rem;border:1px solid var(--fn-border, #e5e7eb);border-radius:6px;font-size:.82rem;background:var(--fn-surface, #fff);color:var(--fn-text, #1f2937);cursor:pointer}.cl-sort-btns{display:flex;gap:2px;background:var(--fn-border, #e5e7eb);border-radius:6px;padding:2px}.cl-sort-btn{padding:.35rem .65rem;border:none;background:transparent;font-size:.74rem;font-weight:600;color:var(--fn-text-secondary, #6b7280);border-radius:4px;cursor:pointer;transition:all .12s}.cl-sort-btn.active{background:var(--fn-surface, #fff);color:var(--fn-text, #1f2937);box-shadow:0 1px 2px #00000014}.cl-min-comm{display:flex;align-items:center;gap:.4rem}.cl-min-comm-label{font-size:.74rem;color:var(--fn-text-muted, #6b7280);white-space:nowrap}.cl-min-comm-select{padding:.35rem .5rem;border:1px solid var(--fn-border, #e5e7eb);border-radius:6px;background:var(--fn-surface, #fff);font-size:.74rem;color:var(--fn-text, #1f2937);cursor:pointer}.cl-legend{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.cl-legend-item{display:flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--fn-text-secondary, #6b7280);font-weight:500}.cl-legend-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.cl-city-list{display:flex;flex-direction:column;gap:.5rem}.cl-empty{text-align:center;padding:3rem;color:var(--fn-text-secondary, #6b7280)}.cl-city-card{border:1px solid var(--fn-border, #e5e7eb);border-radius:10px;background:var(--fn-surface, #fff);overflow:hidden;transition:box-shadow .15s}.cl-city-card:hover{box-shadow:0 2px 8px #0000000f}.cl-city-card.expanded{border-color:#3b82f6;box-shadow:0 2px 12px #3b82f61a}.cl-city-header{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:1rem;width:100%;padding:.7rem 1rem;cursor:pointer;transition:background .1s}.cl-city-header:hover{background:var(--fn-hover, #f9fafb)}.cl-city-info{min-width:140px}.cl-city-name{font-size:.88rem;font-weight:700;margin:0;color:var(--fn-text, #1f2937)}.cl-city-country{font-size:.68rem;color:var(--fn-text-secondary, #6b7280)}.cl-city-stats{display:flex;gap:1rem;flex-shrink:0}.cl-stat{display:flex;flex-direction:column;align-items:center;gap:0px}.cl-stat-value{font-size:.88rem;font-weight:800;color:var(--fn-text, #1f2937)}.cl-stat.capture .cl-stat-value{color:#3b82f6}.cl-stat-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--fn-text-secondary, #6b7280);font-weight:600}.cl-capture-bar{flex:1;min-width:80px;max-width:200px;height:8px;border-radius:4px;background:#f3f4f6;display:flex;overflow:hidden}.cl-capture-seg{height:100%;transition:width .3s}.cl-capture-seg:first-child{border-radius:4px 0 0 4px}.cl-capture-seg:last-child{border-radius:0 4px 4px 0}.cl-expand-arrow{font-size:.78rem;color:var(--fn-text-secondary, #6b7280);flex-shrink:0;margin-left:auto}.cl-city-body{border-top:1px solid var(--fn-border, #e5e7eb);display:flex;flex-direction:column;gap:0;padding:0}.cl-graph-row{display:flex;flex-direction:column;padding:1rem}.cl-graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.cl-stage-breakdown-inline{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.cl-stage-pill{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;color:var(--fn-text-muted, #6b7280);white-space:nowrap}.cl-stage-pill strong{color:var(--fn-text, #1f2937);font-weight:700}.cl-comm-toggle{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .75rem;font-size:.72rem;font-weight:600;color:var(--fn-text-muted, #6b7280);background:var(--fn-bg, #f9fafb);border:1px solid var(--fn-border, #e5e7eb);border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap}.cl-comm-toggle:hover{border-color:var(--fn-accent, #3b82f6);color:var(--fn-accent, #3b82f6)}.cl-comm-toggle.active{background:var(--fn-accent, #3b82f6);color:#fff;border-color:var(--fn-accent, #3b82f6)}.cl-graph-container{position:relative;width:100%;border-radius:8px;background:#fafbfc;border:1px solid var(--fn-border, #e5e7eb);overflow:hidden}.cl-node-tooltip-overlay{position:fixed;z-index:9999;max-width:280px;padding:.5rem .75rem;border-radius:8px;background:#1f2937;color:#fff;font-size:.8rem;box-shadow:0 4px 12px #0003;pointer-events:auto}.cl-node-tooltip-name{font-weight:600;margin:0 0 .2rem}.cl-node-tooltip-meta{font-size:.72rem;color:#94a3b8;margin:0 0 .25rem}.cl-node-tooltip-address{font-size:.7rem;color:#94a3b8;margin:0 0 .35rem}.cl-node-tooltip-links{display:flex;gap:.75rem}.cl-node-tooltip-links a{color:#10b981;text-decoration:none}.cl-node-tooltip-links a:hover{text-decoration:underline}.cl-graph-svg{display:block;width:100%;height:500px}.cl-stage-breakdown{min-width:150px;display:flex;flex-direction:column;gap:.45rem;padding:.5rem 0}.cl-stage-row{display:flex;align-items:center;gap:.4rem}.cl-stage-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.cl-stage-label{font-size:.78rem;color:var(--fn-text, #1f2937);flex:1}.cl-stage-count{font-size:.82rem;font-weight:700;color:var(--fn-text, #1f2937)}.na-panel{margin-top:1.5rem;padding:1.25rem;background:var(--fn-card-bg, #fff);border:1px solid var(--fn-border, #e5e7eb);border-radius:10px}.na-title{font-size:1rem;font-weight:700;color:var(--fn-text, #1f2937);margin:0 0 1rem}.na-section-title{font-size:.85rem;font-weight:700;color:var(--fn-text, #1f2937);margin:1.25rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em}.na-metrics-row{display:flex;gap:.75rem;flex-wrap:wrap}.na-metric{display:flex;flex-direction:column;align-items:center;padding:.6rem 1rem;background:var(--fn-bg, #f9fafb);border-radius:8px;min-width:90px}.na-metric-val{font-size:1.1rem;font-weight:800;color:var(--fn-text, #1f2937)}.na-metric-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fn-text-muted, #6b7280);margin-top:2px}.na-communities{margin-top:.5rem}.na-comm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem}.na-comm-card{padding:.65rem .75rem;background:var(--fn-bg, #f9fafb);border-radius:8px;border-left:3px solid #6b7280}.na-comm-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.na-comm-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:#fff;padding:.1rem .4rem;border-radius:4px;min-width:28px}.na-comm-size{font-size:.75rem;font-weight:600;color:var(--fn-text, #1f2937)}.na-comm-capture{font-size:.7rem;color:var(--fn-text-muted, #6b7280);margin-left:auto}.na-comm-density{font-size:.65rem;color:var(--fn-text-muted, #6b7280);margin-top:.25rem;display:block}.na-impact{margin-top:.5rem}.na-impact-desc{font-size:.72rem;color:var(--fn-text-muted, #6b7280);margin:0 0 .5rem;line-height:1.5}.na-impact-table{width:100%;border-collapse:collapse;font-size:.78rem}.na-impact-table th{text-align:left;padding:.4rem .5rem;border-bottom:2px solid var(--fn-border, #e5e7eb);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--fn-text-muted, #6b7280);white-space:nowrap}.na-impact-table td{padding:.4rem .5rem;border-bottom:1px solid var(--fn-border, #e5e7eb);vertical-align:middle}.na-impact-table tr.na-top td{background:#3b82f60a}.na-rank{font-weight:700;color:var(--fn-text-muted, #6b7280);width:30px;text-align:center}.na-top .na-rank{color:var(--fn-accent, #3b82f6)}.na-name{display:flex;align-items:flex-start;gap:.35rem;font-weight:600;color:var(--fn-text, #1f2937);max-width:320px}.na-name-cell{display:flex;flex-direction:column;gap:.2rem}.na-node-extras{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.7rem;font-weight:400;color:var(--fn-text-muted, #6b7280)}.na-node-extras a{color:var(--fn-accent, #3b82f6);text-decoration:none}.na-node-extras a:hover{text-decoration:underline}.na-node-address{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.na-stage-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.na-stage-tag{font-size:.68rem;font-weight:600;white-space:nowrap}.na-num{font-variant-numeric:tabular-nums;text-align:right;color:var(--fn-text-muted, #6b7280)}.na-score-bar-wrap{display:flex;align-items:center;gap:.35rem;min-width:100px}.na-score-bar{height:6px;border-radius:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);min-width:2px}.na-score-val{font-size:.72rem;font-weight:600;color:var(--fn-text, #1f2937);font-variant-numeric:tabular-nums}.na-comm-dot{display:inline-flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:700;color:#fff;padding:.1rem .35rem;border-radius:4px}.na-show-more{display:block;margin:.5rem auto 0;padding:.35rem 1rem;font-size:.72rem;font-weight:600;color:var(--fn-accent, #3b82f6);background:none;border:1px solid var(--fn-accent, #3b82f6);border-radius:6px;cursor:pointer}.na-show-more:hover{background:#3b82f614}.sidebar-add-group{display:flex;align-items:center;gap:4px}.sidebar-add-btn{height:24px;padding:0 6px;border-radius:6px;background:var(--secondary);border:1px solid var(--border);color:var(--muted-foreground);font-size:.72rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;white-space:nowrap}.sidebar-add-btn:hover{background:var(--accent);color:var(--accent-foreground);border-color:var(--accent)}.sidebar-add-org-btn{font-size:.9rem;padding:0 5px}.org-group-header{width:100%;text-align:left;cursor:pointer;background:none;border:none;border-radius:6px;transition:background .1s;color:inherit;position:relative}.org-group-header:hover{background:var(--accent, rgba(0, 0, 0, .05))}.org-group-header.active{background:var(--accent, rgba(59, 130, 246, .1))}.org-group-header .group-label{color:var(--foreground);opacity:1;font-weight:700;font-size:.7rem}.org-group-count{margin-left:auto;font-size:.65rem;color:var(--muted-foreground);background:var(--secondary);border-radius:10px;padding:.1rem .4rem}.org-group-header-row{display:flex;align-items:center;gap:.25rem;margin-bottom:.125rem}.org-group-header-row .store-group-header,.org-group-header-row .org-group-header{flex:1;margin-bottom:0}.org-group-toggle{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;font-size:.7rem;color:var(--muted-foreground);transition:background .15s,color .15s}.org-group-toggle:hover{background:var(--accent, rgba(0, 0, 0, .05));color:var(--foreground)}.org-group-toggle.collapsed{opacity:.7}.org-manager-page{padding:2rem;max-width:900px;margin:0 auto}.org-manager-header{margin-bottom:2rem}.org-manager-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.org-manager-title-row h2{font-size:1.5rem;font-weight:700}.org-manager-close{background:none;border:none;font-size:1.25rem;color:var(--muted-foreground);cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .1s}.org-manager-close:hover{background:var(--secondary)}.org-manager-sub{color:var(--muted-foreground);font-size:.875rem;margin-bottom:1rem}.org-manager-create-btn{font-size:.875rem}.org-manager-loading,.org-manager-error{display:flex;align-items:center;gap:.5rem;padding:1rem;color:var(--muted-foreground)}.org-manager-error{color:var(--destructive)}.org-manager-empty{text-align:center;padding:3rem;color:var(--muted-foreground)}.org-cards{display:flex;flex-direction:column;gap:1rem}.org-card{border:1px solid var(--border);border-radius:10px;padding:1.25rem;background:var(--card);transition:box-shadow .15s}.org-card:hover{box-shadow:0 2px 8px #00000014}.org-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.org-card-title-row{display:flex;align-items:center;gap:.75rem}.org-card-icon{font-size:1.5rem;line-height:1}.org-card-name{font-size:1.1rem;font-weight:700;margin:0 0 .15rem}.org-card-id{font-size:.75rem;color:var(--muted-foreground);font-family:monospace}.org-card-actions{display:flex;align-items:center;gap:.5rem}.org-card-btn{padding:.3rem .75rem;border-radius:6px;border:1px solid var(--border);background:var(--secondary);cursor:pointer;font-size:.8rem;font-weight:500;transition:all .1s}.org-card-btn:hover{background:var(--accent)}.org-card-btn.view-btn{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:600}.org-card-btn.view-btn:hover{opacity:.85}.org-card-btn.delete-btn:hover{background:var(--destructive);color:#fff;border-color:var(--destructive)}.org-card-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.org-pass-style-badge{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:20px}.org-pass-style-badge.shared{background:#3b82f61f;color:#2563eb}.org-pass-style-badge.per_location{background:#8b5cf61f;color:#7c3aed}.org-cross-store-badge{font-size:.72rem;font-weight:600;padding:.2rem .55rem;border-radius:20px}.org-cross-store-badge.on{background:#22c55e1f;color:#16a34a}.org-cross-store-badge.off{background:#6b72801f;color:#6b7280}.org-card-primary,.org-card-count{font-size:.78rem;color:var(--muted-foreground)}.org-card-stores{display:flex;flex-wrap:wrap;gap:.4rem}.org-card-store-chip{display:flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:6px;border:1px solid var(--border);background:var(--secondary);border-left-width:3px;font-size:.78rem}.org-chip-icon{font-size:.85rem}.org-chip-name{font-weight:500}.org-chip-primary-badge{color:#f59e0b;font-size:.75rem;margin-left:.15rem}.org-card-confirm-delete{margin-top:1rem;padding:.75rem;background:#ef44440f;border:1px solid rgba(239,68,68,.25);border-radius:8px}.org-card-confirm-delete p{font-size:.875rem;margin-bottom:.5rem}.org-delete-company-select{margin:.5rem 0}.org-delete-sub{font-size:.8rem;color:var(--muted-foreground);margin-bottom:.5rem}.org-delete-checkboxes{display:flex;flex-direction:column;gap:.35rem;max-height:180px;overflow-y:auto}.org-delete-cb-label{display:flex;align-items:center;gap:.4rem;font-size:.85rem;cursor:pointer;padding:.25rem .4rem;border-radius:4px;transition:background .15s}.org-delete-cb-label:hover{background:#ef444414}.org-delete-cb-icon{font-size:1rem}.org-delete-cb-id{color:var(--muted-foreground);font-size:.75rem}.org-delete-select-actions{margin-top:.4rem}.org-delete-select-all-btn{font-size:.75rem;padding:.2rem .5rem;background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer}.org-confirm-actions{display:flex;gap:.5rem;margin-top:.5rem}.danger-btn{background:var(--destructive);color:#fff;border-color:var(--destructive);padding:.3rem .75rem;border-radius:6px;cursor:pointer;font-size:.8rem;font-weight:600;border:none}.danger-btn:hover{opacity:.85}.org-form-modal{max-width:480px}.org-multi-view{display:flex;flex-direction:column;height:100%;width:100%;max-width:100%;margin:0;background:var(--background);position:relative}.org-multi-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.org-multi-title{display:flex;align-items:center;gap:.75rem}.org-multi-icon{font-size:1.75rem;line-height:1}.org-multi-title h2{font-size:1.25rem;font-weight:700;margin:0 0 .25rem}.org-multi-header-actions{display:flex;align-items:center;gap:.75rem}.org-multi-count{font-size:.8rem;color:var(--muted-foreground)}.org-multi-close{background:none;border:none;font-size:1.25rem;color:var(--muted-foreground);cursor:pointer;padding:.25rem .5rem;border-radius:6px;transition:background .1s}.org-multi-close:hover{background:var(--secondary)}.org-logout-btn{font-size:.85rem;padding:.35rem .65rem;border-radius:6px;background:var(--secondary);color:var(--foreground);border:1px solid var(--border);cursor:pointer;font-weight:500}.org-logout-btn:hover{background:var(--muted)}.org-add-store-btn{font-size:.8rem;padding:.35rem .6rem;border-radius:6px;background:var(--primary);color:var(--primary-foreground);border:none;cursor:pointer;font-weight:500}.org-add-store-btn:hover{opacity:.9}.org-manage-ids-btn{font-size:.8rem;padding:.35rem .6rem;border-radius:6px;background:var(--secondary);color:var(--foreground);border:none;cursor:pointer}.org-manage-ids-btn:hover,.org-manage-ids-btn.active{background:var(--muted)}.org-manage-store-ids-panel{padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:var(--muted)}.org-manage-ids-title{font-size:.95rem;font-weight:600;margin:0 0 .25rem}.org-manage-ids-hint{font-size:.8rem;color:var(--muted-foreground);margin:0 0 .75rem}.org-manage-ids-list{display:flex;flex-direction:column;gap:.75rem}.org-manage-ids-row{display:flex;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--background);border-radius:8px;border:1px solid var(--border)}.org-manage-ids-store{display:flex;align-items:center;gap:.5rem;min-width:140px}.org-manage-ids-icon{font-size:1.25rem}.org-manage-ids-name{display:block;font-weight:500;font-size:.9rem}.org-manage-ids-id{display:block;font-size:.75rem;color:var(--muted-foreground);font-family:monospace}.org-manage-ids-links{flex:1;display:flex;flex-direction:column;gap:.5rem}.org-manage-ids-link-group{display:flex;align-items:center;gap:.5rem}.org-manage-ids-label{font-size:.75rem;color:var(--muted-foreground);min-width:70px}.org-manage-ids-url{flex:1;font-size:.75rem;font-family:monospace;background:var(--muted);padding:.25rem .5rem;border-radius:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.org-manage-ids-copy{background:none;border:none;cursor:pointer;padding:.25rem;font-size:.9rem;border-radius:4px}.org-manage-ids-copy:hover{background:var(--secondary)}.org-manage-ids-edit{background:none;border:none;cursor:pointer;padding:.25rem;font-size:.9rem;border-radius:4px}.org-manage-ids-edit:hover{background:var(--secondary)}.org-multi-body{display:flex;flex:1;min-height:0;width:100%}.org-store-sidebar{width:200px;min-width:160px;max-width:500px;flex-shrink:0;border-right:1px solid var(--border);background:var(--card);overflow-y:auto;padding:.35rem;display:flex;flex-direction:column;gap:.25rem}.org-sidebar-resize-handle{width:8px;flex-shrink:0;cursor:col-resize;background:var(--muted);border-left:1px solid var(--border);border-right:1px solid var(--border);transition:background .15s}.org-sidebar-resize-handle:hover{background:var(--muted-foreground)}.org-sidebar-resize-handle:active{background:var(--primary)}.main-sidebar-resize-handle{width:8px;flex-shrink:0;cursor:col-resize;background:var(--muted);border-left:1px solid var(--border);border-right:1px solid var(--border);transition:background .15s}.main-sidebar-resize-handle:hover{background:var(--muted-foreground)}.main-sidebar-resize-handle:active{background:var(--primary)}.org-sidebar-store{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;background:transparent;border:none;border-radius:8px;cursor:pointer;text-align:left;transition:background .15s}.org-sidebar-store:hover{background:var(--secondary)}.org-sidebar-store.selected{background:var(--primary);color:var(--primary-foreground)}.org-sidebar-icon{font-size:1.25rem;flex-shrink:0}.org-sidebar-info{min-width:0;display:flex;flex-direction:column;gap:.1rem}.org-sidebar-name{font-size:.95rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-sidebar-meta{font-size:.7rem;opacity:.85}.org-store-content{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;padding:1.5rem 2rem 0;max-width:900px;margin-left:auto;margin-right:auto;width:100%}.org-content-store-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;flex-shrink:0}.org-content-header-info{display:flex;align-items:center;gap:.5rem}.org-content-icon{font-size:1.25rem}.org-content-name{font-size:1rem;font-weight:700;margin:0}.org-content-primary-badge{font-size:.65rem;font-weight:700;letter-spacing:.03em;opacity:.9}.org-content-header-actions{display:flex;align-items:center;gap:.5rem}.org-all-previews-btn{background:#ffffff26;border:none;padding:.3rem .6rem;font-size:.8rem;border-radius:6px;cursor:pointer;transition:opacity .15s}.org-all-previews-btn:hover{opacity:.9}.org-content-edit-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.25rem;border-radius:4px;opacity:.8;transition:opacity .1s}.org-content-edit-btn:hover{opacity:1}.org-content-preview{padding:.5rem .75rem;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.org-preview-row{display:flex;gap:1rem;align-items:flex-start;justify-content:flex-start}.org-preview-pass{flex:1;max-width:200px}.org-preview-pass img{width:100%;border-radius:8px;box-shadow:0 2px 8px #0000001f}.org-preview-qr{flex:0 0 auto;width:120px}.org-preview-qr img{width:100%;border-radius:6px}.org-content-body{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--background)}.org-content-stats{display:flex;align-items:center;justify-content:space-between;padding:.4rem .5rem;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}.org-content-member-count{font-size:.75rem;font-weight:600;color:var(--muted-foreground)}.org-content-search{width:120px;padding:.25rem .5rem;font-size:.75rem;border:1px solid var(--border);border-radius:5px;background:var(--secondary);color:var(--foreground)}.org-content-member-list{flex:1;overflow-y:auto;padding:.35rem .4rem;display:flex;flex-direction:column;gap:.4rem}.org-content-loading{display:flex;justify-content:center;padding:2rem}.org-content-empty{text-align:center;color:var(--muted-foreground);font-size:.8rem;padding:1.5rem}.org-all-previews-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.org-all-previews-modal{background:var(--card);border-radius:12px;border:1px solid var(--border);max-width:90vw;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.org-all-previews-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);flex-shrink:0}.org-all-previews-header h3{margin:0;font-size:1.1rem}.org-all-previews-close{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:6px;color:var(--muted-foreground)}.org-all-previews-close:hover{background:var(--secondary)}.org-all-previews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:1rem;overflow-y:auto}.org-all-previews-cell{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--background)}.org-all-previews-cell-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;flex-shrink:0}.org-all-previews-cell-icon{font-size:1.1rem}.org-all-previews-cell-name{font-weight:600;font-size:.9rem;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-all-previews-cell-primary{opacity:.9}.org-all-previews-cell-images{display:flex;gap:.75rem;padding:.5rem .75rem;align-items:flex-start}.org-all-previews-cell-pass{flex:1;max-width:140px}.org-all-previews-cell-pass img{width:100%;border-radius:8px;box-shadow:0 2px 6px #0000001a}.org-all-previews-cell-qr{width:90px;flex-shrink:0}.org-all-previews-cell-qr img{width:100%;border-radius:6px}@media(max-width:768px){.org-store-content{padding-left:1rem;padding-right:1rem}}@media(max-width:600px){.org-store-sidebar{width:160px}.org-all-previews-grid{grid-template-columns:1fr}}.org-member-card{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;background:var(--card);transition:box-shadow .1s}.org-member-card:hover{box-shadow:0 1px 4px #00000014}.org-member-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem;gap:.5rem}.org-member-name-row{display:flex;align-items:center;gap:.35rem;min-width:0}.org-member-name{font-weight:600;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.org-member-punches{font-size:.78rem;color:var(--muted-foreground);white-space:nowrap;flex-shrink:0}.org-member-actions{display:flex;gap:.3rem;flex-wrap:wrap}.org-member-actions .punch-btn,.org-member-actions .redeem-btn{padding:.2rem .6rem;font-size:.75rem}.org-member-actions .download-btn{padding:.2rem .5rem;font-size:.75rem;min-width:unset}.notification-modal{max-width:620px;width:95vw;max-height:90vh;overflow-y:auto}.company-card-header .notif-btn{background:#ffffff1a;border:none;padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;opacity:.7;transition:opacity .2s}.company-card-header .notif-btn:hover{opacity:1;background:#fff3}.notif-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.notif-section:last-of-type{border-bottom:none}.notif-section h4{margin:0 0 .25rem;font-size:1rem}.notif-hint{font-size:.8rem;color:var(--muted-foreground);margin:0 0 .75rem;line-height:1.4}.notif-form textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.9rem;font-family:inherit;resize:vertical}.notif-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.notif-form-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem}.char-count{font-size:.75rem;color:var(--muted-foreground)}.notif-result{margin-top:.75rem;padding:.6rem .8rem;background:#16a2491f;color:#16a249;border-radius:var(--radius-sm);font-size:.85rem}.notif-last{margin-top:.75rem;padding:.5rem .8rem;background:var(--muted);border-radius:var(--radius-sm);font-size:.8rem;color:var(--muted-foreground)}.notif-last-time{font-size:.75rem;opacity:.7}.notif-loading,.notif-empty{font-size:.85rem;color:var(--muted-foreground);padding:.5rem 0}.promo-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.promo-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--muted)}.promo-item.expired{opacity:.5}.promo-item-info{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem}.promo-badge{font-size:.65rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.1rem .4rem;border-radius:3px;display:inline-block;width:fit-content}.promo-item.active .promo-badge{background:#16a24926;color:#16a249}.promo-item.expired .promo-badge{background:var(--border);color:var(--muted-foreground)}.promo-coords{font-family:monospace;font-size:.75rem;color:var(--muted-foreground)}.promo-text{color:var(--foreground)}.promo-dates{font-size:.7rem;color:var(--muted-foreground)}.promo-form{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;border:1px dashed var(--border);border-radius:var(--radius-sm)}.promo-form-row{display:flex;flex-direction:column}.promo-form-row.two-col{flex-direction:row;gap:.75rem}.promo-form-row.two-col>label{flex:1}.promo-form label{font-size:.75rem;color:var(--muted-foreground);margin-bottom:.2rem;display:flex;flex-direction:column;gap:.2rem}.promo-form input{padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--input);color:var(--foreground);font-size:.85rem;margin-bottom:0}.promo-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px #2d4b7633}.btn-primary{background:var(--primary);color:var(--primary-foreground);border:none;padding:.6rem 1.2rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:opacity .2s}.btn-primary:hover:not(:disabled){opacity:.9}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--secondary);color:var(--foreground);border:1px solid var(--border);padding:.6rem 1.2rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:500;transition:background .2s}.btn-secondary:hover{background:var(--border)}.btn-danger-sm{background:transparent;color:var(--destructive);border:1px solid var(--destructive);padding:.25rem .5rem;border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;line-height:1;transition:background .2s}.btn-danger-sm:hover{background:#ef43431a}
