/* Overlay "Mostrar a paciente". Todo bajo .mp-ov (se inyecta en la PWA del paciente). */
.mp-ov { --mp-crema: #FFF6EF; --mp-tinta: #5A4650; --mp-durazno: #F2A07E; --mp-terracota: #C2703F; }
.mp-ov, .mp-ov * { box-sizing: border-box; }
.mp-ov .mp-ov-sheet {
  position: fixed; display: flex; flex-direction: column; overflow: hidden;
  background: var(--mp-crema); color: var(--mp-tinta);
  font: 400 16px/1.4 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}
.mp-ov .mp-ov-sheet[hidden], .mp-ov .mp-ov-pill[hidden] { display: none; }
/* La cabecera ocupa la franja del recorte (arriba a la izquierda de la ventana transparente). */
.mp-ov .mp-ov-head {
  flex: 0 0 var(--mp-cut-h, 88px); width: calc(100% - var(--mp-cut-w, 117px));
  display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 8px 0 14px;
}
.mp-ov .mp-ov-title { flex: 1 1 auto; min-width: 0; font: 600 15px/1.25 'Poppins', system-ui, sans-serif; color: var(--mp-terracota); }
.mp-ov .mp-ov-zoom {
  flex: 0 0 auto; height: 44px; min-width: 44px; border: 2px solid var(--mp-terracota); border-radius: 999px; padding: 0 12px;
  background: #fff; color: var(--mp-terracota); font: 600 14px/1 'Inter', system-ui, sans-serif; cursor: pointer; -webkit-tap-highlight-color: transparent;
}
.mp-ov .mp-ov-zoom[aria-pressed="true"] { background: var(--mp-terracota); color: #fff; }
.mp-ov .mp-ov-zoom[hidden] { display: none; }
.mp-ov .mp-ov-close {
  flex: 0 0 auto; width: 44px; height: 44px; border: 0; border-radius: 50%; padding: 0; cursor: pointer;
  background: var(--mp-durazno); color: #fff; font: 700 18px/1 system-ui, sans-serif; -webkit-tap-highlight-color: transparent;
}
.mp-ov .mp-ov-body { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.mp-ov .mp-ov-scroll {
  flex: 1 1 auto; min-height: 0; overflow: auto; -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y pinch-zoom; overscroll-behavior: contain;
}
.mp-ov .mp-ov-pdf { background: #efe6df; }
.mp-ov .mp-ov-canvas { display: block; max-width: none; margin: 0 auto; background: #fff; }
.mp-ov .mp-ov-error { margin: 0; padding: 24px 16px; text-align: center; }
.mp-ov .mp-ov-pill {
  position: fixed; left: 50%; transform: translateX(-50%); max-width: calc(100vw - 32px);
  border: 0; border-radius: 999px; padding: 12px 20px; cursor: pointer; white-space: nowrap;
  background: var(--mp-terracota); color: #fff; font: 600 15px/1.2 'Inter', system-ui, sans-serif;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .35); -webkit-tap-highlight-color: transparent;
}
