/* Style only the embedded PMSuite form; do not add UI elements or override the KDC popup. */
.kdc-ps-appointment .kdc-ps-form-frame-wrap{width:100%;max-width:100%;overflow:hidden;background:#fff;}
.kdc-ps-appointment .kdc-ps-form-frame{display:block;box-sizing:border-box;width:100%;min-height:1000px;border:0;background:#fff;}
.kdcui-modal .kdc-ps-appointment{padding-bottom:24px;}
.kdcui-modal .kdc-ps-appointment .kdc-ps-form-frame-wrap{margin-top:8px;}
@media(max-width:767px){
  .kdcui-modal .kdc-ps-appointment{padding-left:0;padding-right:0;}
  .kdcui-modal .kdc-ps-appointment .kdcui-form-container{padding-left:12px;padding-right:12px;}
}

/* Keep the entire embedded form inside the existing viewport-height KDC popup.
   PMSuite owns the iframe internals; its own scroll handles the long form.
   Prevent the former 2100px tall iframe from leaving blank space beneath Save. */
.kdcui-modal.kdc-ps-iframe-modal .kdcui-modal-dialog{height:calc(100dvh - 40px);}
.kdcui-modal.kdc-ps-iframe-modal .kdcui-modal-content{display:flex;flex-direction:column;overflow:hidden;}
.kdcui-modal.kdc-ps-iframe-modal .kdc-ps-appointment{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;box-sizing:border-box;}
.kdcui-modal.kdc-ps-iframe-modal .kdc-ps-appointment .kdcui-form-container{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;}
.kdcui-modal.kdc-ps-iframe-modal .kdc-ps-appointment .kdcui-section-heading{flex:0 0 auto;}
.kdcui-modal.kdc-ps-iframe-modal .kdc-ps-form-frame-wrap{flex:1 1 auto;min-height:0;overflow:hidden;}
.kdcui-modal.kdc-ps-iframe-modal .kdc-ps-form-frame{height:100%;min-height:0;overflow:auto;}
@media(max-width:767px){
  .kdcui-modal.kdc-ps-iframe-modal .kdcui-modal-dialog{height:100dvh;}
}
