/* All app dialogs fit inside the visible screen, including the keyboard area. */
:is(.modal-wrap,.checkout-wrap,.admin-mfa-overlay),#authWrap,#proxyOrderWrap{
  position:fixed;inset:auto;top:var(--dialog-viewport-top,0px);left:var(--dialog-viewport-left,0px);
  width:var(--dialog-viewport-width,100%);height:100vh;height:100dvh;height:var(--dialog-viewport-height,100dvh);
  box-sizing:border-box;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));
  overflow:hidden;align-items:center;justify-content:center;min-height:0;min-width:0;
}
:is(.modal-wrap,.checkout-wrap).show,.admin-mfa-overlay{display:flex;}
.modal-wrap>.modal,.checkout-wrap>.checkout,.admin-mfa-overlay>.admin-mfa-card,#proxyOrderWrap>.proxy-order-modal{
  box-sizing:border-box;max-width:100%;max-height:100%;min-width:0;min-height:0;margin:0;overflow-y:auto;overflow-x:hidden;
  overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
@media(max-width:720px){
  .modal-wrap>.modal,.checkout-wrap>.checkout,.admin-mfa-overlay>.admin-mfa-card{padding:24px 16px 20px;}
  #proxyOrderWrap>.proxy-order-modal{padding:48px 14px 24px;}
  :is(.modal,.checkout,.admin-mfa-card) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px;box-sizing:border-box;max-width:100%;min-width:0;}
  :is(.modal,.checkout,.admin-mfa-card) :is(form,label,.form-row){min-width:0;}
  .modal .form-row{grid-template-columns:minmax(0,1fr);}
  .modal .table-panel,.modal .proxy-order-table{max-width:100%;overflow-x:auto;}
  .admin-mfa-card :is(p,code,details){overflow-wrap:anywhere;}
}
