/* Shared form and viewport guarantees. Keep browser zoom enabled. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
form, fieldset, .checkout-field, .checkout-field-grid, .report-search { min-width:0; }
input, select, textarea { box-sizing:border-box; min-width:0; max-width:100%; }
@media (max-width:1100px), (pointer:coarse) {
  /* Prevent focus-triggered text magnification without disabling pinch zoom. */
  form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
  form select, form textarea, .report-search input {
    font-size:max(16px,1rem)!important;
    min-height:44px;
  }
  .mobile-menu {
    max-height:calc(100vh - var(--header-height));
    max-height:calc(100dvh - var(--header-height));
    overscroll-behavior-y:contain;
    padding-bottom:max(18px,env(safe-area-inset-bottom,0px));
  }
}
.report-checkout {
  box-sizing:border-box;
  min-width:0;
  max-width:calc(100% - 16px);
  max-height:calc(100vh - 24px);
  max-height:min(900px,calc(100dvh - 24px));
  overscroll-behavior-y:contain;
  scroll-padding-block:64px 24px;
}
.report-detail-dialog { overscroll-behavior-y:contain; }
@media (max-height:500px) {
  .report-checkout, .report-detail-dialog {
    margin-top:8px;
    margin-bottom:8px;
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
  }
}
