/* Shared dismissal and spacing, loaded after individual admin themes. */
.mall-admin dialog {
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 32px);
  overscroll-behavior: contain;
}
.mall-admin dialog :is(header, .nw-dialog-header) {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.mall-admin dialog header h2 {
  min-width: 0;
  margin: 0;
  font-size: 19px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.mall-admin dialog header > form {
  flex: 0 0 auto;
  margin: 0;
}
.mall-admin dialog :is(header > button, header > form > button, .nw-dialog-close) {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #606b79;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}
.mall-admin dialog header button:hover:not(:disabled) { background: #edf2f7; }
.mall-admin dialog header button:focus-visible { outline: 2px solid #409eff; outline-offset: 2px; }
.mall-admin dialog header button:disabled { cursor: not-allowed; opacity: .45; }
.mall-admin :is(.nw-simple-dialog, #shopShipment, #shopPickup) { padding: 24px; }
.mall-admin dialog:has(> .nw-dialog-header) { padding: 24px; }
.mall-admin #shopShipmentForm > label { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 12px; align-items: center; margin: 16px 0; }
.mall-admin #shopShipmentForm > label > input { width: 100%; min-width: 0; }
.mall-admin :is(#shopShipmentForm, #pickupForm) > footer { display: flex; justify-content: flex-end; margin-top: 24px; }
.mall-admin dialog > .nw-dialog-header { margin-bottom: 20px; }
.mall-admin dialog :is(footer, .member-edit-footer) { flex-wrap: wrap; gap: 12px; }
.mall-admin .nw-path-text { padding: 16px; white-space: pre-wrap; overflow-wrap: anywhere; }
.mall-admin :is(.member-service-fields, .member-service-fields dd, .nw-order-fields label) { min-width: 0; }
.mall-admin .nw-order-fields input { max-width: 100%; }
.mall-admin .nw-order-fields label > span { flex-wrap: wrap; }
.mall-admin .member-service-fields { grid-template-columns: 130px minmax(0, 1fr); }
.mall-admin .nw-article-dialog .nw-article-minimize { float: none; }
@media (max-width: 700px) {
  .mall-admin .content { padding: 12px; }
  .mall-admin :is(.nw-simple-dialog, #shopShipment, #shopPickup, .member-service-grant, .nw-article-dialog),
  .mall-admin dialog:has(> .nw-dialog-header) { padding: 16px; }
  .mall-admin dialog :is(.product-fields, .camp-fields) { grid-template-columns: minmax(0, 1fr); }
  .mall-admin dialog fieldset { min-width: 0; }
  .mall-admin dialog input:not([type=checkbox]):not([type=radio]),
  .mall-admin dialog select,
  .mall-admin dialog textarea { min-width: 0; max-width: 100%; }
  .mall-admin .member-service { padding: 16px; margin: 0; }
  .mall-admin .member-service-card { padding: 16px; }
  .mall-admin .member-service-fields { grid-template-columns: 90px minmax(0, 1fr); }
  .mall-admin :is(#orderDetail, .nw-order-detail-modal) :is(.nw-detail-content, #orderDetailBody) { padding: 16px; }
}
