/* A percentage-height iframe in an auto-sized grid row collapses to 150px.
   Give the mail panel a bounded flex track, then size the frame to that track.
   Scope all rules to the embedded mail page; leave other PMS pages unchanged. */
.pms-workspace.pms-viewport-v4.pms-mail-open > [data-pms-panel="mail"].has-embedded-mail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-content: normal;
  min-height: 0;
  min-width: 0;
  height: 100%;
  padding-bottom: 0;
  gap: 6px;
  overflow: hidden;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .has-embedded-mail > #pms-reservation-mail-open:not([hidden]) {
  flex: 0 0 36px;
  align-self: flex-start;
  min-height: 36px;
  margin: 0;
  padding: 6px 12px;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-workspace {
  flex: 1 1 0;
  height: auto !important;
  min-height: 0;
  min-width: 0;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-frame-slot {
  position: relative;
  flex: 1 1 0;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-controls {
  padding: 2px 8px;
  gap: 6px;
}
.pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-controls button {
  min-height: 40px;
}
@media(max-width: 980px) {
  .pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-status { display: none; }
  .pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-controls { flex-wrap: nowrap; }
  .pms-workspace.pms-viewport-v4.pms-mail-open .pms-v3-mail-controls button { min-height: 44px; }
  .pms-workspace.pms-viewport-v4.pms-mail-open .has-embedded-mail > #pms-reservation-mail-open:not([hidden]) { flex-basis: 44px; min-height: 44px; }
}
