:root{--brand-primary:#FF385C;--brand-primary-hover:#E31C5F;--brand-primary-light:#FFF0F3;--brand-primary-soft:#FFE8EC;--bg-dark:#FFFFFF;--bg-surface:#F7F7F7;--bg-card:#FFFFFF;--bg-card-hover:#F7F7F7;--bg-elevated:#FFFFFF;--bg-input:#FFFFFF;--border-glow:rgba(255,56,92,0.35);--border-light:#DDDDDD;--border-medium:#B0B0B0;--primary-color:#FF385C;--primary-emerald:#008A05;--accent-gold:#FF385C;--accent-champagne:#222222;--accent-blue:#008489;--accent-purple:#7B61FF;--accent-rose:#FF385C;--text-main:#222222;--text-muted:#717171;--text-subtle:#B0B0B0;--text-accent:#FF385C;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-serif:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:"JetBrains Mono","Fira Code",monospace;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:1.25rem;--space-2xl:1.75rem;--space-3xl:2.25rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.08),0 4px 12px rgba(0,0,0,0.05);--shadow-md:0 6px 16px rgba(0,0,0,0.12);--shadow-lg:0 12px 28px rgba(0,0,0,0.12);--shadow-glow:0 4px 14px rgba(255,56,92,0.25);--shadow-emerald:0 4px 14px rgba(0,138,5,0.2);--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--sidebar-width:260px;--sidebar-collapsed:72px;--topbar-height:64px;--content-max:1400px;--page-gutter:clamp(1.15rem,3vw,1.75rem)}*,:after,:before{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;max-width:100vw;overflow-x:hidden}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);line-height:1.65;letter-spacing:.01em;min-height:100vh;background-image:none}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);color:var(--text-main);letter-spacing:-.02em;line-height:1.2}.text-muted{color:var(--text-muted)}.text-accent{color:var(--brand-primary)}.text-emerald{color:var(--primary-emerald)}.gradient-text{background:linear-gradient(135deg,#222222,#FF385C);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app-root{display:flex;min-height:100vh}.app-sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:#FFFFFF;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-right:1px solid var(--border-light);display:flex;flex-direction:column;z-index:100;transition:width .3s var(--ease-out),transform .3s var(--ease-out);overflow:hidden}.app-sidebar:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(180deg,transparent,var(--border-light) 12%,var(--border-light) 88%,transparent);pointer-events:none}.app-sidebar.collapsed{width:var(--sidebar-collapsed)}.app-main{flex:1 1;margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:calc(100% - var(--sidebar-width));min-width:0;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;transition:margin-left .3s var(--ease-out),width .3s var(--ease-out),max-width .3s var(--ease-out)}.app-main.sidebar-collapsed,.app-sidebar.collapsed~.app-main{margin-left:var(--sidebar-collapsed);width:calc(100% - var(--sidebar-collapsed));max-width:calc(100% - var(--sidebar-collapsed))}.sidebar-header{padding:1rem .85rem;justify-content:space-between;gap:.5rem;border-bottom:1px solid var(--border-light);min-height:var(--topbar-height);flex-shrink:0}.sidebar-brand,.sidebar-header{display:flex;align-items:center}.sidebar-brand{gap:.75rem;min-width:0;flex:1 1}.sidebar-brand-logo{width:40px;height:40px;border-radius:12px;overflow:hidden;border:1.5px solid var(--brand-primary);box-shadow:0 4px 16px rgba(255,56,92,.25);display:flex;align-items:center;justify-content:center;background:#fff;flex-shrink:0}.sidebar-brand-logo img{width:100%;height:100%;object-fit:cover;display:block}.sidebar-collapse-btn{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid var(--border-light);background:#fff;color:var(--text-muted);cursor:pointer;transition:all .22s var(--ease-out);box-shadow:0 1px 3px rgba(0,0,0,.06)}.sidebar-collapse-btn:hover{color:var(--brand-primary);border-color:rgba(255,56,92,.35);background:rgba(255,56,92,.04);box-shadow:0 4px 12px rgba(255,56,92,.12);transform:translateY(-1px)}.sidebar-collapse-btn:active{transform:translateY(0)}.sidebar-collapse-btn .app-icon{transition:transform .3s var(--ease-out)}.collapsed .sidebar-collapse-btn .app-icon{transform:rotate(180deg)}.collapsed .sidebar-header{flex-direction:column;padding:.85rem .5rem;gap:.65rem}.collapsed .sidebar-brand,.sidebar-brand-icon{justify-content:center}.sidebar-brand-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--brand-primary),var(--primary-emerald));border-radius:var(--radius-md);display:flex;align-items:center;font-size:1.2rem;flex-shrink:0}.sidebar-brand-text{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--text-main);white-space:nowrap;opacity:1;transition:opacity .2s ease,width .2s ease}.collapsed .sidebar-brand-text{opacity:0;width:0;overflow:hidden;display:none}.sidebar-nav{flex:1 1;overflow-y:auto;padding:.75rem 0}.sidebar-group{margin-bottom:.65rem}.sidebar-group-label{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--text-subtle);padding:.85rem 1.25rem .5rem;white-space:nowrap}.collapsed .sidebar-group-label{text-align:center;padding:.75rem .5rem .35rem;font-size:0}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;margin:.12rem .5rem;border-radius:var(--radius-md);color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid transparent;background:transparent;text-align:left;width:calc(100% - 1rem);white-space:nowrap;overflow:hidden}.sidebar-link:hover{color:var(--text-main);background:var(--bg-surface)}.sidebar-link.active{color:var(--bg-dark);background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover));box-shadow:0 4px 12px rgba(255,56,92,.3);font-weight:700}.sidebar-link-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;flex-shrink:0}.sidebar-link.active .sidebar-link-icon{color:inherit}.sidebar-link-label{opacity:1;transition:opacity .2s ease}.collapsed .sidebar-link-label{opacity:0;width:0}.collapsed .sidebar-link{justify-content:center;padding:.55rem;margin:.15rem auto;width:44px;max-width:calc(100% - .5rem)}.collapsed .sidebar-link.active{box-shadow:none}.sidebar-footer{padding:1rem .85rem 1.25rem;border-top:1px solid var(--border-light)}.sidebar-points{display:flex;align-items:center;gap:.6rem;padding:.75rem;background:rgba(255,56,92,.1);border:1px solid rgba(255,56,92,.2);border-radius:var(--radius-md)}.sidebar-points-value{font-size:1.1rem;font-weight:800;color:var(--brand-primary)}.sidebar-points-label{font-size:.72rem;color:var(--text-muted)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:90;min-height:var(--topbar-height);height:auto;width:100%;background:#FFFFFF;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;padding:.5rem var(--page-gutter);gap:.5rem}.topbar-search{flex:1 1;max-width:480px;position:relative}.topbar-search-input{width:100%;height:40px;padding:0 1rem 0 2.5rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-main);font-family:var(--font-sans);font-size:.85rem;line-height:1;outline:none;transition:border-color .2s ease}.topbar-search-input::placeholder{color:var(--text-subtle)}.topbar-search-input:focus{border-color:var(--border-glow)}.topbar-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text-subtle)}.topbar-actions{gap:.5rem}.topbar-actions,.topbar-btn{display:flex;align-items:center}.topbar-btn{width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-light);color:var(--text-muted);cursor:pointer;justify-content:center;font-size:1.1rem;transition:all .2s ease;position:relative}.topbar-btn:hover{background:var(--bg-surface);color:var(--text-main);border-color:var(--border-glow)}.topbar-btn .notification-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--accent-rose);border-radius:50%;border:2px solid var(--bg-dark)}.topbar-wallet{display:flex;align-items:center;gap:.5rem;padding:.45rem 1rem;background:var(--brand-primary-light);border:1px solid rgba(255,56,92,.25);border-radius:var(--radius-full);cursor:pointer;color:var(--brand-primary);font-weight:700;font-size:.85rem;transition:all .2s ease}.topbar-wallet:hover{background:rgba(255,56,92,.18);border-color:rgba(255,56,92,.4)}.topbar-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent-gold),var(--primary-emerald));display:flex;align-items:center;justify-content:center;font-size:.9rem;cursor:pointer;border:2px solid transparent;transition:border-color .2s ease}.topbar-avatar:hover{border-color:var(--accent-gold)}.topbar-login-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .95rem;border-radius:999px;border:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-main);font-weight:700;font-size:.8rem;cursor:pointer;transition:all .2s ease}.topbar-login-btn:hover{background:var(--bg-card-hover);border-color:var(--border-glow)}.user-menu-modal{max-width:400px;padding:1.75rem}.user-menu-header{text-align:center;margin-bottom:1.25rem}.user-menu-avatar{width:72px;height:72px;margin:0 auto .75rem;border-radius:50%;background:linear-gradient(135deg,var(--accent-gold),var(--primary-emerald));display:flex;align-items:center;justify-content:center;color:var(--text-main)}.user-menu-name{font-size:1.35rem;font-weight:800;margin:0 0 .25rem}.user-menu-email{color:var(--text-muted);font-size:.875rem;margin:0 0 .75rem}.user-menu-role{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,56,92,.1);color:var(--brand-primary)}.user-menu-role.retailer{background:rgba(5,150,105,.12);color:var(--primary-emerald)}.user-menu-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem;gap:.75rem;margin-bottom:1.25rem}.user-menu-stat{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:.85rem;text-align:center}.user-menu-stat-value{display:block;font-size:1.25rem;font-weight:800;color:var(--brand-primary)}.user-menu-stat-label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:.15rem}.user-menu-actions{display:flex;flex-direction:column;gap:.5rem}.page-scanner{max-width:1100px}.scanner-file-input{display:none}.scanner-camera-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:scanner-reveal .25s var(--ease-out)}.scanner-camera-modal{width:min(520px,100%);border-radius:var(--radius-xl);background:#111;border:1px solid #333;box-shadow:var(--shadow-lg);overflow:hidden}.scanner-camera-header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-bottom:1px solid #2a2a2a}.scanner-camera-header h3{margin:0;font-size:1rem;font-weight:800;color:#fff}.scanner-camera-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-full);border:1px solid #333;background:#1a1a1a;color:#ccc;cursor:pointer;transition:all .2s ease}.scanner-camera-close:hover{border-color:var(--brand-primary);color:#fff}.scanner-camera-viewport{position:relative;aspect-ratio:4/3;background:#000;overflow:hidden}.scanner-camera-video{width:100%;height:100%;object-fit:cover;display:block}.scanner-camera-viewport .scanner-camera-frame{position:absolute;inset:1rem;pointer-events:none}.scanner-camera-viewport .scanner-corner{border-color:#34d399;opacity:.8}.scanner-camera-error{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;color:#aaa}.scanner-camera-error p{margin:0;font-size:.88rem;line-height:1.45;max-width:280px}.scanner-camera-hint{margin:0;padding:.65rem 1rem 0;font-size:.78rem;color:#888;text-align:center}.scanner-camera-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:.5rem;gap:.5rem;padding:1rem}.scanner-camera-cancel,.scanner-camera-flip{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem .75rem;border-radius:var(--radius-md);font-size:.78rem;font-weight:700;cursor:pointer;background:#1a1a1a;border:1px solid #333;color:#ccc;transition:all .2s ease}.scanner-camera-cancel:hover,.scanner-camera-flip:hover:not(:disabled){border-color:#555;color:#fff}.scanner-camera-flip:disabled{opacity:.4;cursor:not-allowed}.scanner-camera-cancel{justify-self:end}.scanner-camera-shutter{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:0;border:none;background:transparent;cursor:pointer}.scanner-camera-shutter:disabled{opacity:.4;cursor:not-allowed}.scanner-camera-shutter-ring{width:64px;height:64px;border-radius:50%;border:4px solid #fff;background:var(--brand-primary);box-shadow:0 0 0 4px rgba(255,56,92,.25);transition:transform .15s ease}.scanner-camera-shutter:hover:not(:disabled) .scanner-camera-shutter-ring{transform:scale(1.05)}.scanner-camera-shutter-label{font-size:.72rem;font-weight:700;color:#aaa;text-transform:uppercase;letter-spacing:.05em}@keyframes scanner-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes scanner-ring-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.08);opacity:.9}}@keyframes scanner-scan-sweep{0%{top:0;opacity:0}10%{opacity:1}90%{opacity:1}to{top:100%;opacity:0}}@keyframes scanner-corner-glow{0%,to{opacity:.45}50%{opacity:1}}@keyframes scanner-reveal{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes scanner-shimmer{0%{background-position:-200%}to{background-position:200%}}.scanner-hero{position:relative;margin-bottom:1.75rem;border-radius:var(--radius-xl);overflow:hidden;border:1px solid var(--border-light);background:linear-gradient(135deg,#fff,#fff8f9 45%,#f0faf2)}.scanner-hero-glow{position:absolute;inset:0;background:radial-gradient(circle at 15% 30%,rgba(255,56,92,.12),transparent 45%),radial-gradient(circle at 85% 70%,rgba(0,138,5,.1),transparent 40%);pointer-events:none}.scanner-hero-inner{position:relative;padding:2rem 1.75rem 1.5rem;text-align:center;transition:padding .35s var(--ease-out)}.scanner-hero.is-compact .scanner-hero-inner{padding:1rem 1.25rem}.scanner-hero.is-compact .scanner-hero-title{font-size:1.35rem;margin-bottom:0}.scanner-hero.is-compact .scanner-hero-badge,.scanner-hero.is-compact .scanner-hero-subtitle{display:none}.scanner-hero-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:var(--radius-full);background:rgba(255,56,92,.1);border:1px solid rgba(255,56,92,.25);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-primary);margin-bottom:.85rem}.scanner-hero-title{font-size:clamp(1.75rem,4vw,2.35rem);font-weight:800;margin-bottom:.5rem;letter-spacing:-.03em}.scanner-hero-subtitle{color:var(--text-muted);font-size:.95rem;max-width:520px;margin:0 auto 1.25rem;line-height:1.6}.scanner-pipeline{display:flex;align-items:center;justify-content:center;gap:.5rem;flex-wrap:wrap}.scanner-pipeline-step{display:flex;align-items:center;gap:.45rem;padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:600;color:var(--text-subtle);background:rgba(255,255,255,.7);border:1px solid var(--border-light);transition:all .3s var(--ease-out)}.scanner-pipeline-step.active{color:var(--text-main);border-color:rgba(255,56,92,.3);background:#fff}.scanner-pipeline-step.current{color:var(--brand-primary);box-shadow:var(--shadow-glow);border-color:var(--brand-primary)}.scanner-pipeline-dot{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:800;background:var(--bg-surface);border:1px solid var(--border-light)}.scanner-pipeline-step.active .scanner-pipeline-dot{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.scanner-pipeline-step.current .scanner-pipeline-dot{background:var(--brand-primary);color:#fff}.scanner-workstation{display:grid;grid-template-columns:1fr 300px;grid-gap:1.25rem;gap:1.25rem;align-items:start}.scanner-drop-panel{position:relative;min-height:300px;border-radius:var(--radius-xl);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden;transition:border-color .25s ease,box-shadow .25s ease,transform .25s var(--ease-out)}.scanner-drop-panel:hover{border-color:rgba(255,56,92,.25);box-shadow:var(--shadow-md)}.scanner-drop-panel.drag-over{border-color:var(--brand-primary);box-shadow:var(--shadow-glow);transform:scale(1.005)}.scanner-drop-panel.has-image{background:#0a0a0a;border-color:#222}.scanner-drop-frame{position:absolute;inset:1rem;pointer-events:none;z-index:2}.scanner-corner{position:absolute;width:28px;height:28px;border-color:var(--brand-primary);border-style:solid;opacity:.55;animation:scanner-corner-glow 2.5s ease-in-out infinite}.scanner-corner.tl{top:0;left:0;border-width:3px 0 0 3px;border-radius:4px 0 0 0}.scanner-corner.tr{top:0;right:0;border-width:3px 3px 0 0;border-radius:0 4px 0 0;animation-delay:.3s}.scanner-corner.bl{bottom:0;left:0;border-width:0 0 3px 3px;border-radius:0 0 0 4px;animation-delay:.6s}.scanner-corner.br{bottom:0;right:0;border-width:0 3px 3px 0;border-radius:0 0 4px 0;animation-delay:.9s}.scanner-drop-panel.has-image .scanner-corner{border-color:#34d399}.scanner-drop-empty{flex-direction:column;min-height:300px;padding:1.75rem 1.25rem;text-align:center}.scanner-drop-empty,.scanner-drop-icon-wrap{display:flex;align-items:center;justify-content:center}.scanner-drop-icon-wrap{position:relative;width:72px;height:72px;margin-bottom:1.25rem;color:var(--brand-primary);animation:scanner-float 3s ease-in-out infinite}.scanner-drop-ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(255,56,92,.35);animation:scanner-ring-pulse 2s ease-in-out infinite}.scanner-drop-title{font-size:1.2rem;font-weight:800;margin-bottom:.4rem}.scanner-drop-hint{color:var(--text-muted);font-size:.88rem;max-width:340px;line-height:1.55;margin-bottom:1rem}.scanner-format-chips{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin-bottom:1.25rem}.scanner-format-chip{padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-muted)}.scanner-drop-actions{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center}.scanner-action-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.15rem;border-radius:var(--radius-full);font-size:.875rem;font-weight:700;cursor:pointer;border:none;transition:all .2s var(--ease-out)}.scanner-action-btn.primary{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-glow)}.scanner-action-btn.primary:hover{background:var(--brand-primary-hover);transform:translateY(-2px)}.scanner-action-btn.secondary{background:#fff;color:var(--text-main);border:1px solid var(--border-light)}.scanner-action-btn.secondary:hover{border-color:var(--brand-primary);color:var(--brand-primary);transform:translateY(-2px)}.scanner-preview-stage{display:flex;flex-direction:column;min-height:300px;padding:.85rem;gap:.65rem}.scanner-image-frame{position:relative;flex:1 1;min-height:200px;max-height:240px;border-radius:var(--radius-lg);overflow:hidden;background:#111}.scanner-preview-img{width:100%;height:100%;min-height:200px;max-height:240px;object-fit:contain;display:block}.scanner-image-frame.is-scanning .scanner-preview-img{filter:brightness(.85) contrast(1.05)}.scanner-scan-line{position:absolute;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#34d399,#22d3ee,transparent);box-shadow:0 0 20px rgba(52,211,153,.8);animation:scanner-scan-sweep 2s ease-in-out infinite;z-index:3}.scanner-scan-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(52,211,153,.06) 1px,transparent 0),linear-gradient(90deg,rgba(52,211,153,.06) 1px,transparent 0);background-size:24px 24px;z-index:2;pointer-events:none}.scanner-file-meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .85rem;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);font-size:.78rem;color:#ccc}.scanner-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.scanner-file-size{flex-shrink:0;color:#34d399;font-weight:700}.scanner-preview-toolbar{display:flex;gap:.5rem}.scanner-toolbar-btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.55rem;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#eee;transition:all .2s ease}.scanner-toolbar-btn:hover:not(:disabled){background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}.scanner-toolbar-btn.danger:hover:not(:disabled){border-color:rgba(255,56,92,.5);color:#ff8fa3}.scanner-toolbar-btn:disabled{opacity:.45;cursor:not-allowed}.scanner-drop-overlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;background:rgba(255,56,92,.12);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--brand-primary);font-weight:800;font-size:1rem;border:2px dashed var(--brand-primary);border-radius:var(--radius-xl)}.scanner-complete-bar{display:flex;align-items:center;gap:.85rem;padding:.65rem .85rem;margin-bottom:1rem;border-radius:var(--radius-lg);background:var(--bg-surface);border:1px solid var(--border-light);animation:scanner-reveal .4s var(--ease-out)}.scanner-complete-thumb{width:52px;height:52px;border-radius:var(--radius-sm);overflow:hidden;flex-shrink:0;background:#111;border:1px solid var(--border-light)}.scanner-complete-thumb img{width:100%;height:100%;object-fit:cover;display:block}.scanner-complete-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.scanner-complete-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--primary-emerald)}.scanner-complete-file{font-size:.82rem;font-weight:600;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scanner-complete-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .85rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;cursor:pointer;background:#fff;border:1px solid var(--border-light);color:var(--text-main);flex-shrink:0;transition:all .2s ease}.scanner-complete-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.scanner-side-panel{display:flex;flex-direction:column;gap:1rem}.scanner-side-card{padding:1.15rem;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.scanner-side-title{display:flex;align-items:center;gap:.45rem;font-size:.9rem;font-weight:800;margin-bottom:.85rem;color:var(--text-main)}.scanner-detect-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.scanner-detect-item{display:flex;align-items:center;gap:.6rem;font-size:.82rem;color:var(--text-muted);padding:.45rem .55rem;border-radius:var(--radius-sm);transition:all .25s ease}.scanner-detect-item.lit{color:var(--text-main);background:rgba(0,138,5,.06)}.scanner-detect-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--bg-surface);border:1px solid var(--border-light);flex-shrink:0}.scanner-detect-item.lit .scanner-detect-icon{background:rgba(0,138,5,.12);border-color:rgba(0,138,5,.3);color:var(--primary-emerald)}.scanner-milestone{padding:.65rem .5rem .35rem;border-radius:var(--radius-md);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.scanner-milestone-header{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.75rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#aaa}.scanner-milestone-track{position:relative;padding:0 .25rem}.scanner-milestone-track:before{content:"";right:16.66%;background:rgba(255,255,255,.12);z-index:0}.scanner-milestone-fill,.scanner-milestone-track:before{position:absolute;top:15px;left:16.66%;height:2px;border-radius:2px}.scanner-milestone-fill{background:linear-gradient(90deg,#34d399,#22d3ee);z-index:1;transition:width .45s var(--ease-out);max-width:66.68%}.scanner-milestone-steps{list-style:none;display:flex;justify-content:space-between;margin:0;padding:0;position:relative;z-index:2}.scanner-milestone-step{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.45rem;min-width:0}.scanner-milestone-node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1a1a1a;border:2px solid rgba(255,255,255,.2);color:#888;transition:all .35s var(--ease-out)}.scanner-milestone-step.active .scanner-milestone-node{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 0 0 4px rgba(255,56,92,.2);animation:scanner-ring-pulse 1.5s ease-in-out infinite}.scanner-milestone-step.done .scanner-milestone-node{background:var(--primary-emerald);border-color:var(--primary-emerald);color:#fff}.scanner-milestone-label{font-size:.68rem;font-weight:600;text-align:center;line-height:1.25;color:#777;padding:0 .15rem;transition:color .3s ease}.scanner-milestone-step.active .scanner-milestone-label{color:#ff8fa3;font-weight:700}.scanner-milestone-step.done .scanner-milestone-label{color:#34d399}.scanner-scanning-hint{border-style:dashed;background:rgba(255,56,92,.04)}.scanner-scanning-hint-inner{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:var(--text-muted);line-height:1.45}.scanner-scanning-hint-inner p{margin:0}.scanner-scanning-dot{flex-shrink:0;width:8px;height:8px;margin-top:.35rem;border-radius:50%;background:var(--brand-primary);animation:scanner-ring-pulse 1s ease-in-out infinite}.scanner-run-btn{position:relative;width:100%;padding:0;border:none;border-radius:var(--radius-lg);overflow:hidden;cursor:not-allowed;opacity:.55;transition:all .3s var(--ease-out)}.scanner-run-btn.ready{cursor:pointer;opacity:1}.scanner-run-btn.ready:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow)}.scanner-run-btn-bg{position:absolute;inset:0;background:linear-gradient(135deg,#e8e8e8,#f5f5f5);transition:background .3s ease}.scanner-run-btn.ready .scanner-run-btn-bg{background:linear-gradient(135deg,var(--brand-primary),#ff6b8a,var(--brand-primary));background-size:200% auto;animation:scanner-shimmer 3s linear infinite}.scanner-run-btn-content{position:relative;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 1.25rem;font-size:.9rem;font-weight:800;color:var(--text-muted)}.scanner-run-btn.ready .scanner-run-btn-content{color:#fff}.scanner-error{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius-md);background:rgba(229,62,62,.1);color:#c53030;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.scanner-result{margin-top:.5rem;animation:scanner-reveal .5s var(--ease-out)}.scanner-result-focus{border-color:rgba(0,138,5,.25);box-shadow:0 8px 32px rgba(0,138,5,.08),var(--shadow-md)}.page-scanner.has-result .scanner-hero{margin-bottom:.85rem}.scanner-result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:.5rem}.scanner-result-split{display:grid;grid-template-columns:160px 1fr;grid-gap:1.25rem;gap:1.25rem;margin-bottom:1.5rem}.scanner-result-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light);background:#111}.scanner-result-visual img{width:100%;height:100%;min-height:160px;max-height:180px;object-fit:cover;display:block}.scanner-result-badge{position:absolute;bottom:.65rem;left:.65rem;right:.65rem;display:flex;align-items:center;justify-content:center;gap:.35rem;padding:.4rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.scanner-result-badge.ok{background:rgba(0,138,5,.85);color:#fff}.scanner-result-badge.warn{background:rgba(255,56,92,.88);color:#fff}.scanner-result-note{font-size:.85rem;margin-top:.5rem}.scanner-result-grid{margin-bottom:1.5rem}.scanner-result-card{background:var(--bg-surface);padding:1rem;border-radius:var(--radius-md)}.scanner-result-card.damage{background:rgba(255,56,92,.1);border:1px solid var(--border-glow)}.scanner-result-card.clean{background:rgba(0,138,5,.08);border:1px solid rgba(0,138,5,.25)}.scanner-result-label{font-size:.78rem;color:var(--text-muted);margin-bottom:.25rem}.scanner-repair-plan{background:rgba(0,138,5,.08);padding:1.25rem;border-radius:var(--radius-md);border:1px solid rgba(0,138,5,.25)}.scanner-repair-plan h4{color:var(--primary-emerald);margin-bottom:.5rem}.scanner-repair-plan p{font-size:.9rem;margin:.25rem 0}.scanner-stat-card{padding:1.15rem!important}.scanner-stat-value{font-size:1.5rem;font-weight:800}.scanner-stat-value.gold{color:var(--accent-gold)}.scanner-stat-value.emerald{color:var(--primary-emerald)}.scanner-stat-value.blue{color:#60a5fa}.scanner-stat-label{font-size:.8rem}.scanner-coupon{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;background:var(--bg-surface);border:1px dashed var(--border-glow);border-radius:var(--radius-md);margin-bottom:1.5rem;font-size:.9rem}.scanner-result-cta{display:flex;gap:1rem;flex-wrap:wrap}.scanner-result-cta .btn{flex:1 1;min-width:200px}@media (max-width:900px){.scanner-workstation{grid-template-columns:1fr}.scanner-side-panel{order:2}.scanner-drop-panel{order:1}.scanner-result-split{grid-template-columns:1fr}}.page-content{flex:1 1;padding:1.25rem var(--page-gutter) 1rem;max-width:var(--content-max);margin:0 auto;width:100%}.page-landing{padding-top:2rem;padding-bottom:2rem;max-width:1200px}.section{margin-bottom:var(--space-lg)}.section-header{text-align:center;margin-bottom:1.25rem}.section-eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:800;color:var(--accent-gold);margin-bottom:.4rem}.section-title{font-size:clamp(1.6rem,3.5vw,2.4rem);margin-bottom:.35rem}.section-subtitle{color:var(--text-muted);font-size:.92rem;max-width:600px;margin:0 auto;line-height:1.6}.glass-panel{background:var(--bg-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,2rem);transition:all .3s var(--ease-out);box-shadow:var(--shadow-sm)}.glass-panel:hover{border-color:var(--border-glow);box-shadow:var(--shadow-md)}.glass-panel-glow{background:linear-gradient(135deg,rgba(0,138,5,.08),rgba(255,56,92,.08));border-color:var(--border-glow)}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));grid-gap:var(--space-lg)}.grid-2,.grid-3{display:grid;gap:var(--space-lg)}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));grid-gap:var(--space-lg)}.grid-4{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.grid-6{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-gap:var(--space-md);gap:var(--space-md)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:700;font-size:.88rem;padding:.7rem 1.5rem;border-radius:var(--radius-full);border:none;cursor:pointer;transition:all .25s var(--ease-out);text-decoration:none;white-space:nowrap;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover));color:#FFFFFF;box-shadow:0 4px 16px rgba(255,56,92,.25)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(255,56,92,.35);background:linear-gradient(135deg,var(--brand-primary-hover),var(--brand-primary))}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-medium);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:var(--bg-surface);border-color:var(--border-medium)}.btn-glass{color:var(--text-main);border:1px solid var(--border-light)}.btn-glass,.btn-glass:hover{background:var(--bg-surface)}.btn-glass:hover{border-color:var(--border-glow)}.btn-emerald{background:linear-gradient(135deg,var(--primary-emerald),#00670F);color:#fff;box-shadow:0 4px 16px rgba(0,138,5,.25)}.btn-emerald:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,138,5,.35)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.btn-sm{padding:.4rem .9rem;font-size:.78rem}.btn-lg{padding:.9rem 2rem;font-size:.95rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;font-weight:800;padding:.25rem .7rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.badge-gold{background:rgba(255,56,92,.12);color:var(--text-main);border:1px solid rgba(255,56,92,.3)}.badge-emerald{background:rgba(0,138,5,.12);color:var(--primary-emerald);border:1px solid rgba(0,138,5,.3)}.badge-blue{background:rgba(0,132,137,.1);color:var(--accent-blue);border:1px solid rgba(0,132,137,.25)}.badge-purple{background:rgba(123,97,255,.1);color:var(--accent-purple);border:1px solid rgba(123,97,255,.25)}.badge-rose{background:rgba(255,56,92,.1);color:var(--brand-primary);border:1px solid rgba(255,56,92,.25)}.badge.badge-solid{box-shadow:0 2px 8px rgba(0,0,0,.12)}.badge.badge-solid.badge-gold{background:#ffffff;color:var(--brand-primary);border:1px solid rgba(255,56,92,.35)}.badge.badge-solid.badge-emerald{background:#ffffff;color:var(--primary-emerald);border:1px solid rgba(0,138,5,.35)}.badge.badge-solid.badge-blue{background:#ffffff;color:var(--accent-blue);border:1px solid rgba(0,132,137,.35)}.product-card-badge{position:absolute;top:.65rem;left:.65rem;z-index:1;max-width:calc(100% - 1.3rem);overflow:hidden;text-overflow:ellipsis}.form-group{margin-bottom:var(--space-md)}.form-label{display:block;font-size:.82rem;font-weight:700;color:var(--text-muted);margin-bottom:.4rem}.form-input,.form-select,.form-textarea{width:100%;padding:.7rem 1rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-main);font-family:var(--font-sans);font-size:.9rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px rgba(255,56,92,.1)}.form-input::placeholder{color:var(--text-subtle)}.form-textarea{min-height:100px;resize:vertical}.form-select{cursor:pointer}.form-select option{background:var(--bg-surface);color:var(--text-main)}.modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:var(--space-md);animation:fadeIn .2s ease}.modal-content{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:#FFFFFF;border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-xl);position:relative;box-shadow:var(--shadow-lg);animation:scaleIn .3s var(--ease-out)}.modal-lg{max-width:800px}.modal-close{position:absolute;top:.85rem;right:.85rem;width:32px;height:32px;background:var(--bg-surface);border:1px solid var(--border-light);color:var(--text-muted);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s ease}.modal-close:hover{background:var(--bg-card-hover);color:var(--text-main)}.modal-icon{text-align:center;font-size:2.5rem;margin-bottom:.75rem}.modal-title{text-align:center;font-size:1.5rem;font-weight:800;margin-bottom:.4rem}.modal-subtitle{text-align:center;color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-lg)}.toast-notification{position:fixed;top:1.25rem;right:1.25rem;z-index:300;background:#FFFFFF;border:1px solid var(--border-light);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:.9rem 1.25rem;box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:.75rem;max-width:380px;animation:slideInRight .35s var(--ease-out)}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--brand-primary-light);color:var(--brand-primary)}.toast-title{font-weight:700;font-size:.9rem;color:var(--text-main);margin-bottom:.15rem;line-height:1.3}.toast-message{font-size:.82rem;color:var(--text-muted);line-height:1.45}.product-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s var(--ease-out);cursor:pointer;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-4px);border-color:var(--border-glow);box-shadow:var(--shadow-lg),var(--shadow-glow)}.product-image-wrap{position:relative;overflow:hidden}.product-image{width:100%;height:280px;object-fit:cover;display:block;transition:transform .4s var(--ease-out)}.product-card:hover .product-image{transform:scale(1.05)}.product-tag{position:absolute;top:.75rem;right:.75rem}.product-water-badge{position:absolute;bottom:.75rem;left:.75rem}.product-wishlist{position:absolute;top:.75rem;left:.75rem;width:36px;height:36px;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:all .2s ease}.product-wishlist:hover{background:rgba(251,113,133,.3)}.product-wishlist.active{background:rgba(251,113,133,.4)}.product-details{padding:1.25rem;flex:1 1;display:flex;flex-direction:column}.product-name{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;margin-bottom:.35rem;line-height:1.3}.product-artisan{font-size:.8rem;color:var(--text-muted);margin-bottom:.6rem}.product-pricing{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.product-price{font-size:1.25rem;font-weight:800;color:var(--text-main)}.product-original-price{font-size:.85rem;color:var(--text-subtle);text-decoration:line-through}.product-discount{font-size:.75rem;font-weight:700;color:var(--primary-emerald)}.product-provenance{font-size:.82rem;color:var(--text-muted);line-height:1.55;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border-light)}.product-rating{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--accent-champagne);margin-bottom:.5rem}.home-hero{text-align:center;padding:var(--space-2xl) 0 var(--space-xl)}.home-hero .hero-title{font-family:var(--font-sans);font-weight:700;font-size:clamp(2rem,4.5vw,3.5rem);margin-bottom:1rem;line-height:1.15}.hero-title-line{display:block}.home-hero .hero-subtitle{max-width:720px;margin:0 auto 2rem;font-size:clamp(.95rem,1.5vw,1.1rem)}.home-hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem}.home-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-xl)}.home-stat-card{text-align:center;padding:1.5rem 1rem}.home-stat-card .stat-value{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:var(--brand-primary);margin-bottom:.25rem}.flow-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.flow-step{position:relative;text-align:center;padding:1.75rem 1.25rem 1.5rem}.flow-step-number{position:absolute;top:.75rem;left:.75rem;width:28px;height:28px;border-radius:50%;background:rgba(0,138,5,.15);border:2px solid var(--primary-emerald);color:var(--primary-emerald);font-size:.75rem;font-weight:800;align-items:center}.flow-step-icon,.flow-step-number{display:flex;justify-content:center}.flow-step-icon{margin-bottom:.75rem;color:var(--brand-primary)}.flow-step-title{font-family:var(--font-serif);font-size:1rem;font-weight:700;margin-bottom:.35rem}.flow-step-desc{font-size:.82rem;color:var(--text-muted);line-height:1.5}.home-products-scroll{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.home-section-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:var(--space-lg)}.home-section-header .section-title{margin:0;text-align:left}.home-impact-panel{padding:clamp(1.5rem,4vw,2.5rem)}.home-cta-banner{text-align:center;padding:clamp(2rem,5vw,3rem)}.hero-section{padding:var(--space-2xl) 0}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:clamp(2rem,5vw,4rem);gap:clamp(2rem,5vw,4rem);align-items:center}.hero-eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-weight:800;color:var(--accent-gold);margin-bottom:1rem}.hero-eyebrow,.hero-title{font-family:var(--font-sans)}.hero-title{font-weight:700;font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.1;margin-bottom:1.25rem}.hero-accent{color:var(--brand-primary);font-style:italic}.hero-subtitle{color:var(--text-muted);font-size:clamp(.95rem,1.5vw,1.05rem);line-height:1.75;margin-bottom:1.75rem;max-width:560px}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:var(--space-xl)}.hero-stats{display:flex;gap:var(--space-xl)}.hero-stat-value{font-size:1.5rem;font-weight:800;color:var(--text-main)}.hero-stat-label{font-size:.78rem;color:var(--text-muted)}.hero-image-wrap{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-glow)}.hero-image{width:100%;height:clamp(300px,35vw,480px);object-fit:cover;display:block}.hero-image-badge{position:absolute;bottom:1rem;left:1rem;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.45rem 1rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;color:var(--accent-champagne);border:1px solid rgba(255,56,92,.3)}.city-impact-hero{background:linear-gradient(135deg,var(--brand-primary-light) 0,rgba(0,138,5,.06) 100%);padding:3rem 2rem;border-radius:var(--radius-lg);margin-bottom:2rem;border:1px solid var(--border-light);text-align:center}.city-impact-hero .section-title{color:var(--text-main)}.city-impact-hero .section-subtitle{color:var(--text-muted);margin:0 auto}.page-city-dashboard .city-impact-hero{margin-bottom:2.75rem;padding:2.5rem 2rem}.page-city-dashboard .section{margin-bottom:2.75rem}.page-city-dashboard .city-bottom-grid,.page-city-dashboard .section:last-child{margin-bottom:0}.page-city-dashboard .section-eyebrow{margin-bottom:1.25rem}.page-city-dashboard .city-hubs-grid,.page-city-dashboard .city-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.card-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1.25rem;min-height:156px}.card-stat:hover{transform:none}.card-stat .stat-icon{margin-bottom:.75rem;flex-shrink:0}.card-stat .stat-body{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:3.5rem;width:100%}.card-stat .stat-value{line-height:1.15;margin-bottom:0}.card-stat .stat-unit{margin-top:.2rem;margin-bottom:0}.card-stat .stat-label{margin-top:auto;padding-top:.65rem}.hub-card h3{margin:0 0 1rem;font-size:1.05rem;line-height:1.3}.hub-card .hub-metric{margin-bottom:1rem}.city-revenue-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem;padding:2rem}.city-revenue-panel>div{padding:.5rem 1rem;text-align:center}.city-revenue-label{margin-bottom:.5rem;font-size:.88rem}.city-revenue-value{font-size:2.5rem;font-weight:800;line-height:1.1}.city-revenue-panel>div:nth-child(2){border-left:1px solid var(--border-light);border-right:1px solid var(--border-light)}.page-city-dashboard .city-bottom-grid{gap:1.5rem;align-items:stretch}@media (max-width:1024px){.page-city-dashboard .city-hubs-grid,.page-city-dashboard .city-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.city-revenue-panel,.page-city-dashboard .city-hubs-grid,.page-city-dashboard .city-stats-grid{grid-template-columns:1fr}.city-revenue-panel>div:nth-child(2){border-left:none;border-right:none;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light);padding-top:1.25rem;padding-bottom:1.25rem}}.rewards-tier-banner{background:linear-gradient(135deg,#F7F7F7,#ECECEC);border:1px solid var(--border-light)}.rewards-tier-name{font-weight:800;color:#6B7280;letter-spacing:-.02em}.stat-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;transition:all .3s var(--ease-out)}.stat-card:hover{border-color:var(--border-glow);transform:translateY(-2px)}.stat-icon{display:flex;justify-content:center;margin-bottom:.5rem;color:var(--brand-primary)}.stat-value{font-size:1.8rem;font-weight:800;margin-bottom:.2rem}.stat-label{font-size:.8rem;color:var(--text-muted)}.stat-desc{font-size:.75rem;color:var(--text-subtle);margin-top:.4rem;line-height:1.4}.impact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.impact-stat-card{text-align:center;padding:1.5rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all .3s var(--ease-out)}.impact-stat-card:hover{border-color:var(--border-glow);transform:translateY(-2px)}.impact-stat-icon{display:flex;justify-content:center;margin-bottom:.6rem;color:var(--brand-primary)}.impact-stat-value{font-size:2rem;font-weight:800;margin-bottom:.15rem}.impact-stat-unit,.stat-unit{font-size:.78rem;font-weight:600;color:var(--text-muted);letter-spacing:.02em;margin-bottom:.2rem;text-transform:none}.impact-stat-label{font-size:.82rem;color:var(--text-muted);margin-bottom:.4rem}.impact-stat-desc{font-size:.75rem;color:var(--text-subtle);line-height:1.5}.methodology-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.methodology-card{text-align:center;padding:1.75rem 1.25rem}.methodology-icon{font-size:2.2rem;margin-bottom:.75rem}.methodology-title{font-size:1.1rem;margin-bottom:.4rem}.methodology-desc{font-size:.85rem;color:var(--text-muted);line-height:1.6}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg)}.testimonial-card{display:flex;flex-direction:column}.testimonial-quote{font-size:.92rem;color:var(--text-muted);line-height:1.7;font-style:italic;flex:1 1;margin-bottom:1.25rem}.testimonial-author{display:flex;align-items:center;gap:.75rem}.testimonial-avatar{display:inline-flex;align-items:center;justify-content:center;color:var(--accent-champagne)}.app-icon{display:block;flex-shrink:0}.artisan-avatar-fallback{display:flex;align-items:center;justify-content:center}.badge-with-icon{gap:.4rem}.badge-with-icon,.inline-icon-text{display:inline-flex;align-items:center}.inline-icon-text{gap:.35rem}.icon-btn-inline{display:inline-flex;align-items:center;gap:.35rem}.product-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;line-height:1.45}.product-meta-item{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}.product-meta-sep{color:var(--text-subtle);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.product-impact-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem}.product-impact-label{flex-shrink:0;margin-right:.15rem}.product-impact-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.product-impact-metric{display:inline-flex;align-items:center;gap:.35rem;white-space:nowrap;line-height:1}.product-impact-metric svg{flex-shrink:0}.product-size-picker{margin-bottom:1rem}.product-size-picker.compact{margin-bottom:.5rem}.product-size-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.45rem}.product-size-options{display:flex;flex-wrap:wrap;gap:.45rem}.product-size-btn{min-width:42px;padding:.45rem .75rem;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:#FFFFFF;color:var(--text-main);font-size:.82rem;font-weight:600;cursor:pointer;transition:all .2s ease}.product-size-btn.active,.product-size-btn:hover{border-color:var(--brand-primary)}.product-size-btn.active{background:var(--brand-primary-light);color:var(--brand-primary)}.search-icon,.topbar-search-icon{display:inline-flex;align-items:center;color:var(--text-muted)}.testimonial-name{font-weight:700;font-size:.9rem}.testimonial-role{font-size:.78rem;color:var(--text-muted)}.appraisal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));grid-gap:var(--space-lg);gap:var(--space-lg);align-items:start}.step-label{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:800;color:var(--accent-gold);margin-bottom:.4rem}.panel-title{font-size:1.3rem;margin-bottom:var(--space-md)}.appraisal-summary-panel{position:-webkit-sticky;position:sticky;top:calc(var(--topbar-height) + 1rem)}.page-donation-flow .glass-panel{container-type:inline-size;container-name:appraisal-panel}.garment-list{display:flex;flex-direction:column;gap:.65rem}.garment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:.85rem 1rem;gap:.85rem 1rem;padding:.9rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:border-color .2s ease,background .2s ease;min-height:72px}.garment-row:hover{border-color:var(--border-medium)}.garment-row.has-items{border-color:rgba(255,56,92,.3);background:rgba(255,56,92,.06)}.garment-info{gap:.75rem;min-width:0}.garment-icon,.garment-info{display:flex;align-items:center}.garment-icon{flex-shrink:0;width:2.5rem;height:2.5rem;justify-content:center;font-size:1.35rem;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-light)}.garment-details{min-width:0}.garment-name{font-family:var(--font-sans);font-weight:700;font-size:.88rem;line-height:1.3}.garment-meta,.garment-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.garment-meta{font-size:.72rem;color:var(--text-muted);margin-top:.15rem}.garment-controls{display:flex;align-items:center;gap:.65rem;flex-shrink:0}.grade-select{padding:.4rem .55rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);font-size:.72rem;font-family:var(--font-sans);outline:none;max-width:170px;cursor:pointer}.grade-select:focus{border-color:var(--accent-gold);box-shadow:0 0 0 2px rgba(255,56,92,.15)}.qty-controls{gap:.3rem;background:rgba(0,0,0,.25);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:.15rem}.qty-btn,.qty-controls{display:flex;align-items:center}.qty-btn{width:32px;height:32px;border-radius:6px;border:none;background:transparent;color:var(--text-main);cursor:pointer;font-size:1.05rem;line-height:1;justify-content:center;transition:all .15s ease}.qty-btn:hover:not(:disabled){background:rgba(255,56,92,.18);color:var(--accent-champagne)}.qty-btn:disabled{opacity:.35;cursor:not-allowed}.qty-value{font-weight:800;min-width:28px;text-align:center;font-size:.92rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.reward-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem;margin-bottom:var(--space-md)}.reward-card{text-align:center;padding:.85rem .4rem;border-radius:var(--radius-md);border:1px solid var(--border-light);display:flex;flex-direction:column;justify-content:center;min-height:0}.reward-card.reward-points{background:rgba(255,56,92,.1);border-color:rgba(255,56,92,.25)}.reward-card.reward-rupees{background:rgba(0,138,5,.1);border-color:rgba(0,138,5,.25)}.reward-card.reward-water{background:rgba(56,189,248,.1);border-color:rgba(56,189,248,.25)}.reward-label{font-size:.7rem;color:var(--text-muted);margin-bottom:.25rem;order:1}.reward-value{font-size:1.35rem;font-weight:800;line-height:1.2;order:0}.pass-reward-cards{margin-bottom:var(--space-lg)}.pass-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;color:var(--text-muted)}.modal-actions{display:flex;gap:.75rem}.modal-actions .btn{flex:1 1}@container appraisal-panel (max-width: 440px){.garment-row{grid-template-columns:1fr;gap:.7rem}.garment-controls{width:100%;justify-content:space-between}.grade-select{max-width:none;flex:1 1}}.progress-track{width:100%;height:8px;background:var(--bg-surface);overflow:hidden}.progress-fill,.progress-track{border-radius:var(--radius-full)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--primary-emerald));transition:width .6s var(--ease-out)}.impact-bar-section{margin-bottom:var(--space-md)}.impact-bar-label{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-muted);margin-bottom:.35rem}.impact-bar-track{width:100%;height:8px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden}.impact-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-emerald),#38bdf8);border-radius:var(--radius-full);transition:width .8s var(--ease-out)}.summary-badges{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:var(--space-md)}.summary-badge{font-size:.72rem;font-weight:700;padding:.3rem .65rem;border-radius:var(--radius-full);background:rgba(255,56,92,.12);color:var(--accent-champagne);border:1px solid rgba(255,56,92,.25)}.summary-badge-empty{background:transparent;border-color:var(--border-light);color:var(--text-subtle)}.section-hub{max-width:1200px;margin:0 auto}.section-hub-header{text-align:center;margin-bottom:2rem}.section-hub-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,56,92,.1);color:var(--brand-primary);margin-bottom:.75rem}.section-hub-title{font-size:clamp(1.75rem,4vw,2.5rem);margin:0 0 .5rem}.section-hub-subtitle{color:var(--text-muted);max-width:640px;margin:0 auto;font-size:1rem;line-height:1.6}.section-hub-tabs{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;margin-bottom:2rem;padding:.35rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.section-hub-tab{display:inline-flex;align-items:center;gap:.45rem;padding:.65rem 1rem;border:none;border-radius:calc(var(--radius-lg) - 4px);background:transparent;color:var(--text-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s}.section-hub-tab:hover{color:var(--text-main);background:rgba(0,0,0,.04)}.section-hub-tab.active{background:var(--brand-primary);color:#fff;font-weight:600}.section-hub-panel{min-height:120px}.section-hub-panel .is-embedded.page-content,.section-hub-panel .page-artisan-portal.is-embedded,.section-hub-panel .page-content.is-embedded,.section-hub-panel .page-donation-flow.is-embedded,.section-hub-panel .page-profile.is-embedded{padding:0;max-width:none;margin:0}.section-hub-panel .is-embedded>.section-header:first-child,.section-hub-panel .is-embedded>header.section-header:first-child,.section-hub-panel .page-artisan-portal.is-embedded>header.section-header,.section-hub-panel .page-city-dashboard.is-embedded>.city-impact-hero,.section-hub-panel .page-content.is-embedded>.section-header:first-child,.section-hub-panel .page-content.is-embedded>section:first-child>.section-header,.section-hub-panel .page-donation-flow.is-embedded>.section-header:first-child,.section-hub-panel .page-scanner.is-embedded .scanner-hero-badge,.section-hub-panel .page-scanner.is-embedded .scanner-hero-subtitle,.section-hub-panel .page-scanner.is-embedded .scanner-hero-title{display:none}.page-auth-gate{display:flex;align-items:center;justify-content:center;min-height:50vh}.auth-gate-card{width:min(100%,480px);padding:2.5rem 2rem;text-align:center}.auth-gate-icon{width:72px;height:72px;margin:0 auto 1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--brand-primary-light);color:var(--brand-primary)}.auth-gate-title{margin:0 0 .5rem;font-size:1.75rem}.auth-gate-subtitle{margin:0 0 1.5rem;color:var(--text-muted);line-height:1.6}.auth-gate-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.page-community{max-width:1200px}.community-page-header{margin-bottom:2rem}.community-layout{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem}@media (min-width:992px){.community-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}.community-feed{min-width:0}.create-post-box{padding:1.5rem;margin-bottom:1.5rem}.community-compose-input{width:100%;margin-bottom:1rem;resize:vertical;min-height:96px}.community-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.community-compose-select{min-width:140px}.community-posts{display:flex;flex-direction:column;gap:1.25rem}.post-card{padding:1.25rem 1.5rem}.post-card-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.post-card-header-text{flex:1 1;min-width:0}.post-delete-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;transition:color .2s,background .2s}.post-delete-btn:hover{color:var(--brand-primary);background:rgba(255,56,92,.08)}.post-delete-btn-sm{width:1.75rem;height:1.75rem}.post-card-avatar{width:48px;height:48px;border-radius:50%;background:var(--bg-surface);display:flex;align-items:center;justify-content:center;flex-shrink:0}.post-card-author{margin:0 0 .2rem;font-size:1.05rem}.post-card-meta{color:var(--text-muted);font-size:.875rem}.post-card-type{color:var(--brand-primary)}.post-card-body{line-height:1.6;margin:0 0 1.25rem;color:var(--text-main)}.post-card-actions{display:flex;gap:1.25rem;border-top:1px solid var(--border-light);padding-top:1rem}.post-action-btn{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.95rem;transition:color .2s}.post-action-btn.active,.post-action-btn.liked,.post-action-btn:hover{color:var(--brand-primary)}.post-action-share{margin-left:auto}.post-comments{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-light)}.post-comment-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.85rem}.post-comment{background:var(--bg-surface);border-radius:var(--radius-md);padding:.75rem 1rem}.post-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.post-comment strong{font-size:.9rem;margin-right:.5rem}.post-comment-time{font-size:.75rem;color:var(--text-muted)}.post-comment p{margin:.35rem 0 0;font-size:.9rem;line-height:1.5;color:var(--text-main)}.post-comment-form{display:flex;gap:.5rem;align-items:center}.post-comment-input{flex:1 1;min-width:0}.community-aside{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.community-panel{padding:1.25rem 1.5rem}.community-panel-title{margin:0 0 1rem;font-size:1.15rem}.community-challenges{display:flex;flex-direction:column;gap:1.25rem}.community-challenge-head{display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.5rem;font-size:.875rem}.community-challenge-status.accent{color:var(--brand-primary);font-weight:600}.community-challenge-status.success{color:var(--primary-emerald);font-weight:600}.community-progress{width:100%;height:8px;background:var(--bg-surface);border-radius:4px;overflow:hidden}.community-progress-fill{height:100%;background:var(--brand-primary);border-radius:4px}.community-progress-fill.success{background:var(--primary-emerald)}.community-tags{display:flex;flex-wrap:wrap;gap:.5rem}.community-tag{cursor:pointer}.community-tip-card{background:var(--brand-primary-light);border-color:rgba(255,56,92,.2)}.community-tip-text{margin:0;font-size:.95rem;line-height:1.6;color:var(--text-muted)}.page-hub-explorer{max-width:1200px;margin:0 auto}.hub-page-header{text-align:left;margin-bottom:1.5rem}.hub-page-header .section-title{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.35rem}.hub-page-header .section-subtitle{color:var(--text-muted);font-size:.95rem;margin:0}.hub-map-wrap{position:relative;margin-bottom:2rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.hub-map-canvas{height:380px;width:100%;z-index:1}.hub-map-selected{position:absolute;bottom:1rem;left:1rem;right:1rem;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border-radius:var(--radius-md);background:rgba(255,255,255,.96);border:1px solid var(--border-light);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hub-map-selected h3{margin:0 0 .2rem;font-size:1rem}.hub-map-selected p{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.4}.hub-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.25rem;gap:1.25rem}.hub-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .25s var(--ease-out),box-shadow .25s ease,border-color .25s ease;box-shadow:var(--shadow-sm)}.hub-card:hover{border-color:rgba(255,56,92,.25);transform:translateY(-3px);box-shadow:var(--shadow-md)}.hub-card-active{border-color:var(--brand-primary);box-shadow:0 0 0 1px rgba(255,56,92,.15),var(--shadow-md)}.hub-card-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--bg-surface)}.hub-card-image{width:100%;height:100%;object-fit:cover;display:block}.hub-card-rating{position:absolute;top:.65rem;right:.65rem;font-size:.68rem;gap:.25rem}.hub-card-body{display:flex;flex-direction:column;flex:1 1;padding:1rem 1.1rem 1.15rem;gap:.65rem}.hub-card-name{margin:0;font-size:1.05rem;font-weight:800;line-height:1.25;color:var(--text-main)}.page-hub-explorer .hub-card h3{margin:0}.hub-card-address{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.5;align-items:flex-start}.hub-card-address span{flex:1 1;min-width:0}.hub-card-meta{display:grid;grid-template-columns:1fr 1fr;grid-gap:.5rem .75rem;gap:.5rem .75rem;font-size:.78rem;color:var(--text-muted)}.hub-card-meta-item{display:flex;align-items:flex-start;gap:.35rem;line-height:1.4;min-width:0}.hub-card-meta-item strong{color:var(--text-main);font-weight:700}.hub-card-capacity{margin-top:.15rem}.hub-card-capacity-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem}.hub-card-capacity-value{font-size:.78rem;font-weight:800;color:var(--primary-emerald)}.hub-card-capacity-value.high{color:var(--brand-primary)}.capacity-bar-fill.high{background:linear-gradient(90deg,#ff6b6b,var(--brand-primary))}.hub-card-cta{margin-top:auto;padding-top:.65rem}.hub-slot-modal{max-width:420px;text-align:left}@media (max-width:640px){.hub-map-canvas{height:300px}.hub-map-selected{flex-direction:column;align-items:stretch;text-align:center}.hub-map-selected .btn{width:100%}.hub-card-meta,.hub-cards-grid{grid-template-columns:1fr}}.capacity-bar-track{height:6px;background:var(--bg-surface);border-radius:var(--radius-full);overflow:hidden;margin-bottom:.3rem}.capacity-bar-fill{height:100%;background:linear-gradient(90deg,var(--primary-emerald),var(--brand-primary));border-radius:var(--radius-full);transition:width .5s ease}.capacity-label{font-size:.72rem;color:var(--text-muted)}.upload-zone{border:2px dashed var(--border-glow);border-radius:var(--radius-xl);padding:3rem 2rem;text-align:center;cursor:pointer;transition:all .3s var(--ease-out);background:rgba(255,56,92,.03)}.upload-zone:hover{border-color:var(--accent-gold);background:rgba(255,56,92,.06)}.upload-zone.has-image{border-style:solid;border-color:var(--primary-emerald);background:rgba(0,138,5,.03)}.upload-icon{font-size:3rem;margin-bottom:.75rem}.upload-text{color:var(--text-muted);font-size:.95rem;margin-bottom:.5rem}.upload-subtext{color:var(--text-subtle);font-size:.8rem}.upload-preview{max-width:300px;max-height:300px;object-fit:cover;border-radius:var(--radius-lg);margin:1rem auto 0;display:block}.scan-progress{margin:2rem 0}.scan-status{text-align:center;font-weight:700;color:var(--accent-champagne);margin-bottom:.75rem;font-size:.95rem}.scan-bar-track{height:6px;background:var(--bg-surface);overflow:hidden}.scan-bar-fill,.scan-bar-track{border-radius:var(--radius-full)}.scan-bar-fill{height:100%;background:linear-gradient(90deg,var(--brand-primary),var(--primary-emerald),#38bdf8);transition:width .3s ease}.timeline{--dot-size:32px;--rail-gap:1.15rem;--rail-x:calc(var(--dot-size) / 2);position:relative;padding-left:calc(var(--dot-size) + var(--rail-gap))}.timeline-step{position:relative;padding-bottom:1.65rem;min-height:3.25rem}.timeline-step:last-child{padding-bottom:0}.timeline-step:before{content:"";position:absolute;left:calc(-1 * (var(--dot-size) + var(--rail-gap)) + var(--rail-x) - 1px);top:var(--dot-size);bottom:0;width:2px;background:var(--border-light)}.timeline-step:last-child:before{display:none}.timeline-dot{position:absolute;left:calc(-1 * (var(--dot-size) + var(--rail-gap)));top:0;width:var(--dot-size);height:var(--dot-size);border-radius:50%;background:var(--bg-surface);border:2px solid var(--border-light);font-size:.78rem;z-index:1;box-sizing:border-box}.timeline-dot,.timeline-dot span{display:flex;align-items:center;justify-content:center;line-height:1}.timeline-dot span{width:1em;height:1em;font-style:normal;transform:translateY(.5px)}.timeline-step.completed .timeline-dot{background:var(--primary-emerald);border-color:var(--primary-emerald);color:#fff}.timeline-step.current .timeline-dot{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 0 0 4px rgba(255,56,92,.22);animation:timeline-pulse 2s ease-in-out infinite}.timeline-step-label{font-weight:700;font-size:.95rem;margin:0 0 .35rem;padding-top:.35rem;font-family:var(--font-sans);line-height:1.25}.timeline-step-desc{font-size:.82rem;color:var(--text-muted);line-height:1.55;margin:0}.timeline-step.completed .timeline-step-label{color:var(--primary-emerald)}.timeline-step.current .timeline-step-label{color:var(--text-main)}.timeline-step.pending .timeline-step-label{color:var(--text-subtle)}.timeline-step.completed:before{background:var(--primary-emerald)}.timeline-step.current:before{background:linear-gradient(to bottom,var(--brand-primary),var(--border-light))}.timeline-step-note{margin-top:.45rem;font-size:.75rem;color:var(--primary-emerald);font-weight:600;line-height:1.4}.timeline-step-note.is-current{color:var(--brand-primary)}@keyframes timeline-pulse{0%,to{box-shadow:0 0 0 3px rgba(255,56,92,.2)}50%{box-shadow:0 0 0 6px rgba(255,56,92,.08)}}.page-donation-tracking .section-header{text-align:left;margin-bottom:var(--space-2xl);padding-right:0}.page-donation-tracking .section-eyebrow{margin-bottom:.65rem}.page-donation-tracking .section-title{margin-bottom:.75rem}.page-donation-tracking .section-subtitle{margin:0;max-width:100%;line-height:1.65}.tracking-layout{display:grid;grid-template-columns:minmax(0,360px) minmax(0,1fr);grid-gap:var(--space-2xl);gap:var(--space-2xl);align-items:start;width:100%}.tracking-list{display:flex;flex-direction:column;gap:var(--space-md)}.tracking-card,.tracking-detail,.tracking-list{min-width:0;max-width:100%}.tracking-card{width:100%;box-sizing:border-box;text-align:left;cursor:pointer;padding:1.2rem 1.35rem;border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);color:inherit;font:inherit;transition:border-color .25s var(--ease-out),background .25s var(--ease-out),box-shadow .25s var(--ease-out)}.tracking-card:hover{border-color:var(--border-medium);background:var(--bg-card-hover)}.tracking-card.is-selected{border-color:rgba(255,56,92,.55);box-shadow:var(--shadow-glow);background:rgba(255,56,92,.07)}.tracking-card.is-selected:hover{border-color:rgba(255,56,92,.65);background:rgba(255,56,92,.09)}.tracking-card-top{display:flex;justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:.65rem}.tracking-pass-id{font-family:var(--font-mono);font-size:.82rem;letter-spacing:.04em;color:var(--text-main);font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tracking-card .badge{flex-shrink:0;white-space:nowrap}.tracking-card-meta{font-size:.84rem;color:var(--text-muted);margin-bottom:.75rem;line-height:1.4}.tracking-card-stats{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;color:var(--text-subtle)}.tracking-card-stats .text-accent{flex-shrink:0;font-weight:700}.tracking-card-items{margin-top:.55rem;font-size:.78rem;color:var(--text-muted)}.lifetime-impact{padding:1.25rem;margin-top:var(--space-lg);min-width:0;max-width:100%;box-sizing:border-box}.lifetime-impact.glass-panel:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.lifetime-impact .section-eyebrow{margin-bottom:.85rem}.lifetime-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.lifetime-stat{display:flex;flex-direction:column;justify-content:space-between;gap:.45rem;min-height:4.25rem;min-width:0;padding:.9rem .85rem;background:var(--bg-surface);border-radius:var(--radius-sm);border:1px solid var(--border-light);box-sizing:border-box}.lifetime-stat-accent{border-color:rgba(255,56,92,.2);background:var(--brand-primary-light)}.lifetime-stat-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700;line-height:1.3}.lifetime-stat-value{font-size:1.15rem;font-weight:800;font-family:var(--font-sans);color:var(--text-main);line-height:1.2;overflow-wrap:anywhere}.tracking-detail-panel{min-height:420px;min-width:0;max-width:100%;box-sizing:border-box}.tracking-detail-panel.glass-panel:hover{border-color:var(--border-light);box-shadow:var(--shadow-sm)}.tracking-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap;padding-bottom:1.5rem;margin-bottom:1.75rem;border-bottom:1px solid var(--border-light)}.tracking-pass-title{font-size:1.45rem;margin:.2rem 0 .4rem;font-family:var(--font-sans);line-height:1.25}.tracking-pass-code{font-family:var(--font-mono);color:var(--text-main);letter-spacing:.03em}.tracking-detail-sub{font-size:.88rem;line-height:1.45}.tracking-detail-summary{display:flex;gap:.65rem;flex-wrap:wrap}.tracking-summary-chip{display:flex;flex-direction:column;justify-content:center;gap:.25rem;min-width:92px;min-height:4rem;padding:.75rem .95rem;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.tracking-summary-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:700}.tracking-summary-chip strong{font-size:.95rem;font-family:var(--font-sans);line-height:1.2;color:var(--text-main)}.tracking-summary-chip strong.text-accent{color:var(--brand-primary)}.tracking-qr-block{display:flex;flex-direction:column;align-items:center;gap:.6rem;margin-bottom:1.75rem}.tracking-qr{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:3px;gap:3px;width:108px;height:108px;padding:8px;background:#fff;border-radius:6px}.tracking-qr-cell{background:transparent}.tracking-qr-cell.is-filled{background:#0a0a0a}.tracking-qr-hint{font-size:.75rem;text-align:center;max-width:160px}.tracking-empty{display:flex;align-items:center;justify-content:center;min-height:400px;color:var(--text-subtle);text-align:center}.leaderboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:var(--space-md);gap:var(--space-md);margin-bottom:var(--space-xl)}.leaderboard-stat{text-align:center;padding:1.25rem;background:var(--bg-elevated);border-radius:var(--radius-md)}.leaderboard-stat-icon{font-size:1.5rem;margin-bottom:.3rem}.leaderboard-stat-value{font-size:1.4rem;font-weight:800}.leaderboard-stat-label{font-size:.75rem;color:var(--text-muted)}.leaderboard-list{display:flex;flex-direction:column;gap:.5rem}.leaderboard-entry{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--bg-elevated);border-radius:var(--radius-md);border:1px solid var(--border-light);transition:all .2s ease}.leaderboard-entry:hover{border-color:var(--border-glow)}.leaderboard-rank{font-size:1.2rem;width:32px;text-align:center}.leaderboard-name{flex:1 1;font-weight:600;font-size:.9rem}.leaderboard-points{font-weight:700;color:var(--accent-champagne);font-size:.85rem}.leaderboard-items{font-size:.78rem;color:var(--text-muted)}.wallet-points-display{text-align:center;padding:1.5rem;background:rgba(255,56,92,.1);border:1px solid rgba(255,56,92,.25);border-radius:var(--radius-lg);margin-bottom:var(--space-lg)}.wallet-points-value{font-size:3rem;font-weight:800;color:var(--accent-champagne)}.wallet-points-label{font-size:.85rem;color:var(--text-muted)}.wallet-coupons{margin-bottom:var(--space-lg)}.coupon-card{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:var(--bg-elevated);border:1px dashed var(--primary-emerald);border-radius:var(--radius-md);margin-bottom:.5rem}.coupon-discount{font-weight:800;color:var(--primary-emerald);font-size:1rem}.coupon-hub{font-size:.78rem;color:var(--text-muted)}.coupon-code{font-family:var(--font-mono);font-size:.8rem;color:var(--text-subtle)}.voucher-code-row{margin-top:auto;display:flex;align-items:center;gap:.6rem;background:rgba(255,56,92,.1);padding:.5rem .75rem;border-radius:var(--radius-md);border:1px dashed var(--border-glow)}.voucher-code-text{font-family:var(--font-mono);font-weight:700;font-size:.82rem;color:var(--brand-primary);flex:1 1;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voucher-copy-btn{flex-shrink:0;padding:.4rem;min-width:2rem;width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center}.pass-code-box{text-align:center;padding:1.5rem;background:rgba(255,56,92,.1);border:1px dashed var(--accent-gold);border-radius:var(--radius-lg);margin-bottom:var(--space-lg)}.pass-code{display:block;font-family:var(--font-mono);font-size:1.8rem;font-weight:800;letter-spacing:.1em;color:var(--text-main);margin-bottom:.75rem}.pass-details{margin-bottom:var(--space-lg)}.pass-detail-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border-light);font-size:.88rem}.pass-detail-row:last-child{border-bottom:none}.product-modal{max-width:920px;padding:1.75rem 1.75rem 1.5rem}.product-modal-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-gap:1.75rem;gap:1.75rem;align-items:start}.product-modal-media{display:flex;flex-direction:column;gap:.85rem}.product-modal-image-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-light)}.product-modal-image{width:100%;height:340px;object-fit:cover;object-position:center top;display:block}.product-modal-grade-badge{position:absolute;top:.75rem;left:.75rem;max-width:calc(100% - 1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-modal-thumbs{display:flex;gap:.5rem;flex-wrap:wrap}.product-modal-thumb{padding:0;border:2px solid var(--border-light);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;background:#fff;width:64px;height:64px}.product-modal-thumb.active{border-color:var(--brand-primary)}.product-modal-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-modal-grade-card{padding:.85rem 1rem;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-light)}.product-modal-grade-card p{margin:0;font-size:.82rem;color:var(--text-muted);line-height:1.5}.product-modal-details{display:flex;flex-direction:column;gap:1rem;min-width:0;padding-right:.5rem}.product-modal-head{display:flex;flex-direction:column;gap:.45rem}.product-modal-title{font-size:clamp(1.35rem,2.5vw,1.65rem);line-height:1.2;margin:0}.product-modal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;font-size:.84rem;color:var(--text-muted);margin:0}.product-modal-price{display:flex;align-items:baseline;gap:.6rem;margin-top:.15rem}.product-modal-price-current{font-size:1.65rem;font-weight:800;color:var(--text-main)}.product-modal-price-was{font-size:.95rem;text-decoration:line-through;color:var(--text-subtle)}.product-modal-provenance{padding:.9rem 1rem;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-light)}.product-modal-provenance h4{display:flex;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.88rem;color:var(--primary-emerald)}.product-modal-provenance p{margin:0;font-size:.84rem;color:var(--text-muted);line-height:1.55}.product-modal-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:.65rem;gap:.65rem}.product-modal-specs{display:grid;grid-template-columns:1fr 1fr;grid-gap:.75rem 1rem;gap:.75rem 1rem;padding-top:.25rem;border-top:1px solid var(--border-light)}.product-modal-spec{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem}.product-modal-spec.full{grid-column:1/-1}.product-modal-spec strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-subtle)}.product-modal-spec span{color:var(--text-main);line-height:1.45}.product-modal-reviews{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-light)}.product-modal-reviews h3{margin:0 0 .85rem;font-size:1rem}.product-modal-reviews-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.product-modal-review-card{background:var(--bg-surface);padding:.9rem 1rem;border-radius:var(--radius-md);border:1px solid var(--border-light)}.product-modal-review-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem}.product-modal-review-stars{color:var(--accent-gold);display:inline-flex;gap:2px}.product-modal-review-card p{margin:0;font-size:.84rem;color:var(--text-muted);line-height:1.45}.buy-modal-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-lg);gap:var(--space-lg)}.buy-modal-image{width:100%;border-radius:var(--radius-lg);object-fit:cover;height:400px}.buy-modal-details,.buy-modal-meta{display:flex;flex-direction:column}.buy-modal-meta{gap:.35rem;font-size:.88rem;color:var(--text-muted);margin-bottom:var(--space-md)}.buy-modal-provenance{background:var(--bg-elevated);padding:1rem;border-radius:var(--radius-md);margin-bottom:var(--space-md)}.provenance-label{font-size:.78rem;font-weight:700;color:var(--accent-champagne);margin-bottom:.3rem}.provenance-text{font-size:.85rem;color:var(--text-muted);line-height:1.6}.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:149;opacity:0;pointer-events:none;transition:opacity .3s ease}.cart-overlay.open{opacity:1;pointer-events:auto}.cart-sidebar{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:#FFFFFF;border-left:1px solid var(--border-light);z-index:150;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s var(--ease-out);box-shadow:var(--shadow-lg)}.cart-sidebar.open{transform:translateX(0)}.cart-title{font-size:1.15rem;font-weight:700;margin:0;color:var(--text-main)}.cart-subtitle{font-size:.8rem;color:var(--text-muted);margin:.15rem 0 0}.cart-header{padding:1.25rem;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.cart-items{flex:1 1;overflow-y:auto;padding:1rem}.cart-item{display:flex;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--border-light)}.cart-item-image{width:72px;height:72px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.cart-item-info{flex:1 1;min-width:0}.cart-item-name{font-size:.88rem;font-weight:700;line-height:1.35;margin-bottom:.2rem}.cart-item-price{font-size:.9rem;color:var(--brand-primary);font-weight:700;margin-top:.25rem}.cart-item-size{font-size:.75rem;color:var(--text-muted)}.cart-item-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.55rem}.cart-qty{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-full);padding:.15rem .45rem}.cart-qty-btn{width:24px;height:24px;border:none;background:transparent;color:var(--text-main);font-size:1rem;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center}.cart-qty-btn:hover{background:var(--bg-card-hover)}.cart-remove{background:none;border:none;color:var(--text-muted);font-size:.75rem;cursor:pointer;text-decoration:underline}.cart-remove:hover{color:var(--brand-primary)}.cart-footer{padding:1.25rem;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:.65rem}.cart-total{display:flex;justify-content:space-between;font-size:1.05rem;font-weight:800;margin-bottom:.25rem}.cart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;padding:3rem 1rem;color:var(--text-muted)}.cart-empty svg{color:var(--brand-primary);opacity:.7}.cart-checkout{display:flex;flex-direction:column;flex:1 1;min-height:0}.cart-checkout-body{flex:1 1;overflow-y:auto;padding:1rem}.cart-checkout-section{margin-bottom:1.25rem}.cart-section-title{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:.75rem}.cart-payment-options{display:flex;flex-direction:column;gap:.5rem}.cart-payment-option{display:flex;align-items:center;gap:.65rem;padding:.75rem .9rem;border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;font-size:.88rem;transition:border-color .2s ease,background .2s ease}.cart-payment-option.active{border-color:var(--brand-primary);background:var(--brand-primary-light)}.cart-payment-option input{accent-color:var(--brand-primary)}.cart-points-toggle{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--text-main);cursor:pointer}.cart-points-toggle input{margin-top:.15rem;accent-color:var(--brand-primary)}.cart-order-summary{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem}.cart-summary-row{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;padding:.35rem 0}.cart-summary-total{border-top:1px solid var(--border-light);margin-top:.5rem;padding-top:.75rem;font-weight:800;font-size:1rem;color:var(--text-main)}.cart-success{flex:1 1;overflow-y:auto;padding:1.5rem 1rem;text-align:center}.cart-success-icon{color:var(--primary-emerald);margin-bottom:1rem;display:flex;justify-content:center}.cart-success h3{margin-bottom:.5rem}.cart-success-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:1rem;margin:1.25rem 0;text-align:left}.cart-success-address{max-width:180px;text-align:right;line-height:1.35}.topbar-cart-count{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--brand-primary);color:#fff;font-size:.62rem;font-weight:800;line-height:1}.auth-overlay,.topbar-cart-count{display:flex;align-items:center;justify-content:center}.auth-overlay{position:fixed;inset:0;z-index:200;padding:1.25rem;background:rgba(0,0,0,.4);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:fadeIn .25s ease}.auth-shell{width:100%;max-width:420px;background:#FFFFFF;border:1px solid var(--border-light);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;animation:scaleIn .35s var(--ease-out)}.auth-topbar{justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border-light);background:var(--bg-surface)}.auth-brand,.auth-topbar{display:flex;align-items:center}.auth-brand{gap:.65rem}.auth-brand-mark{width:36px;height:36px;border-radius:8px;object-fit:cover;border:1.5px solid rgba(255,56,92,.45);box-shadow:0 2px 12px rgba(255,56,92,.25);flex-shrink:0}.auth-brand-name{font-family:var(--font-serif);font-size:1.15rem;font-weight:600;letter-spacing:-.02em;color:var(--text-main)}.auth-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);border-radius:10px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.auth-close:hover{color:var(--text-main);background:var(--bg-surface);border-color:var(--border-medium)}.auth-body{padding:1.5rem 1.5rem 1.75rem}.auth-role-toggle{display:grid;grid-template-columns:1fr 1fr;grid-gap:.35rem;gap:.35rem;padding:.3rem;margin-bottom:1.5rem;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:12px}.auth-role-tab{padding:.6rem .75rem;border:none;border-radius:9px;background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:.84rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:all .2s var(--ease-out)}.auth-role-tab:hover:not(.active){color:var(--text-main);background:var(--bg-surface)}.auth-role-tab.active{color:#FFFFFF;background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover));box-shadow:0 2px 12px rgba(255,56,92,.2)}.auth-role-tab.active.retailer{color:#fff;background:linear-gradient(135deg,var(--primary-emerald),#00670F);box-shadow:0 2px 12px rgba(0,138,5,.25)}.auth-header{margin-bottom:1.25rem;text-align:left}.auth-title{font-family:var(--font-serif);font-size:1.65rem;font-weight:600;color:var(--text-main);margin-bottom:.45rem;letter-spacing:-.03em}.auth-subtitle{font-size:.88rem;line-height:1.55;color:var(--text-muted);max-width:34ch}.auth-demo{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem;margin-bottom:1.35rem;padding:.65rem .85rem;border-radius:10px;background:var(--brand-primary-light);border:1px dashed rgba(255,56,92,.25)}.auth-demo-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.auth-demo-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem}.auth-demo-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:.82rem;font-weight:600;color:var(--brand-primary);cursor:pointer;text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:rgba(255,56,92,.35);text-decoration-color:rgba(255,56,92,.35);transition:color .2s ease,-webkit-text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease;transition:color .2s ease,text-decoration-color .2s ease,-webkit-text-decoration-color .2s ease}.auth-demo-link:hover{color:var(--brand-primary-hover);-webkit-text-decoration-color:rgba(255,56,92,.6);text-decoration-color:rgba(255,56,92,.6)}.auth-demo-link.retailer{color:var(--primary-emerald);-webkit-text-decoration-color:rgba(0,138,5,.35);text-decoration-color:rgba(0,138,5,.35)}.auth-demo-link.retailer:hover{color:#00670F;-webkit-text-decoration-color:rgba(167,243,208,.5);text-decoration-color:rgba(167,243,208,.5)}.auth-demo-sep{color:var(--text-subtle);font-size:.82rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-form .form-group{margin-bottom:1rem}.auth-form .form-label{display:block;margin-bottom:.4rem;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.auth-form .form-input{width:100%;padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border-light);background:#FFFFFF;color:var(--text-main)}.auth-form .form-input::placeholder{color:var(--text-subtle)}.auth-form .form-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px rgba(255,56,92,.12);background:#FFFFFF}.auth-forgot{display:flex;justify-content:flex-end;margin:-.25rem 0 1rem}.auth-text-link{background:none;border:none;padding:0;font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .2s ease}.auth-text-link.strong,.auth-text-link:hover{color:var(--brand-primary)}.auth-text-link.strong{font-weight:700}.auth-text-link.strong:hover{color:var(--brand-primary-hover)}.auth-submit{width:100%;margin-top:.25rem;padding:.85rem 1.25rem;border:none;border-radius:12px;font-family:var(--font-sans);font-size:.92rem;font-weight:700;letter-spacing:.02em;color:#FFFFFF;cursor:pointer;background:linear-gradient(135deg,var(--brand-primary) 0,var(--brand-primary-hover) 100%);box-shadow:0 4px 20px rgba(255,56,92,.22);transition:transform .2s var(--ease-out),box-shadow .2s ease}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 8px 28px rgba(255,56,92,.32)}.auth-submit:active{transform:translateY(0)}.auth-submit.retailer{color:#fff;background:linear-gradient(135deg,var(--primary-emerald) 0,#00670F 100%);box-shadow:0 4px 20px rgba(0,138,5,.22)}.auth-submit.retailer:hover{box-shadow:0 8px 28px rgba(0,138,5,.32)}.auth-footer{margin-top:1.35rem;padding-top:1.25rem;border-top:1px solid var(--border-light);text-align:center}.auth-switch{font-size:.85rem;color:var(--text-muted);margin-bottom:.75rem}.auth-continue{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:.35rem .5rem;font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .2s ease}.auth-continue:hover{color:var(--brand-primary)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - var(--topbar-height))}.auth-card{width:100%;max-width:440px}.auth-divider{display:flex;align-items:center;gap:.75rem;margin:var(--space-lg) 0;color:var(--text-subtle);font-size:.8rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border-light)}.social-btn{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;padding:.7rem;margin-bottom:.5rem}.size-selector{display:flex;gap:.4rem;margin-bottom:var(--space-md)}.size-btn{width:42px;height:42px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:transparent;color:var(--text-muted);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center}.size-btn:hover{border-color:var(--accent-gold);color:var(--text-main)}.size-btn.active{background:var(--accent-gold);color:var(--bg-dark);border-color:var(--accent-gold)}.search-filters{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--space-xl);flex-wrap:wrap}.search-input-wrap{flex:1 1;min-width:200px;position:relative}.search-input{width:100%;height:42px;padding:0 1rem 0 2.5rem;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-main);font-size:.88rem;font-family:var(--font-sans);line-height:1;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-input::placeholder{color:var(--text-subtle)}.search-input:focus{border-color:var(--border-glow);box-shadow:0 0 0 3px rgba(255,56,92,.12)}.search-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-size:.9rem;color:var(--text-subtle);pointer-events:none;line-height:1}.filter-pills{display:flex;gap:.4rem;flex-wrap:wrap}.filter-pill{padding:.4rem .85rem;border-radius:var(--radius-full);font-size:.78rem;font-weight:700;border:1px solid var(--border-light);background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.filter-pill:hover{border-color:var(--accent-gold);color:var(--text-main)}.filter-pill.active{background:var(--accent-gold);color:var(--bg-dark);border-color:var(--accent-gold)}.marketplace-controls{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2.5rem}.marketplace-search-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.marketplace-search-row .search-input-wrap{flex:1 1;min-width:min(100%,280px)}.marketplace-search-btn{min-height:42px;padding:.65rem 1.5rem;flex-shrink:0}.marketplace-filter-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.marketplace-filter-label{font-size:.8rem;color:var(--text-subtle);font-weight:700;margin-right:.25rem;flex-shrink:0;letter-spacing:.04em}.level-card{padding:1.25rem;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--bg-card);transition:all .3s ease}.level-card.current{border-color:var(--accent-gold);box-shadow:var(--shadow-glow)}.level-icon{font-size:2rem;margin-bottom:.5rem}.level-name{font-weight:800;font-size:1rem;margin-bottom:.2rem}.level-range{font-size:.75rem;color:var(--text-muted);margin-bottom:.6rem}.level-perks{list-style:none}.level-perks li{font-size:.78rem;color:var(--text-muted);padding:.15rem 0}.level-perks li:before{content:"✓ ";color:var(--primary-emerald)}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:var(--space-md);gap:var(--space-md)}.achievement-card{text-align:center;padding:1.25rem;background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);transition:all .3s ease}.achievement-card.locked{opacity:.4;filter:grayscale(.8)}.achievement-card.unlocked{border-color:var(--border-glow)}.achievement-icon{font-size:2rem;margin-bottom:.5rem}.achievement-name{font-weight:700;font-size:.85rem;margin-bottom:.2rem}.achievement-desc{font-size:.72rem;color:var(--text-muted)}.streak-dots{display:flex;gap:.4rem;margin:.75rem 0}.streak-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:.7rem}.streak-dot.active{background:var(--primary-emerald);border-color:var(--primary-emerald);color:#fff}.mission-card{padding:1rem;background:var(--bg-elevated);border-radius:var(--radius-md);margin-bottom:.75rem}.mission-title{font-weight:700;font-size:.9rem;margin-bottom:.3rem}.mission-progress-text{font-size:.78rem;color:var(--text-muted);margin-bottom:.4rem}.sdg-circle{width:160px;height:160px;background:conic-gradient(var(--primary-emerald) var(--sdg-pct,78%),var(--bg-surface) 0);margin:0 auto 1rem;position:relative}.sdg-circle,.sdg-circle-inner{border-radius:50%;display:flex;align-items:center;justify-content:center}.sdg-circle-inner{width:130px;height:130px;background:var(--bg-surface);flex-direction:column}.sdg-score{font-size:2rem;font-weight:800}.sdg-label{font-size:.72rem;color:var(--text-muted)}.chart-bars{display:flex;align-items:flex-end;gap:.5rem;height:160px;padding-top:1rem}.chart-bar-col{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.3rem;height:100%;justify-content:flex-end}.chart-bar{width:100%;background:linear-gradient(to top,var(--brand-primary),var(--text-main));border-radius:var(--radius-sm) var(--radius-sm) 0 0;min-height:4px;transition:height .5s var(--ease-out)}.chart-bar-label{font-size:.7rem;color:var(--text-muted)}.chart-bar-value{font-size:.72rem;font-weight:700;color:var(--accent-champagne)}.site-footer{padding:var(--space-2xl) var(--space-xl) var(--space-xl);margin-top:var(--space-xl);border-top:1px solid var(--border-light);text-align:center}.footer-inner{max-width:var(--content-max);margin:0 auto}.footer-brand{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.75rem}.footer-text{color:var(--text-muted);font-size:.88rem;margin-bottom:.85rem;line-height:1.55}.footer-links{display:flex;justify-content:center;gap:1rem;font-size:.8rem;color:var(--text-subtle);flex-wrap:wrap;line-height:1.5}.brand-icon{font-size:1.3rem}.brand-text{font-family:var(--font-serif);font-weight:700;font-size:1.15rem}.brand-badge{font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;background:rgba(0,138,5,.15);color:var(--primary-emerald);padding:.15rem .45rem;border-radius:var(--radius-full)}.leaflet-div-icon.custom-leaflet-marker{background:transparent!important;border:none!important;box-shadow:none!important}.map-pin-pill{display:inline-flex;align-items:center;gap:5px;background:#FFFFFF;color:var(--text-main);padding:5px 14px;border-radius:var(--radius-full);font-family:var(--font-sans);font-weight:700;font-size:.82rem;border:1.5px solid var(--border-light);box-shadow:var(--shadow-sm);white-space:nowrap;cursor:pointer;transition:all .25s ease}.map-pin-pill.active,.map-pin-pill:hover{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-hover));color:#FFFFFF;border-color:var(--brand-primary);transform:scale(1.06)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(255,56,92,.4)}50%{box-shadow:0 0 0 8px rgba(255,56,92,0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-surface) 25%,#EBEBEB 50%,var(--bg-surface) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-sm)}@media (max-width:1024px){.app-sidebar{transform:translateX(-100%);width:var(--sidebar-width);z-index:100;position:fixed;top:0;bottom:0;left:0}.app-sidebar.mobile-open{transform:translateX(0)}.sidebar-collapse-btn{display:none}.app-main,.app-main.sidebar-collapsed,.app-sidebar.collapsed~.app-main{margin-left:0;width:100%;max-width:100%}.page-content{padding:1.15rem var(--page-gutter) 1rem}.page-landing{padding-top:1.15rem;padding-bottom:1.5rem}.buy-modal-grid,.hero-grid{grid-template-columns:1fr}.buy-modal-image{height:280px}.product-modal{padding:1.35rem 1.15rem 1.15rem}.product-modal-grid{grid-template-columns:1fr;gap:1.25rem}.product-modal-image{height:280px}.product-modal-details{padding-right:0}.product-modal-reviews-grid,.product-modal-specs{grid-template-columns:1fr}.grid-3,.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.tracking-layout{grid-template-columns:1fr}}@media (max-width:768px){:root{--page-gutter:1.1rem}.page-content{padding:1rem var(--page-gutter) .85rem}.landing-hero{padding:1.25rem 1.15rem}.topbar{padding:.5rem var(--page-gutter);padding-left:calc(var(--page-gutter) + 2.75rem);gap:.4rem}.topbar-search{display:none}.topbar-actions{flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.35rem}.topbar-actions::-webkit-scrollbar{display:none}.topbar-wallet{padding:.35rem .65rem;font-size:.75rem;white-space:nowrap;flex-shrink:0}.topbar-avatar{width:32px;height:32px;flex-shrink:0}.topbar-btn{width:34px;height:34px;flex-shrink:0}.hero-stats{flex-direction:column;gap:var(--space-md)}.grid-2,.grid-3,.grid-4,.reward-cards{grid-template-columns:1fr}.cart-sidebar{width:100%}.garment-row{grid-template-columns:1fr;align-items:stretch;gap:.75rem}.garment-controls{width:100%;justify-content:space-between}.grade-select{max-width:none;flex:1 1}.garment-header{flex-direction:column;align-items:flex-start;gap:.75rem}.garment-counter{width:100%;justify-content:space-between;margin-top:.25rem}.driver-card{flex-direction:column;text-align:center}}@media (max-width:480px){.section-hero{padding-top:1rem}.hero-title{font-size:1.5rem;line-height:1.3;margin-top:.4rem;margin-bottom:.75rem}.section-title{font-size:1.35rem}.btn-lg{padding:.7rem 1.25rem;font-size:.85rem}.grade-btn-group{grid-template-columns:1fr}.grade-pill-btn{padding:.65rem .5rem;font-size:.8rem}.topbar-actions .btn{font-size:.72rem;padding:.35rem .6rem;flex-shrink:0}}.mobile-menu-btn{display:none;width:40px;height:40px;border-radius:var(--radius-md);background:transparent;border:1px solid var(--border-light);color:var(--text-main);cursor:pointer;align-items:center;justify-content:center;font-size:1.2rem}@media (max-width:1024px){.mobile-menu-btn{display:flex;position:fixed;top:.75rem;left:var(--page-gutter);z-index:110;background:#FFFFFF}.topbar{padding-left:calc(var(--page-gutter) + 2.75rem)}}.mobile-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99}.mobile-overlay.active{display:block}.landing-hero{position:relative;padding:2rem 2.25rem;margin-bottom:3rem;border-radius:var(--radius-xl);background:#fff;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 0 0,rgba(255,56,92,.07),transparent 55%),radial-gradient(ellipse 60% 50% at 100% 100%,rgba(0,138,5,.06),transparent 50%);pointer-events:none}.landing-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:2rem;gap:2rem;align-items:center}.landing-hero-copy{display:flex;flex-direction:column;gap:1.15rem}.landing-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;border-radius:var(--radius-full);background:rgba(255,56,92,.08);border:1px solid rgba(255,56,92,.15);color:var(--brand-primary);font-size:.75rem;font-weight:700;letter-spacing:.02em;margin:0;width:-moz-fit-content;width:fit-content}.landing-title{font-size:clamp(2.1rem,4.5vw,3.25rem);font-weight:900;line-height:1.08;margin:0;color:var(--text-main);letter-spacing:-.02em}.landing-title em{display:block;font-style:normal;color:var(--brand-primary)}.landing-subtitle{font-size:1.02rem;color:var(--text-muted);line-height:1.6;margin:0;max-width:460px}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin:0}.landing-trust-row{display:flex;flex-wrap:wrap;gap:.65rem 1.5rem;padding-top:.5rem;margin-top:.15rem;border-top:1px solid var(--border-light)}.landing-trust-row span{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--text-muted)}.landing-hero-visual{display:flex;flex-direction:column;gap:.85rem}.landing-hero-image-stack{position:relative;min-height:300px;height:300px}.landing-hero-img{border-radius:var(--radius-xl);object-fit:cover;box-shadow:var(--shadow-md);border:1px solid var(--border-light)}.landing-hero-img.main{position:absolute;top:0;right:0;width:68%;height:100%;z-index:1}.landing-hero-img.accent{position:absolute;bottom:0;left:0;width:44%;height:58%;z-index:2;border:3px solid #fff}.landing-hero-stat-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.65rem;gap:.65rem;position:relative;left:auto;top:auto;transform:none;z-index:1}.landing-stat-card{display:flex;align-items:center;gap:.55rem;padding:.6rem .7rem;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:none;color:var(--brand-primary);min-width:0}.landing-stat-card strong{display:block;font-size:.88rem;font-weight:800;color:var(--text-main);line-height:1.2}.landing-stat-card span{font-size:.65rem;color:var(--text-muted);font-weight:600;line-height:1.25}.landing-section-head{margin-bottom:1.5rem}.landing-section-head.centered{text-align:center;max-width:560px;margin-left:auto;margin-right:auto}.landing-eyebrow{margin:0 0 .35rem;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--brand-primary)}.landing-section-title{margin:0 0 .5rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:900;color:var(--text-main);letter-spacing:-.02em}.landing-section-desc{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.55;max-width:520px}.landing-paths{margin-bottom:3rem}.landing-path-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.25rem;gap:1.25rem}.landing-path-card{display:flex;flex-direction:column;padding:1.5rem;border-radius:var(--radius-xl);background:#fff;border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .25s ease}.landing-path-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.landing-path-top{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1.15rem}.landing-path-icon{width:52px;height:52px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.landing-path-card.customer .landing-path-icon{background:rgba(255,56,92,.1);color:var(--brand-primary)}.landing-path-card.retailer .landing-path-icon{background:rgba(0,138,5,.1);color:var(--primary-emerald)}.landing-path-top h3{margin:0 0 .35rem;font-size:1.2rem;font-weight:800}.landing-path-top p{margin:0;font-size:.88rem;color:var(--text-muted);line-height:1.45}.landing-path-features{list-style:none;padding:0;margin:0 0 1.25rem;display:grid;grid-template-columns:1fr 1fr;grid-gap:.45rem .75rem;gap:.45rem .75rem;flex:1 1}.landing-path-features li{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--text-main)}.landing-path-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.landing-story{position:relative;margin-bottom:3rem;padding:0;overflow:hidden}.landing-story-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 10% 0,rgba(255,56,92,.09),transparent 55%),radial-gradient(ellipse 70% 50% at 90% 100%,rgba(0,138,5,.07),transparent 50%),linear-gradient(165deg,#fff8f9,#ffffff 42%,#f6fbf6);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.landing-story-inner{position:relative;z-index:1;padding:2.5rem 2rem 2rem}.landing-story-head{margin-bottom:2.25rem}.landing-story-lede{max-width:36rem;margin-left:auto;margin-right:auto;font-size:.95rem;line-height:1.65}.landing-story-track{max-width:920px;margin:0 auto}.landing-story-panels{display:flex;flex-direction:column;gap:0}.landing-story-panel{display:grid;grid-template-columns:52px 1fr;grid-gap:1.25rem;gap:1.25rem;align-items:stretch;animation:story-panel-in .7s var(--ease-out) both;animation-delay:var(--story-delay,0s)}.landing-story-rail{display:flex;flex-direction:column;align-items:center;padding-top:.35rem}.landing-story-node{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;color:#fff;background:var(--brand-primary);box-shadow:0 4px 14px rgba(255,56,92,.28);flex-shrink:0}.landing-story-node.tone-violet{background:#7b61ff;box-shadow:0 4px 14px rgba(123,97,255,.32)}.landing-story-node.tone-emerald{background:var(--primary-emerald);box-shadow:0 4px 14px rgba(0,138,5,.28)}.landing-story-node.tone-gold{background:#c9a227;box-shadow:0 4px 14px rgba(201,162,39,.32)}.landing-story-connector{flex:1 1;width:3px;min-height:2.5rem;margin:.4rem 0;border-radius:3px;background:linear-gradient(180deg,var(--brand-primary),rgba(255,56,92,.12))}.landing-story-panel.tone-violet .landing-story-connector{background:linear-gradient(180deg,#7b61ff,rgba(123,97,255,.12))}.landing-story-panel.tone-emerald .landing-story-connector{background:linear-gradient(180deg,var(--primary-emerald),rgba(0,138,5,.12))}.landing-story-panel.tone-gold .landing-story-connector{background:linear-gradient(180deg,#c9a227,rgba(201,162,39,.12))}.landing-story-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem;align-items:center;padding-bottom:2.5rem;transition:transform .35s var(--ease-out)}.landing-story-panel:last-child .landing-story-row{padding-bottom:0}.landing-story-panel.reverse .landing-story-panel-visual{order:2}.landing-story-panel.reverse .landing-story-panel-body{order:1}.landing-story-panel:hover .landing-story-row{transform:translateX(2px)}.landing-story-panel-visual{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.landing-story-panel-visual img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .6s var(--ease-out)}.landing-story-panel:hover .landing-story-panel-visual img{transform:scale(1.05)}.landing-story-panel-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.08),rgba(0,0,0,.35))}.landing-story-panel-chapter{position:absolute;top:.75rem;right:.75rem;font-size:3rem;font-weight:900;line-height:1;color:rgba(255,255,255,.18);letter-spacing:-.04em;pointer-events:none}.landing-story-panel-icon{position:absolute;bottom:.75rem;left:.75rem;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.95);color:var(--brand-primary);box-shadow:0 4px 16px rgba(0,0,0,.15)}.landing-story-panel.tone-violet .landing-story-panel-icon{color:#7b61ff}.landing-story-panel.tone-emerald .landing-story-panel-icon{color:var(--primary-emerald)}.landing-story-panel.tone-gold .landing-story-panel-icon{color:#c9a227}.landing-story-panel-body{display:flex;flex-direction:column;gap:.55rem;padding:.5rem .25rem}.landing-story-panel-label{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--brand-primary)}.landing-story-panel.tone-violet .landing-story-panel-label{color:#7b61ff}.landing-story-panel.tone-emerald .landing-story-panel-label{color:var(--primary-emerald)}.landing-story-panel.tone-gold .landing-story-panel-label{color:#b8860b}.landing-story-panel-body h3{margin:0;font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.2;color:var(--text-main)}.landing-story-panel-body p{margin:0;font-size:.9rem;line-height:1.65;color:var(--text-muted)}.landing-story-panel-stat{display:inline-flex;align-items:center;gap:.35rem;margin-top:.25rem;padding:.4rem .75rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:700;background:#fff;color:var(--text-main);border:1px solid var(--border-light);width:-moz-fit-content;width:fit-content;box-shadow:var(--shadow-sm)}.landing-story-epilogue{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:2rem 0 0;padding-top:1.5rem;border-top:1px dashed rgba(255,56,92,.25);font-size:.9rem;font-weight:600;color:var(--text-muted)}@keyframes story-panel-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.landing-story-inner{padding:1.75rem 1.15rem 1.5rem}.landing-story-panel{grid-template-columns:40px 1fr;gap:.85rem}.landing-story-node{width:36px;height:36px;font-size:.65rem}.landing-story-row{grid-template-columns:1fr;gap:1rem;padding-bottom:2rem}.landing-story-panel.reverse .landing-story-panel-body,.landing-story-panel.reverse .landing-story-panel-visual{order:unset}.landing-story-panel-visual{aspect-ratio:16/10}.landing-story-panel-chapter{font-size:2.5rem}.landing-story-epilogue{flex-direction:column;text-align:center;font-size:.85rem}}.landing-featured{margin-bottom:3rem;margin-top:.5rem}.landing-featured-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.landing-product-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.landing-product-card{display:flex;flex-direction:column;text-align:left;padding:0;border:1px solid var(--border-light);border-radius:var(--radius-lg);overflow:hidden;background:#fff;cursor:pointer;font:inherit;color:inherit;min-width:0;width:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.landing-product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:rgba(255,56,92,.2)}.landing-product-card:focus{outline:none}.landing-product-card:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.landing-product-img{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--bg-surface);flex-shrink:0}.landing-product-img img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.landing-product-tag{position:absolute;top:.65rem;left:.65rem;z-index:1;max-width:calc(100% - 1.3rem);font-size:.62rem;text-transform:uppercase;letter-spacing:.04em}.landing-product-info{padding:.85rem;display:flex;flex-direction:column;gap:.2rem}.landing-product-info strong{font-size:.88rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.landing-product-info span{font-size:.75rem;color:var(--text-muted)}@media (max-width:900px){.landing-product-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.landing-product-row{grid-template-columns:1fr;gap:1rem}.landing-product-card{flex-direction:row;align-items:stretch}.landing-product-img{width:112px;aspect-ratio:auto;height:auto;min-height:112px;align-self:stretch}.landing-product-img img{min-height:112px}.landing-product-info{justify-content:center;flex:1 1;min-width:0}.landing-product-tag{top:.45rem;left:.45rem;max-width:calc(100% - .9rem);font-size:.58rem}}.landing-explore{margin-bottom:3rem}.landing-explore-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:.85rem;gap:.85rem}.landing-explore-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.15rem;text-align:left;cursor:pointer;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:#fff;transition:all .2s ease}.landing-explore-card:hover{border-color:rgba(255,56,92,.3);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.landing-explore-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;background:rgba(255,56,92,.08);color:var(--brand-primary)}.landing-explore-card strong{font-size:.92rem}.landing-explore-card>span:last-child{font-size:.78rem;color:var(--text-muted)}.landing-bottom-cta{border-radius:var(--radius-xl);overflow:hidden;background:linear-gradient(135deg,var(--brand-primary),#e91e63 55%,var(--primary-emerald));padding:2px}.landing-bottom-cta-inner{padding:2.5rem 2rem;text-align:center;background:linear-gradient(135deg,#1a1a1a,#2d1f24);border-radius:calc(var(--radius-xl) - 2px)}.landing-bottom-cta-inner h2{margin:0 0 .5rem;font-size:clamp(1.35rem,3vw,1.85rem);font-weight:900;color:#fff}.landing-bottom-cta-inner p{margin:0 0 1.25rem;color:rgba(255,255,255,.72);font-size:.95rem}@media (max-width:960px){.landing-hero{padding:1.5rem 1.25rem}.landing-hero-grid{grid-template-columns:1fr;gap:1.5rem}.landing-hero-visual{order:-1}.landing-hero-image-stack{min-height:260px;height:260px}.landing-explore-grid,.landing-hero-stat-cards,.landing-path-features,.landing-path-grid{grid-template-columns:1fr}}@media (max-width:560px){.landing-hero{padding:1.25rem 1rem}.landing-hero-copy{gap:1rem}.landing-hero-actions{flex-direction:column}.landing-hero-actions .btn{width:100%}.landing-hero-stat-cards{grid-template-columns:1fr}}.dashboard-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding:1.5rem;margin-bottom:1.5rem;border-radius:var(--radius-xl);background:linear-gradient(135deg,rgba(255,56,92,.06),rgba(0,138,5,.04));border:1px solid var(--border-light)}.dashboard-welcome.retailer{background:linear-gradient(135deg,rgba(0,138,5,.08),rgba(52,211,153,.04))}.dashboard-welcome-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .65rem;border-radius:var(--radius-full);background:rgba(255,56,92,.1);color:var(--brand-primary);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.65rem}.dashboard-welcome-badge.retailer{background:rgba(0,138,5,.1);color:var(--primary-emerald)}.dashboard-welcome-title{margin:0 0 .35rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:900}.dashboard-welcome-subtitle{margin:0;color:var(--text-muted);max-width:520px;line-height:1.5}.dashboard-welcome-stats{display:flex;gap:.75rem;flex-wrap:wrap}.dashboard-stat-pill{display:flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-light);box-shadow:var(--shadow-sm)}.dashboard-stat-pill strong{display:block;font-size:1.1rem;font-weight:800}.dashboard-stat-pill span{font-size:.72rem;color:var(--text-muted);font-weight:600}.dashboard-stat-pill.retailer{border-color:rgba(0,138,5,.2)}.sidebar-points.retailer{color:var(--primary-emerald)}.sidebar-points.guest{color:var(--text-muted)}.dashboard-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:.85rem;gap:.85rem}.dashboard-action-card{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;padding:1rem;border-radius:var(--radius-lg);border:1px solid var(--border-light);background:var(--bg-card);cursor:pointer;text-align:left;transition:transform .2s ease,box-shadow .2s ease}.dashboard-action-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.dashboard-action-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:.25rem}.dashboard-action-card.pink .dashboard-action-icon{background:rgba(255,56,92,.1);color:var(--brand-primary)}.dashboard-action-card.green .dashboard-action-icon{background:rgba(0,138,5,.1);color:var(--primary-emerald)}.dashboard-action-card.blue .dashboard-action-icon{background:rgba(59,130,246,.1);color:#3b82f6}.dashboard-action-card.gold .dashboard-action-icon{background:rgba(234,179,8,.12);color:#ca8a04}.dashboard-action-card.purple .dashboard-action-icon{background:rgba(168,85,247,.1);color:#a855f7}.dashboard-action-card.emerald .dashboard-action-icon{background:rgba(52,211,153,.12);color:#059669}.dashboard-action-card strong{font-size:.9rem}.dashboard-action-card span{font-size:.75rem;color:var(--text-muted)}.dashboard-highlight{display:flex;flex-direction:column;gap:.75rem}.dashboard-highlight h3{display:flex;align-items:center;gap:.45rem;margin:0;font-size:1rem}.dashboard-highlight p{margin:0;color:var(--text-muted);font-size:.88rem;line-height:1.5}.dashboard-impact-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-impact-list li{display:flex;justify-content:space-between;font-size:.88rem;padding:.4rem 0;border-bottom:1px solid var(--border-light)}.dashboard-impact-list li:last-child{border-bottom:none}.dashboard-impact-list strong{color:var(--primary-emerald)}