@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;700&display=swap";:root{--bg-primary:#0a0a0a;--bg-secondary:#171717;--bg-tertiary:#262626;--text-primary:#f8fafc;--text-secondary:#a1a1aa;--accent-primary:#f8fafc;--accent-hover:#cbd5e1;--accent-light:#f8fafc1a;--border-color:#ffffff1a;--border-hover:#fff3;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-heading:"Outfit", system-ui, -apple-system, sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;margin:0;line-height:1.5}#root{flex-direction:column;min-height:100dvh;padding-top:80px;padding-bottom:70px;display:flex}.app-container{width:100%;padding:var(--spacing-xl);text-align:center;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;min-height:calc(100dvh - 150px);display:flex}@media (width<=768px){.app-container{justify-content:flex-start;padding:.5rem}}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.875rem}p{color:var(--text-secondary)}a{color:var(--accent-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-hover)}.glass-panel{box-shadow:none;background:0 0;border:none}.btn-primary,.btn-outline{font-family:var(--font-sans);letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:.85rem 2.2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{box-shadow:0 4px 15px #ffffff26;color:var(--bg-primary)!important;background:#fff!important;border:1px solid #fff!important}.btn-primary:hover{color:var(--bg-primary);background-color:#fff;transform:translateY(-2px)scale(1.02);box-shadow:0 8px 25px #ffffff4d}.btn-outline{color:var(--text-primary);border:1px solid var(--border-hover);background-color:#0000}.btn-outline:hover{border-color:var(--accent-primary);color:var(--accent-primary);background-color:#ffffff0d;transform:translateY(-2px)}.loader-overlay{background-color:var(--bg-primary);z-index:9999;justify-content:center;align-items:center;transition:opacity .8s cubic-bezier(.4,0,.2,1),visibility .8s;display:flex;position:fixed;inset:0}.loader-overlay.fade-out{opacity:0;visibility:hidden}.loader-content{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.loader-logo{font-family:var(--font-heading);letter-spacing:12px;color:var(--text-primary);opacity:0;justify-content:center;align-items:center;margin:0 -12px 0 0;font-size:2.5rem;animation:1s .3s forwards logoFadeIn;display:flex}.loader-logo img{width:auto;height:40px;display:block}.loader-line-container{background-color:var(--border-color);opacity:0;width:120px;height:1px;animation:1s .5s forwards logoFadeIn;overflow:hidden}.loader-line{background-color:var(--accent-primary);width:0%;height:100%;animation:1.5s cubic-bezier(.7,0,.3,1) .5s forwards lineFill}@keyframes logoFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes lineFill{0%{width:0%}to{width:100%}}.hero-section{gap:var(--spacing-lg);width:100%;max-width:800px;padding:var(--spacing-2xl);flex-direction:column;align-items:center;margin:0 auto;display:flex;overflow:hidden}.hero-subtitle{max-width:600px;margin:0 auto var(--spacing-sm);font-size:1.25rem}.hero-location-minimal{color:var(--text-secondary);text-transform:uppercase;letter-spacing:3px;margin-bottom:var(--spacing-xl);border-bottom:1px solid #0000;align-items:center;gap:.5rem;padding-bottom:2px;font-size:.85rem;text-decoration:none;transition:all .3s;display:inline-flex}.hero-location-minimal:hover{color:var(--accent-primary);border-bottom-color:var(--accent-primary);transform:translateY(-1px)}.location-icon{font-size:1.1rem}.hero-title{color:var(--accent-primary);margin-bottom:var(--spacing-sm)}.hero-title img{max-width:100%;height:auto;margin:0 auto;display:block}.hero-actions{gap:var(--spacing-md);flex-wrap:wrap;justify-content:center;align-items:center;display:flex}.hero-actions a{justify-content:center;width:220px}.fade-in-app{animation:1s cubic-bezier(.4,0,.2,1) forwards appFadeIn}.hidden{opacity:0;visibility:hidden}@keyframes appFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.awards-section{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border-color);width:100%;min-width:0;max-width:100%;overflow:hidden}.awards-title{color:var(--text-secondary);margin-bottom:var(--spacing-lg);text-transform:uppercase;letter-spacing:2px;font-size:1.25rem}.marquee-container{width:100%;padding:1rem 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-content{gap:var(--spacing-md);width:max-content;margin:0;padding:0;list-style:none;animation:25s linear infinite scrollMarquee;display:flex}.marquee-content:hover{animation-play-state:paused}@keyframes scrollMarquee{0%{transform:translate(0)}to{transform:translateX(calc(-50% - (var(--spacing-md) / 2)))}}.marquee-content li{align-items:center;gap:var(--spacing-md);-webkit-backdrop-filter:blur(8px);white-space:nowrap;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#ffffff03 0%,#ffffff01 100%);border:1px solid #ffffff0d;border-radius:4px;flex-shrink:0;padding:1rem 1.5rem;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s,border-color .3s,background .3s;display:flex;box-shadow:0 4px 20px #00000026}.marquee-content li:hover{background:linear-gradient(145deg,#ffffff0d 0%,#ffffff03 100%);border-color:#ffffff26;transform:translateY(-4px)scale(1.02);box-shadow:0 8px 30px #0000004d}.award-icon{filter:drop-shadow(0 2px 4px #0000004d);font-size:1.8rem}.award-text{color:var(--text-primary);letter-spacing:.5px;font-size:1.05rem;font-weight:600}@media (width<=768px){.hero-section{gap:var(--spacing-md);padding:1rem}.awards-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}}.map-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.map-modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;width:100%;max-width:320px;box-shadow:var(--shadow-xl);border-radius:12px;padding:2rem;animation:.3s cubic-bezier(.4,0,.2,1) modalFadeIn}.map-options{flex-direction:column;gap:1rem;margin:1.5rem 0;display:flex}.map-option-btn{color:#fff;border:1px solid #0000;border-radius:8px;padding:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.map-option-btn.apple{background:#000;border-color:#333}.map-option-btn.google{color:#333;background:#fff;border-color:#ddd}.map-option-btn.waze{color:#111;background:#3cf}.map-option-btn:hover{opacity:.9;transform:translateY(-2px)}.close-map-btn{width:100%}.footer-container{text-align:center;background:#0003;border-top:1px solid #ffffff0d;flex-direction:column;align-items:center;gap:2.5rem;width:100%;margin-top:4rem;padding:2.5rem 1rem 1rem;display:flex}.footer-content{flex-direction:column;justify-content:center;gap:2.5rem;width:100%;max-width:1000px;display:flex}@media (width>=768px){.footer-content{text-align:left;flex-direction:row;justify-content:space-around}}.footer-section{flex-direction:column;align-items:center;gap:.75rem;display:flex}@media (width>=768px){.footer-section{align-items:flex-start}}.footer-section h4{color:var(--text-primary);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:.5rem;font-size:1.1rem}.footer-section p{color:var(--text-secondary);align-items:center;gap:.5rem;margin:0;font-size:.95rem;display:flex}.footer-section a{color:var(--text-secondary);font-size:.95rem;text-decoration:none;transition:color .2s}.footer-section a:hover{color:var(--accent-primary)}.social-icons{gap:1.5rem;margin-top:.5rem;font-size:1.6rem;display:flex}.social-icons a{color:var(--text-primary);transition:all .2s}.social-icons a:hover{color:var(--accent-primary);transform:translateY(-3px)}.footer-bottom{width:100%;max-width:1000px;color:var(--text-secondary);border-top:1px solid #ffffff1a;padding-top:1.5rem;font-size:.85rem}.navbar-container{z-index:100;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-color);background:#0a0a0ad9;width:100%;transition:all .3s;position:fixed;top:0;left:0}.navbar-content{justify-content:center;align-items:center;max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;position:relative}.navbar-logo{font-family:var(--font-heading);letter-spacing:6px;color:var(--text-primary);cursor:pointer;transition:opacity var(--transition-fast);font-size:1.5rem;font-weight:600}.navbar-logo:hover{opacity:.8}.navbar-logo img{width:auto;height:32px;display:block}.navbar-links{gap:2.5rem;display:flex}.nav-link{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:2px;color:var(--text-secondary);transition:color var(--transition-fast);font-size:.8rem;font-weight:500;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-btn{padding:.75rem 1.5rem;font-size:.75rem}@media (width<=768px){.navbar-links{display:none}}.navbar-back-btn{color:var(--text-primary);cursor:pointer;background:0 0;border:none;align-items:center;padding:.5rem;font-size:1.5rem;line-height:1;transition:opacity .2s;display:flex;position:absolute;left:2rem}.navbar-back-btn:hover{opacity:.7}@media (width<=768px){.navbar-back-btn{left:1rem}}.auth-section{flex-direction:column;align-items:center;width:100%;max-width:480px;margin:1rem auto 0;display:flex}.auth-title{color:var(--accent-primary);margin-bottom:var(--spacing-xs);font-size:2rem}.auth-subtitle{text-align:center;margin-bottom:var(--spacing-xl);font-size:.9rem}.auth-form{gap:var(--spacing-md);flex-direction:column;width:100%;display:flex}.form-group{text-align:left;flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--text-secondary);letter-spacing:.5px;text-transform:uppercase;font-size:.8rem;font-weight:500}.form-group input{border:1px solid var(--border-color);color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-fast);background:#0003;border-radius:4px;padding:.75rem 1rem;font-size:1rem}.form-group input:focus{border-color:var(--accent-primary);background:#0006;outline:none}.auth-submit{width:100%;margin-top:var(--spacing-md)}.auth-footer{margin-top:var(--spacing-lg);color:var(--text-secondary);font-size:.9rem}.password-footer{color:var(--text-secondary);text-align:left;margin-top:.1rem;margin-left:.3rem;font-size:.8rem}.auth-link{color:var(--accent-primary);font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.otp-container{justify-content:space-between;gap:.5rem;margin-top:.5rem;display:flex}.otp-input{aspect-ratio:1;text-align:center;width:100%;transition:all var(--transition-fast);font-weight:600;border:1px solid var(--border-color)!important;color:var(--text-primary)!important;background:#0000004d!important;border-radius:8px!important;padding:0!important;font-size:1.5rem!important}.otp-input:focus{outline:none;box-shadow:0 0 10px #ffffff1a;border-color:var(--accent-primary)!important;background:#00000080!important}.password-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.password-input-wrapper input{width:100%;padding-right:2.5rem}.toggle-password-btn{cursor:pointer;color:var(--text-secondary);transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;right:.8rem}.toggle-password-btn:hover{color:var(--text-primary)}.toggle-password-btn svg{width:1.2rem;height:1.2rem}.global-error{color:#ff453a;text-align:center;background-color:#ff453a1a;border:1px solid #ff453a66;border-radius:6px;width:100%;margin-bottom:1rem;padding:.8rem 1rem;font-size:.9rem}.error-text,.error-message{color:#ff453a;margin-top:.2rem;font-size:.9rem}@media (width<=768px){.auth-section{margin:0 auto;padding:1rem}.auth-title{margin-bottom:.2rem;font-size:1.6rem}.auth-subtitle{margin-bottom:1rem;font-size:.85rem}.auth-form{gap:.75rem}.form-group{gap:.25rem}.form-group input{padding:.65rem .8rem}}.bottom-nav{left:50%;bottom:max(1rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);z-index:1000;background:#121212d9;border:1px solid #ffffff26;border-radius:50px;justify-content:space-evenly;align-items:center;gap:1.5rem;width:max-content;min-width:320px;max-width:calc(100% - 2rem);padding:.6rem 1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 40px #00000080}.bottom-nav.shrunk{bottom:max(.5rem, env(safe-area-inset-bottom) - .5rem);opacity:.75;transform:translate(-50%)scale(.8)}.bottom-nav-item{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:4px;width:auto;text-decoration:none;transition:color .3s,transform .2s;display:flex}.bottom-nav-icon{justify-content:center;align-items:center;width:22px;height:22px;display:flex}.bottom-nav-icon svg{width:100%;height:100%}.bottom-nav-label{font-size:.75rem;font-weight:500}.bottom-nav-item.active{color:var(--accent-primary);transform:translateY(-2px)}.bottom-nav-item.active .bottom-nav-icon svg{stroke-width:2px}@media (width>=768px){.bottom-nav{gap:3rem;padding:.75rem 2.5rem;bottom:2rem}.bottom-nav-label{font-size:.85rem}.bottom-nav-icon{width:24px;height:24px}}.dashboard-section{width:100%;max-width:900px;padding:var(--spacing-2xl) var(--spacing-xl);flex-direction:column;margin:4rem auto 2rem;display:flex}.dashboard-header{text-align:center;margin-bottom:var(--spacing-2xl)}.dashboard-title{color:var(--accent-primary);margin-bottom:var(--spacing-xs);font-size:2.5rem}.dashboard-subtitle{color:var(--text-secondary);font-size:1.1rem}.dashboard-content{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.dashboard-card{border:1px solid var(--border-color);padding:var(--spacing-xl);gap:var(--spacing-md);transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:#ffffff05;border-radius:12px;flex-direction:column;display:flex}.dashboard-card:hover{background:#ffffff0d;border-color:#ffffff4d;transform:translateY(-4px)}.dashboard-card h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem}.dashboard-card p{color:var(--text-secondary);flex-grow:1;font-size:.95rem;line-height:1.6}.dashboard-card button{align-self:center;margin-top:1rem;padding:.8rem 2rem;font-size:.8rem}@media (width<=600px){.dashboard-section{padding:var(--spacing-lg) var(--spacing-md);margin-top:1rem;overflow-x:hidden}.dashboard-content{grid-template-columns:1fr}.dashboard-card{padding:var(--spacing-lg) var(--spacing-md)}.dashboard-title{font-size:2rem}}.profile-section{width:100%;max-width:600px;padding:var(--spacing-2xl) var(--spacing-xl);flex-direction:column;margin:0 auto;display:flex}.profile-header{text-align:center;margin-bottom:var(--spacing-2xl)}.profile-title{color:var(--accent-primary);margin-bottom:var(--spacing-xs);font-size:2.5rem}.profile-subtitle{color:var(--text-secondary);font-size:1.1rem}.profile-content{gap:var(--spacing-xl);flex-direction:column;display:flex}.profile-info-card{border:1px solid var(--border-color);padding:var(--spacing-xl);gap:var(--spacing-md);background:#ffffff05;border-radius:12px;flex-direction:column;display:flex}.info-group{gap:var(--spacing-xs);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-direction:column;display:flex}.info-group:last-child{border-bottom:none;padding-bottom:0}.info-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-size:.85rem}.info-value{color:var(--text-primary);font-size:1.1rem;font-weight:500}@media (width<=768px){.profile-section{padding:var(--spacing-lg) var(--spacing-md);margin-top:0}}@media (width<=480px){.info-value{overflow-wrap:anywhere;font-size:1.2rem}}.profile-actions{gap:var(--spacing-md);flex-direction:column;align-items:center;display:flex}.profile-actions button{width:100%;max-width:250px}.logout-btn{border-color:var(--border-color);color:var(--text-secondary)}.logout-btn:hover{border-color:var(--text-primary);color:var(--text-primary);background-color:#ffffff0d}.delete-account-btn{color:#ef4444;border-color:#ef4444}.delete-account-btn:hover{color:#ef4444;background-color:#ef44441a;border-color:#ef4444}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:center;width:100%;max-width:400px;box-shadow:var(--shadow-xl);border-radius:12px;padding:2rem;animation:.3s cubic-bezier(.4,0,.2,1) modalFadeIn}.modal-title{color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem}.modal-text{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.5}.modal-actions{justify-content:center;gap:1rem;display:flex}.modal-actions button{flex:1}.delete-account-btn-modal{color:#fff!important;background:#ef4444!important;border-color:#ef4444!important}.delete-account-btn-modal:hover{transform:translateY(-2px);background:#dc2626!important;border-color:#dc2626!important}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.appointments-section{width:100%;max-width:800px;padding:var(--spacing-xl);flex-direction:column;margin:2rem auto;display:flex}.appointments-header{margin-bottom:var(--spacing-2xl);text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.appointments-header .new-appointment-btn{align-self:center!important;margin:0 auto!important;display:block!important}@media (width<=768px){.appointments-header{text-align:center;flex-direction:column;align-items:stretch}.new-appointment-btn{width:100%}}.appointments-title{color:var(--accent-primary);margin-bottom:var(--spacing-xs);font-size:2.5rem}.appointments-subtitle{color:var(--text-secondary);font-size:1.1rem}.appointments-list{flex-direction:column;gap:1.5rem;display:flex}.appointment-card{border:1px solid var(--border-color);transition:transform var(--transition-fast), border-color var(--transition-fast);background:#ffffff05;border-radius:12px;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.appointment-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.appointment-info{flex-direction:column;gap:.5rem;display:flex}.service-name{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:600}.barber-name{color:var(--text-secondary);margin:0;font-size:1rem}.appointment-date,.appointment-service{color:var(--text-secondary);align-items:center;gap:.5rem;margin:0;font-size:.9rem;display:flex}.calendar-icon{flex-shrink:0;width:20px;height:20px;transform:translateY(-1px)}.appointment-status{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.status-CONFIRMED{color:#3b82f6;background-color:#3b82f61a;border:1px solid #22c55e33}.status-PENDING{color:#facc15;background-color:#eab3081a;border:1px solid #eab30833}.status-COMPLETED{color:#4ade80;background-color:#22c55e1a;border:1px solid #3b82f633}.status-CANCELLED{color:#f87171;background-color:#ef44441a;border:1px solid #ef444433}.status-DISABLED{color:#9ca3af;background-color:#9ca3af1a;border:1px solid #9ca3af33}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem 0}.appointment-actions{flex-direction:column;align-items:center;gap:.75rem;display:flex}.cancel-appointment-btn{color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);background-color:#0000;border-radius:20px;padding:.4rem 1rem;font-size:.8rem;font-weight:500}.cancel-appointment-btn:hover{color:#f87171;background-color:#ef44441a;border-color:#ef44444d}.toast-message{z-index:1000;text-align:center;border-radius:30px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:500;animation:.3s ease-out slideUpFade;position:fixed;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #0003}.toast-success{color:#fff;background-color:#22c55ee6;border:1px solid #22c55e80}.toast-error{color:#fff;background-color:#ef4444e6;border:1px solid #ef444480}@keyframes slideUpFade{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=640px){.appointments-section{padding:var(--spacing-sm) 0;margin:1rem auto}.appointment-card{text-align:center;flex-direction:column;align-items:center;gap:1.5rem}.appointments-header{text-align:center;flex-direction:column;gap:1rem;align-items:center!important}.appointments-header .btn-primary{align-self:center!important}.appointment-actions{align-items:center}.appointment-status{text-align:center;align-self:center}}.booking-section{flex-direction:column;gap:2rem;max-width:800px;margin:0 auto;padding:2rem;display:flex}.booking-header{text-align:center}.booking-title{color:var(--text-primary);margin-bottom:1.5rem;font-size:2rem;font-weight:700}.progress-bar{justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.step-dot{border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition-fast);background-color:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-weight:600;display:flex}.step-dot.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 0 10px #6366f180}.step-line{background-color:var(--border-color);width:50px;height:2px;transition:all var(--transition-fast)}.step-line.active{background-color:var(--primary-color)}.step-content h3{color:var(--text-primary);border-bottom:1px solid var(--border-color);margin-bottom:1rem;padding-bottom:.5rem;font-size:1.25rem}.selection-barber-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.selection-service-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;display:grid}.selection-card{border:1px solid var(--border-color);text-align:center;cursor:pointer;transition:all var(--transition-fast);background:#ffffff08;border-radius:12px;padding:1.5rem}.selection-card:hover{background:#ffffff14;transform:translateY(-2px)}.selection-card.selected{border-color:var(--primary-color);background:#6366f126;box-shadow:0 4px 15px #6366f133}.card-icon{margin-bottom:.5rem;font-size:2rem}.selection-card h4{color:var(--text-primary);margin-bottom:.25rem;font-size:1.1rem}.selection-card p{color:var(--text-secondary);font-size:.9rem}.days-scroller{-webkit-overflow-scrolling:touch;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;display:flex;overflow-x:auto}.days-scroller::-webkit-scrollbar{height:6px}.days-scroller::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.day-pill{border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;border-radius:20px;flex:none;padding:.75rem 1.5rem;font-weight:500}.day-pill.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.times-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.75rem;display:grid}.time-section:last-child{margin-bottom:0}.time-section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;text-align:left;margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.time-pill{text-align:center;border:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0d;border-radius:12px;padding:.75rem;font-weight:500}.time-pill:hover{background:#ffffff1a}.time-pill.selected{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.summary-step{max-width:500px;margin:0 auto}.summary-card{border:1px solid var(--border-color);background:#ffffff0d;border-radius:12px;padding:1.5rem}.summary-row{border-bottom:1px solid #ffffff1a;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem;display:flex}.summary-row:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.summary-label{color:var(--text-secondary);font-weight:500}.summary-value{color:var(--text-primary);text-align:right;font-weight:600}.booking-footer{border-top:1px solid var(--border-color);justify-content:space-between;padding-top:1.5rem;display:flex}.btn-secondary{border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-secondary:hover{background:#ffffff1a}.btn-primary{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:8px;margin-left:auto;padding:.75rem 1.5rem;font-weight:600;transition:all .2s}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.confirm-btn{background:#10b981}.confirm-btn:hover:not(:disabled){background:#059669}.booking-error{color:#f87171;text-align:center;background:#ef44441a;border:1px solid #ef444433;border-radius:8px;margin-bottom:1rem;padding:1rem}.fade-in-step{animation:.3s ease-out fadeIn}@media (width<=600px){.booking-section{gap:1.5rem;width:100%;overflow-x:hidden}.step-line{width:25px}.booking-title{font-size:1.5rem}.selection-grid{grid-template-columns:1fr}.summary-row{flex-direction:column;align-items:flex-start;gap:.25rem}.summary-value{text-align:left}.booking-footer{flex-direction:column;gap:1rem}.btn-primary,.btn-secondary{width:100%;margin-left:0}.times-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.75rem;display:grid}}.admin-section{flex-direction:column;gap:2rem;width:100%;max-width:900px;margin:0 auto;padding:2rem;display:flex}.admin-header{text-align:center;margin-bottom:1rem}.admin-title{color:var(--text-primary);margin-bottom:.5rem;font-size:2rem;font-weight:700}.admin-subtitle{color:var(--text-secondary);font-size:1rem}.admin-content{flex-direction:column;gap:1.5rem;display:flex}.admin-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.admin-card:hover{border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.admin-card h3{color:var(--text-primary);margin:0;font-size:1.25rem}.admin-card p{color:var(--text-secondary);flex-grow:1;margin:0;font-size:.95rem}.admin-card .btn-primary{margin:1rem auto 0;display:block}@media (width>=768px){.admin-content{flex-flow:column wrap}.admin-card{flex:calc(50% - 1.5rem)}}.admin-services-section{flex-direction:column;gap:1.5rem;width:100%;max-width:900px;margin:0 auto;padding:2rem 0;display:flex}.admin-services-header{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.back-btn{color:var(--accent-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-self:flex-start;padding:0;font-size:.95rem;display:inline-block}.back-btn:hover{text-decoration:underline}.admin-services-title{color:var(--text-primary);margin:0;font-size:1.75rem;font-weight:700}.admin-services-content{flex-direction:column;gap:2rem;display:flex}.form-card,.list-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;padding:1.5rem}.form-card h3,.list-card h3{color:var(--text-primary);margin-top:0;margin-bottom:1.5rem;font-size:1.2rem}.service-form{flex-direction:column;gap:1.2rem;display:flex}.form-group-row{gap:1rem;display:flex}.form-group-row .form-group{flex:1}.form-actions{gap:1rem;margin-top:.5rem;display:flex}.btn-secondary{cursor:pointer;color:var(--text-primary);background-color:#0000;border:1px solid #fff3;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s}.btn-secondary:hover{background-color:#ffffff1a}.btn-add-service{border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;padding:.6rem;display:flex}.services-list{flex-direction:column;gap:1rem;display:flex}.service-item{background:#0003;border:1px solid #ffffff0d;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.service-info h4{color:var(--text-primary);text-align:left;margin:0 0 .25rem;font-size:1.1rem}.service-info p{color:var(--text-secondary);text-align:left;margin:0;font-size:.9rem}.service-actions{gap:.5rem;display:flex}.icon-btn{cursor:pointer;opacity:.8;background:0 0;border:none;border-radius:4px;padding:.5rem;font-size:1.25rem;transition:background-color .2s}.icon-btn:hover{opacity:1;background-color:#ffffff1a}@media (width>=768px){.admin-services-content{flex-direction:column}.list-card{width:100%}}.modal-content input,.form-group input{box-sizing:border-box;width:100%}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary,#1e1e1e);border:1px solid #ffffff1a;border-radius:12px;width:90%;max-width:500px;padding:2rem;animation:.3s modalFadeIn;position:relative;box-shadow:0 10px 30px #00000080}.modal-content h3{color:var(--text-primary);margin-top:0;margin-bottom:1.5rem;font-size:1.5rem}.modal-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:var(--text-primary)}.custom-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.custom-modal{background:var(--bg-primary);border:1px solid var(--border-color);text-align:center;border-radius:16px;width:90%;max-width:400px;padding:2rem;animation:.3s ease-out slideUp;box-shadow:0 10px 30px #0000004d}.custom-modal h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;font-size:1.25rem}.custom-modal p{color:var(--text-secondary);margin-bottom:2rem;font-size:.95rem;line-height:1.5}.custom-modal-actions{justify-content:center;gap:1rem;display:flex}.modal-btn-cancel,.modal-btn-confirm{cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:8px;flex:1;padding:.75rem;font-size:.95rem;font-weight:600}.modal-btn-cancel{color:var(--text-primary);border:1px solid var(--border-color);background-color:#ffffff0d}.modal-btn-cancel:hover{background-color:#ffffff1a}.modal-btn-confirm{color:#ef4444;background-color:#ef444426;border:1px solid #ef44444d}.modal-btn-confirm:hover{background-color:#ef444440}.service-disabled{opacity:.5;filter:grayscale();background:#0006}.disabled-badge{color:#ef4444;text-transform:uppercase;background:#ef444433;border-radius:12px;padding:.2rem .6rem;font-size:.7rem;font-weight:700}.restore-btn{background-color:#22c55e26}.restore-btn:hover{background-color:#22c55e4d}.admin-appointments-section{background:var(--surface);max-width:1200px;box-shadow:0 4px 6px var(--shadow);border-radius:12px;margin:0 auto;padding:2rem 0}.admin-appointments-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin-appointments-title{color:var(--text-primary);margin:0;font-size:2rem;font-weight:700}.filters-container{gap:1rem;margin-bottom:1.5rem;display:flex}.filter-btn{background:var(--surface-light);color:var(--text-secondary);cursor:pointer;border:none;border-radius:20px;padding:.5rem 1rem;font-weight:600;transition:all .3s}.filter-btn:hover{background:var(--surface-hover)}.filter-btn.active{background:var(--primary);color:#fff}.days-scroller{scrollbar-width:none;-ms-overflow-style:none;z-index:10;background:var(--bg-primary);gap:.75rem;margin-bottom:.5rem;padding-top:.5rem;padding-bottom:1rem;display:flex;position:sticky;top:70px;overflow-x:auto}.days-scroller::-webkit-scrollbar{display:none}.day-pill{background:var(--surface-light);color:var(--text-secondary);cursor:pointer;border:1px solid #ffffff0d;border-radius:20px;flex:none;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .3s}.day-pill:hover{background:var(--surface-hover)}.day-pill.active{background:var(--primary);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb), .3);border-color:var(--primary)}.grouped-appointments-list{flex-direction:column;gap:.5rem;display:flex}.appointment-day-group{flex-direction:column;gap:1rem;display:flex}.appointment-day-header{color:var(--accent-primary);border-bottom:2px solid #ffffff1a;margin:0;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.appointments-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;display:grid}.appointment-card{background:var(--surface-light);box-shadow:0 2px 4px var(--shadow);border-radius:12px;flex-direction:column;gap:1rem;padding:1.5rem;transition:transform .2s,box-shadow .2s;display:flex}.appointment-card:hover{box-shadow:0 4px 8px var(--shadow);transform:translateY(-2px)}.appointment-header{justify-content:space-between;align-items:flex-start;display:flex}.appointment-customer{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700}.appointment-date{color:var(--text-secondary);justify-content:center;margin:.25rem 0 0;font-size:.875rem;font-weight:700}.status-badge{text-transform:uppercase;border-radius:12px;align-self:center;padding:.25rem .5rem;font-size:.75rem;font-weight:700}.status-badge.confirmed{color:#3b82f6;background-color:#3b82f61a}.status-badge.completed{color:#10b981;background-color:#10b9811a}.status-badge.cancelled{color:#ef4444;background-color:#ef44441a}.status-badge.pending{color:#f59e0b;background-color:#f59e0b1a}.appointment-details{background:#0003;border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.detail-row{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.detail-row strong{color:var(--text-primary)}.appointment-actions{gap:.5rem;margin-top:auto;display:flex}.btn-complete{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.5rem;font-weight:600;transition:opacity .2s;display:flex}.btn-complete:hover:not(:disabled){opacity:.9}.btn-complete:disabled{cursor:not-allowed;opacity:.5;background-color:#4b5563}.btn-cancel{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.5rem;font-weight:600;transition:opacity .2s;display:flex}.btn-cancel:hover{opacity:.9}@media (width<=768px){.admin-appointments-section{width:100%;padding:1rem}.filters-container{flex-wrap:wrap;justify-content:center;gap:.5rem}.filter-btn{flex:calc(50% - .5rem);padding:.5rem;font-size:.85rem}.appointments-list{grid-template-columns:1fr}.admin-appointments-header{text-align:center;flex-direction:column}.appointment-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.admin-notices-section{flex-direction:column;width:100%;max-width:800px;margin:2rem auto;padding:1.5rem;display:flex}.admin-notices-header{margin-bottom:2rem}.admin-notices-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.8rem}.admin-notices-subtitle{color:var(--text-secondary);font-size:.95rem}.notice-form-container{border:1px solid var(--border-color);background:#ffffff0d;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.notice-form-group{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.notice-label{color:var(--text-primary);font-size:1rem;font-weight:500}.notice-textarea{border:1px solid var(--border-color);width:100%;min-height:150px;color:var(--text-primary);resize:vertical;background:#0003;border-radius:8px;padding:1rem;font-family:inherit;font-size:16px}.notice-textarea:focus{border-color:var(--accent-primary);background:#0000004d;outline:none}.btn-send-notice{background:var(--accent-primary);color:#000;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-send-notice:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-send-notice:disabled{opacity:.7;cursor:not-allowed}.notice-toast{z-index:1000;border-radius:30px;padding:.8rem 1.5rem;font-size:.95rem;font-weight:500;animation:.3s toastSlideUp;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #0000004d}.notice-toast.success{color:#fff;background:#1ec864e6}.notice-toast.error{color:#fff;background:#dc3232e6}@keyframes toastSlideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}.admin-disable-section{flex-direction:column;width:100%;max-width:800px;margin:2rem auto;padding:1.5rem;display:flex}.admin-disable-header{text-align:center;margin-bottom:2rem}.admin-disable-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.8rem}.admin-disable-subtitle{color:var(--text-secondary);font-size:.95rem}.barber-selector{flex-direction:column;gap:.5rem;margin-bottom:2rem;display:flex}.barber-select{border:1px solid var(--border-color);color:var(--text-primary);background:#0003;border-radius:8px;padding:.8rem;font-size:1rem}.barber-select:focus{border-color:var(--accent-primary);outline:none}.time-section{margin-bottom:1.5rem}.time-section-title{color:var(--text-secondary);border-bottom:1px solid #ffffff1a;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.1rem}.times-multi-grid{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.75rem;display:grid}.time-pill-multi{border:1px solid var(--border-color);text-align:center;transition:all var(--transition-fast);color:var(--text-primary);-webkit-user-select:none;user-select:none;border-radius:12px;padding:.75rem;font-size:.9rem;font-weight:500}.time-pill-available{cursor:pointer;background:#ffffff0d}.time-pill-available:hover{background:#ffffff1a}.time-pill-available.selected{color:#ef4444;background:#ef444433;border-color:#ef4444;font-weight:600}.time-pill-disabled{color:#ef4444cc;cursor:pointer;background:#ef44441a;border-color:#ef444480}.time-pill-disabled:hover{background:#ef444433}.time-pill-disabled.selected{color:#22c55e;background:#22c55e33;border-color:#22c55e;font-weight:600}.time-pill-booked{color:#eab308cc;cursor:not-allowed;opacity:.8;background:#eab30826;border-color:#eab30880}.btn-disable-slots{color:#fff;cursor:pointer;background:#ef4444e6;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:2rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-disable-slots:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-disable-slots:disabled{opacity:.5;cursor:not-allowed}.btn-enable-slots{color:#fff;cursor:pointer;background:#22c55ee6;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1rem;padding:.8rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.btn-enable-slots:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.btn-enable-slots:disabled{opacity:.5;cursor:not-allowed}.admin-license-section{background:#1a1a2499;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;gap:1.5rem;margin-bottom:2rem;padding:2rem 1.5rem;display:flex;box-shadow:0 8px 32px #0003}.license-card{text-align:center;background:#ffffff0d;border-radius:15px;padding:2rem}.license-card h3{color:var(--text-primary);margin-top:0;margin-bottom:1rem;font-size:1.3rem}.license-status{letter-spacing:1px;border-radius:30px;margin-bottom:2rem;padding:.5rem 1rem;font-size:1.1rem;font-weight:700;display:inline-block}.license-status.active{color:#4caf50;background-color:#4caf5033;border:1px solid #4caf50}.license-status.expired{color:#f44336;background-color:#f4433633;border:1px solid #f44336}.license-date-box{background:#0000004d;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.license-date-box .label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;display:block}.license-date-box .date{color:var(--primary-color);font-size:1.5rem;font-weight:600}.license-actions{flex-direction:column;gap:1rem;display:flex}.license-actions .btn-primary{width:100%}@media (width>=768px){.license-actions{flex-direction:row;justify-content:center}.license-actions .btn-primary{width:auto;padding:1rem 3rem}}
