/* Module-specific layout. Base colors, typography and components come from SGOPLUS. */
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.auth-panel{width:100%;max-width:30rem}
.metric-number{font-size:1.9rem;font-weight:700;line-height:1.2}
.expediente-tabs{display:flex;gap:.4rem;flex-wrap:wrap}.expediente-tabs .nav-link{padding:.6rem .85rem;color:var(--app-text);border:1px solid var(--sgo-color-borde);background:white;border-radius:.5rem}.expediente-tabs .nav-link.active{background:var(--app-primary);color:white;border-color:var(--app-primary)}
/* Navegación del expediente agrupada por tipo de información: una fila por grupo. */
.expediente-nav{padding:.35rem 0}
.expediente-nav-fila{display:flex;align-items:flex-start;gap:1rem;padding:.6rem 1.25rem}
.expediente-nav-fila+.expediente-nav-fila{border-top:1px solid var(--sgo-color-borde)}
.expediente-nav-grupo{flex:0 0 11.5rem;padding-top:.65rem;color:var(--sgo-color-texto-secundario);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.expediente-nav-fila .expediente-tabs{flex:1 1 auto;min-width:0}
.record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1rem}.record-card{min-width:0}.record-card dd,.document-name,.break-word{overflow-wrap:anywhere}.record-card dt{font-size:.75rem;color:var(--sgo-color-texto-secundario);font-weight:500}.record-card dd{margin-bottom:.7rem}
.multi-options{max-height:13rem;overflow:auto;background:white}.multi-options .form-check{padding-top:.3rem;padding-bottom:.3rem}
.document-actions{display:flex;gap:.5rem;flex-wrap:wrap}.audit-item{border-left:2px solid var(--sgo-color-borde);padding:0 0 1.25rem 1rem}.terms-content{white-space:pre-wrap;overflow-wrap:anywhere}.table td{max-width:25rem;overflow-wrap:anywhere}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}
@media(max-width:767.98px){.app-main{padding:1rem}.btn{min-height:2.6rem}.expediente-nav-fila{flex-direction:column;gap:.4rem;padding:.75rem 1rem}.expediente-nav-grupo{flex:0 0 auto;padding-top:0}.expediente-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.expediente-tabs .nav-link{font-size:.8rem;height:100%;white-space:normal}.form-actions>.btn{flex:1}.document-actions .btn{flex:1}.metric-number{font-size:1.5rem}.app-topbar{padding:.75rem 1rem}.dt-container .dt-layout-row{gap:.75rem}.auth-shell{padding:1rem}}
.btn-icono{display:inline-grid!important;place-items:center!important;width:2rem!important;height:2rem!important;min-height:2rem!important;padding:0!important;line-height:1!important}.btn-icono i{line-height:1!important}
.sidebar-caret{margin-left:auto;font-size:1rem;transition:transform .2s}.sidebar-link[aria-expanded="true"] .sidebar-caret{transform:rotate(180deg)}.sidebar-sublink{padding-left:2.6rem!important;font-size:.9rem;opacity:.92}.sidebar-sublink.active{opacity:1}
/* Estandarización de espaciados: el CSS define el ritmo y las vistas no repiten utilidades. */
.card-header,.card-footer{padding:.5rem 1.25rem}
.card-body{padding:1.25rem}
.record-grid{gap:.85rem}
/* auto-fill (no auto-fit) mantiene el ancho de tarjeta aunque el grupo tenga pocas tarjetas */
.catalogo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:.85rem}
.form-actions{margin-top:1.25rem}
.table>thead>tr>th,.table>tbody>tr>td{padding:.55rem .6rem}
.app-main{padding:1.25rem}
.app-footer-bar{padding:.75rem 1.25rem;font-size:.875rem}
/* Los modales de formulario aprovechan el ancho de la pantalla. */
@media(min-width:768px){.modal-dialog.modal-xl{max-width:min(1140px,92vw)}.modal-dialog.modal-lg{max-width:min(800px,92vw)}}
@media(max-width:991.98px){.card-header,.card-footer,.card-body{padding-left:1rem;padding-right:1rem}.card-body{padding-top:1rem;padding-bottom:1rem}}
@media(min-width:992px){.app-main{padding:1.5rem}.app-footer-bar{padding:.75rem 1.5rem}}

/* Vista previa de los documentos del artículo: miniatura de imagen y visor de PDF. */
.documento-miniatura{display:block;width:auto;height:auto;max-width:100%;max-height:220px;border:1px solid var(--sgo-color-borde);border-radius:.5rem;background:#fff}
.documento-visor{display:block;width:100%;height:480px;border:1px solid var(--sgo-color-borde);border-radius:.5rem;background:#fff}

