:root{--turquesa-25:#f3fafa;--turquesa-50:#e9f6f7;--turquesa-100:#cfeced;--turquesa-200:#a6dce0;--turquesa-300:#6fc6cc;--turquesa-400:#35b0b8;--turquesa-500:#09a1ad;--turquesa-600:#08808a;--turquesa-700:#086c74;--turquesa-800:#075a61;--turquesa-900:#064a50;--coral-25:#fef8f8;--coral-50:#fdf1f1;--coral-100:#fbe2e2;--coral-200:#f6c7c8;--coral-300:#efa6a7;--coral-400:#e78f90;--coral-500:#e08081;--coral-600:#cc6869;--coral-700:#a84b4d;--coral-800:#8a3c3e;--coral-900:#6e3133;--tinta-0:#fff;--tinta-25:#fafcfc;--tinta-50:#f5f8f8;--tinta-100:#eef3f4;--tinta-150:#e5ecee;--tinta-200:#dbe4e6;--tinta-300:#bccacd;--tinta-400:#8b999d;--tinta-500:#6d7c81;--tinta-600:#5d6c71;--tinta-700:#445257;--tinta-800:#2c3639;--tinta-900:#1d1d1b;--verde-50:#edf8f1;--verde-100:#d8f0e1;--verde-200:#bfe5cd;--verde-600:#1f9d57;--verde-700:#17663e;--ambar-50:#fff7e8;--ambar-100:#fdecc8;--ambar-200:#f7dca4;--ambar-500:#e09a1a;--ambar-700:#7a4b06;--rojo-50:#fdf1f1;--rojo-100:#fbe3e3;--rojo-200:#f3c4c4;--rojo-600:#c93434;--rojo-700:#b02a2a;--rojo-800:#a12727;--azul-50:#eef4ff;--azul-100:#dde8fd;--azul-200:#c7d9fb;--azul-600:#2f6fd6;--azul-800:#24529e;--marca-turquesa:var(--turquesa-500);--marca-coral:var(--coral-500);--marca-negro:var(--tinta-900);--lienzo:var(--tinta-100);--superficie:var(--tinta-0);--superficie-sutil:var(--tinta-50);--superficie-hundida:var(--tinta-100);--velo:#1d1d1b61;--texto:var(--tinta-900);--texto-secundario:var(--tinta-700);--texto-suave:var(--tinta-600);--texto-tenue:var(--tinta-400);--texto-inverso:var(--tinta-0);--borde:var(--tinta-200);--borde-suave:var(--tinta-150);--borde-campo:var(--tinta-300);--borde-foco:var(--turquesa-500);--accion:var(--turquesa-600);--accion-hover:var(--turquesa-700);--accion-activa:var(--turquesa-800);--accion-texto:var(--tinta-0);--accion-tenue:var(--turquesa-50);--accion-tenue-hover:var(--turquesa-100);--accion-tenue-texto:var(--turquesa-800);--accion-sutil:var(--turquesa-25);--enlace:var(--turquesa-700);--anillo-foco:0 0 0 3px #09a1ad52;--acento:var(--coral-500);--acento-tenue:var(--coral-50);--acento-suave:var(--coral-100);--acento-texto:var(--coral-800);--ok-fondo:var(--verde-50);--ok-realce:var(--verde-100);--ok-borde:var(--verde-200);--ok-texto:var(--verde-700);--ok-solido:var(--verde-600);--aviso-fondo:var(--ambar-50);--aviso-realce:var(--ambar-100);--aviso-borde:var(--ambar-200);--aviso-texto:var(--ambar-700);--aviso-solido:var(--ambar-500);--error-fondo:var(--rojo-50);--error-realce:var(--rojo-100);--error-borde:var(--rojo-200);--error-texto:var(--rojo-800);--error-solido:var(--rojo-600);--error-solido-hover:var(--rojo-700);--info-fondo:var(--azul-50);--info-realce:var(--azul-100);--info-borde:var(--azul-200);--info-texto:var(--azul-800);--info-solido:var(--azul-600);--grafico-1:var(--turquesa-500);--grafico-2:var(--coral-500);--grafico-3:#6b7fd7;--grafico-4:#e0a43a;--grafico-5:#5fae7a;--grafico-6:#a07cc5;--odonto-hallazgo:#dc2626;--odonto-hallazgo-tenue:#fecaca;--odonto-existente:#1d4ed8;--odonto-existente-tenue:#bfdbfe;--odonto-corona:#fffdf6;--odonto-raiz:#f2e8d2;--odonto-contorno:#a8a29e;--fuente:"Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fuente-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--texto-2xs:11px;--texto-xs:12px;--texto-sm:13px;--texto-base:14px;--texto-md:15px;--texto-lg:17px;--texto-xl:20px;--texto-2xl:24px;--texto-3xl:30px;--peso-ligero:300;--peso-normal:450;--peso-medio:600;--peso-fuerte:700;--peso-titulo:750;--interlineado:1.5;--interlineado-titulo:1.25;--esp-1:4px;--esp-2:8px;--esp-3:12px;--esp-4:16px;--esp-5:20px;--esp-6:24px;--esp-8:32px;--esp-10:40px;--esp-12:48px;--radio-xs:4px;--radio-sm:6px;--radio:8px;--radio-md:10px;--radio-lg:14px;--radio-xl:16px;--radio-pildora:999px;--sombra-1:0 1px 2px #1430340d;--sombra-2:0 1px 2px #1430340a, 0 6px 16px -4px #1430341a;--sombra-3:0 24px 48px -16px #1430344d, 0 2px 6px #1430340f;--dur-rapida:.12s;--dur:.2s;--curva:cubic-bezier(.2, .8, .2, 1);--alto-control:38px;--alto-control-chico:30px;--alto-cabecera:64px;--ancho-riel:84px;--hueco-marco:8px;--alto-barra:calc(var(--alto-cabecera) + var(--hueco-marco));--ancho-formulario:1040px}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/assets/nunito-BzFMHfZw.woff2)format("woff2")}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--fuente);font-size:var(--texto-base);font-weight:var(--peso-normal);line-height:var(--interlineado);background:var(--lienzo);color:var(--texto);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}h1,h2,h3,h4{line-height:var(--interlineado-titulo);letter-spacing:-.01em;color:var(--texto)}h1{font-size:var(--texto-xl);font-weight:var(--peso-titulo)}h2{font-size:var(--texto-lg);font-weight:var(--peso-fuerte)}h3{font-size:var(--texto-md);font-weight:var(--peso-fuerte)}strong,b{font-weight:var(--peso-fuerte)}a{color:var(--enlace);text-underline-offset:2px}::selection{background:var(--turquesa-100);color:var(--texto)}:focus-visible{outline:2px solid var(--borde-foco);outline-offset:2px}input,select,textarea,button{font:inherit;color:inherit}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden]),select,textarea){min-height:var(--alto-control-chico);border:1px solid var(--borde-campo);border-radius:var(--radio);background-color:var(--superficie);color:var(--texto);padding:4px 10px}:where(input,select,textarea):focus-visible{border-color:var(--borde-foco);box-shadow:var(--anillo-foco);outline:none}::placeholder{color:var(--texto-tenue);opacity:1}input[type=checkbox],input[type=radio]{accent-color:var(--accion);width:16px;height:16px;margin:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.marca{align-items:center;gap:var(--esp-2);color:var(--texto);text-decoration:none;display:flex}.marca-simbolo{flex-shrink:0;width:40px;height:40px;display:block}.marca-nombre{line-height:1;display:grid}.marca-nombre strong{letter-spacing:.04em;text-transform:uppercase;font-size:19px;font-weight:500}.marca-nombre small{color:var(--texto-suave);font-size:9.5px;font-weight:var(--peso-medio);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}.marca-imagen{object-fit:contain;max-width:240px;height:48px;display:block}.marco{grid-template-columns:var(--ancho-riel) minmax(0, 1fr);column-gap:var(--hueco-marco);min-height:100vh;padding:0 var(--hueco-marco) var(--hueco-marco);grid-template-rows:auto 1fr;display:grid}.marco-cabecera{z-index:20;padding:var(--hueco-marco) 0;background:var(--lienzo);grid-column:1/-1;position:sticky;top:0}.cabecera{align-items:center;gap:var(--esp-4);height:var(--alto-cabecera);padding:0 var(--esp-4) 0 var(--esp-5);background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio-xl);box-shadow:var(--sombra-1);display:flex}.cabecera-separador{width:1px;margin:var(--esp-4) 0;background:var(--borde);align-self:stretch}.cabecera-fin{align-items:center;gap:var(--esp-2);margin-left:auto;display:flex}.selector-clinica{align-items:center;gap:var(--esp-2);height:36px;padding:0 var(--esp-3);border:1px solid var(--borde);border-radius:var(--radio-pildora);background:var(--superficie-sutil);color:var(--texto);font-weight:var(--peso-medio);display:inline-flex;position:relative}.selector-clinica svg{width:16px;height:16px;color:var(--accion);flex-shrink:0}.selector-clinica select{appearance:none;min-width:0;min-height:0;font-weight:var(--peso-medio);cursor:pointer;background:0 0;border:0;flex:auto;padding:0 18px 0 0}.selector-clinica select:focus-visible{outline:none}.selector-clinica:focus-within{box-shadow:var(--anillo-foco);border-color:var(--borde-foco)}.selector-clinica .chevron{right:var(--esp-3);pointer-events:none;color:var(--texto-suave);position:absolute}.usuario-sesion{align-items:center;gap:var(--esp-2);border-radius:var(--radio-pildora);padding:4px 6px 4px 4px;display:flex}.usuario-sesion-texto{line-height:1.2;display:grid}.usuario-sesion-texto strong{font-size:var(--texto-sm);font-weight:var(--peso-fuerte)}.usuario-sesion-texto span{color:var(--texto-suave);font-size:var(--texto-xs)}.avatar{background:var(--acento-suave);width:36px;height:36px;color:var(--acento-texto);font-size:var(--texto-xs);font-weight:var(--peso-fuerte);letter-spacing:.02em;border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative}.avatar-chico{width:28px;height:28px;font-size:10.5px}.avatar-grande{width:60px;height:60px;font-size:var(--texto-lg);box-shadow:0 0 0 4px var(--superficie), 0 0 0 5px var(--coral-200)}.riel{top:calc(var(--alto-cabecera) + 2 * var(--hueco-marco));height:calc(100vh - var(--alto-cabecera) - 3 * var(--hueco-marco));padding:var(--esp-2) 6px;background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio-xl);box-shadow:var(--sombra-1);flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;overflow-y:auto}.riel a{border-radius:var(--radio-md);color:var(--texto-suave);font-size:11.5px;font-weight:var(--peso-medio);text-align:center;transition:background-color var(--dur-rapida) var(--curva), color var(--dur-rapida) var(--curva);flex-direction:column;align-items:center;gap:3px;padding:9px 2px 7px;line-height:1.15;text-decoration:none;display:flex}.riel a svg{stroke-width:1.75px;width:22px;height:22px}.riel a:hover{background:var(--superficie-sutil);color:var(--texto)}.riel a.active{background:var(--accion-tenue);color:var(--accion-tenue-texto)}.riel a.active svg{color:var(--accion)}.riel-separador{height:1px;margin:var(--esp-2) var(--esp-2);background:var(--borde);flex-shrink:0}.riel-final{flex-direction:column;gap:2px;margin-top:auto;display:flex}.marco-contenido{min-width:0}@media (width<=900px){.marco{padding-bottom:calc(76px + 2 * var(--hueco-marco));grid-template-columns:minmax(0,1fr)}.riel{top:auto;left:var(--hueco-marco);right:var(--hueco-marco);bottom:var(--hueco-marco);z-index:20;height:auto;box-shadow:var(--sombra-2);scrollbar-width:none;flex-direction:row;padding:6px;position:fixed;overflow:auto hidden}.riel a{flex:1 0 68px}.riel-separador{width:1px;height:auto;margin:8px 2px}.riel-final{flex-direction:row;margin-top:0}.cabecera{gap:var(--esp-3);padding:0 var(--esp-3)}.usuario-sesion-texto,.cabecera-separador{display:none}}@media (width<=520px){.cabecera .marca-imagen{max-width:130px;height:36px}.cabecera .marca-nombre,.selector-clinica>svg:first-child{display:none}.selector-clinica{min-width:0;max-width:170px}.selector-clinica>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.panel{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio-lg);box-shadow:var(--sombra-1);padding:var(--esp-5) var(--esp-6)}.panel h1{margin:0 0 var(--esp-4);font-size:var(--texto-xl)}.estado{margin:0;padding:0;list-style:none}.estado li{border-top:1px solid var(--borde);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.pastilla{border-radius:var(--radio-pildora);font-size:var(--texto-xs);font-weight:var(--peso-medio);flex-shrink:0;padding:3px 10px}.pastilla-ok{background:var(--ok-realce);color:var(--ok-texto)}.pastilla-error{background:var(--error-realce);color:var(--error-texto)}.pastilla-cargando,.pastilla-desconocido{background:var(--superficie-sutil);color:var(--texto-suave)}.nota{color:var(--texto-suave);font-size:var(--texto-xs);margin:14px 0 0}.solo-lectores{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=640px){.ocultar-angosto{display:none}}.contenido-ancho{align-content:start;gap:var(--esp-4);grid-template-columns:minmax(0,1fr);display:grid}.marco-solo{padding:0 var(--hueco-marco)}.marco-solo+.contenido-ancho{padding:0 var(--hueco-marco) var(--esp-6)}.contenido{max-width:600px;margin:var(--esp-6) auto;padding:0 var(--esp-4)}.panel h2{margin:0 0 var(--esp-3);font-size:var(--texto-lg)}.pagina-acceso{grid-template-columns:minmax(360px,5fr) 7fr;min-height:100vh;display:grid}.acceso-marca{margin:var(--hueco-marco);padding:var(--esp-10);border-radius:var(--radio-xl);background-color:var(--coral-500);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' fill='none' stroke='white' stroke-opacity='.38' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 12h8M12 8v8M32 36h8M36 32v8'/%3E%3C/svg%3E"), linear-gradient(160deg, var(--coral-400), var(--coral-600));color:var(--tinta-0);background-size:48px 48px,cover;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.acceso-marca-logo{align-items:center;gap:var(--esp-3);display:flex}.acceso-simbolo{width:92px;height:87px}.acceso-nombre{line-height:1;display:grid}.acceso-nombre strong{letter-spacing:.03em;text-transform:uppercase;font-size:46px;font-weight:400}.acceso-nombre small{font-size:12px;font-weight:var(--peso-medio);letter-spacing:.1em;text-transform:uppercase;margin-top:6px}.acceso-lema{font-size:44px;font-weight:var(--peso-ligero);letter-spacing:.02em;text-transform:uppercase;margin:0;line-height:1.1}.acceso-columna{align-content:center;justify-items:center;gap:var(--esp-5);padding:var(--esp-6) var(--esp-4);display:grid}.acceso-marca-angosta{display:none}.tarjeta-centrada{width:100%;max-width:420px;padding:var(--esp-8)}.tarjeta-centrada h1{margin:0 0 var(--esp-5);font-size:var(--texto-2xl)}@media (width<=960px){.pagina-acceso{grid-template-columns:minmax(0,1fr)}.acceso-marca{display:none}.acceso-marca-angosta{display:block}.tarjeta-centrada{padding:var(--esp-6) var(--esp-5)}}.marca-enlace{color:inherit;border-radius:var(--radio);align-items:center;text-decoration:none;display:flex}.banner-soporte,.aviso-sesion{justify-content:space-between;align-items:center;gap:var(--esp-3);padding:var(--esp-3) var(--esp-4);border-radius:var(--radio-lg);font-size:var(--texto-sm);border:1px solid;flex-wrap:wrap;display:flex}.banner-soporte{background:var(--aviso-fondo);border-color:var(--aviso-borde);color:var(--aviso-texto)}.aviso-sesion{background:var(--accion-tenue);border-color:var(--turquesa-200);color:var(--accion-tenue-texto)}.campo{margin-bottom:var(--esp-4);min-width:0;max-width:var(--ancho-formulario);align-content:start;gap:6px;display:grid}.campo label{color:var(--texto-secundario);font-weight:var(--peso-medio);font-size:var(--texto-sm)}.campo input,.campo select,.campo textarea{font:inherit;border:1px solid var(--borde-campo);border-radius:var(--radio);background:var(--superficie);color:var(--texto);box-sizing:border-box;width:100%;min-width:0;transition:border-color var(--dur-rapida) var(--curva), box-shadow var(--dur-rapida) var(--curva);padding:8px 12px}.campo input,.campo select{height:var(--alto-control)}.campo select,.tabla select,.selector-compacto{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235d6c71' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:34px}.campo input:hover:not(:disabled):not([readonly]),.campo select:hover:not(:disabled),.campo textarea:hover:not(:disabled){border-color:var(--tinta-400)}.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{border-color:var(--borde-foco);box-shadow:var(--anillo-foco);outline:none}.campo input:disabled,.campo select:disabled,.campo textarea:disabled{background:var(--superficie-sutil);color:var(--texto-tenue);cursor:not-allowed}.campo input[readonly]{background:var(--superficie-hundida);color:var(--texto-suave)}.campo textarea{resize:vertical;min-height:88px;line-height:var(--interlineado)}.campo input[aria-invalid=true],.campo textarea[aria-invalid=true],.campo select[aria-invalid=true]{border-color:var(--error-solido)}.campo input[aria-invalid=true]:focus-visible,.campo textarea[aria-invalid=true]:focus-visible{box-shadow:0 0 0 3px #c9343433}.campo-ayuda{color:var(--texto-suave);font-size:var(--texto-xs);margin:0}.campo-error,.texto-error{color:var(--error-texto);font-size:var(--texto-xs);font-weight:var(--peso-medio);margin:0}.texto-suave{color:var(--texto-suave);font-size:var(--texto-xs)}.formulario-fila{align-items:flex-start;gap:var(--esp-3);max-width:var(--ancho-formulario);flex-wrap:wrap;display:flex}.formulario-fila .campo{flex:220px;margin-bottom:0}.formulario-fila .boton{margin-top:26px}.formulario-fila+.formulario-fila,.formulario-fila+.campo{margin-top:var(--esp-3)}.formulario-seccion{margin-bottom:var(--esp-4)}.casilla{align-items:center;gap:var(--esp-2);cursor:pointer;margin-top:30px;display:flex}.boton{min-height:var(--alto-control);border-radius:var(--radio);font:inherit;font-size:var(--texto-base);font-weight:var(--peso-fuerte);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-rapida) var(--curva), border-color var(--dur-rapida) var(--curva), color var(--dur-rapida) var(--curva), box-shadow var(--dur-rapida) var(--curva);border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:7px 16px;line-height:1.2;text-decoration:none;display:inline-flex}.boton svg{stroke-width:2px;flex-shrink:0;width:17px;height:17px}.boton:focus-visible{box-shadow:var(--anillo-foco);outline:none}.boton:disabled{opacity:.55;cursor:not-allowed}.boton-principal{background:var(--accion);color:var(--accion-texto);box-shadow:0 1px 2px #086c7440}.boton-principal:hover:not(:disabled){background:var(--accion-hover)}.boton-principal:active:not(:disabled){background:var(--accion-activa)}.boton-secundario{background:var(--superficie);color:var(--texto);border-color:var(--borde-campo);box-shadow:var(--sombra-1)}.boton-secundario svg{color:var(--accion)}.boton-secundario:hover:not(:disabled){background:var(--superficie-sutil);border-color:var(--tinta-400)}.boton-fantasma{color:var(--texto-secundario);background:0 0}.boton-fantasma:hover:not(:disabled){background:var(--superficie-sutil);color:var(--texto)}.boton-peligro{background:var(--error-solido);color:var(--texto-inverso)}.boton-peligro:hover:not(:disabled){background:var(--error-solido-hover)}.boton-peligro-suave{background:var(--superficie);color:var(--error-texto);border-color:var(--error-borde)}.boton-peligro-suave:hover:not(:disabled){background:var(--error-fondo)}.boton-chico{min-height:var(--alto-control-chico);font-size:var(--texto-sm);padding:4px 10px}.boton-chico svg{width:15px;height:15px}.boton-icono{width:var(--alto-control);padding:0}.boton-icono.boton-chico{width:var(--alto-control-chico)}.boton-ancho{width:100%;margin-top:var(--esp-1)}.boton-enlace{border-radius:var(--radio-xs);font:inherit;font-weight:var(--peso-medio);color:var(--enlace);text-decoration:underline;-webkit-text-decoration-color:var(--turquesa-200);text-decoration-color:var(--turquesa-200);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0}.boton-enlace:hover{text-decoration-color:currentColor}.enlaces-pie{margin:var(--esp-4) 0 0;text-align:center}.enlaces-pie a{color:var(--enlace);font-weight:var(--peso-medio)}.acciones{align-items:center;gap:var(--esp-2);flex-wrap:wrap;display:flex}.alerta{margin:0 0 var(--esp-3);border-radius:var(--radio-md);font-size:var(--texto-sm);border:1px solid;align-items:flex-start;gap:10px;padding:10px 14px;display:flex}.alerta-icono{flex-shrink:0;width:18px;height:18px;margin-top:1px}.alerta-texto{flex:1;min-width:0}.alerta-texto>:first-child{margin-top:0}.alerta-texto>:last-child{margin-bottom:0}.alerta-error{background:var(--error-fondo);border-color:var(--error-borde);color:var(--error-texto)}.alerta-info{background:var(--info-fondo);border-color:var(--info-borde);color:var(--info-texto)}.alerta-ok{background:var(--ok-fondo);border-color:var(--ok-borde);color:var(--ok-texto)}.alerta-aviso{background:var(--aviso-fondo);border-color:var(--aviso-borde);color:var(--aviso-texto)}.cargando{margin:var(--esp-12) auto;color:var(--texto-suave);justify-content:center;align-items:center;gap:10px;display:flex}.cargando-giro{border:2px solid var(--turquesa-100);border-top-color:var(--accion);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite girar}@keyframes girar{to{transform:rotate(360deg)}}.vacio{padding:var(--esp-8) var(--esp-4);text-align:center;justify-items:center;gap:6px;display:grid}.anillo-icono{width:68px;height:68px;margin-bottom:var(--esp-2);background:var(--accion-tenue) content-box;color:var(--accion);border-radius:50%;place-items:center;padding:7px;display:grid;position:relative}.anillo-icono:before{content:"";border:2px solid var(--marca-turquesa);border-right-color:#0000;border-radius:50%;position:absolute;inset:0}.anillo-icono:after{content:"";background:linear-gradient(var(--marca-turquesa), var(--marca-turquesa)) center / 2.5px 100% no-repeat, linear-gradient(var(--marca-coral), var(--marca-coral)) center / 100% 2.5px no-repeat;width:13px;height:13px;margin-top:-6.5px;position:absolute;top:50%;right:-6px}.anillo-icono svg{stroke-width:1.75px;width:28px;height:28px}.vacio-titulo{font-size:var(--texto-md);font-weight:var(--peso-fuerte);margin:0}.vacio-texto{max-width:420px;color:var(--texto-suave);font-size:var(--texto-sm)}.celda-persona{align-items:center;gap:10px;display:inline-flex}.tabla tr:has(.celda-persona)>td{vertical-align:middle}.lista-clinicas{gap:var(--esp-2);margin:0;padding:0;list-style:none;display:grid}.tarjeta-clinica{border:1px solid var(--borde);border-radius:var(--radio-md);color:var(--texto);transition:border-color var(--dur-rapida) var(--curva), background-color var(--dur-rapida) var(--curva);gap:2px;padding:14px 16px;text-decoration:none;display:grid}.tarjeta-clinica:hover{border-color:var(--turquesa-300);background:var(--accion-sutil)}.tarjeta-clinica span{color:var(--texto-suave);font-size:var(--texto-sm)}.tabla-contenedor{overflow-x:auto}.tabla{border-collapse:separate;border-spacing:0;width:100%}.tabla th,.tabla td{border-top:1px solid var(--borde-suave);text-align:left;vertical-align:top;padding:11px 10px}.tabla th{border-top:0;border-bottom:1px solid var(--borde);color:var(--texto-suave);font-size:var(--texto-xs);font-weight:var(--peso-fuerte);letter-spacing:.02em;white-space:nowrap}.tabla thead th{background:var(--superficie-sutil)}.tabla thead th:first-child{border-top-left-radius:var(--radio)}.tabla thead th:last-child{border-top-right-radius:var(--radio)}.tabla thead+tbody tr:first-child>*{border-top:0}.tabla select{font:inherit;height:var(--alto-control-chico);border:1px solid var(--borde-campo);border-radius:var(--radio-sm);background-color:var(--superficie);padding:2px 30px 2px 8px}.tabla a:not(.boton){font-weight:var(--peso-medio);text-decoration:none}.tabla a:not(.boton):hover{text-decoration:underline}.fila-inactiva td{color:var(--texto-suave)}.fila-panel td{background:var(--superficie-sutil)}.estado-miembro{margin-right:10px}.confirmacion{font-size:var(--texto-sm);margin-top:4px;display:block}.insignia{border:1px solid var(--borde);border-radius:var(--radio-pildora);background:var(--superficie-sutil);color:var(--texto-secundario);font-size:11.5px;font-weight:var(--peso-fuerte);white-space:nowrap;vertical-align:1px;align-items:center;gap:4px;margin-left:6px;padding:1px 9px;line-height:1.6;display:inline-flex}.insignia-titular{border-color:var(--coral-200);background:var(--acento-tenue);color:var(--acento-texto)}.insignia-pendiente{border-color:var(--turquesa-200);background:var(--accion-tenue);color:var(--accion-tenue-texto)}.insignia-usada{border-color:var(--ok-borde);background:var(--ok-fondo);color:var(--ok-texto)}.insignia-vencida,.insignia-presupuesto-vencido,.insignia-revocada{background:var(--superficie-sutil);color:var(--texto-suave)}.enlace-invitacion{border:1px dashed var(--turquesa-300);border-radius:var(--radio);background:var(--accion-sutil);font-family:var(--fuente-mono);font-size:var(--texto-xs);word-break:break-all;padding:10px 12px}.encabezado-pagina{justify-content:space-between;align-items:center;gap:var(--esp-3);margin-bottom:var(--esp-4);flex-wrap:wrap;display:flex}.encabezado-pagina h1{margin:0}.marco-contenido>.encabezado-pagina{padding:var(--esp-3) var(--esp-2) var(--esp-1);margin-bottom:0}.encabezado-titulo{align-items:center;gap:var(--esp-3);min-width:0;display:flex}.encabezado-detalle{color:var(--texto-suave);font-size:var(--texto-sm);margin:2px 0 0}.placa-icono{border-radius:var(--radio-md);background:linear-gradient(150deg, var(--coral-400), var(--coral-600));width:42px;height:42px;color:var(--tinta-0);flex-shrink:0;place-items:center;display:grid;box-shadow:0 2px 6px -1px #a84b4d59}.placa-icono svg{stroke-width:1.9px;width:22px;height:22px}.filtros{align-items:flex-end;gap:var(--esp-3);margin-bottom:var(--esp-3);flex-wrap:wrap;display:flex}.filtros .campo{flex:200px;margin-bottom:0}.filtros .campo-busqueda{flex:3 320px}.filtros .casilla{margin:0 0 10px}.paginacion{justify-content:space-between;align-items:center;gap:var(--esp-3);margin-top:var(--esp-3);font-size:var(--texto-sm);color:var(--texto-suave);display:flex}.fila-enlace{cursor:pointer}.fila-enlace td{transition:background-color var(--dur-rapida) var(--curva)}.fila-enlace:hover td{background:var(--accion-sutil)}.fila-enlace a{color:var(--texto);font-weight:var(--peso-fuerte);text-decoration:none}.fila-enlace a:hover{color:var(--enlace)}.rejilla-formulario{gap:0 var(--esp-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.rejilla-formulario .ancho-completo{grid-column:1/-1}.rejilla-formulario .casilla{margin-top:28px}.rejilla-formulario .casillas-servicio{flex-direction:column;gap:6px;margin-top:24px;display:flex}.rejilla-formulario .casillas-servicio .casilla{margin-top:0}.pie-formulario{gap:var(--esp-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.datos{gap:var(--esp-4) var(--esp-5);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:0;display:grid}.datos div{min-width:0}.datos .ancho-completo{grid-column:1/-1}.datos dt{color:var(--texto-suave);font-size:var(--texto-xs);font-weight:var(--peso-medio)}.datos dd{overflow-wrap:anywhere;white-space:pre-line;margin:2px 0 0}.rejilla-paneles{gap:0 var(--esp-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.cabecera-paciente{padding-bottom:0}.cabecera-paciente .detalle{color:var(--texto-suave);font-size:var(--texto-sm);margin:0}.cabecera-paciente h1{font-size:var(--texto-2xl);margin:2px 0}.cabecera-paciente .encabezado-titulo{gap:var(--esp-4)}.cabecera-paciente .pestanas{margin:var(--esp-2) calc(-1 * var(--esp-6)) 0;padding:0 var(--esp-4);border-top:1px solid var(--borde-suave);border-bottom:0}.cabecera-paciente .pestanas a{margin-bottom:0;padding-block:12px 13px}.barra-agenda{justify-content:space-between;align-items:center;gap:var(--esp-3);margin-bottom:var(--esp-3);flex-wrap:wrap;display:flex}.filtro-angosto .campo{flex:0 320px}.selector-vista{border:1px solid var(--borde);border-radius:var(--radio-md);background:var(--superficie-sutil);flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.selector-vista button{min-height:calc(var(--alto-control) - 8px);border-radius:var(--radio-sm);color:var(--texto-suave);font:inherit;font-size:var(--texto-sm);font-weight:var(--peso-fuerte);cursor:pointer;transition:background-color var(--dur-rapida) var(--curva), color var(--dur-rapida) var(--curva);background:0 0;border:0;padding:4px 12px}.selector-vista+.campo,.selector-vista+.formulario-fila,.selector-vista+.rejilla-formulario{margin-top:var(--esp-4)}.selector-vista button:hover{color:var(--texto)}.selector-vista button[aria-pressed=true]{background:var(--superficie);color:var(--accion-tenue-texto);box-shadow:0 1px 2px #1430341f, 0 0 0 1px var(--borde)}.chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.chip{border:1px solid var(--borde);border-radius:var(--radio-pildora);background:var(--superficie);min-height:30px;color:var(--texto-secundario);font:inherit;font-size:var(--texto-sm);font-weight:var(--peso-medio);cursor:pointer;transition:background-color var(--dur-rapida) var(--curva), border-color var(--dur-rapida) var(--curva);align-items:center;gap:6px;padding:3px 12px;display:inline-flex}.chip:hover{border-color:var(--borde-campo)}.chip[aria-pressed=true]{border-color:var(--turquesa-200);background:var(--accion-tenue);color:var(--accion-tenue-texto)}.chip[aria-pressed=false] .chip-color{opacity:.35}.chip-color{border-radius:50%;width:10px;height:10px}.grilla-contenedor{border:1px solid var(--borde);border-radius:var(--radio-lg);background:var(--superficie);overflow-x:auto}.grilla{display:grid;position:relative}.grilla-esquina,.grilla-titulo{z-index:3;background:var(--superficie);border-bottom:1px solid var(--borde);font-weight:var(--peso-fuerte);font-size:var(--texto-sm);text-align:center;padding:10px 8px;position:sticky;top:0}.grilla-horas{border-right:1px solid var(--borde);position:relative}.grilla-horas span{color:var(--texto-suave);font-size:11px;position:absolute;right:6px;transform:translateY(-50%)}.grilla-horas span:first-child{transform:none}.grilla-columna{border-right:1px solid var(--borde);position:relative}.grilla-casillero{border:0;border-top:1px solid var(--borde);cursor:pointer;background:0 0;padding:0;position:absolute;left:0;right:0}.grilla-casillero:hover:not(:disabled){background:var(--accion-sutil)}.grilla-casillero:disabled{cursor:default}.grilla-casillero.fuera-horario{background:repeating-linear-gradient(45deg, var(--superficie-sutil), var(--superficie-sutil) 6px, var(--superficie) 6px, var(--superficie) 12px)}.grilla-bloqueo{z-index:1;background:repeating-linear-gradient(45deg, var(--tinta-600), var(--tinta-600) 6px, var(--tinta-500) 6px, var(--tinta-500) 12px);color:var(--texto-inverso);font:inherit;cursor:pointer;border:0;border-radius:6px;font-size:12px;font-weight:600;position:absolute;left:2px;right:2px;overflow:hidden}.grilla-cita{z-index:2;border:1px solid var(--borde);border-left:4px solid var(--marca-turquesa);border-radius:var(--radio-sm);background:var(--superficie);box-shadow:var(--sombra-1);color:var(--texto);font:inherit;text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:1px;padding:3px 7px;font-size:12px;display:flex;position:absolute;overflow:hidden}.grilla-cita strong,.grilla-cita span{white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:100%;overflow:hidden}.grilla-cita-estado{color:var(--texto-suave);font-size:11px}.estado-confirmada{background:var(--accion-tenue)}.estado-en_espera,.estado-lista_espera,.estado-listo_atendido{background:var(--aviso-realce)}.estado-en_atencion{background:var(--info-fondo)}.estado-atendida{background:var(--ok-realce)}.estado-no_asistio,.estado-cancelada,.estado-no_pago,.estado-pago_descartado,.estado-eliminada{background:var(--error-fondo);color:var(--texto-suave)}.aviso-dia{margin-bottom:10px}@media print{.marco-cabecera,.riel,.barra-agenda,.chips,.no-imprimir{display:none!important}.panel{box-shadow:none;border:0}}.resultados-paciente{gap:4px;margin:-6px 0 12px;padding:0;list-style:none;display:grid}.editor-horario{gap:8px;margin:8px 0 12px;display:grid}.editor-horario-dia{grid-template-columns:110px 1fr;align-items:center;gap:8px;display:grid}.editor-horario-tramos{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.editor-horario-tramo{align-items:center;gap:4px;display:inline-flex}.modal{border:1px solid var(--borde);border-radius:var(--radio-xl);background:var(--superficie);width:min(560px,100vw - 32px);max-height:calc(100vh - 48px);box-shadow:var(--sombra-3);color:var(--texto);padding:0}.modal[open]{animation:aparecer var(--dur) var(--curva)}@keyframes aparecer{0%{opacity:0;transform:translateY(6px)scale(.99)}}.modal-amplio{width:min(820px,100vw - 32px)}.modal-completo{width:min(1120px,100vw - 32px)}.modal::backdrop{background:var(--velo);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-contenido{padding:var(--esp-5) var(--esp-6) var(--esp-6)}.modal-cabecera{justify-content:space-between;align-items:center;gap:var(--esp-3);margin:0 calc(-1 * var(--esp-6)) var(--esp-5);padding:0 var(--esp-4) var(--esp-4) var(--esp-6);border-bottom:1px solid var(--borde-suave);display:flex}.modal-cabecera h2{font-size:var(--texto-lg);margin:0}@media (width<=640px){.formulario-fila .boton,.casilla{margin-top:0}}.barra-odontograma{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-bottom:8px;display:flex}.casilla-compacta{margin:0}.odontograma-desplazable{margin:10px 0 4px;overflow-x:auto}.odontograma{gap:2px;min-width:680px;display:grid}.odontograma-lados{color:var(--texto-suave);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;font-size:11px;font-weight:600;display:flex}.odontograma-fila{background:linear-gradient(var(--borde), var(--borde)) center / 1px 100% no-repeat;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:2px;display:grid}.odontograma-oclusal{background:var(--borde);height:1px;margin:6px 0}.pieza{border-radius:var(--radio);min-width:0;color:inherit;font:inherit;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:3px;padding:4px 1px 6px;display:flex}.pieza-inferior{flex-direction:column-reverse}button.pieza{cursor:pointer}button.pieza:hover{background:var(--accion-sutil);border-color:var(--accion-tenue)}button.pieza:focus-visible{outline:2px solid var(--borde-foco);outline-offset:2px}.pieza-resaltada,button.pieza-resaltada:hover{background:var(--aviso-fondo);border-color:var(--aviso-borde)}.pieza-numero{color:var(--texto-suave);font-size:11px;font-weight:700;line-height:1;position:relative}.pieza-con-nota{background:var(--marca-turquesa);border-radius:50%;width:5px;height:5px;position:absolute;top:-1px;right:-7px}.pieza .dibujo-diente{width:80%;max-width:42px}.pieza-temporal .dibujo-diente{width:64%;max-width:33px}.pieza .diagrama-caras{width:62%;max-width:30px}.pieza-temporal .diagrama-caras{width:52%;max-width:25px}.dibujo-diente,.diagrama-caras{height:auto;display:block;overflow:visible}.diente-superior{transform:scaleY(-1)}.diente-raiz{fill:var(--odonto-raiz);stroke:var(--odonto-contorno);stroke-width:1.1px;stroke-linejoin:round}.diente-corona{fill:var(--odonto-corona);stroke:var(--odonto-contorno);stroke-width:1.3px;stroke-linejoin:round}.diente-cervical{fill:none;stroke:var(--odonto-contorno);stroke-width:.8px;opacity:.4}.estado-pieza-caries .diente-corona{fill:var(--odonto-hallazgo-tenue);stroke:var(--odonto-hallazgo)}.estado-pieza-obturado .diente-corona{fill:var(--odonto-existente-tenue);stroke:var(--odonto-existente)}.estado-pieza-corona .diente-corona{stroke:var(--odonto-existente);stroke-width:2.6px}.diente-conducto{fill:none;stroke:var(--odonto-existente);stroke-width:2px;stroke-linecap:round}.diente-tornillo path{fill:var(--odonto-existente-tenue);stroke:var(--odonto-existente);stroke-width:1.1px;stroke-linejoin:round}.diente-tornillo .diente-rosca{fill:none}.estado-pieza-ausente .diente-cuerpo{opacity:.25}.diente-cruz{fill:none;stroke:var(--odonto-existente);stroke-width:2.6px;stroke-linecap:round}.estado-pieza-extraccion .diente-cruz{stroke:var(--odonto-hallazgo)}.cara{fill:var(--superficie);stroke:var(--odonto-contorno);stroke-width:1px;stroke-linejoin:round}.cara-caries{fill:var(--odonto-hallazgo)}.cara-obturado{fill:var(--odonto-existente)}.patron-sellante-fondo{fill:var(--odonto-existente-tenue)}.patron-sellante-linea{stroke:var(--odonto-existente);stroke-width:1.4px}.diagrama-corona{fill:none;stroke:var(--odonto-existente);stroke-width:2.2px}.diagrama-caras.estado-pieza-ausente,.diagrama-caras.estado-pieza-implante{opacity:.3}.diagrama-interactivo .cara{cursor:pointer}.diagrama-interactivo .cara:hover{stroke:var(--marca-turquesa);stroke-width:1.6px}.leyenda-odontograma{color:var(--texto-suave);flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;padding:0;font-size:12.5px;list-style:none;display:flex}.leyenda-odontograma li{align-items:center;gap:6px;display:inline-flex}.leyenda-convencion{flex-basis:100%}.muestra{border:1px solid var(--odonto-contorno);background:var(--superficie);border-radius:2px;width:12px;height:12px;display:inline-block}.muestra-caries{border-color:var(--odonto-hallazgo);background:var(--odonto-hallazgo)}.muestra-obturado{border-color:var(--odonto-existente);background:var(--odonto-existente)}.muestra-sellante{border-color:var(--odonto-existente);background:repeating-linear-gradient(45deg, var(--odonto-existente) 0 1.5px, var(--odonto-existente-tenue) 1.5px 3.5px)}.muestra-corona{border:2px solid var(--odonto-existente);border-radius:3px}.muestra-endodoncia{background:var(--odonto-existente);border:0;border-radius:2px;width:3px}.muestra-implante{border-color:var(--odonto-existente);background:repeating-linear-gradient(var(--odonto-existente-tenue) 0 2px, var(--odonto-existente) 2px 3px);width:7px}.muestra-nota{background:var(--marca-turquesa);border:0;border-radius:50%;width:6px;height:6px}.muestra-cruz{color:var(--odonto-existente);font-weight:700}.muestra-cruz-roja{color:var(--odonto-hallazgo)}.subtitulo-odontograma{margin:18px 0 8px;font-size:14px}.editor-pieza{grid-template-columns:140px minmax(0,1fr);gap:8px 24px;display:grid}.editor-pieza-vista{align-content:start;justify-items:center;gap:10px;padding-top:4px;display:grid}.editor-pieza-vista .dibujo-diente{width:80px}.editor-pieza-vista .diagrama-caras{width:116px}.editor-pieza-vista .texto-suave{text-align:center;margin:0}.editor-pieza-pie{grid-column:1/-1}.grupo-opciones{border:0;min-width:0;margin:0 0 14px;padding:0}.grupo-opciones legend{margin-bottom:8px;padding:0;font-size:13.5px;font-weight:600}.opciones-pieza{flex-wrap:wrap;gap:6px;display:flex}.opcion-pieza{border:1px solid var(--borde-campo);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.opcion-pieza input{accent-color:var(--marca-turquesa);margin:0}.opcion-pieza:has(input:checked){border-color:var(--marca-turquesa);background:var(--accion-tenue);color:var(--enlace);font-weight:600}.opcion-pieza:has(input:focus-visible){outline:2px solid var(--borde-foco);outline-offset:2px}.tabla-caras{border-collapse:collapse;font-size:13px}.tabla-caras th,.tabla-caras td{border-top:1px solid var(--borde);text-align:center;padding:5px 12px}.tabla-caras thead th{color:var(--texto-suave);border-top:0;font-size:12px;font-weight:600}.tabla-caras tbody th{text-align:left;padding-left:0;font-weight:600}.tabla-caras input{width:16px;height:16px;accent-color:var(--marca-turquesa);cursor:pointer;margin:0}.tabla-caras .celda-caries input{accent-color:var(--odonto-hallazgo)}.tabla-caras .celda-obturado input,.tabla-caras .celda-sellante input{accent-color:var(--odonto-existente)}.historial-elegida{flex-wrap:wrap;align-items:center;gap:4px;margin:0 0 6px;display:flex}.lista-versiones{border:1px solid var(--borde);border-radius:var(--radio);max-height:300px;margin:12px 0 0;padding:0;list-style:none;overflow-y:auto}.lista-versiones li+li{border-top:1px solid var(--borde)}.version-historial{background:var(--superficie);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border:0;gap:2px;padding:10px 12px;font-size:13px;display:grid}.version-historial:hover{background:var(--accion-sutil)}.version-historial[aria-current=true]{background:var(--accion-tenue);box-shadow:inset 3px 0 0 var(--marca-turquesa)}.version-historial:focus-visible{outline:3px solid var(--marca-turquesa);outline-offset:-3px}.version-cambio{color:var(--texto-suave)}.solo-impresion{display:none}.imprimir-esta{-webkit-print-color-adjust:exact;print-color-adjust:exact}@media print{.solo-impresion{display:block}body.imprimiendo .menu-secciones,body.imprimiendo .contenido-secciones>:not(.imprimir-esta),body.imprimiendo .banner-soporte,body.imprimiendo .aviso-sesion,body.imprimiendo .cabecera-paciente .acciones,body.imprimiendo .imprimir-esta .no-imprimir{display:none!important}body.imprimiendo .contenido-ancho>:not(.cabecera-paciente):not(.imprimir-esta):not(:has(.imprimir-esta)){display:none!important}body.imprimiendo .contenido-ancho{max-width:none;margin:0}body.imprimiendo .pagina-secciones{display:block}.odontograma{min-width:0}.tabla-hallazgos .boton-enlace{color:inherit;text-decoration:none}}@media (width<=640px){.editor-pieza{grid-template-columns:minmax(0,1fr)}.editor-pieza-vista{grid-auto-flow:column;justify-content:center;align-items:center}.tabla-caras th,.tabla-caras td{padding-inline:7px}}.pestanas{gap:var(--esp-1);border-bottom:1px solid var(--borde);scrollbar-width:thin;display:flex;overflow-x:auto}.pestanas a{color:var(--texto-suave);font-weight:var(--peso-fuerte);transition:color var(--dur-rapida) var(--curva), border-color var(--dur-rapida) var(--curva);border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:10px 12px 11px;text-decoration:none}.pestanas a:hover{color:var(--texto);border-bottom-color:var(--borde-campo)}.pestanas a[aria-current=page]{border-bottom-color:var(--accion);color:var(--accion-tenue-texto)}.pestanas a:focus-visible{outline:2px solid var(--borde-foco);outline-offset:-2px;border-radius:var(--radio-sm)}.alertas-paciente{justify-items:start;gap:8px;display:grid}.alertas-paciente.con-alertas{border:1px solid var(--aviso-borde);border-radius:var(--radio-lg);background:var(--aviso-fondo);color:var(--aviso-texto);padding:12px 16px}.alertas-paciente .formulario-fila{width:100%}.lista-alertas{gap:4px;margin:0;padding:0;list-style:none;display:grid}.lista-alertas li{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lista-alertas li:before{content:"⚠"}.lista-fichas{gap:12px;margin:0;padding:0;list-style:none;display:grid}.ficha{border:1px solid var(--borde);border-left:3px solid var(--marca-turquesa);border-radius:var(--radio-md);background:var(--superficie);padding:14px 16px}.ficha-cabecera{flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.ficha-cabecera .insignia{margin-left:0}.ficha-contenido{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;line-height:1.55}.ficha .acciones{margin-top:8px}.hoja-imprimible{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);width:100%;height:min(70vh,720px);margin-bottom:12px;display:block}.celda-recortada{text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.galeria{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.miniatura{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie-sutil);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;padding:0;display:grid;overflow:hidden}.miniatura:hover{border-color:var(--marca-turquesa)}.miniatura:focus-visible{outline:2px solid var(--borde-foco);outline-offset:2px}.miniatura img,.miniatura-pdf{aspect-ratio:4/3;object-fit:cover;width:100%}.miniatura-pdf{background:var(--error-realce);color:var(--error-texto);place-items:center;font-size:22px;font-weight:800;display:grid}.miniatura-pie{background:var(--superficie);color:var(--texto-suave);padding:6px 8px;font-size:12px}.visor-imagen{border-radius:var(--radio);object-fit:contain;max-width:100%;max-height:62vh;margin:0 auto 14px;display:block}.firma-vista{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);object-fit:contain;max-width:220px;max-height:70px;padding:4px}.pagina-secciones{grid-template-columns:200px minmax(0,1fr);align-items:start;gap:16px;display:grid}.menu-secciones{top:var(--alto-barra);padding:var(--esp-3) var(--esp-2);border:1px solid var(--borde);border-radius:var(--radio-lg);background:var(--superficie);box-shadow:var(--sombra-1);gap:2px;display:grid;position:sticky}.menu-secciones h1{color:var(--texto-suave);font-size:var(--texto-2xs);font-weight:var(--peso-fuerte);letter-spacing:.08em;text-transform:uppercase;margin:4px 10px 8px}.menu-secciones a{border-radius:var(--radio);color:var(--texto-secundario);font-weight:var(--peso-medio);transition:background-color var(--dur-rapida) var(--curva), color var(--dur-rapida) var(--curva);padding:7px 10px;text-decoration:none}.menu-secciones a:hover{background:var(--superficie-sutil);color:var(--texto)}.menu-secciones a.active{background:var(--accion-tenue);color:var(--accion-tenue-texto);font-weight:var(--peso-fuerte)}.contenido-secciones{grid-template-columns:minmax(0,1fr);gap:16px;min-width:0;display:grid}@media (width<=760px){.pagina-secciones{grid-template-columns:minmax(0,1fr)}.menu-secciones{flex-wrap:wrap;display:flex;position:static}.menu-secciones h1{flex-basis:100%}}.tabla .numero{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.enlace-fila{color:var(--texto);text-align:left;font-weight:600;text-decoration:none}ul.chips{padding:0;list-style:none}.insignia-presupuesto-en_curso{background:var(--accion-tenue);color:var(--enlace)}.insignia-presupuesto-emitido,.insignia-tratamiento-pendiente{background:var(--aviso-realce);color:var(--aviso-texto)}.insignia-presupuesto-pagado,.insignia-tratamiento-realizado{background:var(--ok-realce);color:var(--ok-texto)}.insignia-presupuesto-rechazado,.insignia-tratamiento-anulado{background:var(--superficie-sutil);color:var(--texto-suave)}.detalle-presupuesto{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 12px;display:flex}.detalle-presupuesto .insignia{margin-left:0}.acciones-presupuesto{margin-top:14px}.entrada-tabla{border:1px solid var(--borde-campo);border-radius:var(--radio-sm);background:var(--superficie);width:100%;min-width:0;color:var(--texto);font:inherit;padding:5px 8px}.entrada-tabla:focus-visible{outline:2px solid var(--borde-foco);outline-offset:2px}.entrada-numero{text-align:right;width:110px}.entrada-porcentaje{text-align:right;width:64px}.tabla-presupuesto td:nth-child(2){min-width:220px}.tabla tfoot th,.tabla tfoot td{border-top:2px solid var(--borde);color:var(--texto);font-size:var(--texto-base);font-weight:var(--peso-fuerte);letter-spacing:0;background:0 0;border-bottom:0}.descuento-global{color:var(--texto-suave);align-items:center;gap:8px;font-size:13px;display:inline-flex}.panel-interno{border:1px solid var(--borde);border-radius:var(--radio-md);background:var(--superficie-sutil);margin-bottom:16px;padding:14px 16px}.tachado{text-decoration:line-through}.cifras{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:10px;display:grid}.cifra{border:1px solid var(--borde);border-radius:var(--radio-md);background:var(--superficie);gap:2px;padding:14px 16px;display:grid}.cifra span{color:var(--texto-suave);font-size:var(--texto-xs);font-weight:var(--peso-medio)}.cifra strong{font-size:var(--texto-xl);font-weight:var(--peso-titulo);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.cifra-deuda{border-color:var(--error-borde);background:var(--error-fondo)}.cifra-deuda strong{color:var(--error-texto)}.cifra-favor{border-color:var(--ok-borde);background:var(--ok-fondo)}.cifra-favor strong{color:var(--ok-texto)}.resumen-cobro{border-radius:var(--radio);background:var(--superficie-sutil);flex-wrap:wrap;gap:6px 18px;margin:12px 0;padding:10px 12px;display:flex}.detalle-venta{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.detalle-venta ul{margin:4px 0 0;padding-left:18px}.navegacion-dia{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.entrada-fecha{min-height:var(--alto-control);border:1px solid var(--borde-campo);border-radius:var(--radio);background:var(--superficie);color:var(--texto);font:inherit;padding:6px 10px}.cifra-total{border-color:var(--marca-turquesa);background:var(--accion-tenue)}.cifra-total strong{color:var(--enlace)}.texto-ok{color:var(--ok-texto)}.monto-negativo{color:var(--error-texto)}.selector-periodo .chips{flex-basis:100%;margin-bottom:0}.selector-periodo .campo{flex:0 200px}.barra-proporcion{background:var(--superficie-sutil);border-radius:999px;height:8px;overflow:hidden}.barra-proporcion span{background:var(--marca-turquesa);border-radius:999px;height:100%;display:block}.estado-resultado{gap:4px;max-width:460px;display:grid}.estado-resultado div{border-bottom:1px solid var(--borde);font-variant-numeric:tabular-nums;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.estado-resultado .resultado{border-top:2px solid var(--texto);border-bottom:0;font-size:17px;font-weight:700}.acciones-fila{white-space:nowrap;text-align:right}.acciones-fila button+button{margin-left:12px}.tabla-comisiones-servicio select{min-width:150px}.fila-grupo td{background:var(--superficie-sutil);font-size:13px;font-weight:600}.fila-fija td{background:var(--accion-sutil)}.tabla-compacta{font-size:13px}.tabla-compacta th,.tabla-compacta td{padding:6px 8px}.pila{gap:16px;min-width:0;display:grid}.dos-columnas{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;display:grid}.subtitulo-pagina{margin:2px 0 0}form>.acciones{margin-top:4px}.separado{margin-top:14px}.logo-vista{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);object-fit:contain;max-width:260px;max-height:90px;padding:6px}fieldset.sin-borde{border:0;min-width:0;margin:0;padding:0}.dias-semana{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.lista-modulos{gap:2px;display:grid}.lista-modulos label{border-bottom:1px solid var(--borde);cursor:pointer;grid-template-columns:auto 1fr;align-items:start;gap:2px 10px;padding:10px 0;display:grid}.lista-modulos label input{margin-top:4px}.lista-modulos .hijo{padding-left:26px}.vista-mensaje{border-radius:var(--radio);background:var(--ok-fondo);white-space:pre-wrap;padding:10px 12px}.etiqueta-grupo{margin:0 0 6px;font-weight:600}.recorte{-webkit-line-clamp:2;white-space:pre-wrap;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.sin-salto{white-space:nowrap}.lista-cambios{overflow-wrap:anywhere;margin:0;padding-left:16px}.grilla.arrastrando .grilla-cita,.grilla.arrastrando .grilla-bloqueo{pointer-events:none;opacity:.7}.grilla-casillero.destino{z-index:2;outline:2px dashed var(--marca-turquesa);outline-offset:-2px;background:var(--accion-tenue)}.grilla-cita[draggable=true]{cursor:grab}.pago-pagada{color:var(--ok-texto);font-weight:600}.pago-pendiente,.pago-parcial{color:var(--aviso-texto);font-weight:600}.pago-descartado{color:var(--texto-suave);font-weight:600}.mes{border-top:1px solid var(--borde);border-left:1px solid var(--borde);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.mes-cabecera{border-right:1px solid var(--borde);border-bottom:1px solid var(--borde);background:var(--superficie-sutil);color:var(--texto-suave);text-align:center;padding:6px 8px;font-size:12.5px;font-weight:600}.mes-dia{border:0;border-right:1px solid var(--borde);border-bottom:1px solid var(--borde);background:var(--superficie);min-height:108px;color:var(--texto);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:4px 6px 6px;display:flex}.mes-dia:hover{background:var(--accion-sutil)}.mes-dia:focus-visible{outline:3px solid var(--marca-turquesa);outline-offset:-3px}.mes-dia.otro-mes{background:var(--superficie-sutil);color:var(--texto-suave)}.mes-dia.no-atiende{background:repeating-linear-gradient(45deg, var(--superficie-sutil), var(--superficie-sutil) 6px, var(--superficie) 6px, var(--superficie) 12px)}.mes-dia.hoy .mes-numero{background:var(--marca-turquesa);color:var(--superficie);border-radius:999px}.mes-numero{text-align:center;align-self:flex-start;min-width:24px;padding:1px 6px;font-weight:700}.mes-cita{border-left:3px solid var(--marca-turquesa);background:var(--superficie-sutil);white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:1px 5px;font-size:12px;overflow:hidden}.mes-mas{color:var(--texto-suave);font-size:12px}.columnas-sala{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px;display:grid}.columna-sala{border-radius:var(--radio);background:var(--superficie-sutil);align-content:start;gap:8px;padding:10px;display:grid}.columna-sala h3{margin:0;font-size:15px}.tarjeta-sala{border:1px solid var(--borde);border-left:4px solid var(--marca-turquesa);border-radius:var(--radio);background:var(--superficie);gap:4px;padding:10px;display:grid}.tarjeta-sala .espera{color:var(--aviso-texto);font-weight:600}@media (width<=640px){.mes-dia{min-height:64px}.mes-cita{display:none}}.barra-doble{grid-template-columns:minmax(90px,auto) minmax(80px,1fr);align-items:center;gap:2px 10px;display:grid}.barra-ingresos span{background:var(--acento)}.barra-cambios{top:var(--alto-barra);z-index:3;border:1px solid var(--aviso-borde);border-radius:var(--radio);background:var(--aviso-fondo);color:var(--aviso-texto);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:8px 0 12px;padding:10px 14px;font-weight:600;display:flex;position:sticky}.grilla-cita-ajena{border-left-color:var(--borde-campo);background:repeating-linear-gradient(45deg, var(--superficie-sutil), var(--superficie-sutil) 6px, var(--superficie) 6px, var(--superficie) 12px);color:var(--texto-suave);cursor:default}.aviso-deuda{margin:0 0 12px}.aviso-deuda .alerta{margin-bottom:6px}.insignia-correo-pendiente{background:var(--accion-tenue);color:var(--enlace)}.insignia-correo-enviado,.insignia-respuesta-confirmada{background:var(--ok-realce);color:var(--ok-texto)}.insignia-correo-fallido,.insignia-respuesta-suspendida{background:var(--error-realce);color:var(--error-texto)}.insignia-correo-omitido{background:var(--superficie-sutil);color:var(--texto-suave)}.interruptor-correos{align-items:center;gap:10px;display:flex}.correos-columnas{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));align-items:start;gap:16px;display:grid}.titulo-grupo{border-top:1px solid var(--borde);margin:22px 0 10px;padding-top:16px;font-size:15px}fieldset>.titulo-grupo:first-child{border-top:0;margin-top:0;padding-top:0}.opciones-correo{gap:8px;margin-bottom:12px;display:grid}.opcion-correo{cursor:pointer;align-items:flex-start;gap:8px;display:flex}.opcion-correo input{margin-top:3px}.opcion-con-campos{grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(110px,1fr));align-items:center;gap:0 12px;display:grid}.opcion-con-campos .campo{margin-bottom:6px}.vista-previa-correo{top:var(--alto-barra);position:sticky}.asunto-correo{border-radius:var(--radio);background:var(--superficie-sutil);margin:4px 0 10px;padding:8px 10px;font-weight:600}.asunto-correo .texto-suave{font-size:12px;font-weight:400;display:block}.marco-correo{border:1px solid var(--borde);border-radius:var(--radio);background:var(--superficie);width:100%;min-height:360px;display:block}.casilla-aviso{margin:4px 0 12px}.casilla-en-linea{align-items:center;gap:4px;margin:0 8px 0 0;display:inline-flex}.correos-cita{border-top:1px solid var(--borde);margin-top:14px;padding-top:10px}.correos-cita summary{cursor:pointer;font-weight:600}.lista-correos{gap:8px;margin:10px 0;padding:0;list-style:none;display:grid}.pagina-paciente{background:var(--superficie-sutil);align-content:start;justify-items:center;gap:16px;min-height:100vh;padding:28px 16px 40px;display:grid}.paciente-cabecera{justify-content:center;align-items:center;min-height:48px;display:flex}.paciente-cabecera img{object-fit:contain;max-width:220px;max-height:56px}.paciente-clinica{font-size:20px;font-weight:700}.paciente-tarjeta{border:1px solid var(--borde);border-top:6px solid var(--color-clinica);background:var(--superficie);width:100%;max-width:460px;box-shadow:var(--sombra-1);border-radius:16px;padding:24px 22px;font-size:15px}.paciente-tarjeta h1{margin:2px 0 16px;font-size:24px;line-height:1.2}.paciente-saludo{color:var(--texto-suave);margin:0}.paciente-cita{border-left:4px solid var(--color-clinica);background:var(--superficie-sutil);border-radius:12px;gap:4px;margin-bottom:18px;padding:16px 18px;display:grid}.paciente-cita-inactiva{border-left-color:var(--borde-campo);color:var(--texto-suave)}.paciente-cita-inactiva .paciente-fecha{text-decoration:line-through}.paciente-fecha{font-size:19px;font-weight:700}.paciente-hora{font-size:16px;font-weight:600}.paciente-acciones,.paciente-suspender{gap:10px;margin:4px 0 12px;display:grid}.boton-paciente{border-color:var(--color-clinica);background:var(--color-clinica);width:100%;color:var(--texto-sobre-clinica);padding:14px 18px;font-size:16px}.boton-paciente:hover:not(:disabled){filter:brightness(.94)}.boton-destacado{box-shadow:0 0 0 3px var(--superficie), 0 0 0 5px var(--color-clinica)}.paciente-contacto-titulo{border-top:1px solid var(--borde);margin:18px 0 8px;padding-top:14px}.paciente-contacto{flex-wrap:wrap;gap:8px;display:flex}.paciente-contacto .boton{flex:auto}.paciente-pie{max-width:460px;color:var(--texto-suave);text-align:center;font-size:13px}
