@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800;900&family=Inter:wght@400;500;600;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap);body{min-height:100vh;padding:0;width:100%}.carousel-3d-container{align-items:center;display:flex;flex-direction:column;margin-top:3rem;overflow-x:hidden;padding:0;perspective:2000px;width:100%}.carousel-3d-wrapper{align-items:center;display:flex;height:500px;justify-content:center;max-width:1400px;overflow:visible;position:relative;width:100%}@media (max-width:768px){.carousel-3d-wrapper{overflow:hidden}}.carousel-3d-stage{align-items:center;display:flex;height:100%;justify-content:center;position:relative;transform-style:preserve-3d;width:100%}.carousel-3d-slide{cursor:pointer;height:450px;position:absolute;transform-style:preserve-3d;transition:filter .3s ease;width:400px}.carousel-3d-slide.active{cursor:default}.carousel-3d-slide:not(.active):hover{filter:brightness(1.1)}.carousel-3d-image-wrapper{background:#000;border-radius:20px;box-shadow:0 20px 60px #0009,0 10px 30px #0006;height:100%;overflow:hidden;position:relative;transition:box-shadow .3s ease;width:100%}.carousel-3d-slide.active .carousel-3d-image-wrapper{border:2px solid #ef444480;box-shadow:0 30px 90px #ef444466,0 20px 60px #000c,0 10px 40px #0009,0 0 0 3px #ef44444d}.carousel-3d-image{background:#000;display:block;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;width:100%}.carousel-3d-overlay{background:#00000080;bottom:0;left:0;position:absolute;right:0;top:0;transition:background .3s ease}.carousel-3d-slide:not(.active):hover .carousel-3d-overlay{background:#0000004d}.carousel-3d-button{align-items:center;background:#fffffff2;border:none;border-radius:50%;box-shadow:0 4px 12px #0000004d;color:#000;cursor:pointer;display:flex;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:100}.carousel-3d-button:hover{background:#fff;box-shadow:0 6px 20px #0006;transform:translateY(-50%) scale(1.1)}.carousel-3d-button:active{transform:translateY(-50%) scale(.95)}.carousel-3d-button-prev{left:2rem}.carousel-3d-button-next{right:2rem}.carousel-3d-indicators{display:flex;gap:.75rem;margin-top:2.5rem;z-index:10}.carousel-3d-indicator{background:#0000;border:2px solid #ffffff80;border-radius:50%;cursor:pointer;height:12px;padding:0;transition:all .3s ease;width:12px}.carousel-3d-indicator:hover{background:#ffffff4d;border-color:#fffc;transform:scale(1.2)}.carousel-3d-indicator.active{background:#fff;border-color:#fff;border-radius:6px;width:32px}@media (max-width:1200px){.carousel-3d-wrapper{height:450px;max-width:1000px}.carousel-3d-slide{height:400px;width:350px}.carousel-3d-button-prev{left:1rem}.carousel-3d-button-next{right:1rem}}@media (max-width:768px){.carousel-3d-container{margin-top:4rem;overflow:hidden;padding:0 1rem}.carousel-3d-wrapper{height:400px;max-width:100%;overflow:hidden;padding:0}.carousel-3d-stage{overflow:hidden}.carousel-3d-slide{height:380px!important;max-width:85vw;width:300px!important}.carousel-3d-slide.active{left:50%!important;transform:translateX(-50%)!important}.carousel-3d-image-wrapper{border-radius:16px;height:100%;width:100%}.carousel-3d-button{height:40px;width:40px;z-index:200}.carousel-3d-button svg{height:20px;width:20px}.carousel-3d-button-prev{left:.5rem}.carousel-3d-button-next{right:.5rem}.carousel-3d-indicators{flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.carousel-3d-indicator{height:10px;width:10px}.carousel-3d-indicator.active{width:24px}}@media (max-width:480px){.carousel-3d-container{margin-top:3rem;overflow:hidden;padding:0 .75rem}.carousel-3d-wrapper{height:350px;overflow:hidden}.carousel-3d-stage{overflow:hidden}.carousel-3d-slide{height:330px!important;max-width:90vw;width:280px!important}.carousel-3d-slide.active{left:50%!important;transform:translateX(-50%)!important}.carousel-3d-image-wrapper{border-radius:12px;height:100%;width:100%}.carousel-3d-button{height:36px;width:36px;z-index:200}.carousel-3d-button svg{height:18px;width:18px}.carousel-3d-button-prev{left:.25rem}.carousel-3d-button-next{right:.25rem}.carousel-3d-indicators{flex-wrap:wrap;gap:.4rem;justify-content:center;margin-top:1.25rem}.carousel-3d-indicator{height:8px;width:8px}.carousel-3d-indicator.active{width:20px}}.social-videos-section{margin:4rem auto 0;max-width:1200px;padding:0 2rem;width:100%}.social-videos-header{margin-bottom:3rem;text-align:center}.social-videos-title{color:#fff;font-size:2.5rem;font-weight:800;gap:1rem;line-height:1.2;margin-bottom:1rem}.social-videos-title,.title-icon{align-items:center;display:flex;justify-content:center}.title-icon{background:linear-gradient(135deg,#833ab4,#fd1d1d 50%,#fcb045);border-radius:16px;height:60px;padding:.75rem;width:60px}.social-videos-subtitle{color:#fffc;font-size:1.2rem;font-weight:400}.videos-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));justify-items:center}.video-card{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:20px;max-width:400px;overflow:hidden;transition:all .3s ease;width:100%}.video-card:hover{border-color:#fff3;box-shadow:0 15px 40px #00000080;transform:translateY(-5px)}.video-wrapper{background:#000;border-radius:20px 20px 0 0;overflow:hidden;position:relative;width:100%}.video-iframe{border:none;display:block;height:600px;width:100%}.video-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000004d;gap:.75rem;padding:1.25rem 1.5rem}.platform-icon,.video-info{align-items:center;display:flex}.platform-icon{background:linear-gradient(135deg,#833ab4,#fd1d1d 50%,#fcb045);border-radius:8px;color:#fff;font-weight:700;height:36px;justify-content:center;width:36px}.platform-icon,.tiktok-icon{font-size:.7rem}.platform-name{color:#ffffffe6;font-size:1rem;font-weight:600}@media (max-width:768px){.social-videos-section{margin-top:3rem;padding:0 1rem}.social-videos-title{flex-direction:column;font-size:2rem;gap:.75rem}.title-icon{height:50px;width:50px}.social-videos-subtitle{font-size:1.1rem}.videos-grid{gap:1.5rem;grid-template-columns:1fr}.video-card{max-width:100%}.video-iframe{height:500px}.video-info{padding:1rem 1.25rem}}@media (max-width:480px){.social-videos-section{margin-top:2rem;padding:0 .75rem}.social-videos-title{font-size:1.5rem}.title-icon{height:45px;width:45px}.title-icon svg{height:24px;width:24px}.social-videos-subtitle{font-size:1rem}.video-iframe{height:450px}.platform-icon{height:32px;width:32px}.platform-name{font-size:.9rem}}.instagram-post-section{background:var(--bg-light);padding:4rem 5%;width:100%}.instagram-post-container{margin:0 auto;max-width:540px}.instagram-post-header{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem}.instagram-post-header svg{color:#e4405f}.instagram-post-title{color:var(--text-dark);font-size:1.75rem;font-weight:700;margin:0}.instagram-post-wrapper{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;overflow:hidden;width:100%}.instagram-post-iframe{background:#fff;border:none;display:block;height:850px;width:100%}@media (max-width:768px){.instagram-post-section{padding:3rem 3%}.instagram-post-header{margin-bottom:1.5rem}.instagram-post-title{font-size:1.5rem}.instagram-post-wrapper{border-radius:12px}.instagram-post-iframe{height:750px}}@media (max-width:480px){.instagram-post-section{padding:2rem 2%}.instagram-post-header{flex-direction:column;gap:.5rem}.instagram-post-title{font-size:1.25rem}.instagram-post-wrapper{border-radius:8px}.instagram-post-iframe{height:700px}}:root{--primary:#e11d1d;--primary-dark:#b91c1c;--primary-light:#ef4444;--primary-ultra-light:#fef2f2;--primary-glow:#e11d1d40;--accent:#ff6b6b;--dark:#0d0d0d;--dark-2:#1a1a1a;--dark-3:#262626;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--white:#fff;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--shadow-sm:0 1px 3px #00000012,0 1px 2px #0000000d;--shadow-md:0 4px 16px #00000014,0 2px 6px #0000000a;--shadow-lg:0 20px 48px #0000001a,0 8px 20px #0000000f;--shadow-xl:0 32px 64px #00000026,0 16px 32px #00000014;--shadow-red:0 8px 32px #e11d1d40,0 2px 8px #e11d1d1a;--shadow-red-lg:0 16px 48px #e11d1d59,0 4px 16px #e11d1d26;--primary-color:#e11d1d;--primary-hover:#b91c1c;--text-dark:#111827;--text-light:#4b5563;--bg-light:#f9fafb;--card-shadow:var(--shadow-md);--card-hover-shadow:var(--shadow-lg)}*,:after,:before{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background-color:#fff;background-color:var(--white);color:#111827;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}.landing-page,body{overflow-x:hidden}.navbar{align-items:center;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffe0;border-bottom:1px solid #e11d1d14;box-shadow:0 2px 24px #0000000f;display:flex;justify-content:space-between;left:0;padding:.9rem 5%;position:fixed;right:0;top:0;transition:all .3s ease;z-index:1000}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e11d1d,#b91c1c);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);-webkit-background-clip:text;background-clip:text;font-size:1.55rem;position:relative}.logo:after{background:linear-gradient(90deg,#e11d1d,#0000);background:linear-gradient(90deg,var(--primary),#0000);border-radius:2px;bottom:-3px;content:"";height:2px;left:0;position:absolute;width:100%}.nav-links{align-items:center;display:flex;gap:2.25rem}.nav-link{color:#111827;color:var(--text-primary);font-size:.9rem;font-weight:500;letter-spacing:.01em;position:relative;text-decoration:none;transition:color .2s}.nav-link:after{background:#e11d1d;background:var(--primary);border-radius:2px;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .25s ease;width:0}.nav-link:hover{color:#e11d1d;color:var(--primary)}.nav-link:hover:after{width:100%}.nav-buttons{align-items:center;display:flex;gap:.75rem}.nav-buttons .btn-primary,.nav-buttons .btn-primary svg,.nav-buttons .btn-primary:visited{color:#fff!important}.floating-social{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff2;border-radius:20px 0 0 20px;border-radius:var(--radius-lg) 0 0 var(--radius-lg);box-shadow:-4px 4px 20px #00000014,0 0 0 1px #0000000a;display:flex;flex-direction:column;gap:.5rem;padding:.75rem .5rem;position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:999}.floating-social-btn{align-items:center;background:#fff;background:var(--white);border:1.5px solid #e5e7eb;border:1.5px solid var(--gray-200);border-radius:50%;box-shadow:0 2px 8px #0000000f;color:#111827;color:var(--text-primary);display:flex;height:48px;justify-content:center;text-decoration:none;transition:all .25s ease;width:48px}.floating-social-btn:hover{border-color:#e11d1d;border-color:var(--primary);box-shadow:0 4px 14px #e11d1d33;color:#e11d1d;color:var(--primary);transform:scale(1.08)}.floating-social-btn svg{flex-shrink:0}.floating-social-tiktok .tiktok-icon{color:inherit;font-size:1rem;font-weight:800;letter-spacing:-.02em}.btn{align-items:center;border:none;border-radius:14px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.005em;padding:.6rem 1.35rem;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn:visited{color:inherit}.btn-outline{background:#0000;border:1.5px solid #e11d1d59;color:#111827;color:var(--text-primary)}.btn-outline:hover{background:#fef2f2;background:var(--primary-ultra-light);border-color:#e11d1d;border-color:var(--primary);color:#e11d1d;color:var(--primary)}.btn-primary{background:linear-gradient(135deg,#ef4444,#e11d1d 60%,#b91c1c);background:linear-gradient(135deg,var(--primary-light) 0,var(--primary) 60%,var(--primary-dark) 100%);box-shadow:0 8px 32px #e11d1d40,0 2px 8px #e11d1d1a;box-shadow:var(--shadow-red);color:#fff;color:var(--white);overflow:hidden;position:relative}.btn-primary:before{background:linear-gradient(90deg,#0000,#ffffff26,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .4s ease;width:100%}.btn-primary:hover:before{left:100%}.btn-primary:hover{box-shadow:0 16px 48px #e11d1d59,0 4px 16px #e11d1d26;box-shadow:var(--shadow-red-lg);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.hero{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;min-height:100vh;overflow:hidden;padding:130px 5% 80px;position:relative}.hero-overlay{background:linear-gradient(115deg,#fffffff7,#ffffffe0 38%,#fff9 60%,#ffffff26);inset:0}.hero-overlay,.hero:after{position:absolute;z-index:1}.hero:after{background:radial-gradient(circle,#e11d1d12 0,#0000 70%);border-radius:50%;bottom:-80px;content:"";height:500px;pointer-events:none;right:-80px;width:500px}.hero-content{flex:1 1;max-width:620px;position:relative;z-index:2}.hero-content .badge{background:linear-gradient(135deg,#e11d1d1f,#e11d1d0f);border-color:#e11d1d73}.badge,.hero-content .badge{color:#b91c1c;color:var(--primary-dark)}.badge{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#e11d1d1a,#e11d1d0d);border:1px solid #e11d1d33;border-radius:999px;display:inline-flex;font-size:.78rem;font-weight:700;gap:.4rem;letter-spacing:.04em;margin-bottom:1.75rem;padding:.4rem 1rem;text-transform:uppercase}.badge:before,.hero-content .badge:before{background:#e11d1d;background:var(--primary)}.badge:before{animation:badge-blink 2s ease-in-out infinite;border-radius:50%;content:"";height:6px;width:6px}@keyframes badge-blink{0%,to{opacity:1}50%{opacity:.3}}.hero-title{color:#0d0d0d;font-family:Montserrat,sans-serif;font-size:4.5rem;font-weight:900;letter-spacing:-.04em;line-height:1.05;margin-bottom:1.5rem;text-shadow:none}.hero-title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));-webkit-background-clip:text;background-clip:text;display:inline-block;position:relative}.hero-subtitle{color:#b91c1c;color:var(--primary-dark);font-size:1.15rem;font-weight:400;line-height:1.7;margin-bottom:2.75rem;max-width:480px;text-shadow:none}.hero-actions .btn-outline,.hero-actions .btn-primary,.hero-actions .btn-primary svg{color:#fff;color:var(--white)}.hero-actions .btn-outline{border-color:#ffffffbf}.hero-actions .btn-outline:hover{background:#ffffff26;border-color:#fff;border-color:var(--white);color:#fff;color:var(--white)}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem}.hero-actions .btn{font-size:.95rem;padding:.8rem 1.75rem}.schedule-section{background:#fff;background:var(--white);margin-top:-50px;padding:80px 5%;position:relative;z-index:10}.schedule-section:before{background:linear-gradient(90deg,#0000,#e11d1d26,#0000);content:"";height:1px;left:5%;position:absolute;right:5%;top:0}.schedule-container{margin:0 auto;max-width:1060px}.schedule-card{background:#fff;background:var(--white);border:1px solid #0000000a;border-radius:28px;border-radius:var(--radius-xl);box-shadow:0 32px 64px #00000026,0 16px 32px #00000014;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;gap:2.5rem;overflow:hidden;padding:3rem;position:relative}.schedule-card:before{background:linear-gradient(90deg,#ef4444,#e11d1d,#b91c1c);background:linear-gradient(90deg,var(--primary-light),var(--primary),var(--primary-dark));border-radius:28px 28px 0 0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.schedule-header{align-items:center;display:flex;gap:1.5rem}.schedule-icon-wrapper{align-items:center;background:linear-gradient(135deg,#e11d1d1f,#e11d1d0d);border:1.5px solid #e11d1d26;border-radius:14px;border-radius:var(--radius-md);color:#e11d1d;color:var(--primary);display:flex;flex-shrink:0;height:68px;justify-content:center;width:68px}.schedule-title-area h2{color:#111827;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:1.85rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .3rem}.schedule-title-area p{color:#4b5563;color:var(--text-secondary);font-size:1rem;margin:0}.schedule-content{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.schedule-grid-item{background:#f9fafb;background:var(--gray-50);border:1.5px solid #0000;border-radius:14px;border-radius:var(--radius-md);overflow:hidden;padding:1.35rem 1.25rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.schedule-grid-item:not(.highlight):hover{background:#fff;background:var(--white);border-color:#e11d1d33;box-shadow:0 12px 28px #0000000f,0 0 0 1px #e11d1d0d;transform:translateY(-4px)}.schedule-grid-item.highlight{background:#fff8f8;border-color:#e11d1d14;opacity:.75}.day-name{color:#9ca3af;color:var(--text-muted);font-size:.75rem;letter-spacing:.06em;margin-bottom:.6rem;text-transform:uppercase}.day-hours{color:#111827;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.4rem}.day-status{color:#e11d1d;color:var(--primary);font-size:.78rem;font-weight:600;letter-spacing:.01em}.schedule-grid-item.highlight .day-hours{color:#9ca3af;color:var(--text-muted)}.schedule-grid-item.highlight .day-status{color:#9ca3af}.schedule-holidays{border-top:1px dashed #e5e7eb;border-top:1px dashed var(--gray-200);padding-top:1.25rem}.schedule-holidays-title{color:#9ca3af;color:var(--text-muted);font-size:.75rem;font-weight:700;letter-spacing:.07em;margin-bottom:.85rem;text-transform:uppercase}.schedule-holidays-list{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem}.schedule-holidays-item{align-items:center;display:flex;font-size:.9rem;gap:.6rem}.schedule-holidays-date{color:#111827;color:var(--text-primary);font-weight:600}.schedule-holidays-hours{color:#9ca3af;color:var(--text-muted)}.schedule-footer{align-items:center;border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;padding-top:1.75rem}.status-indicator{align-items:center;color:#059669;display:flex;font-size:.95rem;font-weight:600;gap:.75rem}.status-dot{background:#10b981;border-radius:50%;flex-shrink:0;height:10px;width:10px}.status-dot.pulse{animation:dot-pulse 2s ease-in-out infinite}@keyframes dot-pulse{0%{box-shadow:0 0 0 0 #10b98166;transform:scale(1)}70%{box-shadow:0 0 0 10px #10b98100;transform:scale(1)}to{box-shadow:0 0 0 0 #10b98100;transform:scale(1)}}.cta-dark{background:linear-gradient(160deg,#0d0d0d,#1a0505 50%,#0d0d0d);overflow:hidden;padding:120px 5%;position:relative;text-align:center}.cta-dark:before{background:radial-gradient(ellipse,#e11d1d1f 0,#0000 70%);content:"";height:400px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:800px}.cta-dark:after{background:linear-gradient(90deg,#0000,#e11d1d66,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.cta-content{margin:0 auto;max-width:850px;position:relative;z-index:1}.cta-title{color:#fff;color:var(--white);font-family:Montserrat,sans-serif;font-size:3.25rem;font-weight:900;letter-spacing:-.03em;line-height:1.15;margin-bottom:1.25rem}.cta-title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b6b,#e11d1d);background:linear-gradient(135deg,var(--accent),var(--primary));-webkit-background-clip:text;background-clip:text}.cta-text{color:#ffffffbf;font-size:1.2rem;font-weight:400;line-height:1.65;margin-bottom:2.75rem}.btn-lg{border-radius:20px;border-radius:var(--radius-lg);font-size:1.05rem;padding:1rem 2.25rem}.services{background:linear-gradient(180deg,#f9fafb,#fff);background:linear-gradient(180deg,var(--gray-50) 0,var(--white) 100%);padding:110px 5%;position:relative}.services:before{background:linear-gradient(180deg,#fff,#0000);background:linear-gradient(to bottom,var(--white),#0000);content:"";height:120px;left:0;position:absolute;right:0;top:0;z-index:0}.section-header{margin:0 auto 5rem;max-width:720px;position:relative;text-align:center;z-index:1}.section-label{color:#e11d1d;color:var(--primary);display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.12em;margin-bottom:.75rem;text-transform:uppercase}.section-title{color:#111827;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:2.75rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin-bottom:1rem}.section-title span{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--primary-light),var(--primary-dark));-webkit-background-clip:text;background-clip:text}.section-subtitle{color:#4b5563;color:var(--text-secondary);font-size:1.05rem;font-weight:400;line-height:1.7}.services-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.modules-grid,.services-grid{margin:0 auto;max-width:1200px;position:relative;z-index:1}.modules-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.service-card{background:var(--white);border:1.5px solid #f3f4f6;border:1.5px solid var(--gray-100);border-radius:20px;border-radius:var(--radius-lg);padding:2rem;transition:all .35s cubic-bezier(.4,0,.2,1)}.service-card:hover{border-color:#e11d1d33;box-shadow:0 20px 48px #0000001a,0 8px 20px #0000000f;box-shadow:var(--shadow-lg);transform:translateY(-6px)}.icon-box{align-items:center;background:linear-gradient(135deg,#e11d1d1f,#e11d1d0d);border:1px solid #e11d1d1a;border-radius:8px;border-radius:var(--radius-sm);color:#e11d1d;color:var(--primary);display:flex;height:52px;justify-content:center;margin-bottom:1.5rem;width:52px}.service-name{color:var(--text-primary);font-weight:700;letter-spacing:-.01em;margin-bottom:.65rem}.service-desc{color:#4b5563;color:var(--text-secondary);font-size:.93rem;line-height:1.6;margin-bottom:1.5rem}.service-meta{align-items:center;border-top:1px solid #f3f4f6;border-top:1px solid var(--gray-100);display:flex;justify-content:space-between;padding-top:1.25rem}.price{color:#e11d1d;color:var(--primary);font-family:Montserrat,sans-serif;font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.duration{align-items:center;color:#9ca3af;color:var(--text-muted);display:flex;font-size:.88rem;gap:.35rem}.module-card{background:var(--white);border:2px solid #0000;border-radius:var(--radius-lg);box-shadow:0 4px 16px #00000014,0 2px 6px #0000000a;box-shadow:var(--shadow-md);color:inherit;text-decoration:none}.module-card:before{height:3px}.module-card:after{background:linear-gradient(135deg,#fff0,#fff0);content:"";inset:0;pointer-events:none;position:absolute;transition:background .3s ease}.module-card:hover{box-shadow:0 32px 64px #00000026,0 16px 32px #00000014;box-shadow:var(--shadow-xl);transform:translateY(-8px)}.module-icon{background-color:color-mix(in srgb,var(--module-color) 12%,#0000);border-radius:var(--radius-md)}.module-card-body h3{color:var(--text-primary)}.module-description{color:#4b5563;color:var(--text-secondary)}.module-card-footer{border-top:1px solid var(--gray-100);font-size:.88rem;text-decoration:none;transition:all .25s ease}.select-text{font-size:.88rem}.contact-section{background:linear-gradient(135deg,#fff8f8,#fff 50%,#fff8f8);background:linear-gradient(135deg,#fff8f8 0,var(--white) 50%,#fff8f8 100%);overflow:hidden;padding:110px 5%;position:relative}.contact-section:before{background:radial-gradient(circle,#e11d1d0f 0,#0000 70%);height:600px;right:-5%;top:-30%;width:600px}.contact-section:after,.contact-section:before{border-radius:50%;content:"";pointer-events:none;position:absolute}.contact-section:after{background:radial-gradient(circle,#e11d1d0d 0,#0000 70%);bottom:-30%;height:500px;left:-5%;width:500px}.contact-container{margin:0 auto;max-width:1000px;position:relative;z-index:1}.contact-header{margin-bottom:4rem;text-align:center}.contact-content{display:flex;flex-direction:column;gap:1.75rem}.whatsapp-cta-card{align-items:center;background:linear-gradient(135deg,#25d366,#1ebe5d 50%,#17a84f);border-radius:28px;border-radius:var(--radius-xl);box-shadow:0 12px 40px #25d3664d,0 2px 8px #0000000d;display:flex;gap:2rem;overflow:hidden;padding:2.25rem 2.75rem;position:relative;text-decoration:none;transition:all .35s cubic-bezier(.4,0,.2,1)}.whatsapp-cta-card:before{animation:shimmer-rotate 8s linear infinite;background:conic-gradient(from 0deg,#0000 30%,#ffffff0f 50%,#0000 70%);content:"";height:200%;left:-50%;pointer-events:none;position:absolute;top:-50%;width:200%}@keyframes shimmer-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.whatsapp-cta-card:hover{box-shadow:0 20px 56px #25d36666,0 4px 16px #0000001a;transform:translateY(-4px)}.whatsapp-cta-icon{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff38;border:1px solid #ffffff4d;border-radius:18px;box-shadow:0 4px 16px #00000014,inset 0 1px 0 #ffffff4d;color:#fff;display:flex;flex-shrink:0;height:72px;justify-content:center;position:relative;width:72px}.pulse-ring{animation:pulse 2.5s cubic-bezier(.4,0,.6,1) infinite;border:2px solid #ffffff80;border-radius:18px;height:100%;position:absolute;width:100%}.whatsapp-cta-content{display:flex;flex:1 1;flex-direction:column;gap:.3rem}.whatsapp-cta-label{color:#ffffffe0;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.whatsapp-cta-number{color:#fff;font-family:Montserrat,sans-serif;font-size:1.85rem;font-weight:900;letter-spacing:-.02em;line-height:1}.whatsapp-cta-description{color:#ffffffd1;font-size:.875rem;font-weight:500}.whatsapp-cta-arrow{color:#fffc;flex-shrink:0;transition:transform .3s ease}.whatsapp-cta-card:hover .whatsapp-cta-arrow{transform:translateX(6px)}.social-grid{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center}.social-card{align-items:center;background:#fff;background:var(--white);border:1.5px solid #f3f4f6;border:1.5px solid var(--gray-100);border-radius:20px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000012,0 1px 2px #0000000d;box-shadow:var(--shadow-sm);display:flex;gap:1.25rem;max-width:320px;min-width:280px;overflow:hidden;padding:1.75rem 1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.social-card:after{content:"";inset:0;opacity:0;position:absolute;transition:opacity .3s ease}.social-card:hover{box-shadow:0 4px 16px #00000014,0 2px 6px #0000000a;box-shadow:var(--shadow-md);transform:translateY(-5px)}.social-card-icon{align-items:center;border-radius:14px;border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;display:flex;flex-shrink:0;font-size:1.5rem;font-weight:800;height:56px;justify-content:center;transition:transform .3s ease;width:56px}.social-card:hover .social-card-icon{transform:scale(1.08)}.social-card-content{display:flex;flex-direction:column;gap:.2rem}.social-card-name{color:#111827;color:var(--text-primary);font-family:Montserrat,sans-serif;font-size:1rem;font-weight:700;letter-spacing:-.01em}.social-card-handle{color:#9ca3af;color:var(--text-muted);font-size:.82rem;font-weight:500}.instagram-card .social-card-icon{background:linear-gradient(135deg,#f9ce34,#ee2a7b 40%,#6228d7);color:#fff}.instagram-card:hover{border-color:#e4405f}.facebook-card .social-card-icon{background:#1877f2;color:#fff}.facebook-card:hover{border-color:#1877f2}.tiktok-card .social-card-icon{background:linear-gradient(135deg,#00f2ea,#ff0050);color:#fff}.tiktok-card:hover{border-color:#000}footer{background:linear-gradient(160deg,#0a0a0a,#130000 50%,#0a0a0a);overflow:hidden;padding:0;position:relative}footer:before{background:linear-gradient(90deg,#0000,#e11d1d99,#0000);height:1px;left:0;right:0;top:0}footer:after,footer:before{content:"";position:absolute}footer:after{background:radial-gradient(ellipse,#e11d1d0f 0,#0000 70%);height:300px;left:50%;pointer-events:none;top:80px;transform:translateX(-50%);width:700px}.footer-wrapper{position:relative;z-index:1}.footer-main{grid-gap:3.5rem;display:grid;gap:3.5rem;grid-template-columns:2fr 1fr 1fr 1.5fr;margin:0 auto;max-width:1200px;padding:5rem 5% 3.5rem}.footer-column{display:flex;flex-direction:column;gap:1.5rem}.footer-brand-column{gap:1.25rem}.footer-brand{display:flex;flex-direction:column;gap:.5rem}.footer-logo{align-items:center;color:#fff;color:var(--white);display:flex;font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:900;gap:.75rem;letter-spacing:-.02em;text-transform:uppercase}.footer-logo svg{color:#e11d1d;color:var(--primary);filter:drop-shadow(0 0 8px rgba(225,29,29,.5))}.footer-slogan{color:#ffffff80;font-size:.9rem;font-style:italic;font-weight:400;margin:0}.footer-description{color:#ffffff73;font-size:.88rem;line-height:1.7;margin:0;max-width:290px}.footer-title{color:#ffffffe6;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:700;letter-spacing:.08em;margin:0;padding-bottom:.75rem;position:relative;text-transform:uppercase}.footer-title:after{background:#e11d1d;background:var(--primary);border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;width:28px}.footer-links{display:flex;flex-direction:column;gap:.7rem;list-style:none;margin:0;padding:0}.footer-links li,.footer-links li a{align-items:center;color:#ffffff80;display:inline-flex;font-size:.9rem;gap:.4rem;text-decoration:none;transition:all .2s ease}.footer-links li a:before{color:#e11d1d;color:var(--primary);content:"›";font-size:1.1rem;line-height:1;opacity:0;transform:translateX(-4px);transition:all .2s ease}.footer-links li a:hover{color:#fff;color:var(--white);transform:translateX(4px)}.footer-links li a:hover:before{opacity:1;transform:translateX(0)}.footer-contact{display:flex;flex-direction:column;gap:1.25rem;list-style:none;margin:0;padding:0}.footer-contact-item{align-items:flex-start;color:#ffffff80;display:flex;gap:1rem}.footer-contact-item svg{color:#e11d1d;color:var(--primary);filter:drop-shadow(0 0 4px rgba(225,29,29,.4));flex-shrink:0;margin-top:2px}.footer-contact-item div{display:flex;flex-direction:column;gap:.2rem}.contact-label{color:#ffffff59;font-size:.72rem;font-weight:700;letter-spacing:.07em;margin:0;text-transform:uppercase}.footer-contact-item a,.footer-contact-item p{color:#ffffffbf;font-size:.93rem;margin:0;text-decoration:none;transition:color .2s ease}.footer-contact-item a:hover{color:#e11d1d;color:var(--primary)}.footer-social{display:flex;gap:.65rem;margin-top:.25rem}.footer-social-link{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;color:#ffffff80;display:flex;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.footer-social-link:hover{background:#ffffff1a;border-color:#e11d1d;border-color:var(--primary);box-shadow:0 6px 20px #e11d1d33;color:#fff;color:var(--white);transform:translateY(-3px)}.footer-social-link.instagram:hover{border-color:#e4405f;box-shadow:0 6px 20px #e4405f4d;color:#e4405f}.footer-social-link.facebook:hover{border-color:#1877f2;box-shadow:0 6px 20px #1877f24d;color:#1877f2}.footer-social-link.tiktok:hover{border-color:#ffffff4d;box-shadow:0 6px 20px #ffffff1a;color:#fff;color:var(--white)}.footer-social-link .tiktok-icon{font-size:16px;font-weight:900}.footer-bottom{background:#00000059;border-top:1px solid #ffffff0f;padding:2rem 5%}.footer-bottom-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:0 auto;max-width:1200px}.footer-copyright{color:#ffffff61;font-size:.85rem;margin:0}.footer-bottom-links{align-items:center;display:flex;gap:1.25rem}.footer-bottom-links a{color:#ffffff61;font-size:.85rem;text-decoration:none;transition:color .2s ease}.footer-bottom-links a:hover{color:#e11d1d;color:var(--primary)}.footer-bottom-links .separator{color:#fff3;font-size:.8rem}.loading-container{grid-column:1/-1;padding:3rem;text-align:center}@media (max-width:1024px){.hero-title{font-size:3.75rem}.footer-main{gap:2.5rem;grid-template-columns:1fr 1fr}}@media (max-width:968px){.schedule-content{gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.schedule-footer{flex-direction:column;gap:1.5rem;text-align:center}.social-grid{grid-template-columns:1fr}}@media (max-width:768px){.navbar{padding:.8rem 4%}.logo{font-size:1.2rem}.nav-links{display:none}.nav-buttons{gap:.5rem}.btn{font-size:.78rem;gap:.3rem;padding:.5rem .9rem;white-space:nowrap}.btn svg{height:14px;width:14px}.hero{min-height:90vh;padding-bottom:70px;padding-top:100px;text-align:center}.hero-content{max-width:100%}.hero-title{font-size:2.8rem}.hero-subtitle{font-size:1.05rem;margin-left:auto;margin-right:auto}.hero-actions{flex-wrap:wrap;gap:.75rem;justify-content:center}.hero-actions .btn{font-size:.9rem;padding:.7rem 1.25rem}.schedule-section{margin-top:0;padding:50px 4%}.schedule-card{border-radius:20px;border-radius:var(--radius-lg);padding:2rem}.cta-dark{padding:80px 4%}.cta-title{font-size:2.25rem}.cta-text{font-size:1rem}.services{padding:80px 4%}.section-title{font-size:2.1rem}.modules-grid{gap:1.25rem;grid-template-columns:1fr}.module-card{padding:1.75rem}.contact-section{padding:80px 4%}.whatsapp-cta-card{gap:1.25rem;padding:1.75rem}.whatsapp-cta-icon{height:60px;width:60px}.whatsapp-cta-number{font-size:1.5rem}.whatsapp-cta-arrow{display:none}.footer-main{gap:2.5rem;grid-template-columns:1fr;padding:3.5rem 4% 2.5rem}.footer-brand-column{align-items:center;text-align:center}.footer-logo{justify-content:center}.footer-description{max-width:100%}.footer-social{justify-content:center}.footer-title:after{left:50%;transform:translateX(-50%)}.footer-column{align-items:center;text-align:center}.footer-links li a:hover{transform:none}.footer-bottom-content{flex-direction:column;gap:.75rem;text-align:center}.footer-bottom-links{flex-wrap:wrap;justify-content:center}}@media (max-width:480px){.navbar{padding:.65rem 3%}.logo{font-size:1.05rem}.btn{font-size:.72rem;padding:.45rem .7rem}.hero-title{font-size:2.25rem}.badge{font-size:.7rem}.cta-title{font-size:1.9rem}.whatsapp-cta-card{flex-direction:column;gap:1.25rem;text-align:center}.whatsapp-cta-content{align-items:center}.schedule-content{grid-template-columns:1fr 1fr}.floating-social{gap:.35rem;padding:.5rem .35rem}.floating-social-btn{height:42px;width:42px}.floating-social-btn svg{height:18px;width:18px}.floating-social-tiktok .tiktok-icon{font-size:.85rem}}.login-page{background:linear-gradient(135deg,#f9fafb,#f3f4f6 50%,#e5e7eb);flex-direction:column;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.login-logo,.login-page{align-items:center;display:flex;justify-content:center}.login-logo{gap:.75rem;margin-bottom:2rem;text-decoration:none;transition:all .3s ease}.login-logo:hover{transform:scale(1.05)}.login-logo:hover .logo-icon{animation:iconBounce .6s ease;box-shadow:0 8px 20px #ef44444d}.login-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:24px;box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d;max-width:480px;padding:3rem;position:relative;transition:all .3s ease;width:100%;z-index:1}.login-card:hover{box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;transform:translateY(-2px)}.login-title{-webkit-text-fill-color:#0000;animation:slideIn .8s ease-out .2s both;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:2rem;font-weight:800;margin-bottom:.5rem;text-align:center}.login-subtitle{animation:slideIn .8s ease-out .3s both;color:#6b7280;font-size:1rem;margin-bottom:0;text-align:center}.error-message{animation:slideIn .5s ease-out;border-radius:8px;font-size:.9rem;margin-bottom:1rem;padding:.75rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-input-wrapper{align-items:center;display:flex;position:relative}.login-input-icon{align-items:center;color:#6b7280;display:flex;font-size:20px;height:20px;justify-content:center;pointer-events:none;position:absolute;right:.875rem;top:50%;transform:translateY(-50%);transition:all .3s ease;width:20px;z-index:2}.login-form-input{background:#fff!important;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#111827!important;font-size:1rem;padding:.875rem 2.75rem .875rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1}.login-form-input::value-text{color:#111827!important}.login-form-input::-webkit-input-placeholder{color:#9ca3af!important}.login-form-input::-moz-placeholder{color:#9ca3af!important}.login-form-input:-ms-input-placeholder{color:#9ca3af!important}.login-form-input:-moz-placeholder{color:#9ca3af!important}.login-form-input:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.login-form-input:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a;outline:none;transform:translateY(-1px)}.login-input-wrapper:focus-within .login-input-icon{color:#ef4444;transform:translateY(-50%) scale(1.1)}.login-form-input::placeholder{color:#9ca3af;transition:opacity .3s ease}.login-form-input:focus::placeholder{opacity:.5}.login-form-input:disabled{background:#0000000d;color:#111827!important;cursor:not-allowed}.login-submit-btn{animation:slideIn .8s ease-out .7s both;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.login-submit-btn span{position:relative;z-index:2}.login-submit-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.login-submit-btn:hover:before{height:400px;width:400px}.login-submit-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 24px #ef444466;transform:translateY(-2px)}.login-submit-btn:active{box-shadow:0 4px 12px #ef44444d;transform:translateY(0)}.login-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem;text-align:center}.register-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .3s ease}.register-link:hover{color:#dc2626;text-decoration:underline}@media (max-width:768px){.login-logo{left:0;margin-bottom:2rem;position:relative;top:0;transform:none}.login-card{padding:2rem 1.5rem}.login-title{font-size:1.75rem}.account-type-btn{font-size:.9rem;padding:1.25rem .75rem}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes iconBounce{0%,to{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-5px) rotate(-5deg)}75%{transform:translateY(-5px) rotate(5deg)}}.fade-in-down{animation:fadeInDown .6s ease-out}.fade-in-up{animation:fadeInUp .8s ease-out}.register-page{align-items:center;background:linear-gradient(135deg,#f9fafb,#f3f4f6 50%,#e5e7eb);display:flex;flex-direction:column;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.background-animation{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#ef444408,#f9a8d40d 50%,#ef444408);background-size:200% 200%;bottom:0;left:0;position:absolute;right:0;top:0;z-index:0}.register-logo{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-bottom:2rem;text-decoration:none;transition:all .3s ease}.register-logo:hover{transform:scale(1.05)}.register-logo:hover .logo-icon{animation:iconBounce .6s ease;box-shadow:0 8px 20px #ef44444d}.logo-icon{align-items:center;background:linear-gradient(135deg,#fce7f3,#f9a8d4);border:1.5px solid #f9a8d4;border-radius:12px;box-shadow:0 4px 12px #f9a8d433;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.logo-icon,.logo-text{color:#ef4444;transition:all .3s ease}.logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ef4444,#dc2626);-webkit-background-clip:text;background-clip:text;font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1;text-transform:uppercase}.register-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:24px;box-shadow:0 10px 40px #0000001a,0 0 0 1px #0000000d;max-width:600px;padding:3rem;position:relative;transition:all .3s ease;width:100%;z-index:1}.register-card:hover{box-shadow:0 20px 60px #00000026,0 0 0 1px #0000000d;transform:translateY(-2px)}.card-header{margin-bottom:2rem}.register-title{-webkit-text-fill-color:#0000;animation:slideIn .8s ease-out .2s both;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;background-clip:text;color:#111827;font-size:2rem;font-weight:800;margin-bottom:.5rem;text-align:center}.register-subtitle{animation:slideIn .8s ease-out .3s both;color:#6b7280;font-size:1rem;margin-bottom:0;text-align:center}.account-type-section{animation:slideIn .8s ease-out .4s both;margin-bottom:2rem}.form-label{color:#111827;display:block;font-size:.9rem;font-weight:600;margin-bottom:.75rem;text-align:center}.account-type-buttons{display:flex;gap:1rem;position:relative}.account-type-btn{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:16px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:1rem;font-weight:600;gap:.75rem;overflow:hidden;padding:1.5rem 1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.account-type-btn:before{background:#ef44441a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.account-type-btn:hover:before{height:300px;width:300px}.account-type-btn:hover{border-color:#ef4444;box-shadow:0 8px 20px #ef444426;transform:translateY(-2px)}.account-type-btn.active{background:linear-gradient(135deg,#fee2e2,#fce7f3);border-color:#ef4444;box-shadow:0 8px 24px #ef444433;color:#ef4444;transform:translateY(-2px)}.account-type-btn.active .btn-icon-wrapper{animation:pulse 2s ease-in-out infinite;background:#ef44441a;border-radius:12px;padding:.5rem}.account-type-btn.active svg{color:#ef4444}.account-type-btn svg{color:#6b7280;position:relative;transition:all .3s ease;z-index:1}.btn-icon-wrapper{align-items:center;border-radius:12px;display:flex;justify-content:center;padding:.5rem;transition:all .3s ease}.register-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{animation:slideIn .8s ease-out both;gap:.75rem}.form-group:first-child{animation-delay:.5s}.form-group:nth-child(2){animation-delay:.6s}.form-group:nth-child(3){animation-delay:.7s}.input-wrapper{position:relative}.input-icon,.input-wrapper{align-items:center;display:flex}.input-icon{color:#6b7280;font-size:20px;height:20px;justify-content:center;left:.875rem;transition:all .3s ease;width:20px;z-index:2}.form-input{background:#fff!important;border:2px solid #e5e7eb;border-radius:12px;box-sizing:border-box;color:#111827!important;font-size:1rem;padding:.875rem 1rem .875rem 2.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1}.form-input::value-text{color:#111827!important}.form-input::-webkit-input-placeholder{color:#9ca3af!important}.form-input::-moz-placeholder{color:#9ca3af!important}.form-input:-ms-input-placeholder{color:#9ca3af!important}.form-input:-moz-placeholder{color:#9ca3af!important}.form-input:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000d}.form-input:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef44441a;outline:none;transform:translateY(-1px)}.input-wrapper:focus-within .input-icon{color:#ef4444;transform:translateY(-50%) scale(1.1)}.form-input::placeholder{color:#9ca3af;transition:opacity .3s ease}.form-input:focus::placeholder{opacity:.5}.form-input:disabled{background:#0000000d;color:#111827!important;cursor:not-allowed}.message{animation:slideIn .5s ease-out;border-radius:8px;font-size:.9rem;padding:.75rem;text-align:center}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626}.success-message{background:#d1fae5;border:1px solid #a7f3d0;color:#059669}.register-submit-btn{animation:slideIn .8s ease-out .8s both;background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.register-submit-btn span{position:relative;z-index:2}.register-submit-btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.register-submit-btn:hover:before{height:400px;width:400px}.register-submit-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 24px #ef444466;transform:translateY(-2px)}.register-submit-btn:active{box-shadow:0 4px 12px #ef44444d;transform:translateY(0)}.btn-ripple{animation:ripple .6s ease-out;background:#fff9;border-radius:50%;pointer-events:none;position:absolute;transform:scale(0)}.register-footer{border-top:1px solid #e5e7eb;margin-top:2rem;padding-top:2rem;text-align:center}.login-link{color:#ef4444;font-weight:600;text-decoration:none;transition:color .3s ease}.login-link:hover{color:#dc2626;text-decoration:underline}@media (max-width:768px){.register-logo{left:0;margin-bottom:2rem;position:relative;top:0;transform:none}.register-card{padding:2rem 1.5rem}.register-title{font-size:1.75rem}.account-type-btn{font-size:.9rem;padding:1.25rem .75rem}.form-row{gap:1rem;grid-template-columns:1fr}}.admin-dashboard{background:#f8f9fa;color:#1a1a1a;min-height:100vh}.dashboard-header{align-items:center;background:#fff;border-bottom:3px solid #ef4444;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;padding:1rem 2rem}.logo{color:#1a1a1a;font-size:1.5rem;font-weight:800;gap:.75rem}.logo svg{color:#ef4444}.logo-admin{color:#6b7280;font-weight:600}.header-right{gap:1rem}.admin-badge{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .3s}.admin-badge:hover{background:#dc2626;transform:translateY(-1px)}.logout-btn{background:#fff;border:1px solid #e5e7eb;color:#1a1a1a;padding:.5rem 1rem;transition:all .3s}.logout-btn:hover{background:#f3f4f6;border-color:#d1d5db}.mobile-menu-btn{align-items:center;background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;display:none;height:44px;justify-content:center;margin-right:.75rem;padding:0;transition:background .2s;width:44px}.mobile-menu-btn:hover{background:#dc2626}.mobile-menu-overlay{animation:fadeIn .2s ease;background:#0006;inset:0;position:fixed;z-index:9998}.mobile-menu-panel{animation:slideInLeft .25s ease;background:#fff;bottom:0;box-shadow:4px 0 24px #00000026;display:flex;flex-direction:column;left:0;max-width:85vw;position:fixed;top:0;width:280px;z-index:9999}@keyframes slideInLeft{0%{transform:translateX(-100%)}to{transform:translateX(0)}}.mobile-menu-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fff);border-bottom:2px solid #fee2e2;display:flex;justify-content:space-between;padding:1rem 1.25rem}.mobile-menu-title{color:#1a1a1a;font-size:1.125rem;font-weight:800}.mobile-menu-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:background .2s,color .2s;width:40px}.mobile-menu-close:hover{background:#fee2e2;color:#ef4444}.mobile-menu-nav{display:flex;flex-direction:column;overflow-y:auto;padding:.75rem 0}.mobile-menu-item{align-items:center;background:#0000;border:none;border-left:3px solid #0000;border-radius:0;color:#374151;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:background .2s,color .2s;width:100%}.mobile-menu-item:hover{background:#f9fafb;color:#1a1a1a}.mobile-menu-item.active{background:#fef2f2;border-left-color:#ef4444;color:#ef4444}.mobile-menu-item svg{color:inherit;flex-shrink:0}.dashboard-banner{background:linear-gradient(135deg,#fee2e2,#fce7f3);border-bottom:1px solid #e5e7eb;padding:2rem;text-align:center}.dashboard-banner h1{color:#1a1a1a;font-size:2rem;font-weight:800;margin:0 0 .5rem}.dashboard-banner h1 span{color:#ef4444}.dashboard-banner p{color:#6b7280;font-size:1rem;margin:0}.dashboard-content{margin:0 auto;max-width:100%}.kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.kpi-card{align-items:flex-start;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;gap:1rem;padding:1.5rem;transition:all .3s}.kpi-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.kpi-icon{align-items:center;border-radius:12px;display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.kpi-icon.revenue{background:linear-gradient(135deg,#fee2e2,#fce7f3);color:#ef4444}.kpi-icon.appointments{background:linear-gradient(135deg,#dbeafe,#e0e7ff);color:#3b82f6}.kpi-icon.barbers{background:linear-gradient(135deg,#dcfce7,#d1fae5);color:#10b981}.kpi-icon.average{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#f59e0b}.kpi-content{flex:1 1}.kpi-label{color:#6b7280;display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}.kpi-value{color:#1a1a1a;display:block;font-size:1.75rem;font-weight:800;margin-bottom:.25rem}.kpi-trend{align-items:center;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;margin-top:.5rem}.kpi-trend.positive{color:#10b981}.kpi-detail{color:#9ca3af;display:block;font-size:.75rem;margin-top:.25rem}.dashboard-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s}.tab-btn:hover{background:#f3f4f6;color:#1a1a1a}.tab-btn.active{background:#ef4444;box-shadow:0 2px 8px #ef44444d;color:#fff}.sub-tabs-dropdown-mobile{display:none}.sub-tabs-select-mobile{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;border:2px solid #e5e7eb;border-radius:10px;color:#374151;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 2.5rem .75rem 1rem;width:100%}.sub-tabs-select-mobile:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.sub-tabs-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem}.sub-tab-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;flex:1 1;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;transition:all .3s}.sub-tab-btn:hover{background:#f3f4f6;color:#1a1a1a}.sub-tab-btn.active{background:#ef4444;box-shadow:0 2px 8px #ef44444d;color:#fff}.tab-content{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;box-sizing:border-box;max-width:100%;padding:1.5rem .75rem}.tab-header{align-items:flex-start;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.tab-header h2{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.tab-subtitle{color:#6b7280;font-size:.875rem;margin:0}.services-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.services-header h2{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0}.services-header-buttons{display:flex;gap:1rem}.add-barber-btn{align-items:center;background:#ef4444;border:none;border-radius:10px;box-shadow:0 2px 8px #ef44444d;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s}.add-barber-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.barbers-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.barber-card-modern{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:all .3s}.barber-card-modern:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.barber-card-header{align-items:center;background:linear-gradient(135deg,#fee2e2,#fce7f3);display:flex;gap:1rem;padding:1.5rem;position:relative}.barber-avatar{border:3px solid #fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;height:64px;overflow:hidden;width:64px}.barber-avatar img{height:100%;object-fit:cover;width:100%}.avatar-placeholder{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;display:flex;font-size:1.5rem;font-weight:800;height:100%;justify-content:center;width:100%}.barber-status{flex:1 1}.status-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.status-badge.active{background:#dcfce7;color:#059669}.status-badge.inactive{background:#fee2e2;color:#dc2626}.barber-menu-btn{background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;padding:.5rem;transition:all .3s}.barber-menu-btn:hover{background:#ffffff80;color:#1a1a1a}.barber-card-body{padding:1.5rem}.barber-name{color:#1a1a1a;font-size:1.25rem;font-weight:800;margin:0 0 .5rem}.barber-specialty{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;margin:0 0 1rem}.barber-metrics{grid-gap:1rem;background:#f9fafb;border-radius:12px;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem;padding:1rem}.metric-item{display:flex;flex-direction:column;gap:.25rem}.metric-label{color:#6b7280;font-size:.75rem;font-weight:500}.metric-value{align-items:center;color:#1a1a1a;display:flex;font-size:1rem;font-weight:700;gap:.25rem}.metric-value.revenue{color:#ef4444}.metric-value.rating{color:#f59e0b}.barber-info{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.5rem;padding-top:1rem}.info-item{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.barber-card-actions{grid-gap:.5rem;background:#f9fafb;border-top:1px solid #e5e7eb;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);padding:1rem 1.25rem}.barber-card-actions .action-btn:first-child{background-color:#10b981!important;color:#fff;grid-column:1/-1}.action-btn{font-size:.75rem;gap:.4rem;min-height:38px;overflow:visible;padding:.65rem .6rem;text-align:center;transition:all .3s;white-space:nowrap}.action-btn.delete{grid-column:auto;width:100%}.action-btn svg{flex-shrink:0;height:15px;width:15px}.action-btn:hover{box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.action-btn:active{transform:translateY(0)}.action-btn.edit{background:#3b82f6;color:#fff}.action-btn.edit:hover{background:#2563eb}.action-btn.delete{background:#ef4444;color:#fff}.action-btn.delete:hover{background:#dc2626}.action-btn span{font-size:inherit;line-height:1.2}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.analytics-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.analytics-card h3{color:#1a1a1a;font-size:1.25rem;font-weight:800;margin:0 0 1rem}.analytics-metrics{display:flex;flex-direction:column;gap:1rem}.analytics-metric{align-items:center;background:#f9fafb;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem}.analytics-metric .metric-label{color:#6b7280;font-size:.875rem}.analytics-metric .metric-value{color:#1a1a1a;font-size:1rem;font-weight:700}.empty-state{color:#6b7280}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;left:0;padding:0;right:0;top:0}@media (max-width:768px){.modal-overlay{align-items:flex-start;overflow-y:auto;padding:0}}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:600px;overflow-y:auto;padding:2rem;width:90%}.modal h2{color:#1a1a1a;font-size:1.5rem}.form-group{margin-bottom:1rem}.form-group input,.form-group textarea{border:2px solid #e5e7eb;color:#1a1a1a;font-size:.875rem;transition:all .3s}.form-group input:focus,.form-group textarea:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-group input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.checkbox-group label{align-items:center;cursor:pointer;display:flex;gap:.5rem}.checkbox-group input[type=checkbox]{cursor:pointer;width:auto}.modal-actions{margin-top:2rem}.modal-actions button{transition:all .3s}.submit-btn{background:#ef4444;color:#fff}.submit-btn:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.loading-container{gap:1rem}.coming-soon{color:#6b7280;font-size:1.125rem;padding:3rem;text-align:center}.appointments-filters-bar{background:linear-gradient(135deg,#f9fafb,#f3f4f8);border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000d;padding:1.1rem 1.35rem}.appointments-search-icon{flex-shrink:0;left:.85rem}.appointments-search-input{border-radius:10px;box-shadow:0 1px 3px #0000000d;font-size:.9rem;max-width:360px;padding:.7rem 1rem .7rem 2.5rem;transition:all .25s ease}.appointments-search-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.appointments-day-tab{letter-spacing:.01em;padding:.5rem .9rem}.appointments-day-tab:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.appointments-day-tab.active{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#0000;box-shadow:0 2px 10px #ef44444d}.appointments-mobile-cards{display:none}@media (max-width:900px){.appointments-mobile-cards{display:block;margin-top:1rem}.appointments-table-container{display:none!important}.appointment-mobile-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 16px #0000000f;margin-bottom:1rem;overflow:hidden}.appointment-mobile-card-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fff5f5);border-bottom:1px solid #fee2e2;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;padding:1rem 1.25rem}.appointment-mobile-client{color:#111827;font-size:1rem;font-weight:700}.appointment-mobile-status{border-radius:8px;font-size:.75rem;font-weight:700;padding:.35rem .65rem;text-transform:uppercase}.appointment-mobile-status.status-pending{background:#fef3c7;color:#b45309}.appointment-mobile-status.status-confirmed{background:#d1fae5;color:#047857}.appointment-mobile-status.status-completed{background:#dbeafe;color:#1d4ed8}.appointment-mobile-status.status-cancelled{background:#fee2e2;color:#b91c1c}.appointment-mobile-details{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:1fr 1fr;padding:1rem}.appointment-mobile-row{align-items:flex-start;background:#fafafa;border-bottom:none;border-radius:8px;display:flex;flex-direction:column;font-size:.8125rem;gap:.2rem;padding:.5rem .6rem}.appointment-mobile-row.full-width{grid-column:1/-1}.appointment-mobile-row .label{color:#6b7280;font-size:.7rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.appointment-mobile-row .link{color:#10b981;cursor:pointer;text-decoration:underline;word-break:break-all}.appointment-mobile-row .price-value{color:#ef4444;font-weight:700}.appointment-mobile-row-status select{border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:600;max-width:100%;padding:.5rem .6rem;width:100%}.appointment-mobile-actions{grid-gap:.75rem;background:#fafafa;border-top:1px solid #f3f4f6;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;padding:1rem 1.25rem}.appointment-mobile-actions .action-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem}.appointment-mobile-actions .action-btn.edit-btn{background:#eff6ff;border:1px solid #93c5fd;color:#2563eb}.appointment-mobile-actions .action-btn.delete-btn{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.appointments-filters-bar{align-items:stretch;flex-direction:column;margin-bottom:1rem;padding:.75rem}.appointments-search-wrap{min-width:0}.appointments-search-input{max-width:none}.appointments-days-tabs{gap:.4rem;justify-content:flex-start}.appointments-day-tab{font-size:.75rem;padding:.45rem .6rem}.appointments-pagination{flex-direction:column;gap:.75rem;padding:.75rem;text-align:center}.appointments-pagination-btns{justify-content:center}.appointment-mobile-actions,.appointment-mobile-card-header{padding:.85rem 1rem}}.appointments-pagination{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;margin-top:1.5rem;padding:1rem}.appointments-pagination-info{color:#6b7280;font-size:.9rem;font-weight:500}.appointments-pagination-btns{display:flex;gap:.5rem}.appointments-page-btn{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .2s,color .2s}.appointments-page-btn:hover:not(:disabled){background:#f3f4f6}.appointments-page-btn:disabled{cursor:not-allowed;opacity:.5}.appointments-page-btn.primary{background:#ef4444;border-color:#ef4444;color:#fff}.appointments-page-btn.primary:hover:not(:disabled){background:#dc2626}.appointments-pagination-numbered{align-items:center;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center}.appointments-page-nums{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.appointments-page-num{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;font-weight:600;height:2.25rem;min-width:2.25rem;padding:0 .5rem;transition:background .2s,border-color .2s,color .2s}.appointments-page-num:hover:not(:disabled){background:#fef2f2;border-color:#ef4444;color:#dc2626}.appointments-page-num.is-active{background:#ef4444;border-color:#ef4444;color:#fff}.appointments-page-ellipsis{color:#9ca3af;font-weight:600;padding:0 .25rem;-webkit-user-select:none;user-select:none}.appointments-page-btn-primary{background:#ef4444;border-color:#ef4444;color:#fff}.appointments-page-btn-primary:hover:not(:disabled){background:#dc2626}.appointments-pagination-admin-top{margin-bottom:1rem;margin-top:.25rem}.appointments-pagination-admin-bottom{margin-top:1.25rem}.appointments-table-container{border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 4px 16px #0000000f;margin-top:1.25rem;overflow-x:auto;width:100%}.appointments-table{background:#fff;min-width:0;table-layout:fixed}.appointments-table td:first-child,.appointments-table th:first-child{width:12%}.appointments-table td:nth-child(2),.appointments-table th:nth-child(2){width:10%}.appointments-table td:nth-child(3),.appointments-table th:nth-child(3){width:11%}.appointments-table td:nth-child(4),.appointments-table th:nth-child(4){width:6%}.appointments-table td:nth-child(5),.appointments-table th:nth-child(5){width:11%}.appointments-table td:nth-child(6),.appointments-table th:nth-child(6){width:5%}.appointments-table td:nth-child(7),.appointments-table th:nth-child(7){width:7%}.appointments-table td:nth-child(8),.appointments-table th:nth-child(8){width:9%}.appointments-table td:nth-child(9),.appointments-table th:nth-child(9){width:16%}.appointments-table td:nth-child(10),.appointments-table th:nth-child(10){width:13%}.appointments-table thead{background:linear-gradient(135deg,#1f2937,#111827);position:-webkit-sticky;position:sticky;top:0;z-index:2}.appointments-table th{word-wrap:break-word;color:#fffc;font-size:.68rem;padding:.75rem .6rem;white-space:normal}.appointments-table th:first-child{border-radius:12px 0 0 0}.appointments-table th:last-child{border-radius:0 12px 0 0}.appointments-table tbody tr{border-bottom:1px solid #f1f5f9;transition:all .2s ease}.appointments-table tbody tr:hover{background:#fef9f9;box-shadow:inset 3px 0 0 #ef4444}.appointments-table td{word-wrap:break-word;color:#1a1a1a;font-size:.8125rem;overflow-wrap:break-word;padding:.7rem .6rem}.client-info,.contact-info{display:flex;flex-direction:column;gap:.2rem}.client-name{font-size:.9rem;font-weight:700;line-height:1.2}.appointments-table .barber-name{color:#6b7280;font-size:.875rem;font-weight:600}.appointments-table .service-name{color:#1f2937;font-size:.875rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.price-value{font-size:.95rem;font-weight:800;letter-spacing:-.01em}.contact-item{font-size:.78rem;gap:.4rem;line-height:1.3}.status-select{appearance:none;-webkit-appearance:none;border:1.5px solid;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:700;min-width:110px;padding:.4rem .65rem;text-align:center;transition:all .2s ease}.status-select.status-pending{background:#fef9c3;border-color:#fde68a;color:#78350f}.status-select.status-confirmed{background:#eff6ff;border-color:#bfdbfe;color:#1d4ed8}.status-select.status-completed{background:#f0fdf4;border-color:#86efac;color:#15803d}.status-select.status-cancelled{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.status-select:focus{box-shadow:0 0 0 3px #ef444426;outline:none}.status-badge.status-pending{background:#fef9c3;color:#78350f}.status-badge.status-confirmed{background:#eff6ff;color:#1d4ed8}.status-badge.status-completed{background:#f0fdf4;color:#15803d}.status-badge.status-cancelled{background:#fef2f2;color:#b91c1c}.appointments-table-container .appointment-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:.4rem}.appointments-table-container .action-btn.edit-btn{align-items:center;background:#eff6ff!important;border:1.5px solid #bfdbfe!important;border-radius:8px!important;color:#1d4ed8!important;cursor:pointer;display:inline-flex;font-size:.78rem!important;font-weight:700!important;gap:.35rem;padding:.4rem .75rem!important;transition:all .2s ease;white-space:nowrap}.appointments-table-container .action-btn.edit-btn:hover{background:#dbeafe!important;box-shadow:0 2px 8px #3b82f640!important;transform:translateY(-1px)}.appointments-table-container .action-btn.delete-btn{align-items:center;background:#fef2f2!important;border:1.5px solid #fecaca!important;border-radius:8px!important;color:#b91c1c!important;cursor:pointer;display:inline-flex;font-size:.78rem!important;font-weight:700!important;gap:.35rem;padding:.4rem .75rem!important;transition:all .2s ease;white-space:nowrap}.appointments-table-container .action-btn.delete-btn:hover{background:#fee2e2!important;box-shadow:0 2px 8px #ef444440!important;transform:translateY(-1px)}@media (max-width:768px){.dashboard-header{flex-direction:column;gap:1rem;padding:1rem}.barber-card-body,.barber-card-header{padding:1rem}.barber-card-modern{border-radius:12px}.header-right{justify-content:space-between;width:100%}.dashboard-banner{padding:1.5rem 1rem}.dashboard-banner h1{font-size:1.5rem}.dashboard-content{padding:1rem}.kpi-grid{gap:1rem;grid-template-columns:1fr}.kpi-card{gap:.75rem;padding:1rem}.kpi-icon{height:40px;width:40px}.kpi-icon svg{height:20px;width:20px}.kpi-label{font-size:.8rem;margin-bottom:.375rem}.kpi-value{font-size:1.5rem;margin-bottom:.125rem}.kpi-trend{font-size:.7rem;margin-top:.375rem}.kpi-trend svg{height:12px;width:12px}.kpi-detail{font-size:.7rem}.mobile-menu-btn{display:flex}.dashboard-tabs{display:none!important}.sub-tabs-dropdown-mobile{display:block;margin-bottom:1rem}.sub-tabs-container{display:none!important}.sub-tab-btn{width:100%}.tab-content{padding:1rem .75rem}.tab-header{align-items:stretch;flex-direction:column;gap:1rem}@media (max-width:900px){.appointments-table-container{background:#0000;border:none;box-shadow:none}.appointments-table,.appointments-table tbody,.appointments-table td,.appointments-table tr{display:block;width:100%!important}.appointments-table thead{display:none}.appointments-table tr{background:#fff;border:1px solid #e5e7eb!important;border-radius:20px!important;box-shadow:0 4px 20px #0000000f;margin-bottom:1.5rem;padding:1.25rem}.appointments-table td{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 0;text-align:right}.appointments-table td:last-child{align-items:stretch;border-bottom:none;flex-direction:column;margin-top:.5rem}.appointments-table td:before{color:#9ca3af;content:attr(data-label);font-size:.7rem;font-weight:800;letter-spacing:.05em;margin-right:1rem;text-align:left;text-transform:uppercase}.client-info,.contact-info{align-items:flex-end}.appointments-table .appointment-actions{grid-gap:.75rem;display:grid!important;gap:.75rem;grid-template-columns:1fr 1fr;margin-top:.5rem;width:100%}.appointments-table .action-btn{font-size:.9rem!important;justify-content:center!important;padding:.8rem!important;width:100%!important}.status-select{min-width:140px}}.services-header{align-items:center;flex-direction:column;gap:1.5rem;text-align:center}.services-header h2{text-align:center;width:100%}.services-header-buttons{flex-direction:column;gap:.75rem;width:100%}.services-header-buttons .add-barber-btn{justify-content:center;width:100%}.barbers-grid,.form-row{grid-template-columns:1fr}.modal{border-radius:12px;margin:.5rem;max-height:95vh;padding:0;width:calc(100% - 1rem)}.modal>div:first-child{border-radius:12px 12px 0 0!important;padding:1rem!important}.modal>div:first-child h2{font-size:1.25rem!important}.modal>div:last-child{padding:1rem!important}.modal input,.modal textarea{font-size:.875rem!important;padding:.625rem!important}.modal label{font-size:.875rem!important;margin-bottom:.375rem!important}.module-modal-header{padding:1rem!important}.module-modal-header h2{font-size:1.25rem!important}.module-modal-content{padding:1rem!important}.module-form-field{margin-bottom:1rem!important}.module-modal-content input,.module-modal-content textarea{font-size:.875rem!important;padding:.625rem!important}.module-modal-content label{font-size:.875rem!important;margin-bottom:.375rem!important}.module-modal-content textarea{min-height:60px!important}.module-form-grid{gap:.75rem!important;grid-template-columns:1fr!important;margin-bottom:1rem!important}.module-form-grid>div:last-child{margin-top:0!important}.module-modal-actions{flex-direction:column!important;gap:.75rem!important}.module-modal-actions button{font-size:.875rem!important;padding:.625rem!important;width:100%!important}.service-modal-header{padding:1rem!important}.service-modal-header h2{font-size:1.25rem!important}.service-modal-content{padding:1rem!important}.service-form-field{margin-bottom:1rem!important}.service-modal-content input,.service-modal-content select,.service-modal-content textarea{font-size:.875rem!important;padding:.625rem!important}.service-modal-content label{font-size:.875rem!important;margin-bottom:.375rem!important}.service-modal-content textarea{min-height:60px!important}.service-form-grid{gap:.75rem!important;grid-template-columns:1fr!important;margin-bottom:1rem!important}.service-modal-actions{flex-direction:column!important;gap:.75rem!important}.service-modal-actions button{font-size:.875rem!important;padding:.625rem!important;width:100%!important}}@media (max-width:480px){.modal-overlay{padding-top:.25rem}.module-modal{border-radius:8px;margin:.25rem;width:calc(100% - .5rem)}.module-modal-header{border-radius:8px 8px 0 0!important;padding:.875rem!important}.module-modal-header h2{font-size:1.125rem!important}.module-modal-content{padding:.875rem!important}.module-form-field{margin-bottom:.875rem!important}.module-modal-content input,.module-modal-content textarea{font-size:.875rem!important;padding:.5rem!important}.module-modal-content textarea{min-height:50px!important}.service-modal{border-radius:8px;margin:.25rem;width:calc(100% - .5rem)}.service-modal-header{border-radius:8px 8px 0 0!important;padding:.875rem!important}.service-modal-header h2{font-size:1.125rem!important}.service-modal-content{padding:.875rem!important}.service-form-field{margin-bottom:.875rem!important}.service-modal-content input,.service-modal-content select,.service-modal-content textarea{font-size:.875rem!important;padding:.5rem!important}.service-modal-content textarea{min-height:50px!important}.modal input,.modal textarea{font-size:.875rem!important;padding:.5rem!important}.modal>div:last-child>div{margin-bottom:.875rem!important}.modal textarea{min-height:50px!important}.kpi-card{gap:.625rem;padding:.875rem}.kpi-icon{height:36px;width:36px}.kpi-icon svg{height:18px;width:18px}.appointments-table-container .appointment-actions{align-items:stretch;flex-direction:column;gap:.25rem}.appointments-table-container .appointment-actions .action-btn.delete-btn,.appointments-table-container .appointment-actions .action-btn.edit-btn{font-size:.7rem!important;gap:.2rem!important;justify-content:center;padding:.25rem .4rem!important;width:100%}.appointments-table-container .appointment-actions .action-btn.delete-btn svg,.appointments-table-container .appointment-actions .action-btn.edit-btn svg{height:12px!important;width:12px!important}.kpi-label{font-size:.75rem}.kpi-value{font-size:1.375rem}.kpi-trend{font-size:.65rem}.kpi-trend svg{height:11px;width:11px}.kpi-detail{font-size:.65rem}.barber-card-header{gap:.75rem;padding:.875rem}.barber-avatar{height:56px;width:56px}.avatar-placeholder{font-size:1.25rem}.barber-card-body{padding:.875rem}.barber-name{font-size:1.125rem}}@media (max-width:768px){.barber-card-actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);padding:.75rem}.action-btn{font-size:.7rem;gap:.375rem;min-height:36px;min-width:0;padding:.55rem .5rem}.action-btn svg{height:14px;width:14px}}@media (max-width:480px){.barber-card-actions{grid-template-columns:1fr}.action-btn.delete,.barber-card-actions .action-btn:first-child{grid-column:auto}}.dashboard-content{box-sizing:border-box;max-width:100%!important;padding:1.5rem .75rem}@media (max-width:900px){.dashboard-content{box-sizing:border-box;max-width:100%!important;padding:1rem .75rem}.tab-content{max-width:100%;padding:1rem .75rem}}@media (max-width:480px){.dashboard-content,.tab-content{padding:.75rem .5rem}}@media (max-width:900px){.appointments-table-container{border-radius:12px;overflow:hidden}.appointments-table,.appointments-table tbody,.appointments-table td,.appointments-table th,.appointments-table thead,.appointments-table tr{display:block}.appointments-table thead tr{left:-9999px;position:absolute;top:-9999px;visibility:hidden}.appointments-table tbody tr{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000d;margin-bottom:.85rem;padding:1rem 1.25rem;transition:all .2s ease}.appointments-table tbody tr:hover{border-color:#fecaca;box-shadow:0 4px 16px #0000001a;box-shadow:none}.appointments-table tbody tr:last-child{margin-bottom:0}.appointments-table td{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;font-size:.85rem;gap:.5rem;justify-content:space-between;padding:.45rem 0}.appointments-table td:last-child{border-bottom:none;padding-top:.65rem}.appointments-table td:before{color:#9ca3af;content:attr(data-label);flex-shrink:0;font-size:.7rem;font-weight:700;letter-spacing:.06em;min-width:90px;padding-top:2px;text-transform:uppercase}.appointments-table-container .appointment-actions{flex-wrap:wrap;gap:.4rem;justify-content:flex-end;width:100%}}@media (max-width:480px){.barber-card-actions{grid-gap:.375rem;display:grid;gap:.375rem;grid-template-columns:repeat(2,1fr);padding:.625rem}.action-btn{font-size:.7rem;gap:.25rem;min-height:32px;padding:.4rem .375rem}.action-btn svg{height:14px;width:14px}.action-btn.delete{grid-column:span 1}.action-btn.edit span{display:none}.action-btn:not(.edit):not(.delete) span{font-size:.65rem;line-height:1.2}.action-btn.delete span{display:inline}}.modules-assignment-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding:.5rem 0}.module-assignment-item{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:12px;display:flex;justify-content:space-between;padding:1rem;transition:all .3s ease}.module-assignment-item:hover{background:#f3f4f6;border-color:#8b5cf6;transform:translateX(4px)}.module-assignment-item.assigned{background:#f0fdf4;border-color:#10b981}.module-assignment-info{flex:1 1}.module-assignment-info h4{color:#1f2937;font-size:1rem;font-weight:700;margin:0 0 .25rem}.module-assignment-info p{color:#6b7280;font-size:.875rem;line-height:1.4;margin:0}.module-assignment-toggle{flex-shrink:0}.loading-spinner{border-top-color:#ef4444;height:40px;margin:0 auto 1rem;width:40px}.barbers-subtabs{display:flex;gap:.5rem;margin-bottom:1.5rem}.barbers-subtab-btn{align-items:center;background:#f3f4f6;border:none;border-radius:10px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.95rem;font-weight:600;gap:.5rem;padding:.6rem 1.25rem;transition:all .2s}.barbers-subtab-btn:hover{background:#e5e7eb;color:#1a1a1a}.barbers-subtab-btn.active{background:#ef4444;box-shadow:0 2px 8px #ef44444d;color:#fff}.clients-section{margin-top:0}.clients-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.clients-search-wrap{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;display:flex;flex:1 1;gap:.5rem;min-width:200px;padding:.4rem .75rem}.clients-search-wrap svg{color:#9ca3af;flex-shrink:0}.clients-search-input{border:none;flex:1 1;font-size:.95rem;outline:none;padding:.5rem 0}.clients-search-btn{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem}.clients-search-btn:hover{background:#dc2626}.clients-count{color:#6b7280;font-size:.875rem;margin:0 0 1rem}.clients-loading{color:#6b7280;padding:2rem;text-align:center}.clients-table-wrap{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000000f;overflow-x:auto}.clients-pagination{align-items:center;display:flex;flex-direction:column;flex-wrap:wrap;gap:.85rem;justify-content:center;margin-top:1rem;padding:.75rem 0}.clients-pagination-btn{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:background .2s,border-color .2s,color .2s}.clients-pagination-btn:hover:not(:disabled){background:#fef2f2;border-color:#e11d1d;color:#e11d1d}.clients-pagination-btn:disabled{cursor:not-allowed;opacity:.5}.clients-pagination-info{color:#6b7280;font-size:.875rem;font-weight:500;text-align:center;width:100%}.clients-pagination-controls{gap:.5rem .75rem}.clients-page-nums,.clients-pagination-controls{align-items:center;display:flex;flex-wrap:wrap;justify-content:center}.clients-page-nums{gap:.35rem}.clients-page-num{background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;color:#1f2937;cursor:pointer;font-size:.875rem;font-weight:600;height:2.25rem;min-width:2.25rem;padding:0 .5rem;transition:background .2s,border-color .2s,color .2s}.clients-page-num:hover:not(:disabled){background:#fef2f2;border-color:#e11d1d;color:#e11d1d}.clients-page-num.is-active{background:#e11d1d;border-color:#e11d1d;color:#fff}.clients-page-ellipsis{color:#9ca3af;font-weight:600;padding:0 .25rem;-webkit-user-select:none;user-select:none}.clients-pagination-btn-primary{background:#ef4444;border-color:#ef4444;color:#fff}.clients-pagination-btn-primary:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff}.clients-table{border-collapse:collapse;font-size:.9rem;width:100%}.clients-table td,.clients-table th{border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;text-align:left}.clients-table th{background:#f9fafb;color:#374151;font-weight:700}.clients-table tbody tr:hover{background:#fef2f2}.clients-table .action-btn{margin-bottom:.25rem;margin-right:.5rem}.clients-empty{color:#6b7280;padding:1.5rem!important;text-align:center}.inventory-header{align-items:flex-start;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.inventory-header h2{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.inventory-subtitle{color:#6b7280;font-size:.875rem;margin:0}.inventory-filter-bar{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;display:flex;gap:.75rem;margin-bottom:1.25rem;padding:1rem}.inventory-filter-label{color:#374151;font-size:.9rem;font-weight:600}.inventory-filter-select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:.9rem;min-width:200px;padding:.5rem 2rem .5rem .75rem}.inventory-filter-select:focus{border-color:#ef4444;box-shadow:0 0 0 2px #ef444433;outline:none}.inventory-table-container{margin-top:1rem;overflow-x:auto}.inventory-table{background:#fff;border-collapse:collapse;width:100%}.inventory-table thead{background:#f9fafb;border-bottom:2px solid #e5e7eb}.inventory-table th{color:#374151;font-size:.875rem;font-weight:700;letter-spacing:.05em;padding:1rem;text-align:left;text-transform:uppercase}.inventory-table tbody tr{border-bottom:1px solid #e5e7eb;transition:background .2s}.inventory-table tbody tr:hover{background:#f9fafb}.inventory-table td{color:#1a1a1a;font-size:.875rem;padding:1rem;vertical-align:middle}.product-name-cell{align-items:center;display:flex;gap:.75rem}.product-table-image{border-radius:8px;flex-shrink:0;height:50px;object-fit:cover;width:50px}.product-name{color:#1a1a1a;font-weight:600;margin-bottom:.25rem}.product-description-table{color:#6b7280;font-size:.75rem;line-height:1.4}.category-badge{background:#f3f4f6;border-radius:6px;color:#374151;display:inline-block;font-size:.875rem;font-weight:600;padding:.375rem .75rem}.price-value{color:#ef4444;font-weight:700}.stock-value{color:#1a1a1a;font-weight:600}.vitrina-stock-value{color:#7c3aed;font-weight:600}.min-stock-value{color:#6b7280}.stock-badge{display:inline-block;padding:.375rem .75rem}.table-actions{align-items:center;display:flex;gap:.5rem}.table-action-btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;height:36px;justify-content:center;padding:.5rem;transition:all .3s;width:36px}.table-action-btn.edit{background:#3b82f6;color:#fff}.table-action-btn.edit:hover{background:#2563eb}.table-action-btn.delete{background:#ef4444;color:#fff}.table-action-btn.delete:hover{background:#dc2626}.inventory-modal-header{border-radius:8px 8px 0 0;padding:1.5rem}.inventory-modal-content{padding:2rem}.inventory-form-field{margin-bottom:1.5rem}.inventory-form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.inventory-modal-actions{display:flex;gap:1rem}@media (max-width:768px){.inventory-header{flex-direction:column;gap:1rem}.inventory-header .add-barber-btn{width:100%}.inventory-table-container{overflow-x:scroll}.inventory-table{min-width:800px}.product-table-image{height:40px;width:40px}.inventory-modal-header{padding:1rem!important}.inventory-modal-header h2{font-size:1.25rem!important}.inventory-modal-content{padding:1rem!important}.inventory-form-field{margin-bottom:1rem!important}.inventory-modal-content input,.inventory-modal-content select,.inventory-modal-content textarea{font-size:.875rem!important;padding:.625rem!important}.inventory-modal-content label{font-size:.875rem!important;margin-bottom:.375rem!important}.inventory-modal-content textarea{min-height:60px!important}.inventory-form-grid{gap:.75rem!important;grid-template-columns:1fr!important;margin-bottom:1rem!important}.inventory-modal-actions{flex-direction:column!important;gap:.75rem!important}.inventory-modal-actions button{font-size:.875rem!important;padding:.625rem!important;width:100%!important}}@media (max-width:480px){.inventory-table td,.inventory-table th{font-size:.8rem;padding:.75rem .5rem}.product-table-image,.table-action-btn{height:32px;width:32px}.table-action-btn{padding:.375rem}.table-action-btn svg{height:14px;width:14px}.inventory-modal-header{padding:.875rem!important}.inventory-modal-header h2{font-size:1.125rem!important}.inventory-modal-content{padding:.875rem!important}.inventory-form-field{margin-bottom:.875rem!important}.inventory-modal-content input,.inventory-modal-content select,.inventory-modal-content textarea{font-size:.875rem!important;padding:.5rem!important}.inventory-modal-content textarea{min-height:50px!important}}.compras-header{align-items:flex-start;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1.5rem}.compras-header h2{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.compras-subtitle{color:#6b7280;font-size:.875rem;margin:0}.checkout-btn{align-items:center;background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s}.checkout-btn:hover{background:#dc2626;transform:translateY(-2px)}.compras-content{align-items:flex-start;display:flex;gap:2rem}.products-section{flex:1 1}.category-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;padding:1.5rem}.category-title{color:#1a1a1a;font-size:1.5rem;font-weight:800;margin:0 0 1.5rem}.products-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.product-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;transition:all .3s}.product-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.product-image{background:#fff;height:150px;overflow:hidden;width:100%}.product-image img{height:100%;object-fit:cover;width:100%}.product-body{padding:1rem}.product-body h4{color:#1a1a1a;font-size:1rem;font-weight:700;margin:0 0 .5rem}.product-description{color:#6b7280;font-size:.75rem;line-height:1.4;margin:0 0 1rem}.product-info{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.product-price{color:#ef4444;font-size:1.125rem;font-weight:800}.stock-badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.stock-badge.stock-ok{background:#dcfce7;color:#166534}.stock-badge.stock-low{background:#fef3c7;color:#92400e}.stock-badge.stock-out{background:#fee2e2;color:#991b1b}.add-to-cart-btn{align-items:center;background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem;transition:all .3s;width:100%}.add-to-cart-btn:hover:not(:disabled){background:#dc2626}.add-to-cart-btn:disabled{background:#d1d5db;cursor:not-allowed}.cart-controls{gap:.5rem;width:100%}.cart-controls,.quantity-btn{align-items:center;display:flex}.quantity-btn{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;height:32px;justify-content:center;transition:all .3s;width:32px}.quantity-btn:hover:not(:disabled){background:#2563eb}.quantity-btn:disabled{background:#d1d5db;cursor:not-allowed}.quantity-display{flex:1 1;font-size:1rem;font-weight:600;text-align:center}.remove-btn{align-items:center;background:#ef4444;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .3s;width:32px}.remove-btn:hover{background:#dc2626}.cart-sidebar{background:#fff;border-radius:16px;box-shadow:0 2px 8px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 4rem);padding:1.5rem;position:-webkit-sticky;position:sticky;top:2rem;width:350px}.cart-header{align-items:center;border-bottom:2px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.cart-header h3{color:#1a1a1a;font-size:1.25rem;font-weight:800;margin:0}.cart-count{color:#6b7280;font-size:.875rem;font-weight:600}.cart-items{flex:1 1;margin-bottom:1rem;overflow-y:auto}.cart-item{align-items:flex-start;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:.75rem 0}.cart-item:last-child{border-bottom:none}.cart-item-info{flex:1 1}.cart-item-info h4{color:#1a1a1a;font-size:.875rem;font-weight:600;margin:0 0 .25rem}.cart-item-info p{color:#6b7280;font-size:.75rem;margin:0}.cart-item-total{color:#ef4444;font-size:.875rem;font-weight:700}.cart-footer{border-top:2px solid #f3f4f6;padding-top:1rem}.cart-total{align-items:center;color:#1a1a1a;display:flex;font-size:1.125rem;font-weight:700;justify-content:space-between;margin-bottom:1rem}.total-amount{color:#ef4444;font-size:1.5rem}.checkout-btn-full{background:#ef4444;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem;transition:all .3s;width:100%}.checkout-btn-full:hover{background:#dc2626;transform:translateY(-2px)}.compras-modal-header{border-radius:8px 8px 0 0;padding:1.5rem}.compras-modal-content{padding:2rem}.checkout-summary{margin-bottom:1.5rem}.checkout-summary h3{color:#1a1a1a;font-size:1.125rem;font-weight:700;margin:0 0 1rem}.checkout-item{border-bottom:1px solid #e5e7eb;display:flex;font-size:.875rem;justify-content:space-between;padding:.5rem 0}.checkout-item:last-of-type{border-bottom:none}.checkout-total{border-top:2px solid #f3f4f6;color:#1a1a1a;display:flex;font-size:1.125rem;font-weight:700;justify-content:space-between;margin-top:1rem;padding-top:1rem}.checkout-form-field{margin-bottom:1rem}.compras-modal-actions{display:flex;gap:1rem}@media (max-width:1024px){.compras-content{flex-direction:column}.cart-sidebar{max-height:none;position:relative;top:0;width:100%}}@media (max-width:768px){.compras-header{flex-direction:column;gap:1rem}.checkout-btn{width:100%}.products-grid{grid-template-columns:1fr}.compras-modal-header{padding:1rem!important}.compras-modal-header h2{font-size:1.25rem!important}.compras-modal-content{padding:1rem!important}.checkout-form-field{margin-bottom:1rem!important}.compras-modal-content input,.compras-modal-content select,.compras-modal-content textarea{font-size:.875rem!important;padding:.625rem!important}.compras-modal-content textarea{min-height:60px!important}.compras-modal-actions{flex-direction:column!important;gap:.75rem!important}.compras-modal-actions button{font-size:.875rem!important;padding:.625rem!important;width:100%!important}}@media (max-width:480px){.compras-modal-header{padding:.875rem!important}.compras-modal-header h2{font-size:1.125rem!important}.compras-modal-content{padding:.875rem!important}.compras-modal-content textarea{min-height:50px!important}}.debe-container{margin:0 auto;max-width:1200px;padding:2rem}.debe-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.debe-header h2{color:#1a1a1a;font-size:1.75rem;font-weight:700;margin:0 0 .5rem}.debe-subtitle{color:#6b7280;font-size:.95rem;margin:0}.add-debt-btn{align-items:center;background-color:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.add-debt-btn:hover{background-color:#d97706;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}.debt-summary-card{grid-gap:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem;padding:1.5rem}.debt-summary-item{align-items:center;display:flex;gap:1rem}.debt-icon{color:#f59e0b;flex-shrink:0}.debt-summary-label{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 .25rem}.debt-summary-value{color:#1a1a1a;font-size:1.5rem;font-weight:700;margin:0}.debt-list-title{color:#374151;font-size:1.25rem;font-weight:600;margin-bottom:1rem}.debt-list{display:flex;flex-direction:column;gap:1rem}.debt-item-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem;transition:all .2s}.debt-item-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.debt-item-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.debt-item-info{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem}.debt-item-time{font-weight:500}.debt-item-total{color:#f59e0b;font-size:1.5rem;font-weight:700}.debt-item-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.debt-item-detail{align-items:center;background-color:#f9fafb;border-radius:8px;display:flex;gap:1rem;padding:.75rem}.item-name{color:#374151;flex:1 1;font-weight:500}.item-quantity{color:#6b7280;font-size:.875rem}.item-price{color:#1a1a1a;font-weight:600;min-width:100px;text-align:right}.debt-item-notes{background-color:#fef3c7;border-radius:8px;color:#92400e;font-size:.875rem;margin-top:.5rem;padding:.75rem}.no-items{color:#9ca3af;font-style:italic;padding:.75rem;text-align:center}.loading-container{padding:4rem 2rem}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-top-color:#f59e0b}.empty-state{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:4rem 2rem;text-align:center}.empty-state svg{color:#d1d5db;margin-bottom:1rem}.empty-state p{color:#6b7280;font-size:1.125rem;margin-bottom:1.5rem}.empty-state-btn{align-items:center;background-color:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.empty-state-btn:hover{background-color:#d97706;transform:translateY(-1px)}.debe-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.debe-modal{background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.debe-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1.5rem}.debe-modal-header h2{color:#1a1a1a;font-size:1.5rem;font-weight:600;margin:0}.close-modal-btn{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.close-modal-btn:hover{background-color:#f3f4f6;color:#1a1a1a}.debe-modal-content{flex:1 1;overflow-y:auto;padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{font-size:.875rem;font-weight:600;margin-bottom:.5rem}.label-hint{color:#6b7280;display:block;font-size:.75rem;font-weight:400;margin-top:.25rem}.form-group input,.form-group textarea{border:1px solid #e5e7eb;border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.form-group input[type=number]{-moz-appearance:textfield}.form-group input:focus,.form-group textarea:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;outline:none}.total-input{background-color:#f9fafb;color:#f59e0b;cursor:not-allowed;font-weight:600}.form-row{grid-template-columns:1fr 1fr}.form-actions{border-top:1px solid #e5e7eb;display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem}.btn-cancel,.btn-submit{border:none;border-radius:8px;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-cancel{background-color:#f3f4f6;color:#374151}.btn-cancel:hover{background-color:#e5e7eb}.btn-submit{background-color:#f59e0b}.btn-submit:hover{background-color:#d97706;box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-1px)}@media (max-width:768px){.debe-container{padding:1rem}.debe-header{flex-direction:column}.debe-header h2{font-size:1.5rem}.add-debt-btn{justify-content:center;width:100%}.debt-summary-card{grid-template-columns:1fr;padding:1rem}.debt-item-header{align-items:flex-start;flex-direction:column;gap:.75rem}.debt-item-total{font-size:1.25rem}.debt-item-detail{flex-wrap:wrap}.item-price{min-width:auto;text-align:left;width:100%}.debe-modal-overlay{padding:1rem}.form-row{grid-template-columns:1fr}}.schedule-admin-container{animation:fadeIn .4s ease-out;padding:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-tab-header{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1.5rem}.header-info h1{color:#111827;font-size:1.875rem;font-weight:800;margin:0 0 .5rem}.header-info p{color:#6b7280;font-size:1rem;margin:0}.save-btn{align-items:center;background:#ef4444;border:none;border-radius:12px;box-shadow:0 4px 12px #ef444440;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:.75rem;padding:.75rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.save-btn:hover:not(:disabled){background:#dc2626;box-shadow:0 6px 16px #ef444459;transform:translateY(-2px)}.save-btn:active:not(:disabled){transform:translateY(0)}.save-btn:disabled{cursor:not-allowed;opacity:.7}.notification{align-items:center;border:1px solid #0000;border-radius:12px;box-shadow:0 10px 25px #0000001a;display:flex;font-weight:600;gap:.75rem;padding:1rem 1.5rem;position:fixed;right:2rem;top:2rem;z-index:1000}.notification.success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.schedule-admin-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 300px}.schedule-card-main{background:#fff;border:1px solid #f3f4f6;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.schedule-table-header{background:#f9fafb;border-bottom:1px solid #f3f4f6;color:#4b5563;display:grid;font-size:.875rem;font-weight:700;grid-template-columns:1fr 140px 1.5fr;letter-spacing:.05em;padding:1.25rem 2rem;text-transform:uppercase}.schedule-rows{display:flex;flex-direction:column}.schedule-row-item{align-items:center;border-bottom:1px solid #f3f4f6;display:grid;grid-template-columns:1fr 140px 1.5fr;padding:1.5rem 2rem;transition:all .2s ease}.schedule-row-item:last-child{border-bottom:none}.schedule-row-item:hover{background:#fbfbfc}.schedule-row-item.disabled{opacity:.8}.col-day{gap:1rem}.col-day,.day-icon{align-items:center;display:flex}.day-icon{background:#fee2e2;border-radius:10px;color:#ef4444;height:36px;justify-content:center;width:36px}.day-name{color:#111827;font-size:1.125rem;font-weight:700}.col-status{align-items:center;display:flex;gap:1rem}.status-label{border-radius:9999px;font-size:.875rem;font-weight:700;padding:.25rem .75rem}.status-label.open{background:#ecfdf5;color:#059669}.status-label.closed{background:#fef2f2;color:#ef4444}.col-times{position:relative}.col-times,.time-inputs{align-items:center;display:flex}.time-inputs{gap:1rem}.time-field{position:relative}.input-icon{color:#9ca3af;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.time-field input{background:#fff;border:1px solid #e5e7eb;border-radius:10px;color:#374151;font-family:inherit;font-size:1rem;padding:.625rem .75rem .625rem 2.5rem;transition:border-color .2s}.time-field input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a;outline:none}.time-field input:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.time-separator{color:#9ca3af;font-weight:600}.closed-overlay{color:#b91c1c;font-size:.8125rem;font-weight:600;margin-top:.5rem}.schedule-festivos{border-top:1px solid #f3f4f6;margin-top:.5rem;padding-top:1.5rem}.schedule-festivos-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.schedule-festivos-title{align-items:center;color:#111827;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem}.schedule-festivos-title svg{color:#f59e0b}.schedule-festivos-add{align-items:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:10px;color:#b45309;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:background .2s,color .2s}.schedule-festivos-add:hover{background:#fde68a;color:#92400e}.schedule-festivos-desc{color:#6b7280;font-size:.8125rem;line-height:1.4;margin:0 0 1rem}.schedule-festivos-empty{background:#f9fafb;border-radius:12px;color:#9ca3af;font-size:.875rem;font-style:italic;padding:1rem}.schedule-festivos-rows{display:flex;flex-direction:column;gap:.75rem}.schedule-festivos-row{align-items:flex-start;background:#f9fafb;border:1px solid #f3f4f6;border-radius:12px;display:flex;gap:1rem;padding:1rem}.schedule-festivos-row-fields{align-items:flex-end;display:flex;flex:1 1;flex-wrap:wrap;gap:1rem}.festivo-field{display:flex;flex-direction:column;gap:.25rem}.festivo-field label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.festivo-field input[type=date],.festivo-field input[type=text],.festivo-field input[type=time]{border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;min-width:120px;padding:.5rem .75rem}.festivo-name input{min-width:140px}.festivo-toggle{align-items:center;flex-direction:row;gap:.5rem}.festivo-toggle .status-label.small{font-size:.75rem;padding:.2rem .5rem}.schedule-festivos-remove{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#ef4444;cursor:pointer;flex-shrink:0;padding:.5rem;transition:background .2s}.schedule-festivos-remove:hover{background:#fee2e2}.schedule-breaks{border-top:1px solid #f3f4f6;margin-top:1rem;padding-top:1.5rem}.schedule-breaks-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.schedule-breaks-title{align-items:center;color:#111827;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem}.schedule-breaks-title svg{color:#059669}.schedule-breaks-actions{align-items:center;display:flex;gap:.75rem}.save-btn-breaks{font-size:.875rem;padding:.5rem 1rem}.festivo-field select{background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.875rem;min-width:140px;padding:.5rem .75rem}.schedule-breaks-row .festivo-field{min-width:0}@media (max-width:900px){.schedule-breaks-header{align-items:stretch;flex-direction:column;gap:.75rem}.schedule-breaks-actions,.schedule-breaks-title{justify-content:flex-start}.schedule-breaks-actions{flex-wrap:wrap}.schedule-breaks-actions .save-btn-breaks,.schedule-breaks-actions .schedule-festivos-add{flex:1 1;min-width:140px}}@media (max-width:768px){.schedule-festivos-header{align-items:stretch;flex-direction:column;gap:.75rem}.schedule-festivos-header .schedule-festivos-add{align-self:flex-start}.schedule-breaks-row,.schedule-festivos-row{align-items:stretch;flex-direction:column;gap:1rem}.schedule-breaks-row .schedule-festivos-row-fields,.schedule-festivos-row .schedule-festivos-row-fields{align-items:stretch;flex-direction:column}.schedule-breaks-row .festivo-field,.schedule-festivos-row .festivo-field{min-width:0}.schedule-breaks-row .festivo-field input,.schedule-breaks-row .festivo-field select,.schedule-festivos-row .festivo-field input{min-width:0;width:100%}.schedule-breaks-row .schedule-festivos-remove,.schedule-festivos-remove{align-self:flex-end}}@media (max-width:480px){.schedule-breaks-actions{flex-direction:column}.schedule-breaks-actions .save-btn-breaks,.schedule-breaks-actions .schedule-festivos-add{justify-content:center;width:100%}}.schedule-tips{display:flex;flex-direction:column;gap:1.5rem}.tip-card{background:#fff;border:1px solid #f3f4f6;border-radius:20px;box-shadow:0 4px 6px -1px #0000000d;padding:1.5rem}.tip-icon{align-items:center;background:#fff7ed;border-radius:12px;color:#f59e0b;display:flex;height:48px;justify-content:center;margin-bottom:1.25rem;width:48px}.tip-card h3{color:#111827;font-size:1.125rem;font-weight:700;margin:0 0 .5rem}.tip-card p{color:#6b7280;font-size:.875rem;line-height:1.5;margin:0}.switch{display:inline-block;height:24px;position:relative;width:44px}.switch input{height:0;opacity:0;width:0}.slider{background-color:#e5e7eb;bottom:0;cursor:pointer;left:0;right:0;top:0}.slider,.slider:before{position:absolute;transition:.4s}.slider:before{background-color:#fff;bottom:3px;box-shadow:0 2px 4px #0000001a;content:"";height:18px;left:3px;width:18px}input:checked+.slider{background-color:#10b981}input:focus+.slider{box-shadow:0 0 1px #10b981}input:checked+.slider:before{transform:translateX(20px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.spinner-small{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@media (max-width:1024px){.schedule-admin-content{grid-template-columns:1fr}.schedule-tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.schedule-table-header{display:none}.schedule-row-item{gap:1.5rem;grid-template-columns:1fr;padding:2rem}.col-status{justify-content:flex-start}.time-inputs{justify-content:space-between;width:100%}.time-field{flex:1 1}.time-field input{width:100%}.schedule-card-main{padding-left:1rem;padding-right:1rem}}:root{--bd-red:#e11d1d;--bd-red-dark:#b91c1c;--bd-red-light:#ef4444;--bd-red-pale:#fef2f2;--bd-red-pale2:#fee2e2;--bd-red-glow:#e11d1d2e;--bd-dark:#111827;--bd-dark-2:#1f2937;--bd-gray-text:#6b7280;--bd-gray-muted:#9ca3af;--bd-gray-border:#e5e7eb;--bd-gray-bg:#f9fafb;--bd-gray-100:#f3f4f6;--bd-white:#fff;--bd-shadow-sm:0 1px 3px #00000012,0 1px 2px #0000000a;--bd-shadow-md:0 4px 16px #00000014;--bd-shadow-lg:0 12px 40px #0000001a,0 4px 12px #0000000f;--bd-shadow-red:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;--bd-shadow-red-lg:0 12px 40px #e11d1d4d;--bd-radius-sm:8px;--bd-radius-md:12px;--bd-radius-lg:18px;--bd-radius-xl:24px}.barber-dashboard{-webkit-font-smoothing:antialiased;background:linear-gradient(160deg,#f8f9fc,#f3f4f8 50%,#f8f9fc);color:#111827;color:var(--bd-dark);font-family:Inter,-apple-system,sans-serif;min-height:100vh}.barber-header{background:#fff;background:var(--bd-white);border-bottom:3px solid #e11d1d;border-bottom:3px solid var(--bd-red);box-shadow:0 1px 0 #e5e7eb,0 2px 12px #0000000a;box-shadow:0 1px 0 var(--bd-gray-border),0 2px 12px #0000000a;justify-content:space-between;padding:.9rem 2.5rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.barber-header,.header-left,.logo{align-items:center;display:flex}.logo{color:#111827;color:var(--bd-dark);font-family:Montserrat,sans-serif;font-size:1.45rem;font-weight:900;gap:.65rem;letter-spacing:-.03em;text-transform:uppercase}.logo svg{color:#e11d1d;color:var(--bd-red);filter:drop-shadow(0 0 6px rgba(225,29,29,.3))}.header-right{gap:1.5rem}.barber-profile,.header-right{align-items:center;display:flex}.barber-profile{gap:.75rem}.profile-avatar{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light) 0,var(--bd-red-dark) 100%);border:2.5px solid #ffffff4d;border-radius:50%;box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff;display:flex;flex-shrink:0;font-size:.9rem;font-weight:800;height:44px;justify-content:center;width:44px}.profile-info{display:flex;flex-direction:column;gap:.1rem}.profile-name{color:#111827;color:var(--bd-dark);font-size:.875rem;font-weight:700;letter-spacing:-.01em}.profile-specialty{color:#9ca3af;color:var(--bd-gray-muted);font-size:.72rem;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));border:none;border-radius:8px;border-radius:var(--bd-radius-sm);box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1.1rem;transition:all .25s ease}.logout-btn:hover{box-shadow:0 12px 40px #e11d1d4d;box-shadow:var(--bd-shadow-red-lg);transform:translateY(-2px)}.barber-content{margin:0 auto;max-width:min(1720px,96vw);padding:2.5rem 1.5rem}.welcome-section{background:#fff;background:var(--bd-white);border-left:4px solid #e11d1d;border-left:4px solid var(--bd-red);border-radius:24px;border-radius:var(--bd-radius-xl);box-shadow:0 4px 16px #00000014;box-shadow:var(--bd-shadow-md);margin-bottom:2.25rem;overflow:hidden;padding:2rem 2.5rem;position:relative}.welcome-section:after{background:radial-gradient(circle,#e11d1d0d 0,#0000 70%);border-radius:50%;content:"";height:200px;pointer-events:none;position:absolute;right:-40px;top:-40px;width:200px}.welcome-section h1{color:#111827;color:var(--bd-dark);font-family:Montserrat,sans-serif;font-size:1.85rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:0 0 .4rem}.barber-name-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));-webkit-background-clip:text;background-clip:text}.welcome-section p{color:#6b7280;color:var(--bd-gray-text);font-size:.95rem;font-weight:400;margin:0}.barber-kpi-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2rem}.barber-kpi-card{align-items:center;background:#fff;background:var(--bd-white);border:1.5px solid #0000;border-radius:18px;border-radius:var(--bd-radius-lg);box-shadow:0 4px 16px #00000014;box-shadow:var(--bd-shadow-md);display:flex;gap:1.25rem;overflow:hidden;padding:1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.barber-kpi-card:before{background:linear-gradient(90deg,#ef4444,#b91c1c);background:linear-gradient(90deg,var(--bd-red-light),var(--bd-red-dark));border-radius:18px 18px 0 0;border-radius:var(--bd-radius-lg) var(--bd-radius-lg) 0 0;content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.barber-kpi-card:hover{border-color:#fee2e2;border-color:var(--bd-red-pale2);box-shadow:0 12px 40px #0000001a,0 4px 12px #0000000f;box-shadow:var(--bd-shadow-lg);transform:translateY(-4px)}.barber-kpi-card:hover:before{opacity:1}.barber-kpi-icon{align-items:center;border-radius:14px;display:flex;flex-shrink:0;height:56px;justify-content:center;transition:transform .3s ease;width:56px}.barber-kpi-card:hover .barber-kpi-icon{transform:scale(1.08)}.barber-kpi-icon.appointments{background:linear-gradient(135deg,#e11d1d1f,#e11d1d0d);border:1.5px solid #e11d1d26;color:#e11d1d;color:var(--bd-red)}.barber-kpi-icon.revenue{background:linear-gradient(135deg,#3b82f61f,#6366f10f);border:1.5px solid #3b82f626;color:#3b82f6}.barber-kpi-icon.clients{background:linear-gradient(135deg,#10b9811f,#22c55e0f);border:1.5px solid #10b98126;color:#10b981}.barber-kpi-icon.rating{background:linear-gradient(135deg,#f59e0b26,#fbbf2412);border:1.5px solid #f59e0b33;color:#f59e0b}.barber-kpi-content{flex:1 1;min-width:0}.barber-kpi-label{color:#6b7280;color:var(--bd-gray-text);display:block;font-size:.78rem;font-weight:600;letter-spacing:.06em;margin-bottom:.4rem;text-transform:uppercase}.barber-kpi-value{color:#111827;color:var(--bd-dark);display:block;font-family:Montserrat,sans-serif;font-size:2rem;font-weight:900;letter-spacing:-.04em;line-height:1;margin-bottom:.2rem}.barber-kpi-detail{color:#9ca3af;color:var(--bd-gray-muted);display:block;font-size:.75rem;font-weight:400}.appointments-section{background:#fff;background:var(--bd-white);border:1px solid #e5e7eb;border:1px solid var(--bd-gray-border);border-radius:24px;border-radius:var(--bd-radius-xl);box-shadow:0 4px 16px #00000014;box-shadow:var(--bd-shadow-md);padding:2rem 2.25rem;width:100%}.appointments-header{align-items:center;display:flex;justify-content:space-between}.appointments-section-title{color:#111827;color:var(--bd-dark);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.appointments-tabs{background:#f3f4f6;background:var(--bd-gray-100);border-radius:12px;border-radius:var(--bd-radius-md);display:flex;gap:.375rem;padding:.3rem}.appointments-tabs .tab-btn{background:#0000;border:none;border-radius:8px;border-radius:var(--bd-radius-sm);color:#6b7280;color:var(--bd-gray-text);cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.005em;padding:.65rem 1.5rem;transition:all .25s ease}.appointments-tabs .tab-btn:hover{background:#ffffffb3;color:#111827;color:var(--bd-dark)}.add-appointment-btn,.appointments-tabs .tab-btn.active{background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff}.add-appointment-btn{align-items:center;border:none;border-radius:12px;border-radius:var(--bd-radius-md);cursor:pointer;display:flex;font-size:.875rem;font-weight:700;gap:.5rem;letter-spacing:.01em;padding:.65rem 1.4rem;transition:all .25s ease}.add-appointment-btn:hover{box-shadow:0 12px 40px #e11d1d4d;box-shadow:var(--bd-shadow-red-lg);transform:translateY(-2px)}.create-appointment-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));border:none;border-radius:12px;border-radius:var(--bd-radius-md);box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:700;gap:.5rem;padding:.65rem 1.4rem;transition:all .25s ease}.create-appointment-btn:hover{box-shadow:0 12px 40px #e11d1d4d;box-shadow:var(--bd-shadow-red-lg);transform:translateY(-2px)}.appointments-filters-bar{align-items:center;background:#f9fafb;background:var(--bd-gray-bg);border:1px solid #e5e7eb;border:1px solid var(--bd-gray-border);border-radius:12px;border-radius:var(--bd-radius-md);display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1.1rem 1.25rem}.appointments-search-wrap{align-items:center;display:flex;flex:1 1;gap:.5rem;min-width:220px;position:relative}.appointments-search-icon{color:#9ca3af;color:var(--bd-gray-muted);left:.9rem;pointer-events:none;position:absolute}.appointments-search-input{background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);color:#1f2937;color:var(--bd-dark-2);font-family:inherit;font-size:.875rem;max-width:340px;padding:.65rem .9rem .65rem 2.5rem;transition:border-color .2s,box-shadow .2s;width:100%}.appointments-search-input::placeholder{color:#9ca3af;color:var(--bd-gray-muted)}.appointments-search-input:focus{background:#fff;background:var(--bd-white);border-color:#e11d1d;border-color:var(--bd-red);box-shadow:0 0 0 3px #e11d1d1a;outline:none}.appointments-days-tabs{display:flex;flex-wrap:wrap;gap:.35rem}.appointments-day-tab{background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);color:#6b7280;color:var(--bd-gray-text);cursor:pointer;font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:.45rem .8rem;transition:all .2s ease}.appointments-day-tab:hover{background:#f3f4f6;background:var(--bd-gray-100);border-color:#d1d5db;color:#111827;color:var(--bd-dark)}.appointments-day-tab.active{background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));border-color:#b91c1c;border-color:var(--bd-red-dark);box-shadow:0 2px 8px #e11d1d33;color:#fff}.appointments-table-wrap{-webkit-overflow-scrolling:touch;background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:18px;border-radius:var(--bd-radius-lg);box-shadow:0 1px 3px #00000012,0 1px 2px #0000000a;box-shadow:var(--bd-shadow-sm);overflow-x:auto;overflow-y:visible}.appointments-table-scroll-hint{color:#6b7280;color:var(--bd-gray-text);font-size:.8rem;margin:.75rem 0 0;padding:.5rem 0;text-align:center}.appointments-table{border-collapse:collapse;font-size:.875rem;min-width:1100px;width:100%}.appointments-table thead{background:linear-gradient(135deg,#fee2e2,#fef2f2);background:linear-gradient(135deg,var(--bd-red-pale2),var(--bd-red-pale));border-bottom:2px solid #e11d1d;border-bottom:2px solid var(--bd-red)}.appointments-table th{color:#111827;color:var(--bd-dark);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.95rem 1rem;text-align:left;text-transform:uppercase;white-space:nowrap}.appointments-table td{color:#1f2937;color:var(--bd-dark-2);padding:.9rem 1rem;vertical-align:middle}.appointments-table .col-cliente,.appointments-table td.td-client,.appointments-table th.th-cliente{min-width:130px}.appointments-table .col-telefono,.appointments-table td.td-telefono,.appointments-table th.th-telefono{min-width:118px}.appointments-table .col-correo,.appointments-table td.td-email,.appointments-table th.th-correo{min-width:200px}.appointments-table .col-estado,.appointments-table td.td-estado,.appointments-table th.th-estado{min-width:105px;padding-left:1rem;padding-right:1rem}.appointments-table .col-fecha,.appointments-table td.td-fecha,.appointments-table th.th-fecha{min-width:115px;padding-left:1rem;padding-right:1rem;white-space:nowrap}.appointments-table .col-servicio,.appointments-table td.td-servicio,.appointments-table th.th-servicio{min-width:150px;padding-left:1rem;padding-right:1rem;word-break:break-word}.appointments-table .col-hora,.appointments-table td.td-hora,.appointments-table th.th-hora{min-width:62px;padding-left:1rem;padding-right:1rem;white-space:nowrap}.appointments-table .col-duracion,.appointments-table td.td-duracion,.appointments-table th.th-duracion{min-width:95px;padding-left:1rem;padding-right:1rem;white-space:nowrap}.appointments-table .col-precio,.appointments-table td.td-precio,.appointments-table th.th-precio{min-width:90px;padding-left:1rem;padding-right:1rem;white-space:nowrap}.appointments-table .col-acciones,.appointments-table td.td-actions,.appointments-table th.th-acciones{min-width:172px;padding-left:.75rem;padding-right:1rem;white-space:nowrap}.appointments-table tbody tr{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--bd-gray-border);transition:background .2s ease}.appointments-table tbody tr:hover{background:#f9fafb;background:var(--bd-gray-bg)}.appointments-table tbody tr:last-child{border-bottom:none}.appointments-table .td-client .table-client-name{color:#111827;color:var(--bd-dark);font-weight:700;word-break:break-word}.appointments-table .td-email{max-width:280px;overflow-wrap:break-word;word-break:break-all}.appointments-table .td-precio{color:#e11d1d;color:var(--bd-red);font-family:Montserrat,sans-serif;font-weight:700}.table-status-badge{border-radius:999px;display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.25rem .6rem;white-space:nowrap}.appointments-table .td-actions{white-space:nowrap}.td-actions .duration-edit-container{align-items:center;display:inline-flex;gap:6px}.td-actions .duration-display{align-items:center;display:inline-flex;gap:4px}.td-actions .duration-display .edit-icon{opacity:.6}.td-actions .duration-display:hover .edit-icon{opacity:1}.action-btn-table{align-items:center;border:none;border-radius:8px;border-radius:var(--bd-radius-sm);cursor:pointer;display:inline-flex;height:34px;justify-content:center;margin-right:6px;padding:0;transition:transform .2s,box-shadow .2s;width:34px}.action-btn-table:last-child{margin-right:0}.action-btn-table:hover{transform:scale(1.08)}.action-btn-table.complete{background:#10b981;color:#fff}.action-btn-table.cancel{background:#f59e0b;color:#fff}.action-btn-table.edit{background:#3b82f6;color:#fff}.action-btn-table.delete{background:#ef4444;color:#fff}.appointments-table-mobile{min-width:0;width:100%}.appointments-table-mobile .td-client,.appointments-table-mobile th:first-child{text-align:left}.appointments-table-mobile .td-client .table-client-name{font-size:.875rem;font-weight:700;text-align:left}.appointments-table-mobile .table-status-badge{font-size:.7rem;padding:.22rem .5rem}.appointments-table-mobile td,.appointments-table-mobile th{font-size:.8125rem;padding:.65rem .5rem;vertical-align:middle}.appointments-table-mobile .td-fecha-mobile{min-width:5rem;white-space:nowrap}.appointments-table-mobile .td-fecha-mobile-date{color:#111827;color:var(--bd-dark);display:block;font-weight:600;line-height:1.3}.appointments-table-mobile .td-fecha-mobile-time{color:#6b7280;color:var(--bd-gray-text);display:block;font-size:.75rem;margin-top:.15rem}.appointments-table-mobile .td-client .table-client-name{line-height:1.35;max-width:10rem;word-break:break-word}.appointments-table-mobile .td-servicio{font-size:.8rem;max-width:6rem;word-break:break-word}.action-btn-ver{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));border:none;border-radius:8px;border-radius:var(--bd-radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:.35rem;padding:.4rem .65rem;white-space:nowrap}.action-btn-ver:hover{opacity:.95;transform:scale(1.02)}.mobile-detail-row{background:#f9fafb;background:var(--bd-gray-bg)}.mobile-detail-cell{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--bd-gray-border);padding:0;vertical-align:top}.mobile-detail-content{padding:1rem .75rem 1.25rem}.mobile-detail-grid{grid-gap:.6rem 1rem;display:grid;gap:.6rem 1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.mobile-detail-item{display:flex;flex-direction:column;gap:.15rem}.mobile-detail-label{color:#9ca3af;color:var(--bd-gray-muted);font-size:.7rem;font-weight:700;text-transform:uppercase}.mobile-detail-value{color:#1f2937;color:var(--bd-dark-2);font-size:.85rem;font-weight:600}.mobile-detail-value.td-price{color:#e11d1d;color:var(--bd-red)}.mobile-detail-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--bd-gray-border);display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem}.mobile-detail-actions .action-btn-table{align-items:center;display:inline-flex;flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;font-size:.75rem;gap:.35rem;justify-content:center;margin-right:0;min-width:100px;padding:.5rem}.mobile-detail-actions .action-btn-table svg{flex-shrink:0;height:16px;width:16px}@media (max-width:1024px){.appointments-table-wrap{-webkit-overflow-scrolling:touch;margin:0 -.25rem;overflow-x:auto;overflow-y:visible;padding:0 .25rem}.appointments-table:not(.appointments-table-mobile){min-width:960px}.appointments-table{display:table;width:100%}.appointments-table thead{display:table-header-group}.appointments-table tbody{display:table-row-group}.appointments-table tr{display:table-row}.appointments-table td,.appointments-table th{box-sizing:border-box;display:table-cell;font-size:.8rem;padding:.7rem .75rem}}.appointments-list{display:flex;flex-direction:column;gap:1.25rem}.appointment-card{background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:18px;border-radius:var(--bd-radius-lg);overflow:hidden;padding:1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.appointment-card:before{background:linear-gradient(180deg,#ef4444,#b91c1c);background:linear-gradient(180deg,var(--bd-red-light),var(--bd-red-dark));border-radius:18px 0 0 18px;border-radius:var(--bd-radius-lg) 0 0 var(--bd-radius-lg);bottom:0;content:"";left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:4px}.appointment-card:hover{border-color:#fee2e2;border-color:var(--bd-red-pale2);box-shadow:0 8px 32px #00000014,0 0 0 1px #e11d1d0f;transform:translateY(-3px)}.appointment-card:hover:before{opacity:1}.appointment-header{align-items:flex-start;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--bd-gray-100);display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem}.client-avatar{align-items:center;background:linear-gradient(135deg,#e11d1d1f,#e11d1d0f);border:2px solid #e11d1d26;border-radius:50%;color:#e11d1d;color:var(--bd-red);display:flex;flex-shrink:0;font-family:Montserrat,sans-serif;font-size:.875rem;font-weight:800;height:52px;justify-content:center;letter-spacing:-.02em;width:52px}.client-info{flex:1 1;min-width:0}.client-name{color:#111827;color:var(--bd-dark);font-family:Montserrat,sans-serif;font-size:1.05rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.client-contact{display:flex;flex-direction:column;gap:.2rem}.contact-item{align-items:center;color:#6b7280;color:var(--bd-gray-text);display:flex;font-size:.82rem;font-weight:500;gap:.45rem}.contact-item svg{color:#9ca3af;color:var(--bd-gray-muted);flex-shrink:0}.status-badge{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.3rem .85rem;position:absolute;right:1.5rem;text-transform:uppercase;top:1.5rem}.appointment-details{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:1.5rem}.detail-item{align-items:flex-start;background:#f9fafb;background:var(--bd-gray-bg);border:1px solid #0000;border-radius:8px;border-radius:var(--bd-radius-sm);display:flex;gap:.65rem;padding:.85rem;transition:all .2s ease}.detail-item:hover{background:#fff;background:var(--bd-white);border-color:#e5e7eb;border-color:var(--bd-gray-border);box-shadow:0 1px 3px #00000012,0 1px 2px #0000000a;box-shadow:var(--bd-shadow-sm)}.detail-icon{color:#e11d1d;color:var(--bd-red);flex-shrink:0;margin-top:.1rem;opacity:.85}.detail-item>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.detail-label{color:#9ca3af;color:var(--bd-gray-muted);font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.detail-value{color:#111827;color:var(--bd-dark);font-size:.875rem;font-weight:700;letter-spacing:-.01em}.detail-value.price{color:#e11d1d;color:var(--bd-red);font-family:Montserrat,sans-serif;font-size:.95rem}.duration-display{align-items:center;display:flex;gap:6px;transition:all .2s}.duration-display:hover .edit-icon{opacity:1}.edit-icon{color:#6b7280;color:var(--bd-gray-text);opacity:0;transition:opacity .2s}.duration-edit-container{align-items:center;display:flex;gap:6px}.duration-input{background:#fff;background:var(--bd-white);border:1.5px solid #e11d1d;border:1.5px solid var(--bd-red);border-radius:6px;color:#111827;color:var(--bd-dark);font-family:inherit;font-size:.875rem;padding:3px 8px;width:60px}.duration-input:focus{box-shadow:0 0 0 3px #e11d1d1a;outline:none}.save-duration-btn{align-items:center;background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:5px;transition:background .2s}.save-duration-btn:hover{background:#059669}.appointment-actions{border-top:1px solid #f3f4f6;border-top:1px solid var(--bd-gray-100);display:flex;flex-wrap:wrap;gap:.7rem;padding-top:1.25rem}.appointment-actions-secondary{margin-top:.5rem}.action-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--bd-radius-sm);cursor:pointer;display:flex;flex:1 1;font-size:.85rem;font-weight:600;gap:.45rem;justify-content:center;letter-spacing:.01em;min-width:0;padding:.7rem 1rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.action-btn.complete{background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff}.action-btn.complete:hover{box-shadow:0 12px 40px #e11d1d4d;box-shadow:var(--bd-shadow-red-lg);transform:translateY(-2px)}.action-btn.cancel{background:#f59e0b1a;border:1.5px solid #f59e0b4d;color:#d97706}.action-btn.cancel:hover{background:#f59e0b2e;border-color:#f59e0b;transform:translateY(-1px)}.action-btn.edit{background:#3b82f614;border:1.5px solid #3b82f640;color:#2563eb}.action-btn.edit:hover{background:#3b82f626;border-color:#3b82f6;transform:translateY(-1px)}.action-btn.delete{background:#e11d1d0f;border:1.5px solid #e11d1d33;color:#b91c1c;color:var(--bd-red-dark)}.action-btn.delete:hover{background:#e11d1d1f;border-color:#e11d1d;border-color:var(--bd-red);transform:translateY(-1px)}.empty-appointments{color:#6b7280;color:var(--bd-gray-text);padding:4.5rem 2rem;text-align:center}.empty-appointments svg{color:#e5e7eb;color:var(--bd-gray-border);margin-bottom:1.25rem;opacity:.6}.empty-appointments p{color:#6b7280;color:var(--bd-gray-text);font-size:1rem;font-weight:500;margin:0}.appointments-pagination{align-items:center;display:flex;flex-direction:column;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:.5rem;padding:1rem 0}.appointments-pagination .pagination-btn{background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);color:#111827;color:var(--bd-dark);cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem;transition:background .2s,border-color .2s,color .2s}.appointments-pagination .pagination-btn:hover:not(:disabled){background:#fef2f2;background:var(--bd-red-pale);border-color:#e11d1d;border-color:var(--bd-red);color:#e11d1d;color:var(--bd-red)}.appointments-pagination .pagination-btn:disabled{cursor:not-allowed;opacity:.5}.appointments-pagination .pagination-info{color:#6b7280;color:var(--bd-gray-text);font-size:.9rem;font-weight:500;text-align:center;width:100%}.appointments-pagination .pagination-controls-row{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;justify-content:center;width:100%}.appointments-pagination .pagination-pages{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center}.appointments-pagination .pagination-page-num{background:#fff;background:var(--bd-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);color:#111827;color:var(--bd-dark);cursor:pointer;font-size:.875rem;font-weight:600;height:2.25rem;min-width:2.25rem;padding:0 .5rem;transition:background .2s,border-color .2s,color .2s}.appointments-pagination .pagination-page-num:hover:not(:disabled){background:#fef2f2;background:var(--bd-red-pale);border-color:#e11d1d;border-color:var(--bd-red);color:#e11d1d;color:var(--bd-red)}.appointments-pagination .pagination-page-num:disabled{cursor:not-allowed;opacity:.5}.appointments-pagination .pagination-page-num.active{background:#e11d1d;background:var(--bd-red);border-color:#e11d1d;border-color:var(--bd-red);color:#fff}.appointments-pagination .pagination-ellipsis{color:#6b7280;color:var(--bd-gray-text);font-weight:600;padding:0 .25rem;-webkit-user-select:none;user-select:none}.appointments-pagination-top{margin-bottom:.35rem;padding-top:.25rem}.appointments-pagination-bottom{margin-top:.35rem;padding-bottom:.25rem}.loading-container{align-items:center;background:#f9fafb;background:var(--bd-gray-bg);display:flex;flex-direction:column;gap:1.25rem;justify-content:center;min-height:100vh}.loading-spinner{animation:spin .9s linear infinite;border:4px solid #f3f4f6;border-top-color:#e11d1d;border:4px solid var(--bd-gray-100);border-radius:50%;border-top-color:var(--bd-red);height:48px;width:48px}.loading-appointments{align-items:center;color:#6b7280;color:var(--bd-gray-text);display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3.5rem 2rem}.loading-spinner-small{animation:spin .8s linear infinite;border:3px solid #f3f4f6;border-top-color:#e11d1d;border:3px solid var(--bd-gray-100);border-radius:50%;border-top-color:var(--bd-red);height:30px;width:30px}.loading-appointments p{color:#9ca3af;color:var(--bd-gray-muted);font-size:.875rem;font-weight:500;margin:0}@keyframes spin{to{transform:rotate(1turn)}}.modal-overlay{align-items:center;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:#0000008c;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.confirm-modal,.modal{animation:modalIn .28s cubic-bezier(.34,1.56,.64,1);background:#fff;background:var(--bd-white);border:1px solid #ffffff80;border-radius:24px;border-radius:var(--bd-radius-xl);box-shadow:0 32px 80px #0003,0 8px 24px #0000001a;max-height:90vh;max-width:500px;overflow-y:auto;padding:2.25rem;width:90%}@keyframes modalIn{0%{opacity:0;transform:translateY(-16px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{color:#111827;color:var(--bd-dark);font-family:Montserrat,sans-serif;font-size:1.4rem;font-weight:800;letter-spacing:-.02em;margin:0 0 1.5rem}.confirm-modal-header{margin-bottom:1.25rem;text-align:center}.confirm-modal-header h3{color:#111827;color:var(--bd-dark);font-family:Montserrat,sans-serif;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:0}.confirm-modal-body{margin-bottom:2rem}.confirm-modal-body p{color:#6b7280;color:var(--bd-gray-text);font-size:.95rem;line-height:1.65;margin:0;text-align:center}.confirm-modal-actions{display:flex;gap:.85rem;justify-content:center}.view-detail-modal .confirm-modal-header{padding-right:2.5rem;position:relative;text-align:left}.view-detail-close{align-items:center;background:#f3f4f6;background:var(--bd-gray-100);border:none;border-radius:8px;border-radius:var(--bd-radius-sm);color:#6b7280;color:var(--bd-gray-text);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;position:absolute;right:0;top:-.25rem;transition:background .2s,color .2s;width:32px}.view-detail-close:hover{background:#e5e7eb;background:var(--bd-gray-border);color:#111827;color:var(--bd-dark)}.view-detail-body{padding:0 0 .5rem}.view-detail-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr;margin-bottom:1.25rem}.view-detail-item{display:flex;flex-direction:column;gap:.2rem}.view-detail-label{color:#9ca3af;color:var(--bd-gray-muted);font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.view-detail-value{color:#1f2937;color:var(--bd-dark-2);font-size:.9rem;font-weight:600}.view-detail-value.td-price{color:#e11d1d;color:var(--bd-red)}.view-detail-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--bd-gray-border);display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem}.view-detail-actions .action-btn-table{align-items:center;display:inline-flex;flex-basis:calc(50% - 0.25rem);flex-grow:1;flex-shrink:1;font-size:.75rem;gap:.35rem;justify-content:center;margin-right:0;min-width:100px;padding:.5rem}.view-detail-actions .action-btn-table svg{flex-shrink:0;height:16px;width:16px}.confirm-btn-cancel{background:#f3f4f6;background:var(--bd-gray-100);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);color:#6b7280;color:var(--bd-gray-text);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:.75rem 1.6rem;transition:all .2s ease}.confirm-btn-cancel:hover{background:#e5e7eb;background:var(--bd-gray-border);color:#111827;color:var(--bd-dark);transform:translateY(-1px)}.confirm-btn-complete{background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark));border:none;border-radius:8px;border-radius:var(--bd-radius-sm);box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:700;padding:.75rem 1.6rem;transition:all .25s ease}.confirm-btn-complete:hover{box-shadow:0 12px 40px #e11d1d4d;box-shadow:var(--bd-shadow-red-lg);transform:translateY(-2px)}.confirm-btn-complete:disabled{box-shadow:none;cursor:not-allowed;opacity:.5;transform:none}.confirm-btn-cancel-action{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:8px;border-radius:var(--bd-radius-sm);box-shadow:0 4px 12px #f59e0b40;color:#fff;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:700;padding:.75rem 1.6rem;transition:all .25s ease}.confirm-btn-cancel-action:hover{box-shadow:0 8px 24px #f59e0b66;transform:translateY(-2px)}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-group{margin-bottom:1.1rem}.form-group label{color:#1f2937;color:var(--bd-dark-2);display:block;font-size:.8rem;margin-bottom:.4rem}.form-group input,.form-group select,.form-group textarea{background:var(--bd-white);border:1.5px solid var(--bd-gray-border);border-radius:8px;border-radius:var(--bd-radius-sm);box-sizing:border-box;color:var(--bd-dark);font-size:.875rem;padding:.7rem .9rem;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#e11d1d;border-color:var(--bd-red)}.form-group textarea{min-height:70px}.modal-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--bd-gray-border);gap:.85rem;justify-content:flex-end;margin-top:1.75rem;padding-top:1.5rem}.modal-actions button{border:none;border-radius:8px;border-radius:var(--bd-radius-sm);cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .25s ease}.modal-actions button[type=button]{background:#f3f4f6;background:var(--bd-gray-100);border:1.5px solid #e5e7eb;border:1.5px solid var(--bd-gray-border);color:#6b7280;color:var(--bd-gray-text)}.modal-actions button[type=button]:hover{background:#e5e7eb;background:var(--bd-gray-border)}.submit-btn{background:linear-gradient(135deg,#ef4444,#b91c1c)!important;background:linear-gradient(135deg,var(--bd-red-light),var(--bd-red-dark))!important;box-shadow:0 6px 24px #e11d1d38,0 2px 6px #e11d1d1a;box-shadow:var(--bd-shadow-red);color:#fff!important}.submit-btn:hover{box-shadow:0 12px 40px #e11d1d4d!important;box-shadow:var(--bd-shadow-red-lg)!important;transform:translateY(-1px)}.book-appointment-modal .book-modal-step{padding:0 .25rem .5rem}.book-modal-subtitle{color:#6b7280;color:var(--bd-gray-text);font-size:.875rem;font-weight:500;margin-bottom:1rem}.book-services-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-bottom:1rem}.book-service-card{align-items:center;background:#fff;background:var(--bd-white);border:2px solid #e5e7eb;border:2px solid var(--bd-gray-border);border-radius:12px;border-radius:var(--bd-radius-md);cursor:pointer;display:flex;flex-direction:column;gap:.4rem;justify-content:flex-start;padding:1.1rem .85rem;transition:all .25s ease}.book-service-card.selected,.book-service-card:hover{background:#fef2f2;background:var(--bd-red-pale);border-color:#e11d1d;border-color:var(--bd-red);box-shadow:0 4px 16px #e11d1d1f;transform:translateY(-2px)}.book-service-name{word-wrap:break-word;color:#111827;color:var(--bd-dark);display:block;font-size:.9375rem;font-weight:700;line-height:1.35;overflow-wrap:break-word;text-align:center;width:100%}.book-service-price{color:#e11d1d;color:var(--bd-red);font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:800}.book-service-duration{color:#9ca3af;color:var(--bd-gray-muted);font-size:.75rem;font-weight:500}.book-form .time-slots-grid{grid-gap:.4rem;display:grid;gap:.4rem;grid-template-columns:repeat(auto-fill,minmax(68px,1fr));max-height:280px;overflow-y:auto;padding:.25rem}.book-appointment-modal .edit-appointment-form.book-form,.edit-appointment-modal .edit-appointment-form{padding:0 .25rem .5rem}.success-message{align-items:center;animation:toastIn .35s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#059669,#10b981);border:1px solid #fff3;border-radius:12px;border-radius:var(--bd-radius-md);box-shadow:0 8px 32px #10b98159,0 2px 8px #0000001a;color:#fff;display:flex;font-size:.875rem;font-weight:600;gap:.75rem;padding:1rem 1.6rem;position:fixed;right:1.5rem;top:1.5rem;z-index:2000}@keyframes toastIn{0%{opacity:0;transform:translateX(60px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}.success-message svg{flex-shrink:0}@media (max-width:768px){.barber-header{flex-direction:column;gap:.85rem;padding:.85rem 1.25rem}.header-right{justify-content:space-between;width:100%}.profile-specialty{max-width:150px}.barber-content{padding:1.25rem 1rem}.welcome-section{border-radius:18px;border-radius:var(--bd-radius-lg);padding:1.5rem}.welcome-section h1{font-size:1.5rem}.barber-kpi-grid{gap:1rem;grid-template-columns:1fr}.barber-kpi-card{padding:1.25rem}.barber-kpi-icon{height:46px;width:46px}.barber-kpi-value{font-size:1.6rem}.appointments-section{border-radius:18px;border-radius:var(--bd-radius-lg);padding:1.25rem}.appointments-header{align-items:stretch;flex-direction:column;gap:.875rem}.appointments-tabs{width:100%}.add-appointment-btn,.create-appointment-btn{justify-content:center;width:100%}.book-services-grid{gap:.6rem;grid-template-columns:repeat(2,1fr)}.appointments-table-wrap{-webkit-overflow-scrolling:touch;border-radius:12px;border-radius:var(--bd-radius-md);overflow-x:auto}.appointments-table{display:table;min-width:960px;width:100%}.appointments-table td,.appointments-table th{display:table-cell;font-size:.75rem;padding:.6rem .5rem}.appointments-table .action-btn-table{height:28px;margin-right:2px;width:28px}.appointments-table .action-btn-table svg{height:14px;width:14px}.appointments-table-scroll-hint{display:block}.confirm-modal{border-radius:18px;border-radius:var(--bd-radius-lg);padding:1.75rem}.confirm-modal-actions{flex-direction:column}.confirm-btn-cancel,.confirm-btn-cancel-action,.confirm-btn-complete{justify-content:center;width:100%}.form-row{grid-template-columns:1fr}.success-message{left:1rem;right:1rem;top:1rem;width:calc(100% - 2rem)}}@media (max-width:480px){.barber-content{padding:1rem .75rem}.welcome-section{padding:1.25rem}.welcome-section h1{font-size:1.35rem}.barber-kpi-card{padding:1rem}.barber-kpi-value{font-size:1.4rem}.book-services-grid{gap:.5rem;grid-template-columns:1fr}.appointments-table-wrap{-webkit-overflow-scrolling:touch;margin-left:-.5rem;margin-right:-.5rem;overflow-x:auto;padding-left:.5rem;padding-right:.5rem}.appointments-table{display:table;min-width:920px}.appointments-table td,.appointments-table th{font-size:.72rem;padding:.5rem .4rem}.appointments-table .action-btn-table{height:26px;width:26px}.appointments-table .action-btn-table svg{height:12px;width:12px}.table-status-badge{font-size:.65rem;padding:.2rem .45rem}}.module-selection{margin:0 auto;max-width:1200px;padding:3rem 5%}.module-selection-header{margin-bottom:3.5rem;text-align:center}.module-selection-header h2{color:#111827;font-family:Montserrat,sans-serif;font-size:2.5rem;font-weight:900;letter-spacing:-.03em;margin-bottom:.75rem}.module-selection-header p{color:#6b7280;font-size:1.1rem;line-height:1.6;margin:0 auto;max-width:500px}.modules-grid{grid-gap:1.75rem;display:grid;gap:1.75rem;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));margin-top:1rem}.module-card{background:#fff;border:1.5px solid #0000;border-radius:20px;box-shadow:0 4px 20px #00000012;cursor:pointer;overflow:hidden;padding:2rem;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1)}.module-card:before{background:var(--module-color);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.module-card:hover{border-color:color-mix(in srgb,var(--module-color) 30%,#0000);box-shadow:0 20px 48px #0000001f;transform:translateY(-6px)}.module-card:hover:before{transform:scaleX(1)}.module-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.module-icon{align-items:center;background:color-mix(in srgb,var(--module-color) 12%,#0000);border:1.5px solid color-mix(in srgb,var(--module-color) 20%,#0000);border-radius:14px;color:var(--module-color);display:flex;height:64px;justify-content:center;transition:transform .3s ease;width:64px}.module-card:hover .module-icon{transform:scale(1.08) rotate(3deg)}.module-badge{background:var(--module-color);border-radius:999px;box-shadow:0 2px 12px color-mix(in srgb,var(--module-color) 40%,#0000);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.4rem .9rem;text-transform:uppercase;white-space:nowrap}.module-card-body{margin-bottom:1.5rem}.module-card-body h3{color:#111827;font-family:Montserrat,sans-serif;font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem}.module-description{font-size:.95rem;line-height:1.65}.module-card-footer{align-items:center;border-top:1px solid #f3f4f6;color:var(--module-color);display:flex;font-size:.875rem;font-weight:700;justify-content:space-between;letter-spacing:.01em;padding-top:1.25rem}.select-text{font-size:.875rem}.module-card-footer svg{transition:transform .25s ease}.module-card:hover .module-card-footer svg{transform:translateX(5px)}.module-selection-error,.module-selection-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 2rem;text-align:center}.module-selection-loading .spinner{animation:ms-spin .9s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#ef4444;height:48px;margin-bottom:.5rem;width:48px}@keyframes ms-spin{to{transform:rotate(1turn)}}.module-selection-loading p{color:#6b7280;font-size:.95rem;font-weight:500}.module-selection-error{background:#fef2f2;border:1px solid #fee2e2;border-radius:16px;color:#ef4444;margin:2rem}@media (max-width:768px){.module-selection{padding:2rem 4%}.module-selection-header h2{font-size:2rem}.modules-grid{gap:1.25rem;grid-template-columns:1fr}.module-card{padding:1.5rem}}@media (max-width:480px){.module-selection{padding:1.5rem 4%}.module-selection-header h2{font-size:1.75rem}.module-card-body h3{font-size:1.25rem}}.module-services{font-family:Inter,-apple-system,sans-serif;margin:0 auto;max-width:1200px;padding:3rem 5%}.module-services-header{margin-bottom:2rem}.back-button{background:#fff;border:1.5px solid #e5e7eb;box-shadow:0 1px 4px #0000000f;color:#6b7280;cursor:pointer;font-family:inherit;font-weight:600;padding:.6rem 1.1rem}.back-button:hover{background:#fef2f2;border-color:#fee2e2;color:#e11d1d}.module-services-title{margin-bottom:1rem;text-align:center}.module-services-title h2{color:#111827;font-family:Montserrat,sans-serif;font-size:2.25rem;font-weight:900;letter-spacing:-.03em;margin-bottom:.6rem}.module-description{color:#6b7280;font-size:1.05rem;line-height:1.6;margin:0 auto;max-width:500px}.module-menu-image{border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 40px #0000001a;margin:2rem 0;overflow:hidden;text-align:center}.module-menu-image img{display:block;height:auto;margin:0 auto;max-width:800px;width:100%}.services-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));margin-top:2rem}.service-card{background:#fff;border:1.5px solid #0000;border-radius:18px;box-shadow:0 2px 12px #0000000f;cursor:pointer;overflow:hidden;padding:1.75rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.service-card:before{background:var(--module-color);border-radius:18px 18px 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .35s ease}.service-card:hover{border-color:color-mix(in srgb,var(--module-color) 25%,#0000);box-shadow:0 16px 40px #0000001f;transform:translateY(-5px)}.service-card:hover:before{transform:scaleX(1)}.service-card-header{margin-bottom:1.1rem}.service-name{color:#111827;font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-bottom:.5rem}.service-description{color:#6b7280;font-size:.875rem;line-height:1.55}.service-full-description{background:#f9fafb;border-left:3px solid var(--module-color);border-radius:10px;margin-bottom:1rem;margin-top:.85rem;padding:.85rem 1rem;transition:background .3s ease}.service-full-description p{color:#4b5563;font-size:.85rem;line-height:1.65;margin:0}.service-card:hover .service-full-description{background:#f3f4f6}.service-card-body{margin-bottom:1.1rem}.service-info{gap:1rem;justify-content:space-between}.service-info,.service-price{align-items:center;display:flex}.service-price{font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:900;gap:.4rem;letter-spacing:-.02em}.service-price,.service-price svg{color:var(--module-color)}.service-duration{align-items:center;background:#f3f4f6;border-radius:999px;color:#9ca3af;display:flex;font-size:.82rem;font-weight:600;gap:.35rem;padding:.3rem .65rem}.service-card-footer{align-items:center;border-top:1px solid #f3f4f6;color:var(--module-color);display:flex;font-size:.85rem;font-weight:700;justify-content:space-between;letter-spacing:.01em;padding-top:1.1rem}.service-card-footer svg{transition:transform .25s ease}.service-card:hover .service-card-footer svg{transform:translateX(4px)}.module-services-empty,.module-services-error,.module-services-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:5rem 2rem;text-align:center}.module-services-loading .spinner{animation:msvc-spin .9s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#ef4444;height:48px;margin-bottom:.5rem;width:48px}@keyframes msvc-spin{to{transform:rotate(1turn)}}.module-services-loading p{color:#6b7280;font-size:.9rem;font-weight:500}.module-services-error{background:#fef2f2;border:1px solid #fee2e2;border-radius:16px;color:#e11d1d}.module-services-empty{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 2px 10px #0000000d;color:#9ca3af}@media (max-width:768px){.module-services{padding:2rem 4%}.module-services-title h2{font-size:1.85rem}.services-grid{gap:1rem;grid-template-columns:1fr}.service-card{padding:1.4rem}.module-menu-image{border-radius:14px;margin:1.25rem 0}}@media (max-width:480px){.module-services{padding:1.5rem 3%}.module-services-title h2{font-size:1.5rem}.module-description{font-size:.9rem}.services-grid{gap:.875rem}.service-card{border-radius:14px;padding:1.2rem}.service-name{font-size:1.05rem}.service-price{font-size:1.25rem}.service-full-description{padding:.65rem .85rem}.service-full-description p{font-size:.8rem}.service-duration{display:none}}.modal-backdrop{align-items:center;animation:backdrop-in .25s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.modal-container{animation:modal-slide-in .3s cubic-bezier(.34,1.56,.64,1);background:#fff;border:1px solid #fff9;border-radius:26px;box-shadow:0 32px 80px #00000038,0 8px 24px #0000001a;max-height:92vh;max-width:700px;overflow-y:auto;position:relative;width:100%}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-container::-webkit-scrollbar{width:6px}.modal-container::-webkit-scrollbar-track{background:#f9fafb;border-radius:0 26px 26px 0}.modal-container::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:3px}.modal-container::-webkit-scrollbar-thumb:hover{background:#d1d5db}.modal-header{align-items:flex-start;background:linear-gradient(135deg,#ef4444,#dc2626 60%,#b91c1c);border-radius:26px 26px 0 0;display:flex;justify-content:space-between;overflow:hidden;padding:2.25rem 2.25rem 3rem;position:relative}.modal-header:before{background:#ffffff14;height:280px;right:-50px;top:-80px;width:280px}.modal-header:after,.modal-header:before{border-radius:50%;content:"";position:absolute}.modal-header:after{background:#ffffff0d;bottom:-60px;height:180px;left:-30px;width:180px}.modal-header-content{position:relative;z-index:1}.modal-header-content h2{color:#fff;font-family:Montserrat,sans-serif;font-size:1.85rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:0 0 .35rem}.modal-header-content p{color:#ffffffd9;font-size:1rem;font-weight:500;margin:0}.modal-close-btn{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff2e;border:1px solid #ffffff40;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;transition:all .25s ease;width:40px;z-index:1}.modal-close-btn:hover{background:#ffffff4d;transform:rotate(90deg) scale(1.1)}.modal-barbero-info{background:linear-gradient(135deg,#fef2f2,#fff8f8);border-bottom:1px solid #fee2e2;border-radius:0 0 0 0;margin-top:-1.5rem;padding:1.35rem 2.25rem;position:relative;z-index:2}.modal-barbero-details{display:flex;flex-direction:column;gap:.4rem}.modal-especialidad{color:#dc2626;font-size:.82rem;font-weight:700;letter-spacing:.07em;margin:0;text-transform:uppercase}.modal-experiencia{align-items:center;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin:0}.modal-experiencia svg{color:#ef4444;flex-shrink:0}.modal-form{padding:2rem 2.25rem}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section-title{align-items:center;border-bottom:2px solid #f3f4f6;color:#111827;display:flex;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:800;gap:.6rem;letter-spacing:-.01em;margin:0 0 1.25rem;padding-bottom:.85rem}.form-section-title svg{color:#ef4444}.form-grid{grid-gap:1.1rem;display:grid;gap:1.1rem;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:.45rem}.form-group.full-width{grid-column:1/-1}.form-group label{align-items:center;color:#374151;display:flex;font-size:.78rem;font-weight:700;gap:.4rem;letter-spacing:.05em;text-transform:uppercase}.form-group label svg{color:#9ca3af}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;color:#111827;font-family:inherit;font-size:.9rem;padding:.8rem 1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#ef4444;box-shadow:0 0 0 3px #e11d1d1a;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af}.form-group textarea{min-height:80px;resize:vertical}.form-group select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;cursor:pointer;padding-right:2.5rem}.time-picker-wrapper{position:relative;z-index:1}.time-picker-wrapper:has(.time-picker-dropdown){z-index:9999!important}.time-picker-trigger{-webkit-tap-highlight-color:rgba(239,68,68,.1);align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:12px;color:#111827;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;justify-content:space-between;min-height:48px;padding:.8rem 2.5rem .8rem 1rem;text-align:left;transition:all .2s ease;width:100%}.time-picker-trigger:hover:not(:disabled){border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.time-picker-trigger:disabled{background:#f9fafb;cursor:not-allowed;opacity:.7}.time-picker-trigger[aria-expanded=true]{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.time-picker-value{flex:1 1}.time-picker-trigger .time-picker-chevron-open{transform:rotate(180deg);transition:transform .2s ease}.time-picker-dropdown{box-shadow:0 12px 40px #00000026;left:0;margin-top:4px;max-height:min(280px,60vh);overflow:hidden;position:absolute;right:0;top:100%;z-index:9999!important}.time-picker-dropdown,.time-picker-dropdown-portal{background:#fff!important;border:1.5px solid #e5e7eb;border-radius:12px}.time-picker-dropdown-portal{box-shadow:0 12px 40px #0003;max-height:min(280px,55vh)!important;position:fixed!important;right:auto!important;z-index:99999!important}.time-picker-dropdown-inner{-webkit-overflow-scrolling:touch;max-height:inherit;overflow-y:auto;padding:.25rem 0}.time-picker-dropdown-title{background:#fff;border-bottom:1px solid #f3f4f6;color:#6b7280;font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:1}.time-picker-option{-webkit-tap-highlight-color:rgba(239,68,68,.08);background:#0000;border:none;color:#1f2937;cursor:pointer;display:block;font-family:inherit;font-size:.9rem;min-height:44px;padding:.75rem 1rem;text-align:left;transition:background .15s ease;width:100%}.time-picker-option-available:hover{background:#fef2f2}.time-picker-option-available:active{background:#fee2e2}.time-picker-option-unavailable{color:#9ca3af;font-size:.85rem;font-style:italic;min-height:36px;padding:.6rem 1rem}.time-picker-option-no-time{background-color:#fffbeb;border-left:3px solid #f59e0b;color:#d97706;font-style:italic;padding-left:calc(1rem - 3px)}.form-group select option:disabled{background-color:#f3f4f6;color:#9ca3af;font-style:italic}.form-group select option:not(:disabled){background-color:#fff;color:#1f2937}.time-slot-unavailable{background-color:#f3f4f6!important;color:#9ca3af!important;font-style:italic}.time-slot-available{background-color:#fff;color:#1f2937}.service-selected{background:linear-gradient(135deg,#fef2f2,#fff8f8);border:1.5px solid #fee2e2;border-radius:12px;margin-top:.5rem;padding:1.1rem}.service-selected-info{align-items:center;display:flex;gap:1rem;justify-content:space-between}.service-selected .service-name{color:#1f2937;font-size:.95rem;font-weight:700}.service-selected .service-price{color:#ef4444;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:900;letter-spacing:-.02em}.error-alert{background-color:#fef2f2;border:1px solid #fee2e2;border-left:4px solid #ef4444;border-radius:10px;margin:0 2.25rem 1rem;padding:1rem 1.25rem}.error-alert p{color:#b91c1c;font-size:.875rem;font-weight:600;margin:0}.time-warning-alert{align-items:flex-start;background-color:#fffbeb;border:1px solid #fde68a;border-left:4px solid #f59e0b;border-radius:10px;display:flex;gap:.6rem;margin:0 2.25rem 1rem;padding:.9rem 1.25rem}.time-warning-icon{flex-shrink:0;font-size:1.1rem;line-height:1.4}.time-warning-alert p{color:#92400e;margin:0}.date-closed-warning,.time-warning-alert p{font-size:.875rem;font-weight:600;line-height:1.5}.date-closed-warning{background-color:#fef2f2;border:1px solid #fecaca;border-left:4px solid #ef4444;border-radius:10px;color:#991b1b;margin:0 0 1rem;padding:.85rem 1.25rem}.modal-actions{border-top:2px solid #f3f4f6;display:flex;gap:1rem;margin-top:2.25rem;padding-top:1.75rem}.btn-cancel,.btn-submit{align-items:center;border-radius:12px;cursor:pointer;display:flex;flex:1 1;font-family:inherit;font-size:.875rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.04em;padding:.95rem 1.5rem;text-transform:uppercase;transition:all .25s cubic-bezier(.4,0,.2,1)}.btn-cancel{background:#f9fafb;border:1.5px solid #e5e7eb;color:#6b7280}.btn-cancel:hover:not(:disabled){background:#f3f4f6;border-color:#d1d5db;color:#374151}.btn-submit{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;box-shadow:0 6px 24px #e11d1d4d;color:#fff}.btn-submit:hover:not(:disabled){box-shadow:0 12px 32px #e11d1d66;transform:translateY(-2px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-cancel:disabled,.btn-submit:disabled{cursor:not-allowed;opacity:.55}.btn-spinner{animation:rca-spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes rca-spin{to{transform:rotate(1turn)}}.success-state{flex-direction:column;gap:1.5rem;padding:4.5rem 2.5rem;text-align:center}.success-icon,.success-state{align-items:center;display:flex}.success-icon{animation:success-pop .5s cubic-bezier(.34,1.56,.64,1);background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;box-shadow:0 12px 36px #10b98166;color:#fff;height:96px;justify-content:center;width:96px}@keyframes success-pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.success-state h3{color:#111827;font-family:Montserrat,sans-serif;font-size:1.75rem;font-weight:900;letter-spacing:-.02em;margin:0}.success-state p{color:#6b7280;font-size:1rem;line-height:1.65;margin:0;max-width:400px}@media (max-width:768px){.modal-container{border-radius:22px;max-height:95vh}.modal-header{border-radius:22px 22px 0 0;padding:1.75rem 1.75rem 2.5rem}.modal-header-content h2{font-size:1.5rem}.modal-barbero-info{padding:1.1rem 1.75rem}.modal-form{padding:1.5rem 1.75rem}.form-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column;gap:.75rem}.btn-cancel,.btn-submit{width:100%}.error-alert,.time-warning-alert{margin:0 1.75rem 1rem}}@media (max-width:480px){.modal-backdrop{align-items:flex-end;padding:.5rem}.modal-container{border-radius:22px 22px 0 0;max-height:96vh}.modal-header{border-radius:22px 22px 0 0;padding:1.5rem}.modal-header-content h2{font-size:1.35rem}.modal-barbero-info{padding:1rem 1.5rem}.modal-form{padding:1.25rem 1.5rem}.form-section-title{font-size:.9rem}.success-state{padding:3rem 1.5rem}.success-icon{height:80px;width:80px}.success-state h3{font-size:1.5rem}.error-alert,.time-warning-alert{margin:0 1.5rem 1rem}}.reservar-cita-embedded{padding:0}.reservar-cita-embedded .modal-header.modal-header-embedded{background:#0000!important;border-radius:0;padding:0 0 1rem!important}.reservar-cita-embedded .modal-header.modal-header-embedded:after,.reservar-cita-embedded .modal-header.modal-header-embedded:before{display:none}.reservar-cita-embedded .modal-header.modal-header-embedded h2{color:#1a1a1a;font-size:1.1rem;font-weight:700;margin:0}:root{--rv-red:#e11d1d;--rv-red-dark:#b91c1c;--rv-red-light:#ef4444;--rv-red-pale:#fef2f2;--rv-red-pale2:#fee2e2;--rv-red-glow:#e11d1d33;--rv-dark:#111827;--rv-dark-2:#1f2937;--rv-gray:#6b7280;--rv-gray-light:#9ca3af;--rv-gray-border:#e5e7eb;--rv-gray-bg:#f9fafb;--rv-white:#fff;--rv-shadow-sm:0 1px 3px #00000012;--rv-shadow-md:0 4px 20px #00000014;--rv-shadow-lg:0 16px 48px #0000001f;--rv-shadow-red:0 6px 24px #e11d1d40;--rv-shadow-red-lg:0 12px 40px #e11d1d59;--rv-radius-sm:10px;--rv-radius-md:16px;--rv-radius-lg:22px;--rv-radius-xl:28px}.reservas-page{-webkit-font-smoothing:antialiased;background:linear-gradient(160deg,#f8f9fc,#f3f4f8 50%,#f8f9fc);font-family:Inter,-apple-system,sans-serif;min-height:100vh;padding-bottom:5rem}.reservas-loading{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;min-height:60vh}.spinner{animation:rv-spin .9s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#e11d1d;border-top:4px solid var(--rv-red);height:48px;width:48px}@keyframes rv-spin{to{transform:rotate(1turn)}}.reservas-loading p{color:#6b7280;color:var(--rv-gray);font-size:1rem;font-weight:500}.reservas-header{background:linear-gradient(160deg,#0d0d0d,#180208 50%,#0d0d0d);overflow:hidden;padding:2.5rem 5% 3.5rem;position:relative}.reservas-header:before{background:linear-gradient(90deg,#0000,#e11d1d,#0000);background:linear-gradient(90deg,#0000,var(--rv-red),#0000);content:"";height:2px;left:0;position:absolute;right:0;top:0}.reservas-header:after{background:radial-gradient(ellipse,#e11d1d1a 0,#0000 70%);content:"";height:300px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:700px}.reservas-step-progress{display:flex;gap:.65rem;justify-content:center;margin-bottom:2rem;position:relative;z-index:2}.step-dot{background:#fff3;border-radius:50%;height:8px;transition:all .35s ease;width:8px}.step-dot.active{background:#e11d1d;background:var(--rv-red);border-radius:4px;box-shadow:0 0 12px #e11d1d80;width:28px}.step-dot.done{background:#ffffff80}.back-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;border-radius:var(--rv-radius-sm);color:#fff9;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:2rem;padding:.45rem .85rem;position:relative;text-decoration:none;transition:all .2s ease;z-index:2}.back-button:hover{background:#e11d1d33;border-color:#e11d1d66;color:#fff;color:var(--rv-white);transform:translateX(-3px)}.reservas-header-content{margin:0 auto;max-width:1200px;position:relative;text-align:center;z-index:2}.reservas-header-content h1{color:#fff;color:var(--rv-white);font-family:Montserrat,sans-serif;font-size:3rem;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin-bottom:.75rem}.reservas-header-content p{color:#ffffffa6;font-size:1.1rem;font-weight:400;line-height:1.6;margin:0 auto;max-width:500px}.barberos-container{margin:0 auto;max-width:1200px;padding:3rem 5% 2rem}.back-button-inline{align-items:center;background:#fff;background:var(--rv-white);border:1.5px solid #e5e7eb;border:1.5px solid var(--rv-gray-border);border-radius:10px;border-radius:var(--rv-radius-sm);box-shadow:0 1px 3px #00000012;box-shadow:var(--rv-shadow-sm);color:#6b7280;color:var(--rv-gray);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:600;gap:.5rem;margin-bottom:2rem;padding:.6rem 1.1rem;transition:all .2s ease}.back-button-inline:hover{background:#fef2f2;background:var(--rv-red-pale);border-color:#fee2e2;border-color:var(--rv-red-pale2);color:#e11d1d;color:var(--rv-red);transform:translateX(-3px)}.barberos-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.barbero-card{background:#fff;background:var(--rv-white);border:1.5px solid #0000;border-radius:22px;border-radius:var(--rv-radius-lg);box-shadow:0 4px 20px #00000014;box-shadow:var(--rv-shadow-md);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .35s cubic-bezier(.4,0,.2,1)}.barbero-card:hover{border-color:#fee2e2;border-color:var(--rv-red-pale2);box-shadow:0 16px 48px #0000001f;box-shadow:var(--rv-shadow-lg);transform:translateY(-8px)}.barbero-card-header{align-items:flex-start;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--rv-red-light) 0,var(--rv-red-dark) 100%);display:flex;justify-content:space-between;min-height:110px;overflow:hidden;padding:2rem;position:relative}.barbero-card-header:before{background:#ffffff14;border-radius:50%;content:"";height:220px;position:absolute;right:-40px;top:-60px;width:220px}.barbero-card-header:after{background:#ffffff0a;border-radius:50%;bottom:-40px;content:"";height:140px;left:-20px;position:absolute;width:140px}.barbero-icon{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff2e;border:2px solid #ffffff40;border-radius:50%;box-shadow:0 4px 20px #00000026;color:#fff;display:flex;height:128px;justify-content:center;overflow:hidden;position:relative;transition:transform .3s ease;width:128px;z-index:1}.barbero-icon .barbero-icon-img{height:100%;object-fit:cover;width:100%}.barbero-card:hover .barbero-icon{transform:scale(1.08)}.disponible-badge{align-self:flex-start;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#10b981e6;border:1px solid #fff3;border-radius:999px;box-shadow:0 2px 12px #10b98159;color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.06em;padding:.35rem .85rem;position:relative;text-transform:uppercase;z-index:1}.barbero-info{display:flex;flex:1 1;flex-direction:column;gap:.85rem;padding:1.75rem 2rem}.barbero-nombre{color:#111827;color:var(--rv-dark);font-family:Montserrat,sans-serif;font-size:1.45rem;font-weight:900;letter-spacing:-.03em;line-height:1.1;margin:0}.barbero-especialidad{color:#e11d1d;color:var(--rv-red);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.barbero-descripcion{color:#6b7280;color:var(--rv-gray);font-size:.9rem;line-height:1.6;margin:0}.barbero-stats{border-top:1px solid #f3f4f6;display:flex;flex-direction:column;gap:.6rem;margin-top:auto;padding-top:1rem}.stat-item{align-items:center;color:#1f2937;color:var(--rv-dark-2);display:flex;font-size:.875rem;font-weight:500;gap:.6rem}.stat-item svg{color:#e11d1d;color:var(--rv-red);flex-shrink:0;opacity:.85}.rating-container{align-items:center;display:flex;gap:.6rem;width:100%}.rating-stars{display:flex;gap:2px}.rating-number{color:#6b7280;color:var(--rv-gray);font-size:.8rem;font-weight:600}.barbero-servicios{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.25rem}.servicio-tag{background:#fef2f2;background:var(--rv-red-pale);border:1px solid #fee2e2;border:1px solid var(--rv-red-pale2);border-radius:6px;color:#b91c1c;color:var(--rv-red-dark);font-size:.75rem;font-weight:600;letter-spacing:.01em;padding:.3rem .7rem;transition:all .2s ease}.servicio-tag:hover{background:#fee2e2;background:var(--rv-red-pale2);transform:translateY(-1px)}.reservar-btn{align-items:center;background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--rv-red-light),var(--rv-red-dark));border:none;border-radius:10px;border-radius:var(--rv-radius-sm);box-shadow:0 6px 24px #e11d1d40;box-shadow:var(--rv-shadow-red);color:#fff;cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;font-weight:700;gap:.6rem;justify-content:center;letter-spacing:.06em;margin:0 2rem 2rem;padding:1.1rem 2rem;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1)}.reservar-btn:hover{box-shadow:0 12px 40px #e11d1d59;box-shadow:var(--rv-shadow-red-lg);transform:translateY(-2px)}.reservar-btn:active{transform:translateY(0)}.reservas-error{background:#fef2f2;background:var(--rv-red-pale);border:1px solid #fee2e2;border:1px solid var(--rv-red-pale2);border-radius:16px;border-radius:var(--rv-radius-md);color:#e11d1d;color:var(--rv-red);margin:2rem 0;padding:3rem 2rem;text-align:center}.reservas-error .btn-back{background:linear-gradient(135deg,#ef4444,#b91c1c);background:linear-gradient(135deg,var(--rv-red-light),var(--rv-red-dark));border:none;border-radius:10px;border-radius:var(--rv-radius-sm);box-shadow:0 6px 24px #e11d1d40;box-shadow:var(--rv-shadow-red);color:#fff;cursor:pointer;font-family:inherit;font-size:.875rem;font-weight:700;margin-top:1.25rem;padding:.75rem 1.75rem;transition:all .25s ease}.reservas-error .btn-back:hover{box-shadow:0 12px 40px #e11d1d59;box-shadow:var(--rv-shadow-red-lg);transform:translateY(-2px)}.reservas-empty{background:#fff;background:var(--rv-white);border:1px solid #e5e7eb;border:1px solid var(--rv-gray-border);border-radius:22px;border-radius:var(--rv-radius-lg);box-shadow:0 4px 20px #00000014;box-shadow:var(--rv-shadow-md);color:#6b7280;color:var(--rv-gray);margin:1rem 0;padding:5rem 2rem;text-align:center}.reservas-empty svg{margin-bottom:1.25rem;opacity:.4}.reservas-empty p{font-size:1rem;line-height:1.6;margin:.4rem 0}@media (max-width:1024px){.barberos-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:768px){.reservas-header{padding:2rem 5% 3rem}.reservas-header-content h1{font-size:2.25rem}.reservas-header-content p{font-size:1rem}.barberos-container{padding:2rem 4%}.barberos-grid{gap:1.25rem;grid-template-columns:1fr}.barbero-card-header{padding:1.5rem}.barbero-icon{height:100px;width:100px}.barbero-info{padding:1.5rem}.reservar-btn{margin:0 1.5rem 1.5rem}}@media (max-width:480px){.reservas-header{padding:1.5rem 5% 2.5rem}.reservas-header-content h1{font-size:1.85rem}.reservas-header-content p{font-size:.95rem}.barbero-nombre{font-size:1.25rem}.barbero-descripcion{font-size:.875rem}}.agendar-cita-modal-overlay{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.agendar-cita-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0003;overflow:hidden;width:100%}.agendar-cita-modal-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fff);border-bottom:2px solid #ef4444;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.agendar-cita-modal-header h2{color:#1a1a1a;font-size:1.35rem;font-weight:700;margin:0}.agendar-cita-modal-close{align-items:center;background:none;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;justify-content:center;padding:.5rem}.agendar-cita-modal-close:hover{background:#fee2e2;color:#ef4444}.agendar-cita-modal-body{padding:1.5rem}.agendar-modal-step{min-height:200px}.agendar-modal-subtitle{color:#6b7280;font-size:.95rem;margin:0 0 1rem}.agendar-modal-subtitle strong{color:#1a1a1a}.agendar-modal-back{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:1rem;padding:.25rem 0}.agendar-modal-back:hover{color:#ef4444}.agendar-modal-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:2rem}.agendar-modal-spinner{animation:agendar-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#ef4444;height:40px;width:40px}@keyframes agendar-spin{to{transform:rotate(1turn)}}.agendar-modal-empty,.agendar-modal-error{color:#6b7280;padding:1.5rem;text-align:center}.agendar-modal-barbers-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.agendar-modal-barber-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;cursor:pointer;padding:1rem;text-align:center;transition:all .2s}.agendar-modal-barber-card:hover{border-color:#ef4444;box-shadow:0 4px 12px #ef444426}.agendar-modal-barber-avatar{align-items:center;background:#ef4444;border-radius:50%;color:#fff;display:flex;font-size:1.25rem;font-weight:700;height:48px;justify-content:center;margin:0 auto .5rem;overflow:hidden;width:48px}.agendar-modal-barber-avatar .agendar-modal-barber-avatar-img{height:100%;object-fit:cover;width:100%}.agendar-modal-barber-card h3{color:#1a1a1a;font-size:1rem;font-weight:600;margin:0 0 .25rem}.agendar-modal-barber-spec{color:#6b7280;font-size:.8rem;margin:0 0 .5rem}.agendar-modal-barber-stats{color:#6b7280;display:flex;flex-direction:column;font-size:.75rem;gap:.25rem;margin-bottom:.5rem}.agendar-modal-barber-stats span{align-items:center;display:flex;gap:.35rem;justify-content:center}.agendar-modal-stars{display:inline-flex;gap:2px}.agendar-modal-barber-select{color:#ef4444;font-size:.8rem;font-weight:600}.agendar-modal-form-step{min-height:auto}.agendar-modal-form-step .reservar-cita-embedded{padding:0}.agendar-cita-modal-actions{border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;padding:1rem 1.5rem}.agendar-modal-btn-cancel{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;font-weight:600;padding:.5rem 1.25rem}.agendar-modal-btn-cancel:hover{background:#e5e7eb}.agendar-modal-step .module-selection,.agendar-modal-step .module-services{padding:0}.agendar-modal-step .module-selection-header{margin-bottom:1rem}.agendar-modal-step .module-selection-header h2{font-size:1rem;margin-bottom:.25rem}.agendar-modal-step .module-selection-header p{font-size:.8rem;margin:0}.agendar-modal-step .modules-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.agendar-modal-step .module-card{border-radius:12px;min-height:auto;padding:.65rem .75rem}.agendar-modal-step .module-card:hover{box-shadow:0 6px 16px #0000001a;transform:translateY(-2px)}.agendar-modal-step .module-card-header{align-items:flex-start;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.agendar-modal-step .module-icon{border-radius:10px;height:36px;width:36px}.agendar-modal-step .module-icon svg{height:18px;width:18px}.agendar-modal-step .module-badge{font-size:.6rem;padding:.2rem .5rem}.agendar-modal-step .module-card-body{margin-bottom:.5rem}.agendar-modal-step .module-card-body h3{font-size:.85rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.agendar-modal-step .module-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.7rem;line-height:1.35;overflow:hidden}.agendar-modal-step .module-card-footer{border-top-width:1px;font-size:.7rem;padding-top:.5rem}.agendar-modal-step .module-card-footer .select-text{font-size:.7rem}.agendar-modal-step .module-card-footer svg{height:14px;width:14px}.agendar-modal-step .module-services .module-services-header{margin-bottom:.75rem}.agendar-modal-step .module-services .back-button{font-size:.85rem;margin-bottom:.5rem}.agendar-modal-step .module-services .module-services-title h2{font-size:1rem}.agendar-modal-step .module-services .services-grid{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.agendar-modal-step .module-services .service-card{border-radius:12px;padding:.65rem .75rem}.agendar-modal-step .module-services .service-card-header .service-name{font-size:.85rem}.agendar-modal-step .module-services .service-card-body .service-info{font-size:.75rem}.agendar-modal-step .module-services .service-card-footer{font-size:.7rem;padding-top:.5rem}.agendar-modal-step .services-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.datos-personales{margin:0 auto;max-width:480px}.datos-personales-title{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0 0 .35rem}.datos-personales-subtitle{color:#6b7280;font-size:.95rem;margin:0 0 1.5rem}.datos-personales-form{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000f;padding:1.5rem}.datos-personales-message{border-radius:10px;font-size:.9rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1rem}.datos-personales-message-success{background:#d1fae5;border:1px solid #a7f3d0;color:#047857}.datos-personales-message-error{background:#fee2e2;border:1px solid #fecaca;color:#b91c1c}.datos-personales-field{margin-bottom:1.25rem}.datos-personales-field:last-of-type{margin-bottom:1.5rem}.datos-personales-field label{align-items:center;color:#374151;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;margin-bottom:.4rem}.datos-personales-field label svg{color:#6b7280}.datos-personales-field input{background:#fff;border:1.5px solid #e5e7eb;border-radius:10px;color:#1a1a1a;font-size:1rem;padding:.65rem 1rem;transition:border-color .2s;width:100%}.datos-personales-field input::placeholder{color:#9ca3af}.datos-personales-field input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f;outline:none}.datos-personales-field-readonly input{background:#f9fafb;color:#6b7280;cursor:not-allowed}.datos-personales-hint{color:#9ca3af;display:block;font-size:.75rem;margin-top:.25rem}.datos-personales-submit{align-items:center;background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:1rem;font-weight:700;gap:.5rem;padding:.75rem 1.5rem;transition:background .2s}.datos-personales-submit:hover:not(:disabled){background:#dc2626}.datos-personales-submit:disabled{cursor:not-allowed;opacity:.7}.datos-personales-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:200px}.datos-personales-loading p{color:#6b7280;font-size:.95rem;margin:0}.datos-personales-spinner{animation:dp-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#ef4444;height:40px;width:40px}@keyframes dp-spin{to{transform:rotate(1turn)}}@media (max-width:768px){.datos-personales{padding:0}.datos-personales-title{font-size:1.5rem}.datos-personales-form{padding:1.25rem}.datos-personales-submit{justify-content:center;width:100%}}.view-client-page{background:#f8f9fa;color:#1a1a1a;min-height:100vh}.view-client-reservas-wrapper{padding-top:0}.view-client-header{align-items:center;background:#fff;border-bottom:3px solid #ef4444;box-shadow:0 2px 8px #0000000f;display:flex;justify-content:space-between;padding:1rem 1.5rem}.view-client-hamburger{align-items:center;background:#0000;border:none;border-radius:8px;color:#374151;cursor:pointer;display:none;height:44px;justify-content:center;padding:0;width:44px}.view-client-hamburger:hover{background:#fef2f2;color:#ef4444}.view-client-header-left{align-items:center;display:flex;gap:1rem}.view-client-back{align-items:center;color:#6b7280;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;text-decoration:none}.view-client-back:hover{color:#ef4444}.view-client-brand{align-items:center;color:#1a1a1a;display:flex;font-size:1.25rem;font-weight:800;gap:.5rem}.view-client-brand svg{color:#ef4444}.view-client-nav{align-items:center;display:flex;gap:.25rem;margin-left:1.5rem}.view-client-nav-item{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.9rem;font-weight:600;gap:.4rem;padding:.5rem 1rem;transition:color .2s,background .2s}.view-client-nav-item-active,.view-client-nav-item:hover{background:#fef2f2;color:#ef4444}.view-client-header-right{align-items:center;display:flex;gap:1rem}.view-client-user{color:#374151;font-size:.9rem;font-weight:600}.view-client-logout{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem}.view-client-logout:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.view-client-main{margin:0 auto;max-width:720px;padding:2rem 1rem}.view-client-title{color:#1a1a1a;font-size:1.75rem;font-weight:800;margin:0 0 .5rem}.view-client-subtitle{color:#6b7280;font-size:1rem;margin:0 0 2rem}.view-client-loading{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.view-client-spinner{animation:view-client-spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#ef4444;height:40px;width:40px}@keyframes view-client-spin{to{transform:rotate(1turn)}}.view-client-empty{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000000f;color:#6b7280;padding:3rem 1.5rem;text-align:center}.view-client-empty svg{color:#d1d5db;margin-bottom:1rem}.view-client-empty p{font-size:1.1rem;margin:0 0 1rem}.view-client-link-reservas{align-items:center;background:#ef4444;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none}.view-client-link-reservas:hover{background:#dc2626}.view-client-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.view-client-card{background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;box-shadow:0 2px 8px #0000000f;overflow:hidden}.view-client-card-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fff5f5);border-bottom:1px solid #fee2e2;display:flex;justify-content:space-between;padding:1rem 1.25rem}.view-client-card-service{color:#1a1a1a;font-size:1rem;font-weight:700;text-transform:uppercase}.view-client-card-status{border-radius:8px;font-size:.75rem;font-weight:700;padding:.35rem .65rem}.view-client-card.status-pending .view-client-card-status{background:#fef3c7;color:#b45309}.view-client-card.status-confirmed .view-client-card-status{background:#d1fae5;color:#047857}.view-client-card.status-completed .view-client-card-status{background:#dbeafe;color:#1d4ed8}.view-client-card.status-cancelled .view-client-card-status{background:#fee2e2;color:#b91c1c}.view-client-card-body{padding:1rem 1.25rem}.view-client-card-row{align-items:center;color:#374151;display:flex;font-size:.9rem;gap:.5rem;padding:.35rem 0}.view-client-card-row svg{color:#6b7280;flex-shrink:0}.view-client-card-price{border-top:1px solid #f3f4f6;color:#ef4444;font-size:1rem;font-weight:700;margin-top:.5rem;padding-top:.5rem}.view-client-actions{margin-top:2rem}.view-client-btn-reservar{align-items:center;background:#ef4444;border:none;border-radius:12px;box-shadow:0 4px 14px #ef44444d;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-weight:700;gap:.75rem;padding:1rem 1.5rem;text-decoration:none}.view-client-btn-reservar:hover{background:#dc2626}.view-client-mobile-overlay{background:#0006;display:none;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity .25s ease;z-index:999}.view-client-mobile-overlay-open{opacity:1;pointer-events:auto}.view-client-mobile-drawer{background:#fff;bottom:0;box-shadow:4px 0 24px #00000026;display:none;flex-direction:column;left:0;max-width:85vw;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:1000}.view-client-mobile-drawer-open{transform:translateX(0)}.view-client-mobile-drawer-header{align-items:center;background:linear-gradient(135deg,#fef2f2,#fff);border-bottom:2px solid #ef4444;display:flex;justify-content:space-between;padding:1rem 1.25rem}.view-client-mobile-drawer-title{color:#1a1a1a;font-size:1.1rem;font-weight:800}.view-client-mobile-drawer-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;width:40px}.view-client-mobile-drawer-close:hover{background:#fee2e2;color:#ef4444}.view-client-mobile-drawer-nav{display:flex;flex-direction:column;padding:1rem 0}.view-client-mobile-nav-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:1rem;font-weight:600;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:background .2s,color .2s;width:100%}.view-client-mobile-nav-item-active,.view-client-mobile-nav-item:hover{background:#fef2f2;color:#ef4444}.view-client-mobile-drawer-user{border-top:1px solid #f3f4f6;color:#6b7280;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:1rem 1.25rem}.view-client-mobile-nav-item-logout{border-top:1px solid #f3f4f6;color:#b91c1c;margin-top:.5rem}.view-client-mobile-nav-item-logout:hover{background:#fee2e2;color:#b91c1c}@media (max-width:768px){.view-client-page-menu-open{height:100vh;overflow:hidden}.view-client-hamburger{display:flex}.view-client-header-right-desktop,.view-client-nav-desktop{display:none!important}.view-client-mobile-drawer,.view-client-mobile-overlay{display:flex}.view-client-header{padding:.75rem 1rem}.view-client-header-left{justify-content:space-between;width:100%}.view-client-brand span{font-size:1.1rem}.view-client-main{max-width:100%;padding:1.25rem 1rem}.view-client-title{font-size:1.5rem}.view-client-subtitle{font-size:.9rem;margin-bottom:1.5rem}.view-client-card-body,.view-client-card-header{padding:.875rem 1rem}.view-client-card-service{font-size:.9rem}.view-client-card-row{font-size:.85rem}.view-client-btn-reservar{font-size:.95rem;justify-content:center;padding:.875rem 1.25rem;width:100%}.view-client-empty{padding:2rem 1rem}.view-client-empty p{font-size:1rem}.view-client-link-reservas{justify-content:center;width:100%}}
/*# sourceMappingURL=main.6e7fa8d2.css.map*/