.store-setup-grid.onboarding-layout { grid-template-columns: minmax(0, 1fr); }
.onboarding-layout > .store-form-card { padding: 28px; }
.onboarding-form { gap: 0; }
.onboarding-section { padding: 25px 0; border-top: 1px solid #e4eaf2; }
.onboarding-section-heading { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 20px; }
.onboarding-section-heading > span { display: inline-flex; flex: 0 0 28px; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 8px; background: #edf3fc; color: #3c6096; font-size: 13px; font-weight: 650; }
.onboarding-section-heading h3 { margin: 1px 0 0; font-size: 17px; color: #34465f; }
.onboarding-section-heading p { margin: 6px 0 0; color: #66758a; font-size: 12px; }
.onboarding-more { margin-top: 18px; border: 1px solid #e1e7f0; border-radius: 9px; background: #f9fbfd; }
.onboarding-more > summary { padding: 13px 16px; cursor: pointer; color: #4c607c; font-size: 13px; font-weight: 600; }
.onboarding-more > .store-field-grid { padding: 6px 16px 18px; }
.onboarding-channel-grid, .onboarding-schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.onboarding-channel-card { min-width: 0; padding: 18px; border: 1px solid #dce5f0; border-radius: 10px; background: #fafcff; }
.onboarding-channel-choice, .onboarding-options > label { display: flex; align-items: flex-start; gap: 11px; cursor: pointer; }
.onboarding-channel-choice > input, .onboarding-options > label > input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; accent-color: #3565ad; }
.onboarding-channel-choice strong, .onboarding-options strong { display: block; color: #34465f; font-size: 14px; }
.onboarding-channel-choice small, .onboarding-options small { display: block; margin-top: 4px; color: #66758a; font-size: 12px; line-height: 1.7; }
.onboarding-channel-fields { min-width: 0; margin: 0; padding: 0; border: 0; }
.onboarding-channel-card > .onboarding-channel-fields { margin-top: 18px; }
.onboarding-channel-note { margin-top: 18px; padding: 12px 14px; border-radius: 7px; background: #edf3fb; color: #526b8e; font-size: 12px; }
.onboarding-channel-note p { margin: 6px 0 0; line-height: 1.8; }
.onboarding-start-date { max-width: 360px; margin: 0 0 20px; }
.onboarding-schedule-card { padding: 16px 18px 18px; border: 1px solid #dce5f0; border-radius: 10px; }
.onboarding-schedule-card > legend { padding: 0 6px; color: #34465f; font-size: 14px; font-weight: 650; }
.onboarding-pending { display: inline-block; margin-left: 7px; padding: 2px 6px; border-radius: 5px; background: #fff5df; color: #896424; font-size: 10px; font-weight: 500; }
.onboarding-input-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.onboarding-wide { grid-column: 1 / -1; }
.onboarding-wide [id$="_weekdays"] { display: flex; flex-wrap: wrap; gap: 7px; }
.onboarding-wide [id$="_weekdays"] label { display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 7px 9px; border: 1px solid #e0e7f0; border-radius: 7px; background: #f8fafc; }
.onboarding-wide [id$="_weekdays"] input { width: 15px; height: 15px; min-height: 0; margin: 0; accent-color: #3565ad; }
.onboarding-schedule-preview, .onboarding-empty-note { padding: 12px 14px; border-radius: 7px; background: #f2f6fc; color: #526b8e; font-size: 12px; line-height: 1.7; }
.onboarding-schedule-preview { margin: 16px 0 0; }
.onboarding-options { display: grid; gap: 18px; }
.onboarding-safety-note { margin: 18px 0 0; padding: 13px 16px; border-left: 3px solid #afc3df; border-radius: 0 7px 7px 0; background: #f5f8fc; color: #526b8e; font-size: 12px; line-height: 1.8; }
.onboarding-review { margin: 0 -10px; padding: 22px 20px; border: 1px solid #dce5f0; border-radius: 10px; background: #f8fafd; }
.onboarding-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin: 0; }
.onboarding-summary dt { margin-bottom: 5px; color: #66758a; font-size: 12px; }
.onboarding-summary dd { margin: 0; color: #34465f; font-size: 13px; line-height: 1.8; white-space: pre-line; overflow-wrap: anywhere; }
.onboarding-save-actions { margin-top: 22px; }
.onboarding-form [hidden] { display: none !important; }
@media (max-width: 760px) {
  .onboarding-layout > .store-form-card { padding: 20px; }
  .onboarding-channel-grid, .onboarding-schedule-grid, .onboarding-summary { grid-template-columns: minmax(0, 1fr); }
  .onboarding-section { padding: 21px 0; }
  .onboarding-section-heading { gap: 9px; }
  .onboarding-review { margin: 0; padding: 18px 15px; }
  .onboarding-channel-card, .onboarding-schedule-card { padding: 15px; }
}

/* Both the search box and the editable store name can suggest places. */
.place-autocomplete { position: relative; min-width: 0; width: 100%; }
.place-autocomplete > input { width: 100%; }
.place-autocomplete-status { min-height: 0; margin: 5px 0 0; color: #66758a; font-size: 11px; line-height: 1.7; }
.place-autocomplete-status:empty { display: none; }
.place-autocomplete-list { position: absolute; z-index: 30; top: calc(100% + 5px); left: 0; right: 0; max-height: 340px; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 5px; list-style: none; border: 1px solid #b8c9e4; border-radius: 9px; background: #fff; box-shadow: 0 10px 24px #203f6d20; }
.place-autocomplete-list[hidden] { display: none; }
.place-autocomplete-list > li { display: flex; align-items: flex-start; gap: 12px; padding: 11px 12px; border-radius: 6px; cursor: pointer; }
.place-autocomplete-list > li + li { border-top: 1px solid #edf1f7; }
.place-autocomplete-list > li:hover, .place-autocomplete-list > li[aria-selected="true"] { background: #edf4ff; }
.place-autocomplete-list strong { display: block; color: #304c73; font-size: 13px; }
.place-option-info { min-width: 0; }
.place-option-info > span { display: block; margin-top: 4px; color: #687b94; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; }
.place-option-info > strong { overflow-wrap: anywhere; }
.place-thumbnail { display: inline-flex; flex: 0 0 64px; width: 64px; height: 64px; align-items: center; justify-content: center; overflow: hidden; border: 1px solid #e1e8f0; border-radius: 8px; background: #f2f5f9; color: #8390a3; font-size: 11px; line-height: 1.4; }
.place-thumbnail > img { display: block; width: 100%; height: 100%; object-fit: cover; }
.place-result-overview { display: flex; align-items: flex-start; gap: 14px; }
.place-result-info { min-width: 0; overflow-wrap: anywhere; }
.place-result-info > h3 { margin-top: 0; }
.place-link-fallback[hidden] { display: none; }
.place-link-refine { display: flex; align-items: flex-start; gap: 12px; margin: 16px 0; }
.place-link-refine > .field { flex: 1; min-width: 0; margin: 0; }
.place-link-refine > button { flex: 0 0 auto; margin-top: 28px; }
.place-selection-help { color: #64758d; font-size: 12px; line-height: 1.8; margin: 14px 0; }
.place-link-guide { margin: 16px 0; border: 1px solid #e0e7f0; border-radius: 8px; background: #f8fafc; }
.place-link-guide > summary { padding: 12px 15px; color: #42618b; font-size: 13px; font-weight: 600; cursor: pointer; }
.place-link-guide > div { padding: 0 15px 12px; }
.place-link-guide p { margin: 6px 0; color: #63758e; font-size: 12px; line-height: 1.8; }
.place-link-guide code, .place-field-link-help code { overflow-wrap: anywhere; word-break: break-word; font-size: 11px; }
.field > .place-link-load { justify-self: start; align-self: flex-start; width: fit-content; min-height: 35px; margin-top: 7px; padding: 7px 11px; font-size: 12px; }
.place-link-load:disabled { opacity: .5; cursor: default; }
@media (max-width: 600px) {
  .place-autocomplete-list > li { gap: 9px; padding: 10px 8px; }
  .place-link-refine { flex-wrap: wrap; }
  .place-link-refine > .field { flex-basis: 100%; }
  .place-link-refine > button { margin-top: 0; }
}
