/* Piezas propias del cuaderno, sobre web.css */
.progreso{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.progreso .cuenta{ font-weight:400; color:var(--verde); white-space:nowrap; }
.progreso .cuenta b{ font-weight:600; }
.barra-avance{ flex:1; min-width:140px; height:10px; background:var(--lima-palido); border-radius:999px; overflow:hidden; }
.barra-avance span{ display:block; height:100%; width:0; background:var(--lima); border-radius:999px; transition:width .3s; }
.guardado{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--suave); white-space:nowrap; }
.guardado i{ width:8px; height:8px; border-radius:50%; background:var(--lima); flex:none; }
.guardado.guardando i{ background:#D2A23A; } .guardado.fallo i{ background:var(--error); } .guardado.fallo{ color:var(--error); }

.fases{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px; }
.fases a{ text-decoration:none; }

.fase{ margin-top:36px; }
.fase-titulo{ display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.fase-titulo h2{ margin:0; font-size:clamp(22px,4vw,26px); }
.fase-titulo small{ color:var(--suave); font-size:14px; }

.semana{ background:#fff; border-radius:16px; margin-bottom:12px; overflow:hidden; }
.semana > summary{ list-style:none; cursor:pointer; display:grid; grid-template-columns:44px 1fr auto; gap:14px; align-items:center; padding:16px 22px; }
.semana > summary::-webkit-details-marker{ display:none; }
.semana > summary:focus-visible{ outline:3px solid var(--lima); outline-offset:-3px; border-radius:16px; }
.numero{ width:44px; height:44px; border-radius:12px; color:#fff; display:flex; align-items:center; justify-content:center; font-weight:600; font-size:15px; }
.semana h3{ font-weight:500; font-size:17px; color:var(--verde); line-height:1.3; }
.semana h3 small{ display:block; font-weight:300; font-size:13px; color:var(--suave); }
.semana .marca{ font-size:13px; color:var(--suave); white-space:nowrap; display:flex; align-items:center; gap:8px; }
.semana .marca::after{ content:""; width:9px; height:9px; border-right:2px solid var(--gris); border-bottom:2px solid var(--gris); transform:rotate(45deg); margin:-4px 2px 0 4px; transition:transform .2s; }
.semana[open] .marca::after{ transform:rotate(-135deg); margin-top:4px; }
.semana .marca.lista{ color:var(--verde); font-weight:500; }
.semana .actual{ display:inline-block; background:var(--lima-palido); color:var(--verde); border-radius:999px; padding:1px 10px; font-size:11.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; margin-left:8px; vertical-align:2px; }
.ejercicios{ padding:0 22px 22px; display:grid; gap:18px; }
.ejercicio{ border-top:1px solid var(--linea); padding-top:18px; }
.ejercicio .consigna{ display:grid; grid-template-columns:30px 1fr; gap:6px; font-weight:400; font-size:16px; color:var(--texto); }
.ejercicio .consigna span{ color:var(--lima); font-weight:600; font-size:14px; padding-top:2px; }
.ejercicio textarea{ min-height:90px; margin-top:10px; overflow:hidden; }
.ejercicio.hecho textarea{ border-color:var(--lima); }
.imprimir-respuesta{ display:none; }

.pie{ text-align:center; color:var(--suave); font-size:13px; margin-top:48px; }
.pie em{ font-family:'Lora',serif; }

@media (max-width:640px){
  .semana > summary{ grid-template-columns:38px 1fr; padding:14px 16px; }
  .semana .marca{ grid-column:2; }
  .numero{ width:38px; height:38px; font-size:14px; }
  .ejercicios{ padding:0 16px 18px; }
}

@media print{
  @page{ margin:16mm 14mm; }
  html,body{ background:#fff; }
  body{ font-size:10.5pt; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .no-imprimir{ display:none !important; }
  .semana{ border:1px solid var(--linea); break-inside:auto; }
  .semana > summary .marca::after{ display:none; }
  .ejercicio{ break-inside:avoid; }
  .ejercicio textarea{ display:none; }
  .imprimir-respuesta{ display:block; white-space:pre-wrap; margin-top:8px; padding:10px 12px; background:var(--chip); border-radius:8px; min-height:2.4em; }
}
