/* V68 — área segura, margens e espaçamentos consistentes em janelas e painéis */
:root { --modal-safe-x: clamp(18px, 2vw, 28px); --modal-safe-y: clamp(16px, 2vh, 24px); }
*, *::before, *::after { box-sizing: border-box; }

.modal-overlay {
  padding: clamp(14px, 2.2vw, 32px) !important;
  overflow: hidden;
  overscroll-behavior: contain;
}
.modal-card {
  max-width: 100%;
  max-height: calc(100dvh - clamp(28px, 4.4vw, 64px)) !important;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}
.modal-card > .modal-header {
  position: sticky;
  top: 0;
  z-index: 20;
  padding: var(--modal-safe-y) var(--modal-safe-x) !important;
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  backdrop-filter: blur(16px);
}
.modal-card > .modal-header > div { min-width: 0; }
.modal-card > .modal-header h2 { line-height: 1.18; }
.modal-card > .modal-header p:last-child { margin-top: 4px; color: var(--muted); line-height: 1.45; }
.modal-card > .modal-header .modal-close { margin: 0 !important; }
.modal-card > .product-form-actions-v58 {
  position: sticky;
  bottom: 0;
  z-index: 18;
  margin: 16px 0 0 !important;
  padding: 14px var(--modal-safe-x) max(18px, env(safe-area-inset-bottom)) !important;
  border-top: 1px solid var(--border);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  backdrop-filter: blur(16px);
}

/* Conteúdo interno que antes encostava nas bordas do modal. */
.commission-rules-card-v67 > :is(.commission-config-grid-v67, .commission-config-section-v67, .commission-rules-note-v67),
.finance-entry-card-v61 > .finance-entry-grid-v61,
.finance-action-card-v66 > :is(.finance-entry-grid-v61, .finance-impact-v66, .finance-cancel-warning-v66, .finance-cancel-reason-v66),
.bank-modal-card-v65 > :is(.bank-modal-grid-v65, .bank-modal-note-v65),
.payment-method-card-v62 > .payment-config-form-v60,
.category-modal-v60 > :is(.settings-category-form-v58, .settings-categories-v58),
.purchase-invoice-card-v60 > :is(.purchase-invoice-head-v60, .purchase-invoice-items-v60, #addPurchaseInvoiceItem, .purchase-invoice-total-v60),
.warranty-claim-card-v60 > label {
  margin-left: var(--modal-safe-x) !important;
  margin-right: var(--modal-safe-x) !important;
}
.commission-rules-card-v67 > .commission-config-grid-v67,
.finance-entry-card-v61 > .finance-entry-grid-v61,
.finance-action-card-v66 > .finance-entry-grid-v61,
.bank-modal-card-v65 > .bank-modal-grid-v65,
.payment-method-card-v62 > .payment-config-form-v60,
.category-modal-v60 > .settings-category-form-v58,
.purchase-invoice-card-v60 > .purchase-invoice-head-v60,
.warranty-claim-card-v60 > label:first-of-type { margin-top: var(--modal-safe-y) !important; }
.commission-rules-card-v67 > .commission-config-section-v67 { padding-top: 16px; }
.commission-rules-card-v67 > .commission-rules-note-v67,
.bank-modal-card-v65 > .bank-modal-note-v65,
.finance-action-card-v66 > :is(.finance-impact-v66, .finance-cancel-warning-v66) { margin-top: 14px; }
.finance-action-card-v66 > .finance-cancel-reason-v66 { display: grid; margin-top: 12px; }
.purchase-invoice-card-v60 > #addPurchaseInvoiceItem { margin-top: 12px; }
.purchase-invoice-card-v60 > .purchase-invoice-total-v60 { margin-top: 12px; }

#productDetailContent,
.client-profile-content,
.order-detail-content { padding: var(--modal-safe-y) var(--modal-safe-x) !important; }

/* Modais criados dinamicamente pelo PDV. */
.pdv26-modal-overlay {
  padding: clamp(14px, 2.2vw, 32px) !important;
  overflow: hidden;
  overscroll-behavior: contain;
}
.pdv26-modal {
  width: min(760px, 100%) !important;
  max-height: calc(100dvh - clamp(28px, 4.4vw, 64px));
  padding: clamp(18px, 2.2vw, 26px) !important;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  overscroll-behavior: contain;
}

/* Cartões e páginas: respiro consistente nas extremidades. */
.panel-card { max-width: 100%; }
.page > :first-child { min-width: 0; }
.table-wrapper { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }

@media (max-width: 760px) {
  :root { --modal-safe-x: 16px; --modal-safe-y: 15px; }
  .modal-overlay { padding: 10px !important; place-items: center !important; align-items: center !important; }
  .modal-card { width: 100% !important; max-height: calc(100dvh - 20px) !important; border-radius: 18px !important; }
  .modal-card > .product-form-actions-v58 { flex-wrap: wrap; }
  .modal-card > .product-form-actions-v58 > * { flex: 1 1 135px; min-width: 0; }
  .pdv26-modal-overlay { padding: 10px !important; }
  .pdv26-modal { max-height: calc(100dvh - 20px); border-radius: 18px !important; }
  .pdv26-modal-footer { position: sticky; bottom: -1px; padding-top: 12px; background: inherit; flex-wrap: wrap; }
  .pdv26-modal-footer > * { flex: 1 1 130px; }
}
