.login-viewport{background-color:var(--surface-2);box-sizing:border-box;flex-direction:column;justify-content:space-between;width:100%;min-height:100dvh;display:flex;position:relative}.login-ambient-bg{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.login-ambient-glow{pointer-events:none;filter:blur(90px);opacity:.65;border-radius:50%;position:absolute}.login-ambient-glow--teal{background:radial-gradient(circle,#2252561f 0%,#7dd3c00a 70%,#0000 100%);width:480px;height:480px;top:-120px;right:-100px}.login-ambient-glow--blue{background:radial-gradient(circle,#054c8a1a 0%,#05549908 70%,#0000 100%);width:520px;height:520px;bottom:-150px;left:-120px}.login-top-bar{z-index:2;width:100%;max-width:var(--site-container-max,1280px);padding:20px var(--content-padding-x,var(--page-padding-x));box-sizing:border-box;justify-content:space-between;align-items:center;margin-inline:auto;display:flex;position:relative}.login-back-link{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--texto-secundario);backdrop-filter:blur(4px);background-color:#ffffffb3;border:1px solid #054c8a14;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;text-decoration:none;transition:color .2s,background-color .2s,transform .15s,border-color .2s;display:inline-flex}.login-back-link:hover{color:var(--logo-azul);background-color:#fff;border-color:#054c8a33;transform:translate(-2px)}.login-back-link:focus-visible{outline:2px solid var(--logo-azul);outline-offset:2px}.login-back-icon{font-size:14px;transition:transform .2s}.login-back-link:hover .login-back-icon{transform:translate(-2px)}.login-server-pill{font-size:var(--fs-xs);color:var(--texto-secundario);background-color:#ffffffa6;border:1px solid #16a34a33;border-radius:999px;align-items:center;gap:7px;padding:6px 12px;display:inline-flex}.login-server-dot{background-color:#16a34a;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 6px #16a34a99}.login-server-icon{color:var(--logo-verde);font-size:13px}.login-server-text{font-weight:var(--fw-medium)}.login-main-container{z-index:2;width:100%;padding:10px var(--content-padding-x,var(--page-padding-x)) 32px;box-sizing:border-box;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.login-card{box-sizing:border-box;background-color:#fff;border:1px solid #e3ebee;border-radius:20px;width:100%;max-width:460px;padding:clamp(28px,4vw,38px) clamp(22px,3.5vw,36px) 30px;transition:transform .2s,box-shadow .2s;box-shadow:0 20px 48px #054c8a14,0 4px 12px #00000005}@keyframes loginShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-7px)}40%,80%{transform:translate(7px)}}.login-card--shake{animation:.45s ease-in-out loginShake;border-color:#fca5a5!important;box-shadow:0 20px 48px #e11d481f,0 4px 12px #00000008!important}.login-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.login-brand{align-items:center;gap:12px;margin-bottom:14px;text-decoration:none;display:inline-flex}.login-brand__logo{object-fit:contain;filter:drop-shadow(0 2px 6px #054c8a1f);width:46px;height:46px}.login-brand__text{text-align:left;flex-direction:column;line-height:.95;display:flex}.login-brand__clinica{font-size:15px;font-weight:var(--fw-bold);color:var(--logo-azul);letter-spacing:.04em}.login-brand__humana{font-size:15px;font-weight:var(--fw-bold);color:var(--logo-rojo);letter-spacing:.04em}.login-badge-wrap{margin-bottom:10px}.login-title{font-size:clamp(1.6rem,2.2vw,1.95rem);font-weight:var(--fw-bold);color:var(--texto-heading);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);margin:0 0 8px}.login-title-bar{background:linear-gradient(90deg, var(--logo-azul), var(--logo-azul-light));border-radius:999px;width:44px;height:3px;margin-bottom:10px}.login-subtitle{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--texto-secundario);max-width:360px;margin:0}.login-alert{font-size:var(--fs-xs);box-sizing:border-box;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 16px;line-height:1.45;animation:.25s ease-out loginAlertFade;display:flex}@keyframes loginAlertFade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-alert--success{color:#065f46;background-color:#ecfdf5;border:1px solid #a7f3d0}.login-alert--error{color:#991b1b;background-color:#fef2f2;border:1.5px solid #fecaca;box-shadow:0 4px 12px #ef44440f}.login-alert__icon-wrap{flex-shrink:0;margin-top:2px}.login-alert__content{text-align:left;flex-direction:column;flex:1;gap:2px;display:flex}.login-alert__title{letter-spacing:-.01em;font-size:.88rem;font-weight:700}.login-alert__text{opacity:.95;font-size:.8rem;line-height:1.4}.login-alert__close-btn{all:unset;cursor:pointer;color:inherit;opacity:.55;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,background-color .15s;display:flex}.login-alert__close-btn:hover{opacity:1;background-color:#0000000d}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{text-align:left;flex-direction:column;gap:6px;display:flex}.login-field-header{justify-content:space-between;align-items:center;display:flex}.login-label{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--texto-heading)}.login-forgot-btn{all:unset;cursor:pointer;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--logo-azul);transition:color .15s}.login-forgot-btn:hover{color:var(--logo-azul-light);text-decoration:underline}.login-forgot-btn:focus-visible{outline:2px solid var(--logo-azul);outline-offset:2px;border-radius:2px}.login-input-group{align-items:center;width:100%;display:flex;position:relative}.login-input-icon{color:var(--texto-muted);pointer-events:none;transition:color .2s;position:absolute;left:14px}.login-input{width:100%;font-size:var(--fs-sm);font-family:var(--font-primary);color:var(--texto-heading);box-sizing:border-box;background-color:#fff;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;padding:11px 14px 11px 42px;transition:border-color .2s,box-shadow .2s,background-color .2s}.login-input:hover{border-color:#cbd5e1}.login-input:focus{border-color:var(--logo-azul);background-color:#fff;box-shadow:0 0 0 3px #054c8a1f}.login-input--error{background-color:#fffbfa!important;border-color:#ef4444!important;box-shadow:0 0 0 3px #ef444426!important}.login-input-group--error .login-input-icon{color:#ef4444!important}.login-input-group:focus-within .login-input-icon{color:var(--logo-azul)}.login-input-group--error.login-input-group:focus-within .login-input-icon{color:#ef4444!important}.login-input::placeholder{color:#94a3b8}.login-input--password{padding-right:44px}.login-toggle-password{all:unset;cursor:pointer;color:var(--texto-muted);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:color .15s,background-color .15s;display:flex;position:absolute;right:10px}.login-toggle-password:hover{color:var(--texto-heading);background-color:#f1f5f9}.login-toggle-password:focus-visible{outline:2px solid var(--logo-azul);outline-offset:1px}.login-options-row{justify-content:space-between;align-items:center;display:flex}.login-checkbox-label{font-size:var(--fs-xs);color:var(--texto-secundario);cursor:pointer;user-select:none;align-items:center;gap:8px;display:inline-flex}.login-checkbox{width:16px;height:16px;accent-color:var(--logo-azul);cursor:pointer;border-radius:4px}.btn-primary.login-btn-submit{box-sizing:border-box;border-radius:8px;justify-content:center;gap:8px;width:100%;height:42px;margin-top:4px;padding:0 20px;font-size:14px;font-weight:500;line-height:20px;transition:background-color .15s,transform .15s,opacity .15s}.btn-primary.login-btn-submit:hover:not(:disabled){background-color:var(--logo-azul-light);transform:translateY(-1px)}.btn-primary.login-btn-submit:active:not(:disabled){transform:translateY(0)}.btn-primary.login-btn-submit:disabled{opacity:.75;cursor:not-allowed}.login-btn-arrow{transition:transform .2s}.btn-primary.login-btn-submit:hover:not(:disabled) .login-btn-arrow{transform:translate(3px)}.login-loading-inline{align-items:center;gap:9px;display:inline-flex}.login-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:17px;height:17px;animation:.65s linear infinite loginSpinnerRotate}@keyframes loginSpinnerRotate{to{transform:rotate(360deg)}}.login-footer{text-align:center;border-top:1px solid #f1f5f9;justify-content:center;align-items:center;margin-top:18px;padding-top:14px;display:flex}.login-security-badge{font-size:11.5px;font-weight:var(--fw-medium);color:var(--logo-verde);align-items:center;gap:6px;display:inline-flex}.login-shield-icon{color:var(--logo-verde);font-size:14px}.login-security-notice{color:var(--texto-muted);max-width:340px;margin:0;font-size:11px;line-height:1.4}.login-hint-card{font-size:var(--fs-xs);color:var(--texto-secundario);backdrop-filter:blur(4px);background-color:#ffffffd9;border:1px dashed #054c8a33;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:8px 14px;display:inline-flex;box-shadow:0 2px 8px #00000005}.login-hint-icon{color:var(--logo-azul);flex-shrink:0;font-size:14px}.login-hint-card code{color:var(--logo-azul);background-color:#f1f5f9;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:11.5px}.login-modal-backdrop{-webkit-backdrop-filter:blur(6px);z-index:999;box-sizing:border-box;background-color:#071619a6;justify-content:center;align-items:center;padding:16px;animation:.2s modalOverlayFade;display:flex;position:fixed;inset:0}@keyframes modalOverlayFade{0%{opacity:0}to{opacity:1}}.login-modal-card{box-sizing:border-box;background-color:#fff;border:1px solid #e3ebee;border-radius:18px;width:100%;max-width:440px;animation:.25s cubic-bezier(.16,1,.3,1) modalSlideUp;overflow:hidden;box-shadow:0 24px 50px #054c8a2e,0 4px 12px #0000000a}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.login-modal-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.login-modal-header__info{flex-direction:column;gap:4px;display:flex}.section-badge--sm{width:fit-content;padding:2px 8px;font-size:10.5px}.login-modal-title{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--texto-heading);margin:0}.login-modal-close{all:unset;cursor:pointer;color:var(--texto-muted);border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:background-color .15s,color .15s;display:flex}.login-modal-close:hover{color:var(--texto-heading);background-color:#f1f5f9}.login-modal-close:focus-visible{outline:2px solid var(--logo-azul);outline-offset:2px}.login-modal-body{box-sizing:border-box;padding:24px}.login-modal-desc{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--texto-secundario);margin:0 0 18px}.login-modal-actions{justify-content:flex-end;align-items:center;gap:14px;margin-top:22px;display:flex}.login-modal-btn-cancel{all:unset;cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--texto-secundario);border-radius:999px;padding:8px 14px;transition:color .15s,background-color .15s}.login-modal-btn-cancel:hover{color:var(--texto-heading);background-color:#f1f5f9}.login-modal-success{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.login-modal-success-icon-wrap{color:#10b981;background-color:#ecfdf5;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.login-modal-success h3{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--texto-heading);margin:0}.login-modal-success p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--texto-secundario);margin:0}.login-modal-ok-btn{margin-top:8px}@media (width<=540px){.login-top-bar{padding:14px 16px}.login-server-pill{display:none}.login-card{border-radius:16px;padding:26px 18px 24px}.login-hint-card{text-align:center;border-radius:12px;flex-direction:column;gap:4px;padding:10px 14px}}@media (prefers-reduced-motion:reduce){.login-card,.login-modal-card,.login-modal-backdrop,.login-spinner{transition:none!important;animation:none!important}}.login-top-actions{align-items:center;gap:10px;display:flex}
