/* Adaptación móvil aislada del módulo de Historias Clínicas. */
#modal-historia #tab-btn-lc,
#modal-historia #hc-tab-lc { display: none !important; }

#modal-historia .hc-bio-row { display:grid; grid-template-columns:minmax(105px,150px) minmax(0,1fr) minmax(0,1fr); gap:7px; align-items:center; margin-bottom:6px; }
#modal-historia .hc-bio-row label { font-weight:600; font-size:.85rem; color:var(--text); }
#modal-historia .hc-bio-row input,
#modal-historia .hc-pio-detail-grid input,
#modal-historia .hc-pio-detail-grid select { width:100%; box-sizing:border-box; padding:8px 9px; border:1px solid var(--border); border-radius:8px; font-size:.88rem; background:#fff; }
#modal-historia .hc-bio-heading { color:var(--text-light); font-size:.75rem; font-weight:800; text-align:center; margin-bottom:5px; }
#modal-historia .hc-pio-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#modal-historia .hc-pio-detail-grid label { min-width:0; }
#modal-historia .hc-pio-detail-grid span { display:block; margin-bottom:4px; color:var(--text-light); font-size:.78rem; font-weight:600; }
#modal-historia .hc-pio-method { grid-column:1/-1; }

@media (max-width: 700px) {
  #modal-historia .hc-rxfinal-heading { align-items:stretch !important; flex-direction:column; }
  #modal-historia .hc-rxfinal-heading button { width:100%; min-height:40px; white-space:normal !important; }
  #modal-historia .hc-bio-row { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px; }
  #modal-historia .hc-bio-row > :first-child { grid-column:1/-1; }
  #modal-historia .hc-bio-heading > :first-child { display:none; }
  #modal-historia .hc-bio-heading > div { grid-column:auto; font-size:.68rem; }
  #modal-historia .hc-bio-row label { margin-top:4px; }
  /* Mismos cuadros y campos que escritorio, conservando medidas clínicas legibles. */
  #modal-historia #section-agudeza-visual,
  #modal-historia #section-lensometria,
  #modal-historia #section-queratometria,
  #modal-historia #section-autorefraccion,
  #modal-historia #section-subjetivo-sin-ciclo,
  #modal-historia #section-rxfinal,
  #modal-historia #section-tipo-lente-material,
  #modal-historia #section-diagnostico-cie10 {
    max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin;
  }
  #modal-historia #section-lensometria > [style*="grid-template-columns:70px repeat(4"],
  #modal-historia #section-queratometria > [style*="grid-template-columns:70px repeat(4"],
  #modal-historia #section-autorefraccion > [style*="grid-template-columns:70px repeat(4"] { min-width:500px; }
  #modal-historia #section-subjetivo-sin-ciclo > [style*="grid-template-columns:70px repeat(6"],
  #modal-historia #section-rxfinal > [style*="grid-template-columns:70px repeat(6"] { min-width:680px; }
  #modal-historia #section-tipo-lente-material > [style*="grid-template-columns:1.5fr"] { min-width:520px; }
  #view-historias_clinicas { padding: 8px 8px 104px !important; overflow-x: hidden; }
  #view-historias_clinicas .card.card-soft { padding: 12px !important; border-radius: 20px !important; }
  #view-historias_clinicas .card.card-soft > div > div:first-child {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 8px !important;
  }
  #view-historias_clinicas .card.card-soft > div > div:first-child > div:first-child,
  #view-historias_clinicas .card.card-soft .add-btn {
    grid-column: 1/-1; width: 100% !important; min-width: 0 !important; flex-basis: auto !important;
  }
  #view-historias_clinicas .add-btn {
    min-height: 48px; margin: 0 !important; position: relative; z-index: 5; touch-action: manipulation;
  }
  #view-historias_clinicas .card.card-soft > div > div:first-child > div:nth-child(3) {
    grid-column: 1/-1; width: 100%; min-width: 0 !important;
  }
  #view-historias_clinicas .card.card-soft > div > div:first-child > div:nth-child(3) > div {
    min-width: 0; overflow: hidden;
  }
  #view-historias_clinicas .card.card-soft > div > div:first-child > div:nth-child(3) [id^="hc-total-"] {
    flex: 0 0 auto; font-size: .88rem !important;
  }
  #view-historias_clinicas #hc-global-search { font-size: 16px !important; min-width: 0; }
  #view-historias_clinicas #hc-global-search::placeholder { font-size: .78rem; }
  #view-historias_clinicas #hc-total-historias,
  #view-historias_clinicas #hc-search-stats {
    width: 100%; max-width: 100%; text-align: left !important; line-height: 1.35; overflow-wrap: anywhere;
  }
  #view-historias_clinicas .hc-switch-container { width: 100%; box-sizing: border-box; border-radius: 14px !important; }
  #lista-historias-global-contenedor { grid-template-columns: 1fr !important; gap: 10px !important; }
  #lista-historias-global-contenedor .patient-card { min-width: 0; border-radius: 18px !important; }
  #lista-historias-global-contenedor .patient-body > div:first-child {
    display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px !important;
  }
  #lista-historias-global-contenedor .patient-body button {
    min-width: 0; padding: 10px 6px !important; font-size: .73rem !important;
  }

  .hc-history-list-modal,.hc-detail-modal { padding: 0 !important; align-items: flex-end !important; }
  .hc-history-list-modal > .premium-modal-content,.hc-detail-modal > .hc-detail-panel {
    width: 100vw !important; max-width: 100vw !important; height: calc(100dvh - 8px) !important;
    max-height: calc(100dvh - 8px) !important; border-radius: 24px 24px 0 0 !important;
  }
  .hc-history-list-header {
    padding: 12px 54px 12px 14px !important; gap: 8px !important; align-items: center !important;
    flex-direction: row !important; position: relative; min-height: 58px;
  }
  .hc-history-list-header .header-left { min-width: 0; gap: 7px !important; }
  .hc-history-list-header .header-left > div:first-child { display: none !important; }
  .hc-history-list-header .header-info h2 { font-size: 1rem !important; }
  .hc-history-header-actions { gap: 5px !important; flex-shrink: 0; width: auto !important; margin-left: auto; }
  .hc-history-header-actions button {
    width: 40px !important; height: 40px !important; min-height: 40px !important; padding: 0 !important;
    justify-content: center; overflow: hidden; font-size: 0 !important; border-radius: 12px !important;
  }
  .hc-history-header-actions button .material-symbols-outlined { font-size: 20px !important; }
  .hc-history-header-actions button:first-child { display: none !important; }
  .hc-history-header-actions button:nth-child(2) {
    width: auto !important; padding: 0 10px !important; font-size: .72rem !important; white-space: nowrap;
  }
  .hc-history-header-actions button:nth-child(2) .material-symbols-outlined { display: none !important; }
  .hc-history-header-actions button:last-child {
    position: absolute; top: 50%; right: 10px; transform: translateY(-50%); display: flex !important;
    align-items: center !important; justify-content: center !important; color: #334155 !important;
    font-size: 0 !important; line-height: 1 !important; border-radius: 50% !important;
  }
  .hc-history-header-actions button:last-child::before {
    content: "\00d7"; display: block; font: 500 24px/1 Arial,sans-serif; transform: translateY(-1px);
  }
  .hc-history-filterbar { padding: 9px 11px !important; }
  .hc-history-filterbar input { font-size: 16px !important; }
  .hc-history-timeline { padding: 11px 9px 28px !important; gap: 10px !important; }
  .hc-history-timeline .history-card { gap: 6px !important; min-width: 0; }
  .hc-history-timeline .history-card > div:first-child { min-width: 40px !important; }
  .hc-history-timeline .history-card > div:first-child > div:first-child { width: 40px !important; height: 40px !important; }
  .hc-history-timeline .history-card > div:nth-child(2) { min-width: 0; padding: 11px !important; }
  .hc-history-timeline .history-card > div:nth-child(2) > div:first-child { flex-direction: column; gap: 6px; }
  .hc-history-timeline .history-card > div:nth-child(2) > div:first-child > div:last-child { justify-content: flex-start; }
  .hc-history-timeline .history-card > div:nth-child(2) > div:nth-child(3) { gap: 6px !important; }
  .hc-history-timeline .history-card > div:nth-child(2) > div:nth-child(3) > div { padding: 7px !important; gap: 5px !important; min-width: 0; }
  .hc-history-card-buttons { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .hc-history-card-buttons button {
    width: 100%; min-width: 0; min-height: 42px !important; padding: 7px !important;
    justify-content: center; font-size: .7rem !important;
  }

  .hc-detail-header { padding: 11px 12px !important; gap: 8px; align-items: flex-start !important; }
  .hc-detail-header > div:first-child { min-width: 0; gap: 7px !important; }
  .hc-detail-header > div:first-child > div:first-child { display: none !important; }
  .hc-detail-header h2 { font-size: 1rem !important; }
  .hc-detail-header h2 + div { font-size: .7rem !important; overflow-wrap: anywhere; }
  .hc-detail-header > button {
    display: flex !important; flex: 0 0 40px !important; width: 40px !important; height: 40px !important;
    min-height: 40px !important; padding: 0 !important; align-items: center; justify-content: center;
  }
  .hc-detail-body { padding: 13px 11px 20px !important; }
  .hc-detail-body [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .hc-detail-body table { min-width: 540px; }
  .hc-detail-body [style*="overflow: hidden"]:has(table) { overflow-x: auto !important; }
  .hc-detail-footer {
    padding: 7px 9px max(7px,env(safe-area-inset-bottom)) !important; flex-wrap: nowrap !important;
    gap: 6px !important; overflow-x: auto !important; overscroll-behavior-x: contain; scrollbar-width: none;
  }
  .hc-detail-footer::-webkit-scrollbar { display: none; }
  .hc-detail-footer > div { flex: 0 0 auto; flex-wrap: nowrap !important; }
  .hc-detail-footer button {
    flex: 0 0 auto; min-height: 40px !important; padding: 7px 9px !important;
    border-radius: 10px !important; font-size: .7rem !important; white-space: nowrap;
  }
  .hc-detail-footer > div:last-child { display: none !important; }

  #modal-nueva-historia-clinica { padding: 0 !important; align-items: flex-end !important; z-index: 1200000 !important; }
  #modal-nueva-historia-clinica > .premium-modal-content {
    width: 100vw !important; max-width: 100vw !important; max-height: calc(100dvh - 8px) !important;
    overflow-y: auto !important; border-radius: 24px 24px 0 0 !important;
  }
  #modal-nueva-historia-clinica > .premium-modal-content > div:nth-child(2) {
    grid-template-columns: 1fr !important; padding: 11px !important;
  }

  #modal-historia {
    padding: 0 !important; align-items: stretch !important;
    background: rgba(239,246,255,.72) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
  }
  #modal-historia #hc-window {
    width: 100vw !important; max-width: 100vw !important; height: 100dvh !important;
    border: 0 !important; border-radius: 0 !important;
  }
  /* En teléfono se conservan solo las acciones de ventana que tienen sentido:
     minimizar para continuar luego y cerrar. */
  #modal-historia #hc-window > div:first-child .hc-window-btn:first-child {
    display: inline-flex !important;
    width: 38px !important; height: 38px !important; min-width: 38px !important;
    align-items: center !important; justify-content: center !important;
  }
  #modal-historia #btn-maxim-hc,
  #modal-historia #btn-fullscreen-hc { display: none !important; }
  body.hc-modal-abierta #opti-mentor-wrapper,
  body.hc-modal-abierta #mentor-show-fab { display: none !important; }
  #modal-historia #btn-hc-ai-toggle { display: none !important; }
  #modal-historia #btn-hc-ai-autofill {
    flex: 1 1 auto !important; min-width: 0 !important; max-width: none !important; height: 38px !important;
    padding: 0 11px !important; margin: 0 !important; border-radius: 10px !important;
    font-size: .7rem !important; overflow: hidden !important; text-overflow: ellipsis;
  }
  #modal-historia #hc-smart-toolbar {
    display: flex !important; align-items: center !important;
    gap: 6px !important; padding: 7px 9px !important; margin: 0 !important;
  }
  #modal-historia #hc-smart-toolbar .hc-smart-btn {
    flex: 0 0 42px !important; width: 42px !important; min-width: 42px !important; height: 38px !important;
    padding: 0 !important; justify-content: center !important; font-size: .7rem !important;
  }
  #modal-historia #hc-smart-toolbar .hc-smart-btn-label {
    position: absolute !important; width: 1px !important; height: 1px !important;
    padding: 0 !important; margin: -1px !important; overflow: hidden !important;
    clip: rect(0,0,0,0) !important; white-space: nowrap !important;
  }
  #modal-historia #hc-smart-dictation-btn.is-listening {
    position: fixed !important; right: 12px !important;
    bottom: calc(70px + env(safe-area-inset-bottom)) !important;
    width: 48px !important; height: 48px !important; z-index: 1200010 !important;
    border-radius: 50% !important; background: linear-gradient(135deg,#ef4444,#dc2626) !important;
  }
  #modal-historia #hc-patient-banner { padding: 7px 10px !important; }
  #modal-historia .hc-tabs-bar {
    padding: 0 10px !important; gap: 15px !important; scroll-snap-type: x proximity;
  }
  #modal-historia .hc-tabs-bar::after { content: ''; flex: 0 0 12px; }
  #modal-historia .hc-tab-btn { padding: 10px 0 !important; font-size: .78rem !important; scroll-snap-align: start; }
  #modal-historia #hc-scroll-area { padding: 9px !important; gap: 9px !important; }
  #modal-historia input,#modal-historia select,#modal-historia textarea {
    font-size: 16px !important; max-width: 100%; box-sizing: border-box;
  }
  #modal-historia #hc-voice-guide { max-width: 100% !important; }
  #modal-historia .hc-voice-btn { width: 40px !important; height: 40px !important; min-height: 40px !important; }
  #modal-historia #hc-window > div:last-child {
    display: grid !important; grid-template-columns: repeat(3,minmax(0,1fr)) !important;
    gap: 7px !important; padding: 8px 9px max(8px,env(safe-area-inset-bottom)) !important;
  }
  #modal-historia #hc-window > div:last-child > div { display: contents !important; }
  #modal-historia #hc-window > div:last-child button {
    width: 100% !important; min-width: 0 !important; min-height: 46px !important;
    padding: 7px 5px !important; font-size: .72rem !important; line-height: 1.15 !important;
  }
}
