/* LM Inscripciones — Panel de administración */

.lm-admin-wrap {
  max-width: 900px;
  font-family: inherit;
}

/* ── Botones ─────────────────────────────────────────────────────── */
.lm-btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: .4em; padding: .55em 1.3em; border: none; border-radius: 6px;
  cursor: pointer; font-size: 1rem; font-weight: 600; font-family: inherit;
  line-height: 1.4; transition: background-color .2s ease, opacity .2s ease;
}
.lm-btn:focus-visible { outline: 3px solid #1e88e5; outline-offset: 2px; }
.lm-btn:disabled { opacity: .55; cursor: not-allowed; }
.lm-btn-primary  { background-color: #1e88e5; color: #fff; }
.lm-btn-primary:hover:not(:disabled)   { background-color: #1565c0; }
.lm-btn-secondary { background-color: #e0e0e0; color: #333; }
.lm-btn-secondary:hover:not(:disabled) { background-color: #bdbdbd; }
.lm-btn-sm { font-size: .85rem; padding: .35em 1em; }

/* ── Campos ──────────────────────────────────────────────────────── */
.lm-field { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 1rem; }
.lm-field label { font-size: .85rem; font-weight: 600; color: #444; }
.lm-field input, .lm-field select {
  width: 100%; box-sizing: border-box; padding: .55em .75em;
  border: 1px solid #ccc; border-radius: 6px;
  font-size: 1rem; font-family: inherit; color: #1a1a1a; background-color: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.lm-field input:focus, .lm-field select:focus {
  outline: none; border-color: #1e88e5;
  box-shadow: 0 0 0 3px rgba(30,136,229,.15);
}
.lm-field input:disabled { background-color: #f5f5f5; color: #888; cursor: not-allowed; }
.lm-field small, .lm-hint { font-size: .82rem; color: #777; }

.lm-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

/* ── Errores / éxito ─────────────────────────────────────────────── */
.lm-error {
  margin: .5rem 0; padding: .6rem .85rem;
  background-color: #fdecea; color: #b71c1c;
  border-left: 3px solid #e53935; border-radius: 4px; font-size: .9rem;
}
.lm-exito {
  margin: .5rem 0; padding: .6rem .85rem;
  background-color: #e8f5e9; color: #1b5e20;
  border-left: 3px solid #28a745; border-radius: 4px; font-size: .9rem; font-weight: 600;
}

/* ── Acciones ────────────────────────────────────────────────────── */
.lm-actions { margin-top: 1.4rem; display: flex; justify-content: flex-end; gap: .75rem; }

/* ── Cabecera admin ──────────────────────────────────────────────── */
.lm-admin-header {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: 1rem; margin-bottom: 1.5rem;
  border-bottom: 2px solid #e0e0e0;
}
.lm-admin-header h2 { margin: 0; font-size: 1.3rem; color: #1a1a1a; }

/* ── Login ───────────────────────────────────────────────────────── */
.lm-admin-login { max-width: 360px; }
.lm-admin-login h2 { margin: 0 0 1.2rem; font-size: 1.15rem; }

/* ── Lista de eventos ────────────────────────────────────────────── */
.lm-admin-lista-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 1rem;
}
.lm-admin-lista-header h3 { margin: 0; }

.lm-admin-table {
  width: 100%; border-collapse: collapse; font-size: .92rem;
}
.lm-admin-table th, .lm-admin-table td {
  text-align: left; padding: .6rem .75rem;
  border-bottom: 1px solid #e0e0e0;
}
.lm-admin-table thead th { background-color: #f5f5f5; font-weight: 700; color: #333; }
.lm-admin-table tbody tr:hover { background-color: #fafafa; }
.lm-admin-table code { background: #f0f0f0; padding: .1em .4em; border-radius: 3px; font-size: .88em; }
.lm-td-fechas { color: #666; font-size: .85rem; }

/* ── Formulario evento ───────────────────────────────────────────── */
.lm-admin-form { max-width: 620px; }
.lm-admin-form h3 { margin: 0 0 1.2rem; font-size: 1.1rem; }

@media (max-width: 520px) {
  .lm-field-row { grid-template-columns: 1fr; }
}

/* ── Botón outline (Inscripciones) ───────────────────────────────── */
.lm-btn-outline {
  background-color: transparent; color: #1e88e5;
  border: 1.5px solid #1e88e5;
}
.lm-btn-outline:hover:not(:disabled) { background-color: #e3f2fd; }

/* ── Tabla de inscripciones ──────────────────────────────────────── */
.lm-admin-table-insc { font-size: .85rem; }
.lm-admin-table-insc th,
.lm-admin-table-insc td { padding: .45rem .6rem; }
.lm-table-scroll { overflow-x: auto; }
.lm-td-fecha-insc { white-space: nowrap; color: #666; font-size: .82rem; }
.lm-td-center { text-align: center; }
.lm-insc-total { margin: .25rem 0 .75rem; }

/* Filas coloreadas por estado */
.lm-fila-cancelado td { opacity: .55; }
.lm-fila-confirmado { background-color: #f1fdf3; }
.lm-fila-edit { background-color: #eef2ff; }
.lm-fila-edit td { vertical-align: middle; padding: .3rem .4rem; }

/* Inputs inline en edición */
.lm-input-sm {
  width: 100%; min-width: 65px; box-sizing: border-box;
  padding: .28em .4em; font-size: .82rem; font-family: inherit;
  border: 1.5px solid #b0b8d0; border-radius: 4px;
}
.lm-input-sm:focus { outline: none; border-color: #2271b1; }
.lm-td-edit-actions { white-space: nowrap; }
.lm-td-edit-actions .lm-btn { display: block; width: 100%; margin-bottom: .2rem; }
.lm-td-edit-actions .lm-btn:last-of-type { margin-bottom: 0; }

/* Badge de estado (solo lectura) */
.lm-estado-badge-sm {
  display: inline-block; padding: .2em .55em; border-radius: 4px;
  font-size: .78rem; font-weight: 600; border: 1.5px solid transparent;
}

/* Select de estado con color */
.lm-estado-sel {
  padding: .28em .5em; border-radius: 4px;
  font-size: .82rem; font-weight: 600; cursor: pointer;
  border: 1.5px solid #ccc; font-family: inherit;
  transition: border-color .15s, background-color .15s;
}
.lm-estado-sel:disabled { opacity: .6; cursor: not-allowed; }
.lm-estado-sel--preinscrito { background-color: #fff8e1; color: #6d4c00; border-color: #f9a825; }
.lm-estado-sel--confirmado  { background-color: #e8f5e9; color: #1b5e20; border-color: #2e7d32; }
.lm-estado-sel--cancelado   { background-color: #fdecea; color: #b71c1c; border-color: #e53935; }

.lm-error-inline {
  display: block; color: #b71c1c; font-size: .78rem; margin-top: .2rem;
}

