:root{--bg:#f4f6f6;--surface:#fff;--surface-2:#eef2f1;--ink:#15201e;--muted:#5a6a68;--faint:#8a979b;--line:#dde4e2;--brand:#0e6b63;--brand-weak:#d6ebe7;--brand-ink:#0a4e48;--on-brand:#fff;--accent:#e07b12;--ok:#1f9d57;--warn:#d9a106;--bad:#cf3f2a;--idle:#b4bebc;--wct:#0e6b63;--cli:#b4660e;--shared:#4b5d8c;--r:10px;--r-sm:6px;--nw:9;--display:"Archivo","Segoe UI",system-ui,sans-serif;--body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--labelw:clamp(176px,38vw,290px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1514;--surface:#16201e;--surface-2:#1d2927;--ink:#e8efed;--muted:#9db0ad;--faint:#6b7c79;--line:#2a3836;--brand:#4bbdb1;--brand-weak:#17332f;--brand-ink:#9fe3db;--accent:#f0983e;--ok:#39b26c;--warn:#e4b23a;--bad:#e0624c;--idle:#56635f;--wct:#4bbdb1;--cli:#d79748;--shared:#8ea0d4;--on-brand:#06211e;color-scheme:dark}}:root[data-theme=dark]{--bg:#0e1514;--surface:#16201e;--surface-2:#1d2927;--ink:#e8efed;--muted:#9db0ad;--faint:#6b7c79;--line:#2a3836;--brand:#4bbdb1;--brand-weak:#17332f;--brand-ink:#9fe3db;--accent:#f0983e;--ok:#39b26c;--warn:#e4b23a;--bad:#e0624c;--idle:#56635f;--wct:#4bbdb1;--cli:#d79748;--shared:#8ea0d4;--on-brand:#06211e;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.45;-webkit-font-smoothing:antialiased;font-size:15px}.wrap{padding:22px 16px 60px;max-width:1120px;margin:0 auto}h1{font-family:var(--display);font-weight:800;font-size:clamp(22px,4.4vw,30px);letter-spacing:-.02em;margin:0}.sub{color:var(--muted);margin:3px 0 0;font-size:14px}.brand{display:flex;align-items:center;gap:11px;margin-bottom:14px}.brand .mk{width:38px;height:38px;display:grid;place-items:center;flex:none}.brand .mk img{width:38px;height:38px;object-fit:contain;display:block}.brand .wm{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.02em;line-height:1}.brand .wm small{display:block;font-weight:600;font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:3px}.brand .wm small,.tag{text-transform:uppercase}.tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--brand);background:var(--brand-weak);border-radius:999px;padding:3px 9px;margin-bottom:10px}.controls{display:flex;flex-wrap:wrap;gap:14px 20px;align-items:flex-end;margin:18px 0 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}.ctl{display:flex;flex-direction:column;gap:5px;min-width:0}.ctl label{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}input[type=date],select{font-family:var(--body);font-size:14px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 9px}.seg{display:inline-flex;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px}.seg button{font-family:var(--body);font-weight:600;font-size:13.5px;border:0;background:transparent;color:var(--muted);padding:6px 14px;border-radius:999px;cursor:pointer}.seg button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.wkctl{flex:1 1 260px;min-width:220px}.wkctl .row2{display:flex;align-items:center;gap:10px}input[type=range]{flex:1 1;accent-color:var(--brand)}.wknow{font-family:var(--mono);font-size:13px;color:var(--brand-ink);white-space:nowrap}.btn-theme{color:var(--muted);width:34px;height:34px;font-size:15px}.btn-exp,.btn-theme{align-self:center;border:1px solid var(--line);background:var(--surface-2);border-radius:999px;cursor:pointer}.btn-exp{color:var(--ink);padding:8px 14px;font:inherit;font-size:13.5px;font-weight:600}.legend{flex-wrap:wrap;gap:8px 16px;margin:4px 2px 16px;font-size:12.5px;color:var(--muted)}.legend,.legend .grp{display:flex;align-items:center}.legend .grp{gap:7px}.dot{width:10px;border-radius:50%}.dot,.swatch{height:10px;flex:none}.swatch{width:14px;border-radius:3px}.board{border:1px solid var(--line);border-radius:var(--r);background:var(--surface);overflow:hidden}.scroll{overflow-x:auto}.ghead,.grow{display:grid;grid-template-columns:var(--labelw) 1fr}.ghead{background:var(--surface);border-bottom:1px solid var(--line)}.ghead .lbl{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:700;display:flex;align-items:center;padding:10px 14px}.weeks{display:grid}.wk{padding:8px 4px;text-align:center;border-left:1px solid var(--line)}.wk .n{font-weight:600;font-size:13px}.wk .d,.wk .n{font-family:var(--mono)}.wk .d{font-size:10px;color:var(--faint)}.wk.now{background:var(--brand-weak)}.gsection,.wk.now .n{color:var(--brand-ink)}.gsection{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.01em;background:var(--surface-2);padding:7px 14px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:baseline;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.gsection .cnt{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:500}.gsection .scaret{font-size:10px;color:var(--muted);width:12px;display:inline-block}.grow{border-top:1px solid var(--line);min-height:40px;align-items:stretch}.grow:hover{background:var(--surface-2)}.lbl{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 14px;min-width:0}.grow .lbl{background:var(--surface)}.grow:hover .lbl{background:var(--surface-2)}.nm{min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child .lbl{padding-left:30px}.child .nm{font-size:13px}.caret,.child .nm{color:var(--muted)}.caret{border:0;background:transparent;cursor:pointer;font-size:11px;width:16px;flex:none;padding:0}.madre .nm{font-weight:600}.cond{font-family:var(--mono);font-size:9.5px;letter-spacing:.03em;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 4px;flex:none;text-transform:uppercase}.cond.na{color:var(--muted);border-color:var(--line);text-decoration:line-through}.resp{width:8px;height:8px;border-radius:2px;flex:none}.track{position:relative;min-width:0;background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px calc(100%/var(--nw)))}.nowline{top:0;bottom:0;width:calc(100%/var(--nw));background:color-mix(in srgb,var(--brand) 9%,transparent);pointer-events:none}.bar,.nowline{position:absolute}.bar{top:50%;transform:translateY(-50%);height:17px;border-radius:5px;display:flex;align-items:center;gap:5px;padding:0 6px;color:#fff;font-size:10.5px;font-family:var(--mono);overflow:hidden;white-space:nowrap}.bar .sem{width:7px;height:7px;border-radius:50%;flex:none;box-shadow:0 0 0 1.5px hsla(0,0%,100%,.55)}.bar.done{opacity:.72}.bar.todo{background-image:repeating-linear-gradient(45deg,hsla(0,0%,100%,.16) 0 4px,transparent 4px 8px)}.ghost{position:absolute;top:50%;transform:translateY(-50%);height:17px;border-radius:5px;border:1.5px dashed var(--faint);background:transparent;opacity:.75}.corrido{font-family:var(--mono);font-size:9px;color:var(--accent);border:1px solid var(--accent);border-radius:4px;padding:0 4px;flex:none;text-transform:uppercase;letter-spacing:.03em}.grow.sel,.grow.sel .lbl{background:var(--brand-weak)}.lbl.clickable{cursor:pointer}.lbl.clickable:hover .nm{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.editstrip{background:var(--surface-2);border-top:1px dashed var(--brand);padding:11px 14px 12px 30px;flex-wrap:wrap;gap:8px 16px;font-size:13px}.editstrip,.editstrip .ef{display:flex;align-items:center}.editstrip .ef{gap:6px}.editstrip label{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.editstrip input[type=date],.editstrip select{padding:5px 7px;font-size:13px}.editstrip .reset{font-family:var(--body);font-size:12.5px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--r-sm);padding:5px 10px;cursor:pointer}.editstrip .reset.primary{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.editstrip .hint{font-size:12px;color:var(--muted)}.seg2{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg2 button{border:0;background:var(--surface);color:var(--muted);font:inherit;font-size:12.5px;padding:4px 12px;cursor:pointer}.seg2 button[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:14px;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 16px 18px;display:flex;flex-direction:column;gap:12px}.fase-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.fase-h .step{font-family:var(--mono);font-size:11px;color:var(--faint)}.fase-h h3{font-weight:700;font-size:16px;margin:0;letter-spacing:-.01em}.fase-h h3,.pct{font-family:var(--display)}.pct{font-weight:800;font-size:30px;line-height:1;letter-spacing:-.02em}.meter{height:9px;background:var(--surface-2);overflow:hidden}.meter,.meter i{border-radius:999px}.meter i{display:block;height:100%;background:var(--brand)}.fase-meta{font-size:12.5px;color:var(--muted)}.fase-meta b{color:var(--ink);font-weight:600}.clientnote{font-size:13px;color:var(--muted);margin:16px 2px 0;max-width:62ch}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:999px;font-size:13px;z-index:50;box-shadow:0 8px 24px rgba(0,0,0,.28);max-width:min(92vw,520px)}.topbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-sm);padding:7px 12px}.btn,label.chk{color:var(--ink);cursor:pointer}label.chk{display:flex;align-items:center;gap:7px;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400}.chk input{accent-color:var(--brand);width:16px;height:16px}.err{color:var(--bad);font-size:13px}.foot{margin-top:18px;font-size:12.5px;color:var(--faint);max-width:70ch}@media (max-width:520px){:root{--labelw:160px}h1{font-size:21px}}.mono{font-family:var(--mono)}.mv-stack{display:flex;flex-direction:column;gap:14px}.mv-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px}.mv-row{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;justify-content:space-between}.mv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:14px;gap:14px}.mv-h2{font-family:var(--display);font-size:18px;margin:0 0 4px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.mv-h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}.mv-small{font-size:12.5px;margin:4px 0}.mv-note{border-left:3px solid var(--accent);padding:8px 12px;font-size:13.5px;margin:12px 0 0;background:var(--surface-2);border-radius:0 var(--r-sm) var(--r-sm) 0}.mv-alert{color:var(--bad)}.mv-okt{color:var(--ok)}.mv-warn{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 10%,var(--surface))}.mv-medbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:12px 0 6px}.mv-ctl{display:flex;flex-direction:column;gap:4px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600}.mv-ctl.mv-inline{flex-direction:row;align-items:center;gap:8px;text-transform:none;letter-spacing:0;font-size:13px}.mv-ckdet input,.mv-ckr select,.mv-ctl select,.mv-in input,.mv-in select,.mv-tbl input,.mv-tbl select{font-family:var(--body);font-size:14px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--r-sm);padding:6px 8px;max-width:100%}.mv-tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin:12px 0 14px;overflow-x:auto}.mv-tabs a{font-weight:600;font-size:14px;color:var(--muted);text-decoration:none;padding:9px 12px;border-bottom:3px solid transparent;white-space:nowrap}.mv-tabs a[aria-current=page]{color:var(--brand-ink);border-color:var(--brand)}.mv-sub{display:inline-flex;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--line);padding:3px;margin-bottom:14px}.mv-sub,.mv-sub a{border-radius:999px}.mv-sub a{font-weight:600;font-size:13.5px;color:var(--muted);text-decoration:none;padding:6px 14px}.mv-sub a[aria-current=page]{background:var(--brand);color:var(--on-brand)}.mv-pill{font-size:11.5px;border-radius:999px;padding:2px 8px;background:var(--surface-2);color:var(--muted);white-space:nowrap;font-weight:600;margin-left:6px;display:inline-block}.mv-pill.ok{background:color-mix(in srgb,var(--ok) 18%,transparent);color:var(--ok)}.mv-pill.warn{background:color-mix(in srgb,var(--warn) 22%,transparent);color:color-mix(in srgb,var(--warn) 60%,var(--ink))}.mv-field{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(120px,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px dashed var(--line);font-size:14px}.mv-field:last-of-type{border-bottom:0}.mv-in{min-width:0}.mv-in input,.mv-in select{width:100%}.mv-org{font-family:var(--mono);font-size:10.5px;border-radius:999px;padding:2px 8px;white-space:nowrap;border:1px solid}.mv-org.rmwct{color:var(--shared);border-color:var(--shared)}.mv-org.cliente{color:var(--cli);border-color:var(--cli)}.mv-org.wct{color:var(--brand);border-color:var(--brand)}.mv-org.editado{color:var(--accent);border-color:var(--accent)}.mv-org.na{color:var(--faint);border-color:var(--line)}.mv-sticky{position:-webkit-sticky;position:sticky;bottom:10px;z-index:5;box-shadow:0 4px 18px rgba(0,0,0,.08)}.btn.mv-pri{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}.btn:disabled{opacity:.5;cursor:default}.mv-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;padding:4px 0}.mv-tbl{overflow-x:auto;margin:8px 0}.mv-tbl table{width:100%;border-collapse:collapse;font-size:13.5px}.mv-tbl th{text-align:left;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:8px 6px}.mv-tbl td,.mv-tbl th{border-bottom:1px solid var(--line)}.mv-tbl td{padding:6px;vertical-align:middle}.mv-tbl .num{text-align:right;font-family:var(--mono)}.mv-tbl input{width:100%;min-width:90px}.mv-x{border:0;background:none;color:var(--muted);font-size:18px;cursor:pointer;padding:2px 6px}.mv-x:hover{color:var(--bad)}.mv-prog{display:flex;align-items:center;gap:10px;font-size:13px}.mv-bar{width:150px;height:8px;background:var(--surface-2);border-radius:99px;overflow:hidden}.mv-bar i{display:block;height:100%;background:var(--brand)}.mv-ck{display:grid;grid-template-columns:24px 1fr auto;grid-gap:10px;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}.mv-ck.na{opacity:.55}.mv-ck input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--brand)}.mv-ckr{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.mv-ckdet{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px;font-size:12.5px;color:var(--muted)}.mv-ckdet label{display:flex;flex-direction:column;gap:3px}.mv-ckdet .grow{flex:1 1;min-width:200px}.mv-auto{font-family:var(--mono);font-size:10.5px;margin-left:8px}.mv-auto,.mv-link{color:var(--brand)}.mv-link{border:0;background:none;font-size:12px;cursor:pointer;padding:0;text-decoration:underline}.mv-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:10px;gap:10px;margin:12px 0}.mv-kpi{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px}.mv-kpi b{display:block;font-family:var(--display);font-size:24px}.mv-kpi span{font-size:12px;color:var(--muted)}.mv-chips{display:flex;flex-wrap:wrap;gap:6px}.mv-chip{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;padding:6px 10px;cursor:pointer;text-align:left;display:flex;flex-direction:column}.mv-chip small{font-size:11px;color:var(--muted)}.mv-chip.on{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,var(--surface))}@media (max-width:620px){.mv-field{grid-template-columns:1fr;gap:4px}}.muted{color:var(--muted)}.mv-field{grid-template-columns:minmax(0,1fr) minmax(110px,46%);row-gap:4px}.mv-field>:first-child{grid-column:1;grid-row:1}.mv-field>:nth-child(2){grid-column:2;grid-row:1/span 2;align-self:center}.mv-field>:nth-child(3){grid-column:1;grid-row:2;justify-self:start}.mv-field>:nth-child(3):empty{display:none}.mv-cargando{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:14px}.mv-spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:mv-giro .8s linear infinite}@keyframes mv-giro{to{transform:rotate(1turn)}}