.modal-detalles-matricula .modal-dialog { width: min(1050px, 90vw); max-width: none; margin-left: auto; margin-right: auto; height: calc(90dvh - 2rem); }
.modal-detalles-matricula .modal-content { padding: 0; max-height: calc(90dvh - 2rem); border: 0; border-radius: 16px; box-shadow: 0 12px 40px rgba(var(--bs-dark-rgb), .16); color: var(--bs-dark); }
.modal-detalles-matricula .modal-header { align-items: flex-start; gap: 18px; padding: 24px; border-bottom: 1px solid var(--bs-border-color); }
.modal-detalles-matricula .detalles-icono-header { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex-shrink: 0; border-radius: 50%; color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .1); font-size: 1.8rem; }
.modal-detalles-matricula .modal-title { font-size: 1.65rem; font-weight: 700; line-height: 1.25; margin: 0 0 6px; }
.modal-detalles-matricula p { color: var(--bs-secondary); font-size: .9rem; line-height: 1.55; margin: 0; }
.modal-detalles-matricula .modal-header .btn-close { margin: 0 0 0 auto; flex-shrink: 0; }
.modal-detalles-matricula .modal-body { display: grid; grid-template-columns: minmax(0, 27fr) minmax(0, 73fr); gap: 22px; padding: 22px 24px; }
.modal-detalles-matricula .detalles-navegacion { display: flex; flex-direction: column; flex-wrap: nowrap; gap: 4px; align-self: start; position: sticky; top: 0; }
.modal-detalles-matricula .detalles-navegacion .nav-link { display: flex; flex-direction: row; align-items: center; gap: 12px; text-align: left; min-height: 48px; padding: 10px 12px; border-radius: 9px; color: var(--bs-dark); font-size: .9rem; line-height: 1.4; transition: background-color 180ms ease, color 180ms ease; }
.modal-detalles-matricula .detalles-navegacion i { font-size: 1.25rem; flex-shrink: 0; }
.modal-detalles-matricula .detalles-navegacion .nav-link:hover { background: rgba(var(--bs-primary-rgb), .035); }
.modal-detalles-matricula .detalles-navegacion .nav-link.active { background: rgba(var(--bs-primary-rgb), .09); color: var(--bs-primary); font-weight: 600; }
.modal-detalles-matricula .detalles-contenido { min-width: 0; padding-left: 22px; border-left: 1px solid var(--bs-border-color); }
.modal-detalles-matricula .detalles-panel-encabezado { padding: 16px 18px; border-radius: 10px; background: rgba(var(--bs-primary-rgb), .065); margin-bottom: 16px; }
.modal-detalles-matricula h3 { font-size: 1rem; font-weight: 700; margin: 0 0 6px; }
.modal-detalles-matricula h4 { font-size: .95rem; font-weight: 600; margin: 0 0 4px; line-height: 1.4; }
.modal-detalles-matricula .detalles-pasos { list-style: none; margin: 0 0 20px; padding: 0; }
.modal-detalles-matricula .detalles-pasos li { position: relative; display: flex; gap: 16px; padding-bottom: 18px; }
.modal-detalles-matricula .detalles-pasos li:last-child { padding-bottom: 0; }
.modal-detalles-matricula .detalles-pasos li:not(:last-child)::after { content: ""; position: absolute; top: 36px; bottom: 5px; left: 15px; width: 2px; background: rgba(var(--bs-primary-rgb), .2); }
.modal-detalles-matricula .detalles-numero { display: flex; justify-content: center; align-items: center; flex: 0 0 32px; height: 32px; border-radius: 50%; background: var(--bs-primary); color: var(--bs-white); font-weight: 600; }
.modal-detalles-matricula .detalles-bloque { display: flex; align-items: flex-start; gap: 14px; padding: 16px; border: 1px solid var(--bs-border-color); border-radius: 10px; margin-bottom: 14px; }
.modal-detalles-matricula .detalles-bloque > i { color: var(--bs-primary); font-size: 1.5rem; flex-shrink: 0; }
.modal-detalles-matricula .detalles-confirmada { border-radius: 10px; border: 1px solid rgba(var(--bs-success-rgb), .2); background: rgba(var(--bs-success-rgb), .075); }
.modal-detalles-matricula .detalles-confirmada .detalles-bloque { border: 0; margin: 0; }
.modal-detalles-matricula .detalles-confirmada h4, .modal-detalles-matricula .detalles-confirmada i { color: var(--bs-success); }
.modal-detalles-matricula .detalles-aclaracion { display: flex; gap: 12px; padding: 14px; border-radius: 10px; background: rgba(var(--bs-primary-rgb), .045); }
.modal-detalles-matricula .detalles-aclaracion i { color: var(--bs-primary); }
.modal-detalles-matricula .accordion-button { font-size: .95rem; line-height: 1.5; padding: 14px 16px; }
.modal-detalles-matricula .accordion-body { font-size: .9rem; line-height: 1.6; color: var(--bs-secondary); }
.modal-detalles-matricula .modal-footer { padding: 12px 24px 18px; border-top: 0; }
.modal-detalles-matricula .detalles-cerrar { width: 110px; min-height: 44px; border-radius: 9px; }
.modal-detalles-matricula :focus-visible { outline: 2px solid var(--bs-primary); outline-offset: 3px; }
@media (max-width: 991.98px) {
  .modal-detalles-matricula .modal-body { display: block; }
  .modal-detalles-matricula .detalles-navegacion { position: static; flex-direction: row; overflow-x: auto; padding-bottom: 8px; margin-bottom: 14px; }
  .modal-detalles-matricula .detalles-navegacion .nav-link { flex-shrink: 0; white-space: nowrap; }
  .modal-detalles-matricula .detalles-contenido { padding-left: 0; border-left: 0; }
}
@media (max-width: 767.98px) {
  .modal-detalles-matricula .modal-dialog { width: 95vw; height: calc(95dvh - 1rem); margin-top: .5rem; margin-bottom: .5rem; }
  .modal-detalles-matricula .modal-content { max-height: calc(95dvh - 1rem); }
  .modal-detalles-matricula .modal-header { gap: 10px; padding: 18px 14px; }
  .modal-detalles-matricula .detalles-icono-header { width: 40px; height: 40px; font-size: 1.4rem; }
  .modal-detalles-matricula .modal-title { font-size: 1.3rem; }
  .modal-detalles-matricula .modal-body { padding: 14px; }
  .modal-detalles-matricula .modal-footer { padding: 10px 14px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .modal-detalles-matricula .nav-link, .modal-detalles-matricula .collapsing, .modal-detalles-matricula .modal-dialog { transition: none; }
}
