/* WickChart · estilos del Taller (19-10-2026). Clases con prefijo tl- para no chocar con style.css ni v2.css (ya pasó con .hbar). */
.tlhero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:22px;align-items:start;margin:0 0 6px}
.tlhero h3{margin:0 0 4px;font-size:18px}
.tlhero .hint{margin:0}
.tlstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.tlstats .stat{background:var(--surface);padding:10px 12px}
.tlstats .stat .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tlstats .stat .v{font-size:22px;font-weight:600;line-height:1.1;margin:2px 0}
.tlstats .stat .s{font-size:11.5px;color:var(--faint)}

.tlnew{border:1px solid var(--accent);background:var(--accent-bg);border-radius:6px;padding:10px 13px;margin:12px 0}
.tlnew b{color:var(--accent)}
.tlnew ul{margin:6px 0 8px;padding-left:18px;font-size:13px}
.tlnew li{margin:2px 0}
.tlnew small{color:var(--muted)}

.tlav{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--ma);color:#fff;font-size:11px;font-weight:700;flex:0 0 auto}
.tlav[data-u="saul"]{background:var(--up)}
.tlav.free{background:var(--line);color:var(--muted)}

.tlpeople{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:0 0 14px}
.tlp{border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:11px 13px}
.tlp .h{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.tlp .now{display:flex;flex-direction:column;gap:3px;font-size:13px}
.tlp .now .k{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tlp .now.vacio{color:var(--faint);font-size:12.5px}
.tlp .nums{display:flex;gap:14px;margin-top:8px;font-size:12px;color:var(--muted)}
.tlp.libre{border-style:dashed}

.tlbar .tlq{font:inherit;font-size:12.5px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 12px;min-width:200px}
.tlbar .sp,.tlc .sp,.tlf .sp{flex:1}

.tlboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;align-items:start}
.tlcol{border:1px solid var(--line);border-radius:6px;background:var(--line2);padding:9px;min-height:120px}
.tlcol.over{border-color:var(--accent);background:var(--accent-bg)}
.tlcol h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tlcol h3 .n{margin-left:auto;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:0 7px;font-size:11px}
.tlcol .drop{display:flex;flex-direction:column;gap:8px;min-height:40px}
.tlcol .vacio,.tllog .vacio,.tlideas .vacio{color:var(--faint);font-size:12.5px;margin:4px 2px}

.tlc{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:5px;padding:9px 11px;cursor:default}
.tlc header{display:flex;align-items:flex-start;gap:7px;cursor:pointer}
.tlc header h4{margin:0;font-size:13.5px;font-weight:600;line-height:1.3;flex:1}
.tlc header .tp{font-size:13px;line-height:1.3}
.tlc .nw{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:0 6px;align-self:center}
.tlc .meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:6px;font-size:11.5px;color:var(--muted)}
.tlc .meta .asg{display:inline-flex;align-items:center;gap:5px}
.tlc .meta .asg.libre{color:var(--faint);font-style:italic}
.tlc .tg{font:inherit;font-size:10.5px;background:var(--line2);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;cursor:pointer}
.tlc .tg:hover{border-color:var(--accent);color:var(--accent)}
.tlc .tg.mdl{cursor:default;background:none;border-color:var(--accent);color:var(--accent)}
.tlc .tg.mdl:hover{color:var(--accent)}
.tlc .vt{font:inherit;font-size:11.5px;background:var(--surface);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 9px;cursor:pointer}
.tlc .vt.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent);font-weight:600}
.tlc footer{margin-top:6px;color:var(--faint);font-size:11px}
.tlc.nuevo{border-left-color:var(--accent)}
.tlc.e-haciendo{border-left-color:var(--up)}
.tlc.e-hecho{border-left-color:var(--muted);opacity:.78}
.tlc.e-descartado{border-left-color:var(--down);opacity:.6}
.tlc.open{box-shadow:var(--shadow);border-color:var(--accent)}
.tlc.drag{opacity:.45}
.tlc[draggable]{cursor:grab}

