/* Guided salon setup. Loaded after the Pro design system to keep this focused
   form independent of the dense operational settings and calendar layouts. */
.business-workspace-loading.pro-account-onboarding-status { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 16px; min-height: 0; margin: 0; padding: 20px; border: 1px solid #e3e7e4; border-radius: 10px; color: #3a4741; background: #fff; text-align: left; }
.pro-account-onboarding-status > h2 { flex: 1 1 180px; min-width: 0; margin: 0; color: #16201c; font-family: var(--font-sans, "Figtree", sans-serif); font-size: 16px; font-weight: 550; line-height: 1.5; letter-spacing: 0; }
.pro-account-onboarding-status > span { flex: 0 0 20px; width: 20px; height: 20px; border-width: 2px; border-color: #dbe6df; border-top-color: #1f6b52; }
.pro-account-onboarding-status > button { flex: none; min-height: 44px !important; padding: 10px 14px !important; border-radius: 8px !important; font-size: 14px !important; line-height: 1.4; }
body.pro-mode .pro-page-wrap:has(.business-onboarding-wizard) {
  width: min(1040px, calc(100% - 80px));
  min-height: calc(100dvh - 80px);
  margin-inline: auto;
  padding: 60px 0 80px;
}
body.pro-mode:has(.onboarding-celebration) .pro-topbar [data-action="cancel-salon-onboarding"] { display: none; }
body.pro-mode .business-onboarding.business-onboarding-wizard {
  --ops-ui-font: var(--font-sans, "Figtree", sans-serif);
  --ops-ink: var(--color-ink, #16201c);
  --ops-text: var(--color-ink-soft, #3a4741);
  --ops-muted: var(--color-muted, #5f6e68);
  --ops-line: var(--color-line, #e3e7e4);
  --ops-violet: var(--color-accent, #1f6b52);
  --ops-violet-strong: var(--color-accent-deep, #164f3d);
  --ops-violet-soft: var(--color-accent-soft, #e8f2ee);
  --setup-ease: cubic-bezier(.22, 1, .36, 1);
  display: block;
  min-width: 0;
  color: var(--ops-ink);
  font-family: var(--ops-ui-font);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
body.pro-mode .business-onboarding-wizard [hidden] { display: none !important; }
body.pro-mode .business-onboarding-wizard :is(h2, h3, [data-onboarding-result-title])[tabindex="-1"]:focus { outline: none !important; box-shadow: none !important; }
body.pro-mode .business-onboarding-wizard .business-onboarding-layout {
  display: grid;
  grid-template-columns: 220px minmax(0, 640px);
  align-items: start;
  justify-content: space-between;
  gap: 64px;
  min-width: 0;
}
body.pro-mode .business-onboarding-wizard .onboarding-sidebar {
  position: sticky;
  top: 116px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
  max-height: none;
  padding: 0;
  overflow: visible;
}
body.pro-mode .business-onboarding-wizard .onboarding-sidebar h2 { margin: 0; color: var(--ops-ink); font-size: 21px; font-weight: 600; line-height: 1.25; letter-spacing: -.035em; }
body.pro-mode .business-onboarding-wizard .business-onboarding-progress { display: grid; gap: 10px; width: 100%; }
body.pro-mode .business-onboarding-wizard .business-onboarding-progress p { margin: 0; color: var(--ops-muted); font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-onboarding-progress-track { height: 3px; overflow: hidden; border-radius: 4px; background: #e1e6e2; }
body.pro-mode .business-onboarding-wizard .business-onboarding-progress-track > i { display: block; width: var(--setup-progress, 0%); height: 100%; border-radius: inherit; background: var(--ops-violet); transition: width 440ms var(--setup-ease); }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps {
  position: static;
  display: grid;
  gap: 4px;
  min-width: 0;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button {
  position: relative;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 8px 0;
  border: 0;
  border-radius: 6px;
  color: var(--ops-muted);
  background: transparent;
  box-shadow: none;
  font: inherit;
  text-align: left;
  transition: color 180ms ease;
}
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button:hover { color: var(--ops-ink); background: transparent; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button.active { color: var(--ops-violet); background: transparent; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button > b { display: grid; width: 28px; height: 28px; place-items: center; border: 1px solid #ccd5cf; border-radius: 50%; color: var(--ops-muted); background: transparent; box-shadow: none; font-size: 13px; font-weight: 550; line-height: 1; transition: color 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button.active > b { border-color: var(--ops-violet); color: #fff; background: var(--ops-violet); box-shadow: 0 0 0 4px rgb(31 107 82 / 9%); }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button.complete:not(.active) > b { border-color: #b5cfc1; color: var(--ops-violet); background: #e8f2ec; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button > span { display: grid; gap: 2px; min-width: 0; padding: 0; white-space: normal; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button strong { overflow: visible; color: inherit; font-size: 15px; font-weight: 500; line-height: 1.4; text-overflow: clip; white-space: normal; overflow-wrap: break-word; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button.active strong { font-weight: 600; }
body.pro-mode .business-onboarding-wizard .business-onboarding-steps button small { color: var(--ops-muted); font-size: 12px; line-height: 1.35; font-weight: 400; }
body.pro-mode .business-onboarding-wizard .onboarding-sidebar .onboarding-step-note { margin: 0; padding: 0; font-size: 13px; }
body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-delete-button { align-self: flex-start; min-height: 36px; margin: 0; padding: 6px 0; border: 0 !important; color: #7a6662; background: transparent !important; font-size: 13px; font-weight: 450; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-delete-button:hover { color: #9c403b; text-decoration: underline; text-underline-offset: 4px; }
body.pro-mode .business-onboarding-wizard .onboarding-main { width: 100%; min-width: 0; max-width: 640px; }
body.pro-mode .business-onboarding-wizard .business-onboarding-sections { display: grid; min-width: 0; gap: 0; padding: 0; }
body.pro-mode .business-onboarding-wizard .business-onboarding-sections > section { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.pro-mode .business-onboarding-wizard [data-onboarding-section]:not([hidden]) { animation: salonSetupStepIn 420ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard [data-direction="back"] { --setup-enter-x: -18px; }
body.pro-mode .business-onboarding-wizard [data-onboarding-section].is-leaving { pointer-events: none; animation: salonSetupStepOut 160ms ease-in both; }
body.pro-mode .business-onboarding-wizard .business-onboarding-section-head { display: block; margin: 0 0 32px; padding: 0; border: 0; }
body.pro-mode .business-onboarding-wizard .business-onboarding-section-head > span:first-child { display: none; }
body.pro-mode .business-onboarding-wizard .business-onboarding-section-head h3 { margin: 0; color: var(--ops-ink); font-size: clamp(27px, 2.5vw, 32px); font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
body.pro-mode .business-onboarding-wizard .business-onboarding-section-head p { max-width: 560px; margin: 12px 0 0; color: var(--ops-muted); font-size: 15px; line-height: 1.6; }
body.pro-mode .business-onboarding-wizard .business-form-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; min-width: 0; }
body.pro-mode .business-onboarding-wizard .business-field { display: grid; min-width: 0; gap: 8px; margin: 0; color: var(--ops-ink); font-size: 15px; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .business-field-full { grid-column: 1 / -1; }
body.pro-mode .business-onboarding-wizard .business-field > span { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; color: var(--ops-ink); font-size: 15px; font-weight: 500; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .business-field > small { color: var(--ops-muted); font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-field-error,
body.pro-mode .business-onboarding-wizard .business-field > .onboarding-field-error { grid-column: 1 / -1; display: block; margin: 6px 0 0; color: #963d35; font-size: 14px; font-weight: 400; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-field > :is(input, textarea, select):not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not(.prelook-native-select),
body.pro-mode .business-onboarding-wizard .business-address-combobox > input,
body.pro-mode .business-onboarding-wizard .prelook-select-trigger {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #cdd6cf;
  border-radius: 8px !important;
  color: var(--ops-ink);
  background: #fff;
  box-shadow: 0 1px 2px rgb(22 32 28 / 3%);
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}
body.pro-mode .business-onboarding-wizard .business-field textarea { resize: vertical; }
body.pro-mode .business-onboarding-wizard .prelook-select-trigger { grid-template-columns: minmax(0, 1fr) 18px; min-height: 48px !important; border-color: #cdd6cf !important; font-size: 16px !important; text-align: left; }
body.pro-mode .business-onboarding-wizard .prelook-select-value { font-size: 16px; font-weight: 400; }
body.pro-mode .business-onboarding-wizard .prelook-select-chevron { width: 18px; height: 18px; color: var(--ops-muted); background: transparent; }
body.pro-mode .business-onboarding-wizard .prelook-select-trigger[aria-expanded="true"] .prelook-select-chevron { color: var(--ops-violet); background: transparent; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .prelook-select-trigger:hover:not(:disabled) { border-color: #8ca996; background: #fff; box-shadow: 0 1px 2px rgb(22 32 28 / 3%); }
body.pro-mode .business-onboarding-wizard .prelook-select-trigger[aria-expanded="true"] { border-color: var(--ops-violet); background: #fff; box-shadow: 0 0 0 3px rgb(31 107 82 / 12%); }
body.pro-mode .business-onboarding-wizard .business-field :is(input, textarea)::placeholder { color: #849088; font-weight: 400; }
body.pro-mode .business-onboarding-wizard .business-service-money-field { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 14px; border: 1px solid #cdd6cf; border-radius: 8px; color: var(--ops-muted); background: #fff; }
body.pro-mode .business-onboarding-wizard .business-service-money-field > input { width: 100%; min-width: 0; min-height: 46px; margin: 0; padding: 10px 0; border: 0; border-radius: 0; color: var(--ops-ink); background: transparent; box-shadow: none; font-size: 16px; }
body.pro-mode .business-onboarding-wizard .business-service-money-field > span { font-size: 16px; }
body.pro-mode .business-onboarding-wizard :is(input, textarea, select, button, summary):focus-visible { outline: 3px solid rgb(31 107 82 / 42%) !important; outline-offset: 3px; }
body.pro-mode .business-onboarding-wizard .business-service-money-field:focus-within { border-color: var(--ops-violet); box-shadow: 0 0 0 3px rgb(31 107 82 / 12%); }
body.pro-mode .business-onboarding-wizard .business-service-money-field > input:focus-visible { outline: none !important; }
/* Checkbox size and its first line share one grid row; inherited flex rules
   previously centered the checkbox against a multiline paragraph. */
body.pro-mode .business-onboarding-wizard .business-check { display: grid !important; grid-template-columns: 20px minmax(0, 1fr); align-items: start !important; gap: 11px; width: 100%; min-height: 0; margin: 24px 0 0; padding: 0; color: var(--ops-text); font-size: 14px; line-height: 1.55; }
body.pro-mode .business-onboarding-wizard .business-check > input[type="checkbox"] { position: static !important; display: block; flex: none; width: 20px !important; min-width: 20px; height: 20px !important; min-height: 20px; margin: 1px 0 0 !important; padding: 0 !important; appearance: auto; accent-color: var(--ops-violet); opacity: 1; transform: none; cursor: pointer; }
body.pro-mode .business-onboarding-wizard .business-check > span { display: block; min-width: 0; padding: 0; font: inherit; }
body.pro-mode .business-onboarding-wizard :is(.solid-button, .outline-button, .ghost-button) { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px !important; padding: 12px 18px !important; border: 1px solid transparent; border-radius: 8px !important; font-family: inherit; font-size: 15px !important; font-weight: 550 !important; line-height: 1.4; letter-spacing: -.01em; text-align: center; white-space: normal; transition: background-color 160ms ease, border-color 160ms ease, transform 180ms var(--setup-ease), box-shadow 160ms ease !important; }
body.pro-mode .business-onboarding-wizard .solid-button.pro { border-color: var(--ops-violet); color: #fff; background: var(--ops-violet); box-shadow: 0 1px 2px rgb(22 32 28 / 10%); }
body.pro-mode .business-onboarding-wizard .solid-button.pro:hover:not(:disabled) { border-color: var(--ops-violet-strong); background: var(--ops-violet-strong); box-shadow: 0 3px 10px rgb(31 107 82 / 14%); }
body.pro-mode .business-onboarding-wizard .outline-button.pro { border-color: #cdd6cf; color: var(--ops-ink); background: #fff; box-shadow: 0 1px 2px rgb(22 32 28 / 3%); }
body.pro-mode .business-onboarding-wizard .ghost-button:not(.danger) { border-color: transparent !important; color: var(--ops-muted) !important; background: transparent !important; box-shadow: none; }
body.pro-mode .business-onboarding-wizard :is(.outline-button, .ghost-button):hover:not(:disabled) { color: var(--ops-ink); background: #edf2ee; }
body.pro-mode .business-onboarding-wizard :is(.solid-button, .outline-button, .ghost-button):active:not(:disabled) { transform: scale(.98); }
body.pro-mode .business-onboarding-wizard :is(.solid-button, .outline-button, .ghost-button):disabled { opacity: .42; cursor: not-allowed; box-shadow: none; }
body.pro-mode .business-onboarding-wizard :is(.solid-button, .outline-button, .ghost-button) .icon { width: 18px; height: 18px; flex: none; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer {
  position: static;
  inset: auto;
  z-index: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
  min-height: 0;
  margin: 32px 0 0;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid var(--ops-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
}
body.pro-mode .business-onboarding-wizard .business-onboarding-footer::after { display: none; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer > span:not(.sr-only) { color: var(--ops-muted); font-size: 13px; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; margin-left: auto; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions .solid-button { min-width: 168px; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer :is([data-business-action="onboarding-next"], [name="intent"][value="create"]) { gap: 0; text-align: center; }
body.pro-mode .business-onboarding-wizard .business-onboarding-footer :is([data-business-action="onboarding-next"], [name="intent"][value="create"]) .icon { display: none; }
body.pro-mode .business-onboarding-wizard .business-save-state { color: var(--ops-muted); font-size: 12px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-step-note { margin: 18px 0 0; padding: 0; border: 0; border-radius: 0; color: var(--ops-muted); background: transparent; font-size: 13px; line-height: 1.6; }
/* Opening hours stay readable at every width. */
body.pro-mode .business-onboarding-wizard .onboarding-hours-list { display: grid; width: 100%; min-width: 0; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row { display: grid; grid-template-columns: minmax(135px, 1fr) minmax(0, 274px) auto; align-items: center; gap: 12px 16px; min-width: 0; min-height: 74px; padding: 13px 0; border-bottom: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle { display: flex; align-items: center; gap: 12px; min-width: 0; margin: 0; color: var(--ops-ink); font-size: 15px; font-weight: 500; cursor: pointer; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row > .onboarding-hours-toggle { grid-column: 1; grid-row: 1; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row > :is(.onboarding-hours-times, .onboarding-hours-closed) { grid-column: 2; grid-row: 1; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row > .onboarding-add-break { grid-column: 3; grid-row: 1; justify-self: end; min-height: 44px !important; padding: 10px 8px !important; font-size: 14px !important; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle > input[type="checkbox"] { position: relative !important; display: block; flex: 0 0 38px; width: 38px !important; min-width: 38px; height: 24px !important; min-height: 24px; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 24px !important; appearance: none; background: #c6cfc8; opacity: 1; cursor: pointer; transition: background-color 200ms ease; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle > input[type="checkbox"]::after { position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgb(22 32 28 / 16%); content: ""; transition: transform 220ms var(--setup-ease); }
body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle > input[type="checkbox"]:checked { background: var(--ops-violet); }
body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle > input[type="checkbox"]:checked::after { transform: translateX(14px); }
body.pro-mode .business-onboarding-wizard .onboarding-hours-times { display: grid; grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr); align-items: center; gap: 9px; min-width: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-times > label { display: block; min-width: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-times > span:not(.prelook-select-shell) { color: var(--ops-muted); text-align: center; font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-times :is(select:not(.prelook-native-select), input[type="time"]) { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #cdd6cf; border-radius: 8px; color: var(--ops-ink); background: #fff; font-family: inherit; font-size: 16px; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-times .prelook-select-trigger { gap: 5px; padding-inline: 11px; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-closed { color: var(--ops-muted); font-size: 14px; }
body.pro-mode .business-onboarding-wizard #onboarding-schedule > [data-business-timezone-badge] { margin: -16px 0 22px; font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row > .onboarding-settings-section { grid-column: 1 / -1; width: 100%; margin-top: 0; padding: 0; border: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-row > .onboarding-settings-section > .onboarding-settings-heading { margin-bottom: 10px; font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-breaks { grid-column: 1 / -1; grid-row: 2; display: grid; gap: 12px; min-width: 0; margin: 4px 0; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-breaks:empty { display: none; }
body.pro-mode .business-onboarding-wizard .onboarding-hours-breaks > :is(.outline-button, .ghost-button) { justify-self: start; min-height: 44px !important; padding: 10px 12px !important; font-size: 14px !important; }
body.pro-mode .business-onboarding-wizard .onboarding-break-row { display: grid; grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) auto; align-items: center; gap: 10px; min-width: 0; margin-top: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-break-row input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #cdd6cf; border-radius: 8px; background: #fff; font-size: 16px; }
body.pro-mode .business-onboarding-wizard .onboarding-break-row > span { color: var(--ops-muted); font-size: 14px; text-align: center; }
body.pro-mode .business-onboarding-wizard .onboarding-break-row > button { min-width: 44px; min-height: 44px !important; padding: 10px 12px !important; font-size: 14px !important; }
body.pro-mode .business-onboarding-wizard .business-timezone-badge { display: inline-block; width: fit-content; margin-top: 12px; padding: 0; border: 0; border-radius: 0; color: var(--ops-muted); background: transparent; font-size: 13px; font-weight: 400; }
/* Optional catalog entries and fully visible settings share a simple form rhythm. */
body.pro-mode .business-onboarding-wizard .onboarding-entry-list { display: grid; gap: 20px; margin-bottom: 24px; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card { min-width: 0; margin: 0; padding: 24px; border: 1px solid var(--ops-line); border-radius: 10px; background: #fff; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 20px; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card > header strong { color: var(--ops-ink); font-size: 15px; font-weight: 550; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card > header button { flex: none; min-height: 36px; padding: 7px 8px; font-size: 13px; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card > header .ghost-button { min-height: 36px !important; padding: 7px 8px !important; font-size: 13px !important; }
body.pro-mode .business-onboarding-wizard .onboarding-entry-card .business-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
body.pro-mode .business-onboarding-wizard .onboarding-field-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-column: 1 / -1; align-items: end; gap: 16px; min-width: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-disclosure-body > .business-field + .business-field { margin-top: 20px; }
body.pro-mode .business-onboarding-wizard .onboarding-service-assignments { display: grid; gap: 12px; margin: 22px 0 0; padding: 16px 0 0; border: 0; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-service-assignments legend { padding: 0; color: var(--ops-ink); font-size: 14px; font-weight: 500; }
body.pro-mode .business-onboarding-wizard .onboarding-service-assignments .business-check { margin: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-empty-state { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 8px; min-height: 0; margin: 0 0 24px; padding: 24px; border: 1px solid var(--ops-line); border-radius: 10px; color: var(--ops-muted); background: #fff; text-align: left; }
body.pro-mode .business-onboarding-wizard .onboarding-empty-state > span:first-child { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 6px; border-radius: 10px; color: var(--ops-violet); background: #edf4ef; }
body.pro-mode .business-onboarding-wizard .onboarding-empty-state > span .icon { width: 20px; height: 20px; }
body.pro-mode .business-onboarding-wizard .onboarding-empty-state :is(h3, h4, strong) { margin: 0; color: var(--ops-ink); font-size: 17px; font-weight: 550; line-height: 1.4; letter-spacing: -.02em; }
body.pro-mode .business-onboarding-wizard .onboarding-empty-state p { max-width: 450px; margin: 0; color: var(--ops-muted); font-size: 14px; line-height: 1.6; }
body.pro-mode .business-onboarding-wizard .onboarding-settings-section { grid-column: 1 / -1; min-width: 0; margin: 28px 0 0; padding: 24px 0 0; border: 0; border-top: 1px solid var(--ops-line); border-radius: 0; background: transparent; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .onboarding-settings-heading { margin: 0 0 20px; padding: 0; color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.4; letter-spacing: -.015em; }
body.pro-mode .business-onboarding-wizard .onboarding-disclosure-body { min-width: 0; padding: 0; }
body.pro-mode .business-onboarding-wizard .business-form-grid > .onboarding-settings-section { margin-top: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-settings-section .business-booking-settings-section > header { margin-bottom: 16px; }
body.pro-mode .business-onboarding-wizard .business-booking-configuration-stack { gap: 26px; }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section { min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section + .business-booking-settings-section { padding-top: 26px; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard [data-onboarding-section] > .business-waitlist-settings { margin-top: 26px; padding-top: 26px; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section > header { margin-bottom: 20px; }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section > header > span { display: none; }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section > header h3 { margin: 0; color: var(--ops-ink); font-size: 17px; font-weight: 550; line-height: 1.4; letter-spacing: -.02em; }
body.pro-mode .business-onboarding-wizard .business-booking-settings-section > header p,
body.pro-mode .business-onboarding-wizard .business-booking-settings-help { color: var(--ops-muted); font-size: 14px; line-height: 1.6; }
body.pro-mode .business-onboarding-wizard .business-booking-option { color: var(--ops-ink); font-size: 15px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-booking-option > b { font-size: 15px; font-weight: 500; }
body.pro-mode .business-onboarding-wizard .business-booking-option > span { background: #c6cfc8; }
body.pro-mode .business-onboarding-wizard .business-booking-option input:checked + span { background: var(--ops-violet); }
body.pro-mode .business-onboarding-wizard .business-stylist-assignment-methods > legend { color: var(--ops-ink); font-size: 15px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-stylist-priority-help { color: var(--ops-muted); font-size: 14px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-modes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode { min-height: 88px; padding: 16px; border-color: #cdd6cf; border-radius: 10px; background: #fff; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode:has(input:checked) { border-color: var(--ops-violet); background: #f0f6f2; box-shadow: 0 0 0 1px var(--ops-violet); }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode strong { color: var(--ops-ink); font-size: 15px; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode small { color: var(--ops-muted); font-size: 13px; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode > input:checked ~ span { border-color: var(--ops-violet); background: var(--ops-violet); }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode > span { border-color: #b9c6bc; }
body.pro-mode .business-onboarding-wizard .business-booking-deposit-mode input:checked + span::after { background: #fff; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes { gap: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label { grid-template-columns: 20px minmax(0, 1fr); align-content: start; align-items: start; gap: 7px 12px; min-height: 118px; padding: 20px; border-width: 1px; border-radius: 10px; transition: background-color 180ms ease, border-color 180ms ease, box-shadow 220ms var(--setup-ease); }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label > span { grid-column: 1; grid-row: 1 / 3; align-self: start; margin-top: 2px; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label > strong { grid-column: 2; font-size: 16px; font-weight: 550; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label > small { grid-column: 2; font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label:hover { border-color: #8ca996; background: #f8fbf9; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label:has(input:checked) { border-color: var(--ops-violet); background: #edf5f0; box-shadow: 0 0 0 1px var(--ops-violet), 0 4px 12px rgb(31 107 82 / 5%); }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels { display: grid; min-width: 0; gap: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels > [data-deposit-panel] { display: none !important; grid-template-columns: minmax(0, 1fr); gap: 20px; min-width: 0; padding: 26px 0 0; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels > [data-deposit-panel][aria-hidden="false"] { display: grid !important; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels [data-booking-deposit-due-by] { margin: -6px 0 0; padding: 0; color: var(--ops-muted); font-size: 14px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image { margin: 0; padding: 20px; border: 1px solid var(--ops-line); border-radius: 10px; background: #fff; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-heading > span { color: var(--ops-ink); font-size: 15px; font-weight: 550; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-heading :is(p, small) { color: var(--ops-muted); font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-drop { gap: 14px; padding: 18px; border-color: #cdd6cf; border-radius: 8px; background: #f8faf8; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-mark { color: var(--ops-violet); background: #e8f2ec; }
body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-status { color: var(--ops-muted); font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-service-info-tip { flex: none; width: 20px; height: 20px; margin-left: 2px; border-color: #bccbc1; color: var(--ops-muted); background: transparent; font-size: 12px; font-weight: 500; cursor: pointer; }
body.pro-mode .business-onboarding-wizard .business-service-info-tip:is(:hover, :focus-visible, .is-tip-open) { border-color: var(--ops-violet); color: var(--ops-violet); background: #e8f2ec; }
body.pro-mode .business-onboarding-wizard .business-service-info-tip:focus-visible { outline: 3px solid rgb(31 107 82 / 35%); outline-offset: 3px; }
body.pro-mode .business-onboarding-wizard .onboarding-info-popover { position: fixed; inset: auto; z-index: 2000; display: none; width: min(300px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: 0; padding: 14px 16px; overflow: auto; border: 1px solid #34473d; border-radius: 10px; color: #fff; background: #20392e; box-shadow: 0 8px 26px rgb(22 32 28 / 16%); font-family: var(--font-sans, "Figtree", sans-serif); font-size: 14px; font-style: normal; font-weight: 400; line-height: 1.55; text-align: left; white-space: normal; opacity: 1; transform: none; transition: none; }
body.pro-mode .business-onboarding-wizard .onboarding-info-popover[data-onboarding-tip-open] { display: block; visibility: visible; pointer-events: auto; }
body.pro-mode .business-onboarding-wizard .business-service-info-tip:not(.is-tip-open) > [role="tooltip"] { opacity: 0; visibility: hidden; pointer-events: none; }
body.pro-mode .business-onboarding-wizard.onboarding-motion-ghost { position: fixed; z-index: 100; min-height: 0; margin: 0; padding: 0; overflow: hidden; pointer-events: none; }
body.pro-mode .onboarding-motion-ghost > * { width: 100%; margin: 0 !important; }
body.pro-mode .onboarding-motion-ghost > .business-booking-settings-deposit-panel { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 26px 0 0; }
body.pro-mode .business-onboarding-wizard .business-waitlist-settings-grid { gap: 22px; }
body.pro-mode .business-onboarding-wizard .business-waitlist-settings-grid :is(span, b) { font-size: 15px; }
body.pro-mode .business-onboarding-wizard .business-waitlist-settings-grid small { font-size: 13px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-policy-step { min-width: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .business-policy-step-number { display: none; }
body.pro-mode .business-onboarding-wizard .business-policy-step-heading { margin: 0 0 20px; padding: 0; color: var(--ops-ink); }
body.pro-mode .business-onboarding-wizard .business-policy-step-heading > span:last-child { gap: 6px; }
body.pro-mode .business-onboarding-wizard .business-policy-step-heading :is(b, h4) { color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .business-policy-step-heading :is(p, small) { color: var(--ops-muted); font-size: 14px; font-weight: 400; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-policy-term-groups { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; min-width: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group h4 { color: var(--ops-ink); font-size: 16px; font-weight: 500; line-height: 1.4; letter-spacing: 0; text-transform: none; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group label { min-height: 48px; padding: 10px 12px; border-color: #cdd6cf; border-radius: 8px; color: var(--ops-text); background: #fff; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group label > b { font-size: 14px; font-weight: 400; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group label > span { border-color: #b9c6bc; border-radius: 4px; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group label:has(input:checked) { border-color: #a6c4b1; color: var(--ops-ink); background: #f0f6f2; box-shadow: none; }
body.pro-mode .business-onboarding-wizard .business-policy-term-group input:checked + span { border-color: var(--ops-violet); background: var(--ops-violet); }
body.pro-mode .business-onboarding-wizard .business-custom-policy-header { align-items: flex-start; }
body.pro-mode .business-onboarding-wizard .business-custom-policy-header .business-policy-step-heading { margin-bottom: 0; }
body.pro-mode .business-onboarding-wizard :is(.business-custom-policy-add, .business-custom-policy-remove) { min-height: 44px; border-color: #cdd6cf; border-radius: 8px; color: var(--ops-ink); font-size: 14px; font-weight: 500; }
body.pro-mode .business-onboarding-wizard .business-custom-policy-empty { padding: 12px; border: 1px dashed var(--ops-line); border-radius: 8px; color: var(--ops-muted); background: transparent; font-size: 14px; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .business-custom-policy-item { grid-template-columns: 24px minmax(0, 1fr) 44px; padding: 0; border: 0; border-radius: 0; background: transparent; }
body.pro-mode .business-onboarding-wizard .business-custom-policy-item input { min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #cdd6cf; border-radius: 8px; color: var(--ops-ink); background: #fff; font-size: 16px; }
body.pro-mode .business-onboarding-wizard .onboarding-review-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-review-card { min-width: 0; padding: 22px 0; border: 0; border-bottom: 1px solid var(--ops-line); border-radius: 0; background: transparent; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card h4 { margin: 0; color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .onboarding-review-heading > span { display: grid; min-width: 0; gap: 5px; }
body.pro-mode .business-onboarding-wizard .onboarding-review-heading strong { color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .onboarding-review-heading small { color: var(--ops-muted); font-size: 14px; font-weight: 400; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body.pro-mode .business-onboarding-wizard .onboarding-review-heading > .icon { display: none; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card > header .ghost-button { flex: none; min-height: 36px !important; margin-top: -6px; padding: 6px 8px !important; color: var(--ops-violet) !important; font-size: 14px !important; font-weight: 500; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card dl { display: grid; gap: 8px; margin: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card dl > div { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1fr); gap: 18px; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card dt { color: var(--ops-muted); font-size: 14px; line-height: 1.55; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card dd { margin: 0; color: var(--ops-ink); font-size: 14px; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
body.pro-mode .business-onboarding-wizard .onboarding-review-card > .ghost-button { min-height: 36px !important; margin: 16px 0 0; padding: 6px 0 !important; color: var(--ops-violet) !important; font-size: 14px !important; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements { display: grid; gap: 20px; min-width: 0; margin: 32px 0 0; padding: 26px 0 0; border: 0; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-agreements legend { float: left; width: 100%; margin: 0; padding: 0; color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.5; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements .business-check { align-items: start; margin: 0; font-size: 14px; line-height: 1.6; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements .business-check input { margin-top: 2px !important; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements a { color: var(--ops-violet); text-decoration: underline; text-decoration-color: #9bb4a7; text-underline-offset: 3px; transition: text-decoration-color 180ms ease; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements a:hover { text-decoration-color: currentColor; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements small { display: block; margin-top: 3px; color: var(--ops-muted); font-size: 13px; font-weight: 400; }
body.pro-mode .business-onboarding-wizard .onboarding-agreements .onboarding-field-error { margin-top: -12px; }
body.pro-mode .business-onboarding-wizard .onboarding-error { margin-bottom: 24px; padding: 16px; border: 1px solid #e5c8c1; border-radius: 8px; color: #963d35; background: #fff5f1; font-size: 14px; line-height: 1.6; animation: salonSetupEntryIn 240ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-error > button { display: flex; width: fit-content; margin-top: 12px; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-stage { width: min(100%, 640px); margin: 0 auto; animation: salonSetupStepIn 420ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-salon-code { display: grid; gap: 12px; margin-bottom: 30px; padding: 24px; border: 1px solid var(--ops-line); border-radius: 10px; background: #fff; }
body.pro-mode .business-onboarding-wizard .onboarding-salon-code > span { color: var(--ops-muted); font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-salon-code > div { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-width: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-salon-code code { min-width: 0; color: var(--ops-ink); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: clamp(22px, 3vw, 28px); font-weight: 550; line-height: 1.3; letter-spacing: .1em; overflow-wrap: anywhere; }
body.pro-mode .business-onboarding-wizard .onboarding-salon-code button { flex: none; }
body.pro-mode .business-onboarding-wizard .onboarding-connections-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 8px; }
body.pro-mode .business-onboarding-wizard :is(.onboarding-connections-heading, .onboarding-connected-list) h4 { margin: 0; color: var(--ops-ink); font-size: 16px; font-weight: 550; line-height: 1.4; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-list { min-width: 0; border-top: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-connection-list > .onboarding-step-note { margin: 0; padding: 20px 0; font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-width: 0; padding: 18px 0; border-bottom: 1px solid var(--ops-line); }
body.pro-mode .business-onboarding-wizard .onboarding-connection-row > div:first-child { display: grid; gap: 4px; min-width: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-row strong { color: var(--ops-ink); font-size: 15px; font-weight: 550; overflow-wrap: anywhere; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-row small { color: var(--ops-muted); font-size: 13px; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-actions { display: flex; flex: none; gap: 8px; }
body.pro-mode .business-onboarding-wizard .onboarding-connected-list { margin-top: 24px; }
body.pro-mode .business-onboarding-wizard .onboarding-connected-list > .onboarding-connection-row > span { flex: none; color: var(--ops-violet); font-size: 13px; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-stage .business-onboarding-footer { justify-content: space-between; }
body.pro-mode .business-onboarding-wizard .onboarding-connection-stage .business-onboarding-footer > .solid-button { min-width: 168px; margin-left: auto; }
/* A visible loading arc resolves into a drawn check and a quiet ripple. */
body.pro-mode .business-onboarding-wizard .onboarding-celebration { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 26px; width: min(100%, 640px); min-height: min(630px, calc(100dvh - 200px)); margin: 0 auto; padding: 48px 24px; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; animation: salonSetupCompletionIn 580ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-mark { position: relative; isolation: isolate; display: grid; place-items: center; flex: none; width: 108px; height: 108px; margin-bottom: 8px; border: 1px solid #cde1d4; border-radius: 50%; color: var(--ops-violet); background: #e7f1e9; box-shadow: 0 0 0 12px rgb(31 107 82 / 4%); }
body.pro-mode .business-onboarding-wizard .onboarding-success-mark::before,
body.pro-mode .business-onboarding-wizard .onboarding-success-mark::after { position: absolute; z-index: -1; inset: -10px; border: 1px solid #b7d3c3; border-radius: 50%; content: ""; opacity: 0; pointer-events: none; animation: salonSetupHalo 1250ms 160ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-mark::after { animation-delay: 330ms; }
body.pro-mode .business-onboarding-wizard .onboarding-success-mark svg { width: 80px; height: 80px; overflow: visible; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; }
body.pro-mode .business-onboarding-wizard .onboarding-success-ring { stroke-width: 1.5; stroke-opacity: .24; stroke-dasharray: 100; stroke-dashoffset: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-success-check { stroke-width: 3.5; stroke-dasharray: 100; stroke-dashoffset: 0; animation: salonSetupCheck 680ms 180ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-copy { max-width: 480px; animation: salonSetupEntryIn 580ms 250ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-copy .eyebrow { margin: 0 0 12px; color: var(--ops-muted); font-size: 12px; font-weight: 500; letter-spacing: .08em; }
body.pro-mode .business-onboarding-wizard .onboarding-success-copy h2 { margin: 0; color: var(--ops-ink); font-size: clamp(32px, 4vw, 42px); font-weight: 550; line-height: 1.16; letter-spacing: -.045em; }
body.pro-mode .business-onboarding-wizard .onboarding-success-copy > p:not(.eyebrow) { margin: 16px 0 0; color: var(--ops-muted); font-size: 16px; line-height: 1.6; }
body.pro-mode .business-onboarding-wizard .onboarding-success-details { display: flex; align-items: center; justify-content: center; gap: 12px 22px; flex-wrap: wrap; color: var(--ops-muted); font-size: 14px; line-height: 1.5; animation: salonSetupEntryIn 580ms 360ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-details > span { display: inline-flex; align-items: center; gap: 7px; }
body.pro-mode .business-onboarding-wizard .onboarding-success-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 4px; animation: salonSetupEntryIn 580ms 440ms var(--setup-ease) both; }
body.pro-mode .business-onboarding-wizard .onboarding-success-actions .solid-button { min-width: 200px; }
body.pro-mode .business-onboarding-wizard .onboarding-celebration > .onboarding-step-note { max-width: 450px; margin: 0; font-size: 14px; }
body.pro-mode .business-onboarding-wizard .onboarding-loading-progress { width: 168px; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 4px; background: #dee9e1; }
body.pro-mode .business-onboarding-wizard .onboarding-loading-progress > i { display: block; width: 42%; height: 100%; border-radius: inherit; background: #5f9476; animation: salonSetupLoading 1500ms ease-in-out infinite; }
body.pro-mode .business-onboarding-wizard .onboarding-celebration.is-creating .onboarding-success-mark { animation: salonSetupBreathe 2400ms ease-in-out infinite; }
body.pro-mode .business-onboarding-wizard .onboarding-celebration.is-creating .onboarding-success-mark::before,
body.pro-mode .business-onboarding-wizard .onboarding-celebration.is-creating .onboarding-success-mark::after { animation: none; opacity: 0; }
body.pro-mode .business-onboarding-wizard .onboarding-celebration.is-creating .onboarding-success-ring { transform-origin: 50% 50%; stroke-opacity: 1; stroke-width: 2.8; stroke-dasharray: 30 70; animation: salonSetupSpin 1000ms linear infinite; }
body.pro-mode .business-onboarding-wizard .onboarding-celebration.is-creating .onboarding-success-check { visibility: hidden; animation: none; }
@keyframes salonSetupStepIn { from { opacity: 0; transform: translate(var(--setup-enter-x, 18px), 8px); } to { opacity: 1; transform: translate(0, 0); } }
@keyframes salonSetupStepOut { to { opacity: 0; transform: translate(calc(var(--setup-enter-x, 18px) * -1), -4px); } }
@keyframes salonSetupEntryIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@keyframes salonSetupCompletionIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes salonSetupCheck { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
@keyframes salonSetupHalo { from { opacity: .8; transform: scale(.85); } to { opacity: 0; transform: scale(1.8); } }
@keyframes salonSetupSpin { to { transform: rotate(360deg); } }
@keyframes salonSetupBreathe { 50% { box-shadow: 0 0 0 22px rgb(31 107 82 / 3%); } }
@keyframes salonSetupLoading { from { transform: translateX(-110%); } to { transform: translateX(340%); } }
@media (min-width: 521px) {
  body.pro-mode .business-onboarding-wizard #onboarding-location > .business-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 980px) {
  body.pro-mode .pro-page-wrap:has(.business-onboarding-wizard) { width: calc(100% - 48px); padding-top: 42px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-layout { grid-template-columns: 180px minmax(0, 1fr); gap: 40px; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar h2 { font-size: 19px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-steps button strong { font-size: 14px; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-row { grid-template-columns: minmax(0, 1fr) auto; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-row > .onboarding-add-break { grid-column: 2; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-row > :is(.onboarding-hours-times, .onboarding-hours-closed) { grid-column: 1 / -1; grid-row: 2; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-breaks { grid-row: 3; }
}
@media (min-width: 761px) and (max-height: 760px) {
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar { position: static; }
}
@media (max-width: 760px) {
  body.pro-mode .pro-page-wrap:has(.business-onboarding-wizard) { width: min(640px, calc(100% - 40px)); padding: 24px 0 48px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar { position: static; display: grid; grid-template-columns: 1fr auto; gap: 16px; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar h2 { align-self: center; font-size: 18px; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-progress { grid-column: 1 / -1; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-progress p { display: none; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-steps { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-steps button { grid-template-columns: 26px minmax(0, 1fr); align-content: center; gap: 10px; min-height: 52px; padding: 6px 0; text-align: left; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-steps button > b { width: 26px; height: 26px; font-size: 12px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-steps button strong { font-size: 14px; line-height: 1.35; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-steps button small { display: none; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .onboarding-step-note { display: none; }
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-delete-button { grid-column: 2; grid-row: 1; align-self: center; min-height: 32px; padding: 4px 0; font-size: 12px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-section-head { margin-bottom: 28px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-section-head h3 { font-size: 28px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer { margin-top: 28px; padding-top: 20px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer > span:not(.sr-only) { display: none; }
}
@media (max-width: 520px) {
  body.pro-mode .business-onboarding-wizard .onboarding-sidebar .business-onboarding-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer > button { grid-column: 1; grid-row: 2; justify-self: start; width: auto; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions { display: contents; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions > button { width: 100%; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions .solid-button { grid-column: 1 / -1; grid-row: 1; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions .onboarding-save-button { grid-column: 2; grid-row: 2; justify-self: end; width: auto; padding-inline: 0; }
  body.pro-mode .business-onboarding-wizard .business-onboarding-footer-actions [data-business-action="onboarding-skip"] { grid-column: 1 / -1; grid-row: 3; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-row { gap: 12px; padding-block: 16px; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-toggle { font-size: 15px; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-times { grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr); gap: 10px; }
  body.pro-mode .business-onboarding-wizard .onboarding-hours-closed { margin-left: 50px; }
  body.pro-mode .business-onboarding-wizard .onboarding-break-row { grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr); }
  body.pro-mode .business-onboarding-wizard .onboarding-break-row > button { grid-column: 3; justify-self: end; }
  body.pro-mode .business-onboarding-wizard .onboarding-entry-card { padding: 20px 16px; }
  body.pro-mode .business-onboarding-wizard .onboarding-entry-card .business-form-grid { gap: 20px 12px; }
  body.pro-mode .business-onboarding-wizard .onboarding-field-pair { gap: 12px; }
  body.pro-mode .business-onboarding-wizard .business-booking-deposit-modes { grid-template-columns: 1fr; }
  body.pro-mode .business-onboarding-wizard .onboarding-deposit-modes > label { min-height: 100px; padding: 18px; }
  body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image { padding: 16px; }
  body.pro-mode .business-onboarding-wizard .onboarding-deposit-panels .business-booking-policy-image-drop { padding: 14px; }
  body.pro-mode .business-onboarding-wizard .business-policy-term-group > div { grid-template-columns: minmax(0, 1fr); }
  body.pro-mode .business-onboarding-wizard .business-custom-policy-header { flex-wrap: wrap; gap: 14px; }
  body.pro-mode .business-onboarding-wizard .onboarding-review-card dl { gap: 14px; }
  body.pro-mode .business-onboarding-wizard .onboarding-review-card dl > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
  body.pro-mode .business-onboarding-wizard .onboarding-celebration { min-height: calc(100dvh - 170px); padding: 30px 0; gap: 24px; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-mark { width: 94px; height: 94px; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-mark svg { width: 72px; height: 72px; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-actions { flex-direction: column; width: 100%; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-details { gap: 10px 18px; font-size: 13px; }
  body.pro-mode .business-onboarding-wizard .onboarding-salon-code { padding: 20px; }
  body.pro-mode .business-onboarding-wizard .onboarding-salon-code > div { align-items: flex-start; flex-wrap: wrap; gap: 16px; }
  body.pro-mode .business-onboarding-wizard .onboarding-connection-row { flex-wrap: wrap; gap: 14px; }
  body.pro-mode .business-onboarding-wizard .onboarding-connection-actions { justify-content: flex-end; width: 100%; }
  body.pro-mode .business-onboarding-wizard .onboarding-connection-stage .business-onboarding-footer > .solid-button { grid-column: 1 / -1; grid-row: 1; width: 100%; margin-left: 0; }
  body.pro-mode .business-onboarding-wizard .onboarding-connection-stage .business-onboarding-footer > .ghost-button { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}
@media (max-width: 360px) {
  body.pro-mode .business-onboarding-wizard .onboarding-break-row input { padding-inline: 6px; }
  body.pro-mode:has(.business-onboarding-wizard) .pro-topbar .pro-brand > span:last-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pro-account-onboarding-status > span { animation: none !important; }
  body.pro-mode .business-onboarding-wizard,
  body.pro-mode .business-onboarding-wizard *,
  body.pro-mode .business-onboarding-wizard *::before,
  body.pro-mode .business-onboarding-wizard *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-check { stroke-dashoffset: 0; }
  body.pro-mode .business-onboarding-wizard .onboarding-success-mark::before,
  body.pro-mode .business-onboarding-wizard .onboarding-success-mark::after { opacity: 0; }
  body.pro-mode .business-onboarding-wizard :is(.solid-button, .outline-button, .ghost-button):active { transform: none; }
}
