/* To-do: la herramienta diaria de la persona. Barra lateral con listas y filtros, cabecera con la captura rápida y las
   cuatro vistas (Lista · Kanban · Calendario · Tabla), y la ficha de la tarea a la derecha. Solo tokens del tema; la
   prioridad usa --danger (alta), --warn (media), --info (baja) y --muted (sin prioridad). Ojo: «.td-» es el prefijo. */
#view-tareas{overflow:hidden}
.td{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr);grid-template-columns:240px minmax(0,1fr);grid-template-areas:"lado centro";background:var(--bg);color:var(--text)}
.td[data-ficha="abierta"]{grid-template-columns:240px minmax(0,1fr) 360px;grid-template-areas:"lado centro ficha"}
.td[data-disposicion="compacta"]{grid-template-columns:minmax(0,1fr);grid-template-areas:"centro"}
.td[data-disposicion="compacta"][data-ficha="abierta"]{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"centro ficha"}
.td[data-disposicion="telefono"]{grid-template-columns:minmax(0,1fr);grid-template-areas:"centro"}
.td[data-disposicion="telefono"][data-ficha="abierta"]{grid-template-areas:"ficha"}
.td[data-disposicion="telefono"][data-ficha="abierta"] .td-centro{display:none}
.td[data-disposicion="completa"] .td-lado{display:flex}
/* Lo que no es una zona no crea filas: si no, las filas de más se reparten el alto y la pantalla se corta. El aviso
   flota (absoluto) y la ficha cerrada no se dibuja. */
#tdAviso{display:contents}
.td-ficha[hidden]{display:none}

/* ── Barra lateral ── */
.td-lado{grid-area:lado;display:none;flex-direction:column;gap:4px;padding:16px 12px;border-right:1px solid var(--line);background:var(--panel);overflow-y:auto}
.td-lado h2{margin:4px 8px 10px;font:600 22px/1.1 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--text-strong);display:flex;align-items:center;gap:8px}
.td-lado h2 svg{width:20px;height:20px;color:var(--accent)}
.td-lado .td-grupo{margin:10px 8px 4px;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;justify-content:space-between}
.td-lado .td-grupo button{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.td-lado .td-grupo button:hover{background:rgba(var(--fg-rgb),.08);color:var(--text)}
.td-lado .td-grupo button svg{width:14px;height:14px}
.td-nav{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.td-nav:hover{background:rgba(var(--fg-rgb),.05)}
.td-nav[aria-current="true"]{background:rgba(var(--accent-rgb),.14);color:var(--text-strong);font-weight:600}
.td-nav svg{width:16px;height:16px;color:var(--muted);flex:none}
.td-nav[aria-current="true"] svg{color:var(--accent)}
.td-nav .td-punto{width:9px;height:9px;border-radius:50%;flex:none;background:var(--c,var(--accent))}
.td-nav em{margin-left:auto;font-style:normal;font-size:11px;font-weight:700;color:var(--muted);padding:1px 7px;border-radius:999px;background:rgba(var(--fg-rgb),.06)}
.td-nav em.alerta{color:var(--danger);background:rgba(var(--danger-rgb),.12)}
.td-nav span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-nav.archivada{opacity:.6}
.td-etiquetas{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px}
.td-chip{padding:3px 9px;border-radius:999px;border:1px solid var(--line);background:var(--bg);font-size:11.5px;color:var(--text);cursor:pointer}
.td-chip[aria-pressed="true"]{border-color:var(--accent);background:rgba(var(--accent-rgb),.14);color:var(--text-strong)}
.td-lado .td-pie{margin-top:auto;padding:8px;font-size:11px;color:var(--muted);line-height:1.5}
.td-lado .td-pie kbd{font:inherit;padding:0 5px;border-radius:4px;border:1px solid var(--line);background:var(--bg)}

/* ── Centro ── */
.td-centro{grid-area:centro;display:flex;flex-direction:column;min-width:0;min-height:0}
.td-cab{display:flex;flex-direction:column;gap:12px;padding:16px 20px 10px;border-bottom:1px solid var(--line)}
.td-cab-fila{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.td-cab h3{margin:0;font:600 clamp(20px,2.4vw,26px)/1.1 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--text-strong);display:flex;align-items:center;gap:10px}
.td-cab h3 .td-punto{width:11px;height:11px;border-radius:50%;background:var(--c,var(--accent))}
.td-titular{color:var(--muted);font-size:12.5px;font-weight:600}
.td-titular.alerta{color:var(--danger)}
.td-menu-btn{display:none;place-items:center;width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}
.td-menu-btn svg{width:17px;height:17px}
.td[data-disposicion="compacta"] .td-menu-btn,.td[data-disposicion="telefono"] .td-menu-btn{display:grid}
.td-vistas{display:inline-flex;gap:2px;padding:3px;border-radius:12px;background:rgba(var(--fg-rgb),.06)}
.td-vistas-grupo{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap}
.td-vistas button{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.td-vistas button svg{width:14px;height:14px}
.td-vistas button[aria-selected="true"]{background:var(--panel);color:var(--text-strong);box-shadow:0 1px 3px rgba(0,0,0,.18)}
.td-vistas button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.td-rapida{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 14px;border-radius:14px;border:1px solid var(--line);background:var(--panel);transition:border-color .15s,box-shadow .15s}
.td-rapida:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.18)}
.td-rapida>svg{width:18px;height:18px;color:var(--accent);flex:none}
.td-rapida input{flex:1;min-width:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:14px;padding:9px 0;outline:none}
.td-rapida input::placeholder{color:var(--muted)}
.td-rapida .td-vista-previa{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.td-rapida .td-vista-previa span{padding:2px 8px;border-radius:999px;background:rgba(var(--accent-rgb),.12);color:var(--accent);font-weight:600;white-space:nowrap}
.td-rapida button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:600;cursor:pointer}
.td-rapida button svg{width:15px;height:15px}
.td-busca{display:flex;align-items:center;gap:8px;padding:0 10px;border-radius:10px;border:1px solid var(--line);background:var(--panel);min-width:160px}
.td-busca svg{width:14px;height:14px;color:var(--muted)}
.td-busca input{border:0;background:transparent;color:var(--text);font:inherit;font-size:12.5px;padding:7px 0;width:150px;outline:none}
.td-cuerpo{flex:1;min-height:0;overflow:auto;padding:14px 20px 40px;overscroll-behavior:contain}
.td-vacio{display:grid;place-items:center;gap:10px;padding:60px 20px;text-align:center;color:var(--muted)}
.td-vacio svg{width:42px;height:42px;color:var(--accent);opacity:.8}
.td-vacio h4{margin:0;font:600 20px/1.2 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--text-strong)}
.td-vacio p{margin:0;max-width:420px;line-height:1.5}

