﻿/* Task List â€” tool-specific styles. Shared styles live in assets/css/.
   Acento del mÃ³dulo AutonomÃ­a y hogar (verde --mod-secuencia). */

.tool-header h1 { color: var(--mod-secuencia); }

.btn:not(.btn-secundario):not(.btn-audio) {
  background: var(--mod-secuencia);
}

.instruccion { font-size: var(--text-base); }

.centered-row { justify-content: center; }

.dificultad {
  font-size: var(--text-pequeno);
  color: var(--color-text-secundario, #666);
}

.progress-bar { margin-top: var(--espacio); }

.lista-titulo {
  font-size: var(--text-grande);
  font-weight: 700;
  color: var(--mod-secuencia);
}

.etiqueta {
  font-weight: 700;
  color: var(--color-text-suave);
  margin-top: var(--espacio);
}

.sequence-stack, .available-stack {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--espacio);
}

.slot {
  min-width: 150px;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px;
  font-size: var(--text-pequeno);
  font-weight: 700;
  text-align: center;
  border: 3px dashed var(--color-borde);
  border-radius: var(--radio);
  background: var(--color-superficie);
  color: var(--color-text-suave);
}

.slot.filled {
  border-style: solid;
  border-color: var(--color-acierto);
  background: var(--color-acierto-suave);
  color: var(--color-text);
}

.tarea-btn {
  min-width: 150px;
  min-height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 8px;
  background: var(--mod-secuencia-suave);
  color: var(--color-text);
  border: 3px solid var(--mod-secuencia);
}

.task-picto { font-size: 32px; }

.tarea-text {
  font-size: var(--text-pequeno);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}

.tarea-btn.colocada {
  opacity: 0.35;
}

.emoji-grande { font-size: 96px; }

#endScreen { padding-top: 48px; }

#endScreen .btn { align-self: center; min-width: 280px; }

#endScreen .transferencia {
  margin: 8px auto 24px;
  font-size: 1.1rem;
  color: var(--color-text-secundario, #555);
  max-width: 480px;
}

/* ============================================================
   Pantalla "Crea tu lista" (Nivel 3).
   SimulaciÃ³n y entrenamiento del flujo real de una lista:
   name, aÃ±adir, reordenar, marcar, borrar, save, recuperar.
   ============================================================ */
.panel-name {
  display: flex;
  flex-direction: column;
  gap: var(--espacio);
  margin: var(--espacio) auto;
  max-width: 480px;
  width: 100%;
}

.consejo-lista {
  background: var(--mod-secuencia-suave);
  border-radius: var(--radio);
  padding: var(--espacio);
}

.consejo-lista-titulo {
  margin: 0 0 8px;
  font-weight: 700;
  color: var(--mod-secuencia);
}

.consejo-lista-steps {
  margin: 0;
  padding-left: 1.4em;
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--color-text);
}

.btn-mis-listas { align-self: center; }

.input-list-name,
.input-list {
  display: block;
  width: 100%;
  min-height: var(--boton-min);
  padding: 8px 16px;
  font-family: inherit;
  font-size: var(--text-base);
  font-weight: 600;
  color: var(--color-text);
  background: var(--color-superficie);
  border: 3px solid var(--color-borde);
  border-radius: var(--radio);
}

.input-list-name {
  font-size: var(--text-grande);
  text-align: center;
}

.input-list-name:focus-visible,
.input-list:focus-visible {
  outline: 3px solid var(--mod-secuencia);
  outline-offset: 2px;
  border-color: var(--mod-secuencia);
}

.panel-editor {
  display: flex;
  flex-direction: column;
  gap: var(--espacio);
  margin: var(--espacio) auto;
  max-width: 720px;
  width: 100%;
}

.lista-progreso {
  margin: 0;
  font-weight: 700;
  color: var(--mod-secuencia);
  font-size: var(--text-base);
}

.lista-items-crear {
  list-style: none;
  margin: 0;
  padding: var(--espacio);
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: var(--mod-secuencia-suave);
  border-radius: var(--radio);
  min-height: 80px;
}

.lista-items-crear .item-vacio {
  margin: 0;
  color: var(--color-text-suave);
  font-style: italic;
  text-align: center;
  padding: var(--espacio);
}

