/* Beautier Neutral Studio: final cross-site layer */
:root{
  --finish-page:#f2f3f1;
  --finish-surface:#fff;
  --finish-soft:#e9ece8;
  --finish-ink:#171817;
  --finish-muted:#71766f;
  --finish-line:#dde1dc;
  --finish-coral:#c9b2a5;
  --finish-pink:#637669;
  --finish-purple:#202421;
  --finish-green:#47745b;
  --finish-danger:#b42318;
  --finish-radius:20px;
  --finish-shadow:0 18px 55px rgba(30,36,31,.07);
  --finish-gradient:linear-gradient(105deg,#171817,#344039);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--finish-page);color:var(--finish-ink)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid rgba(236,39,123,.16);
  outline-offset:2px;
}
input,select,textarea{
  max-width:100%;
  border-color:var(--finish-line);
  background:#fff;
  color:var(--finish-ink);
}
input::placeholder,textarea::placeholder{color:#9a9298}
.button,.admin-primary,.admin-secondary,.gradient-button,.plan-cta{
  min-height:44px;
  border-radius:13px;
  font-weight:750;
}
.button-dark,.admin-primary,.gradient-button{
  border:0;
  background:var(--finish-gradient);
  color:#fff;
  box-shadow:0 12px 28px rgba(236,39,123,.16);
}
.button-light,.admin-secondary{
  border:1px solid var(--finish-line);
  background:#fff;
  color:var(--finish-ink);
  box-shadow:none;
}
.button-dark:hover,.admin-primary:hover,.gradient-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(52,64,57,.2)}
.alert{border-radius:15px;border:1px solid var(--finish-line);box-shadow:none}
.alert-success{border-color:#cde8da;background:#f2fbf6;color:#226e4e}
.alert-error{border-color:#f0cdc8;background:#fff5f3;color:var(--finish-danger)}

/* Shared public chrome */
.site-header{
  width:min(1440px,calc(100% - 32px));
  min-height:92px;
  height:auto;
  margin-top:16px;
  padding:14px 18px;
  border:1px solid var(--finish-line);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--finish-shadow);
  backdrop-filter:blur(18px);
}
.desktop-nav{min-width:0;gap:18px}
.desktop-nav>a{white-space:nowrap;color:#5f585f}
.desktop-nav>a:hover,.desktop-nav>a.active{color:var(--finish-ink)}
.desktop-nav .nav-booking{color:var(--finish-ink)}
.desktop-nav>a.button-dark,
.desktop-nav>a.button-dark:hover,
.desktop-nav>a.button-dark:focus,
.desktop-nav>a.button-dark:visited,
.desktop-nav>a.button-dark.active{color:#fff}
.language-switcher>button{border-color:var(--finish-line);background:#fff;box-shadow:none}
.site-footer{border-color:var(--finish-line)}

/* Home */
.restored-hero{
  width:min(1440px,calc(100% - 32px));
  min-height:650px;
  margin:26px auto 0;
  padding:clamp(48px,7vw,96px);
  border:1px solid var(--finish-line);
  border-radius:34px;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 18%,rgba(113,55,245,.1),transparent 28%),
    radial-gradient(circle at 8% 90%,rgba(201,178,165,.16),transparent 30%),
    #fff;
  box-shadow:var(--finish-shadow);
}
.restored-hero h1{max-width:820px;letter-spacing:-.065em}
.hero-copy>p,.pro-lead,.section-heading p{color:var(--finish-muted)}
.hero-proof,.pro-proof{border-color:var(--finish-line);background:rgba(255,255,255,.78)}
.hero-visual,.pro-product,.story-focus,.choice-card,.integration-ribbon{
  border-color:var(--finish-line);
  box-shadow:var(--finish-shadow);
}
.floating-card,.product-main,.product-confirm,.mini-service,.story-flow>*,.integration-pills>*{
  border-color:var(--finish-line);
  box-shadow:0 12px 34px rgba(36,28,33,.05);
}
.section{width:min(1320px,calc(100% - 32px));margin-inline:auto}
.pro-story,.product-choice{padding-block:clamp(72px,9vw,120px)}
.pro-hero{width:min(1320px,calc(100% - 32px));margin-inline:auto;gap:clamp(36px,6vw,88px)}
.choice-grid{gap:20px}
.choice-card{border-radius:28px;background:#fff;padding:clamp(28px,4vw,46px)}
.choice-studio{background:var(--finish-soft)}
.master-cta{width:min(1320px,calc(100% - 32px));margin-inline:auto;border-radius:30px}

/* Pricing */
.pricing-hero{
  width:min(1180px,calc(100% - 32px));
  margin:40px auto 24px;
  padding:clamp(44px,7vw,82px) 24px;
  border:1px solid var(--finish-line);
  border-radius:30px;
  background:radial-gradient(circle at 80% 0,rgba(99,118,105,.11),transparent 32%),#fff;
  box-shadow:var(--finish-shadow);
}
.pricing-heading{max-width:760px}
.pricing-section,.pricing-compare,.pricing-faq{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.pricing-grid{gap:18px}
.price-card{
  min-width:0;
  border:1px solid var(--finish-line);
  border-radius:24px;
  background:#fff;
  box-shadow:none;
}
.price-card:hover{transform:translateY(-3px);box-shadow:var(--finish-shadow)}
.price-card.featured{border-color:rgba(99,118,105,.45);box-shadow:0 18px 45px rgba(52,64,57,.1)}
.plan-price{letter-spacing:-.055em}
.promise-grid>*{border:1px solid var(--finish-line);border-radius:18px;background:#fff}
.pricing-faq details{border-color:var(--finish-line);background:#fff;border-radius:16px}

/* Booking search, guest lookup and response pages */
.salon-discovery,.booking-page{max-width:1440px}
.discovery-tools label,.discovery-tools select,.discovery-view-toggle,.salon-card,.salon-map{
  border-color:var(--finish-line);
}
.salon-card{background:#fff;box-shadow:none}
.salon-card:hover{box-shadow:var(--finish-shadow)}
.guest-booking-page,.waitlist-response-page{min-height:calc(100vh - 230px);padding:56px 16px}
.guest-booking-card,.waitlist-response-page>section{
  width:min(600px,100%);
  padding:clamp(28px,5vw,48px);
  border:1px solid var(--finish-line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--finish-shadow);
}
.guest-booking-card h1,.waitlist-response-page h1{letter-spacing:-.045em}
.guest-booking-card form{gap:15px}
.guest-booking-card .field-label input{min-height:54px;border-radius:14px}
.guest-cabinet-links{gap:10px;flex-wrap:wrap}
.guest-booking-result{margin-top:22px;border-color:var(--finish-line);border-radius:18px;background:var(--finish-soft)}

/* Business and client cabinets */
.admin-main{color:var(--finish-ink)}
.admin-sidebar{
  border-color:var(--finish-line);
  background:rgba(255,255,255,.97);
  box-shadow:10px 0 40px rgba(36,28,33,.035);
}
.admin-sidebar nav{gap:4px}
.admin-sidebar nav a{min-height:45px;border-radius:12px;color:#625b62}
.admin-sidebar nav a:hover{background:var(--finish-soft);color:var(--finish-ink)}
.admin-sidebar nav a.active{background:#eef1ed;color:var(--finish-pink);box-shadow:none}
.admin-sidebar nav a>i{color:currentColor}
.sidebar-user{border-color:var(--finish-line)}
.admin-topbar{gap:20px;margin-bottom:24px}
.admin-topbar h1{letter-spacing:-.045em}
.admin-kicker{color:var(--finish-pink);letter-spacing:.15em}
.settings-card,.table-card,.calendar-card,.booking-filter-card,.booking-management-card,.integration-card,.current-plan-card,.admin-plan-card,.profile-progress-card,.booking-access-card,.portfolio-admin-card,.import-card,.guide-copy-card{
  min-width:0;
  border:1px solid var(--finish-line);
  border-radius:20px;
  background:#fff;
  box-shadow:none;
}
.settings-card:hover,.table-card:hover{border-color:#ddd3d8}
.settings-heading{margin-bottom:18px}
.settings-heading h2,.table-head strong{letter-spacing:-.025em}
.settings-heading p,.admin-main small,.admin-main .muted{color:var(--finish-muted)}
.settings-form{gap:15px}
.settings-form label,.admin-main label{color:#5c555c;font-weight:700}
.settings-form input,.settings-form select,.settings-form textarea,.admin-main input,.admin-main select,.admin-main textarea{
  min-height:48px;
  border:1px solid var(--finish-line);
  border-radius:13px;
  background:#fff;
}
.settings-form textarea,.admin-main textarea{min-height:105px;padding:13px}
.destination-row,.service-admin-card,.client-booking-card,.compact-bookings article,.team-dashboard-list article{
  border-color:var(--finish-line);
  border-radius:15px;
  background:#fff;
}
.booking-filter-card{padding:16px}
.booking-management-card{overflow:hidden}
.booking-management-card table{width:100%;border-collapse:collapse}
.booking-management-card th{background:var(--finish-soft);color:#6e666d}
.booking-management-card th,.booking-management-card td{border-color:var(--finish-line)}
.calendar-card{overflow:hidden}
.status{border-radius:999px;font-weight:750}
.status-confirmed{background:#e6f5ed;color:#247653}
.status-cancelled{background:#fff0ee;color:#a9372c}
.quick-card a,.profile-linked-tools a{border-color:var(--finish-line)}
.beauty-pass{background:linear-gradient(145deg,#f1ece8,#fff,#e8eeea)}
.profile-identity>span{background:var(--finish-gradient);color:#fff}
.schedule-layout,.profile-editor-layout,.admin-split{gap:18px}
.integration-card-head,.table-head{border-color:var(--finish-line)}
.admin-plan-card.current{border-color:rgba(99,118,105,.5);box-shadow:0 14px 38px rgba(52,64,57,.09)}

/* Login */
.login-body{
  min-height:100vh;
  background:
    radial-gradient(circle at 10% 10%,rgba(255,84,31,.1),transparent 28%),
    radial-gradient(circle at 90% 85%,rgba(113,55,245,.1),transparent 30%),
    var(--finish-page);
}
.auth-shell{gap:18px;padding:32px 16px}
.login-card{
  border:1px solid var(--finish-line);
  border-radius:26px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--finish-shadow);
}
.login-card input{min-height:52px;border:1px solid var(--finish-line);border-radius:14px}
.login-card button[type="submit"]{min-height:52px;border:0;border-radius:14px;background:var(--finish-gradient);box-shadow:0 14px 30px rgba(52,64,57,.16)}

/* Superadmin */
.platform-admin{background:var(--finish-page)}
.platform-header{border-color:var(--finish-line);background:rgba(255,255,255,.95);backdrop-filter:blur(16px)}
.platform-shell{width:min(1440px,calc(100% - 32px))}
.platform-title,.moderation-card,.moderation-tabs{
  border-color:var(--finish-line);
  border-radius:22px;
  background:#fff;
  box-shadow:none;
}
.moderation-card:hover{box-shadow:var(--finish-shadow)}
.moderation-tabs a{border-radius:12px}
.moderation-tabs a.active{background:#eef1ed;color:var(--finish-pink)}

/* Responsive completion */
@media(max-width:1100px){
  .desktop-nav{gap:10px}
  .desktop-nav>a{font-size:11px}
  .pro-hero{grid-template-columns:1fr}
  .profile-editor-layout,.admin-split{grid-template-columns:1fr}
}

@media(max-width:760px){
  .site-header{width:calc(100% - 16px);min-height:68px;margin-top:8px;padding:9px 10px;border-radius:18px}
  .site-header .site-wordmark{width:min(132px,calc(100% - 118px))}
  .mobile-menu{left:8px;right:8px;width:auto;border:1px solid var(--finish-line);border-radius:18px;background:#fff;box-shadow:var(--finish-shadow)}
  .restored-hero{width:calc(100% - 16px);min-height:auto;margin-top:14px;padding:42px 20px;border-radius:24px}
  .restored-hero h1{font-size:clamp(42px,13vw,62px)}
  .hero-actions,.pro-hero-actions{align-items:stretch;flex-direction:column}
  .hero-actions .button,.pro-hero-actions .button{width:100%;justify-content:center}
  .section,.pro-hero,.master-cta,.pricing-section,.pricing-compare,.pricing-faq{width:calc(100% - 16px)}
  .pro-story,.product-choice{padding-block:64px}
  .choice-grid,.promise-grid{grid-template-columns:1fr}
  .pricing-hero{width:calc(100% - 16px);margin-top:18px;padding:42px 18px;border-radius:23px}
  .pricing-grid{grid-template-columns:1fr}
  .price-card{border-radius:20px}
  .guest-booking-page,.waitlist-response-page{padding:28px 8px}
  .guest-booking-card,.waitlist-response-page>section{padding:26px 18px;border-radius:21px}
  .guest-cabinet-links{align-items:stretch;flex-direction:column}
  .guest-cabinet-links .button{width:100%;justify-content:center}
  .admin-main{padding:18px 12px 104px}
  .admin-topbar{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .admin-topbar .admin-primary{width:100%;justify-content:center}
  .settings-card,.table-card,.calendar-card,.booking-filter-card,.booking-management-card,.integration-card,.current-plan-card,.admin-plan-card{border-radius:17px}
  .settings-form{grid-template-columns:1fr}
  .settings-form .form-wide{grid-column:auto}
  .booking-management-card{overflow-x:auto}
  .booking-management-card table{min-width:760px}
  .client-booking-card{grid-template-columns:auto minmax(0,1fr);gap:10px}
  .client-booking-card>.status,.client-booking-card>.text-action{grid-column:2}
  .admin-bottom-shell{border-color:var(--finish-line);background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}
  .admin-bottom-nav>a,.admin-bottom-more>summary{min-height:54px;border-radius:12px}
  .admin-bottom-nav>a.active,.admin-bottom-more.active>summary{background:#eef1ed;color:var(--finish-pink)}
  .auth-shell{padding:12px 8px 28px}
  .login-card{padding:28px 20px;border-radius:22px}
  .platform-shell{width:calc(100% - 16px)}
  .platform-title{align-items:flex-start;flex-direction:column;padding:22px}
  .moderation-tabs{overflow-x:auto;padding:6px}
}

@media(max-width:420px){
  .site-header .site-wordmark{width:112px}
  .mobile-header-language>button{min-width:52px;padding-inline:8px}
  .restored-hero h1{font-size:40px}
  .choice-card{padding:25px 20px}
  .booking-filter-card{padding:12px}
  .settings-card,.table-card{padding-left:15px;padding-right:15px}
}

/* Stable home hero geometry and readable promotion copy. */
.restored-hero{
  grid-template-columns:minmax(0,1fr) minmax(460px,.92fr);
  align-items:stretch;
  padding:0;
}
.restored-hero .hero-copy{
  min-width:0;
  padding:clamp(54px,6vw,86px);
  overflow:visible;
}
.restored-hero .hero-copy h1{
  max-width:680px;
  margin:20px 0 24px;
  font-size:clamp(52px,5.2vw,76px);
  line-height:1;
  overflow:visible;
}
.restored-hero .hero-visual{
  min-width:0;
  min-height:650px;
}
.restored-hero .hero-proof{
  width:min(100%,560px);
  margin-top:54px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  border:0;
  border-radius:0;
  background:transparent;
}
.restored-hero .hero-proof>div{
  min-width:0;
  padding:2px 20px;
  gap:5px;
  border-left:1px solid var(--finish-line);
  background:transparent!important;
}
.restored-hero .hero-proof>div:first-child{
  padding-left:0;
  border-left:0;
}
.restored-hero .hero-proof strong{
  font-size:18px;
  line-height:1.15;
  white-space:nowrap;
}
.restored-hero .hero-proof span{
  font-size:11px;
  line-height:1.35;
}
.pro-hero-note{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px 8px;
  line-height:1.45;
}
.pro-hero-note>span:not(.ui-icon){
  display:inline;
  width:auto;
  height:auto;
  border-radius:0;
  background:none;
  color:inherit;
  font-weight:inherit;
}
.pro-hero-note>.ui-icon{
  flex:0 0 24px;
}

@media(max-width:1100px){
  .restored-hero{grid-template-columns:1fr}
  .restored-hero .hero-visual{min-height:540px}
}

@media(max-width:760px){
  .restored-hero{padding:0}
  .restored-hero .hero-copy{padding:42px 20px}
  .restored-hero .hero-copy h1{font-size:clamp(40px,12vw,58px)}
  .restored-hero .hero-visual{min-height:430px}
  .restored-hero .hero-proof{
    grid-template-columns:repeat(2,minmax(0,1fr));
    row-gap:22px;
    margin-top:38px;
  }
  .restored-hero .hero-proof>div{padding:0 14px}
  .restored-hero .hero-proof>div:first-child{padding-left:0}
  .restored-hero .hero-proof>div:nth-child(3){padding-left:0;border-left:0}
}

/* Cross-page contrast and responsive audit fixes. */
.button-dark,
.button-dark:hover,
.button-dark:focus,
.button-dark:visited{color:#fff}

.choice-studio{
  color:var(--finish-ink);
  background:
    radial-gradient(circle at 88% 10%,rgba(99,118,105,.1),transparent 28%),
    linear-gradient(145deg,#f7f4f5,#f0ebee);
}
.choice-studio h3,
.choice-studio li{color:var(--finish-ink)}
.choice-studio p{color:var(--finish-muted)}
.choice-studio .button-light{color:var(--finish-ink);background:#fff}

.integration-pills b,
.integration-pills b .ui-icon{
  color:var(--finish-ink);
}
.integration-pills b .ui-icon{
  width:16px;
  height:16px;
}

.salon-list:empty{
  grid-column:1/-1;
  min-height:174px;
  border:1px solid var(--finish-line);
  border-radius:22px;
  background:
    linear-gradient(90deg,transparent,rgba(255,255,255,.88),transparent) 0 0/42% 100% no-repeat,
    linear-gradient(#f1edef 0 0) 20px 24px/calc(100% - 40px) 18px no-repeat,
    linear-gradient(#f5f1f3 0 0) 20px 56px/62% 12px no-repeat,
    linear-gradient(#faf8f9,#f4f0f2);
  animation:catalogueLoading 1.35s ease-in-out infinite alternate;
}
@keyframes catalogueLoading{
  to{background-position:100% 0,20px 24px,20px 56px,0 0}
}

@media(max-width:760px){
  .menu-button{
    width:44px;
    height:44px;
    min-width:44px;
    min-height:44px;
    padding:10px;
    place-content:center;
  }
  body .booking-page .salon-discovery .discovery-header h1{
    max-width:300px;
    font-size:clamp(29px,8.2vw,36px)!important;
    line-height:1.05!important;
    letter-spacing:-.045em;
  }
  .salon-list:empty{
    min-height:145px;
    border-radius:18px;
  }
  .pro-product,
  .pro-product .product-main,
  .pro-product .product-topline{min-width:0;max-width:100%;box-sizing:border-box}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Direct booking keeps the selected professional's identity in the header. */
body:has(.direct-master-booking-header)>.site-header{display:none}
body:has(.direct-master-booking-header) .change-salon,
body:has(.direct-master-booking-header) .booking-mobile-nav,
body:has(.direct-master-booking-header) .mobile-booking-nav,
body:has(.direct-master-booking-header) .mobile-bottom-nav,
body:has(.direct-master-booking-header) .booking-bottom-nav{display:none!important}
.direct-master-booking-header{
  width:min(1320px,calc(100% - 32px));
  min-height:82px;
  margin:16px auto 24px;
  padding:12px 14px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid var(--finish-line);
  border-radius:22px;
  background:rgba(255,255,255,.94);
  box-shadow:var(--finish-shadow);
  backdrop-filter:blur(18px);
}
.direct-master-platform-logo{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  background:#181519;
  color:#fff;
  font:800 25px/1 Georgia,serif;
  letter-spacing:-.08em;
}
.direct-master-platform-logo span{color:var(--finish-pink)}
.direct-master-identity{
  min-width:0;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:11px;
  align-items:center;
  color:var(--finish-ink);
}
.direct-master-avatar{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid var(--finish-line);
  border-radius:15px;
  background:linear-gradient(145deg,#eee8e4,#e6ebe7) center/cover no-repeat;
  color:var(--finish-pink);
  font-weight:800;
}
.direct-master-avatar.has-photo{color:transparent}
.direct-master-identity>span:last-child{min-width:0;display:grid;gap:2px}
.direct-master-identity strong,
.direct-master-identity small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.direct-master-identity strong{font-size:15px}
.direct-master-identity small{color:var(--finish-muted);font-size:11px}
.direct-master-header-actions{display:flex;align-items:center;gap:10px}
.direct-master-profile-link{
  min-height:42px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  border:1px solid var(--finish-line);
  border-radius:13px;
  color:var(--finish-ink);
  background:#fff;
  font-size:12px;
  font-weight:750;
}
.direct-master-language>button{min-height:42px}
.direct-master-attribution{
  width:min(1320px,calc(100% - 32px));
  min-height:72px;
  margin:34px auto 18px;
  padding:18px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-top:1px solid var(--finish-line);
  color:var(--finish-muted);
  font-size:12px;
}
.direct-master-attribution strong{color:var(--finish-ink);font-size:13px}
.direct-master-attribution small{margin-left:8px;color:#aaa2a8}

@media(max-width:760px){
  .direct-master-booking-header{
    width:calc(100% - 16px);
    min-height:68px;
    margin:8px auto 14px;
    padding:8px;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:8px;
    border-radius:18px;
  }
  .direct-master-platform-logo{width:42px;height:42px;border-radius:13px;font-size:22px}
  .direct-master-identity{grid-template-columns:40px minmax(0,1fr);gap:8px}
  .direct-master-avatar{width:40px;height:40px;border-radius:12px}
  .direct-master-identity strong{font-size:13px}
  .direct-master-identity small{font-size:9px}
  .direct-master-profile-link{display:none}
  .direct-master-language>button{min-width:58px;min-height:42px;padding-inline:9px}
  .direct-master-attribution{
    width:calc(100% - 24px);
    min-height:58px;
    margin-top:24px;
    padding:14px 8px;
    flex-wrap:wrap;
  }
}
