*{margin:0;padding:0}body{background:linear-gradient(135deg,#ffe6f2,#fff0f5 50%,#ffe6f2);background-attachment:fixed;color:var(--text-primary,#111827);font-family:var(--font-family,-apple-system,BlinkMacSystemFont,"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:var(--primary,#ec4899);--light-pink:var(--pink-200,#fbcfe8);--dark-pink:var(--pink-600,#db2777);--accent-pink:var(--pink-300,#f9a8d4);--white:var(--white,#fff);--light-gray:var(--gray-100,#f3f4f6);--dark-gray:var(--gray-800,#1f2937)}html{scroll-behavior:smooth}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#fbcfe8;background:var(--light-pink)}::-webkit-scrollbar-thumb{background:#ec4899;background:var(--primary-pink);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#db2777;background:var(--dark-pink)}:root{--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--pink-700:#be185d;--pink-800:#9f1239;--pink-900:#831843;--primary:var(--pink-500);--primary-light:var(--pink-400);--primary-dark:var(--pink-600);--primary-bg:var(--pink-50);--primary-hover:var(--pink-600);--secondary:#f3f4f6;--secondary-light:#f9fafb;--secondary-dark:#e5e7eb;--accent:#fbbf24;--accent-light:#fcd34d;--accent-dark:#f59e0b;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--black:#000;--text-primary:var(--gray-900);--text-secondary:var(--gray-600);--text-tertiary:var(--gray-500);--text-light:var(--gray-400);--text-on-primary:var(--white);--bg-primary:var(--white);--bg-secondary:var(--pink-50);--bg-tertiary:var(--gray-50);--bg-overlay:#00000080;--border-light:var(--gray-200);--border-medium:var(--gray-300);--border-dark:var(--gray-400);--border-pink:var(--pink-200);--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--error:#ef4444;--error-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-pink:0 4px 14px 0 #ec489926;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-heading:"Georgia","Times New Roman",serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-full:9999px;--transition-fast:150ms ease-in-out;--transition-base:200ms ease-in-out;--transition-slow:300ms ease-in-out;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-family);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-normal);margin:0;padding:0}body,h1,h2,h3,h4,h5,h6{color:#111827;color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-family:Georgia,Times New Roman,serif;font-family:var(--font-family-heading);font-weight:700;font-weight:var(--font-weight-bold);line-height:1.25;line-height:var(--line-height-tight);margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}h1{font-size:2.25rem;font-size:var(--font-size-4xl)}h2{font-size:1.875rem;font-size:var(--font-size-3xl)}h3{font-size:1.5rem;font-size:var(--font-size-2xl)}h4{font-size:1.25rem;font-size:var(--font-size-xl)}h5{font-size:1.125rem;font-size:var(--font-size-lg)}h6{font-size:1rem;font-size:var(--font-size-base)}p{color:#4b5563;color:var(--text-secondary);margin:0 0 1rem;margin:0 0 var(--spacing-md) 0}a{color:#ec4899;color:var(--primary);text-decoration:none;transition:color .15s ease-in-out;transition:color var(--transition-fast)}a:hover{color:#db2777;color:var(--primary-dark);text-decoration:underline}.btn{border-radius:.5rem;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;padding:.5rem 1.5rem;padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease-in-out;transition:all var(--transition-base);white-space:nowrap}.btn-primary{background-color:#ec4899;background-color:var(--primary);box-shadow:0 4px 14px 0 #ec489926;box-shadow:var(--shadow-pink);color:var(--text-on-primary)}.btn-primary:hover{background-color:#db2777;background-color:var(--primary-dark);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);text-decoration:none}.btn-secondary{background-color:#f3f4f6;background-color:var(--secondary);border:1px solid #e5e7eb;border:1px solid var(--border-light);color:#111827;color:var(--text-primary)}.btn-secondary:hover{background-color:#e5e7eb;background-color:var(--secondary-dark);border-color:#d1d5db;border-color:var(--border-medium);text-decoration:none}.btn-outline{background-color:initial;border:2px solid #ec4899;border:2px solid var(--primary);color:#ec4899;color:var(--primary)}.btn-outline:hover{background-color:#ec4899;background-color:var(--primary);color:var(--text-on-primary);text-decoration:none}.card{background-color:#fff;background-color:var(--bg-primary);border:1px solid #e5e7eb;border:1px solid var(--border-light);border-radius:.75rem;border-radius:var(--radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);padding:1.5rem;padding:var(--spacing-lg)}.card-hover{transition:all .2s ease-in-out;transition:all var(--transition-base)}.card-hover:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.input{background-color:#fff;background-color:var(--bg-primary);border:1px solid #d1d5db;border:1px solid var(--border-medium);border-radius:.5rem;border-radius:var(--radius-md);color:#111827;color:var(--text-primary);font-size:1rem;font-size:var(--font-size-base);line-height:1.5;line-height:var(--line-height-normal);padding:.5rem 1rem;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease-in-out;transition:all var(--transition-base);width:100%}.input:focus{border-color:#ec4899;border-color:var(--primary);box-shadow:0 0 0 3px #ec48991a;outline:none}.input::placeholder{color:#9ca3af;color:var(--text-light)}.text-primary{color:#111827;color:var(--text-primary)}.text-secondary{color:#4b5563;color:var(--text-secondary)}.text-tertiary{color:#6b7280;color:var(--text-tertiary)}.text-pink{color:#ec4899;color:var(--primary)}.bg-primary{background-color:#fff;background-color:var(--bg-primary)}.bg-secondary{background-color:#fdf2f8;background-color:var(--bg-secondary)}.bg-pink-light{background-color:#fdf2f8;background-color:var(--pink-50)}.shadow-sm{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.shadow{box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow)}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg)}.shadow-pink{box-shadow:0 4px 14px 0 #ec489926;box-shadow:var(--shadow-pink)}.App{display:flex;flex-direction:column;min-height:100vh}.main-content{margin:0;max-width:100%;padding:0;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{gap:16px;margin-left:24px}.nav-link{border-radius:6px;color:#e91e63;font-size:1.08rem;font-weight:500;padding:6px 12px;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{background:#fff;border:1px solid #f8bbd0;border-radius:8px;box-shadow:0 1px 4px #e91e630a;justify-content:space-between;margin-bottom:12px;padding:14px 18px}.appt-item,.navigation{align-items:center;display:flex}.navigation{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffb6c1d9;border-bottom:1px solid #ffffff4d;border-radius:0;box-shadow:0 2px 10px #ff69b41a;height:155px;margin-bottom:0;min-height:155px;padding:0 24px;padding:0 var(--spacing-lg,24px);position:relative;z-index:1020;z-index:var(--z-sticky,1020)}.nav-container{gap:32px;gap:var(--spacing-xl,32px);height:100%;width:100%}.logo,.nav-container{align-items:center;display:flex}.logo{color:inherit;max-width:100%;min-width:0;overflow:visible;transition:transform .2s ease;transition:transform var(--transition-base,.2s ease);width:auto}.logo,.logo:hover{text-decoration:none}.logo:hover{transform:scale(1.05)}.logo:hover .logo-circle-container{border-color:#ffffffb3;box-shadow:0 4px 18px #ff69b440;transform:scale(1.05)}.logo-circle-container{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffe6;border:4px solid #fff9;border-radius:50%;box-shadow:0 4px 20px #ff69b433;display:flex;height:143px;justify-content:center;padding:6px;transition:all .3s ease;width:143px}.logo-circle{border-radius:50%;display:block;height:100%;object-fit:contain;width:100%}.logo-fallback{align-items:center;color:#fff;display:flex;flex-direction:column;font-family:Great Vibes,cursive;font-size:20px;font-weight:700;height:100%;justify-content:center;line-height:1;text-shadow:0 2px 8px #ff69b44d;width:100%}.logo span[style*=font-family]{color:#fff!important;display:inline-block!important;font-family:'"Great Vibes", "Satisfy", cursive'!important;font-size:24px!important;font-weight:700!important;letter-spacing:2px!important;line-height:1!important;text-shadow:0 2px 8px #ff69b44d!important}.logo span[style*="font-size: 14"]{color:#fff!important;display:inline-block!important;font-family:"Montserrat, Arial, sans-serif"!important;font-size:14px!important;font-style:italic!important;font-weight:500!important;margin-top:2px!important;opacity:.9!important;text-shadow:0 1px 4px #ffb6c133!important}.menu-items{flex:1 1;gap:24px;gap:var(--spacing-lg,24px);justify-content:space-between}.menu-items,.nav-tabs{align-items:center;display:flex}.nav-tabs{gap:12px;list-style:none;margin:0;padding:0}.nav-tab{border-radius:8px;color:#fffffffa;font-size:17px;font-weight:600;letter-spacing:.3px;padding:12px 20px;position:relative;text-decoration:none;text-shadow:0 2px 4px #00000026;transition:all .2s ease;white-space:nowrap}.nav-tab:hover{background:#fff3;color:#fff;text-decoration:none;transform:translateY(-1px)}.nav-tab.active{background:#ffffff4d;color:#fff;font-weight:700;text-shadow:0 2px 6px #0003}.nav-tab.active:after{background:#fff;border-radius:9999px;border-radius:var(--radius-full,9999px);bottom:0;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);width:60%}.nav-auth-links{align-items:center;display:flex;gap:14px}.nav-link{background:#ffffff26;border:1px solid #ffffff40;border-radius:8px;color:#fffffffa;font-size:16px;font-weight:600;letter-spacing:.2px;padding:10px 18px;text-decoration:none;text-shadow:0 2px 4px #00000026;transition:all .2s ease;white-space:nowrap}.nav-link:hover{background:#ffffff40;border-color:#fff6;color:#fff;text-decoration:none;transform:translateY(-1px)}.nav-link.nav-auth-home{background:#0000;border:none;padding:0}.nav-link.nav-auth-home:hover{background:#0000;box-shadow:none;transform:none}@media (max-width:1024px){.navigation{padding:0 16px;padding:0 var(--spacing-md,16px)}.nav-tabs{gap:4px;gap:var(--spacing-xs,4px)}.nav-tab{font-size:14px;font-size:var(--font-size-sm,14px);padding:4px 8px;padding:var(--spacing-xs,4px) var(--spacing-sm,8px)}}@media (max-width:768px){.navigation{height:auto;min-height:auto;padding:16px;padding:var(--spacing-md,16px)}.menu-items,.nav-container,.navigation{flex-direction:column;gap:16px;gap:var(--spacing-md,16px)}.menu-items{width:100%}.nav-auth-links,.nav-tabs{flex-wrap:wrap;justify-content:center;width:100%}}.sparkle-bold-on-sparkle,.sparkle-letter{animation:sparkle 2s ease-in-out infinite;display:inline-block}.glitter-star{animation:glitter-sparkle 1.1s steps(2) infinite}@keyframes glitter-sparkle{0%,to{opacity:1;transform:rotate(0deg) scale(1)}50%{opacity:.6;transform:rotate(180deg) scale(1.2)}}.promotions-strip{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffb6c199;border-bottom:1px solid #ffffff4d;border-top:1px solid #ffffff4d;padding:20px 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{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #fff6;border-radius:10px;box-shadow:0 1px 6px #0000000d;padding:14px 16px;transition:all .2s ease}.promo-card:hover{background:#ffffffd9;border-color:#fff9;box-shadow:0 2px 10px #00000014;transform:translateY(-2px)}.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{background:#0000;padding:0}.hero,.home{min-height:calc(100vh - 155px)}.hero{align-items:center;display:flex;gap:60px;margin:0 auto;max-width:1400px;padding:40px 24px}.hero-content{flex:1 1;z-index:1}.hero-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:24px}.hero-subtitle{color:#ec4899;font-size:1.75rem;font-weight:600;letter-spacing:-.01em;margin-bottom:24px}.hero-description{color:#4b5563;font-size:1.2rem;line-height:1.7;margin-bottom:40px;max-width:600px}.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{margin:0 auto;max-width:1400px;padding:40px 24px}.features-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:0}.feature-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff9;border:1px solid #ec489926;border-radius:16px;box-shadow:0 2px 12px #ec489914;overflow:hidden;padding:32px 24px;position:relative;text-align:center;transition:all .3s ease}.feature-card:hover{background:#ffffffbf;border-color:#ec489940;box-shadow:0 4px 20px #ec48991f;transform:translateY(-4px)}.feature-icon{display:block;filter:drop-shadow(0 4px 8px rgba(236,72,153,.2));font-size:3.5rem;margin-bottom:24px;transition:transform .3s ease}.feature-card:hover .feature-icon{transform:scale(1.1) rotate(5deg)}.feature-card h3{color:#ec4899;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.feature-card p{color:#6b7280;font-size:1rem;line-height:1.7}.location-info{margin:0 auto;max-width:1400px;padding:40px 24px}.location-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff9;border:1px solid #ec489926;border-radius:16px;box-shadow:0 2px 12px #ec489914;margin:0 auto;max-width:800px;padding:40px 32px;text-align:center}.location-card h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:24px}.location-card p{color:#4b5563;font-size:1.15rem;line-height:1.7;margin-bottom:32px}.location-details{display:flex;flex-direction:column;gap:16px}.detail{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background:#ffffff80;border:1px solid #ec48991a;border-radius:8px;color:#374151;font-size:1rem;padding:12px 16px;transition:all .2s ease}.detail:hover{background:#ffffffb3;border-color:#ec489933}.detail strong{color:#ec4899;font-weight:600}@media (max-width:768px){.hero{flex-direction:column;gap:32px;min-height:auto;padding:32px 16px;text-align:center}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.2rem}.hero-buttons{justify-content:center}.features{padding:32px 16px}.features-grid{gap:20px;grid-template-columns:1fr}.location-info{padding:32px 16px}.location-card{padding:32px 24px}}.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{background:linear-gradient(135deg,#fdf2f8,#fff0f5 50%,#fdf2f8);min-height:100vh;padding:40px 20px}.about-content{margin:0 auto;max-width:1200px}.about-story{background:linear-gradient(135deg,#fff,#fdf2f8);border:2px solid #ec48991a;border-radius:24px;box-shadow:0 8px 32px #ec48991a;margin:40px 0;padding:48px 40px}.about-story h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:24px}.about-story p{color:#4b5563;font-size:1.15rem;line-height:1.8;margin-bottom:24px}.about-story p:last-child{margin-bottom:0}.about-values{margin:60px 0}.about-values h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:48px;text-align:center}.values-grid{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.value-item{background:linear-gradient(135deg,#fff,#fdf2f8);border:2px solid #ec48991a;border-radius:24px;box-shadow:0 4px 20px #ec489914;overflow:hidden;padding:40px 32px;position:relative;text-align:center;transition:all .4s cubic-bezier(.4,0,.2,1)}.value-item:before{background:linear-gradient(90deg,#ec4899,#f472b6);content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .4s ease}.value-item:hover{border-color:#ec48994d;box-shadow:0 12px 40px #ec489926;transform:translateY(-12px)}.value-item:hover:before{transform:scaleX(1)}.value-icon{display:block;filter:drop-shadow(0 4px 8px rgba(236,72,153,.2));font-size:3.5rem;margin-bottom:24px;transition:transform .3s ease}.value-item:hover .value-icon{transform:scale(1.1) rotate(5deg)}.value-item h3{color:#ec4899;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.value-item p{color:#6b7280;font-size:1rem;line-height:1.7}.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{background:linear-gradient(135deg,#fdf2f8,#fff0f5 50%,#fdf2f8);min-height:100vh;padding:40px 20px}.contact-content{grid-gap:48px;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin:40px auto;max-width:1200px}.contact-info{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr}.info-card{background:linear-gradient(135deg,#fff,#fdf2f8);border:2px solid #ec48991a;border-radius:20px;box-shadow:0 4px 20px #ec489914;padding:32px;transition:all .3s ease}.info-card:hover{border-color:#ec489933;box-shadow:0 8px 32px #ec48991f;transform:translateY(-4px)}.info-card h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin-bottom:20px}.info-card p{color:#4b5563;font-size:1.05rem;line-height:1.7;margin-bottom:12px}.info-card p:last-child{margin-bottom:0}.contact-form{background:linear-gradient(135deg,#fff,#fdf2f8);border:2px solid #ec48991a;border-radius:24px;box-shadow:0 8px 32px #ec48991a;padding:48px 40px}.contact-form h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#f472b6);-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;letter-spacing:-.02em;margin-bottom:32px;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.88afca21.css.map*/