@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Oswald:wght@500;600;700&display=swap";body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f7f6f2;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}*{box-sizing:border-box;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}img,video,canvas,svg{max-width:100%}button,input,select,textarea{min-width:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.recaptcha-responsive{justify-content:center;width:100%;max-width:100%;display:flex;overflow:visible}:root{--ink:#121313;--paper:#202222;--surface:#292b2b;--surface-soft:#333535;--line:#464848;--accent:#c54b32;--green:#4b9a70;--muted:#aaa9a4}body{background:var(--paper);color:#f4f2ed;font-family:DM Sans,sans-serif}button,input,select{font:inherit}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-shell main{flex:1}.app-loading{place-items:center;min-height:100vh;font-weight:700;display:grid}.topbar{border-bottom:1px solid var(--line);z-index:30;background:#151616;align-items:center;gap:38px;height:72px;padding:0 clamp(18px,5vw,72px);display:flex;position:sticky;top:0}.brand{color:#fff;white-space:nowrap;align-items:center;gap:10px;font-family:Oswald,sans-serif;font-size:18px;text-decoration:none;display:flex}.brand b{color:var(--accent)}.brand-mark{background:var(--accent);color:#fff;place-items:center;width:35px;height:35px;display:grid}.main-nav{align-items:center;gap:28px;margin:auto;display:flex}.main-nav a,.text-action{color:#4d4b46;align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.main-nav a:hover,.text-action:hover{color:var(--accent)}.session-actions{align-items:center;gap:16px;display:flex}.primary-action,.hero-cta{background:var(--accent);color:#fff;border:0;justify-content:center;align-items:center;gap:10px;padding:11px 17px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.primary-action:hover,.hero-cta:hover,.confirm-button:hover:not(:disabled){background:#963522}.welcome{color:var(--muted);font-size:13px}.icon-action,.danger-icon{border:1px solid var(--line);cursor:pointer;background:#fff;place-items:center;width:38px;height:38px;display:grid}.hero{background-position:50%;background-size:cover;align-items:center;min-height:min(570px,68vh);padding:50px clamp(20px,8vw,130px);display:flex}.hero-copy{color:#fff;max-width:610px}.eyebrow{color:#e68b72;text-transform:uppercase;letter-spacing:2px;margin-bottom:14px;font-size:12px;font-weight:800;display:block}.eyebrow.dark{color:var(--accent)}.hero h1,.section-heading h2,.page-title h1,.admin-heading h1{letter-spacing:0;text-transform:uppercase;margin:0;font-family:Oswald,sans-serif}.hero h1{max-width:600px;font-size:clamp(46px,7vw,84px);line-height:1.02}.hero p{color:#e1dfda;max-width:540px;margin:24px 0 30px;font-size:18px;line-height:1.7}.booking,.page-section,.admin-page{width:min(1200px,100% - 36px);margin:0 auto;padding:64px 0 80px}.section-heading,.admin-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.section-heading h2,.page-title h1,.admin-heading h1{font-size:clamp(34px,5vw,52px)}.legend{color:var(--muted);gap:20px;font-size:13px;display:flex}.dot{border-radius:50%;width:9px;height:9px;margin-right:7px;display:inline-block}.dot.free{background:var(--green)}.dot.busy{background:#aaa69f}.booking-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px;display:grid}.booking-layout>*{min-width:0}.agenda-error{color:#f1b3a4;margin:18px;line-height:1.5}.schedule-panel,.summary-panel,.admin-table-wrap{border:1px solid var(--line);background:#fff}.days{border-bottom:1px solid var(--line);grid-template-columns:repeat(7,1fr);display:grid}.days button{border:0;border-right:1px solid var(--line);cursor:pointer;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:92px;display:flex}.days button:last-child{border-right:0}.days small,.days span{text-transform:uppercase;color:var(--muted);font-size:11px}.days strong{font-family:Oswald;font-size:25px}.days button.active{background:var(--ink);color:#fff}.days button.active small,.days button.active span{color:#c9c5bc}.filters{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:20px;padding:18px 22px;display:flex}.filters label,.summary-panel label{text-transform:uppercase;flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}select,input{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;padding:8px 12px}.filters p{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.slot-columns{grid-template-columns:repeat(3,1fr);gap:22px;padding:22px;display:grid}.barber-column h3{text-transform:uppercase;align-items:center;gap:9px;margin:0 0 13px;font-family:Oswald;font-size:18px;display:flex}.barber-column h3 span{background:#e9e5dc;border-radius:50%;place-items:center;width:30px;height:30px;font-family:DM Sans;font-size:12px;display:grid}.slots{gap:8px;display:grid}.slots button{height:51px;color:var(--green);cursor:pointer;background:#f8fbf9;border:1px solid #cfd9d2;justify-content:center;align-items:center;gap:7px;font-weight:700;display:flex;position:relative}.slots button small{text-transform:uppercase;color:inherit;font-size:9px;position:absolute;right:8px}.slots button.busy{color:#98958e;cursor:not-allowed;background:#f2f1ee;border-color:#e2dfd8;text-decoration:line-through}.slots button.selected{background:var(--green);color:#fff;border-color:var(--green)}.summary-panel{padding:27px;position:sticky;top:96px}.summary-icon{width:44px;height:44px;color:var(--accent);background:#f3e5e0;place-items:center;font-size:20px;display:grid}.summary-panel h3{text-transform:uppercase;margin:17px 0 24px;font-family:Oswald;font-size:25px}.summary-panel select{text-transform:none;width:100%}.service-detail{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:13px 0 22px;font-size:13px;display:flex}.service-detail span{color:var(--muted);gap:7px;display:flex}.service-detail strong{font-size:20px}.summary-panel dl{margin:0}.summary-panel dl div{border-bottom:1px solid var(--line);padding:14px 0}.summary-panel dt{color:var(--muted);text-transform:uppercase;font-size:11px}.summary-panel dd{text-transform:capitalize;margin:4px 0 0;font-weight:700}.confirm-button{background:var(--accent);color:#fff;cursor:pointer;border:0;width:100%;margin-top:22px;padding:14px;font-weight:800}.confirm-button:disabled{cursor:not-allowed;background:#cbc8c1}.summary-note{text-align:center;color:var(--muted);margin:12px 0 0;font-size:11px}.page-title{margin-bottom:32px}.page-title p,.admin-heading p{color:var(--muted);margin:10px 0 0}.appointment-list{gap:12px;display:grid}.appointment-list article{border:1px solid var(--line);background:#fff;align-items:center;gap:22px;padding:20px;display:flex}.date-block{background:var(--ink);color:#fff;flex-direction:column;justify-content:center;align-items:center;width:66px;height:66px;display:flex}.date-block strong{font-family:Oswald;font-size:27px}.date-block span{text-transform:uppercase;font-size:10px}.appointment-info{flex:1}.appointment-info h2{text-transform:uppercase;margin:5px 0;font-family:Oswald}.appointment-info p{color:var(--muted);margin:0}.status{text-transform:uppercase;color:var(--green);background:#e7f1eb;padding:4px 7px;font-size:10px;font-weight:800;display:inline-block}.status.pendiente{color:#8a6312;background:#f7eacb}.status.completado{color:#555;background:#e8e8e8}.danger-icon{color:var(--accent)}.empty-state{border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:300px;display:flex}.empty-state>svg{color:var(--accent);font-size:34px}.admin-heading{align-items:center}.metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px;display:grid}.metrics article{border:1px solid var(--line);background:#fff;align-items:center;gap:17px;padding:22px;display:flex}.metrics article>span{width:45px;height:45px;color:var(--accent);background:#f3e5e0;place-items:center;display:grid}.metrics small{color:var(--muted);display:block}.metrics strong{font-family:Oswald;font-size:30px}.table-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:18px;display:flex}.table-toolbar h2{text-transform:uppercase;margin:0 auto 0 0;font-family:Oswald}.search{position:relative}.search svg{color:#999;position:absolute;top:14px;left:12px}.search input{width:240px;padding-left:34px}.responsive-table{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;color:var(--muted);background:#f8f7f4;padding:13px 16px;font-size:10px}td{white-space:nowrap;border-top:1px solid #ece9e3;padding:15px 16px}td small{color:var(--muted);margin-top:3px;display:block}.row-actions{gap:6px;display:flex}.row-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;width:31px;height:31px}.no-results{text-align:center;color:var(--muted);padding:35px}.site-footer{background:var(--ink);color:#fff;justify-content:space-between;gap:20px;padding:28px clamp(20px,5vw,72px);font-size:13px;display:flex}.site-footer>div{align-items:center;gap:18px;display:flex}.site-footer span{color:#9e9b94}.footer-links a{color:#fff;align-items:center;gap:7px;text-decoration:none;display:flex}@media (width<=900px){.booking-layout{grid-template-columns:1fr}.summary-panel{position:static}.slot-columns{grid-template-columns:1fr}.slots{grid-template-columns:repeat(2,1fr)}.main-nav,.welcome{display:none}.metrics{grid-template-columns:1fr}.table-toolbar{flex-wrap:wrap}.table-toolbar h2{width:100%}.search{flex:1}.search input{width:100%}}@media (width<=600px){.topbar{gap:10px;height:64px;padding:0 14px}.brand>span:last-child{display:none}.session-actions{margin-left:auto}.session-actions .primary-action{padding:10px}.hero{background-position:62%;align-items:end;min-height:510px;padding-bottom:55px}.hero h1{font-size:47px}.hero p{font-size:15px}.booking,.page-section,.admin-page{width:min(100% - 24px,1200px);padding:45px 0}.section-heading{flex-direction:column;align-items:start}.days{grid-template-columns:repeat(7,68px);overflow-x:auto}.days button{min-height:80px}.filters{flex-direction:column;align-items:start}.slot-columns{gap:24px;padding:14px}.summary-panel{padding:20px}.appointment-list article{gap:12px;padding:14px}.date-block{width:54px;height:58px}.appointment-info h2{font-size:18px}.appointment-info p{font-size:12px}.site-footer,.site-footer>div{flex-direction:column;align-items:flex-start}.footer-links{gap:8px!important}.admin-heading{flex-direction:column;align-items:start}.table-toolbar .search{flex-basis:100%;width:100%}}.main-nav{gap:clamp(11px,1.5vw,24px)}.main-nav a{white-space:nowrap;font-size:12px}.menu-toggle{border:1px solid var(--line);background:var(--surface);color:#fff;cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;font-size:19px;display:none}.main-nav a,.text-action{color:#d2d0ca}.icon-action,.danger-icon,.row-actions button{background:var(--surface);color:#eee;border-color:var(--line)}.schedule-panel,.summary-panel,.admin-table-wrap,.appointment-list article,.empty-state,.metrics article{background:var(--surface);border-color:var(--line)}.days button{background:var(--surface);color:#f5f3ef;border-color:var(--line)}select,input{border-color:var(--line);background:var(--surface-soft);color:#f5f3ef}select option{color:#fff;background:#272929}.slots button{color:#77c99c;background:#24342c;border-color:#426b56}.slots button.busy{color:#777874;background:#303131;border-color:#424444}th{background:#202222}td{border-color:var(--line)}.app-shell main>.min-h-screen{background-color:var(--paper)!important}.app-shell main>.min-h-screen>div{background:var(--surface)!important;border-color:var(--line)!important}.app-shell main>.min-h-screen h2,.app-shell main>.min-h-screen label{color:#f5f3ef!important}.app-shell main>.min-h-screen p{color:var(--muted)!important}@media (width<=1050px){.menu-toggle{display:flex}.main-nav{border-bottom:1px solid var(--line);background:#151616;grid-template-columns:repeat(3,1fr);gap:2px;padding:12px clamp(18px,5vw,72px);display:none;position:absolute;top:72px;left:0;right:0;box-shadow:0 14px 24px #0008}.main-nav.open{display:grid}.main-nav a{border-bottom:1px solid #2e3030;justify-content:flex-start;padding:13px 10px}.session-actions{margin-left:auto}}@media (width<=600px){.app-shell{padding-bottom:0}.main-nav{grid-template-columns:1fr 1fr;padding:10px 14px;top:64px}.main-nav a{font-size:11px}.hero{min-height:calc(100svh - 122px)}.slots button{height:56px}.summary-panel{width:100%}}.section-nav{border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:20;background:#151616;justify-content:center;align-items:center;gap:36px;height:58px;display:flex;position:sticky;top:72px}.section-nav a{color:#d3d1ca;text-transform:uppercase;font-size:11px;font-weight:800;text-decoration:none}.section-nav a:hover{color:var(--accent)}.about-band,.team-band{background:#151616;grid-template-columns:.8fr 1.2fr;gap:80px;padding:80px max(5vw,50vw - 600px);display:grid}.about-band h2,.content-heading h2,.team-band h2,.reviews-copy h2,.contact-section h2{text-transform:uppercase;margin:0;font-family:Oswald;font-size:clamp(36px,5vw,58px);line-height:1.08}.about-band p{color:#b9b7b1;margin:0;font-size:17px;line-height:1.8}.about-values{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px;display:grid}.about-values span{border-top:1px solid var(--line);text-transform:uppercase;padding-top:14px;font-size:12px}.about-values b{color:var(--accent);margin-bottom:5px;display:block}.content-section{width:min(1200px,100% - 36px);margin:auto;padding:84px 0}.content-heading{max-width:650px;margin-bottom:35px}.content-heading p{color:var(--muted);line-height:1.7}.services-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.services-grid article{background:var(--surface);flex-direction:column;min-height:310px;padding:27px;display:flex}.services-grid>article>svg{color:var(--accent);margin:20px 0;font-size:24px}.service-number{color:#777;font-family:Oswald}.services-grid h3{text-transform:uppercase;margin:0;font-family:Oswald;font-size:22px}.services-grid p{color:var(--muted);font-size:13px;line-height:1.65}.services-grid footer{border-top:1px solid var(--line);justify-content:space-between;margin-top:auto;padding-top:17px;display:flex}.services-grid footer span{color:var(--muted);align-items:center;gap:6px;font-size:12px;display:flex}.services-grid footer strong{font-size:20px}.team-band{grid-template-columns:.7fr 1.3fr}.team-list{background:var(--line);gap:1px;display:grid}.team-list article{background:var(--surface);align-items:center;gap:20px;padding:20px;display:flex}.team-list article>span{background:var(--accent);place-items:center;width:58px;height:58px;font-family:Oswald;font-size:21px;display:grid}.team-list h3{text-transform:uppercase;margin:0;font-family:Oswald;font-size:20px}.team-list p{color:var(--muted);margin:4px 0 0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.gallery-grid figure{aspect-ratio:1;background-size:200% 200%;margin:0;position:relative;overflow:hidden}.gallery-0{background-position:0 0}.gallery-1{background-position:100% 0}.gallery-2{background-position:0 100%}.gallery-3{background-position:100% 100%}.gallery-grid figcaption{text-transform:uppercase;background:#151616e6;padding:8px 11px;font-size:11px;font-weight:700;position:absolute;bottom:14px;left:14px}.reviews-band{background:#151616;padding:84px 18px}.reviews-inner{grid-template-columns:1.25fr .75fr;gap:55px;width:min(1200px,100%);margin:auto;display:grid}.reviews-copy h2{max-width:600px}.review-list{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px;display:grid}.review-list article{background:var(--surface);border:1px solid var(--line);padding:20px}.stars{color:#555;gap:3px;font-size:12px;display:flex}.stars .on{color:#d4a847}.review-list p{color:#d2d0ca;font-size:13px;line-height:1.7}.review-list strong{text-transform:uppercase;font-size:12px}.review-list small{color:#d4a847;margin-top:7px;display:block}.review-form{background:var(--surface);border:1px solid var(--line);padding:28px}.review-form>svg{color:var(--accent);font-size:25px}.review-form h3{text-transform:uppercase;margin:13px 0 3px;font-family:Oswald;font-size:26px}.review-form>p{color:var(--muted);font-size:13px}.review-form label{text-transform:uppercase;flex-direction:column;gap:5px;margin-top:13px;font-size:10px;font-weight:700;display:flex}.review-form textarea{background:var(--surface-soft);color:#fff;border:1px solid var(--line);resize:vertical;min-height:95px;font:inherit;padding:12px}.review-form .confirm-button{margin-top:16px}.contact-section{width:min(1200px,100% - 36px);margin:auto;padding:84px 0}.contact-section>div:first-child{max-width:620px}.contact-section>div:first-child p{color:var(--muted)}.contact-cards{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:32px;display:grid}.contact-cards a{background:var(--surface);border:1px solid var(--line);color:#fff;align-items:center;gap:13px;padding:22px;text-decoration:none;display:flex}.contact-cards svg{color:var(--accent);font-size:18px}.contact-cards span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.contact-cards b{color:#fff;text-transform:uppercase;margin-bottom:4px;display:block}.hours{border:1px solid var(--line);background:#151616;justify-content:space-around;margin-top:12px;padding:18px;display:flex}.hours span{color:var(--muted);font-size:12px}.hours b{color:#fff;margin-left:8px}@media (width<=900px){.section-nav{justify-content:flex-start;padding:0 18px;top:64px;overflow-x:auto}.about-band,.team-band{grid-template-columns:1fr;gap:28px;padding:64px 24px}.services-grid{grid-template-columns:repeat(2,1fr)}.reviews-inner,.review-list{grid-template-columns:1fr}.contact-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.section-nav{gap:24px;height:52px;position:relative;top:auto}.services-grid{grid-template-columns:1fr}.services-grid article{min-height:250px}.gallery-grid,.about-values,.contact-cards{grid-template-columns:1fr}.hours{flex-direction:column;gap:12px}.hours span{justify-content:space-between;display:flex}.reviews-band{padding:60px 12px}.review-form{padding:20px}}.booking-contact{gap:12px;margin-top:18px;display:grid}.booking-contact label{text-transform:uppercase;flex-direction:column;gap:6px;font-size:11px;font-weight:700;display:flex}.booking-contact label small{color:var(--muted);font-weight:400}.booking-contact input,.booking-contact textarea{background:var(--surface-soft);border:1px solid var(--line);color:#fff;width:100%;padding:10px 12px}.booking-contact textarea{resize:vertical;min-height:76px;font:inherit}.gestion-login{background:#111212;place-items:center;min-height:100vh;padding:24px;display:grid}.gestion-login>section{background:var(--surface);border:1px solid var(--line);width:min(420px,100%);padding:34px}.gestion-brand{align-items:center;gap:10px;font-family:Oswald;display:flex}.gestion-brand span,.gestion-lock{background:var(--accent);place-items:center;width:38px;height:38px;display:grid}.gestion-lock{color:var(--accent);background:#343636;margin:42px auto 16px}.gestion-login h1{text-transform:uppercase;text-align:center;margin:0;font-family:Oswald;font-size:31px}.gestion-login section>p{text-align:center;color:var(--muted);margin-bottom:28px;font-size:13px}.gestion-login label{text-transform:uppercase;flex-direction:column;gap:7px;margin-top:14px;font-size:11px;font-weight:700;display:flex}.password-field{display:flex}.password-field input{flex:1}.password-field button{border:1px solid var(--line);color:#fff;background:#222;width:44px}.captcha-wrap{justify-content:center;margin-top:20px;display:flex;overflow:hidden}.gestion-shell{background:var(--paper);min-height:100vh}.gestion-header{border-bottom:1px solid var(--line);background:#111212;justify-content:space-between;align-items:center;height:68px;padding:0 max(20px,4vw);display:flex}.gestion-header>div{align-items:center;gap:14px;display:flex}.gestion-header strong{font-family:Oswald;font-size:18px}.gestion-header span{color:var(--muted);font-size:12px}.gestion-header button{border:1px solid var(--line);background:var(--surface);color:#fff;align-items:center;gap:7px;padding:9px 12px;display:flex}.gestion-tabs{border-bottom:1px solid var(--line);margin-bottom:24px;display:flex}.gestion-tabs button{color:var(--muted);background:0 0;border:0;align-items:center;gap:8px;padding:14px 20px;font-weight:700;display:flex}.gestion-tabs button.active{color:#fff;border-bottom:3px solid var(--accent)}.gestion-tabs b{background:var(--accent);color:#fff;border-radius:50%;place-items:center;min-width:19px;height:19px;font-size:10px;display:grid}.gestion-loading{min-height:300px;color:var(--muted);place-items:center;display:grid}.moderation-list{gap:12px;display:grid}.moderation-list article{background:var(--surface);border:1px solid var(--line);padding:22px}.moderation-meta,.moderation-author,.moderation-author>div{align-items:center;gap:12px;display:flex}.moderation-meta time{color:var(--muted);margin-left:auto;font-size:12px}.moderation-list blockquote{margin:22px 0;font-size:17px;line-height:1.6}.moderation-author{border-top:1px solid var(--line);justify-content:space-between;padding-top:16px}.moderation-author>div:first-child{flex-direction:column;align-items:flex-start;gap:3px;display:flex}.moderation-author small{color:var(--muted)}.moderation-author button{color:#fff;border:0;align-items:center;gap:6px;padding:9px 12px;display:flex}.moderation-author .approve{background:var(--green)}.moderation-author .reject{background:#85372b}@media (width<=600px){.gestion-login>section{padding:24px 18px}.gestion-header{padding:0 14px}.gestion-header>div:first-child span{display:none}.moderation-author{flex-direction:column;align-items:flex-start}.moderation-author>div:last-child{width:100%}.moderation-author button,.gestion-tabs button{flex:1;justify-content:center}}.swal2-popup.reservation-dialog{border:1px solid #464848;border-radius:10px;width:min(480px,100% - 24px);padding:28px;font-family:DM Sans,sans-serif}.reservation-dialog .swal2-title{color:#f4f2ed;padding:0;font-family:Oswald,sans-serif;font-size:30px;line-height:1.2}.reservation-dialog .swal2-html-container{color:#d2d0ca;margin:22px 0 0;font-size:15px}.reservation-dialog .swal2-icon{margin:0 auto 22px}.reservation-dialog .swal2-actions{gap:10px;width:100%;margin:24px 0 0}.reservation-dialog-primary,.reservation-dialog-secondary{min-height:46px;font:inherit;cursor:pointer;border-radius:4px;padding:12px 18px;font-weight:700}.reservation-dialog-primary{color:#fff;background:#c54b32;border:1px solid #c54b32}.reservation-dialog-secondary{color:#f4f2ed;background:0 0;border:1px solid #626565}.reservation-dialog-primary:hover{background:#a43c28}.reservation-dialog-secondary:hover{background:#333535}.reservation-dialog button:focus-visible{outline-offset:3px;outline:2px solid #f1b3a4}.reservation-confirmation{text-align:left}.reservation-confirmation dl{margin:0}.reservation-confirmation dl div{border-bottom:1px solid #464848;grid-template-columns:80px minmax(0,1fr);gap:14px;padding:11px 0;display:grid}.reservation-confirmation dt{color:#aaa9a4;font-size:13px}.reservation-confirmation dd{color:#f4f2ed;overflow-wrap:anywhere;margin:0;font-weight:600}.reservation-confirmation p{margin:16px 0 0;font-size:13px;line-height:1.6}.reservation-confirmation summary{cursor:pointer;color:#d2d0ca;margin-top:20px;font-size:13px}.reservation-confirmation code{color:#f4f2ed;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#202222;border:1px solid #464848;margin-top:10px;padding:12px;font-size:12px;display:block}.booking-contact .field-error{color:#f1b3a4;text-transform:none;font-size:12px;font-weight:500;line-height:1.5}.booking-contact input[aria-invalid=true]{border-color:#ee8d78}@media (width<=600px){.swal2-popup.reservation-dialog{padding:22px 18px}.reservation-dialog .swal2-actions{flex-direction:column}.reservation-dialog .swal2-actions button{width:100%}}.services-grid article{min-height:0;padding:0}.service-photo{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.service-body{flex-direction:column;flex:1;padding:24px;display:flex}.service-body p{flex:1}.service-label{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.service-label svg{color:var(--accent);font-size:20px}.gallery-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.gallery-heading .content-heading{margin-bottom:24px}.carousel-controls{gap:8px;display:flex}.carousel-controls button{border:1px solid var(--line);background:var(--surface);color:#fff;cursor:pointer;place-items:center;width:46px;height:46px;display:grid}.carousel-controls button:disabled{opacity:.35;cursor:default}.haircut-carousel{scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--line) var(--paper);gap:16px;padding-bottom:12px;display:flex;overflow-x:auto}.haircut-carousel figure{background:var(--surface);border:1px solid var(--line);scroll-snap-align:start;flex:0 0 calc(33.3333% - 10.6667px);min-width:0;margin:0}.haircut-carousel img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto;display:block}.haircut-carousel figcaption{text-transform:uppercase;padding:16px;font-family:Oswald,sans-serif;font-size:19px}.carousel-footer{color:var(--muted);justify-content:space-between;gap:12px;margin-top:12px;font-size:12px;display:flex}.haircut-carousel:focus-visible,.carousel-controls button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.admin-filters{flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:24px;display:flex}.admin-filters label{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;display:flex}.admin-filters .admin-search{flex:1;min-width:200px}.admin-filters .text-action{border:1px solid var(--line);background:var(--surface);cursor:pointer;padding:12px}.admin-appointments{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.admin-appointments article{background:var(--surface);border:1px solid var(--line);min-width:0;padding:24px}.admin-appointments article header{justify-content:space-between;align-items:start;gap:16px;display:flex}.admin-appointments header strong{color:var(--muted);font-size:13px}.admin-appointments h2{overflow-wrap:anywhere;margin:6px 0 16px;font-family:Oswald,sans-serif;font-size:24px}.admin-appointments dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;display:grid}.admin-appointments dt{color:var(--muted);margin-bottom:5px;font-size:11px}.admin-appointments dd{overflow-wrap:anywhere;margin:0;font-size:14px}.admin-appointments a{color:#f4f2ed}.admin-appointments details{color:var(--muted);margin:20px 0;font-size:12px}.admin-appointments summary{cursor:pointer}.admin-appointments details p{overflow-wrap:anywhere;line-height:1.6}.admin-appointments footer{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.admin-appointments footer button{color:#fff;border:1px solid var(--line);cursor:pointer;background:#333535;align-items:center;gap:6px;min-height:44px;padding:11px 12px;display:flex}.admin-appointments footer .admin-cancel{color:#f1b3a4}.admin-appointments footer button:disabled{opacity:.5;cursor:default}.admin-appointments .empty-state{text-align:center;grid-column:1/-1;padding:24px}.admin-error{color:#f1b3a4;border:1px solid #85372b;margin-bottom:24px;padding:20px}@media (width<=900px){.haircut-carousel figure{flex-basis:calc(50% - 8px)}.admin-appointments{grid-template-columns:1fr}}@media (width<=600px){.service-body{padding:22px}.haircut-carousel figure{flex-basis:88%}.gallery-heading{align-items:end}.carousel-controls button{width:40px;height:40px}.carousel-footer{flex-direction:column;gap:6px}.admin-filters label,.admin-filters input,.admin-filters select{width:100%}.admin-appointments article{padding:18px}.admin-heading .text-action{align-self:flex-start}}
