.navbar{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 32px;height:64px;background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid var(--border);box-shadow:0 2px 16px #6c63ff0f}.nav-logo{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:20px;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-logo-text{font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.3px}.nav-logo-accent{color:var(--accent)}.nav-btns{display:flex;gap:10px}.nav-btn{padding:8px 18px;border-radius:var(--radius-xs);border:1.5px solid var(--border-light);background:transparent;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text2);transition:all .2s}.nav-btn:hover{border-color:var(--accent);color:var(--accent)}.nav-btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.nav-btn.primary{background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;border-color:transparent}.nav-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6c63ff4d}.nav-btn.primary.active{background:linear-gradient(135deg,#5b52ee,#9678f0)}.nav-admin-btn{padding:8px 10px!important;font-size:16px!important;border-color:#ffffff0f!important;opacity:.6;transition:all .25s}.nav-admin-btn:hover{opacity:1;border-color:#8b5cf666!important;background:#8b5cf61a!important;transform:rotate(30deg)}.nav-admin-btn.active{opacity:1;background:#8b5cf626!important;border-color:#8b5cf666!important}.theme-toggle{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;flex-shrink:0}.theme-toggle:hover{border-color:var(--accent);transform:scale(1.1);box-shadow:0 0 16px #6c63ff33}.theme-toggle:active{transform:scale(.95)}.theme-toggle.dark{border-color:#fbbf244d;background:#fbbf2414}.theme-toggle.dark:hover{border-color:#fbbf2480;box-shadow:0 0 16px #fbbf2433}.theme-toggle-icon{font-size:18px;display:flex;align-items:center;justify-content:center;animation:themeIconPop .4s cubic-bezier(.4,0,.2,1)}@keyframes themeIconPop{0%{transform:scale(.3) rotate(-90deg);opacity:0}60%{transform:scale(1.2) rotate(10deg);opacity:1}to{transform:scale(1) rotate(0);opacity:1}}@media(max-width:600px){.navbar{padding:0 16px;height:56px}.nav-logo-text{font-size:16px}.nav-btn{padding:6px 12px;font-size:11px}.theme-toggle{width:32px;height:32px}.theme-toggle-icon{font-size:15px}}.landing-page{width:100%}.hero-section{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:20px;text-align:left;padding:60px 20px 40px;border-radius:var(--radius);margin-bottom:24px;max-width:1200px;margin-left:auto;margin-right:auto;position:relative;overflow:hidden;background:radial-gradient(ellipse 60% 50% at 75% 40%,rgba(139,92,246,.07) 0%,transparent 70%),radial-gradient(ellipse 50% 60% at 20% 60%,rgba(168,85,247,.05) 0%,transparent 70%)}body.dark .hero-section{background:radial-gradient(ellipse 60% 55% at 75% 35%,rgba(139,92,246,.18) 0%,transparent 65%),radial-gradient(ellipse 50% 60% at 15% 60%,rgba(192,132,252,.1) 0%,transparent 65%),radial-gradient(ellipse 40% 40% at 50% 80%,rgba(168,85,247,.06) 0%,transparent 60%)}.hero-section:before,.hero-section:after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}.hero-section:before{width:6px;height:6px;top:18%;right:12%;background:#8b5cf640;box-shadow:0 0 12px 4px #8b5cf626,-320px 80px 0 3px #c084fc33,-320px 80px 10px 3px #c084fc1a,-600px -20px 0 2px #a855f733,-600px -20px 8px 2px #a855f71a,40px 200px 0 2px #8b5cf626,40px 200px 8px 2px #8b5cf614,-180px 260px 0 4px #c084fc26,-180px 260px 12px 3px #c084fc14;animation:heroParticleFloat1 8s ease-in-out infinite alternate}.hero-section:after{width:5px;height:5px;bottom:25%;left:8%;background:#a855f733;box-shadow:0 0 10px 3px #a855f71f,200px -150px 0 3px #8b5cf62e,200px -150px 10px 3px #8b5cf614,500px -60px 0 2px #c084fc26,500px -60px 8px 2px #c084fc0f;animation:heroParticleFloat2 10s ease-in-out infinite alternate}body.dark .hero-section:before{background:#c084fc80;box-shadow:0 0 14px 5px #c084fc40,-320px 80px 0 3px #c084fc66,-320px 80px 12px 4px #c084fc26,-600px -20px 0 2px #a855f759,-600px -20px 10px 3px #a855f71f,40px 200px 0 2px #8b5cf64d,40px 200px 10px 3px #8b5cf61f,-180px 260px 0 4px #c084fc4d,-180px 260px 14px 4px #c084fc1f}body.dark .hero-section:after{background:#a855f773;box-shadow:0 0 12px 4px #a855f733,200px -150px 0 3px #8b5cf659,200px -150px 12px 4px #8b5cf61f,500px -60px 0 2px #c084fc4d,500px -60px 10px 3px #c084fc1a}@keyframes heroParticleFloat1{0%{transform:translateY(0) translate(0);opacity:.7}50%{opacity:1}to{transform:translateY(-18px) translate(12px);opacity:.6}}@keyframes heroParticleFloat2{0%{transform:translateY(0) translate(0);opacity:.6}50%{opacity:1}to{transform:translateY(14px) translate(-10px);opacity:.5}}.hero-tag{display:inline-flex;align-items:center;background:#8b5cf61a;color:var(--accent2);border:1px solid rgba(139,92,246,.2);font-size:12px;font-weight:700;padding:8px 18px;border-radius:24px;margin-bottom:24px;letter-spacing:.5px;animation:fadeUp .5s ease both;position:relative;z-index:1}.hero-title{font-size:clamp(36px,5vw,56px);line-height:1.15;font-weight:800;margin-bottom:20px;letter-spacing:-.5px;animation:fadeUp .6s ease both .1s;position:relative;z-index:1}.hero-desc{font-size:16px;color:var(--text2);max-width:520px;margin:0 0 32px;line-height:1.7;animation:fadeUp .6s ease both .2s;position:relative;z-index:1}.hero-btns{display:flex;gap:14px;justify-content:flex-start;flex-wrap:wrap;animation:fadeUp .6s ease both .3s;position:relative;z-index:1}.hero-image-wrapper{display:flex;justify-content:flex-end;align-items:center;animation:fadeUp .6s ease both .4s;position:relative;z-index:1}.hero-image{width:110%;max-width:110%;margin-right:-10%;height:auto;object-fit:contain;filter:drop-shadow(0 8px 32px rgba(139,92,246,.12))}body.dark .hero-image{filter:drop-shadow(0 12px 40px rgba(139,92,246,.25))}@media(max-width:900px){.hero-section{grid-template-columns:1fr;text-align:center;padding:20px 20px 40px}.hero-tag{margin:0 auto 20px}.hero-desc{margin:0 auto 32px}.hero-btns{justify-content:center}.hero-image-wrapper{justify-content:center;margin-top:32px}.hero-image{width:100%;max-width:100%;margin-right:0}}.hero-btn{padding:14px 28px!important;font-size:15px!important;width:auto!important;border-radius:var(--radius-sm)!important}.btn-outline{padding:14px 28px;border-radius:var(--radius-sm);background:transparent;color:var(--text);border:2px solid var(--border);font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s}.btn-outline:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft);transform:translateY(-2px)}.how-section{padding:32px 0;margin-bottom:48px}.section-heading{font-size:clamp(22px,3vw,32px);font-weight:800;text-align:center;margin-bottom:8px}.section-sub{text-align:center;color:var(--text2);font-size:14px;margin-bottom:32px}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step-card{padding:28px 20px;text-align:center;animation:fadeUp .5s ease both}.step-card:nth-child(2){animation-delay:.1s}.step-card:nth-child(3){animation-delay:.2s}.step-card:nth-child(4){animation-delay:.3s}.step-number{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.step-icon{font-size:32px;margin-bottom:10px}.step-title{font-size:14px;font-weight:700;margin-bottom:6px;color:var(--text)}.step-desc{font-size:12px;color:var(--text3);line-height:1.6}.pricing-section{padding:32px 0 48px}.plans-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:1100px;margin:0 auto}.plan-card{padding:24px 20px;cursor:pointer;transition:all .25s;position:relative}.plan-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 12px 40px #6c63ff1f}.plan-card.popular{border-color:var(--accent);background:linear-gradient(135deg,var(--accent-soft),rgba(167,139,250,.06))}.plan-popular-tag{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:11px;font-weight:700;padding:5px 14px;border-radius:20px;white-space:nowrap}.plan-name{font-size:18px;font-weight:800;margin-bottom:4px;color:var(--text)}.plan-price{font-size:28px;font-weight:800;margin-bottom:4px;color:var(--text)}.plan-price span{font-size:14px;font-weight:400;color:var(--text2)}.plan-desc{font-size:12px;color:var(--text3);margin-bottom:16px}.plan-features{list-style:none;display:flex;flex-direction:column;gap:8px}.plan-features li{font-size:13px;display:flex;gap:8px;color:var(--text2)}.plan-features li:before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0}@media(max-width:900px){.steps-grid{grid-template-columns:repeat(2,1fr)}.plans-grid{grid-template-columns:repeat(2,1fr);max-width:600px}}@media(max-width:600px){.hero-section{padding:48px 16px 36px;margin-bottom:24px}.hero-desc{font-size:14px}.hero-btn{padding:12px 22px!important;font-size:13px!important}.steps-grid{grid-template-columns:1fr 1fr;gap:10px}.step-card{padding:18px 12px}.step-icon{font-size:24px}.step-title{font-size:12px}.step-desc{font-size:10px}.plans-grid{grid-template-columns:1fr;max-width:380px;gap:14px}.plan-card{padding:20px}}.landing-footer{margin-top:64px;padding:48px 24px 32px;border-top:1px solid var(--border);text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px;animation:fadeUp .5s ease both}.footer-brand{display:flex;flex-direction:column;align-items:center;gap:6px}.footer-logo{font-size:24px;font-weight:800;background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer-tagline{font-size:13px;color:var(--text2);font-weight:500;letter-spacing:.3px}.footer-contact{display:flex;flex-direction:column;align-items:center;gap:12px}.footer-contact-title{font-size:14px;font-weight:700;color:var(--text)}.footer-contact-items{display:flex;gap:20px;flex-wrap:wrap;justify-content:center}.footer-link{font-size:13px;color:var(--accent);text-decoration:none;font-weight:600;padding:6px 14px;border-radius:8px;background:var(--accent-soft);transition:all .2s}.footer-link:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.footer-copy{font-size:11px;color:var(--text3);letter-spacing:.3px}@media(max-width:600px){.landing-footer{padding:32px 16px 24px;gap:20px}.footer-logo{font-size:20px}.footer-contact-items{flex-direction:column;gap:10px}}.register-page{width:100%;max-width:620px;margin:0 auto}.register-header{text-align:center;margin-bottom:24px;animation:fadeUp .5s ease both}.register-title{font-size:clamp(22px,3vw,28px);font-weight:800}.register-sub{font-size:14px;color:var(--text2);margin-top:6px}.register-form{padding:32px;display:flex;flex-direction:column;gap:18px;animation:scaleIn .5s cubic-bezier(.22,1,.36,1) .1s both}.reg-plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.reg-plan-card{padding:16px 12px;cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1);position:relative;border:2px solid var(--border-light);text-align:center}.reg-plan-card:hover{transform:translateY(-3px);border-color:var(--accent2);box-shadow:0 8px 28px #6c63ff1a}.reg-plan-card.selected{border-color:var(--accent);background:linear-gradient(135deg,#6c63ff0f,#a78bfa14);box-shadow:0 0 0 2px #6c63ff26,0 6px 24px #6c63ff1a}.reg-plan-card.popular{border-color:var(--accent);background:linear-gradient(135deg,#6c63ff0a,#a78bfa0f)}.reg-plan-popular-tag{position:absolute;top:-10px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;font-size:9px;font-weight:700;padding:3px 10px;border-radius:20px;white-space:nowrap}.reg-plan-name{font-size:13px;font-weight:800;margin-bottom:2px;color:var(--text)}.reg-plan-price{font-size:18px;font-weight:800;margin-bottom:8px;color:var(--text)}.reg-plan-price span{font-size:11px;font-weight:400;color:var(--text2)}.reg-plan-features{list-style:none;display:flex;flex-direction:column;gap:4px;text-align:left;padding:0;margin:0}.reg-plan-features li{font-size:11px;display:flex;gap:5px;color:var(--text2)}.reg-plan-features li:before{content:"✓";color:var(--green);font-weight:700;flex-shrink:0}.form-hint{font-size:11px;color:var(--text3);margin-top:4px}.register-form .logo-upload-area{display:flex;flex-direction:column;align-items:center;gap:.75rem}.register-form .logo-drop{width:90px;height:90px;border-radius:50%;border:2.5px dashed rgba(108,99,255,.3);background:linear-gradient(135deg,#6c63ff0a,#a78bfa0f);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:all .35s cubic-bezier(.22,1,.36,1);box-shadow:0 0 0 5px #6c63ff0d,var(--shadow-sm)}.register-form .logo-drop:hover{border-color:var(--accent);transform:scale(1.05)}.register-form .logo-preview-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.register-form .logo-drop .plus{font-size:32px;color:var(--accent2);font-weight:300}.register-form .logo-hint{font-size:12px;color:var(--text3);font-weight:500}@media(max-width:600px){.register-form{padding:20px;gap:14px}.reg-plans-grid{grid-template-columns:1fr;gap:14px}.reg-plan-card{padding:18px 16px}.reg-plan-name{font-size:14px}.reg-plan-price{font-size:22px}}.tag-input-container{display:flex;flex-direction:column;gap:6px}.tag-input-hint{font-size:11.5px;color:var(--text3, #888);margin:0}.tag-input-box{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px;border:1.5px solid var(--border-light, #e2e8f0);border-radius:var(--radius-sm, 10px);background:var(--surface, #ffffff);min-height:48px;transition:border-color .3s,box-shadow .3s}.tag-input-box:focus-within{border-color:#6c63ff66;box-shadow:0 0 0 3px #6c63ff14}.tag-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;animation:scaleIn .2s ease-out}.tag-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-remove{background:none;border:none;padding:0;margin:0;font-size:16px;line-height:1;cursor:pointer;opacity:.6;transition:opacity .2s,transform .2s;display:flex;align-items:center;justify-content:center}.tag-remove:hover{opacity:1;transform:scale(1.1)}.tag-color-0{background:#f3e8ff;color:#7e22ce}.tag-color-0 .tag-remove{color:#7e22ce}.tag-color-1{background:#e0e7ff;color:#4338ca}.tag-color-1 .tag-remove{color:#4338ca}.tag-color-2{background:#dcfce7;color:#15803d}.tag-color-2 .tag-remove{color:#15803d}.tag-color-3{background:#fce7f3;color:#be185d}.tag-color-3 .tag-remove{color:#be185d}.tag-color-4{background:#fef3c7;color:#b45309}.tag-color-4 .tag-remove{color:#b45309}.tag-input-field{flex:1;min-width:120px;border:none!important;background:transparent!important;padding:4px!important;margin:0!important;box-shadow:none!important;font-size:14px;color:var(--text, #1a1a2e);outline:none!important}.tag-input-field::placeholder{color:var(--text3, #888)}.dashboard{width:100%}.dash-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;flex-wrap:wrap;gap:12px;animation:fadeUp .5s ease both}.dash-welcome{font-size:clamp(20px,3vw,28px);font-weight:800}.dash-category{font-size:13px;color:var(--text2);margin-top:2px}.dash-plan-badge{padding:6px 16px;border-radius:24px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:700}.dash-header-actions{display:flex;align-items:center;gap:10px}.btn-new-biz{padding:8px 18px;border-radius:24px;border:1.5px solid var(--accent);background:transparent;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .25s}.btn-new-biz:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 16px #6c63ff4d}.dash-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;animation:fadeUp .5s ease both .1s}.dash-stat{padding:20px;text-align:center}.dash-stat-num{font-size:26px;font-weight:800;color:var(--text)}.dash-stat-label{font-size:12px;color:var(--text3);margin-top:4px}.qr-section{padding:28px;margin-bottom:20px;animation:fadeUp .5s ease both .2s}.qr-section--premium{border-top:3px solid transparent;border-image:linear-gradient(90deg,#6c63ff,#a78bfa,#6c63ff) 1;overflow:visible}.qr-premium-header{display:flex;align-items:center;gap:14px;margin-bottom:22px}.qr-premium-icon{width:48px;height:48px;border-radius:14px;background:linear-gradient(135deg,#6c63ff,#a78bfa);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;box-shadow:0 4px 16px #6c63ff4d}.qr-section-title{font-size:17px;font-weight:800;margin-bottom:3px;color:var(--text)}.qr-section-sub{font-size:13px;color:var(--text3);line-height:1.5}.qr-box{display:flex;align-items:flex-start;gap:24px}.qr-box--premium{gap:28px}.qr-code-wrap{background:var(--bg-warm);border-radius:var(--radius-sm);padding:16px;border:1px solid var(--border-light);flex-shrink:0}.qr-code-wrap--premium{position:relative;padding:20px;border-radius:16px;border:2px solid rgba(108,99,255,.2);background:linear-gradient(135deg,#6c63ff08,#a78bfa0d);box-shadow:0 0 20px #6c63ff14,0 8px 32px #6c63ff0f}.qr-glow-ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:20px;border:2px solid transparent;background:linear-gradient(135deg,#6c63ff4d,#a78bfa1a,#6c63ff4d) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:qrGlowPulse 3s ease-in-out infinite;pointer-events:none}@keyframes qrGlowPulse{0%,to{opacity:.5}50%{opacity:1}}.qr-scan-badge{text-align:center;margin-top:10px;font-size:11px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:4px 12px;border-radius:12px;display:inline-block;letter-spacing:.3px}.qr-code-wrap canvas,.qr-code-wrap img{border-radius:8px}.qr-info{flex:1;min-width:0}.qr-info-label{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text)}.qr-link{font-size:12px;color:var(--text3);word-break:break-all;background:var(--bg-warm);padding:10px 14px;border-radius:var(--radius-xs);margin-bottom:14px;border:1px solid var(--border-light)}.qr-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-actions--premium{margin-top:6px}.qr-btn{padding:9px 18px;border-radius:10px;border:1.5px solid var(--border-light);background:transparent;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;color:var(--text2);transition:all .25s cubic-bezier(.22,1,.36,1)}.qr-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.qr-btn.primary{background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;border-color:transparent;font-weight:700}.qr-btn.primary:hover{box-shadow:0 4px 16px #6c63ff59;transform:translateY(-2px)}.qr-btn--glow{box-shadow:0 2px 12px #6c63ff33}.qr-tip-banner{margin-top:20px;padding:12px 18px;border-radius:10px;background:linear-gradient(135deg,#6c63ff0f,#a78bfa14);border:1px solid rgba(108,99,255,.12);font-size:12px;color:var(--text2);line-height:1.6}.qr-tip-banner strong{color:var(--accent)}.reviews-section{padding:28px;animation:fadeUp .5s ease both .3s}.reviews-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.reviews-count{font-size:12px;color:var(--text3)}.reviews-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.reviews-empty{text-align:center;padding:40px 24px;color:var(--text3);font-size:14px;grid-column:1 / -1}.review-item{padding:16px;border-radius:var(--radius-sm)!important}.review-item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review-item-stars{color:var(--gold);font-size:14px}.review-item-time{font-size:11px;color:var(--text3)}.review-item-text{font-size:13px;color:var(--text2);line-height:1.6}.review-item-status{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;padding:3px 10px;border-radius:10px}.status-posted{background:#10b9811a;color:var(--green)}@media(max-width:768px){.dash-stats{grid-template-columns:repeat(2,1fr)}.qr-box{flex-direction:column;align-items:center;text-align:center}.qr-actions{justify-content:center}.reviews-list{grid-template-columns:1fr}}@media(max-width:480px){.qr-section,.reviews-section{padding:20px}.dash-stat{padding:14px}.dash-stat-num{font-size:20px}}.review-item-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.review-item-id{font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:2px 8px;border-radius:6px;letter-spacing:.3px;font-family:SF Mono,Fira Code,monospace}.review-item-name{font-size:12px;font-weight:600;color:var(--text)}.review-item-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px;gap:8px;flex-wrap:wrap}.review-reply-btn{background:var(--accent-soft);color:var(--accent);border:1px solid rgba(139,92,246,.2);font-size:11px;font-weight:700;padding:5px 14px;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.review-reply-btn:hover{background:var(--accent);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #8b5cf64d}.review-replied-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;color:var(--green);background:#10b9811a;padding:4px 10px;border-radius:8px}.review-view-reply-btn{background:transparent;border:1px solid var(--border-light);color:var(--text2);font-size:11px;font-weight:600;padding:4px 10px;border-radius:8px;cursor:pointer;font-family:inherit;transition:all .2s ease;display:inline-flex;align-items:center;gap:4px}.review-view-reply-btn:hover{border-color:var(--accent);color:var(--accent)}.reply-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.reply-modal{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:90vh;overflow-y:auto;animation:scaleIn .3s cubic-bezier(.22,1,.36,1)}.reply-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid var(--border-light)}.reply-modal-title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:8px;color:var(--text)}.reply-modal-close{background:transparent;border:none;font-size:20px;cursor:pointer;color:var(--text3);padding:4px 8px;border-radius:8px;transition:all .2s;font-family:inherit}.reply-modal-close:hover{background:var(--accent-soft);color:var(--accent)}.reply-review-info{padding:16px 24px;background:var(--accent-soft);margin:0}.reply-review-meta{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.reply-review-stars{color:var(--gold);font-size:16px;letter-spacing:1px}.reply-review-id-tag{font-size:10px;font-weight:700;color:var(--accent);background:#8b5cf61f;padding:2px 8px;border-radius:6px;font-family:SF Mono,Fira Code,monospace}.reply-review-text{font-size:13px;color:var(--text2);line-height:1.6;font-style:italic}.reply-modal-body{padding:20px 24px}.reply-label{font-size:12px;font-weight:700;color:var(--text2);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:block}.reply-textarea{width:100%;min-height:120px;background:var(--bg-warm, var(--surface));border:1.5px solid var(--border-light);border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;color:var(--text);font-family:inherit;line-height:1.6;resize:vertical;outline:none;transition:border-color .2s,box-shadow .2s}.reply-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b5cf61a}.reply-modal-actions{display:flex;flex-wrap:wrap;gap:8px;padding:16px 24px 20px;border-top:1px solid var(--border-light)}.reply-action-btn{padding:8px 16px;border-radius:var(--radius-xs);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .2s ease;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border-light);background:transparent;color:var(--text2)}.reply-action-btn:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.reply-action-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;box-shadow:0 4px 14px #8b5cf64d}.reply-action-btn.primary:hover{box-shadow:0 6px 20px #8b5cf673}.reply-action-btn.success{background:linear-gradient(135deg,var(--green),#059669);color:#fff;border:none;box-shadow:0 4px 14px #10b9814d}.reply-action-btn.success:hover{box-shadow:0 6px 20px #10b98173}.reply-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.reply-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 0;color:var(--text2);font-size:13px}.reply-loading-spinner{width:32px;height:32px;border:3px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:600px){.reply-modal{max-width:100%;border-radius:var(--radius-sm)}.reply-modal-header,.reply-review-info,.reply-modal-body,.reply-modal-actions{padding-left:16px;padding-right:16px}.reply-modal-actions{flex-direction:column}.reply-action-btn{width:100%;justify-content:center}}.biz-card{overflow:hidden;position:relative}.biz-card-cover{height:80px;background:linear-gradient(135deg,#6c63ff,#818cf8,#a78bfa 60%,#ec4899);background-size:200% 200%;animation:gradientShift 6s ease infinite;position:relative}.biz-card-cover-pattern{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}.biz-card-body{padding:0 1.25rem 1.25rem;display:flex;align-items:flex-end;justify-content:space-between;margin-top:-34px}.biz-logo-wrap{width:68px;height:68px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,var(--accent) 0%,var(--accent2) 100%);display:flex;align-items:center;justify-content:center;font-size:28px;border:3px solid var(--surface3);box-shadow:0 4px 16px #00000026;flex-shrink:0;position:relative;z-index:2;transition:transform .3s}.biz-logo-wrap:hover{transform:scale(1.05)}.biz-logo-img{width:100%;height:100%;object-fit:cover}.biz-logo-emoji{font-size:28px;color:#fff;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.12)}.biz-info{flex:1;padding-left:1rem;padding-bottom:2px;align-self:flex-end}.biz-name-disp{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.2px;line-height:1.2;margin-top:38px}.biz-tag{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-size:11px;color:var(--pink);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.biz-tag-dot{width:6px;height:6px;border-radius:50%;background:var(--pink);display:inline-block;animation:blink 2s ease-in-out infinite}.edit-btn{align-self:flex-start;margin-top:38px;background:#6c63ff0f;border:1px solid rgba(108,99,255,.15);border-radius:10px;padding:6px 14px;font-size:12px;color:var(--accent);cursor:pointer;font-family:inherit;font-weight:500;transition:all .25s;white-space:nowrap}.edit-btn:hover{background:#6c63ff1f;border-color:#6c63ff4d;transform:translateY(-1px)}.stars-row{display:flex;justify-content:center;gap:10px}.star-btn{background:none;border:none;font-size:42px;cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1),filter .2s;line-height:1;padding:4px;filter:grayscale(1) opacity(.22);color:#f59e0b;position:relative;-webkit-tap-highlight-color:transparent}.star-btn.active{filter:none;transform:scale(1.15)}.star-btn.pop{animation:starPop .4s cubic-bezier(.34,1.8,.64,1) both}.star-btn.shake-off{animation:starShake .3s ease both}.star-btn:hover{filter:none;transform:scale(1.25);filter:drop-shadow(0 4px 12px rgba(245,158,11,.35))}.star-btn:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.rev-card{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;overflow:hidden;animation:scaleIn .4s cubic-bezier(.22,1,.36,1) both}.mood-card{position:relative;overflow:hidden;transition:border-color .6s ease,box-shadow .6s ease}.mood-bg-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;transition:opacity .6s ease,background .6s ease;z-index:0;pointer-events:none}.mood-particles-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;z-index:1;pointer-events:none;transition:opacity .5s ease;overflow:hidden}.mood-card[data-mood="1"]{border-color:#ef444440;box-shadow:0 4px 30px #ef44441f,0 0 60px #ef44440f}.mood-card[data-mood="1"] .mood-bg-layer{opacity:1;background:radial-gradient(ellipse 70% 60% at 20% 80%,rgba(239,68,68,.12) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 80% 20%,rgba(251,146,60,.1) 0%,transparent 50%),linear-gradient(135deg,#ef44440a,#fb923c08);animation:moodPulse1 3s ease-in-out infinite}.mood-card[data-mood="1"] .mood-particles-layer{opacity:1;background:radial-gradient(2px 2px at 15% 30%,rgba(239,68,68,.4) 50%,transparent 50%),radial-gradient(2px 2px at 75% 60%,rgba(251,146,60,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 45% 80%,rgba(239,68,68,.35) 50%,transparent 50%);animation:floatParticles 6s ease-in-out infinite}.mood-card[data-mood="2"]{border-color:#fb923c40;box-shadow:0 4px 30px #fb923c1f,0 0 60px #f59e0b0f}.mood-card[data-mood="2"] .mood-bg-layer{opacity:1;background:radial-gradient(ellipse 60% 60% at 30% 70%,rgba(251,146,60,.1) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 70% 30%,rgba(245,158,11,.08) 0%,transparent 50%),linear-gradient(135deg,#fb923c0a,#f59e0b08);animation:moodPulse2 3.5s ease-in-out infinite}.mood-card[data-mood="2"] .mood-particles-layer{opacity:1;background:radial-gradient(2px 2px at 25% 40%,rgba(251,146,60,.35) 50%,transparent 50%),radial-gradient(2px 2px at 65% 70%,rgba(245,158,11,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 85% 25%,rgba(251,146,60,.25) 50%,transparent 50%);animation:floatParticles 7s ease-in-out infinite}.mood-card[data-mood="3"]{border-color:#f59e0b40;box-shadow:0 4px 30px #f59e0b1f,0 0 60px #eab3080f}.mood-card[data-mood="3"] .mood-bg-layer{opacity:1;background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(245,158,11,.08) 0%,transparent 55%),radial-gradient(ellipse 40% 40% at 20% 30%,rgba(234,179,8,.07) 0%,transparent 50%),radial-gradient(ellipse 40% 40% at 80% 70%,rgba(251,191,36,.06) 0%,transparent 50%),linear-gradient(135deg,#f59e0b08,#eab30805);animation:moodPulse3 4s ease-in-out infinite}.mood-card[data-mood="3"] .mood-particles-layer{opacity:1;background:radial-gradient(2px 2px at 35% 25%,rgba(245,158,11,.35) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 55% 65%,rgba(234,179,8,.3) 50%,transparent 50%),radial-gradient(1.5px 1.5px at 80% 45%,rgba(251,191,36,.3) 50%,transparent 50%),radial-gradient(2px 2px at 15% 75%,rgba(245,158,11,.25) 50%,transparent 50%);animation:floatParticles 5.5s ease-in-out infinite}.mood-card[data-mood="4"]{border-color:#10b9814d;box-shadow:0 4px 30px #10b98126,0 0 60px #10b98114}.mood-card[data-mood="4"] .mood-bg-layer{opacity:1;background:radial-gradient(ellipse 60% 60% at 15% 85%,rgba(16,185,129,.12) 0%,transparent 55%),radial-gradient(ellipse 55% 55% at 85% 15%,rgba(52,211,153,.1) 0%,transparent 50%),radial-gradient(ellipse 40% 40% at 50% 50%,rgba(110,231,183,.06) 0%,transparent 50%),linear-gradient(135deg,#10b9810a,#34d39908);animation:moodPulse4 3s ease-in-out infinite}.mood-card[data-mood="4"] .mood-particles-layer{opacity:1;background:radial-gradient(2.5px 2.5px at 20% 35%,rgba(16,185,129,.4) 50%,transparent 50%),radial-gradient(2px 2px at 70% 55%,rgba(52,211,153,.35) 50%,transparent 50%),radial-gradient(3px 3px at 45% 80%,rgba(110,231,183,.3) 50%,transparent 50%),radial-gradient(2px 2px at 85% 20%,rgba(16,185,129,.3) 50%,transparent 50%);animation:floatParticles 4.5s ease-in-out infinite}.mood-card[data-mood="5"]{border-color:#6c63ff59;box-shadow:0 4px 30px #6c63ff2e,0 0 60px #a78bfa1a,0 0 100px #f59e0b0f}.mood-card[data-mood="5"] .mood-bg-layer{opacity:1;background:radial-gradient(ellipse 60% 50% at 10% 90%,rgba(108,99,255,.14) 0%,transparent 55%),radial-gradient(ellipse 50% 50% at 90% 10%,rgba(245,158,11,.12) 0%,transparent 50%),radial-gradient(ellipse 60% 60% at 50% 50%,rgba(167,139,250,.08) 0%,transparent 55%),radial-gradient(ellipse 40% 40% at 30% 20%,rgba(236,72,153,.06) 0%,transparent 50%),linear-gradient(135deg,#6c63ff0d,#f59e0b0a,#ec489908);animation:moodPulse5 2.5s ease-in-out infinite}.mood-card[data-mood="5"] .mood-particles-layer{opacity:1;background:radial-gradient(3px 3px at 10% 20%,rgba(108,99,255,.5) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 30% 70%,rgba(245,158,11,.45) 50%,transparent 50%),radial-gradient(2px 2px at 60% 30%,rgba(236,72,153,.4) 50%,transparent 50%),radial-gradient(3px 3px at 80% 80%,rgba(167,139,250,.45) 50%,transparent 50%),radial-gradient(2px 2px at 50% 50%,rgba(251,191,36,.35) 50%,transparent 50%),radial-gradient(2.5px 2.5px at 90% 45%,rgba(108,99,255,.4) 50%,transparent 50%);animation:floatParticlesFast 3s ease-in-out infinite}.confetti-layer{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;z-index:1;pointer-events:none;overflow:hidden;animation:confettiFade 1.2s ease forwards}.confetti-layer:before,.confetti-layer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0}.confetti-layer:before{background:radial-gradient(4px 4px at 10% 15%,#6c63ff 50%,transparent 50%),radial-gradient(3px 3px at 20% 45%,#f59e0b 50%,transparent 50%),radial-gradient(4px 4px at 35% 10%,#ec4899 50%,transparent 50%),radial-gradient(3px 3px at 50% 70%,#10b981 50%,transparent 50%),radial-gradient(4px 4px at 65% 25%,#a78bfa 50%,transparent 50%),radial-gradient(3px 3px at 80% 55%,#f59e0b 50%,transparent 50%),radial-gradient(4px 4px at 90% 35%,#6c63ff 50%,transparent 50%),radial-gradient(3px 3px at 45% 85%,#ec4899 50%,transparent 50%),radial-gradient(4px 4px at 75% 90%,#10b981 50%,transparent 50%),radial-gradient(3px 3px at 15% 75%,#a78bfa 50%,transparent 50%);animation:confettiRise 1.2s ease-out forwards}.confetti-layer:after{background:radial-gradient(3px 3px at 5% 50%,#f59e0b 50%,transparent 50%),radial-gradient(4px 4px at 25% 80%,#6c63ff 50%,transparent 50%),radial-gradient(3px 3px at 40% 30%,#10b981 50%,transparent 50%),radial-gradient(4px 4px at 55% 55%,#ec4899 50%,transparent 50%),radial-gradient(3px 3px at 70% 15%,#a78bfa 50%,transparent 50%),radial-gradient(4px 4px at 85% 70%,#f59e0b 50%,transparent 50%),radial-gradient(3px 3px at 95% 90%,#6c63ff 50%,transparent 50%),radial-gradient(4px 4px at 30% 95%,#ec4899 50%,transparent 50%);animation:confettiRise2 1.2s ease-out forwards}.confetti-active{animation:cardCelebrate .6s cubic-bezier(.34,1.56,.64,1)}@keyframes moodPulse1{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes moodPulse2{0%,to{opacity:.8;transform:scale(1) rotate(0)}50%{opacity:1;transform:scale(1.01) rotate(.5deg)}}@keyframes moodPulse3{0%,to{opacity:.85}33%{opacity:1}66%{opacity:.9}}@keyframes moodPulse4{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes moodPulse5{0%{opacity:.9;transform:scale(1) rotate(0)}33%{opacity:1;transform:scale(1.02) rotate(.3deg)}66%{opacity:.95;transform:scale(1.01) rotate(-.3deg)}to{opacity:.9;transform:scale(1) rotate(0)}}@keyframes floatParticles{0%{transform:translateY(0) translate(0)}25%{transform:translateY(-8px) translate(4px)}50%{transform:translateY(-4px) translate(-3px)}75%{transform:translateY(-10px) translate(6px)}to{transform:translateY(0) translate(0)}}@keyframes floatParticlesFast{0%{transform:translateY(0) translate(0) scale(1)}20%{transform:translateY(-10px) translate(6px) scale(1.1)}40%{transform:translateY(-5px) translate(-4px) scale(.95)}60%{transform:translateY(-12px) translate(8px) scale(1.05)}80%{transform:translateY(-3px) translate(-6px) scale(1)}to{transform:translateY(0) translate(0) scale(1)}}@keyframes confettiRise{0%{transform:translateY(100%) scale(.5);opacity:1}60%{opacity:1}to{transform:translateY(-20%) scale(1.2);opacity:0}}@keyframes confettiRise2{0%{transform:translateY(80%) scale(.6) rotate(0);opacity:1}60%{opacity:.8}to{transform:translateY(-30%) scale(1.3) rotate(15deg);opacity:0}}@keyframes confettiFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes cardCelebrate{0%{transform:scale(1)}30%{transform:scale(1.025)}60%{transform:scale(.99)}to{transform:scale(1)}}.floating-emoji{position:absolute;z-index:1;pointer-events:none;line-height:1;animation:emojiFloat var(--float-duration, 2.5s) var(--float-delay, 0s) cubic-bezier(.22,1,.36,1) forwards;will-change:transform,opacity;filter:saturate(1.2)}@keyframes emojiFloat{0%{opacity:0;transform:translateY(0) translate(0) scale(.3) rotate(0)}10%{opacity:.85;transform:translateY(-10px) translate(calc(var(--drift-x, 0px) * .1)) scale(1.1) rotate(calc(var(--end-rotate, 0deg) * .1))}40%{opacity:.7;transform:translateY(-60px) translate(calc(var(--drift-x, 0px) * .5)) scale(1) rotate(calc(var(--end-rotate, 0deg) * .5))}70%{opacity:.4;transform:translateY(-120px) translate(calc(var(--drift-x, 0px) * .8)) scale(.85) rotate(calc(var(--end-rotate, 0deg) * .8))}to{opacity:0;transform:translateY(-180px) translate(var(--drift-x, 0px)) scale(.5) rotate(var(--end-rotate, 0deg))}}.mood-label{font-size:14px;font-weight:600;color:var(--accent);min-height:20px;text-align:center;transition:all .3s ease;opacity:0;transform:translateY(8px) scale(.9)}.mood-label--visible{opacity:1;transform:translateY(0) scale(1);animation:moodPop .4s cubic-bezier(.34,1.56,.64,1)}@keyframes moodPop{0%{transform:translateY(8px) scale(.7);opacity:0}60%{transform:translateY(-3px) scale(1.08)}to{transform:translateY(0) scale(1);opacity:1}}.q-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.q-step{font-size:11px;color:var(--accent);font-weight:600;letter-spacing:.5px;text-transform:uppercase}.q-skip{font-size:12px;color:var(--text3);cursor:pointer;transition:color .2s;font-weight:500}.q-skip:hover{color:var(--accent)}.progress-bar-wrap{background:#6c63ff14;border-radius:99px;height:7px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#6c63ff,#a78bfa,#ec4899);background-size:200% 100%;animation:gradientShift 3s ease infinite;transition:width .5s cubic-bezier(.22,1,.36,1)}.slides-overflow{overflow:hidden}.slides-track{display:flex;transition:transform .5s cubic-bezier(.22,1,.36,1)}.slide{min-width:100%;display:flex;flex-direction:column;gap:1rem}.slide-content{text-align:center}.q-label{font-size:16px;font-weight:700;text-align:center;color:var(--text);letter-spacing:-.2px}.q-sub{font-size:13px;color:var(--text2);text-align:center;margin-top:4px}.btn-generate{width:100%;padding:15px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,#6c63ff,#a78bfa);background-size:200% 200%;color:#fff;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .25s;box-shadow:0 4px 20px #6c63ff4d;animation:pulseGlow 2.5s ease-in-out infinite,fadeUp .4s ease both;position:relative;overflow:hidden}.btn-generate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 2.5s ease infinite;pointer-events:none}.btn-generate:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 32px #6c63ff66}.keywords-input-wrap{display:flex;flex-direction:column;gap:6px;animation:fadeUp .4s ease both}.keywords-label{font-size:12px;font-weight:600;color:var(--text2);letter-spacing:.3px}.keywords-input{width:100%;padding:10px 14px;border-radius:var(--radius-sm, 10px);border:1.5px solid rgba(108,99,255,.15);background:#6c63ff0a;color:var(--text);font-size:13px;font-family:inherit;outline:none;transition:border-color .25s,box-shadow .25s,background .25s;box-sizing:border-box}.keywords-input::placeholder{color:var(--text3, #999);font-size:12px}.keywords-input:focus{border-color:#6c63ff66;box-shadow:0 0 0 3px #6c63ff14;background:#6c63ff0f}.dish-selection{display:flex;flex-direction:column;align-items:center;gap:14px;padding:8px 0 4px;animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.dish-title{font-size:17px;font-weight:700;color:var(--text, #1a1a2e);text-align:center;margin:0}.dish-subtitle{font-size:12px;color:var(--text3, #888);text-align:center;margin:-6px 0 2px}.dish-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;max-width:100%}.dish-btn{padding:10px 20px;border-radius:50px;border:1.5px solid rgba(108,99,255,.2);background:linear-gradient(135deg,#6c63ff0d,#a78bfa14);color:var(--text, #1a1a2e);font-size:14px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s cubic-bezier(.22,1,.36,1);white-space:nowrap;position:relative;overflow:hidden}.dish-btn:hover{border-color:#6c63ff66;background:linear-gradient(135deg,#6c63ff1a,#a78bfa26);transform:translateY(-2px);box-shadow:0 4px 16px #6c63ff26}.dish-btn--selected{border-color:#6c63ff99;background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;box-shadow:0 4px 20px #6c63ff59;transform:scale(1.05)}.dish-btn--selected:hover{background:linear-gradient(135deg,#5b54e6,#9678e8);transform:scale(1.05) translateY(-1px);box-shadow:0 6px 24px #6c63ff66}.dish-check{font-weight:800}.dish-skip-btn{background:none;border:none;color:var(--text3, #888);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;padding:6px 12px;border-radius:8px;transition:all .2s;margin-top:2px}.dish-skip-btn:hover{color:var(--accent, #6c63ff);background:#6c63ff0f}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.result-card{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem;animation:scaleIn .4s cubic-bezier(.22,1,.36,1) both}.review-output-label{font-size:12px;color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.review-box{background:var(--bg-warm);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);padding:1.1rem 1.25rem;min-height:92px;position:relative;transition:border-color .4s,box-shadow .4s,background .4s}.review-box:hover{border-color:var(--border)}.review-box--active{border-color:#6c63ff40;box-shadow:0 0 20px #6c63ff14}.review-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px 0}.typing-indicator{display:flex;gap:6px;align-items:center}.typing-indicator span{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,#6c63ff,#a78bfa);animation:typingBounce 1.4s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-8px);opacity:1}}.loading-text{font-size:13px;color:var(--text3);font-style:italic;animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:.5}50%{opacity:1}}.review-gen-text{font-size:14px;color:var(--text);line-height:1.75}.typing-cursor{display:inline;font-weight:200;color:var(--accent);animation:cursorBlink .6s step-end infinite;margin-left:1px}@keyframes cursorBlink{0%,to{opacity:1}50%{opacity:0}}.result-card--loaded{animation:resultGlow .6s ease-out both}@keyframes resultGlow{0%{box-shadow:0 0 #6c63ff00}50%{box-shadow:0 0 30px #6c63ff1f}to{box-shadow:var(--shadow-sm)}}.regen-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.lang-selector-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.lang-selector-label{font-size:12px;color:var(--text3);font-weight:600}.lang-selector-btns{display:flex;gap:6px}.lang-btn{padding:6px 14px;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .25s;background:#ffffff0d;border:1.5px solid var(--border-light, rgba(255,255,255,.12));color:var(--text3, #888)}.lang-btn:hover{border-color:#8b5cf666;color:var(--text, #fff);background:#8b5cf614}.lang-btn--active{background:linear-gradient(135deg,#10b98126,#34d39938);border-color:#10b98180;color:#34d399}.regen-gender-btn{padding:8px 16px;border-radius:24px;font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .25s;letter-spacing:.2px;border:1.5px solid}.regen-gender-btn--male{background:linear-gradient(135deg,#3b82f61a,#60a5fa2e);border-color:#3b82f64d;color:#60a5fa}.regen-gender-btn--male:hover{background:linear-gradient(135deg,#3b82f633,#60a5fa4d);border-color:#3b82f680;transform:translateY(-2px);box-shadow:0 4px 14px #3b82f633}.regen-gender-btn--female{background:linear-gradient(135deg,#ec48991a,#f472b62e);border-color:#ec48994d;color:#f472b6}.regen-gender-btn--female:hover{background:linear-gradient(135deg,#ec489933,#f472b64d);border-color:#ec489980;transform:translateY(-2px);box-shadow:0 4px 14px #ec489933}.regen-gender-btn:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none}.regen-btn{background:linear-gradient(135deg,#8b5cf61a,#a78bfa2e);border:1.5px solid rgba(139,92,246,.3);border-radius:24px;padding:9px 22px;font-size:13px;color:var(--accent);cursor:pointer;font-family:inherit;font-weight:600;transition:all .25s;letter-spacing:.2px}.regen-btn:hover{background:linear-gradient(135deg,#8b5cf62e,#a78bfa47);border-color:#8b5cf680;transform:translateY(-2px);box-shadow:0 4px 16px #8b5cf633}.regen-btn:disabled{opacity:.3;cursor:not-allowed;transform:none;box-shadow:none}.action-row{display:flex;gap:10px}.btn-copy{flex:1;padding:13px;border-radius:var(--radius-sm);border:1.5px solid var(--border-light);background:var(--surface3);font-size:14px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;transition:all .25s}.btn-copy:hover{background:var(--bg-warm);border-color:var(--border);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-copy:disabled{opacity:.3;cursor:not-allowed;transform:none}.btn-gmb{flex:1;width:100%;padding:14px 16px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,#4285f4,#1a73e8);color:#fff;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .25s;box-shadow:0 4px 16px #4285f44d;position:relative;overflow:hidden}.btn-gmb:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.15) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 3s ease infinite;pointer-events:none}.btn-gmb:hover{transform:translateY(-2px);box-shadow:0 8px 28px #4285f473}.btn-gmb:disabled{background:var(--bg);color:var(--text3);border:1.5px solid var(--border-light);cursor:not-allowed;opacity:1;box-shadow:none;transform:none}.btn-gmb:disabled:before{display:none}.toast{text-align:center;font-size:13px;color:var(--green);font-weight:600;min-height:18px;transition:opacity .3s;background:var(--green-soft);border-radius:var(--radius-xs);padding:6px 12px}.instruction-card{background:linear-gradient(135deg,#6c63ff14,#a78bfa24);border:1px solid rgba(108,99,255,.22);border-radius:var(--radius-sm);padding:16px;animation:fadeUp .4s ease both .38s}.instruction-card-title{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:6px}.instruction-card-desc{font-size:13px;color:var(--text2);line-height:1.55}.btn-helper-text{font-size:12px;color:var(--text3);text-align:center;line-height:1.5;margin-top:-4px}.review-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;animation:fadeIn .5s ease both .3s}.auto-copied-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;background:linear-gradient(135deg,#10b98114,#10b98126);border:1px solid rgba(16,185,129,.25);color:var(--green);font-size:12px;font-weight:600}.review-source-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;background:linear-gradient(135deg,#6c63ff0f,#a78bfa1f);border:1px solid rgba(108,99,255,.2);color:var(--accent);font-size:11px;font-weight:600;letter-spacing:.2px}.post-steps{background:linear-gradient(135deg,#6c63ff0a,#a78bfa14);border:1px solid rgba(108,99,255,.12);border-radius:var(--radius-sm);padding:14px 16px;animation:fadeUp .4s ease both .4s}.post-steps-title{font-size:13px;font-weight:700;color:var(--accent);margin-bottom:10px}.post-step{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text2);line-height:1.5;padding:5px 0}.post-step strong{color:var(--text)}.step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;font-size:11px;font-weight:800;flex-shrink:0}.photo-upload-section{background:var(--bg-warm);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:16px;text-align:center;animation:fadeUp .4s ease both .35s}.photo-upload-label{font-size:13px;font-weight:600;color:var(--text2);margin-bottom:12px}.btn-upload-photo{display:inline-block;padding:8px 16px;background:#6c63ff1a;border:1px solid rgba(108,99,255,.2);border-radius:var(--radius-sm);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.btn-upload-photo:hover{background:#6c63ff26;border-color:#6c63ff4d}.photo-thumbnails{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;justify-content:center}.photo-thumb{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-xs);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);animation:scaleIn .3s ease both}.review-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}.edit-review-btn{background:none;border:none;color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;transition:background .25s,transform .15s}.edit-review-btn:hover{background:var(--accent-soft);transform:translateY(-.5px)}.review-edit-textarea{width:100%;min-height:85px;border:none;background:transparent;font-family:inherit;font-size:14px;color:var(--text);line-height:1.75;resize:vertical;outline:none;padding:0}.paste-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;animation:fadeIn .25s ease both}.paste-modal{background:var(--surface, #181824);border:1.5px solid rgba(139,92,246,.3);border-radius:20px;padding:28px 22px;max-width:380px;width:100%;text-align:center;position:relative;box-shadow:0 20px 50px #00000080,0 0 30px #8b5cf633;animation:scaleIn .3s cubic-bezier(.22,1,.36,1) both}.paste-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text3, #888);font-size:18px;cursor:pointer;padding:4px;line-height:1}.paste-modal-icon{font-size:42px;margin-bottom:10px;animation:bounce 1s infinite alternate}.paste-modal-title{font-size:20px;font-weight:800;color:var(--text, #fff);margin-bottom:6px}.paste-modal-subtitle{font-size:13px;color:var(--text2, #aaa);margin-bottom:16px}.paste-modal-gif-wrap{margin-bottom:20px;border-radius:12px;overflow:hidden;border:1.5px solid rgba(139,92,246,.2)}.paste-modal-gif{width:100%;display:block;border-radius:11px}.paste-modal-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:24px;text-align:left}.paste-modal-step{display:flex;align-items:center;gap:12px;background:#8b5cf614;border:1px solid rgba(139,92,246,.2);padding:12px 14px;border-radius:12px;font-size:13px;color:var(--text, #ddd)}.paste-step-num{width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#a855f7);color:#fff;font-weight:800;font-size:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.paste-modal-btn{width:100%;padding:14px;border:none;border-radius:14px;background:linear-gradient(135deg,#4285f4,#1a73e8);color:#fff;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 4px 20px #4285f466;transition:all .2s ease}.paste-modal-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #4285f499}.rev-screen{display:flex;flex-direction:column;gap:1rem}.powered{text-align:center;font-size:11px;color:var(--text3);margin-top:.75rem;font-weight:500}.admin-panel{max-width:1100px;margin:0 auto;padding:20px;animation:fadeInUp .4s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.admin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px;flex-wrap:wrap}.admin-header-left{display:flex;align-items:center;gap:14px}.admin-header-actions{display:flex;gap:8px}.admin-back-btn{width:40px;height:40px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);color:var(--text2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm)}.admin-back-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.admin-title{font-size:22px;font-weight:800;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0}.admin-subtitle{font-size:13px;color:var(--text2);margin:2px 0 0}.last-active{color:var(--text3)}.admin-refresh-btn{padding:8px 18px;border-radius:10px;border:1.5px solid var(--border);background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .3s;font-family:inherit}.admin-refresh-btn:hover{background:var(--accent);color:#fff;transform:scale(1.03);box-shadow:0 4px 16px #6c63ff40}.admin-refresh-btn.spinning{animation:spinOnce .6s ease}@keyframes spinOnce{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.admin-welcome-banner{padding:18px 24px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#6c63ff0f,#a78bfa14);border:1.5px solid var(--border);margin-bottom:20px;box-shadow:var(--shadow-sm);animation:fadeInUp .4s ease both .1s}.welcome-left{display:flex;flex-direction:column;gap:12px}.welcome-status{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--green);text-transform:uppercase;letter-spacing:.8px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2s ease infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.8;box-shadow:0 0 0 6px #10b98100}}.welcome-stat-row{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.welcome-stat{display:flex;flex-direction:column;gap:2px}.ws-val{font-size:22px;font-weight:800;color:var(--text)}.ws-lbl{font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.5px}.welcome-divider{width:1px;height:32px;background:var(--border)}.admin-tabs{display:flex;gap:4px;padding:4px;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border);margin-bottom:24px;box-shadow:var(--shadow-sm)}.admin-tab{flex:1;padding:10px 16px;border:none;border-radius:10px;background:transparent;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:all .25s;font-family:inherit}.admin-tab.active{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;box-shadow:0 2px 12px #6c63ff40}.admin-tab:hover:not(.active){color:var(--text);background:var(--accent-soft)}.date-range-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px;flex-wrap:wrap}.range-label{font-size:13px;color:var(--text2)}.range-label strong{color:var(--text)}.range-btns{display:flex;gap:4px;padding:3px;border-radius:10px;background:var(--surface2);border:1px solid var(--border-light)}.range-btn{padding:6px 14px;border:none;border-radius:8px;background:transparent;color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.range-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #6c63ff33}.range-btn:hover:not(.active){background:var(--accent-soft);color:var(--accent)}.admin-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:24px}.admin-stat-card{padding:18px;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border);display:flex;align-items:flex-start;gap:12px;transition:all .25s;animation:fadeInUp .4s ease both;box-shadow:var(--shadow-sm)}.admin-stat-card:nth-child(1){animation-delay:.05s}.admin-stat-card:nth-child(2){animation-delay:.1s}.admin-stat-card:nth-child(3){animation-delay:.15s}.admin-stat-card:nth-child(4){animation-delay:.2s}.admin-stat-card:nth-child(5){animation-delay:.25s}.admin-stat-card:nth-child(6){animation-delay:.3s}.admin-stat-card:hover{border-color:var(--stat-color, var(--accent));transform:translateY(-3px);box-shadow:var(--shadow-md)}.stat-icon-wrap{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon{font-size:22px;line-height:1}.stat-value{font-size:26px;font-weight:800;color:var(--text);line-height:1.1}.stat-label{font-size:11px;font-weight:600;color:var(--text2);margin-top:2px;text-transform:uppercase;letter-spacing:.5px}.stat-sub{font-size:11px;color:var(--text3);margin-top:4px;font-weight:500}.stat-sub.trend-up{color:var(--green);font-weight:600}.stat-sub.trend-down{color:var(--red);font-weight:600}.admin-section{margin-bottom:24px;padding:22px;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.section-title{font-size:15px;font-weight:700;color:var(--text);margin:0}.section-badge{padding:4px 12px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700}.chart-bars{display:flex;align-items:flex-end;gap:8px;height:150px;padding-bottom:28px;position:relative}.chart-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.chart-bar{width:100%;min-height:4px;max-width:52px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--accent2),var(--accent));position:relative;transition:height .6s cubic-bezier(.22,1,.36,1);box-shadow:0 2px 8px #6c63ff26}.bar-count{position:absolute;top:-22px;left:50%;transform:translate(-50%);font-size:12px;font-weight:700;color:var(--accent)}.chart-date{font-size:11px;color:var(--text3);margin-top:8px;font-weight:600}.source-grid{display:flex;flex-direction:column;gap:12px}.source-item{display:flex;align-items:center;gap:12px}.source-name{width:150px;font-size:13px;color:var(--text);font-weight:600;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.source-bar-wrap{flex:1;height:10px;border-radius:5px;background:var(--surface2);border:1px solid var(--border-light);overflow:hidden}.source-bar{height:100%;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .8s cubic-bezier(.22,1,.36,1);min-width:4px}.source-count{font-size:14px;font-weight:800;color:var(--text);min-width:30px;text-align:right}.source-pct{font-size:11px;font-weight:600;color:var(--text3);min-width:32px;text-align:right}.funnel-desc{font-size:13px;color:var(--text2);margin-bottom:20px;line-height:1.5}.funnel-container{display:flex;align-items:center;gap:8px;padding:10px 0}.funnel-arrow{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--text3);flex-shrink:0}.funnel-rate{font-size:10px;font-weight:700;color:var(--accent);background:var(--accent-soft);padding:1px 6px;border-radius:8px}.funnel-step{flex:1;min-width:0}.funnel-bar-wrap{height:32px;border-radius:8px;background:var(--surface2);border:1px solid var(--border-light);overflow:hidden;margin-bottom:6px}.funnel-bar{height:100%;border-radius:8px;transition:width .8s cubic-bezier(.22,1,.36,1);min-width:8px;opacity:.85}.funnel-info{display:flex;align-items:center;gap:5px}.funnel-icon{font-size:14px}.funnel-val{font-size:15px;font-weight:800;color:var(--text)}.funnel-lbl{font-size:11px;color:var(--text3);font-weight:500}.funnel-stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-top:20px}.funnel-stat-card{padding:16px;border-radius:var(--radius-sm);background:var(--surface);border:1.5px solid var(--border);box-shadow:var(--shadow-sm);text-align:center;transition:all .2s}.funnel-stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.funnel-stat-card.highlight{border-color:var(--accent);background:linear-gradient(135deg,#6c63ff0a,#a78bfa0f)}.fs-icon{font-size:18px;margin-bottom:6px}.fs-label{font-size:11px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}.fs-value{font-size:28px;font-weight:800;color:var(--text)}.biz-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.biz-search-wrap{flex:1;min-width:200px;max-width:360px;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}.biz-search{width:100%;padding:9px 32px 9px 36px;border:1.5px solid var(--border);border-radius:10px;background:var(--surface);font-size:13px;color:var(--text);font-family:inherit;outline:none;transition:all .2s}.biz-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff1a}.biz-search::placeholder{color:var(--text3)}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:none;background:none;color:var(--text3);cursor:pointer;font-size:14px;padding:4px;line-height:1}.search-clear:hover{color:var(--text)}.biz-toolbar-right{display:flex;align-items:center;gap:12px}.biz-count{font-size:12px;color:var(--text3);font-weight:500}.export-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);color:var(--text2);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.export-btn:hover:not(:disabled){border-color:var(--green);color:var(--green);background:var(--green-soft)}.export-btn:disabled{opacity:.4;cursor:not-allowed}.admin-table-wrap{overflow-x:auto;border-radius:var(--radius-sm);border:1.5px solid var(--border);box-shadow:var(--shadow-sm)}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th{padding:12px 14px;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text2);background:var(--surface2);border-bottom:1.5px solid var(--border);white-space:nowrap}.admin-table td{padding:12px 14px;border-bottom:1px solid var(--border-light);color:var(--text2)}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--accent-soft)}.biz-cell{display:flex;align-items:center;gap:8px}.biz-emoji{font-size:18px}.biz-name{font-weight:600;color:var(--text)}.biz-type-badge{padding:3px 10px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:600;white-space:nowrap}.plan-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;white-space:nowrap}.plan-free{background:#6b72801a;color:#6b7280}.plan-starter{background:var(--accent-soft);color:var(--accent)}.plan-premium{background:var(--gold-soft);color:#d97706}.num-cell{font-weight:700;color:var(--text);text-align:center}.date-cell{font-size:12px;color:var(--text2);white-space:nowrap}.status-badge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600;white-space:nowrap}.status-active{background:var(--green-soft);color:#059669}.status-recent{background:var(--gold-soft);color:#d97706}.status-inactive{background:#6b728014;color:var(--text3)}.activity-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.activity-list{display:flex;flex-direction:column;gap:0}.activity-item{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;transition:background .2s;animation:fadeInUp .3s ease both}.activity-item:hover{background:var(--accent-soft)}.activity-timeline{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0;width:16px}.timeline-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--border)}.timeline-line{width:2px;height:28px;background:var(--border);margin-top:-2px}.activity-icon{font-size:20px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:10px;flex-shrink:0;border:1px solid var(--border-light)}.activity-info{flex:1;min-width:0}.activity-label{font-size:13px;font-weight:600;color:var(--text)}.activity-detail{display:flex;gap:6px;margin-top:3px;flex-wrap:wrap}.act-biz,.act-source,.act-plan{font-size:11px;padding:2px 8px;border-radius:6px;font-weight:500}.act-biz{background:var(--accent-soft);color:var(--accent)}.act-source{background:var(--green-soft);color:#059669}.act-plan{background:var(--gold-soft);color:#d97706}.activity-time{font-size:12px;color:var(--text3);white-space:nowrap;flex-shrink:0;font-weight:500}.admin-empty{text-align:center;padding:60px 20px;color:var(--text2)}.empty-icon{font-size:48px;margin-bottom:12px;opacity:.5}.admin-empty p{font-size:15px;font-weight:500;color:var(--text2);margin:4px 0}.empty-hint{font-size:13px!important;color:var(--text3)!important}.empty-clear-btn{margin-top:12px;padding:6px 16px;border:1.5px solid var(--border);border-radius:8px;background:var(--surface);color:var(--accent);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s}.empty-clear-btn:hover{background:var(--accent-soft)}@media(max-width:640px){.admin-panel{padding:14px}.admin-stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.admin-stat-card{padding:14px;flex-direction:column;gap:8px}.stat-icon-wrap{width:36px;height:36px}.stat-value{font-size:22px}.admin-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.admin-tab{white-space:nowrap;font-size:12px;padding:8px 12px}.admin-header{flex-direction:column;align-items:flex-start}.welcome-stat-row{gap:14px}.ws-val{font-size:18px}.source-name{width:90px;font-size:11px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:8px 10px}.funnel-container{flex-direction:column;gap:6px}.funnel-arrow{transform:rotate(90deg)}.funnel-stats-grid{grid-template-columns:repeat(2,1fr)}.biz-toolbar{flex-direction:column;align-items:stretch}.biz-search-wrap{max-width:100%}.biz-toolbar-right{justify-content:space-between}.date-range-bar{flex-direction:column;align-items:flex-start}}.delete-user-btn{padding:6px 12px;border-radius:6px;border:1px solid #fee2e2;background:#fef2f2;color:#ef4444;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:all .2s;font-family:inherit}.delete-user-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;box-shadow:0 2px 8px #ef444433;transform:translateY(-1px)}.delete-user-btn:active{transform:translateY(0)}.admin-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem;animation:fadeIn .25s ease both}.admin-overlay--fullscreen{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}.admin-modal{width:100%;max-width:400px;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;animation:scaleIn .35s cubic-bezier(.22,1,.36,1) both}.admin-modal.shake{animation:headShake .5s ease}.admin-icon{width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#6c63ff14,#a78bfa1f);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:.25rem;transition:transform .3s}.admin-icon--create{background:linear-gradient(135deg,#10b9811a,#34d3991f);color:var(--green)}.admin-icon:hover{transform:scale(1.05)}.admin-title{font-size:22px;font-weight:800;color:var(--text);letter-spacing:-.3px}.admin-sub{font-size:13px;color:var(--text2);text-align:center;line-height:1.5;max-width:300px}.admin-form{width:100%;display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.admin-error{font-size:13px;color:var(--red);font-weight:600;text-align:center;animation:fadeIn .2s ease both;background:#ef44440f;padding:8px 12px;border-radius:var(--radius-xs);border:1px solid rgba(239,68,68,.15)}.admin-cancel-btn{width:100%;padding:12px;border-radius:var(--radius-sm);border:1.5px solid var(--border-light);background:transparent;font-size:14px;font-weight:600;color:var(--text2);cursor:pointer;font-family:inherit;transition:all .2s}.admin-cancel-btn:hover{background:#00000008;color:var(--text)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:80vh;padding:24px}.auth-container{width:100%;max-width:440px;padding:40px 32px;animation:fadeSlideUp .5s ease-out}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:28px}.auth-icon{font-size:48px;margin-bottom:12px;animation:iconBounce 1.2s ease-in-out infinite alternate}@keyframes iconBounce{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.auth-title{font-size:26px;font-weight:800;margin-bottom:6px}.auth-sub{color:var(--text2, #475569);font-size:14px}.auth-form .field{margin-bottom:18px}.auth-form .field label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--text, #1e1b4b);text-align:left}.auth-form .field input{width:100%;padding:12px 14px;border:1.5px solid var(--border, rgba(108, 99, 255, .12));border-radius:10px;background:var(--surface3, #ffffff);color:var(--text, #1e1b4b);font-size:15px;transition:border-color .25s,box-shadow .25s,background .25s}.auth-form .field input::placeholder{color:var(--text3, #9ca3af)}.auth-form .field input:focus{outline:none;border-color:var(--accent, #6c63ff);box-shadow:0 0 0 3px #6c63ff26}.password-field{position:relative}.password-field input{padding-right:44px}.password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:18px;cursor:pointer;padding:4px;opacity:.7;transition:opacity .2s;color:var(--text2, #475569)}.password-toggle:hover{opacity:1}.auth-btn{width:100%;padding:14px;font-size:16px;font-weight:700;margin-top:8px}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light, rgba(255,255,255,.06))}.auth-footer p{color:var(--text2, #475569);font-size:14px}.auth-link{background:none;border:none;color:var(--accent, #6c63ff);font-weight:600;cursor:pointer;font-size:14px;text-decoration:underline;transition:color .2s}.auth-link:hover{color:var(--accent-hover, #8b83ff)}body.dark .auth-title{color:var(--text)}body.dark .auth-sub{color:var(--text2)}body.dark .auth-form .field label{color:var(--text)}body.dark .auth-form .field input{background:#1e1b3acc;border-color:#8b7cff33;color:#f1f0ff}body.dark .auth-form .field input::placeholder{color:#7a7793}body.dark .auth-form .field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #8b7cff33;background:#231e46e6}body.dark .auth-footer p{color:var(--text2)}body.dark .auth-error,body.dark .field-error{color:#f87171}.legal-container{max-width:800px;margin:0 auto;padding:40px 20px;color:var(--text);font-family:Inter,sans-serif}.legal-header{text-align:center;margin-bottom:40px}.legal-header h1{font-size:32px;color:var(--primary);margin-bottom:10px}.legal-header p{color:var(--text2);font-size:16px}.legal-tabs{display:flex;gap:10px;margin-bottom:30px;justify-content:center;flex-wrap:wrap}.legal-tabs button{background:var(--surface);border:1px solid var(--border);padding:12px 24px;border-radius:var(--radius-md);color:var(--text);font-weight:600;cursor:pointer;transition:all .3s ease}.legal-tabs button:hover{border-color:var(--primary);background:#6c63ff0d}.legal-tabs button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 15px #6c63ff4d}.legal-content-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:40px;box-shadow:var(--shadow-md);animation:fadeUp .5s ease}.legal-tab-pane h2{font-size:24px;color:var(--text);margin-bottom:10px;border-bottom:2px solid rgba(108,99,255,.1);padding-bottom:10px}.legal-tab-pane h3{font-size:18px;color:var(--text);margin-top:30px;margin-bottom:15px}.legal-tab-pane p{color:var(--text2);line-height:1.7;margin-bottom:15px}@media(max-width:768px){.legal-content-box{padding:20px}.legal-tabs{flex-direction:column}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-start: #ffffff;--bg-end: #f8fafc;--bg: linear-gradient(135deg, var(--bg-start) 0%, var(--bg-end) 100%);--surface: rgba(255, 255, 255, .85);--surface2: rgba(255, 255, 255, .95);--surface3: #ffffff;--border: rgba(139, 92, 246, .15);--border-light: rgba(0, 0, 0, .05);--accent: #8b5cf6;--accent2: #a855f7;--accent3: #c084fc;--accent-soft: rgba(139, 92, 246, .08);--gold: #f59e0b;--gold-soft: #fef3c7;--text: #1e293b;--text2: #475569;--text3: #94a3b8;--green: #10b981;--green-soft: #d1fae5;--red: #ef4444;--pink: #ec4899;--pink-soft: #fce7f3;--radius: 24px;--radius-sm: 14px;--radius-xs: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .02), 0 1px 2px rgba(0, 0, 0, .01);--shadow-md: 0 8px 24px rgba(139, 92, 246, .06), 0 4px 12px rgba(0, 0, 0, .03);--shadow-lg: 0 16px 48px rgba(139, 92, 246, .08), 0 8px 24px rgba(0, 0, 0, .03);--shadow-glow: 0 0 32px rgba(139, 92, 246, .15);--transition: .3s cubic-bezier(.4, 0, .2, 1)}body.dark{--bg-start: #080812;--bg-end: #120A2E;--bg: linear-gradient(135deg, var(--bg-start) 0%, var(--bg-end) 100%);--surface: rgba(22, 18, 40, .75);--surface2: rgba(30, 24, 52, .85);--surface3: rgba(40, 32, 70, .95);--border: rgba(139, 92, 246, .2);--border-light: rgba(255, 255, 255, .05);--accent: #8b5cf6;--accent2: #a855f7;--accent3: #c084fc;--accent-soft: rgba(139, 92, 246, .15);--gold: #fbbf24;--gold-soft: rgba(251, 191, 36, .15);--text: #ffffff;--text2: #cbd5e1;--text3: #94a3b8;--green: #34d399;--green-soft: rgba(52, 211, 153, .12);--red: #f87171;--pink: #f472b6;--pink-soft: rgba(244, 114, 182, .12);--shadow-sm: 0 2px 4px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .4), 0 4px 12px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .3);--shadow-glow: 0 0 32px rgba(192, 132, 252, .25)}body.dark ::-webkit-scrollbar-thumb{background:#8b5cf640}body.dark .global-toast{background:#1e1b3a;color:#fff;box-shadow:0 8px 32px #0006}html{scroll-behavior:smooth}body{background:var(--bg);background-attachment:fixed;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text);margin:0;padding:0;position:relative;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background var(--transition),color var(--transition)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 50% at 20% 10%,rgba(139,92,246,.08) 0%,transparent 60%),radial-gradient(ellipse 50% 40% at 80% 80%,rgba(59,130,246,.05) 0%,transparent 60%),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.02'/%3E%3C/svg%3E");pointer-events:none;z-index:-1;transition:background var(--transition);animation:bgFloat 15s ease-in-out infinite alternate}body.dark:before{background:radial-gradient(ellipse 70% 60% at 20% -10%,rgba(139,92,246,.15) 0%,transparent 60%),radial-gradient(ellipse 60% 50% at 80% 110%,rgba(192,132,252,.1) 0%,transparent 60%),radial-gradient(ellipse 50% 50% at 50% 50%,rgba(168,85,247,.05) 0%,transparent 70%),linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px),url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.04'/%3E%3C/svg%3E");background-size:100% 100%,100% 100%,100% 100%,40px 40px,40px 40px,200px 200px}body:after{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;pointer-events:none;z-index:-2;background:radial-gradient(circle at 15% 50%,rgba(139,92,246,.04) 0%,transparent 40%),radial-gradient(circle at 85% 30%,rgba(59,130,246,.03) 0%,transparent 40%);animation:bgFloatRotate 25s linear infinite;transition:background var(--transition)}body.dark:after{background:radial-gradient(circle at 10% 40%,rgba(139,92,246,.08) 0%,transparent 40%),radial-gradient(circle at 90% 60%,rgba(192,132,252,.06) 0%,transparent 40%)}@keyframes bgFloatRotate{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes floatOrb{0%{transform:translate(0) scale(1)}to{transform:translate(-30px,40px) scale(1.15)}}#root{position:relative;z-index:1;width:100%;min-height:100vh}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow{0%,to{box-shadow:0 4px 20px #6c63ff40}50%{box-shadow:0 4px 32px #a78bfa73}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes starPop{0%{transform:scale(1)}40%{transform:scale(1.6)}70%{transform:scale(.9)}to{transform:scale(1.15)}}@keyframes starShake{0%{transform:scale(1.1)}30%{transform:scale(.85) rotate(-8deg)}60%{transform:scale(.95) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes blink{0%,80%,to{opacity:.15}40%{opacity:1}}@keyframes particleFly{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0) rotate(var(--rot))}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.screen{animation:fadeUp .5s cubic-bezier(.22,1,.36,1) both}.glass-card{background:var(--surface);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);transition:box-shadow var(--transition),transform var(--transition)}.glass-card:hover{box-shadow:0 12px 48px #6c63ff1f,0 4px 20px #0000000f}.gradient-text{background:linear-gradient(135deg,var(--accent) 0%,var(--accent3) 50%,var(--accent2) 100%);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 4s ease infinite}.btn-primary{width:100%;padding:14px;border-radius:var(--radius-sm);border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));background-size:200% 200%;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all var(--transition);font-family:inherit;box-shadow:0 4px 20px #8b5cf64d;letter-spacing:.3px;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 30%,rgba(255,255,255,.25) 50%,transparent 70%);background-size:200% 100%;animation:shimmer 3s ease infinite;pointer-events:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 32px #6c63ff66;background-position:100% 50%}.btn-primary:active{transform:scale(.98) translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.field label{font-size:12px;color:var(--text2);margin-bottom:6px;display:block;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.field input,.field select{width:100%;background:var(--bg-warm);border:1.5px solid var(--border-light);border-radius:var(--radius-sm);padding:12px 16px;font-size:14px;color:var(--text);font-family:inherit;outline:none;transition:border-color var(--transition),box-shadow var(--transition)}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6c63ff1a}body.dark .field select option{background-color:#120a2e;color:#fff}.field input::placeholder{color:var(--text3)}.field.error input{border-color:var(--red);box-shadow:0 0 0 3px #ef44441a;animation:headShake .4s ease}@keyframes headShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.star-particle{position:fixed;pointer-events:none;z-index:9999;animation:particleFly var(--dur, .7s) ease forwards}.loading-dots{display:inline-flex;gap:5px;align-items:center}.loading-dots span{width:7px;height:7px;border-radius:50%;background:var(--accent);animation:blink 1.2s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#6c63ff33;border-radius:4px}.global-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:var(--text);color:#fff;padding:10px 20px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;z-index:9999;transition:all .3s cubic-bezier(.22,1,.36,1);white-space:nowrap;box-shadow:0 8px 32px #0003;pointer-events:none}.powered{text-align:center;font-size:11px;color:var(--text3);padding:16px 0 8px;letter-spacing:.3px}.powered span{color:var(--accent);font-weight:700}.app-shell{width:100%;min-height:100vh;display:flex;flex-direction:column}.app-shell--narrow{align-items:center;justify-content:flex-start}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 32px}.app-main--narrow{max-width:430px;padding:16px}@media(max-width:768px){.app-main{padding:16px}}@media(max-width:480px){.app-main{padding:12px}}