/* ── La tarjeta de una tarea (lista y kanban) ── */
.td-tarea{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;position:relative}
.td-tarea:hover{border-color:rgba(var(--accent-rgb),.5)}
.td-tarea[aria-selected="true"]{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.22)}
.td-tarea.hecha{opacity:.62}
.td-tarea.hecha .td-titulo{text-decoration:line-through}
.td-tarea.arrastrando{opacity:.4;transform:scale(.98)}
.td-marca{appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border-radius:50%;border:2px solid var(--p,var(--muted));background:transparent;cursor:pointer;display:grid;place-items:center;transition:background .15s}
.td-marca:checked{background:var(--p,var(--accent));border-color:var(--p,var(--accent))}
.td-marca:checked::after{content:"";width:6px;height:10px;border:solid var(--on-accent);border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg)}
.td-marca:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.td-tarea[data-prioridad="alta"]{--p:var(--danger)}
.td-tarea[data-prioridad="media"]{--p:var(--warn)}
.td-tarea[data-prioridad="baja"]{--p:var(--info)}
.td-tarea[data-prioridad="ninguna"]{--p:var(--muted)}
.td-tarea-cuerpo{display:grid;gap:4px;min-width:0}
.td-titulo{font-size:13.5px;font-weight:600;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted)}
.td-meta .td-cuando{display:inline-flex;align-items:center;gap:4px;font-weight:600}
.td-meta .td-cuando.atrasada{color:var(--danger)}
.td-meta .td-cuando.hoy{color:var(--warn)}
.td-meta .td-cuando svg{width:12px;height:12px}
.td-meta .td-lista{display:inline-flex;align-items:center;gap:5px}
.td-meta .td-lista i{width:7px;height:7px;border-radius:50%;background:var(--c,var(--accent))}
.td-meta .td-eti{padding:1px 7px;border-radius:999px;background:rgba(var(--fg-rgb),.06)}
.td-meta .td-sub{display:inline-flex;align-items:center;gap:5px}
.td-meta .td-sub b{display:inline-block;width:44px;height:4px;border-radius:999px;background:rgba(var(--fg-rgb),.1);overflow:hidden}
.td-meta .td-sub b i{display:block;height:100%;width:var(--pct,0%);background:var(--ok)}
.td-meta .td-repite svg{width:12px;height:12px}
.td-estado{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 7px;border-radius:6px;background:rgba(var(--info-rgb),.14);color:var(--info);align-self:center}
.td-tarea .td-mas{opacity:0;display:grid;place-items:center;width:26px;height:26px;border-radius:7px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.td-tarea:hover .td-mas,.td-tarea:focus-within .td-mas{opacity:1}
.td-tarea .td-mas svg{width:15px;height:15px}

/* Lista */
.td-lista-vista{display:grid;gap:8px;max-width:920px}
.td-seccion-dia{margin:14px 0 6px;display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.td-seccion-dia.atrasadas{color:var(--danger)}
.td-seccion-dia::after{content:"";flex:1;height:1px;background:var(--line)}

/* Kanban */
.td-kanban{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:12px;align-items:start;min-width:0}
.td[data-disposicion="telefono"] .td-kanban{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:82vw;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
.td[data-disposicion="telefono"] .td-col{scroll-snap-align:start}
.td-col{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:14px;background:rgba(var(--fg-rgb),.035);min-height:140px;border:1px dashed transparent;transition:border-color .15s,background .15s}
.td-col.sobre{border-color:var(--accent);background:rgba(var(--accent-rgb),.08)}
.td-col>header{display:flex;align-items:center;gap:8px;padding:2px 4px 6px;font-size:12px;font-weight:700;color:var(--text-strong)}
.td-col>header i{width:9px;height:9px;border-radius:50%;background:var(--p,var(--muted))}
.td-col[data-prioridad="alta"]{--p:var(--danger)}
.td-col[data-prioridad="media"]{--p:var(--warn)}
.td-col[data-prioridad="baja"]{--p:var(--info)}
.td-col[data-prioridad="ninguna"]{--p:var(--muted)}
.td-col[data-prioridad="hechas"]{--p:var(--ok)}
.td-col>header em{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted);padding:1px 7px;border-radius:999px;background:rgba(var(--fg-rgb),.07)}
.td-col>header em.alerta{color:var(--danger);background:rgba(var(--danger-rgb),.12)}
.td-col .td-nueva{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:12px;cursor:pointer}
.td-col .td-nueva:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.5)}
.td-col .td-nueva svg{width:14px;height:14px}