.tlf{border-top:1px solid var(--line);margin-top:9px;padding-top:9px}
.tlf .tx{font-size:13px;line-height:1.5;white-space:normal}
.tlf .fls{margin-top:7px;font-size:11.5px;color:var(--muted)}
.tlf .fls code{background:var(--line2);border:1px solid var(--line);border-radius:3px;padding:0 5px;margin-right:4px;font-size:11px;display:inline-block}
.tlf .acts{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:9px 0 4px}
.tlf .acts .sep{width:1px;height:18px;background:var(--line);margin:0 3px}
.tlf .acts .btn.verif.ok{border-color:var(--up);color:var(--up)}
.tlf .acts .btn.verif.ko{border-color:var(--down);color:var(--down)}
.tlf .acts span.verif.ok{font-size:11.5px;font-weight:600;color:var(--up);border:1px solid var(--up);border-radius:999px;padding:2px 10px}
.tlf .cms{margin-top:8px}
.tlf .cmt{border-left:2px solid var(--line);padding:4px 0 4px 9px;margin:6px 0}
.tlf .cmt .ch{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--muted)}
.tlf .cmt .ch b{color:var(--ink)}
.tlf .cmt .ch .x{margin-left:auto;font:inherit;font-size:11px;background:none;border:0;color:var(--faint);cursor:pointer}
.tlf .cmt .tx{font-size:13px;margin-top:2px}
.tlf .cmf{display:flex;gap:7px;align-items:flex-end;margin-top:8px}
.tlf .cmf textarea{flex:1;font:inherit;font-size:13px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:5px 7px;resize:vertical}

