*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--f60-gris-50);color:var(--f60-gris-900);font-family:var(--f60-fuente);-webkit-font-smoothing:antialiased}
.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr)}
.login-brand{position:relative;display:grid;place-items:center;overflow:hidden;padding:64px;background:linear-gradient(145deg,var(--f60-navy-950),var(--f60-navy-800));color:#fff}
.login-brand::before{content:"";position:absolute;width:440px;height:440px;right:-190px;top:-150px;border:1px solid rgba(255,208,0,.26);border-radius:50%;box-shadow:0 0 0 74px rgba(255,255,255,.025),0 0 0 148px rgba(255,255,255,.02)}
.login-brand::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7px;background:var(--f60-oro-500)}
.login-brand-inner{position:relative;z-index:1;max-width:540px}
.login-logo{width:112px;height:auto;filter:drop-shadow(0 12px 24px rgba(0,0,0,.22))}
.login-kicker{margin:28px 0 12px;color:#b7ccdd;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.login-brand h1{margin:0 0 20px;font-size:clamp(34px,4.2vw,58px);line-height:1.04;letter-spacing:-.035em;font-weight:680}
.login-brand-inner>p:not(.login-kicker){max-width:470px;margin:0;color:#d7e5ef;font-size:17px;line-height:1.65}
.login-year{display:inline-flex;margin-top:42px;padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#c7d9e6;font-size:12px}
.login-access{display:grid;place-items:center;padding:56px;background:radial-gradient(circle at 100% 0,#fff 0,transparent 40%),var(--f60-gris-50)}
.login-box{width:min(430px,100%)}
.login-mobile-brand{display:none;align-items:center;gap:12px;margin-bottom:32px;color:var(--f60-navy-900);font-weight:700}
.login-mobile-brand img{width:50px}
.login-eyebrow{margin:0 0 8px;color:var(--f60-oro-700);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.login-box h2{margin:0 0 9px;color:var(--f60-navy-900);font-size:30px;letter-spacing:-.025em}
.login-intro{margin:0 0 28px;color:var(--f60-gris-500);line-height:1.55}
.login-box label{display:block;margin:0 0 6px;color:var(--f60-gris-700);font-size:13px;font-weight:700}
.login-box input{width:100%;height:48px;margin:0 0 18px;padding:0 13px;border:1px solid var(--f60-gris-300);border-radius:var(--f60-r-md);background:#fff;color:var(--f60-gris-900);font:inherit;box-shadow:var(--f60-s1);transition:border-color .12s,box-shadow .12s}
.login-box input:focus{outline:0;border-color:var(--f60-navy-600);box-shadow:var(--f60-anillo-foco)}
.login-box button{width:100%;min-height:48px;margin-top:4px;padding:10px 16px;display:flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:var(--f60-r-md);background:var(--f60-navy-800);color:#fff;font:inherit;font-weight:700;cursor:pointer;box-shadow:var(--f60-s2);transition:background .12s,transform .12s}
.login-box button:hover{background:var(--f60-navy-900);transform:translateY(-1px)}
.login-box button:focus-visible{outline:2px solid var(--f60-oro-500);outline-offset:3px}
.login-box small{display:block;margin-top:22px;text-align:center;color:var(--f60-gris-500)}
.login-error{margin:0 0 18px;padding:11px 13px;border:1px solid var(--f60-peligro-bd);border-left:4px solid var(--f60-peligro);border-radius:var(--f60-r-md);background:var(--f60-peligro-bg);color:var(--f60-peligro);font-size:14px;font-weight:650}
@media(max-width:820px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-access{padding:34px 22px}.login-mobile-brand{display:flex}.login-box h2{font-size:27px}}
@media(max-width:420px){.login-access{align-items:start;padding-top:28px}.login-mobile-brand{margin-bottom:48px}}
@media(prefers-reduced-motion:reduce){.login-box button{transition:none}}