/* Calendario */
.td-cal{display:flex;flex-direction:column;gap:10px;min-width:0}
.td-cal-cab{display:flex;align-items:center;gap:10px}
.td-cal-cab h4{margin:0;font:600 18px/1.1 "Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;color:var(--text-strong);min-width:180px}
.td-cal-cab button{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer}
.td-cal-cab button svg{width:15px;height:15px}
.td-cal-cab .td-hoy-btn{width:auto;padding:0 12px;font:inherit;font-size:12px;font-weight:600}
.td-cal-rejilla{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.td-cal-rejilla>b{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px 0}
.td-dia{min-height:104px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:border-color .15s,background .15s}
.td-dia:hover{border-color:rgba(var(--accent-rgb),.5)}
.td-dia.fuera{opacity:.45}
.td-dia.pasado .td-dia-num{color:var(--muted)}
.td-dia.hoy{border-color:var(--accent);background:rgba(var(--accent-rgb),.06)}
.td-dia.sobre{border-color:var(--accent);background:rgba(var(--accent-rgb),.12)}
.td-dia-num{font-size:12px;font-weight:700;color:var(--text);display:flex;justify-content:space-between}
.td-dia.hoy .td-dia-num{color:var(--accent)}
.td-dia-num small{font-weight:600;color:var(--muted)}
.td-dia-tarea{display:flex;align-items:center;gap:5px;padding:3px 6px;border-radius:7px;background:rgba(var(--p-rgb,var(--fg-rgb)),.12);font-size:11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:grab;border-left:3px solid var(--p,var(--muted))}
.td-dia-tarea[data-prioridad="alta"]{--p:var(--danger);--p-rgb:var(--danger-rgb)}
.td-dia-tarea[data-prioridad="media"]{--p:var(--warn);--p-rgb:var(--warn-rgb)}
.td-dia-tarea[data-prioridad="baja"]{--p:var(--info);--p-rgb:var(--info-rgb)}
.td-dia-tarea.hecha{opacity:.55;text-decoration:line-through}
.td-dia-mas{font-size:10.5px;color:var(--muted);padding:0 6px}
.td[data-disposicion="telefono"] .td-cal-rejilla{gap:3px}
.td[data-disposicion="telefono"] .td-dia{min-height:54px;padding:4px}
.td[data-disposicion="telefono"] .td-dia-tarea{display:none}
.td[data-disposicion="telefono"] .td-dia .td-dia-puntos{display:flex;gap:2px;flex-wrap:wrap}
.td-dia-puntos{display:none}
.td-dia-puntos i{width:6px;height:6px;border-radius:50%;background:var(--p,var(--accent))}
.td-cal-agenda{display:grid;gap:8px;margin-top:6px}

/* Tabla */
.td-tabla{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.td-tabla th{position:sticky;top:0;z-index:1;text-align:left;padding:8px 10px;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--bg);border-bottom:1px solid var(--line);cursor:pointer;white-space:nowrap;user-select:none}
.td-tabla th[aria-sort]{color:var(--text-strong)}
.td-tabla th svg{width:12px;height:12px;vertical-align:-2px;margin-left:3px}
.td-tabla td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:middle;color:var(--text)}
.td-tabla tr{cursor:pointer}
.td-tabla tbody tr:hover td{background:rgba(var(--fg-rgb),.04)}
.td-tabla tr[aria-selected="true"] td{background:rgba(var(--accent-rgb),.1)}
.td-tabla tr.hecha td{opacity:.6}
.td-tabla tr.hecha .td-celda-titulo{text-decoration:line-through}
.td-tabla .td-celda-titulo{font-weight:600;color:var(--text-strong);max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.td-tabla select,.td-tabla input[type=date]{font:inherit;font-size:12px;padding:4px 6px;border-radius:7px;border:1px solid var(--line);background:var(--panel);color:var(--text)}
.td-pildora{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;font-size:11.5px;font-weight:600;background:rgba(var(--p-rgb,var(--fg-rgb)),.12);color:var(--p,var(--text))}
.td-pildora[data-prioridad="alta"]{--p:var(--danger);--p-rgb:var(--danger-rgb)}
.td-pildora[data-prioridad="media"]{--p:var(--warn);--p-rgb:var(--warn-rgb)}
.td-pildora[data-prioridad="baja"]{--p:var(--info);--p-rgb:var(--info-rgb)}
.td-pildora[data-estado="en_curso"]{--p:var(--info);--p-rgb:var(--info-rgb)}
.td-pildora[data-estado="hecha"]{--p:var(--ok);--p-rgb:var(--ok-rgb)}
.td-tabla-envoltura{overflow:auto;border-radius:14px;border:1px solid var(--line);background:var(--panel)}

/* ── Ficha ── */
.td-ficha{grid-area:ficha;display:flex;flex-direction:column;min-height:0;border-left:1px solid var(--line);background:var(--panel)}
.td-ficha-cab{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--line)}
.td-ficha-cab .td-marca{width:24px;height:24px}
.td-ficha-cab .td-espacio{flex:1}
.td-ficha-cab button{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;border:0;background:transparent;color:var(--muted);cursor:pointer}
.td-ficha-cab button:hover{background:rgba(var(--fg-rgb),.07);color:var(--text)}
.td-ficha-cab button svg{width:16px;height:16px}
.td-ficha-cuerpo{flex:1;overflow:auto;padding:14px;display:grid;gap:14px;align-content:start}
.td-ficha-titulo{width:100%;border:0;background:transparent;color:var(--text-strong);font:600 19px/1.3 inherit;font-family:inherit;padding:4px 0;outline:none;resize:none;overflow:hidden}
.td-ficha-titulo:focus{box-shadow:inset 0 -2px 0 var(--accent)}
.td-campos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.td-campo{display:grid;gap:4px}
.td-campo label{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.td-campo select,.td-campo input{font:inherit;font-size:13px;padding:7px 9px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);width:100%}
.td-campo.ancho{grid-column:1 / -1}
.td-prioridades{display:flex;gap:6px}
.td-prioridades button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 6px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:12px;font-weight:600;cursor:pointer}
.td-prioridades button i{width:8px;height:8px;border-radius:50%;background:var(--p,var(--muted))}
.td-prioridades button[data-prioridad="alta"]{--p:var(--danger)}
.td-prioridades button[data-prioridad="media"]{--p:var(--warn)}
.td-prioridades button[data-prioridad="baja"]{--p:var(--info)}
.td-prioridades button[aria-pressed="true"]{border-color:var(--p,var(--accent));background:rgba(var(--accent-rgb),.1);color:var(--text-strong)}
.td-notas{min-height:110px;font:inherit;font-size:13px;line-height:1.5;padding:9px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--text);resize:vertical;width:100%}
.td-subtareas{display:grid;gap:6px}
.td-subtareas .td-avance{height:4px;border-radius:999px;background:rgba(var(--fg-rgb),.1);overflow:hidden}
.td-subtareas .td-avance i{display:block;height:100%;width:var(--pct,0%);background:var(--ok);transition:width .3s}
.td-subtarea{display:flex;align-items:center;gap:8px}
.td-subtarea input[type=checkbox]{width:16px;height:16px;accent-color:var(--ok)}
.td-subtarea span{flex:1;font-size:13px}
.td-subtarea.hecha span{text-decoration:line-through;color:var(--muted)}
.td-subtarea button{display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer;opacity:0}
.td-subtarea:hover button{opacity:1}
.td-subtarea button svg{width:13px;height:13px}
.td-subtarea-nueva{display:flex;align-items:center;gap:8px}
.td-subtarea-nueva input{flex:1;font:inherit;font-size:13px;padding:6px 9px;border-radius:8px;border:1px dashed var(--line);background:transparent;color:var(--text)}
.td-etiquetas-ficha{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.td-etiquetas-ficha .td-chip button{border:0;background:transparent;color:inherit;cursor:pointer;margin-left:4px;font:inherit}
.td-etiquetas-ficha input{font:inherit;font-size:12px;padding:4px 8px;border-radius:999px;border:1px dashed var(--line);background:transparent;color:var(--text);width:110px}
.td-ficha-pie{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted);flex-wrap:wrap}
.td-ficha-pie .td-espacio{flex:1}
.td-ficha-pie button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--text);font:inherit;font-size:12px;cursor:pointer}
.td-ficha-pie button.peligro{color:var(--danger)}
.td-ficha-pie button svg{width:14px;height:14px}
.td-guardado{color:var(--ok);font-weight:600}