/* adjuntos de una tarea/idea (20-10-2026): miniaturas de imagen y chips de documento, con su botón de quitar */
.tladj{margin-top:9px}
.tladj-h{display:flex;align-items:center;gap:8px;font-size:12px;margin-bottom:6px}
.tladj-h .hint{color:var(--faint)}
.tladj-grid{display:flex;flex-wrap:wrap;gap:8px}
.tladj-it{position:relative;display:inline-flex;align-items:center}
.tladj-it.img{width:72px;height:60px}
.tladj-it.img img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid var(--line);cursor:zoom-in;background:var(--line2)}
.tladj-it.doc{flex-direction:column;align-items:flex-start;gap:1px;padding:5px 9px;border-radius:6px;border:1px solid var(--line);background:var(--surface);max-width:160px}
.tladj-it.doc a{font-size:12px;color:var(--ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tladj-it.doc a:hover{text-decoration:underline}
.tladj-it.doc small{font-size:10.5px;color:var(--faint)}
.tladj-it .x{position:absolute;top:-6px;right:-6px;font:inherit;font-size:10px;line-height:1;background:var(--ink);color:var(--bg);border:0;border-radius:50%;width:17px;height:17px;cursor:pointer}
.tladj-it.pend{opacity:.85}.tladj-it.pend.img img{border-style:dashed}.tladj-it.pend.doc{border-style:dashed}

.tlform{margin:0 0 14px;border:1px solid var(--accent);border-radius:6px;padding:11px 13px;background:var(--surface)}
.tlform.drop{outline:2px dashed var(--accent);outline-offset:-4px}
.tlform .quick{flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}
.tlform .chip.on{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}
.tlform .row{display:flex;gap:8px;margin-top:10px}
.tlform .eyebrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tlform .eyebrow #tl-mic{text-transform:none;font-size:12px}
.tlform .tladj-form .tladj-h .hint{flex:1 1 180px;min-width:150px;font-size:11px}
#tl-mic.on{background:#c0392b;border-color:#c0392b;color:#fff;animation:chatpulse 1.2s ease-in-out infinite}
#tl-mic-st{text-transform:none;font-weight:400;letter-spacing:normal;color:var(--muted)}

.tlideas{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:10px;align-items:start}
.tlideas.viejas .tlc{opacity:.72}
.tllog .day{margin:0 0 14px}
.tllog .dh{display:flex;align-items:baseline;gap:9px;font-weight:600;font-size:13px;border-bottom:1px solid var(--line);padding-bottom:4px;margin-bottom:8px}
.tllog .dh small{color:var(--faint);font-weight:400}
.tllog .tlc{margin-bottom:8px}

/* vista previa del taller en el mega-menú */
.mtl .mtlr{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;font-size:12.5px;margin-bottom:7px}
.mtl .mtlu{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}
.mtl .mtlu b{color:var(--ink)}
.mtl .mtlnew{background:var(--accent-bg);border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:1px 9px;font-size:11.5px}
.mtl .mtll{list-style:none;margin:0;padding:0;font-size:12.5px}
.mtl .mtll li{display:flex;align-items:center;gap:7px;padding:3px 0;border-top:1px solid var(--line2)}
.mtl .mtll li b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mtl .mtll li small{margin-left:auto;color:var(--faint);white-space:nowrap}

/* punto de novedades sobre el botón «Taller» de la barra de menús */
.mi.tlnw{position:relative}
.mi.tlnw::after{content:attr(data-tln);position:absolute;top:3px;right:3px;min-width:15px;height:15px;border-radius:999px;background:var(--accent);color:#17202a;font-size:10px;font-weight:700;line-height:15px;text-align:center;padding:0 3px}

@media (max-width:900px){.tlhero{grid-template-columns:1fr}.tlboard{grid-template-columns:1fr}}

/* franja de aviso del taller (19-10-2026): se ve arriba del todo, sobre la línea de situación, cuando el otro (o Claude) apunta algo */
#tlbar.tlbar{display:flex;align-items:flex-start;gap:12px;margin:6px 0 10px;padding:10px 14px;border:1px solid var(--accent);background:var(--accent-bg);border-radius:10px;font-size:13px}
#tlbar .ic{font-size:22px;line-height:1}
#tlbar .tx{flex:1;min-width:0}
#tlbar .tx b{display:block;margin-bottom:3px}
#tlbar .tx div{line-height:1.45}
#tlbar .lnk{background:none;border:0;padding:0;font:inherit;color:var(--ink);font-weight:600;cursor:pointer;text-align:left}
#tlbar .lnk:hover{text-decoration:underline}
#tlbar .muted{color:var(--muted)}
#tlbar .btn{align-self:center}

/* ejecución de tareas con Claude (19-10-2026): píldora en la tarjeta y avatar propio en sus comentarios */
.tlc .ejec{display:inline-flex;align-items:center;gap:5px;font-size:11px;border-radius:999px;padding:1px 9px;border:1px solid var(--accent);color:var(--accent);background:var(--accent-bg)}
.tlc .ejec.on{animation:tlpulso 1.6s ease-in-out infinite}
.tlc .ejec.ko{border-color:var(--down);color:var(--down);background:transparent}
@keyframes tlpulso{0%,100%{opacity:1}50%{opacity:.45}}
.tlav[data-u="claude"]{background:var(--accent);color:#17202a}
.tlf .cmt:has(.tlav[data-u="claude"]){border-left-color:var(--accent)}
@media (prefers-reduced-motion:reduce){.tlc .ejec.on{animation:none}}

/* chat con Claude embebido en el Taller (20-10-2026): el mismo <dialog id="chatdlg"> de chat.js, pero en flujo normal dentro de la vista en vez de flotante */
.tlchat-host{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.chatdlg.tl-embed{position:static!important;inset:auto!important;margin:0!important;width:100%!important;max-width:100%!important;height:min(62vh,560px)!important;max-height:none!important;border-radius:0!important;box-shadow:none!important;z-index:auto!important;display:flex!important}
.chatdlg.tl-embed #chat-close{display:none}

/* interruptor automático / a mano (19-10-2026) */
.tlauto{display:flex;align-items:flex-start;gap:14px;border:1px solid var(--line);border-radius:8px;padding:10px 13px;margin:0 0 14px;background:var(--surface);flex-wrap:wrap}
.tlauto.on{border-color:var(--accent);background:var(--accent-bg)}
.tlauto .sw{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;flex:0 0 auto;background:var(--bg)}
.tlauto .opt{font:inherit;font-size:12.5px;background:none;border:0;padding:5px 13px;cursor:pointer;color:var(--muted);white-space:nowrap}
.tlauto .opt.on{background:var(--accent);color:#17202a;font-weight:600}
.tlauto .tx{flex:1;min-width:220px;font-size:12.5px;line-height:1.45}
.tlauto .tx small{display:block;color:var(--muted);margin-top:3px}
.tlauto .tx code{background:var(--line2);border:1px solid var(--line);border-radius:3px;padding:0 4px;font-size:11px}
.tlauto .next{flex:1 0 100%;border-top:1px dashed var(--line);margin-top:4px;padding-top:7px;font-size:12.5px;color:var(--muted)}
.tlauto .next b{color:var(--ink)}
.tlauto .next .pr{font-size:11px;border:1px solid var(--line);border-radius:999px;padding:0 7px;margin-left:5px}

/* contador de visitas (20-10-2026) */
.tlvis{margin:0 0 14px}.tlvis .tlstats{margin-bottom:10px}
.tlbars{display:flex;gap:3px;align-items:flex-end;height:72px;padding:0 2px 16px;border-bottom:1px solid var(--line);position:relative}
.tlbars .bar{flex:1;position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}
.tlbars .bar i{display:block;width:100%;background:var(--ink);opacity:.75;border-radius:2px 2px 0 0;min-height:0}
.tlbars .bar i.eq{background:var(--accent);opacity:.5;border-radius:0}
.tlbars .bar:hover i{opacity:1}
.tlbars .bar b{position:absolute;left:0;right:0;bottom:-15px;font-size:9.5px;font-weight:400;color:var(--faint);text-align:center;overflow:hidden}
.tlbars .bar:nth-child(even) b{visibility:hidden}@media (min-width:900px){.tlbars .bar:nth-child(even) b{visibility:visible}}
.tlvisx{display:flex;flex-direction:column;gap:4px;margin:10px 0 2px;font-size:12.5px}.tlvisx code{font-size:11.5px}

/* ---- Entrenamiento (20-10-2026) */
.ettabs{margin-top:4px}
.etform{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:12px 14px;margin:0 0 14px;display:flex;flex-direction:column;gap:9px}
.etrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:12.5px}.etrow label{display:inline-flex;align-items:center;gap:6px;color:var(--muted)}.etrow .sp{flex:1}
.etrow label.chk{color:var(--ink);cursor:pointer}.etrow select,.etrow input{font:inherit;font-size:12.5px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:4px 8px}
.etform textarea{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:7px 10px;width:100%;box-sizing:border-box;resize:vertical}
.etimg{border:1px dashed var(--line);border-radius:6px;padding:8px 10px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:10px;cursor:text;min-height:22px}.etimg.over,.etimg:focus{border-color:var(--accent);outline:none;color:var(--accent)}
.etimg img{max-height:90px;max-width:180px;border-radius:4px;border:1px solid var(--line)}.etimg .lnk{text-decoration:underline;cursor:pointer}
.etestado{color:var(--accent);font-size:13px}
.etdatos{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:8px 10px;font-family:"IBM Plex Mono",monospace;font-size:11px;line-height:1.4;max-height:420px;overflow:auto;white-space:pre-wrap;word-break:break-word;margin:0}
.etpruebas{display:flex;flex-direction:column;gap:8px}
.etp{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:6px;padding:9px 12px}.etp.v-bien{border-left-color:var(--up)}.etp.v-mal{border-left-color:var(--down)}
.etp header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;cursor:pointer;font-size:13px}.etp header small{color:var(--muted);font-size:11.5px}.etp header .etv{font-size:15px;width:20px;text-align:center}
.etp .etq{margin:8px 0 4px}.etp .etr{margin:6px 0;padding:8px 11px;border-radius:8px;background:var(--bg);border:1px solid var(--line2);font-size:13.5px;line-height:1.5}.etp .etr ul{margin:4px 0;padding-left:18px}.etp .etr b.h{display:block;margin-top:6px}
.etval{border-top:1px dashed var(--line);margin-top:8px;padding-top:8px;display:flex;flex-direction:column;gap:7px}.etval textarea{font:inherit;font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:6px 10px;width:100%;box-sizing:border-box}
.etthumb{max-width:260px;max-height:160px;border-radius:5px;border:1px solid var(--line);cursor:zoom-in;display:block;margin:6px 0}
.tg.acc{color:var(--accent);border-color:var(--accent)}
.etgrp{margin:6px 0 12px}
.etl{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:6px;padding:8px 12px;margin:0 0 7px}.etl.t-regla{border-left-color:var(--ma)}.etl.off{opacity:.55;border-left-color:var(--line)}
.etlh{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.etlh .sp{flex:1}.etlt{font-size:13.5px;line-height:1.45;margin:6px 0 4px}.etl footer,.ete footer{display:flex;align-items:center;gap:6px;color:var(--faint);font-size:11px;margin-top:4px}.ete footer .sp{flex:1}
.sw{width:34px;height:18px;border-radius:999px;border:1px solid var(--line);background:var(--line2);position:relative;cursor:pointer;padding:0}.sw i{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:var(--muted);transition:left .15s}.sw.on{background:var(--accent-bg);border-color:var(--accent)}.sw.on i{left:18px;background:var(--accent)}
.etgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.ete{background:var(--surface);border:1px solid var(--line);border-top:3px solid var(--line);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:5px}.ete.v-buena{border-top-color:var(--up)}.ete.v-falsa{border-top-color:var(--down)}.ete.v-dudosa{border-top-color:var(--accent)}
.eteh b{font-size:14px}.eteh small{display:block;color:var(--muted);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.etem{display:flex;flex-wrap:wrap;gap:4px}.etevs{display:flex;gap:4px;flex-wrap:wrap}.eten{font-size:12.5px;line-height:1.4}.eter{font-size:12px;color:var(--muted)}.eter b.up{color:var(--up)}.eter b.dn{color:var(--down)}
.ete .etthumb{max-width:100%;max-height:130px;object-fit:cover;margin:0 0 4px}
.etracha{font-family:"IBM Plex Mono",monospace;letter-spacing:1px;font-size:12px}
.ettab{width:100%;border-collapse:collapse;font-size:12.5px;margin:8px 0}.ettab th,.ettab td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.ettab th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.ettab b.up{color:var(--up)}.ettab b.dn{color:var(--down)}
.tscroll{overflow-x:auto}
@media (max-width:700px){.etgrid{grid-template-columns:1fr}}
