.wolt-menu-onboarding {
  border: 1px solid #ccd6df;
  border-radius: 6px;
  color: #20242a;
  padding: 0;
  width: min(1260px, calc(100vw - 32px));
  max-width: none;
  height: min(900px, calc(100vh - 32px));
  max-height: none;
  overflow: hidden;
}
.wolt-menu-onboarding[open] { display: flex; flex-direction: column; }
.wolt-menu-onboarding::backdrop { background: rgb(21 32 44 / 45%); }
.wolt-menu-onboarding > header, .wolt-menu-onboarding > footer { align-items: center; display: flex; flex: 0 0 auto; gap: 20px; justify-content: space-between; padding: 16px 20px; background: #f2f6f9; }
.wolt-menu-onboarding > header { border-bottom: 1px solid #d7e0e7; }
.wolt-menu-onboarding > footer { border-top: 1px solid #d7e0e7; }
.wolt-menu-onboarding h2 { font-size: 20px; margin: 0 0 6px; }
.wolt-menu-onboarding h3 { font-size: 17px; margin: 0 0 12px; }
.wolt-menu-onboarding h4 { margin: 14px 0 10px; }
.wolt-menu-onboarding p { margin: 6px 0; line-height: 1.4; }
.wolt-menu-onboarding > header p, .wolt-menu-onboarding > footer p { font-size: 13px; max-width: 980px; color: #506273; }
.wolt-menu-onboarding > header > button { width: 36px; height: 36px; padding: 0; flex: 0 0 auto; font-size: 22px; }
.wolt-onboarding-body { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 18px 20px; }
.wolt-menu-onboarding label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; min-width: 0; }
.wolt-menu-onboarding input:not([type='checkbox']), .wolt-menu-onboarding select { background: white; border: 1px solid #bac8d4; border-radius: 3px; box-shadow: none; color: #20242a; min-height: 34px; padding: 6px 9px; width: 100%; font: inherit; }
.wolt-menu-onboarding input:disabled, .wolt-menu-onboarding select:disabled { background: #eef1f4; }
.wolt-menu-onboarding .button { margin: 0; min-height: 34px; }
.wolt-menu-onboarding .button:disabled { opacity: .55; cursor: default; }
.wolt-menu-onboarding details { border: 1px solid #d6e0e8; border-radius: 3px; padding: 10px 12px; margin: 12px 0; }
.wolt-menu-onboarding summary { cursor: pointer; font-weight: 600; }
.wolt-menu-onboarding pre { background: #f6f8fa; max-height: 260px; overflow: auto; padding: 12px; font-size: 12px; white-space: pre-wrap; overflow-wrap: anywhere; }
.wolt-onboarding-upload { align-items: end; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.wolt-onboarding-upload > div { display: flex; gap: 10px; flex-wrap: wrap; }
.wolt-onboarding-upload > small { color: #617588; }
.wolt-onboarding-message { min-height: 20px; color: #245d70; }
.wolt-onboarding-message.error { color: #ac2424; }
.wolt-onboarding-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; padding: 14px; background: #eaf4f8; border-radius: 4px; }
.wolt-onboarding-summary span { color: #536a7e; font-size: 13px; }
.wolt-onboarding-filters { display: grid; grid-template-columns: 220px minmax(180px, 1fr); gap: 14px; margin: 14px 0; }
.wolt-onboarding-table-wrap { border: 1px solid #d1dbe3; max-height: 340px; overflow: auto; }
.wolt-onboarding-table { border-collapse: collapse; min-width: 100%; table-layout: fixed; font-size: 13px; }
.wolt-onboarding-table th, .wolt-onboarding-table td { border-bottom: 1px solid #dbe2e7; border-right: 1px solid #dbe2e7; padding: 9px 12px; position: relative; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.wolt-onboarding-table th { background: #f2f5f7; position: sticky; top: 0; z-index: 1; }
.wolt-onboarding-table tr.selected { background: #edf6fe; }
.wolt-onboarding-table td > small { color: #667c8f; display: block; }
.wolt-onboarding-table .button { font-size: 12px; margin-top: 8px; padding: 4px 12px; }
.wolt-onboarding-source-button { display: flex; flex-direction: column; width: 100%; gap: 4px; text-align: left; border: 0; padding: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; }
.wolt-onboarding-source-button small, .wolt-onboarding-source-button code { font-size: 11px; color: #667c8f; overflow-wrap: anywhere; }
.wolt-onboarding-state { display: block; font-size: 12px; }
.wolt-onboarding-state.confirmed { color: #237846; }
.wolt-onboarding-state.missing { color: #9c5d00; }
.wolt-onboarding-inspector { border: 1px solid #a8c5dc; background: #f8fbfd; border-radius: 4px; margin-top: 16px; padding: 16px; }
.wolt-onboarding-mapping { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wolt-onboarding-mapping label:has([data-wolt-candidate-query]) { display: grid; grid-template-columns: 1fr auto; }
.wolt-onboarding-mapping label:has([data-wolt-candidate-query]) input { grid-column: 1; }
.wolt-onboarding-mapping label:has([data-wolt-candidate-query]) button { grid-column: 2; }
.wolt-onboarding-draft { border-top: 1px solid #d6e0e8; margin-top: 22px; padding-top: 18px; }
.wolt-onboarding-draft > div { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wolt-menu-onboarding .wolt-onboarding-checkbox { align-items: center; flex-direction: row; margin: 14px 0; }
.wolt-onboarding-checkbox input { flex: 0 0 auto; }
.wolt-onboarding-tabs { display: flex; gap: 8px; padding-top: 16px; border-bottom: 1px solid #c9d8e3; margin-top: 12px; }
.wolt-onboarding-tabs button { border: 1px solid #ccd9e4; border-bottom: 0; border-radius: 4px 4px 0 0; padding: 12px 18px; background: #f3f6f8; color: #41596e; font: inherit; cursor: pointer; }
.wolt-onboarding-tabs button[aria-selected='true'] { background: #e8f3fb; color: #125b90; font-weight: 600; }
.wolt-onboarding-dishes { display: grid; gap: 8px; }
.wolt-menu-onboarding details.wolt-onboarding-dish { margin: 0; padding: 0; border: 1px solid #cbd9e3; background: white; overflow: hidden; }
.wolt-onboarding-dish > summary { align-items: center; display: grid; grid-template-columns: minmax(150px, 1fr) 24px minmax(160px, 1.2fr) 130px; gap: 12px; background: #f4f8fb; padding: 14px 16px; }
.wolt-onboarding-dish > summary > span:first-child { display: flex; gap: 6px; flex-direction: column; }
.wolt-onboarding-dish > summary > span:first-child > small { color: #637888; font-size: 11px; font-weight: 400; }
.wolt-onboarding-dish > summary::marker { content: ''; }
.wolt-onboarding-dish > summary > span:first-child > strong::before { content: '▸'; margin-right: 8px; color: #5e7b90; }
.wolt-onboarding-dish[open] > summary > span:first-child > strong::before { content: '▾'; }
.wolt-onboarding-dish summary .confirmed { color: #277347; }
.wolt-onboarding-dish summary .missing { color: #886126; }
.wolt-onboarding-dish-body { padding: 14px; }
.wolt-onboarding-dish-base { display: flex; align-items: center; gap: 16px; justify-content: space-between; padding-bottom: 14px; }
.wolt-onboarding-dish-base .button { flex: 0 0 auto; }
.wolt-onboarding-option-group { border-left: 3px solid #a8c7de; margin: 10px 0 14px 12px; padding-left: 12px; }
.wolt-onboarding-option-group > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; }
.wolt-onboarding-option-group > header > span { color: #687e90; font-size: 12px; }
.wolt-onboarding-option-group .wolt-onboarding-table-wrap { max-height: none; }
.wolt-onboarding-option-group .wolt-onboarding-table .button { margin-top: 0; }
.wolt-menu-onboarding .wolt-onboarding-identifiers { font-size: 12px; margin-bottom: 0; }
.wolt-onboarding-shared-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.wolt-onboarding-shared-option { border: 1px solid #cbd9e3; border-radius: 4px; background: #f8fbfd; padding: 16px; }
.wolt-onboarding-shared-option > header { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.wolt-onboarding-shared-option h3 { margin: 0 0 5px; }
.wolt-onboarding-shared-option small { color: #607a8e; }
.wolt-onboarding-shared-option ul { list-style: none; padding: 0; margin: 10px 0 0; }
.wolt-onboarding-shared-option li { display: flex; gap: 10px; align-items: center; justify-content: space-between; padding: 8px 0; border-top: 1px solid #dde5eb; }
.wolt-onboarding-shared-option .button { font-size: 12px; }
.wolt-onboarding-bulk { margin-top: 18px; border: 2px solid #94b7d2; border-radius: 4px; padding: 18px; background: #f1f8fc; }
.wolt-onboarding-bulk-contexts { max-height: 300px; overflow: auto; border: 1px solid #d1dfe8; background: white; padding: 0 12px; margin: 12px 0; }
.wolt-onboarding-bulk > .button { margin-right: 10px; }
.wolt-candidate-combobox { position: relative; min-width: 0; }
.wolt-candidate-combobox input { padding-right: 30px !important; font-weight: 600 !important; }
.wolt-candidate-combobox.role-modifier input { color: #245d79; font-style: italic !important; }
.wolt-candidate-combobox input::placeholder { color: #708293; font-weight: 400; font-style: normal; }
.wolt-candidate-combobox input:focus { outline: 2px solid #7cb4db; outline-offset: 1px; }
.wolt-candidate-combobox > small { display: block; color: #617588; font-size: 11px; margin-top: 6px; }
.wolt-candidate-caret { position: absolute; top: 33px; right: 11px; color: #617588; pointer-events: none; }
/* Keep suggestions in flow: a short dish card must not clip its own listbox. */
.wolt-candidate-popup { border: 1px solid #a8bfd2; background: #fff; margin-top: 5px; border-radius: 4px; overflow: hidden; }
.wolt-candidate-popup[hidden] { display: none; }
.wolt-candidate-popup [role='listbox'] { max-height: 240px; overflow-y: auto; overscroll-behavior: contain; }
.wolt-candidate-popup [role='status'] { color: #617588; font-size: 12px; margin: 0; padding: 10px 12px; }
.wolt-candidate-popup [role='status']:empty { display: none; }
.wolt-candidate-option { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; min-height: 44px; padding: 9px 12px; border-bottom: 1px solid #e5ebf0; cursor: pointer; }
.wolt-candidate-option:last-child { border-bottom: 0; }
.wolt-candidate-option:hover, .wolt-candidate-option.active { background: #eaf4fc; outline: 1px solid #7cb4db; outline-offset: -1px; }
.wolt-candidate-option[aria-selected='true'] { border-left: 3px solid #28759c; padding-left: 9px; }
.wolt-candidate-kind { background: #eef2f6; color: #4b6378; padding: 3px 5px; border-radius: 3px; font-size: 10px; font-weight: 600; white-space: nowrap; }
.wolt-candidate-name { font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.wolt-candidate-option.role-modifier .wolt-candidate-name { font-style: italic; font-weight: 600; color: #245d79; }
.wolt-candidate-option.role-modifier .wolt-candidate-kind { background: #edf6f5; color: #356c66; }
.wolt-candidate-option.role-product .wolt-candidate-name { font-weight: 500; }
.wolt-candidate-sku { color: #6d7d8c; font-size: 11px; font-variant-numeric: tabular-nums; }
.wolt-size-badge { display: inline-block; width: fit-content; background: #e9f2fb; color: #245781; border: 1px solid #bdd3e6; border-radius: 4px; padding: 3px 7px; font-size: 12px; font-weight: 700; font-style: normal; white-space: nowrap; }
.wolt-size-picker select { font-weight: 700 !important; color: #245781 !important; }
.wolt-mapping-target { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px 9px; }
.wolt-mapping-target strong { font-size: 14px; font-weight: 700; }
.wolt-mapping-target.role-modifier strong, .wolt-modifier-source { color: #245d79; font-style: italic; font-weight: 600; }
.wolt-mapping-target small { flex-basis: 100%; color: #617588; font-size: 11px; font-weight: 400; font-style: normal; }
@media (max-width: 760px) {
  .wolt-menu-onboarding { width: calc(100vw - 12px); height: calc(100vh - 12px); }
  .wolt-menu-onboarding > header, .wolt-menu-onboarding > footer, .wolt-onboarding-body { padding: 12px; }
  .wolt-onboarding-upload, .wolt-onboarding-mapping, .wolt-onboarding-draft > div { grid-template-columns: 1fr; }
  .wolt-onboarding-filters { grid-template-columns: minmax(130px, 1fr) minmax(150px, 2fr); }
  .wolt-onboarding-shared-options { grid-template-columns: 1fr; }
  .wolt-onboarding-dish > summary { grid-template-columns: minmax(115px, 1fr) 16px minmax(120px, 1fr); gap: 6px; padding: 12px; }
  .wolt-onboarding-dish > summary > .wolt-onboarding-state { display: none; }
  .wolt-onboarding-shared-option > header { flex-wrap: wrap; }
  .wolt-onboarding-tabs button { font-size: 13px; padding: 10px; }
}
