:root{--ink:#18221e;--muted:#77817c;--paper:#f8f5ef;--white:#fff;--pink:#efc4c8;--pink-soft:#fae9e9;--green:#315f4c;--mint:#dcecdf;--cream:#eee5d2;--lilac:#ded7e9;--line:#e7e5df;--shadow:0 18px 45px rgba(38,52,45,.11)}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:#e9e7e1}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.phone-app{min-height:100dvh;max-width:540px;margin:auto;position:relative;background:var(--paper);box-shadow:0 0 80px rgba(33,45,39,.12)}.app-header{height:calc(68px + env(safe-area-inset-top));position:sticky;top:0;z-index:10;display:flex;align-items:end;justify-content:space-between;padding:env(safe-area-inset-top) 18px 12px;background:rgba(248,245,239,.91);backdrop-filter:blur(15px)}.brand{display:grid;justify-items:center;color:var(--ink);font-size:22px;font-weight:800;text-decoration:none;letter-spacing:-1px;line-height:.95}.brand-name{display:flex;align-items:start}.brand b{color:#c66572}.app-version{margin-top:4px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:1.2px}.round-button{width:38px;height:38px;border:0;border-radius:50%;background:var(--white);box-shadow:0 3px 12px rgba(38,52,45,.08);font-size:10px;font-weight:800}.bell{font-size:18px;position:relative}.bell:after{content:"";position:absolute;top:8px;right:8px;width:6px;height:6px;border:2px solid white;border-radius:50%;background:#cf6b75}
main{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.launch-mode{min-height:100dvh;overflow-x:hidden;background:radial-gradient(circle at 15% 0,rgba(239,196,200,.38),transparent 32rem),linear-gradient(180deg,#fff 0%,#f8f5ef 76%,#eee5d2 100%)}.launch-mode .phone-app{display:none}.public-launch-page{min-height:100dvh;display:grid;place-items:center;padding:clamp(18px,5vw,48px);padding-bottom:clamp(18px,5vw,48px)}.public-launch-card{width:min(560px,100%);display:grid;gap:16px;padding:clamp(24px,6vw,44px);border:1px solid rgba(189,99,112,.18);border-radius:34px;background:rgba(255,255,255,.86);box-shadow:0 24px 70px rgba(38,52,45,.13);text-align:center}.public-launch-card .launch-brand{justify-self:center;color:var(--ink);font-size:34px;font-weight:900;letter-spacing:-1.4px;text-decoration:none}.public-launch-card .launch-brand b{color:#c66572}.public-launch-card .eyebrow{color:#9a6870}.public-launch-card h1{margin:0;font-size:clamp(34px,8vw,56px);line-height:1.02}.public-launch-card p{margin:0 auto;max-width:470px;color:#5f6863;font-size:clamp(15px,3.7vw,18px);line-height:1.55}.instagram-qr-link{justify-self:center;display:block;width:min(340px,88vw);margin-top:4px;border-radius:28px;overflow:hidden;background:white;box-shadow:0 18px 44px rgba(38,52,45,.14);transition:transform .22s ease,box-shadow .22s ease}.instagram-qr-link:hover,.instagram-qr-link:focus-visible{transform:translateY(-2px);box-shadow:0 24px 60px rgba(38,52,45,.18);outline:0}.instagram-qr-link img{display:block;width:100%;height:auto}.page{display:none;padding:16px 18px 30px;animation:enter .3s ease}.page.active{display:block}@keyframes enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}h1,h2,p{margin-top:0}h1{margin:6px 0 0;font-family:Georgia,serif;font-size:clamp(29px,8vw,40px);line-height:1.09;letter-spacing:-1px;font-weight:500}h2{font-size:18px;letter-spacing:-.4px}.eyebrow{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.greeting{display:flex;gap:16px;align-items:start;justify-content:space-between;margin:8px 0 22px}.greeting h1{max-width:400px}.weather{display:grid;place-items:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;background:var(--cream);font-family:Georgia,serif;font-size:16px}.weather small{font:7px Inter,sans-serif;color:var(--muted);text-transform:uppercase}
.seasonal-welcome{--season-image:url("season-summer.jpg");position:relative;overflow:hidden;display:grid;align-content:end;justify-items:stretch;gap:11px;min-height:min(590px,calc(100dvh - 178px));margin:4px 0 16px;padding:22px;border-radius:30px;background:#315f4c;text-align:left;box-shadow:0 24px 55px rgba(38,52,45,.18)}.seasonal-welcome:before{content:"";position:absolute;inset:0;background:var(--season-image) center/cover no-repeat;transform:scale(1.03)}.seasonal-welcome:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,34,30,.06) 0%,rgba(24,34,30,.18) 34%,rgba(24,34,30,.72) 100%)}.season-pill,.welcome-copy,.name-entry{position:relative;z-index:1}.season-pill{justify-self:start;align-self:start;position:absolute;left:18px;top:18px;display:inline-block;padding:7px 11px;border-radius:20px;color:white;background:rgba(24,34,30,.34);backdrop-filter:blur(12px);font-size:8px;font-weight:900;letter-spacing:.8px;text-transform:uppercase}.welcome-copy{padding:14px;border:1px solid rgba(255,255,255,.2);border-radius:22px;color:white;background:rgba(24,34,30,.34);backdrop-filter:blur(14px)}.welcome-copy .eyebrow{color:rgba(255,255,255,.75)}.welcome-copy h1{max-width:360px;margin:7px 0 0;font-size:clamp(29px,7.8vw,40px);text-shadow:0 3px 18px rgba(0,0,0,.2)}.welcome-copy p{max-width:340px;margin:8px 0 0;color:rgba(255,255,255,.82);font-size:10px;line-height:1.5}.name-entry{width:100%;display:grid;gap:7px;padding:13px;border-radius:19px;background:rgba(255,255,255,.92);box-shadow:0 16px 32px rgba(0,0,0,.16);text-align:left}.name-entry span{color:#58625d;font-size:8px;font-weight:900;letter-spacing:1px;text-transform:uppercase}.name-entry input{width:100%;padding:13px 2px 3px;border:0;border-bottom:1px solid rgba(189,99,112,.28);border-radius:0;background:transparent;font-size:19px;outline:0}.name-entry input:focus{border-color:#bd6370}.name-entry input:disabled{color:#20382f;-webkit-text-fill-color:#20382f}.name-entry small{color:#8f6670;font-size:8px;font-weight:800;line-height:1.45}.name-entry button{width:100%;padding:11px;border:0;border-radius:12px;color:white;background:var(--green);font-size:10px;font-weight:900}.home-hero{display:grid;gap:10px;margin-top:6px}.hero-copy{padding:0 2px}.hero-copy.compact h2{margin:4px 0 0;font-family:Georgia,serif;font-size:26px;font-weight:500}.hero-copy p{max-width:390px;margin:7px 0 0;color:var(--muted);font-size:10px;line-height:1.6}.home-code-card,.member-card{width:100%;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:22px;border:0;border-radius:25px;color:white;background:linear-gradient(140deg,#315f4c,#1e3e32);box-shadow:0 18px 35px rgba(49,95,76,.22);text-align:left}.home-code-card{min-height:205px}.home-code-card>strong{position:relative;margin-top:30px;text-align:center;font-size:12px;letter-spacing:4px}.member-card{height:198px}.card-glow{position:absolute;width:250px;height:250px;right:-100px;top:-120px;border-radius:50%;background:rgba(255,255,255,.08)}.member-top{display:flex;justify-content:space-between;position:relative}.member-top>span{font-size:16px;font-weight:800}.member-top b{color:#efb8bf}.member-top small{color:#bfd2c8;font-size:8px;text-transform:uppercase;letter-spacing:1px}.member-copy{display:grid;gap:3px;margin-top:25px;position:relative}.member-copy strong{font-family:Georgia,serif;font-size:23px;font-weight:500}.member-copy span{color:#c8dad1;font-size:9px}.mini-barcode,.barcode{background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 6px,transparent 6px 10px,#fff 10px 14px,transparent 14px 17px)}.mini-barcode{width:100%;height:30px;margin-top:17px;opacity:.9}.show-card{display:flex;justify-content:space-between;margin-top:auto;color:#d9e6e0;font-size:9px;font-weight:700}
.counter-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.counter-steps article{display:grid;align-content:start;gap:6px;min-height:118px;padding:12px;border:1px solid var(--line);border-radius:17px;background:white}.counter-steps span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;color:white;background:#bd6370;font-size:10px;font-weight:900}.counter-steps b{font-size:10px}.counter-steps small{color:var(--muted);font-size:7px;line-height:1.45}.after-purchase{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin:0 0 16px;padding:17px;border-radius:19px;background:var(--cream)}.after-purchase h2{margin:5px 0 4px;font-family:Georgia,serif;font-size:22px;font-weight:500}.after-purchase p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.after-purchase .soft-button{white-space:nowrap}
.profile-complete-card{display:grid;gap:8px;margin:0 0 16px;padding:18px;border-radius:19px;color:white;background:linear-gradient(135deg,#315f4c,#1d3e31);box-shadow:0 15px 30px rgba(49,95,76,.16)}.profile-complete-card .eyebrow,.profile-complete-card p{color:#c9dad2}.profile-complete-card h2{margin:4px 0 0;font-family:Georgia,serif;font-size:24px;font-weight:500}.profile-complete-card p{margin:0;font-size:9px;line-height:1.5}.profile-complete-card .soft-button{width:fit-content;color:var(--green);background:white}
.referral-nudge{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;margin:0 0 14px;padding:14px;border:1px solid rgba(189,99,112,.22);border-radius:18px;background:#fff7f8}.referral-nudge>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#9f5360;background:#efc4c8;font-size:0}.referral-nudge>span:before{content:"♡";font-size:18px}.referral-nudge div{display:grid;gap:3px}.referral-nudge b{font-size:10px}.referral-nudge small{color:var(--muted);font-size:8px;line-height:1.45}.referral-nudge button{padding:10px 12px;border:0;border-radius:11px;color:white;background:var(--green);font-size:8px;font-weight:900}
.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:19px 0}.quick-actions button{display:grid;justify-items:center;gap:4px;padding:12px 4px;border:1px solid var(--line);border-radius:17px;background:white}.quick-icon{display:grid;place-items:center;width:34px;height:34px;margin-bottom:3px;border-radius:12px;font-size:16px}.quick-icon.pink{background:var(--pink-soft)}.quick-icon.green{background:var(--mint)}.quick-icon.cream{background:#f5f0e7}.quick-actions b{font-size:10px}.quick-actions small{color:var(--muted);font-size:7px}
.loyalty-progress{width:100%;display:flex;align-items:center;gap:11px;margin:-6px 0 18px;padding:13px;border:1px solid var(--line);border-radius:17px;background:white;text-align:left}.loyalty-progress>span:nth-child(2){min-width:0;display:grid;gap:3px;flex:1}.loyalty-progress small,.loyalty-progress em{color:var(--muted);font-size:7px;font-style:normal}.loyalty-progress strong{font-size:11px}.loyalty-progress i,.loyalty-hero i{height:5px;overflow:hidden;display:block;border-radius:10px;background:#e8ece9}.loyalty-progress i b,.loyalty-hero i b{display:block;height:100%;border-radius:inherit;background:#bd6370}.loyalty-flower{display:grid;place-items:center;width:36px;height:36px;flex:0 0 auto;border-radius:50%;color:#a45662;background:var(--pink-soft);font-size:18px}.chevron{color:var(--muted);font-size:20px}
.occasion-hero{min-height:205px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.1fr .9fr;padding:21px;border-radius:24px;background:#efd7d7}.occasion-hero.compact{min-height:172px;padding:18px}.occasion-copy{position:relative;z-index:2}.pill{display:inline-block;width:fit-content;padding:5px 8px;border-radius:20px;color:#81505a;background:rgba(255,255,255,.58);font-size:8px;font-weight:800}.occasion-hero h2{margin:15px 0 5px;font-family:Georgia,serif;font-size:25px;font-weight:500}.occasion-hero.compact h2{max-width:330px;margin:2px 0 7px;font-size:23px;line-height:1.08}.occasion-hero p{color:#715f62;font-size:9px;line-height:1.5}.occasion-hero.compact p{max-width:310px;margin-bottom:12px}.dark-button{padding:12px 15px;border:0;border-radius:12px;color:white;background:var(--green);box-shadow:0 12px 24px rgba(49,95,76,.16);font-size:10px;font-weight:800}.dark-button span{margin-left:8px}.bouquet-art{position:relative}.flower{position:absolute;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle,#f0c147 0 13%,#fff2e3 14% 28%,#d68c98 30% 57%,transparent 59%);z-index:3}.f1{left:30px;top:20px}.f2{left:70px;top:52px;transform:scale(.85);filter:hue-rotate(20deg)}.f3{left:7px;top:65px;transform:scale(.75);filter:hue-rotate(-25deg)}.f4{left:42px;top:95px;transform:scale(.65)}.f5{left:88px;top:15px;transform:scale(.55)}.leaf{position:absolute;width:24px;height:55px;border-radius:100% 0 100% 0;background:#577a5e;z-index:1}.l1{left:20px;top:90px;transform:rotate(-45deg)}.l2{left:93px;top:80px;transform:rotate(30deg)}.l3{left:65px;top:112px;transform:rotate(10deg)}.wrap{position:absolute;left:37px;top:117px;width:70px;height:80px;background:#eed9bc;clip-path:polygon(0 0,100% 0,65% 100%,42% 100%);z-index:2}
.section-title{display:flex;align-items:end;justify-content:space-between;margin:27px 0 12px}.section-title h2{margin:5px 0 0}.section-title button{border:0;background:none;color:var(--green);font-size:9px;font-weight:800}.product-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;overflow:visible}.product-card,.shop-card{padding:0;border:0;background:none;text-align:left}.product-card>span:last-child{display:grid;gap:3px;margin-top:8px}.product-card b,.shop-card>b{font-size:10px}.product-card small,.shop-card small{color:var(--muted);font-size:8px}.product-image{height:145px;position:relative;overflow:hidden;display:block;border-radius:18px}.product-image i,.product-image b,.product-image em{position:absolute;font-size:50px;font-style:normal;text-shadow:0 3px 10px rgba(90,60,60,.1)}.product-image i{left:15%;top:20%}.product-image b{right:12%;top:34%}.product-image em{left:37%;bottom:5%;font-size:38px}.blush{background:#f3dcdc}.lemon{background:#f1e8bd}.lilac{background:#e2dced}.forest{background:#d5e5d9}
.bottom-nav{height:calc(70px + env(safe-area-inset-bottom));position:fixed;bottom:0;left:50%;z-index:20;width:min(540px,100%);transform:translateX(-50%);display:grid;grid-template-columns:repeat(5,1fr);padding:5px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;place-items:center;align-content:center;gap:2px;border:0;color:#8b958f;background:none}.bottom-nav span{position:relative;z-index:1;font-size:18px}.bottom-nav button:not(.scan-main)>span:before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:34px;height:34px;border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.62);background:radial-gradient(circle,rgba(239,196,200,.95) 0%,rgba(239,196,200,.62) 32%,rgba(239,196,200,.28) 57%,rgba(239,196,200,0) 78%);filter:blur(2px);pointer-events:none}.bottom-nav small{font-size:7px;font-weight:800}.bottom-nav button.active{color:var(--green)}.bottom-nav button.active:not(.scan-main)>span:before{animation:navIconGlow 3.8s ease-in-out infinite}.bottom-nav button.active:not(.scan-main)>span{text-shadow:0 0 10px rgba(239,196,200,.62)}.bottom-nav .scan-main span{display:grid;place-items:center;width:45px;height:45px;margin-top:-24px;border:5px solid white;border-radius:50%;color:white;background:var(--green);box-shadow:0 7px 18px rgba(49,95,76,.24)}@keyframes navIconGlow{0%,100%{opacity:.24;transform:translate(-50%,-50%) scale(.7);filter:blur(2px)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.18);filter:blur(4px)}}
.page-head{display:flex;align-items:start;gap:12px;margin:10px 0 23px;max-width:100%;overflow:hidden}.page-head>div{min-width:0;max-width:100%}.page-head h1{max-width:100%;font-size:clamp(27px,7.2vw,31px);line-height:1.08;overflow-wrap:normal;word-break:normal}.back,.add-small{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:white}.add-small{margin-left:auto;color:white;border:0;background:var(--green);font-size:21px}.barcode-card{max-width:100%;overflow:hidden;padding:25px;border-radius:25px;background:white;box-shadow:var(--shadow);text-align:center}.barcode-brand{display:flex;justify-content:space-between;align-items:center;gap:10px;min-width:0}.barcode-brand span,.barcode-brand small{min-width:0;overflow-wrap:anywhere}.barcode-brand span{font-size:18px;font-weight:800}.barcode-brand b{color:#c66572}.barcode-brand small{color:var(--muted);font-size:8px}.barcode{height:115px;margin:40px 4px 15px;background:repeating-linear-gradient(90deg,var(--ink) 0 3px,transparent 3px 7px,var(--ink) 7px 9px,transparent 9px 14px,var(--ink) 14px 20px,transparent 20px 23px)}.barcode-card>strong{display:block;max-width:100%;overflow-wrap:anywhere;font-size:10px;letter-spacing:4px}.barcode-card p{margin:13px 0 0;color:var(--muted);font-size:9px}.benefits{display:grid;gap:9px;margin:16px 0}.benefits article{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:15px;background:white}.benefits article>span{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:var(--pink-soft);font-weight:800}.benefits div{display:grid;gap:3px}.benefits b{font-size:10px}.benefits small{color:var(--muted);font-size:8px}.soft-button,.outline-button{padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font-size:10px;font-weight:800}.full{width:100%}
.active-discount{display:grid;gap:3px;margin-bottom:12px;padding:17px;border-radius:17px;color:white;background:linear-gradient(135deg,#bd6370,#dd8e96)}.active-discount span{color:#fae6e8;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.active-discount strong{font-family:Georgia,serif;font-size:27px;font-weight:500}.active-discount p{margin:2px 0 0;color:#fae6e8;font-size:8px}.text-link{padding:14px;border:0;color:var(--green);background:none;font-size:9px;font-weight:800}
.coupon-list{display:grid;gap:10px}.store-promotion-list{margin-top:10px}.coupon{position:relative;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:15px;padding:19px;border:1px solid var(--line);border-radius:19px;background:white}.coupon:after{content:"";position:absolute;right:-18px;top:50%;width:34px;height:34px;transform:translateY(-50%);border-radius:50%;background:var(--paper)}.coupon.has-image{min-height:170px;color:white;background:linear-gradient(145deg,rgba(24,34,30,.72),rgba(24,34,30,.34)),var(--promotion-image) center/cover no-repeat}.coupon.has-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,34,30,.65),rgba(24,34,30,.14))}.hero-coupon{min-height:210px;margin-bottom:14px;color:white;border:0;background:linear-gradient(140deg,#315f4c,#203f34)}.hero-coupon:after{display:none}.coupon>div{position:relative;z-index:1;display:grid;gap:5px}.coupon-label{color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.hero-coupon .coupon-label,.hero-coupon p,.coupon.has-image .coupon-label,.coupon.has-image p{color:#dce7e1}.coupon strong{font-family:Georgia,serif;color:#bd6370;font-size:35px;font-weight:500}.hero-coupon strong{color:#efc4c8;font-size:54px}.coupon.has-image strong{color:#efc4c8;text-shadow:0 3px 18px rgba(0,0,0,.24)}.coupon h2{margin:0;font-size:13px}.coupon p{margin:0;color:var(--muted);font-size:8px}.hero-coupon button{position:relative;z-index:2;padding:10px 13px;border:0;border-radius:11px;background:white;color:var(--green);font-size:8px;font-weight:800}.coupon-state{position:relative;z-index:2;flex:0 0 auto;padding:5px 8px;border-radius:20px;color:var(--green);background:var(--mint);font-size:7px;font-weight:800}.coupon.has-image .coupon-state{color:white;background:rgba(255,255,255,.2);backdrop-filter:blur(10px)}.coupon.used{opacity:.57}.coupon-metrics{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.coupon-metrics span{padding:4px 7px;border-radius:999px;color:var(--green);background:var(--mint);font-size:7px;font-weight:900}.hero-coupon .coupon-metrics span,.coupon.has-image .coupon-metrics span{color:white;background:rgba(255,255,255,.18);backdrop-filter:blur(10px)}.discount-history{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;padding:19px;border-radius:18px;background:var(--cream)}.discount-history div{display:grid;gap:2px;text-align:right}.discount-history strong{font-size:20px}.discount-history p{margin:0;color:var(--muted);font-size:8px}
.loyalty-hero{display:grid;justify-items:center;gap:6px;padding:26px;border-radius:23px;color:white;background:linear-gradient(145deg,#315f4c,#1d3e31);text-align:center}.loyalty-flower.large{width:60px;height:60px;margin-bottom:7px;color:#9f5360;background:#efc4c8;font-size:30px}.loyalty-hero .eyebrow,.loyalty-hero p,.loyalty-hero small{color:#c9dad2}.loyalty-hero strong{font-family:Georgia,serif;font-size:29px;font-weight:500}.loyalty-hero p{margin:0;font-size:9px}.loyalty-hero i{width:100%;margin-top:12px;background:rgba(255,255,255,.15)}.loyalty-hero i b{background:#efc4c8}.loyalty-hero small{font-size:7px}.loyalty-benefits{display:grid;gap:8px;margin:14px 0}.loyalty-benefits article{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:15px;background:white;opacity:.55}.loyalty-benefits article.unlocked{opacity:1}.loyalty-benefits article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#f1f0eb}.loyalty-benefits .unlocked>span{color:var(--green);background:var(--mint)}.loyalty-benefits div{display:grid;gap:3px}.loyalty-benefits b{font-size:10px}.loyalty-benefits small{color:var(--muted);font-size:8px}.tier-card{padding:18px;border-radius:17px;background:var(--cream)}.tier-card h2{margin:7px 0}.tier-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.search{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid var(--line);border-radius:13px;background:white}.search input{width:100%;border:0;outline:0;font-size:10px}.chips{display:flex;gap:6px;margin:13px 0 18px;overflow:auto}.chips button{padding:7px 11px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--muted);font-size:8px;font-weight:800;white-space:nowrap}.chips .active{color:white;border-color:var(--green);background:var(--green)}.store-finder{display:grid;gap:11px;margin:0 0 18px;padding:18px;border:1px solid rgba(189,99,112,.22);border-radius:22px;background:#fff7f8}.store-finder h2{margin:4px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:500}.store-finder p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.store-search-grid{display:grid;grid-template-columns:1fr 100px;gap:8px}.store-search-grid label{display:grid;gap:5px;color:var(--muted);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.8px}.store-search-grid input{width:100%;min-height:43px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:12px;font-weight:800;outline:0}.store-results{display:grid;gap:8px}.store-results>p{padding:12px;border-radius:14px;background:white}.store-result-card{display:grid;gap:10px;padding:13px;border:1px solid var(--line);border-radius:16px;background:white}.store-result-card.primary{border-color:rgba(189,99,112,.38);box-shadow:0 12px 30px rgba(189,99,112,.12)}.store-result-rank{color:#a45662;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.9px}.store-result-card h3{margin:3px 0 4px;font-size:13px}.store-result-card p{font-size:8px}.store-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.store-tags span{padding:4px 7px;border-radius:999px;color:var(--green);background:var(--mint);font-size:7px;font-weight:900}.store-result-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.store-result-actions button,.store-result-actions a{display:grid;place-items:center;min-height:38px;border:0;border-radius:12px;font-size:8px;font-weight:900;text-align:center;text-decoration:none}.store-result-actions button{color:white;background:var(--green)}.store-result-actions a{color:var(--green);border:1px solid var(--line);background:white}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px 10px}.shop-card{display:grid;gap:4px}.shop-card .product-image{height:180px;margin-bottom:3px}
.reminder{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;margin-bottom:10px;padding:15px;border:1px solid var(--line);border-radius:17px;background:white}.reminder.important{background:#fff0f1}.reminder-list{display:grid;gap:10px}.reminder-onboarding{display:grid;gap:7px;margin-bottom:2px;padding:18px;border:1px solid rgba(189,99,112,.18);border-radius:19px;background:#fffafb}.reminder-onboarding h2{margin:3px 0 0;font-family:Georgia,serif;font-size:24px;font-weight:500;line-height:1.08}.reminder-onboarding p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.date{display:grid;place-items:center;width:45px;height:50px;border-radius:13px;background:white}.date strong{font-family:Georgia,serif;font-size:19px}.date small{color:var(--muted);font-size:7px}.reminder h2{margin:6px 0 3px;font-size:12px}.reminder p{margin:0;color:var(--muted);font-size:8px}.reminder-actions{display:grid;gap:6px;justify-items:end}.reminder-actions button{border:0;background:none;color:var(--green);font-size:8px;font-weight:800}.reminder-actions button[data-reminder-edit]{padding:5px 8px;border-radius:999px;background:#fff0f1;color:#9f5360}.receipt-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:14px}.receipt-summary span{display:grid;gap:6px;padding:16px;border-radius:16px;background:var(--green);color:white}.receipt-summary small{color:#c9d9d1;font-size:8px}.receipt-summary strong{font-size:20px}.receipt-list{display:grid;gap:8px}.receipt-list button{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:15px;background:white;text-align:left}.receipt-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:11px;background:#f4f1e9}.receipt-list button>span:nth-child(2){display:grid;gap:3px;margin-right:auto}.receipt-list b{font-size:9px}.receipt-list small{color:var(--muted);font-size:7px}.receipt-list strong{font-size:10px}
.product-page{padding:0}.product-visual{height:44dvh;min-height:330px;position:relative;display:grid;place-items:center;border-radius:0 0 32px 32px}.floating{position:absolute;left:18px;top:18px}.heart{position:absolute;right:18px;top:18px;width:38px;height:38px;border:0;border-radius:50%;background:white;font-size:19px}.bouquet-large{position:relative;width:230px;height:230px}.bouquet-large>*{position:absolute;font-size:100px;font-style:normal;text-shadow:0 8px 15px rgba(80,50,50,.1)}.bouquet-large i{left:0;top:30px}.bouquet-large b{right:0;top:10px}.bouquet-large em{left:60px;bottom:0}.bouquet-large span{right:10px;bottom:20px;font-size:75px}.product-info{padding:24px 18px 30px}.product-info h1{margin:7px 0}.product-info p{color:var(--muted);font-size:10px;line-height:1.6}.sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.sizes button{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:12px;background:white;font-weight:800}.sizes small{color:var(--muted);font-size:7px}.sizes .active{color:white;border-color:var(--green);background:var(--green)}.sizes .active small{color:#c9d9d1}.smart-note{display:flex;gap:10px;margin-bottom:14px;padding:13px;border-radius:13px;background:var(--pink-soft)}.smart-note span{color:#a45e68}.smart-note p{margin:0}
.subscription-hero{display:grid;gap:10px;padding:25px;border-radius:22px;color:white;background:var(--green)}.subscription-hero span{color:#c9dad2;font-size:8px;text-transform:uppercase;letter-spacing:1px}.subscription-hero strong{font-family:Georgia,serif;font-size:25px;font-weight:500}.subscription-hero p{margin:0;color:#c9dad2;font-size:9px}.plan-list{display:grid;gap:8px;margin:15px 0}.plan-list button{display:flex;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left}.plan-list span{display:grid;gap:3px;margin-right:auto}.plan-list b{font-size:10px}.plan-list small{color:var(--muted);font-size:8px}.plan-list strong{font-size:11px}.plan-list .selected{border:2px solid var(--green);background:#eef5f0}
.running-subscriptions,.subscription-offers-panel{display:grid;gap:10px;margin-top:15px}.running-subscriptions{padding:16px;border:1px solid rgba(189,99,112,.22);border-radius:20px;background:#fff7f8}.user-subscription-list,.subscription-offer-list{display:grid;gap:10px}.subscription-offer-list>p{margin:0;padding:14px;border-radius:15px;background:white;color:var(--muted);font-size:9px}.subscription-offer-card,.user-subscription-card{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:18px;background:white}.subscription-offer-card>span,.subscription-card-head span{width:fit-content;padding:5px 8px;border-radius:999px;color:var(--green);background:var(--mint);font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.subscription-offer-card h3,.user-subscription-card h3{margin:0;font-family:Georgia,serif;font-size:23px;font-weight:500}.subscription-offer-card p,.user-subscription-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.5}.subscription-offer-card small,.user-subscription-card small{color:var(--muted);font-size:8px;line-height:1.4}.subscription-offer-card button{width:100%;margin-top:2px}.subscription-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.subscription-card-head strong{font-size:10px}.subscription-facts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.subscription-facts span{display:grid;gap:3px;padding:10px;border-radius:13px;background:#f8f5ef}.subscription-facts b{font-size:8px}.subscription-manage{display:grid;gap:7px;padding:10px;border-radius:14px;background:#f8f5ef}.subscription-manage button{min-height:38px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--green);font-size:8px;font-weight:900}.subscription-manage button[data-cancel-subscription]{color:#9f5360}.subscription-manage small{font-size:7px}.user-subscription-card.pause_requested,.user-subscription-card.cancel_requested{border-color:rgba(189,99,112,.32);background:#fffafa}
.subscription-offer-visual{display:grid;align-items:end;width:100%;min-height:180px;padding:14px;border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(248,245,239,.96)),#f4f1e9;background-position:center;background-size:cover;overflow:hidden}.subscription-offer-visual small{display:inline-flex;width:fit-content;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--green);font-size:7px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}.subscription-offer-visual.is-sample{align-items:start}.subscription-offer-visual.is-sample small{background:rgba(255,247,248,.92);color:#9f5360}.subscription-offer-card .subscription-ai-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.subscription-offer-card .subscription-ai-strip span{display:grid;gap:5px}.subscription-offer-card .subscription-ai-thumb{display:block;min-height:78px;border-radius:12px;background:#f4f1e9;background-position:center;background-size:cover}.subscription-offer-card .subscription-ai-strip small{text-align:center}.subscription-offer-card .subscription-option-row{display:flex;flex-wrap:wrap;gap:6px}.subscription-offer-card .subscription-option-row i,.user-subscription-card .subscription-option-row i{padding:6px 8px;border-radius:999px;background:#f8f5ef;color:var(--green);font-size:7px;font-style:normal;font-weight:800}.user-subscription-card .subscription-status-note{padding:10px;border-radius:13px;background:#fff7f8;color:var(--muted);font-size:8px;line-height:1.45}.user-subscription-card.paused{border-color:rgba(33,79,63,.24);background:#f7fbf8}
.profile-card{display:flex;align-items:center;gap:12px;padding:17px;border-radius:17px;background:var(--green);color:white}.profile-avatar{display:grid;place-items:center;width:45px;height:45px;border-radius:50%;background:#efc4c8;color:var(--ink);font-weight:800}.profile-card div{display:grid;gap:3px;margin-right:auto}.profile-card small{color:#cadbd3;font-size:8px}.profile-card button{border:0;color:#cfe0d8;background:none;font-size:8px;font-weight:800}.guest-card{box-shadow:0 15px 30px rgba(49,95,76,.16)}.guest-explain{margin:13px 0 0}.guest-explain .dark-button{margin-top:14px}.settings{display:grid;gap:8px;margin-top:14px}.settings button{display:flex;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:white;text-align:left}.settings button>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--pink-soft)}.settings div{display:grid;gap:3px;margin-right:auto}.settings b{font-size:10px}.settings small{color:var(--muted);font-size:8px}.settings i{color:var(--muted);font-size:20px;font-style:normal}
.referral-card{display:grid;gap:8px;margin:13px 0 0;padding:18px;border-radius:18px;background:#fff7f8;border:1px solid rgba(189,99,112,.22)}.referral-card h2{margin:4px 0 0;font-family:Georgia,serif;font-size:23px;font-weight:500}.referral-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.referral-card small{display:block;overflow:hidden;color:#8f6670;font-size:7px;line-height:1.4;text-overflow:ellipsis}.referral-card button:disabled,.referral-nudge button:disabled{opacity:.55}
dialog{width:min(480px,calc(100% - 20px));padding:0;border:0;border-radius:26px;color:var(--ink);box-shadow:0 25px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(24,34,30,.55);backdrop-filter:blur(4px)}.onboarding,.form-dialog{position:relative;padding:28px;text-align:center}.dialog-close{position:absolute;right:15px;top:15px;width:32px;height:32px;border:0;border-radius:50%;background:#f1f1ee;font-size:19px}.scan-visual{width:125px;height:125px;position:relative;display:grid;place-items:center;margin:5px auto 20px;border-radius:30px;background:var(--green);overflow:hidden}.scan-visual span{position:absolute;inset:20px;border:2px solid white;border-radius:14px}.scan-visual i{position:absolute;width:85px;height:2px;background:#efb9c0;box-shadow:0 0 10px #efb9c0;animation:scan 2s infinite}.scan-visual b{color:white;font-size:19px}@keyframes scan{0%,100%{transform:translateY(-30px)}50%{transform:translateY(30px)}}.onboarding h2,.form-dialog h2{margin:8px 0;font-family:Georgia,serif;font-size:28px;font-weight:500}.onboarding p{color:var(--muted);font-size:10px;line-height:1.5}.login{width:100%;margin-top:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font-size:10px;font-weight:800}.login b{margin-right:8px}.login.apple{color:var(--ink);border-color:var(--line);background:white}.login.mail{color:var(--muted)}.onboarding>small{display:block;margin-top:15px;color:var(--muted);font-size:7px}.form-dialog{text-align:left}.form-dialog label{display:grid;gap:5px;margin:12px 0;color:var(--muted);font-size:8px;font-weight:800}.form-dialog input,.form-dialog select{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:white}.toast{position:fixed;right:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:30;width:min(500px,calc(100% - 28px));transform:translate(50%,12px);padding:13px 17px;border:1px solid rgba(189,99,112,.22);border-radius:18px;color:var(--green);background:#fff7f8;box-shadow:0 18px 45px rgba(38,52,45,.18);opacity:0;transition:.25s;text-align:center;font-size:10px;font-weight:800;line-height:1.4;pointer-events:none}.toast.show{opacity:1;transform:translate(50%,0)}
@media(min-width:541px){body{padding:30px 0}.phone-app{min-height:calc(100dvh - 60px);border-radius:30px;overflow:hidden}.bottom-nav{bottom:30px;border-radius:0 0 30px 30px}.app-header{border-radius:30px 30px 0 0}}
@media(max-width:390px){.occasion-hero{grid-template-columns:1fr}.bouquet-art{position:absolute;right:3px;bottom:0;width:145px;height:180px;opacity:.65}.occasion-copy{max-width:70%}.reminder{grid-template-columns:45px 1fr}.reminder-actions{grid-column:2;justify-items:start}.shop-card .product-image{height:150px}}
.order-status-panel{display:grid;gap:10px;margin:20px 0 0;padding:18px;border:1px solid rgba(189,99,112,.22);border-radius:22px;background:#fff7f8}.order-status-panel h2{margin:4px 0 0;font-family:Georgia,serif;font-size:25px;font-weight:500}.customer-order-list{display:grid;gap:10px}.customer-order-card{display:grid;gap:9px;padding:14px;border:1px solid var(--line);border-radius:17px;background:white}.order-card-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.order-card-head span{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.8px}.order-card-head strong{padding:5px 8px;border-radius:999px;color:var(--green);background:var(--mint);font-size:7px}.customer-order-card h3{margin:0;font-size:13px}.customer-order-card p{margin:0;color:var(--muted);font-size:8px}.flower-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.flower-timeline span{display:grid;justify-items:center;gap:4px;padding:9px 4px;border-radius:14px;background:#f4f1e9;color:#9aa39d}.flower-timeline b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:white;font-size:14px}.flower-timeline small{font-size:7px;font-weight:900;text-align:center}.flower-timeline .done{color:#9f5360;background:#f7e1e4}.flower-timeline .done b{background:#efc4c8}.flower-timeline .full{color:var(--green);background:var(--mint)}.flower-timeline .full b{background:white;color:var(--green)}.payment-note{display:grid;gap:4px;padding:12px;border-radius:14px;background:#eef5f0;text-align:left}.payment-note b{font-size:10px}.payment-note small{color:var(--green);font-size:8px;line-height:1.45}.bouquet-order-dialog textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:white;resize:vertical}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}

.launch-mode .public-launch-page {
  min-height: 100svh;
  width: 100%;
  align-items: center;
  justify-items: center;
  padding: clamp(10px, 3vw, 28px);
}

.product-image.has-photo {
  background-position: center;
  background-size: cover;
}

.order-bouquet-preview {
  display: grid;
  gap: 7px;
  width: 100%;
  margin: 8px 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--green);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.order-bouquet-preview span {
  display: block;
  min-height: 185px;
  border-radius: 22px;
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 40px rgba(38,52,45,.14);
}

.order-bouquet-preview small {
  color: var(--green);
  font-size: 8px;
  font-weight: 900;
}

.visual-note {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  z-index: 4;
  display: block;
  padding: 6px 8px;
  border-radius: 999px;
  color: #214f3f !important;
  background: rgba(255,255,255,.86);
  box-shadow: 0 6px 18px rgba(38,52,45,.12);
  font-size: 7px !important;
  font-weight: 900;
  line-height: 1.2 !important;
  text-align: center;
}

.emotion-result {
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 12px;
}

.emotion-result .advisor-preview-image {
  width: 100%;
  min-height: 245px;
  height: min(58vw, 360px);
  border-radius: 28px;
}

.advisor-preview-image .visual-note,
.order-bouquet-preview small {
  display: none;
}

.advisor-preview-stage {
  display: block;
  width: 100%;
  margin: 4px 0 2px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.advisor-preview-stage.is-empty {
  cursor: default;
}

.advisor-preview-stage.is-empty .advisor-preview-image {
  min-height: 150px;
  height: 150px;
}

.emotion-result .advisor-preview-image i,
.emotion-result .advisor-preview-image b {
  font-size: 34px;
}

.emotion-result .advisor-preview-image em {
  font-size: 28px;
}

.advisor-preview-copy {
  display: grid;
  gap: 6px;
}

.advisor-preview-copy .dark-button {
  width: 100%;
  margin-top: 4px;
}

@media(max-width:390px) {
  .emotion-result {
    grid-template-columns: 1fr;
  }

  .emotion-result .advisor-preview-image {
    width: 100%;
    min-height: 220px;
    height: 220px;
  }
}

.launch-mode .public-launch-card {
  width: min(520px, 100%);
  min-height: min(760px, calc(100svh - 20px));
  align-content: center;
  justify-items: center;
  gap: clamp(8px, 1.55svh, 14px);
  padding: clamp(18px, 5vw, 34px);
}

.public-launch-card .launch-brand {
  margin-bottom: -3px;
  font-size: clamp(26px, 8vw, 34px);
}

.public-launch-card h1 {
  display: grid;
  justify-items: center;
  gap: 2px;
  max-width: 430px;
  font-size: clamp(34px, 9vw, 50px);
  text-align: center;
}

.launch-flower {
  display: block;
  font-size: .75em;
  line-height: 1;
}

.public-launch-card p {
  max-width: 440px;
  font-size: clamp(14px, 3.8vw, 17px);
}

.launch-inline-brand {
  color: var(--ink);
  font-weight: 900;
  letter-spacing: -.03em;
  white-space: nowrap;
}

.launch-inline-brand b {
  color: #c66572;
}

.instagram-qr-link {
  position: relative;
  width: min(285px, 72vw);
  padding: 10px;
  border: 1px solid rgba(212, 145, 0, .34);
  border-radius: 26px;
  transform-origin: center bottom;
  animation:qrPressHint 3.2s ease-in-out infinite;
}

.instagram-qr-link img {
  border-radius: 18px;
}

.instagram-qr-cta {
  display: grid;
  place-items: center;
  min-height: 38px;
  margin-top: 9px;
  border-radius: 16px;
  color: white;
  background: var(--green);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .1px;
}

.instagram-qr-link:active {
  transform: translateY(5px) scale(.985);
  box-shadow: 0 8px 16px rgba(38, 52, 45, .18);
}

@keyframes qrPressHint {
  0%, 74%, 100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 18px 44px rgba(38, 52, 45, .14);
  }
  82% {
    transform: translateY(6px) scale(.982);
    box-shadow: 0 7px 14px rgba(38, 52, 45, .2);
  }
  90% {
    transform: translateY(0) scale(1.01);
    box-shadow: 0 22px 52px rgba(38, 52, 45, .18);
  }
}

@media(max-width: 540px) {
  .launch-mode .public-launch-page {
    padding: 0;
  }

  .launch-mode .public-launch-card {
    min-height: 100svh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}

@media(prefers-reduced-motion: reduce) {
  .instagram-qr-link {
    animation: none;
  }
}

.instant-code-card{display:grid;gap:8px;margin:16px 0 10px;padding:15px;border-radius:17px;color:white;background:linear-gradient(145deg,#315f4c,#1d3e31);text-align:left}
.instant-code-card span{color:#c9dad2;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.instant-code-card .mini-barcode{height:34px;margin:3px 0;background:repeating-linear-gradient(90deg,#fff 0 2px,transparent 2px 5px,#fff 5px 7px,transparent 7px 11px,#fff 11px 15px,transparent 15px 18px)}
.instant-code-card strong{text-align:center;font-size:10px;letter-spacing:3px}
.or-line{display:flex;align-items:center;gap:9px;margin:15px 0 8px;color:var(--muted);font-size:7px;font-weight:800;text-transform:uppercase;letter-spacing:.8px}
.or-line:before,.or-line:after{content:"";height:1px;flex:1;background:var(--line)}
.mail-confirmation{display:grid;gap:9px;margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:#f8f5ef;text-align:left}.mail-confirmation label{display:grid;gap:6px;color:var(--muted);font-size:8px;font-weight:800}.mail-confirmation input{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;background:white}.mail-confirmation small{color:var(--muted);font-size:7px;line-height:1.5}
.mail-status{display:grid;gap:4px;padding:12px;border-radius:13px;background:#eef5f0;color:var(--green)}.mail-status b{font-size:10px}.mail-status small{color:#5f7b6f;font-size:7px;line-height:1.45}
.mail-status a{width:fit-content;margin-top:3px;color:var(--green);font-size:8px;font-weight:900;text-decoration:underline}
.profile-identity-panel{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:14px;border-radius:18px;background:#eef5f0;text-align:left}
.profile-identity-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;color:white;background:var(--green);font-weight:900;letter-spacing:1px}
.profile-identity-panel div{display:grid;gap:3px}
.profile-identity-panel b{font-size:13px}
.profile-identity-panel small{color:var(--muted);font-size:9px;line-height:1.35}
.profile-quick-form{display:grid;gap:9px;margin:14px 0;padding:14px;border:1px solid var(--line);border-radius:18px;background:#fffaf8;text-align:left}
.profile-quick-form label{display:grid;gap:5px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.profile-quick-form input{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;font-size:13px;text-transform:none;letter-spacing:0}
.profile-quick-form small,.no-email-note,.profile-restore-note{color:var(--muted);font-size:9px;line-height:1.5}
.no-email-note{margin:10px 0 0}
.profile-restore-note{margin:12px 0 0;padding:12px;border-radius:15px;background:#fff7f8}
.profile-fixed-qr{position:relative;display:grid;justify-items:center;gap:7px;margin:14px 0;padding:15px;border:1px solid rgba(49,95,76,.18);border-radius:18px;background:rgba(238,245,240,.78);overflow:hidden;box-shadow:0 18px 45px rgba(49,95,76,.12)}
.profile-fixed-qr:not(.pending)::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(24,34,30,.08),rgba(255,255,255,.28),rgba(49,95,76,.12));opacity:0;animation:softQrMist 1.8s ease both}
.profile-fixed-qr>*{position:relative;z-index:1}
.profile-fixed-qr>span{color:var(--green);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.profile-fixed-qr .mini-barcode.real-qr{width:150px;height:150px;margin:0}
.profile-fixed-qr strong{font-size:10px;letter-spacing:2px}
.profile-fixed-qr.pending{background:#f8f5ef}
.profile-device-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 0}
.profile-device-actions button,.profile-device-secondary{min-height:40px;padding:10px 12px;border-radius:13px;font-size:9px}
.profile-device-secondary{width:100%;margin-top:10px}
@media(max-width:380px){.profile-device-actions{grid-template-columns:1fr}}
.instant-code-card .mini-barcode.real-qr{width:148px;height:148px;margin:6px auto;background:white}
.profile-fixed-qr:not(.pending) {
  animation: softQrAppear 1.8s cubic-bezier(.18,.82,.22,1) both;
}

.profile-fixed-qr:not(.pending) .mini-barcode.real-qr {
  animation: softQrInnerAppear 1.7s .42s cubic-bezier(.18,.82,.22,1) both;
}

@keyframes softQrAppear {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.975);
    filter: blur(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes softQrMist {
  from {
    opacity: 0;
    transform: scale(1.08);
  }
  45% {
    opacity: 1;
  }
  to {
    opacity: .75;
    transform: scale(1);
  }
}

@keyframes softQrInnerAppear {
  from {
    opacity: 0;
    transform: scale(.94);
  }
  65% {
    opacity: 1;
    transform: scale(1.018);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.profile-data-list{display:grid;gap:8px;margin:12px 0}.profile-data-list span{display:grid;gap:3px;padding:11px;border:1px solid var(--line);border-radius:12px;background:white}.profile-data-list b{font-size:9px}.profile-data-list small{color:var(--muted);font-size:8px;line-height:1.35}

.rank-focus-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
  padding: 18px;
  border: 0;
  border-radius: 22px;
  color: white;
  background: linear-gradient(145deg, #315f4c, #1d3e31);
  box-shadow: 0 18px 38px rgba(49, 95, 76, .18);
  text-align: left;
  cursor: pointer;
}

.rank-focus-card .eyebrow,
.rank-focus-card small {
  position: relative;
  z-index: 1;
  color: #c9dad2;
}

.rank-glow {
  position: absolute;
  right: -48px;
  top: -64px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239, 196, 200, .42), rgba(239, 196, 200, 0) 67%);
}

.rank-focus-top {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.rank-info-button {
  position: relative;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 28px;
  min-height: 28px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 50%;
  color: white;
  background: rgba(255, 255, 255, .14);
  font-size: 13px;
  font-family: Georgia, serif;
  font-weight: 700;
  line-height: 1;
  backdrop-filter: blur(10px);
}

.rank-info-button:focus-visible,
.rank-focus-card:focus-visible {
  outline: 3px solid rgba(239, 196, 200, .8);
  outline-offset: 3px;
}

.rank-focus-head {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 12px;
}

.rank-focus-head strong {
  font-family: Georgia, serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1;
}

.rank-focus-head em {
  flex: 0 0 auto;
  padding: 7px 9px;
  border-radius: 999px;
  color: #7d4d58;
  background: #efc4c8;
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

.rank-focus-copy {
  position: relative;
  z-index: 1;
  max-width: 390px;
  color: #d8e5df;
  font-size: 9px;
  line-height: 1.55;
}

.rank-progress-track {
  position: relative;
  z-index: 1;
  height: 8px;
  overflow: hidden;
  display: block;
  border-radius: 999px;
  background: rgba(255, 255, 255, .16);
}

.rank-progress-track b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #efc4c8, #fff1f3);
  box-shadow: 0 0 18px rgba(239, 196, 200, .45);
}

.rank-info-dialog {
  position: relative;
  display: grid;
  gap: 12px;
  padding: 27px;
  text-align: left;
}

.rank-info-dialog h2 {
  margin: 4px 0 0;
  font-family: Georgia, serif;
  font-size: 31px;
  font-weight: 500;
  line-height: 1.05;
}

.rank-info-dialog p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}

.rank-info-current {
  padding: 13px;
  border-radius: 16px;
  color: var(--green);
  background: var(--mint);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.45;
}

.rank-info-list {
  display: grid;
  gap: 7px;
  max-height: 250px;
  overflow: auto;
  padding-right: 2px;
}

.rank-info-row {
  display: grid;
  gap: 3px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
}

.rank-info-row.active {
  border-color: rgba(189, 99, 112, .34);
  background: #fff7f8;
  box-shadow: 0 10px 24px rgba(189, 99, 112, .12);
}

.rank-info-row b {
  font-size: 10px;
}

.rank-info-row small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.4;
}

.mini-barcode.real-barcode,.barcode.real-barcode{display:block;background:none;overflow:hidden}
.mini-barcode.real-barcode{color:white}
.barcode.real-barcode{color:var(--ink)}
.mini-barcode.real-barcode svg,.barcode.real-barcode svg{width:100%;height:100%;display:block}

.login.apple{color:var(--ink);border-color:var(--line);background:white}
.scanner-dialog{position:relative;display:grid;gap:12px;padding:26px;text-align:left}
.scanner-dialog h2{margin:2px 0 0;font-family:Georgia,serif;font-size:27px;font-weight:500;line-height:1.05}
.scanner-dialog p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.qr-reader{min-height:230px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#f8f5ef}
.qr-reader video,.qr-reader img{width:100%!important;max-height:260px;object-fit:cover;border-radius:18px}
.scanner-placeholder{display:grid;place-items:center;width:120px;height:120px;border:2px dashed rgba(49,95,76,.32);border-radius:28px;color:var(--green);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.scanner-status{padding:10px 12px;border-radius:13px;background:#eef5f0;color:var(--green)!important;font-weight:800}
.scanner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.scanner-actions button,.upload-button{display:grid;place-items:center;min-height:43px;padding:12px;border-radius:13px;font-size:9px;font-weight:900;text-align:center}
.upload-button{border:1px solid var(--line);background:white;color:var(--ink)}
.manual-store{display:grid;gap:6px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
.manual-store input{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);font-size:13px;text-transform:uppercase}
#scannerResult{display:block;color:var(--muted);font-size:8px;line-height:1.45}

.seasonal-welcome.settled{align-content:end;min-height:min(520px,calc(100dvh - 188px))}
.seasonal-welcome.settled .welcome-copy{background:rgba(24,34,30,0);border-color:rgba(255,255,255,0);backdrop-filter:blur(0);animation:settledPanel 1s ease 1s forwards}
.seasonal-welcome.settled .welcome-copy>*{opacity:0;animation:settledText 1s ease 2s forwards}
.seasonal-welcome.settled .welcome-copy h1{font-size:clamp(33px,8.8vw,46px)}
.seasonal-welcome.settled .welcome-copy p{font-size:10px}
.referral-nudge em{color:#9f5360;font-size:7px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.8px}
.home-settled .referral-nudge{margin-top:2px}
@keyframes settledPanel{to{background:rgba(24,34,30,.34);border-color:rgba(255,255,255,.2);backdrop-filter:blur(14px)}}
@keyframes settledText{to{opacity:1}}
@media(prefers-reduced-motion:reduce){.seasonal-welcome.settled .welcome-copy,.seasonal-welcome.settled .welcome-copy>*{animation:none;opacity:1}.seasonal-welcome.settled .welcome-copy{background:rgba(24,34,30,.34);border-color:rgba(255,255,255,.2);backdrop-filter:blur(14px)}}
@media(prefers-reduced-motion:reduce){.bottom-nav button.active:not(.scan-main)>span:before{animation:none;opacity:.78;transform:translate(-50%,-50%) scale(1);filter:blur(3px)}}

.store-mode-toggle {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
}

.store-mode-toggle button {
  min-height: 39px;
  border: 0;
  border-radius: 11px;
  color: var(--muted);
  background: transparent;
  font-size: 8px;
  font-weight: 900;
}

.store-mode-toggle button.active {
  color: white;
  background: var(--green);
  box-shadow: 0 10px 20px rgba(49,95,76,.16);
}

.store-location-note {
  padding: 10px 11px;
  border-radius: 13px;
  color: #7b646a!important;
  background: rgba(239,196,200,.28);
  font-size: 8px!important;
  font-weight: 800;
}

.store-sticky-note {
  margin: -8px 0 14px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.location-preference-card,
.store-left-notice {
  display: grid;
  gap: 9px;
  margin: 13px 0 0;
  padding: 18px;
  border: 1px solid rgba(189,99,112,.22);
  border-radius: 18px;
  background: #fff7f8;
}

.location-preference-card h2,
.store-left-notice h2 {
  margin: 4px 0 0;
  font-family: Georgia,serif;
  font-size: 23px;
  font-weight: 500;
}

.location-preference-card p,
.store-left-notice p,
.location-preference-card small {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.location-options {
  display: grid;
  gap: 7px;
}

.location-options button {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: white;
  font-size: 9px;
  font-weight: 900;
}

.location-options button.active {
  color: white;
  border-color: var(--green);
  background: var(--green);
}

.store-left-notice {
  background: #f8f5ef;
}

.store-left-notice .soft-button {
  width: fit-content;
  min-width: 150px;
}

.privacy-card,.legal-footer{margin-top:14px}.privacy-card{display:grid;gap:10px;padding:18px;border:1px solid rgba(189,99,112,.18);border-radius:22px;background:#fff7f8}.privacy-card h2{margin:4px 0 0;font-family:Georgia,serif;font-size:24px;font-weight:500}.privacy-card p{margin:0;color:var(--muted);font-size:9px;line-height:1.55}.privacy-summary{display:grid;gap:7px}.privacy-summary span{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:14px;background:white}.privacy-summary b{font-size:9px}.privacy-summary small{color:var(--muted);font-size:8px;text-align:right}.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 10px;padding:16px 8px 4px}.legal-footer button,.legal-footer a{border:0;color:var(--muted);background:transparent;font-size:8px;font-weight:900;text-decoration:underline;text-underline-offset:3px}.consent-dialog,.legal-dialog{width:min(500px,calc(100vw - 30px));max-height:min(86dvh,760px);overflow:auto;padding:22px;border:0;border-radius:28px;background:rgba(255,255,255,.96);box-shadow:0 30px 80px rgba(24,34,30,.32)}.consent-dialog h2,.legal-dialog h2{margin:6px 0 8px;font-family:Georgia,serif;font-size:31px;font-weight:500;line-height:1.05}.consent-dialog p,.legal-dialog p{color:var(--muted);font-size:10px;line-height:1.6}.consent-required{display:grid;gap:4px;margin:14px 0;padding:14px;border-radius:18px;color:white;background:linear-gradient(135deg,#315f4c,#1d3e31)}.consent-required small{color:#d8e6df;font-size:9px;line-height:1.5}.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.consent-actions .soft-button{grid-column:1/-1}.consent-custom{display:grid;gap:11px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:20px;background:#f8f5ef}.consent-custom label{display:grid;gap:5px}.consent-custom label>b,.switch-row b{font-size:10px}.consent-custom label>small,.switch-row small,.consent-custom>small{color:var(--muted);font-size:8px;line-height:1.45}.consent-custom select{width:100%;padding:11px;border:1px solid var(--line);border-radius:12px;background:white;font-size:10px;font-weight:800}.switch-row{grid-template-columns:auto 1fr;align-items:start}.switch-row input{width:18px;height:18px;margin-top:2px;accent-color:var(--green)}.legal-dialog{position:relative}.legal-dialog .dialog-close{position:absolute;right:12px;top:12px}.legal-dialog ul{padding-left:18px;color:var(--muted);font-size:10px;line-height:1.6}
.page-note{margin:-14px 0 16px;color:var(--muted);font-size:10px;line-height:1.45}

#card .page-head h1 {
  max-width: 280px;
  font-size: clamp(25px, 7vw, 31px);
  line-height: 1.08;
  overflow-wrap: normal;
  word-break: normal;
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

.dark-button:disabled {
  opacity: .62;
  cursor: wait;
}

.phone-app {
  width: min(100%, 540px);
  max-width: 540px;
  overflow-x: hidden;
}

.consent-dialog,
.legal-dialog {
  max-width: calc(100dvw - 24px);
  overflow-x: hidden;
  overflow-y: auto;
}

.consent-actions {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.consent-actions button {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
}

@media (max-width: 360px) {
  .consent-actions {
    grid-template-columns: 1fr;
  }
}

#privacyConsentDialog,
#legalDialog {
  width: min(500px, calc(100dvw - 24px));
  max-width: calc(100dvw - 24px);
  overflow-x: hidden;
}

#privacyConsentDialog > .consent-dialog,
#legalDialog > .legal-dialog {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.consent-dialog *,
.legal-dialog * {
  min-width: 0;
  overflow-wrap: anywhere;
}

.mini-barcode.real-qr,
.barcode.real-qr {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #fff;
  border-radius: 18px;
  padding: 8px;
}

.home-code-card .mini-barcode.real-qr {
  width: 104px;
  height: 104px;
  margin: 14px auto 10px;
  opacity: 1;
}

.barcode-card .barcode.real-qr,
.barcode.real-qr {
  width: min(230px, 72vw);
  height: min(230px, 72vw);
  margin: 24px auto 15px;
}

.mini-barcode.real-qr img,
.barcode.real-qr img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.qr-scan-note {
  display: none;
}

.brand-tm {
  display: inline-block;
  margin-left: 2px;
  color: #c66572;
  font-size: .34em;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(-.55em);
}

.bloom-system-card {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 18px;
  border: 1px solid rgba(189,99,112,.18);
  border-radius: 20px;
  background: #fff7f8;
}

.bloom-system-card h2 {
  margin: 4px 0 0;
  font-family: Georgia, serif;
  font-size: 24px;
  font-weight: 500;
}

.bloom-system-card > small {
  color: #8f6670;
  font-size: 8px;
  line-height: 1.45;
}

.bloom-rules-list {
  display: grid;
  gap: 7px;
}

.bloom-rules-list article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
}

.bloom-rules-list strong {
  display: grid;
  place-items: center;
  min-height: 34px;
  border-radius: 12px;
  color: #9f5360;
  background: #f7e1e4;
  font-size: 10px;
  font-weight: 950;
}

.bloom-rules-list span {
  display: grid;
  gap: 3px;
}

.bloom-rules-list b {
  font-size: 10px;
}

.bloom-rules-list small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.35;
}

.bloom-rules-list.compact {
  margin-top: 12px;
}

.bloom-rules-list.compact article {
  grid-template-columns: 48px 1fr;
  padding: 8px;
}

.store-result-visual {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 8px;
  align-items: stretch;
}

.store-result-logo {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 15px;
  color: var(--green);
  background: #f7fbf8;
  font-size: 10px;
  font-weight: 900;
}

.store-result-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.store-result-photo {
  display: grid;
  place-items: center;
  min-height: 58px;
  overflow: hidden;
  border-radius: 16px;
  color: rgba(24,34,30,.55);
  background: linear-gradient(135deg,#f8f5ef,#efd7d7) center/cover no-repeat;
  font-size: 8px;
  font-weight: 900;
}

.store-result-media,
.active-store-media {
  display: grid;
  gap: 7px;
}

.store-image-set {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}

.store-image-tile {
  display: grid;
  place-items: center;
  min-height: 58px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: rgba(24,34,30,.55);
  background: linear-gradient(135deg,#f8f5ef,#efd7d7) center/cover no-repeat;
  font-size: 8px;
  font-weight: 900;
  text-align: center;
}

.store-image-set.large .store-image-tile {
  min-height: 72px;
}

.store-image-tile.logo-tile {
  background: #f7fbf8;
}

.store-image-tile.logo-tile img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
}

.active-store-preview {
  margin: 0 0 18px;
}

.active-store-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(120px, 150px) 1fr;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(189,99,112,.22);
  border-radius: 22px;
  background: white;
  box-shadow: 0 14px 30px rgba(38,52,45,.08);
}

.active-store-image {
  display: grid;
  place-items: center;
  height: 92px;
  overflow: hidden;
  border-radius: 18px;
  color: white;
  background: linear-gradient(145deg,#315f4c,#203f34) center/cover no-repeat;
  font-size: 10px;
  font-weight: 900;
}

.active-store-copy {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.active-store-copy h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.08;
}

.active-store-copy p {
  margin: 0;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.active-store-logo {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--green);
  background: #f7fbf8;
  font-size: 8px;
  font-weight: 900;
}

.active-store-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.active-store-inside {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 34px;
  height: 34px;
  border: 2px solid white;
  border-radius: 50%;
  background: #f8f5ef center/cover no-repeat;
  box-shadow: 0 6px 14px rgba(24,34,30,.16);
}

@media(max-width:390px) {
  .active-store-card {
    grid-template-columns: 1fr;
  }

  .active-store-logo {
    display: none;
  }
}

.dark-button,
button.dark-button,
.form-dialog .dark-button,
.consent-actions .dark-button {
  color: white !important;
  border-color: var(--green) !important;
  background: var(--green) !important;
}

.login.apple {
  color: var(--ink) !important;
  border-color: var(--line) !important;
  background: white !important;
}

.gift-rescue-card,
.emotion-advisor,
.bloom-rescue,
.memory-card {
  display: grid;
  gap: 10px;
  margin: 14px 0;
  padding: 18px;
  border: 1px solid rgba(189,99,112,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 34px rgba(38,52,45,.07);
}

.gift-rescue-card h2,
.emotion-advisor h2,
.bloom-rescue h2,
.memory-card h2 {
  margin: 2px 0 0;
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.08;
}

.gift-rescue-card p,
.emotion-advisor p,
.bloom-rescue p,
.memory-card p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}

.gift-rescue-card {
  overflow: hidden;
  position: relative;
  border-color: rgba(49,95,76,.18);
  background:
    radial-gradient(circle at 88% 8%, rgba(220,236,223,.95), transparent 34%),
    #fff;
}

.gift-rescue-card:after {
  content: "!";
  position: absolute;
  right: 18px;
  top: 13px;
  color: rgba(189,99,112,.18);
  font-family: Georgia, serif;
  font-size: 72px;
}

.gift-rescue-card > * {
  position: relative;
  z-index: 1;
}

.gift-rescue-card .dark-button {
  width: fit-content;
}

.emotion-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 8px;
}

.emotion-grid button {
  min-height: 42px;
  border: 1px solid rgba(49,95,76,.16);
  border-radius: 14px;
  color: var(--green);
  background: #eef5f0;
  font-size: 9px;
  font-weight: 900;
}

.emotion-result,
.rescue-empty {
  display: grid;
  gap: 4px;
  padding: 13px;
  border-radius: 16px;
  background: #f8f5ef;
}

.emotion-result b,
.rescue-empty b {
  font-size: 10px;
}

.emotion-result small,
.rescue-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.advisor-control-group {
  display: grid;
  gap: 8px;
  margin-top: 8px;
}

.advisor-control-group > b {
  color: var(--green);
  font-size: 9px;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.advisor-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.advisor-chip-grid button {
  min-height: 34px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--green);
  background: white;
  font-size: 8px;
  font-weight: 900;
}

.advisor-chip-grid button.active {
  border-color: rgba(189,99,112,.25);
  color: #9f5360;
  background: var(--pink-soft);
}

.advisor-size-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 8px;
}

.advisor-size-grid button {
  display: grid;
  gap: 3px;
  min-height: 74px;
  padding: 11px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: white;
  text-align: left;
}

.advisor-size-grid button.active {
  border-color: rgba(49,95,76,.4);
  background: #eef5f0;
  box-shadow: inset 0 0 0 1px rgba(49,95,76,.12);
}

.advisor-size-grid strong {
  color: var(--green);
  font-size: 14px;
}

.advisor-size-grid em {
  color: var(--muted);
  font-size: 7px;
  font-style: normal;
}

.advisor-order-summary {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding: 12px;
  border-radius: 14px;
  background: white;
}

.rescue-radius {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 8px;
  align-items: end;
}

.rescue-radius label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .8px;
  text-transform: uppercase;
}

.rescue-radius input {
  width: 100%;
  min-height: 42px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: white;
  font-weight: 900;
}

.rescue-list,
.memory-list {
  display: grid;
  gap: 8px;
}

.rescue-list > p {
  margin: 0;
  padding: 13px;
  border-radius: 15px;
  background: #f8f5ef;
  color: var(--muted);
  font-size: 9px;
}

.rescue-deal,
.memory-person {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: white;
}

.rescue-deal > span,
.memory-person > span {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 14px;
  color: #9f5360;
  background: #f7e1e4;
  font-weight: 950;
}

.rescue-deal div,
.memory-person div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.rescue-deal b,
.memory-person b {
  font-size: 10px;
}

.rescue-deal small,
.memory-person small,
.memory-person em {
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
  line-height: 1.35;
}

.rescue-deal strong {
  display: grid;
  justify-items: end;
  gap: 2px;
  color: var(--green);
  font-size: 11px;
}

.rescue-deal s {
  color: var(--muted);
  font-size: 8px;
  font-weight: 700;
}

.rescue-deal button,
.memory-person button {
  grid-column: 1 / -1;
  min-height: 36px;
  border: 0;
  border-radius: 12px;
  color: white;
  background: var(--green);
  font-size: 8px;
  font-weight: 900;
}

.shop-card.advisor-match {
  border-color: rgba(194, 96, 115, 0.5);
  box-shadow: 0 22px 48px rgba(194, 96, 115, 0.18);
  transform: translateY(-2px);
}

@media(min-width:430px) {
  .rescue-deal button,
  .memory-person button {
    grid-column: auto;
  }
}

.paypal-order-panel {
  gap: 9px;
}

.paypal-link-button {
  display: grid;
  place-items: center;
  min-height: 42px;
  padding: 11px 14px;
  border-radius: 14px;
  color: white;
  background: var(--green);
  font-size: 10px;
  font-weight: 950;
  text-align: center;
  text-decoration: none;
}

.paypal-link-button:active {
  transform: translateY(1px) scale(.99);
}

.paypal-order-panel img {
  justify-self: center;
  width: min(210px, 78vw);
  max-width: 100%;
  border: 10px solid white;
  border-radius: 20px;
  box-shadow: 0 12px 34px rgba(24,34,30,.12);
}

.public-launch-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
  margin-top: 4px;
}

.public-launch-footer button,
.public-launch-footer a {
  border: 0;
  color: var(--muted);
  background: transparent;
  font-size: 9px;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.store-community {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border-radius: 14px;
  background: #fff7f8;
}

.store-community b {
  color: #bd6370;
  font-size: 12px;
  letter-spacing: 1px;
}

.store-community small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.35;
}

.store-social-links,
.active-store-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.store-social-links a,
.active-store-actions button,
.store-result-actions button[data-store-review],
.store-result-actions button[data-store-report] {
  display: grid;
  place-items: center;
  min-height: 36px;
  padding: 9px 11px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--green);
  background: white;
  font-size: 8px;
  font-weight: 900;
  text-align: center;
  text-decoration: none;
}

.store-result-actions button[data-store-review] {
  color: white;
  border-color: var(--green);
  background: var(--green);
}

.store-result-actions button[data-store-report],
.active-store-actions button[data-store-report] {
  color: #9f5360;
  border-color: rgba(189,99,112,.24);
  background: #fff7f8;
}

.store-feedback-dialog .form-dialog {
  display: grid;
  gap: 12px;
}

.store-feedback-dialog textarea {
  width: 100%;
  min-height: 110px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: white;
  resize: vertical;
  font: inherit;
}

.rose-rating-picker {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 6px;
}

.rose-rating-picker button {
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: white;
  font-size: 17px;
}

.rose-rating-picker button.active {
  border-color: rgba(189,99,112,.45);
  background: #fff0f2;
  box-shadow: 0 10px 24px rgba(189,99,112,.13);
}

.feedback-photo {
  border-radius: 14px;
  color: var(--green);
  background: #eef5f0;
}

.order-review-button {
  width: 100%;
  min-height: 40px;
  border: 0;
  border-radius: 13px;
  color: white;
  background: var(--green);
  font-size: 9px;
  font-weight: 900;
}

.order-adjustment-card{display:grid;gap:8px;padding:12px;border:1px solid rgba(189,99,112,.28);border-radius:15px;background:#fff7f8}.order-adjustment-card b{font-size:10px}.order-adjustment-card p{font-size:8px;line-height:1.5}.order-adjustment-card small{display:block;padding:6px 8px;border-radius:10px;background:white;color:var(--green);font-size:8px;font-weight:800}.order-adjustment-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-adjustment-actions button{min-height:38px;padding:8px 10px;font-size:8px}
.customer-order-rejection-card{display:grid;gap:10px;padding:18px;border:1px solid rgba(189,99,112,.34);border-radius:18px;background:linear-gradient(145deg,#fff8f8,#f8e5e8);color:#713b45}.customer-order-rejection-card>small{font-size:8px;font-weight:900;letter-spacing:1px;color:#a45161}.customer-order-rejection-card h3{margin:0;font-family:Georgia,serif;font-size:17px;font-weight:500;line-height:1.2}.customer-order-rejection-reasons{display:grid;gap:6px}.customer-order-rejection-reasons p{margin:0;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.72);font-size:9px;line-height:1.45;color:#714650}.customer-order-rejection-help{margin:0;font-size:9px;line-height:1.45;color:#8a6068}.customer-order-rejection-card .soft-button{border-color:rgba(159,83,96,.38);color:#8f4654;background:white}

.shop-card small strong,
.subscription-offer-card p strong,
.subscription-offer-card small strong,
.advisor-preview-copy small strong,
.rescue-deal small strong {
  color: var(--ink);
  font-weight: 900;
}

.shop-card small + small {
  display: block;
  margin-top: 2px;
  line-height: 1.35;
}

.advisor-preview-copy small {
  display: block;
}

.rescue-deal div small + small {
  margin-top: 4px;
}

.rescue-deal strong {
  display: grid;
  gap: 2px;
  justify-items: end;
}

.reminder[data-reminder-target] {
  cursor: pointer;
  touch-action: manipulation;
  will-change: transform;
  transition: transform .34s cubic-bezier(.22, 1, .36, 1), box-shadow .34s ease, background-color .34s ease, border-color .34s ease;
}

.reminder[data-reminder-target]:active,
.reminder[data-reminder-target].is-pressing {
  transform: translateY(1.5px) scale(.997);
  border-color: rgba(194, 96, 115, .18);
  background: #fffdfd;
  box-shadow: inset 0 1px 6px rgba(49, 95, 76, .05), 0 6px 18px rgba(49, 95, 76, .06);
}

.reminder[data-reminder-target]:focus-visible {
  outline: 2px solid rgba(49, 95, 76, .4);
  outline-offset: 3px;
}

.reminder-actions button:first-child {
  pointer-events: none;
}

.reminder-actions button[data-reminder-edit] {
  pointer-events: auto;
}

#reminderDialog {
  max-height: calc(100dvh - 24px);
  overflow: hidden;
}

#reminderDialog .form-dialog {
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
}

.reminder-choice-field {
  display: grid;
  gap: 8px;
  min-width: 0;
  margin: 12px 0;
  padding: 0;
  border: 0;
}

.reminder-choice-field legend {
  padding: 0;
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
}

.reminder-choice-field > small {
  color: var(--muted);
  font-size: 8px;
  line-height: 1.45;
}

.reminder-choice-groups {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(248, 245, 239, .72);
}

.reminder-choice-title {
  color: var(--green);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .04em;
}

.reminder-choice-title:not(:first-child) {
  margin-top: 5px;
}

.reminder-choice-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.reminder-choice-chip {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(49, 95, 76, .18);
  border-radius: 999px;
  color: var(--green);
  background: white;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.15;
}

.reminder-choice-chip.active {
  color: white;
  border-color: var(--green);
  background: var(--green);
  box-shadow: 0 8px 18px rgba(49, 95, 76, .18);
}

.reminder-choice-chip:focus-visible {
  outline: 2px solid rgba(49, 95, 76, .38);
  outline-offset: 2px;
}

.reminder-flower-reference {
  position: fixed;
  z-index: 40;
  top: 50%;
  left: 50%;
  display: grid;
  width: min(76vw, 360px);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border: 5px solid rgba(255, 255, 255, .94);
  border-radius: 28px;
  background: #f5eee6;
  box-shadow: 0 28px 72px rgba(22, 39, 31, .34);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -47%) scale(.96);
  transition: opacity .18s ease, transform .18s ease;
}

.reminder-flower-reference[hidden] {
  display: none;
}

.reminder-flower-reference.is-visible {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.reminder-flower-reference img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reminder-flower-reference strong {
  position: absolute;
  right: 14px;
  bottom: 14px;
  left: 14px;
  padding: 10px 13px;
  border-radius: 999px;
  color: white;
  background: rgba(35, 70, 56, .88);
  font-size: .8rem;
  text-align: center;
  backdrop-filter: blur(8px);
}

.reminder-request-sent {
  display: block;
  padding: 11px 12px;
  border: 1px solid rgba(49, 95, 76, .16);
  border-radius: 14px;
  color: var(--green);
  background: rgba(220, 235, 226, .58);
  line-height: 1.45;
}

.reminder-preview-stage {
  display: grid;
  width: 100%;
  margin: 2px 0 4px;
}

.reminder-generate-button {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 28px;
  border: 1px dashed rgba(49, 95, 76, .38);
  border-radius: 24px;
  color: var(--green);
  background:
    radial-gradient(circle at 18% 18%, rgba(239, 185, 192, .28), transparent 34%),
    linear-gradient(145deg, #fffdfb, #f2f7f3);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .48), 0 18px 42px rgba(49, 95, 76, .1);
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.reminder-generate-button:hover,
.reminder-generate-button:focus-visible {
  border-color: rgba(49, 95, 76, .7);
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .58), 0 22px 48px rgba(49, 95, 76, .16);
}

.reminder-generate-button:active {
  transform: scale(.99);
}

.reminder-generate-button:disabled {
  cursor: wait;
}

.reminder-generate-button strong {
  font-family: Georgia, serif;
  font-size: clamp(1.45rem, 5vw, 2rem);
  font-weight: 500;
}

.reminder-generate-button small {
  max-width: 270px;
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}

.reminder-generate-symbol {
  width: 18px;
  height: 18px;
  margin: 18px;
  border-radius: 50%;
  background: var(--green);
  box-shadow:
    0 -18px 0 -2px #efc4ca,
    18px 0 0 -2px #f1df9e,
    0 18px 0 -2px #d9cce8,
    -18px 0 0 -2px #c9dfd2;
}

.reminder-preview-stage.is-generating .reminder-generate-symbol {
  animation: reminder-preview-pulse 1.2s ease-in-out infinite;
}

@keyframes reminder-preview-pulse {
  50% { transform: scale(1.12) rotate(18deg); }
}

.reminder-preview-stage.has-preview .reminder-generate-button {
  display: none;
}

.reminder-preview-panel {
  display: grid;
  gap: 8px;
  width: 100%;
  margin: 0;
}

.reminder-preview-panel[hidden] {
  display: none;
}

.reminder-preview-note {
  margin: 0 0 4px;
  padding: 12px 14px;
  border: 1px solid rgba(49, 95, 76, .14);
  border-radius: 16px;
  color: var(--green);
  background: #f7fbf8;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1.45;
  text-align: center;
}

.reminder-preview-image {
  display: block;
  width: 100%;
  min-height: 0;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(49, 95, 76, .14);
  border-radius: 24px;
  background-color: #f7eee8;
  background-position: center;
  background-size: cover;
  box-shadow: 0 18px 42px rgba(49, 95, 76, .12);
}

.reminder-preview-grid {
  display: grid;
  gap: 10px;
}

.reminder-preview-choice {
  display: grid;
  gap: 7px;
  width: 100%;
  padding: 0 0 8px;
  border: 1px solid rgba(49, 95, 76, .14);
  border-radius: 26px;
  background: #fff;
  overflow: hidden;
  text-align: left;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.reminder-preview-choice:active {
  transform: scale(.985);
}

.reminder-preview-choice .reminder-preview-image {
  min-height: 0;
  border: 0;
  border-radius: 24px 24px 18px 18px;
}

.reminder-preview-choice.active {
  border-color: rgba(49, 95, 76, .55);
  box-shadow: 0 18px 40px rgba(49, 95, 76, .16);
}

.reminder-preview-choice small {
  padding: 0 8px 4px;
  color: var(--green);
  font-size: .8rem;
  font-weight: 900;
}

.reminder-delete-button {
  justify-self: center;
  width: auto;
  min-width: 0;
  margin-top: 8px;
  padding: 8px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(28, 42, 35, .58);
  font-size: .78rem;
  font-weight: 800;
  box-shadow: none;
}

.reminder.next-reminder-due {
  animation: nextReminderCardPulse 1.8s ease-in-out infinite;
  border-color: rgba(198, 101, 114, .32);
  box-shadow: 0 14px 38px rgba(198, 101, 114, .16);
}

@keyframes nextReminderCardPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 12px 28px rgba(198, 101, 114, .12);
  }
  50% {
    transform: scale(1.012);
    box-shadow: 0 18px 46px rgba(198, 101, 114, .24);
  }
}

.bell.reminder-due {
  animation: reminderBellPulse 1.15s ease-in-out infinite;
  box-shadow: 0 0 0 0 rgba(198, 101, 114, .46), 0 8px 24px rgba(198, 101, 114, .24);
}

.bell.reminder-due:before {
  content: "";
  position: absolute;
  inset: -8px;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(239, 196, 200, .72) 0%, rgba(239, 196, 200, .36) 42%, rgba(239, 196, 200, 0) 72%);
  animation: reminderBellGlow 1.15s ease-in-out infinite;
}

@keyframes reminderBellPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(198, 101, 114, .44), 0 8px 24px rgba(198, 101, 114, .22);
  }
  50% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(198, 101, 114, .12), 0 12px 34px rgba(198, 101, 114, .36);
  }
}

@keyframes reminderBellGlow {
  0%, 100% {
    opacity: .42;
    transform: scale(.88);
  }
  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

.device-link-dialog .form-dialog {
  display: grid;
  gap: 12px;
}

.device-link-code {
  padding: 14px;
  border-radius: 18px;
  color: var(--green);
  background: var(--mint);
  text-align: center;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: .18em;
}

.device-link-qr {
  display: grid;
  place-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: white;
}

.device-link-qr img {
  width: min(220px, 70vw);
  height: auto;
  border-radius: 14px;
}

.device-link-note,
.device-link-status {
  display: block;
  color: var(--muted);
  text-align: center;
  font-size: 9px;
  line-height: 1.45;
}
/* Blumen-Notfall: eigenstaendiges, schaltbares 60-Minuten-Modul */
.flower-emergency-entry{position:relative;display:grid;gap:9px;margin:18px 0;padding:22px;overflow:hidden;border:1px solid rgba(171,63,74,.2);border-radius:26px;color:#fff;background:linear-gradient(135deg,#8f3340,#c85d68);box-shadow:0 20px 42px rgba(143,51,64,.2)}
.flower-emergency-entry:after{content:"60";position:absolute;right:-10px;bottom:-32px;color:rgba(255,255,255,.09);font:900 132px/1 Georgia,serif}.flower-emergency-entry .eyebrow{color:#ffdce0}.flower-emergency-entry h2{position:relative;z-index:1;margin:0;max-width:360px;font:500 clamp(27px,7vw,36px)/1.08 Georgia,serif}.flower-emergency-entry p{position:relative;z-index:1;max-width:380px;margin:0;color:#ffecef;font-size:11px;line-height:1.55}.emergency-badge{position:relative;z-index:1;justify-self:start;padding:6px 10px;border-radius:999px;color:#8f3340;background:#fff;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.7px}.emergency-button{position:relative;z-index:1;min-height:46px;padding:12px 16px;border:0;border-radius:14px;color:#8f3340;background:#fff;font-size:11px;font-weight:950}.flower-emergency-page .page-head{margin-bottom:15px}.emergency-intro{display:flex;align-items:center;gap:15px;padding:17px;border-radius:22px;color:#fff;background:linear-gradient(135deg,#8f3340,#c85d68)}.emergency-intro div{display:grid;gap:4px}.emergency-intro b{font-size:14px}.emergency-intro p{margin:0;color:#ffecef;font-size:9px;line-height:1.5}.emergency-clock{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border:2px solid rgba(255,255,255,.7);border-radius:50%;font:600 24px Georgia,serif}.emergency-clock:after{content:"min";position:absolute;margin-top:32px;font:700 7px Inter,sans-serif;text-transform:uppercase}.emergency-mode-toggle{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:15px 0}.emergency-mode-toggle button{min-height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:10px;font-weight:900}.emergency-mode-toggle button.active{color:#fff;border-color:#8f3340;background:#8f3340}.emergency-search-grid{display:grid;grid-template-columns:1fr 110px;gap:10px}.emergency-search-grid label{display:grid;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.emergency-search-grid input{width:100%;min-height:44px;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff}.emergency-search-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin:12px 0 18px}.emergency-search-actions .emergency-button{color:#fff;background:#8f3340}.flower-emergency-results{display:grid;gap:13px}.emergency-empty{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-radius:20px;background:#fff}.emergency-empty p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.emergency-store-card{display:grid;gap:13px;padding:15px;border:1px solid rgba(143,51,64,.16);border-radius:24px;background:#fff;box-shadow:0 12px 28px rgba(50,42,39,.07)}.emergency-store-head{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px}.emergency-store-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:#f8e7e9 center/cover no-repeat;color:#8f3340;font-size:20px}.emergency-store-head div{display:grid;gap:3px}.emergency-store-head b{font-size:12px}.emergency-store-head small{color:var(--muted);font-size:8px}.emergency-store-head>strong{padding:7px 9px;border-radius:999px;color:#8f3340;background:#f8e7e9;font-size:8px;white-space:nowrap}.emergency-bouquet-list{display:grid;gap:9px}.emergency-bouquet-card{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:18px;background:#fbfaf7;text-align:left}.emergency-bouquet-card .product-image{height:78px;border-radius:14px}.emergency-bouquet-card .product-image i,.emergency-bouquet-card .product-image b{font-size:28px}.emergency-bouquet-card .product-image em{font-size:22px}.emergency-bouquet-card>span:last-child{display:grid;gap:4px}.emergency-bouquet-card b{font-size:11px}.emergency-bouquet-card small{color:var(--muted);font-size:8px}.emergency-bouquet-card em{color:#8f3340;font-size:9px;font-style:normal;font-weight:900}.flower-emergency-order-dialog{border-top:5px solid #a94350}.flower-emergency-order-dialog h2{color:#8f3340}.emergency-order-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px}.emergency-order-summary span{display:grid;gap:3px;padding:12px;border-radius:15px;background:#f8e7e9}.emergency-order-summary b{font-size:15px}.emergency-order-summary small{color:#7e4a51;font-size:8px}.emergency-payment-note{border-color:rgba(143,51,64,.2);background:#fff5f6}.flower-emergency-order-dialog .paypal-link-button{display:grid;place-items:center;min-height:48px}.flower-emergency-order-dialog .emergency-button{color:#fff;background:#8f3340}.flower-emergency-order-dialog .emergency-button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:420px){.emergency-search-grid,.emergency-search-actions{grid-template-columns:1fr}.emergency-store-head{grid-template-columns:44px 1fr}.emergency-store-head>strong{grid-column:1/-1;justify-self:start}.emergency-bouquet-card{grid-template-columns:68px 1fr}.emergency-bouquet-card .product-image{height:68px}}

/* Kompakter Einstieg: Die vollstaendige Notfallansicht oeffnet erst nach Antippen. */
.flower-emergency-entry{display:block;margin:12px 0;padding:0;overflow:visible;border:0;border-radius:0;color:var(--ink);background:transparent;box-shadow:none}
.flower-emergency-entry:after{content:none}
.flower-emergency-compact{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;width:100%;min-width:0;gap:12px;padding:10px 13px;border:1px solid rgba(143,51,64,.16);border-radius:18px;color:var(--ink);background:#fff;box-shadow:0 8px 22px rgba(50,42,39,.06);text-align:left}
.emergency-compact-clock{display:grid;place-content:center;width:48px;height:48px;border-radius:15px;color:#8f3340;background:#f8e7e9;text-align:center}.emergency-compact-clock b{font:700 17px/1 Georgia,serif}.emergency-compact-clock small{margin-top:2px;font-size:7px;font-weight:950;letter-spacing:.7px}
.emergency-compact-copy{display:grid;min-width:0;gap:3px}.emergency-compact-copy small{color:#8f3340;font-size:8px;font-weight:950;letter-spacing:.9px;text-transform:uppercase}.emergency-compact-copy b{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.emergency-compact-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#8f3340;background:#fff5f6;font-size:16px;font-weight:900}
.flower-emergency-compact:active{transform:translateY(1px);box-shadow:0 4px 12px rgba(50,42,39,.06)}
@media(max-width:360px){.flower-emergency-compact{grid-template-columns:44px minmax(0,1fr) auto;gap:9px;padding:9px 10px}.emergency-compact-clock{width:44px;height:44px}.emergency-compact-copy b{font-size:11px}}
.order-form-status{margin:10px 0 0;padding:11px 13px;border-radius:13px;color:#8f3340;background:#fff0f1;font-size:9px;font-weight:850;line-height:1.45}.order-form-status.pending{color:var(--green);background:var(--mint)}.order-form-status.success{color:var(--green);background:#e5f5e9}

/* Offene Bestellungen sitzen direkt unter dem Willkommen-Bereich. */
.home-open-orders {
  display: grid;
  gap: 11px;
  margin: 14px 0 12px;
  padding: 17px;
  border: 1px solid rgba(49, 95, 76, .16);
  border-radius: 24px;
  background: linear-gradient(145deg, #f2f8f4, #fffafa);
  box-shadow: 0 14px 34px rgba(38, 52, 45, .09);
}

.home-open-orders-head {
  display: grid;
  gap: 4px;
}

.home-open-orders-head h2 {
  margin: 0;
  font: 500 24px/1.08 Georgia, serif;
}

.home-open-orders-head p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.45;
}

.home-open-order-list {
  display: grid;
  gap: 9px;
}

.home-open-order-card {
  overflow: hidden;
  border: 1px solid rgba(49, 95, 76, .14);
  border-radius: 18px;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.home-open-order-card.is-open {
  border-color: rgba(49, 95, 76, .34);
  box-shadow: 0 12px 28px rgba(38, 52, 45, .1);
}

.home-open-order-toggle {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 28px;
  align-items: center;
  width: 100%;
  gap: 10px;
  padding: 12px;
  border: 0;
  color: var(--ink);
  background: transparent;
  text-align: left;
}

.home-order-progress {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
  width: 100%;
  margin-bottom: 1px;
}

.home-order-progress-step {
  display: grid;
  grid-template-columns: 17px minmax(0, 1fr);
  align-items: center;
  gap: 4px;
  min-width: 0;
  min-height: 27px;
  padding: 4px 6px;
  border: 1px solid #bd6370;
  border-radius: 10px;
  color: #fff;
  background: #bd6370;
  transition: color .22s ease, background .22s ease, border-color .22s ease, transform .22s ease;
}

.home-order-progress-step i {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  color: #9f5360;
  background: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 950;
}

.home-order-progress-step b {
  overflow: hidden;
  font-size: 6.5px;
  font-weight: 950;
  letter-spacing: .05px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-order-progress-step.is-done {
  border-color: var(--green);
  background: var(--green);
  animation: homeOrderStepDone .38s ease-out;
}

.home-order-progress-step.is-done i {
  color: var(--green);
}

@keyframes homeOrderStepDone {
  0% { transform: scale(.9); }
  65% { transform: scale(1.05); }
  100% { transform: scale(1); }
}

.home-open-order-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  color: #9f5360;
  background: #f7e1e4;
  font-size: 20px;
}

.home-open-order-copy {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.home-open-order-copy small {
  color: var(--green);
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .65px;
  text-transform: uppercase;
}

.home-open-order-copy b {
  overflow: hidden;
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-open-order-copy em {
  overflow: hidden;
  color: var(--muted);
  font-size: 8px;
  font-style: normal;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-open-order-arrow {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  color: var(--green);
  background: var(--mint);
  font-size: 17px;
  transition: transform .2s ease;
}

.home-open-order-toggle[aria-expanded="true"] .home-open-order-arrow {
  transform: rotate(180deg);
}

.home-open-order-details {
  padding: 0 12px 12px;
}

.home-open-order-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding-top: 11px;
  border-top: 1px solid var(--line);
}

.home-open-order-facts > span {
  display: grid;
  align-content: start;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border-radius: 14px;
  background: #f8f5ef;
}

.home-open-order-facts small {
  color: #9f5360;
  font-size: 7px;
  font-weight: 950;
  letter-spacing: .7px;
  text-transform: uppercase;
}

.home-open-order-facts b {
  font-size: 10px;
  line-height: 1.35;
}

.home-open-order-facts em {
  color: var(--muted);
  font-size: 7px;
  font-style: normal;
  line-height: 1.4;
}

.home-order-status-link {
  width: 100%;
  min-height: 39px;
  margin-top: 9px;
  padding: 10px 12px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: var(--green);
  font-size: 8px;
  font-weight: 900;
}

@media(max-width:360px) {
  .home-open-orders {
    padding: 14px;
  }

  .home-open-order-toggle {
    grid-template-columns: 40px minmax(0, 1fr) 26px;
    gap: 8px;
    padding: 10px;
  }

  .home-open-order-icon {
    width: 40px;
    height: 40px;
  }

  .home-open-order-facts {
    grid-template-columns: 1fr;
  }
}

/* Bestellstatus: gesendet, gesehen, angenommen, erledigt. */
.flower-timeline {
  grid-template-columns: repeat(4, 1fr);
}

@keyframes homeOrderPickupPulse {
  0%, 100% {
    border-color: rgba(159, 83, 96, .28);
    box-shadow: 0 0 0 0 rgba(189, 99, 112, 0), 0 12px 28px rgba(38, 52, 45, .08);
  }
  50% {
    border-color: rgba(159, 83, 96, .55);
    box-shadow: 0 0 0 5px rgba(189, 99, 112, .1), 0 16px 34px rgba(38, 52, 45, .12);
  }
}

.home-open-order-card.is-pickup-due {
  animation: homeOrderPickupPulse 2.4s ease-in-out infinite;
}

.home-open-order-card.is-pickup-due .home-open-order-icon {
  color: #8f4654;
  background: #f7d9dd;
}

.home-order-ready-state {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 12px 12px;
  padding: 10px 12px;
  border-radius: 12px;
  color: #fff;
  background: var(--green);
}

.home-order-ready-state span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  color: var(--green);
  background: #fff;
  font-size: 11px;
  font-weight: 950;
}

.home-order-ready-state b {
  font-size: 9px;
  line-height: 1.35;
}

.home-open-order-due-note {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  margin: 0 12px 12px;
  padding: 9px 10px;
  border: 1px solid rgba(159, 83, 96, .16);
  border-radius: 12px;
  color: #70434a;
  background: #fff7f1;
}

.home-open-order-due-note > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  color: #fff;
  background: #9f5360;
  font-size: 11px;
  font-weight: 950;
}

.home-open-order-due-note p {
  margin: 0;
  font-size: 8px;
  line-height: 1.45;
}

.home-open-order-due-note b {
  color: var(--ink);
}

@media(prefers-reduced-motion:reduce) {
  .home-open-order-card.is-pickup-due {
    animation: none;
    border-color: rgba(159, 83, 96, .48);
  }
}
