/* Cristal · estilos del control de acceso (solo en el sitio publicado). Usa los tokens de style.css. */
.acc-carga{display:flex;align-items:center;gap:12px;justify-content:center;min-height:50vh;color:var(--muted);font-weight:600}
.acc-spin{width:22px;height:22px;border-radius:99px;border:3px solid var(--track);border-top-color:var(--accent);animation:accspin .9s linear infinite}
@keyframes accspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.acc-spin{animation:none}}
.acc-banner{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;border:1.5px solid color-mix(in srgb,var(--accent) 35%,var(--line));background:linear-gradient(135deg,var(--accent-soft),var(--surface))}
.acc-banner h3{font-size:22px;margin:4px 0 2px}
.acc-banner>div{flex:1 1 280px}
.acc-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.acc-grid .card{display:grid;gap:12px}
.acc-grid h3{font-size:24px}
.acc-pw .eyebrow{display:inline-flex;align-items:center;gap:6px}
.acc-lec{margin:0;padding-left:22px;display:grid;gap:4px}
.acc-contacto{display:flex;flex-wrap:wrap;gap:10px}
.acc-wa{border-color:#25a244}.acc-wa svg{color:#25a244}
.acc-ms{border-color:#0a7cff}.acc-ms svg{color:#0a7cff}
.acc-form{display:grid;gap:8px;margin-top:4px}
.acc-form label{font-weight:600;font-size:14px}
.acc-row{display:flex;gap:10px;flex-wrap:wrap}
.acc-row input{flex:1 1 200px;min-height:48px;border:1.5px solid var(--line);border-radius:14px;background:var(--surface);padding:10px 14px;font:600 18px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.acc-row input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.acc-msg{min-height:1.4em;font-size:14px;color:var(--muted)}
.acc-msg.bad{color:var(--bad)}.acc-msg.good{color:var(--good)}
.ru.locked{opacity:.8}
.ru.locked svg{color:var(--muted)}
.acc-grid .chips{display:flex;flex-wrap:wrap;gap:8px}
.acc-grid .chips span{background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:3px 11px;font-size:13px;font-weight:600;color:var(--ink2)}
