@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-LightItalic.ttf) format("truetype");font-weight:300;font-style:italic}@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-Italic.ttf) format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-Bold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Sansation;src:url(/assets/fonts/Sansation-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic}@font-face{font-family:SquareSans;src:url(/assets/fonts/square_sans_serif_7.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:HVD Edding;src:url(/assets/fonts/HVD_Edding.otf) format("opentype");font-weight:400;font-style:normal}@font-face{font-family:Death Subway Drip;src:url(/assets/fonts/DeathSubway-Drip.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Death Subway Regular;src:url(/assets/fonts/DeathSubway-Regular.ttf) format("truetype");font-weight:400;font-style:normal}body{margin:0;padding:0}#root{margin:auto;padding:0;text-align:center;min-height:100vh}main,.page-container{max-width:600px;margin:auto;padding-bottom:100px!important;padding-top:24px!important}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.portal-header{height:64px;background:linear-gradient(135deg,var(--gray-300),var(--gray-600));display:flex;align-items:center;box-shadow:var(--box-shadow);position:sticky;top:0;z-index:999;width:100vw;left:0;right:0}.header-content{display:flex;align-items:center;width:100%;height:64px;justify-content:space-between;padding:0 16px}.header-left,.header-center,.header-right{display:flex;align-items:center;height:auto;width:37px}.header-center{flex:1;justify-content:center}.header-icon{height:50px;width:auto}.bottom-nav{position:fixed;bottom:0;left:0;width:100vw;background:#fff3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border-top:1px solid rgba(255,255,255,.3);z-index:100;overflow-x:hidden}.nav-container{display:flex;justify-content:space-around;align-items:center;max-width:800px;width:100vw;margin:0 auto;padding:0 8px;box-sizing:border-box;padding:0!important}.nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:#1f2937;padding:8px 12px;border-radius:8px;transition:all .2s;flex:1;max-width:120px}.nav-item.active{color:#f953c6}.login-signup-chip,.signup-login-chip{margin-left:6px;font-size:1rem;font-weight:500;border-radius:16px;background:#fff3!important;color:#1976d2!important;border:1px solid #1976d2!important}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 1000px transparent inset!important;box-shadow:0 0 0 1000px transparent inset!important;background-color:transparent!important;color:inherit!important;transition:background-color 9999s ease-in-out 0s}@media screen and (max-width:360px)and (-webkit-max-device-pixel-ratio:2),screen and (max-width:360px)and (max-resolution:192dpi){h1{font-size:.87rem!important}h2{font-size:.8rem!important}}h1{font-size:1.3rem!important;font-family:var(--font-family-base, sans-serif)!important;font-weight:700!important;margin:0 0 16px!important}h2{font-size:1.2rem!important;font-family:var(--font-family-base, sans-serif)!important;font-weight:700!important;margin:0 0 16px!important}input,select,textarea{width:100%;box-sizing:border-box}:root{--primary-color: #ffdde1;--primary-dark: #a24b88;--secondary-color: #ee9ca7;--danger-color: #ef4444;--success-color: #10b981;--v-pink: #f953c6;--v-pink-dark: #b91d73;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-600: #4b5563;--gray-800: #1f2937;--gray-900: #111827;--border-radius: 12px;--border-radius-lg: 24px;--box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--font-family-base: "Sansation", sans-serif;--font-family-heading: "HVD Edding", sans-serif;--font-family-nav: "SquareSans";--input-padding: 12px 16px;--font-size-input: 1rem;--gray-700: #374151}body{font-family:var(--font-family-base);background:linear-gradient(to left,var(--primary-color) 0%,var(--secondary-color) 100%);min-height:100vh;color:var(--gray-900);padding:0}.page-container{display:flex;flex-direction:column;gap:8px;align-items:center;max-width:480px;width:100%;padding:24px;box-sizing:border-box;margin:0 auto;overflow:hidden}.input-wrapper{border:1px solid #3d3d3d;border-radius:var(--border-radius-lg);display:flex;gap:3px;flex-direction:row;width:100%;align-items:center;box-sizing:border-box;padding-left:10px;padding-right:25px}.label{padding-left:5px;text-align:left}.error{color:#e91e63;font-size:14px;text-align:left;width:100%;margin-top:5px;padding-left:5px}input,select,textarea{font-family:var(--font-family-base);font-size:var(--font-size-input);background:none;color:var(--gray-900);box-sizing:border-box;flex:1;width:90%!important;padding:10px 0;border:none;outline:none;background:transparent;font-size:1rem;color:#222;height:48px}.btn{border-radius:var(--border-radius-lg)!important;background-color:transparent!important;background:linear-gradient(to right,#ee9ca7,#f953c6)!important;color:#fff!important;width:100%!important;gap:16px;margin:0}.paper{background:#ffffff80!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important;border-radius:12px!important;box-shadow:var(--box-shadow)!important;padding:24px!important;width:100%!important;display:flex;flex-direction:column;align-items:center;margin:8px!important;max-width:90%!important}.btn-alert{background:linear-gradient(135deg,#ed3636 30%,#9a0000)!important;color:#fff!important}.btn-success{background:linear-gradient(135deg,#10b981 30%,#047857)!important;color:#fff!important}.password-toggle{margin:0 8px;font-size:20px;cursor:pointer;color:#3d3d3d;position:static;align-self:center;padding-right:4px;padding-top:5px}.input-wrapper{width:100%;display:flex;align-items:center;box-sizing:border-box}.login-container{min-height:100vh;justify-content:center;width:100%;margin-left:auto!important;margin-right:auto!important;font-family:var(--font-family-base);padding-top:0;padding-bottom:0;display:flex;flex-direction:column;align-items:center}.login-logo-container{display:flex;flex-direction:column;align-items:center;gap:8px}.login-logo-icon{max-width:80px;width:auto;height:auto;margin:0 auto;display:block}.login-logo{max-width:180px;width:100%;height:auto}.login-subtitle{text-align:center;color:var(--gray-800);font-size:1.1rem}.login-form{display:flex;flex-direction:column;gap:24px}.login-group{display:flex;flex-direction:column;gap:8px}.login-label{font-size:1rem;font-weight:400;color:#000;text-align:left}.login-error{color:var(--danger-color);background:#ef444414;border-radius:var(--border-radius);padding:12px;text-align:center;font-size:1rem;margin-bottom:16px}.login-button{padding:12px 24px;border-radius:var(--border-radius);border:none;font-size:1rem;font-weight:600;background:linear-gradient(90deg,var(--v-pink) 0%,var(--v-pink-dark) 100%);color:#000;cursor:pointer;box-shadow:var(--box-shadow);transition:transform .2s;display:flex;align-items:center;justify-content:center;gap:16px;width:100%;box-sizing:border-box}.login-button-disabled{opacity:.6;cursor:not-allowed}.login-spinner{width:20px;height:20px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.login-form-footer{text-align:center;font-size:1rem;color:var(--gray-600)}.login-link{color:#2196f3;text-decoration:none;font-weight:500;cursor:pointer}.login-divider{height:1px;background:var(--gray-200);margin:16px 0}.login-signup-text{color:var(--gray-600)}.login-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.login-modal-content{background:#fff;padding:48px;border-radius:var(--border-radius);max-width:400px;width:90%;position:relative;text-align:center}.login-close{position:absolute;top:16px;right:16px;font-size:28px;cursor:pointer;color:var(--gray-400);transition:color .2s}.loading-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:rgba(var(--loader-bg-rgb, 255,255,255),var(--loader-opacity, .5));background-color:var(--loader-bg);-webkit-backdrop-filter:blur(var(--loader-blur, 10px));backdrop-filter:blur(var(--loader-blur, 10px));display:flex;justify-content:center;align-items:center;z-index:var(--loader-z, 999999999);--loader-bg-rgb: 255, 255, 255}.loading-overlay .wrapper{width:auto;height:auto}.loading-overlay .wrapper ul{display:grid;grid-template-columns:repeat(5,1fr);animation:rot calc(16s / var(--loader-speed, 1)) linear infinite}@keyframes rot{to{transform:rotate(360deg)}}.loading-overlay .wrapper li{width:var(--loader-size, 40px);height:var(--loader-size, 40px);background:var(--loader-color, #651fff);border-radius:4px;box-shadow:0 0 1px #fff,0 0 5px var(--loader-color),0 0 10px var(--loader-color),0 0 15px var(--loader-color),0 0 25px var(--loader-color),0 0 55px var(--loader-color);animation:scale calc(.8s / var(--loader-speed, 1)) linear alternate infinite}@keyframes scale{to{transform:scale(.1);opacity:0}}.loading-overlay .wrapper li:nth-child(1){z-index:24}.loading-overlay .wrapper li:nth-child(2){z-index:23}.loading-overlay .wrapper li:nth-child(3){z-index:22}.loading-overlay .wrapper li:nth-child(4){z-index:21}.loading-overlay .wrapper li:nth-child(5){z-index:20}.loading-overlay .wrapper li:nth-child(6){z-index:19}.loading-overlay .wrapper li:nth-child(7){z-index:18}.loading-overlay .wrapper li:nth-child(8){z-index:17}.loading-overlay .wrapper li:nth-child(9){z-index:16}.loading-overlay .wrapper li:nth-child(10){z-index:15}.loading-overlay .wrapper li:nth-child(11){z-index:14}.loading-overlay .wrapper li:nth-child(12){z-index:13}.loading-overlay .wrapper li:nth-child(13){z-index:12}.loading-overlay .wrapper li:nth-child(14){z-index:11}.loading-overlay .wrapper li:nth-child(15){z-index:10}.loading-overlay .wrapper li:nth-child(16){z-index:9}.loading-overlay .wrapper li:nth-child(17){z-index:8}.loading-overlay .wrapper li:nth-child(18){z-index:7}.loading-overlay .wrapper li:nth-child(19){z-index:6}.loading-overlay .wrapper li:nth-child(20){z-index:5}.loading-overlay .wrapper li:nth-child(21){z-index:4}.loading-overlay .wrapper li:nth-child(22){z-index:3}.loading-overlay .wrapper li:nth-child(23){z-index:2}.loading-overlay .wrapper li:nth-child(24){z-index:1}.loading-overlay .wrapper li:nth-child(25){z-index:0}.loading-overlay .wrapper li:nth-child(1){animation-delay:.1s}.loading-overlay .wrapper li:nth-child(6){animation-delay:.2s}.loading-overlay .wrapper li:nth-child(11){animation-delay:.3s}.loading-overlay .wrapper li:nth-child(16){animation-delay:.4s}.loading-overlay .wrapper li:nth-child(21){animation-delay:.5s}.loading-overlay .wrapper li:nth-child(7){animation-delay:.3s}.loading-overlay .wrapper li:nth-child(12){animation-delay:.4s}.loading-overlay .wrapper li:nth-child(17){animation-delay:.5s}.loading-overlay .wrapper li:nth-child(22){animation-delay:.6s}.loading-overlay .wrapper li:nth-child(13){animation-delay:.5s}.loading-overlay .wrapper li:nth-child(18){animation-delay:.6s}.loading-overlay .wrapper li:nth-child(23){animation-delay:.7s}.loading-overlay .wrapper li:nth-child(19){animation-delay:.7s}.loading-overlay .wrapper li:nth-child(24){animation-delay:.8s}.loading-overlay .wrapper li:nth-child(25){animation-delay:.9s}.booking-info-paper{margin-bottom:24px;padding:20px;max-width:400px;width:100%;margin-left:auto;margin-right:auto}.section-title{margin:0 0 16px;font-weight:600}.booking-details{text-align:center}.booking-details .chips{display:flex;gap:1rem;justify-content:center;margin-bottom:16px}.booking-details .reservation-info{margin:12px 0;color:#555;font-size:.97rem}[role=dialog]{border-radius:var(--border-radius)!important;margin:0!important;background:#fff3!important;-webkit-backdrop-filter:blur(5px)!important;backdrop-filter:blur(5px)!important}.initiate-cancel-button{margin-top:0!important}.qr-card{width:100%;max-width:100%;box-sizing:border-box}.qr-header{display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.qr-title{margin:0!important;padding:0;font-size:1.5rem;text-align:center}} .dashboard-actions{display:flex;flex-direction:column;gap:18px;align-items:stretch;margin:32px 0 0;width:100%}.dashboard-btn{width:100%;padding:14px 0;font-size:1.1rem;border-radius:var(--border-radius);border:none;background:linear-gradient(90deg,var(--v-pink),var(--primary-dark));color:#fff;font-family:var(--font-family-base)!important;text-transform:none!important;font-size:1.1rem!important;font-weight:600;box-shadow:var(--box-shadow);cursor:pointer;transition:background .2s,box-shadow .2s}.dashboard-btn:hover{background:linear-gradient(90deg,var(--v-pink-dark),var(--primary-dark));box-shadow:0 6px 12px -2px #f953c626}.qr-section{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;margin-bottom:24px;gap:0;width:100%;max-width:100%;box-sizing:border-box}.dashboard-container{min-height:calc(100vh - 64px);box-sizing:border-box;width:100%;max-width:100%;margin:0 auto}.qr-code-container{display:flex;justify-content:center;margin-bottom:16px;width:50%;max-width:250px;margin-left:auto;margin-right:auto}.qr-description{color:var(--gray-800);margin:0!important;font-size:14px}.customer-id{font-family:monospace;color:var(--gray-700);font-size:14px}.profile-update-icon-white{width:24px;height:24px;filter:invert(1) brightness(2)}.profile-update-paper{padding:24px;max-width:400px;margin:32px auto;border-radius:20px;display:flex;flex-direction:column;align-items:center}.profile-update-title{margin-bottom:24px;text-align:center;font-weight:700}.profile-update-form{width:100%;display:flex;flex-direction:column;gap:16px;align-items:flex-start}.profile-update-label{margin-bottom:0;font-weight:500;text-align:left;width:100%;margin-top:5px}.profile-update-input-wrapper{position:relative;width:100%;margin-bottom:5px}.profile-update-input-icon{position:absolute;left:12px;top:43%;transform:translateY(-50%);color:#3d3d3d}.profile-update-input{width:100%;padding:10px 40px;border:#3d3d3d 1px solid;font-size:16px;outline:none}.profile-update-password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);cursor:pointer;color:#888}.profile-update-password-hint{font-size:13px;color:#000;margin-top:2px;margin-bottom:0;text-align:left;width:100%}.profile-update-btn{width:100%;font-weight:700;font-size:17px;border-radius:8px;padding:12px 0;margin-top:8px;text-transform:none;background:#e91e63;box-shadow:none;opacity:1;transition:opacity .2s}.profile-update-btn:disabled{opacity:.7}.profile-update-success{color:#43a047;margin-top:8px;text-align:center;width:100%}.profile-update-error{color:#e91e63;margin-top:8px;text-align:center;width:100%}.profile-loyalty-paper{padding:24px;max-width:400px;margin:32px auto;border-radius:20px;display:flex;flex-direction:column;align-items:center}.profile-loyalty-title{margin-bottom:24px;text-align:center;font-weight:700}.profile-loyalty-stamps{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;align-items:center;max-width:360px;margin:0 auto}.profile-loyalty-stamp{width:66.5px;height:66.5px;border-radius:50%;background:#fff;box-shadow:0 1px 6px #e91e6322}.profile-loyalty-stamp-empty{width:66.5px;height:66.5px;border-radius:50%;border:2px dashed #e0e0e0;background:#fafafa}.loyalty-paper{padding:24px;max-width:400px;margin:32px auto;border-radius:20px;display:flex;flex-direction:column;align-items:center}.loyalty-title{margin-bottom:24px;text-align:center;font-weight:700}.loyalty-stamps{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-start;align-items:center;max-width:360px;margin:0 auto}.loyalty-stamp{width:70.5px;height:70.5px;border-radius:50%;background:none;box-shadow:0 1px 6px #28041021;display:flex;align-items:center;justify-content:center;overflow:hidden;border:none!important}.loyalty-stamp img{width:66.5px;height:66.5px;object-fit:contain;border-radius:50%}.loyalty-stamp-empty{width:66.5px;height:66.5px;border-radius:50%;border:2px dashed #5c5c5c!important}.not-found-btn{background:linear-gradient(90deg,var(--v-pink),var(--primary-dark))!important}.confirm-paper.booking-paper.paper{max-width:500px;width:100%;margin-left:auto;margin-right:auto}.slots-grid .MuiButton-root{width:70px;height:38px;min-width:70px;max-width:70px;padding:4px 2px;font-size:.92rem;border-radius:8px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}.slots-grid .MuiButton-root{min-width:80px;padding:4px 7px;font-size:.92rem;border-radius:8px}#booking-slots-section{max-width:500px;width:100%;margin-left:auto;margin-right:auto;padding:24px 16px}.calendar-paper.booking-paper{max-width:500px;width:100%;margin-left:auto;margin-right:auto}.booking-container{display:flex;justify-content:center;align-items:center;min-height:80vh}.booking-title-card.paper{max-width:500px;width:100%;margin-left:auto;margin-right:auto}.booking-card{width:100%;max-width:400px}.booking-card h2{margin-top:0}.booking-card p{margin:.5rem 0}.btn{font-family:var(--font-family-base)!important;text-transform:none!important;font-size:1rem!important}.btn.error{background:linear-gradient(to left,#ff4040,#ea96ff)}.booking-card button{margin-top:1.5rem;width:100%}.booking-content{width:100%;display:flex;flex-direction:column;gap:24px;margin:24px}.confirm-paper.booking-paper{margin-bottom:24px!important}.input-component{display:flex;margin-bottom:16px;width:100%;align-items:flex-start;flex-direction:column}.input-wrapper{border:1px solid #3d3d3d;border-radius:var(--border-radius-lg);display:flex;gap:3px;flex-direction:row;padding-left:10px;width:100%;align-items:center}.label{padding-left:5px;text-align:left;margin-bottom:8px}.slots-grid .MuiButton-contained.selected-slot{background:#ffe0f0!important;color:#e91e63!important;border:1.5px solid #e91e63!important}.category-paper:last-child{margin-bottom:100px!important}.category-paper .category-title{text-align:left;color:#000}.category-paper .service-name{color:#111}.category-paper .service-price{color:#e91e63;font-weight:600}.prices-page{padding:24px;background:none}.prices-title{font-size:2rem;font-weight:600;margin-bottom:24px;text-align:center}.prices-list{list-style:none;padding:0;margin:0}.catalog-content{width:100%;display:flex;flex-direction:column;align-items:center}.prices-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;font-size:1.1rem}.prices-item:last-child{border-bottom:none}.service-name{color:#222}.service-price{color:#d2196f;font-weight:600}.services-list{width:100%}.service-row{display:flex;width:100%;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #3d3d3d}.signup-logo-container{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:12px}.signup-logo-icon{max-width:80px;width:auto;height:auto;margin:0 auto;display:block}.signup-logo{max-width:180px;width:100%;height:auto}.signup-login-info{margin-top:18px;text-align:center;font-size:15px;color:#444}.signup-login-link{color:#1976d2;text-decoration:underline;font-weight:500;margin-left:4px}.signup-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:none}.signup-title{margin-bottom:24px;text-align:center;font-weight:700;font-size:2rem}.signup-form{width:100%;display:flex;flex-direction:column;gap:0px;align-items:flex-start}.signup-btn{width:100%;font-weight:700;font-size:17px;border-radius:8px;padding:12px 0;margin-top:8px;text-transform:none;background:#e91e63;box-shadow:none;opacity:1;transition:opacity .2s}.signup-btn:disabled{opacity:.7}.signup-error{color:#e91e63;font-size:14px;margin-top:2px;margin-bottom:0;text-align:left;width:100%}
