/* Acceso de Administración, basado en la composición de Talentus Editorial. */
:root{color-scheme:light;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1a1d24;background:#fff;font-synthesis:none;font-optical-sizing:auto}
*{box-sizing:border-box}
body.tl-login{margin:0;line-height:1.43}
.tl-login-layout{--scale:1;display:grid;min-height:100vh;min-height:100dvh;background:#e9ecf5;padding:16px;align-items:center}
.tl-login-brand{display:none}
.tl-login-form-panel{width:100%;max-width:520px;margin:auto;background:#fff;border-radius:28px;padding:36px 24px max(32px,env(safe-area-inset-bottom))}
.tl-login-box{display:flex;flex-direction:column;gap:calc(20px * var(--scale));width:100%;max-width:448px;margin:auto}
.tl-login-mobile-logo{width:auto;height:28px;align-self:center;margin-bottom:16px;max-width:100%;object-fit:contain}
.tl-login h1{margin:0;font-family:Manrope,Inter,system-ui,sans-serif;font-size:30px;line-height:1.2;font-weight:600;letter-spacing:-.5px;overflow-wrap:break-word}
.tl-login-subtitle{margin:-4px 0 0;color:#3d434f;font-size:calc(14px * var(--scale))}
.tl-login form{display:flex;flex-direction:column;gap:calc(20px * var(--scale));margin:0}
.tl-login-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.tl-login label{font-size:calc(14px * var(--scale));font-weight:500;color:#3d434f}
.tl-login input{width:100%;min-width:0;height:calc(48px * var(--scale));border:1px solid #d9dee7;border-radius:10px;background:#fff;color:#1a1d24;font:inherit;font-size:max(16px,calc(16px * var(--scale)));padding:0 16px;transition:border-color .15s,box-shadow .15s}
.tl-login input::placeholder{color:#6f7787;opacity:1}
.tl-login input:hover{border-color:#b9c2d0}
.tl-login input:focus{outline:none;border-color:#3163b3;box-shadow:0 0 0 3px rgb(49 99 179 / 15%)}
.tl-login input:user-invalid{border-color:#b33163}
.tl-login-password{position:relative}
.tl-login-password:has(.tl-login-reveal:not([hidden])) input{padding-right:52px}
.tl-login-password input::-ms-reveal{display:none}
.tl-login button{font:inherit;cursor:pointer}
.tl-login button:focus-visible{outline:2px solid #3163b3;outline-offset:3px}
.tl-login-reveal{position:absolute;right:2px;top:0;height:100%;width:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#6f7787}
.tl-login-reveal[hidden]{display:none}
.tl-login-reveal:hover{color:#1f3e70;background:#f8f9fb}
.tl-login-eye-slash{display:none}
.tl-login-reveal[aria-pressed=true] .tl-login-eye-slash{display:block}
.tl-login-submit{height:calc(48px * var(--scale));border:1px solid transparent;border-radius:10px;background:#3163b3;color:#fff;font-size:calc(16px * var(--scale));font-weight:500;transition:background .15s}
.tl-login-submit:hover{background:#1f3e70}
.tl-login-submit:active{background:#183257}
.tl-login-submit:disabled{cursor:wait;background:#1f3e70}
.tl-login-foot{margin:0;text-align:center;font-size:calc(14px * var(--scale));color:#6f7787}
.tl-login-foot strong{font-weight:500}
.tl-login-error,.tl-login-notice{margin:0;padding:12px 14px;border-radius:10px;font-size:14px;overflow-wrap:anywhere}
.tl-login-error{color:#9c2855;background:#f9eaf0;border:1px solid #e6b7ca}
.tl-login-notice{color:#1f3e70;background:#eef3fa;border:1px solid #dce5f3}
.tl-login-caps{margin:0;font-size:13px;color:#8d680f}
.tl-login-caps:empty{display:none}
@media(max-width:400px){.tl-login-form-panel{padding-left:20px;padding-right:20px}}
@media(min-width:901px){
 .tl-login-layout{--scale:.85;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);height:100vh;height:100dvh;align-items:stretch;background:#fff}
 .tl-login-brand{display:flex;min-height:0;flex-direction:column;background:#f4f4f6;border-radius:28px;padding:40px 40px 48px;overflow:hidden}
 .tl-login-logo{height:clamp(20px,1.95vw,28px);width:auto;align-self:flex-start;max-width:100%;object-fit:contain}
 .tl-login-art{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;overflow:hidden;margin:0 -20px}
 .tl-login-illustration{height:auto;max-height:151.5%;width:114.2%;flex:none;transform:translate(.58%,4.51%);user-select:none}
 .tl-login-claim{font-family:Manrope,Inter,system-ui,sans-serif;font-size:clamp(28px,2.6vw,37px);font-weight:600;line-height:1.12;letter-spacing:-.5px;max-width:15ch;margin:0 0 24px}
 .tl-login-claim span{color:#3163b3}
 .tl-login-company{margin:0;color:#3d434f;font-size:14px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px}.tl-login-company strong{font-weight:500;color:#1a1d24}.tl-login-company .tl-login-dot{color:#6f7787}
 .tl-login-form-panel{display:flex;min-height:0;max-width:none;align-items:center;justify-content:center;overflow-y:auto;border-radius:0;padding:48px 40px;margin:0}
 .tl-login-box{max-width:calc(448px * var(--scale));margin:auto}
 .tl-login-mobile-logo{display:none}
 .tl-login h1{font-size:calc(32px * var(--scale))}
 .tl-login input{font-size:calc(16px * var(--scale))}
}
@media(min-width:901px) and (max-width:1180px){.tl-login-brand{padding:32px 32px 40px}.tl-login-claim{font-size:clamp(26px,2.6vw,32px)}}
@supports(opacity:tan(atan2(1px,1px))){@media(min-width:901px){.tl-login-layout{--scale:clamp(.85,tan(atan2(100vw,2560px)),1)}}}
@media(prefers-reduced-motion:reduce){.tl-login input,.tl-login-submit{transition:none}}
@media(forced-colors:active){.tl-login-submit{border-color:ButtonText}.tl-login input:focus{outline:2px solid Highlight}.tl-login-error{border-color:CanvasText}}
