/* Shared login screen; scoped to avoid affecting the calculator. */
body.auth-locked{overflow:hidden}
body.auth-locked>:not(#privateLogin):not(script){visibility:hidden}
#privateLogin{position:fixed;inset:0;z-index:999999;display:block!important;overflow-y:auto;padding:0!important;background:#f5f4f0!important;color:#17242d!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.5}
#privateLogin[hidden]{display:none!important}
#privateLogin *{box-sizing:border-box}
#privateLogin a{color:inherit;text-decoration:none}
#privateLogin button,#privateLogin input{font:inherit}
#privateLogin a:focus-visible,#privateLogin button:focus-visible{outline:3px solid #c44d1c;outline-offset:4px}
#privateLogin .access-wrap{max-width:1220px;margin:auto;padding:38px 36px 24px;min-height:100%;display:flex;flex-direction:column}
#privateLogin .access-brand{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font-size:17px;font-weight:850;letter-spacing:.8px}
#privateLogin .access-brand small{display:block;font-size:10px;letter-spacing:1.8px;font-weight:650;color:#657078;margin-top:1px}
#privateLogin .access-emblem{width:49px;height:49px;background:#18252e;border-radius:12px;color:#fff;display:flex;align-items:center;justify-content:center;letter-spacing:-2px;font-size:20px}
#privateLogin .access-emblem span{font-size:17px;color:#ff8759;align-self:flex-start;margin-top:6px}
#privateLogin .access-layout{display:grid;grid-template-columns:1.08fr 1fr;margin:auto 0;padding:42px 0;align-items:stretch}
#privateLogin .access-story{border-radius:24px 0 0 24px;padding:56px 44px;background:#172630;color:#fff;display:flex;flex-direction:column;justify-content:center;min-width:0}
#privateLogin .access-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.7px;color:#ba481b}
#privateLogin .access-story .access-eyebrow{color:#ffaf88}
#privateLogin .access-story h2{font-size:clamp(32px,3.7vw,49px);letter-spacing:-1.8px;line-height:1.13;margin:24px 0 20px;font-weight:750}
#privateLogin .access-story em{color:#ff9365;font-style:normal}
#privateLogin .access-story>p{font-size:17px;line-height:1.7;color:#c5cfd4;max-width:330px;margin:0}
#privateLogin .access-steps{display:flex;gap:22px;border-top:1px solid #3b4851;margin-top:38px;padding-top:24px;flex-wrap:wrap}
#privateLogin .access-steps span{font-size:12px;color:#dce2e6}
#privateLogin .access-steps b{display:block;color:#ffaf88;margin-bottom:6px;font-size:11px;letter-spacing:1px}
#privateLogin .access-signature{display:flex;align-items:center;gap:12px;color:#d1d9de;margin-top:44px;font-size:13px}
#privateLogin .access-signature>span{font-size:30px;color:#ff9365}
#privateLogin .access-panel{padding:48px 44px;background:white;border:1px solid #e5e5e0;border-left:0;border-radius:0 24px 24px 0;min-width:0}
#privateLogin .access-heading h1{font-size:29px;line-height:1.2;letter-spacing:-1px;margin:13px 0 12px;color:#17242d}
#privateLogin .access-heading p{font-size:15px;line-height:1.65;color:#626d75;margin:0 0 28px}
#privateLogin .access-form label{display:block;font-size:14px;font-weight:650;margin:18px 0 8px;color:#24333d}
#privateLogin .access-form input{display:block;width:100%;height:54px;border:1px solid #cdd3d4;background:#fafbf9;color:#17242d;border-radius:10px;padding:0 15px;font-size:16px;outline:none;min-width:0}
#privateLogin .access-form input:focus{border-color:#c95728;box-shadow:0 0 0 3px #c957281c}
#privateLogin .access-form input::placeholder{color:#778189;opacity:1}
#privateLogin .access-password{position:relative}
#privateLogin .access-password input{padding-right:85px}
#privateLogin .access-password button{position:absolute;right:4px;top:5px;height:44px;background:transparent;border:0;color:#495762;font-size:13px;font-weight:700;padding:0 12px;cursor:pointer;border-radius:6px}
#privateLogin .access-message{font-size:14px;color:#9c291f;margin:12px 0;line-height:1.5;overflow-wrap:anywhere}
#privateLogin .access-message:empty{display:none}
#privateLogin .login-submit{width:100%;height:54px;background:#c34e20!important;color:#fff!important;border:0;border-radius:10px;padding:0 18px;margin-top:24px;font-size:15px;font-weight:750;display:flex;align-items:center;justify-content:space-between;cursor:pointer;transition:background .15s}
#privateLogin .login-submit:hover{background:#a83e15!important}
#privateLogin .login-submit:disabled{opacity:.65;cursor:wait}
#privateLogin .login-submit span{font-size:22px}
#privateLogin .access-help{font-size:12px;color:#68737b;line-height:1.6;margin:20px 0 22px}
#privateLogin .access-home{font-size:13px;color:#394953;display:inline-flex;min-height:44px;align-items:center}
#privateLogin .access-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12px;color:#64717a}
#privateLogin .access-footer a{min-height:44px;display:inline-flex;align-items:center}
#privateLogout[hidden]{display:none!important}
@media(max-width:760px){
 #privateLogin .access-wrap{padding:22px 18px 12px;min-height:100%}
 #privateLogin .access-brand{font-size:14px;gap:10px}
 #privateLogin .access-brand small{font-size:9px;letter-spacing:1.1px}
 #privateLogin .access-emblem{width:43px;height:43px}
 #privateLogin .access-layout{grid-template-columns:1fr;padding:26px 0 20px;max-width:480px;width:100%;align-self:center;margin:0}
 #privateLogin .access-story{border-radius:18px 18px 0 0;padding:24px}
 #privateLogin .access-story .access-eyebrow{font-size:9px;letter-spacing:1.1px}
 #privateLogin .access-story h2{font-size:30px;letter-spacing:-1px;margin:12px 0 0}
 #privateLogin .access-story h2 br{display:none}
 #privateLogin .access-story>p,#privateLogin .access-steps,#privateLogin .access-signature{display:none}
 #privateLogin .access-panel{border:1px solid #e5e5e0;border-top:0;border-radius:0 0 18px 18px;padding:26px 24px 20px}
 #privateLogin .access-heading>.access-eyebrow{display:none}
 #privateLogin .access-heading h1{font-size:25px;margin:0 0 10px}
 #privateLogin .access-heading p{font-size:14px;margin-bottom:20px}
 #privateLogin .access-help{margin-bottom:10px}
 #privateLogin .access-footer{font-size:10px;gap:6px;margin-top:auto}
}
@media(prefers-reduced-motion:reduce){#privateLogin *{transition:none!important}}
/* Edición 23: misma composición, acabados más cuidados. */
#privateLogin{background:radial-gradient(ellipse at 18% 10%,#eadfd440,transparent 45%),#f6f5f1!important}
#privateLogin .access-wrap{max-width:1240px;padding:32px 36px 24px}
#privateLogin .access-brand{letter-spacing:1px;font-weight:800}
#privateLogin .access-emblem{border-radius:15px;box-shadow:0 8px 18px #14232d12}
#privateLogin .access-layout{filter:drop-shadow(0 22px 34px #14232d0b);padding:48px 0}
#privateLogin .access-story{position:relative;overflow:hidden;padding:56px 46px;background:radial-gradient(ellipse at 0 0,#2b424e,transparent 65%),#182a34;border-radius:28px 0 0 28px}
#privateLogin .access-story:after{content:'';position:absolute;right:-140px;bottom:-240px;width:500px;height:500px;border:1px solid #ffffff0b;border-radius:50%;box-shadow:0 0 0 52px #ffffff03,0 0 0 104px #ffffff02;pointer-events:none}
#privateLogin .access-story>*{position:relative;z-index:1}
#privateLogin .access-story h2{font-size:clamp(34px,3.8vw,52px);font-weight:750;line-height:1.12;letter-spacing:-2px;margin:26px 0 22px}
#privateLogin .access-story>p{color:#c4d0d5;max-width:350px}
#privateLogin .access-story em{color:#ff9a6d}
#privateLogin .access-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:26px;margin-top:38px;border-color:#ffffff20}
#privateLogin .access-steps b{display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffffff22;border-radius:50%;margin-bottom:10px;color:#ffab84;background:#ffffff04}
#privateLogin .access-signature{margin-top:38px;color:#c4d0d5}
#privateLogin .access-panel{padding:52px 46px 38px;border-radius:0 28px 28px 0;border-color:#e2e5e3;background:#fff}
#privateLogin .access-heading h1{font-size:30px;letter-spacing:-1.1px;margin:12px 0}
#privateLogin .access-heading p{color:#64727a}
#privateLogin .access-form input{height:56px;background:#f8faf9;border:1px solid #d3dbdc;border-radius:12px;transition:border-color .18s,box-shadow .18s}
#privateLogin .access-form input:hover{border-color:#9caeb4}
#privateLogin .access-form input:focus{border-color:#c95728;box-shadow:0 0 0 4px #c9572812;background:#fff}
#privateLogin .access-form label{font-size:13px;margin-top:20px}
#privateLogin .access-password button{top:6px;right:6px}
#privateLogin .login-submit{height:56px;border-radius:12px;background:#bf4d23!important;box-shadow:0 8px 18px #bf4d231a;transition:background .18s,box-shadow .18s}
#privateLogin .login-submit:hover{background:#a83e1b!important;box-shadow:0 10px 22px #bf4d2326}
#privateLogin .access-message:not(:empty){background:#fff1ec;border:1px solid #f2c7b9;padding:12px 14px;border-radius:10px;color:#92341b}
#privateLogin .access-help{border-top:1px solid #edf0ee;padding-top:20px;margin-top:24px;line-height:1.7}
#privateLogin .access-home{color:#536670;font-weight:600}
#privateLogin .access-footer{font-size:11px;letter-spacing:.15px}
@media(max-width:760px){#privateLogin .access-wrap{padding:22px 18px 12px}#privateLogin .access-layout{padding:26px 0 20px}#privateLogin .access-story{padding:26px;border-radius:22px 22px 0 0}#privateLogin .access-story h2{font-size:31px;margin:14px 0 0;letter-spacing:-1.2px}#privateLogin .access-steps{display:none}#privateLogin .access-panel{padding:28px 26px 22px;border-radius:0 0 22px 22px}#privateLogin .access-heading h1{font-size:26px}#privateLogin .access-help{margin-top:22px}}
