
:root{--azul-950:#102a43;--azul-900:#173f63;--azul-800:#205b8f;--azul-700:#2675b8;--azul-500:#58a7df;--celeste-100:#e9f4fc;--celeste-50:#f5f9fd;--blanco:#fff;--texto:#142b44;--texto-suave:#58718b;--borde:#cbdceb;--exito:#23845f;--advertencia:#b7791f;--error:#bd3c45;--sombra:0 14px 35px rgba(16,42,67,.10);--radio:16px}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--texto);background:var(--celeste-50)}a{color:var(--azul-700);text-decoration:none}h1,h2,h3,p{margin-top:0}.boton-primario,.boton-contorno,.btn-primary,.btn-outline-primary{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:1px solid var(--azul-700);border-radius:10px;padding:.75rem 1.05rem;font-weight:700;transition:.2s}.boton-primario,.btn-primary{background:var(--azul-700);color:#fff}.boton-primario:hover,.btn-primary:hover{background:var(--azul-800);color:#fff}.boton-contorno,.btn-outline-primary{background:transparent;color:var(--azul-700)}.boton-contorno:hover,.btn-outline-primary:hover{background:var(--celeste-100);color:var(--azul-900)}
.navegacion-publica{height:76px;padding:0 max(5vw,30px);display:flex;align-items:center;justify-content:space-between;background:var(--azul-950);color:#fff}.marca-publica{display:flex;align-items:center;gap:.75rem;color:#fff}.marca-publica small{display:block;color:#b7d8ef}.marca-icono{width:42px;height:42px;display:grid;place-items:center;background:#fff;color:var(--azul-700);border-radius:11px;font-size:1.45rem}.navegacion-publica nav{display:flex;gap:.7rem}.navegacion-publica nav a{color:#fff;padding:.65rem .9rem;border:1px solid transparent;border-radius:9px}.navegacion-publica nav a:hover{border-color:#6faedf;background:rgba(255,255,255,.07)}.navegacion-publica>div{display:flex;gap:.6rem}
.barra-lateral{position:fixed;inset:0 auto 0 0;width:72px;background:var(--azul-950);z-index:30;color:#dbeaf5;overflow:hidden;transition:width .22s}.barra-lateral:hover{width:235px}.marca-lateral{height:72px;padding:14px;display:flex;align-items:center;gap:13px;color:#fff;font-weight:800}.marca-texto{white-space:nowrap;font-size:1.2rem}.barra-lateral nav{padding:10px 8px}.barra-lateral nav>a,.grupo-menu>button{width:100%;min-height:48px;border:0;background:transparent;color:#dbeaf5;display:flex;align-items:center;gap:14px;padding:0 14px;border-radius:10px;white-space:nowrap;text-align:left}.barra-lateral nav>a:hover,.grupo-menu>button:hover{background:#205070;color:#fff}.icono-menu{width:28px;text-align:center;font-size:1.25rem;flex:none}.submenu{display:none;padding-left:55px}.barra-lateral:hover .grupo-menu:hover .submenu{display:grid}.submenu a{color:#c7ddec;padding:.45rem 0;white-space:nowrap}.contenido-aplicacion{margin-left:72px;min-height:100vh}.barra-superior{height:72px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--borde);position:relative;z-index:20}.barra-superior>div:first-child{display:grid}.seccion-actual{text-transform:uppercase;letter-spacing:.12em;color:var(--azul-700);font-size:.7rem;font-weight:800}.contenido-principal{padding:28px;max-width:1920px;margin:auto}.boton-perfil{min-width:250px;background:#fff;border:1px solid var(--azul-500);color:var(--azul-800);border-radius:10px;padding:.7rem 1rem;font-weight:800;display:flex;justify-content:space-between;gap:10px}.panel-perfil{display:none;position:absolute;right:28px;top:64px;width:360px;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:18px;box-shadow:var(--sombra)}.panel-perfil.abierto{display:block}.perfil-encabezado{display:flex;gap:14px;align-items:flex-start;padding-bottom:15px;border-bottom:1px solid var(--borde)}.perfil-encabezado h3{font-size:1.15rem;margin-bottom:.5rem}.perfil-encabezado p{font-size:.85rem;color:var(--texto-suave);margin:.35rem 0}.logo-clinica{width:76px;height:76px;border-radius:12px;background:var(--celeste-100);display:grid;place-items:center;font-size:2rem;font-weight:800;color:var(--azul-700);flex:none}.acciones-perfil{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:14px}.acciones-perfil a,.acciones-perfil button{width:100%;height:42px;border:1px solid var(--azul-500);background:#fff;color:var(--azul-800);border-radius:9px;font-weight:700;font-size:.82rem}.acciones-perfil a{display:grid;place-items:center}.acciones-perfil a:hover,.acciones-perfil button:hover{background:var(--celeste-100)}
.encabezado-pagina{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--azul-700);font-weight:800;font-size:.72rem}.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:var(--radio);padding:24px;box-shadow:0 8px 24px rgba(16,42,67,.05)}.rejilla-resumen{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.resumen{display:flex;align-items:center;gap:14px}.resumen-icono{width:48px;height:48px;border-radius:12px;background:var(--celeste-100);color:var(--azul-700);display:grid;place-items:center;font-size:1.25rem}.resumen strong{font-size:1.7rem;display:block}.rejilla-dos{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.vacio{min-height:260px;display:grid;place-items:center;text-align:center;color:var(--texto-suave)}
.formulario-tarjeta{max-width:1500px;margin:auto}.grupo-campos{border:1px solid var(--borde);border-radius:14px;padding:20px;margin-bottom:18px}.grupo-campos legend{float:none;width:auto;padding:0 .6rem;color:var(--azul-800);font-weight:800;font-size:1rem}.rejilla-formulario{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grupo-campos:has(input[name="CorreoElectronico"]) .rejilla-formulario{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.campo-doble{grid-column:span 2}.campo-completo{grid-column:1/-1}label{font-weight:700;margin-bottom:.38rem;font-size:.86rem}.form-control,.form-select{min-height:46px;border-color:#b9cfdf;border-radius:10px}.form-control:focus,.form-select:focus{border-color:var(--azul-500);box-shadow:0 0 0 .2rem rgba(88,167,223,.18)}textarea.form-control{min-height:105px}.acciones-formulario{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.registro-publico .grupo-campos .datos-propietario{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.registro-publico .grupo-campos:has(input[name="CorreoElectronico"]) .datos-propietario{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px}
.cie-triple>.campo-expandible{min-width:0}.cie-triple textarea.form-control,.cie-triple .cie-buscador>.form-control{min-height:46px;resize:vertical;max-height:220px}.cie-version-fija{min-height:46px;display:flex;align-items:center;padding:.65rem .85rem;border:1px solid #b9cfdf;border-radius:10px;background:#f4f9fc;color:var(--azul-800);font-weight:700}
.diagnosticos-seleccionados .tabla-datos{width:100%;border-collapse:collapse}.diagnosticos-seleccionados .tabla-datos th,.diagnosticos-seleccionados .tabla-datos td{padding:10px;text-align:left;border-bottom:1px solid var(--borde);vertical-align:top}.diagnosticos-seleccionados h3{margin:0 0 10px;color:var(--azul-800);font-size:1rem}
.clasificacion-acciones{display:flex;align-items:center;gap:6px}.clasificacion-acciones .form-select{flex:1;min-width:0}.boton-guardar-diagnostico{width:46px;min-width:46px;height:46px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.15rem}.diagnosticos-seleccionados .tabla-datos thead th{text-align:center;font-weight:800}.diagnosticos-seleccionados .boton-eliminar-diagnostico{color:#b42318;border-color:#fda29b;background:transparent;font-size:1.1rem;line-height:1}.diagnosticos-seleccionados .boton-eliminar-diagnostico:hover{color:#fff;background:#d92d20;border-color:#d92d20}
.tabla-responsiva{overflow-x:auto}.tabla-sigc{width:100%;border-collapse:collapse}.tabla-sigc th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--texto-suave);padding:14px;text-align:left;border-bottom:1px solid var(--borde)}.tabla-sigc td{padding:14px;border-bottom:1px solid #e4edf4}.tabla-sigc .acciones{text-align:center;white-space:nowrap}.boton-accion{border:1px solid var(--azul-500);color:var(--azul-700);background:transparent;border-radius:8px;padding:.45rem .7rem;font-weight:700}.boton-accion:hover{background:var(--celeste-100)}.boton-consulta{border-color:var(--azul-600);color:var(--azul-800);background:rgba(184,220,246,.18)}.boton-consulta:hover{background:var(--celeste-100);color:var(--azul-950)}.estado-atendida{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.35rem .7rem;background:var(--celeste-100);color:var(--azul-800);font-size:.82rem;font-weight:700}.cita-mensual{display:block;border-radius:6px;padding:.3rem .4rem;background:var(--celeste-100);color:var(--azul-800);transition:transform .15s ease,filter .15s ease}.cita-mensual:hover{filter:brightness(.97);transform:translateY(-1px)}.cita-mensual-atendida{background:#dcfce7;color:#166534;text-decoration:none;border-left:3px solid #16a34a}.cita-mensual-anulada{background:#fee2e2;color:#991b1b;text-decoration:line-through;border-left:3px solid #dc2626;opacity:.82}.boton-peligro{border-color:#e5a4a8;color:var(--error)}.boton-peligro:hover{background:#fff0f1}
.contenedor-toasts{position:fixed;inset:1rem 1rem auto auto;z-index:2000;display:grid;gap:.75rem;width:min(430px,calc(100vw - 2rem));pointer-events:none}
.toast-sigc{--toast-acento:var(--azul-700);position:relative;overflow:hidden;pointer-events:auto;display:grid;grid-template-columns:2.25rem 1fr auto;align-items:start;gap:.75rem;padding:.9rem 1rem .75rem;background:linear-gradient(135deg,#fff,var(--celeste-50));color:var(--texto);border:1px solid var(--borde);border-left:5px solid var(--toast-acento);border-radius:14px;box-shadow:0 12px 30px rgba(16,42,67,.18);animation:entradaToast .25s ease-out both}
.toast-sigc.exito{--toast-acento:#15803d}.toast-sigc.advertencia{--toast-acento:#d97706}.toast-sigc.error{--toast-acento:#dc2626}.toast-sigc.informacion{--toast-acento:var(--azul-700)}
.toast-icono{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--celeste-100);color:var(--toast-acento);font-weight:800;font-size:1.15rem}
.toast-contenido{display:grid;gap:.2rem;line-height:1.35}.toast-contenido strong{font-size:.95rem}.toast-mensaje{font-size:.88rem;color:var(--texto-suave)}
.toast-cerrar{border:0;background:transparent;color:var(--texto-suave);font-size:1.25rem;line-height:1;cursor:pointer;padding:.1rem .25rem}.toast-cerrar:hover{color:var(--toast-acento)}
.toast-progreso{grid-column:1/-1;height:3px;border-radius:99px;background:var(--toast-acento);transform-origin:left;animation:progresoToast var(--toast-duracion,10000ms) linear forwards;opacity:.85}
.toast-salida{animation:salidaToast .18s ease-in both}@keyframes entradaToast{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}@keyframes salidaToast{to{opacity:0;transform:translateX(24px)}}@keyframes progresoToast{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:600px){.contenedor-toasts{inset:.75rem .75rem auto;width:calc(100vw - 1.5rem)}}@media (prefers-reduced-motion:reduce){.toast-sigc,.toast-progreso{animation:none}}
.modal-confirmacion{position:fixed;inset:0;background:rgba(16,42,67,.58);z-index:900;display:grid;place-items:center;padding:20px}.modal-confirmacion[hidden]{display:none}.modal-tarjeta{width:min(440px,100%);background:#fff;border-radius:18px;padding:28px;text-align:center;box-shadow:var(--sombra)}.modal-icono{margin:auto auto 15px;width:48px;height:48px;border-radius:50%;background:var(--celeste-100);display:grid;place-items:center;font-size:1.5rem;color:var(--azul-700);font-weight:900}.modal-tarjeta>div{display:flex;justify-content:center;gap:10px}
.hero{background:linear-gradient(120deg,var(--azul-950),var(--azul-800));color:#fff;padding:90px max(6vw,30px);display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.hero h1{font-size:clamp(3rem,6vw,6.3rem);line-height:.94;letter-spacing:-.055em}.hero h1 span{color:#a8d8f5}.hero p{font-size:1.15rem;color:#d7e9f5;max-width:650px}.hero-acciones{display:flex;gap:10px;margin:25px 0}.pantalla-demo{background:#fff;color:var(--texto);border-radius:22px;padding:14px;transform:rotate(1deg);box-shadow:0 28px 70px rgba(0,0,0,.25)}.pantalla-demo-barra{height:34px;background:var(--celeste-100);border-radius:10px}.pantalla-demo-contenido{padding:22px}.demo-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.demo-cifras div{background:var(--celeste-50);padding:15px;border-radius:10px}.seccion-publica{padding:85px max(6vw,30px)}.seccion-publica h2{text-align:center;font-size:clamp(2.2rem,4vw,4rem)}.tarjetas-funciones,.tarjetas-precios{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1400px;margin:35px auto}.tarjeta-funcion h3{margin-top:18px}.seccion-oscura{background:var(--azul-950);color:#fff}.franja-incluido{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1400px;margin:25px auto}.franja-incluido div{text-align:center;padding:12px;color:var(--azul-900);background:#fff;border-radius:10px}.precio strong{font-size:2.8rem}.precio.destacado{border:2px solid var(--azul-700)}.pie-publico{background:#0b1d31;color:#c5d7e5;padding:60px max(6vw,30px)}.pie-rejilla{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:30px}.pie-publico a{color:#dceaf4;display:block;margin:.5rem 0}
@media(max-width:1000px){.rejilla-resumen{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}.tarjetas-funciones,.tarjetas-precios{grid-template-columns:1fr 1fr}.franja-incluido{grid-template-columns:repeat(2,1fr)}.rejilla-formulario{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.navegacion-publica nav{display:none}.navegacion-publica{padding:0 14px}.navegacion-publica .boton-contorno{display:none}.barra-lateral{width:58px}.contenido-aplicacion{margin-left:58px}.barra-superior{padding:0 12px}.barra-superior>div:first-child{display:none}.boton-perfil{min-width:0;max-width:240px}.panel-perfil{right:10px;width:calc(100vw - 80px)}.contenido-principal{padding:16px}.rejilla-resumen,.rejilla-dos,.rejilla-formulario,.tarjetas-funciones,.tarjetas-precios,.pie-rejilla{grid-template-columns:1fr}.campo-doble{grid-column:auto}.hero{padding:65px 22px}.hero h1{font-size:3.3rem}.franja-incluido{grid-template-columns:1fr}.encabezado-pagina{align-items:flex-start;flex-direction:column}.acciones-perfil{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.registro-publico .grupo-campos .datos-propietario{grid-template-columns:1fr!important}}
@media(max-width:700px){.precio-ultimo-aviso{grid-column:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:20px 22px}}
.precio-ultimo-aviso{grid-column:1/-1;min-height:0;display:flex;flex-direction:row;align-items:center;gap:22px;padding:16px 26px;background:linear-gradient(110deg,#fff,#f1f8fd);border-top:3px solid var(--azul-500)}.precio-ultimo-aviso .etiqueta-plan{flex:0 0 auto}.precio-ultimo-contenido{min-width:180px}.precio-ultimo-aviso h3{margin:0 0 4px;font-size:1.15rem}.precio-ultimo-aviso p{margin:0;min-height:0;color:var(--texto-suave);font-size:.9rem}.precio-ultimo-aviso>strong{font-size:1.8rem;color:var(--azul-950);white-space:nowrap}.precio-ultimo-aviso ul{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0 0 0 auto;font-size:.8rem}.precio-ultimo-aviso li{white-space:nowrap}@media(max-width:700px){.precio-ultimo-aviso{grid-column:auto;align-items:flex-start;flex-direction:column;gap:10px;padding:20px 22px}.precio-ultimo-aviso ul{margin:0;display:grid;gap:8px}}

/* Navegación lateral: contraída muestra únicamente iconos; al pasar el puntero se expande. */
.barra-lateral{width:64px}
.barra-lateral .marca-texto,.barra-lateral nav>a>span:last-child,.barra-lateral .grupo-menu>button>span:last-child{opacity:0;width:0;overflow:hidden;transition:opacity .15s,width .15s}
.barra-lateral:hover{width:235px}
.barra-lateral:hover .marca-texto,.barra-lateral:hover nav>a>span:last-child,.barra-lateral:hover .grupo-menu>button>span:last-child{opacity:1;width:auto}
.barra-lateral nav>a,.grupo-menu>button{gap:14px;padding-left:14px;padding-right:14px}
.barra-lateral .submenu{visibility:hidden;opacity:0}
.barra-lateral:hover .grupo-menu:hover .submenu{visibility:visible;opacity:1}
.contenido-aplicacion{margin-left:64px}
.contenido-principal{max-width:none;width:100%;padding-left:clamp(14px,2vw,32px);padding-right:clamp(14px,2vw,32px)}
.formulario-tarjeta{max-width:none;width:100%}
.datos-clinicos-card{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 0%,var(--celeste-50) 100%);border-top:4px solid var(--azul-500)}
.datos-clinicos-card::after{content:"";position:absolute;right:-42px;bottom:-56px;width:150px;height:150px;border-radius:50%;background:rgba(88,167,223,.10);pointer-events:none}
.datos-clinicos-card h2{margin-bottom:18px;font-size:1.45rem}
.datos-clinicos-card p{position:relative;z-index:1;margin:0 0 12px;padding:12px;border:1px solid var(--borde);border-radius:12px;background:rgba(255,255,255,.84)}
.datos-clinicos-card p:last-child{margin-bottom:0}
.datos-clinicos-card p strong{display:block;margin-bottom:4px;color:var(--azul-800);font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.datos-clinicos-card p br+*{line-height:1.4}
@media(min-width:701px){.datos-clinicos-card p{min-height:72px}.datos-clinicos-card p:nth-of-type(3),.datos-clinicos-card p:nth-of-type(4){min-height:92px}}
.formulario-consulta .campo-expandible{grid-column:1/-1}
.formulario-consulta .campo-expandible textarea{min-height:110px;resize:vertical}
.selector-archivo{display:flex;align-items:center;gap:10px;min-height:42px}.selector-archivo input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.boton-seleccionar-archivo{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;cursor:pointer;margin:0}.selector-archivo span{color:var(--texto-secundario);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archivo-expediente{border-top:1px solid var(--borde)}.descripcion-archivo{margin:.35rem 0 0;color:var(--texto-secundario);font-size:.9rem;max-width:70ch;white-space:pre-wrap}.acciones-archivo{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.acciones-archivo form{margin:0}.boton-eliminar-archivo{color:var(--rojo-700,#b42318);border-color:var(--rojo-300,#fda29b);background:transparent}.boton-eliminar-archivo:hover{color:#fff;background:var(--rojo-600,#d92d20);border-color:var(--rojo-600,#d92d20)}
@media(max-width:700px){.archivo-expediente{align-items:flex-start!important;gap:12px}.acciones-archivo{flex-direction:column;align-items:stretch}.acciones-archivo .boton-accion{width:100%}}
.archivo-detalle{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:baseline}.archivo-detalle strong{font-size:.78rem;color:var(--azul-700)}.archivo-detalle span{color:var(--texto)}.archivo-detalle .descripcion-archivo{margin:0}
.proximas-citas{display:grid;gap:0}.proxima-cita{display:grid;grid-template-columns:110px 1fr 24px;align-items:center;gap:14px;padding:15px 4px;border-bottom:1px solid var(--borde);color:var(--texto)}.proxima-cita:last-child{border-bottom:0}.proxima-cita time{font-weight:800;color:var(--azul-700)}.proxima-cita span{display:grid;gap:3px}.proxima-cita small{color:var(--texto-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proxima-cita>b{color:var(--azul-700);font-size:1.15rem}.proxima-cita:hover{background:var(--celeste-50)}
@media(max-width:700px){.barra-lateral{width:58px}.barra-lateral:hover{width:220px}.contenido-aplicacion{margin-left:58px}.contenido-principal{padding-left:16px;padding-right:16px}}
.boton-menu-movil{display:none;border:1px solid var(--borde);background:#fff;color:var(--azul-800);border-radius:8px;width:40px;height:38px;font-size:1.2rem}.encabezado-superior{display:flex;align-items:center;gap:10px}.fondo-menu-movil{display:none}
@media(max-width:700px){.barra-lateral{width:0;transform:translateX(-100%);transition:transform .2s,width .2s}.barra-lateral.menu-movil-abierto{width:235px;transform:translateX(0);box-shadow:8px 0 24px rgba(16,42,67,.25)}.barra-lateral.menu-movil-abierto .marca-texto,.barra-lateral.menu-movil-abierto nav>a>span:last-child,.barra-lateral.menu-movil-abierto .grupo-menu>button>span:last-child{opacity:1;width:auto}.barra-lateral.menu-movil-abierto .submenu{visibility:visible;opacity:1}.contenido-aplicacion{margin-left:0}.boton-menu-movil{display:inline-grid;place-items:center}.fondo-menu-movil:not([hidden]){display:block;position:fixed;inset:0;background:rgba(16,42,67,.42);z-index:25}.barra-superior{z-index:30}.tabla-responsiva{overflow-x:auto;-webkit-overflow-scrolling:touch}.tabla-responsiva table{min-width:700px}.tabla-facturacion{min-width:920px!important}.tabla-responsiva .tabla-sigc td,.tabla-responsiva .tabla-sigc th{white-space:nowrap}}
.tabla-responsiva .tabla-sigc td[data-label]::before{content:none}
@media(max-width:700px){.barra-superior>div:first-child.encabezado-superior{display:flex}.navegacion-publica{height:auto;min-height:68px;gap:8px}.navegacion-publica>div{display:flex;gap:6px}.navegacion-publica>div .boton-primario,.navegacion-publica>div .boton-contorno{display:inline-flex;padding:.55rem .7rem;font-size:.78rem;white-space:nowrap}.navegacion-publica .marca-publica{min-width:0;gap:6px}.navegacion-publica .marca-publica small{font-size:.62rem;max-width:150px}.tabla-responsiva{overflow:visible}.tabla-responsiva .tabla-sigc,.tabla-responsiva .tabla-sigc thead,.tabla-responsiva .tabla-sigc tbody,.tabla-responsiva .tabla-sigc tr,.tabla-responsiva .tabla-sigc td{display:block;width:100%;min-width:0!important}.tabla-responsiva .tabla-sigc thead{display:none}.tabla-responsiva .tabla-sigc tr{margin-bottom:14px;border:1px solid var(--borde);border-radius:12px;background:#fff;padding:8px;box-shadow:0 4px 12px rgba(16,42,67,.05)}.tabla-responsiva .tabla-sigc td{display:grid;grid-template-columns:minmax(95px,38%) 1fr;gap:10px;align-items:start;padding:9px 8px;border-bottom:1px solid #e4edf4;text-align:right!important;white-space:normal!important;overflow-wrap:anywhere}.tabla-responsiva .tabla-sigc td:last-child{border-bottom:0}.tabla-responsiva .tabla-sigc td::before{font-weight:800;color:var(--azul-800);text-align:left;font-size:.74rem;text-transform:uppercase;letter-spacing:.04em}.tabla-responsiva .tabla-sigc td .formulario-pago-inline{grid-column:1/-1;display:flex;width:100%}.tabla-facturacion{min-width:0!important}.tabla-facturacion td:last-child{min-width:0!important}.rejilla-dos{grid-template-columns:1fr}.acciones-archivo{width:100%}}
.encabezado-superior{gap:6px}.encabezado-superior>div{display:grid;gap:2px}
@media(max-width:700px){.tabla-responsiva .tabla-sigc td[data-label]::before{content:attr(data-label)}}
@media(max-width:700px){.tabla-responsiva .tabla-pacientes,.tabla-responsiva .tabla-pacientes thead,.tabla-responsiva .tabla-pacientes tbody{display:table;width:100%;table-layout:fixed}.tabla-responsiva .tabla-pacientes thead{display:table-header-group}.tabla-responsiva .tabla-pacientes tbody{display:table-row-group}.tabla-responsiva .tabla-pacientes tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.tabla-responsiva .tabla-pacientes th,.tabla-responsiva .tabla-pacientes td{display:table-cell;width:auto;min-width:0!important;padding:8px 3px;border-bottom:1px solid var(--borde);font-size:.64rem;line-height:1.2;text-align:center!important;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.tabla-responsiva .tabla-pacientes th{font-size:.58rem;letter-spacing:.02em}.tabla-responsiva .tabla-pacientes td::before{content:none!important}.tabla-responsiva .tabla-pacientes th:nth-child(1),.tabla-responsiva .tabla-pacientes td:nth-child(1){width:18%}.tabla-responsiva .tabla-pacientes th:nth-child(2),.tabla-responsiva .tabla-pacientes td:nth-child(2){width:25%}.tabla-responsiva .tabla-pacientes th:nth-child(3),.tabla-responsiva .tabla-pacientes td:nth-child(3){width:23%}.tabla-responsiva .tabla-pacientes th:nth-child(4),.tabla-responsiva .tabla-pacientes td:nth-child(4){width:12%}.tabla-responsiva .tabla-pacientes th:nth-child(5),.tabla-responsiva .tabla-pacientes td:nth-child(5){width:12%}.tabla-responsiva .tabla-pacientes th:nth-child(6),.tabla-responsiva .tabla-pacientes td:nth-child(6){width:10%}.tabla-responsiva .tabla-pacientes td:last-child{display:table-cell}.tabla-responsiva .tabla-pacientes td:last-child .boton-accion{min-width:0;width:100%;padding:5px 2px;font-size:.62rem}.tabla-responsiva .tabla-pacientes td small{font-size:.58rem}}
.curva-crecimiento,.curva-unica,.curva-lienzo{max-width:100%;min-width:0}.curva-lienzo canvas{max-width:100%}
@media(max-width:700px){.curva-crecimiento{padding:12px}.curva-unica{padding:10px}.curva-controles{justify-content:space-between;gap:6px}.curva-controles select{min-width:112px}.curva-lienzo{width:100%;height:280px;overflow:hidden}.curva-lienzo canvas{width:100%!important;height:280px!important}.leyenda-curva{gap:14px;flex-wrap:wrap;font-size:.75rem}.curva-crecimiento .tabla-responsiva{overflow:visible}.curva-crecimiento .tabla-datos,.curva-crecimiento .tabla-datos thead,.curva-crecimiento .tabla-datos tbody,.curva-crecimiento .tabla-datos tr,.curva-crecimiento .tabla-datos td{display:block;width:100%;min-width:0}.curva-crecimiento .tabla-datos thead{display:none}.curva-crecimiento .tabla-datos tr{margin-bottom:10px;padding:7px;border:1px solid var(--borde);border-radius:10px;background:#fff}.curva-crecimiento .tabla-datos td{display:grid;grid-template-columns:42% 58%;gap:8px;padding:8px;border-bottom:1px solid var(--borde);text-align:left}.curva-crecimiento .tabla-datos td:last-child{border-bottom:0}.curva-crecimiento .tabla-datos td:nth-child(1)::before{content:"Fecha"}.curva-crecimiento .tabla-datos td:nth-child(2)::before{content:"Edad"}.curva-crecimiento .tabla-datos td:nth-child(3)::before{content:"Peso"}.curva-crecimiento .tabla-datos td:nth-child(4)::before{content:"Talla"}.curva-crecimiento .tabla-datos td::before{font-weight:800;color:var(--azul-800);font-size:.75rem;text-align:left}}
.curva-crecimiento .tabla-datos{table-layout:fixed}
@media(max-width:700px){.curva-crecimiento .tabla-datos,.curva-crecimiento .tabla-datos thead,.curva-crecimiento .tabla-datos tbody{display:table;width:100%;table-layout:fixed}.curva-crecimiento .tabla-datos thead{display:table-header-group}.curva-crecimiento .tabla-datos tbody{display:table-row-group}.curva-crecimiento .tabla-datos tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;background:transparent}.curva-crecimiento .tabla-datos th,.curva-crecimiento .tabla-datos td{display:table-cell;width:25%;padding:8px 4px;border-bottom:1px solid var(--borde);font-size:.7rem;line-height:1.2;text-align:center;white-space:normal;overflow-wrap:anywhere}.curva-crecimiento .tabla-datos th{font-size:.65rem;letter-spacing:.02em}.curva-crecimiento .tabla-datos td::before{content:none!important}.curva-crecimiento .tabla-datos tbody tr:nth-child(even){background:rgba(220,238,249,.22)}}
.modal-confirmacion{padding:10px}.modal-confirmacion .modal-tarjeta{max-width:100%;max-height:calc(100dvh - 20px);overflow:hidden}.modal-documento-tarjeta,.modal-hoja-tarjeta{width:calc(100vw - 20px)!important;height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px);padding:12px}.modal-documento-tarjeta iframe,.modal-hoja-tarjeta iframe{width:100%;min-width:0;min-height:0;flex:1}.modal-documento-cabecera,.modal-hoja-cabecera{flex:0 0 auto}.modal-documento-acciones,.modal-hoja-acciones{flex:0 0 auto;padding-top:8px}.modal-confirmacion .modal-tarjeta>div:first-child h3{font-size:1.05rem}.modal-confirmacion .modal-tarjeta>div:first-child{min-width:0}.modal-confirmacion .modal-tarjeta>div:first-child .boton-contorno{padding:.5rem .7rem;font-size:.82rem}
.linea-tiempo{position:relative;margin:18px 0 8px;padding-left:24px}.linea-tiempo:before{content:"";position:absolute;left:7px;top:5px;bottom:5px;width:2px;background:var(--celeste-200)}.evento-consulta{position:relative;padding:0 0 22px}.evento-punto{position:absolute;left:-24px;top:6px;width:16px;height:16px;border:3px solid var(--azul-500);background:#fff;border-radius:50%;z-index:1}.evento-contenido{border:1px solid var(--borde);border-radius:12px;padding:14px 16px;background:#fff}.evento-cabecera{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--azul-700);font-size:.85rem}.evento-cabecera time{font-weight:700}.estado-consulta{border-radius:999px;background:var(--celeste-100);color:var(--azul-700);padding:4px 9px;font-size:.75rem}.evento-contenido h3{margin:8px 0 3px;font-size:1rem}.evento-contenido p{margin:0 0 10px;color:var(--texto-secundario)}.boton-mas-consultas{margin-top:6px}.consultas-anteriores{margin-top:14px}.modal-hoja-tarjeta{width:min(1000px,96vw);height:min(92vh,900px);padding:18px;display:flex;flex-direction:column;text-align:left}.modal-hoja-cabecera{display:flex;justify-content:flex-end!important;align-items:center;margin-bottom:10px}.modal-hoja-cabecera h3{margin:0;margin-right:auto}.modal-hoja-tarjeta iframe{width:100%;flex:1;min-height:0;border:1px solid var(--borde);border-radius:8px;background:#f7f9fb}.modal-hoja-acciones{display:flex;justify-content:flex-end!important;padding-top:10px}
@media(max-width:700px){.evento-cabecera{align-items:flex-start;flex-direction:column;gap:4px}.modal-hoja-tarjeta{height:94vh;padding:10px}}

/* Identidad visual SICOM: azul institucional y celeste como acento en todo el sitio. */
.marca-publica strong,.marca-lateral .marca-texto{letter-spacing:.01em}
.hero-metricas{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:650px;margin-top:24px}.hero-metricas div{padding:12px 14px;border:1px solid rgba(255,255,255,.22);border-radius:12px;background:rgba(255,255,255,.08)}.hero-metricas strong,.hero-metricas small{display:block}.hero-metricas strong{font-size:1.25rem;color:#fff}.hero-metricas small{font-size:.78rem;color:#cfe4f2;margin-top:3px}.texto-intro-publico{text-align:center;color:var(--texto-suave);max-width:680px;margin:-18px auto 26px}.tarjeta-funcion{transition:transform .2s,box-shadow .2s,border-color .2s}.tarjeta-funcion:hover{transform:translateY(-4px);border-color:var(--azul-500);box-shadow:0 14px 30px rgba(32,91,143,.14)}
.seccion-contacto-publica{text-align:center;padding:70px 24px;background:var(--celeste-100)}.seccion-contacto-publica h2{font-size:2.4rem;margin-bottom:8px}.seccion-contacto-publica p{color:var(--texto-suave);margin-bottom:22px}.pagina-soporte{max-width:1050px;margin:0 auto;padding:70px 24px}.pagina-soporte>h1{text-align:center;font-size:clamp(2.2rem,4vw,4rem);margin:10px 0}.pagina-soporte>.eyebrow{display:block;text-align:center}.introduccion-soporte{text-align:center;max-width:700px;margin:0 auto 35px;color:var(--texto-suave);font-size:1.05rem}.tarjetas-soporte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.tarjeta-soporte h2{margin:12px 0 8px;font-size:1.35rem}.tarjeta-soporte p{color:var(--texto-suave);min-height:48px}.preguntas-soporte{margin-top:18px}.preguntas-soporte h2,.horario-soporte h2{margin-bottom:18px}.preguntas-soporte details{border-top:1px solid var(--borde);padding:15px 0}.preguntas-soporte summary{cursor:pointer;font-weight:700;color:var(--azul-800)}.preguntas-soporte details p{margin:10px 0 0;color:var(--texto-suave)}.horario-soporte{margin-top:18px}.horario-soporte p{color:var(--texto-suave);margin:.5rem 0}@media(max-width:700px){.tarjetas-soporte{grid-template-columns:1fr}.pagina-soporte{padding:45px 16px}}
.tarjeta-contacto-directo h2,.horario-contacto h2{margin-top:0}.datos-contacto{display:grid;gap:16px;margin:20px 0 24px}.datos-contacto div{display:grid;gap:3px}.datos-contacto strong{font-size:.9rem}.datos-contacto a,.datos-contacto span{color:var(--texto-suave);font-size:.88rem}.horario-fila{display:flex;justify-content:space-between;gap:18px;padding:9px 0;font-size:.9rem}.horario-fila span{color:var(--texto-suave);text-align:right}.horario-contacto hr{border:0;border-top:1px solid var(--borde);margin:12px 0}.horario-contacto small{color:var(--texto-suave);line-height:1.5}
.seccion-precios{background:linear-gradient(180deg,#f5f9fd,#e9f4fc)}.aviso-prueba{width:max-content;max-width:100%;margin:22px auto;padding:8px 18px;border-radius:999px;background:#dff7e9;color:#24734d;font-size:.85rem;font-weight:700}.tarjetas-precios{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.precio{position:relative;display:flex;flex-direction:column;gap:8px;padding:25px 22px}.precio h3{margin:4px 0 0;font-size:1.35rem}.precio>p{color:var(--texto-suave);min-height:42px;font-size:.9rem}.precio>strong{font-size:2.15rem;color:var(--azul-950);margin:6px 0}.precio>strong small{font-size:.82rem;font-weight:500;color:var(--texto-suave)}.precio ul{list-style:none;padding:0;margin:10px 0 18px;display:grid;gap:10px;color:var(--texto-suave);font-size:.88rem}.precio li:before{content:"✓";color:var(--exito);font-weight:800;margin-right:9px}.precio a{margin-top:auto}.precio.destacado{border:2px solid var(--azul-500);box-shadow:0 15px 32px rgba(32,91,143,.16);transform:translateY(-8px)}.etiqueta-plan{align-self:flex-start;border-radius:999px;background:var(--celeste-100);color:var(--azul-800);padding:5px 10px;font-size:.75rem;font-weight:800}.etiqueta-plan.recomendado{background:#4cb5a6;color:#fff;position:absolute;top:-14px;left:50%;transform:translateX(-50%);white-space:nowrap}.etiqueta-plan.mejor-valor{background:#f4a340;color:#fff}.precio-ultimo-aviso{grid-column:1/-1;min-height:0;display:flex;flex-direction:row;align-items:center;gap:20px;padding:18px 26px;background:linear-gradient(110deg,#fff,#f1f8fd);border-top:3px solid var(--azul-500)}.precio-ultimo-aviso .etiqueta-plan{flex:0 0 auto}.precio-ultimo-aviso h3{margin:0 0 4px;font-size:1.15rem}.precio-ultimo-aviso p{margin:0;min-height:0;color:var(--texto-suave);font-size:.95rem}.precio-ultimo-aviso p strong{color:var(--azul-900)}.texto-ayuda-precios{text-align:center;color:var(--texto-suave);margin:25px 0 0}@media(max-width:1100px){.tarjetas-precios{grid-template-columns:repeat(2,minmax(0,1fr))}} 
@media(max-width:700px){.hero-metricas{grid-template-columns:1fr}.texto-intro-publico{margin-top:-8px}}
.marca-publica small{max-width:330px;line-height:1.15}
.hero-autenticacion{background:linear-gradient(135deg,var(--azul-950),var(--azul-800) 65%,#247db5)}
.formulario-autenticacion{border-top:4px solid var(--azul-500)}
.formulario-autenticacion{color:var(--texto)}.formulario-autenticacion h2{color:var(--azul-950);margin-bottom:8px}.formulario-autenticacion>p{color:var(--texto-suave)}.formulario-autenticacion label,.formulario-autenticacion .form-check-label{color:var(--texto)}.formulario-autenticacion .form-control{color:var(--texto);background:#fff}.campo-contrasena{position:relative}.campo-contrasena .form-control{padding-right:76px}.boton-mostrar-contrasena{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:1px solid var(--borde);border-radius:7px;background:var(--celeste-50);color:var(--azul-700);padding:5px 10px;font-size:.8rem;font-weight:700;cursor:pointer}.boton-mostrar-contrasena:hover{background:var(--celeste-100);color:var(--azul-900)}
.registro-publico{background:linear-gradient(180deg,var(--celeste-50),#fff)}
.registro-publico .formulario-tarjeta{border-top:4px solid var(--azul-500)}
.boton-primario{background:var(--azul-700);border-color:var(--azul-700)}
.boton-primario:hover{background:var(--azul-800);border-color:var(--azul-800)}
.boton-contorno{color:var(--azul-700);border-color:var(--azul-500)}
.boton-contorno:hover{background:var(--celeste-100);border-color:var(--azul-700);color:var(--azul-800)}
.rejilla-resumen .resumen{position:relative;overflow:hidden;border-top:3px solid var(--azul-500);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.rejilla-resumen .resumen::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,var(--azul-700),var(--celeste-200));opacity:0;transition:opacity .2s ease}.rejilla-resumen .resumen:nth-child(2){border-top-color:#4d93cf}.rejilla-resumen .resumen:nth-child(3){border-top-color:#73b9df}.rejilla-resumen .resumen:nth-child(4){border-top-color:#6f9fd4}.rejilla-resumen .resumen:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(32,91,143,.16);border-top-color:var(--azul-700)}.rejilla-resumen .resumen:hover::after{opacity:1}.rejilla-resumen .resumen:hover .resumen-icono{background:var(--azul-700);color:#fff}
.filtros-agenda{padding:0;overflow:hidden}.filtros-agenda-encabezado{padding:18px 22px;background:linear-gradient(135deg,var(--celeste-50),#fff);border-bottom:1px solid var(--borde)}.filtros-agenda-encabezado h2{font-size:1.15rem;margin:0;color:var(--azul-950)}.filtros-agenda-encabezado p{margin:.25rem 0 0;color:var(--texto-suave)}.filtros-agenda form{padding:18px 22px}.rejilla-filtros-agenda{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:14px}.acciones-filtros{display:flex;gap:10px;margin-top:16px}.acciones-filtros .boton-contorno,.acciones-filtros .boton-primario{display:inline-flex;align-items:center;justify-content:center}.filtros-agenda label{display:block}
@media(max-width:900px){.rejilla-filtros-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.rejilla-filtros-agenda{grid-template-columns:1fr}.filtros-agenda form{padding:14px}.filtros-agenda-encabezado{padding:16px}.acciones-filtros{flex-wrap:wrap}}
.panel-agenda,.panel-acciones-rapidas{position:relative;overflow:hidden;border-top:3px solid var(--azul-500);transition:transform .2s ease,box-shadow .2s ease}.panel-agenda:hover,.panel-acciones-rapidas:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(32,91,143,.13)}.panel-agenda:before,.panel-acciones-rapidas:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--azul-700),var(--celeste-200));opacity:0;transition:opacity .2s ease}.panel-agenda:hover:before,.panel-acciones-rapidas:hover:before{opacity:1}.lista-acciones{display:grid;gap:0;margin-top:16px}.accion-rapida{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 4px;border-top:1px solid var(--borde);color:var(--texto);transition:background .18s ease,padding .18s ease}.accion-rapida:hover{background:var(--celeste-50);padding-left:10px;color:var(--azul-800)}.accion-rapida .resumen-icono{width:42px;height:42px}.accion-rapida span:nth-child(2){display:grid;gap:3px}.accion-rapida small{color:var(--texto-suave)}.accion-rapida>b{color:var(--azul-700);font-size:1.2rem}
/* Iconos y acciones de agenda */
.acciones-agenda{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex-wrap:wrap}
.boton-con-icono{display:inline-flex;align-items:center;justify-content:center;gap:.45rem}
.boton-con-icono>span{display:inline-grid;place-items:center;width:1.15rem;height:1.15rem;font-size:1.05rem;line-height:1;color:var(--azul-700);transition:transform .18s ease,color .18s ease}
.boton-primario.boton-con-icono>span{color:#fff}
.boton-con-icono:hover>span{transform:scale(1.12);color:var(--azul-800)}
.boton-primario.boton-con-icono:hover>span{color:#fff}
.barra-lateral:hover .grupo-menu:hover .submenu{display:none}
.barra-lateral:hover .grupo-menu.abierto .submenu{display:grid;visibility:visible;opacity:1}
.marca-logo-sicom{width:42px;height:42px;flex:none;object-fit:contain;border-radius:10px;background:#fff}
.marca-logo-publica{width:54px;height:54px;flex:none;object-fit:contain;border-radius:12px;background:#fff}
.marca-publica{gap:.9rem}
@media(max-width:700px){.marca-logo-publica{width:48px;height:48px}}
.modal-pago-tarjeta{width:min(520px,96vw);text-align:left}.modal-pago-tarjeta h3{text-align:center}.modal-icono-error{background:#fee2e2;color:var(--error)}.modal-pago-motivo{padding:14px;border-left:4px solid var(--error);background:#fff7f7;border-radius:8px;white-space:pre-wrap}.formulario-reenvio-pago{display:grid;gap:12px}.modal-pago-acciones{display:flex;justify-content:flex-end;gap:10px}.boton-pequeno{padding:.45rem .65rem;font-size:.82rem;margin-top:6px}
.modal-documento-tarjeta{width:min(1000px,96vw);height:min(90vh,900px);display:flex;flex-direction:column;text-align:left}.modal-documento-cabecera{display:flex;align-items:center;gap:12px;margin-bottom:10px}.modal-documento-cabecera h3{margin:0;margin-right:auto}.modal-documento-tarjeta iframe{width:100%;flex:1;min-height:0;border:1px solid var(--borde);border-radius:8px;background:#f7f9fb}.modal-documento-acciones{display:flex;justify-content:flex-end;padding-top:12px}
.barra-lateral nav>a[href^="/Plataforma"]{display:none}
.filtros-reportes{padding:0;overflow:hidden;margin-bottom:18px}.filtros-reportes-cabecera{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;background:linear-gradient(135deg,var(--celeste-50),#fff);border-bottom:1px solid var(--borde)}.filtros-reportes-cabecera h2{margin:0;font-size:1.15rem;color:var(--azul-950)}.filtros-reportes-cabecera p{margin:.25rem 0 0;color:var(--texto-suave)}.filtros-reportes form{padding:18px 22px}.rejilla-filtros-reportes{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.acciones-filtros-reportes{display:flex;gap:10px}.reportes-resumen .resumen{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.reportes-resumen .resumen>div{display:grid;gap:2px}.reportes-resumen small{color:var(--texto-suave)}.rejilla-reportes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.reporte-bloque{position:relative;overflow:hidden}.reporte-cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:1px solid var(--borde);padding-bottom:14px}.reporte-cabecera h2{font-size:1.25rem;margin:.25rem 0}.reporte-cabecera p{margin:0;color:var(--texto-suave);font-size:.88rem}.lista-reporte{display:grid;gap:13px;margin-top:18px}.fila-reporte{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;font-size:.9rem}.fila-reporte strong{color:var(--azul-800)}.fila-reporte small{color:var(--texto-suave);min-width:43px;text-align:right}.barra-reporte{grid-column:1/-1;height:7px;background:var(--celeste-100);border-radius:8px;overflow:hidden}.barra-reporte i{display:block;height:100%;background:linear-gradient(90deg,var(--azul-500),var(--azul-700));border-radius:8px}.vacio-reporte{color:var(--texto-suave);text-align:center;margin:14px 0}.modal-reporte-tarjeta{width:min(900px,96vw);max-height:90vh;overflow:auto;text-align:left;padding:22px}.modal-reporte-cabecera{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--borde);padding-bottom:12px}.modal-reporte-cabecera h2{font-size:1.3rem;margin:0;margin-right:auto;color:var(--azul-950)}.modal-reporte-contenido{padding:16px 0}.modal-reporte-contenido>.reporte-cabecera{display:none}.modal-reporte-acciones{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--borde);padding-top:14px}.modal-reporte-contenido .reporte-bloque{box-shadow:none;border:0;padding:0}.modal-reporte-contenido .fila-reporte{padding:8px 0;border-bottom:1px solid #e5edf4}.modal-reporte-contenido .fila-reporte:last-child{border-bottom:0}
@media(max-width:800px){.rejilla-filtros-reportes{grid-template-columns:1fr 1fr}.acciones-filtros-reportes{grid-column:1/-1}.rejilla-reportes{grid-template-columns:1fr}.reportes-resumen .resumen{grid-template-columns:auto 1fr}}
.reportes-resumen{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1200px){.reportes-resumen{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.reportes-resumen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reportes-resumen{grid-template-columns:1fr}}
.reporte-detalle-fuente{display:none}.reporte-detalle-fuente table{width:100%;border-collapse:collapse;font-size:.9rem}.reporte-detalle-fuente th,.reporte-detalle-fuente td{padding:9px 8px;border-bottom:1px solid var(--borde);text-align:left;vertical-align:top}.reporte-detalle-fuente th{color:var(--azul-800);font-size:.78rem;text-transform:uppercase}.modal-reporte-contenido .reporte-detalle-fuente{display:block}.modal-reporte-contenido .reporte-detalle-fuente h3{margin:0 0 14px;color:var(--azul-950)}.modal-reporte-contenido .reporte-detalle-fuente table{min-width:700px}.rejilla-reportes .boton-reporte{display:none}.reportes-resumen #reporte-promedio .boton-reporte,.reportes-resumen #reporte-recurrentes .boton-reporte{display:none}
@media(max-width:700px){.modal-reporte-contenido .reporte-detalle-fuente table{min-width:0;table-layout:fixed;font-size:.76rem}.modal-reporte-contenido .reporte-detalle-fuente th,.modal-reporte-contenido .reporte-detalle-fuente td{padding:6px 4px;overflow-wrap:anywhere;word-break:break-word}}
.modal-reporte-contenido{display:block!important;width:100%}.modal-reporte-contenido>h3{display:block!important;width:100%!important;margin:0 0 18px!important;text-align:center!important}.modal-reporte-contenido>table{display:table!important;width:100%!important;table-layout:auto}
.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-reporte-tarjeta{width:min(1100px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important;max-height:calc(100dvh - 48px);padding:26px;overflow:auto}
@media(max-width:700px){.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-reporte-tarjeta{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px);padding:12px}}
.alerta-google-calendar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.boton-google-calendar{border-color:#4285f4;color:#1a73e8;background:transparent}.boton-google-calendar:hover{background:#e8f0fe;color:#174ea6}
.tabla-sigc thead th{text-align:center!important;vertical-align:middle}.tabla-sigc th.acciones,.tabla-sigc td.acciones,.tabla-sigc th:nth-last-child(2),.tabla-sigc td:nth-last-child(2){text-align:center!important}.tabla-sigc td.acciones,.tabla-sigc td:nth-last-child(2){white-space:nowrap}.tabla-sigc td.acciones{display:table-cell}.tabla-sigc td.acciones .boton-accion,.tabla-sigc td:nth-last-child(2) .boton-accion{display:inline-flex;align-items:center;justify-content:center;margin:2px 3px}
.modal-google-calendar{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:20px;background:rgb(10 35 60 / .42)}.modal-google-calendar .modal-sigc-contenido{width:min(520px,96vw);padding:24px}.modal-google-calendar h2{margin-top:0;color:var(--azul-950)}
.solo-desarrollador nav>a:nth-of-type(2),.solo-desarrollador nav>a:nth-of-type(3),.solo-desarrollador nav>a:nth-of-type(4),.solo-desarrollador nav>a:nth-of-type(5),.solo-desarrollador nav>.grupo-menu{display:none!important}.solo-desarrollador nav>.grupo-menu:last-of-type{display:block!important}.solo-desarrollador nav>a:nth-of-type(6){display:none!important}.desarrollador-con-clinica nav>a:nth-of-type(6){display:none!important}
.seccion-publica > .eyebrow{display:block;margin-bottom:14px}.seccion-publica > h2{margin:0 0 18px}.seccion-publica .texto-intro-publico{margin:0 auto 38px}
.campo-verificacion{display:flex;align-items:stretch;min-height:72px}.selector-check{display:flex;align-items:center;gap:13px;width:100%;margin:0;padding:13px 16px;border:1px solid var(--borde);border-radius:10px;background:var(--celeste-50);cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.selector-check:hover{border-color:var(--azul-500);background:#fff;box-shadow:0 4px 12px rgba(32,91,143,.1)}.selector-check input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--azul-700);cursor:pointer}.selector-check span{display:grid;gap:3px}.selector-check strong{color:var(--azul-900);font-size:.9rem}.selector-check small{color:var(--texto-suave);font-size:.76rem;font-weight:400}
.verificaciones-usuario{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:700px){.verificaciones-usuario{grid-template-columns:1fr}}
.rejilla-formulario>.verificaciones-usuario{grid-column:3;grid-row:2;align-self:end;gap:10px}
.rejilla-formulario>.verificaciones-usuario .selector-check{padding:10px 11px;gap:8px;min-height:64px}
.rejilla-formulario>.verificaciones-usuario .selector-check input{width:20px;height:20px}
@media(max-width:700px){.rejilla-formulario>.verificaciones-usuario{grid-column:1/-1;grid-row:auto}}
.rejilla-acceso-usuario{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.rejilla-acceso-usuario .campo-correo-usuario{grid-column:span 1}
.rejilla-acceso-usuario .campo-rol-usuario,.rejilla-acceso-usuario .campo-especialidad-usuario{grid-column:span 1}
.rejilla-acceso-usuario .campo-licencia-usuario{grid-column:span 1}
.rejilla-acceso-usuario .verificaciones-usuario{grid-column:1/-1;align-self:end;gap:10px;width:100%;max-width:none;margin-top:2px}
.formulario-acceso-usuario .selector-check{min-height:64px}
@media(max-width:1000px){.rejilla-acceso-usuario{grid-template-columns:repeat(2,minmax(0,1fr))}.rejilla-acceso-usuario .campo-correo-usuario{grid-column:span 1}.rejilla-acceso-usuario .verificaciones-usuario{grid-column:1/-1;max-width:none}}
@media(max-width:700px){.rejilla-acceso-usuario{grid-template-columns:1fr}.rejilla-acceso-usuario .campo-correo-usuario,.rejilla-acceso-usuario .campo-rol-usuario,.rejilla-acceso-usuario .campo-especialidad-usuario,.rejilla-acceso-usuario .campo-licencia-usuario,.rejilla-acceso-usuario .verificaciones-usuario{grid-column:auto}}
.permisos-herramientas{display:flex;align-items:center;gap:14px;margin:4px 0 12px;padding:10px 14px;background:var(--celeste-50);border:1px solid var(--borde);border-radius:10px}.permisos-herramientas small{color:var(--texto-suave)}.permiso-marcar-todo{display:inline-flex;align-items:center;gap:8px;margin:0;color:var(--azul-800);font-weight:800}.tabla-permisos th:not(:first-child),.tabla-permisos td:not(:first-child){text-align:center;vertical-align:middle}.tabla-permisos .permiso-checkbox,.permiso-marcar-todo input{width:19px;height:19px;accent-color:var(--azul-700);cursor:pointer;vertical-align:middle}.tabla-permisos .permiso-checkbox{display:block;margin:auto}
.proximas-citas{max-height:225px;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--azul-300) transparent}
.linea-tiempo .evento-contenido{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:16px;padding:10px 14px}
.linea-tiempo .evento-cabecera,.linea-tiempo .evento-contenido h3{grid-column:1/-1}
.linea-tiempo .evento-contenido p{grid-column:1;margin:0}
.linea-tiempo .evento-contenido>.boton-accion{grid-column:2;grid-row:3;white-space:nowrap;margin:0}
.linea-tiempo .acciones-consulta{grid-column:2;grid-row:3;display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}
.evento-consulta{padding-bottom:10px}
.consultas-anteriores{max-height:360px;overflow-y:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--azul-300) transparent}
.contenedor-consultas{position:relative;max-height:410px;overflow-y:auto;overflow-x:hidden;padding-right:6px;scrollbar-width:thin;scrollbar-color:var(--azul-300) transparent}
.contenedor-consultas>.boton-mas-consultas{position:absolute;right:0;top:-52px;margin:0;z-index:2}
.tarjeta-consultas{position:relative}
.tarjeta-consultas>.boton-mas-consultas{position:absolute;right:24px;top:54px;margin:0;z-index:2}
.contenedor-consultas .consultas-anteriores{max-height:none;overflow:visible;padding-right:0}
@media(max-width:700px){.linea-tiempo .evento-contenido>.boton-accion{grid-column:1/-1;grid-row:auto;justify-self:start;margin-top:4px}.linea-tiempo .acciones-consulta{grid-column:1/-1;grid-row:auto;justify-content:flex-start;margin-top:4px}.contenedor-consultas>.boton-mas-consultas,.tarjeta-consultas>.boton-mas-consultas{position:static;margin:0 0 10px}}

/* Tarjetas clínicas con efecto 3D suave y formas orgánicas. */
.tarjeta-funcion,.precio,.rejilla-resumen .resumen{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease,color .2s ease}
.tarjeta-funcion::before,.precio::before,.rejilla-resumen .resumen::before{content:"";position:absolute;inset:auto;z-index:0;width:155px;height:155px;right:-65px;top:-72px;border-radius:58% 42% 63% 37% / 42% 48% 52% 58%;background:linear-gradient(135deg,rgba(43,137,207,.25),rgba(122,211,237,.12));transform:rotate(-10deg);transition:transform .4s ease,opacity .3s ease;pointer-events:none}
.tarjeta-funcion::after,.precio::after,.rejilla-resumen .resumen::after{content:"";position:absolute;inset:auto;z-index:0;width:115px;height:115px;left:-56px;bottom:-58px;border-radius:42% 58% 37% 63% / 58% 45% 55% 42%;background:linear-gradient(135deg,rgba(31,174,188,.14),rgba(78,155,218,.2));transform:rotate(14deg);transition:transform .4s ease,opacity .3s ease;pointer-events:none}
.tarjeta-funcion:hover,.precio:hover,.rejilla-resumen .resumen:hover{transform:translateY(-5px) rotateX(1deg);border-color:var(--azul-500);box-shadow:0 18px 36px rgba(20,74,120,.18)}
.tarjeta-funcion:hover::before,.precio:hover::before,.rejilla-resumen .resumen:hover::before{transform:scale(1.18) rotate(8deg)}
.tarjeta-funcion:hover::after,.precio:hover::after,.rejilla-resumen .resumen:hover::after{transform:scale(1.2) rotate(-8deg)}
.tarjeta-funcion:nth-child(3n+2)::before,.precio:nth-child(3n+2)::before{background:linear-gradient(135deg,rgba(31,117,190,.24),rgba(85,174,228,.14))}
.tarjeta-funcion:nth-child(3n)::before,.precio:nth-child(3n)::before{background:linear-gradient(135deg,rgba(24,165,177,.22),rgba(116,204,230,.14))}
.tarjeta-funcion>*,.precio>*,.rejilla-resumen .resumen>*{position:relative;z-index:1}
.precio.destacado{transform:translateY(-8px)}
.precio.destacado:hover{transform:translateY(-12px) rotateX(1deg)}
.pantalla-demo .tarjeta{position:relative;overflow:hidden;isolation:isolate}
.pantalla-demo .tarjeta::before{content:"";position:absolute;width:120px;height:120px;right:-48px;bottom:-55px;border-radius:58% 42% 63% 37%;background:rgba(68,166,220,.16);z-index:-1}
@media(prefers-reduced-motion:reduce){.tarjeta-funcion,.precio,.rejilla-resumen .resumen,.tarjeta-funcion::before,.tarjeta-funcion::after,.precio::before,.precio::after,.rejilla-resumen .resumen::before,.rejilla-resumen .resumen::after{transition:none}.tarjeta-funcion:hover,.precio:hover,.precio.destacado:hover,.rejilla-resumen .resumen:hover{transform:none}}

/* Relleno al pasar el cursor: mejora el foco visual de las tarjetas. */
.tarjeta-funcion:hover,.precio:hover,.rejilla-resumen .resumen:hover{background:linear-gradient(145deg,var(--azul-800),var(--azul-700) 58%,#148fae);color:#fff}
.tarjeta-funcion:hover h3,.tarjeta-funcion:hover h4,.tarjeta-funcion:hover p,.tarjeta-funcion:hover span,.tarjeta-funcion:hover small,.precio:hover h3,.precio:hover h4,.precio:hover p,.precio:hover span,.precio:hover small,.rejilla-resumen .resumen:hover h3,.rejilla-resumen .resumen:hover h4,.rejilla-resumen .resumen:hover p,.rejilla-resumen .resumen:hover span,.rejilla-resumen .resumen:hover small{color:#fff}
.tarjeta-funcion:hover .resumen-icono,.precio:hover .resumen-icono,.rejilla-resumen .resumen:hover .resumen-icono{background:rgba(255,255,255,.2);color:#fff;border-color:rgba(255,255,255,.35)}
.tarjeta-funcion:hover a,.precio:hover a,.rejilla-resumen .resumen:hover a{color:#fff}
.tarjeta-funcion:hover .boton-contorno,.precio:hover .boton-contorno,.rejilla-resumen .resumen:hover .boton-contorno{border-color:rgba(255,255,255,.8);color:#fff;background:rgba(255,255,255,.08)}
.tarjeta-funcion:hover::before,.precio:hover::before,.rejilla-resumen .resumen:hover::before{background:linear-gradient(135deg,rgba(126,224,239,.42),rgba(255,255,255,.08));opacity:1}
.tarjeta-funcion:hover::after,.precio:hover::after,.rejilla-resumen .resumen:hover::after{background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(71,200,218,.4));opacity:1}

/* Al pasar el puntero, la tarjeta se rellena de azul y todo su contenido conserva contraste. */
.precio:hover > strong,
.precio:hover > strong small,
.precio:hover ul,
.precio:hover li,
.precio:hover li::before{
    color:#fff;
}
.precio:hover .boton-primario{
    color:#fff;
    background:rgba(255,255,255,.12);
    border-color:rgba(255,255,255,.82);
}
.precio:hover .boton-primario:hover,
.precio:hover .boton-primario:focus-visible{
    color:var(--azul-900);
    background:#fff;
    border-color:#fff;
}

/* Tarjetas del flujo de trabajo: mismo relleno interactivo del resto de la página pública. */
.seccion-oscura .tarjetas-funciones>.tarjeta{position:relative;overflow:hidden;isolation:isolate;border-color:rgba(32,91,143,.22);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease,background .28s ease;color:var(--texto)}
.seccion-oscura .tarjetas-funciones>.tarjeta::before,.seccion-oscura .tarjetas-funciones>.tarjeta::after{content:"";position:absolute;z-index:0;pointer-events:none;transition:transform .4s ease,opacity .3s ease}
.seccion-oscura .tarjetas-funciones>.tarjeta::before{width:170px;height:170px;right:-72px;top:-82px;border-radius:58% 42% 63% 37% / 42% 48% 52% 58%;background:linear-gradient(135deg,rgba(43,137,207,.2),rgba(122,211,237,.12));transform:rotate(-10deg)}
.seccion-oscura .tarjetas-funciones>.tarjeta::after{width:125px;height:125px;left:-58px;bottom:-62px;border-radius:42% 58% 37% 63% / 58% 45% 55% 42%;background:linear-gradient(135deg,rgba(31,174,188,.14),rgba(78,155,218,.2));transform:rotate(14deg)}
.seccion-oscura .tarjetas-funciones>.tarjeta>*{position:relative;z-index:1}
.seccion-oscura .tarjetas-funciones>.tarjeta:hover{transform:translateY(-5px) rotateX(1deg);border-color:rgba(158,211,242,.85);background:linear-gradient(145deg,var(--azul-800),var(--azul-700) 58%,#148fae);box-shadow:0 18px 36px rgba(0,0,0,.25);color:#fff}
.seccion-oscura .tarjetas-funciones>.tarjeta:hover h3,.seccion-oscura .tarjetas-funciones>.tarjeta:hover p{color:#fff}
.seccion-oscura .tarjetas-funciones>.tarjeta:hover::before{transform:scale(1.18) rotate(8deg);background:linear-gradient(135deg,rgba(126,224,239,.42),rgba(255,255,255,.08));opacity:1}
.seccion-oscura .tarjetas-funciones>.tarjeta:hover::after{transform:scale(1.2) rotate(-8deg);background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(71,200,218,.4));opacity:1}
@media(prefers-reduced-motion:reduce){.seccion-oscura .tarjetas-funciones>.tarjeta,.seccion-oscura .tarjetas-funciones>.tarjeta::before,.seccion-oscura .tarjetas-funciones>.tarjeta::after{transition:none}.seccion-oscura .tarjetas-funciones>.tarjeta:hover{transform:none}}

/* Registro de clínica: Dirección ocupa una sola columna, igual que Teléfono. */
.registro-publico .rejilla-formulario > div:has(input[name="Direccion"]){grid-column:span 1}
.curvas-crecimiento-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.curvas-crecimiento-grid>div{border:1px solid var(--borde);border-radius:12px;padding:14px;background:#fbfdff}.curvas-crecimiento-grid h3{font-size:1rem;margin:0 0 8px;color:var(--azul-900)}.curvas-crecimiento-grid canvas{display:block;width:100%;height:280px}.curva-crecimiento .tabla-datos th{text-align:center;font-weight:700}.curva-crecimiento .tabla-datos td{text-align:center}@media(max-width:700px){.curvas-crecimiento-grid{grid-template-columns:1fr}}
.curva-crecimiento.curva-femenina{background:linear-gradient(135deg,#fffafd,#fff5fa)}.curva-crecimiento.curva-femenina .curvas-crecimiento-grid>div{background:#fffafd;border-color:#f0cddd}.curva-crecimiento.curva-femenina h2,.curva-crecimiento.curva-femenina h3{color:#8f496c}.curva-crecimiento.curva-masculina{background:linear-gradient(135deg,#fbfdff,#f1f8fd)}.curva-crecimiento .tabla-datos{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid var(--borde);border-radius:10px}.curva-crecimiento .tabla-datos th,.curva-crecimiento .tabla-datos td{padding:12px 16px;border-bottom:1px solid var(--borde)}.curva-crecimiento .tabla-datos th{background:var(--celeste-50);color:var(--azul-900)}.curva-crecimiento.curva-femenina .tabla-datos th{background:#fdebf3;color:#8f496c}.curva-crecimiento .tabla-datos tbody tr:last-child td{border-bottom:0}.curva-crecimiento .tabla-datos tbody tr:nth-child(even){background:rgba(220,238,249,.22)}.curva-crecimiento.curva-femenina .tabla-datos tbody tr:nth-child(even){background:rgba(249,220,233,.22)}
.curva-crecimiento .curvas-crecimiento-grid>div{background-color:#fff;background-image:linear-gradient(rgba(92,131,158,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(92,131,158,.14) 1px,transparent 1px);background-size:10% 10%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7)}.curva-crecimiento.curva-femenina .curvas-crecimiento-grid>div{background-color:#fffafd;background-image:linear-gradient(rgba(184,107,143,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(184,107,143,.14) 1px,transparent 1px)}.curva-ayuda{margin:-5px 0 4px;color:var(--texto-suave);font-size:.76rem}.curva-crecimiento canvas{filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}
.curva-unica{border:1px solid var(--borde);border-radius:12px;padding:16px;background:#fff}.curva-femenina .curva-unica{background:#fffafd;border-color:#f0cddd}.curva-lienzo{position:relative;width:100%;overflow:hidden;border:1px solid rgba(92,131,158,.28);border-radius:9px;background:rgba(255,255,255,.72)}.curva-lienzo canvas{display:block;width:100%;height:360px}.leyenda-curva{display:flex;justify-content:center;gap:28px;margin-top:10px;color:var(--texto-suave);font-size:.82rem}.leyenda-curva span{display:inline-flex;align-items:center;gap:7px}.leyenda-curva i{display:inline-block;width:25px;height:3px;border-radius:3px}.muestra-peso{background:#2378b8}.muestra-talla{background:#1a9b8a}.tooltip-crecimiento{position:absolute;z-index:4;width:180px;padding:10px 12px;border:1px solid var(--borde);border-radius:9px;background:rgba(255,255,255,.97);box-shadow:0 8px 22px rgba(20,74,120,.2);color:var(--texto);font-size:.78rem;pointer-events:none}.tooltip-crecimiento strong,.tooltip-crecimiento span{display:block}.tooltip-crecimiento strong{margin-bottom:4px;color:var(--azul-900)}.curva-femenina .tooltip-crecimiento{border-color:#e7bfd1}.curva-femenina .tooltip-crecimiento strong{color:#8f496c}
.curva-controles{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:12px}.curva-controles label{font-weight:700;color:var(--azul-900);font-size:.85rem}.curva-controles select{width:auto;min-width:150px;padding:8px 30px 8px 11px}.curva-crecimiento .curva-unica{background:#fff;border-color:var(--borde)}
.tarjeta form:has(input[name="Nombre"][placeholder]){display:grid;grid-template-columns:1.35fr 1.35fr 1.1fr auto;gap:16px;align-items:end}.tarjeta form:has(input[name="Nombre"][placeholder])>div:last-child{display:flex;align-items:end}.tabla-planes{table-layout:fixed}.tabla-planes th,.tabla-planes td{text-align:center!important;vertical-align:middle}.tabla-planes th:first-child{width:24%}.tabla-planes th:nth-child(2){width:19%}.tabla-planes th:nth-child(3){width:18%}.tabla-planes th:nth-child(4){width:17%}.tabla-planes th:last-child{width:22%}.tabla-planes input,.tabla-planes select{min-width:0;text-align:center}.acciones-plan{display:flex!important;justify-content:center;align-items:center;gap:8px;white-space:nowrap}.acciones-plan form{display:inline-flex;align-items:center}.acciones-plan button{min-width:82px}.tabla-planes .boton-peligro:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.tarjeta form:has(input[name="Nombre"][placeholder]){grid-template-columns:1fr 1fr}.tarjeta form:has(input[name="Nombre"][placeholder])>div:last-child{grid-column:1/-1}.tabla-planes{table-layout:auto}}
.solo-desarrollador nav> .grupo-menu:nth-of-type(2){display:none}.grupo-desarrollador-nuevo .submenu{display:block}.grupo-desarrollador-nuevo .submenu a{display:block}.acciones-clinica{display:flex!important;justify-content:center;align-items:center;gap:7px;flex-wrap:wrap}.acciones-clinica a{white-space:nowrap}.estado-activa,.estado-inactiva{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:700;white-space:nowrap}.estado-activa{background:#e4f7ed;color:#167044}.estado-inactiva{background:#f1f3f5;color:#68727d}.boton-exito{border-color:#79c99a;color:#167044}.boton-exito:hover{background:#e4f7ed}
.formulario-plan{display:grid;grid-template-columns:minmax(220px,1.35fr) minmax(180px,1fr) minmax(160px,.75fr) auto;gap:14px;align-items:end}.formulario-plan>div{min-width:0}.formulario-plan label{display:block;margin-bottom:6px}.formulario-plan button{height:42px;white-space:nowrap;margin-bottom:0}@media(max-width:800px){.formulario-plan{grid-template-columns:1fr 1fr}.formulario-plan>div:last-child{grid-column:1/-1;justify-self:start}}
.formulario-plan{grid-template-columns:minmax(180px,1.25fr) minmax(170px,1fr) minmax(150px,.85fr) minmax(150px,.85fr) auto}.tabla-planes th,.tabla-planes td{vertical-align:middle;text-align:center!important}
.tabla-facturacion th,.tabla-facturacion td{text-align:center!important;vertical-align:middle}.tabla-facturacion th:last-child,.tabla-facturacion td:last-child{min-width:520px}.formulario-pago-inline{display:flex;justify-content:flex-end;align-items:center;gap:8px;width:100%;min-width:0}.formulario-pago-inline .form-control{flex:1 1 260px;width:auto;min-width:220px;height:42px;font-size:.95rem;padding-left:13px}.boton-archivo{flex:0 1 280px;min-width:220px;height:42px;display:flex;align-items:center;justify-content:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boton-archivo .texto-archivo{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boton-archivo.archivo-seleccionado{border-color:#198754;color:#198754;background:#f0fff7;animation:archivo-listo .35s ease-out}.boton-archivo.archivo-seleccionado:before{content:'✓';font-weight:900;margin-right:6px}.boton-icono{flex:0 0 44px;width:44px;height:42px;padding:0;font-size:1.15rem}.historial-pagos-clinica{margin-top:18px}.paginacion-pagos{display:flex;justify-content:center;gap:6px;margin-top:16px}.paginacion-pagos a{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--borde);border-radius:8px;text-decoration:none;color:var(--azul-700)}.paginacion-pagos a.activo{background:var(--azul-700);color:#fff}@keyframes archivo-listo{from{transform:scale(.97);box-shadow:0 0 0 0 rgba(25,135,84,.35)}to{transform:scale(1);box-shadow:0 0 0 5px rgba(25,135,84,0)}}@media(max-width:900px){.tabla-facturacion th:last-child,.tabla-facturacion td:last-child{min-width:430px}.formulario-pago-inline{justify-content:flex-start}.formulario-pago-inline .form-control{min-width:160px}}
.tarifa-uso{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--blanco),var(--celeste-50));border-top:3px solid var(--azul-500)}
.tarifa-uso::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-72px;top:-70px;background:rgba(88,167,223,.15);pointer-events:none}
.tarifa-uso-cabecera{position:relative;z-index:1;margin-bottom:14px}.tarifa-uso-cabecera h2{margin:.15rem 0 .35rem}.tarifa-uso-cabecera p{margin:0;color:var(--texto-suave);font-size:.84rem;line-height:1.45}.tarifa-lista{position:relative;z-index:1;display:grid;gap:5px}.tarifa-rango{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid transparent;border-radius:10px;transition:background .18s,border-color .18s,transform .18s}.tarifa-rango:hover{background:var(--blanco);border-color:var(--borde);transform:translateX(2px)}.tarifa-rango-etiqueta{display:flex;flex-direction:column;color:var(--texto);font-weight:700;font-size:.88rem}.tarifa-rango-etiqueta small{margin-top:2px;color:var(--texto-suave);font-size:.7rem;font-weight:500}.tarifa-rango strong{min-width:72px;text-align:right;color:var(--azul-900);font-size:1rem}.tarifa-rango strong.tarifa-gratis{color:#18864b}.tema-oscuro .tarifa-rango strong{color:#b9dcff}.tema-oscuro .tarifa-rango strong.tarifa-gratis{color:#7ee2a8}
.formulario-pago-inline [data-tooltip]{position:relative}.formulario-pago-inline [data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%,4px);z-index:20;opacity:0;pointer-events:none;background:var(--azul-900);color:#fff;border:1px solid var(--azul-500);border-radius:8px;padding:8px 12px;white-space:nowrap;font-size:.82rem;font-weight:600;box-shadow:0 8px 18px rgba(16,42,67,.24);transition:opacity .16s ease,transform .16s ease}.formulario-pago-inline [data-tooltip]::before{content:"";position:absolute;left:50%;bottom:calc(100% + 3px);transform:translate(-50%,4px);z-index:21;opacity:0;border:7px solid transparent;border-top-color:var(--azul-900);transition:opacity .16s ease,transform .16s ease}.formulario-pago-inline [data-tooltip]:hover::after,.formulario-pago-inline [data-tooltip]:hover::before{opacity:1;transform:translate(-50%,0)}
.rejilla-una{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin-top:18px}.formulario-pago-inline{display:flex;align-items:center;gap:6px;min-width:390px}.formulario-pago-inline .form-control{width:145px}.boton-archivo{position:relative;overflow:hidden;white-space:nowrap}.boton-archivo input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}.formulario-pago-inline button{white-space:nowrap}
.linea-tiempo-pagos{position:relative;margin:20px 0 8px;padding-left:28px}.linea-tiempo-pagos:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--borde)}.evento-pago{position:relative;padding:0 0 22px}.punto-pago{position:absolute;left:-25px;top:5px;width:12px;height:12px;border-radius:50%;background:var(--azul-500);border:3px solid #fff;box-shadow:0 0 0 2px var(--azul-500)}.evento-pago h3{margin:0;color:var(--azul-900);font-size:1rem}.evento-pago h3 small{margin-left:14px;color:var(--azul-700)}.evento-pago p{margin:5px 0 9px;color:var(--texto-suave)}
.formulario-pago-inline .boton-archivo,.formulario-pago-inline .form-control{flex:1 1 0;width:0;min-width:0}
.busqueda-pacientes{display:flex;gap:10px;align-items:center}.busqueda-pacientes .form-control{flex:1}.aviso-listado{font-size:.82rem;margin:10px 0 14px}.tabla-pacientes td:last-child{text-align:center}
@media(max-width:700px){.tarjeta-pacientes{padding:14px}.busqueda-pacientes{align-items:stretch}.busqueda-pacientes .boton-primario{padding:.65rem .85rem}.tabla-pacientes tr{padding:6px}.tabla-pacientes td{grid-template-columns:34% 66%;font-size:.88rem;line-height:1.35}.tabla-pacientes td:first-child strong{font-size:.82rem}.tabla-pacientes td:last-child{display:flex;justify-content:flex-end;align-items:center}.tabla-pacientes td:last-child::before{margin-right:auto}.tabla-pacientes td:last-child .boton-accion{min-width:120px}.aviso-listado{margin-bottom:10px}}
.tabla-pacientes td[data-label="Edad y etapa"] small{display:block;margin-top:3px;color:var(--texto-suave)}
@media(max-width:700px){.tabla-pacientes td{grid-template-columns:42% 58%;text-align:left!important;align-items:center;line-height:1.4;padding:10px 8px}.tabla-pacientes td::before{padding-right:6px;line-height:1.2}.tabla-pacientes td[data-label="Edad y etapa"]{align-items:start}.tabla-pacientes td[data-label="Edad y etapa"] small{margin-top:4px}.tabla-pacientes td:last-child{display:flex;text-align:right!important;justify-content:flex-end;align-items:center}.tabla-pacientes td:last-child::before{margin-right:auto}.tabla-pacientes td:last-child .boton-accion{min-width:106px}.tabla-pacientes tr{margin-bottom:12px}}
.boton-icono-archivo{width:42px;height:38px;padding:0;font-size:1.05rem;position:relative}.acciones-archivo [data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);opacity:0;pointer-events:none;z-index:50;background:var(--azul-900);color:#fff;border-radius:7px;padding:6px 9px;font-size:.75rem;white-space:nowrap;transition:.15s}.acciones-archivo [data-tooltip]:hover::after{opacity:1;transform:translate(-50%,0)}
@media(max-width:700px){.archivo-expediente{display:grid!important;grid-template-columns:1fr;gap:10px;padding:12px 8px!important}.archivo-detalle{grid-template-columns:38% 62%;width:100%;gap:5px 8px}.acciones-archivo{display:flex;flex-direction:row;justify-content:flex-end;align-items:center;width:100%;padding-top:8px;border-top:1px solid var(--borde)}.acciones-archivo form{display:flex}.acciones-archivo .boton-icono-archivo{width:42px;min-width:42px}.acciones-archivo [data-tooltip]::after{bottom:calc(100% + 9px)}}
.formulario-pago-inline .boton-archivo{position:relative;top:0}
.formulario-pago-inline .boton-archivo,.formulario-pago-inline .form-control,.formulario-pago-inline .boton-icono{height:42px!important;min-height:42px;box-sizing:border-box;margin-top:0;margin-bottom:0}
.pagina-publica, .hero, .navegacion-publica{max-width:100%;overflow-x:hidden}
@media(max-width:700px){.navegacion-publica{padding-left:10px;padding-right:10px;gap:5px}.navegacion-publica .marca-publica{flex:1 1 auto;min-width:0}.navegacion-publica .marca-logo-publica{width:40px;height:40px}.navegacion-publica .marca-publica strong{font-size:.9rem}.navegacion-publica .marca-publica small{display:none}.navegacion-publica>div{flex:0 0 auto;gap:4px}.navegacion-publica>div .boton-primario,.navegacion-publica>div .boton-contorno{padding:.48rem .55rem;font-size:.68rem;min-width:0}.hero{width:100%;padding-left:18px;padding-right:18px}.hero h1{font-size:clamp(2.45rem,12vw,3.3rem);overflow-wrap:anywhere}.hero p{font-size:1rem}.hero-acciones{flex-wrap:wrap}.hero-metricas{width:100%}}
@media(max-width:370px){.navegacion-publica .marca-publica{flex:0 1 82px}.navegacion-publica .marca-publica strong{font-size:.8rem}.navegacion-publica>div .boton-primario,.navegacion-publica>div .boton-contorno{padding:.45rem .42rem;font-size:.62rem}}
.flecha-perfil{display:inline-flex;align-items:center;justify-content:center;font-size:1rem}.texto-perfil{display:inline-block}
@media(max-width:700px){.barra-superior .seccion-actual,.barra-superior .encabezado-superior>div>strong{display:none}.barra-superior{height:54px}.boton-perfil{min-width:38px;width:38px;height:38px;padding:0;justify-content:center;border-radius:9px}.boton-perfil .texto-perfil{display:none}.boton-perfil .flecha-perfil{font-size:1.25rem}.panel-perfil{top:50px;right:10px;width:min(330px,calc(100vw - 20px))}}
.modal-confirmacion{isolation:isolate}
@media(max-width:700px){#modalArchivo .modal-tarjeta{width:calc(100vw - 20px)!important;height:calc(100dvh - 20px)!important;padding:12px}#modalArchivo #visorArchivo{height:calc(100% - 80px)!important;min-height:0}#modalArchivo #descargarArchivo{align-self:flex-end}}
.modal-confirmacion{overflow:hidden}.modal-confirmacion:not([hidden]){display:flex;align-items:center;justify-content:center}.modal-confirmacion:not([hidden])>.modal-tarjeta{width:min(1100px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px);margin:0;overflow:hidden}.modal-confirmacion:not([hidden]) iframe{display:block;max-width:100%;min-width:0}
body:has(.modal-confirmacion:not([hidden])){overflow:hidden}
@media(max-width:700px){.modal-confirmacion:not([hidden])>.modal-tarjeta{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;max-height:calc(100dvh - 16px);padding:10px}.modal-confirmacion:not([hidden]) .modal-documento-cabecera,.modal-confirmacion:not([hidden]) .modal-hoja-cabecera{height:38px;margin-bottom:8px}.modal-confirmacion:not([hidden]) .modal-documento-tarjeta iframe,.modal-confirmacion:not([hidden]) .modal-hoja-tarjeta iframe{height:auto;flex:1}.modal-confirmacion:not([hidden]) .modal-documento-acciones,.modal-confirmacion:not([hidden]) .modal-hoja-acciones{padding-top:8px}.modal-confirmacion:not([hidden]) .modal-documento-acciones a,.modal-confirmacion:not([hidden]) .modal-hoja-acciones button{width:100%}}
.modal-confirmacion:not([hidden])>.modal-tarjeta:not(.modal-documento-tarjeta):not(.modal-hoja-tarjeta){height:auto!important;max-height:calc(100dvh - 32px);width:min(440px,calc(100vw - 24px))!important;padding:28px;overflow:auto}
.modal-confirmacion:not([hidden])>.modal-documento-tarjeta{display:flex!important;flex-direction:column;width:min(1000px,calc(100vw - 24px))!important;height:min(90dvh,900px)!important;padding:16px;overflow:hidden}.modal-documento-tarjeta .modal-documento-cabecera{flex:0 0 auto}.modal-documento-tarjeta #visorArchivo{display:block;flex:1 1 auto;width:100%;height:auto!important;min-height:0;border:1px solid var(--borde);border-radius:8px}.modal-documento-tarjeta .modal-documento-acciones{flex:0 0 auto}
@media(max-width:700px){.modal-confirmacion:not([hidden])>.modal-documento-tarjeta{width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)!important;padding:10px}.modal-documento-tarjeta .modal-documento-cabecera{height:38px}.modal-documento-tarjeta .modal-documento-acciones .boton-primario{width:100%}}
.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-reporte-tarjeta:not(.modal-documento-tarjeta):not(.modal-hoja-tarjeta){width:min(1100px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important;max-height:calc(100dvh - 48px);height:auto!important;padding:26px;overflow:auto}
@media(max-width:700px){.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-reporte-tarjeta:not(.modal-documento-tarjeta):not(.modal-hoja-tarjeta){width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px);padding:12px}}
.reportes-resumen .resumen{grid-template-columns:auto minmax(0,1fr);align-items:center}
.reportes-resumen .resumen .boton-reporte{grid-column:2;justify-self:start;margin-top:8px;white-space:nowrap}
.reportes-resumen .resumen>div>span,.reportes-resumen .resumen>div>small{white-space:nowrap}
.responsable-listado{min-width:160px}.responsable-listado span,.responsable-listado small{display:block}.responsable-listado small{margin-top:3px;color:var(--texto-suave)}
.tabla-pacientes th:nth-child(1),.tabla-pacientes td:nth-child(1),.tabla-pacientes th:nth-child(3),.tabla-pacientes td:nth-child(3),.tabla-pacientes th:nth-child(4),.tabla-pacientes td:nth-child(4){text-align:center;vertical-align:middle}
.logo-clinica-control{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}.logo-clinica-selector{min-width:0;flex:1}.logo-clinica-cargado{display:flex;align-items:center;gap:10px;order:2}.logo-clinica-cargado img{width:74px;height:54px;object-fit:contain;border:1px solid var(--borde);border-radius:8px;background:#fff;padding:5px}.boton-quitar-logo{width:30px;height:30px;border:1px solid #ef8b8b;border-radius:50%;background:#fff;color:#c62828;font-size:1.2rem;line-height:1;cursor:pointer}.boton-quitar-logo:hover{background:#fff0f0;color:#a51616}.selector-archivo{display:flex;align-items:center;gap:10px;min-width:0}.selector-archivo .boton-seleccionar-archivo{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logo-archivo-listo{background:#e6f7ed!important;border-color:#39a967!important;color:#187a43!important;max-width:100%}.selector-archivo span[hidden]{display:none}
.boton-guardar-logo{width:38px;height:38px;display:inline-grid;place-items:center;padding:0;border:1px solid var(--azul-500);border-radius:8px;background:var(--azul-700);color:#fff;cursor:pointer;font-size:1rem}.boton-guardar-logo:hover{background:var(--azul-800)}.boton-guardar-logo:disabled{opacity:.45;cursor:not-allowed}
.perfil-clinica{display:flex;align-items:center;gap:8px}.boton-tema{width:42px;height:42px;border:1px solid var(--azul-500);border-radius:10px;background:var(--celeste-50);color:var(--azul-700);display:inline-grid;place-items:center;font-size:1.2rem;cursor:pointer;transition:.2s}.boton-tema:hover{background:var(--celeste-100);color:var(--azul-900)}
html.tema-oscuro body.aplicacion{--celeste-50:#0d1d2d;--celeste-100:#18364f;--blanco:#142b40;--texto:#e8f2fa;--texto-suave:#b5c9d9;--borde:#31516b;--azul-950:#e8f2fa;--azul-900:#cfe5f5;--sombra:0 14px 35px rgba(0,0,0,.28);background:var(--celeste-50)}
html.tema-oscuro body.aplicacion .barra-superior,html.tema-oscuro body.aplicacion .tarjeta,html.tema-oscuro body.aplicacion .panel-perfil,html.tema-oscuro body.aplicacion .modal-tarjeta{background:#142b40;color:var(--texto)}
html.tema-oscuro body.aplicacion .form-control,html.tema-oscuro body.aplicacion .form-select{background:#10263a;color:var(--texto);border-color:var(--borde)}
html.tema-oscuro body.aplicacion .form-control::placeholder{color:#91aabd}html.tema-oscuro body.aplicacion .tabla-sigc td{border-color:#29465d}html.tema-oscuro body.aplicacion .boton-tema{background:#18364f;color:#ffe082}
html.tema-oscuro body.aplicacion .barra-lateral{background:#0b1d31;color:#dbeaf5}html.tema-oscuro body.aplicacion .barra-lateral .marca-lateral,html.tema-oscuro body.aplicacion .barra-lateral nav>a,html.tema-oscuro body.aplicacion .barra-lateral .grupo-menu>button{color:#dbeaf5}html.tema-oscuro body.aplicacion .barra-lateral nav>a:hover,html.tema-oscuro body.aplicacion .barra-lateral .grupo-menu>button:hover{background:#205070;color:#fff}html.tema-oscuro body.aplicacion .barra-lateral .submenu a{color:#c7ddec}
html.tema-oscuro body.aplicacion .evento-contenido{background:#10263a;color:var(--texto);border-color:#31516b}
html.tema-oscuro body.aplicacion .evento-contenido h3{color:#e8f2fa}
html.tema-oscuro body.aplicacion .evento-contenido p{color:#b5c9d9}
html.tema-oscuro body.aplicacion .evento-punto{background:#10263a}
html.tema-oscuro body.aplicacion .tarifa-uso{background:linear-gradient(145deg,#142b40,#10263a)}
html.tema-oscuro body.aplicacion .datos-clinicos-card p{background:#18364f;color:#dbeaf5;border-color:#31516b}
html.tema-oscuro body.aplicacion .datos-clinicos-card p strong{color:#b9ddf5}
html.tema-oscuro body.aplicacion .curva-crecimiento .curva-unica{background:#10263a;border-color:#31516b}
html.tema-oscuro body.aplicacion .curva-crecimiento .curva-lienzo{background:#0d1d2d;border-color:#41627b}
html.tema-oscuro body.aplicacion .curva-crecimiento .curva-controles label{color:#cfe5f5}
html.tema-oscuro body.aplicacion .curva-crecimiento .leyenda-curva{color:#c7ddec}
html.tema-oscuro body.aplicacion .curva-crecimiento .tabla-datos{border-color:#31516b;color:#e8f2fa}
html.tema-oscuro body.aplicacion .curva-crecimiento .tabla-datos th{background:#0d1d2d;color:#cfe5f5;border-color:#31516b}
html.tema-oscuro body.aplicacion .curva-crecimiento .tabla-datos td{border-color:#31516b}
html.tema-oscuro body.aplicacion .curva-crecimiento .tabla-datos tbody tr:nth-child(even){background:rgba(49,81,107,.42)}
html.tema-oscuro body.aplicacion .tooltip-crecimiento{background:rgba(16,38,58,.98);border-color:#41627b;color:#e8f2fa}
html.tema-oscuro body.aplicacion .tooltip-crecimiento strong{color:#b9ddf5}
html.tema-oscuro body.aplicacion .cita-mensual{background:#1d4e70;color:#e2f3ff;border-left:3px solid #63b7e8}
html.tema-oscuro body.aplicacion .cita-mensual:hover{background:#286887;color:#fff;filter:none}
html.tema-oscuro body.aplicacion .cita-mensual-atendida{background:#14532d;color:#bbf7d0;border-left-color:#4ade80}
html.tema-oscuro body.aplicacion .cita-mensual-anulada{background:#7f1d1d;color:#fecaca;border-left-color:#f87171}
.tarjeta-rol .resumen-permisos{margin-top:10px;display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.tarjeta-rol .badge.text-bg-light{background:#eef3f7!important;color:#111827!important;border:1px solid #d4e0e9}
.tarjeta-rol .badge-sin-permisos{background:#f3f4f6;color:#4b5563;border:1px dashed #aab8c5;font-weight:600}
html.tema-oscuro body.aplicacion .tarjeta-rol .badge.text-bg-light{background:#274b66!important;color:#e8f2fa!important;border-color:#41627b}
html.tema-oscuro body.aplicacion .tarjeta-rol .badge-sin-permisos{background:#1b3348;color:#b5c9d9;border-color:#52718a}
.seccion-precios .precio{overflow:hidden}
.seccion-precios .precio.destacado{background:linear-gradient(145deg,#24679f,#168cae);color:#fff;border-color:#2f9fda;box-shadow:0 18px 40px rgba(32,91,143,.3)}
.seccion-precios .precio.destacado h3,.seccion-precios .precio.destacado>strong,.seccion-precios .precio.destacado>strong small{color:#fff}
.seccion-precios .precio.destacado>p,.seccion-precios .precio.destacado ul{color:#f2fbff}
.seccion-precios .precio.destacado li:before{color:#fff}
.seccion-precios .precio.destacado .boton-contorno,.seccion-precios .precio.destacado .boton-primario{color:#fff;border-color:rgba(255,255,255,.85);background:rgba(255,255,255,.08)}
.seccion-precios .precio.destacado .boton-contorno:hover,.seccion-precios .precio.destacado .boton-primario:hover{background:rgba(255,255,255,.2);color:#fff}
.seccion-precios .precio.destacado .etiqueta-plan.recomendado{background:#fff;color:#24679f}
.seccion-precios .precio.destacado .etiqueta-plan{background:#fff!important;color:#0b4f84!important}
.seccion-precios .precio.destacado .etiqueta-plan{opacity:1!important;font-weight:900!important;text-shadow:none!important}
.seccion-precios .precio.destacado .etiqueta-plan.recomendado{top:10px}
.seccion-precios .precio.destacado h3{margin-top:28px}
@media(max-width:700px){.logo-clinica-control{align-items:flex-start;flex-wrap:wrap}.logo-clinica-selector{flex:1 1 100%}.logo-clinica-cargado{margin-left:auto}}
.tabla-pacientes{table-layout:fixed}
@media(max-width:700px){.tabla-responsiva .tabla-pacientes,.tabla-responsiva .tabla-pacientes thead,.tabla-responsiva .tabla-pacientes tbody{display:table;width:100%;table-layout:fixed}.tabla-responsiva .tabla-pacientes thead{display:table-header-group}.tabla-responsiva .tabla-pacientes tbody{display:table-row-group}.tabla-responsiva .tabla-pacientes tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.tabla-responsiva .tabla-pacientes th,.tabla-responsiva .tabla-pacientes td{display:table-cell!important;width:auto!important;min-width:0!important;padding:8px 3px;border-bottom:1px solid var(--borde);font-size:.64rem;line-height:1.2;text-align:center!important;vertical-align:middle;white-space:normal;overflow-wrap:anywhere}.tabla-responsiva .tabla-pacientes th{font-size:.58rem;letter-spacing:.02em}.tabla-responsiva .tabla-pacientes td::before{content:none!important}.tabla-responsiva .tabla-pacientes th:nth-child(1),.tabla-responsiva .tabla-pacientes td:nth-child(1){width:18%!important}.tabla-responsiva .tabla-pacientes th:nth-child(2),.tabla-responsiva .tabla-pacientes td:nth-child(2){width:25%!important}.tabla-responsiva .tabla-pacientes th:nth-child(3),.tabla-responsiva .tabla-pacientes td:nth-child(3){width:23%!important}.tabla-responsiva .tabla-pacientes th:nth-child(4),.tabla-responsiva .tabla-pacientes td:nth-child(4){width:12%!important}.tabla-responsiva .tabla-pacientes th:nth-child(5),.tabla-responsiva .tabla-pacientes td:nth-child(5){width:12%!important}.tabla-responsiva .tabla-pacientes th:nth-child(6),.tabla-responsiva .tabla-pacientes td:nth-child(6){width:10%!important}.tabla-responsiva .tabla-pacientes td:last-child{display:table-cell!important}.tabla-responsiva .tabla-pacientes td:last-child .boton-accion{min-width:0;width:100%;padding:5px 2px;font-size:.62rem}.tabla-responsiva .tabla-pacientes td small{font-size:.58rem}}
.tabla-responsiva .tabla-pacientes td{hyphens:none;word-break:normal;overflow-wrap:normal}
@media(max-width:700px){.tabla-responsiva .tabla-pacientes th{font-size:clamp(.5rem,1.8vw,.62rem);white-space:nowrap;letter-spacing:0}.tabla-responsiva .tabla-pacientes td{font-size:clamp(.58rem,2.1vw,.7rem);line-height:1.25;padding-left:2px;padding-right:2px}.tabla-responsiva .tabla-pacientes td small{font-size:clamp(.52rem,1.8vw,.62rem)}.tabla-responsiva .tabla-pacientes td:first-child{font-weight:700}}
@media(max-width:700px){.tabla-facturacion td[data-label="Pago"]{display:block!important;padding:10px 6px}.tabla-facturacion td[data-label="Pago"]::before{display:block;margin-bottom:8px}.tabla-facturacion .formulario-pago-inline{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 42px;gap:5px;width:100%!important;min-width:0!important;max-width:100%;align-items:center}.tabla-facturacion .formulario-pago-inline .boton-archivo,.tabla-facturacion .formulario-pago-inline .form-control{width:100%!important;min-width:0!important;max-width:100%;height:40px!important;font-size:.68rem;padding-left:7px;padding-right:7px}.tabla-facturacion .formulario-pago-inline .boton-icono{width:42px!important;min-width:42px;height:40px!important;padding:0}.tabla-facturacion .boton-archivo .texto-archivo{max-width:100%;font-size:.68rem}}
@media(max-width:380px){.tabla-facturacion .formulario-pago-inline{grid-template-columns:minmax(0,1fr) 42px}.tabla-facturacion .formulario-pago-inline .boton-archivo{grid-column:1/-1;grid-row:1}.tabla-facturacion .formulario-pago-inline .form-control{grid-column:1;grid-row:2}.tabla-facturacion .formulario-pago-inline .boton-icono{grid-column:2;grid-row:2}}
.navegacion-agenda{min-width:0}.navegacion-agenda h2{margin:0;text-align:center;line-height:1.2}
@media(max-width:700px){.contenido-principal>div.d-flex.justify-content-between{gap:6px}.contenido-principal>div.d-flex.justify-content-between h2{font-size:1.05rem;flex:1;min-width:0;overflow-wrap:anywhere}.contenido-principal>div.d-flex.justify-content-between>a{flex:0 0 auto;padding:.55rem .65rem;font-size:.75rem}.calendario-mensual{padding:10px;overflow:hidden}.calendario-mensual>div[style*="repeat(7"]{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;width:100%!important}.calendario-mensual>div[style*="repeat(7"]>div{min-width:0!important;min-height:100px!important;padding:5px!important;overflow:hidden}.calendario-mensual .cita-mensual{font-size:.62rem;line-height:1.2;overflow:hidden;max-height:58px;overflow-wrap:anywhere}.filtros-agenda-encabezado h2{font-size:1rem}.filtros-agenda-encabezado p{font-size:.8rem}.acciones-filtros .boton-primario,.acciones-filtros .boton-contorno{flex:1}}
@media(max-width:700px){section.tarjeta:has(> div[style*="repeat(7"]){padding:10px;overflow:hidden}section.tarjeta:has(> div[style*="repeat(7"])>div[style*="repeat(7"]{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:4px!important;width:100%!important}section.tarjeta:has(> div[style*="repeat(7"])>div[style*="repeat(7"]>div{min-width:0!important;min-height:100px!important;padding:5px!important;overflow:hidden}section.tarjeta:has(> div[style*="repeat(7"]) .cita-mensual{font-size:.62rem;line-height:1.2;max-height:58px;overflow:hidden;overflow-wrap:anywhere}}
.rejilla-roles{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;width:100%}.tarjeta-rol{display:flex;flex-direction:column;justify-content:center;min-height:96px;padding:14px 20px}.contenido-rol{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%}.contenido-rol>div{min-width:0}.contenido-rol h2{margin-bottom:4px}.contenido-rol p{margin-bottom:0;overflow-wrap:anywhere}.boton-modificar-rol{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto;width:auto;min-width:112px;height:44px;padding:0 18px;line-height:1;text-align:center;white-space:nowrap}
@media(max-width:700px){.rejilla-roles{grid-template-columns:1fr;gap:12px}.tarjeta-rol{min-height:90px;padding:14px 16px}.contenido-rol{gap:12px}.boton-modificar-rol{min-width:100px;height:42px;padding-inline:14px}}
.formulario-archivos{grid-template-columns:minmax(220px,1fr) minmax(300px,1fr) minmax(220px,1fr) auto;align-items:end}.formulario-archivos .acciones-subir-archivo{display:flex;align-items:flex-end;margin:0}.formulario-archivos .acciones-subir-archivo .boton-primario{min-height:46px;white-space:nowrap}.formulario-archivos+.archivo-expediente{margin-top:4px}
@media(max-width:1000px){.formulario-archivos{grid-template-columns:repeat(2,minmax(0,1fr))}.formulario-archivos .acciones-subir-archivo{justify-content:flex-end}}
@media(max-width:700px){.formulario-archivos{grid-template-columns:1fr}.formulario-archivos .acciones-subir-archivo,.formulario-archivos .acciones-subir-archivo .boton-primario{width:100%}}
.archivos-expediente-scroll{max-height:270px;overflow-y:auto;padding-right:6px}.archivos-expediente-scroll::-webkit-scrollbar{width:8px}.archivos-expediente-scroll::-webkit-scrollbar-thumb{background:var(--azul-300,#9cc8e5);border-radius:8px}
@media(max-width:700px){.archivos-expediente-scroll{max-height:420px;padding-right:2px}}
.archivos-expediente-scroll{height:230px;max-height:230px;overflow-y:scroll;overflow-x:hidden;scrollbar-width:auto;scrollbar-color:auto;scrollbar-gutter:stable}.archivos-expediente-scroll::-webkit-scrollbar{width:12px;height:0}.archivos-expediente-scroll::-webkit-scrollbar-thumb{background:#aeb8c2;border-radius:6px}.archivos-expediente-scroll::-webkit-scrollbar-track{background:#eef1f4}.archivo-expediente{min-width:0}.archivo-expediente .archivo-detalle{min-width:0;flex:1 1 auto;max-width:100%}.archivo-expediente .archivo-detalle span{min-width:0;overflow-wrap:anywhere;word-break:break-word}.archivo-expediente .acciones-archivo{flex:0 0 auto}
@media(max-width:700px){.archivos-expediente-scroll{height:420px;max-height:420px}}
.tarjeta-consultas .contenedor-consultas{height:520px;max-height:520px;overflow-y:scroll;overflow-x:hidden;scrollbar-width:auto;scrollbar-color:auto;scrollbar-gutter:stable}.tarjeta-consultas .contenedor-consultas::-webkit-scrollbar{width:12px;height:0}.tarjeta-consultas .contenedor-consultas::-webkit-scrollbar-thumb{background:#aeb8c2;border-radius:6px}.tarjeta-consultas .contenedor-consultas::-webkit-scrollbar-track{background:#eef1f4}
.historial-hoja-lista{display:grid;gap:16px}.historial-hoja-item{border:1px solid var(--borde);border-radius:14px;padding:16px;background:var(--fondo-panel,#fff)}.historial-hoja-item>header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:10px;border-bottom:1px solid var(--borde);color:var(--texto-secundario)}.historial-hoja-item>header strong{color:var(--azul-700)}.historial-hoja-item>p{margin:12px 0;color:var(--texto-secundario)}.historial-comparacion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.historial-comparacion h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--azul-700);margin:0 0 6px}.historial-comparacion pre{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--fondo-suave,#f5f8fb);border:1px solid var(--borde);border-radius:9px;padding:12px;font: .78rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--texto)}
html.tema-oscuro body.aplicacion .historial-hoja-item{background:#142b40}html.tema-oscuro body.aplicacion .historial-comparacion pre{background:#0d2032;color:#e8f2fa;border-color:#315673}
@media(max-width:700px){.historial-hoja-item>header{align-items:flex-start;flex-direction:column;gap:5px}.historial-comparacion{grid-template-columns:1fr}.historial-comparacion pre{max-height:240px}}
@media(max-width:700px){.tarjeta-consultas .contenedor-consultas{height:600px;max-height:600px}}
.barra-lateral .menu-principal-original{display:none}.barra-lateral .menu-principal-nuevo{display:block}.barra-lateral .menu-separador{height:1px;margin:12px 14px;border-top:1px solid rgba(199,221,236,.28)}
.pago-no-disponible{display:inline-block;color:var(--texto-suave);font-size:.82rem;line-height:1.35;text-align:center}.pago-no-disponible strong{color:var(--azul-800);font-size:.9rem}
.solo-desarrollador nav>a:not(:first-child){display:none!important}.desarrollador-con-clinica nav>a:nth-of-type(6){display:flex!important}.desarrollador-con-clinica nav>a:nth-of-type(7){display:none!important}
.resumen-cobros{display:grid;grid-template-columns:repeat(2,minmax(0,280px));gap:14px;margin-bottom:16px}.resumen-cobro{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px}.resumen-cobro span{color:var(--texto-suave);font-weight:700}.resumen-cobro strong{color:var(--azul-900);font-size:1.45rem}.filtros-cobros{margin-bottom:16px}.formulario-filtros-cobros{display:grid;grid-template-columns:minmax(300px,1.6fr) minmax(170px,.7fr) minmax(145px,.55fr) minmax(145px,.55fr) auto;gap:12px;align-items:end}.acciones-filtros-cobros{display:flex;gap:7px}.acciones-filtros-cobros .boton-primario,.acciones-filtros-cobros .boton-contorno{min-height:46px;display:inline-flex;align-items:center;justify-content:center}.cabecera-listado-cobros{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.cabecera-listado-cobros h2{margin:0}.cabecera-listado-cobros span{color:var(--texto-suave);font-size:.82rem}.tabla-cobros-pacientes td{text-align:center;vertical-align:middle}.tabla-cobros-pacientes td:nth-child(2) small{display:block;color:var(--texto-suave);margin-top:3px}.estado-cobro{display:inline-flex;flex-direction:column;align-items:center;border-radius:999px;padding:6px 11px;font-size:.78rem;font-weight:800;line-height:1.2}.estado-cobro.pagado{background:#e7f7ef;color:#18794e}.estado-cobro.pendiente{background:#fff4df;color:#966000}.estado-cobro small{font-weight:600}.acciones-cobro{text-align:center!important}.acciones-cobro .boton-primario,.acciones-cobro .boton-contorno{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.resumen-cita-cobro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:16px;padding:0;overflow:hidden}.resumen-cita-cobro>div{display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:100px;padding:17px 20px;border-right:1px solid var(--borde)}.resumen-cita-cobro>div:last-child{border-right:0}.resumen-cita-cobro span,.resumen-cita-cobro small{color:var(--texto-suave);font-size:.78rem}.resumen-cita-cobro strong{color:var(--azul-900)}.formulario-cobro-paciente{width:100%;max-width:none}.rejilla-formulario-cobro{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}.campo-observaciones-cobro{grid-column:1/-1}.campo-observaciones-cobro textarea{min-height:72px}.selector-comprobante-cobro{min-width:0}.selector-comprobante-cobro .boton-seleccionar-archivo{flex:0 0 auto}.selector-comprobante-cobro span{min-width:0}
.acciones-cobro{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.acciones-cobro .boton-anular-cobro{color:#b42318!important;border-color:#f0a2a2!important;background:#fff4f4!important}.acciones-cobro .boton-anular-cobro:hover,.acciones-cobro .boton-anular-cobro:focus-visible{color:#fff!important;border-color:#c93636!important;background:#c93636!important}.boton-peligro-solido{background:var(--error);border-color:var(--error);color:#fff}.boton-peligro-solido:hover{background:#b42318;border-color:#b42318}.modal-anular-cobro{width:min(520px,calc(100vw - 24px))!important;text-align:left!important}.modal-anular-cobro>h3,.modal-anular-cobro>p{text-align:center}.modal-anular-cobro form{width:100%}.modal-anular-cobro textarea{resize:vertical;min-height:86px}.modal-anular-cobro .acciones-formulario{justify-content:center}
@media(max-width:1100px){.formulario-filtros-cobros{grid-template-columns:repeat(2,minmax(0,1fr))}.campo-busqueda-cobros{grid-column:1/-1}.acciones-filtros-cobros{justify-content:flex-end}.resumen-cita-cobro,.rejilla-formulario-cobro{grid-template-columns:repeat(2,minmax(0,1fr))}.resumen-cita-cobro>div:nth-child(2){border-right:0}.resumen-cita-cobro>div:nth-child(-n+2){border-bottom:1px solid var(--borde)}}
@media(max-width:700px){.resumen-cobros{grid-template-columns:1fr}.formulario-filtros-cobros{grid-template-columns:1fr}.campo-busqueda-cobros{grid-column:auto}.acciones-filtros-cobros,.acciones-filtros-cobros .boton-primario,.acciones-filtros-cobros .boton-contorno{width:100%}.cabecera-listado-cobros{align-items:flex-start;flex-direction:column}.tabla-cobros-contenedor{padding:14px}.tabla-cobros-pacientes .acciones-cobro{display:flex!important;justify-content:flex-end;align-items:center}.tabla-cobros-pacientes .acciones-cobro::before{margin-right:auto}.resumen-cita-cobro,.rejilla-formulario-cobro{grid-template-columns:1fr}.resumen-cita-cobro>div{min-height:78px;border-right:0;border-bottom:1px solid var(--borde)}.resumen-cita-cobro>div:last-child{border-bottom:0}.selector-comprobante-cobro{display:grid;grid-template-columns:1fr}.selector-comprobante-cobro .boton-seleccionar-archivo{width:100%}.selector-comprobante-cobro span{text-align:center}.campo-observaciones-cobro{grid-column:auto}}
.cargador-sicom{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:rgba(244,249,253,.86);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:1;transition:opacity .16s ease}.cargador-sicom[hidden]{display:none}.cargador-sicom-contenido{display:grid;place-items:center}.cargador-sicom-texto{font-size:clamp(2rem,5vw,3rem);font-weight:900;line-height:1;letter-spacing:.2em;color:transparent;background:linear-gradient(90deg,#163d68 5%,#2485c5 35%,#49c8da 50%,#2485c5 65%,#163d68 95%);background-size:220% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;animation:cargador-sicom-brillo 1.45s linear infinite,cargador-sicom-pulso 1.1s ease-in-out infinite}@keyframes cargador-sicom-brillo{to{background-position:-120% 0}}@keyframes cargador-sicom-pulso{0%,100%{opacity:.5;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}@media(max-width:700px){.cargador-sicom-texto{font-size:2.15rem}}@media(prefers-reduced-motion:reduce){.cargador-sicom-texto{animation:none;color:var(--azul-700);background:none}}
.precio-hoja-medica{display:grid;grid-template-columns:minmax(220px,420px);gap:8px}.precio-hoja-medica small{display:block;margin-top:6px;color:var(--texto-suave)}.tabla-cobros-pacientes td:first-child small{display:block;margin-top:3px;color:var(--texto-suave);font-weight:600}.tabla-cobros-pacientes td:nth-child(4){max-width:320px;overflow-wrap:anywhere}@media(max-width:700px){.precio-hoja-medica{grid-template-columns:1fr}.tabla-cobros-pacientes td:nth-child(4){max-width:none}}
/* Páginas de error */
.pagina-error{min-height:70vh;display:grid;place-items:center;padding:32px}.tarjeta-error{width:min(560px,100%);padding:40px 32px;text-align:center;background:var(--fondo-panel,#fff);border:1px solid var(--borde);border-radius:18px;box-shadow:var(--sombra)}.icono-error{width:52px;height:52px;margin:0 auto 16px;border-radius:50%;display:grid;place-items:center;background:var(--celeste-100);color:var(--azul-700);font-size:1.6rem;font-weight:800}.tarjeta-error h1{margin-bottom:10px}.tarjeta-error p{color:var(--texto-suave);margin-bottom:24px}
.aviso-modificacion-finalizada{border-color:#e8b04a;background:#fffaf0}.aviso-modificacion-finalizada small{display:block;margin-top:8px;color:var(--texto-suave)}
.filtros-auditoria-form{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:16px;align-items:end}.filtro-accion{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.filtro-accion label{grid-column:1/-1}.filtro-accion .boton-primario{white-space:nowrap;min-height:46px}@media(max-width:700px){.filtros-auditoria-form{grid-template-columns:1fr}.filtro-accion{grid-template-columns:1fr}.filtro-accion .boton-primario{width:100%}}
.receta-fila{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr 1.6fr 42px;gap:8px;margin-bottom:9px;align-items:center}.receta-eliminar{height:42px;padding:0;font-size:1.2rem;color:#b42318;border-color:#e7a1a1}@media(max-width:900px){.receta-fila{grid-template-columns:1fr 1fr}.receta-indicaciones{grid-column:1/-1}.receta-eliminar{width:42px}}
.busqueda-linea{display:grid;grid-template-columns:1fr auto;gap:10px}.formulario-laboratorio{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:center}.formulario-laboratorio input[type=file]{max-width:260px}@media(max-width:760px){.busqueda-linea,.formulario-laboratorio{grid-template-columns:1fr}.formulario-laboratorio input[type=file],.formulario-laboratorio button{width:100%;max-width:none}}
.resumen-recetas{margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--celeste-50);font-size:.82rem;color:var(--texto-suave)}
.orden-laboratorio-fila{display:grid;grid-template-columns:1.2fr 1.5fr auto;gap:10px;align-items:center;margin-bottom:10px}.orden-laboratorio-fila .boton-contorno{min-width:42px;padding:.65rem}.orden-laboratorio-fila input{min-width:0}
@@media(max-width:700px){.orden-laboratorio-fila{grid-template-columns:1fr}.orden-laboratorio-fila .boton-contorno{justify-self:start}}
.solicitudes-laboratorio{min-width:220px;font-size:.82rem}.solicitudes-laboratorio ul{margin:6px 0 0;padding-left:18px}.solicitudes-laboratorio li{margin-bottom:6px}.solicitudes-laboratorio small{display:block;color:var(--texto-suave)}.estado-orden{display:inline-flex;margin-left:7px;padding:2px 7px;border-radius:999px;font-size:.68rem;font-style:normal;font-weight:800;background:var(--celeste-100);color:var(--azul-800)}.estado-recibido{background:#fff4d6;color:#8a5a00}.estado-revisado{background:#dcfce7;color:#166534}.formulario-laboratorio{display:grid;grid-template-columns:190px auto minmax(150px,1fr) minmax(150px,1fr) auto;gap:8px;align-items:center}.formulario-laboratorio input[type=file]{display:none}.formulario-laboratorio .boton-seleccionar-archivo{margin:0}.tabla-laboratorio-encabezado{display:grid;grid-template-columns:150px 190px minmax(220px,1fr) minmax(600px,2.5fr);gap:14px;padding:0 0 10px;border-bottom:1px solid var(--borde);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--texto-suave);font-weight:800}.fila-laboratorio{display:grid;grid-template-columns:150px 190px minmax(220px,1fr) minmax(600px,2.5fr);gap:14px;align-items:start;padding:14px 0;border-bottom:1px solid var(--borde)}
@@media(max-width:1100px){.tabla-laboratorio-encabezado{display:none}.fila-laboratorio{grid-template-columns:1fr}.formulario-laboratorio{grid-template-columns:1fr 1fr}.solicitudes-laboratorio{min-width:0}.formulario-laboratorio .form-select{grid-column:1/-1}}
.resultados-laboratorio{padding:20px}.tabla-laboratorio-encabezado,.fila-laboratorio{display:grid;grid-template-columns:180px 260px minmax(0,1fr);gap:18px;align-items:center}.tabla-laboratorio-encabezado{padding:0 0 12px;color:var(--azul-700);font-size:.78rem;font-weight:800;text-transform:uppercase;border-bottom:1px solid var(--borde)}.fila-laboratorio{padding:16px 0;border-bottom:1px solid var(--borde)}.fila-laboratorio:last-child{border-bottom:0}.dato-paciente{font-weight:600}.formulario-laboratorio{display:grid;grid-template-columns:180px minmax(120px,1fr) minmax(180px,1fr) auto;gap:8px;align-items:center;min-width:0}.boton-seleccionar-archivo{height:46px;border:1px solid var(--azul-500);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;color:var(--azul-700);font-weight:700;cursor:pointer;overflow:hidden}.boton-seleccionar-archivo input{position:absolute;width:1px;height:1px;opacity:0}.nombre-archivo-laboratorio{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--texto-suave);font-size:.82rem}.formulario-laboratorio .boton-primario{white-space:nowrap;min-height:46px}@media(max-width:1100px){.tabla-laboratorio-encabezado{display:none}.fila-laboratorio{grid-template-columns:1fr}.formulario-laboratorio{grid-template-columns:1fr 1fr}.formulario-laboratorio .nombre-archivo-laboratorio{grid-column:2}.formulario-laboratorio .boton-primario{grid-column:1/-1;width:100%}}@media(max-width:600px){.formulario-laboratorio{grid-template-columns:1fr}.formulario-laboratorio .nombre-archivo-laboratorio{grid-column:auto}.formulario-laboratorio .boton-seleccionar-archivo{width:100%}}
.alerta-laboratorio{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px 18px;border:1px solid #e6b64a;border-left:4px solid #d88a00;border-radius:10px;background:#fff8e8;color:#765000}.alerta-laboratorio span{color:var(--texto-suave)}
.archivo-pendiente-revision{border-left:4px solid #d88a00;padding-left:10px}.etiqueta-pendiente-lab{display:inline-flex;align-items:center;margin-left:8px;padding:3px 8px;border-radius:999px;background:#fff0d1;color:#9a5b00;font-size:.72rem;font-style:normal;font-weight:800}

/* Carga de resultados: cada paciente conserva su propio bloque y los
   controles dejan de competir por espacio en una sola línea. */
.resultados-laboratorio{padding:22px 24px}.resultados-laboratorio .tabla-laboratorio-encabezado,.resultados-laboratorio .fila-laboratorio{grid-template-columns:170px minmax(190px,230px) minmax(250px,1fr) minmax(360px,1.35fr);gap:20px}.resultados-laboratorio .fila-laboratorio{align-items:start}.dato-expediente,.dato-paciente{padding-top:8px}.dato-paciente strong{display:block;overflow-wrap:anywhere}.lista-solicitudes{display:grid;gap:8px}.solicitud-laboratorio-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--borde);border-radius:10px;background:var(--fondo-suave)}.solicitud-laboratorio-item strong{display:block;overflow-wrap:anywhere}.solicitud-laboratorio-item small{display:block;margin-top:3px;color:var(--texto-suave);overflow-wrap:anywhere}.solicitud-laboratorio-item .estado-orden{margin:0;flex:0 0 auto}.carga-laboratorio{min-width:0;padding:12px;border:1px solid var(--borde);border-radius:12px;background:var(--fondo-suave)}.formulario-laboratorio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;align-items:end}.formulario-laboratorio .etiqueta-campo,.formulario-laboratorio>select,.formulario-laboratorio>.texto-suave,.formulario-laboratorio>.carga-archivo-laboratorio,.formulario-laboratorio>input[name=descripcion]{grid-column:1/-1}.formulario-laboratorio .etiqueta-campo{margin:0;color:var(--azul-800);font-size:.75rem;font-weight:800}.formulario-laboratorio>select{width:100%}.carga-archivo-laboratorio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center}.carga-archivo-laboratorio .boton-seleccionar-archivo{width:100%;margin:0}.formulario-laboratorio>.boton-primario{justify-self:end;min-height:44px}.nombre-archivo-laboratorio.archivo-seleccionado{color:var(--exito,#18794e);font-weight:700}.estado-solicitado{background:#e8f1ff;color:#1d5b98}.estado-recibido{background:#fff4d6;color:#8a5a00}.estado-revisado{background:#dcfce7;color:#166534}
@media(max-width:1100px){.resultados-laboratorio .tabla-laboratorio-encabezado{display:none}.resultados-laboratorio .fila-laboratorio{grid-template-columns:1fr 1.4fr;gap:14px}.resultados-laboratorio .solicitudes-laboratorio{grid-column:1/-1}.resultados-laboratorio .carga-laboratorio{grid-column:1/-1}}
@media(max-width:650px){.resultados-laboratorio{padding:14px}.resultados-laboratorio .fila-laboratorio{grid-template-columns:1fr;gap:10px}.resultados-laboratorio .dato-expediente,.resultados-laboratorio .dato-paciente{padding-top:0}.resultados-laboratorio .dato-expediente::before,.resultados-laboratorio .dato-paciente::before{display:block;margin-bottom:3px;color:var(--texto-suave);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.resultados-laboratorio .dato-expediente::before{content:"Expediente"}.resultados-laboratorio .dato-paciente::before{content:"Paciente"}.carga-laboratorio{padding:10px}.formulario-laboratorio,.carga-archivo-laboratorio{grid-template-columns:1fr}.formulario-laboratorio .etiqueta-campo,.formulario-laboratorio>select,.formulario-laboratorio>.texto-suave,.formulario-laboratorio>.carga-archivo-laboratorio,.formulario-laboratorio>input[name=descripcion]{grid-column:auto}.formulario-laboratorio>.boton-primario{width:100%;justify-self:stretch}.solicitud-laboratorio-item{flex-direction:column;gap:6px}.solicitud-laboratorio-item .estado-orden{align-self:flex-start}}

/* Expediente: las solicitudes se leen en columnas y nunca hacen crecer
   indefinidamente la página; tres filas quedan visibles por defecto. */
.solicitudes-paciente{padding:20px 24px}.solicitudes-paciente-titulo{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}.solicitudes-paciente-titulo h2{margin:0}.solicitudes-paciente-titulo small{color:var(--texto-suave);font-size:.78rem}.solicitudes-paciente-scroll{max-height:218px;overflow-y:auto;border:1px solid var(--borde);border-radius:10px}.solicitudes-paciente-scroll .tabla-datos{width:100%;margin:0;table-layout:fixed}.solicitudes-paciente-scroll th,.solicitudes-paciente-scroll td{padding:11px 14px;vertical-align:middle}.solicitudes-paciente-scroll th{text-align:left;white-space:nowrap}.solicitudes-paciente-scroll th:nth-child(1){width:28%}.solicitudes-paciente-scroll th:nth-child(2){width:34%}.solicitudes-paciente-scroll th:nth-child(3){width:16%;text-align:center}.solicitudes-paciente-scroll th:nth-child(4){width:22%;text-align:center}.solicitudes-paciente-scroll td:nth-child(3),.solicitudes-paciente-scroll td:nth-child(4){text-align:center}.solicitudes-paciente-scroll td{overflow-wrap:anywhere}.solicitudes-paciente-scroll .estado-orden{margin:0}.solicitudes-paciente-scroll::-webkit-scrollbar{width:8px}.solicitudes-paciente-scroll::-webkit-scrollbar-thumb{background:var(--azul-300,#9cc8e5);border-radius:8px}
@media(max-width:700px){.solicitudes-paciente{padding:16px}.solicitudes-paciente-titulo{align-items:flex-start;flex-direction:column;gap:5px}.solicitudes-paciente-scroll{max-height:270px}.solicitudes-paciente-scroll .tabla-datos,.solicitudes-paciente-scroll .tabla-datos thead,.solicitudes-paciente-scroll .tabla-datos tbody,.solicitudes-paciente-scroll .tabla-datos tr,.solicitudes-paciente-scroll .tabla-datos td{display:block;width:100%;min-width:0}.solicitudes-paciente-scroll .tabla-datos thead{display:none}.solicitudes-paciente-scroll .tabla-datos tr{padding:8px 12px;border-bottom:1px solid var(--borde)}.solicitudes-paciente-scroll .tabla-datos tr:last-child{border-bottom:0}.solicitudes-paciente-scroll .tabla-datos td{display:grid;grid-template-columns:42% 58%;gap:8px;padding:7px 0;text-align:left!important;border-bottom:1px solid var(--borde)}.solicitudes-paciente-scroll .tabla-datos td:last-child{border-bottom:0}.solicitudes-paciente-scroll .tabla-datos td::before{content:attr(data-label);font-size:.7rem;font-weight:800;color:var(--azul-800);text-transform:uppercase}.solicitudes-paciente-scroll .tabla-datos td:nth-child(3) .estado-orden{justify-self:start}}

/* Compacta la identificación y reserva más espacio para cargar resultados. */
.resultados-laboratorio .tabla-laboratorio-encabezado,.resultados-laboratorio .fila-laboratorio{grid-template-columns:140px minmax(160px,205px) minmax(300px,.95fr) minmax(500px,1.65fr);gap:16px}
.resultados-laboratorio .lista-solicitudes{max-height:214px;overflow-y:auto;padding-right:4px}
.resultados-laboratorio .lista-solicitudes::-webkit-scrollbar{width:7px}.resultados-laboratorio .lista-solicitudes::-webkit-scrollbar-thumb{background:var(--azul-300,#9cc8e5);border-radius:8px}
@media(max-width:1100px){.resultados-laboratorio .tabla-laboratorio-encabezado,.resultados-laboratorio .fila-laboratorio{grid-template-columns:1fr 1.4fr;gap:14px}.resultados-laboratorio .solicitudes-laboratorio,.resultados-laboratorio .carga-laboratorio{grid-column:1/-1}}
@media(max-width:650px){.resultados-laboratorio .tabla-laboratorio-encabezado,.resultados-laboratorio .fila-laboratorio{grid-template-columns:1fr;gap:10px}.resultados-laboratorio .solicitudes-laboratorio,.resultados-laboratorio .carga-laboratorio{grid-column:auto}}
.resultados-laboratorio .tabla-laboratorio-encabezado{text-align:center}.resultados-laboratorio .tabla-laboratorio-encabezado span{display:block;text-align:center}.boton-subir-laboratorio{width:46px;min-width:46px;height:46px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.35rem;line-height:1}.boton-subir-laboratorio span{transform:translateY(-1px)}
.resultados-laboratorio .formulario-laboratorio>input[name=descripcion]{grid-column:1}.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{grid-column:2;justify-self:start}
@media(max-width:650px){.resultados-laboratorio .formulario-laboratorio>input[name=descripcion],.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{grid-column:auto}.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{justify-self:end;width:46px}}
.resultados-laboratorio .formulario-laboratorio{grid-template-columns:minmax(150px,1.15fr) minmax(180px,1.8fr) 46px}.resultados-laboratorio .formulario-laboratorio>.carga-archivo-laboratorio{grid-column:1;display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px}.resultados-laboratorio .boton-archivo-laboratorio{width:46px;min-width:46px;padding:0;font-size:1.15rem}.resultados-laboratorio .formulario-laboratorio>input[name=descripcion]{grid-column:2}.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{grid-column:3;justify-self:stretch}
@media(max-width:650px){.resultados-laboratorio .formulario-laboratorio{grid-template-columns:1fr}.resultados-laboratorio .formulario-laboratorio>.carga-archivo-laboratorio,.resultados-laboratorio .formulario-laboratorio>input[name=descripcion],.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{grid-column:auto}.resultados-laboratorio .formulario-laboratorio>.carga-archivo-laboratorio{grid-template-columns:46px minmax(0,1fr)}.resultados-laboratorio .formulario-laboratorio>.boton-subir-laboratorio{justify-self:end}}
.lista-plantilla{display:grid;gap:8px;margin:8px 0 12px;max-width:760px}.fila-plantilla{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.fila-plantilla .form-control{min-height:40px}.fila-plantilla .boton-contorno{min-width:40px;padding:8px 12px;color:#b42318;border-color:#ef9a9a}.texto-ayuda{display:block;color:var(--texto-suave);font-size:.8rem;margin-bottom:8px}@media(max-width:700px){.fila-plantilla{grid-template-columns:1fr auto}}
.curva-crecimiento .curva-tabla-scroll{max-height:300px;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;border-radius:10px;scrollbar-width:auto;scrollbar-color:#aeb8c2 #eef1f4}
.curva-crecimiento .curva-tabla-scroll::-webkit-scrollbar{width:12px;height:0}
.curva-crecimiento .curva-tabla-scroll::-webkit-scrollbar-track{background:#eef1f4;border-radius:6px}
.curva-crecimiento .curva-tabla-scroll::-webkit-scrollbar-thumb{background:#aeb8c2;border-radius:6px}
.curva-crecimiento .curva-tabla-scroll::-webkit-scrollbar-thumb:hover{background:#929da8}
.curva-crecimiento .curva-tabla-scroll .tabla-datos{margin:0}
.curva-crecimiento .curva-tabla-scroll .tabla-datos thead th{position:sticky;top:0;z-index:2}
@media(max-width:700px){.curva-crecimiento .curva-tabla-scroll{max-height:310px}}

/* Interruptor de tema: acabado tipo switch, sin cambiar la lógica existente. */
.boton-tema{position:relative;width:76px;height:40px;padding:0;border:0;border-radius:999px;background:#eef1f5;color:#7a8794;box-shadow:inset 0 2px 5px rgba(16,42,67,.16),0 3px 8px rgba(16,42,67,.12);overflow:hidden;isolation:isolate}
.boton-tema::before,.boton-tema::after{position:absolute;top:50%;z-index:0;display:grid;place-items:center;width:32px;height:32px;transform:translateY(-50%);font-size:1.1rem;line-height:1;pointer-events:none}
.boton-tema::before{content:"☀";left:5px;color:#9aa5af}.boton-tema::after{content:"☾";right:5px;color:#52606d}
.boton-tema>span{position:absolute;top:4px;left:4px;z-index:1;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#f7a916;color:#fff;box-shadow:0 3px 7px rgba(16,42,67,.24);font-size:0;transition:left .22s ease,background .22s ease,box-shadow .22s ease}
.boton-tema>span::before{content:"☀";font-size:1.05rem;line-height:1}
.boton-tema:hover{transform:translateY(-1px);box-shadow:inset 0 2px 5px rgba(16,42,67,.16),0 5px 12px rgba(16,42,67,.18)}
.boton-tema:focus-visible{outline:3px solid rgba(90,167,217,.45);outline-offset:3px}
html.tema-oscuro body.aplicacion .boton-tema{background:#202a35;border:0;color:#d8e0e8;box-shadow:inset 0 2px 6px rgba(0,0,0,.5),0 3px 9px rgba(0,0,0,.3)}
html.tema-oscuro body.aplicacion .boton-tema::before{color:#7f8c99}html.tema-oscuro body.aplicacion .boton-tema::after{color:#dce5ec}
html.tema-oscuro body.aplicacion .boton-tema>span{left:40px;background:#4b5563;color:#fff;box-shadow:0 3px 8px rgba(0,0,0,.45)}
html.tema-oscuro body.aplicacion .boton-tema>span::before{content:"☾"}
@media(max-width:700px){.boton-tema{width:68px;height:36px}.boton-tema::before,.boton-tema::after{width:28px;height:28px;font-size:1rem}.boton-tema>span{top:4px;left:4px;width:28px;height:28px}.boton-tema>span::before{font-size:.95rem}html.tema-oscuro body.aplicacion .boton-tema>span{left:36px}}
.tarjeta-cambio-contrasena{margin-inline:auto}.tarjeta-cambio-contrasena form{margin-top:22px}.campo-contrasena-premium .campo-contrasena{position:relative}.campo-contrasena-premium .form-control{padding-right:58px}.campo-contrasena-premium .boton-mostrar-contrasena{right:10px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:var(--celeste-100);color:var(--azul-700);font-size:1rem;line-height:1}.campo-contrasena-premium .boton-mostrar-contrasena:hover{background:var(--azul-500);color:#fff}.indicador-contrasena{margin-top:12px;padding:0 2px}.indicador-contrasena-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--texto-suave);font-size:.82rem}.indicador-contrasena-cabecera strong{color:var(--texto-suave);font-size:.86rem}.barra-fortaleza{height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--celeste-100)}.barra-fortaleza i{display:block;width:0;height:100%;border-radius:inherit;background:#d0d7df;transition:width .22s ease,background .22s ease}.indicador-contrasena.fortaleza-debil .barra-fortaleza i{background:#e09a54}.indicador-contrasena.fortaleza-media .barra-fortaleza i{background:#e2bd45}.indicador-contrasena.fortaleza-fuerte .barra-fortaleza i{background:#39a967}.indicador-contrasena.fortaleza-debil .indicador-contrasena-cabecera strong{color:#b86620}.indicador-contrasena.fortaleza-media .indicador-contrasena-cabecera strong{color:#997400}.indicador-contrasena.fortaleza-fuerte .indicador-contrasena-cabecera strong{color:#21834d}.requisitos-contrasena{display:flex;flex-wrap:wrap;gap:8px 14px;margin:12px 0 0;padding:0;list-style:none;color:var(--texto-suave);font-size:.76rem}.requisitos-contrasena li{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.requisitos-contrasena li span{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#e7edf2;color:#8997a4;font-size:.7rem;font-weight:800}.requisitos-contrasena li.cumplido{color:#21834d}.requisitos-contrasena li.cumplido span{background:#39a967;color:#fff}.coincidencia-contrasena{display:block;min-height:18px;margin-top:7px;font-size:.78rem}.coincidencia-contrasena.coincide{color:#21834d}.coincidencia-contrasena.no-coincide{color:#b42318}
html.tema-oscuro body.aplicacion .campo-contrasena-premium .boton-mostrar-contrasena{background:#18364f;color:#b9ddf5}html.tema-oscuro body.aplicacion .requisitos-contrasena li span{background:#27465f;color:#aec5d6}html.tema-oscuro body.aplicacion .requisitos-contrasena li.cumplido span{background:#39a967;color:#fff}
.enlace-recuperacion{text-align:right;margin-top:-6px;font-size:.86rem}.codigo-recuperacion{text-align:center;letter-spacing:.28em;font-weight:800;font-size:1.15rem}
.selector-secciones-medicas{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.chip-seccion{position:relative;display:inline-flex;align-items:center;cursor:pointer}.chip-seccion input{position:absolute;opacity:0;pointer-events:none}.chip-seccion span{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--borde);border-radius:999px;background:var(--celeste-50);color:var(--texto);font-size:.82rem;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.chip-seccion span::after{content:'×';display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#dce8f0;color:#607487;font-weight:700}.chip-seccion input:checked+span{background:var(--azul-700);border-color:var(--azul-700);color:#fff;box-shadow:0 3px 8px rgba(27,112,178,.18)}.chip-seccion input:checked+span::after{content:'✓';background:#fff;color:var(--azul-700)}.chip-seccion input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--azul-500) 35%,transparent);outline-offset:2px}html.tema-oscuro body.aplicacion .chip-seccion span{background:#132d43;border-color:#315673;color:#d5e4ef}html.tema-oscuro body.aplicacion .chip-seccion input:checked+span{background:#247cb6;border-color:#62b5e8;color:#fff}
/* Resaltado del rango aplicado en el ciclo actual */
.tarifa-rango-activo{background:linear-gradient(90deg,rgba(88,167,223,.16),rgba(88,167,223,.04));border-color:var(--azul-500)!important;box-shadow:0 4px 12px rgba(38,117,184,.12);display:grid!important;grid-template-columns:auto 1fr auto}.tarifa-rango-activo::before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--azul-700);color:#fff;font-size:.72rem;font-weight:900}.tarifa-rango-etiqueta em{display:inline-flex;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:var(--celeste-100);color:var(--azul-800);font-size:.67rem;font-style:normal;font-weight:800}.tarifa-resumen{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border-radius:10px;background:var(--azul-950);color:#fff}.tarifa-resumen span{font-size:.8rem}.tarifa-resumen strong{font-size:1.1rem}.tema-oscuro .tarifa-rango-activo{background:linear-gradient(90deg,rgba(88,167,223,.24),rgba(88,167,223,.08))}.tema-oscuro .tarifa-resumen{background:#0b1d31}
.tarifa-select-label{display:block;margin:16px 0 6px;color:var(--azul-800);font-size:.76rem;font-weight:800}.tarifa-select{width:100%;min-height:46px;font-weight:700;background-color:var(--blanco);opacity:1!important;color:var(--texto);cursor:pointer}.tarifa-select-ayuda{display:block;margin-top:7px;color:var(--texto-suave);font-size:.72rem;line-height:1.35}.tarifa-aplicada{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:10px 12px;border:1px solid var(--azul-500);border-radius:10px;background:rgba(88,167,223,.12);color:var(--azul-800);font-size:.8rem}.tarifa-aplicada strong{font-size:1.05rem;color:var(--azul-900)}.tema-oscuro body.aplicacion .tarifa-select{background:#10263a;color:var(--texto)}.tema-oscuro body.aplicacion .tarifa-aplicada{color:#cfe5f5;background:rgba(88,167,223,.2)}.tema-oscuro body.aplicacion .tarifa-aplicada strong{color:#b9dcff}
/* Resumen visual del plan personalizado asignado a la clínica */
.plan-asignado{position:relative;display:flex;align-items:flex-start;gap:16px;overflow:hidden;background:linear-gradient(145deg,var(--blanco),var(--celeste-50));border-top:3px solid var(--azul-500)}
.plan-asignado::after{content:'';position:absolute;width:150px;height:150px;border-radius:50%;right:-72px;top:-70px;background:rgba(88,167,223,.15);pointer-events:none}
.plan-asignado-icono{position:relative;z-index:1;display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:var(--azul-600);color:#fff;font-size:1.25rem;font-weight:900}
.plan-asignado-contenido{position:relative;z-index:1;min-width:0}.plan-asignado-contenido h2{margin:.15rem 0 .35rem}.plan-asignado-contenido p{margin:0;color:var(--texto-suave);font-size:.84rem}.plan-asignado-detalles{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.plan-asignado-detalles span{display:flex;flex-direction:column;gap:3px;min-width:150px;padding:9px 12px;border:1px solid var(--borde);border-radius:10px;background:rgba(255,255,255,.65)}.plan-asignado-detalles small{color:var(--texto-suave);font-size:.7rem}.plan-asignado-detalles strong{color:var(--azul-900);font-size:.9rem}
html.tema-oscuro body.aplicacion .plan-asignado{background:linear-gradient(145deg,#142b40,#10263a)}html.tema-oscuro body.aplicacion .plan-asignado-detalles{background:rgba(16,38,58,.65)}html.tema-oscuro body.aplicacion .plan-asignado-detalles strong{color:#b9dcff}
@media(max-width:700px){.rejilla-una{grid-template-columns:1fr}.plan-asignado{padding:18px}.plan-asignado-detalles{gap:8px}.plan-asignado-detalles span{min-width:0;flex:1 1 100%}}

/* Sección de confianza: fondo continuo y espaciado compacto en la página pública */
.seccion-precios{padding-bottom:24px;background:var(--celeste-100)}
.selector-clinicas-perfil{display:flex;justify-content:flex-end;border:0;padding:0;margin:0}
.acciones-perfil .selector-clinicas-perfil{grid-column:1/-1}
.acciones-perfil a.boton-cambiar-clinica{width:100%;height:42px;justify-self:stretch;padding:0 10px}
.boton-cambiar-clinica{display:inline-grid;place-items:center;width:38px;height:34px;border:1px solid var(--azul-500);border-radius:9px;background:var(--celeste-50);color:var(--azul-700);font-size:1.25rem;font-weight:700;line-height:1;transition:background .15s,color .15s,transform .15s}
.boton-cambiar-clinica:hover{background:var(--celeste-100);color:var(--azul-800)!important;border-color:var(--azul-500);transform:translateY(-1px)}
html.tema-oscuro .boton-cambiar-clinica{background:#18364f;border-color:#62b5e8;color:#cfe5f5}
html.tema-oscuro .boton-cambiar-clinica:hover{background:#247cb6;color:#fff}
.seccion-precios .texto-ayuda-precios{margin-top:8px}
.seccion-confianza{padding:26px max(6vw,30px) 30px;background:var(--celeste-100)}
.seccion-confianza h2{margin:4px 0 6px}
.confianza-intro{margin:0 auto 16px}
.equipo-confianza{gap:16px}
.miembro-confianza{padding:15px 18px;background:var(--blanco);box-shadow:0 6px 16px rgba(32,91,143,.08)}
.seccion-contacto-publica{padding:30px 24px 52px;background:var(--celeste-100)}
@media(max-width:700px){
  .seccion-precios{padding-bottom:18px}
  .seccion-confianza{padding:24px 18px 28px}
  .seccion-contacto-publica{padding:26px 18px 42px}
}

/* Pantalla independiente para elegir la clínica asociada */
.pagina-seleccion-clinica{min-height:100vh;background:var(--celeste-50);display:grid;place-items:center;padding:24px}
.seleccion-clinica-contenedor{width:min(100%,700px)}
.seleccion-clinica-tarjeta{padding:44px 48px;border-top:4px solid var(--azul-500);box-shadow:var(--sombra)}
.seleccion-clinica-tarjeta h1{margin:8px 0 10px;font-size:clamp(2rem,4vw,2.7rem);color:var(--azul-950)}
.seleccion-clinica-tarjeta>p{margin:0 0 30px;color:var(--texto-suave);font-size:1.05rem}
.seleccion-clinica-tarjeta label{display:block;margin-bottom:7px;color:var(--azul-900);font-weight:700}
.seleccion-clinica-tarjeta select{min-height:50px;font-size:1rem;flex:1;min-width:0}
.seleccion-clinica-tarjeta form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.seleccion-clinica-tarjeta form label{grid-column:1/-1;margin-bottom:-2px}
.seleccion-clinica-tarjeta form .boton-primario{display:flex;width:auto;min-width:150px;min-height:48px;margin:0;padding-inline:20px}
html.tema-oscuro body.pagina-seleccion-clinica{background:#0b1d31}
html.tema-oscuro body.pagina-seleccion-clinica .seleccion-clinica-tarjeta{background:#132d43;border-color:#315673}
html.tema-oscuro body.pagina-seleccion-clinica .seleccion-clinica-tarjeta h1{color:#eef7ff}
html.tema-oscuro body.pagina-seleccion-clinica .seleccion-clinica-tarjeta label{color:#cfe5f5}
@media(max-width:520px){.pagina-seleccion-clinica{padding:16px}.seleccion-clinica-tarjeta{padding:32px 24px}.seleccion-clinica-tarjeta h1{font-size:2rem}.seleccion-clinica-tarjeta>p{font-size:.95rem}.seleccion-clinica-tarjeta form{display:flex;flex-direction:column;align-items:stretch;gap:8px}.seleccion-clinica-tarjeta form .boton-primario{width:100%;min-width:0;margin-top:8px}}
/* Tipografía institucional global */
body,button,input,select,textarea{font-family:"Times New Roman",Times,serif}
.bloque-recurrencia{margin-top:8px}
.casilla-opcion{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--borde);border-radius:10px;background:var(--celeste-50);color:var(--azul-900);font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}
.casilla-opcion:hover{border-color:var(--azul-500);background:var(--celeste-100)}
.casilla-opcion input{appearance:none;width:20px;height:20px;margin:0;border:2px solid var(--azul-500);border-radius:5px;background:#fff;display:grid;place-items:center;cursor:pointer}
.casilla-opcion input::after{content:"✓";color:#fff;font-size:14px;font-weight:900;transform:scale(0);transition:transform .12s}
.casilla-opcion input:checked{background:var(--azul-700)!important;border-color:var(--azul-700)!important;accent-color:var(--azul-700)}
.casilla-opcion input:checked::after{transform:scale(1)}
.casilla-opcion input:focus-visible{outline:3px solid rgba(39,129,194,.25);outline-offset:2px}
html.tema-oscuro body.aplicacion .casilla-opcion{background:#132d43;border-color:#315673;color:#d5e4ef}
html.tema-oscuro body.aplicacion .casilla-opcion:hover{background:#183b58;border-color:#62b5e8}
.casilla-opcion input:disabled{cursor:default}
.bloque-recurrencia{display:grid;grid-template-columns:minmax(230px,auto) minmax(180px,1fr) minmax(180px,1fr);gap:12px;align-items:end}
.bloque-recurrencia>[data-recurrencia-opciones]{display:contents}
.bloque-recurrencia>[data-recurrencia-opciones]>div{min-width:0}
@media(max-width:700px){.bloque-recurrencia{grid-template-columns:1fr}.bloque-recurrencia>[data-recurrencia-opciones]{display:grid;grid-template-columns:1fr;gap:12px}}
.tabla-cobros-pacientes td.precio-cobro strong,.tabla-cobros-pacientes td.precio-cobro small{display:block;white-space:nowrap}.tabla-cobros-pacientes td.precio-cobro small{margin-top:4px;color:var(--texto-suave);font-size:.8rem}
.seccion-confianza{padding:58px max(6vw,30px) 64px;text-align:center;background:linear-gradient(180deg,#f8fbfe,#eef7fd)}.seccion-confianza h2{margin:8px 0;font-size:clamp(2rem,3.5vw,3.2rem);color:var(--azul-950)}.confianza-intro{margin:0 auto 28px;color:var(--texto-suave);font-size:1.05rem}.equipo-confianza{max-width:980px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.miembro-confianza{display:flex;align-items:center;justify-content:center;gap:16px;padding:22px;text-align:left;border-top:3px solid var(--azul-500);box-shadow:0 10px 24px rgba(32,91,143,.09)}.avatar-confianza{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--celeste-100);color:var(--azul-800);font-weight:900;font-size:1.1rem}.miembro-confianza h3{margin:0 0 5px;color:var(--azul-950);font-size:1.08rem}.miembro-confianza p{margin:0;color:var(--texto-suave);font-size:.9rem}@media(max-width:700px){.seccion-confianza{padding:44px 18px 50px}.equipo-confianza{grid-template-columns:1fr}.miembro-confianza{justify-content:flex-start}}
.selector-clinicas-perfil{grid-column:1/-1;border-bottom:1px solid var(--borde);padding-bottom:12px;margin-bottom:2px}.selector-clinicas-titulo{display:block;color:var(--texto-suave);font-size:.75rem;font-weight:800;margin-bottom:7px}.selector-clinicas-perfil form{margin:0 0 5px}.selector-clinicas-perfil button{height:34px;text-align:left;padding:0 10px}.selector-clinicas-perfil button.activa{background:var(--celeste-100);color:var(--azul-900)}
.lista-clinicas-seleccion{display:grid;gap:10px;margin-top:18px}.clinica-opcion{margin:0}.clinica-opcion button{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 14px;height:auto}.clinica-opcion button strong{font-size:.95rem}.clinica-opcion button small{color:var(--texto-suave);font-weight:400}html.tema-oscuro .clinica-opcion button small{color:#b8cad8}html.tema-oscuro .selector-clinicas-perfil button.activa{background:#205070;color:#fff}
.acciones-flotantes{position:fixed;right:clamp(14px,2.2vw,30px);bottom:clamp(16px,3vh,30px);z-index:120;display:flex;flex-direction:column;align-items:center;gap:12px}.accion-flotante{width:52px;height:52px;border:0;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(16,42,67,.22);transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;cursor:pointer}.accion-flotante:hover{transform:translateY(-3px);box-shadow:0 11px 24px rgba(16,42,67,.3);filter:brightness(1.05)}.accion-flotante:focus-visible{outline:3px solid var(--azul-500);outline-offset:3px}.accion-flotante svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.accion-whatsapp{background:#20c875}.accion-whatsapp svg{fill:currentColor;stroke:none;width:27px;height:27px}.accion-volver-arriba{background:var(--azul-700)}.accion-volver-arriba[hidden]{display:none}html.tema-oscuro .accion-volver-arriba{background:#3189c5;box-shadow:0 8px 20px rgba(0,0,0,.45)}@media(max-width:700px){.acciones-flotantes{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));gap:9px}.accion-flotante{width:46px;height:46px}.accion-flotante svg{width:22px;height:22px}.accion-whatsapp svg{width:24px;height:24px}}@media(prefers-reduced-motion:reduce){.accion-flotante{transition:none}}
.panel-chatbot{z-index:121}.chatbot-sugerencias{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.chatbot-sugerencias button{min-width:0;white-space:nowrap;padding-left:5px;padding-right:5px}@media(max-width:700px){.chatbot-sugerencias{grid-template-columns:repeat(3,minmax(0,1fr))}.chatbot-sugerencias button{font-size:.7rem}}
.accion-chatbot{background:var(--azul-800)}.accion-chatbot svg{fill:currentColor;stroke:none}.panel-chatbot{position:fixed;right:clamp(14px,2.2vw,30px);bottom:clamp(16px,3vh,30px);z-index:121;width:min(380px,calc(100vw - 28px));overflow:hidden;background:#fff;border:1px solid var(--borde);border-radius:16px;box-shadow:0 16px 38px rgba(16,42,67,.24);color:var(--texto)}.panel-chatbot[hidden]{display:none}.panel-chatbot-encabezado{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(120deg,var(--azul-950),var(--azul-800));color:#fff}.panel-chatbot-encabezado strong,.panel-chatbot-encabezado small{display:block}.panel-chatbot-encabezado small{margin-top:3px;color:#cce5f5;font-size:.76rem}.panel-chatbot-encabezado button{border:0;background:transparent;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}.chatbot-mensajes{display:grid;gap:9px;max-height:230px;overflow-y:auto;padding:14px;background:var(--celeste-50)}.chatbot-mensaje{max-width:88%;padding:9px 11px;border-radius:12px;font-size:.86rem;line-height:1.35}.chatbot-bot{justify-self:start;background:#fff;border:1px solid var(--borde)}.chatbot-usuario{justify-self:end;background:var(--azul-700);color:#fff}.chatbot-sugerencias{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:10px 14px 0}.chatbot-sugerencias button{min-width:0;white-space:nowrap;border:1px solid var(--azul-500);border-radius:999px;background:transparent;color:var(--azul-800);padding:5px;font-size:.74rem;cursor:pointer}.chatbot-sugerencias button:hover{background:var(--celeste-100)}.chatbot-formulario{display:flex;gap:8px;padding:12px 14px}.chatbot-formulario input{min-width:0;flex:1;border:1px solid var(--borde);border-radius:9px;padding:9px 10px;color:var(--texto);background:#fff}.chatbot-formulario button{width:38px;border:0;border-radius:9px;background:var(--azul-700);color:#fff;font-size:1.1rem;cursor:pointer}html.tema-oscuro .panel-chatbot{background:#122e47;color:#e8f1f7;border-color:#315b7a;box-shadow:0 16px 38px rgba(0,0,0,.45)}html.tema-oscuro .chatbot-mensajes{background:#0d2134}html.tema-oscuro .chatbot-bot{background:#173750;border-color:#315b7a;color:#e8f1f7}html.tema-oscuro .chatbot-sugerencias button{color:#b9dcf3;border-color:#4d91bd}html.tema-oscuro .chatbot-formulario input{background:#102a43;color:#e8f1f7;border-color:#315b7a}@media(max-width:700px){.panel-chatbot{bottom:calc(14px + env(safe-area-inset-bottom));right:14px}.chatbot-mensajes{max-height:35vh}.chatbot-sugerencias{grid-template-columns:repeat(3,minmax(0,1fr))}.chatbot-sugerencias button{font-size:.7rem}}
.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}
.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:first-child{grid-column:span 1}
.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:nth-child(2){grid-column:span 3}
.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:nth-child(7){grid-column:1/-1}
.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:nth-child(8){display:none}
@media(max-width:1000px){.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario{grid-template-columns:repeat(2,minmax(0,1fr))}.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:nth-child(2){grid-column:span 1}}
@media(max-width:700px){.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario{grid-template-columns:1fr}.formulario-tarjeta:has(select#PacienteId) .grupo-campos .rejilla-formulario>div:nth-child(2){grid-column:auto}}
.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1.4fr) minmax(150px,.8fr);gap:16px;align-items:end}
.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia>.rejilla-formulario{display:contents}
.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia>.rejilla-formulario>div{min-width:0}
.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia>.rejilla-formulario>div:nth-child(1),.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia>.rejilla-formulario>div:nth-child(2){grid-column:auto!important}
@media(max-width:700px){.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia{display:block!important}.formulario-tarjeta:has(select#PacienteId) .bloque-recurrencia>.rejilla-formulario{display:grid!important;grid-template-columns:1fr!important;margin-top:12px}}
.modal-recibo-tarjeta{width:min(430px,calc(100vw - 30px))}.recibo-pago{width:300px;max-width:100%;margin:8px auto;padding:20px 16px;background:#fff;color:#142b44;font-family:"Courier New",monospace;font-size:.82rem}.recibo-encabezado{text-align:center;border-bottom:1px dashed #789;padding-bottom:12px;margin-bottom:10px}.recibo-encabezado strong,.recibo-encabezado small{display:block}.recibo-encabezado strong{font-size:1rem}.recibo-linea{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dotted #b9c7d3}.recibo-linea strong{text-align:right}.recibo-total{display:flex;justify-content:space-between;border-top:2px solid #142b44;margin-top:12px;padding-top:10px;font-size:.95rem}.recibo-pie{text-align:center;border-top:1px dashed #789;margin-top:14px;padding-top:10px;font-size:.74rem}@media print{body>*{display:none!important}#modalReciboPago{display:block!important;position:static!important;background:#fff!important}#modalReciboPago .modal-recibo-tarjeta{box-shadow:none;border:0;margin:0 auto}#modalReciboPago .modal-documento-cabecera,#modalReciboPago .modal-documento-acciones{display:none!important}.recibo-pago{width:80mm;margin:0}}
.estado-cobro.anulado{background:#fde8e8;color:#b42318;max-width:220px}
.modal-recibo-tarjeta{width:min(430px,calc(100vw - 24px));padding:16px;background:#f7f7f7}.recibo-pago{width:80mm;max-width:100%;margin:0 auto;padding:18px 14px;background:#fff;color:#111;font-family:"Courier New",Consolas,monospace;font-size:.78rem;line-height:1.35;box-shadow:0 2px 8px rgba(0,0,0,.12)}.recibo-encabezado{text-align:center;border-bottom:1px dashed #111;padding-bottom:12px;margin-bottom:10px;text-transform:uppercase}.recibo-encabezado strong{display:block;font-size:1rem;letter-spacing:.04em}.recibo-encabezado small{display:block;margin-top:5px;font-size:.72rem}.recibo-linea{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-bottom:1px dotted #888}.recibo-linea span{text-transform:uppercase}.recibo-linea strong{text-align:right;max-width:65%;font-weight:700}.recibo-total{display:flex;justify-content:space-between;border-top:1px solid #111;border-bottom:1px dashed #111;margin-top:12px;padding:9px 0;font-size:.95rem;font-weight:700;text-transform:uppercase}.recibo-pie{text-align:center;margin-top:14px;padding-top:10px;font-size:.72rem}.recibo-pie::before{content:"--------------------------------";display:block;margin-bottom:8px}@media print{.recibo-pago{box-shadow:none;font-size:11px}}
.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-recibo-tarjeta{width:min(500px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;padding:16px;overflow:auto}.modal-recibo-tarjeta>.recibo-pago{display:block!important;flex:none!important;overflow-wrap:anywhere}.modal-recibo-tarjeta>.modal-documento-cabecera,.modal-recibo-tarjeta>.modal-documento-acciones{display:flex;align-items:center;justify-content:space-between}.modal-recibo-tarjeta .recibo-linea,.modal-recibo-tarjeta .recibo-total{display:flex;align-items:flex-start}.modal-recibo-tarjeta .recibo-linea strong{overflow-wrap:anywhere}
.modal-confirmacion:not([hidden])>.modal-tarjeta.modal-recibo-tarjeta{width:min(1050px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important}.modal-recibo-tarjeta .recibo-pago{width:100%;max-width:216mm}.modal-recibo-tarjeta .recibo-linea strong{max-width:78%}
.modal-recibo-tarjeta .recibo-pago{padding-left:34px;padding-right:34px}
.filtros-agenda form{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) minmax(145px,1fr) minmax(145px,1fr) auto;gap:14px;align-items:end}.filtros-agenda .rejilla-filtros-agenda{display:contents}.filtros-agenda .acciones-filtros{margin-top:0;white-space:nowrap}
@media(max-width:1100px){.filtros-agenda form{grid-template-columns:repeat(2,minmax(0,1fr))}.filtros-agenda .rejilla-filtros-agenda{display:grid}.filtros-agenda .acciones-filtros{grid-column:1/-1;justify-content:flex-end}}
