/* prw3: grupo F. La ventana «Entrar» fuera de la pantalla de acceso: las reglas .ac de acceso.css (construir-css.py), sin la columna. */
.ac:not(span){padding:118px var(--pad) 0;min-height:60vh} /* prw3: DR7-1, sin pisar el span.ac del retrato de la portada */
.ac .tag{display:block;color:var(--acc2);margin-bottom:10px}
.ac h1{font-size:clamp(2.125rem,4vw,3.25rem);line-height:1.02;letter-spacing:-.03em;margin:0 0 14px;text-wrap:balance}
.ac h1 em,.ac h2 em{font-style:normal;color:var(--acc2)}
.ac-lead{font-size:1.0625rem;line-height:1.55;color:var(--tx2);margin:0 0 20px;max-width:60ch}
.ac-lead b{color:var(--tx);font-weight:600;overflow-wrap:anywhere}
.ac-txt{font-size:0.96875rem;line-height:1.6;color:var(--tx2);margin:0 0 22px;max-width:64ch}
.ac label{display:block;font-family:var(--body);font-size:0.84375rem;letter-spacing:0;text-transform:none;color:var(--tx2);font-weight:500;margin-bottom:6px}
.ac .campo{margin-bottom:16px}
.ac .campo input{width:100%;min-height:46px;font-family:var(--body);font-size:1rem;background:var(--bg);border:1px solid var(--line2);color:var(--tx);padding:11px 14px;border-radius:9px}
.ac .campo input::placeholder{color:var(--tx3)}
.ac .campo input:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:var(--acc)}
.ac .casilla{display:grid;grid-template-columns:20px 1fr;gap:11px;align-items:start;margin:4px 0 6px}
.ac .casilla label{font-size:0.90625rem;color:var(--tx2);margin:0;font-weight:400}
.ac .casilla input{appearance:none;width:18px;height:18px;border:1px solid var(--line2);border-radius:5px;background:var(--bg);cursor:pointer;position:relative;margin-top:3px}
.ac .casilla input:checked{background:var(--acc);border-color:var(--acc)}
.ac .casilla input:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--acctx);border-width:0 2px 2px 0;transform:rotate(45deg)}
.ac .casilla input:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ac .btn.ancho{width:100%;justify-content:center;margin-top:16px;font-size:1rem;padding:15px 20px}
.ac a:not(.btn){color:var(--acc2);text-decoration:underline;text-underline-offset:3px}
.ac a:not(.btn):focus-visible,.ac button:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:4px}
.ac-et{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.ac-et label{margin-bottom:6px}
.ac-et a{font-size:0.84375rem}
.ac-pw{position:relative}
.ac-pw input{padding-right:92px!important}
.ac-ver{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:40px;min-width:44px;padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--tx2);font-family:var(--body);font-size:0.84375rem;font-weight:500;cursor:pointer}
@media (hover:hover){
  .ac-ver:hover{color:var(--tx);background:var(--s2)}
}
.ac-alerta{border:1px solid var(--line);border-left:4px solid var(--crit);border-radius:var(--r);background:var(--critbg);padding:12px 16px;margin:0 0 16px;font-size:0.90625rem;line-height:1.5;color:var(--tx)}
.ac-alerta.ok{border-left-color:var(--ok);background:var(--s2)}
.ac-alerta b{font-weight:600}
.ac-alerta:focus{outline:none}
.ac-alerta:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.ac-pie{margin:16px 0 0;font-size:0.875rem;line-height:1.55;color:var(--tx2)}
.ac-hecho{margin:16px 0 0}
.ac h1:focus{outline:none}
.ac-dos{display:grid;grid-template-columns:minmax(0,520px) minmax(0,1fr);gap:28px 48px;align-items:start}
.ac-caja{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.ac-lado{padding:28px 0 0}
.ac-lado h2{font-size:1.5rem;margin:0 0 12px}
.ac-lado p{font-size:0.9375rem;line-height:1.6;color:var(--tx2);margin:0 0 12px;max-width:52ch}
.ac-bts{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.ac-yo{font-size:0.875rem!important}
@media (max-width:900px){
  .ac-dos{grid-template-columns:minmax(0,1fr)}
  .ac-lado{padding:0}
}
.ac-una .ac-caja{max-width:560px}
.ac-reg{max-width:900px}
.ac-dos-c{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 20px}
.ac-op{background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ac-op .tag{color:var(--struct);margin:0}
.ac-op h2{font-size:1.5rem;margin:0}
.ac-op p{margin:0;font-size:0.90625rem;line-height:1.55;color:var(--tx2);flex:1}
.ac-ya{font-size:0.9375rem;line-height:1.6;color:var(--tx2);margin:0}
@media (max-width:700px){
  .ac-dos-c{grid-template-columns:minmax(0,1fr)}
}
.ac-lista{margin:0 0 6px;padding:0;list-style:none;display:grid;gap:8px}
.ac-lista li{display:grid;grid-template-columns:14px 1fr;gap:10px;font-size:0.90625rem;line-height:1.55;color:var(--tx2)}
.ac-lista li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--struct);margin-top:8px}
.ac-otra-ok{margin:0;font-size:0.875rem;color:var(--ok)}
.ac-otra-ok:empty{display:none}
.ac-medidor{height:6px;border-radius:3px;background:var(--s2);margin:10px 0 6px;overflow:hidden}
.ac-medidor i{display:block;height:100%;width:0;background:var(--crit);transition:width .2s,background .2s}
.ac-medidor i.f2{background:var(--warn)}
.ac-medidor i.f3{background:var(--ok)}
.ac-medidor i.f4{background:var(--ok)}
.ac-fuerza{margin:0 0 8px;font-size:0.84375rem;color:var(--tx2)}
.ac-fuerza b{color:var(--tx);font-weight:600}
.ac-req{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ac-req li{display:grid;grid-template-columns:16px 1fr;gap:8px;font-size:0.84375rem;color:var(--tx3)}
.ac-req li::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid var(--tx3);margin-top:5px}
.ac-req li.si{color:var(--tx2)}
.ac-req li.si::before{background:var(--ok);border-color:var(--ok)}
.ac-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px}
.ac-velo{position:absolute;inset:0;background:rgba(5,8,12,.72);backdrop-filter:blur(6px)}
.ac-dlg{position:relative;width:min(460px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--s1);border:1px solid var(--line2);border-radius:var(--r);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:acin .2s ease-out}
@keyframes acin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .ac-dlg{animation:none}
}
.ac-dlg h2{font-size:1.75rem;margin:0 0 6px}
.ac-dlg .ac-lead{font-size:0.9375rem;margin-bottom:18px}
.ac-x{position:absolute;right:12px;top:12px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);background:var(--s2);color:var(--tx);font-size:1.375rem;line-height:1;cursor:pointer}
body.ac-con-modal{overflow:hidden}
.ac-dlg .campo input,.ac-dlg .casilla label{font-size:1rem}
@media (max-width:520px){
  .ac-modal{padding:12px;align-items:end}
  .ac-dlg{padding:22px 18px}
  .ac-caja{padding:20px 18px}
}
:root{--warn:#DFAE55}
:root[data-theme="light"]{--warn:#8A5A0C}
.ac-pista{margin:0;font-size:0.84375rem;line-height:1.5;color:var(--tx2)}
.ac-reg{max-width:1180px}
.ac-dos-c{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){
  .ac-dos-c{grid-template-columns:minmax(0,1fr)}
}
.ac[data-v="caducado"] form[data-form="recuperar"]{display:flex;flex-direction:column}
.ac[data-v="caducado"] form[data-form="recuperar"] .btn.p{order:-1;margin:0 0 16px}
.ac-modal.ac{min-height:0}
