@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;height:100%;margin:0;padding:0}.captive-portal-root{align-items:center;background:linear-gradient(135deg,#ffd23e80,#ff980080 50%,#ff404080);background-attachment:fixed;background-size:cover;display:flex;justify-content:center;min-height:100vh;width:100vw}.floating-food-bg{height:100vh;left:0;pointer-events:none;position:absolute;top:0;width:100vw;z-index:0}.floating-food-icon{animation-iteration-count:infinite;animation-name:float-food;animation-timing-function:linear;opacity:.85;position:absolute;top:100vh}@keyframes float-food{0%{opacity:.7;top:100vh;transform:translateY(0) scale(1) rotate(0deg)}50%{opacity:1;transform:translateY(-50vh) scale(1.1) rotate(10deg)}to{opacity:.7;top:-64px;transform:translateY(-100vh) scale(1) rotate(-10deg)}}.captive-bg{justify-content:flex-start;min-height:100vh;padding-bottom:4vh;padding-top:8vh;position:relative;width:100vw;z-index:1}.captive-bg,.captive-container{align-items:center;display:flex;flex-direction:column}.captive-container{animation:pop-in .7s cubic-bezier(.23,1.12,.72,.98);background:#fff;border-radius:1.2rem;box-shadow:0 .5rem 2rem .1rem #00000014;box-sizing:border-box;justify-content:center;margin:0 auto;max-width:28rem;min-height:18rem;min-width:16rem;overflow:hidden;padding:2rem 1.5rem;text-align:center;width:90vw}@keyframes pop-in{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@media (min-width:600px){.captive-container{max-width:32rem;min-height:16rem;min-width:18rem;padding:2.5rem 2rem;width:30vw}.captive-bg{padding-top:6vh}}.main-content{position:relative;z-index:2}.restaurant-logo{background:#fff7e6;border:.22rem solid #ff9d34;border-radius:50%;box-shadow:0 .1rem .2rem 0 #00000014;height:4rem;margin-bottom:1rem;object-fit:cover;width:4rem}.welcome-title{color:#000;font-size:1rem;font-weight:700;letter-spacing:.08em;line-height:1.2;margin-bottom:.1rem;text-align:center;text-transform:uppercase}.restaurant-name{color:#da7bff;display:block;font-size:1.5rem;font-weight:700;line-height:1.1;margin:.15rem 0 .4rem}.subtitle{color:#000;font-size:.95rem;font-weight:400;letter-spacing:.01em;line-height:1.3;margin-bottom:.5rem;text-align:center}.placeid-input{background:#fffdfa;border:1px solid #1877f2;border-radius:.5rem;box-shadow:0 .1rem .2rem 0 #00000014;font-family:Poppins,sans-serif;font-size:.95rem;margin-bottom:.7rem;max-width:14rem;outline:none;padding:.5rem .8rem;transition:border .2s;width:100%}.placeid-input:focus{border:2px solid #1877f2}.connect-internet-btn{align-items:center;background:linear-gradient(135deg,#ff9800,#ff5722);border:none;border-radius:.75rem;box-shadow:0 .25rem .75rem #ff98004d;color:#fff;cursor:pointer;display:flex;font-family:Poppins,Arial,sans-serif;font-size:1rem;font-weight:600;height:3rem;justify-content:center;letter-spacing:.02em;line-height:1;margin:1rem 0 .5rem;min-width:200px;outline:none;padding:0 1.5rem;text-transform:uppercase;transition:all .2s ease}.connect-internet-btn:hover:not(:disabled){background:linear-gradient(135deg,#ffb74d,#ff7043);box-shadow:0 .5rem 1rem #ff980066;transform:translateY(-2px)}.connect-internet-btn:active:not(:disabled){transform:translateY(0)}.connect-internet-btn:disabled{box-shadow:0 .25rem .75rem #ff980033;cursor:not-allowed;opacity:.7;transform:none}.menu-btn{align-items:center;background:#fff;border:2px solid #ff9800;border-radius:.75rem;box-shadow:0 .125rem .5rem #ff980026;color:#ff9800;cursor:pointer;display:flex;font-family:Poppins,Arial,sans-serif;font-size:1rem;font-weight:600;height:3rem;justify-content:center;letter-spacing:.02em;line-height:1;margin:.5rem 0 .8rem;min-width:200px;outline:none;padding:0 1.5rem;text-transform:uppercase;transition:all .2s ease}.menu-btn:hover{background:#ff9800;box-shadow:0 .25rem .75rem #ff980040;color:#fff;transform:translateY(-1px)}.menu-btn:active{box-shadow:0 .125rem .25rem #ff980026;transform:translateY(0)}.divider{align-items:center;color:#bbb;display:flex;font-size:.9rem;justify-content:center;margin:.5rem 0;position:relative;width:100%}.divider:after,.divider:before{background:#f5e1c6;border-radius:2px;content:"";display:block;flex:1 1;height:1px;margin:0 .4rem}.papaya-desc{align-items:center;background:#ffffff80;border-radius:1.2rem;box-shadow:.3rem .3rem 1.2rem .05rem #00000014;color:#000;display:flex;font-family:Poppins,sans-serif;font-size:.85rem;font-weight:500;justify-content:center;letter-spacing:.01em;line-height:1.2;margin:1.2rem auto 0;max-width:22rem;min-width:16rem;opacity:.8;padding:1.2rem;text-align:center;width:100%}.falling-food-bg{height:100vh;left:0;pointer-events:none;position:absolute;top:0;width:100vw;z-index:100}.falling-food-icon{animation-iteration-count:infinite;animation-name:fall-food;animation-timing-function:linear;opacity:1;position:absolute;top:-64px;transition:transform .25s cubic-bezier(.4,.8,.4,1)}@keyframes fall-food{0%{opacity:1;top:-64px}80%{opacity:1}to{opacity:1;top:100vh}}.powered-by-footer{align-items:center;bottom:0;display:flex;flex-direction:row;justify-content:center;left:0;padding-bottom:2rem;position:fixed;right:0;z-index:10}.powered-by-text{color:#222;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:700;letter-spacing:.01em}.powered-by-logo{display:block;height:5.76rem;margin-left:.6rem;width:auto}.loyalty-card{align-items:flex-start;background:linear-gradient(135deg,#fff9e6,#fff5d6);border:2px solid #ffd23e;border-radius:1.2rem;box-shadow:0 .4rem 1.5rem .1rem #ffd23e26;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;margin:1.2rem auto 0;overflow:hidden;padding:1.5rem;position:relative;width:auto}.loyalty-card-header{display:block;margin-bottom:.8rem;position:relative;z-index:1}.loyalty-desc{color:#555;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;line-height:1.5;margin-left:0;margin-top:.1rem;position:relative;z-index:1}.loyalty-desc strong{color:#333;font-weight:600}.cards-vertical-stack{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem;max-width:28rem;min-width:16rem;width:90vw}.captive-container,.loyalty-card{width:100%}.loyalty-title{color:#ff9800;font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:700;letter-spacing:.01em}.papaya-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff9800,#ff5722);-webkit-background-clip:text;background-clip:text;font-weight:700}@media (max-width:1024px){.captive-container{max-width:95%;padding:2.5rem 1.5rem}.welcome-title{font-size:2rem}.restaurant-name{font-size:3rem}.subtitle{font-size:1.5rem}.connect-internet-btn,.menu-btn{font-size:1.25rem;height:3.5rem;min-width:240px}.papaya-desc{font-size:1.25rem}.restaurant-logo{height:6rem;margin-bottom:1.5rem;width:6rem}.checkin-header{font-size:24px;padding:18px 0}.checkin-icon{height:28px;width:28px}}@media (max-width:768px){.captive-container{border-radius:1.5rem;max-width:98%;padding:2rem 1.5rem}.welcome-title{font-size:1.5rem}.restaurant-name{font-size:2.5rem}.subtitle{font-size:1.25rem}.connect-internet-btn,.menu-btn{font-size:1rem;height:3rem;min-width:200px;padding:0 1.5rem}.papaya-desc{font-size:1rem;padding:1rem .75rem}.restaurant-logo{height:5rem;margin-bottom:1rem;width:5rem}.placeid-input{padding:.75rem 1rem}.checkin-header{font-size:16px;padding:12px 0}.checkin-icon{height:20px;width:20px}}@media (max-width:480px){.captive-container,.papaya-desc{border-radius:.7rem;max-width:98vw;min-width:0;padding:1.5rem 1rem}.papaya-desc{margin-top:.7rem}.restaurant-logo{height:2rem;margin-bottom:.4rem;width:2rem}.welcome-title{font-size:.7rem}.restaurant-name{font-size:1rem}.subtitle{font-size:.7rem}.connect-internet-btn,.menu-btn{font-size:.8rem;height:2.5rem;min-width:160px;padding:0 1rem}.papaya-desc{font-size:.7rem;padding:.3rem .1rem}.placeid-input{font-size:.7rem;padding:.2rem .3rem}.powered-by-footer{padding-bottom:1.5rem}.powered-by-text{font-size:.7rem}.powered-by-logo{height:4.152rem;margin-left:.4rem;width:auto}.loyalty-card{border-radius:.7rem;max-width:98vw;min-width:0;padding:1rem .8rem}.loyalty-desc{font-size:.75rem;line-height:1.4;margin-left:0}.cards-vertical-stack{gap:1rem;margin-bottom:2rem;max-width:98vw;min-width:0;width:98vw}.checkin-header{font-size:14px;padding:10px 0}.checkin-icon{height:18px;width:18px}.captive-bg{padding-bottom:2vh;padding-top:10vh}}.circular-food-icon{border-radius:50%;object-fit:cover}.checkin-banner{margin-bottom:0;order:-1;width:100%}.checkin-header{align-items:center;background:linear-gradient(90deg,#33de08,#22c206);border-radius:50px;box-shadow:0 4px 12px #33de084d;color:#fff;display:flex;font-family:Poppins,sans-serif;font-size:18px;font-weight:600;gap:12px;justify-content:center;line-height:1.2;margin:0;padding:15px 0}.checkin-icon{flex-shrink:0;height:24px;width:24px}.checkin-icon img{height:100%;object-fit:contain;width:100%}.connectivity-status{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #0000000d;border-radius:.75rem;box-shadow:0 .25rem .75rem #0000001a;margin:1rem 0;padding:1rem;transition:all .3s ease}.status-header{align-items:center;display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.status-icon{font-size:1.25rem;line-height:1}.status-text{font-family:Poppins,Arial,sans-serif;font-size:.95rem;font-weight:600;text-align:center;transition:color .3s ease}.progress-container{margin:.75rem 0}.progress-bar{background:#0000001a;border-radius:.25rem;height:.5rem;margin-bottom:.5rem;overflow:hidden;width:100%}.progress-fill{background:#ff9800;border-radius:.25rem;height:100%;position:relative;transition:width .3s ease}.progress-fill:after{animation:progress-shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ffffff4d,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progress-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-text{color:#666;display:block;font-size:.8rem;font-weight:500}.error-message,.progress-text{font-family:Poppins,Arial,sans-serif;text-align:center}.error-message{background:#f443361a;border:1px solid #f4433633;border-radius:.5rem;color:#f44336;font-size:.85rem;margin:.75rem 0;padding:.75rem}.attempts-info{color:#666;font-size:.8rem;font-weight:500;margin:.5rem 0;text-align:center}.attempts-info,.retry-button{font-family:Poppins,Arial,sans-serif}.retry-button{background:linear-gradient(135deg,#ff9800,#ff5722);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:.02em;margin-top:.75rem;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease;width:100%}.retry-button:hover{box-shadow:0 .25rem .75rem #ff980066;transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}.connectivity-status.connected{background:#4caf500d;border-color:#4caf504d}.connectivity-status.connecting{background:#ff98000d;border-color:#ff98004d}.connectivity-status.failed{background:#f443360d;border-color:#f443364d}@media (max-width:480px){.connectivity-status{margin:.75rem 0;padding:.75rem}.status-text{font-size:.9rem}.progress-text{font-size:.75rem}.error-message{font-size:.8rem;padding:.5rem}.retry-button{font-size:.85rem;padding:.6rem 1.25rem}}
/*# sourceMappingURL=main.5e61dfe7.css.map*/