.item-crear {
  display: grid;
  grid-template-columns: 32px 48px 1fr 48px 44px;
  align-items: center;
  gap: var(--espacio);
  padding: 10px 12px;
  background: var(--color-superficie);
  border: 3px solid var(--color-borde);
  border-radius: var(--radio);
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.item-crear:hover { border-color: var(--mod-secuencia); }

.item-crear.selected {
  border-color: var(--mod-secuencia);
  background: var(--mod-secuencia-suave);
  box-shadow: 0 0 0 3px var(--mod-secuencia);
}

.item-crear.done {
  background: var(--color-acierto-suave);
  border-color: var(--color-acierto);
  opacity: 0.85;
}

.item-crear.done .item-text {
  text-decoration: line-through;
  color: var(--color-text-suave);
}

.item-pos {
  font-size: var(--text-base);
  font-weight: 800;
  color: var(--mod-secuencia);
  text-align: center;
}

.item-check {
  min-width: 44px;
  min-height: 44px;
  border-radius: 50%;
  border: 3px solid var(--color-borde);
  background: var(--color-superficie);
  color: var(--mod-secuencia);
  font-size: 24px;
  font-weight: 800;
  cursor: pointer;
}
.item-check:hover { border-color: var(--mod-secuencia); }
.item-crear.done .item-check {
  background: var(--color-acierto);
  border-color: var(--color-acierto);
  color: #FFFFFF;
}

.item-text {
  font-weight: 600;
  font-size: var(--text-base);
  text-align: left;
  overflow-wrap: anywhere;
}

.item-seleccionar,
.item-quitar {
  min-width: 44px;
  min-height: 44px;
  border-radius: 8px;
  border: 2px solid var(--color-borde);
  background: var(--color-superficie);
  color: var(--color-text);
  font-size: 20px;
  font-weight: 800;
  cursor: pointer;
}
.item-seleccionar:hover { border-color: var(--mod-secuencia); }
.item-quitar:hover { background: var(--color-borde); }
.item-crear.selected .item-seleccionar {
  background: var(--mod-secuencia);
  color: #FFFFFF;
  border-color: var(--mod-secuencia);
}

/* Barra de flechas â†‘/â†“ para reordenar el elemento selected. */
.move-slot-bar {
  display: flex;
  justify-content: center;
  gap: var(--espacio);
  margin: var(--espacio) 0;
}

.btn-arrow-slot {
  min-width: 64px;
  min-height: 64px;
  border-radius: var(--radio);
  border: 3px solid var(--mod-secuencia);
  background: var(--mod-secuencia);
  color: #FFFFFF;
  font-size: 32px;
  font-weight: 800;
  cursor: pointer;
}
.btn-arrow-slot:hover:not(:disabled) {
  background: var(--mod-secuencia-suave);
  color: var(--mod-secuencia);
}
.btn-arrow-slot:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  background: var(--color-superficie);
  color: var(--mod-secuencia);
  border-color: var(--color-borde);
}
.btn-arrow-slot:focus-visible {
  outline: 3px solid var(--mod-secuencia);
  outline-offset: 2px;
}

/* Input + botÃ³n AÃ±adir, debajo del editor. */
.add-item-row {
  display: flex;
  gap: var(--espacio);
  margin: var(--espacio) 0;
  flex-wrap: wrap;
}

.add-item-row .input-list {
  flex: 1;
  min-width: 200px;
}

#btnGuardarListaCrear:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* Listas guardadas (estilo coherente con routines). */
.saved-lists {
  margin-top: var(--espacio-grande);
  display: flex;
  flex-direction: column;
  gap: var(--espacio);
}

.saved-lists h3 {
  margin: 0;
  font-size: var(--text-base);
  color: var(--color-text);
}

.saved-list {
  background: var(--mod-secuencia-suave);
  border-radius: 10px;
  overflow: hidden;
}

.saved-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px;
  flex-wrap: wrap;
}

.saved-list-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
  text-align: left;
  background: none;
  border: none;
  font-family: inherit;
  cursor: pointer;
  padding: 4px;
  color: var(--color-text);
}
.saved-list-info .name { font-weight: 700; }
.saved-list-info .count {
  font-size: var(--text-pequeno);
  color: var(--color-text-suave);
}

.saved-list-acciones {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}

.saved-list-acciones button {
  min-width: var(--boton-min);
  min-height: var(--boton-min);
  font-size: 22px;
  background: var(--color-superficie);
  border: 2px solid var(--color-borde);
  border-radius: 8px;
  cursor: pointer;
}
.saved-list-acciones button:hover {
  background: var(--color-superficie-2, #f7f4ef);
}

.saved-list-items {
  list-style: none;
  margin: 0;
  padding: 0 var(--espacio) var(--espacio) var(--espacio);
}
.saved-list-items li {
  padding: 4px 0;
  color: var(--color-text);
  border-top: 1px solid var(--color-borde);
}
.saved-list-items li:first-child { border-top: none; }
.saved-list-items li.done {
  text-decoration: line-through;
  color: var(--color-text-suave);
}

.transferencia {
  margin: 8px auto 24px;
  font-size: var(--text-base);
  color: var(--color-text-secundario, #555);
  max-width: 480px;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .item-crear { transition: none; }
}

@media (max-width: 480px) {
  .item-crear {
    grid-template-columns: 28px 40px 1fr 40px 36px;
    gap: 8px;
  }
  .item-check,
  .item-seleccionar,
  .item-quitar { min-width: 40px; min-height: 40px; }
}
