*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#ffe6f2,#fff0f5);color:#343a40;color:var(--dark-gray);font-family:Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--primary-pink:#ff69b4;--light-pink:#ffb6c1;--dark-pink:#ff1493;--accent-pink:pink;--white:#fff;--light-gray:#f8f9fa;--dark-gray:#343a40}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#ffb6c1;background:var(--light-pink)}::-webkit-scrollbar-thumb{background:#ff69b4;background:var(--primary-pink);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#ff1493;background:var(--dark-pink)}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{margin:0 auto;max-width:1200px;width:100%}@media (max-width:768px){.main-content{padding:15px}}.fade-in{animation:fadeIn .5s ease-in}@keyframes rainbow-move{0%{background-position:0 50%}to{background-position:100% 50%}}@keyframes glitter-colors{0%{color:red}10%{color:#ff7f00}20%{color:gold}30%{color:#0f0}40%{color:#00bfff}50%{color:indigo}60%{color:#8f00ff}70%{color:#ff69b4}80%{color:#fff}90%{color:silver}to{color:red}}@keyframes logo-global-color-cycle{0%{filter:drop-shadow(0 0 8px #ffd700)}10%{filter:drop-shadow(0 0 8px #ff69b4)}20%{filter:drop-shadow(0 0 8px #00ff00)}30%{filter:drop-shadow(0 0 8px #00bfff)}40%{filter:drop-shadow(0 0 8px #8f00ff)}50%{filter:drop-shadow(0 0 8px #fff)}60%{filter:drop-shadow(0 0 8px #ff7f00)}70%{filter:drop-shadow(0 0 8px #c0c0c0)}80%{filter:drop-shadow(0 0 8px #ff0000)}90%{filter:drop-shadow(0 0 8px #ffd700)}to{filter:drop-shadow(0 0 8px #ffd700)}}.gliterix-logo-global{animation:logo-global-color-cycle 2s linear infinite;margin-top:10px}.gliterix-logo-glitter{-webkit-text-fill-color:#0000;animation:rainbow-move 2s linear infinite;background:linear-gradient(90deg,red,#ff7f00,gold,#0f0,#00bfff,indigo,#8f00ff,#ff69b4,#fff,gold,red);-webkit-background-clip:text;background-clip:text;background-size:200% 200%;color:#0000;line-height:1.1;margin-bottom:.1em;margin-top:.1em;vertical-align:middle;white-space:nowrap}.btn{background:linear-gradient(45deg,var(--primary-pink),var(--dark-pink));border-radius:25px;box-shadow:0 4px 15px #ff69b44d;color:#fff;font-size:16px}.btn:hover{box-shadow:0 6px 20px #ff69b466;transform:translateY(-2px)}.card{background:#fff;border-radius:15px;box-shadow:0 10px 30px #ff69b41a;margin:20px 0;padding:30px;transition:transform .3s ease}.card:hover{transform:translateY(-5px)}.section{margin:40px 0;padding:40px 0}.section-title{margin-bottom:30px}.section-subtitle{color:var(--dark-gray);font-size:1.2rem;margin-bottom:50px;opacity:.8}.form-card{align-items:stretch;background:#fff;border-radius:16px;box-shadow:0 4px 24px #e91e6314,0 1.5px 4px #0000000a;display:flex;flex-direction:column;margin:48px auto;max-width:400px;padding:32px 28px 24px}.form-group{margin-bottom:18px}.form-group label{color:#e91e63;margin-bottom:6px}.form-input{border:1px solid #f8bbd0;border-radius:6px;outline:none;padding:10px 12px;transition:border .2s}.form-input:focus{border-color:#e91e63}.form-footer{font-size:1rem;margin-top:18px;text-align:center}.form-footer-small{font-size:.95rem;margin-top:4px;text-align:right}.form-link{color:#e91e63;cursor:pointer;font-weight:500;text-decoration:underline}.form-link:hover{color:#ad1457}.form-error{background:#ffebee;color:#d32f2f}.form-error,.form-success{margin-top:10px;padding:8px 12px;text-align:center}.form-success{background:#e8f5e9;color:#388e3c}.btn-primary{background:#e91e63;border:none;border-radius:6px;cursor:pointer;font-size:1.1rem;font-weight:600;margin-top:8px;padding:12px 0;transition:background .2s}.btn-primary:hover{background:#ad1457}.nav-auth-links{align-items:center;display:flex;gap:16px;margin-left:24px}.nav-link{border-radius:6px;color:#e91e63;font-size:1.08rem;font-weight:500;padding:6px 12px;text-decoration:none;transition:background .2s,color .2s}.nav-link:hover{background:#f8bbd0;color:#ad1457}.nav-link.nav-auth-home{background:#e91e63;border-radius:6px;color:#fff!important;font-weight:600;margin-left:8px;padding:8px 18px;transition:background .2s,color .2s}.nav-link.nav-auth-home:hover{background:#ad1457;color:#fff}.dashboard-card{align-items:stretch;background:#fff;border-radius:16px;box-shadow:0 4px 24px #e91e6314,0 1.5px 4px #0000000a;display:flex;flex-direction:column;margin:48px auto;max-width:700px;padding:32px 28px 24px}.dashboard-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.dashboard-tabs{gap:16px;margin-bottom:24px}.dashboard-tabs button{background:none;border:none;border-radius:6px 6px 0 0;color:#e91e63;cursor:pointer;font-size:1.08rem;font-weight:500;padding:8px 18px;transition:background .2s,color .2s}.dashboard-tabs .tab-active,.dashboard-tabs button.tab-active{background:#f8bbd0;color:#ad1457}.dashboard-section{background:#fff0f5;border-radius:12px;margin-bottom:18px;padding:24px 18px}.appt-list{list-style:none;margin:0;padding:0}.appt-item{align-items:center;background:#fff;border:1px solid #f8bbd0;border-radius:8px;box-shadow:0 1px 4px #e91e630a;display:flex;justify-content:space-between;margin-bottom:12px;padding:14px 18px}.navigation{background:linear-gradient(135deg,var(--primary-pink),var(--dark-pink));box-shadow:0 4px 20px #ff69b44d;padding:0;position:sticky;top:0;z-index:1000}.nav-container,.navigation{align-items:center;display:flex;height:60px;min-height:60px}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.gliterix-logo-glitter,.gliterix-logo-global,.logo h1,.logo-subtitle{all:unset}.nav-tabs{display:flex;gap:10px;list-style:none;margin:0;padding:0}.nav-tab{background:#0000;border:2px solid #0000;border-radius:25px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;text-decoration:none;transition:all .3s ease}.nav-tab:hover{background:#fff3;border-color:#ffffff4d;transform:translateY(-2px)}.nav-tab.active{background:#fff;border-color:#fff;box-shadow:0 4px 15px #ffffff4d;color:var(--primary-pink)}.gliterix-logo-global,.logo{min-width:0}@media (max-width:768px){.nav-container{flex-direction:column;gap:15px}.logo h1{font-size:2rem}.nav-tabs{flex-wrap:wrap;justify-content:center}.nav-tab{font-size:14px;padding:8px 16px}.gliterix-logo-global{padding:4px 4px 2px!important}.gliterix-logo-glitter{font-size:1.1rem!important}.gliterix-logo-global span:last-child{font-size:.8rem!important}}.glitter-star{animation:glitter-move 2.2s linear infinite,glitter-sparkle 1.1s steps(2) infinite;pointer-events:none}@keyframes glitter-move{0%{left:0;opacity:.7}10%{opacity:1}90%{opacity:1}to{left:100%;opacity:.7}}.glitter-star{animation:glitter-spin-y 1.2s linear infinite,glitter-sparkle 1.1s steps(2) infinite;color:#fff;filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);transform-origin:50% 50%}@keyframes glitter-spin-y{0%{transform:rotateY(0deg) scale(1)}50%{transform:rotateY(180deg) scale(1.15)}to{transform:rotateY(1turn) scale(1)}}@keyframes glitter-sparkle{0%,to{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);opacity:1}50%{filter:drop-shadow(0 0 16px #fff) drop-shadow(0 0 32px #fff7);opacity:.85}}.sparkle-letter{animation:sparkle-fade 1.6s linear infinite;color:#fff;display:inline-block;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7)}@keyframes sparkle-fade{0%,to{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7);opacity:1}30%{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);opacity:1}50%{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7);opacity:.7}70%{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);opacity:1}}.sparkle-bold-on-sparkle{animation:sparkle-fade-bold 1.6s linear infinite;color:#fff;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7);font-weight:700}@keyframes sparkle-fade-bold{0%,to{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7);font-weight:700;opacity:1}30%{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);font-weight:900;opacity:1}50%{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #fff7);font-weight:700;opacity:.7}70%{filter:drop-shadow(0 0 8px #fff) drop-shadow(0 0 16px #fff7);font-weight:900;opacity:1}}.promotions-strip{background:linear-gradient(90deg,#fff5fa,snow);border-bottom:1px solid #f3e5ef;border-top:1px solid #f3e5ef;padding:24px 0}.promotions-inner{margin:0 auto;max-width:1100px;padding:0 16px}.promotions-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.promo-icon{font-size:24px}.promo-title{font-size:20px;margin:0}.promo-subtitle{color:#666;font-size:14px;margin:0}.promotions-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.promo-card{background:#fff;border:1px solid #eee;border-radius:8px;padding:12px}.promo-card-title{font-weight:600;margin-bottom:6px}.promo-card-desc{color:#444;font-size:14px}.promo-dates{color:#888;display:flex;font-size:12px;gap:8px;margin-top:6px}.home{min-height:100vh}.hero{align-items:center;display:flex;gap:50px;min-height:80vh;padding:40px 0}.hero-content{flex:1 1}.hero-title{color:var(--dark-pink);font-size:3.5rem;font-weight:700;margin-bottom:20px;text-shadow:2px 2px 4px #ff69b433}.hero-subtitle{color:var(--primary-pink);font-size:1.5rem;font-weight:600;margin-bottom:20px}.hero-description{color:var(--dark-gray);font-size:1.1rem;line-height:1.6;margin-bottom:30px;opacity:.9}.hero-buttons{display:flex;flex-wrap:wrap;gap:20px}.hero-image{align-items:center;display:flex;flex:1 1;justify-content:center}.nail-art-preview{display:flex;gap:15px;transform:rotate(-5deg)}.nail-design{animation:float 3s ease-in-out infinite;background:linear-gradient(45deg,var(--primary-pink),var(--light-pink));border-radius:10px;box-shadow:0 8px 25px #ff69b44d;height:80px;position:relative;width:60px}.nail-design:nth-child(2){animation-delay:.5s;background:linear-gradient(45deg,var(--light-pink),var(--accent-pink))}.nail-design:nth-child(3){animation-delay:1s;background:linear-gradient(45deg,var(--accent-pink),var(--primary-pink))}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.features{padding:60px 0}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:40px}.feature-card{background:#fff;border:2px solid #0000;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;padding:30px;text-align:center;transition:all .3s ease}.feature-card:hover{border-color:var(--primary-pink);box-shadow:0 20px 40px #ff69b433;transform:translateY(-10px)}.feature-icon{display:block;font-size:3rem;margin-bottom:20px}.feature-card h3{color:var(--dark-pink);font-size:1.5rem;font-weight:600;margin-bottom:15px}.feature-card p{color:var(--dark-gray);line-height:1.6;opacity:.8}.location-info{padding:60px 0}.location-card{background:#fff;border-radius:20px;box-shadow:0 15px 35px #ff69b426;margin:0 auto;max-width:600px;padding:40px;text-align:center}.location-card h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:20px}.location-card p{color:var(--dark-gray);font-size:1.1rem;line-height:1.6;margin-bottom:30px}.location-details{display:flex;flex-direction:column;gap:15px}.detail{background:var(--light-gray);border-left:none;border-radius:10px;color:var(--dark-gray);font-size:1rem;padding:10px}@media (max-width:768px){.hero{flex-direction:column;gap:30px;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero-buttons{justify-content:center}.features-grid{grid-template-columns:1fr}.location-card{margin:0 20px;padding:30px 20px}}.services{background:linear-gradient(135deg,#fdf2f8,#fce7f3 50%,#fdf2f8);font-family:inherit;min-height:100vh;padding:20px 0}.section{margin:0 auto;max-width:1200px;padding:0 20px}.section-title{font-size:2.5rem;margin-bottom:12px}.section-subtitle{color:#666;font-size:1.3rem;font-weight:500;line-height:1.6;margin-bottom:40px;text-align:center}.service-filters{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:40px 0}.services-grid{grid-gap:30px;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:40px 0}.service-item{background:#fff;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;overflow:hidden;transition:all .3s ease}.service-item:hover{box-shadow:0 20px 40px #ff69b433;transform:translateY(-10px)}.service-image{align-items:center;background:linear-gradient(135deg,var(--light-pink),var(--accent-pink));display:flex;height:200px;justify-content:center;overflow:hidden;position:relative}.service-preview{animation:sparkle 2s ease-in-out infinite;font-size:4rem}.service-content{display:flex;flex-direction:column;height:100%;padding:25px}.service-content h3{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--dark-pink);display:-webkit-box;font-size:1.3rem;font-weight:600;line-height:1.3;margin-bottom:15px;min-height:2.6rem;overflow:hidden;text-overflow:ellipsis}.service-details{align-items:center;background:linear-gradient(135deg,#f8f9fa,#f1f3f4);border:1px solid #e9ecef;border-radius:12px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:15px;min-height:48px;padding:12px 16px}.price{color:#c2185b;flex:1 1;font-size:1.2rem;font-weight:800;text-align:left;text-shadow:0 1px 2px #c2185b1a}.duration{background:linear-gradient(135deg,#fce4ec,#f8bbd9);border:1px solid #c2185b33;border-radius:20px;color:#c2185b;flex-shrink:0;font-weight:700;white-space:nowrap}.service-content p{color:var(--dark-gray);flex:1 1;line-height:1.6;margin-bottom:15px;opacity:.8}.size-options{background:linear-gradient(135deg,#f8f9fa,#f1f3f4);border:1px solid #e9ecef;border-radius:12px;margin-top:15px;padding:15px}.size-options h4{color:#c2185b;font-size:1rem;font-weight:700;margin-bottom:10px}.size-options-grid{grid-gap:6px;display:grid;gap:6px}.size-option{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:8px;display:flex;justify-content:space-between;padding:8px 12px;transition:all .3s ease}.size-option:hover{background:#c2185b0d;border-color:#c2185b33;transform:translateX(4px)}.size-name{color:#333;font-size:.9rem;font-weight:600}.size-price{color:#c2185b;font-size:.9rem;font-weight:700}.special-notes{background:linear-gradient(135deg,#fce4ec,#f8bbd9);border-left:none;border-radius:12px;box-shadow:0 2px 8px #c2185b26;margin-top:15px;overflow:hidden;padding:12px 16px;position:relative}.special-notes:before{background:linear-gradient(90deg,#c2185b,#e91e63);content:"";height:2px;left:0;position:absolute;right:0;top:0}.special-notes p{color:#c2185b;font-size:.9rem;font-weight:600;line-height:1.5;margin:0;position:relative;z-index:1}.special-notes p strong{color:#a0154a;font-weight:700}.services-info{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:50px}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{color:var(--dark-gray);font-size:1rem;font-weight:500;line-height:1.6;opacity:.8;padding:8px 0;transition:all .3s ease}.info-section li:hover{color:#c2185b;padding-left:8px}.loading-spinner{background:#fff;border-radius:24px;box-shadow:0 8px 32px #c2185b1a;margin:40px auto;max-width:400px;padding:80px 20px;text-align:center}.spinner{border-top-color:#c2185b;box-shadow:0 4px 12px #c2185b33;height:60px;margin:0 auto 24px;width:60px}.loading-spinner p{color:#666;font-size:1.1rem;font-weight:500;margin:0}.error-message{background:#fff;border:1px solid #c2185b1a;border-radius:24px;box-shadow:0 8px 32px #0000001a;margin:40px auto;max-width:500px;padding:60px 20px}.error-message h2{color:#c62828;font-weight:700;margin-bottom:16px}.error-message p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:24px}.btn{border-radius:12px;font-family:inherit;font-weight:700;padding:14px 28px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn:before{transition:left .5s}.btn-primary{background:linear-gradient(135deg,#c2185b,#e91e63);box-shadow:0 4px 12px #c2185b4d}.btn-primary:hover{background:linear-gradient(135deg,#a0154a,#c2185b);box-shadow:0 8px 20px #c2185b66}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.info-section,.service-item{animation:fadeInUp .8s ease-out}@media (max-width:768px){.section-title{font-size:2.5rem}.section-subtitle{font-size:1.1rem;margin-bottom:30px}.service-filters{gap:10px}.filter-btn{font-size:14px;padding:8px 16px}.services-grid{gap:20px;grid-template-columns:1fr}.service-preview{font-size:3rem}.services-info{gap:20px;grid-template-columns:1fr}.service-content h3{font-size:1.2rem}.price{font-size:1.1rem}}@media (max-width:480px){.section-title{font-size:2rem}.section-subtitle{font-size:1rem}.service-content{padding:20px}.service-content h3{font-size:1.1rem}.price{font-size:1rem}.btn{font-size:.9rem;padding:12px 20px}.service-preview{font-size:2.5rem}}.btn:focus,.service-item:focus{outline:2px solid #c2185b;outline-offset:2px}@media print{.services{background:#fff}.info-section,.service-item{border:1px solid #ccc;box-shadow:none}}.gallery{min-height:100vh;padding:20px 0}.gallery-filters{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin:40px 0}.filter-btn{background:#fff;border:2px solid var(--primary-pink);border-radius:25px;color:var(--primary-pink);cursor:pointer;font-size:16px;font-weight:600;padding:10px 20px;transition:all .3s ease}.filter-btn:hover{transform:translateY(-2px)}.filter-btn.active,.filter-btn:hover{background:var(--primary-pink);color:#fff}.filter-btn.active{box-shadow:0 4px 15px #ff69b44d}.gallery-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:40px 0}.gallery-item{background:#fff;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;overflow:hidden;transition:all .3s ease}.gallery-item:hover{box-shadow:0 20px 40px #ff69b433;transform:translateY(-10px)}.gallery-image{align-items:center;background:linear-gradient(135deg,var(--light-pink),var(--accent-pink));display:flex;height:200px;justify-content:center;overflow:hidden;position:relative}.nail-preview{animation:sparkle 2s ease-in-out infinite;font-size:4rem}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(5deg)}}.gallery-content{padding:25px}.gallery-content h3{color:var(--dark-pink);font-size:1.3rem;font-weight:600;margin-bottom:10px}.gallery-content p{color:var(--dark-gray);line-height:1.6;opacity:.8}.gallery-info{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:50px}.info-section{background:#fff;border-radius:20px;border-top:none;box-shadow:0 10px 30px #ff69b41a;padding:30px}.info-section h3{color:var(--dark-pink);font-size:1.5rem;font-weight:600;margin-bottom:15px}.info-section p{color:var(--dark-gray);line-height:1.6;opacity:.8}@media (max-width:768px){.gallery-filters{gap:10px}.filter-btn{font-size:14px;padding:8px 16px}.gallery-grid,.gallery-info{grid-template-columns:1fr}.nail-preview{font-size:3rem}}.about{min-height:100vh;padding:20px 0}.about-content{margin:0 auto;max-width:1000px}.about-story{background:#fff;border-left:none;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;margin:40px 0;padding:40px}.about-story h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:20px}.about-story p{color:var(--dark-gray);font-size:1.1rem;line-height:1.8;margin-bottom:20px}.about-story p:last-child{margin-bottom:0}.about-values{margin:60px 0}.about-values h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.values-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.value-item{background:#fff;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;padding:30px;text-align:center;transition:all .3s ease}.value-item:hover{box-shadow:0 20px 40px #ff69b433;transform:translateY(-5px)}.value-icon{display:block;font-size:3rem;margin-bottom:20px}.value-item h3{color:var(--dark-pink);font-size:1.4rem;font-weight:600;margin-bottom:15px}.value-item p{color:var(--dark-gray);line-height:1.6;opacity:.8}.about-team{margin:60px 0}.about-team h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.team-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.team-member{background:#fff;border-radius:20px;box-shadow:0 10px 30px #ff69b41a;padding:30px;text-align:center;transition:all .3s ease}.team-member:hover{box-shadow:0 20px 40px #ff69b433;transform:translateY(-5px)}.member-avatar{display:block;font-size:4rem;margin-bottom:20px}.team-member h3{color:var(--dark-pink);font-size:1.4rem;font-weight:600;margin-bottom:10px}.member-role{color:var(--primary-pink);font-size:1rem;font-weight:600;margin-bottom:15px}.team-member p:last-child{color:var(--dark-gray);line-height:1.6;opacity:.8}.about-location{margin:60px 0}.about-location h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:40px;text-align:center}.location-content{background:#fff;border-radius:20px;border-right:none;box-shadow:0 10px 30px #ff69b41a;padding:40px}.location-text p{color:var(--dark-gray);font-size:1.1rem;line-height:1.8;margin-bottom:20px}.location-highlights{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:30px}.highlight{background:var(--light-gray);border-left:none;border-radius:15px;padding:20px}.highlight strong{color:var(--dark-pink);display:block;font-size:1.1rem;margin-bottom:8px}.highlight span{color:var(--dark-gray);opacity:.8}@media (max-width:768px){.about-story,.location-content{padding:30px 20px}.location-highlights,.team-grid,.values-grid{grid-template-columns:1fr}.about-location h2,.about-story h2,.about-team h2,.about-values h2{font-size:1.8rem}}.contact{min-height:100vh;padding:20px 0}.contact-content{grid-gap:50px;display:grid;gap:50px;grid-template-columns:1fr 1fr;margin:40px 0}.contact-info{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.info-card{background:#fff;border-left:none;border-radius:15px;box-shadow:0 10px 30px #ff69b41a;padding:25px}.info-card h3{color:var(--dark-pink);font-size:1.3rem;font-weight:600;margin-bottom:15px}.info-card p{color:var(--dark-gray);line-height:1.5;margin-bottom:8px}.info-card p:last-child{margin-bottom:0}.contact-form{background:#fff;border-radius:20px;box-shadow:0 15px 35px #ff69b41a;padding:40px}.contact-form h2{color:var(--dark-pink);font-size:1.8rem;font-weight:700;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{font-size:1rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:2px solid var(--light-pink);border-radius:10px;color:var(--dark-gray);font-size:1rem;padding:12px 15px;transition:all .3s ease;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-pink);box-shadow:0 0 0 3px #ff69b41a}.form-group textarea{min-height:100px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--dark-gray);opacity:.6}.contact-form .btn{font-size:1.1rem;margin-top:20px;padding:15px;width:100%}.map-section{margin:60px 0}.map-section h2{color:var(--dark-pink);font-size:2rem;font-weight:700;margin-bottom:30px;text-align:center}.map-placeholder{background:#fff;border-radius:20px;box-shadow:0 15px 35px #ff69b41a;padding:40px;text-align:center}.map-content h3{color:var(--dark-pink);font-size:1.5rem;font-weight:600;margin-bottom:20px}.map-content p{color:var(--dark-gray);font-size:1.1rem;line-height:1.6;margin-bottom:20px}.map-content ul{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));list-style:none;margin-top:20px;padding:0}.map-content li{background:var(--light-gray);border-left:none;border-radius:10px;color:var(--dark-gray);font-weight:500;padding:10px}@media (max-width:768px){.contact-content{gap:30px;grid-template-columns:1fr}.contact-form,.map-placeholder{padding:30px 20px}.map-content ul{grid-template-columns:1fr}.contact-form h2{font-size:1.5rem}.map-section h2{font-size:1.8rem}}.appointment-form{background:linear-gradient(135deg,#f8f9fa,#fff);margin:0 auto;max-width:800px;min-height:0;padding:30px}.appointment-form form{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e1e5e9;border-radius:15px;box-shadow:0 8px 25px #0000001a;overflow:hidden;padding:30px;position:relative}.appointment-form form:before{content:none}.form-grid{grid-template-columns:1fr 1fr;margin-bottom:24px}.form-group.full-width{grid-column:1/-1}.form-group label{font-size:14px}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:12px;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#bbb;box-shadow:none;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group textarea#notes\.customer{background:#fff;border:1px solid #ffb6c1;border-radius:12px;padding:15px}.form-error{background:#fee;border:1px solid #fcc;border-radius:6px;color:#c33;font-size:14px;margin-bottom:16px;padding:12px}.form-actions{border-top:1px solid #eee;gap:12px;padding-top:20px}.btn{font-size:14px}.btn-primary{background:var(--dark-pink)}.btn-primary:hover:not(:disabled){background:#c2185b}.btn-secondary{background:#f5f5f5;border:1px solid #ddd;color:#333}.btn-secondary:hover:not(:disabled){background:#e8e8e8}@media (max-width:768px){.form-grid{gap:16px;grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}.appointment-form.loading{opacity:.7;pointer-events:none}.appointment-form.success{border:2px solid #4caf50}.appointment-form.error{border:2px solid #f44336}.form-group.error input,.form-group.error select,.form-group.error textarea{border-color:#f44336}.form-group.error .error-message{color:#f44336;font-size:12px;margin-top:4px}.form-group label[for*=required]:after{color:#f44336;content:" *"}.form-group select[name=serviceId] option{padding:8px}.form-group input[type=date],.form-group input[type=time]{font-family:inherit}.form-group textarea{font-family:inherit;line-height:1.5}.form-section{border-bottom:1px solid #eee;margin-bottom:24px;padding-bottom:16px}.form-section h3{color:#333;font-size:18px;margin-bottom:16px}.appointment-form.admin-mode .form-group:first-child{grid-column:1/-1}.appointment-form.admin-mode .extra-fields{background:#f9f9f9;border-radius:6px;margin-top:16px;padding:16px}.appointment-form.customer-mode .form-group:first-child{display:none}.appointment-form{animation:fadeIn .3s ease-in-out}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--dark-pink);outline-offset:2px}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;color:#666;cursor:not-allowed}.form-success{background:#e8f5e8;border:1px solid #c8e6c9;border-radius:6px;color:#2e7d32;font-size:14px;margin-bottom:16px;padding:12px}.customer-booking-calendar{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:12px;box-shadow:0 4px 12px #00000014;margin-bottom:20px;min-height:460px;overflow:hidden;padding:20px;position:relative;width:100%}.customer-booking-calendar:before{content:none}.calendar-header{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;justify-content:space-between;margin-bottom:12px;padding:0 0 8px}.calendar-header:before{content:none}.calendar-header h3{color:#ff69b4;font-size:1.2rem;font-weight:800;letter-spacing:0;margin:0}.calendar-nav-btn{background:#fff;border:1px solid #ffb6c1;border-radius:6px;color:#ff69b4;cursor:pointer;font-size:1rem;font-weight:700;margin:0 4px;padding:6px 10px;transition:background .2s,color .2s,transform .2s}.calendar-nav-btn:hover{background:#ff69b4;color:#fff;transform:translateY(-1px)}.calendar-grid{background:#fff;border:1px solid #f0f0f0;border-radius:8px;box-shadow:none;margin-bottom:12px;overflow:hidden;position:relative}.calendar-grid:before{content:none}.calendar-weekdays{background:#ffe6f2;border-bottom:1px solid #f5c6d6;color:#ff69b4;display:grid;grid-template-columns:repeat(7,1fr);position:relative}.calendar-weekdays>div{border-right:1px solid #f5c6d6;color:#ff69b4;font-size:.95rem;font-weight:700;letter-spacing:0;padding:20px 15px;position:relative;text-align:center;text-shadow:0 1px 2px #0000001a;transition:all .3s ease;z-index:1}.calendar-weekdays>div:last-child{border-right:none}.calendar-weekdays>div:hover{background:#ffffff26;transform:translateY(-1px)}.calendar-days{grid-gap:0;background:#fff;display:grid;gap:0;grid-template-columns:repeat(7,1fr)}.calendar-day{word-wrap:break-word;align-items:stretch;background:#fff;border-bottom:1px solid #e1e5e9;border-right:1px solid #e1e5e9;cursor:pointer;display:flex;flex-direction:column;font-weight:600;justify-content:flex-start;min-height:120px;overflow:hidden;padding:15px;position:relative;transition:all .3s ease;word-break:break-word}.calendar-day.selected{background:#ffe6f2;box-shadow:none;color:#c2185b;transform:none}.calendar-day.past{background:#f5f5f5;color:#9e9e9e;cursor:not-allowed}.calendar-day.today{background:#fff8fb;border:1px solid #ffb6c1;box-shadow:none;font-weight:700}.calendar-day.blocked{background:#fff6f6;border:1px solid #f5c6cb;color:#c62828;cursor:not-allowed;position:relative}.calendar-day.blocked:after{content:"🚫";font-size:14px;position:absolute;right:8px;top:8px;z-index:3}.calendar-day.blocked:hover{background:#ffe2e2;transform:none}.calendar-day.clickable:hover{background:#fff5f8;box-shadow:none;transform:none;z-index:2}.time-slots-container{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:8px;box-shadow:none;margin-top:12px;padding:12px}.time-slots-container h4{color:#e91e63;color:var(--primary-pink);font-size:1.2rem;font-weight:700;margin-bottom:15px}.time-slots-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.time-slot{align-items:center;background:#fff;border:1px solid #e1e5e9;border-radius:12px;color:#333;cursor:pointer;display:flex;font-size:1rem;font-weight:600;justify-content:center;min-height:50px;padding:15px 12px;position:relative;text-align:center;transition:all .3s ease}.time-slot.available{background:#fff;border-color:#e1e5e9;color:#333}.time-slot.available:hover{background:#fff5f8;border-color:#ffb6c1;box-shadow:none;transform:none}.time-slot.selected{background:#ff69b4;border-color:#ff69b4;box-shadow:none;color:#fff;transform:none}.time-slot.unavailable{background:linear-gradient(135deg,#ffebee,#ffcdd2);border-color:#f5c6cb;color:#c62828;cursor:not-allowed;opacity:.8}.loading-slots{color:#888;font-size:1.1rem;padding:20px 0;text-align:center}.error-message{margin-bottom:20px;padding:15px;text-align:center}@media (max-width:768px){.customer-booking-calendar{padding:15px}.calendar-header{align-items:stretch;flex-direction:column;gap:20px;padding:20px}.calendar-header h3{font-size:1.8rem}.calendar-day{min-height:80px;padding:8px}.time-slots-container{padding:10px}.time-slots-grid{gap:8px;grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}@media (max-width:480px){.calendar-header h3{font-size:1.3rem}.calendar-day{min-height:60px;padding:4px}.time-slot{font-size:.9rem;padding:8px 4px}}:root{--primary-pink:#e91e63;--light-pink:#f8bbd9}.payment-screen{background:linear-gradient(135deg,#f8f9fa,#fff);min-height:100vh;padding:24px}.payment-container{background:#fff;border:1px solid #e1e5e9;border-radius:16px;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:1160px;overflow:hidden;width:100%}.payment-header{background:linear-gradient(135deg,var(--primary-pink) 0,var(--dark-pink) 100%);color:#fff;padding:30px;position:relative;text-align:center}.payment-header .header-icon{display:block;font-size:3rem;margin-bottom:15px}.payment-header h1{font-size:2.2rem;font-weight:700;margin:0 0 10px}.payment-header p{font-size:1.1rem;margin:0;opacity:.9}.appointment-summary{border-bottom:1px solid #e1e5e9;padding:30px}.appointment-summary h3{color:var(--primary-pink);font-size:1.4rem;font-weight:600;margin:0 0 20px}.summary-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-item{align-items:center;background:#fff;border:1px solid #e1e5e9;border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.summary-item.total{background:linear-gradient(135deg,var(--primary-pink) 0,var(--dark-pink) 100%);color:#fff;font-size:1.1rem;font-weight:600}.summary-item .label{color:#666;font-weight:500}.summary-item.total .label{color:#fff}.summary-item .value{color:#333;font-weight:600}.summary-item.total .value{color:#fff}.payment-methods{border-bottom:1px solid #e1e5e9;padding:30px}.methods-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:0}.methods-card-header{border-bottom:1px solid #e1e5e9;color:var(--primary-pink);font-size:1.1rem;font-weight:700;padding:14px 18px}.method-options{grid-gap:15px;display:grid;gap:15px}.method-options-horizontal{grid-gap:20px;align-items:stretch;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:repeat(3,minmax(280px,1fr));width:100%}.method-option{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:12px;cursor:pointer;display:flex;height:100%;padding:20px;transition:all .3s ease}.method-option:hover{transform:translateY(-2px)}.method-option.active,.method-option:hover{border-color:var(--primary-pink);box-shadow:0 4px 15px #ff69b433}.method-option.active{background:linear-gradient(135deg,#ff69b40d,#ff69b41a)}.method-icon{font-size:2rem;margin-right:20px;text-align:center;width:50px}.method-info{flex:1 1}.method-info h4{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 5px}.method-info p{color:#666;font-size:.95rem;margin:0}.method-check{color:var(--primary-pink);font-size:1.5rem;opacity:0;transition:opacity .3s ease}.method-option.active .method-check{opacity:1}.payment-form{padding:30px}.bank-transfer-info h3,.card-form h3,.cash-payment-info h3{color:var(--primary-pink);font-size:1.3rem;font-weight:600;margin:0 0 20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group label{color:#333;margin-bottom:8px}.bank-details{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.bank-item{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;padding:10px 0}.bank-item:last-child{border-bottom:none}.bank-item .label{color:#666;font-size:.9rem;font-weight:600}.bank-item .value{color:#333;font-size:.95rem;font-weight:500}.transfer-note{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-top:15px;padding:15px}.transfer-note p{color:#856404;font-size:.9rem;margin:5px 0}.cash-details{background:#f8f9fa;border-radius:12px;padding:20px;text-align:center}.cash-details p{color:#666;font-size:1rem;margin:10px 0}.cash-details strong{color:var(--primary-pink);font-weight:600}.error-message,.success-message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:10px;margin:20px 30px;padding:15px 20px}.error-message{background:#ffebee;border:1px solid #ef5350;color:#c62828}.success-message{background:#e8f5e8;border:1px solid #4caf50;color:#2e7d32}.error-icon,.success-icon{font-size:1.2rem}.payment-actions{border-top:1px solid #e1e5e9;display:flex;gap:15px;justify-content:space-between;padding:30px}.btn-secondary{border:2px solid #e1e5e9}.btn-secondary:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd}.security-notice{align-items:center;background:#f8f9fa;border-top:1px solid #e1e5e9;display:flex;gap:15px;padding:20px 30px}.security-icon{color:#28a745;font-size:2rem}.security-text h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 5px}.security-text p{color:#666;font-size:.9rem;margin:0}.loading-container{align-items:center;color:var(--primary-pink);display:flex;flex-direction:column;justify-content:center;padding:60px}.loading-spinner{margin-bottom:20px}@media (max-width:768px){.payment-screen{padding:10px}.payment-container{border-radius:12px}.payment-header{padding:20px}.payment-header h1{font-size:1.8rem}.appointment-summary,.payment-form,.payment-methods{padding:20px}.summary-grid{grid-template-columns:1fr}.method-options-horizontal{grid-template-columns:repeat(2,minmax(240px,1fr))}.form-grid{grid-template-columns:1fr}.payment-actions{flex-direction:column;padding:20px}.btn{justify-content:center;width:100%}.security-notice{flex-direction:column;padding:15px 20px;text-align:center}}@media (max-width:480px){.method-options-horizontal{grid-template-columns:1fr}.method-option{padding:15px}.method-icon{font-size:1.5rem;margin-right:15px;width:40px}.method-info h4{font-size:1.1rem}.bank-item{align-items:flex-start;flex-direction:column;gap:5px}}.book-appointment-page{background:linear-gradient(135deg,#ffe6f2,#ffb6c1);min-height:0;padding:20px 0}.container{border-bottom:1px solid #f0f0f0;margin:0 auto;max-width:1200px;padding:0 20px}.page-header{border-radius:12px;box-shadow:0 4px 20px #00000014;gap:20px}.back-button{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;color:#666;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:6px;padding:10px 16px;text-decoration:none;transition:all .3s ease}.back-button:hover{background:#e9ecef;border-color:#dee2e6;transform:translateY(-1px)}.page-header h1{font-size:1.8rem}.progress-indicator-compact{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;display:flex;justify-content:center;margin-bottom:30px;padding:20px}.progress-step-compact{align-items:center;display:flex;flex:1 1;flex-direction:column;max-width:150px;position:relative}.step-icon-compact{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:50%;display:flex;font-size:16px;height:40px;justify-content:center;margin-bottom:8px;transition:all .3s ease;width:40px}.progress-step-compact.active .step-icon-compact{background:linear-gradient(135deg,#ff69b4,#ff1493);border-color:#ff69b4;box-shadow:0 4px 12px #ff69b44d;color:#fff;transform:scale(1.1)}.step-title-compact{color:#666;font-size:.8rem;font-weight:600;text-align:center;transition:all .3s ease}.progress-step-compact.active .step-title-compact{color:#ff69b4;font-weight:700}.step-connector-compact{background:#e9ecef;height:2px;position:absolute;right:-50%;top:20px;width:100%;z-index:1}.progress-step-compact.active .step-connector-compact{background:linear-gradient(90deg,#ff69b4,#ff1493)}.alert{border:none;border-radius:8px;font-size:.9rem;font-weight:500;padding:12px 16px}.alert-danger{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 4px 12px #ff6b6b4d;color:#fff}.alert-success{background:linear-gradient(135deg,#51cf66,#40c057);box-shadow:0 4px 12px #51cf664d;color:#fff}.close-btn{opacity:.8;right:12px;transition:opacity .3s ease}.close-btn:hover{opacity:1}.booking-layout{align-items:flex-start;display:flex;gap:20px}.service-selection-full{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin-bottom:20px;padding:20px;width:100%}.service-header{margin-bottom:30px;text-align:center}.service-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff69b4,#ff1493);-webkit-background-clip:text;background-clip:text;color:#ff69b4;font-size:28px;font-weight:700;margin-bottom:8px}.service-header p{color:#666;font-size:16px;margin:0}.services-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));max-width:100%}.service-card{border:2px solid #f0f0f0;border-radius:12px;padding:20px}.service-card:hover{box-shadow:0 8px 25px #ff69b426;transform:translateY(-2px)}.service-card.selected{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border-color:#ff69b4;box-shadow:0 8px 25px #ff69b433}.service-card-header h4{color:#333;flex:1 1;font-size:18px;font-weight:600;margin:0}.service-price{-webkit-text-fill-color:#0000;-webkit-background-clip:text;background-clip:text;color:#ff69b4;font-size:20px}.service-card-details{margin-bottom:15px}.service-card-details .duration{background:#f8f9fa;border-radius:20px;color:#666;display:inline-block;font-size:14px;font-weight:500;margin-bottom:10px;padding:6px 12px}.service-description{font-size:14px;line-height:1.4}.select-indicator{border:2px solid #ff69b4;border-radius:20px;color:#ff69b4;font-size:14px;padding:8px 16px}.service-card:hover .select-indicator{background:#ff69b4;color:#fff}.selected-indicator{background:linear-gradient(135deg,#ff69b4,#ff1493);border-radius:20px;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:8px 16px}@media (max-width:1200px){.services-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.services-grid{gap:12px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.service-card{padding:15px}.service-card-header h4{font-size:16px}.service-price{font-size:18px}}@media (max-width:480px){.services-grid{gap:10px;grid-template-columns:1fr}.service-selection-full{padding:15px}.service-header h3{font-size:24px}}.service-info,.service-item-compact,.service-meta,.service-selector-compact,.service-sidebar,.services-list,.sidebar-header{display:none}.main-content{background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;flex:1 1;min-height:0;padding:20px}.booking-step-compact{height:100%}.step-header-compact{border-bottom:1px solid #f0f0f0;margin-bottom:25px;padding-bottom:15px;text-align:center}.step-header-compact h2{color:var(--dark-pink);font-size:1.4rem;font-weight:700;margin-bottom:8px}.step-header-compact p{color:#666;font-size:.95rem;margin:0}.compact-calendar-section{margin-top:20px}.calendar-card-compact{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:12px;box-shadow:none;padding:15px}.calendar-card-compact h4{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:15px;text-align:center}.compact-calendar-wrapper{max-width:100%;overflow:hidden}.compact-calendar-wrapper .calendar-container{max-width:100%!important;padding:15px!important}.compact-calendar-wrapper .calendar{font-size:.9rem!important}.compact-calendar-wrapper .calendar-header{margin-bottom:12px!important;padding:12px!important}.compact-calendar-wrapper .calendar-header h3{font-size:1.1rem!important;margin:0!important}.compact-calendar-wrapper .calendar-grid{gap:4px!important}.compact-calendar-wrapper .calendar-day{font-size:.85rem!important;min-height:35px!important;padding:8px!important}.compact-calendar-wrapper .time-slots{gap:6px!important;margin-top:15px!important}.compact-calendar-wrapper .time-slot{font-size:.8rem!important;margin:3px!important;padding:8px 12px!important}.compact-calendar-wrapper .time-slots-grid{grid-gap:6px!important;display:grid!important;gap:6px!important;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))!important}.compact-form-section{margin-top:20px}.form-card-compact{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:12px;box-shadow:none;padding:15px}.form-card-compact h4{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:15px;text-align:center}.form-wrapper-compact{max-width:100%;overflow:hidden}.form-wrapper-compact .appointment-form{max-width:100%!important;padding:15px!important}.form-wrapper-compact .form-group{margin-bottom:15px!important}.form-wrapper-compact .form-group label{font-size:.9rem!important;margin-bottom:6px!important}.form-wrapper-compact .form-control{border-radius:6px!important;font-size:.9rem!important;padding:10px!important}.form-wrapper-compact .form-control:focus{border-color:#ff69b4!important;box-shadow:0 0 0 .2rem #ff69b440!important}.form-wrapper-compact .btn{font-size:.9rem!important;padding:10px 20px!important}.form-wrapper-compact .btn-primary{background:linear-gradient(135deg,#ff69b4,#ff1493)!important;border:none!important}.form-wrapper-compact .btn-primary:hover{box-shadow:0 4px 12px #ff69b466!important;transform:translateY(-1px)!important}.form-wrapper-compact .form-row{display:flex!important;gap:15px!important;margin-bottom:15px!important}.form-wrapper-compact .form-row .form-group{flex:1 1!important;margin-bottom:0!important}.form-wrapper-compact .form-actions{border-top:1px solid #f0f0f0!important;margin-top:20px!important;padding-top:15px!important;text-align:center!important}.booking-summary-compact,.selection-summary-compact{margin-bottom:20px}.summary-card-compact{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:8px;margin-bottom:15px;padding:15px}.form-wrapper-compact textarea#notes\.customer{background:#fff;border:1px solid #ffb6c1!important;border-radius:12px!important;box-shadow:none!important;padding:15px!important}.summary-card-compact h4{color:#333;font-size:1rem;font-weight:600;margin-bottom:8px}.summary-details-compact p{color:#555;font-size:.9rem;margin:4px 0}.summary-actions-compact{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.payment-prompt-compact{text-align:center}.confirmation-card-compact,.success-card-compact{background:linear-gradient(135deg,#fff5f8,#ffe6f2);border:1px solid #ffb6c1;border-radius:8px;margin:0 auto;max-width:100%;padding:20px}.confirmation-icon-compact,.success-icon-compact{font-size:2.5rem;margin-bottom:12px}.confirmation-card-compact h3,.success-card-compact h3{color:#333;font-size:1.2rem;font-weight:700;margin-bottom:8px}.confirmation-card-compact p,.success-card-compact p{color:#666;font-size:.95rem;line-height:1.4;margin-bottom:20px}.appointment-details-compact,.confirmation-details-compact{background:#fff;border:1px solid #ffe1ea;border-radius:8px;margin:15px 0;padding:15px;text-align:left}.appointment-details-compact h4,.confirmation-details-compact h4{color:#ff1493;font-size:1.2rem;font-weight:700;margin-bottom:8px;text-align:center}.details-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:10px}.detail-item{background:linear-gradient(180deg,#fff,#fffafc);border:1px solid #ffb6c1;border-radius:10px;padding:12px 14px}.detail-label{color:#8a8a8a;font-size:.78rem;letter-spacing:.3px;margin-bottom:6px}.detail-value{font-size:.98rem;font-weight:700}.mono-id{background:#fff0f6;border:1px dashed #ffb6c1;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;padding:2px 8px}.badge{border:1px solid #0000;border-radius:20px;display:inline-block;font-size:.85rem;font-weight:700;padding:6px 10px}.badge-green{background:#e8f8f0;border-color:#9fe6c1;color:#13795b}.badge-amber{background:#fff8e1;border-color:#ffe08a;color:#8a6d00}.badge-red{background:#ffebee;border-color:#ffcdd2;color:#b71c1c}.appointment-details-compact p,.confirmation-details-compact p{color:#555;font-size:.9rem;margin:4px 0}.confirmation-actions-compact,.payment-actions-compact{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}.loading-section{padding:40px 20px}.loading-spinner{border:3px solid #f3f3f3;margin:0 auto 15px}.btn{border-radius:6px;font-size:.9rem;gap:6px;min-width:80px;padding:10px 16px}.btn-primary{box-shadow:0 4px 12px #ff69b44d}.btn-primary:hover{box-shadow:0 6px 16px #ff69b466}.btn-secondary{border:1px solid #e9ecef;color:#666}.btn-secondary:hover{border-color:#dee2e6;transform:translateY(-2px)}.btn-outline-small{background:#0000;border:1px solid #ff69b4;color:#ff69b4;font-size:.8rem;min-width:auto;padding:6px 10px}.btn-outline-small:hover{background:#ff69b4;color:#fff;transform:translateY(-1px)}.btn-large{font-size:1rem;min-width:140px;padding:12px 24px}.auth-prompt{border-radius:12px;box-shadow:0 4px 20px #00000014;padding:50px 20px}.auth-prompt h2{color:#ff69b4;font-size:1.6rem;font-weight:700}.auth-prompt p{font-size:1.1rem}.payment-section{background:#fff;border:1px solid #ffb6c1;border-radius:12px;box-shadow:0 4px 20px #00000014;padding:25px}@media (max-width:1024px){.booking-layout{flex-direction:column}.main-content{min-height:0}}@media (max-width:768px){.container{padding:0 15px}.page-header{flex-direction:column;gap:15px;padding:15px;text-align:center}.page-header h1{font-size:1.5rem}.progress-indicator-compact{flex-direction:column;gap:15px;padding:15px}.progress-step-compact{max-width:none}.step-connector-compact{display:none}.confirmation-actions-compact,.payment-actions-compact,.summary-actions-compact{flex-direction:column}.btn{width:100%}.auth-buttons{flex-direction:column}.booking-step-compact,.confirmation-card-compact,.success-card-compact{padding:15px}}@media (max-width:480px){.container{padding:0 10px}.page-header{padding:12px}.page-header h1{font-size:1.3rem}.booking-step-compact{padding:12px}.step-header-compact h2{font-size:1.2rem}}.payment-confirmation-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:800px;padding:20px}.payment-method-selection h2{color:#333;font-size:24px;margin-bottom:10px;text-align:center}.payment-method-selection>p{color:#666;margin-bottom:30px;text-align:center}.payment-methods{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.payment-methods-horizontal{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-bottom:30px}.payment-method-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;padding:25px;text-align:center;transition:all .3s ease}.payment-method-card:hover{border-color:#007bff;box-shadow:0 8px 25px #007bff26;transform:translateY(-2px)}.payment-method-card.selected{background:#f8fff9;border-color:#28a745;box-shadow:0 4px 15px #28a74533}.payment-method-card.selected .method-icon{transform:scale(1.1)}.payment-method-card .method-icon{font-size:48px;margin-bottom:15px}.payment-method-card h3{color:#333;font-size:18px;margin-bottom:10px}.payment-method-card>p{color:#666;font-size:14px;margin-bottom:15px}.method-details{display:flex;flex-direction:column;gap:5px}.method-details span{color:#555;font-size:13px;text-align:left}.payment-confirmation h2{color:#333;font-size:24px;margin-bottom:10px;text-align:center}.payment-confirmation>p{color:#666;margin-bottom:30px;text-align:center}.cash-payment-ui h3{color:#333;font-size:20px;margin-bottom:20px}.instruction-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;text-align:center}.amount-display{margin:20px 0}.amount{background:#d4edda;border-radius:8px;color:#28a745;display:inline-block;font-size:32px;padding:10px 20px}.bank-transfer-ui h3{color:#333;font-size:20px;margin-bottom:20px}.transfer-details{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.detail-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:10px 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#333;font-weight:600}.detail-row .value{color:#666;font-size:14px}.transfer-instructions{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;margin-bottom:20px;padding:15px}.transfer-instructions p{color:#856404;font-size:14px;margin:5px 0}.credit-card-ui h3{color:#333;font-size:20px;margin-bottom:20px}.customer-service-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px;padding:20px}.customer-service-card h4{color:#333;font-size:18px;margin-bottom:15px}.contact-details{margin-bottom:20px}.contact-item{align-items:center;display:flex;margin-bottom:10px}.contact-item .icon{font-size:20px;margin-right:10px;width:30px}.contact-item .contact-info{color:#333;font-size:14px}.service-instructions{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;padding:15px}.service-instructions p{color:#0056b3;font-size:14px;margin:5px 0}.confirmation-notes{margin:30px 0}.confirmation-notes label{color:#333;display:block;font-weight:600;margin-bottom:10px}.confirmation-notes textarea{border:1px solid #ddd;border-radius:8px;font-size:14px;padding:12px;resize:vertical;width:100%}.confirmation-notes textarea:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.action-buttons{margin-top:30px}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-width:150px;padding:12px 24px;transition:all .3s ease}.btn-primary{background:#007bff}.btn-primary:hover:not(:disabled){background:#0056b3;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary{background:#6c757d}.btn-secondary{color:#fff}.btn-secondary:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.btn-secondary:disabled{background:#adb5bd;cursor:not-allowed}.payment-success{padding:20px;text-align:center}.success-icon{font-size:64px;margin-bottom:20px}.payment-success h2{color:#28a745;font-size:28px;margin-bottom:10px}.payment-success>p{color:#666;font-size:16px;margin-bottom:30px}.appointment-summary{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:30px;padding:20px;text-align:left}.appointment-summary h3{color:#333;font-size:18px;margin-bottom:15px;text-align:center}.summary-details{display:flex;flex-direction:column;gap:10px}.summary-row{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:8px 0}.summary-row:last-child{border-bottom:none}.summary-row .label{color:#333;font-weight:600}.summary-row .value{color:#666}.status-pending{color:#ffc107!important;font-weight:600}.next-steps{background:#d1ecf1;border:1px solid #bee5eb;border-radius:8px;margin-bottom:30px;padding:20px}.next-steps h3{color:#0c5460;font-size:18px;margin-bottom:10px}.next-steps p{color:#0c5460;font-size:14px;margin:0}.payment-error{padding:40px 20px;text-align:center}.error-icon{font-size:64px;margin-bottom:20px}.payment-error h2{color:#dc3545;font-size:28px;margin-bottom:10px}.payment-error p{color:#666;font-size:16px;margin-bottom:30px}@media (max-width:768px){.payment-confirmation-container{margin:10px;padding:15px}.payment-methods{grid-template-columns:1fr}.payment-methods-horizontal{align-items:center;flex-direction:column}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.detail-row,.summary-row{align-items:flex-start;flex-direction:column;gap:5px}}@media (max-width:480px){.payment-method-card{padding:20px}.payment-method-card .method-icon{font-size:36px}.amount{font-size:24px;padding:8px 16px}}.appointments-page{background:linear-gradient(135deg,#ffe6f2,#ffb6c1);min-height:100vh;padding:20px 0}.appointments-page .container{margin:0 auto;max-width:1200px;padding:0 20px}.page-header{align-items:center;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px}.page-header h1{color:var(--dark-pink);font-size:2.5rem;font-weight:700;margin:0}.header-actions{display:flex;gap:15px}.welcome-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.welcome-section h2{color:var(--primary-pink);font-size:1.8rem;margin:0 0 10px}.welcome-section p{color:#666;font-size:1.1rem;margin:0}.appointments-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.appointments-section h3{border-bottom:2px solid #f0f0f0;color:var(--primary-pink);font-size:1.5rem;margin:0 0 20px;padding-bottom:10px}.no-appointments{padding:60px 20px;text-align:center}.no-appointments-icon{font-size:4rem;margin-bottom:20px}.no-appointments h3{color:var(--primary-pink);font-size:1.5rem;margin:0 0 15px}.no-appointments p{color:#666;font-size:1.1rem;margin:0 auto 25px;max-width:400px}.appointments-list{display:flex;flex-direction:column;gap:20px}.appointment-card{background:#fafafa;border:1px solid #e0e0e0;border-radius:8px}.appointment-card:hover{box-shadow:0 4px 15px #0000001a}.appointment-service h4{color:var(--primary-pink);font-size:1.2rem;margin:0 0 5px}.service-details{color:#666;font-size:.9rem;margin:0}.appointment-details{grid-gap:10px;gap:10px}.detail-item{color:#555;font-size:.95rem}.detail-item strong{color:var(--primary-pink)}.status-badge{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.badge-pending{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.badge-confirmed{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.badge-completed{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.badge-cancelled{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.badge-no-show{background:#e2e3e5;border:1px solid #d6d8db;color:#383d41}.badge-default{background:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.quick-actions{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:25px}.quick-actions h3{color:var(--primary-pink);font-size:1.3rem;margin:0 0 20px;text-align:center}.action-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.loading{padding:60px 20px;text-align:center}.loading h2{color:var(--primary-pink);margin:0 0 20px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff69b4;height:40px;margin:0 auto;width:40px}.auth-prompt{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:60px 20px;text-align:center}.auth-prompt h2{color:var(--primary-pink);margin:0 0 15px}.auth-prompt p{color:#666;margin:0 0 25px}.auth-buttons{display:flex;gap:15px;justify-content:center}.btn{border-radius:5px;display:inline-block;padding:10px 20px;text-align:center}.btn-primary{background:#ff69b4}.btn-primary:hover{background:#ff1493;transform:translateY(-1px)}.btn-secondary{background:#0000}.btn-secondary:hover{background:var(--primary-pink);color:#fff;transform:translateY(-1px)}.btn-outline{background:#0000;border:2px solid #ff69b4;color:#ff69b4}.btn-outline:hover{background:#ff69b4;color:#fff;transform:translateY(-1px)}.alert{border-radius:5px;margin-bottom:20px;padding:15px 20px;position:relative}.alert-danger{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.close-btn{color:inherit;font-size:1.2rem;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@media (max-width:768px){.page-header{flex-direction:column;gap:15px;text-align:center}.page-header h1{font-size:2rem}.header-actions{flex-direction:column;width:100%}.appointment-header{flex-direction:column;gap:10px}.appointment-details{grid-template-columns:1fr}.action-buttons,.auth-buttons{flex-direction:column}}.customer-dashboard{background:linear-gradient(135deg,#f8f9fa,#fff);margin:0 auto;max-width:1400px;min-height:100vh;padding:30px}.dashboard-header{background:#fff;border:1px solid #eef1f4;border-radius:16px;box-shadow:0 8px 24px #00000014;margin-bottom:24px;padding:24px 20px;text-align:center}.dashboard-header h2{color:var(--dark-pink);font-size:2.2rem;margin-bottom:10px}.dashboard-header p{font-size:1.2rem;margin-bottom:20px}.dashboard-header .btn{margin-top:10px}.quick-actions-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:15px}.quick-actions-grid .btn{font-size:1rem;font-weight:600;justify-content:center;padding:15px 20px;width:100%}.dashboard-header h1{color:var(--dark-pink);font-size:2.5rem;margin-bottom:10px}.dashboard-header p{color:#666;font-size:1.1rem}.dashboard-tabs{-ms-overflow-style:none;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px;overflow-x:auto;padding:0;scrollbar-width:none}.dashboard-tabs::-webkit-scrollbar{display:none}.section-title{color:var(--dark-pink);font-size:1.8rem;font-weight:700;margin:0 0 20px;text-align:center}.tab-button{background:#f8f9fa;border:2px solid #0000;color:#666;font-size:14px;font-weight:600;padding:12px 20px;transition:all .3s ease;white-space:nowrap}.tab-button:hover{background:#e9ecef;color:var(--dark-gray);transform:translateY(-1px)}.tab-button.active{background:var(--primary-pink);border-color:var(--primary-pink);box-shadow:0 4px 12px #e91e634d}.dashboard-content{background:#fff;border:1px solid #eef1f4;border-radius:16px;box-shadow:0 10px 30px #00000014;min-height:500px;overflow:hidden;position:relative}.dashboard-content:before{content:none}.appointments-section,.booking-section,.profile-section{padding:20px 30px}.profile-section{margin:0 auto;max-width:600px;padding:20px}.profile-header{margin-bottom:30px}.profile-header h2{color:var(--primary-pink);font-size:2rem;margin-bottom:10px}.profile-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:var(--primary-pink);font-size:.9rem;font-weight:600}.form-group input{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;padding:12px 16px;transition:all .3s ease}.form-group input:focus{background:#fff;border-color:var(--primary-pink);box-shadow:0 0 0 3px #ff69b41a;outline:none}.form-group input:disabled{background:#f1f3f4;color:#666;cursor:not-allowed}.form-actions{gap:15px;grid-column:1/-1;justify-content:center;margin-top:30px}.appointments-section{margin:0;padding:0}.appointments-header{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:25px}.appointments-header h2{color:var(--primary-pink);font-size:1.8rem;margin:0}.appointments-actions{align-items:center;display:flex;gap:12px}.appointments-list{margin:0;padding:0}.appointments-table{font-size:.95rem}.appointments-table th{background:var(--light-pink);border-bottom:2px solid #e9ecef;color:var(--primary-pink);padding:15px 12px}.appointments-table td{border-bottom:1px solid #e9ecef;padding:15px 12px}.appointment-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e1e5e9;border-radius:12px;overflow:hidden;padding:20px;position:relative;transition:all .3s ease}.appointment-card:before{content:none}.appointment-card:hover{border-color:var(--light-pink);box-shadow:0 8px 25px #00000026;transform:translateY(-2px)}.appointment-card:hover:before{width:8px}.appointment-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.appointment-id{background:linear-gradient(135deg,var(--primary-pink) 0,var(--dark-pink) 100%);border-radius:20px;color:#fff;padding:6px 12px}.appointment-status{border-radius:20px;font-size:.8rem;font-weight:600;padding:6px 12px;text-transform:uppercase}.appointment-status.pending{background:#fff3cd;color:#856404}.appointment-status.confirmed{background:#d4edda;color:#155724}.appointment-status.completed{background:#d1ecf1;color:#0c5460}.appointment-status.cancelled{background:#f8d7da;color:#721c24}.appointment-details{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:15px}.detail-item{display:flex;flex-direction:column;gap:5px}.detail-label{color:#666;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:#333;font-size:1rem;font-weight:600}.appointment-actions{display:flex;flex-wrap:wrap;gap:10px}.booking-section{margin:0 auto;max-width:800px;padding:20px}.booking-header{margin-bottom:30px;text-align:center}.booking-header h2{color:var(--primary-pink);font-size:2rem;margin-bottom:10px}.booking-header p{color:#666;font-size:1.1rem}.booking-actions{display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:30px}.btn{font-weight:600;gap:8px;overflow:hidden;padding:12px 24px;position:relative}.btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.btn:hover:before{left:100%}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,var(--primary-pink) 0,var(--dark-pink) 100%)}.btn-secondary{background:#fff;border:2px solid var(--primary-pink);color:var(--primary-pink)}.btn-secondary:hover:not(:disabled){background:var(--primary-pink);color:#fff;transform:translateY(-2px)}.btn-warning{background:linear-gradient(135deg,#ffc107,#ff8f00);box-shadow:0 4px 15px #ffc1074d;color:#fff}.btn-warning:hover:not(:disabled){box-shadow:0 6px 20px #ffc10766;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 4px 15px #dc35454d}.btn-danger:hover:not(:disabled){box-shadow:0 6px 20px #dc354566;transform:translateY(-2px)}.message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:10px;margin-bottom:20px;padding:15px 20px}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message.warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404}.loading{color:var(--primary-pink);padding:40px}.loading-spinner{border-top:4px solid var(--primary-pink);margin-right:15px}.empty-state{color:#666;padding:60px 20px}.empty-state-icon{margin-bottom:20px;opacity:.5}.empty-state h3{color:#333;margin-bottom:10px}.empty-state p{margin-bottom:20px}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-height:80vh;max-width:500px;overflow-y:auto;padding:30px;position:relative;width:90%}.modal-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.modal-header h2{color:var(--primary-pink);font-size:1.5rem;margin:0}.close-btn{background:none;border:none;border-radius:50%;color:#666;cursor:pointer;font-size:1.5rem;padding:5px;transition:all .3s ease}.close-btn:hover{background:#f1f3f4;color:var(--primary-pink)}@media (max-width:768px){.customer-dashboard{padding:15px}.dashboard-header{padding:20px}.dashboard-header h1{font-size:2rem}.dashboard-actions{align-items:center;flex-direction:column}.quick-actions-grid{gap:10px;grid-template-columns:1fr}.quick-action-btn{padding:15px}.action-icon{font-size:2rem}.dashboard-header-content{flex-direction:column;text-align:center}.dashboard-tabs{padding:6px}.tab-button{font-size:.9rem;padding:10px 16px}.dashboard-content{border-radius:10px;padding:20px}.profile-form{grid-template-columns:1fr}.appointment-header,.appointments-header{align-items:stretch;flex-direction:column}.appointment-details{grid-template-columns:1fr}.appointment-actions{justify-content:center}.booking-actions{flex-direction:column}.btn{justify-content:center;width:100%}.appointments-table td,.appointments-table th{font-size:.85rem;padding:10px 8px}.welcome-section{padding:20px}.welcome-content h2{font-size:2rem}.dashboard-stats{gap:15px;grid-template-columns:1fr}.stat-card{padding:20px}.stat-icon{font-size:2.5rem}.payments-section{padding:20px}.payments-table td,.payments-table th{font-size:.85rem;padding:10px 8px}.payments-table-container{-webkit-overflow-scrolling:touch;overflow-x:auto}}@media (max-width:480px){.dashboard-header h1{font-size:1.8rem}.dashboard-header p{font-size:1rem}.tab-button{font-size:.8rem;padding:8px 12px}.appointment-card{padding:15px}.modal-content{padding:20px;width:95%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.customer-dashboard{animation:fadeIn .5s ease}.appointment-card{animation:slideIn .3s ease}.btn:focus,.form-group input:focus,.tab-button:focus{box-shadow:0 0 0 3px #ff69b44d;outline:none}@media print{.customer-dashboard{background:#fff;box-shadow:none}.appointment-actions,.btn,.dashboard-header,.dashboard-tabs{display:none}.appointment-card{border:1px solid #ddd;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.welcome-section{padding:40px 30px;text-align:center}.welcome-content h2{color:var(--primary-pink);font-size:2.5rem;margin-bottom:15px}.welcome-content>p{color:#666;font-size:1.2rem;margin-bottom:40px;margin-left:auto;margin-right:auto;max-width:600px}.dashboard-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:40px}.stat-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 4px 15px #0000001a;padding:25px;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:var(--light-pink);box-shadow:0 8px 25px #00000026;transform:translateY(-5px)}.stat-icon{font-size:3rem;margin-bottom:15px}.stat-info h3{color:var(--primary-pink);font-size:1.3rem;margin-bottom:8px}.stat-info p{color:#666;font-size:1rem;margin:0}.welcome-actions{margin-top:30px}.welcome-actions h3{color:var(--primary-pink);font-size:1.8rem;margin-bottom:10px}.welcome-actions p{color:#666;font-size:1.1rem;margin-bottom:20px}.payments-section{padding:20px 30px}.payments-header{margin-bottom:30px;text-align:center}.payments-header h2{color:var(--primary-pink);font-size:2rem;margin-bottom:10px}.payments-header p{color:#666;font-size:1.1rem}.payments-list{background:#fff;border-radius:12px;box-shadow:0 4px 15px #0000001a;overflow:hidden}.payments-table-container{overflow-x:auto}.payments-table{border-collapse:collapse;font-size:.95rem;width:100%}.payments-table th{background:var(--light-pink);border-bottom:2px solid #e9ecef;color:#333;font-weight:600;padding:15px 12px;text-align:left;white-space:nowrap}.payments-table td{border-bottom:1px solid #e9ecef;padding:15px 12px;vertical-align:top}.payments-table tr:hover{background:#f8f9fa}.payment-id{background:linear-gradient(135deg,var(--primary-pink) 0,var(--dark-pink) 100%);border-radius:12px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px}.appointment-info{display:flex;flex-direction:column;gap:4px}.appointment-id{color:var(--primary-pink);font-size:.9rem}.appointment-date{color:#666;font-size:.8rem}.service-name{color:#333;font-weight:600}.amount{color:var(--primary-pink);font-size:1.1rem;font-weight:700}.payment-method{color:#666;font-size:.9rem}.status{border-radius:12px;font-size:.8rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.status-default{background:#e9ecef;color:#495057}.created-date,.due-date{color:#666;font-size:.9rem}.password-strength{font-size:.85rem;margin-top:8px}.password-strength small{color:var(--primary-pink);font-weight:600}.password-strength ul{list-style:none;margin:5px 0 0;padding:0}.password-strength li{font-size:.8rem;padding:2px 0 2px 20px;position:relative}.password-strength li:before{color:#dc3545;content:"✗";font-weight:700;left:0;position:absolute}.password-strength li.valid:before{color:#28a745;content:"✓"}.password-strength li.valid{color:#28a745}.password-strength li.invalid{color:#dc3545}.form-input.valid{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.form-input.invalid{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.change-password-section{margin:0 auto;max-width:600px;padding:20px}.change-password-header{margin-bottom:30px;text-align:center}.change-password-header h2{color:var(--primary-pink);margin-bottom:10px}.change-password-header p{color:#666;font-size:.95rem}.quick-actions{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.quick-actions .btn{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100px;padding:20px;text-align:center}.action-icon{display:block;font-size:2rem;margin-bottom:10px}.customer-profile-container{margin:0 auto;max-width:900px;padding:2rem 1.5rem}.profile-header{border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.profile-header h1{color:var(--dark-pink);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.profile-header p{color:var(--dark-gray);font-size:1.1rem;margin:0;opacity:.8}.profile-content{background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 10px 30px #00000014;padding:2rem}.form-sections-container{display:flex;flex-direction:column;gap:2.5rem;margin:0 auto;max-width:800px}.form-section{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.form-section h3{font-size:1.2rem;font-weight:700;margin:0 0 1rem}.preferences-container{display:flex;flex-direction:column;gap:1.25rem}.checkbox-label{border-radius:8px;color:#555;font-size:1rem;padding:.75rem;transition:background-color .2s ease}.checkbox-label:hover{background-color:#f8f9fa}.form-section+.form-section{border-top:1px solid #f0f2f5;margin-top:1.75rem;padding-top:1.75rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-input{color:var(--dark-gray)}.form-input::placeholder{color:#999;opacity:1}.form-input:invalid:not(:placeholder-shown){border-color:#dc3545}.form-input:valid{border-color:#28a745}.checkbox-label{align-items:center;color:var(--dark-gray);cursor:pointer;display:flex;font-weight:500;gap:.75rem;padding:.5rem 0}.checkbox-label input[type=checkbox]{accent-color:#ff69b4;cursor:pointer;height:18px;width:18px}.checkmark{background:#fff;border:2px solid #e0e0e0;border-radius:4px;height:18px;position:relative;transition:all .3s ease;width:18px}.checkbox-label input[type=checkbox]:checked+.checkmark{background:#ff69b4;border-color:#ff69b4}.checkbox-label input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.form-actions{background:#0000;border:none;border-radius:0;border-top:1px solid #f0f2f5;margin-top:1.25rem;padding-top:1.25rem}.loading{color:var(--dark-gray)}@media (max-width:768px){.customer-profile-container{margin:1rem;padding:1rem}.profile-header h1{font-size:2rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.btn{width:100%}}@media (max-width:480px){.customer-profile-container{margin:.5rem;padding:.5rem}.profile-content{padding:1rem}.profile-header h1{font-size:1.75rem}}.customer-change-password-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:600px;padding:2rem}.password-header{border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.password-header h1{color:var(--dark-pink);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.password-header p{color:var(--dark-gray);font-size:1.1rem;margin:0;opacity:.8}.success-message{align-items:center;background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.success-icon{font-size:1.2rem}.password-content{background:#fafafa;border-radius:8px;padding:2rem}.form-section{margin-bottom:2rem}.form-section h3{border-bottom:1px solid #e0e0e0;color:var(--dark-pink);font-size:1.3rem;font-weight:600;padding-bottom:.5rem}.form-group,.form-section h3{margin-bottom:1.5rem}.form-group label{color:var(--dark-pink);display:block;font-size:.95rem;font-weight:500;margin-bottom:.5rem}.form-input{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .3s ease;width:100%}.form-input:focus{border-color:#ff69b4;box-shadow:0 0 0 3px #ff69b41a;outline:none}.form-input:invalid{border-color:#dc3545}.password-requirements{color:#666;display:block;font-size:.85rem;line-height:1.4;margin-top:.5rem}.password-requirements ul{margin:.5rem 0 0 1.5rem;padding:0}.password-requirements li{margin-bottom:.25rem}.password-strength{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.password-strength h4{color:var(--dark-pink);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.strength-indicator{margin-bottom:.5rem}.strength-bar{background:#e0e0e0;border-radius:4px;height:8px;overflow:hidden;position:relative}.strength-bar:before{background:linear-gradient(90deg,#dc3545,#ffc107,#28a745);content:"";height:100%;left:0;position:absolute;top:0;transition:width .3s ease;width:0}.strength-bar.length:before{width:25%}.strength-bar.uppercase:before{width:50%}.strength-bar.lowercase:before{width:75%}.strength-bar.number:before{width:100%}.strength-text{color:var(--dark-gray);font-size:.9rem;font-weight:500;opacity:.7}.form-actions{border-top:1px solid #e0e0e0;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px #ff69b466;transform:translateY(-2px)}.btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.customer-change-password-container{margin:1rem;padding:1rem}.password-header h1{font-size:2rem}.form-actions{flex-direction:column}.btn{width:100%}}@media (max-width:480px){.customer-change-password-container{margin:.5rem;padding:.5rem}.password-content{padding:1rem}.password-header h1{font-size:1.75rem}}.customer-appointments-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:0 auto;max-width:1200px;padding:2rem}.appointments-header{border-bottom:2px solid #f0f0f0;margin-bottom:2rem;padding-bottom:1.5rem;text-align:center}.appointments-header-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1rem}.appointments-header h1{color:var(--dark-pink);font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.appointments-header p{color:var(--dark-gray);font-size:1.1rem;margin:0;opacity:.8}.empty-state{background:#fafafa;border:2px dashed #e0e0e0;border-radius:12px;padding:3rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.6}.empty-state h3{color:var(--dark-pink);font-size:1.5rem;margin-bottom:1rem}.empty-state p{color:var(--dark-gray);font-size:1.1rem;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:400px;opacity:.8}.appointments-content{background:#fafafa;border-radius:8px;padding:2rem}.appointments-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.summary-card{align-items:center;background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;display:flex;gap:1rem;padding:1.5rem;transition:transform .3s ease}.summary-card:hover{transform:translateY(-2px)}.summary-icon{align-items:center;background:linear-gradient(135deg,#ff69b4,#ff1493);border-radius:50%;color:#fff;display:flex;font-size:2rem;height:60px;justify-content:center;width:60px}.summary-info h3{color:var(--dark-gray);font-size:.9rem;font-weight:500;letter-spacing:.5px;margin:0 0 .5rem;opacity:.8;text-transform:uppercase}.summary-info p{color:var(--dark-pink);font-size:2rem;font-weight:700;margin:0}.appointments-table-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;overflow-x:auto;overflow-y:hidden}.appointments-table{border-collapse:collapse;font-size:.9rem;min-width:1100px;width:100%}.appointments-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:var(--dark-pink);font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:1rem;text-align:left;text-transform:uppercase}.appointments-table td{border-bottom:1px solid #f0f0f0;padding:1rem;vertical-align:top}.appointment-id,.appointments-table td,.appointments-table th,.datetime-info,.datetime-inline,.service-info{white-space:nowrap}.datetime-inline{display:inline-block}.appointments-table tr:hover{background:#f8f9fa}.appointment-id{background:#f0f0f0;border-radius:4px;color:var(--dark-gray);font-size:.8rem;font-weight:600;padding:.25rem .5rem}.datetime-info,.service-info{display:flex;flex-direction:column;gap:.25rem}.date,.service-name{color:var(--dark-gray);font-weight:600}.datetime-info small,.service-info small{color:var(--dark-gray);font-size:.8rem;opacity:.7}.price{color:#28a745;font-size:1.1rem;font-weight:700}.payment-status,.status{border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-success{background:#d4edda;color:#155724}.status-warning{background:#fff3cd;color:#856404}.status-error{background:#f8d7da;color:#721c24}.status-info{background:#d1ecf1;color:#0c5460}.status-default{background:#e2e3e5;color:#383d41}.actions{display:flex;flex-wrap:wrap;gap:.5rem}.btn-sm{font-size:.8rem;padding:.25rem .75rem}.btn-danger{background:#dc3545;color:#fff}.btn-danger:hover{background:#c82333}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#ff69b4,#ff1493);box-shadow:0 4px 15px #ff69b44d;color:#fff}.btn-primary:hover{box-shadow:0 6px 20px #ff69b466;transform:translateY(-2px)}.btn-secondary{background:#f8f9fa;border:2px solid #e0e0e0;color:var(--dark-gray)}.btn-secondary:hover{background:#e9ecef;border-color:#adb5bd}.loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:3rem}.loading-spinner{margin-bottom:1rem}.error-message{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;display:flex;gap:.5rem;margin-bottom:1.5rem;padding:1rem}.error-icon{font-size:1.2rem}@media (max-width:768px){.customer-appointments-container{margin:1rem;padding:1rem}.appointments-header h1{font-size:2rem}.appointments-summary{grid-template-columns:1fr}.appointments-table{font-size:.8rem}.appointments-table td,.appointments-table th{padding:.5rem}.appointments-actions{flex-direction:column}.btn{width:100%}.actions{flex-direction:column}}@media (max-width:480px){.customer-appointments-container{margin:.5rem;padding:.5rem}.appointments-content{padding:1rem}.appointments-header h1{font-size:1.75rem}.appointments-table{display:block;overflow-x:auto}}.customer-services-container{background:linear-gradient(135deg,#fff5f8,#ffe6f2);margin:0 auto;max-width:1200px;min-height:100vh;padding:20px}.services-header{margin-bottom:40px;position:relative;text-align:center}.services-header h1{color:var(--dark-pink);font-size:2.5rem;font-weight:700;margin:20px 0 10px}.services-header p{color:#666;font-size:1.1rem;margin:0}.services-header .back-button{background:#fff;border:2px solid #ff69b4;border-radius:8px;color:#ff69b4;font-weight:500;left:0;padding:8px 16px;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease}.services-header .back-button:hover{background:#ff69b4;color:#fff}.services-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-top:30px}.service-card{background:#fff;border:2px solid #0000;border-radius:16px;box-shadow:0 8px 25px #ff69b426;cursor:pointer;overflow:hidden;padding:25px;position:relative;transition:all .3s ease}.service-card:before{content:none}.service-card:hover{border-color:#ffb6c1;box-shadow:0 12px 35px #ff69b440;transform:translateY(-5px)}.service-card:hover:before{transform:scaleX(1)}.service-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:15px}.service-card-header h3{color:#ff69b4;flex:1 1;font-size:1.4rem;font-weight:700;margin:0}.service-price{background:linear-gradient(135deg,#ff69b4,#ff1493);border-radius:20px;color:#fff;font-size:1.1rem;font-weight:700;min-width:80px;padding:8px 16px;text-align:center}.service-card-details{margin-bottom:20px}.duration{background:#f8f9fa;border-radius:15px;color:#666;display:inline-block;font-size:.9rem;font-weight:500;margin-bottom:10px;padding:6px 12px}.service-description{color:#666;font-size:.95rem;line-height:1.5;margin:10px 0 0}.service-card-action{border-top:1px solid #f0f0f0;padding-top:15px;text-align:center}.select-indicator{background:linear-gradient(135deg,#ff69b4,#ff1493);border-radius:25px;color:#fff;display:inline-block;font-size:.95rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.service-card:hover .select-indicator{box-shadow:0 4px 15px #ff69b466;transform:scale(1.05)}.loading-section{padding:60px 20px;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#ff69b4;height:40px;margin:0 auto 20px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.error-section,.no-services{color:#666;padding:60px 20px;text-align:center}.no-services p{font-size:1.1rem;margin:10px 0}@media (max-width:768px){.customer-services-container{padding:15px}.services-header h1{font-size:2rem}.services-grid{gap:20px;grid-template-columns:1fr}.service-card{padding:20px}.services-header .back-button{display:inline-block;margin-bottom:20px;position:static;transform:none}}@media (max-width:480px){.services-header h1{font-size:1.8rem}.service-card-header{flex-direction:column;gap:10px}.service-price{align-self:flex-start}}.tab-button{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;padding:8px 12px}.tab-button.active{background:#e91e63;border-color:#e91e63;color:#fff}
/*# sourceMappingURL=main.497ec04e.css.map*/