:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;color:#373931;background:#f8f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button{font-family:inherit}::selection{color:#292c26;background:#e7ddc8}#root{min-height:100svh}.booking-shell{background:radial-gradient(at 78% 15%,#e2d5b829,#0000 31rem),#f8f7f4;flex-direction:column;min-height:100svh;display:flex;overflow:hidden}.site-header{border-bottom:1px solid #e9e6df;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,6.2vw,96px);display:flex}.brand{color:#252922;text-align:left;letter-spacing:1.5px;align-items:center;gap:11px;font-size:12px;font-weight:800;line-height:1.3;text-decoration:none;display:inline-flex}.brand-mark{color:#a18653;border:1px solid #b3a17c;place-items:center;width:37px;height:37px;font-family:Georgia,serif;font-size:23px;font-weight:400;display:grid}.brand-subtitle{color:#827f77;letter-spacing:2.05px;margin-top:3px;font-size:8px;font-weight:600;display:block}.header-note{color:#797a70;font-family:Georgia,serif;font-size:15px;font-style:italic}.header-actions{align-items:center;gap:18px;display:flex}.booking-content{flex:1;width:min(100% - 40px,650px);margin:0 auto;padding:68px 0 80px}.intro{text-align:center}.eyebrow,.section-kicker{color:#9d865b;letter-spacing:2.15px;margin:0;font-size:10px;font-weight:700;line-height:1.4}.intro h1{color:#292c26;letter-spacing:-1.45px;margin:13px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:clamp(35px,6vw,46px);font-weight:400;line-height:1.13}.intro-copy{color:#74766e;font-size:14px;line-height:1.6}.steps{color:#a3a29b;justify-content:center;align-items:center;gap:13px;margin:34px 0 25px;font-size:11px;font-weight:600;display:flex}.step-item{align-items:center;gap:13px;display:flex}.step{white-space:nowrap;align-items:center;gap:8px;display:inline-flex}.step-current,.step-complete{color:#393b32}.step-number{color:#88877f;border:1px solid #d9d7d0;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;display:grid}.step-current .step-number,.step-complete .step-number{color:#fff;background:#a28c62;border-color:#a28c62}.step-connector{background:#dfddd6;width:35px;height:1px}.calendar-card,.barber-card{background:#ffffffdb;border:1px solid #e9e6df;box-shadow:0 18px 55px #302b200e}.calendar-card{padding:27px 33px 19px}.calendar-header{justify-content:space-between;align-items:center;min-height:46px;margin-bottom:19px;display:flex}.calendar-header h2,.selected-date-bar h2{color:#30322c;letter-spacing:-.2px;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400}.section-kicker{letter-spacing:1.65px;font-size:8px}.month-controls{align-items:center;gap:11px;display:flex}.month-label{color:#41423c;text-align:center;min-width:105px;font-size:12px;font-weight:600}.icon-button{color:#5f6058;cursor:pointer;background:#fff;border:1px solid #e8e6df;border-radius:50%;place-items:center;width:31px;height:31px;font-size:15px;transition:background .15s,border-color .15s;display:grid}.icon-button:not(:disabled):hover{background:#fbf9f4;border-color:#b7a47d}.icon-button:disabled{color:#c9c7c0;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px 8px;display:grid}.weekday{color:#a09f98;text-align:center;padding:4px 0 9px;font-size:10px;font-weight:600}.date-cell,.calendar-blank{min-width:0;height:43px}.date-cell{color:#464841;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;font-size:12px;transition:background .15s,color .15s,border-color .15s;display:grid;position:relative}.date-cell:not(:disabled):hover{background:#f7f3e9;border-color:#d8c9a9}.date-cell:disabled{color:#d3d1cb;cursor:not-allowed}.date-cell.date-today{color:#776343;border-color:#a28c62;font-weight:700}.today-dot,.legend-dot{background:#a28c62;border-radius:50%;width:4px;height:4px}.today-dot{position:absolute;bottom:5px}.calendar-footer{color:#8e8d85;border-top:1px solid #f0eee9;align-items:center;gap:7px;min-height:43px;margin-top:14px;font-size:10px;display:flex}.calendar-footer p{text-align:right;margin-left:auto}.legend-dot{width:6px;height:6px}.barber-card{overflow:hidden}.selected-date-bar{background:#fcfbf8;border-bottom:1px solid #ece9e2;justify-content:space-between;align-items:center;gap:15px;padding:19px 28px;display:flex}.selected-date-bar h2{font-size:17px}.text-button{color:#8b744b;cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:7px;padding:8px 0 8px 8px;font-size:11px;font-weight:600;display:inline-flex}.text-button:hover{color:#5e4a29;text-underline-offset:3px;text-decoration:underline}.barber-body{padding:26px 28px 30px}.barber-body>h2{color:#30322c;margin:5px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400}.availability-note{color:#85857d;max-width:480px;font-size:11px;line-height:1.6}.barber-list{gap:9px;margin-top:22px;display:grid}.barber-option{color:#373931;cursor:pointer;text-align:left;background:#fff;border:1px solid #e9e6df;align-items:center;gap:13px;width:100%;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.barber-option:hover,.barber-option.barber-selected{background:#fcfbf7;border-color:#b8a47b}.barber-avatar{color:#85724d;background:#eeece5;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:17px;display:grid}.barber-details{gap:3px;display:grid}.barber-details strong{font-size:12px;font-weight:600}.barber-details span{color:#929189;font-size:10px}.selection-indicator{color:#fff;border:1px solid #d9d6ce;border-radius:50%;place-items:center;width:19px;height:19px;margin-left:auto;font-size:10px;display:grid}.barber-selected .selection-indicator{background:#a28c62;border-color:#a28c62}.status-panel{color:#696a62;background:#faf9f6;border:1px solid #eeece6;align-items:flex-start;gap:11px;margin-top:22px;padding:16px;font-size:12px;line-height:1.6;display:flex}.status-warning{background:#fbf8f1;border-color:#e7dfd0}.status-icon{color:#8b744b;border:1px solid #cdbb98;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:11px;display:grid}.loader{border:2px solid #e3dfd5;border-top-color:#a28c62;border-radius:50%;flex:0 0 16px;width:16px;height:16px;margin-top:1px;animation:.7s linear infinite spin}.selection-confirmation,.data-warning{color:#77776e;margin:15px 0 0;font-size:11px;line-height:1.55}.data-warning{color:#8b744b}.time-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px;display:grid}.time-slot{color:#373931;cursor:pointer;min-height:43px;font:inherit;background:#fff;border:1px solid #d9d6ce;font-size:12px;transition:border-color .15s,background .15s}.time-slot:hover:not(:disabled){background:#fcfbf7;border-color:#a28c62}.time-slot:disabled{color:#aaa9a2;cursor:not-allowed;background:#f1f0ec;text-decoration:line-through}.customer-form{gap:15px;margin-top:22px;display:grid}.customer-form label{color:#55564e;gap:7px;font-size:12px;font-weight:600;display:grid}.customer-form input{color:#292c26;min-height:43px;font:inherit;background:#fff;border:1px solid #d9d6ce;border-radius:0;padding:0 12px;font-size:14px}.customer-form input:focus-visible{outline-offset:2px;outline:2px solid #91794f}.submit-booking{color:#fff;cursor:pointer;min-height:44px;font:inherit;background:#8b744b;border:1px solid #8b744b;margin-top:18px;padding:0 18px;font-size:12px;font-weight:600}.submit-booking:hover:not(:disabled){background:#705b37}.submit-booking:disabled{cursor:wait;opacity:.65}.form-error{color:#a32020;margin:0;font-size:12px}.booking-success{color:#55564e;text-align:center;background:#fff;border:1px solid #ece9e2;padding:30px;line-height:1.6}.booking-success h2{color:#292c26;margin:8px 0;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400}.booking-success p{font-size:13px}.backoffice-shell{background:#f8f7f4;min-height:100svh}.backoffice-content{width:min(100% - 40px,980px);margin:0 auto;padding:48px 0 72px}.backoffice-content>h1{color:#292c26;margin:8px 0 24px;font-family:Georgia,Times New Roman,serif;font-size:38px;font-weight:400}.backoffice-card{background:#fff;border:1px solid #e9e6df;margin:18px 0;padding:22px}.backoffice-card>h2{color:#30322c;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400}.backoffice-card>p{color:#74766e;font-size:12px;line-height:1.6}.backoffice-toolbar{color:#74766e;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:12px;display:flex}.backoffice-toolbar>div{gap:8px;display:flex}.backoffice-button{color:#373931;cursor:pointer;background:#fff;border:1px solid #d9d6ce;min-height:36px;padding:0 12px}.backoffice-button:disabled{cursor:wait;opacity:.65}.backoffice-tabs{border-bottom:1px solid #e2dfd7;gap:5px;margin:14px 0 18px;display:flex}.backoffice-tabs button{color:#77776e;cursor:pointer;min-height:43px;font:inherit;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 17px;font-size:12px;font-weight:600}.backoffice-tabs button[aria-selected=true]{color:#373931;border-bottom-color:#8b744b}.backoffice-tabs button:focus-visible{outline-offset:-2px;outline:2px solid #91794f}.backoffice-subheading{color:#30322c;margin:27px 0 0;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.reservation-list{display:grid}.reservation-filter{color:#55564e;gap:7px;max-width:360px;margin:18px 0;font-size:12px;font-weight:600;display:grid}.reservation-filter select{color:#292c26;min-height:43px;font:inherit;background:#fff;border:1px solid #d9d6ce;border-radius:0;padding:0 12px;font-size:14px}.reservation-day-nav{align-items:center;gap:10px;margin:20px 0 0;display:flex}.reservation-day-heading{gap:3px;min-width:190px;display:grid}.reservation-day-heading strong{color:#373931;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.reservation-day-heading span,.reservation-day-count{color:#85857d;font-size:11px}.reservation-day-count{margin:12px 0}.reservation-date-picker input{color:#373931;min-height:36px;font:inherit;background:#fff;border:1px solid #d9d6ce;padding:0 9px;font-size:11px}.reservation-calendar-list{display:grid}.reservation-calendar-list .reservation-item{grid-template-columns:78px minmax(140px,1fr) minmax(180px,1fr);align-items:center}.reservation-time{color:#77776e;align-content:center;gap:3px;font-size:11px;display:grid}.reservation-time strong{color:#6f6044;font-size:14px;font-weight:600}.reservation-customer strong{color:#373931;font-size:12px;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reservation-item{color:#696a62;border-top:1px solid #eeece6;grid-template-columns:1.2fr 1.2fr 1fr auto;gap:15px;padding:14px 0;font-size:12px;display:grid}.reservation-item>div{overflow-wrap:anywhere;align-content:start;gap:5px;display:grid}.reservation-item strong{color:#373931}.customer-form select{color:#292c26;min-height:43px;font:inherit;background:#fff;border:1px solid #d9d6ce;border-radius:0;padding:0 12px;font-size:14px}.success-message{color:#336b43;margin:0;font-size:12px}.site-footer{color:#9b9a92;letter-spacing:.2px;border-top:1px solid #e9e6df;justify-content:space-between;padding:19px clamp(22px,6.2vw,96px);font-size:10px;display:flex}.welcome-shell{background:radial-gradient(at 72% 45%,#c5b6922e,#0000 29rem),#f8f7f4;flex-direction:column;min-height:100svh;display:flex;overflow:hidden}.welcome-header{border-bottom:1px solid #e9e6df;justify-content:space-between;align-items:center;height:82px;padding:0 clamp(22px,6.2vw,96px);display:flex}.welcome-brand{color:#292c26;align-items:center;gap:11px;font-family:Georgia,Times New Roman,serif;font-size:19px;text-decoration:none;display:inline-flex}.welcome-brand-mark{color:#a18653;border:1px solid #b3a17c;place-items:center;width:37px;height:37px;font-size:23px;display:grid}.welcome-hero{flex:1;grid-template-columns:1fr .9fr;align-items:center;gap:50px;width:min(100% - 48px,1100px);margin:0 auto;padding:72px 0 90px;display:grid}.welcome-copy{padding:20px 0}.welcome-eyebrow{color:#8b744b;letter-spacing:2px;align-items:center;gap:9px;margin:0 0 23px;font-size:10px;font-weight:700;display:flex}.welcome-eyebrow span{background:#a28c62;width:21px;height:1px}.welcome-copy h1{color:#292c26;letter-spacing:-3px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(52px,7.7vw,88px);font-weight:400;line-height:.99}.welcome-copy h1 span{color:#9b8359;font-style:italic}.welcome-description{color:#74766e;max-width:420px;margin:24px 0 27px;font-size:14px;line-height:1.8}.welcome-cta{color:#fff;background:#8b744b;border:1px solid #8b744b;justify-content:space-between;align-items:center;gap:25px;min-height:48px;margin-top:16px;padding:0 15px;font-family:inherit;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s;display:inline-flex}.welcome-cta:hover{background:#705b37}.welcome-contact-number{color:#6f6044;width:fit-content;margin-top:11px;font-size:12px;font-weight:600;text-decoration:none;display:block}.welcome-contact-number:hover{text-underline-offset:3px;text-decoration:underline}.welcome-note{color:#9b9a92;margin:14px 0 0;font-size:10px}.welcome-art{background:#efece36b;border:1px solid #a28c6247;place-items:center;min-height:390px;display:grid;position:relative;overflow:hidden}.welcome-art-ring{aspect-ratio:1;border:1px solid #a28c628a;border-radius:50%;width:min(32vw,350px);position:absolute}.welcome-art-ring-outer{transform:translate(18px,-2px)}.welcome-art-ring-inner{width:min(24vw,260px);transform:translate(-16px,12px)}.welcome-art-label{z-index:1;color:#494438;letter-spacing:2px;text-align:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,46px);line-height:1.08}.welcome-art-star{color:#a28c62;font-size:23px;position:absolute;top:17%;right:20%}.welcome-art-number{color:#8d887a;letter-spacing:2px;font-size:10px;position:absolute;bottom:22px;left:24px}.welcome-footer{color:#9b9a92;border-top:1px solid #e9e6df;justify-content:space-between;padding:19px clamp(22px,6.2vw,96px);font-size:10px;display:flex}.date-cell:focus-visible,.icon-button:focus-visible,.text-button:focus-visible,.barber-option:focus-visible,.time-slot:focus-visible,.submit-booking:focus-visible,.brand:focus-visible,.welcome-brand:focus-visible,.welcome-cta:focus-visible,.welcome-contact-number:focus-visible{outline-offset:3px;outline:2px solid #91794f}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=560px){.welcome-header{height:70px}.welcome-brand{font-size:17px}.welcome-hero{grid-template-columns:1fr;gap:36px;width:min(100% - 36px,440px);padding:49px 0 55px}.welcome-copy h1{letter-spacing:-2px;font-size:clamp(51px,14vw,70px)}.welcome-art{min-height:260px}.welcome-art-ring{width:230px}.welcome-art-ring-inner{width:175px}.welcome-art-label{font-size:32px}.welcome-footer{gap:12px;font-size:9px}.site-header{height:70px}.header-note{font-size:12px}.header-actions{gap:7px}.booking-content{width:min(100% - 28px,440px);padding-top:47px}.intro h1{font-size:36px}.steps{gap:5px;margin:27px 0 20px;font-size:9px}.step-item{gap:5px}.step{gap:4px}.step-connector{width:12px}.calendar-card{padding:20px 13px 12px}.calendar-header{align-items:flex-start;gap:8px}.calendar-header h2{font-size:18px}.month-controls{gap:5px}.month-label{min-width:88px;font-size:11px}.icon-button{width:28px;height:28px}.calendar-grid{gap:4px 2px}.date-cell,.calendar-blank{height:42px}.calendar-footer{flex-wrap:wrap;font-size:9px}.calendar-footer p{text-align:left;flex-basis:100%;margin:0 0 5px}.selected-date-bar{align-items:flex-start;padding:17px 16px}.selected-date-bar h2{max-width:220px;font-size:15px}.text-button{font-size:10px}.barber-body{padding:22px 16px 24px}.barber-body>h2{font-size:20px}.time-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.backoffice-content{width:min(100% - 28px,440px);padding-top:34px}.backoffice-content>h1{font-size:32px}.backoffice-card{padding:16px}.backoffice-toolbar{flex-direction:column;align-items:flex-start}.backoffice-tabs{gap:0}.backoffice-tabs button{flex:1;padding:0 7px;font-size:11px}.reservation-item{grid-template-columns:1fr 1fr;gap:10px}.reservation-day-nav{flex-wrap:wrap}.reservation-day-heading{flex:1;min-width:0}.reservation-calendar-list .reservation-item{grid-template-columns:54px minmax(0,1fr)}.reservation-calendar-list .reservation-item>div:last-child{grid-column:2}.site-footer{gap:8px;font-size:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
