/* Owner console only. Loaded last so inherited cashier styles remain unchanged.
   Reflow actual controls; only data tables and the category directory scroll. */
.adm-body .adm-option-form { padding: var(--s-4); }
.adm-body .adm-option-group,
.adm-body .adm-item__options { min-inline-size: 0; overflow-wrap: anywhere; }
.adm-body .adm-item__options summary,
.adm-body .adm-item__options h2,
.adm-body .adm-item__options h3,
.adm-body .adm-item__options h4 { overflow-wrap: anywhere; }
.adm-body .adm-option__attach { display: flex; flex-wrap: wrap; align-items: end; gap: var(--s-3); }
.adm-body .adm-option__attach .adm-field { flex: 1 1 16rem; }
.adm-body .adm-option__checkbox { inline-size: 22px; block-size: 22px; flex: none; }
.adm-body .adm-table__scroll:focus-visible { outline: 3px solid var(--c-focus); outline-offset: -3px; }

@media (max-width: 960px) {
  /* Give the menu and editor the tablet's full width instead of subtracting
     a sidebar and a second category rail from a 768px viewport. */
  .adm-body .adm-shell { flex-direction: column; }
  .adm-body .adm-nav {
    position: static;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    inline-size: 100%;
    max-block-size: none;
    overflow: visible;
    padding: var(--s-2) var(--s-3);
    gap: var(--s-1);
    border-inline-start: 0;
    border-block-end: 1px solid var(--c-line);
  }
  .adm-body .adm-nav__link { flex: 1 1 9rem; min-inline-size: 0; min-block-size: 44px; white-space: normal; }
  .adm-body .adm-nav__link > span { min-inline-size: 0; overflow-wrap: anywhere; }
  .adm-body .adm-mcard__sku { overflow-wrap: anywhere; }
  .adm-body .adm-content { inline-size: 100%; padding-inline: var(--s-3); }
  .adm-body input:not([type="checkbox"]):not([type="radio"]),
  .adm-body select,
  .adm-body textarea { font-size: 16px; }
  .adm-body .adm-form__grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
  .adm-body .adm-menu { grid-template-columns: minmax(0, 1fr); }
  .adm-body .adm-menu__catList {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr));
    gap: var(--s-1);
    max-block-size: min(32dvh, 16rem);
    overflow: auto;
    overscroll-behavior-y: auto;
  }
  .adm-body .adm-mcat-row { min-inline-size: 0; }
  .adm-body .adm-mcat { min-block-size: 44px; padding-block: var(--s-2); }
  .adm-body .adm-mcat__name { white-space: normal; overflow: visible; overflow-wrap: anywhere; }
  /* At narrow widths hubs.css hid category editing entirely. Keep a separate
     touch target beside the category instead of overlaying its label. */
  .adm-body .adm-mcat__edit {
    position: static;
    display: grid;
    opacity: 1;
    inline-size: 44px;
    block-size: 44px;
    flex: none;
    box-shadow: none;
  }
  .adm-body .adm-mcat-row--child { padding-inline-start: var(--s-3); }
  .adm-body .adm-menu__structure,
  .adm-body .adm-menu__catAdd,
  .adm-body .adm-pop__trigger,
  .adm-body .adm-pop__item,
  .adm-body .adm-seg__btn,
  .adm-body .adm-btn-sm { min-block-size: 44px; }
  .adm-body .adm-menu__structure,
  .adm-body .adm-pop__trigger { min-inline-size: 44px; }
  .adm-body .adm-menu__headText { flex-basis: 100%; }
  .adm-body .adm-menu__headActions { inline-size: 100%; }
  .adm-body .adm-menu__headActions .btn { flex: 1 1 auto; }
  .adm-body .adm-menu__toolbar { min-inline-size: 0; }
  .adm-body .adm-menu__search { flex-basis: 100%; }
  .adm-body .adm-seg { flex-wrap: wrap; max-inline-size: 100%; }
  .adm-body .adm-menu__head,
  .adm-body .adm-menu__rail,
  .adm-body .adm-hub__section { min-inline-size: 0; }
  .adm-body .adm-pop__menu { min-inline-size: 0; inline-size: min(17rem, calc(100vw - 3rem)); }
  .adm-body .adm-pop__item { white-space: normal; }
}

@media (max-width: 600px) {
  .adm-body .adm-header { position: static; gap: var(--s-2); padding-inline: var(--s-3); }
  .adm-body .adm-header__brand { flex: 1 1 12rem; }
  .adm-body .adm-header__actions { flex-wrap: wrap; }
  .adm-body .adm-header__names { min-inline-size: 0; }
  .adm-body .adm-page__actions,
  .adm-body .adm-form__foot,
  .adm-body .adm-img__uploadRow { display: flex; flex-wrap: wrap; gap: var(--s-2); }
  .adm-body .adm-page__actions .btn,
  .adm-body .adm-form__foot .btn { flex: 1 1 9rem; }
  .adm-body .btn { min-block-size: 44px; white-space: normal; }
  .adm-body .btn--icon { min-inline-size: 44px; }
  .adm-body .adm-field,
  .adm-body .adm-option-field,
  .adm-body .field,
  .adm-body .adm-form { min-inline-size: 0; }
  .adm-body .input,
  .adm-body .adm-select,
  .adm-body .adm-textarea,
  .adm-body .adm-option-form input:not([type="checkbox"]),
  .adm-body .adm-option-form select {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    min-block-size: 44px;
    font-size: 16px; /* iOS must not zoom the entire editor when focusing a price. */
  }
  .adm-body .adm-switch { min-block-size: 44px; flex-wrap: wrap; }
  .adm-body .adm-field__label,
  .adm-body .adm-field__hint,
  .adm-body .adm-notice__text,
  .adm-body .adm-menu__title { overflow-wrap: anywhere; }
  .adm-body .adm-price { flex-wrap: wrap; min-inline-size: 0; }
  .adm-body .adm-price .input { flex: 1 1 8rem; }
  .adm-body .adm-login { padding: var(--s-4); }
  .adm-body .adm-menu__head { padding: var(--s-3); }
  .adm-body .adm-item__images { min-inline-size: 0; }
  .adm-body .adm-img__gallery { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
  /* The body is the only vertical scroller. Header/close and footer actions
     remain in the dialog, including short landscape/virtual-keyboard heights. */
  .adm-body dialog.adm-modal[open] {
    display: flex;
    flex-direction: column;
    inline-size: min(720px, calc(100vw - 16px));
    max-inline-size: calc(100vw - 16px);
    max-block-size: calc(100dvh - 16px);
  }
  .adm-body .adm-modal .modal__head,
  .adm-body .adm-modal .modal__foot,
  .adm-body .adm-modal .modal__sub { flex: none; }
  .adm-body .adm-modal .modal__head { padding: var(--s-3); min-inline-size: 0; }
  .adm-body .adm-modal .modal__title { min-inline-size: 0; overflow-wrap: anywhere; font-size: var(--t-lg); }
  .adm-body .adm-modal .modal__body {
    min-block-size: 0;
    max-block-size: none;
    padding: var(--s-3);
    overflow-y: auto;
  }
  .adm-body .adm-modal .modal__foot { padding: var(--s-3); flex-wrap: wrap; }
  .adm-body .adm-modal .modal__foot .btn { flex: 1 1 8rem; }
  .adm-body .adm-table__actions { flex-wrap: wrap; justify-content: flex-start; }
  .adm-body .adm-table td,
  .adm-body .adm-table th { padding-inline: var(--s-3); }
}
