:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Arial, sans-serif;--text-large-title:800 34px/1.2 var(--font-family);--text-title1:800 28px/1.2 var(--font-family);--text-title2:700 22px/1.25 var(--font-family);--text-title3:700 20px/1.3 var(--font-family);--text-headline:600 17px/1.3 var(--font-family);--text-body:400 17px/1.4 var(--font-family);--text-callout:400 16px/1.35 var(--font-family);--text-subhead:400 15px/1.35 var(--font-family);--text-footnote:400 13px/1.35 var(--font-family);--text-caption:400 12px/1.3 var(--font-family);--radius-sm:10px;--radius-md:14px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--ease-standard:cubic-bezier(.25, .1, .25, 1);--color-star:#f59e0b;--color-bg:#f8fafc;--color-bg-elevated:#fff;--color-bg-grouped:#f1f5f9;--color-fill:#14141a0d;--color-fill-strong:#14141a17;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-separator:#e2e8f0;--color-accent:#4f46e5;--color-accent-pressed:#4338ca;--color-accent-soft:#4f46e51a;--color-accent-secondary:#7c3aed;--color-accent-secondary-soft:#7c3aed1a;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#d97706;--nav-blur-bg:#fafafacc;--shadow-card:0 1px 2px #4f46e50a, 0 8px 24px #4f46e514;--shadow-elevated:0 16px 40px #0f172a24}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#000;--color-bg-elevated:#1c1c1e;--color-bg-grouped:#000;--color-fill:#78788029;--color-fill-strong:#78788042;--color-text:#fff;--color-text-secondary:#ebebf599;--color-text-tertiary:#ebebf54d;--color-separator:#54545899;--color-accent:#7d7aff;--color-accent-pressed:#6a67e6;--color-accent-soft:#7d7aff2e;--color-accent-secondary:#bf5af2;--color-accent-secondary-soft:#bf5af22e;--color-success:#30d158;--color-danger:#ff453a;--color-warning:#ff9f0a;--nav-blur-bg:#1c1c1eb8;--shadow-card:0 1px 2px #00000080, 0 8px 24px #0000008c;--shadow-elevated:0 16px 40px #000000b3}}:root[data-theme=light]{--color-bg:#f8fafc;--color-bg-elevated:#fff;--color-bg-grouped:#f1f5f9;--color-fill:#14141a0d;--color-fill-strong:#14141a17;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-separator:#e2e8f0;--color-accent:#4f46e5;--color-accent-pressed:#4338ca;--color-accent-soft:#4f46e51a;--color-accent-secondary:#7c3aed;--color-accent-secondary-soft:#7c3aed1a;--color-success:#10b981;--color-danger:#ef4444;--color-warning:#d97706;--nav-blur-bg:#fafafacc;--shadow-card:0 1px 2px #4f46e50a, 0 8px 24px #4f46e514;--shadow-elevated:0 16px 40px #0f172a24}:root[data-theme=dark]{--color-bg:#000;--color-bg-elevated:#1c1c1e;--color-bg-grouped:#000;--color-fill:#78788029;--color-fill-strong:#78788042;--color-text:#fff;--color-text-secondary:#ebebf599;--color-text-tertiary:#ebebf54d;--color-separator:#54545899;--color-accent:#7d7aff;--color-accent-pressed:#6a67e6;--color-accent-soft:#7d7aff2e;--color-accent-secondary:#bf5af2;--color-accent-secondary-soft:#bf5af22e;--color-success:#30d158;--color-danger:#ff453a;--color-warning:#ff9f0a;--nav-blur-bg:#1c1c1eb8;--shadow-card:0 1px 2px #00000080, 0 8px 24px #0000008c;--shadow-elevated:0 16px 40px #000000b3}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{font:var(--text-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}h1,h2,h3,p,figure{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--color-accent);text-decoration:none}img{max-width:100%;display:block}.text-large-title{font:var(--text-large-title)}.text-title1{font:var(--text-title1)}.text-title2{font:var(--text-title2)}.text-title3{font:var(--text-title3)}.text-headline{font:var(--text-headline)}.text-body{font:var(--text-body)}.text-footnote{font:var(--text-footnote)}.text-caption{font:var(--text-caption)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.brand{align-items:center;gap:var(--space-3);font:var(--text-headline);letter-spacing:-.01em;font-weight:700;display:flex}.brand-mark{background:var(--color-accent);color:#fff;width:28px;height:28px;font:800 15px/1 var(--font-family);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.brand-mark.small{border-radius:6px;width:22px;height:22px;font-size:12px}.card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card)}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);font:var(--text-headline);cursor:pointer;transition:transform .12s var(--ease-standard), opacity .12s var(--ease-standard), background-color .12s var(--ease-standard);-webkit-tap-highlight-color:transparent;border:none;padding:14px 24px;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-accent);color:#fff;width:100%;box-shadow:0 6px 16px color-mix(in srgb, var(--color-accent) 32%, transparent)}.btn-primary:hover:not(:disabled){background:var(--color-accent-pressed)}.btn-primary:active:not(:disabled){filter:brightness(.94)}.btn-secondary{background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-separator);width:100%}.btn-secondary:hover:not(:disabled){background:var(--color-fill)}.btn-danger{color:var(--color-danger);background:0 0}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--color-danger) 10%, transparent)}.btn-fill{background:var(--color-fill);color:var(--color-accent)}.btn-fill:hover:not(:disabled){background:var(--color-fill-strong)}.btn-block{width:100%}.btn-ghost{color:var(--color-accent);background:0 0;padding:8px 12px}.btn-ghost:hover:not(:disabled){background:var(--color-accent-soft)}.btn-icon{background:var(--color-fill);color:var(--color-text);border-radius:50%;padding:10px}.btn-icon:hover:not(:disabled){background:var(--color-fill-strong);transform:scale(1.06)}.btn-icon:active:not(:disabled){transform:scale(.92)}.field{padding-top:8px;position:relative}.field label{font:var(--text-footnote);color:var(--color-text-secondary);padding-left:var(--space-1);margin:0 0 var(--space-2)}.field input,.field select,.field textarea{appearance:none;background:var(--color-fill);border-radius:var(--radius-lg);padding:27px var(--space-5) 13px;font:var(--text-body);color:var(--color-text);width:100%;min-height:60px;transition:border-color .15s var(--ease-standard), box-shadow .15s var(--ease-standard), background-color .15s var(--ease-standard);border:1.5px solid #0000;outline:none}.field input:hover:not(:focus),.field select:hover:not(:focus),.field textarea:hover:not(:focus){background:var(--color-fill-strong)}.field textarea{resize:vertical;min-height:96px;font-family:inherit}.field select{background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233c3c43' opacity='0.5'%3e%3cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3e%3c/svg%3e");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.field input:focus,.field select:focus,.field textarea:focus{background:var(--color-bg-elevated);border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-soft)}:is(.field:has(input) label,.field:has(select) label,.field:has(textarea) label){left:var(--space-5);font:var(--text-body);color:var(--color-text-tertiary);pointer-events:none;transition:transform .15s var(--ease-standard), color .15s var(--ease-standard);transform-origin:0 0;position:absolute;top:32px}:is(.field:has(input:focus) label,.field:has(input:not(:placeholder-shown)) label,.field:has(select) label,.field:has(textarea:focus) label,.field:has(textarea:not(:placeholder-shown)) label){color:var(--color-text-secondary);transform:translateY(-16px)scale(.78)}.field input::placeholder,.field textarea::placeholder{color:#0000;transition:color .15s var(--ease-standard)}.field input:focus::placeholder,.field textarea:focus::placeholder{color:var(--color-text-tertiary)}:is(.field:has(input:focus) label,.field:has(textarea:focus) label){color:var(--color-accent)}.form-error{font:var(--text-footnote);color:var(--color-danger);padding-left:var(--space-1)}.shake{animation:shake .36s var(--ease-standard)}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.divider{background:var(--color-separator);border:none;height:.5px}.stars{color:var(--color-star);flex-shrink:0;gap:2px;display:inline-flex}.stars svg{width:14px;height:14px}.stars.lg svg{width:18px;height:18px}.star-input{gap:6px;display:inline-flex}.star-input button{cursor:pointer;color:var(--color-fill-strong);transition:color .15s var(--ease-standard), transform .15s var(--ease-standard);background:0 0;border:none;padding:2px}.star-input button svg{width:34px;height:34px}.star-input button.filled{color:var(--color-star)}.star-input button:hover{transform:scale(1.08)}.rating-inline{font:var(--text-footnote);color:var(--color-text-secondary);align-items:center;gap:6px;display:inline-flex}.status-pill{border-radius:var(--radius-pill);font:var(--text-caption);padding:3px 10px;font-weight:600;display:inline-block}.status-pill.pending,.status-pill.inactive{background:color-mix(in srgb, var(--color-warning) 16%, transparent);color:var(--color-warning)}.status-pill.claimed,.status-pill.active{background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success)}.list-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.list-row{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);transition:background-color .15s var(--ease-standard);display:flex}.list-row:not(.skeleton-row):hover{background:var(--color-fill)}.list-row+.list-row{border-top:.5px solid var(--color-separator)}.list-row .icon{background:color-mix(in srgb, var(--color-success) 14%, transparent);width:40px;height:40px;color:var(--color-success);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.list-row .icon svg{width:19px;height:19px}.list-row .main{flex:1;min-width:0}.list-row .main .title{font:var(--text-headline)}.list-row .main .subtitle{color:var(--color-text-secondary);font:var(--text-footnote);margin-top:1px}.list-row .value{color:var(--color-success);font:var(--text-headline);white-space:nowrap}.profile-hero{padding:calc(var(--space-6) + env(safe-area-inset-top,0px)) var(--space-5) var(--space-8);text-align:center;border-radius:0 0 var(--radius-xl) var(--radius-xl);background:#1c1c1e}.profile-hero-nav{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.profile-hero-back{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;text-decoration:none;display:inline-flex}.profile-avatar{width:76px;height:76px;margin:0 auto var(--space-3);color:#fff;font:700 30px/1 var(--font-family);background:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;display:flex}.profile-name{color:#fff;font:var(--text-title2)}.profile-contact{color:#ffffffa6;font:var(--text-subhead);margin-top:2px}.profile-role-pill{margin-top:var(--space-3);border-radius:var(--radius-pill);color:#fff;font:var(--text-caption);background:#ffffff1f;padding:3px 12px;font-weight:600;display:inline-block}.settings-group-title{font:var(--text-caption);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-tertiary);margin:var(--space-6) 0 var(--space-2) var(--space-1);font-weight:700}.settings-row{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none}.settings-row .icon{background:var(--color-fill);color:var(--color-text-secondary)}.settings-row.danger .title{color:var(--color-danger)}.settings-row .icon.danger{background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger)}.settings-row>svg:last-child{color:var(--color-text-tertiary);flex-shrink:0}.danger-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-danger) 14%, transparent);color:var(--color-danger);font:var(--text-caption);white-space:nowrap;padding:3px 10px;font-weight:700}.empty-state{padding:var(--space-8) var(--space-5);text-align:center;color:var(--color-text-secondary)}.empty-state svg{width:40px;height:40px;margin:0 auto var(--space-3);color:var(--color-text-tertiary)}.table-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:auto hidden}.table-card table{border-collapse:collapse;width:100%}.table-card th{text-align:left;font:var(--text-footnote);color:var(--color-text-secondary);padding:var(--space-3) var(--space-5);border-bottom:.5px solid var(--color-separator);white-space:nowrap;font-weight:600}.table-card td{padding:var(--space-3) var(--space-5);font:var(--text-subhead);border-bottom:.5px solid var(--color-separator);white-space:nowrap}.table-card tr:last-child td{border-bottom:none}.table-card tbody tr:not(.skeleton-row):hover{background:var(--color-fill)}.table-card tbody tr{transition:background-color .15s var(--ease-standard)}.table-empty{padding:var(--space-8);text-align:center;color:var(--color-text-secondary)}.pop-in{animation:pop-in .4s var(--ease-standard)}@keyframes pop-in{0%{opacity:0;transform:scale(.92)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.fade-up{animation:fade-up .5s var(--ease-standard) both}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transition:opacity .7s var(--ease-standard), transform .7s var(--ease-standard);will-change:opacity, transform;transform:translateY(32px)}.reveal.in-view{opacity:1;transform:translateY(0)}.reveal-scale{opacity:0;transition:opacity .6s var(--ease-standard), transform .6s var(--ease-standard);transform:scale(.92)}.reveal-scale.in-view{opacity:1;transform:scale(1)}.table-row-in{animation:table-row-in .35s var(--ease-standard) both}@keyframes table-row-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.status-pill.claimed,.status-pill.active{animation:pill-pop .3s var(--ease-standard)}@keyframes pill-pop{0%{transform:scale(.85)}60%{transform:scale(1.08)}to{transform:scale(1)}}.skeleton-line,.skeleton-block{background:linear-gradient(100deg, var(--color-fill) 30%, var(--color-fill-strong) 50%, var(--color-fill) 70%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite shimmer}.skeleton-line{height:13px}.skeleton-block{border-radius:12px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.stack{gap:var(--space-4);flex-direction:column;display:flex}.spinner{border:2px solid color-mix(in srgb, currentColor 30%, transparent);border-top-color:currentColor;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast-stack{top:max(var(--space-5), env(safe-area-inset-top,0px));right:var(--space-5);z-index:200;gap:var(--space-3);width:min(360px, calc(100vw - var(--space-5) * 2));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{pointer-events:auto;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevated);border:1px solid var(--color-separator);animation:toast-in .32s var(--ease-standard);display:flex}.toast.leaving{animation:toast-out .2s var(--ease-standard) forwards}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.toast-success .toast-icon{background:color-mix(in srgb, var(--color-success) 18%, transparent);color:var(--color-success)}.toast-error .toast-icon{background:color-mix(in srgb, var(--color-danger) 18%, transparent);color:var(--color-danger)}.toast-info .toast-icon{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.toast-message{font:var(--text-subhead);flex:1;padding-top:3px;line-height:1.4}.toast-close{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;padding:4px;display:flex}.toast-close:hover{background:var(--color-fill);color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translate(24px)scale(.96)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-out{0%{opacity:1;max-height:200px;transform:translate(0)scale(1)}to{opacity:0;transform:translate(24px)scale(.96)}}@media (width<=520px){.toast-stack{top:auto;bottom:max(var(--space-5), env(safe-area-inset-bottom,0px));right:var(--space-4);left:var(--space-4);width:auto}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.auth-screen{min-height:100dvh;padding:var(--space-6);background:radial-gradient(900px 560px at 50% -10%, var(--color-accent-soft), transparent 70%), var(--color-bg);flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{background:var(--color-bg-elevated);border-radius:var(--radius-xl);width:100%;max-width:400px;padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:var(--shadow-elevated)}.auth-topbar{justify-content:flex-end;margin:-8px -8px 0 0;display:flex}.auth-mark{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--color-accent);color:#fff;font:800 26px/1 var(--font-family);letter-spacing:-.02em;box-shadow:0 8px 20px color-mix(in srgb, var(--color-accent) 40%, transparent);border-radius:18px;justify-content:center;align-items:center;display:flex}.auth-title{text-align:center;margin-bottom:var(--space-1)}.auth-subtitle{text-align:center;margin-bottom:var(--space-6)}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-google-btn{margin-bottom:var(--space-4)}.auth-divider{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);color:var(--color-text-tertiary);display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--color-separator);flex:1;height:1px}.auth-switch{text-align:center;margin-top:var(--space-6)}.auth-demo-hint{margin-top:var(--space-5);padding:var(--space-3) var(--space-4);background:var(--color-fill);border-radius:var(--radius-md);text-align:left;line-height:1.6}@media (width<=480px){.auth-screen{padding:var(--space-4)}}.page{background:var(--color-bg);min-height:100dvh}.page-nav{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:var(--nav-blur-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:.5px solid var(--color-separator);display:flex;position:sticky;top:0}.page-nav .nav-user{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.page-content{max-width:1080px;padding:var(--space-6);margin:0 auto}.page-content.narrow{max-width:720px}.nav-tabs{background:var(--color-fill);border-radius:var(--radius-pill);gap:4px;padding:4px;display:flex}.nav-tabs a,.nav-tabs button{color:var(--color-text-secondary);font:var(--text-subhead);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background-color .15s var(--ease-standard), color .15s var(--ease-standard);background:0 0;border:none;align-items:center;gap:6px;padding:8px 16px;font-weight:600;text-decoration:none;display:inline-flex}.nav-tabs a svg,.nav-tabs button svg{width:17px;height:17px}.nav-tabs a:hover:not(.active),.nav-tabs button:hover:not(.active){color:var(--color-text);background:var(--color-fill-strong)}.nav-tabs a.active,.nav-tabs button.active{background:var(--color-bg-elevated);color:var(--color-text);box-shadow:0 1px 4px #00000024}.page-title-row{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.section-heading{margin-bottom:var(--space-3);justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}@media (width<=720px){.page-nav{row-gap:var(--space-3);flex-wrap:wrap}.page-nav .nav-tabs{order:3;justify-content:space-between;width:100%}.nav-tabs a,.nav-tabs button{flex:1;justify-content:center}.page-content{padding:var(--space-5) var(--space-4) 64px}}.search-bar{margin-bottom:var(--space-6);max-width:420px;position:relative}.search-bar svg{width:18px;height:18px;color:var(--color-text-tertiary);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.search-bar input{background:var(--color-fill);border-radius:var(--radius-pill);width:100%;font:var(--text-body);color:var(--color-text);border:none;outline:none;padding:12px 16px 12px 44px}.search-bar input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-accent) 35%, transparent)}.shop-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.shop-card{gap:var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);color:inherit;transition:transform .18s var(--ease-standard), box-shadow .18s var(--ease-standard);flex-direction:column;text-decoration:none;display:flex}.shop-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.shop-logo{background:var(--color-fill);color:var(--color-text-tertiary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.shop-logo img{object-fit:cover;width:100%;height:100%}.shop-card-top{align-items:center;gap:var(--space-3);display:flex}.shop-card-top>div{flex-direction:column;gap:4px;min-width:0;display:flex}.category-pill{border-radius:var(--radius-pill);background:var(--color-fill);color:var(--color-text-secondary);font:var(--text-caption);align-self:flex-start;padding:3px 10px;font-weight:600}.shop-card .shop-name{font:var(--text-title3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shop-card .shop-desc{font:var(--text-subhead);color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden}.shop-card .shop-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-1);display:flex}.wallet-badge{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font:var(--text-caption);align-items:center;gap:4px;padding:3px 10px;font-weight:700;display:inline-flex}.shop-hero{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-card);margin-bottom:var(--space-6)}.shop-hero-top{justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;display:flex}.shop-hero .shop-desc{margin-top:var(--space-3);color:var(--color-text-secondary);font:var(--text-body);max-width:60ch}.shop-info-card{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-grouped);gap:var(--space-2);flex-direction:column;display:flex}.shop-info-row{align-items:center;gap:var(--space-3);color:var(--color-text-secondary);font:var(--text-subhead);display:flex}.shop-info-row svg{color:var(--color-text-tertiary);flex-shrink:0}.shop-hero-actions{align-items:center;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:.5px solid var(--color-separator);flex-wrap:wrap;display:flex}.wallet-mini{align-items:center;gap:var(--space-3);display:flex}.wallet-mini .icon{background:var(--color-accent-soft);width:44px;height:44px;color:var(--color-accent);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.wallet-mini .icon svg{width:22px;height:22px}.wallet-mini .amount{font:var(--text-title3)}.wallet-mini .label{font:var(--text-footnote);color:var(--color-text-secondary)}.review-row{padding:var(--space-4) var(--space-5)}.review-row+.review-row{border-top:.5px solid var(--color-separator)}.review-row-top{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:4px;display:flex}.review-author{font:var(--text-headline)}.review-date{font:var(--text-caption);color:var(--color-text-tertiary)}.review-comment{font:var(--text-subhead);color:var(--color-text-secondary);margin-top:6px}.wallet-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.wallet-card-item{background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-card);color:inherit;gap:var(--space-2);transition:transform .18s var(--ease-standard), box-shadow .18s var(--ease-standard);flex-direction:column;text-decoration:none;display:flex}.wallet-card-item:hover{box-shadow:var(--shadow-elevated);transform:translateY(-3px)}.wallet-card-item .amount{font:var(--text-title1);color:var(--color-accent);letter-spacing:-.01em}.scan-sheet-backdrop{-webkit-backdrop-filter:blur(4px);z-index:60;padding:var(--space-4);background:#0a0a0e80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.scan-sheet{background:var(--color-bg-grouped);border-radius:var(--radius-xl);width:100%;max-width:440px;padding:var(--space-5) var(--space-5) var(--space-6);max-height:90dvh;box-shadow:var(--shadow-elevated);overflow-y:auto}.scan-sheet .grabber{display:none}.scan-sheet .sheet-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}#qr-reader{border-radius:var(--radius-lg);background:#000;overflow:hidden}#qr-reader video{border-radius:var(--radius-lg)}.scan-status{margin-top:var(--space-4);text-align:center;font:var(--text-subhead);color:var(--color-text-secondary)}.scan-status.success{color:var(--color-success);font-weight:600}.scan-status.error{color:var(--color-danger);font-weight:600}.result-burst{text-align:center;padding:var(--space-6) 0}.result-burst.compact{padding:var(--space-2) 0 var(--space-5)}.result-burst .check{width:72px;height:72px;margin:0 auto var(--space-4);background:color-mix(in srgb, var(--color-success) 16%, transparent);color:var(--color-success);border-radius:50%;justify-content:center;align-items:center;display:flex}.result-burst .check svg{width:36px;height:36px}.review-prompt .field{text-align:center;align-items:center}@media (width<=520px){.scan-sheet-backdrop{align-items:flex-end;padding:0}.scan-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:none;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom,0px))}.scan-sheet .grabber{border-radius:var(--radius-pill);background:var(--color-fill-strong);width:36px;height:5px;margin:0 auto var(--space-4);display:block}}.qr-display{margin-top:var(--space-5);text-align:center;padding:var(--space-5);background:var(--color-fill);border-radius:var(--radius-lg)}.qr-display img{width:180px;height:180px;margin:0 auto var(--space-3);border-radius:var(--radius-md);padding:var(--space-2);background:#fff;box-shadow:0 6px 16px #0000001f}.qr-display .amounts{font:var(--text-headline)}.qr-display .amounts .cashback{color:var(--color-success)}.rating-summary{text-align:center}.rating-summary .big-number{font:800 40px/1.1 var(--font-family);letter-spacing:-.02em}.rating-summary .stars{margin:var(--space-2) 0;justify-content:center}.dashboard-columns{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:1.3fr 1fr;align-items:start;display:grid}@media (width<=860px){.dashboard-columns{grid-template-columns:1fr}}.mode-toggle{background:var(--color-fill);border-radius:var(--radius-pill);margin-bottom:var(--space-4);gap:2px;padding:3px;display:inline-flex}.mode-toggle button{border-radius:var(--radius-pill);font:var(--text-footnote);color:var(--color-text-secondary);cursor:pointer;transition:background-color .15s var(--ease-standard), color .15s var(--ease-standard);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-weight:600;display:inline-flex}.mode-toggle button.active{background:var(--color-bg-elevated);color:var(--color-text);box-shadow:var(--shadow-card)}.shop-reply{margin-top:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-fill);border-radius:var(--radius-md);border-left:3px solid var(--color-accent)}.shop-reply-label{font:var(--text-caption);color:var(--color-accent);margin-bottom:2px;font-weight:700;display:block}.admin-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.filter-select{appearance:none;background:var(--color-fill);border-radius:var(--radius-pill);font:var(--text-subhead);color:var(--color-text);cursor:pointer;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23808080' opacity='0.6'%3e%3cpath fill-rule='evenodd' d='M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z' clip-rule='evenodd'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;border:none;outline:none;padding:8px 36px 8px 16px;font-weight:600}.stat-strip{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.stat-tile{background:linear-gradient(160deg, var(--color-accent-soft), var(--color-bg-elevated) 65%);border:1px solid var(--color-separator);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-card)}.stat-tile .value{font:var(--text-title2);letter-spacing:-.01em;color:var(--color-accent)}.stat-tile .label{font:var(--text-footnote);color:var(--color-text-secondary)}.toggle-switch{border-radius:var(--radius-pill);background:var(--color-fill-strong);cursor:pointer;width:40px;height:24px;transition:background-color .2s var(--ease-standard);border:none;flex-shrink:0;position:relative}.toggle-switch:after{content:"";width:20px;height:20px;transition:transform .2s var(--ease-standard);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-switch.on{background:var(--color-success)}.toggle-switch.on:after{transform:translate(16px)}.table-card td.numeric{text-align:right;font-variant-numeric:tabular-nums}.table-row-actions{align-items:center;gap:var(--space-2);display:flex}.icon-btn-danger{color:var(--color-danger)}.review-comment-cell{white-space:normal;max-width:280px;color:var(--color-text-secondary);font:var(--text-footnote)}.add-shop-panel{margin-bottom:var(--space-6)}.form-grid{gap:var(--space-5);grid-template-columns:repeat(2,1fr);display:grid}.form-grid .field.span-2{grid-column:1/-1}@media (width<=640px){.form-grid{grid-template-columns:1fr}}.landing{background:var(--color-bg);min-height:100dvh;overflow-x:clip}.landing-nav{z-index:20;padding:var(--space-5) var(--space-8);background:var(--nav-blur-bg);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:.5px solid var(--color-separator);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.landing-nav .brand{font-size:1.05rem}.landing-nav-actions{align-items:center;gap:var(--space-3);display:flex}.landing-cta-btn{width:auto;padding:10px 22px}.hero{max-width:1320px;padding:clamp(64px, 11vw, 140px) var(--space-8) clamp(56px, 8vw, 96px);grid-template-columns:1.05fr .95fr;align-items:center;gap:clamp(40px,6vw,80px);margin:0 auto;display:grid;position:relative}.hero:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(900px 560px at 12% 5%, var(--color-accent-soft), transparent 68%), radial-gradient(600px 420px at 92% 25%, var(--color-accent-secondary-soft), transparent 70%);height:900px;position:absolute;inset:-15% -10% auto}.hero:after{content:"";z-index:-3;pointer-events:none;opacity:.5;background-image:radial-gradient(color-mix(in srgb, var(--color-text) 14%, transparent) 1px, transparent 1px);background-size:26px 26px;height:900px;position:absolute;inset:-15% -10% auto;-webkit-mask-image:radial-gradient(700px 500px at 20% 20%,#000,#0000 75%);mask-image:radial-gradient(700px 500px at 20% 20%,#000,#0000 75%)}.eyebrow{border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);font:var(--text-footnote);letter-spacing:.01em;margin-bottom:var(--space-6);align-items:center;gap:7px;padding:7px 16px;font-weight:700;display:inline-flex}.hero-copy h1{font:800 clamp(42px, 6.4vw, 80px)/1.03 var(--font-family);letter-spacing:-.035em}.hero-copy h1 em{color:var(--color-accent);font-style:normal}.hero-sub{margin-top:var(--space-6);font:400 clamp(17px, 1.6vw, 21px)/1.55 var(--font-family);color:var(--color-text-secondary);max-width:48ch}.hero-actions{gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap;display:flex}.hero-cta{width:auto;padding:16px 30px;font-size:1.02rem}.hero-cta.primary-glow{position:relative;overflow:hidden}.hero-cta.primary-glow:after{content:"";transition:transform .7s var(--ease-standard);background:linear-gradient(120deg,#0000 30%,#ffffff59 48%,#0000 66%);position:absolute;inset:0;transform:translate(-120%)}.hero-cta.primary-glow:hover:after{transform:translate(120%)}.hero-note{margin-top:var(--space-5)}.hero-visual{justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.demo-shop-card{--r:-4deg;z-index:2;width:100%;max-width:350px;padding:var(--space-7,28px);border-radius:var(--radius-xl);background:var(--color-bg-elevated);box-shadow:var(--shadow-elevated);animation:7s ease-in-out infinite float;position:relative}.demo-shop-card .category-pill{margin-bottom:var(--space-3)}.demo-shop-card .shop-name{font:var(--text-title2);margin-bottom:8px;display:block}.demo-shop-card .wallet-line{margin-top:var(--space-5);padding-top:var(--space-5);border-top:.5px solid var(--color-separator);justify-content:space-between;align-items:baseline;display:flex}.demo-shop-card .wallet-line .amount{font:var(--text-title1);color:var(--color-accent);letter-spacing:-.02em}.demo-toast{--r:3deg;z-index:3;align-items:center;gap:var(--space-3);background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-elevated);animation:6s ease-in-out .4s infinite float;display:flex;position:absolute;bottom:8%;right:-2%}.demo-badge{--r:-2deg;z-index:1;background:var(--color-bg-elevated);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);font:var(--text-subhead);align-items:center;gap:8px;padding:10px 18px 10px 12px;font-weight:700;animation:8s ease-in-out .8s infinite float;display:flex;position:absolute;top:6%;left:2%}.demo-badge .dot{background:color-mix(in srgb, var(--color-star) 20%, transparent);width:26px;height:26px;color:var(--color-star);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.demo-badge .dot svg{width:14px;height:14px}.demo-ring{z-index:0;border:1.5px dashed color-mix(in srgb, var(--color-accent) 24%, transparent);border-radius:50%;animation:40s linear infinite spin-slow;position:absolute;inset:8%}.demo-toast-icon{background:color-mix(in srgb, var(--color-success) 18%, transparent);width:34px;height:34px;color:var(--color-success);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.demo-toast-title{font:var(--text-subhead);font-weight:600}.demo-toast-sub{font:var(--text-footnote);color:var(--color-text-secondary)}@keyframes float{0%,to{transform:translateY(0) rotate(var(--r,-4deg))}50%{transform:translateY(-14px) rotate(calc(var(--r,-4deg) + 1deg))}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.marquee-section{border-top:.5px solid var(--color-separator);border-bottom:.5px solid var(--color-separator);padding:var(--space-6) 0;overflow:hidden}.marquee-track{gap:var(--space-4);width:max-content;animation:28s linear infinite marquee;display:flex}.marquee-section:hover .marquee-track{animation-play-state:paused}.marquee-chip{border-radius:var(--radius-pill);background:var(--color-fill);color:var(--color-text-secondary);font:var(--text-subhead);white-space:nowrap;align-items:center;gap:8px;padding:10px 20px;font-weight:600;display:inline-flex}.marquee-chip svg{width:15px;height:15px;color:var(--color-accent)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.section-eyebrow{text-align:center;font:var(--text-footnote);letter-spacing:.06em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-3);font-weight:700;display:block}.section-title{font:800 clamp(30px, 4vw, 44px)/1.15 var(--font-family);text-align:center;margin-bottom:var(--space-10,56px);letter-spacing:-.02em}.steps-section,.features-section{max-width:1240px;padding:clamp(72px, 10vw, 120px) var(--space-8) 0;margin:0 auto}.steps-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.step-card{background:var(--color-bg-elevated);border-radius:var(--radius-xl);padding:var(--space-8) var(--space-6) var(--space-6);box-shadow:var(--shadow-card);transition:transform .3s var(--ease-standard), box-shadow .3s var(--ease-standard);position:relative}.step-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-6px)}.step-card:hover .step-icon{transform:rotate(-8deg)scale(1.08)}.step-number{top:var(--space-6);right:var(--space-6);font:800 40px/1 var(--font-family);color:var(--color-fill-strong);position:absolute}.step-icon{background:var(--color-accent);color:#fff;width:56px;height:56px;margin-bottom:var(--space-6);box-shadow:0 10px 22px color-mix(in srgb, var(--color-accent) 38%, transparent);transition:transform .3s var(--ease-standard);border-radius:16px;justify-content:center;align-items:center;display:flex}.step-icon svg,.feature-icon svg{width:26px;height:26px}.step-card h3,.feature-card h3{font:var(--text-title2);margin-bottom:var(--space-2)}.step-card p,.feature-card p{font:var(--text-body);color:var(--color-text-secondary)}.features-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.feature-card{padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-xl);background:var(--color-bg-elevated);box-shadow:var(--shadow-card);transition:transform .3s var(--ease-standard), box-shadow .3s var(--ease-standard)}.feature-card:hover{box-shadow:var(--shadow-elevated);transform:translateY(-6px)}.feature-card:hover .feature-icon{background:var(--color-accent);color:#fff}.feature-icon{background:var(--color-accent-soft);width:52px;height:52px;color:var(--color-accent);margin-bottom:var(--space-5);transition:background-color .25s var(--ease-standard), color .25s var(--ease-standard);border-radius:14px;justify-content:center;align-items:center;display:flex}.download-band{border-radius:calc(var(--radius-xl) + 8px);background:linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-secondary) 100%);color:#fff;max-width:1240px;margin:clamp(80px,11vw,140px) auto 0;padding:clamp(8px,2vw,16px);overflow:hidden}.download-band-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(24px,4vw,56px);padding:clamp(48px,7vw,96px) clamp(28px,6vw,88px);display:grid;position:relative}@media (width<=780px){.download-band-inner{text-align:center;grid-template-columns:1fr;padding:clamp(40px,10vw,64px) clamp(24px,6vw,40px)}.download-visual{order:-1}}.download-copy .eyebrow-light{color:#fff;background:#ffffff29}.download-band h2{font:800 clamp(34px, 5.2vw, 56px)/1.08 var(--font-family);letter-spacing:-.03em;margin-top:var(--space-5)}.download-band p{margin:var(--space-5) 0 0;color:#ffffffd9;max-width:46ch;font:400 clamp(16px, 1.6vw, 19px)/1.55 var(--font-family)}@media (width<=780px){.download-band p{margin-inline:auto}}.download-band-cta{margin-top:var(--space-8);border-radius:var(--radius-pill);color:var(--color-accent-pressed);font:var(--text-headline);transition:transform .2s var(--ease-standard), box-shadow .2s var(--ease-standard);background:#fff;align-items:center;gap:10px;padding:18px 32px;font-weight:700;display:inline-flex;box-shadow:0 16px 36px #00000047}.download-band-cta:hover{color:var(--color-accent-pressed);background:#fff;transform:translateY(-3px)scale(1.02);box-shadow:0 22px 44px #00000057}.download-visual{justify-content:center;align-items:center;min-height:280px;display:flex;position:relative}.download-phone{z-index:1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff24;border:1px solid #ffffff59;border-radius:34px;width:200px;height:400px;padding:14px;position:relative;box-shadow:0 30px 60px #0000004d}.download-phone-notch{border-radius:var(--radius-pill);background:#fff6;width:60px;height:6px;margin:0 auto 14px}.download-phone-screen{background:#fffffff2;border-radius:22px;height:calc(100% - 20px);padding:22px 16px}.download-phone-mark{background:var(--color-accent);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:18px;font-weight:800;display:flex}.download-phone-line{border-radius:var(--radius-pill);background:#e2e2ea;height:10px;margin-bottom:10px}.download-phone-card{background:linear-gradient(135deg, var(--color-accent-soft), var(--color-accent-secondary-soft));border:1px solid #4f46e526;border-radius:14px;height:90px;margin-top:20px}.download-orb{filter:blur(2px);background:#ffffff29;border-radius:50%;position:absolute}.download-orb-1{width:160px;height:160px;top:-20px;right:10%}.download-orb-2{width:90px;height:90px;bottom:0;left:5%}.cta-band{text-align:center;max-width:920px;padding:clamp(56px, 8vw, 80px) var(--space-8);border-radius:var(--radius-xl);background:var(--color-accent);color:#fff;margin:clamp(72px,10vw,120px) auto 100px;position:relative;overflow:hidden}.cta-band:before,.cta-band:after{content:"";background:#ffffff1f;border-radius:50%;position:absolute}.cta-band:before{width:280px;height:280px;top:-120px;left:-80px}.cta-band:after{width:220px;height:220px;bottom:-100px;right:-60px}.cta-band h2{font:800 clamp(28px, 4vw, 42px)/1.2 var(--font-family);letter-spacing:-.02em;position:relative}.cta-band p{margin-top:var(--space-4);opacity:.92;font:400 clamp(16px, 1.6vw, 19px)/1.5 var(--font-family);position:relative}.cta-band .btn{margin-top:var(--space-7,28px);color:var(--color-accent-pressed);background:#fff;position:relative;box-shadow:0 12px 28px #00000038}.cta-band .btn:hover{color:var(--color-accent-pressed);background:#fff;transform:translateY(-2px);box-shadow:0 16px 34px #00000047}.landing-footer{max-width:1240px;padding:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);border-top:.5px solid var(--color-separator);flex-wrap:wrap;margin:0 auto;display:flex}.footer-links{gap:var(--space-5);display:flex}.footer-links a{color:var(--color-text-secondary);font:var(--text-subhead);transition:color .15s var(--ease-standard);font-weight:600}.footer-links a:hover{color:var(--color-accent)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}@media (width<=900px){.hero{text-align:center;grid-template-columns:1fr;padding-top:48px}.hero-copy{order:1}.hero-visual{order:2;min-height:320px;margin-top:24px}.hero-actions{justify-content:center}.hero-sub{margin-inline:auto}.steps-grid,.features-grid{grid-template-columns:1fr}}@media (width<=640px){.landing-nav{padding:var(--space-4) var(--space-5)}.landing-nav-actions .btn-ghost{display:none}.landing-cta-btn{padding:9px 16px}.hero,.steps-section,.features-section,.landing-footer{padding-left:var(--space-5);padding-right:var(--space-5)}.demo-badge{display:none}}@media (prefers-reduced-motion:reduce){.demo-shop-card,.demo-toast,.demo-badge,.demo-ring,.marquee-track{animation:none}.reveal,.reveal-scale{transition-duration:.01ms}}
