@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif:ital@0;1&display=swap');
:root{--ed-ink:#27231f;--ed-muted:#746d66;--ed-paper:#f8f3ed;--ed-card:#fffdfa;--ed-line:#ddd4ca;--ed-rose:#c9827b;--ed-rose-soft:#f0d9d2;--ed-sage:#798a6b;--ed-shadow:0 20px 55px rgba(71,52,34,.09);--ed-radius:20px;--ed-font:'DM Sans',sans-serif;--ed-serif:'Instrument Serif',serif}
body:not(.be-home):not(.me-page){background:linear-gradient(180deg,#f8f3ed 0,#fffaf5 100%)!important;color:var(--ed-ink);font-family:var(--ed-font)!important}.site-header,.site-footer,.booking-panel,.booking-summary,.guest-booking-card,.pricing-section,.price-card,.settings-card,.table-card,.calendar-card,.booking-filter-card,.booking-management-card,.integration-card,.admin-plan-card,.current-plan-card,.moderation-card,.login-card{border-color:var(--ed-line)!important;background:rgba(255,253,250,.9)!important;box-shadow:var(--ed-shadow)!important}.site-header{position:sticky!important;top:12px!important;z-index:100!important;width:min(1450px,calc(100% - 32px))!important;min-height:72px!important;margin:12px auto 24px!important;padding:10px 16px 10px 22px!important;border:1px solid rgba(104,82,62,.16)!important;border-radius:19px!important;backdrop-filter:blur(20px)}.site-header .site-wordmark{filter:none!important}.desktop-nav{gap:26px!important}.desktop-nav a{color:#514b45!important;font-size:13px!important;font-weight:600!important}.desktop-nav a.active,.desktop-nav a:hover{color:var(--ed-ink)!important}.button,.admin-primary,.admin-secondary,.gradient-button,.plan-cta{min-height:44px!important;border-radius:9px!important;font-family:var(--ed-font)!important;font-weight:700!important;box-shadow:none!important;transition:transform .2s,box-shadow .2s!important}.button:hover,.admin-primary:hover,.admin-secondary:hover,.gradient-button:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(53,39,27,.13)!important}.button-dark,.admin-primary,.gradient-button{border:1px solid var(--ed-ink)!important;background:var(--ed-ink)!important;color:#fff!important}.button-light,.admin-secondary{border:1px solid var(--ed-line)!important;background:#fff!important;color:var(--ed-ink)!important}.eyebrow,.admin-kicker,.pricing-kicker,.plan-type{color:var(--ed-rose)!important;font-size:11px!important;letter-spacing:.15em!important}.site-footer{width:min(1450px,calc(100% - 32px))!important;margin:24px auto 12px!important;border:0!important;border-radius:22px!important;background:#29231f!important;color:#fff!important}.site-footer a,.site-footer p{color:#c6bbb1!important}.site-footer .footer-logo{filter:brightness(0) invert(1)}
/* Public booking and marketplace */
.booking-page,.guest-booking-page,.waitlist-response-page{padding-bottom:40px!important}.booking-shell{width:min(1450px,calc(100% - 36px))!important;margin:0 auto!important}.booking-progress{border:1px solid var(--ed-line)!important;border-radius:16px!important;background:rgba(255,253,250,.82)!important;box-shadow:0 12px 34px rgba(71,52,34,.06)!important}.booking-progress .active{background:var(--ed-ink)!important;color:#fff!important}.booking-panel,.booking-summary{border-radius:20px!important}.booking-panel{padding:30px!important}.panel-heading h2,.calendar-panel-title h2,.discovery-header h1,.guest-booking-card h1,.pricing-heading h1{font-family:var(--ed-serif)!important;font-weight:400!important;letter-spacing:-.025em!important}.panel-heading h2,.calendar-panel-title h2{font-size:34px!important}.discovery-header h1,.pricing-heading h1{font-size:clamp(46px,5vw,76px)!important}.form-grid input,.form-grid select,.field-label input,.field-label select,.service-picker-search input,.marketplace-search input,.booking-search input,.settings-form input,.settings-form select,.settings-form textarea,.login-card input,.inline-fields input,.inline-fields select{min-height:48px!important;border:1px solid var(--ed-line)!important;border-radius:10px!important;background:#fff!important;color:var(--ed-ink)!important;box-shadow:none!important;outline:none!important}.form-grid input:focus,.field-label input:focus,.settings-form input:focus,.login-card input:focus{border-color:var(--ed-rose)!important;box-shadow:0 0 0 3px rgba(201,130,123,.12)!important}.direct-booking-layout{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr)!important;gap:20px!important}.direct-booking-details,.direct-booking-calendar{border:1px solid var(--ed-line)!important;border-radius:20px!important;background:rgba(255,253,250,.92)!important;box-shadow:var(--ed-shadow)!important}.direct-booking-details{padding:27px!important}.availability-calendar{padding:20px!important;border:1px solid var(--ed-line)!important;border-radius:17px!important;background:#fff!important}.availability-toolbar{min-height:58px!important;border-bottom:1px solid var(--ed-line)!important}.calendar-month-trigger{border:0!important;background:#f3ede7!important;font-family:var(--ed-serif)!important;font-size:25px!important}.week-navigation button,.availability-week button,.selected-time-slots button,.calendar-month-options button{border:1px solid var(--ed-line)!important;border-radius:10px!important;background:#fff!important;color:var(--ed-ink)!important}.week-navigation button:hover,.selected-time-slots button:hover{border-color:var(--ed-rose)!important}.availability-week .active,.selected-time-slots .active,.selected-time-slots button.selected{border-color:var(--ed-sage)!important;background:var(--ed-sage)!important;color:#fff!important;box-shadow:none!important}.back-button,.booking-calendar-actions button{border:1px solid var(--ed-line)!important;border-radius:10px!important;background:#fff!important;color:var(--ed-ink)!important}.service-picker-trigger{border:1px solid var(--ed-line)!important;border-radius:12px!important;background:#fff!important}.service-picker-panel{border:1px solid var(--ed-line)!important;border-radius:15px!important;background:#fffdfa!important;box-shadow:var(--ed-shadow)!important}.service-picker-list button{border-color:#e9e0d8!important;background:#fff!important}.service-picker-list button:hover,.service-picker-list button.active{border-color:var(--ed-rose)!important;background:#fbf2ed!important}.booking-summary{background:#f0e6dc!important}.booking-reference-card,.booking-waitlist,.booking-safe-note,.waitlist-intro{border-color:var(--ed-line)!important;border-radius:14px!important;background:#fbf7f2!important}.direct-booking-submit{background:var(--ed-ink)!important;color:#fff!important;border-radius:10px!important}.salon-list,.marketplace-shortcuts,.marketplace-results-meta{gap:12px!important}.salon-list article,.map-salon-list article,.marketplace-shortcuts a{border:1px solid var(--ed-line)!important;border-radius:15px!important;background:#fffdfa!important;box-shadow:0 12px 30px rgba(70,51,34,.06)!important}.discovery-view-toggle,.marketplace-load-more{border-color:var(--ed-line)!important;background:#fff!important}.salon-map{border-color:var(--ed-line)!important;border-radius:18px!important;filter:saturate(.72) sepia(.12)}.booking-success,.guest-booking-result,.waitlist-success{border:1px solid var(--ed-line)!important;border-radius:18px!important;background:#fffdfa!important}.success-icon{background:var(--ed-sage)!important}
/* Pricing */
.pricing-hero{padding:75px 0 45px!important}.pricing-grid{gap:18px!important}.price-card{border-radius:20px!important}.price-card.featured{border-color:var(--ed-rose)!important;background:#fffaf6!important}.plan-badge,.promo-pill{background:var(--ed-rose-soft)!important;color:#8d514b!important}.plan-price{font-family:var(--ed-serif)!important;font-weight:400!important}.billing-toggle{border-color:var(--ed-line)!important;background:#eee7e0!important}.billing-toggle button.active{background:#fff!important;color:var(--ed-ink)!important}.pricing-compare,.promise-grid>article,.pricing-faq details{border-color:var(--ed-line)!important;background:#fffdfa!important;border-radius:14px!important}.studio-later{color:#5f5953!important;background:#efe6de!important;opacity:1!important}
/* Auth */
.login-body{background:radial-gradient(circle at 15% 10%,rgba(220,181,161,.24),transparent 35%),linear-gradient(135deg,#f8f3ed,#fffaf5)!important}.auth-shell{max-width:1120px!important}.login-card{padding:38px!important;border-radius:22px!important}.login-brand-logo{filter:none!important}.login-kicker{color:var(--ed-rose)!important}.login-card h1{font-family:var(--ed-serif)!important;font-size:45px!important;font-weight:400!important}.guest-booking-login{border-color:var(--ed-line)!important;background:#f5ede6!important}.login-hint{color:var(--ed-muted)!important}
/* Admin and client cabinet */
.admin-main{background:linear-gradient(145deg,#f7f2ec,#fffaf5)!important}.admin-sidebar{border-right:1px solid var(--ed-line)!important;background:rgba(255,253,250,.96)!important;color:var(--ed-ink)!important;box-shadow:10px 0 35px rgba(70,52,35,.05)!important}.admin-sidebar a{border-radius:10px!important;color:#655e57!important}.admin-sidebar a.active{background:#eee2d8!important;color:var(--ed-ink)!important}.admin-sidebar a.active .ui-icon{color:var(--ed-rose)!important}.sidebar-user{border-color:var(--ed-line)!important;background:#f8f1ea!important}.admin-topbar{margin-bottom:22px!important;padding:23px 26px!important;border:1px solid var(--ed-line)!important;border-radius:18px!important;background:rgba(255,253,250,.82)!important;box-shadow:0 14px 35px rgba(69,51,35,.05)!important}.admin-topbar h1{font-family:var(--ed-serif)!important;font-size:38px!important;font-weight:400!important}.settings-card,.table-card,.calendar-card,.booking-management-card,.booking-filter-card,.current-plan-card,.admin-plan-card{border-radius:18px!important}.settings-heading h2,.booking-management-head h2,.table-head h2,.calendar-toolbar h2,.admin-plan-head h2{font-family:var(--ed-serif)!important;font-size:27px!important;font-weight:400!important}.stats-row,.booking-stat-grid{gap:13px!important}.stats-row>article,.booking-stat-grid>article,.gradient-stat,.integration-stat{border:1px solid var(--ed-line)!important;border-radius:16px!important;background:#fffdfa!important;color:var(--ed-ink)!important;box-shadow:0 12px 30px rgba(67,48,31,.05)!important}.gradient-stat{background:linear-gradient(140deg,#f1dfd7,#fffdfa)!important}.week-grid,.booking-data-list,.service-admin-list,.block-list{border-color:var(--ed-line)!important;border-radius:15px!important;background:#fff!important}.day-column,.booking-data-row,.service-admin-card,.block-row,.weekday-row,.destination-row{border-color:#e9e0d8!important}.day-head.today,.booking-tabs a.active{background:var(--ed-rose-soft)!important;color:#864f49!important}.calendar-event{border-color:#d8c9bc!important;background:#f6eee7!important;color:var(--ed-ink)!important}.status,.status-pill,.subscription-status{border-radius:999px!important}.status-confirmed,.connected,.subscription-status.active{background:#e5eee1!important;color:#55744d!important}.status-cancelled{background:#f3dfdc!important;color:#97584f!important}.profile-editor-layout,.admin-split,.schedule-layout,.calendar-import-grid,.integration-grid,.cabinet-grid,.profile-layout{gap:18px!important}.profile-photo-preview{border-color:var(--ed-line)!important;border-radius:16px!important}.profile-step{background:var(--ed-rose)!important;color:#fff!important}.profile-prompts button,.profile-tool-links a,.profile-language-list label,.file-drop,.connected-account,.format-preview,.guide-copy-card{border-color:var(--ed-line)!important;border-radius:12px!important;background:#fbf7f2!important}.profile-progress-ring{--ring-color:var(--ed-rose)!important}.portfolio-admin-card{border-color:var(--ed-line)!important;border-radius:14px!important}.portfolio-admin-card img{border-radius:13px 13px 0 0!important}.cabinet-qr{border:10px solid #fff!important;border-radius:15px!important;box-shadow:0 12px 30px rgba(61,45,31,.09)!important}.integration-guide,.backup-overview,.subscription-overview{border-color:var(--ed-line)!important;border-radius:18px!important;background:#f7eee6!important}.guide-badge,.provider-logo,.import-card-icon{background:var(--ed-rose-soft)!important;color:#9a5952!important}.booking-data-head{color:var(--ed-muted)!important}.booking-pagination a{border-color:var(--ed-line)!important;background:#fff!important}.booking-pagination a:not(.disabled):hover{border-color:var(--ed-rose)!important}.alert{border-radius:12px!important}.alert-success{border-color:#cbdcc5!important;background:#edf5ea!important;color:#526c4d!important}.alert-error{border-color:#e8c7c1!important;background:#faeae7!important;color:#8f5149!important}
/* Superadmin */
.platform-admin{background:linear-gradient(145deg,#f7f2ec,#fffaf5)!important}.platform-header{border-color:var(--ed-line)!important;background:rgba(255,253,250,.9)!important;backdrop-filter:blur(18px)}.platform-title h1{font-family:var(--ed-serif)!important;font-size:42px!important;font-weight:400!important}.moderation-tabs a{border-color:var(--ed-line)!important;background:#fff!important;color:var(--ed-ink)!important}.moderation-tabs a.active{background:var(--ed-ink)!important;color:#fff!important}.moderation-cover{border-radius:15px!important}.approve{background:var(--ed-sage)!important}.reject{background:#a8645c!important}
/* Floating mobile navigation */
.admin-bottom-shell{padding:0 10px calc(10px + env(safe-area-inset-bottom))!important;background:transparent!important}.admin-bottom-nav{min-height:66px!important;padding:6px!important;border:1px solid rgba(112,91,71,.16)!important;border-radius:22px!important;background:rgba(255,253,250,.86)!important;box-shadow:0 15px 38px rgba(51,39,28,.18)!important;backdrop-filter:blur(22px)!important}.admin-bottom-nav a{position:relative;border-radius:17px!important;color:#7b746d!important}.admin-bottom-nav a.active{background:#ebe0d7!important;color:var(--ed-ink)!important}.admin-bottom-nav a.active .ui-icon{transform:scale(1.08)}.admin-more-sheet{border-radius:24px 24px 0 0!important;background:#fffdfa!important}.marketplace-mobile-nav{border:1px solid rgba(112,91,71,.16)!important;border-radius:22px!important;background:rgba(255,253,250,.9)!important;box-shadow:0 15px 38px rgba(51,39,28,.18)!important;backdrop-filter:blur(22px)!important}
@media(max-width:900px){.site-header{top:7px!important;width:calc(100% - 16px)!important;min-height:62px!important;margin:7px auto 14px!important;padding:7px 9px 7px 12px!important;border-radius:16px!important}.mobile-menu{top:calc(100% + 7px)!important;border:1px solid var(--ed-line)!important;border-radius:15px!important;background:#fffdfa!important;box-shadow:var(--ed-shadow)!important}.booking-shell{width:calc(100% - 16px)!important}.booking-panel{padding:19px!important}.direct-booking-layout{grid-template-columns:1fr!important}.direct-booking-details,.direct-booking-calendar{border-radius:16px!important}.availability-calendar{padding:12px!important}.panel-heading h2,.calendar-panel-title h2{font-size:28px!important}.direct-booking-details{padding:20px!important}.pricing-hero{padding-top:45px!important}.admin-topbar{padding:18px!important}.admin-topbar h1{font-size:32px!important}.settings-card,.table-card,.calendar-card,.booking-management-card,.booking-filter-card{border-radius:16px!important}.site-footer{width:calc(100% - 16px)!important}.profile-editor-layout,.admin-split,.schedule-layout,.calendar-import-grid,.integration-grid,.cabinet-grid,.profile-layout{grid-template-columns:1fr!important}}
@media(max-width:560px){.availability-toolbar{padding-inline:4px!important}.calendar-month-trigger{font-size:21px!important}.availability-week{gap:5px!important}.availability-week button{min-width:52px!important;padding-inline:5px!important}.week-navigation{gap:7px!important}.selected-time-slots{grid-template-columns:repeat(3,1fr)!important}.login-card{padding:26px 20px!important}.login-card h1{font-size:38px!important}.pricing-heading h1,.discovery-header h1{font-size:45px!important}.admin-topbar{border-radius:14px!important}.profile-editor-body,.settings-card{padding-inline:16px!important}.booking-data-row{border-radius:12px!important}.site-footer{border-radius:18px!important}}
@media(prefers-reduced-motion:reduce){.button,.admin-primary,.admin-secondary{transition:none!important}}

/* Product-style shared navigation: Menu capsule, brand and a restrained action cluster. */
.site-header{min-height:82px!important;padding:12px 18px!important;border-radius:42px!important;display:flex!important}
.site-header-start{min-width:0;display:flex;align-items:center;gap:12px}
.site-header-start .site-wordmark{width:154px!important;height:42px!important}
.site-header-start .site-wordmark img{width:100%!important;height:100%!important;object-fit:contain!important}
.site-header .site-menu-pill{width:auto;height:38px;padding:0 16px!important;border:1.5px solid var(--ed-ink)!important;border-radius:21px!important;background:#fff!important;color:var(--ed-ink)!important;display:flex!important;align-items:center;justify-content:center;box-shadow:none!important}
.site-header .site-menu-pill b{font-size:13px;font-weight:600}
.site-header .site-menu-pill>span{display:none}
.site-header>.desktop-nav{margin-left:auto;display:flex!important;align-items:center;gap:11px!important}
.site-header>.desktop-nav>a:not(.nav-admin):not(.button){display:none!important}
.site-header>.desktop-nav .button{min-height:48px!important;padding-inline:25px!important;border-radius:25px!important}
.site-header>.desktop-nav .language-select-trigger{border-radius:22px!important}
.site-header+.mobile-menu{position:fixed!important;z-index:99!important;top:104px!important;left:max(16px,calc((100vw - 1450px)/2))!important;width:min(520px,calc(100% - 32px))!important;height:auto!important;max-height:calc(100vh - 124px)!important;padding:12px!important;border:1px solid var(--ed-line)!important;border-radius:24px!important;background:rgba(255,253,250,.97)!important;color:var(--ed-ink)!important;box-shadow:0 22px 55px rgba(54,42,30,.16)!important;backdrop-filter:blur(24px)!important;display:grid!important;grid-template-columns:1fr 1fr!important;align-content:start!important;gap:4px!important;overflow:auto!important;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)!important;transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important}
.site-header+.mobile-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:none!important}
.site-header+.mobile-menu>a{width:100%!important;min-height:50px!important;padding:12px 15px!important;border-radius:14px!important;color:var(--ed-ink)!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;font-size:14px!important;text-align:left!important}
.site-header+.mobile-menu>a:hover{background:#f1eee8!important}
.site-header+.mobile-menu>.button{border:1px solid var(--ed-ink)!important;background:var(--ed-ink)!important;color:#fff!important}
@media(max-width:900px){
  .site-header{min-height:66px!important;padding:8px 10px 8px 14px!important;border-radius:33px!important}
  .site-header-start{flex:1;gap:8px}
  .site-header-start .site-wordmark{width:126px!important;height:38px!important}
  .site-header .site-menu-pill{order:2;width:44px!important;height:44px!important;margin-left:auto!important;padding:10px!important;border:1px solid var(--ed-line)!important;border-radius:50%!important;display:grid!important;gap:5px!important}
  .site-header .site-menu-pill b{display:none}
  .site-header .site-menu-pill>span{display:block;width:19px;height:1.5px;margin:0;background:var(--ed-ink)}
  .site-header>.mobile-header-language{order:2;margin-left:auto}
  .site-header-start .site-menu-pill{position:absolute;right:10px}
  .site-header-start{padding-right:48px}
  .site-header+.mobile-menu{top:80px!important;right:8px!important;left:8px!important;width:auto!important;max-height:calc(100vh - 96px)!important;grid-template-columns:1fr!important;border-radius:22px!important}
}
@media(max-width:420px){.site-header-start .site-wordmark{width:112px!important}}

/* Homepage navigation follows the editorial handoff: full menu on desktop. */
@media(min-width:1101px){
  body.be-home>.site-header{
    width:min(1440px,calc(100% - 40px))!important;
    min-height:76px!important;
    margin:16px auto 18px!important;
    padding:10px 18px!important;
    border:1px solid var(--ed-line)!important;
    border-radius:22px!important;
    background:rgba(255,253,250,.96)!important;
    box-shadow:0 15px 42px rgba(56,43,31,.08)!important;
  }
  body.be-home>.site-header .site-menu-pill{display:none!important}
  body.be-home>.site-header .site-header-start{flex:0 0 auto}
  body.be-home>.site-header .site-wordmark{width:168px!important;height:46px!important}
  body.be-home>.site-header>.desktop-nav{display:flex!important;gap:24px!important}
  body.be-home>.site-header>.desktop-nav>a:not(.button){display:flex!important;min-height:42px;align-items:center;color:var(--ed-ink)!important;font-size:12px!important}
  body.be-home>.site-header>.desktop-nav .nav-admin{padding-left:20px!important;border-left:1px solid var(--ed-line)!important}
  body.be-home>.site-header>.desktop-nav .button{min-height:46px!important;padding-inline:20px!important;border-radius:10px!important}
}
@media(min-width:1101px) and (max-width:1320px){
  body.be-home>.site-header>.desktop-nav{gap:13px!important}
  body.be-home>.site-header>.desktop-nav>a:not(.button){font-size:10.5px!important}
  body.be-home>.site-header .site-wordmark{width:148px!important}
}

/* Mobile conflict guard for the shared product-style header. */
@media(max-width:900px){
  .site-header>.desktop-nav{display:none!important}
  .site-header>.mobile-header-language{display:flex!important;align-items:center!important}
}

/* Booking handoff 2026-08-25: visual redesign only, existing booking behavior stays intact. */
body:has(.booking-page.is-direct-booking){
  --booking-handoff-bg:#faf7f2;
  --booking-handoff-card:#fffdfb;
  --booking-handoff-soft:#f5eee6;
  --booking-handoff-rose:#c97983;
  --booking-handoff-rose-soft:#f8e6e5;
  --booking-handoff-ink:#281f1c;
  --booking-handoff-muted:#8d8178;
  --booking-handoff-line:#e7ded3;
  background:radial-gradient(circle at 55% 24%,rgba(243,227,225,.45),transparent 38%),var(--booking-handoff-bg)!important;
}
body:has(.booking-page.is-direct-booking)>main{overflow:visible!important}
.direct-master-booking-header{
  width:100%!important;
  min-height:78px!important;
  margin:0!important;
  padding:10px max(28px,calc((100vw - 1320px)/2))!important;
  border:0!important;
  border-bottom:1px solid var(--booking-handoff-line)!important;
  border-radius:0!important;
  background:rgba(255,253,251,.88)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px)!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
}
.direct-master-platform-logo{
  width:auto!important;
  height:auto!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  box-shadow:none!important;
  color:var(--booking-handoff-ink)!important;
  font-family:var(--ed-serif)!important;
  font-size:37px!important;
  font-weight:600!important;
}
.direct-master-platform-logo span{color:var(--booking-handoff-rose)!important}
.direct-master-identity{justify-self:end;margin-right:24px;display:flex!important;align-items:center!important;gap:10px!important}
.direct-master-avatar{width:44px!important;height:44px!important;border-radius:50%!important;background:var(--booking-handoff-soft)!important;object-fit:cover!important}
.direct-master-identity strong{font-size:13px!important}.direct-master-identity small{color:var(--booking-handoff-ink)!important;font-size:10px!important;text-decoration:underline!important}
.direct-master-header-actions{gap:12px!important}.direct-master-profile-link{display:none!important}
.direct-master-language .language-select-trigger{min-width:68px!important;height:44px!important;border-color:var(--booking-handoff-line)!important;border-radius:12px!important;background:#fff!important;color:var(--booking-handoff-ink)!important}

.booking-page.is-direct-booking{
  width:min(1120px,calc(100% - 40px))!important;
  margin:20px auto 70px!important;
  color:var(--booking-handoff-ink)!important;
  font-family:var(--ed-font)!important;
}
.booking-page.is-direct-booking .booking-shell{width:100%!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.booking-page.is-direct-booking .selected-salon-bar{display:none!important}
.booking-page.is-direct-booking .booking-progress{display:none!important}
.booking-page.is-direct-booking .booking-panel[data-step="3"]{
  padding:92px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,2.05fr) minmax(310px,.95fr)!important;
  gap:22px!important;
  overflow:visible!important;
}
.booking-page.is-direct-booking .booking-panel[data-step="3"]:before{
  content:"Wybierz dogodny termin";
  position:absolute;
  top:18px;
  left:0;
  right:0;
  color:var(--booking-handoff-ink);
  font-family:var(--ed-serif);
  font-size:48px;
  font-weight:400;
  line-height:1;
  text-align:center;
}
.booking-page.is-direct-booking .booking-panel[data-step="3"]:after{
  content:"Zarezerwuj wizytę w kilka prostych kroków.";
  position:absolute;
  top:70px;
  left:0;
  right:0;
  color:var(--booking-handoff-muted);
  font-size:13px;
  text-align:center;
}
.booking-page.is-direct-booking .booking-panel[data-step="3"]>.panel-heading{display:none!important}
.booking-page.is-direct-booking .direct-booking-layout{display:contents!important}
.booking-page.is-direct-booking .direct-booking-calendar{grid-column:1!important;grid-row:1/3!important;min-width:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.booking-page.is-direct-booking .calendar-panel-title{display:none!important}
.booking-page.is-direct-booking .direct-booking-details{
  grid-column:2!important;
  grid-row:1!important;
  position:sticky!important;
  top:96px!important;
  align-self:start!important;
  padding:24px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:18px!important;
  background:rgba(255,253,251,.96)!important;
  box-shadow:0 16px 42px rgba(54,39,31,.07)!important;
}
.booking-page.is-direct-booking .direct-booking-details>.eyebrow{display:none!important}
.booking-page.is-direct-booking .direct-booking-details>h3{margin:0 0 16px!important;font-family:var(--ed-font)!important;font-size:18px!important;font-weight:600!important}
.booking-page.is-direct-booking .direct-service-field>span,.booking-page.is-direct-booking .direct-booking-details>label{color:var(--booking-handoff-ink)!important;font-size:11px!important;font-weight:600!important}
.booking-page.is-direct-booking .service-picker{margin-top:7px!important}
.booking-page.is-direct-booking .service-picker-trigger{
  min-height:64px!important;
  padding:9px!important;
  border-color:var(--booking-handoff-line)!important;
  border-radius:12px!important;
  background:#fff!important;
}
.booking-page.is-direct-booking .service-picker-trigger>i{width:42px!important;height:42px!important;border-radius:10px!important;background:#f1e4d5!important;color:#896e5d!important}
.booking-page.is-direct-booking .service-picker-trigger strong{font-size:12px!important}.booking-page.is-direct-booking .service-picker-trigger small{color:var(--booking-handoff-muted)!important;font-size:10px!important}
.booking-page.is-direct-booking .service-picker-trigger>b{width:34px!important;height:34px!important;border:1px solid var(--booking-handoff-line)!important;border-radius:9px!important;background:#fff!important}
.booking-page.is-direct-booking .direct-booking-details>label{margin-top:15px!important}
.booking-page.is-direct-booking .direct-booking-details input{
  min-height:45px!important;
  margin-top:7px!important;
  padding:0 12px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--booking-handoff-ink)!important;
  box-shadow:none!important;
}
.booking-page.is-direct-booking .direct-booking-details input:focus{border-color:var(--booking-handoff-rose)!important;box-shadow:0 0 0 3px rgba(201,121,131,.12)!important}
.booking-page.is-direct-booking .service-picker-panel{border-color:var(--booking-handoff-line)!important;border-radius:15px!important;background:#fffdfb!important;box-shadow:0 18px 44px rgba(54,39,31,.12)!important}
.booking-page.is-direct-booking .service-picker-list button{border-color:var(--booking-handoff-line)!important;border-radius:12px!important;background:#fff!important}
.booking-page.is-direct-booking .service-picker-list button.selected{border-color:var(--booking-handoff-rose)!important;background:var(--booking-handoff-rose-soft)!important}

.booking-page.is-direct-booking .availability-calendar{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:18px!important;
  background:rgba(255,253,251,.96)!important;
  box-shadow:0 16px 42px rgba(54,39,31,.07)!important;
}
.booking-page.is-direct-booking .availability-toolbar{
  min-height:70px!important;
  padding:12px 18px!important;
  border:0!important;
  border-bottom:1px solid var(--booking-handoff-line)!important;
  background:transparent!important;
  grid-template-columns:42px minmax(0,1fr) 42px!important;
}
.booking-page.is-direct-booking .availability-toolbar>button{
  width:42px!important;
  height:42px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--booking-handoff-ink)!important;
}
.booking-page.is-direct-booking .availability-toolbar>button:hover:not(:disabled){border-color:var(--booking-handoff-rose)!important;color:var(--booking-handoff-rose)!important;background:var(--booking-handoff-rose-soft)!important}
.booking-page.is-direct-booking .calendar-month-picker{width:min(100%,260px)!important;min-height:42px!important}
.booking-page.is-direct-booking .calendar-month-trigger{min-height:42px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--booking-handoff-ink)!important}
.booking-page.is-direct-booking .calendar-month-trigger strong{font-family:var(--ed-font)!important;font-size:16px!important;font-weight:600!important}
.booking-page.is-direct-booking .calendar-month-trigger i{width:24px!important;height:24px!important;border:1px solid var(--booking-handoff-line)!important;border-radius:50%!important;background:#fff!important}
.booking-page.is-direct-booking .calendar-month-menu{border-color:var(--booking-handoff-line)!important;border-radius:16px!important;background:#fffdfb!important;box-shadow:0 18px 44px rgba(54,39,31,.13)!important}
.booking-page.is-direct-booking .week-navigation{padding:10px 18px 0!important;border:0!important;background:transparent!important;grid-template-columns:1fr auto 1fr!important}
.booking-page.is-direct-booking .week-navigation>button{min-height:38px!important;border:0!important;background:transparent!important;color:var(--booking-handoff-muted)!important;font-size:10px!important}
.booking-page.is-direct-booking .week-navigation>span{min-height:38px!important;border:0!important;background:transparent!important;color:var(--booking-handoff-ink)!important;font-size:11px!important;font-weight:600!important}
.booking-page.is-direct-booking .availability-week{padding:10px 18px 16px!important;gap:7px!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
.booking-page.is-direct-booking .availability-day.day-heading{
  min-height:104px!important;
  padding:12px 4px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--booking-handoff-ink)!important;
  box-shadow:none!important;
}
.booking-page.is-direct-booking .availability-day.day-heading span{font-size:9px!important}.booking-page.is-direct-booking .availability-day.day-heading strong{font-family:var(--ed-serif)!important;font-size:25px!important;font-weight:400!important}.booking-page.is-direct-booking .availability-day.day-heading small,.booking-page.is-direct-booking .availability-day.day-heading i{color:var(--booking-handoff-muted)!important;font-size:8px!important}
.booking-page.is-direct-booking .availability-day.day-heading.selected,.booking-page.is-direct-booking .availability-day.day-heading.is-selected,.booking-page.is-direct-booking .availability-day.day-heading[aria-pressed="true"]{
  border-color:#e7b5b8!important;
  background:linear-gradient(145deg,#fff4f2,#f7dcdd)!important;
  color:var(--booking-handoff-rose)!important;
  box-shadow:none!important;
}
.booking-page.is-direct-booking .availability-day.day-heading.selected *,.booking-page.is-direct-booking .availability-day.day-heading[aria-pressed="true"] *{color:inherit!important}
.booking-page.is-direct-booking .selected-day-times{margin:0 18px 14px!important;padding:17px 0 0!important;border:0!important;border-top:1px solid var(--booking-handoff-line)!important;border-radius:0!important;background:transparent!important}
.booking-page.is-direct-booking .selected-day-times>header{margin-bottom:12px!important}
.booking-page.is-direct-booking .selected-day-times>header span{color:var(--booking-handoff-ink)!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important}
.booking-page.is-direct-booking .selected-day-times>header strong{display:none!important}
.booking-page.is-direct-booking .selected-time-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.booking-page.is-direct-booking .week-slot,.booking-page.is-direct-booking .selected-time-slots button{
  min-height:43px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--booking-handoff-ink)!important;
  font-size:11px!important;
  font-weight:600!important;
  box-shadow:none!important;
}
.booking-page.is-direct-booking .week-slot:hover,.booking-page.is-direct-booking .week-slot.selected,.booking-page.is-direct-booking .selected-time-slots button:hover,.booking-page.is-direct-booking .selected-time-slots button.selected,.booking-page.is-direct-booking .selected-time-slots button[aria-pressed="true"]{
  border-color:var(--booking-handoff-rose)!important;
  background:linear-gradient(135deg,#d88892,#c66f7c)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.booking-page.is-direct-booking .availability-status{padding:0 18px 14px!important;color:var(--booking-handoff-muted)!important;font-size:8px!important}
.booking-page.is-direct-booking .booking-waitlist{margin:14px 0 0!important;border:1px solid var(--booking-handoff-line)!important;border-radius:14px!important;background:rgba(255,253,251,.96)!important;box-shadow:none!important}
.booking-page.is-direct-booking .waitlist-intro{min-height:70px!important;padding:12px 18px!important;border-radius:14px!important;background:transparent!important}
.booking-page.is-direct-booking .waitlist-intro>span{background:transparent!important;color:var(--booking-handoff-rose)!important}.booking-page.is-direct-booking .waitlist-intro strong{font-size:11px!important}.booking-page.is-direct-booking .waitlist-intro p{display:none!important}
.booking-page.is-direct-booking .waitlist-intro>button{min-height:40px!important;border:1px solid #dfa9ae!important;border-radius:9px!important;background:#fff!important;color:var(--booking-handoff-rose)!important;font-size:10px!important}
.booking-page.is-direct-booking [data-waitlist-form]{border-top:1px solid var(--booking-handoff-line)!important;background:#fffdfb!important}

.booking-page.is-direct-booking .direct-booking-submit{
  grid-column:2!important;
  grid-row:2!important;
  align-self:start!important;
  min-height:66px!important;
  margin:-94px 16px 16px!important;
  padding:8px!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:var(--booking-handoff-ink)!important;
  box-shadow:none!important;
  position:relative!important;
  z-index:3!important;
}
.booking-page.is-direct-booking .direct-booking-submit>div{display:none!important}
.booking-page.is-direct-booking .direct-booking-submit button{
  width:100%!important;
  min-width:0!important;
  min-height:52px!important;
  border:0!important;
  border-radius:9px!important;
  background:linear-gradient(110deg,#3a2620,#211916)!important;
  color:#fff!important;
  font-size:13px!important;
  box-shadow:0 12px 26px rgba(43,29,24,.12)!important;
}
.booking-page.is-direct-booking .direct-booking-submit button:disabled{opacity:.45!important}
.booking-page.is-direct-booking .booking-panel[data-step="3"]>.back-button{display:none!important}
.booking-page.is-direct-booking .booking-safe-note{
  min-height:70px!important;
  margin:30px 0 0!important;
  padding:16px 28px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:14px!important;
  background:rgba(255,253,251,.95)!important;
  box-shadow:0 10px 28px rgba(54,39,31,.05)!important;
}
.booking-page.is-direct-booking .booking-safe-note p{font-size:10px!important}
.booking-page.is-direct-booking .booking-success{
  max-width:650px!important;
  margin:36px auto!important;
  padding:42px!important;
  border:1px solid var(--booking-handoff-line)!important;
  border-radius:20px!important;
  background:#fffdfb!important;
  box-shadow:0 18px 50px rgba(54,39,31,.08)!important;
}
.booking-page.is-direct-booking .booking-success h2{font-family:var(--ed-serif)!important;font-size:48px!important;font-weight:400!important}.booking-page.is-direct-booking .success-icon{border:1px solid #4da06a!important;background:transparent!important;color:#4da06a!important}
.booking-page.is-direct-booking .booking-reference-card{border-color:var(--booking-handoff-line)!important;background:#faf6f1!important}.booking-page.is-direct-booking .booking-calendar-actions .button-dark{background:var(--booking-handoff-rose)!important;border-color:var(--booking-handoff-rose)!important}

@media(max-width:900px){
  .direct-master-booking-header{min-height:64px!important;padding:7px 14px!important;grid-template-columns:auto 1fr auto!important}
  .direct-master-platform-logo{font-size:31px!important}.direct-master-identity{justify-self:center!important;margin:0!important}.direct-master-avatar{width:36px!important;height:36px!important}.direct-master-identity span:last-child{display:none!important}
  .booking-page.is-direct-booking{width:100%!important;margin:0 auto 105px!important;padding:0 14px!important}
  .booking-page.is-direct-booking .booking-panel[data-step="3"]{padding-top:78px!important;display:block!important}
  .booking-page.is-direct-booking .booking-panel[data-step="3"]:before{top:20px!important;font-size:34px!important;text-align:left!important}
  .booking-page.is-direct-booking .booking-panel[data-step="3"]:after{display:none!important}
  .booking-page.is-direct-booking .direct-booking-layout{display:flex!important;flex-direction:column!important;gap:16px!important}
  .booking-page.is-direct-booking .direct-booking-calendar{order:1!important}
  .booking-page.is-direct-booking .direct-booking-details{order:2!important;position:static!important;padding:18px!important;border-radius:15px!important}
  .booking-page.is-direct-booking .availability-calendar{border-radius:15px!important}
  .booking-page.is-direct-booking .availability-toolbar{grid-template-columns:40px minmax(0,1fr) 40px!important;min-height:62px!important;padding:9px 10px!important}
  .booking-page.is-direct-booking .availability-toolbar>button{width:40px!important;height:40px!important}
  .booking-page.is-direct-booking .calendar-month-picker{width:min(100%,190px)!important}
  .booking-page.is-direct-booking .week-navigation{grid-template-columns:1fr!important;padding:6px 10px 0!important}
  .booking-page.is-direct-booking .week-navigation>span{grid-row:1!important}.booking-page.is-direct-booking .week-navigation>button{display:none!important}
  .booking-page.is-direct-booking .availability-week{padding:8px 9px 12px!important;gap:4px!important}
  .booking-page.is-direct-booking .availability-day.day-heading{min-height:86px!important;padding:8px 2px!important;border-radius:9px!important}
  .booking-page.is-direct-booking .availability-day.day-heading strong{font-size:21px!important}.booking-page.is-direct-booking .availability-day.day-heading span{font-size:7px!important}.booking-page.is-direct-booking .availability-day.day-heading small,.booking-page.is-direct-booking .availability-day.day-heading i{font-size:6px!important}
  .booking-page.is-direct-booking .selected-day-times{margin:0 10px 10px!important;padding-top:14px!important}
  .booking-page.is-direct-booking .selected-time-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
  .booking-page.is-direct-booking .selected-time-slots button{min-height:40px!important;padding-inline:3px!important;font-size:9px!important}
  .booking-page.is-direct-booking .booking-waitlist{margin-top:10px!important}.booking-page.is-direct-booking .waitlist-intro{padding:10px 12px!important}.booking-page.is-direct-booking .waitlist-intro>div{min-width:0!important}
  .booking-page.is-direct-booking .direct-booking-submit{
    position:fixed!important;
    z-index:90!important;
    right:12px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    left:12px!important;
    min-height:78px!important;
    margin:0!important;
    padding:9px!important;
    border:1px solid var(--booking-handoff-line)!important;
    border-radius:18px!important;
    background:rgba(255,253,251,.93)!important;
    box-shadow:0 17px 42px rgba(54,39,31,.16)!important;
    backdrop-filter:blur(20px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:9px!important;
  }
  .booking-page.is-direct-booking .direct-booking-submit>div{min-width:0;padding-left:6px;display:grid!important}.booking-page.is-direct-booking .direct-booking-submit small{overflow:hidden;color:var(--booking-handoff-muted)!important;font-size:8px!important;text-overflow:ellipsis;white-space:nowrap}.booking-page.is-direct-booking .direct-booking-submit strong{overflow:hidden;font-size:10px!important;text-overflow:ellipsis;white-space:nowrap}
  .booking-page.is-direct-booking .direct-booking-submit button{width:auto!important;min-width:132px!important;min-height:54px!important;padding-inline:15px!important;background:linear-gradient(135deg,#d5838d,#c76e7b)!important}
  .booking-page.is-direct-booking .booking-safe-note{margin-top:18px!important;margin-bottom:105px!important}
}
@media(max-width:440px){
  .direct-master-identity{display:none!important}
  .booking-page.is-direct-booking{padding-inline:10px!important}
  .booking-page.is-direct-booking .booking-panel[data-step="3"]:before{font-size:30px!important}
  .booking-page.is-direct-booking .availability-week{gap:3px!important;padding-inline:7px!important}
  .booking-page.is-direct-booking .availability-day.day-heading{min-height:80px!important}
  .booking-page.is-direct-booking .selected-time-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .booking-page.is-direct-booking .direct-booking-submit button{min-width:124px!important;font-size:11px!important}
}

@media(max-width:760px){
  html,body:not(.be-home):not(.me-page){width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important}
  body:not(.be-home):not(.me-page) *{min-width:0}
  .booking-page,.guest-booking-page,.waitlist-response-page,.admin-main,.client-cabinet{width:100%!important;max-width:100%!important}
  .booking-shell{width:100%!important;max-width:100%!important;padding-inline:8px!important}
  .booking-panel,.booking-summary,.direct-booking-details,.direct-booking-calendar{width:100%!important;max-width:100%!important}
  .direct-booking-layout,.form-grid,.waitlist-fields,.calendar-import-grid,.integration-grid,.admin-split,.schedule-layout,.profile-editor-layout,.cabinet-grid,.profile-layout{grid-template-columns:minmax(0,1fr)!important}
  .availability-calendar{overflow:hidden!important}.availability-week{width:100%!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important}.availability-week>*,.availability-week button{flex:0 0 64px!important;scroll-snap-align:start!important}
  .selected-time-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .booking-panel{padding:17px!important}.panel-heading h2,.calendar-panel-title h2{font-size:30px!important}
  .field-label,.field-label input,.field-label select,.form-grid input,.form-grid select{width:100%!important}
  .site-footer{width:calc(100% - 12px)!important;max-width:none!important}
  .admin-main{padding-inline:10px!important}.admin-topbar{width:100%!important}.settings-card,.table-card,.calendar-card,.booking-filter-card,.booking-management-card{width:100%!important;max-width:100%!important}
  .admin-bottom-shell{width:100%!important;max-width:100%!important}
}
