/* Pupitre — Repaso inteligente (sr-), meta personal (mt-), tarjetas de Inicio (es-) y escuchar las lecciones (vz-).
   Sólo tokens de app.css: funciona en claro y oscuro. */

/* ---------- Inicio: repaso de hoy · meta · duelos ---------- */
.es-ini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 6px}
.es-card{padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.es-card[data-urgente="true"]{border-color:color-mix(in srgb,var(--accent) 40%,var(--line));box-shadow:0 0 0 3px var(--accent-soft)}
.es-card-h{display:flex;align-items:center;gap:12px;min-width:0}
.es-card-h > div{min-width:0;flex:1}
.es-card-h .h{display:block;font-size:17px;font-weight:700;line-height:1.25;letter-spacing:-.01em}
.es-card-h .tag{flex:none}
.es-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent)}
.es-ic[data-ok="true"]{background:var(--pos-soft);color:var(--pos)}
.es-card[data-k="duelo"] .es-ic{background:var(--flame-soft);color:var(--flame)}
.es-card[data-k="meta"] .es-ic{background:var(--gold-soft);color:var(--gold)}
.es-card > p{margin:0;font-size:13.5px;line-height:1.5}
.es-card-f{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:2px}
.es-card .btn,.mt-aj .btn{min-height:44px}

/* ---------- Meta personal ---------- */
.mt-bar{display:flex;align-items:center;gap:10px}
.mt-bar .prog{flex:1;height:10px}
.mt-bar .prog i{background:var(--gold)}
.mt-card[data-ok="true"] .mt-bar .prog i{background:var(--pos)}
.mt-bar b{font-family:var(--f-head);font-size:15px;min-width:46px;text-align:right}
.mt-linea{margin:0;font-size:13.5px}
.mt-paso{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:9px 12px;text-align:left;color:var(--ink)}
.mt-paso:hover{border-color:var(--accent)}
.mt-paso .tx{min-width:0;flex:1}
.mt-paso b{display:block;font-weight:700;font-size:13.5px;color:var(--accent)}
.mt-paso small{display:block;color:var(--muted);font-size:12px;line-height:1.4}
.mt-paso-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}
.mt-nota{display:flex;gap:6px;align-items:flex-start;color:var(--muted);font-size:12px;line-height:1.4}
.mt-nota svg{flex:none;margin-top:1px}
.mt-seg{display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.mt-seg button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;white-space:normal;line-height:1.2}
.mt-form [data-desc]{display:block;margin-top:2px}
.mt-aj-res{display:flex;align-items:center;gap:12px;min-width:0}
.mt-aj-res .tx{min-width:0}
.mt-aj-res b{display:block}
.mt-aj-res .es-ic{background:var(--gold-soft);color:var(--gold);width:38px;height:38px}

