*{box-sizing:border-box}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:inherit}.login-page{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:36px 24px;background:radial-gradient(ellipse at 15% 15%,#e5edfb,transparent 55%),radial-gradient(ellipse at 95% 95%,#edf2fa,transparent 50%),#f5f7fb;color:#18314f}.login-shell{width:min(940px,100%)}.login-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 20px}.login-topline>a{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:10px;letter-spacing:1.35px;font-weight:650;color:#46628a}.login-topline>span{font-size:11px;color:#8a99ae}.topline-mark{font-size:23px;line-height:1;color:#4473c1}.login-layout{display:grid;grid-template-columns:1fr 1.1fr;background:white;border:1px solid #e3eaf4;border-radius:24px;overflow:hidden;box-shadow:0 24px 75px #153a7410}.login-intro{position:relative;isolation:isolate;background:linear-gradient(145deg,#12316b,#16469b 65%,#285db4);color:#fff;overflow:hidden;padding:52px 40px;display:flex;flex-direction:column;justify-content:center}.login-intro:after{content:"";position:absolute;z-index:-1;right:-155px;bottom:-220px;width:470px;height:470px;border:1px solid #9bc1ff25;border-radius:50%;box-shadow:0 0 0 48px #9bc1ff07,0 0 0 96px #9bc1ff05;pointer-events:none}.intro-eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#a9c8f6}.login-intro h1{font-size:clamp(28px,3vw,39px);font-weight:550;line-height:1.23;letter-spacing:-1.2px;margin:20px 0 15px}.login-intro>p{font-size:13px;line-height:1.85;color:#b9cff0;max-width:305px;margin:0}.login-workflow{display:grid;gap:22px;margin:36px 0 40px}.workflow-item{display:flex;align-items:center;gap:13px}.workflow-symbol{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;border:1px solid #b2d0fd35;border-radius:11px;background:#b2d0fd0d;font-size:19px;color:#c2ddff}.workflow-item strong{display:block;font-size:12px;font-weight:600;margin-bottom:5px}.workflow-item small{display:block;font-size:10px;color:#a8c4ed;line-height:1.5}.intro-signature{display:flex;align-items:center;gap:8px;font-size:9px;color:#96b9ec;line-height:1.7}.intro-signature>span{width:5px;height:5px;border-radius:50%;background:#8bb8fc;flex-shrink:0}.login-access{padding:40px 48px;display:flex;align-items:center;justify-content:center}.login-form-wrap{width:100%;max-width:330px}.login-identity{height:45px;display:flex;align-items:center;margin-bottom:28px}.login-identity img{display:block;max-width:175px;max-height:45px;object-fit:contain}.login-identity strong{font-size:17px;letter-spacing:1.3px;color:#2150a1}.access-eyebrow{font-size:8px;letter-spacing:1.7px;color:#8b9bb2;font-weight:600}.login-form-wrap h2{font-size:25px;font-weight:650;letter-spacing:-.7px;margin:10px 0 9px;color:#1b355b}.access-description{font-size:12px;line-height:1.65;color:#8a98ad;margin:0 0 26px}.form-field{margin-bottom:18px}.form-field label{display:block;font-size:11px;font-weight:600;color:#48617f;margin-bottom:8px}.form-field input{display:block;width:100%;min-height:45px;border:1px solid #dce5f2;border-radius:10px;background:#fbfcff;padding:12px 14px;font-size:12px;color:#263f60;outline:none;transition:border-color .15s,box-shadow .15s}.form-field input::placeholder{color:#a3b0c2}.form-field input:focus{border-color:#7198d3;box-shadow:0 0 0 3px #5b8ed512;background:white}.password-field{position:relative}.password-field input{padding-right:45px}.password-field button{position:absolute;right:5px;top:5px;width:35px;height:35px;border:0;border-radius:7px;background:none;color:#8d9fb9;display:grid;place-items:center;cursor:pointer}.password-field button:hover{color:#376cb7;background:#edf3fb}.login-submit{width:100%;display:flex;align-items:center;justify-content:space-between;background:#2158ae;color:white;border:0;border-radius:10px;padding:12px 16px;min-height:45px;font-size:12px;font-weight:600;cursor:pointer;margin-top:5px;box-shadow:0 5px 12px #2158ae16;transition:background .15s}.login-submit:hover{background:#194b99}.login-submit>span:last-child{font-size:18px;line-height:1;font-weight:400}.login-submit:disabled{opacity:.65;cursor:wait}.login-help{font-size:10px;color:#7e90a8;line-height:1.7;text-align:center;margin:24px 0 0}.login-help>span{color:#9ba8b9}.access-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 5px 0;font-size:9px;color:#91a0b5}.access-footer strong{font-size:9px;color:#617da4;letter-spacing:.3px}.login-alert{padding:11px 13px;background:#fff2f1;border:1px solid #f3d7d3;color:#a15148;border-radius:10px;font-size:11px;line-height:1.6;margin-bottom:18px}.login-divider{display:flex;align-items:center;gap:12px;color:#94a3b8;font-size:10px;margin:20px 0 12px}.login-divider:before,.login-divider:after{content:"";height:1px;background:#e4eaf3;flex:1}.login-oauth{width:100%;padding:11px;border:1px solid #dce5f2;background:white;border-radius:10px;color:#4b6385;font-size:11px;cursor:pointer}.login-oauth:hover{background:#f5f8fd}.oauth-help{font-size:9px;text-align:center;color:#9aa8bb}button:focus-visible,a:focus-visible{outline:2px solid #7c9fd5;outline-offset:3px}@media(max-width:800px){.login-intro{padding:38px 28px}.login-access{padding:34px 30px}.login-intro h1{font-size:30px}.workflow-item small{font-size:9px}.login-form-wrap h2{font-size:23px}}@media(max-width:620px){.login-page{padding:22px 18px;align-content:center}.login-topline{padding-bottom:14px}.login-topline>a{font-size:9px;letter-spacing:.9px}.login-topline>span{display:none}.login-layout{grid-template-columns:1fr;border-radius:20px}.login-intro{padding:25px 26px}.intro-eyebrow{font-size:8px;letter-spacing:1.5px}.login-intro h1{font-size:25px;line-height:1.22;margin:12px 0 10px;letter-spacing:-.7px}.login-intro h1 br{display:none}.login-intro>p{font-size:11px;line-height:1.7;max-width:360px}.login-workflow,.intro-signature{display:none}.login-access{padding:28px 26px 30px}.login-form-wrap{max-width:380px}.login-identity{height:34px;margin-bottom:18px}.login-identity img{max-height:34px;max-width:145px}.access-eyebrow{display:none}.login-form-wrap h2{font-size:23px;margin-top:5px}.access-description{font-size:11px;margin-bottom:22px}.form-field input{font-size:16px;min-height:46px}.form-field{margin-bottom:16px}.login-submit{min-height:46px}.login-help{margin-top:20px}.access-footer{font-size:8px;padding-top:15px;flex-wrap:wrap;justify-content:center;gap:5px 14px}.access-footer strong{font-size:8px}.topline-mark{font-size:20px}}@media(max-height:720px) and (min-width:621px){.login-page{padding:22px}.login-intro{padding-top:30px;padding-bottom:30px}.login-access{padding-top:28px;padding-bottom:28px}.login-identity{margin-bottom:20px}.login-workflow{gap:18px;margin:28px 0}.access-description{margin-bottom:20px}.login-help{margin-top:20px}.access-footer{padding-top:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Fotografía institucional: panel de escritorio y portada compacta móvil. */
.login-intro{padding:0;min-height:540px;justify-content:flex-end;background:#16469b}.login-intro:after{display:none}.institutional-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;z-index:-2}.login-intro:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(9,34,76,.2) 60%,rgba(9,34,76,.95) 100%)}.institutional-caption{padding:30px 32px}.institutional-caption .intro-eyebrow{color:#d7e8ff;font-size:9px}.institutional-caption h1{font-size:30px;line-height:1.2;margin:13px 0 10px}.institutional-caption p{font-size:12px;line-height:1.6;color:#e0eafb;margin:0;max-width:300px}
@media(max-width:800px){.institutional-caption{padding:26px}.institutional-caption h1{font-size:27px}}
@media(max-width:620px){.login-intro{min-height:185px;height:185px}.institutional-photo{object-position:50% 17%}.login-intro:before{background:linear-gradient(90deg,rgba(9,34,76,.78),rgba(9,34,76,.1)),linear-gradient(0deg,rgba(9,34,76,.4),transparent)}.institutional-caption{padding:22px 24px;max-width:260px}.institutional-caption .intro-eyebrow{font-size:8px;letter-spacing:1px}.institutional-caption h1{font-size:24px;margin:10px 0 8px}.institutional-caption h1 br{display:block}.institutional-caption p{font-size:10px;max-width:210px}.login-access{padding-top:24px;padding-bottom:24px}}
@media(max-height:720px) and (min-width:621px){.login-intro{min-height:490px}}
