:root{--institucion:#213f80;--institucion-oscuro:#132c57;--institucion-suave:#edf2fc;--tinta:#1b2b46;--secundario:#64748b;--borde:#dde5ef;--fondo:#f5f7fb;--bs-primary:#213f80;--bs-primary-rgb:33,63,128}
html{font-size:15px;min-height:100%;scroll-behavior:smooth}
body{font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--tinta);background:var(--fondo);margin:0;line-height:1.6;min-height:100vh}
h1,h2,h3,h4{color:var(--tinta);letter-spacing:-.035em;line-height:1.2}h1{font-size:clamp(1.65rem,2.7vw,2.2rem);font-weight:700}h2{font-weight:650}a{color:var(--institucion);text-underline-offset:3px}a:hover{color:#0e5cb5}.text-muted{color:var(--secundario)!important}
.pagina-sistema{display:flex;flex-direction:column}.portal-ancho{max-width:1480px;padding-left:32px;padding-right:32px}.portal-contenido{flex:1;padding-top:18px;padding-bottom:32px}
.cabecera-institucional{background:#fff;border-bottom:1px solid var(--borde);padding:15px 0}.marca-institucional{display:flex;gap:12px;align-items:center;margin-right:34px;white-space:nowrap!important;word-break:normal!important;text-align:left!important}.marca-institucional img{object-fit:contain}.marca-institucional strong{display:block;font-size:1rem;color:var(--institucion-oscuro);line-height:1.35}.marca-institucional small{display:block;font-size:.69rem;font-weight:400;color:var(--secundario);letter-spacing:.01em}
.navegacion-modulos{gap:5px}.navegacion-modulos .nav-link{font-size:.88rem;font-weight:550;color:#596a82;padding:10px 13px!important;border-radius:9px}.navegacion-modulos .nav-link:hover{background:#f3f6fa;color:var(--institucion)}.navegacion-modulos .nav-link.active{background:var(--institucion-suave);color:var(--institucion);font-weight:650}.cuenta-nav{gap:10px;align-items:center}.cuenta-nav .nav-link{font-size:.84rem}.cuenta-chip{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--tinta)!important}.cuenta-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#edf2fa;color:var(--institucion);font-size:.76rem}.salir-boton{border:1px solid var(--borde);border-radius:8px;background:#fff;color:#5b6c83;padding:7px 12px;font-size:.79rem}
.pie-institucional{background:#fff;border-top:1px solid var(--borde);font-size:.75rem;color:var(--secundario);padding:19px 0}.pie-institucional>div{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.btn{border-radius:9px;padding:.62rem 1rem;font-size:.88rem;font-weight:600;transition:background .15s ease,box-shadow .15s ease}.btn-primary{--bs-btn-bg:var(--institucion);--bs-btn-border-color:var(--institucion);--bs-btn-hover-bg:#16346f;--bs-btn-hover-border-color:#16346f;--bs-btn-active-bg:#16346f;--bs-btn-active-border-color:#16346f;box-shadow:0 3px 8px #193b7214}.btn-outline-primary{--bs-btn-color:var(--institucion);--bs-btn-border-color:#c9d5e8;--bs-btn-hover-bg:var(--institucion);--bs-btn-hover-border-color:var(--institucion)}.btn-outline-secondary{--bs-btn-color:#52627a;--bs-btn-border-color:#cfd9e5}.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #67a5ee;outline-offset:3px;box-shadow:none}
.form-label{font-size:.88rem;font-weight:600;color:#33465f;margin-bottom:.5rem}.form-control,.form-select{border:1px solid #d5dfeb;background-color:#fff;border-radius:9px;padding:.72rem .9rem;color:var(--tinta);font-size:.93rem}.form-control::placeholder{color:#8a97aa;opacity:1}.form-control:focus,.form-select:focus{border-color:#769bd4;box-shadow:0 0 0 3px #213f8010}.form-text{font-size:.79rem;color:var(--secundario)}.form-check-input:checked{background-color:var(--institucion);border-color:var(--institucion)}.text-danger{font-size:.86rem}.validation-summary-valid{display:none}
.card{border:1px solid var(--borde);border-radius:15px;overflow:hidden;box-shadow:0 3px 18px #1b365b05!important}.card-header{background:#fbfcfe;border-color:var(--borde);padding:1rem 1.3rem;font-size:.87rem}.card-body{padding:1.4rem}.table{--bs-table-bg:transparent;--bs-table-border-color:#e6ebf2;color:var(--tinta);font-size:.87rem}.table>:not(caption)>*>*{padding:1rem .9rem}.table th{font-size:.76rem;color:#5a6e88;font-weight:650}.table thead{background:#f7f9fc}.table caption{font-size:.77rem;padding-top:1rem;color:var(--secundario)}.badge{font-weight:600;border-radius:6px;padding:.4em .65em}.alert{border-radius:11px;padding:1rem 1.15rem;font-size:.86rem}.alert-warning{background:#fff9e9;border-color:#f2e3b6;color:#786126}.alert-info{background:#eff5fc;border-color:#d5e3f5;color:#355a8a}.alert-success{background:#eef8f3;border-color:#cde8da;color:#2e6c51}.nav-pills .nav-link.active{background:var(--institucion);border-radius:9px}
.saltar-contenido{position:fixed;top:-100px;left:16px;padding:10px 16px;z-index:9999;background:white;border:2px solid var(--institucion);border-radius:8px}.saltar-contenido:focus{top:10px}
/* Ingreso institucional: fotografía y formulario conservan sus proporciones. */
.pagina-login{background:white}.login-institucional{display:grid;grid-template-columns:56% 44%;min-height:100svh}.login-fotografia{position:relative;isolation:isolate;background:#193657;overflow:hidden;min-height:660px}.login-hospital{position:absolute;width:100%;height:100%;object-fit:cover;object-position:48% center;z-index:-2}.login-velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,29,53,.3) 0%,rgba(10,33,56,.03) 35%,rgba(10,30,54,.72) 74%,rgba(10,28,50,.94) 100%);z-index:-1}.login-marca{display:flex;align-items:center;gap:12px;color:white;padding:42px 8%;font-size:.76rem;letter-spacing:.11em;font-weight:650}.marca-cruz{font-size:2.4rem;font-weight:400;line-height:1}.marca-separador{opacity:.6;margin:0 9px}.login-presentacion{position:absolute;bottom:9%;left:8%;right:8%;color:white}.login-sobretitulo{display:block;font-size:.69rem;letter-spacing:.19em;margin-bottom:22px;color:#dce8f9}.login-presentacion h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:350;line-height:1.26;color:white;letter-spacing:-.04em;margin-bottom:20px}.login-presentacion h2 strong{font-weight:650}.login-presentacion p{font-size:.96rem;max-width:350px;color:#d9e4ee;line-height:1.7}.login-localidad{display:block;margin-top:32px;font-size:.76rem;color:#cad8e9;padding-left:28px;position:relative}.login-localidad:before{content:"";position:absolute;left:0;top:50%;width:16px;height:1px;background:#c7d9eb}
.login-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:#fff;padding:60px 10% 85px;min-width:0}.login-formulario{width:100%;max-width:380px;margin:auto 0}.login-logo{display:block;object-fit:contain;margin-bottom:29px}.login-etiqueta{display:block;color:#78869d;font-size:.67rem;font-weight:650;letter-spacing:.17em;margin-bottom:12px}.login-formulario h1{font-size:2.35rem;margin-bottom:13px;font-weight:700;color:#172e50}.login-descripcion{font-size:.93rem;color:#6c7b90;line-height:1.6;margin-bottom:30px}.login-formulario .form-control{height:53px;background:#fcfdff}.login-formulario .form-label{font-size:.84rem}.login-ojo{position:absolute;right:5px;top:5px;bottom:5px;width:44px;background:transparent;border:0;border-radius:8px;color:#718199;display:grid;place-items:center}.login-ojo:hover{background:#edf2fa;color:var(--institucion)}.login-ojo:focus-visible{outline:2px solid #6292d5}.login-ingresar{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:53px;border-radius:9px;background:var(--institucion);margin-top:6px}.login-ingresar span{font-size:1.25rem;font-weight:400}.login-recuperar{text-align:center;margin:22px 0 30px;font-size:.84rem}.login-recuperar a{text-decoration:none;font-weight:600}.login-recuperar a:hover{text-decoration:underline}.login-seguridad{display:flex;gap:12px;border-top:1px solid #e8edf3;padding-top:23px;color:#6b7a8e}.login-seguridad svg{flex-shrink:0;color:#7a91b1;margin-top:2px}.login-seguridad p{font-size:.74rem;line-height:1.7;margin:0}.login-seguridad strong{font-weight:550}.login-pie{display:flex;justify-content:space-between;gap:20px;position:absolute;bottom:25px;left:10%;right:10%;font-size:.69rem;color:#8792a3}.login-pie a{color:#6b7c96}.login-errores.validation-summary-errors{background:#fff3f3;border:1px solid #f3d7d7;border-radius:9px;padding:12px;margin-bottom:20px}.login-errores ul{padding-left:18px;margin:0}
/* Inicio y accesos frecuentes. */
.inicio-bienvenida{display:flex;justify-content:space-between;align-items:center;gap:28px;background:#fff;border:1px solid var(--borde);border-radius:18px;overflow:hidden;margin-bottom:32px}.inicio-texto{padding:38px;flex:1}.inicio-etiqueta{display:block;font-size:.7rem;letter-spacing:.15em;color:#7585a0;font-weight:650;margin-bottom:15px}.inicio-texto h1{margin-bottom:15px}.inicio-texto p{color:var(--secundario);max-width:540px;margin:0}.inicio-foto{width:38%;height:235px;object-fit:cover;object-position:center 45%}.accesos-titulo{font-size:1.13rem;margin-bottom:18px}.accesos-inicio{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.acceso-tarjeta{display:flex;flex-direction:column;background:#fff;border:1px solid var(--borde);border-radius:14px;padding:25px;text-decoration:none;transition:box-shadow .15s,border-color .15s;color:var(--tinta)}.acceso-tarjeta:hover{box-shadow:0 8px 25px #1a3a6b0c;border-color:#adbfda;color:var(--tinta)}.acceso-icono{width:42px;height:42px;background:#eef3fb;color:var(--institucion);border-radius:11px;display:grid;place-items:center;margin-bottom:22px}.acceso-tarjeta h3{font-size:1.04rem;letter-spacing:-.02em}.acceso-tarjeta p{font-size:.85rem;color:var(--secundario);margin:4px 0 18px}.acceso-tarjeta .acceso-abrir{margin-top:auto;font-size:.79rem;color:var(--institucion);font-weight:650}.perfiles-distribucion{background:transparent!important;padding:0!important}.perfiles-panel{border-color:var(--borde)!important}.perfil-enlace.activo{background:var(--institucion-suave)!important;color:var(--institucion)!important;box-shadow:inset 3px 0 var(--institucion)!important}
@media(min-width:1800px){.login-panel{padding-left:15%;padding-right:15%}.login-formulario{max-width:440px}.login-formulario h1{font-size:2.6rem}}
@media(max-width:1199px){.navegacion-modulos{padding-top:18px}.cuenta-nav{align-items:flex-start;padding-top:12px;padding-bottom:8px}.login-panel{padding:45px 9% 85px}.login-institucional{grid-template-columns:50% 50%}.login-marca{font-size:.64rem}.login-presentacion h2{font-size:2rem}}
@media(max-width:767px){.portal-ancho{padding-left:18px;padding-right:18px}.portal-contenido{padding-top:18px}.cabecera-institucional{padding:12px 0}.marca-institucional{margin-right:10px}.marca-institucional strong{font-size:.9rem}.marca-institucional small{font-size:.64rem}.login-institucional{display:flex;flex-direction:column}.login-fotografia{min-height:220px;height:220px}.login-hospital{object-position:center 39%}.login-marca{padding:18px 24px;font-size:.62rem}.login-presentacion{left:24px;bottom:22px;right:24px}.login-sobretitulo,.login-localidad,.login-presentacion p{display:none}.login-presentacion h2{font-size:1.35rem;margin:0}.login-panel{padding:30px 24px 76px;min-height:620px;justify-content:flex-start}.login-formulario{margin:0 auto;max-width:420px}.login-logo{width:62px;height:62px;margin-bottom:20px}.login-formulario h1{font-size:1.95rem}.login-descripcion{margin-bottom:24px}.login-pie{left:24px;right:24px;bottom:22px}.inicio-bienvenida{flex-direction:column-reverse;gap:0;align-items:stretch}.inicio-foto{width:100%;height:165px}.inicio-texto{padding:25px}.card-body{padding:1rem}.pie-institucional>div{gap:8px}.accesos-inicio{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Identidad SIMPREF: acceso a la izquierda y fachada institucional a la derecha. */
.pagina-login .login-institucional{grid-template-columns:43% 57%;background:#d7efff}
.pagina-login .login-panel{z-index:1;padding:30px 12% 64px;background:linear-gradient(125deg,#f2faff 0%,#fff 35%,#fff 85%,#eaf7ff 100%);min-height:100svh}
.pagina-login .login-panel:after{content:"";position:absolute;z-index:-1;top:0;bottom:0;right:-65px;width:130px;background:#fff;border-radius:0 50% 50% 0 / 0 48% 52% 0;pointer-events:none}
.pagina-login .login-formulario{max-width:440px;text-align:center}
.pagina-login .login-logo{width:clamp(110px,15vh,180px);height:clamp(110px,15vh,180px);margin:0 auto 8px;mix-blend-mode:multiply}
.pagina-login .login-formulario h1{font-size:clamp(2.7rem,4.6vw,4.8rem);font-weight:800;letter-spacing:-.045em;color:#073777;margin:0 0 2px;line-height:1.08}
.pagina-login .login-descripcion{font-size:clamp(.86rem,1.1vw,1.17rem);color:#29416c;line-height:1.35;margin:8px auto 0;max-width:430px;font-weight:500}
.login-lema{color:#0499b6;font-weight:750;font-style:italic;line-height:1.2;font-size:clamp(1.2rem,1.65vw,1.8rem);margin:22px 0}
.pagina-login #account{text-align:left}
.pagina-login .login-formulario .form-control{height:54px;background:#ffffffd9;border-color:#bacbe3;border-radius:11px;padding-left:18px;font-size:1rem}
.pagina-login .login-ingresar{background:linear-gradient(110deg,#008ace,#0057c5);border:0;font-size:1.05rem;min-height:54px}
.pagina-login .login-ingresar:hover{background:linear-gradient(110deg,#0074b1,#034a9f)}
.pagina-login .login-recuperar{text-align:right;margin:17px 0 24px}
.pagina-login .login-seguridad{text-align:left;padding-top:17px}
.pagina-login .login-fotografia{min-height:100svh}
.pagina-login .login-hospital{object-position:54% center}
.pagina-login .login-velo{background:linear-gradient(125deg,#3ba7db14 40%,#008ed84d 100%)}
.pagina-login .login-fotografia:after{content:"";position:absolute;right:-110px;top:-120px;width:230px;height:65%;border-radius:100px;transform:rotate(-36deg);background:#159ddd45;pointer-events:none}
.pagina-login .login-pie{left:12%;right:12%;bottom:20px}
@media(max-width:1100px) and (min-width:768px){.pagina-login .login-institucional{grid-template-columns:48% 52%}.pagina-login .login-panel{padding-left:9%;padding-right:9%}}
@media(max-width:767px){.pagina-login .login-institucional{display:flex;flex-direction:column}.pagina-login .login-panel{padding:30px 26px 65px;min-height:100svh}.pagina-login .login-panel:after{display:none}.pagina-login .login-fotografia{display:none}.pagina-login .login-logo{width:130px;height:130px}.pagina-login .login-formulario h1{font-size:3.3rem}.pagina-login .login-descripcion{font-size:.94rem}.pagina-login .login-pie{left:26px;right:26px}.login-lema{font-size:1.4rem;margin:23px 0}}

/* Composición solicitada: hospital a la izquierda y acceso a la derecha. */
@media(min-width:768px){
 .pagina-login .login-institucional{grid-template-columns:57% 43%}
 .pagina-login .login-fotografia{grid-column:1;grid-row:1}
 .pagina-login .login-panel{grid-column:2;grid-row:1}
 .pagina-login .login-panel:after{right:auto;left:-65px;border-radius:50% 0 0 50% / 48% 0 0 52%}
}
@media(max-width:1100px) and (min-width:768px){.pagina-login .login-institucional{grid-template-columns:52% 48%}}

/* Detalles de la referencia institucional: separador, ondas y beneficios. */
.login-lema:before{content:"";display:block;width:72%;height:2px;margin:0 auto 15px;background:linear-gradient(90deg,transparent,#77d9ef,transparent)}
.login-beneficios{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #dfebf7;padding:22px 0 16px;margin-top:20px;color:#123a79}
.login-beneficios>div{display:flex;flex-direction:column;align-items:center;gap:9px;border-right:1px solid #cbdaf0}
.login-beneficios>div:last-child{border:0}
.login-beneficios svg{width:32px;height:32px;fill:none;stroke:#0055cb;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login-beneficios span{font-size:.77rem;line-height:1.18}
.pagina-login .login-panel{isolation:isolate;background:linear-gradient(135deg,#f1faff 0%,white 24%,white 76%,#eef9ff 100%)}
.pagina-login .login-panel:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(130deg,#61b9f570,#b9eaff90);clip-path:polygon(100% 0,84% 0,82% 4%,100% 30%,100% 100%,86% 100%,100% 80%)}
.pagina-login .login-panel:after{background:linear-gradient(90deg,#f5fbff,#fff);width:145px;left:-75px;border-radius:70% 0 0 45% / 23% 0 0 64%;transform:skewY(-5deg)}
.pagina-login .login-fotografia:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#009cf580,#72d9ff55);clip-path:polygon(0 0,23% 0,0 35%,0 100%,28% 100%,0 66%)}
.pagina-login .login-seguridad{border-top:0;padding-top:7px}
.pagina-login .login-recuperar{margin-bottom:12px}
@media(min-width:768px){.pagina-login .login-panel{padding-top:24px}.pagina-login .login-logo{width:clamp(95px,13vh,155px);height:clamp(95px,13vh,155px)}.login-lema{margin:15px 0 20px}}
@media(max-width:767px){.login-beneficios{padding-top:20px}.login-beneficios span{font-size:.72rem}.pagina-login .login-panel:after{display:none}}

/* Borde orgánico oblicuo, inspirado en la referencia del usuario. */
@media(min-width:768px){
 .pagina-login .login-panel:after{
  left:-149px;right:auto;top:0;bottom:0;width:150px;
  border-radius:0;transform:none;background:#fff;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 150 1000%27 preserveAspectRatio=%27none%27%3E%3Cpath fill=%27white%27 d=%27M98 0H150V1000H0C60 865 130 695 128 470C127 285 30 168 55 88C64 57 81 26 98 0Z%27/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
 }
 .pagina-login .login-panel{background:#fff}
}

/* Recorte más cercano al formulario y mayor superficie para la fotografía. */
@media(min-width:1400px){
 .pagina-login .login-institucional{grid-template-columns:66% 34%}
 .pagina-login .login-panel{padding-left:4%;padding-right:12%}
 .pagina-login .login-panel:after{
  left:-179px;width:180px;
  mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 180 1000%27 preserveAspectRatio=%27none%27%3E%3Cpath fill=%27white%27 d=%27M165 0H180V1000H0C35 924 110 827 155 710C177 648 161 583 149 504L112 290C90 186 55 120 165 0Z%27/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
 }
 .pagina-login .login-pie{left:4%;right:12%}
}
@media(min-width:768px) and (max-width:1399px){
 .pagina-login .login-institucional{grid-template-columns:59% 41%}
 .pagina-login .login-panel{padding-left:7%;padding-right:7%}
 .pagina-login .login-panel:after{left:-99px;width:100px}
}

/* Historial con desplazamiento propio y columnas legibles. */
.auditoria-filtros{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:4px 12px 16px;margin-left:0;margin-right:0}
.auditoria-scroll{max-height:clamp(260px,55vh,620px);overflow:auto;border:1px solid var(--borde);border-radius:12px;background:#fff;scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:#8fa4c2 #edf2f8}
.auditoria-scroll:focus-visible{outline:3px solid #67a5ee;outline-offset:2px}
.auditoria-tabla{min-width:1450px;margin:0}
.auditoria-tabla thead th{position:sticky;top:0;z-index:2;background:#eef3fa;box-shadow:0 1px 0 #d5dfeb;white-space:nowrap}
.auditoria-tabla td{padding:14px 16px;vertical-align:top}
.auditoria-tabla td:nth-child(3){min-width:230px;max-width:280px}
.auditoria-tabla td:nth-child(4){min-width:185px}
.auditoria-tabla td:nth-child(6){max-width:190px;overflow-wrap:anywhere}
.auditoria-tabla td:nth-child(9){min-width:140px;max-width:230px;overflow-wrap:anywhere}
.auditoria-tabla td:last-child{min-width:290px;max-width:420px;overflow-wrap:anywhere}
.auditoria-tabla tbody tr:nth-child(even){background:#fafcff}

/* Auditoría ajustada al ancho disponible, sin mínimos que fuercen desborde. */
.auditoria-tabla{width:100%;min-width:0;table-layout:fixed;font-size:.8rem}
.auditoria-tabla thead th{white-space:normal;overflow-wrap:anywhere;font-size:.73rem;padding:12px 8px}
.auditoria-tabla td{padding:12px 8px;overflow-wrap:anywhere;white-space:normal!important}
.auditoria-tabla td:nth-child(3),.auditoria-tabla td:nth-child(4),.auditoria-tabla td:nth-child(6),.auditoria-tabla td:nth-child(9),.auditoria-tabla td:last-child{min-width:0;max-width:none}
.auditoria-tabla th:nth-child(1){width:5%}
.auditoria-tabla th:nth-child(2){width:11%}
.auditoria-tabla th:nth-child(3){width:16%}
.auditoria-tabla th:nth-child(4){width:12%}
.auditoria-tabla th:nth-child(5){width:8%}
.auditoria-tabla th:nth-child(6){width:9%}
.auditoria-tabla th:nth-child(7){width:7%}
.auditoria-tabla th:nth-child(8){width:5%}
.auditoria-tabla th:nth-child(9){width:9%}
.auditoria-tabla th:nth-child(10){width:18%}
.auditoria-tabla code,.auditoria-tabla summary,.auditoria-tabla strong{overflow-wrap:anywhere}

/* El historial de denuncias mantiene sus ocho columnas dentro del ancho disponible. */
.pendientes-denuncia-tabla{width:100%;min-width:0!important;max-width:100%;table-layout:fixed;font-size:.78rem}
.pendientes-denuncia-tabla th{padding:.75rem .55rem;white-space:normal;overflow-wrap:anywhere;vertical-align:bottom}
.pendientes-denuncia-tabla td{min-width:0;padding:.7rem .45rem;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;vertical-align:middle}
.pendientes-denuncia-tabla th:nth-child(1){width:8%}
.pendientes-denuncia-tabla th:nth-child(2){width:16%}
.pendientes-denuncia-tabla th:nth-child(3){width:12%}
.pendientes-denuncia-tabla th:nth-child(4){width:12%}
.pendientes-denuncia-tabla th:nth-child(5){width:22%}
.pendientes-denuncia-tabla th:nth-child(6){width:12%}
.pendientes-denuncia-tabla th:nth-child(7){width:8%}
.pendientes-denuncia-tabla th:nth-child(8){width:10%}
.pendientes-denuncia-detalle>div{min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:break-all}
.pendientes-denuncia-tabla td:last-child .d-flex{align-items:flex-start}
.pendientes-denuncia-tabla td:last-child .btn{padding:.4rem .55rem;font-size:.76rem}
@media(max-width:767px){.pendientes-denuncia-tabla{font-size:.68rem}.pendientes-denuncia-tabla th,.pendientes-denuncia-tabla td{padding:.5rem .25rem}.pendientes-denuncia-tabla td:last-child .btn{padding:.3rem .35rem;font-size:.65rem}}

.hospitalizado-cama{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}
.hospitalizados-search-input{flex:1 1 22rem;width:auto;min-width:min(100%,18rem)}
.hospitalizados-pisos{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hospitalizados-pisos::-webkit-scrollbar{display:none}
.hospitalizados-camas-resultados{position:absolute;z-index:1060;top:100%;left:0;right:0;max-height:15rem;overflow-y:auto;border-radius:0 0 .5rem .5rem;box-shadow:0 .5rem 1rem #172b4d20}
.hospitalizado-cama:hover,.hospitalizado-cama:focus-visible{transform:translateY(-2px);box-shadow:0 .5rem 1rem #182e4a1a!important;outline:2px solid #6ea8fe;outline-offset:2px}
.hospitalizado-disponible{background:linear-gradient(145deg,#f4fbf7,#fff 72%)}
.hospitalizado-bed-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex:0 0 2.5rem;border:1px solid #dceee4;border-radius:.8rem;background:#eaf6ef;color:#21845a}
.hospitalizado-bed-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
#modalHospitalizado .modal-body{padding:1.25rem}
#modalHospitalizado .modal-dialog{height:calc(100vh - 2rem);height:calc(100dvh - 2rem);max-height:calc(100dvh - 2rem);margin:1rem auto}
#modalHospitalizado .modal-content{height:100%;max-height:100%;overflow:hidden}
#modalHospitalizado #form-hospitalizado{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}
#modalHospitalizado .modal-body{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}
@media(max-width:767.98px){#modalHospitalizado .modal-dialog{height:calc(100vh - 1rem);height:calc(100dvh - 1rem);max-height:calc(100dvh - 1rem);margin:.5rem auto}}
.modal-alta-hospitalizado{max-width:30rem}
#modalAltaHospitalizado .modal-content{border:0;border-radius:1rem;box-shadow:0 1.25rem 3rem #172b4d30}
#modalAltaHospitalizado .modal-header{padding:1.25rem 1.5rem;border-bottom-color:#e7edf5}
#modalAltaHospitalizado .modal-body{padding:1.5rem}
#modalAltaHospitalizado .modal-footer{padding:1rem 1.5rem;border-top-color:#e7edf5}
#modalAltaHospitalizado input,#modalAltaHospitalizado select{min-height:2.85rem}
.firma-firmante-option{display:flex;align-items:center;gap:.65rem;height:100%;min-height:3rem;padding:.65rem .8rem;border:1px solid #dce4ef;border-radius:.7rem;background:#fff;cursor:pointer;transition:border-color .15s,background-color .15s}
.firma-firmante-option:has(input:checked){border-color:#91add7;background:#f3f7fd}
.firma-firmante-option input{flex:0 0 auto}
#opciones-diagnostico button{white-space:normal;text-align:left}
.diagnostico-seguimiento{--dx-ink:#1f3658;--dx-muted:#687b94;--dx-line:#dce5f0;--dx-accent:#24529a}
.diagnostico-seguimiento>label{font-weight:700;color:var(--dx-ink)}
.dx-buscador{display:flex;align-items:center;gap:.65rem;width:100%;height:3.1rem;min-height:3.1rem;max-height:3.1rem;padding:0 .75rem;border:1px solid #d3deeb;border-radius:.75rem;background:#fff;box-shadow:0 .15rem .4rem #1d355709;overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.dx-buscador:focus-within{border-color:#7fa3d9;box-shadow:0 0 0 .2rem #24529a18}
.dx-icono-busqueda{position:relative;display:block;flex:0 0 1.1rem;width:1.1rem;height:1.1rem;color:#73849b}
.dx-icono-busqueda:before{position:absolute;top:.06rem;left:.06rem;width:.67rem;height:.67rem;border:1.7px solid currentColor;border-radius:50%;content:""}
.dx-icono-busqueda:after{position:absolute;top:.72rem;left:.72rem;width:.42rem;height:1.7px;border-radius:2px;background:currentColor;content:"";transform:rotate(45deg);transform-origin:left center}
.pagina-sistema .dx-buscador .form-control{flex:1 1 auto;width:0;min-width:0;height:2.9rem;min-height:2.9rem;max-height:2.9rem;padding:.5rem 0;border:0;border-radius:0;background:transparent;box-shadow:none;line-height:1.25}
.pagina-sistema .dx-buscador .form-control:focus{border:0;box-shadow:none;outline:0}
.dx-limite{flex:none;padding:.22rem .55rem;border:1px solid #e2e9f2;border-radius:999px;background:#f5f8fc;color:#718198;font-size:.72rem;font-weight:700;white-space:nowrap;pointer-events:none}
.dx-opciones{position:absolute;z-index:1050;top:4.75rem;left:0;right:0;max-height:18rem;overflow-y:auto;border:1px solid var(--dx-line);border-radius:.75rem;background:#fff;box-shadow:0 .75rem 1.8rem #172b4d20}
.dx-opciones .list-group-item{padding:.75rem 1rem;border:0;border-bottom:1px solid #edf1f6;color:var(--dx-ink);line-height:1.4}
.dx-opciones .list-group-item:last-child{border-bottom:0}
.dx-opciones .list-group-item-action:hover,.dx-opciones .list-group-item-action:focus,.dx-opciones .list-group-item-action.active{background:#f1f6fd;color:#173e78}
.dx-lista-cabecera{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.15rem;color:var(--dx-ink);font-size:.82rem;font-weight:700}
.dx-contador{padding:.2rem .6rem;border:1px solid #dfe7f1;border-radius:999px;background:#f5f8fc;color:#5d718b;font-size:.72rem;font-weight:700;white-space:nowrap}
.dx-seleccionados{display:grid;gap:.45rem;margin-top:.55rem}
.dx-seleccionado-fila{display:grid;grid-template-columns:2rem minmax(5.5rem,7rem) minmax(0,1fr) auto;align-items:center;gap:.75rem;min-width:0;padding:.62rem .75rem;border:1px solid var(--dx-line);border-radius:.7rem;background:#fff;box-shadow:0 .12rem .35rem #172b4d08;transition:border-color .15s,background-color .15s}
.dx-seleccionado-fila:hover{border-color:#c4d3e6;background:#fbfdff}
.dx-seleccionado-orden{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#eaf1fb;color:var(--dx-accent);font-size:.75rem;font-weight:800}
.dx-seleccionado-codigo{width:max-content;max-width:100%;padding:.24rem .5rem;border-radius:.4rem;background:#eef5ff;color:#214d8d;font-size:.76rem;font-weight:800;letter-spacing:.02em}
.dx-seleccionado-descripcion{min-width:0;color:#33445c;font-size:.84rem;font-weight:600;line-height:1.4;overflow-wrap:anywhere}
.dx-seleccionado-quitar{display:inline-flex;align-items:center;gap:.28rem;padding:.3rem .45rem;border:0;border-radius:.45rem;background:transparent;color:#7a8798;font-size:.75rem;font-weight:600;white-space:nowrap}
.dx-seleccionado-quitar span{font-size:1.15rem;line-height:.8}
.dx-seleccionado-quitar:hover,.dx-seleccionado-quitar:focus-visible{background:#fff0f0;color:#b42318;outline:0}
.dx-seleccionados-ayuda{padding:.8rem .9rem;border:1px dashed #d5dfeb;border-radius:.7rem;background:#f8fafd;color:var(--dx-muted);font-size:.82rem}
.dx-acciones-diagnostico{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-top:.65rem}
.dx-acciones-diagnostico .form-text{margin:0;color:var(--dx-muted)}
@media(max-width:575.98px){.dx-seleccionado-fila{grid-template-columns:1.8rem minmax(4.3rem,5rem) minmax(0,1fr) auto;gap:.45rem;padding:.55rem}.dx-seleccionado-descripcion{font-size:.78rem}.dx-seleccionado-quitar{font-size:0}.dx-seleccionado-quitar span{font-size:1.3rem}}
.hospitalizado-detalle-valor{white-space:pre-line;overflow-wrap:anywhere}

.table-hemodialisis{min-width:1150px}.table-hemodialisis th{white-space:nowrap}.table-hemodialisis td{vertical-align:middle}.table-hemodialisis .hemo-acciones{min-width:245px;width:245px}.table-hemodialisis .hemo-acciones select{min-width:135px;flex:1 1 135px}.table-hemodialisis .hemo-acciones form{min-width:220px}.table-hemodialisis .hemo-acciones .btn{white-space:nowrap}


.simpref-chart-wrap{width:100%;min-height:290px}.simpref-chart-wrap canvas{display:block;width:100%;height:290px}.simpref-resumen-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;color:#526176}.simpref-resumen-line span{display:flex;align-items:center;gap:.55rem}.simpref-resumen-line i{display:inline-block;width:.7rem;height:.7rem;border-radius:50%}.simpref-panel-tile{height:100%;display:flex;flex-direction:column;gap:.25rem;padding:1rem;border:1px solid #e1e8f1;border-radius:.85rem;background:#fff;color:#22314a;transition:transform .15s,border-color .15s,box-shadow .15s}.simpref-panel-tile:hover{transform:translateY(-2px);border-color:#9ab1d9;box-shadow:0 .5rem 1.4rem #203d6a12}.simpref-panel-tile strong{font-size:1.65rem;color:#24488f}.simpref-panel-tile small{color:#64748b}#simpref-dashboard select{min-width:130px}


.pdf-upload-control{max-width:100%;overflow:hidden;vertical-align:middle}.pdf-upload-control .pdf-file-label{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}
