/* Acceso del equipo · se adapta a cualquier pantalla */
*,*:before,*:after{box-sizing:border-box}
html,body{margin:0;min-height:100%;overflow-x:hidden}
body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;color:#14123A;background:radial-gradient(120% 70% at 50% 0%,color-mix(in srgb,var(--a2) 35%,var(--n)) 0%,var(--n) 60%);background-color:var(--n);-webkit-text-size-adjust:100%}
.ac{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}
.ac-c{width:100%;max-width:420px;background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
.ac-h{display:flex;align-items:center;justify-content:center;padding:22px 20px 18px;background:linear-gradient(135deg,var(--a1),var(--a2))}
.ac-logo{display:inline-flex;padding:10px 16px;border-radius:16px;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.15)}
.ac-logo img{display:block;max-width:200px;max-height:48px;width:auto;height:auto}
.ac-marca{color:#fff;font-size:20px}
.ac-p{padding:24px 22px 26px}
.ac-p[hidden]{display:none}
.ac h1{margin:0 0 6px;font-size:clamp(21px,6vw,25px);line-height:1.2}
.ac-s{margin:0 0 18px;color:#5B5876;font-size:15px;line-height:1.5}
.ac-f{display:flex;flex-direction:column;gap:14px}
.ac-f label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:#3B3858}
.ac-f input[type=email],.ac-f input[type=password],.ac-f input[type=text]{width:100%;min-height:52px;padding:12px 14px;border:2px solid #E6E3F2;border-radius:14px;font:inherit;font-size:16px;color:#14123A;background:#FAFAFE;transition:border-color .15s,box-shadow .15s}
.ac-f input:focus{outline:0;border-color:var(--a2);box-shadow:0 0 0 4px color-mix(in srgb,var(--a2) 18%,transparent);background:#fff}
.ac-f input[readonly]{color:#77748F}
.ac-pw{position:relative;display:block}
.ac-pw input{padding-right:52px!important}
.ac-ojo{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:10px;background:transparent;font-size:18px;cursor:pointer}
.ac-chk{flex-direction:row!important;align-items:center;gap:10px!important;font-weight:600!important;color:#5B5876!important}
.ac-chk input{width:20px;height:20px;accent-color:var(--a2)}
.ac-b{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:14px 18px;border:0;border-radius:16px;background:linear-gradient(120deg,var(--a1),var(--a2));color:#fff;font:inherit;font-size:16.5px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 12px 26px color-mix(in srgb,var(--a2) 35%,transparent);transition:transform .1s,filter .15s}
.ac-b:active{transform:translateY(1px)}
.ac-b:disabled{opacity:.6;cursor:default}
.ac-b.sec{background:#F2F0FA;color:#14123A;box-shadow:none;font-weight:700}
.ac-o{display:flex;align-items:center;gap:12px;margin:18px 0;color:#9A97B2;font-size:13px}
.ac-o:before,.ac-o:after{content:"";flex:1;height:1px;background:#E6E3F2}
.ac-v{display:block;width:100%;margin:12px 0 0;padding:10px;border:0;background:none;color:#5B5876;font:inherit;font-size:14.5px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}
.ac-v:disabled{color:#B0ADC6;cursor:default}
.ac-n{margin:16px 0 0;padding:12px 14px;border-radius:14px;background:#F7F6FC;color:#5B5876;font-size:13px;line-height:1.5}
.ac-av{margin:0 0 14px;padding:12px 14px;border-radius:14px;background:#FFF6E0;color:#7A4B00;font-size:13.5px;line-height:1.5}
.ac-e{margin:0;padding:12px 14px;border-radius:14px;background:#FEECEC;color:#B91C1C;font-size:14px;font-weight:600;line-height:1.45}
.ac-e.ok{background:#E7F8EE;color:#067647}
.ac-e[hidden]{display:none}
.ac-cod{width:100%;min-height:64px;padding:10px;border:2px solid #E6E3F2;border-radius:16px;background:#FAFAFE;font:inherit;font-size:clamp(26px,9vw,34px);font-weight:800;letter-spacing:.45em;text-align:center;text-indent:.45em;color:#14123A}
.ac-cod:focus{outline:0;border-color:var(--a2);background:#fff}
.ac-pie{margin:18px 0 0;text-align:center}
.ac-pie a{color:rgba(255,255,255,.85);font-size:14px;text-decoration:none}
@media (max-width:360px){.ac-p{padding:20px 16px 22px}.ac-c{border-radius:22px}}
@media (min-height:700px) and (min-width:700px){.ac-c{margin-top:-4vh}}