/* ---------- Repaso de hoy (pestaña de la vista repaso) ---------- */
.sr-hoy{display:flex;align-items:center;gap:16px;padding:18px;margin-bottom:14px;border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.sr-hoy[data-aldia="true"]{border-color:var(--line)}
.sr-hoy-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;flex:none;background:var(--accent-soft);color:var(--accent)}
.sr-hoy[data-aldia="true"] .sr-hoy-ic{background:var(--pos-soft);color:var(--pos)}
.sr-hoy-tx{min-width:0;flex:1}
.sr-hoy-tx h2{margin:4px 0 4px;font-size:22px;font-weight:700;letter-spacing:-.01em}
.sr-hoy-tx p{margin:0;color:var(--ink-2);font-size:13.5px}
.sr-hoy .btn{flex:none}
.sr-cajas{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:18px}
.sr-caja{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:10px 8px;text-align:center;min-width:0}
.sr-caja b{display:block;font-family:var(--f-head);font-size:20px;line-height:1.1}
.sr-caja small{display:block;color:var(--muted);font-size:11.5px;line-height:1.3;margin-top:2px}
.sr-caja[data-c="0"] b{color:var(--neg)}
.sr-caja[data-c="1"] b,.sr-caja[data-c="2"] b{color:var(--gold)}
.sr-caja[data-c="3"] b,.sr-caja[data-c="4"] b{color:var(--info)}
.sr-caja[data-c="dom"]{background:var(--pos-soft);border-color:transparent}
.sr-caja[data-c="dom"] b{color:var(--pos)}
.sr-li .tx b{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}
.sr-end{flex-direction:column;align-items:flex-end;gap:4px}
.sr-end small{font-size:12px;white-space:nowrap}
.sr-hoy-t{color:var(--accent);font-weight:700}
.sr-badge{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap;background:var(--neg-soft);color:var(--neg)}
.sr-badge[data-c="1"],.sr-badge[data-c="2"]{background:var(--gold-soft);color:var(--gold)}
.sr-badge[data-c="3"],.sr-badge[data-c="4"]{background:var(--info-soft);color:var(--info)}
.sr-res{display:flex;flex-direction:column;gap:14px}
.sr-res-top{display:flex;align-items:center;gap:14px}
.sr-res-top p{margin:2px 0 0}
.sr-res-h{font-size:22px;font-weight:700}
.sr-res-n{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sr-res-n .stat{padding:10px 12px;gap:10px}
.sr-res-n .stat .ic{width:34px;height:34px}
.sr-res-l .tx b{white-space:normal;line-height:1.35}
.sr-res .btn{min-height:44px}

/* ---------- Escuchar (voz) ---------- */
.vz-leyendo{background:var(--accent-soft);box-shadow:0 0 0 6px var(--accent-soft);border-radius:6px;transition:background .2s,box-shadow .2s}
.vz-host[hidden]{display:none}
.vz-mini{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--accent);font-weight:700;font-size:13px}
.vz-mini:hover{background:var(--accent-soft)}
.vz-q{display:flex;justify-content:flex-end;margin:-4px 0 6px}
.vz-q .vz-panel{width:100%}
.pi-voz{display:flex;justify-content:flex-end;margin:-6px 0 10px}
.pi-voz .vz-panel{width:100%}
.vz-panel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px;border-radius:14px;background:var(--accent-soft);min-width:0}
.vz-b{width:44px;height:44px;border-radius:12px;border:0;background:var(--card);color:var(--accent);display:grid;place-items:center;flex:none}
.vz-b:hover{filter:brightness(.97)}
.vz-pp{background:var(--accent);color:var(--on-accent)}
.vz-st{display:flex;flex-direction:column;min-width:0;flex:1;line-height:1.2;padding:0 4px}
.vz-st b{font-size:13px;color:var(--ink)}
.vz-st small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vz-vel select{min-height:44px;border-radius:12px;border:0;background:var(--card);color:var(--ink);font-weight:700;padding:0 8px;font-size:13px}
.vz-fin{flex:1 1 100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:4px 2px 2px}
.vz-fin[hidden]{display:none}
.vz-fin .btn{min-height:44px}
.vz-cont{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.vz-cont input{width:20px;height:20px;accent-color:var(--accent);flex:none}
.vz-cont span{display:flex;flex-direction:column;line-height:1.3}
.vz-cont-in span{font-weight:600;font-size:13px}
.vz-vels .chip{min-height:44px}
.lc-vozp .vz-panel{margin-bottom:2px}

@media (max-width:1080px){
  .es-ini{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sr-cajas{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px){
  .es-ini{grid-template-columns:minmax(0,1fr);gap:12px}
  .sr-hoy{flex-wrap:wrap;padding:16px}
  .sr-hoy .btn{width:100%}
  .sr-hoy-ic{width:44px;height:44px}
  .sr-hoy-tx h2{font-size:19px}
  .sr-res-n .stat{flex-direction:column;align-items:flex-start;gap:6px}
  .pr-tabs button{font-size:12.5px}
  .vz-st small{display:none}
}
