/* Acceso del curso: mismo aspecto que el popup de la página del maestro. */
#cx-acceso-curso {
  position: fixed; inset: 0; z-index: 2147483647; display: grid; place-items: center;
  padding: 20px; overflow-y: auto; background: rgba(6,4,7,.72); backdrop-filter: blur(6px);
  color: #f5f1f3; font: 15px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  text-align: left; color-scheme: dark;
}
#cx-acceso-curso[hidden], #cx-acceso-curso [hidden] { display: none !important; }
#cx-acceso-curso *, #cx-acceso-curso *::before, #cx-acceso-curso *::after { box-sizing: border-box; }
#cx-acceso-curso .ac-dialogo {
  position: relative; width: 100%; max-width: 420px; padding: 30px; margin: auto;
  border-radius: 22px; background: #151018; border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 30px 80px rgba(0,0,0,.6);
}
#cx-acceso-curso h2 { margin: 0; padding-right: 24px; color: #f5f1f3; font-size: 22px; line-height: 1.15; letter-spacing: -.02em; }
#cx-acceso-curso p { margin: 0; }
#cx-acceso-curso .ac-sub { margin-top: 8px; color: rgba(245,241,243,.68); font-size: 14px; }
#cx-acceso-curso button { font: inherit; cursor: pointer; }
#cx-acceso-curso .ac-cerrar {
  position: absolute; top: 14px; right: 14px; width: 32px; height: 32px; padding: 0;
  border-radius: 50%; border: 0; background: rgba(255,255,255,.06); color: rgba(245,241,243,.68); font-size: 20px;
}
#cx-acceso-curso .ac-boton {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
  padding: 12px 20px; border-radius: 12px; border: 1px solid transparent; font-size: 14px; font-weight: 700;
}
#cx-acceso-curso .ac-google { margin-top: 20px; background: #fff; color: #1f1f1f; }
#cx-acceso-curso .ac-google:hover { background: #f2f2f2; }
#cx-acceso-curso .ac-entrar { background: linear-gradient(135deg,#ff5464,#e1323f 55%,#991c2b); color: #fff; box-shadow: 0 10px 26px rgba(225,50,63,.28); }
#cx-acceso-curso .ac-divisor { display: flex; align-items: center; gap: 12px; margin: 20px 0 16px; color: rgba(245,241,243,.42); font-size: 12px; }
#cx-acceso-curso .ac-divisor::before, #cx-acceso-curso .ac-divisor::after { content: ""; flex: 1; height: 1px; background: rgba(255,255,255,.08); }
#cx-acceso-curso label { display: block; margin-bottom: 14px; }
#cx-acceso-curso label span { display: block; margin-bottom: 6px; color: rgba(245,241,243,.42); font-size: 12px; font-weight: 600; }
#cx-acceso-curso input {
  width: 100%; padding: 12px 14px; border-radius: 11px; font: inherit;
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); color: #f5f1f3;
}
#cx-acceso-curso input:focus { outline: none; border-color: #e1323f; background: rgba(225,50,63,.07); }
#cx-acceso-curso button:focus-visible { outline: 2px solid #ff5464; outline-offset: 3px; }
#cx-acceso-curso .ac-mensaje { margin: 0 0 12px; padding: 10px 12px; border-radius: 10px; font-size: 13px; background: rgba(225,50,63,.12); border: 1px solid rgba(225,50,63,.35); color: #ffb3b8; }
#cx-acceso-curso .ac-mensaje[data-ok="1"] { background: rgba(60,180,130,.1); border-color: rgba(60,180,130,.35); color: #afe8cf; }
#cx-acceso-curso .ac-pies { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
#cx-acceso-curso .ac-enlace { padding: 0; border: 0; background: none; color: #ff5464; font-size: 13px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
#cx-acceso-curso button:disabled { opacity: .5; cursor: wait; }
@media (max-width: 440px) {
  #cx-acceso-curso { padding: 12px; }
  #cx-acceso-curso .ac-dialogo { padding: 26px 22px; }
  #cx-acceso-curso input { font-size: 16px; }
}
