@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Karla:wght@400;500;700&family=Yellowtail&display=swap";:root{--cream:#fbf5ef;--blush:#f6ddd3;--pink:#f9c8cf;--brown:#5c4033;--brown-soft:#8a6b5c;--cherry:#d8232a;--white:#fff;--confirmed:#3e7c4f}*{box-sizing:border-box;margin:0;padding:0}html,body{background:#f3e7dc}.app{background:var(--cream);min-height:100vh;color:var(--brown);max-width:480px;margin:0 auto;padding-bottom:40px;font-family:Karla,sans-serif;position:relative;box-shadow:0 0 40px #5c403314}.hero{background:radial-gradient(120% 140% at 80% 0%, var(--pink) 0%, var(--blush) 45%, var(--cream) 100%);border-bottom:1px solid #ead6c9;padding:26px 22px 20px}.logoRow{cursor:default;-webkit-user-select:none;user-select:none;align-items:baseline;gap:8px;display:flex}.logo{letter-spacing:3px;color:var(--brown);font-family:Cormorant Garamond,serif;font-size:34px;font-weight:700}.logo .bottle{color:var(--cherry);display:inline-block;transform:translateY(2px)}.byline{color:var(--cherry);font-family:Yellowtail,cursive;font-size:19px}.tagline{color:var(--brown-soft);letter-spacing:.4px;margin-top:6px;font-size:12.5px}.heroBadge{background:var(--white);color:var(--cherry);letter-spacing:1px;text-transform:uppercase;border:1px solid #efd9cc;border-radius:999px;align-items:center;gap:6px;margin-top:13px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.dayStrip{scrollbar-width:none;gap:8px;padding:16px 18px 6px;display:flex;overflow-x:auto}.dayStrip::-webkit-scrollbar{display:none}.dayChip{background:var(--white);text-align:center;cursor:pointer;color:var(--brown);border:1px solid #e7d2c4;border-radius:14px;flex:none;padding:8px 13px 9px;font-family:Karla,sans-serif;transition:all .15s;position:relative}.dayChip .dow{letter-spacing:1.5px;text-transform:uppercase;color:var(--brown-soft);font-size:11px}.dayChip .num{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:700;line-height:1.1}.dayChip .mo{color:var(--brown-soft);font-size:10.5px}.dayChip.active{background:var(--brown);border-color:var(--brown);color:var(--cream)}.dayChip.active .dow,.dayChip.active .mo{color:#e9cdbc}.promoDot{background:var(--cherry);color:#fff;letter-spacing:.5px;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:-6px;right:-5px}.dayHeader{padding:14px 22px 0}.sectionTitle{font-family:Cormorant Garamond,serif;font-size:24px;font-weight:600}.promoBanner{border-radius:14px;align-items:center;gap:8px;margin-top:8px;padding:11px 14px;font-size:13px;font-weight:700;display:flex}.promoBanner.promo{background:var(--cherry);color:#fff}.promoBanner.regular{background:var(--white);color:var(--brown-soft);border:1px solid #ebd8cb}.sectionSub{color:var(--brown-soft);padding:8px 22px 12px;font-size:12.5px}.slotList{flex-direction:column;gap:8px;padding:0 18px;display:flex}.slot{background:var(--white);cursor:pointer;border:1px solid #ebd8cb;border-radius:14px;align-items:center;gap:12px;padding:12px 15px;transition:transform .12s,box-shadow .12s;display:flex}.slot:active{transform:scale(.985)}.slot.open:hover{box-shadow:0 4px 14px #5c40331a}.slot.taken{cursor:default;opacity:.82;background:#fbf1ea}.checkbox{border:2px solid var(--brown-soft);border-radius:6px;flex:none;justify-content:center;align-items:center;width:21px;height:21px;font-size:12px;font-weight:700;display:flex}.slot.taken .checkbox{background:var(--brown);border-color:var(--brown);color:var(--cream)}.slot.pendingSlot .checkbox{background:var(--pink);border-color:var(--cherry);color:var(--cherry)}.slotTime{flex-wrap:wrap;flex:1;align-items:center;gap:7px;font-size:15px;font-weight:700;display:flex}.expressTag{letter-spacing:.8px;text-transform:uppercase;background:var(--blush);color:var(--brown-soft);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:700}.slotState{letter-spacing:.4px;text-align:right;font-size:12px;font-weight:700}.slotState.open{color:var(--cherry);text-transform:uppercase}.slotState.booked{color:var(--brown-soft)}.slotState.pend{color:var(--cherry);text-transform:uppercase}.overlay{z-index:50;background:#3c231973;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--cream);border-radius:22px 22px 0 0;width:100%;max-width:480px;max-height:88vh;padding:22px 20px 26px;animation:.22s rise;overflow-y:auto}@keyframes rise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheetTitle{font-family:Cormorant Garamond,serif;font-size:26px;font-weight:700}.sheetSlot{background:var(--pink);color:var(--brown);border-radius:999px;margin-top:6px;padding:5px 13px;font-size:13px;font-weight:700;display:inline-block}.promoChip{background:var(--cherry);color:#fff;letter-spacing:.5px;border-radius:999px;margin:8px 0 0 6px;padding:5px 13px;font-size:12px;font-weight:700;display:inline-block}.field{margin-top:14px}.field label{letter-spacing:1px;text-transform:uppercase;color:var(--brown-soft);margin-bottom:6px;font-size:12px;font-weight:700;display:block}.field input,.field select,.field textarea{width:100%;color:var(--brown);background:var(--white);border:1px solid #e2ccbd;border-radius:12px;padding:12px 13px;font-family:Karla,sans-serif;font-size:15px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--cherry);outline-offset:1px}.fieldHint{color:var(--brown-soft);margin-top:5px;font-size:11.5px}.priceLine{border-top:1px dashed #d9c0af;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:12px;display:flex}.priceLine .lbl{color:var(--brown-soft);font-size:13px}.priceLine .amt{font-family:Cormorant Garamond,serif;font-size:28px;font-weight:700}.btn{background:var(--cherry);color:#fff;letter-spacing:.4px;cursor:pointer;border:none;border-radius:999px;width:100%;margin-top:14px;padding:15px;font-family:Karla,sans-serif;font-size:16px;font-weight:700}.btn:disabled{opacity:.5;cursor:default}.btnGhost{width:100%;color:var(--brown-soft);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:10px;font-size:14px;font-weight:700}.policyNote{color:var(--brown-soft);margin-top:14px;font-size:12px;line-height:1.55}.policies{background:var(--white);border:1px solid #ebd8cb;border-radius:18px;margin:22px 18px 0;padding:18px}.policies h3{margin-bottom:8px;font-family:Cormorant Garamond,serif;font-size:21px}.policies ul{list-style:none}.policies li{color:var(--brown);padding:5px 0 5px 20px;font-size:13px;line-height:1.5;position:relative}.policies li:before{content:"🍒";font-size:10px;position:absolute;top:7px;left:0}.ownerBar{z-index:30;background:var(--brown);color:var(--cream);letter-spacing:.4px;justify-content:space-between;align-items:center;padding:12px 18px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.ownerBar button{color:var(--cream);cursor:pointer;background:#fbf5ef26;border:1px solid #fbf5ef59;border-radius:999px;padding:7px 14px;font-family:Karla,sans-serif;font-size:12.5px;font-weight:700}.ownerCard{background:var(--white);border:1px solid #ebd8cb;border-radius:16px;margin:12px 18px 0;padding:15px}.ownerCard .who{font-size:15.5px;font-weight:700}.ownerCard .meta{color:var(--brown-soft);margin-top:3px;font-size:13px;line-height:1.5}.ownerCard .svc{margin-top:6px;font-size:13.5px}.ownerActions{gap:8px;margin-top:12px;display:flex}.ownerActions button{cursor:pointer;border:none;border-radius:999px;flex:1;padding:10px;font-family:Karla,sans-serif;font-size:13.5px;font-weight:700}.confirmBtn{background:var(--brown);color:var(--cream)}.declineBtn{color:var(--brown);background:#f2e3d9}.statusPill{letter-spacing:.8px;text-transform:uppercase;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:700;display:inline-block}.statusPill.confirmed{color:var(--confirmed);background:#e4f0e6}.empty{text-align:center;color:var(--brown-soft);padding:26px 22px;font-size:14px}.dayConfRow{background:var(--white);border:1px solid #ebd8cb;border-radius:14px;justify-content:space-between;align-items:center;margin:8px 18px 0;padding:12px 15px;display:flex}.dayConfRow .d{font-size:14px;font-weight:700}.toggle{letter-spacing:.6px;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;padding:8px 14px;font-family:Karla,sans-serif;font-size:12px;font-weight:700}.toggle.promo{background:var(--cherry);color:#fff}.toggle.regular{color:var(--brown-soft);background:#f2e3d9}.loginBox{max-width:360px;margin:0 auto;padding:40px 26px}.loginBox .sectionTitle{text-align:center}.loginBox .sectionSub{text-align:center;padding:4px 0 8px}.loginErr{color:var(--cherry);text-align:center;margin-top:10px;font-size:13px;font-weight:700}.toast{background:var(--brown);color:var(--cream);z-index:60;border-radius:999px;max-width:90%;padding:11px 20px;font-size:13.5px;font-weight:700;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #3c23194d}.demoNote{color:var(--brown-soft);text-align:center;margin:18px 18px 0;font-size:11.5px;line-height:1.5}.configWarn{color:#7a5230;background:#fff3e6;border:1px solid #f0cda8;border-radius:14px;margin:18px;padding:16px;font-size:13px;line-height:1.6}.slot.blockedSlot{opacity:.7;cursor:default;background:#f1e9e2}.slot.blockedSlot .checkbox{background:var(--brown-soft);border-color:var(--brown-soft);color:var(--cream)}.slotState.blockedState{color:var(--brown-soft);text-transform:uppercase}.quickActions{gap:8px;padding:6px 18px 0;display:flex}.qaBtn{background:var(--white);color:var(--brown);cursor:pointer;border:1px solid #e2ccbd;border-radius:999px;flex:1;padding:10px;font-family:Karla,sans-serif;font-size:13px;font-weight:700}.qaBtn.open{color:var(--confirmed);background:#e4f0e6;border-color:#cadbcd}.manageSlot{background:var(--white);cursor:pointer;border:1px solid #ebd8cb;border-radius:14px;justify-content:space-between;align-items:center;padding:12px 15px;display:flex}.manageSlot.isBlocked{background:#f1e9e2}.manageSlot.isBooked{opacity:.7;cursor:default;background:#fbf1ea}.manageState{letter-spacing:.3px;font-size:12px;font-weight:700}.manageState.open{color:var(--cherry)}.manageState.blocked,.manageState.booked{color:var(--brown-soft)}
