body.fetean-manager-modal-open{overflow:hidden!important}
.fetean-manager-modal{position:fixed!important;inset:0!important;z-index:2147483000!important;display:none!important;align-items:center!important;justify-content:center!important;width:100vw!important;height:100vh!important;padding:20px!important;box-sizing:border-box!important}
.fetean-manager-modal.is-open{display:flex!important}
.fetean-manager-modal__backdrop{position:absolute!important;inset:0!important;background:rgba(0,0,0,.54)!important;backdrop-filter:blur(3px)}
.fetean-manager-modal__dialog{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;width:min(100%,396px)!important;height:auto!important;max-height:calc(100vh - 40px)!important;overflow:visible!important;background:#fff!important;border-radius:12px!important;box-shadow:0 28px 80px rgba(0,0,0,.3)!important;padding:32px!important;box-sizing:border-box!important;color:#171717!important;font-family:"Inter Tight",Arial,Helvetica,sans-serif!important}
.fetean-manager-modal__close{position:absolute;top:9px;right:11px;z-index:3;border:0;background:transparent;color:#666;font-size:27px;line-height:1;cursor:pointer;padding:6px 8px}
.fetean-manager-modal__close:hover,.fetean-manager-modal__close:focus-visible{color:#171717}
.fetean-manager-modal__brand{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:center;height:92px;margin:0 0 28px;line-height:0}
.fetean-manager-modal__brand img{display:block;width:33.333333%;height:auto;max-width:none;max-height:92px;object-fit:contain}
.fetean-manager-modal__content{position:relative;flex:0 0 var(--fetean-manager-content-height,auto);height:var(--fetean-manager-content-height,auto);min-height:0}
.fetean-manager-view{display:none;height:100%}
.fetean-manager-view.is-active{display:flex;flex-direction:column}
.fetean-manager-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;gap:18px}

/* Las tres fases del acceso comparten exactamente la misma caja útil. */
.fetean-manager-login-step{display:none;height:100%;opacity:0;transform:translateY(4px)}
.fetean-manager-login-step.is-active{display:flex;flex-direction:column;gap:18px;animation:fetean-manager-step-in .2s cubic-bezier(.2,.75,.25,1) forwards}
@keyframes fetean-manager-step-in{to{opacity:1;transform:translateY(0)}}

/* Campos con label flotante. */
.fetean-manager-floating-field{position:relative}
.fetean-manager-floating-field input[type=email],.fetean-manager-floating-field input[type=password]{width:100%;height:60px;border:1px solid #aaa;border-radius:7px;background:#fff;padding:21px 14px 6px;font-family:inherit;font-size:18px;line-height:1.2;box-sizing:border-box;box-shadow:none;color:#171717;transition:border-color .16s ease,box-shadow .16s ease}
.fetean-manager-floating-field label{position:absolute;left:14px;top:50%;margin:0;color:#6d6d6d;font-size:16px;font-weight:500;line-height:1;pointer-events:none;transform:translate3d(0,-50%,0) scale(1);transform-origin:left center;will-change:transform;transition:transform .16s cubic-bezier(.2,.75,.25,1),color .16s ease}
.fetean-manager-floating-field input:focus{border-color:#e83d37;outline:0;box-shadow:0 0 0 3px rgba(232,61,55,.12)}
.fetean-manager-floating-field input:focus+label,.fetean-manager-floating-field input:not(:placeholder-shown)+label{transform:translate3d(0,-22px,0) scale(.73);color:#626262}
.fetean-manager-floating-field.is-invalid input{border-color:#d93025;box-shadow:0 0 0 3px rgba(217,48,37,.08)}
.fetean-manager-password-wrap{display:flex;flex-direction:column;gap:9px}
.fetean-manager-forgot-button{align-self:flex-end;border:0;background:transparent;padding:0;color:#5f5f5f;font:inherit;font-size:13px;line-height:1.35;text-decoration:underline;cursor:pointer}
.fetean-manager-forgot-button:hover,.fetean-manager-forgot-button:focus-visible{color:#171717}

.fetean-manager-twofactor-copy,.fetean-manager-state-copy{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin:2px 0 8px;padding:0 4px}
.fetean-manager-twofactor-copy h2,.fetean-manager-state-copy h2,.fetean-manager-view-heading h2{margin:0;font-size:21px;line-height:1.2;font-weight:700;color:#171717}
.fetean-manager-twofactor-copy p,.fetean-manager-state-copy p{margin:0;color:#555;font-size:14.5px;line-height:1.55;max-width:100%}
.fetean-manager-state-copy{margin:0;padding:10px 4px 0;justify-content:center;flex:1 1 auto}
.fetean-manager-login-step--error .fetean-manager-step-action{margin-top:18px!important}

.fetean-manager-otp-boxes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:12px 0 0}
.fetean-manager-otp-digit{width:100%!important;height:52px!important;min-width:0!important;border:1px solid #a1a1a1!important;border-radius:8px!important;background:#fff!important;padding:0!important;text-align:center!important;font-family:inherit!important;font-size:24px!important;font-weight:700!important;line-height:1!important;box-sizing:border-box!important;box-shadow:none!important;color:#171717!important;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.fetean-manager-otp-digit:focus{border-color:#e83d37!important;outline:0!important;box-shadow:0 0 0 3px rgba(232,61,55,.12)!important;transform:translateY(-1px)}

.fetean-manager-step-action{margin-top:auto!important}
.fetean-manager-primary-button,.fetean-manager-secondary-button{height:48px;border-radius:5px;font:inherit;font-size:14.5px;font-weight:700;cursor:pointer;box-sizing:border-box;transition:background .16s ease,border-color .16s ease,opacity .16s ease,transform .16s ease}
.fetean-manager-primary-button{border:1px solid #d5332e;background:#e83d37;color:#fff;padding:0 18px}
.fetean-manager-primary-button:hover:not(:disabled),.fetean-manager-primary-button:focus-visible:not(:disabled){background:#d93631;transform:translateY(-1px)}
.fetean-manager-secondary-button{border:1px solid #8f8f8f;background:#fff;color:#171717;padding:0 12px;white-space:nowrap}
.fetean-manager-secondary-button:hover:not(:disabled),.fetean-manager-secondary-button:focus-visible:not(:disabled){background:#f3f3f3}
.fetean-manager-primary-button:disabled,.fetean-manager-secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.fetean-manager-link-button{align-self:center;border:0;background:transparent;padding:4px;color:#555;font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.fetean-manager-link-button:hover,.fetean-manager-link-button:focus-visible{color:#171717}

/* Restablecimiento: mismo shell y misma altura útil que credenciales. */
.fetean-manager-view-heading{text-align:center;margin:0 0 18px}
.fetean-manager-reset-form{gap:12px}
.fetean-manager-reset-form .fetean-manager-step-action{margin-top:auto!important}
/* Los avisos no participan en el cálculo del alto. Si aparecen, flotan fuera de la tarjeta. */
.fetean-manager-form__message{display:none;position:absolute;left:32px;right:32px;top:calc(100% + 10px);z-index:4;margin:0;padding:10px 12px;border-radius:5px;font-size:13px;line-height:1.45;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.fetean-manager-form__message.is-visible{display:block}
.fetean-manager-form__message.is-success{background:#edf8ef;color:#166534}
.fetean-manager-form__message.is-error{background:#fff1f0;color:#a61b17}


/* Medición invisible: solo credenciales fija el alto común del contenido. */
.fetean-manager-modal__content--measure{position:absolute!important;left:32px!important;right:32px!important;top:0!important;z-index:-1!important;display:block!important;visibility:hidden!important;pointer-events:none!important;flex:none!important;height:auto!important;min-height:0!important;overflow:visible!important}
.fetean-manager-modal__content--measure .fetean-manager-view{height:auto!important;min-height:0!important}
.fetean-manager-modal__content--measure .fetean-manager-form{flex:none!important;min-height:0!important}
.fetean-manager-modal__content--measure .fetean-manager-login-step{height:auto!important;min-height:0!important}
.fetean-manager-modal__content--measure .fetean-manager-step-action{margin-top:18px!important}

@media(max-width:520px){
 .fetean-manager-modal{padding:10px!important}
 .fetean-manager-modal__dialog{height:auto!important;max-height:calc(100vh - 20px)!important;padding:28px 20px!important}
 .fetean-manager-modal__brand{height:82px;margin-bottom:24px}
 .fetean-manager-modal__brand img{width:33.333333%;max-height:82px}
 .fetean-manager-login-step.is-active{gap:16px}
 .fetean-manager-modal__content--measure{left:20px!important;right:20px!important}
 .fetean-manager-form__message{left:20px;right:20px}
 .fetean-manager-otp-boxes{gap:7px}
 .fetean-manager-otp-digit{height:48px!important;font-size:22px!important;border-radius:7px!important}
 .fetean-manager-twofactor-copy p,.fetean-manager-state-copy p{font-size:14px}
}
