:root{--bg:#f1efe9;--panel:#ffffff;--panel2:#f4f2ed;--line:#dedbd3;--text:#1f1e1b;--muted:#5b5953;--faint:#84817a;--accent:#e44332;--doing:#e8923a;--ok:#2f9e44;--risk:#c2241a;--plan:#3b6fd4;--negocio:#c2710c;--producto:#0d9488;--cliente:#3b6fd4;--contenido:#7c5cd6;--personal:#6a6862;--shadow:0 1px 2px rgba(20,20,20,.07),0 3px 9px rgba(20,20,20,.06);--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;--sans:"Avenir Next","Avenir",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--serif:"Lyon Display","Iowan Old Style","Hoefler Text",Georgia,"Times New Roman",serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.45;-webkit-font-smoothing:antialiased;padding:22px clamp(12px,3vw,34px) 60px}.wrap{max-width:1180px;margin:0 auto}header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.brand{display:flex;align-items:center;gap:11px}.tick{position:relative;width:30px;height:30px;background:var(--accent);border-radius:8px;box-shadow:0 2px 5px #e4433259}.tick:after{content:"";position:absolute;left:9px;top:7px;width:7px;height:12px;border:2.4px solid #fff;border-top:0;border-left:0;border-radius:1px;transform:rotate(40deg)}h1{font-family:var(--serif);font-size:clamp(20px,2.4vw,26px);margin:0;font-weight:600;letter-spacing:-.01em}.sub{color:var(--muted);font-size:12px;margin-top:2px}.meta{font-family:var(--mono);font-size:11px;color:var(--faint);text-align:right;line-height:1.7}.meta b{color:var(--text)}.meta .r{color:var(--risk)}.tabs{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap}.tab{font-size:12.5px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:9px 16px;cursor:pointer;transition:.12s;font-weight:500}.tab:hover{border-color:var(--faint);color:var(--text);background:var(--panel2)}.tab[aria-selected=true]{color:#fff;background:var(--accent);border-color:var(--accent);font-weight:600;box-shadow:0 1px 2px #e443324d}.cap-note{font-family:var(--mono);font-size:11px;color:var(--faint);margin:0 0 16px}.cap-note .k{color:var(--accent)}.hidden{display:none!important}.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow)}.card h3{margin:0 0 3px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:680;color:var(--muted)}.card .cap{font-family:var(--mono);font-size:10.5px;color:var(--faint);margin-bottom:12px}.pips{display:flex;gap:2px;flex-shrink:0}.pip{width:6px;height:6px;border-radius:2px;background:#d6d3ca}.pip.on{background:var(--accent)}.wk{font-family:var(--mono);font-size:9px;color:var(--plan);background:#3b6fd41f;padding:2px 6px;border-radius:5px}.okr{display:flex;flex-direction:column;gap:11px}.res{display:flex;flex-direction:column;gap:6px;padding-bottom:11px;border-bottom:1px solid var(--line)}.res:last-child{border:none;padding-bottom:0}.res .rt{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.res .rn{font-size:13.5px;font-weight:550}.res .rn small{font-family:var(--mono);font-size:9.5px;color:var(--faint);text-transform:uppercase;margin-right:7px}.res .rp{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.res .bar{height:6px;background:#e6e3db;border-radius:4px;overflow:hidden}.res .bar i{display:block;height:100%;background:var(--ok);border-radius:4px}.res .chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:3px}.pchip{font-family:var(--mono);font-size:9.5px;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:2px 7px;background:var(--panel2)}.warnbox{background:#c2241a0f;border:1px solid rgba(194,36,26,.25);border-radius:10px;padding:10px 12px;margin-top:4px}.warnbox .wl{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--risk);margin-bottom:6px}.mix{display:flex;flex-direction:column;gap:9px}.mrow{display:grid;grid-template-columns:80px 1fr 76px;gap:10px;align-items:center}.mrow .ml{font-size:12px;display:flex;align-items:center;gap:6px}.mrow .ml i{width:9px;height:9px;border-radius:3px}.mtrack{height:15px;background:#e6e3db;border-radius:5px;position:relative;overflow:hidden}.mtrack .real{position:absolute;left:0;top:0;bottom:0;border-radius:5px;opacity:.92}.mtrack .tgt{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text)}.mrow .mv{font-family:var(--mono);font-size:10.5px;color:var(--muted);text-align:right}.mrow .mv b{color:var(--text)}.mrow .mv.bad b{color:var(--risk)}.wip{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.wipnum{font-family:var(--mono);font-size:32px;font-weight:680;color:var(--text)}.wipnum.over{color:var(--risk)}.wipnum small{font-size:14px;color:var(--muted)}.wipseg{display:flex;gap:8px;flex-wrap:wrap}.seg{font-family:var(--mono);font-size:10.5px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 10px;background:var(--panel2)}.seg b{color:var(--text)}.review{display:flex;flex-direction:column;gap:8px}.ritem{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:13px}.ritem .rb{width:17px;height:17px;border-radius:6px;border:1.5px solid var(--faint);display:grid;place-items:center;font-size:10px;flex-shrink:0}.ritem.on .rb{background:var(--ok);border-color:var(--ok);color:#fff}.ritem.on span{color:var(--muted);text-decoration:line-through}.lane-head{display:flex;align-items:center;gap:9px;margin-bottom:10px}.lane-head .t{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:680;color:var(--muted)}.lane-head .c{font-family:var(--mono);font-size:11px;color:var(--muted)}.lane-head .ln{flex:1;height:1px;background:var(--line)}.bandeja{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 14px;margin-bottom:14px;box-shadow:var(--shadow)}.bandeja.armed,.someday.armed{border-color:#e4433280;cursor:pointer}.row-tasks{display:flex;gap:8px;flex-wrap:wrap}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.day.weekend{background:#f6f4ef;border-style:dashed}.day{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:11px;min-height:155px;display:flex;flex-direction:column;gap:8px;transition:.12s;box-shadow:var(--shadow)}.day.armed{border-color:#e4433280;cursor:pointer}.day .dh{display:flex;justify-content:space-between;align-items:baseline}.day .dn{font-size:12.5px;font-weight:650}.day .cap{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.day .cap.over{color:var(--risk)}.tema{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.04em;display:flex;justify-content:space-between;align-items:center;margin:-2px 0 2px}.tema .tm{padding:2px 6px;border-radius:5px}.tema .md{color:var(--faint)}.capbar{height:5px;background:#e6e3db;border-radius:4px;overflow:hidden}.capbar i{display:block;height:100%;background:var(--ok)}.capbar i.over{background:var(--risk)}.drop{flex:1;display:flex;flex-direction:column;gap:6px;margin-top:2px}.someday{margin-top:12px;background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:11px 13px}.wtask{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--cliente);border-radius:9px;padding:7px 9px;cursor:pointer;transition:.12s;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;gap:5px;box-shadow:0 1px 1px #0f0f0f08;position:relative}.wtask:hover{border-color:var(--faint);box-shadow:0 2px 5px #0f0f0f0f}.wtask.sel{border-color:var(--accent);box-shadow:0 0 0 2px #e4433259;background:#fdece9}.wtask.blocked{border-left-color:var(--risk)}.wtask .nm{font-size:12.5px;font-weight:520;line-height:1.3;display:flex;gap:5px;align-items:baseline;padding-right:20px}.wtask .mit{color:var(--accent);font-size:10px}.wtask .off{color:var(--accent);opacity:.75;font-size:9px;margin-left:auto;flex-shrink:0}.wtask .r{display:flex;justify-content:space-between;align-items:center;gap:8px}.wtask .proj{font-family:var(--mono);font-size:9px;color:var(--muted);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bandeja .wtask,.someday .wtask{width:198px;flex:0 0 auto}.wtask[draggable=true]{cursor:grab}.wtask[draggable=true]:active{cursor:grabbing}.wcheck{position:absolute;top:6px;right:7px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--faint);background:transparent;color:transparent;font-size:10px;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0;transition:.12s}.wtask:hover .wcheck{color:var(--faint)}.wcheck:hover{border-color:var(--ok);color:var(--ok);background:#2f9e441f}.day.dragover,.bandeja.dragover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;background:#e443320f}.wsearch{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.wsearch input{flex:1;min-width:200px;font-size:13px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 12px;box-shadow:var(--shadow)}.wsearch input:focus{outline:none;border-color:var(--accent)}.wsearch-x{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;padding:8px 11px;font-size:11px}.wsearch-hint{font-family:var(--mono);font-size:10px;color:var(--faint)}.row-tasks.lane-list{flex-direction:column;flex-wrap:nowrap;gap:6px;max-height:300px;overflow:auto}.lane-list .wtask{width:100%!important;flex:0 0 auto}.wnav{display:flex;align-items:center;gap:10px;margin-bottom:12px}.wnav-btn{font-size:16px;line-height:1;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:5px 13px;cursor:pointer;box-shadow:var(--shadow)}.wnav-btn:hover{border-color:var(--accent);color:var(--accent)}.wnav-label{font-family:var(--mono);font-size:12px;color:var(--text);min-width:190px;text-align:center;font-weight:600}.wnav-today{font-family:var(--mono);font-size:10.5px;color:var(--accent);background:transparent;border:1px solid rgba(228,67,50,.4);border-radius:7px;padding:6px 12px;cursor:pointer}.wnav-today:hover{background:#e443321a}.dnum{color:var(--faint);font-weight:400;font-family:var(--mono)}.selbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px;padding:9px 12px;background:#e4433212;border:1px solid rgba(228,67,50,.3);border-radius:11px}.selbar-name{font-size:12.5px;font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selbar-btn{font-family:var(--mono);font-size:11px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 11px;cursor:pointer}.selbar-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.selbar-btn:disabled{opacity:.4;cursor:default}.selbar-date{display:flex;align-items:center;gap:5px;font-size:13px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:3px 8px}.selbar-date input{font-family:var(--mono);font-size:11px;color:var(--text);background:transparent;border:none;cursor:pointer}.selbar-x{margin-left:auto;font-size:11px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 10px;cursor:pointer}.selbar-x:hover{border-color:var(--risk);color:var(--risk)}.layout{display:grid;grid-template-columns:290px 1fr;gap:16px}.rail{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;max-height:640px;overflow:auto;box-shadow:var(--shadow)}.ahead{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint);margin:12px 4px 7px;display:flex;align-items:center;gap:7px}.ahead:first-child{margin-top:2px}.ahead i{width:8px;height:8px;border-radius:3px}.pitem{padding:9px 10px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.12s;margin-bottom:3px}.pitem:hover{background:var(--panel2)}.pitem.sel{background:#fdece9;border-color:var(--accent)}.pitem .pt{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;align-items:center}.pitem .pn{font-size:12.5px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tri{font-family:var(--mono);font-size:8.5px;text-transform:uppercase;letter-spacing:.03em;padding:1px 5px;border-radius:5px;flex-shrink:0}.tri.activo{color:var(--ok);background:#2f9e4421}.tri.incub{color:var(--muted);background:#e7e4dc}.tri.algun{color:var(--faint);background:#eae7df}.tri.op{color:var(--producto);background:#0d94881f}.mini{height:4px;background:#e6e3db;border-radius:3px;overflow:hidden}.mini i{display:block;height:100%;background:var(--ok)}.detail{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;min-height:300px;box-shadow:var(--shadow)}.dtop{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.dtitle{display:flex;align-items:center;gap:10px}.dtitle .sw{width:11px;height:30px;border-radius:4px}.dtitle h2{margin:0;font-size:18px;font-weight:680}.dtitle .dproj{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:2px}.pill{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:4px 9px;border-radius:7px;white-space:nowrap}.dmeta{display:flex;gap:16px;margin:14px 0 4px;font-family:var(--mono);font-size:11px;color:var(--muted);flex-wrap:wrap}.dmeta b{color:var(--text)}.resline{font-family:var(--mono);font-size:10.5px;margin:10px 0 4px;padding:8px 11px;border-radius:8px}.resline.has{color:var(--plan);background:#3b6fd414;border:1px solid rgba(59,111,212,.22)}.resline.no{color:var(--risk);background:#c2241a0f;border:1px solid rgba(194,36,26,.22)}.pbar{height:7px;background:#e6e3db;border-radius:4px;overflow:hidden;margin:8px 0 16px}.pbar i{display:block;height:100%;background:var(--ok);border-radius:4px}.next{background:linear-gradient(90deg,rgba(228,67,50,.12),transparent);border:1px solid rgba(228,67,50,.3);border-radius:11px;padding:12px 14px;margin-bottom:16px}.next .lab{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:4px}.next .txt{font-size:14px;font-weight:600}.next .send{margin-top:9px;font-family:var(--mono);font-size:10.5px;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:7px 12px;cursor:pointer;font-weight:600}.ptasks{display:flex;flex-direction:column;gap:7px}.ptask{display:flex;align-items:center;gap:11px;padding:9px 11px;background:var(--panel2);border:1px solid var(--line);border-radius:9px}.ptask .box{width:17px;height:17px;border-radius:6px;border:1.5px solid var(--faint);flex-shrink:0;display:grid;place-items:center;font-size:10px;cursor:pointer}.ptask.doing .box{border-color:var(--doing);color:var(--doing)}.ptask.done .box{background:var(--ok);border-color:var(--ok);color:#fff}.ptask.blocked .box{border-color:var(--risk);color:var(--risk)}.ptask .tn{flex:1;font-size:13px;min-width:0}.ptask.done .tn{color:var(--muted);text-decoration:line-through}.ptask .st{font-family:var(--mono);font-size:9px;text-transform:uppercase;padding:2px 7px;border-radius:6px}.st.todo{color:var(--muted);background:#e7e4dc}.st.doing{color:var(--doing);background:#e8923a29}.st.done{color:var(--ok);background:#2f9e4421}.st.blocked{color:var(--risk);background:#c2241a1a}.unlock{min-height:70vh;display:grid;place-items:center;padding:20px}.unlock-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px 28px;width:min(420px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:0 8px 30px #0f0f0f14}.unlock-brand{display:flex;align-items:center;gap:11px}.unlock-brand h1{font-family:var(--serif);font-size:21px;margin:0;font-weight:600}.unlock-lead{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0}.unlock-input{font-family:var(--mono);font-size:14px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 13px;width:100%}.unlock-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.unlock-err{font-family:var(--mono);font-size:11.5px;color:var(--risk);background:#c2241a12;border:1px solid rgba(194,36,26,.22);border-radius:8px;padding:8px 10px}.unlock-btn{font-size:13px;color:#fff;background:var(--accent);border:none;border-radius:10px;padding:12px;cursor:pointer;font-weight:650}.unlock-btn:disabled{opacity:.45;cursor:default}.lockbtn{font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:5px 10px;cursor:pointer;margin-top:4px}.lockbtn:hover{border-color:var(--risk);color:var(--risk)}.ptasks-head{display:flex;justify-content:space-between;align-items:center;margin:6px 0 9px}.ptasks-head .pth-t{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--faint)}.addbtn{font-family:var(--mono);font-size:10.5px;color:var(--accent);background:transparent;border:1px solid rgba(228,67,50,.4);border-radius:8px;padding:6px 12px;cursor:pointer}.addbtn:hover{background:#e443321a}.addtask{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap}.addtask input{flex:1;min-width:160px;font-size:13px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px}.addtask input:focus{outline:none;border-color:var(--accent)}.addtask select{font-family:var(--mono);font-size:10.5px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:0 8px;cursor:pointer}.addtask button[type=submit]{font-family:var(--mono);font-size:11px;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:9px 15px;cursor:pointer;font-weight:650}.addtask button:disabled{opacity:.45;cursor:default}.mgr{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-bottom:14px;box-shadow:var(--shadow)}.mgr-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;margin-bottom:14px}.mgr-head h3{margin:0 0 3px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:680;color:var(--muted)}.mgr-head .cap{font-family:var(--mono);font-size:10.5px;color:var(--faint);max-width:560px}.mgr-actions{display:flex;align-items:center;gap:12px}.mgr-count{font-family:var(--mono);font-size:11px;color:var(--muted)}.mgr-count b{color:var(--accent)}.mgr-done{font-family:var(--mono);font-size:11px;color:#fff;background:var(--accent);border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-weight:600}.mgr-list{display:flex;flex-direction:column;gap:3px;max-height:600px;overflow:auto}.mgr-row{display:grid;grid-template-columns:1fr 132px 116px 86px;gap:10px;align-items:center;padding:7px 10px;border:1px solid transparent;border-radius:8px;transition:.12s}.mgr-row:hover{background:var(--panel2)}.mgr-row.on{background:#fdece9;border-color:#e443324d}.mgr-check{display:flex;align-items:center;gap:9px;cursor:pointer;min-width:0}.mgr-check input{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.mgr-name{font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mgr-row select{font-family:var(--mono);font-size:10.5px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:5px 6px;cursor:pointer}.mgr-row select:disabled{opacity:.4;cursor:default}.mgr-err{font-family:var(--mono);font-size:11px;color:var(--risk);margin-top:10px}.rail-search{width:100%;font-size:12.5px;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;margin-bottom:10px}.rail-search:focus{outline:none;border-color:var(--accent)}@media (max-width:680px){.mgr-row{grid-template-columns:1fr 1fr;row-gap:7px}.mgr-check{grid-column:1/-1}}.foot{margin-top:20px;font-family:var(--mono);font-size:11px;color:var(--faint);line-height:1.7;border-top:1px solid var(--line);padding-top:14px}.empty{font-family:var(--mono);font-size:12px;color:var(--faint);background:var(--panel);border:1px dashed var(--line);border-radius:14px;padding:30px;text-align:center;line-height:1.8}.empty b{color:var(--text)}.loading{font-family:var(--mono);font-size:12px;color:var(--muted);padding:40px;text-align:center}@media (max-width:1080px){.week{grid-template-columns:repeat(4,1fr)}}@media (max-width:820px){.week{grid-template-columns:repeat(3,1fr)}.layout{grid-template-columns:1fr}.rail{max-height:none}}@media (max-width:520px){.week{grid-template-columns:repeat(2,1fr)}.bandeja .wtask,.someday .wtask{width:100%}.mrow{grid-template-columns:64px 1fr 66px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
