.login-page{padding:48px 24px 64px;background:radial-gradient(ellipse at 20% 70%,#d7eeff 0,transparent 55%),linear-gradient(145deg,#f5fbff,#eaf6ff 52%,#f7fcff);min-height:calc(100vh - 160px);display:flex;align-items:center;justify-content:center}
.login-page *{box-sizing:border-box}
.login-card{min-width:0;width:100%;max-width:1180px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:#fff;border:1px solid #dcecff;border-radius:24px;overflow:hidden;box-shadow:0 18px 55px #1556a51a,0 3px 8px #1556a510}
.login-story{position:relative;isolation:isolate;overflow:hidden;min-height:710px;background:linear-gradient(130deg,#061b50,#0646ac 74%,#0871df);color:#fff;display:flex;flex-direction:column;padding:50px 42px}
.login-story:before,.login-story:after{content:"";position:absolute;z-index:-1;width:650px;height:650px;border:1px solid #278aff70;border-radius:50%;pointer-events:none}
.login-story:before{top:210px;left:-460px}.login-story:after{top:-210px;right:-480px}
.login-story-copy{position:relative;z-index:2}
.login-eyebrow{display:inline-block;border:1px solid #2682f3;border-radius:30px;padding:10px 20px;font-size:10px;letter-spacing:2.5px;font-weight:800;color:#65bbff;background:#06459766}
.login-story h1{font-family:Inter,sans-serif;font-size:clamp(30px,3vw,43px);line-height:1.16;letter-spacing:-1.5px;color:#fff;margin:23px 0 18px;font-weight:850}
.login-story h1 span{color:#00d3da}
.login-story-copy>p{font-size:18px;line-height:1.6;max-width:390px;margin:0;color:#edf5ff}
.login-professionals{position:absolute;bottom:0;right:-18px;width:auto;max-width:100%;height:58%;object-fit:contain;object-position:right bottom;opacity:1}
.login-story-note{position:relative;z-index:2;margin:auto 0 0!important;padding-top:24px;font-size:12px;line-height:1.5;color:#fff;text-shadow:0 1px 8px #051b50}
.login-story-note:before{content:"";display:block;width:28px;height:3px;background:#00d3da;margin-bottom:14px}
.login-form-panel{padding:42px 46px 32px;min-width:0;align-self:center}
.login-welcome{text-align:center;margin-bottom:24px}
.login-avatar{display:flex;align-items:center;justify-content:center;background:#edf5ff;color:#075ce6;border-radius:50%;width:76px;height:76px;margin:0 auto 17px}
.login-welcome h2{font-family:Inter,sans-serif;font-size:30px;letter-spacing:-1px;line-height:1.2;margin:0 0 8px;color:#091f58;font-weight:850}
.login-welcome p{font-size:15px;color:#61749b;margin:0;line-height:1.5}
.login-tabs{display:flex;background:#f0f3f8;padding:4px;border-radius:13px;margin-bottom:26px}
.login-tabs a{flex:1;text-align:center;border-radius:10px;padding:12px 8px;font-size:14px;font-weight:750;text-decoration:none;color:#53678c}
.login-tabs a[aria-current]{background:#073c9d;color:#fff;box-shadow:0 2px 5px #133b8220}
.login-tabs a:hover{filter:brightness(.94)}
.login-form-panel .fg{margin-bottom:20px}.login-form-panel .fg label{color:#102352;font-size:13px;margin-bottom:9px}
.login-form-panel .fg input{height:54px;border:1px solid #c5d8f7;border-radius:8px;background:#fbfcff;padding:14px 16px;color:#14264e;font-size:16px}
.login-form-panel .fg input:focus{border-color:#0862df;box-shadow:0 0 0 3px #0862df18;background:#fff}
.login-form-panel .fg input::placeholder{color:#7d8ba8;opacity:1}
.login-form-panel a[href="recuperar-contrasena.php"]{color:#0059df!important}
.login-form-panel .login-submit{background:#075bd8;border:1px solid #075bd8;border-radius:10px;min-height:55px;font-size:17px;box-shadow:0 6px 13px #075bd81c;margin-top:23px;gap:18px}
.login-form-panel .login-submit:hover{background:#0647ad}.login-submit span{font-size:27px;line-height:1;font-weight:400}
.login-form-panel .form-foot{margin-top:26px;padding-top:0;border:0;text-align:center;color:#61749b;font-size:13px}.login-form-panel .form-foot a{color:#008f9d;font-weight:800}
.login-protected{display:flex;align-items:center;justify-content:center;gap:10px;margin:25px 0 0;font-size:12px;color:#64799d}
.login-form-panel .alert{line-height:1.55;font-size:13px}
.login-page a:focus-visible,.login-page button:focus-visible{outline:3px solid #1b99e8;outline-offset:4px}
@media(min-width:1500px){.login-page{padding-top:54px;padding-bottom:70px}.login-card{max-width:1220px}}
@media(max-width:1000px){.login-story{padding:38px 28px;min-height:680px}.login-form-panel{padding:35px 28px}.login-welcome h2{font-size:26px}.login-story h1{font-size:34px}.login-story-copy>p{font-size:16px}}
@media(max-width:760px){.login-page{padding:24px 16px 36px;min-height:0}.login-card{max-width:520px;grid-template-columns:minmax(0,1fr);border-radius:18px}.login-story{min-height:0;padding:26px 28px}.login-eyebrow{font-size:9px;padding:7px 13px}.login-story h1{font-size:29px;letter-spacing:-.8px;margin:16px 0 12px}.login-story-copy>p{font-size:14px;max-width:350px}.login-professionals,.login-story-note{display:none}.login-form-panel{padding:28px 25px}.login-avatar{width:58px;height:58px;margin-bottom:14px}.login-avatar svg{width:30px;height:30px}.login-welcome h2{font-size:26px}.login-welcome p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.login-page *{transition:none!important}}