/* Hoja de listas en compacta/teléfono */
.td-hoja{position:absolute;inset:0;z-index:5;display:none;background:rgba(var(--bg-rgb,0,0,0),.55);backdrop-filter:blur(2px)}
.td-hoja.abierta{display:block}
.td-hoja .td-lado{display:flex;position:absolute;left:0;top:0;bottom:0;width:min(300px,86vw);box-shadow:0 0 40px rgba(0,0,0,.35)}

/* Menú contextual de una tarea */
.td-menu{position:fixed;z-index:9;min-width:200px;padding:6px;border-radius:12px;border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 32px rgba(0,0,0,.28);display:grid;gap:2px}
.td-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}
.td-menu button:hover{background:rgba(var(--fg-rgb),.06)}
.td-menu button.peligro{color:var(--danger)}
.td-menu button svg{width:15px;height:15px;color:var(--muted)}
.td-menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}
.td-menu h5{margin:6px 10px 2px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* Avisos (deshacer) */
.td-aviso{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:8;display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.3);animation:td-sube .25s ease}
.td-aviso button{border:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}
@keyframes td-sube{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
.td-resaltada{animation:td-resalta 1.4s ease}
@keyframes td-resalta{0%,60%{box-shadow:0 0 0 3px rgba(var(--accent-rgb),.6)}100%{box-shadow:none}}
@media (prefers-reduced-motion:reduce){.td-aviso,.td-resaltada{animation:none}}

/* ── Reuniones: el botón junto a las vistas, la lista y la ficha (reuniones.js) ── */
.td-reunion{display:inline-flex;align-items:center;gap:6px}
.td-reunion-btn{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;font-weight:650;cursor:pointer}
.td-reunion-btn svg{width:14px;height:14px}
.td-reunion-btn:hover{border-color:var(--accent);color:var(--text-strong)}
.td-reunion-btn:focus-visible,.td-reunion-mas:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.td-reunion-btn.vivo{border-color:var(--danger);background:rgba(var(--danger-rgb),.12);color:var(--text-strong)}
.td-reunion-btn.vivo em{font-style:normal;padding:2px 8px;border-radius:7px;background:var(--danger);color:var(--on-danger)}
.td-reunion-btn.vivo b{font-variant-numeric:tabular-nums}
.td-reunion-btn.aviso{border-color:var(--warn);color:var(--warn)}
.td-reunion-btn.trabajando svg{animation:td-girar 1s linear infinite}
.td-reunion-punto{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:td-latir 1.4s ease-in-out infinite}
.td-reunion-mas{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--muted);font:inherit;font-size:11.5px;cursor:pointer}
.td-reunion-mas svg,.td-reunion-fuente svg{width:14px;height:14px}
.td-reunion-fuente{display:inline-flex;color:var(--ok)}
@keyframes td-latir{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}
@keyframes td-girar{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.td-reunion-punto,.td-reunion-btn.trabajando svg,.re-trabajando svg{animation:none}}
.re-vista{max-width:860px;margin:0 auto;padding:8px 4px 40px}
.re-lista{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.re-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--text);font:inherit;text-align:left;cursor:pointer}
.re-item:hover{border-color:var(--accent)}
.re-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.re-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(var(--fg-rgb),.06);color:var(--accent)}
.re-ico svg{width:18px;height:18px}
.re-ico.vivo{color:var(--danger)}
.re-texto{display:grid;gap:3px;min-width:0}
.re-texto b{font-size:13.5px;color:var(--text-strong)}
.re-texto small{color:var(--muted);font-size:11.5px}
.re-corto{color:var(--text);font-size:12px;opacity:.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.re-estado{font-size:11px;font-weight:650;padding:3px 9px;border-radius:999px;background:rgba(var(--fg-rgb),.06);color:var(--muted);white-space:nowrap}
.re-estado.vivo{color:var(--danger)}.re-estado.trabajando{color:var(--info)}.re-estado.pendiente{color:var(--warn)}.re-estado.ok{color:var(--ok)}.re-estado.aviso{color:var(--warn)}
.re-ficha{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.re-cab{display:flex;align-items:center;gap:10px;min-width:0}
.re-volver{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer}
.re-volver svg{width:16px;height:16px}
.re-titulo{flex:1;min-width:0;border:0;border-bottom:1px solid transparent;background:transparent;color:var(--text-strong);font:inherit;font-size:20px;font-weight:700;padding:4px 2px}
.re-titulo:focus{outline:none;border-bottom-color:var(--accent)}
.re-meta{margin:-6px 0 0 44px;color:var(--muted);font-size:12px}
.re-trabajando,.re-aviso{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px;border-radius:12px;background:rgba(var(--fg-rgb),.05);font-size:12.5px}
.re-trabajando svg{width:15px;height:15px;animation:td-girar 1s linear infinite;color:var(--info)}
.re-aviso{color:var(--text)}
.re-aviso button,.re-pie button{border:1px solid var(--line);border-radius:9px;background:var(--panel);color:var(--text);font:inherit;font-size:12px;padding:6px 10px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.re-pie button svg{width:13px;height:13px}
.re-bloque{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.re-bloque h5,.re-pasar h5{margin:0 0 8px;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:6px}
.re-bloque h5 small{font-weight:600}
.re-bloque p{margin:0;line-height:1.55;font-size:13.5px}
.re-bloque ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.re-pasar{padding:14px 16px;border:1px solid var(--accent);border-radius:14px;background:rgba(var(--fg-rgb),.03)}
.re-pasar h5 svg{width:14px;height:14px;color:var(--accent)}
.re-pasar-fila{display:flex;gap:8px;flex-wrap:wrap}
.re-pasar-fila select,.re-pasar-fila input{min-width:0;flex:1 1 160px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);font:inherit;font-size:13px}
.re-primario{padding:8px 14px;border:0;border-radius:10px;background:var(--accent);color:var(--on-accent);font:inherit;font-weight:700;font-size:13px;cursor:pointer}
.re-primario:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}
.re-tareas{display:grid;gap:6px}
.re-tarea{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;cursor:pointer}
.re-tarea input{margin-top:2px;accent-color:var(--accent)}
.re-tarea em{font-style:normal;color:var(--warn);font-size:11.5px}
.re-tarea.pasada{opacity:.6}
.re-tarea small{color:var(--ok)}
.re-transcripcion{border:1px solid var(--line);border-radius:14px;background:var(--panel);padding:10px 14px}
.re-transcripcion summary{cursor:pointer;font-size:12.5px;font-weight:650;color:var(--muted)}
.re-transcripcion pre{margin:10px 0 0;white-space:pre-wrap;font:inherit;font-size:12.5px;line-height:1.55;max-height:380px;overflow:auto}
.re-pie{display:flex;gap:8px;align-items:center}
.re-pie .peligro{color:var(--danger)}
@media (max-width:640px){.td-vistas-grupo{margin-left:0;width:100%}.re-item{grid-template-columns:34px minmax(0,1fr)}.re-item .re-estado{grid-column:2;justify-self:start}.re-meta{margin-left:0}}
