@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--coral:#e8563a;--coral-hover:#d44a2e;--coral-light:#fdf3f0;--coral-border:#fbcab8;--green:#1d9e75;--green-light:#f0faf5;--green-border:#a3e6c5;--dark:#1a1a1a;--bg:#fff;--bg-subtle:#f7f6f3;--bg-card:#fff;--text:#5a5754;--text-h:#1a1a1a;--border:#00000014;--border-mid:#00000024;--shadow-card:0 1px 3px #0000000f, 0 8px 24px #0000000a;--shadow-btn:0 4px 14px #e8563a59;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-xl:24px}@media (prefers-color-scheme:dark){:root{--bg:#141414;--bg-subtle:#1c1c1c;--bg-card:#1f1f1f;--text:#9a9793;--text-h:#f2f0ec;--border:#ffffff12;--border-mid:#ffffff21;--shadow-card:0 1px 3px #0006, 0 8px 24px #0000004d;--coral-light:#e8563a1f;--coral-border:#e8563a4d;--green-light:#1d9e751f;--green-border:#1d9e754d}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg-subtle);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-size:15px;line-height:1.6;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--font-display);color:var(--text-h);letter-spacing:-.025em;margin:0;line-height:1.1}p{margin:0}button{font-family:var(--font-body);cursor:pointer}input,select,textarea{font-family:var(--font-body)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:99px}.dashboard-container{background:var(--bg-card);border-radius:var(--r-xl);border:1px solid var(--border);width:100%;box-shadow:var(--shadow-card);flex-direction:column;gap:0;padding:1.75rem;display:flex}.dash-welcome{letter-spacing:.1em;text-transform:uppercase;color:var(--text);opacity:.6;margin-bottom:2px;font-size:10px;font-weight:600}.dash-name{font-family:var(--font-display);letter-spacing:-.02em;color:var(--text-h);margin-bottom:1.25rem;font-size:1.5rem;font-weight:800}.progress-section{margin-bottom:1.25rem}.progress-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.progress-label{color:var(--text);opacity:.7;font-size:11px}.progress-count{font-family:var(--font-display);color:var(--text-h);font-size:13px;font-weight:700}.progress-track{background:var(--bg-subtle);border-radius:99px;height:6px;margin-bottom:10px;overflow:hidden}.progress-fill{background:var(--coral);border-radius:99px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.progress-dots{gap:4px;display:flex}.progress-dot{background:var(--bg-subtle);border:1px solid var(--border);border-radius:3px;flex-shrink:0;width:13px;height:13px;transition:background .2s,border-color .2s}.progress-dot.filled{background:var(--coral);border-color:var(--coral)}.progress-dot.current{background:var(--coral-light);border:1.5px solid var(--coral)}.actions-stack{flex-direction:column;gap:8px;margin-bottom:1rem;display:flex}.btn-primary{background:var(--coral);color:#fff;border-radius:var(--r-md);width:100%;font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:var(--shadow-btn);-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;gap:8px;padding:13px;font-size:.875rem;font-weight:700;transition:background .2s,transform .1s;display:flex}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{background:var(--border-mid);box-shadow:none;cursor:not-allowed}.btn-share{background:var(--bg-subtle);width:100%;color:var(--text-h);border:1px solid var(--border);border-radius:var(--r-md);font-family:var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:6px;padding:11px;font-size:.875rem;font-weight:500;transition:background .2s,border-color .2s;display:flex}.btn-share:active{background:var(--border)}.pin-container{background:var(--bg-subtle);border-radius:var(--r-lg);text-align:center;padding:1.25rem}.pin-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text);opacity:.6;margin-bottom:14px;font-size:10px;font-weight:600;display:block}.pin-boxes{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.pin-box{background:var(--bg-card);border:1.5px solid var(--border-mid);border-radius:var(--r-md);width:52px;height:60px;font-family:var(--font-display);color:var(--text-h);justify-content:center;align-items:center;font-size:1.5rem;font-weight:800;transition:border-color .2s;display:flex}.pin-box.active{border-color:var(--coral);background:var(--coral-light)}.pin-box.empty{color:var(--border-mid)}.pin-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pin-actions{gap:8px;display:flex}.btn-cancel{color:var(--text);cursor:pointer;opacity:.6;background:0 0;border:none;flex:1;padding:10px;font-size:.875rem;font-weight:500}.btn-verify{background:var(--green);color:#fff;border-radius:var(--r-md);font-family:var(--font-display);cursor:pointer;border:none;flex:2;padding:11px;font-size:.875rem;font-weight:700;transition:opacity .2s}.btn-verify:disabled{opacity:.45;cursor:not-allowed}.coupon-card-container{margin-bottom:1.25rem}.coupon-card{background:var(--dark);border-radius:var(--r-lg);align-items:stretch;margin-bottom:8px;padding:16px 16px 16px 20px;display:flex;position:relative;overflow:hidden}.coupon-accent-bar{background:var(--coral);border-radius:2px 0 0 2px;width:4px;height:100%;position:absolute;top:0;left:0}.coupon-body{flex:1;padding-left:12px}.coupon-tag{letter-spacing:.12em;text-transform:uppercase;color:var(--coral);margin-bottom:4px;font-size:9px;font-weight:600}.coupon-title{font-family:var(--font-display);color:#f2f0ec;margin-bottom:4px;font-size:1rem;font-weight:800}.coupon-sub{color:#666;margin-bottom:8px;font-size:11px}.coupon-code{border-radius:var(--r-sm);color:var(--coral);letter-spacing:.15em;background:#e8563a26;border:1px solid #e8563a59;padding:4px 10px;font-family:Courier New,monospace;font-size:13px;font-weight:600;display:inline-block}.coupon-days-col{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;min-width:48px;display:flex}.coupon-days-num{font-family:var(--font-display);color:#f2f0ec;font-size:1.75rem;font-weight:800;line-height:1}.coupon-days-label{color:#666;text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:9px}.btn-whatsapp-remind{color:#fff;border-radius:var(--r-md);cursor:pointer;background:#25d366;border:none;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px;font-size:.85rem;font-weight:600;transition:opacity .2s;display:flex}.btn-whatsapp-remind:active{opacity:.85}.footer-text{color:var(--text);opacity:.5;text-align:center;margin-top:.75rem;font-size:.78rem;line-height:1.5}.loading-container{text-align:center;color:var(--text);opacity:.5;padding:3rem;font-size:.875rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (width<=380px){.dashboard-container{padding:1.25rem}.pin-box{width:44px;height:52px;font-size:1.25rem}}.main-wrapper{flex-direction:column;align-items:center;width:100%;max-width:480px;min-height:100vh;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex}main{flex-direction:column;align-items:center;width:100%;display:flex}.bistro-title{font-family:var(--font-display);letter-spacing:-.04em;color:var(--text-h);font-size:3.2rem;font-weight:800;line-height:1}.bistro-title .dot{color:var(--coral)}.proximity-badge{border-radius:var(--r-lg);background:var(--coral-light);border:1px solid var(--coral-border);align-items:center;gap:12px;width:100%;margin-bottom:1.5rem;padding:14px 16px;transition:all .3s;display:flex}.proximity-badge.near{background:var(--green-light);border-color:var(--green-border)}.prox-icon-wrap{border-radius:var(--r-sm);background:var(--coral);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;transition:background .3s;display:flex}.proximity-badge.near .prox-icon-wrap{background:var(--green)}.prox-label{letter-spacing:.1em;text-transform:uppercase;color:#993c1d;margin-bottom:2px;font-size:9px;font-weight:600}.proximity-badge.near .prox-label{color:#0f6e56}.prox-distance{font-family:var(--font-display);color:#4a1b0c;font-size:1.2rem;font-weight:700;line-height:1}.proximity-badge.near .prox-distance{color:#04342c}.gps-loader{color:var(--text);opacity:.6;align-items:center;gap:6px;margin-bottom:1.5rem;font-size:.8rem;display:flex}.error-alert{color:#991b1b;border-radius:var(--r-md);background:#fef2f2;border:1px solid #fecaca;width:100%;margin-bottom:1rem;padding:10px 14px;font-size:.85rem;font-weight:500}.loader-spinner{border:3px solid var(--border);border-top-color:var(--coral);border-radius:50%;width:36px;height:36px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.animate-fade-in{animation:.5s ease-out forwards fadeUp}.animate-bounce-slow{animation:2.5s ease-in-out infinite bounceSlow}.version-footer{letter-spacing:.12em;text-transform:uppercase;opacity:.3;color:var(--text);text-align:center;margin-top:3rem;font-size:10px;font-weight:600}@media (width<=380px){.bistro-title{font-size:2.6rem}.main-wrapper{padding:1rem .875rem 2.5rem}}
