@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-600:oklch(44.6% .03 256.802);--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.flex-shrink{flex-shrink:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.py-4{padding-block:calc(var(--spacing)*4)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-gray-600{color:var(--color-gray-600)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.shepherd-button{background:#3288e6;border:0;border-radius:3px;color:#ffffffbf;cursor:pointer;margin-right:.5rem;padding:.5rem 1.5rem;transition:all .5s ease}.shepherd-button:not(:disabled):hover{background:#196fcc;color:#ffffffbf}.shepherd-button.shepherd-button-secondary{background:#f1f2f3;color:#000000bf}.shepherd-button.shepherd-button-secondary:not(:disabled):hover{background:#d6d9db;color:#000000bf}.shepherd-button:disabled{cursor:not-allowed}.shepherd-footer{border-bottom-left-radius:5px;border-bottom-right-radius:5px;display:flex;justify-content:flex-end;padding:0 .75rem .75rem}.shepherd-footer .shepherd-button:last-child{margin-right:0}.shepherd-cancel-icon{background:transparent;border:none;color:#808080bf;cursor:pointer;font-size:2em;font-weight:400;margin:0;padding:0;transition:color .5s ease}.shepherd-cancel-icon:hover{color:#000000bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon{color:#808080bf}.shepherd-has-title .shepherd-content .shepherd-cancel-icon:hover{color:#000000bf}.shepherd-title{color:#000000bf;display:flex;flex:1 0 auto;font-size:1rem;font-weight:400;margin:0;padding:0}.shepherd-header{align-items:center;border-top-left-radius:5px;border-top-right-radius:5px;display:flex;justify-content:flex-end;line-height:2em;padding:.75rem .75rem 0}.shepherd-has-title .shepherd-content .shepherd-header{background:#e6e6e6;padding:1em}.shepherd-text{color:#000000bf;font-size:1rem;line-height:1.3em;padding:.75em}.shepherd-text p{margin-top:0}.shepherd-text p:last-child{margin-bottom:0}.shepherd-content{border-radius:5px;outline:none;padding:0}.shepherd-element{background:#fff;border:none;border-radius:5px;box-shadow:0 1px 4px #0003;margin:0;max-width:400px;opacity:0;outline:none;padding:0;transition:opacity .3s,visibility .3s;visibility:hidden;width:100%;z-index:9999}.shepherd-enabled.shepherd-element{opacity:1;visibility:visible}.shepherd-element[data-popper-reference-hidden]:not(.shepherd-centered){opacity:0;pointer-events:none;visibility:hidden}.shepherd-element,.shepherd-element *,.shepherd-element :after,.shepherd-element :before{box-sizing:border-box}.shepherd-arrow,.shepherd-arrow:before{height:16px;position:absolute;width:16px;z-index:-1}.shepherd-arrow:before{background:#fff;content:"";transform:rotate(45deg)}.shepherd-element[data-popper-placement^=top]>.shepherd-arrow{bottom:-8px}.shepherd-element[data-popper-placement^=bottom]>.shepherd-arrow{top:-8px}.shepherd-element[data-popper-placement^=left]>.shepherd-arrow{right:-8px}.shepherd-element[data-popper-placement^=right]>.shepherd-arrow{left:-8px}.shepherd-element.shepherd-centered>.shepherd-arrow{opacity:0}.shepherd-element.shepherd-has-title[data-popper-placement^=bottom]>.shepherd-arrow:before{background-color:#e6e6e6}.shepherd-target-click-disabled.shepherd-enabled.shepherd-target,.shepherd-target-click-disabled.shepherd-enabled.shepherd-target *{pointer-events:none}.shepherd-modal-overlay-container{height:0;left:0;opacity:0;overflow:hidden;pointer-events:none;position:fixed;top:0;transition:all .3s ease-out,height 0s .3s,opacity .3s 0s;width:100vw;z-index:9997}.shepherd-modal-overlay-container.shepherd-modal-is-visible{height:100vh;opacity:.5;transform:translateZ(0);transition:all .3s ease-out,height 0s 0s,opacity .3s 0s}.shepherd-modal-overlay-container.shepherd-modal-is-visible path{pointer-events:all}.loyalty-card{--color-primary: #ff69b4;--color-secondary: #ff1493;--color-primary-rgb: 255, 105, 180;--color-secondary-rgb: 255, 20, 147;--ink: #2C2520;--ink-soft: #6B5E54;--ink-muted: #8A7E72;--ink-faint: #A89888;--paper: var(--color-surface, #F0EDE5);--paper-raised: #FAF9F6;--paper-inset: #E8E3D9;--border: rgba(44, 37, 32, .08);--border-emphasis: rgba(44, 37, 32, .15);--shadow-sm: 0 1px 3px rgba(44, 37, 32, .06);--shadow-md: 0 2px 8px rgba(44, 37, 32, .08);--shadow-lg: 0 4px 16px rgba(44, 37, 32, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px}.loyalty-container{min-height:100vh;width:100%;display:flex;align-items:stretch;justify-content:center;background:transparent;padding:0;box-sizing:border-box;font-family:DM Sans,system-ui,-apple-system,sans-serif}.loyalty-card{width:100%;max-width:100%;border-radius:0;background-color:var(--paper);overflow:hidden;box-shadow:none;transition:none;position:relative}.loyalty-card:before{content:"";position:absolute;inset:0;background:var(--paper);opacity:.5;pointer-events:none;z-index:0;border-radius:0}.loyalty-card:hover{transform:none}.top-section{height:200px;position:relative;overflow:hidden;z-index:1}.restaurant-image{width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(180deg,#2c25201a,#2c252066 70%,#2c2520b3)}.top-section:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ff00804d,#ff800033,#ff03,#00ff8033,#0080ff4d,#8000ff4d,#ff008033 90%,#ff80004d);mix-blend-mode:overlay;animation:holographic 8s ease-in-out infinite;pointer-events:none;z-index:1}@keyframes holographic{0%,to{opacity:.6;background-position:0% 50%}25%{opacity:.8;background-position:50% 0%}50%{opacity:.5;background-position:100% 50%}75%{opacity:.7;background-position:50% 100%}}.loyalty-card--no-holographic .top-section:after{display:none}.border-decoration{position:absolute;top:0;left:0;width:140px;height:40px;background:var(--paper);border-bottom-right-radius:12px;transform:skew(-30deg);transform-origin:top left;box-shadow:-10px -10px 0 0 var(--paper)}.border-decoration:before{content:"";position:absolute;width:20px;height:20px;top:0;right:-20px;background:transparent;border-top-left-radius:12px;box-shadow:-8px -8px 0 4px var(--paper)}.border-decoration:after{content:"";position:absolute;width:20px;height:20px;bottom:-20px;left:0;background:transparent;border-top-left-radius:12px;box-shadow:-8px -8px 0 4px var(--paper)}.header-icons{position:absolute;top:0;width:100%;height:40px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;box-sizing:border-box;z-index:10}.logo-container{max-width:100px;height:40px;display:flex;align-items:center}.logo-img{max-width:100%;height:100%;object-fit:contain}.social-media{display:flex;align-items:center;gap:8px;padding:8px 15px}.social-icon{width:22px;height:22px;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.social-icon svg{width:100%;height:100%;fill:#fff;transition:fill .3s ease}.social-icon:hover svg{fill:#ffffffb3}.restaurant-info{position:absolute;bottom:15px;left:20px;right:20px;z-index:10}.restaurant-name{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.01em;margin:0;text-shadow:0 1px 8px rgba(44,37,32,.4)}.next-appointment{display:flex;flex-direction:column;align-items:flex-end;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);cursor:pointer}.appointment-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#fff9}.appointment-date{font-size:12px;font-weight:600;color:#fff;margin-top:2px}.schedule-btn{display:flex;align-items:center;gap:6px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0}.schedule-btn:active{background:#ffffff40}.schedule-btn svg{width:16px;height:16px}.restaurant-tagline{font-size:12px;color:#ffffffb3;letter-spacing:2px;margin:5px 0 0;text-transform:uppercase}.welcome-row{display:flex;align-items:center;gap:10px;margin-top:10px}.welcome-text-container{display:flex;flex-direction:column;flex:1}.welcome-avatar{width:36px;height:36px;border-radius:50%;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff}.welcome-label{font-size:10px;color:#fff9;text-transform:uppercase;letter-spacing:1px}.welcome-name{font-size:14px;font-weight:600;color:#fff}.welcome-login{display:flex;align-items:center;gap:10px;flex:1;background:#ffffff14;border:1.5px solid rgba(255,255,255,.15);border-radius:24px;padding:6px 12px 6px 6px;cursor:pointer;transition:background .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.welcome-login:active{background:#ffffff24;border-color:#ffffff40}.welcome-login .welcome-text-container{flex:1}.welcome-login .welcome-label{color:#ffffff80}.welcome-avatar--login{position:relative;background:#ffffff26;border-color:#ffffff40}.welcome-avatar--login svg{width:18px;height:18px;opacity:.85}.welcome-avatar-badge{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--color-primary, #ff69b4);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.welcome-login-chevron{width:18px;height:18px;fill:#fff6;flex-shrink:0}.welcome-logout{width:30px;height:30px;border-radius:50%;background:#ffffff14;border:1px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .15s ease;-webkit-tap-highlight-color:transparent;padding:0}.welcome-logout svg{width:14px;height:14px;color:#ffffff80}.welcome-logout:active{background:#ffffff26}.card-number{font-size:12px;color:var(--ink-soft, #6B5E54);letter-spacing:2px;margin-top:4px;font-weight:500;font-family:Courier New,monospace}.user-section{display:flex;align-items:center;gap:15px;padding:20px;background:linear-gradient(180deg,rgba(var(--color-primary-rgb),.1) 0%,transparent 100%);position:relative;z-index:1}.user-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;color:#fff}.user-info{display:flex;flex-direction:column}.welcome-text{font-size:12px;color:var(--ink-soft, #6B5E54);text-transform:uppercase;letter-spacing:1px}.user-name{font-size:18px;font-weight:600;color:var(--ink, #2C2520);margin-top:2px}.points-section{padding:25px 20px;text-align:center;position:relative;z-index:1}.points-display{display:flex;flex-direction:column;align-items:center}.points-number{font-size:64px;font-weight:800;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}.points-label{font-size:14px;color:var(--ink-soft, #6B5E54);letter-spacing:4px;margin-top:5px}.progress-section{padding:0 20px 20px;position:relative;z-index:1}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.progress-title{font-size:12px;color:var(--ink-soft, #5C5047)}.progress-count{font-size:12px;color:var(--color-primary);font-weight:600}.progress-bar-container{height:6px;background:#2c25201a;border-radius:3px;overflow:hidden;margin-bottom:20px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:3px;transition:width .5s ease-out}.stamps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.stamp{aspect-ratio:1;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;transition:all .3s ease}.stamp-empty,.stamp-filled{background:transparent;border:none}.paw-icon,.stamp-svg{width:100%;height:100%;object-fit:contain;transition:all .3s ease}.stamp-filled .paw-icon,.stamp-filled .stamp-svg{opacity:1}.stamp-empty .paw-icon,.stamp-empty .stamp-svg{opacity:.3}.reward-section{display:flex;align-items:center;gap:15px;padding:20px;margin:0 20px;background:var(--paper-raised, #FAF9F6);border-radius:var(--radius-lg, 16px);border:1px solid var(--border, rgba(44, 37, 32, .08));box-shadow:var(--shadow-sm, 0 1px 3px rgba(44, 37, 32, .06));position:relative;z-index:1}.reward-icon{width:50px;height:50px;border-radius:12px;background:rgba(var(--color-primary-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}.reward-icon svg{width:26px;height:26px;fill:var(--color-primary)}.reward-info{display:flex;flex-direction:column}.reward-label{font-size:12px;color:var(--ink-soft, #6B5E54)}.reward-name{font-size:18px;font-weight:700;color:var(--ink, #2C2520);margin-top:4px}.stats-cashback-notice{margin:12px 20px 0;padding:8px 12px;font-size:11px;color:var(--ink-muted, #8A7E72);line-height:1.4;text-align:center;border-radius:6px;background:rgba(var(--color-primary-rgb),.04);border:1px solid var(--border, rgba(44, 37, 32, .06))}.stats-section{display:flex;justify-content:space-between;padding:14px 20px;margin-top:6px;position:relative;z-index:1}.stat-item{flex:1;text-align:center;display:flex;flex-direction:column;gap:2px;background:none;border:none;padding:6px 4px;cursor:pointer;border-radius:10px;transition:all .2s ease;position:relative}.stat-item:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--color-primary);opacity:0;transition:opacity .2s ease}.stat-item--active:after{opacity:1}.stat-item:not(.stat-item--active) .stat-value{opacity:.45}.stat-item:not(.stat-item--active) .stat-label{opacity:.45}.stat-item--active .stat-value{color:var(--color-primary)}.stat-item--active .stat-label{color:var(--color-primary);font-weight:700}.stat-bordered{border-left:1px solid var(--border, rgba(44, 37, 32, .08));border-right:1px solid var(--border, rgba(44, 37, 32, .08))}.stat-cashback-badge{display:block;margin-top:2px;font-size:10px;font-weight:700;color:var(--color-primary);opacity:1!important;letter-spacing:.02em}.stat-value{font-size:18px;font-weight:700;color:var(--ink, #2C2520);letter-spacing:-.02em;font-variant-numeric:tabular-nums}.stat-label{font-size:11px;color:var(--ink-muted, #8A7E72);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.action-section{padding:0 20px 25px;position:relative;z-index:1;display:flex;flex-direction:column;gap:10px}.action-row{display:flex;gap:10px}.action-row .action-button{flex:1;font-size:14px;padding:14px 12px}.action-button{width:100%;padding:16px 24px;border:none;border-radius:var(--radius-md, 12px);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.action-button svg{width:22px;height:22px}.checkin-button{background:linear-gradient(45deg,var(--color-primary),var(--color-secondary));color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.25)}.checkin-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.3)}.checkin-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px rgba(var(--color-primary-rgb),.2)}.redeem-button{background:#d4910a;color:#fff;animation:pulse 2s infinite;border:2px dashed rgba(255,255,255,.4);box-shadow:0 2px 8px #d4910a40}.redeem-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #d4910a4d}.action-button--scan{background:transparent;border:1.5px solid var(--color-primary);color:var(--color-primary);box-shadow:none}.action-button--scan svg{fill:var(--color-primary)}.action-button--scan:hover:not(:disabled){background:rgba(var(--color-primary-rgb),.06);transform:translateY(-1px)}.action-button--scan:active:not(:disabled){background:rgba(var(--color-primary-rgb),.12);transform:translateY(0)}@keyframes pulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 10px #fbbf2400}}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tab-content-fade{animation:tabFadeIn .25s ease-out}.tab-content-no-stats{padding-top:20px}@media(max-width:480px){.loyalty-container{padding:0}.loyalty-card{border-radius:0}.restaurant-name{font-size:22px}.points-number{font-size:52px}.stamps-grid{gap:8px}.stamp{border-radius:10px}}.loyalty-card.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;background:var(--color-tertiary, transparent);color:var(--ink-soft, #6B5E54)}.loading-spinner{width:40px;height:40px;border:3px solid rgba(44,37,32,.1);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.loyalty-card.error{display:flex;align-items:center;justify-content:center;min-height:400px;color:#ff6b6b}.action-button:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.reward-clickable{cursor:pointer;transition:all .3s ease}.reward-clickable:hover{background:#2c25200f;transform:translate(5px)}.reward-arrow{margin-left:auto;opacity:.5;transition:all .3s ease}.reward-arrow svg{width:20px;height:20px;fill:var(--ink-muted, #8A7E72)}.reward-clickable:hover .reward-arrow{opacity:1;transform:translate(3px)}.rewards-modal-overlay{position:fixed;inset:0;background:#2c2520cc;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.rewards-modal{width:100%;max-width:400px;max-height:80vh;background:var(--paper);border-radius:20px;overflow:hidden;box-shadow:0 25px 50px -12px #2c25204d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.rewards-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid rgba(44,37,32,.1)}.rewards-modal-header h2{margin:0;font-size:18px;font-weight:700;color:var(--ink, #2C2520)}.modal-close{width:32px;height:32px;border:none;background:#2c252014;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{background:#2c252026}.modal-close svg{width:18px;height:18px;fill:var(--ink-soft, #6B5E54)}.rewards-list{max-height:50vh;overflow-y:auto;padding:10px}.reward-item{display:flex;align-items:center;gap:15px;padding:15px;border-radius:12px;background:#2c252008;margin-bottom:10px;transition:all .3s ease;opacity:.6}.reward-item:last-child{margin-bottom:0}.reward-informativa{opacity:1;background:rgba(var(--color-primary-rgb),.06);border:1px solid rgba(var(--color-primary-rgb),.12)}.reward-informativa .reward-item-icon{background:rgba(var(--color-primary-rgb),.12)}.reward-informativa .reward-item-icon svg{fill:var(--color-primary)}.reward-available{opacity:1;background:rgba(var(--color-primary-rgb),.15);border:1px solid rgba(var(--color-primary-rgb),.3)}.reward-item-icon{width:40px;height:40px;border-radius:10px;background:rgba(var(--color-primary-rgb),.15);display:flex;align-items:center;justify-content:center;flex-shrink:0}.reward-item-icon svg{width:20px;height:20px;fill:var(--color-primary)}.reward-item-content{flex:1;display:flex;flex-direction:column;gap:4px}.reward-item-name{font-size:14px;font-weight:600;color:var(--ink, #2C2520)}.reward-item-desc{font-size:12px;color:var(--ink-soft, #6B5E54);line-height:1.4}.reward-item-cost{display:flex;flex-direction:column;align-items:center;padding:8px 12px;background:#2c25200d;border-radius:10px;flex-shrink:0}.cost-value{font-size:18px;font-weight:700;color:var(--color-primary)}.cost-label{font-size:10px;color:var(--ink-soft, #6B5E54);text-transform:uppercase}.rewards-section-title{display:flex;align-items:center;gap:8px;padding:12px 0 8px;font-size:13px;font-weight:600;color:var(--ink, #2C2520);border-bottom:1px solid rgba(44,37,32,.08);margin-bottom:8px;flex-wrap:wrap}.rewards-section-title:not(:first-child){margin-top:16px}.section-icon{font-size:16px}.section-hint{font-size:11px;font-weight:400;color:var(--ink-soft, #6B5E54);width:100%;margin-top:2px}.reward-milestone .reward-item-icon svg{fill:#9c27b0}.reward-consumable .reward-item-icon svg{fill:var(--color-primary)}.reward-milestone.reward-available{border-color:#9c27b0;background:#9c27b00d}.reward-milestone .cost-value{color:#9c27b0}.reward-redeem-btn{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--color-primary);border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;position:relative}.reward-redeem-btn .scissors-icon{width:16px;height:16px}.reward-redeem-btn:active:not(:disabled){opacity:.85}.reward-redeem-btn:disabled{opacity:.6;cursor:not-allowed}.reward-redeem-btn.milestone-btn{background:#9c27b0;color:#fff}.reward-redeem-btn.milestone-btn:active:not(:disabled){opacity:.85}.rewards-modal-footer{padding:15px 20px;border-top:1px solid rgba(44,37,32,.1);text-align:center}.rewards-modal-footer p{margin:0;font-size:14px;color:var(--ink-soft, #5C5047)}.rewards-modal-footer strong{color:var(--color-primary)}.rewards-empty{padding:32px 16px;text-align:center;color:var(--ink-muted, #8A7E72);font-size:14px}.reward-item-cost-label{font-size:11px;color:var(--ink-muted, #8A7E72);margin-top:2px}.rewards-modal--confirm{max-width:340px}.confirm-content{padding:20px 16px;text-align:center}.confirm-promo-name{font-size:18px;font-weight:700;color:var(--ink, #2C2520);margin-bottom:6px}.confirm-promo-desc{font-size:13px;color:var(--ink-soft, #6B5E54);margin:0 0 16px;line-height:1.4}.confirm-summary{background:#2c252008;border-radius:12px;padding:12px 16px;text-align:left}.confirm-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;color:var(--ink, #2C2520)}.confirm-row--cost{color:#e53935}.confirm-row--result{font-weight:700;color:var(--ink, #2C2520)}.confirm-divider{height:1px;background:#2c25201a;margin:4px 0}.confirm-note{font-size:13px;color:var(--ink-soft, #6B5E54);margin:0;font-style:italic}.confirm-actions{display:flex;gap:10px;padding:16px;border-top:1px solid rgba(44,37,32,.06)}.confirm-btn{flex:1;padding:12px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;border:none;transition:opacity .2s}.confirm-btn:disabled{opacity:.5;cursor:not-allowed}.confirm-btn--cancel{background:#2c25200f;color:var(--ink-soft, #5C5047)}.confirm-btn--redeem{background:var(--color-primary, #ff69b4);color:#fff}.confirm-approval-note{font-size:12px;color:var(--ink-muted, #8A7E72);margin:12px 0 0;line-height:1.4}.reward-pending{opacity:.7}.reward-pending-badge{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:60px}.reward-pending-badge .pending-icon{width:22px;height:22px;fill:#f59e0b}.reward-pending-badge span{font-size:10px;font-weight:600;color:#f59e0b;text-transform:uppercase;letter-spacing:.5px}.dcards-footer{display:flex;align-items:center;justify-content:center;gap:5px;padding:20px;background:var(--color-tertiary, var(--paper-inset, #E8E3D9));border-top:1px solid var(--border, rgba(44, 37, 32, .08));position:relative;z-index:1;text-decoration:none;cursor:pointer;transition:opacity .2s}.dcards-footer:active{opacity:.7}.dcards-footer span{font-size:10px;color:var(--tertiary-text-muted, var(--ink-faint, #A89888));letter-spacing:.02em}.dcards-footer-sep{opacity:.4}.dcards-footer-brand{opacity:.7}.dcards-footer-logo{height:28px;width:auto;object-fit:contain}.qr-modal-overlay{position:fixed;inset:0;background:#2c2520d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.qr-modal{width:100%;max-width:340px;animation:slideUp .3s ease}.qr-modal-header{display:flex;justify-content:flex-end;margin-bottom:15px}.qr-modal-header .modal-close{width:36px;height:36px;border:none;background:#ffffff26;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.qr-modal-header .modal-close:hover{background:#ffffff40}.qr-modal-header .modal-close svg{width:20px;height:20px;fill:#fff}.qr-card{background:var(--color-tertiary, var(--color-primary));border-radius:24px;padding:30px 25px;display:flex;flex-direction:column;align-items:center;box-shadow:0 20px 60px #2c252066;position:relative;overflow:hidden}.qr-card:before,.qr-card:after{content:none}.qr-card-top{display:flex;flex-direction:column;align-items:center;margin-bottom:25px;position:relative;z-index:2}.qr-business-logo{width:100px;height:100px;object-fit:contain;margin-bottom:12px}.qr-business-name{margin:0;font-size:22px;font-weight:700;color:var(--tertiary-text, white);text-align:center;text-shadow:0 2px 10px rgba(44,37,32,.2)}.qr-code-container{background:#fff;padding:15px;border-radius:16px;box-shadow:0 10px 30px #2c252033;margin-bottom:25px;position:relative;z-index:2}.qr-code-img{width:180px;height:180px;display:block}.qr-user-info{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:15px;position:relative;z-index:2}.qr-avatar{width:50px;height:50px;border-radius:50%;background:var(--tertiary-border, rgba(255, 255, 255, .25));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;color:var(--tertiary-text, white);border:2px solid var(--tertiary-border, rgba(255, 255, 255, .5))}.qr-user-name{font-size:16px;font-weight:600;color:var(--tertiary-text, white)}.qr-instruction{margin:0;font-size:13px;color:var(--tertiary-text-soft, rgba(255, 255, 255, .8));text-align:center;position:relative;z-index:2}.qr-scan-ticket-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:16px;padding:14px 20px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:600;cursor:pointer;position:relative;z-index:2;transition:transform .15s ease,opacity .15s ease}.qr-scan-ticket-btn:active{transform:scale(.97)}.qr-scan-ticket-btn svg{width:20px;height:20px;fill:#fff}.balance-section{padding:0 20px 16px;position:relative;z-index:1}.balance-card{position:relative;height:100%;width:100%;padding:20px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border-radius:16px;box-shadow:0 8px 32px rgba(var(--color-primary-rgb),.3);color:#fff;min-height:140px;overflow:hidden}.balance-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.05) 50%,transparent 100%);pointer-events:none;border-radius:16px}.balance-card-header{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}.balance-card-left{display:flex;flex-direction:column}.balance-label-small{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#ffffff80;font-weight:700;margin-bottom:6px}.balance-icon-circle{width:32px;height:32px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,255,255,.2)}.balance-icon-svg{width:18px;height:18px;fill:#fff}.balance-icon-img{width:100%;height:100%;object-fit:cover}.balance-card-right{text-align:right}.balance-card-right .balance-label-small{display:block;margin-bottom:4px;color:#fff6;letter-spacing:.15em;font-weight:600}.balance-amount{font-size:28px;font-weight:300;letter-spacing:-.02em}.balance-card-footer{display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1;margin-top:15px}.balance-info{display:flex;flex-direction:column;gap:4px}.balance-business-name{margin:0;font-size:15px;font-weight:500;color:#ffffffe6}.balance-card-number{margin:0;font-size:11px;color:#fff6;font-family:Courier New,monospace;letter-spacing:.15em}.balance-nfc-circle{width:40px;height:40px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center}.balance-nfc-icon{width:22px;height:22px;stroke:#ffffff80}.loyalty-tabs{padding:0 20px 16px;position:relative;z-index:1}.loyalty-tabs-header{display:flex;background:rgba(var(--color-primary-rgb),.08);border:1px solid var(--tertiary-border, rgba(44, 37, 32, .08));border-radius:12px;padding:3px;gap:2px;margin-bottom:16px}.loyalty-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 8px;border:none;border-radius:10px;background:transparent;color:var(--tertiary-text-muted, var(--ink-muted, #8A7E72));font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.loyalty-tab svg{width:16px;height:16px;fill:currentColor;flex-shrink:0}.loyalty-tab--active{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.3)}.loyalty-tab:not(.loyalty-tab--active):active{background:var(--tertiary-card-hover, rgba(var(--color-primary-rgb), .1))}.loyalty-tabs-content{position:relative}.loyalty-tabs-content .stamp-card-section,.loyalty-tabs-content .balance-section,.loyalty-tabs-content .promo-hero-section{padding:0}.stamp-card-section{padding:0 20px 16px;position:relative;z-index:1}.stamp-card-section--standalone{padding-top:20px;border-top:1px solid var(--tertiary-border, rgba(255, 255, 255, .1));margin-top:4px}.stamp-card{background:var(--tertiary-card, var(--paper-raised, #FAF9F6));border-radius:var(--radius-lg, 16px);padding:20px;box-shadow:0 1px 3px var(--tertiary-card-shadow, rgba(44, 37, 32, .06));border:1px solid var(--tertiary-border, rgba(44, 37, 32, .08))}.stamp-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;gap:12px}.stamp-card-header-left{flex:1;min-width:0}.stamp-card-title{font-size:18px;font-weight:700;color:var(--tertiary-text, var(--ink, #2C2520));margin:0 0 4px;line-height:1.2}.stamp-card-subtitle{font-size:13px;color:var(--tertiary-text-soft, var(--ink-soft, #6B5E54));margin:0}.stamp-card-badge{display:flex;align-items:center;gap:4px;background:transparent;color:var(--color-primary);padding:6px 10px 6px 12px;border:2px dashed var(--color-primary);border-radius:20px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;cursor:pointer;flex-shrink:0}.stamp-card-badge:active{background:rgba(var(--color-primary-rgb),.1)}.stamp-card-badge-icon{width:14px;height:14px}.stamp-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.stamp-card-item{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.stamp-card-item--filled{background:rgba(var(--color-primary-rgb),.1);box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3);border:2px solid var(--color-primary)}.stamp-card-item--empty{border:2px dashed rgba(var(--color-primary-rgb),.2);background:transparent}.stamp-card-item--empty.stamp-card-item--reward{border-color:rgba(var(--color-secondary-rgb),.3);background:rgba(var(--color-secondary-rgb),.08)}.stamp-card-icon{width:85%;height:85%;object-fit:contain;border-radius:50%}.stamp-card-number{font-size:12px;font-weight:700;color:var(--tertiary-text-muted, rgba(var(--color-primary-rgb), .3))}.stamp-card-gift-icon{width:50%;height:50%;fill:var(--color-secondary)}.stamp-card-progress{display:flex;flex-direction:column;gap:8px}.stamp-card-progress-header{display:flex;justify-content:space-between;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--tertiary-text-muted, var(--ink-muted, #8A7E72))}.stamp-card-progress-bar{height:8px;width:100%;background:rgba(var(--color-primary-rgb),.1);border-radius:10px;overflow:hidden}.stamp-card-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:10px;transition:width .5s ease-out}.promo-hero-section{padding:0 20px 16px;position:relative;z-index:1}.promo-hero-card{position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;flex-direction:column;justify-content:flex-end;padding:24px}.promo-hero-bg{position:absolute;inset:0;opacity:.4;mix-blend-mode:overlay}.promo-hero-img{width:100%;height:100%;object-fit:cover}.promo-hero-content{position:relative;z-index:10;display:flex;flex-direction:column;gap:16px}.promo-hero-text{display:flex;flex-direction:column;gap:6px}.promo-hero-badge{display:inline-block;align-self:flex-start;padding:6px 12px;border-radius:20px;background:#ffc107e6;color:#0c1b1d;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}.promo-hero-title{color:#fff;font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.02em;margin:0}.promo-hero-subtitle{color:#fffc;font-size:14px;font-weight:500;margin:0}.promo-hero-buttons{display:flex;gap:12px}.promo-hero-btn{height:48px;border-radius:12px;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.promo-hero-btn:active{transform:scale(.95)}.promo-hero-btn--primary{flex:1;background:#fff;color:var(--color-primary);box-shadow:0 4px 15px #2c25201a}.promo-hero-btn--primary:hover{box-shadow:0 6px 20px #2c252026}.promo-hero-btn--secondary{padding:0 24px;background:rgba(var(--color-primary-rgb),.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);color:#fff}.promo-hero-btn--secondary:hover{background:rgba(var(--color-primary-rgb),.5)}.appointment-modal-overlay{position:fixed;inset:0;background:#2c252099;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@media(min-width:640px){.appointment-modal-overlay{align-items:center}}.appointment-modal{width:100%;max-width:430px;max-height:90vh;background:var(--paper);border-radius:16px 16px 0 0;overflow:hidden;box-shadow:0 -10px 50px #2c252040;display:flex;flex-direction:column;animation:slideUpModal .3s ease}@media(min-width:640px){.appointment-modal{border-radius:16px;animation:slideUp .3s ease}}@keyframes slideUpModal{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.appointment-modal-header{padding:24px 24px 16px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(44,37,32,.05)}.appointment-modal-header h2{margin:0;font-size:20px;font-weight:700;color:var(--ink, #2C2520);letter-spacing:-.02em}.appointment-subtitle{margin:4px 0 0;font-size:13px;color:var(--ink-soft, #6B5E54)}.appointment-close-btn{width:32px;height:32px;border:none;background:#2c25200d;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;flex-shrink:0}.appointment-close-btn:hover{background:#2c25201a}.appointment-close-btn svg{width:18px;height:18px;fill:var(--ink-soft, #6B5E54)}.appointment-modal-content{flex:1;overflow-y:auto;padding:24px}.appointment-section{margin-bottom:32px}.appointment-section:last-of-type{margin-bottom:0}.appointment-section h3{margin:0 0 16px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted, #8A7E72)}.appointment-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.appointment-section-header h3{margin:0}.appointment-month{font-size:13px;font-weight:700;color:var(--color-primary);text-transform:capitalize}.appointment-dates{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.appointment-dates::-webkit-scrollbar{display:none}.appointment-date-item{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:60px;height:80px;border-radius:12px;border:1px solid rgba(44,37,32,.05);background:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0}.appointment-date-item:hover{background:#2c252008}.appointment-date-item.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.3)}.date-day-name{font-size:11px;font-weight:500;opacity:.6}.appointment-date-item.selected .date-day-name{opacity:.8}.date-day-number{font-size:18px;font-weight:700;margin-top:4px}.appointment-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.appointment-slot{display:flex;flex-direction:column;align-items:center;padding:14px 12px;border-radius:12px;border:1px solid rgba(44,37,32,.05);background:#fff;cursor:pointer;transition:all .2s ease}.appointment-slot:hover:not(.unavailable){border-color:rgba(var(--color-primary-rgb),.4)}.appointment-slot.selected{border:2px solid var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.appointment-slot.unavailable{opacity:.4;cursor:not-allowed}.slot-time{font-size:14px;font-weight:700;color:var(--ink, #2C2520)}.appointment-slot.selected .slot-time{color:var(--color-primary)}.slot-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.slot-status.available{display:flex;align-items:center;gap:4px;color:var(--ink-muted, #8A7E72)}.slot-indicator{width:6px;height:6px;border-radius:50%;background:#22c55e}.slot-status.selected{color:var(--color-primary)}.slot-status.full{color:var(--ink-muted, #8A7E72)}.appointment-info-note{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;background:#2c252008;border:1px solid rgba(44,37,32,.03);margin-top:24px}.appointment-info-note svg{width:20px;height:20px;fill:var(--color-primary);flex-shrink:0}.appointment-info-note p{margin:0;font-size:12px;color:var(--ink-soft, #5C5047);line-height:1.5}.appointment-modal-footer{padding:24px;background:var(--paper);border-top:1px solid rgba(44,37,32,.05)}.appointment-confirm-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 24px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 15px rgba(var(--color-primary-rgb),.3)}.appointment-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--color-primary-rgb),.4)}.appointment-confirm-btn:active:not(:disabled){transform:translateY(0)}.appointment-confirm-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.appointment-confirm-btn svg{width:18px;height:18px}.menu-button.action-button{background:var(--color-primary);border:none;color:#fff;box-shadow:none}.menu-button.action-button svg{fill:#fff}.menu-button.action-button:hover:not(:disabled){background:var(--color-primary);opacity:.9;transform:translateY(-1px)}.menu-button.action-button:active{background:var(--color-primary);opacity:.85;transform:translateY(0)}.promo-carousel{padding:4px 0 8px;overflow:hidden;background:var(--color-tertiary, transparent);position:relative;z-index:1;display:flex;justify-content:center}.promo-carousel-scroll{display:flex;gap:10px;overflow-x:auto;padding:0 24px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%;width:fit-content}.promo-carousel-scroll::-webkit-scrollbar{display:none}.promo-carousel-card{flex-shrink:0;width:160px;padding:14px;background:var(--color-primary);border:1px solid rgba(var(--color-primary-rgb),.3);border-radius:var(--radius-md, 12px);cursor:pointer;scroll-snap-align:start;transition:transform .15s ease,box-shadow .15s ease;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.15)}.promo-carousel-card:active{transform:scale(.97)}.promo-carousel-card--ready{box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.35);border-color:#ffffff4d}.promo-carousel-card-icon{width:28px;height:28px}.promo-carousel-card-icon svg{width:100%;height:100%;fill:#fff}.promo-carousel-card-content{display:flex;flex-direction:column;gap:2px}.promo-carousel-card-name{font-size:13px;font-weight:600;color:#fff;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.promo-carousel-card-cost{font-size:11px;color:#ffffffb3}.promo-carousel-card-progress{display:flex;flex-direction:column;gap:4px;margin-top:auto}.promo-carousel-card-progress-bar{width:100%;height:4px;background:#fff3;border-radius:2px;overflow:hidden}.promo-carousel-card-progress-fill{height:100%;background:#fff;border-radius:2px;transition:width .3s ease}.promo-carousel-card-remaining{font-size:11px;color:#fff9}.promo-carousel-card-ready{font-size:11px;font-weight:700;color:#fff}.promo-carousel-card--redeemed{opacity:.6}.promo-carousel-card-status{margin-top:auto}.promo-carousel-card-redeemed{font-size:11px;font-weight:600;color:#4caf50;display:flex;align-items:center;gap:4px}.promo-carousel-card-pending{font-size:11px;font-weight:600;color:#ff9800;display:flex;align-items:center;gap:4px}.promo-detail-overlay{position:fixed;inset:0;background:#2c2520d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.promo-detail-modal{width:100%;max-width:480px;background:#fffdf8;border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden;max-height:85vh}.promo-detail-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;background:#2c25200f;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s ease}.promo-detail-close:active{background:#2c25201f}.promo-detail-close svg{width:18px;height:18px;fill:#2c2520}.promo-detail-image{width:100%;height:180px;overflow:hidden;position:relative}.promo-detail-image img{width:100%;height:100%;object-fit:cover}.promo-detail-content{padding:24px 20px 16px;display:flex;flex-direction:column;gap:10px;position:relative}.promo-detail-type{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-primary)}.promo-detail-title{font-size:22px;font-weight:700;color:#2c2520;margin:0;letter-spacing:-.01em;line-height:1.2}.promo-detail-desc{font-size:15px;color:#6b5e54;line-height:1.5;margin:0}.promo-detail-cost{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--color-primary)}.promo-detail-cost svg{width:18px;height:18px;fill:var(--color-primary)}.promo-detail-expiry{display:flex;align-items:center;gap:6px;font-size:13px;color:#8a7e72}.promo-detail-expiry svg{width:16px;height:16px;fill:#8a7e72}.promo-detail-footer{padding:16px 20px 24px;padding-bottom:max(24px,env(safe-area-inset-bottom,24px))}.promo-detail-redeem-btn{width:100%;padding:16px 24px;border:none;border-radius:14px;background:var(--color-primary);color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s ease,opacity .15s ease;box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}.promo-detail-redeem-btn:active{transform:scale(.97)}.promo-detail-redeem-btn:disabled{opacity:.6}.promo-detail-redeem-btn svg{width:20px;height:20px;fill:#fff}.promo-detail-redeemed-badge{width:100%;padding:16px 24px;border-radius:14px;background:#4caf501a;border:1px solid rgba(76,175,80,.2);color:#4caf50;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.promo-detail-redeemed-badge svg{width:22px;height:22px;fill:#4caf50}.promo-detail-pending-badge{width:100%;padding:16px 24px;border-radius:14px;background:#ff98001a;border:1px solid rgba(255,152,0,.2);color:#ff9800;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.promo-detail-pending-badge svg{width:20px;height:20px;fill:#ff9800}.promo-detail-info-badge{width:100%;padding:16px 24px;border-radius:14px;background:rgba(var(--color-primary-rgb),.08);color:var(--color-primary);font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.promo-detail-info-badge svg{width:20px;height:20px;fill:var(--color-primary)}.promo-detail-locked{width:100%;padding:16px 24px;border-radius:14px;background:#2c25200a;border:1px solid rgba(44,37,32,.08);color:#8a7e72;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}.promo-detail-locked svg{width:20px;height:20px;fill:#8a7e72}.promo-detail-modal--confirm{padding:24px 20px;padding-bottom:max(24px,env(safe-area-inset-bottom,24px));text-align:center;position:relative}.promo-detail-confirm-icon{width:56px;height:56px;margin:0 auto 16px;background:rgba(var(--color-primary-rgb),.1);border-radius:50%;display:flex;align-items:center;justify-content:center}.promo-detail-confirm-icon svg{width:28px;height:28px;fill:var(--color-primary)}.promo-detail-confirm-title{font-size:20px;font-weight:700;color:#2c2520;margin:0 0 4px}.promo-detail-confirm-name{font-size:15px;color:#6b5e54;margin:0 0 20px}.promo-detail-confirm-summary{background:#2c252008;border-radius:12px;padding:14px 16px;margin-bottom:20px;text-align:left}.confirm-summary-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#6b5e54;padding:4px 0}.confirm-summary-row--cost{color:#ef5350}.confirm-summary-divider{height:1px;background:#2c252014;margin:6px 0}.confirm-summary-row--result{font-weight:700;color:#2c2520}.promo-detail-confirm-note{font-size:14px;color:#8a7e72;margin:0 0 20px}.promo-detail-confirm-actions{display:flex;gap:12px}.promo-detail-btn{flex:1;padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.promo-detail-btn:active{transform:scale(.97)}.promo-detail-btn:disabled{opacity:.6}.promo-detail-btn--cancel{background:#2c25200f;color:#6b5e54}.promo-detail-btn--redeem{background:var(--color-primary);color:#fff;box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}.menu-modal-overlay{position:fixed;inset:0;background:#2c2520d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.menu-modal{width:100%;max-width:480px;max-height:85vh;background:var(--color-tertiary, var(--modal-bg, #1a1a2e));border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease}.menu-modal-hero{position:relative;height:140px;flex-shrink:0;overflow:hidden;border-radius:20px 20px 0 0}.menu-modal-hero-img{width:100%;height:100%;object-fit:cover}.menu-modal-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#2c25201a,#2c252099 60%,#2c2520d9)}.menu-modal-hero-content{position:absolute;bottom:14px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:6px;z-index:2}.menu-modal-hero-logo{width:36px;height:36px;object-fit:contain;border-radius:8px}.menu-modal-hero-logo--large{width:120px;height:60px}.menu-modal-hero-text{display:flex;flex-direction:column}.menu-modal-hero-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:#fff9}.menu-modal-hero-name{font-size:18px;font-weight:700;color:#fff;margin:0;letter-spacing:-.01em;text-shadow:0 1px 6px rgba(44,37,32,.3)}.menu-modal-topbar{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px 12px;position:relative}.menu-modal-topbar-logo{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:0 32px}.menu-modal-topbar-label{font-size:13px;font-weight:600;color:var(--tertiary-text-soft, rgba(255, 255, 255, .7));letter-spacing:.04em;text-transform:uppercase}.menu-modal-hero-close{position:absolute;top:16px;right:20px;width:32px;height:32px;border:none;background:var(--tertiary-border, rgba(44, 37, 32, .3));border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;transition:background .15s ease}.menu-modal-hero-close:active{background:var(--tertiary-card-hover, rgba(44, 37, 32, .5))}.menu-modal-hero-close svg{width:18px;height:18px;fill:var(--tertiary-text, white)}.menu-modal-balance{display:flex;align-items:center;justify-content:space-between;margin:12px 16px;padding:14px 16px;background:var(--color-primary);border-radius:12px;color:#fff;box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.25)}.menu-modal-balance-left{display:flex;flex-direction:column;gap:2px}.menu-modal-balance-label{font-size:10px;color:#ffffffb3;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.menu-modal-balance-amount{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums}.menu-modal-balance-icon svg{width:24px;height:24px;fill:#ffffff80}.menu-modal-tabs{display:flex;gap:6px;padding:0 16px 14px;overflow-x:auto;flex-shrink:0;-webkit-overflow-scrolling:touch;scrollbar-width:none}.menu-modal-tabs::-webkit-scrollbar{display:none}.menu-modal-tab{padding:7px 16px;border-radius:8px;border:1px solid var(--tertiary-border, rgba(255, 255, 255, .1));background:transparent;color:var(--tertiary-text-soft, rgba(255, 255, 255, .5));font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease;flex-shrink:0}.menu-modal-tab:active{background:var(--tertiary-card-hover, rgba(255, 255, 255, .06))}.menu-modal-tab--active{background:var(--color-primary, #ff69b4);border-color:var(--color-primary, #ff69b4);color:#fff;font-weight:600}.menu-modal-body{flex:1;overflow-y:auto;padding:0 20px 24px;-webkit-overflow-scrolling:touch}.menu-modal-category{margin-bottom:24px}.menu-modal-category:last-child{margin-bottom:0}.menu-modal-category-title{font-size:11px;font-weight:600;color:var(--tertiary-text-muted, rgba(255, 255, 255, .35));text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--tertiary-border, rgba(255, 255, 255, .06))}.menu-modal-items{display:flex;flex-direction:column;gap:8px}.menu-modal-item{display:flex;gap:12px;padding:12px;background:var(--tertiary-card, rgba(255, 255, 255, .04));border-radius:12px;border-left:3px solid transparent;box-shadow:0 1px 4px var(--tertiary-card-shadow, transparent);transition:background .15s ease,border-color .15s ease;cursor:pointer}.menu-modal-item:active{background:var(--tertiary-card-hover, rgba(255, 255, 255, .08))}.menu-modal-item--redeemable{border-left-color:var(--color-primary);background:var(--tertiary-card, rgba(var(--color-primary-rgb), .06))}.menu-modal-item--redeemable:active{background:var(--tertiary-card-hover, rgba(var(--color-primary-rgb), .12))}.menu-modal-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;justify-content:center}.menu-modal-item-name-row{display:flex;align-items:center;gap:8px}.menu-modal-item-name{font-size:15px;font-weight:600;color:var(--tertiary-text, #fff)}.menu-modal-item-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:3px 8px;border-radius:6px;background:var(--color-primary);color:#fff;flex-shrink:0}.menu-modal-item-progress{display:flex;flex-direction:column;gap:4px;margin-top:4px}.menu-modal-item-progress-bar{width:100%;height:3px;background:var(--tertiary-border, rgba(255, 255, 255, .08));border-radius:2px;overflow:hidden}.menu-modal-item-progress-fill{height:100%;background:var(--color-primary);border-radius:2px;transition:width .3s ease;opacity:.6}.menu-modal-item-faltan{font-size:11px;color:var(--tertiary-text-muted, rgba(255, 255, 255, .3))}.menu-modal-item-desc{font-size:12px;color:var(--tertiary-text-soft, rgba(255, 255, 255, .45));line-height:1.3}.menu-modal-item-prices{display:flex;align-items:center;gap:8px;margin-top:2px}.menu-modal-item-price{font-size:15px;font-weight:700;color:var(--color-primary, #ff69b4);font-variant-numeric:tabular-nums}.menu-modal-item-original{font-size:12px;color:var(--tertiary-text-muted, rgba(255, 255, 255, .25));text-decoration:line-through}.menu-modal-item-img-wrapper{width:64px;height:64px;border-radius:10px;overflow:hidden;flex-shrink:0;background:var(--tertiary-border, rgba(255, 255, 255, .06));align-self:center}.menu-modal-item-img{width:100%;height:100%;object-fit:cover}.menu-modal--light .menu-modal-tab{border-color:var(--tertiary-border, rgba(44, 37, 32, .08));color:var(--tertiary-text-soft, #8A7E72);background:var(--tertiary-card, transparent)}.menu-modal--light .menu-modal-tab:active{background:var(--tertiary-card-hover, rgba(44, 37, 32, .04))}.menu-modal--light .menu-modal-tab--active{color:#fff;background:var(--color-primary)}.menu-modal--light .menu-modal-category-title{color:var(--tertiary-text-muted, #8A7E72);border-bottom-color:var(--tertiary-border, rgba(44, 37, 32, .06))}.menu-modal--light .menu-modal-item{background:var(--tertiary-card, #FAF9F6);border-left:3px solid transparent;box-shadow:0 1px 4px var(--tertiary-card-shadow, rgba(44, 37, 32, .05))}.menu-modal--light .menu-modal-item:active{background:var(--tertiary-card-hover, #F5F2EA)}.menu-modal--light .menu-modal-item-name{color:var(--tertiary-text, #2C2520)}.menu-modal--light .menu-modal-item-desc{color:var(--tertiary-text-soft, #6B5E54)}.menu-modal--light .menu-modal-item-original{color:var(--tertiary-text-muted, #A89888)}.menu-modal--light .menu-modal-item-img-wrapper{background:var(--tertiary-border, rgba(44, 37, 32, .03))}.menu-modal--light .menu-modal-item--redeemable{border-left-color:var(--color-primary);background:var(--tertiary-card, #FAF9F6);box-shadow:0 1px 6px rgba(var(--color-primary-rgb),.15)}.menu-modal--light .menu-modal-item--redeemable:active{background:var(--tertiary-card-hover, #F5F2EA)}.menu-modal--light .menu-modal-item-faltan{color:var(--tertiary-text-muted, #A89888)}.menu-modal--light .menu-modal-item-progress-bar{background:var(--tertiary-border, rgba(44, 37, 32, .06))}.menu-modal--light .menu-modal-item-progress-fill{opacity:.4}.menu-modal-item--redeemed{opacity:.6;pointer-events:none}.menu-modal-item-badge--done{background:#4caf50}.menu-modal-item-badge--pending{background:#ff9800}.menu-modal--confirm{max-height:none}.menu-confirm-content{padding:24px 20px;padding-bottom:max(24px,env(safe-area-inset-bottom,24px));text-align:center;position:relative}.menu-confirm-close{position:absolute;top:0;right:0;width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease}.menu-confirm-close:active{background:#fff3}.menu-modal--light .menu-confirm-close{background:#2c25200f}.menu-confirm-close svg{width:18px;height:18px;fill:currentColor}.menu-confirm-icon{width:72px;height:72px;margin:0 auto 16px;background:rgba(var(--color-primary-rgb),.1);border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden}.menu-confirm-icon svg{width:32px;height:32px;fill:var(--color-primary)}.menu-confirm-img{width:100%;height:100%;object-fit:cover}.menu-confirm-title{font-size:20px;font-weight:700;margin:0 0 4px}.menu-confirm-name{font-size:15px;opacity:.6;margin:0 0 20px}.menu-confirm-summary{background:#ffffff0f;border-radius:12px;padding:14px 16px;margin-bottom:20px;text-align:left}.menu-modal--light .menu-confirm-summary{background:#2c252008}.menu-confirm-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;opacity:.7;padding:4px 0}.menu-confirm-row--cost{color:#ef5350;opacity:1}.menu-confirm-divider{height:1px;background:#ffffff14;margin:6px 0}.menu-modal--light .menu-confirm-divider{background:#2c252014}.menu-confirm-row--result{font-weight:700;opacity:1}.menu-confirm-actions{display:flex;gap:12px}.menu-confirm-btn{flex:1;padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.menu-confirm-btn:active{transform:scale(.97)}.menu-confirm-btn:disabled{opacity:.6}.menu-confirm-btn--cancel{background:#ffffff14;color:inherit}.menu-modal--light .menu-confirm-btn--cancel{background:#2c25200f}.menu-confirm-btn--redeem{background:var(--color-primary);color:#fff;box-shadow:0 4px 16px rgba(var(--color-primary-rgb),.3)}.ticket-modal-overlay{position:fixed;inset:0;background:#2c2520d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.ticket-modal{width:100%;max-width:480px;max-height:90vh;background:var(--color-tertiary, var(--modal-bg, #1a1a2e));border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden;color:var(--tertiary-text, rgba(255, 255, 255, .9))}.ticket-modal--light{color:var(--tertiary-text, #2C2520)}.ticket-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--tertiary-border, rgba(255, 255, 255, .08))}.ticket-modal--light .ticket-modal-header{border-bottom-color:#2c252014}.ticket-modal-title{font-size:18px;font-weight:700;letter-spacing:-.01em;margin:0;color:var(--tertiary-text, inherit)}.ticket-modal-close{background:var(--tertiary-border, rgba(255, 255, 255, .1));border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:inherit;cursor:pointer;transition:background .15s ease}.ticket-modal-close:active{background:#fff3}.ticket-modal--light .ticket-modal-close{background:#2c25200f}.ticket-modal--light .ticket-modal-close:active{background:#2c25201f}.ticket-modal-body{flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.ticket-camera{display:flex;flex-direction:column;align-items:center;gap:12px}.ticket-camera-viewfinder{position:relative;width:100%;aspect-ratio:3 / 4;border-radius:16px;overflow:hidden;background:#000}.ticket-camera-video{width:100%;height:100%;object-fit:cover}.ticket-camera-guide{position:absolute;inset:20px;pointer-events:none}.ticket-camera-corner{position:absolute;width:24px;height:24px;border-color:#ffffffb3;border-style:solid;border-width:0}.ticket-camera-corner--tl{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:8px}.ticket-camera-corner--tr{top:0;right:0;border-top-width:3px;border-right-width:3px;border-top-right-radius:8px}.ticket-camera-corner--bl{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:8px}.ticket-camera-corner--br{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:8px}.ticket-camera-hint{font-size:13px;opacity:.5;margin:0}.ticket-camera-controls{display:flex;align-items:center;justify-content:center;padding:4px 0}.ticket-shutter{width:64px;height:64px;border-radius:50%;border:4px solid var(--color-primary);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:transform .15s ease}.ticket-shutter:active{transform:scale(.92)}.ticket-shutter-inner{width:48px;height:48px;border-radius:50%;background:var(--color-primary);display:block;transition:transform .15s ease}.ticket-shutter:active .ticket-shutter-inner{transform:scale(.9)}.ticket-capture-cashback{font-size:13px;font-weight:600;color:var(--color-primary);background:rgba(var(--color-primary-rgb),.1);padding:6px 14px;border-radius:20px;margin:0}.ticket-analyzing{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 0;gap:16px}.ticket-preview-img{width:100%;max-height:200px;object-fit:contain;border-radius:12px;opacity:.7}.ticket-preview-img--small{max-height:120px;opacity:1}.ticket-analyzing-spinner{display:flex;align-items:center;justify-content:center;padding:8px}.ticket-spinner{width:36px;height:36px;border:3px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.ticket-analyzing-text{font-size:15px;font-weight:500;opacity:.7;margin:0}.ticket-review{display:flex;flex-direction:column;gap:16px}.ticket-review-data{display:flex;flex-direction:column;gap:8px}.ticket-review-row{display:flex;justify-content:space-between;align-items:center;font-size:14px}.ticket-review-row--total{font-size:16px;font-weight:700;padding-top:4px}.ticket-review-label{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.ticket-review-row--total .ticket-review-label{font-size:14px;opacity:.8;text-transform:none;letter-spacing:0}.ticket-review-value{font-weight:600;font-variant-numeric:tabular-nums}.ticket-review-divider{height:1px;background:var(--tertiary-border, rgba(255, 255, 255, .08));margin:4px 0}.ticket-modal--light .ticket-review-divider{background:#2c252014}.ticket-review-products{display:flex;flex-direction:column;gap:6px}.ticket-review-products>.ticket-review-label{margin-bottom:2px}.ticket-review-product{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#ffffff0a;border-radius:8px;font-size:13px}.ticket-modal--light .ticket-review-product{background:#2c252008}.ticket-product-name{font-weight:500;flex:1;margin-right:12px}.ticket-product-price{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.ticket-cashback-card{background:var(--tertiary-card, rgba(var(--color-primary-rgb), .12));border:1px solid var(--tertiary-border, rgba(var(--color-primary-rgb), .2));border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:8px}.ticket-cashback-top{display:flex;justify-content:space-between;align-items:center}.ticket-cashback-label{font-size:13px;font-weight:500;opacity:.7}.ticket-cashback-amount{font-size:22px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums}.ticket-cashback-balance{font-size:13px;font-weight:500;opacity:.55}.ticket-review-actions{display:flex;gap:12px;margin-top:4px}.ticket-btn{flex:1;padding:14px 20px;border-radius:12px;font-size:15px;font-weight:600;border:none;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.ticket-btn:active{transform:scale(.97)}.ticket-btn--primary{background:var(--color-primary);color:#fff}.ticket-btn--secondary{background:var(--tertiary-card, rgba(255, 255, 255, .08));color:inherit}.ticket-modal--light .ticket-btn--secondary{background:#2c25200f}.ticket-success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0;gap:12px}.ticket-success-icon{width:56px;height:56px;color:#4caf50}.ticket-success-icon svg{width:100%;height:100%}.ticket-success-title{font-size:18px;font-weight:700;margin:0}.ticket-success-amount{font-size:28px;font-weight:700;color:var(--color-primary);font-variant-numeric:tabular-nums;margin:0}.ticket-success-balance{font-size:14px;opacity:.6;margin:0}.ticket-success .ticket-btn{margin-top:12px;width:100%;max-width:200px}.ticket-error{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 0;gap:12px}.ticket-error-icon{width:48px;height:48px;color:#ef5350}.ticket-error-icon svg{width:100%;height:100%}.ticket-error-text{font-size:14px;opacity:.7;max-width:280px;margin:0}.ticket-error .ticket-btn{margin-top:8px;width:100%;max-width:200px}.gift-modal-overlay{position:fixed;inset:0;background:#2c2520d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.gift-modal{width:100%;max-width:480px;max-height:90vh;background:var(--color-tertiary, var(--modal-bg, #1a1a2e));border-radius:20px 20px 0 0;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow-y:auto;color:var(--tertiary-text, rgba(255, 255, 255, .9))}.gift-modal--light{color:var(--tertiary-text, #2C2520)}.gift-modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--tertiary-border, rgba(255, 255, 255, .08))}.gift-modal-title{font-size:17px;font-weight:700;margin:0}.gift-modal-close{width:32px;height:32px;border:none;background:var(--tertiary-border, rgba(255, 255, 255, .1));border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.gift-modal-close svg{width:18px;height:18px;fill:var(--tertiary-text, white)}.gift-modal-body{padding:20px}.gift-modal-icon{width:56px;height:56px;margin:0 auto 16px;background:rgba(var(--color-primary-rgb),.1);border-radius:50%;display:flex;align-items:center;justify-content:center}.gift-modal-icon svg{width:28px;height:28px;fill:var(--color-primary)}.gift-modal-desc{text-align:center;font-size:13px;color:var(--tertiary-text-soft, rgba(255, 255, 255, .7));margin:0 0 20px;line-height:1.4}.gift-modal-form{display:flex;flex-direction:column;gap:16px}.gift-modal-field{display:flex;flex-direction:column;gap:6px}.gift-modal-label{font-size:12px;font-weight:600;color:var(--tertiary-text-soft, rgba(255, 255, 255, .7));text-transform:uppercase;letter-spacing:.04em}.gift-modal-input{width:100%;padding:12px 14px;border:1px solid var(--tertiary-border, rgba(255, 255, 255, .12));border-radius:10px;background:var(--tertiary-card, rgba(255, 255, 255, .06));color:var(--tertiary-text, white);font-size:15px;outline:none;transition:border-color .15s ease;box-sizing:border-box}.gift-modal-input::placeholder{color:var(--tertiary-text-muted, rgba(255, 255, 255, .3))}.gift-modal-input:focus{border-color:var(--color-primary)}.gift-modal-textarea{resize:none;font-family:inherit}.gift-modal-phone{display:flex;align-items:center;gap:0;border:1px solid var(--tertiary-border, rgba(255, 255, 255, .12));border-radius:10px;background:var(--tertiary-card, rgba(255, 255, 255, .06));overflow:hidden}.gift-modal-phone:focus-within{border-color:var(--color-primary)}.gift-modal-prefix{padding:12px 10px 12px 14px;font-size:15px;color:var(--tertiary-text-muted, rgba(255, 255, 255, .4));font-weight:600;flex-shrink:0}.gift-modal-phone .gift-modal-input{border:none;background:transparent;padding-left:0}.gift-modal-phone .gift-modal-input:focus{border-color:transparent}.gift-modal-btn{width:100%;padding:14px;border:none;border-radius:12px;background:var(--color-primary);color:#fff;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .15s ease,transform .15s ease;margin-top:4px}.gift-modal-btn:disabled{opacity:.5;cursor:not-allowed}.gift-modal-btn:not(:disabled):active{transform:scale(.97)}.gift-modal-btn svg{width:18px;height:18px;fill:#fff}.gift-modal-status{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px 16px;text-align:center}.gift-modal-status p{font-size:14px;color:var(--tertiary-text-soft, rgba(255, 255, 255, .7));margin:0;line-height:1.4}.gift-modal-status h4{font-size:18px;font-weight:700;margin:0;color:var(--tertiary-text, white)}.gift-modal-success-icon{width:56px;height:56px;border-radius:50%;background:#4caf5026;display:flex;align-items:center;justify-content:center}.gift-modal-success-icon svg{width:32px;height:32px;fill:#4caf50}.gift-modal-error-icon{width:56px;height:56px;border-radius:50%;background:#f4433626;display:flex;align-items:center;justify-content:center}.gift-modal-error-icon svg{width:32px;height:32px;fill:#f44336}.gift-modal-status .gift-modal-btn{max-width:200px;margin-top:8px}.add-balance-current{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:rgba(var(--color-primary-rgb),.08);border-radius:var(--radius-sm);margin-bottom:4px}.add-balance-current-label{font-size:13px;opacity:.7}.add-balance-current-amount{font-size:18px;font-weight:700;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.add-balance-input-wrap{display:flex;align-items:center;gap:4px;background:rgba(var(--color-primary-rgb),.06);border:1px solid rgba(var(--color-primary-rgb),.15);border-radius:var(--radius-sm);padding:0 14px;transition:border-color .2s}.add-balance-input-wrap:focus-within{border-color:var(--color-primary)}.add-balance-currency{font-size:22px;font-weight:600;opacity:.5}.add-balance-amount-input{border:none!important;background:transparent!important;padding:12px 4px!important;font-size:22px!important;font-weight:700!important;width:100%}.add-balance-amount-input:focus{box-shadow:none!important;border:none!important}.add-balance-suggestions{display:flex;gap:8px;flex-wrap:wrap}.add-balance-chip{flex:1;min-width:70px;padding:8px 4px;border-radius:var(--radius-sm);border:1px solid rgba(var(--color-primary-rgb),.2);background:rgba(var(--color-primary-rgb),.05);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.add-balance-chip:active{transform:scale(.96)}.add-balance-chip--active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-color:transparent}.add-balance-preview{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:rgba(var(--color-primary-rgb),.06);border-radius:var(--radius-sm);font-size:14px}.add-balance-preview-total{font-weight:700;font-size:16px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.registro-container{--color-primary: #ff69b4;--color-secondary: #ff1493;--color-primary-rgb: 255, 105, 180;--color-secondary-rgb: 255, 20, 147;min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;background-color:var(--color-tertiary, #1a1f2e);padding:20px;box-sizing:border-box;border-radius:20px}.registro-card{width:100%;max-width:420px;border-radius:24px;background:#f0ede5;overflow:hidden;box-shadow:0 25px 50px -12px #0000004d}.registro-header{height:180px;position:relative;overflow:hidden}.registro-imagen{width:100%;height:100%;object-fit:cover}.registro-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#f0ede533,#f0ede599 60%,#f0ede5)}.registro-negocio-info{position:absolute;bottom:20px;left:0;right:0;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center}.registro-logo{width:140px;height:80px;object-fit:contain;margin-bottom:10px}.registro-negocio-nombre{font-size:26px;font-weight:800;color:#333;letter-spacing:2px;margin:0}.registro-negocio-tagline{font-size:12px;color:#00000080;letter-spacing:1.5px;margin:5px 0 0;text-transform:uppercase}.registro-content{padding:30px 25px 35px;text-align:center}.registro-icon{width:60px;height:60px;margin:0 auto 20px;background:rgba(var(--color-primary-rgb),.15);border-radius:50%;display:flex;align-items:center;justify-content:center}.registro-icon svg{width:32px;height:32px;fill:var(--color-primary)}.registro-titulo{font-size:22px;font-weight:700;color:#333;margin:0 0 8px}.registro-subtitulo{font-size:14px;color:#00000080;margin:0 0 25px}.registro-form{display:flex;flex-direction:column;gap:15px}.input-group{display:flex;align-items:center;background:#00000008;border:2px solid rgba(0,0,0,.1);border-radius:14px;overflow:hidden;transition:border-color .3s ease}.input-group:focus-within{border-color:var(--color-primary)}.input-prefix{padding:16px;color:#00000080;font-size:16px;font-weight:500;background:#00000008;border-right:1px solid rgba(0,0,0,.1)}.registro-input{flex:1;padding:16px;background:transparent;border:none;color:#333;font-size:18px;font-weight:500;letter-spacing:2px;outline:none}.registro-input::placeholder{color:#0000004d;letter-spacing:1px}.registro-input-full{width:100%;background:#00000008;border:2px solid rgba(0,0,0,.1);border-radius:14px;letter-spacing:0;transition:border-color .3s ease}.registro-input-full:focus{border-color:var(--color-primary)}.registro-telefono-preview{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;background:#00000008;border-radius:10px;color:#0009;font-size:14px}.registro-telefono-preview svg{width:16px;height:16px;fill:currentColor}.registro-edit-telefono{background:none;border:none;color:var(--color-primary);font-size:12px;cursor:pointer;margin-left:5px;text-decoration:underline}.registro-edit-telefono:hover{color:var(--color-secondary)}.registro-button{width:100%;padding:16px 24px;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary));border:none;border-radius:14px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;margin-top:10px}.registro-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 30px rgba(var(--color-secondary-rgb),.3)}.registro-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.registro-button svg{width:20px;height:20px}.registro-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.registro-spinner-large{width:48px;height:48px;border:3px solid rgba(var(--color-primary-rgb),.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.registro-iniciando{display:flex;justify-content:center;padding:30px 0}@keyframes spin{to{transform:rotate(360deg)}}.registro-error{margin-top:15px;padding:12px;background:#ff6b6b1a;border-radius:10px;color:#ff6b6b;font-size:13px}@media(max-width:480px){.registro-container{padding:10px}.registro-card{border-radius:20px}.registro-header{height:150px}.registro-negocio-nombre{font-size:22px}.registro-content{padding:25px 20px 30px}}
