.cdm-wrap {
  max-width: 960px !important;
  margin: 0 auto !important;
  font-family: "Ubuntu", sans-serif !important;
  box-sizing: border-box !important;
  background: var(--e-global-color-5410803, #47245e) !important;
  color: #fff !important;
  padding: 28px 32px !important;
  border-radius: 10px !important;
}

.cdm-wrap *,
.cdm-wrap *::before,
.cdm-wrap *::after {
  box-sizing: inherit !important;
}

/* ── Formulario ── */

.cdm-wrap form {
  margin-bottom: 0 !important;
}

.cdm-wrap label {
  display: block !important;
  margin-bottom: 8px !important;
  font-weight: 600 !important;
  font-size: 0.97rem !important;
  color: #fff !important;
}

.cdm-input-group {
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.cdm-input-group input[type="text"] {
  flex: 1 !important;
  min-width: 180px !important;
  padding: 10px 14px !important;
  border: 2px solid rgba(255, 255, 255, 0.35) !important;
  border-radius: 5px !important;
  font-size: 1rem !important;
  font-family: "Ubuntu", sans-serif !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #fff !important;
  outline: none !important;
  transition:
    border-color 0.2s,
    background 0.2s !important;
  box-shadow: none !important;
}

.cdm-input-group input[type="text"]::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
}

.cdm-input-group input[type="text"]:focus {
  border-color: var(--e-global-color-primary, #eab50c) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  box-shadow: none !important;
}

.cdm-input-group button {
  padding: 10px 24px !important;
  background: var(--e-global-color-primary, #eab50c) !important;
  color: #47245e !important;
  border: none !important;
  border-radius: 5px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  font-family: "Ubuntu", sans-serif !important;
  cursor: pointer !important;
  transition: opacity 0.2s !important;
  white-space: nowrap !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  line-height: normal !important;
  box-shadow: none !important;
}

.cdm-input-group button:hover:not(:disabled) {
  opacity: 0.85 !important;
  background: var(--e-global-color-primary, #eab50c) !important;
}

.cdm-input-group button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

/* ── Loading ── */

#cdm-loading,
#cdm-ingreso-loading {
  margin-top: 16px !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-style: italic !important;
  font-size: 0.95rem !important;
}

/* ── Error ── */

#cdm-error,
#cdm-ingreso-error {
  margin-top: 14px !important;
  padding: 12px 16px !important;
  background: rgba(214, 54, 56, 0.25) !important;
  border-left: 4px solid #d63638 !important;
  color: #fff !important;
  border-radius: 3px !important;
  font-size: 0.95rem !important;
  display: none !important;
}

#cdm-error.cdm-visible,
#cdm-ingreso-error.cdm-visible {
  display: block !important;
}

/* ── Resultado ── */

#cdm-result,
#cdm-ingreso-result {
  margin-top: 24px !important;
  display: none !important;
}

#cdm-result.cdm-visible,
#cdm-ingreso-result.cdm-visible {
  display: block !important;
}

/* ── Nombre del alumno ── */

.cdm-nombre {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  margin: 0 0 14px !important;
  color: var(--e-global-color-primary, #eab50c) !important;
}

/* ── Tabla ── */

.cdm-tabla {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.95rem !important;
  color: #fff !important;
}

.cdm-tabla th,
.cdm-tabla td {
  padding: 10px 14px !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  text-align: left !important;
  vertical-align: top !important;
}

.cdm-tabla thead th {
  background: var(--e-global-color-primary, #eab50c) !important;
  color: #47245e !important;
  font-weight: 700 !important;
  font-family: "Ubuntu", sans-serif !important;
  border-bottom: 2px solid rgba(0, 0, 0, 0.12) !important;
}

.cdm-tabla tbody tr:nth-child(even) td {
  background: rgba(255, 255, 255, 0.06) !important;
}

.cdm-tabla tbody tr:hover td {
  background: rgba(234, 181, 12, 0.12) !important;
}

/* ── Responsive ── */

@media (max-width: 480px) {
  .cdm-wrap {
    padding: 18px 16px !important;
  }

  .cdm-tabla,
  .cdm-tabla thead,
  .cdm-tabla tbody,
  .cdm-tabla th,
  .cdm-tabla td,
  .cdm-tabla tr {
    display: block !important;
  }

  .cdm-tabla thead tr {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }

  .cdm-tabla td {
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    padding: 8px 10px !important;
  }

  .cdm-tabla td::before {
    content: attr(data-label) !important;
    font-weight: 700 !important;
    display: block !important;
    font-size: 0.8rem !important;
    color: var(--e-global-color-primary, #eab50c) !important;
    margin-bottom: 2px !important;
  }

  .cdm-tabla tbody tr {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    margin-bottom: 10px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
  }
}
