@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Poppins:wght@600;700;800&display=swap";:root{font-family:Inter,system-ui,sans-serif;color:#18181b;background:#f7f7fb;line-height:1.5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(135deg,#f7f7fb,#eef2ff 45%,#fff7ed);color:#18181b}a{text-decoration:none;color:inherit}button,input{font:inherit}.appShell{min-height:100vh}.topbar{height:74px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:#fffd;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #e4e4e7;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:11px}.brand img,.logoFallback{width:43px;height:43px;border-radius:13px;object-fit:contain;background:#fff}.logoFallback{display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#ec4899);color:#fff;font-weight:900;font-size:18px}.brand b{display:block;font-family:Poppins;font-size:18px}.brand span{display:block;color:#71717a;font-size:11px}.topActions{display:flex;gap:8px}.ghostBtn,.outlineBtn,.closeBtn{border:1px solid #ddd6fe;background:#fff;border-radius:12px;padding:10px 13px;display:inline-flex;align-items:center;gap:7px;cursor:pointer;color:#5b21b6;font-weight:700}.container{width:min(1180px,92%);margin:0 auto;padding:42px 0 70px}.narrow{max-width:900px}.hero{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:42px;border-radius:28px;background:linear-gradient(135deg,#4c1d95,#7c3aed 48%,#db2777);color:#fff;box-shadow:0 25px 70px #7c3aed30}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;opacity:.8}.hero h1,.ownerHero h1,.manualHero h1{font:800 clamp(34px,5vw,58px) Poppins;margin:8px 0}.hero p{max-width:650px;font-size:17px;opacity:.9}.welcomeCard{background:#ffffff1c;border:1px solid #ffffff33;padding:18px;border-radius:18px;min-width:180px;display:grid;gap:3px}.welcomeCard svg{margin-bottom:7px}.welcomeCard span{opacity:.8;font-size:13px}.infoGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0 44px}.infoCard{background:#fff;border:1px solid #e4e4e7;border-radius:22px;padding:22px;display:grid;grid-template-columns:auto 1fr;gap:15px;box-shadow:0 12px 30px #18181b08}.infoCard h3{margin:0 0 5px}.infoCard p{margin:0;color:#71717a}.iconCircle,.houseIcon{display:grid;place-items:center;border-radius:16px;background:#f3e8ff;color:#7c3aed;width:48px;height:48px}.callRow{grid-column:1/-1;display:flex;gap:10px}.callBtn{background:#16a34a;color:#fff;border-radius:13px;padding:11px 14px;display:flex;align-items:center;justify-content:center;gap:7px;font-weight:800;flex:1}.callBtn small{font-weight:600}.mapBtn{grid-column:1/-1;background:#2563eb;color:#fff;padding:12px 16px;border-radius:13px;text-align:center;font-weight:800}.sectionTitle{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:18px}.sectionTitle h2{font:800 28px Poppins;margin:4px 0}.portionGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portionCard{background:#fff;border:2px solid #e4e4e7;border-radius:22px;padding:20px;box-shadow:0 12px 30px #18181b08;transition:.2s}.portionCard:hover,.portionCard.selected{transform:translateY(-4px);border-color:#8b5cf6;box-shadow:0 20px 40px #7c3aed20}.portionTop{display:flex;justify-content:space-between;align-items:center;color:#7c3aed;font-weight:900;font-size:12px;letter-spacing:1px}.portionCard h3{font:800 23px Poppins;margin:20px 0 8px}.price{display:flex;align-items:center;font-size:24px;font-weight:900;margin-bottom:20px}.price svg{width:19px}.price small{font-size:12px;color:#71717a;margin-left:4px}.primaryBtn,.qrBtn{border:0;border-radius:13px;padding:13px 16px;width:100%;display:flex;justify-content:center;align-items:center;gap:8px;font-weight:900;cursor:pointer}.primaryBtn{background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;box-shadow:0 9px 22px #7c3aed25}.primaryBtn:hover{filter:brightness(1.05)}.primaryBtn.big{padding:15px}.qrBtn{margin-top:10px;background:#111827;color:#fff}.paymentPanel,.uploadPanel,.ownerNote{margin-top:25px;background:#fff;border:1px solid #ddd6fe;border-radius:24px;padding:25px;box-shadow:0 20px 50px #7c3aed12}.paymentHead{display:flex;justify-content:space-between;align-items:start}.paymentHead h2{font:800 25px Poppins;margin:5px 0 22px}.closeBtn{font-size:24px;padding:4px 12px}.paymentGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:25px}.field{display:block;margin:0 0 15px}.field>span{display:block;font-weight:800;font-size:13px;margin-bottom:7px}.inputWrap{display:flex;align-items:center;gap:9px;border:1px solid #d4d4d8;border-radius:13px;background:#fafafa;padding:0 13px}.inputWrap svg{width:18px;color:#7c3aed}.inputWrap input{border:0;outline:0;background:transparent;width:100%;padding:13px 0}.totalBox{background:#f5f3ff;border-radius:18px;padding:18px;margin:15px 0 18px}.totalBox span,.totalBox small{display:block;color:#71717a}.totalBox strong{display:block;font:800 34px Poppins;color:#6d28d9}.qrBox{border-radius:20px;background:#fafafa;padding:20px;text-align:center}.qrPlaceholder{min-height:260px;border:2px dashed #c4b5fd;border-radius:18px;display:grid;place-items:center;padding:20px;color:#71717a}.qrPlaceholder img{max-width:230px;max-height:230px}.uploadPanel{display:grid;gap:13px}.uploadPanel h2{font:800 25px Poppins;margin:4px 0}.uploadPanel p{color:#71717a}.alert{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;padding:11px 13px;border-radius:12px;margin:10px 0;font-weight:600}.history{margin-top:45px}.historyList{display:grid;gap:10px}.historyItem{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;background:#fff;padding:17px 20px;border-radius:16px;border:1px solid #e4e4e7}.historyItem span{display:block;color:#71717a;font-size:13px}.historyItem em{font-style:normal;color:#166534;background:#dcfce7;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:900}.empty{padding:30px;background:#fff;border-radius:18px;color:#71717a}.authPage{min-height:100vh;display:grid;place-items:center;padding:30px;position:relative;overflow:hidden;background:linear-gradient(135deg,#312e81,#7c3aed 55%,#be185d)}.authGlow{position:absolute;width:500px;height:500px;border-radius:50%;background:#fff2;filter:blur(30px);top:-200px;right:-100px}.authCard{width:min(470px,100%);background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:28px;padding:30px;box-shadow:0 35px 100px #0005;position:relative}.authCard>.brand{margin-bottom:28px}.authHeading h1{font:800 29px Poppins;margin:0}.authHeading p{color:#71717a;margin:6px 0 25px}.switchText{text-align:center;color:#71717a;font-size:13px}.switchText a,.smallLink{color:#6d28d9;font-weight:900}.smallLink{display:block;text-align:center;margin-top:14px}.ownerHero{background:#18181b;color:#fff;border-radius:25px;padding:30px;display:flex;justify-content:space-between;align-items:center}.ownerHero p{color:#d4d4d8}.ownerGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px}.ownerCard{background:#fff;border:1px solid #e4e4e7;border-radius:20px;padding:18px}.ownerCard h2{margin:18px 0 2px;font:800 23px Poppins}.ownerCard p{margin:0;color:#71717a}.availableBadge{margin-top:16px;padding:8px;text-align:center;background:#dcfce7;color:#166534;border-radius:10px;font-weight:900}.ownerBooking{margin-top:15px;padding-top:14px;border-top:1px solid #e4e4e7;display:grid;gap:4px;font-size:12px}.ownerBooking span{color:#52525b}.ownerBooking em{font-style:normal;color:#166534;font-weight:900}.ownerBooking a{color:#2563eb;font-weight:800;margin-top:4px}.ownerNote{display:flex;gap:14px;align-items:start}.ownerNote svg{color:#16a34a;min-width:24px}.ownerNote p{margin:5px 0;color:#71717a}.manualHero{background:#fff;border-radius:25px;padding:30px;border:1px solid #ddd6fe}.manualHero>svg{color:#7c3aed}.manualSteps{margin-top:18px;display:grid;gap:12px}.manualItem{display:flex;gap:16px;align-items:start;background:#fff;border:1px solid #e4e4e7;border-radius:18px;padding:18px}.stepNo{width:38px;height:38px;border-radius:12px;background:#7c3aed;color:#fff;display:grid;place-items:center;font-weight:900;min-width:38px}.manualItem h3{margin:0 0 3px;font:800 18px Poppins}.manualItem p{margin:0;color:#71717a}@media(max-width:900px){.portionGrid,.ownerGrid{grid-template-columns:repeat(2,1fr)}.paymentGrid,.infoGrid{grid-template-columns:1fr}.hero,.ownerHero{align-items:flex-start;flex-direction:column}.welcomeCard{width:100%}}@media(max-width:560px){.topbar{padding:0 4%}.topActions .ghostBtn:first-child{display:none}.container{width:94%;padding-top:25px}.portionGrid,.ownerGrid{grid-template-columns:1fr}.hero{padding:27px}.hero h1{font-size:35px}.infoCard{grid-template-columns:auto 1fr}.callRow{flex-direction:column}.historyItem{grid-template-columns:1fr}.authCard{padding:23px}.ownerHero .callBtn{width:100%}}:root{color:#f8fafc;background:#080b14}body{background:radial-gradient(circle at 10% 10%,#26104f 0,transparent 30%),radial-gradient(circle at 90% 20%,#132c55 0,transparent 28%),linear-gradient(135deg,#070a12,#101225 55%,#170b1e);color:#f8fafc}.topbar{background:#0b1020e8;border-bottom:1px solid #334155;box-shadow:0 10px 30px #0008}.brand b{color:#fff}.brand span{color:#94a3b8}.ghostBtn,.outlineBtn,.closeBtn{background:#151a2c;color:#c4b5fd;border-color:#4c1d95}.ghostBtn:hover,.outlineBtn:hover{background:#24143b}.infoCard,.portionCard,.paymentPanel,.uploadPanel,.ownerCard,.manualItem,.empty,.manualHero{background:linear-gradient(145deg,#111827,#151126);border-color:#334155;box-shadow:0 18px 45px #0007}.infoCard p,.price small,.historyItem span,.ownerCard p,.ownerNote p,.manualItem p,.authHeading p{color:#94a3b8}.iconCircle,.houseIcon{background:#251044;color:#c4b5fd}.inputWrap{background:#0b1020;border-color:#475569}.inputWrap input{color:#fff}.totalBox{background:#21143d}.totalBox span,.totalBox small{color:#a5b4fc}.qrBox{background:#0b1020}.qrPlaceholder{border-color:#6d28d9;background:#111827}.historyItem{background:#111827;border-color:#334155}.ownerHero{background:linear-gradient(135deg,#111827,#24113e)}.availableBadge{background:#052e1b;color:#86efac}.unavailableBadge{padding:10px;text-align:center;border-radius:12px;background:#3f0b18;color:#fda4af;font-weight:900}.statusControls{display:grid;gap:8px;margin-top:16px}.statusBtn{border:1px solid #334155;background:#111827;color:#cbd5e1;border-radius:11px;padding:10px;cursor:pointer;font-weight:900}.statusBtn.active{background:#064e3b;border-color:#10b981;color:#a7f3d0}.statusBtn.danger.active{background:#4c0519;border-color:#fb7185;color:#fecdd3}.statusBtn:disabled{opacity:.55;cursor:wait}.authPage{background:radial-gradient(circle at 20% 10%,#4c1d95,transparent 35%),radial-gradient(circle at 90% 90%,#9d174d,transparent 35%),#070a12}.authCard{background:#101525f5;border:1px solid #475569}.authHeading h1{color:#fff}.field>span{color:#e2e8f0}.switchText{color:#94a3b8}.ownerLoginHint{margin-top:24px;padding:16px 18px;border:1px solid #334155;border-radius:16px;background:#0f172a;display:flex;align-items:center;gap:12px;color:#cbd5e1}.ownerLoginHint svg{color:#a78bfa}.ownerLoginHint span{display:block;color:#94a3b8;font-size:13px}.ownerLoginHint a{color:#c4b5fd;font-weight:900}.backBtn{border:1px solid #4c1d95;background:#151a2c;color:#c4b5fd;border-radius:12px;padding:10px 14px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:800;margin-bottom:16px}.standalonePayment{margin-top:0}.pageSubtext{color:#94a3b8;margin-top:-12px}.detailBox{border:1px solid #334155;border-radius:18px;padding:18px;margin-bottom:16px;background:#0f172a}.detailBox h3{margin-top:0}.qrImageWrap{border:2px solid #6d28d9;border-radius:18px;background:#000;overflow:hidden;padding:8px;display:grid;gap:8px}.qrImageWrap img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}.qrImageWrap span{color:#e2e8f0;font-weight:800;font-size:13px}.paymentPageCard{padding:25px;background:linear-gradient(145deg,#111827,#151126);border:1px solid #334155;border-radius:24px}@media(max-width:560px){.topActions .ghostBtn{padding:8px 9px;font-size:11px}.topActions .ghostBtn svg{width:15px}.qrImageWrap img{max-height:330px}}
