@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #f4f4f1;--panel: #ffffff;--panel-2: #fafaf8;--ink: #111110;--ink-2: #45443f;--muted: #8a8a82;--hair: #f0efea;--line: #e4e3dd;--line-strong: #cfcec6;--dep-stakeholder: #e8590c;--accent: #16150f;--accent-ink: #ffffff;--accent-soft: #eceae2;--focus: #2f6fed;--focus-soft: #e6eefc;--edit-bg: #fbedb6;--bar: #4a7ab8;--bar-soft: #c3d4e7;--crit: #c9453c;--crit-soft: #eecfcc;--mark: #16150f;--ok: #2f6b3d;--weekend: rgba(20, 20, 10, .035);--festivo: rgba(191, 138, 22, .15);--festivo-ink: #8a6410;--hoy-col: rgba(201, 69, 60, .1);--today: #c9453c;--hover: #f6f5f1;--sel: #ecebe4;--shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 10px 30px rgba(0, 0, 0, .07);--radius: 10px;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #100f0e;--panel: #1a1917;--panel-2: #201f1c;--ink: #f3f2ee;--ink-2: #b9b7ae;--muted: #82807a;--hair: #262421;--line: #302e2a;--line-strong: #45423c;--dep-stakeholder: #ff922b;--accent: #f3f2ee;--accent-ink: #16150f;--accent-soft: #2b2924;--focus: #6f9dff;--focus-soft: #22304a;--edit-bg: #4a3d18;--bar: #5a95dd;--bar-soft: #33465c;--crit: #e5625a;--crit-soft: #55302c;--mark: #e6e4dd;--ok: #64c47c;--weekend: rgba(255, 255, 255, .035);--festivo: rgba(214, 168, 60, .16);--festivo-ink: #d9ac48;--hoy-col: rgba(229, 98, 90, .14);--today: #e5625a;--hover: #232120;--sel: #2c2a26;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 34px rgba(0, 0, 0, .45)}}:root[data-theme=dark]{color-scheme:dark;--bg: #100f0e;--panel: #1a1917;--panel-2: #201f1c;--ink: #f3f2ee;--ink-2: #b9b7ae;--muted: #82807a;--hair: #262421;--line: #302e2a;--line-strong: #45423c;--dep-stakeholder: #ff922b;--accent: #f3f2ee;--accent-ink: #16150f;--accent-soft: #2b2924;--focus: #6f9dff;--focus-soft: #22304a;--edit-bg: #4a3d18;--bar: #5a95dd;--bar-soft: #33465c;--crit: #e5625a;--crit-soft: #55302c;--mark: #e6e4dd;--ok: #64c47c;--weekend: rgba(255, 255, 255, .035);--festivo: rgba(214, 168, 60, .16);--festivo-ink: #d9ac48;--hoy-col: rgba(229, 98, 90, .14);--today: #e5625a;--hover: #232120;--sel: #2c2a26;--shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 10px 34px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font:13px/1.45 -apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}.ghead .hc,.projects h2,.field>span,.side-head h3{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}button,.btn{font:inherit;font-size:12.5px;padding:6px 12px;border-radius:7px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);cursor:pointer;white-space:nowrap;transition:background .13s,border-color .13s,color .13s}button:hover:not(:disabled),.btn:hover{background:var(--hover)}button:disabled{opacity:.38;cursor:default}button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:550}button.primary:hover:not(:disabled){opacity:.86}button.ghost{border-color:transparent;background:transparent;color:var(--ink-2)}button.ghost:hover{background:var(--hover);color:var(--ink)}button.danger{color:var(--crit);border-color:var(--crit-soft);background:transparent}button.danger:hover{background:var(--crit-soft);border-color:var(--crit)}button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}input[type=text],input[type=search],input[type=email],input[type=date],input[type=number],select,textarea{font:inherit;font-size:12.5px;padding:6px 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);outline:none;width:100%;transition:border-color .13s,box-shadow .13s,background .13s}input:focus,select:focus,textarea:focus{border-color:var(--focus);background:var(--panel);box-shadow:0 0 0 3px var(--focus-soft)}input::placeholder,textarea::placeholder{color:var(--muted)}textarea{resize:vertical;min-height:62px;line-height:1.5}label.field{display:block;margin-bottom:14px}label.field>span{display:block;margin-bottom:5px}.exportar-campo{display:block}.exportar-campo+.exportar-campo{margin-top:18px}.exportar-tit{display:block;margin-bottom:8px;color:inherit;font:inherit}.exportar-cols{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:260px;overflow-y:auto}.exportar-col{display:flex;align-items:center;gap:7px;width:calc(50% - 7px);padding:4px 2px;font-size:13px;cursor:pointer}.exportar-col:has(input:disabled){color:var(--muted);cursor:default}.exportar-col input{flex:none}.exportar-campo .link,.exportar-nota .link{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.exportar-nota{margin:8px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}.exportar-formatos{display:flex;flex-direction:column;gap:6px}.exportar-formato{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 12px;text-align:left;white-space:normal;background:var(--panel);border:1px solid var(--line);border-radius:10px}.exportar-formato b{font-size:13px;font-weight:600;color:var(--ink)}.exportar-formato span{max-width:100%;font-size:11.5px;line-height:1.45;color:var(--muted)}.exportar-formato:hover:not(:disabled){background:var(--hover)}.exportar-formato.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.exportar-formato:disabled{opacity:.6;cursor:default}.seg{display:inline-flex;background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:2px;gap:1px}.seg button{border:0;background:transparent;padding:4px 11px;border-radius:6px;color:var(--muted);font-size:12px}.seg button:hover:not(:disabled){background:var(--hover);color:var(--ink)}.seg button.on{background:var(--accent);color:var(--accent-ink)}.spacer{flex:1 1 0;min-width:0}.login{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:44px 40px;max-width:400px;width:100%;text-align:center;box-shadow:var(--shadow)}.login-card h1{margin:0 0 8px;font-size:28px;font-weight:620;letter-spacing:-.03em}.login-card p{color:var(--ink-2);margin:0 0 28px;line-height:1.6;font-size:13.5px}.google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:550;text-decoration:none;color:var(--ink);background:var(--panel);border:1px solid var(--line-strong);border-radius:9px;transition:background .13s}.google-btn:hover{background:var(--hover)}.app{height:100%;display:flex;flex-direction:column}.topbar{flex:0 0 auto;display:flex;flex-direction:column;background:var(--panel);border-bottom:1px solid var(--line-strong)}.topbar-global{display:flex;align-items:center;gap:7px 8px;padding:9px 14px;flex-wrap:nowrap;border-bottom:1px solid var(--hair)}.topbar-context{display:flex;align-items:center;gap:6px 10px;padding:7px 14px;flex-wrap:wrap}.tb-sep{width:1px;height:22px;background:var(--line-strong);flex:0 0 auto;margin:0 2px}.tb-der{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.tb-herr{gap:0}.tb-herr .ghost{padding:6px 9px}.topbar-context{gap:6px 8px}.topbar-context .seg button{padding:4px 8px}.brand{display:flex;align-items:baseline;gap:9px;min-width:0}.brand b{font-size:14px;font-weight:650;letter-spacing:-.02em;white-space:nowrap}.brand span{font-family:var(--mono);font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand span[title]{cursor:text}.brand-edit{font-family:var(--mono);font-size:11px;color:var(--ink);width:260px;max-width:40vw;padding:1px 5px;margin:-1px 0;border:0;outline:0;border-radius:4px;box-shadow:inset 0 0 0 1px var(--focus);background:var(--edit-bg)}.avatar{width:26px;height:26px;border-radius:50%;background:var(--line);display:block}.usermenu{position:relative}.usermenu-pop{position:absolute;right:0;top:calc(100% + 7px);z-index:40;min-width:224px;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:6px;text-align:left}.usermenu-pop .who{padding:9px 10px 11px;border-bottom:1px solid var(--hair);margin-bottom:6px}.usermenu-pop .who b{display:block;font-size:13px}.usermenu-pop .who small{color:var(--muted);font-family:var(--mono);font-size:10.5px}.usermenu-pop button{width:100%;text-align:left;border:0;background:transparent}.usermenu-pop button:hover{background:var(--hover)}.variables-bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:7px 14px;background:var(--panel-2);border-bottom:1px solid var(--line)}.variables-tit{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);flex:0 0 auto}.variable-chip{display:inline-flex;align-items:center;gap:5px;background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:3px 4px 3px 9px}.variable-nombre{font-size:12px;color:var(--ink-2);white-space:nowrap}.variable-nombre[title]{cursor:text}.variable-nombre-edit{width:110px;padding:2px 5px;font-size:12px;border-radius:4px;border:1px solid var(--line-strong);background:var(--panel-2)}.variable-valor{width:84px;padding:2px 6px;font-family:var(--mono);font-size:11.5px;text-align:right;border-radius:4px;border:1px solid var(--line);background:var(--panel-2)}.variable-borrar{flex:0 0 auto;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:12px;line-height:1}.variable-borrar:hover{background:var(--crit-soft);color:var(--crit)}.variable-añadir{font-size:12px;padding:4px 10px}.banner{padding:8px 14px;font-size:12.5px}.banner.err{background:var(--crit-soft);color:var(--crit)}.banner.aviso{background:#f6e7bd;color:#5c4510}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .banner.aviso{background:#4a3d17;color:#f0dca0}}:root[data-theme=dark] .banner.aviso{background:#4a3d17;color:#f0dca0}.banner.ok{background:var(--accent-soft);color:var(--ink)}.projects{flex:1;overflow:auto;padding:34px 24px 60px;background-image:linear-gradient(var(--hair) 1px,transparent 1px),linear-gradient(90deg,var(--hair) 1px,transparent 1px);background-size:34px 34px;background-position:-1px -1px}.projects-inner{max-width:940px;margin:0 auto}.projects h2{margin:32px 0 10px}.projects h2:first-of-type{margin-top:0}.pcard{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:7px;cursor:pointer;transition:border-color .13s,transform .13s}.pcard:hover{border-color:var(--line-strong);transform:translate(2px)}.pcard[draggable=true]{cursor:grab}.pcard.arrastrando{opacity:.4}.pcard-compartido{border-left:3px solid var(--focus)}.pcard-compartido .pname-ico{display:inline-block;vertical-align:-2px;margin-right:7px;color:var(--focus)}.tag-compartido{border-color:var(--focus);color:var(--focus)}.pcard .pname{font-weight:550;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard .pname-edit{flex:1;min-width:0;font:inherit;font-weight:550;padding:2px 5px;margin:-2px 0;border:0;outline:0;box-shadow:inset 0 0 0 1px var(--focus);border-radius:5px;background:var(--edit-bg);color:var(--ink)}.pcard .pmeta{font-family:var(--mono);color:var(--muted);font-size:10.5px;white-space:nowrap}.tag{font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);white-space:nowrap}button.tag.tag-btn{cursor:pointer;min-height:0;height:auto;line-height:1.4;transition:border-color .13s,background .13s}button.tag.tag-btn:hover{border-color:var(--ink-2);background:var(--hover, var(--panel-2))}.tag.owner{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.empty{color:var(--muted);padding:24px;text-align:center;font-size:12.5px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--panel)}.dropzone{border:1px dashed var(--line-strong);border-radius:12px;padding:34px;text-align:center;color:var(--muted);margin-bottom:26px;background:var(--panel);transition:all .13s}.dropzone.over{border-color:var(--focus);background:var(--focus-soft);color:var(--focus)}.buscador-proyectos{margin-bottom:22px}.buscador-proyectos input{max-width:360px;padding:9px 14px;font-size:13px}.projects-head{display:flex;align-items:baseline;justify-content:space-between;margin:32px 0 10px}.projects-head:first-of-type{margin-top:0}.projects-head h2{margin:0}.carpeta{margin-bottom:14px;border-radius:10px;transition:background .12s,box-shadow .12s;display:flow-root}.carpeta.carpeta-sobre,.sin-carpeta.carpeta-sobre{background:var(--focus-soft);box-shadow:0 0 0 1.5px var(--focus) inset}.carpeta-cab{display:flex;align-items:center;gap:8px;padding:9px 4px;cursor:pointer;color:var(--ink-2);border-radius:8px;transition:background .12s}.carpeta-cab:hover{background:var(--hover)}.carpeta-cab-sobre{box-shadow:inset 0 2px 0 0 var(--focus)}.carpeta-twist{flex:0 0 auto;font-size:8px;color:var(--muted);width:10px;text-align:center}.carpeta-nombre{font-weight:600;color:var(--ink)}.carpeta-cuenta{font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--panel-2);border:1px solid var(--line);border-radius:20px;padding:1px 8px}.carpeta-mas{margin-left:auto;width:26px;height:26px;padding:0;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:6px}.carpeta-nuevo+.carpeta-mas{margin-left:2px}.carpeta-nuevo{font-size:14px;color:var(--ink-2)}.carpeta-vacia .ghost{padding:2px 9px;font-size:12px;margin-left:6px}.carpeta-hijos{margin-left:14px;padding-left:10px;border-left:1px solid var(--line)}.carpeta .pcard{margin-left:0}.carpeta-vacia{padding:14px;font-size:12px}.carpeta .carpeta{margin-bottom:6px}.carpeta-tit{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:18px 4px 8px}.carpeta-tit-toggle,.h2-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.carpeta-tit-toggle:hover,.h2-toggle:hover{color:var(--ink-2)}.carpeta-tit-toggle .carpeta-twist,.h2-toggle .carpeta-twist{width:10px}.sin-carpeta{border-radius:10px;transition:background .12s,box-shadow .12s;display:flow-root}.pcard-carpeta{flex:0 0 auto;width:28px;height:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;color:var(--muted)}.pcard-carpeta:hover{color:var(--ink)}.workspace,.gantt{flex:1;display:flex;min-height:0;min-width:0}.grid-pane{flex:0 0 auto;display:flex;min-width:180px;max-width:78vw;background:var(--panel);border-right:1px solid var(--line-strong);position:relative}.pane-divisor{position:absolute;top:0;bottom:0;right:-6px;width:14px;cursor:col-resize;z-index:6}.pane-divisor:after{content:"";position:absolute;right:5px;top:0;bottom:0;width:2px;background:transparent;transition:background .13s}.pane-divisor:hover:after,.pane-divisor.drag:after{background:var(--focus)}@media(max-width:760px){.pane-divisor{display:none}}@media(min-width:761px){.workspace,.gantt{position:relative}.gantt.paneles-lista .chart-pane,.gantt.paneles-lista .pane-divisor{display:none}.gantt.paneles-lista .grid-pane{max-width:none!important;width:100%!important;border-right:0}.gantt.paneles-diagrama .grid-pane{position:absolute;left:-10000px;top:0;visibility:hidden}.gantt.paneles-diagrama .pane-divisor{display:none}}.grid-scroll{flex:1;overflow:auto}.grid-scroll::-webkit-scrollbar{width:0;height:11px}.chart-scroll::-webkit-scrollbar{width:11px;height:11px}.grid-scroll::-webkit-scrollbar-track,.chart-scroll::-webkit-scrollbar-track{background:var(--panel-2)}.grid-scroll::-webkit-scrollbar-thumb,.chart-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:6px;border:2px solid var(--panel-2)}.grid-scroll::-webkit-scrollbar-thumb:hover,.chart-scroll::-webkit-scrollbar-thumb:hover{background:var(--muted)}.grid-scroll::-webkit-scrollbar-corner,.chart-scroll::-webkit-scrollbar-corner{background:var(--panel-2)}@supports not selector(::-webkit-scrollbar){.grid-scroll,.chart-scroll{scrollbar-width:thin}}.grid-inner{min-width:100%;width:max-content;box-sizing:border-box;padding-right:30px}.ghead{position:sticky;top:0;z-index:3;min-height:46px;background:var(--panel);border-bottom:1px solid var(--line-strong);display:grid;align-items:center;grid-auto-flow:column}.ghead .hc{position:relative;padding:6px 24px 6px 10px;white-space:normal;overflow-wrap:break-word;overflow:hidden;line-height:1.25;border-left:1px solid var(--hair);align-self:stretch;display:flex;align-items:center}.ghead .hc:first-child{border-left:0}.ghead .hc.r{text-align:left}.grip{position:absolute;top:0;right:-8px;width:18px;height:100%;cursor:col-resize;z-index:4}.grip:after{content:"";position:absolute;left:8px;top:10px;bottom:7px;width:1px;background:var(--line);transition:background .13s,width .13s,left .13s}.grip:hover:after,.grip.drag:after{background:var(--focus);width:2px;left:7.5px}.grip-final{z-index:7}.grip-final{right:0;width:16px}.grip-final:after{left:auto;right:2px}.grip-final:hover:after,.grip-final.drag:after{left:auto;right:1px}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.ghead .hc.movible{cursor:grab}.hc-filtro{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel);color:var(--muted);font-size:12px;line-height:1;cursor:pointer;opacity:1;transition:color .12s,background .12s}.ghead .hc:hover .hc-filtro{color:var(--ink-2)}.hc-filtro:hover{background:var(--line);color:var(--ink)}.hc-filtro.activo{color:var(--focus)}.hc-filtro.filtrada,.ghead .hc:hover .hc-filtro.filtrada{background:var(--focus-soft);color:var(--focus)}.hc-filtro.filtrada:hover{background:var(--focus-soft);filter:brightness(.96)}.hc-filtro svg{display:block}.col-popup{position:fixed;z-index:60;min-width:176px;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:6px}.col-popup .menu-tit{margin:3px 6px;font-size:10px}.col-popup button{display:block;width:100%;text-align:left;padding:7px 9px;border:0;border-radius:6px;background:transparent;font-size:12.5px;cursor:pointer}.col-popup button:hover{background:var(--hover)}.col-popup button.on{background:var(--accent-soft);font-weight:600}.col-popup button.danger{color:var(--crit)}.col-popup hr{border:0;border-top:1px solid var(--hair);margin:5px 2px}.col-popup-fila{display:flex;gap:6px;align-items:center;padding:3px 6px 5px}.col-popup-fila.col{flex-direction:column;align-items:stretch}.col-popup-fila input{width:100%;min-width:0;padding:5px 7px;font-size:12px;border:1px solid var(--line-strong);border-radius:6px;background:var(--panel-2)}.col-popup-fila span{color:var(--muted)}.ghead .hc.arrastrando{opacity:.4}.col-drop{position:absolute;top:6px;bottom:6px;width:2px;margin-left:-1px;background:var(--focus);border-radius:2px;z-index:6;pointer-events:none}body.col-reordenando,body.col-reordenando *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.grow{display:grid;align-items:stretch;border-bottom:1px solid var(--hair);position:relative;-webkit-user-select:none;user-select:none;transition:background .1s;-webkit-touch-callout:none}.grow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;transition:background .13s}.grow:hover{background:var(--hover)}.grow.sel{background:var(--sel)}.grow.sel:before{background:var(--accent)}.grow>.c{padding:7px 10px;border-left:1px solid var(--hair);min-width:0;display:flex;align-items:center;position:relative}.grow>.c:first-child{border-left:0}.grow>.c.activa:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border-radius:5px;pointer-events:none;background:var(--line-strong);opacity:.55}.grow>.c.en-rango{background:var(--accent-soft)}.grow>.c.nota-celda:before{content:"";position:absolute;top:3px;right:3px;width:16px;height:16px;z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 1.5h5.5L12.5 5v9a.5.5 0 0 1-.5.5H4a.5.5 0 0 1-.5-.5z' fill='%23fff3c4' stroke='%23b07d00' stroke-width='1.3'/%3E%3Cpath d='M5.5 6.5h5M5.5 9h5M5.5 11.5h3' stroke='%23b07d00' stroke-width='1.3' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;pointer-events:none}body.seleccionando-celdas{-webkit-user-select:none;user-select:none}.grow>.c[data-col=name]{gap:2px}.grow .num{font-family:var(--mono);font-size:11px;color:var(--ink-2);font-variant-numeric:tabular-nums;justify-content:flex-start;white-space:nowrap}.grow>.c.wbs{font-family:var(--mono);font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums;justify-content:flex-start}body.wrap .grow>.c.wbs{white-space:normal;overflow-wrap:anywhere}body:not(.wrap) .grow>.c.wbs{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grow.summary>.c.wbs{color:var(--ink-2);font-weight:600}.grow>.c.note{justify-content:center;align-items:center;color:var(--muted);padding-left:4px;padding-right:4px}.ghead .hc[data-col=note]{padding-left:4px;padding-right:4px;text-align:center;justify-content:center}.grow .nota-ico{flex:0 0 auto;color:var(--muted)}.nota-tip{position:fixed;z-index:70;max-width:300px;background:var(--panel);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;box-shadow:var(--shadow);padding:9px 12px;font-size:12.5px;line-height:1.45;white-space:pre-wrap;pointer-events:none}.nota-edit{position:fixed;z-index:72;width:300px;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);padding:10px}.nota-edit-tit{font-family:var(--mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nota-edit textarea{width:100%;min-height:92px;font-size:12.5px;line-height:1.45;resize:vertical}.nota-edit-pie{margin-top:6px;font-size:10.5px;color:var(--muted);font-family:var(--mono);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 8px}.nota-edit-botones{display:inline-flex;gap:6px}.nota-edit-botones button{padding:4px 10px;font-size:12px;font-family:var(--sans, inherit)}.c .celda-input.fecha{font-family:var(--mono);font-size:11px;color:var(--ink)}.grow>.c.retraso.atrasado{color:var(--crit);font-weight:600}.grow>.c.retraso.adelantado{color:var(--ok)}.grow>.c.code{font-family:var(--mono);font-size:10.5px;color:var(--ink-2);justify-content:flex-start}body.wrap .grow>.c.code{white-space:pre-line;overflow-wrap:anywhere}body:not(.wrap) .grow>.c.code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grow .c.code .ph,.grow .c.dur .ph{color:var(--muted)}.grow .c.code.editable,.grow .c.dur.editable{cursor:text}.grow .c.code.editable:hover,.grow .c.dur.editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:5px}.grow>.c.calculada{color:var(--ink-2);cursor:default}.ghead .hc .hc-fx{cursor:default;text-transform:none;letter-spacing:0}.grow>.c.calculada .ph{color:var(--muted);font-style:italic}.grow>.c.coord{position:relative;font-family:var(--mono);font-size:10.5px;line-height:1.35}.grow>.c.coord.editable{cursor:text}.coord-lineas{display:flex;flex-direction:column;padding-right:20px}.coord-mapa-btn{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel);font-size:11px;line-height:1;cursor:pointer}.coord-mapa-btn:hover{background:var(--line)}.coord-ed{display:flex;flex-direction:column;gap:2px;width:100%}.coord-ed .celda-input{width:100%}.grow>.c.enlace{position:relative}.grow>.c.enlace.editable{cursor:text}.enlace-titulo{display:block;min-width:0;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent, #2563eb)}.enlace-abrir{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:18px;height:18px;padding:0;border:0;border-radius:5px;display:inline-flex;align-items:center;justify-content:center;background:var(--panel);font-size:12px;line-height:1;cursor:pointer}.enlace-abrir:hover{background:var(--line)}.grow>.c.bin{justify-content:center}.bin-switch{position:relative;flex:0 0 auto;width:30px;height:17px;padding:0;border-radius:10px;border:1px solid var(--line-strong);background:var(--line);cursor:pointer;transition:background .13s,border-color .13s}.bin-switch i{position:absolute;left:1px;top:1px;width:13px;height:13px;border-radius:50%;background:var(--panel);box-shadow:0 1px 2px #00000040;transition:transform .16s cubic-bezier(.32,.72,0,1)}.bin-switch.on{background:var(--accent);border-color:var(--accent)}.bin-switch.on i{transform:translate(13px)}.bin-switch:disabled{opacity:.45;cursor:default}.tipo-col-opciones{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.tipo-col-opciones button{padding:6px 11px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--ink-2)}.tipo-col-opciones button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tipo-col-avanzado{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.formula-editor{margin-top:14px}.formula-tit{display:block;margin-bottom:6px;font-weight:600;font-size:12.5px;color:var(--ink-2)}.formula-input{width:100%;box-sizing:border-box;resize:vertical;padding:8px 10px;margin-bottom:8px;font-family:var(--mono);font-size:12.5px;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--ink)}.formula-input:focus{outline:2px solid var(--accent, #2563eb);outline-offset:-1px}.formula-teclas{display:flex;gap:6px;margin-bottom:8px}.formula-tecla{min-width:36px;height:30px;padding:0 8px;border-radius:7px;font-size:15px;font-family:var(--mono)}.formula-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.formula-chip{height:26px;padding:0 10px;border-radius:13px;font-size:12px}.formula-chip.variable{border-style:dashed}.formula-error{margin-bottom:10px;padding:8px 10px;border-radius:8px;font-size:12px;color:var(--danger, #b42318);background:color-mix(in srgb,var(--danger, #b42318) 8%,transparent)}.formula-vacia{padding:10px;margin-bottom:8px;font-size:12px;color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:8px}.formula-fila{display:flex;align-items:center;gap:6px;margin-bottom:6px}.formula-fila .formula-col{flex:1 1 auto;min-width:0}.formula-fila .formula-op{flex:0 0 56px}.formula-quitar{flex:0 0 auto;width:26px;height:26px;padding:0;border-radius:6px}.formula-añadir{margin-bottom:10px}.formula-preview{padding:7px 10px;margin-bottom:10px;font-family:var(--mono);font-size:11.5px;color:var(--ink-2);background:var(--panel-2);border-radius:8px;word-break:break-word}.formula-formato{margin-bottom:0}.formula-formato .seg{display:inline-flex}.agg-badge{flex:0 0 auto;padding:1px 5px;margin-right:5px;border:1px solid var(--line);border-radius:5px;background:var(--panel-2);color:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.03em;line-height:1.5;cursor:pointer}.agg-badge:hover{border-color:var(--line-strong);color:var(--ink)}.grow .celda-input,.grow .celda-input:focus{width:100%;min-width:0;height:auto;min-height:0;border:0;outline:0;padding:0;margin:0;box-shadow:none;background:var(--edit-bg);border-radius:3px;font:inherit;font-family:var(--mono);color:var(--ink)}.grow .celda-input::-webkit-inner-spin-button,.grow .celda-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grow .celda-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.grow .c.num .celda-input{text-align:right}.grow .c.code .celda-input{text-align:left}.grow .celda-texto,.grow .celda-texto:focus{display:block;width:100%;min-width:0;min-height:0;height:auto;resize:none;overflow:hidden;border:0;outline:0;padding:0;margin:0;box-shadow:none;background:var(--edit-bg);border-radius:3px;font:inherit;font-family:var(--mono);line-height:1.42;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}.menu-ctx .menu-vacio{padding:7px 10px 8px;font-size:12px;color:var(--muted)}.grow.summary{font-weight:620}.grow.summary .num{color:var(--ink)}.tname{min-width:0;line-height:1.42}body.wrap .tname{white-space:pre-line;overflow-wrap:anywhere}body:not(.wrap) .tname{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tname mark{background:#ffe9a8;color:#3d2f00;border-radius:2px;padding:0 2px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .tname mark{background:#6b5312;color:#ffeab8}}:root[data-theme=dark] .tname mark{background:#6b5312;color:#ffeab8}.twist{flex:0 0 auto;width:16px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:8px;border-radius:4px;transition:background .12s,color .12s}.twist:hover{background:var(--line);color:var(--ink)}.twist.leaf{visibility:hidden}.critdot{flex:0 0 auto;width:5px;height:5px;border-radius:50%;background:var(--crit);margin:8px 4px 0 0}.ms-ico{color:var(--mark);margin-right:4px}.grow .tname-edit,.grow .tname-edit:focus{flex:1 1 auto;min-width:0;min-height:0;height:auto;resize:none;overflow:hidden;border:0;outline:0;padding:0;margin:0;box-shadow:none;background:var(--edit-bg);border-radius:3px;font:inherit;line-height:1.42;color:var(--ink)}.grow .pct.editable{cursor:text}.grow .pct.editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:5px}.grow .pct .ph{color:var(--muted)}.grow .pct-input,.grow .pct-input:focus{flex:1 1 auto;width:auto;min-width:0;height:auto;min-height:0;padding:0;margin:0;border:0;outline:0;box-shadow:none;border-radius:3px;font-family:var(--mono);font-size:11px;text-align:right;font-variant-numeric:tabular-nums;background:var(--edit-bg);color:var(--ink)}.grow .pct-input::-webkit-inner-spin-button,.grow .pct-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grow .pct-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.pct-link-ico{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif;color:var(--muted);font-size:10px;margin-right:3px}.pct-ed{position:relative;display:inline-flex;align-items:center;gap:3px;width:100%;min-width:0}.pct-link-btn{flex:0 0 auto;width:15px;min-width:15px;height:15px;padding:0;margin:0;border:0;outline:0;box-shadow:none;background:transparent;border-radius:3px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Segoe UI,Roboto,sans-serif;font-size:10px;line-height:1;color:var(--muted);cursor:pointer}.pct-link-btn:hover{color:var(--ink);background:var(--line)}.pct-link-btn.on{color:var(--accent)}.pct-vinculado{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;outline:none}.pct-vinculado-txt{font-family:var(--mono);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.pct-vinculado:focus-visible{box-shadow:0 0 0 2px var(--focus-soft);border-radius:3px}.pct-quitar{flex:0 0 auto;width:13px;height:13px;padding:0;margin:0;border:0;border-radius:50%;background:var(--line);color:var(--ink-2);font-size:10px;line-height:13px;cursor:pointer}.pct-quitar:hover{background:var(--crit-soft);color:var(--crit)}.pct-buscar{position:relative;flex:1 1 auto;min-width:0;display:flex}.pct-buscar .celda-input{flex:1 1 auto;text-align:left}.pct-buscar-lista{position:absolute;left:0;top:calc(100% + 3px);z-index:45;width:max-content;min-width:220px;max-width:320px;max-height:240px;overflow-y:auto;background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);padding:4px}.pct-buscar-lista button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:transparent;text-align:left;padding:6px 8px;border-radius:5px;font-size:12.5px}.pct-buscar-lista button:hover{background:var(--hover)}.pct-buscar-nombre{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pct-buscar-valor{flex:0 0 auto;color:var(--muted);font-family:var(--mono);font-size:11px}.fecha-ed{display:inline-flex;align-items:center;gap:3px;width:100%;min-width:0}.fecha-ed .celda-input.fecha{flex:1 1 auto;text-align:left}.fecha-ed .fecha-pick{flex:0 0 auto;width:15px;min-width:15px;height:15px;padding:0;margin:0;border:0;outline:0;box-shadow:none;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:var(--muted);cursor:pointer}.fecha-ed .fecha-pick::-webkit-datetime-edit,.fecha-ed .fecha-pick::-webkit-inner-spin-button,.fecha-ed .fecha-pick::-webkit-clear-button{display:none}.fecha-ed .fecha-pick::-webkit-calendar-picker-indicator{margin:0;padding:0;cursor:pointer;opacity:.5}.fecha-ed .fecha-pick::-webkit-calendar-picker-indicator:hover{opacity:1}.matrices{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.matrices-cuerpo{position:relative;flex:1;display:flex;flex-direction:row;min-width:0;min-height:0}.matrices-principal{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.matrices-principal>.gantt{flex:1;min-height:0}.matrices-barra{display:flex;align-items:center;gap:6px;min-height:40px;padding:5px 10px;background:var(--panel-2);border-bottom:1px solid var(--line)}.hn-alternar{flex:0 0 auto;width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border-radius:8px;color:var(--ink-2)}.hn-alternar[aria-pressed=true]{color:var(--brand)}@media(min-width:761px){.hn-alternar{display:none}}.hn-ruta{display:flex;align-items:center;min-width:0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden}.hn-ruta>span+span:before{content:"›";margin:0 7px;color:var(--line-strong);font-weight:400}.hn-ruta-actual{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600}.hn{position:relative;flex:0 0 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:var(--panel-2);border-right:1px solid var(--line);transition:width .18s ease}.hn.ensanchando{transition:none}.hn-cab{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:12px 8px 4px 14px}.hn-titulo{flex:1;min-width:0;font-family:var(--display);font-weight:600;font-size:14px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hn-total{flex:0 0 auto;padding:1px 8px;border-radius:20px;background:var(--accent-soft);color:var(--ink-2);font-size:11px;font-weight:600}.hn-btn{flex:0 0 auto;width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;box-shadow:none;color:var(--ink-2)}.hn-btn:hover{background:var(--hover);color:var(--ink)}.hn-herr{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:6px 8px 4px 10px}.hn-buscar{flex:1;min-width:0;display:flex;align-items:center;gap:6px;height:32px;padding:0 6px 0 11px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--muted)}.hn-buscar:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}.hn-buscar input{flex:1;min-width:0;height:100%;padding:0;border:0;outline:0;box-shadow:none;background:transparent;font-size:12.5px;color:var(--ink);-webkit-appearance:none;-moz-appearance:none;appearance:none}.hn-buscar input::-webkit-search-cancel-button{display:none}.hn-limpiar{flex:0 0 auto;width:22px;height:22px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:50%;background:transparent;box-shadow:none;color:var(--muted)}.hn-limpiar:hover{background:var(--line);color:var(--ink)}.hn-crear{flex:0 0 auto;display:flex;gap:6px;padding:4px 10px 8px}.hn-nueva{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:30px;padding:0 10px;border:1px solid var(--line-strong);border-radius:20px;background:var(--panel);box-shadow:none;font-size:12.5px;font-weight:600;color:var(--brand);white-space:nowrap}.hn-nueva:hover{background:var(--brand-soft);border-color:var(--brand)}.hn-arbol{flex:1;min-height:0;overflow:auto;padding:4px 8px 14px;display:flex;flex-direction:column;gap:1px}.hn-fila{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:4px;min-width:0;min-height:32px;padding:4px 4px 4px 6px;border-radius:8px;color:var(--ink-2);font-size:13px;cursor:pointer;user-select:none;-webkit-user-select:none}.hn-fila:hover{background:var(--hover)}.hn-fila:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.hn-guias{flex:0 0 auto;display:flex;align-self:stretch}.hn-guias i{position:relative;flex:0 0 14px;width:14px}.hn-guias i:before{content:"";position:absolute;left:7px;top:-1px;bottom:-1px;width:1px;background:var(--line)}.hn-flecha{flex:0 0 16px;width:16px;height:16px;display:grid;place-items:center;color:var(--muted);transition:transform .12s ease}.hn-flecha.abierta{transform:rotate(90deg)}.hn-ico{flex:0 0 auto;display:inline-grid;place-items:center;color:var(--muted)}.hn-carpeta{color:var(--ink);font-weight:600}.hn-carpeta .hn-ico{color:var(--ink-2)}.hn-nombre{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.hn-candado{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--muted)}.hn-cuenta{flex:0 0 auto;padding:0 4px;font-size:11px;font-weight:600;color:var(--muted)}.hn-mas{flex:0 0 auto;width:24px;height:24px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:6px;background:transparent;box-shadow:none;color:var(--muted);opacity:0}.hn-fila:hover .hn-mas,.hn-fila:focus-within .hn-mas,.hn-fila.on .hn-mas,.hn-mas:focus-visible{opacity:1}.hn-mas:hover{background:var(--line);color:var(--ink)}.hn-hoja.on{background:var(--sel);color:var(--ink);font-weight:600}.hn-hoja.on:before{content:"";position:absolute;left:-2px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--brand)}.hn-hoja.on .hn-ico{color:var(--brand)}.hn-fila.arrastrando{opacity:.45}.hn-carpeta.soltar{background:var(--brand-soft);box-shadow:inset 0 0 0 1.5px var(--brand)}.hn-hoja.soltar-junto{box-shadow:inset 0 2px 0 0 var(--brand)}.hn-vacia{display:flex;align-items:center;flex:0 0 auto;height:26px;padding-left:6px;font-size:12px;font-style:italic;color:var(--muted)}.hn-vacia span{margin-left:24px}.hn-editando{height:auto;min-height:32px;flex-wrap:wrap;row-gap:0;cursor:default}.hn-editando:hover{background:transparent}.hn-edit{flex:1;min-width:0;height:26px;margin:3px 0;padding:0 8px;border:0;outline:0;border-radius:6px;background:var(--edit-bg);color:var(--ink);font-size:13px;box-shadow:inset 0 0 0 1px var(--focus)}.hn-edit.con-error{box-shadow:inset 0 0 0 1.5px var(--crit)}.hn-error{flex:1 0 100%;margin:0 0 6px;padding-left:38px;font-size:11.5px;line-height:1.35;color:var(--crit)}.hn-nada{padding:16px 10px;font-size:12.5px;line-height:1.45;color:var(--muted);text-align:center}.hn-raiz{margin-top:8px;padding:10px;border:1.5px dashed var(--line-strong);border-radius:10px;text-align:center;font-size:12px;color:var(--muted)}.hn-raiz.soltar{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.hn-menu{max-height:min(70vh,460px);overflow-y:auto}.hn-menu .hn-ico{margin-right:-2px}.hn-asa{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:col-resize;z-index:3;touch-action:none}.hn-asa:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:transparent;transition:background .12s}.hn-asa:hover:after,.hn.ensanchando .hn-asa:after{background:var(--brand)}.hn-riel{width:52px;align-items:center;gap:4px;padding:8px 0}.hn-riel-lista{flex:1;min-height:0;width:100%;margin-top:6px;padding:10px 0 4px;display:flex;flex-direction:column;align-items:center;gap:6px;overflow-y:auto;border-top:1px solid var(--line)}.hn-ficha{position:relative;flex:0 0 auto;width:34px;height:34px;padding:0;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:none;font-size:12px;font-weight:700;color:var(--ink-2)}.hn-ficha:hover{background:var(--hover);border-color:var(--line-strong)}.hn-ficha.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.hn-velo{display:none}@media(max-width:760px){.hn:not(.hn-riel){position:absolute;z-index:40;top:0;bottom:0;left:0;width:min(86vw,300px)!important;box-shadow:var(--shadow)}.hn-riel,.hn-asa{display:none}.hn-velo{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:39;background:#0d1b4852}.hn-ruta>span:not(.hn-ruta-actual){display:none}.hn-ruta>span+span:before{display:none}}@media(prefers-reduced-motion:reduce){.hn,.hn-flecha,.hn-asa:after{transition:none}}.tname-formula{font-variant-numeric:tabular-nums}.busqueda-editor .field{margin-top:8px}.busqueda-editor select{width:100%}.busqueda-clave{opacity:.8}.busqueda-clave>span{font-size:10px}.asa{flex:0 0 auto;width:22px;margin-left:-5px;color:var(--muted);font-size:17px;line-height:20px;text-align:center;cursor:grab;touch-action:none;opacity:.3;transition:opacity .12s,color .12s}.grow:hover .asa,.grow.sel .asa{opacity:1}.asa:hover{color:var(--ink)}body.dragging-row{cursor:grabbing}body.dragging-row *{cursor:grabbing!important}@media(hover:hover)and (pointer:fine){.grow{cursor:grab}.grow .c:not(:first-child),.grow .twist,.grow .pct{cursor:default}.grow .pct.editable{cursor:text}}.grow.arrastrando{opacity:.35}.grow.soltar-dentro{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent);border-radius:6px}.drop-line{position:absolute;right:0;height:2px;background:var(--accent);border-radius:2px;z-index:5;pointer-events:none}.drop-line:before{content:"";position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.chart-pane{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--panel)}.chart-scroll{flex:1;overflow:auto}.chart-head{flex:0 0 auto;height:46px;overflow:hidden;background:var(--panel);border-bottom:1px solid var(--line-strong)}.chart-head>svg{display:block;will-change:transform}svg{display:block}.foot{flex:0 0 auto;display:flex;align-items:center;gap:18px;padding:7px 14px;background:var(--panel);border-top:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;color:var(--muted)}.foot-stats{display:inline-flex;flex-wrap:wrap;gap:2px 16px;color:var(--ink);text-transform:none;letter-spacing:0;font-size:12px;white-space:nowrap}.lg{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;text-transform:uppercase}.lg i{display:inline-block;border-radius:1px}.lg .b{width:15px;height:7px;background:var(--bar)}.lg .c{width:15px;height:7px;background:var(--crit)}.lg .s{width:15px;height:4px;background:var(--mark)}.lg .m{width:8px;height:8px;background:var(--mark);transform:rotate(45deg)}.lg .t{width:0;height:11px;border-left:2px dashed var(--today)}.ax-month{fill:var(--ink);font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em}.ax-tick{fill:var(--muted);font-family:var(--mono);font-size:9.5px}.ax-line{stroke:var(--hair)}.ax-line-strong{stroke:var(--line)}.weekend{fill:var(--weekend)}.festivo{fill:var(--festivo)}.cal-num{fill:var(--ink);font-family:var(--mono);font-size:11px;font-weight:600}.cal-dia{fill:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.06em}.cal-num.es-finde,.cal-dia.es-finde{fill:var(--muted)}.cal-num.es-festivo,.cal-dia.es-festivo{fill:var(--festivo-ink);font-weight:650}.hoy-col{fill:var(--hoy-col);pointer-events:none}.hoy-marco{stroke:var(--today);pointer-events:none}.grid-h{stroke:var(--hair)}.half-day{stroke:var(--hair);stroke-dasharray:1 3;opacity:.6}.grid-m{stroke:var(--line)}.grid-col{stroke:var(--hair)}.band{fill:transparent;cursor:pointer}.bar-lbl{fill:var(--ink-2);font-size:11px;dominant-baseline:middle;pointer-events:none}.bar-emoji{font-size:11px;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.dia-arrastre{fill:var(--focus-soft);pointer-events:none}.sum{fill:var(--ink-2)}.ms{fill:var(--mark)}.dep{stroke:var(--muted);stroke-width:1.4;fill:none;pointer-events:none}.dep.dep-stakeholder{stroke:var(--dep-stakeholder);stroke-width:2}.today{stroke:var(--today);stroke-width:1.5;stroke-dasharray:4 4;pointer-events:none}.today-lbl{fill:var(--today);font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.side{flex:0 0 auto;width:clamp(300px,30vw,410px);min-height:0;background:var(--panel);border-left:1px solid var(--line-strong);display:flex;flex-direction:column}@media(max-width:820px){.workspace{position:relative}.side{position:absolute;right:0;top:0;bottom:0;z-index:20;width:min(92vw,410px);box-shadow:var(--shadow)}}.side-head{display:flex;align-items:center;gap:8px;padding:14px 14px 13px;border-bottom:1px solid var(--line)}.side-head h3{margin:0;flex:1}.side-head .cerrar{flex:0 0 auto;width:34px;height:34px;padding:0;font-size:15px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.side-body{flex:1;overflow:auto;padding:18px 14px 30px}.side-foot{padding:11px 14px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:center}.kv{display:flex;gap:10px;padding:7px 0;font-size:12.5px;border-bottom:1px solid var(--hair)}.kv b{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500;min-width:96px;padding-top:2px}.chips{display:flex;flex-wrap:wrap;gap:5px}.chip{font-size:11.5px;padding:3px 9px;border-radius:20px;background:var(--panel-2);border:1px solid var(--line)}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.seg-franja{display:flex;gap:6px}.seg-franja button{flex:1;padding:7px 6px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--ink-2)}.seg-franja button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.seg-franja button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg-franja button:disabled{opacity:.5}.guardado-est{font-size:11.5px;color:var(--muted);font-family:var(--mono)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0861;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:13px;box-shadow:var(--shadow);width:100%;max-width:470px;max-height:84vh;display:flex;flex-direction:column}.modal h3{margin:0;padding:17px 18px;border-bottom:1px solid var(--line);font-size:14px;font-weight:600;letter-spacing:-.01em}.modal-body{padding:17px 18px;overflow:auto}.modal-foot{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end}.share-row{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--hair)}.share-row .em{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.tb-mas{display:contents}.tb-g{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto}.tb-panel{background:var(--panel-2);border:1px solid var(--line-strong);border-radius:9px;padding:4px 8px}.tb-acciones{gap:4px}.tb-cuenta{font-size:11.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.autoestado{font-size:11.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap;padding:0 4px 0 2px}.tema-btn{font-size:18px;line-height:1;padding:4px 9px}.vista-sw{flex:0 0 auto}.tb-toggle{display:none}.fab{display:inline-flex;align-items:center;gap:5px}.fab .fab-mas{font-size:15px;line-height:1;margin-top:-1px}.interruptor{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12.5px;color:var(--ink-2);white-space:nowrap;-webkit-user-select:none;user-select:none}.interruptor input{position:absolute;opacity:0;width:0;height:0}.interruptor i{position:relative;flex:0 0 auto;width:34px;height:19px;border-radius:12px;background:var(--line);border:1px solid var(--line-strong);transition:background .16s,border-color .16s}.interruptor i:after{content:"";position:absolute;left:2px;top:1.5px;width:14px;height:14px;border-radius:50%;background:var(--panel);box-shadow:0 1px 2px #00000040;transition:transform .16s cubic-bezier(.32,.72,0,1)}.interruptor:hover i{border-color:var(--muted)}.interruptor input:checked+i{background:var(--accent);border-color:var(--accent)}.interruptor input:checked+i:after{transform:translate(15px)}.interruptor input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}.interruptor input:checked~span{color:var(--ink);font-weight:550}.search{position:relative;display:flex;align-items:center;flex:0 1 auto;min-width:130px}.search input{width:100%;min-width:0;max-width:220px;padding-left:28px;padding-right:26px}.search input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search .ico{position:absolute;left:9px;color:var(--muted);font-size:12px;pointer-events:none}.search .clr{position:absolute;right:6px;width:16px;height:16px;border:0;border-radius:50%;padding:0;background:var(--line);color:var(--ink-2);font-size:10px;line-height:16px;cursor:pointer;display:none}.search.has .clr{display:block}.hits{font-family:var(--mono);font-size:10.5px;color:var(--muted);white-space:nowrap}.tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:0 0 auto}.vivo{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.vivo i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.vivo.on i{background:var(--ok)}.vivo.destello{color:var(--ok)}.vivo.destello i{animation:latir .6s ease-out 2}@keyframes latir{0%,to{transform:scale(1)}50%{transform:scale(2)}}.link-box{display:flex;gap:6px;margin-top:8px}.link-box input{font-family:var(--mono);font-size:11px}.spin{display:inline-block;width:13px;height:13px;border:2px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center{height:100%;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-family:var(--mono);font-size:11.5px;letter-spacing:.05em}.movil-toggle{display:none;position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:15;box-shadow:var(--shadow);background:var(--panel)}@media(max-width:760px){body{font-size:15px}.topbar{padding:8px 10px;gap:8px;row-gap:10px}.topbar .brand b{font-size:16px}.topbar .brand span{display:none}.tb-mas{display:none;order:10;width:100%;flex-wrap:wrap;gap:8px;align-items:center;padding-top:10px;margin-top:2px;border-top:1px solid var(--hair)}.tb-mas.abierta{display:flex}.vista-sw{order:5}.vista-sw button{padding:7px 10px;font-size:12px}.tb-mas .tb-g{flex:1 1 100%;flex-wrap:wrap}.tb-mas .search{flex:1 1 100%}.tb-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;font-size:20px;line-height:1}.tb-toggle[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}.autoestado{display:none}.tb-acciones{margin-left:auto}.tb-mas .tb-panel{background:none;border:0;padding:0}.fab{position:fixed;right:16px;z-index:40;bottom:calc(15px + env(safe-area-inset-bottom));height:52px;min-height:52px;padding:0 20px;border-radius:26px;background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-size:15px;font-weight:600;display:inline-flex;align-items:center;gap:7px;box-shadow:0 4px 16px #00000042}.fab:hover{background:var(--accent)}.fab .fab-mas{display:inline;font-size:21px;line-height:1;margin-top:-2px}button,.btn{padding:10px 14px;min-height:44px;font-size:14px}.seg{padding:3px}.seg button{padding:8px 14px;min-height:38px;font-size:13.5px}.tema-btn{width:44px;min-height:44px}.interruptor{min-height:44px;font-size:14px}.interruptor i{width:42px;height:24px}.interruptor i:after{width:18px;height:18px;top:2px}.interruptor input:checked+i:after{transform:translate(18px)}.search input,.topbar input[type=search]{width:100%!important;max-width:none}.workspace,.gantt{position:relative}.grid-pane{max-width:none!important;width:100%!important;border-right:0}.chart-pane{width:100%}.gantt.vista-diagrama .grid-pane{position:absolute;left:-10000px;top:0;visibility:hidden;width:var(--ancho-tabla, 360px)!important}.gantt.vista-lista .chart-pane{display:none}.gantt:not(.tabla-movil) .ghead{height:40px;grid-template-columns:1fr!important}.gantt:not(.tabla-movil) .ghead .hc:not([data-col=name]){display:none}.gantt:not(.tabla-movil) .ghead .hc{border-left:0;padding:0 14px 9px}.gantt:not(.tabla-movil) .grow{grid-template-columns:1fr auto!important;grid-template-areas:"nombre pct" "meta pct";align-items:center;padding:9px 14px;gap:1px 10px;min-height:60px}.gantt:not(.tabla-movil) .grow>.c{padding:0;border-left:0}.gantt:not(.tabla-movil) .grow>.c[data-col=name]{grid-area:nombre;align-items:center}.gantt:not(.tabla-movil) .grow>.c[data-col=note],.gantt:not(.tabla-movil) .grow>.c[data-col=code],.gantt:not(.tabla-movil) .grow>.c[data-col=wbs],.gantt:not(.tabla-movil) .grow>.c[data-col=dur],.gantt:not(.tabla-movil) .grow>.c[data-col=ideal],.gantt:not(.tabla-movil) .grow>.c[data-col=retraso],.gantt:not(.tabla-movil) .grow>.c[data-col=resp],.gantt:not(.tabla-movil) .grow>.c[data-col^="c:"]{display:none}.gantt:not(.tabla-movil) .grow>.c[data-col=start]{grid-area:meta;justify-content:flex-start}.gantt:not(.tabla-movil) .grow>.c[data-col=end]{grid-area:meta;justify-content:flex-start;margin-left:74px}.gantt:not(.tabla-movil) .grow>.c[data-col=end]:before{content:"→";margin-right:5px;opacity:.5}.gantt:not(.tabla-movil) .grow>.c[data-col=pct]{grid-area:pct;align-items:center;font-size:13px;min-width:44px}.gantt:not(.tabla-movil) .grow .tname{font-size:15px;line-height:1.35}.gantt:not(.tabla-movil) .grow .num{font-size:11.5px;color:var(--muted)}.gantt:not(.tabla-movil) .grow.summary .tname{font-weight:650}.gantt:not(.tabla-movil) .twist{width:34px;height:34px;margin:-7px 0 -7px -8px;font-size:10px}.gantt:not(.tabla-movil) .asa{opacity:.45;width:22px;font-size:14px}.gantt:not(.tabla-movil) .critdot{margin-top:0}.publica .solo-escritorio{display:none}.publica .topbar .tag{order:6}.publica .topbar .vivo{font-size:10.5px}.publica .topbar-global{flex-wrap:wrap;gap:8px;padding:8px 10px}.publica .topbar-global .brand{flex:1 1 auto}.publica .topbar-global .spacer{display:none}.publica .topbar-global .search{order:3;flex:1 1 100%}.publica .topbar-global .search input{max-width:none}.publica .topbar-context{padding:8px 10px;gap:8px}.publica .topbar-context .tb-sep{display:none}.publica .topbar-context .vista-sw{order:0}.publica .topbar-context .seg button{padding:7px 10px;min-height:36px;font-size:12.5px}.gantt.tabla-movil .grid-scroll{-webkit-overflow-scrolling:touch}.gantt.tabla-movil .grid-inner{width:max-content;min-width:100%}.gantt.tabla-movil .ghead .hc[data-col=name],.gantt.tabla-movil .grow>.c[data-col=name]{position:sticky;left:0;z-index:2;background:var(--panel);box-shadow:1px 0 0 var(--line)}.gantt.tabla-movil .ghead .hc[data-col=name]{z-index:4}.gantt.tabla-movil .grow.sel>.c[data-col=name]{background:var(--sel)}.gantt.tabla-movil .grow>.c{padding:7px 8px}.gantt.tabla-movil .ghead .hc{padding:6px 18px 6px 8px}.movil-toggle{display:inline-flex;left:14px;transform:none;bottom:calc(14px + env(safe-area-inset-bottom));padding:4px;border-radius:12px;border-color:var(--line-strong)}.movil-toggle button{padding:9px 20px;font-size:14px}.side{position:fixed!important;left:0!important;right:0;top:auto!important;bottom:0;width:100%!important;max-width:none;max-height:88vh;max-height:88dvh;overflow:hidden;border:0;border-top:1px solid var(--line-strong);border-radius:18px 18px 0 0;box-shadow:0 -8px 32px #00000038;z-index:60;transition:transform .22s cubic-bezier(.32,.72,0,1);animation:hoja-sube .26s cubic-bezier(.32,.72,0,1)}@keyframes hoja-sube{0%{transform:translateY(100%)}to{transform:translateY(0)}}.side-head{flex-direction:column;align-items:stretch;gap:0;padding:8px 14px 12px;position:relative;touch-action:none}.tirador{display:block;width:38px;height:4px;border-radius:3px;background:var(--line-strong);margin:2px auto 12px}.side-head .agarre{display:none}.side-head h3{font-size:12px;padding-right:44px}.side-head .cerrar{position:absolute;right:8px;top:18px;width:44px;height:44px;font-size:20px;margin:0}.side-body{display:block;padding:4px 16px 20px;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}.side .col+.col{margin-top:4px;padding-top:14px;border-top:1px solid var(--hair)}.side label.field,.side .field{margin-bottom:16px}.side .field>span{font-size:12px;letter-spacing:.07em;margin-bottom:6px}.side .row2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.side .row2>*{min-width:0}.side input[type=date]{min-width:0;width:100%;display:block}.side textarea,.side .campo-rico.campo-form{min-height:56px}.side .meta{margin-top:4px}.side .meta .kv{grid-template-columns:100px 1fr;padding:9px 0;font-size:14px}.check{padding:10px 0;font-size:15px;min-height:44px}.check input{width:20px;height:20px}.recursos{gap:8px}.recursos .chip{padding:9px 15px;font-size:14px;min-height:40px}.recursos .chip-input{padding:8px 15px;font-size:16px;width:150px}.side-foot{position:sticky;bottom:0;background:var(--panel);gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));box-shadow:0 -4px 14px #00000012}.side-foot button{flex:1;padding:13px 12px;font-size:15px;min-height:48px}.side-foot .danger{flex:0 0 auto}input[type=text],input[type=search],input[type=email],input[type=date],input[type=number],select,textarea,.campo-rico.campo-form{font-size:16px;padding:12px 13px;border-radius:10px}.pct-input{font-size:16px}.menu-ctx{min-width:230px;padding:6px}.menu-ctx button{padding:13px 12px;font-size:15px;min-height:48px}.menu-ctx kbd{display:none}.foot{padding:7px 12px calc(7px + env(safe-area-inset-bottom));font-size:10.5px}.foot .lg{display:none}.projects{padding:18px 14px 40px;background-size:28px 28px}.pcard{flex-wrap:wrap;gap:6px 10px;padding:15px 16px;min-height:60px}.pcard .pname{font-size:15px}.modal{max-height:92vh}.link-box{flex-direction:column}.dropzone{padding:26px 16px}}@media(max-width:400px){.grow>.c[data-col=end]{display:none}}@media(min-width:821px){.side{position:fixed;z-index:55;width:720px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;animation:panel-entra .12s ease-out}@keyframes panel-entra{0%{opacity:0;transform:scale(.97) translateY(-6px)}}.side-body{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:14px 16px 12px}.side-body .col{min-width:0}.side label.field,.side .field{margin-bottom:11px}.side .field>span{display:block;margin-bottom:4px}.side textarea,.side .campo-rico.campo-form{min-height:42px}.side .meta{margin-top:2px}.side .meta .kv{display:grid;grid-template-columns:82px 1fr;gap:8px;padding:4px 0;font-size:12px}.side .meta .kv b{min-width:0;padding:0}}.side-head{cursor:grab;-webkit-user-select:none;user-select:none}body.moviendo-panel,body.moviendo-panel *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.side-head .agarre{color:var(--line-strong);font-size:11px;letter-spacing:-1px}.check{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer;padding:5px 0}.check input{width:auto;margin:0;accent-color:var(--crit)}.check .punto{width:7px;height:7px;border-radius:50%;background:var(--line-strong);transition:background .13s}.check:has(input:checked){color:var(--crit);font-weight:550}.check:has(input:checked) .punto{background:var(--crit)}.check input:disabled{cursor:default}.recursos{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.recursos .chip{font-size:11.5px;padding:4px 10px;border-radius:20px;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);transition:background .12s,border-color .12s,color .12s}.recursos .chip:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.recursos .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.recursos .chip.on:hover{opacity:.86;color:var(--accent-ink)}.recursos .chip.nuevo{border-style:dashed;color:var(--muted)}.recursos .chip-wrap{position:relative;display:inline-flex}.recursos .chip-x{position:absolute;top:-6px;right:-6px;width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);font-size:12px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center}.recursos .chip-wrap:hover .chip-x,.recursos .chip-x:focus-visible{display:inline-flex}.recursos .chip-x:hover{background:var(--crit);border-color:var(--crit);color:#fff}.recursos .chip-confirmar{display:inline-flex;align-items:center;gap:6px;cursor:default;border-color:var(--crit);color:var(--ink)}.recursos .chip-confirmar button{padding:1px 8px;font-size:11px;border-radius:12px;min-height:0;border:1px solid var(--line-strong);background:var(--panel)}.recursos .chip-confirmar .sí{background:var(--crit);border-color:var(--crit);color:#fff}.recursos .chip-input{width:118px;font-size:11.5px;padding:3px 10px;border-radius:20px;border:1px solid var(--focus);background:var(--panel)}.recursos .vacio{font-size:12px;color:var(--muted)}.adjuntos{display:flex;flex-direction:column;gap:4px}.adjunto{display:flex;align-items:center;gap:6px}.adjunto-nombre{flex:1;min-width:0;text-align:left;font-size:12px;color:var(--ink-2);padding:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.adjunto-nombre:hover{color:var(--accent);text-decoration:underline}.adjunto-peso{font-size:10.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.adjunto-x{width:18px;height:18px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);font-size:12px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.adjunto-x:hover{background:var(--crit);border-color:var(--crit);color:#fff}.adjunto-subir{align-self:flex-start;margin-top:2px;font-size:11.5px;padding:4px 10px;border-radius:20px;cursor:pointer;color:var(--muted);border:1px dashed var(--line);background:var(--panel-2)}.adjunto-subir:hover{border-color:var(--line-strong);color:var(--ink)}.adjunto-subir.subiendo{cursor:default;opacity:.7}.adjunto-error{font-size:11.5px;color:var(--crit);margin-top:4px}.adjunto-nombre-img{display:flex;align-items:center;gap:6px}.adjunto-mini{flex:0 0 auto;width:22px;height:22px;border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--panel-2);font-size:13px;line-height:1}.adjunto-mini img{width:100%;height:100%;object-fit:cover;display:block}.visor-fondo{z-index:90;background:#0a0a08d1;padding:0}.visor{width:100%;height:100%;display:flex;flex-direction:column}.visor-barra{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 16px;color:#fff}.visor-barra .ghost{color:#fff;border-color:#ffffff4d}.visor-barra .ghost:hover{background:#ffffff1f;border-color:#ffffff80}.visor-barra .ghost.danger{color:var(--crit);border-color:#ffffff4d}.visor-barra .ghost.danger:hover{background:var(--crit);border-color:var(--crit);color:#fff}.visor-nombre{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visor-cont{font-size:11.5px;font-family:var(--mono);color:#ffffffa6;flex:0 0 auto}.visor-cuerpo{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0 56px 24px}.visor-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 12px 40px #00000080;cursor:default}.visor-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#00000059;color:#fff;font-size:22px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.visor-nav:hover{background:#0009;border-color:#fff9}.visor-prev{left:8px}.visor-next{right:8px}.visor-pdf{width:100%;height:100%;max-width:900px;border:0;border-radius:4px;background:#fff;box-shadow:0 12px 40px #00000080}.visor-cargando{color:#ffffffb3;font-size:13px}@media(max-width:760px){.visor-cuerpo{padding:0 8px 16px}.visor-nav{width:38px;height:38px;font-size:19px}}.grow>.c.adjuntos-col{padding:4px 8px;cursor:default}.adjuntos-celda{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.adjuntos-celda-chip{flex:0 0 auto;width:22px;height:22px;padding:0;border-radius:4px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;line-height:1}.adjuntos-celda-chip:hover{border-color:var(--line-strong)}.adjuntos-celda-chip .adjunto-mini{width:100%;height:100%;border-radius:0;background:transparent}.adjuntos-celda-mas{flex:0 0 auto;width:22px;height:22px;border-radius:4px;cursor:pointer;border:1px dashed var(--line);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1}.adjuntos-celda-mas:hover{border-color:var(--line-strong);color:var(--ink);background:var(--hover)}.adjuntos-celda-mas.subiendo{cursor:default;opacity:.7}.adjuntos-raiz{outline:0;width:100%}.grow>.c.adjuntos-col:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.adjuntos-celda-error{font-size:10.5px;line-height:1.3;margin-top:3px}.grow>.c.adjuntos-col.mini{padding:6px}.adjuntos-galeria{position:relative;width:100%;height:100px;display:flex;align-items:center;justify-content:center}.adjuntos-galeria-img{width:100%;height:100%;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel-2);cursor:zoom-in;display:flex;align-items:center;justify-content:center}.adjuntos-galeria-img img{width:100%;height:100%;object-fit:cover;display:block}.adjuntos-galeria-icono{font-size:30px}.adjuntos-galeria-nav{position:absolute;top:50%;transform:translateY(-50%);width:22px;height:30px;padding:0;border:0;border-radius:6px;background:#1414128c;color:#fff;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s}.adjuntos-galeria:hover .adjuntos-galeria-nav,.adjuntos-raiz:focus .adjuntos-galeria-nav{opacity:1}.adjuntos-galeria-nav:hover{background:#141412cc}.adjuntos-galeria-nav.ant{left:4px}.adjuntos-galeria-nav.sig{right:4px}.adjuntos-galeria-cont{position:absolute;left:6px;bottom:5px;font:600 10px var(--mono);color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7);pointer-events:none}.adjuntos-galeria-mas{position:absolute;right:5px;bottom:5px}.adjuntos-galeria-mas .adjuntos-celda-mas{background:#ffffffd9}.adjuntos-galeria:not(:has(.adjuntos-galeria-img)) .adjuntos-galeria-mas{position:static}.adjuntos-galeria:not(:has(.adjuntos-galeria-img)){height:44px;border:1px dashed var(--line);border-radius:8px}.visor-btn{display:inline-flex;align-items:center;gap:6px}.visor-ico{flex:0 0 auto}body.wrap .grow>.c.num{flex-wrap:wrap;white-space:normal;overflow-wrap:anywhere;row-gap:2px;align-items:center}body.wrap .grow>.c.num .agg-badge{margin-right:5px}.chart-inner{cursor:grab;-webkit-user-select:none;user-select:none}.chart-inner svg,.chart-inner svg *{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.chart-inner.agarrando{cursor:grabbing}.chart-inner.agarrando *{cursor:grabbing!important}.menu-ctx{position:fixed;z-index:70;min-width:196px;padding:5px;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);animation:menu-entra .1s ease-out}@keyframes menu-entra{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-tit{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:7px 9px 6px;border-bottom:1px solid var(--hair);margin-bottom:4px}.menu-ctx button{display:flex;align-items:center;width:100%;gap:10px;border:0;background:transparent;text-align:left;padding:7px 9px;border-radius:6px;font-size:12.5px}.menu-ctx button.danger:hover{background:var(--crit-soft)}.menu-ctx kbd{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px;background:var(--panel-2)}.menu-ctx hr{border:0;border-top:1px solid var(--hair);margin:4px 2px}.fantasma{position:fixed;left:0;top:0;z-index:80;pointer-events:none;display:flex;align-items:center;gap:8px;max-width:340px;padding:7px 12px;border-radius:8px;font-size:12.5px;font-weight:550;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 20px #00000038;animation:fantasma-entra .12s ease-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes fantasma-entra{0%{opacity:0;transform:scale(.9)}}.fantasma-asa{opacity:.55}.fantasma em{font-style:normal;font-family:var(--mono);font-size:10px;background:#7f7f7f4d;padding:1px 6px;border-radius:20px}.grow.arrastrando{opacity:.28}.drop-line{animation:linea-entra .12s ease-out}@keyframes linea-entra{0%{opacity:0;transform:scaleX(.9)}}.grow.soltar-dentro{animation:dentro-late .18s ease-out}@keyframes dentro-late{0%{box-shadow:inset 0 0 0 6px var(--accent-soft)}}.grow.recien-movida{animation:aterriza .9s ease-out}@keyframes aterriza{0%{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}70%{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}to{background:transparent;box-shadow:none}}.barra-preview{fill:none;stroke:var(--today);stroke-width:1.6;stroke-dasharray:3 3;pointer-events:none}.barra-preview-lbl{fill:var(--today);font-family:var(--mono);font-size:10px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px;pointer-events:none}.mmv{flex:1;display:flex;min-height:0;min-width:0}.mmv-lienzo{flex:1;position:relative;overflow:hidden;background:var(--bg);background-image:radial-gradient(circle,var(--line) 1px,transparent 1px);background-size:22px 22px;touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}.mmv-lienzo:active{cursor:grabbing}.mmv-lienzo:focus,.mmv-lienzo:focus-visible{outline:none}.mmv-lienzo.arrastrando{cursor:grabbing}.mmv-mundo{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.mmv-links{position:absolute;top:0;left:0;pointer-events:none}.mmv-links path{fill:none;stroke:var(--line-strong);stroke-width:2}.mmv-links path.on{stroke:var(--accent);stroke-width:2.5}.mmv-nodo{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:12px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow);cursor:pointer}.mmv-nodo:hover{border-color:var(--ink-2)}.mmv-nodo.sel{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.mmv-nodo.resumen{background:var(--panel-2)}.mmv-nodo.crit{border-color:var(--crit)}.mmv-raiz{border-color:var(--accent);border-width:2px}.mmv-nodo.fantasma{opacity:.35;pointer-events:none}.mmv-nodo.blanco{outline:2px dashed var(--accent);outline-offset:2px;border-color:var(--accent);transform:scale(1.04)}.mmv-nodo.blanco.suelta-izq{box-shadow:inset 4px 0 0 var(--accent),var(--shadow)}.mmv-nodo.blanco.suelta-der{box-shadow:inset -4px 0 0 var(--accent),var(--shadow)}.mmv-nodo.reordena{border-color:var(--accent)}.mmv-nodo.reordena.suelta-antes{box-shadow:inset 0 4px 0 var(--accent),var(--shadow)}.mmv-nodo.reordena.suelta-despues{box-shadow:inset 0 -4px 0 var(--accent),var(--shadow)}.mmv-edit{flex:1;align-self:stretch;resize:none;border:0;outline:0;background:transparent;color:var(--ink);font:inherit;font-weight:600;padding:0;margin:0;field-sizing:content;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.mmv-ghost{position:fixed;z-index:60;pointer-events:none;padding:5px 10px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-size:12px;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:var(--shadow)}.mmv-nom{font-size:13px;font-weight:600;line-height:1.25;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}.mmv-nom i{color:var(--muted);font-weight:400}.mmv-edt{font:600 11px/1 var(--mono);color:var(--muted);margin-right:6px;padding:1px 4px;border-radius:4px;background:var(--panel-2);border:1px solid var(--line, rgba(127,127,127,.25));white-space:nowrap;vertical-align:1px}.mmv-marca{font-style:normal;margin-right:5px;color:var(--ink-2)}.mmv-nodo.crit .mmv-marca{color:var(--crit)}.mmv-meta,.mmv-fechas{font:11px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.mmv-fechas b{color:var(--ink-2);font-weight:700}.mmv-fechas{display:flex;align-items:center;justify-content:space-between;gap:6px}.mmv-nota-btn{flex:0 0 auto;width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;font-size:12px;line-height:1;cursor:pointer;opacity:.55}.mmv-nota-btn:hover,.mmv-nota-btn.on{opacity:1;background:var(--line)}.mmv-recursos{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mmv-rec{font:10.5px/1 var(--mono);padding:3px 6px;border:1px solid var(--line-strong);border-radius:999px;background:var(--panel-2);color:var(--ink-2);white-space:nowrap}.mmv-notas{font-size:11.5px;line-height:1.35;color:var(--ink-2);border-top:1px dashed var(--line);padding-top:4px;margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere}.mmv-plegar{position:absolute;right:-11px;top:50%;transform:translateY(-50%);min-width:22px;height:22px;padding:0 5px;border:1px solid var(--line-strong);border-radius:999px;background:var(--panel);color:var(--ink-2);font:600 10px/1 var(--mono);cursor:pointer;z-index:1}.mmv-plegar:hover{border-color:var(--ink-2);color:var(--ink)}.mmv-nodo.mmv-izq .mmv-plegar{left:-11px;right:auto}.mmv-links path.mmv-dep-flecha{stroke:var(--focus);stroke-width:1.8;stroke-dasharray:6 4;fill:none}.mmv-flecha-punta{fill:var(--focus);stroke:none}.mmv-vinculo{display:inline-flex;align-items:center;gap:3px;font:600 10px/1 var(--mono);color:var(--focus);cursor:help}.mmv-enlace{position:absolute;right:-8px;top:50%;width:13px;height:13px;margin-top:-6.5px;z-index:2;border-radius:50%;background:var(--focus);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--focus);opacity:0;transition:opacity .12s;cursor:crosshair}.mmv-enlace.con-plegar{top:calc(50% + 24px)}.mmv-nodo:hover .mmv-enlace,.mmv-nodo.enlace-origen .mmv-enlace{opacity:1}.mmv-enlace:hover{transform:scale(1.25)}.mmv-nodo.enlace-objetivo{outline:2px dashed var(--focus);outline-offset:3px}.mmv-lienzo.enlazando,.mmv-lienzo.enlazando .mmv-nodo{cursor:crosshair}.mmv-links path.mmv-flecha-temporal{stroke:var(--focus);stroke-width:2;stroke-dasharray:6 4;fill:none}.mmv-nodo.vinculo-activo{box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 35%,transparent),var(--shadow)}.mmv-vertical .mmv-plegar{right:auto;left:50%;top:auto;bottom:-11px;transform:translate(-50%)}.mmv-vertical .mmv-nodo.reordena.suelta-antes{box-shadow:inset 4px 0 0 var(--accent),var(--shadow)}.mmv-vertical .mmv-nodo.reordena.suelta-despues{box-shadow:inset -4px 0 0 var(--accent),var(--shadow)}.mmv-controles{position:absolute;top:12px;left:12px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.mmv-controles>*{pointer-events:auto}.mmv-ayuda{position:absolute;left:50%;bottom:12px;transform:translate(-50%);padding:5px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--muted);font-size:11px;white-space:nowrap;pointer-events:none;max-width:calc(100% - 24px);overflow:hidden;text-overflow:ellipsis}.mmv-ayuda b{color:var(--ink-2);font-family:var(--mono);font-size:10px}@media(max-width:640px){.mmv-ayuda{font-size:10px}.mmv-controles{top:8px;left:8px}}.presencia{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.presencia-caras{display:inline-flex}.presencia .cara{width:26px;height:26px;border-radius:50%;margin-left:-7px;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:var(--panel-2);color:var(--ink-2);border:2px solid var(--panel);box-shadow:0 0 0 1px var(--ok);font-size:10.5px;font-weight:600;letter-spacing:.02em}.presencia .cara:first-child{margin-left:0}.presencia .cara img{width:100%;height:100%;object-fit:cover}.presencia .cara.mas{box-shadow:0 0 0 1px var(--line-strong);color:var(--muted)}.presencia.desconectado .cara{box-shadow:0 0 0 1px var(--line-strong);opacity:.6}.presencia-aviso{font-size:11.5px;color:var(--ok);font-family:var(--mono);animation:presencia-entra .2s ease-out}@keyframes presencia-entra{0%{opacity:0;transform:translateY(-2px)}}.cola-imp{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink-2)}.cola-archivo{font-family:var(--mono);font-size:11px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cola-tit{font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.cola-sub{font-size:12.5px}.cola-nota{font-size:11.5px;color:var(--muted);max-width:380px}.cola-barra{width:min(320px,100%);height:5px;border-radius:3px;background:var(--line);overflow:hidden}.cola-barra i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width 1s linear}.cola-imp button{margin-top:4px}.adm{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;background:var(--bg)}.adm-cab{display:flex;align-items:center;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:2}.adm-cab h2{margin:0;font-size:15px;font-weight:600}.adm-gen{font:11px var(--mono);color:var(--muted)}.adm-cuerpo{display:flex;flex-direction:column;gap:16px;padding:18px 20px 40px;max-width:1180px;width:100%;margin:0 auto;box-sizing:border-box}.adm-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.adm-kpi{display:flex;flex-direction:column;gap:2px;padding:12px 14px;background:var(--panel);border:1px solid var(--line);border-radius:12px}.adm-kpi b{font-size:26px;font-weight:650;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.adm-kpi span{font-size:12.5px;color:var(--ink-2)}.adm-kpi small{font:10.5px var(--mono);color:var(--muted)}.adm-graf{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:10px}.adm-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-width:0}.adm-card-tit{display:flex;align-items:center;gap:8px;font:600 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.adm-card-tit b{color:var(--ink);font-size:13px}.adm-busca{margin-left:auto;width:230px;font:12.5px var(--sans, inherit);text-transform:none;letter-spacing:0}.adm-barras{display:flex;align-items:flex-end;gap:3px;height:70px}.adm-barras i{flex:1;background:var(--line);border-radius:2px 2px 0 0;min-height:2px}.adm-barras i.on{background:var(--ink-2)}.adm-eje{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted);margin-top:4px}.adm-tabla-wrap{overflow-x:auto}.adm-tabla{width:100%;border-collapse:collapse;font-size:12.5px}.adm-tabla th{text-align:left;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:6px 10px;border-bottom:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.adm-tabla th:hover{color:var(--ink)}.adm-tabla td{padding:7px 10px;border-bottom:1px solid var(--hair);white-space:nowrap}.adm-tabla .num{text-align:right;font-variant-numeric:tabular-nums}.adm-tabla tr.vacio td{color:var(--muted)}.adm-user{display:flex;align-items:center;gap:9px}.adm-user div{display:flex;flex-direction:column;min-width:0}.adm-user small{font:10.5px var(--mono);color:var(--muted)}.adm-nada{text-align:center;color:var(--muted);padding:18px}.adm-nota{font-size:11.5px;color:var(--muted);margin:0}.modo-miniaturas{display:flex;align-items:flex-start;gap:9px;margin-top:12px}.modo-miniaturas input{margin-top:3px}.modo-miniaturas span{display:flex;flex-direction:column;gap:2px;font-size:13px}.modo-miniaturas small{font-size:11.5px;color:var(--muted);line-height:1.4}.aviso-archivos{margin-top:10px;padding:8px 10px;border-radius:8px;font-size:12.5px;line-height:1.45;color:var(--crit);background:color-mix(in srgb,var(--crit) 9%,transparent)}.fecha-cal{position:absolute;right:3px;top:50%;transform:translateY(-50%);z-index:1;display:inline-flex;align-items:center;opacity:0;transition:opacity .12s;background:var(--panel);border-radius:5px}.grow>.c:hover .fecha-cal,.fecha-cal:focus-within{opacity:1}.fecha-cal-btn{width:20px;height:20px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.fecha-cal-btn:hover{background:var(--line);color:var(--ink)}.fecha-cal-input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}@media(hover:none){.fecha-cal{opacity:.55}}.dia-sel{fill:var(--focus-soft);opacity:.85;pointer-events:none}.dia-sel-borde{stroke:var(--focus);opacity:.3;pointer-events:none}.dia-sel-subrayado{stroke:var(--focus);stroke-width:2.5;pointer-events:none}.chart-head.marca-dias{cursor:pointer;-webkit-user-select:none;user-select:none}.grow>.c.resp.editable{cursor:pointer}.grow>.c.resp.editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:5px}.grid-inner{position:relative}.grid-inner.cabe{padding-right:0}.relleno-bola{position:absolute;z-index:2;width:6px;height:6px;padding:0;border-radius:50%;background:var(--accent);border:2px solid var(--panel, #fff);box-sizing:content-box;cursor:crosshair;touch-action:none}.grow>.c.relleno-origen{box-shadow:inset 0 0 0 2px var(--accent);border-radius:5px}.grow>.c.relleno-obj{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);border-radius:5px}body.seleccionando-celdas .grow>.c{cursor:crosshair}.menu-resp{min-width:230px;max-height:60vh;overflow-y:auto}.menu-resp button{display:flex;align-items:center;gap:8px;text-align:left;width:100%}.menu-resp button.puesto{font-weight:600}.menu-resp-marca{flex:0 0 auto;width:14px;color:var(--ok);font-weight:700}.menu-resp-nuevo{width:calc(100% - 12px);margin:4px 6px 6px;padding:6px 8px;font-size:12.5px}.menu-resp-fila{display:flex;align-items:center}.menu-resp-fila>button:first-child{flex:1 1 auto;min-width:0}.menu-resp .menu-resp-lapiz{flex:0 0 auto;width:28px;padding:0;text-align:center;justify-content:center;color:var(--muted);opacity:0}.menu-resp-fila:hover .menu-resp-lapiz,.menu-resp .menu-resp-lapiz:focus-visible{opacity:1}.menu-resp .menu-resp-lapiz:hover{color:var(--ink)}.recursos .chip-lapiz{position:absolute;top:-6px;left:-6px;width:16px;height:16px;padding:0;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);font-size:10px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center}.recursos .chip-wrap:hover .chip-lapiz,.recursos .chip-lapiz:focus-visible{display:inline-flex}.recursos .chip-lapiz:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}.app.pantalla-completa .topbar,.app.pantalla-completa .variables-bar{display:none}.pc-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.pc-salir{position:fixed;top:8px;right:12px;z-index:80;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink-2);box-shadow:var(--shadow);opacity:.35;transition:opacity .15s}.pc-salir:hover,.pc-salir:focus-visible{opacity:1}@media(hover:none){.pc-salir{opacity:.8}}.chip-sobre{color:var(--danger, #b42318);border-color:color-mix(in srgb,var(--danger, #b42318) 55%,transparent);background:color-mix(in srgb,var(--danger, #b42318) 10%,transparent)}.menu-resp-sobre{margin-left:auto;font-size:10.5px;color:var(--danger, #b42318)}.btn-carga.alerta{color:var(--danger, #b42318)}.carga-badge{margin-left:6px;padding:1px 6px;border-radius:10px;font-size:10.5px;background:var(--danger, #b42318);color:#fff}.carga-panel{position:fixed;z-index:60;right:14px;top:118px;width:min(420px,calc(100vw - 28px));max-height:calc(100vh - 140px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line-strong);border-radius:12px;box-shadow:var(--shadow)}.carga-cab{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--hair)}.carga-tit{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.carga-resumen{font-size:12px;color:var(--ink-2);flex:1}.carga-resumen.mal{color:var(--danger, #b42318);font-weight:600}.carga-cerrar{padding:2px 8px;font-size:16px;line-height:1}.carga-lista{overflow:auto;padding:6px 12px}.carga-vacio,.carga-ok,.carga-nota{font-size:12px;color:var(--muted)}.carga-nota{padding:8px 12px 10px;border-top:1px solid var(--hair);font-size:11px}.carga-fila{padding:8px 0;border-bottom:1px solid var(--hair)}.carga-fila:last-child{border-bottom:0}.carga-nombre{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.carga-estado{font-size:12px;color:var(--ok, #2a7f4f)}.carga-fila.mal .carga-estado{color:var(--danger, #b42318)}.carga-pico{margin-left:auto;font-weight:400;font-size:11px;color:var(--danger, #b42318)}.carga-conflicto{display:flex;flex-direction:column;gap:4px;margin:6px 0 0 20px}.carga-fechas{font-family:var(--mono);font-size:11px;color:var(--ink-2)}.carga-tareas{display:flex;flex-wrap:wrap;gap:5px}.carga-tarea{font-size:11.5px;padding:2px 9px;border-radius:20px;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:var(--panel-2);border:1px solid var(--line);color:var(--ink)}.carga-tarea:hover{border-color:var(--line-strong)}.carga-ok{margin:4px 0 0 20px}.app.pantalla-completa .carga-panel{top:14px}.chip-ded{color:var(--muted);font-family:var(--mono);font-size:10.5px;margin-left:2px}.chip-sobre .chip-ded{color:inherit;opacity:.8}.asig-detalle{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.asig-detalle li{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink-2)}.asig-detalle b{font-weight:600;color:var(--ink)}.asig-detalle span{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}.hoja-rec{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.hoja-rec-barra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.hoja-rec-vacio{padding:40px;text-align:center;color:var(--muted)}.hoja-rec-cuerpo{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.hoja-rec-total{margin-left:auto;display:flex;gap:4px 16px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);white-space:nowrap}.hoja-rec-total b{font-family:var(--mono);font-weight:600;color:var(--ink);margin-left:4px}.papelera{margin-top:36px;padding-top:14px;border-top:1px solid var(--hair)}.papelera-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}.papelera-titulo{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:4px 8px 4px 2px;color:var(--ink-2)}.papelera-cuerpo{margin-top:10px}.papelera-aviso{font-size:12px;color:var(--muted);margin-bottom:10px}.papelera-fila{cursor:default}.papelera-fila:hover{transform:none}.papelera-fila .pname{color:var(--ink-2)}.grow>.c.note.nota-texto{justify-content:flex-start;align-items:center;color:var(--ink);padding-left:10px;padding-right:10px;text-align:left}.grow>.c.note.nota-texto .nota-completa{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}body:not(.wrap) .grow>.c.note.nota-texto .nota-completa{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grow>.c.como-nota{justify-content:center;align-items:center;color:var(--muted)}.etq-0{--h: 212}.etq-1{--h: 152}.etq-2{--h: 32}.etq-3{--h: 340}.etq-4{--h: 268}.etq-5{--h: 188}.etq-6{--h: 52}.etq-7{--h: 8}.etq-8{--h: 292}.etq-9{--h: 100}.etq{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:1px 8px;border-radius:12px;font-size:11.5px;line-height:1.6;white-space:normal;overflow-wrap:anywhere;text-align:left;background:hsl(var(--h) 70% 55% / .17);border:1px solid hsl(var(--h) 55% 50% / .38);color:color-mix(in srgb,hsl(var(--h) 65% 36%) 70%,var(--ink))}.etq-nombre{min-width:0}.etq-x,.etq-color{all:unset;cursor:pointer;flex:0 0 auto}.etq-x{font-size:13px;line-height:1;padding:0 1px;opacity:.6}.etq-x:hover{opacity:1}.etq-color{width:9px;height:9px;border-radius:50%;background:hsl(var(--h) 65% 50%);border:1px solid hsl(var(--h) 55% 38% / .6)}.etq-color:hover{transform:scale(1.25)}.grow>.c.etiquetas-col{align-items:center}.grow>.c.etiquetas-col.editable{cursor:pointer}.grow>.c.etiquetas-col.abierto{background:var(--panel-2)}.etq-lista{display:flex;flex-wrap:wrap;gap:3px 4px;min-width:0}.etq-editor{border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--panel)}.etq-editor-lista{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.etq-entrada{flex:1 1 130px;min-width:110px;border:0!important;outline:none;background:transparent!important;box-shadow:none!important;padding:3px 4px!important;font-size:12.5px}.etq-editor-ayuda{margin-top:6px;font-size:11px;color:var(--muted)}.etq-selector{position:fixed;z-index:70;width:226px;padding:6px;background:var(--panel);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow);animation:menu-entra .1s ease-out}.etq-cab{display:flex;align-items:center;gap:6px;margin-bottom:4px}.etq-buscar{flex:1;min-width:0;width:auto;box-sizing:border-box;margin:0}.etq-opciones{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:1px}.etq-opciones button,.etq-limpiar{display:flex;align-items:center;gap:8px;width:100%;padding:5px 8px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:12.5px;color:var(--ink)}.etq-opciones button:hover,.etq-limpiar:hover{background:var(--hover)}.etq-fila{display:flex;align-items:center}.etq-fila>button:first-child{flex:1 1 auto;min-width:0}.etq-opciones .etq-lapiz{flex:0 0 auto;width:28px;justify-content:center;padding:5px 0;color:var(--muted);opacity:0}.etq-fila:hover .etq-lapiz,.etq-opciones .etq-lapiz:focus-visible{opacity:1}.etq-opciones .etq-lapiz:hover{color:var(--ink);background:var(--hover)}.etq-fila-edita{padding:3px 8px 3px 30px}.etq-renombrando{gap:6px;flex:1 1 auto;min-width:0}.etq-renombrar{all:unset;flex:1 1 auto;min-width:0;font:inherit;color:inherit;cursor:text}.etq-opciones .etq-fila .etq-color{display:block;width:9px;height:9px;min-width:9px;padding:0;margin:0;border-radius:50%;background:hsl(var(--h) 65% 50%);border:1px solid hsl(var(--h) 55% 38% / .6)}.etq-opciones .etq-fila .etq-color:hover{background:hsl(var(--h) 65% 50%);transform:scale(1.25)}.etq-opciones button.puesta{background:var(--panel-2)}.etq-opciones button.resaltada{background:var(--hover)}.etq-casilla{width:14px;flex:0 0 auto;text-align:center;font-size:12px;color:var(--ink)}.etq-crear{color:var(--ink-2);font-weight:600}.etq-vacio{padding:8px;font-size:12px;color:var(--muted)}.etq-pie{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;border-top:1px solid var(--hair);padding-top:4px}.etq-limpiar{width:auto;color:var(--muted);font-size:12px}.etq-cerrar{flex:0 0 auto;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);color:var(--ink);font-size:12px;font-weight:600;cursor:pointer}.etq-cerrar:hover{background:var(--hover);border-color:var(--line-strong)}.modal.versiones{max-width:640px;width:calc(100vw - 32px)}.versiones-ayuda{margin:0 0 12px;color:var(--ink-2);font-size:12.5px}.versiones-nueva{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.versiones-aviso{margin-top:6px;color:var(--muted);font-size:11.5px}.versiones-error{margin-top:8px;color:var(--crit);font-size:12px}.versiones-lista{margin-top:14px;max-height:46vh;overflow-y:auto;border-top:1px solid var(--hair)}.versiones-vacio{padding:18px 2px;color:var(--muted);font-size:12.5px}.version{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:10px 2px;border-bottom:1px solid var(--hair)}.version.auto .version-nombre{color:var(--ink-2);font-weight:500}.version-nombre{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.version-etq{font:500 10px/1 var(--mono);color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:3px 7px}.version-meta{margin-top:3px;font:11px/1.4 var(--mono);color:var(--muted)}.version-nota{margin-top:4px;font-size:12px;color:var(--ink-2);white-space:pre-wrap}.version-acciones{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.version-acciones button{padding:4px 10px;font-size:12px}@media(max-width:640px){.versiones-nueva{grid-template-columns:1fr}.version{flex-direction:column}}.grow>.c .borrador{color:var(--warn, #b07d00);font-size:18px;font-weight:700;-webkit-text-stroke:.7px currentColor;line-height:1;margin-right:6px;cursor:help;flex:0 0 auto;position:relative;z-index:1;top:-2px}.barra-fx{position:absolute;left:0;right:0;bottom:100%;z-index:12;box-sizing:border-box;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--line-strong);box-shadow:0 8px 16px -10px #0000004d}.barra-fx .barra-fx-fx{flex:0 0 auto;width:32px;height:32px;margin:0;padding:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;font:600 15px/1 var(--mono);cursor:default}.barra-fx .barra-fx-ref{flex:0 1 auto;max-width:28%;margin:0;font:600 12px/32px var(--mono);letter-spacing:0;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.barra-fx textarea.barra-fx-campo{flex:1;min-width:0;width:auto;min-height:32px;height:auto;resize:none;box-sizing:border-box;margin:0;padding:5px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--edit-bg, var(--panel));font:12.5px/20px var(--mono);color:var(--ink);overflow-y:auto;white-space:pre-wrap;overflow-wrap:anywhere;outline:0}.barra-fx textarea.barra-fx-campo:focus{border-color:var(--focus)}.barra-fx textarea.barra-fx-campo[readonly]{background:var(--panel-2)}.adm-fila{cursor:pointer}.adm-fila:hover td{background:var(--hover, var(--panel-2))}.adm-fila.abierta td{background:var(--panel-2)}.adm-detalle>td{padding:4px 12px 12px 44px;background:var(--panel-2)}.adm-proyectos td{padding:6px 10px}.adm-proyectos a{white-space:nowrap}.adm-sub{font-size:12px;font-weight:600;color:var(--muted);margin:8px 0 4px}.adm-sub:first-child{margin-top:0}.modal.ayuda-formulas{max-width:560px;width:calc(100vw - 32px)}.ayuda-bloque+.ayuda-bloque{margin-top:16px}.ayuda-bloque h4{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--ink)}.ayuda-bloque p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-2)}.ayuda-bloque code{display:block;margin-top:6px;padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);font:12px/1.4 var(--mono);color:var(--ink);overflow-x:auto;white-space:nowrap}.side textarea.nombre-auto{overflow:hidden;resize:none;min-height:3.2em}.campo-rico{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;outline:none;cursor:text}.campo-rico:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.campo-rico b,.campo-rico strong{font-weight:700}.campo-rico.campo-form{font-size:12.5px;line-height:1.5;padding:6px 10px;border-radius:7px;width:100%;min-height:62px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);transition:border-color .13s,box-shadow .13s,background .13s}.campo-rico.campo-form:focus{border-color:var(--focus);background:var(--panel);box-shadow:0 0 0 3px var(--focus-soft)}.campo-rico.campo-form[aria-disabled=true]{opacity:.65;cursor:default}.side .campo-rico.nombre-auto{min-height:3.2em}.nota-edit .campo-rico{min-height:92px;max-height:40vh;overflow-y:auto;font-size:12.5px;line-height:1.45;padding:6px 10px;border-radius:7px;border:1px solid var(--line);background:var(--panel-2);color:var(--ink)}.nota-edit .campo-rico:focus{border-color:var(--focus);background:var(--panel);box-shadow:0 0 0 3px var(--focus-soft)}.mmv-edit.campo-rico{min-width:0}.barra-negrita{position:fixed;z-index:400;display:flex;padding:3px;background:var(--panel);border:1px solid var(--line);border-radius:9px;box-shadow:0 6px 18px #00000024}.barra-negrita button{width:28px;height:28px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--ink);font-size:15px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.barra-negrita button:hover{background:var(--hover)}.ficha-campos{display:flex;flex-direction:column;gap:2px;margin-top:4px}.ficha-campo{margin-bottom:12px}.ficha-cab{display:flex;align-items:center;gap:8px;margin-bottom:5px;min-height:22px}.ficha-nombre{font-family:var(--sans, inherit);font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ficha-alcance{font-size:10.5px;color:var(--muted);opacity:.75;white-space:nowrap}.ficha-menu-btn{margin-left:auto;width:24px;height:22px;padding:0;font-size:14px;line-height:1;border-radius:6px}.ficha-renombrar{flex:1;min-width:0;padding:2px 6px!important;font-size:12px!important}.ficha-fila{display:flex;align-items:center;gap:6px}.ficha-fila input{flex:1;min-width:0}.ficha-fila.ficha-coord{flex-direction:column;align-items:stretch}.ficha-fila.ficha-coord input{flex:none;width:100%}.ficha-fila.ficha-coord .ficha-abrir{align-self:flex-start}.ficha-abrir{flex:0 0 auto;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--line);color:var(--brand, var(--focus));text-decoration:none;font-size:14px}.ficha-abrir:hover{background:var(--hover)}.ficha-bin{padding:4px 0;gap:8px;font-size:12.5px;color:var(--ink-2)}.ficha-bin input{accent-color:var(--brand, var(--focus))}.ficha-largo{min-height:62px}.ficha-numero{font-variant-numeric:tabular-nums}.ficha-etiquetas{display:flex;flex-wrap:wrap;align-items:center;gap:4px;width:100%;min-height:32px;padding:4px 8px;text-align:left;border:1px solid var(--line);border-radius:9px;background:var(--panel);cursor:pointer;font-weight:500}.ficha-etiquetas:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel)}.ficha-vacio{color:var(--muted);font-size:12px}.ficha-formula{display:flex;align-items:baseline;gap:10px;padding:6px 10px;border-radius:9px;background:var(--panel-2);border:1px dashed var(--line);min-height:32px}.ficha-formula-valor{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.ficha-formula-texto{font-size:11px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ficha-adjuntos .field{margin:0}.ficha-adjuntos .field>span:empty{display:none}.ficha-nuevo{align-self:flex-start;padding:5px 10px;font-size:12.5px;color:var(--brand, var(--focus))}.ficha-nuevo-form{display:flex;flex-direction:column;gap:8px;padding:12px;margin-bottom:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.ficha-nuevo-tit{font-size:12px;font-weight:650;color:var(--ink)}.ficha-aviso{font-size:11.5px;color:var(--crit)}.ficha-ayuda{font-size:11.5px;line-height:1.5;color:var(--muted)}.ficha-ayuda code{font-family:var(--mono);font-size:11px;background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:0 4px;color:var(--ink-2)}.ficha-alcances{display:flex;flex-direction:column;gap:4px;margin-top:2px}.ficha-alcances-tit{font-size:11px;font-weight:600;color:var(--ink-2);margin-bottom:1px}.ficha-alcance-op{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.ficha-alcance-op input{width:auto;margin:0;accent-color:var(--brand, var(--focus))}.ficha-nuevo-botones{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.ficha-bloque{padding-bottom:11px}.side .ficha-bloque-contenido>.field,.side .ficha-bloque-contenido>label.field,.side .ficha-bloque-contenido>.row2>.field,.side .ficha-bloque-contenido>.row2>label.field,.side .ficha-bloque-contenido>.ficha-campo{margin-bottom:0}.side .ficha-bloque-contenido>.row2{gap:0 10px}.side .ficha-bloque-contenido>.meta{margin-top:0}@media(min-width:821px){.side-body.ficha-columnas{display:grid;gap:0 18px;align-items:start;overflow-x:hidden}}.ficha-organizar,.ficha-restablecer{margin-left:auto}.ficha-organizar+.cerrar,.ficha-restablecer+.ficha-organizar{margin-left:6px}.ficha-organizar{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--panel);border:1px solid var(--line-strong);border-radius:8px;box-shadow:0 1px 2px #0d1b480f}.ficha-organizar:hover:not(:disabled){color:var(--ink);border-color:var(--ink-2);background:var(--hover)}.ficha-organizar svg{flex:0 0 auto}.ficha-organizar.on,.ficha-organizar.on:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.ficha-restablecer{height:30px;padding:0 10px;font-size:12px}.side-body.organizando .ficha-bloque{margin-bottom:8px;padding:6px 9px 9px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--panel);cursor:grab}.side-body.organizando .ficha-bloque[data-bloque=pie]{border:0;padding:0;cursor:default}.side-body.organizando .ficha-bloque-contenido{pointer-events:none}.ficha-bloque.oculto .ficha-bloque-contenido{opacity:.35;filter:grayscale(1)}.ficha-bloque.oculto{border-style:dotted}.ficha-org{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:11.5px;font-weight:650;color:var(--ink-2)}.ficha-org-asa{color:var(--muted);font-size:12px;letter-spacing:-1px}.ficha-org-ver{margin-left:auto;padding:2px 9px;font-size:11.5px}.ficha-bloque.soltar-antes{box-shadow:inset 0 3px 0 var(--brand, var(--focus))}.ficha-bloque.soltar-despues{box-shadow:inset 0 -3px 0 var(--brand, var(--focus))}.barra-sel-fechas{fill:var(--bar);font-family:var(--mono);font-size:10px;font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:3px;pointer-events:none}.limite-error{margin:24px auto;max-width:520px;padding:16px 18px;border:1px solid var(--crit);border-radius:12px;background:var(--bg, #fff);font-size:13px}.limite-error code{word-break:break-word;font-size:12px}.limite-error-botones{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.lns{display:block;flex:1 1 auto;min-width:0;width:100%}.ln{display:block;min-height:1em}.ln-v{display:flex;gap:.45em}.ln-v .vn{flex:0 0 auto}.ln-v .vt{flex:1 1 auto;min-width:0}.etq-editable{cursor:text}.etq-renombrar{border:0!important;outline:none;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0;font:inherit;color:inherit;min-width:3ch}:root{--sans: "Figtree Variable", "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: "Outfit Variable", "Outfit", var(--sans);--mono: var(--sans);--bg: #f2f5fa;--panel: #ffffff;--panel-2: #f7f9fc;--ink: #0d1b48;--ink-2: #3b4770;--muted: #7d87a4;--hair: #edf1f7;--line: #e1e7f0;--line-strong: #cbd4e3;--brand: #1a62e8;--brand-hover: #1452c9;--brand-ink: #ffffff;--brand-soft: #e7effd;--accent: #0d1b48;--accent-ink: #ffffff;--accent-soft: #e8edf7;--focus: #1a62e8;--focus-soft: #e2ecfd;--edit-bg: #fff2d4;--bar: #1e86e6;--bar-soft: #cfe3f8;--ok: #24a26b;--warn: #e39a26;--crit: #d8433b;--crit-soft: #f8dcd9;--mark: #0d1b48;--sum: #0d1b48;--mm-link: #b8c5df;--weekend: rgba(30, 70, 160, .035);--festivo: rgba(245, 176, 65, .17);--festivo-ink: #9a6410;--hoy-col: rgba(216, 67, 59, .08);--today: #d8433b;--hover: #f1f5fb;--sel: #e7eefb;--shadow: 0 1px 2px rgba(13, 27, 72, .05), 0 8px 24px rgba(13, 27, 72, .08);--shadow-sm: 0 1px 2px rgba(13, 27, 72, .06);--radius: 12px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #090e1c;--panel: #10172b;--panel-2: #141c33;--ink: #e9eefb;--ink-2: #aab4d2;--muted: #6f7a9b;--hair: #172040;--line: #202a4a;--line-strong: #2f3a60;--brand: #3d82f5;--brand-hover: #5a96f7;--brand-ink: #ffffff;--brand-soft: #18264a;--accent: #e9eefb;--accent-ink: #0b1124;--accent-soft: #1a2445;--focus: #6aa2ff;--focus-soft: #1a2a52;--edit-bg: #3b3013;--bar: #3a9cf2;--bar-soft: #1d3a60;--ok: #3cc58a;--warn: #f0b04a;--crit: #f06a60;--crit-soft: #4a2229;--mark: #e9eefb;--sum: #c6d0ec;--mm-link: #33406a;--weekend: rgba(140, 170, 255, .035);--festivo: rgba(240, 176, 74, .14);--festivo-ink: #e3b55a;--hoy-col: rgba(240, 106, 96, .12);--today: #f06a60;--hover: #161f3b;--sel: #1b274d;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 30px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4)}}:root[data-theme=dark]{--bg: #090e1c;--panel: #10172b;--panel-2: #141c33;--ink: #e9eefb;--ink-2: #aab4d2;--muted: #6f7a9b;--hair: #172040;--line: #202a4a;--line-strong: #2f3a60;--brand: #3d82f5;--brand-hover: #5a96f7;--brand-ink: #ffffff;--brand-soft: #18264a;--accent: #e9eefb;--accent-ink: #0b1124;--accent-soft: #1a2445;--focus: #6aa2ff;--focus-soft: #1a2a52;--edit-bg: #3b3013;--bar: #3a9cf2;--bar-soft: #1d3a60;--ok: #3cc58a;--warn: #f0b04a;--crit: #f06a60;--crit-soft: #4a2229;--mark: #e9eefb;--sum: #c6d0ec;--mm-link: #33406a;--weekend: rgba(140, 170, 255, .035);--festivo: rgba(240, 176, 74, .14);--festivo-ink: #e3b55a;--hoy-col: rgba(240, 106, 96, .12);--today: #f06a60;--hover: #161f3b;--sel: #1b274d;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 10px 30px rgba(0, 0, 0, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4)}body{font:13px/1.5 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:.003em}h1,h2,h3{font-family:var(--display)}.ghead .hc,.projects h2,.field>span,.side-head h3,.carpeta-tit,.variables-tit,.menu-tit,.kv b,.nota-edit-tit{font-family:var(--sans);font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.side-head h3{font-size:11px;color:var(--ink-2)}button,.btn{font-family:var(--sans);font-size:12.5px;font-weight:550;padding:6px 13px;border-radius:9px;border-color:var(--line-strong);color:var(--ink);transition:background .14s,border-color .14s,color .14s,box-shadow .14s}button:hover:not(:disabled),.btn:hover{background:var(--hover);border-color:var(--line-strong)}button.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink);font-weight:600;box-shadow:0 1px #ffffff2e inset,0 1px 2px #143ca040}button.primary:hover:not(:disabled){opacity:1;background:var(--brand-hover);border-color:var(--brand-hover)}button.ghost{color:var(--ink-2)}button.ghost:hover{color:var(--ink);background:var(--hover)}button.danger{border-color:var(--crit-soft)}input[type=text],input[type=search],input[type=email],input[type=date],input[type=number],select,textarea{font-family:var(--sans);border-radius:9px;border-color:var(--line);background:var(--panel)}input[type=date],input[type=number]{font-family:var(--mono);font-size:11.5px}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-soft)}.seg{background:var(--accent-soft);border-color:transparent;border-radius:10px;padding:3px;gap:2px}.seg button{border-radius:7px;color:var(--ink-2);font-weight:550}.seg button:hover:not(:disabled){background:#0d1b480f;color:var(--ink)}.seg button.on{background:var(--accent);color:var(--accent-ink);box-shadow:var(--shadow-sm)}.seg button.on:hover:not(:disabled){background:var(--accent);color:var(--accent-ink)}:root[data-theme=dark] .seg button:hover:not(:disabled){background:#ffffff0f}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .seg button:hover:not(:disabled){background:#ffffff0f}}.tag{font-family:var(--sans);font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:none;padding:3px 10px;background:var(--accent-soft);border-color:transparent;color:var(--ink-2)}.tag.owner{background:var(--accent);color:var(--accent-ink)}.tag-compartido{background:var(--brand-soft);color:var(--brand);border-color:transparent}.logotipo{display:inline-flex;align-items:center;gap:8px}.logotipo svg{flex:0 0 auto;display:block}.logotipo-nombre{font-family:var(--display);font-size:17px;font-weight:650;letter-spacing:-.015em;color:var(--ink)}.brand{align-items:center;gap:10px}.brand>span:not(.logotipo){font-family:var(--sans);font-size:13px;font-weight:550;color:var(--ink-2);padding-left:11px;border-left:1px solid var(--line);line-height:18px}.brand .logotipo-nombre{font-family:var(--display);font-size:17px;font-weight:650;color:var(--ink);overflow:visible;cursor:default}.brand-edit{font-family:var(--sans);font-size:13px}.login{background:radial-gradient(1200px 500px at 50% -10%,var(--brand-soft),transparent 70%),var(--bg)}.login-card{border-radius:20px;padding:44px 40px 38px;border-color:var(--line)}.login-marca{display:flex;justify-content:center;margin-bottom:14px}.login-card h1{font-family:var(--display);font-size:32px;font-weight:650;letter-spacing:-.02em;color:var(--ink)}.login-card p{color:var(--ink-2)}.google-btn{border-radius:11px;border-color:var(--line-strong);font-weight:600}.topbar{border-bottom:1px solid var(--line);box-shadow:0 1px 0 var(--hair)}.topbar-global{padding:10px 16px;border-bottom-color:var(--hair)}.topbar-context{padding:8px 16px}.tb-sep{background:var(--line)}.avatar{box-shadow:0 0 0 2px var(--panel),0 0 0 3px var(--line)}.usermenu-pop{border-radius:12px;border-color:var(--line)}.usermenu-pop .who small{font-family:var(--sans)}.projects{background-image:radial-gradient(1100px 380px at 50% -120px,var(--brand-soft),transparent 75%);background-size:auto;background-position:0 0;background-repeat:no-repeat}.projects-inner{max-width:960px}.projects h2,.projects .projects-head h2{font-family:var(--display);font-size:19px;font-weight:650;letter-spacing:-.01em;text-transform:none;color:var(--ink)}.projects .h2-toggle .carpeta-twist{font-size:9px}.projects .h2-toggle .carpeta-cuenta{font-size:11px;letter-spacing:0}.dropzone{border:1.5px dashed var(--line-strong);border-radius:16px;background:var(--panel);padding:30px 28px;color:var(--ink-2)}.dropzone b{color:var(--ink)}.dropzone.over{border-color:var(--brand);background:var(--brand-soft);color:var(--brand)}.buscador-proyectos input{border-radius:11px;padding:10px 14px;box-shadow:var(--shadow-sm)}.pcard{border-radius:12px;border-color:var(--line);padding:15px 16px;box-shadow:var(--shadow-sm);transition:border-color .14s,box-shadow .14s,transform .14s}.pcard:hover{transform:none;border-color:var(--line-strong);box-shadow:var(--shadow)}.pcard .pname{font-weight:600;color:var(--ink)}.pcard .pmeta{color:var(--muted)}.pcard-compartido{border-left:1px solid var(--line);position:relative;overflow:hidden}.pcard-compartido:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.pcard-carpeta:hover{color:var(--brand)}.carpeta-cab{padding:9px 6px;border-radius:9px}.carpeta-cab svg{color:var(--brand)}.carpeta-nombre{font-weight:650}.carpeta-cuenta{font-family:var(--sans);font-weight:600;background:var(--accent-soft);border-color:transparent;color:var(--ink-2)}.carpeta-hijos{border-left-color:var(--line)}.empty{border-radius:12px;border-color:var(--line-strong);color:var(--muted)}.grid-pane{border-right-color:var(--line)}.ghead{background:var(--panel-2);border-bottom-color:var(--line)}.ghead .hc{border-left-color:var(--line);letter-spacing:.045em}.chart-head{background:var(--panel-2);border-bottom-color:var(--line)}.grow{border-bottom-color:var(--hair)}.grow.sel:before{background:var(--brand);width:3px}.grow>.c.activa:after{background:color-mix(in srgb,var(--brand) 9%,transparent);opacity:1;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--brand) 70%,transparent);border-radius:6px}.grow.summary{font-weight:650}.foot{font-family:var(--sans);font-size:11px;letter-spacing:.02em}.lg i{border-radius:4px}.lg .s{background:var(--sum);border-radius:2px}.ax-month{fill:var(--ink);font-family:var(--sans);font-size:11px;font-weight:650;letter-spacing:.06em}.ax-tick,.cal-num,.cal-dia{font-family:var(--sans)}.cal-num{font-weight:650}.sum{fill:var(--sum)}.bar-lbl{fill:var(--ink-2);font-family:var(--sans);font-weight:500}.dep{stroke:var(--line-strong)}.dep.dep-stakeholder{stroke:var(--dep-stakeholder)}.band.sel{fill:var(--sel)}.side{border-left-color:var(--line)}.side-head{padding:14px 16px 13px}.side-body{padding:18px 16px 30px}.chip{background:var(--accent-soft);border-color:transparent}.seg-franja button{border-radius:9px}.seg-franja button.on{background:var(--accent);border-color:var(--accent)}.guardado-est{font-family:var(--sans)}.backdrop{background:#0912305c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{border-radius:16px;border-color:var(--line)}.modal h3{font-family:var(--display);font-size:16px;font-weight:650;letter-spacing:-.01em;padding:18px 20px}.modal-body{padding:18px 20px}.menu-ctx{border-radius:12px;border-color:var(--line);padding:6px}.menu-ctx button{border-radius:7px;font-weight:500}.menu-ctx button:hover{background:var(--hover)}.mmv-lienzo{background-image:radial-gradient(circle,var(--line-strong) 1px,transparent 1.2px);background-size:24px 24px}.mmv-links path{stroke:var(--mm-link);stroke-width:2}.mmv-links path.on{stroke:var(--brand)}.mmv-nodo{border-radius:14px;border-color:var(--line);box-shadow:var(--shadow)}.mmv-nodo:hover{border-color:var(--line-strong)}.mmv-nodo.sel{outline-color:var(--brand);border-color:var(--brand)}.mmv-nodo.resumen{background:var(--panel);border-left:3px solid var(--bar)}.mmv-raiz{border:2px solid var(--brand);background:var(--brand-soft)}.mmv-nom{font-family:var(--display);font-weight:600}.mmv-edt{font-family:var(--mono)}.mmv-edit{font-family:var(--display)}::selection{background:var(--focus-soft)}.barra-negrita{border-radius:10px}.pcard .pmeta{font-family:var(--sans);font-size:11.5px}.pcard button.danger{border-color:transparent;color:var(--muted)}.pcard button.danger:hover{color:var(--crit);background:var(--crit-soft);border-color:transparent}.autoestado{font-family:var(--sans);font-size:11.5px;font-weight:550;letter-spacing:0;color:var(--muted)}.mmv-rec{font-family:var(--sans)}.campo-rico.campo-form{background:var(--panel);border-radius:9px}.center{font-family:var(--sans);color:var(--ink-2);letter-spacing:0}.grow .num{font-size:12px}body.wrap .grow>.c.pct,body.wrap .grow>.c.ideal,body.wrap .grow>.c.retraso,body.wrap .grow>.c.dur{white-space:nowrap;overflow-wrap:normal}.grow>.c.wbs{font-size:12px}.grow>.c.code{font-size:12.5px;line-height:1.45}.c .celda-input.fecha{font-size:12.5px}.grow .celda-texto,.grow .celda-texto:focus{line-height:1.45}.letrero{position:fixed;z-index:1000;pointer-events:none;max-width:320px;padding:6px 10px;border-radius:8px;background:var(--ink);color:var(--panel);font:500 12.5px/1.4 var(--sans);letter-spacing:.005em;white-space:pre-line;box-shadow:0 6px 20px #09123038;animation:letrero-entra .12s ease-out}.letrero.letrero-ancho{width:max-content;max-width:calc(100vw - 16px)}.letrero.letrero-mate{padding:9px 14px;font-size:14px;line-height:1.2}.fm{display:inline-flex;align-items:center;gap:10px;font-family:STIX Two Text,"Cambria Math","Latin Modern Math",Georgia,serif}.fm-fx{font-style:italic;opacity:.6;font-size:1.15em}.fm-fila{display:inline-flex;align-items:center;gap:.45em}.fm-fila.fm-juntos{gap:.1em}.fm-op{opacity:.75}.fm-n{font-variant-numeric:lining-nums}.fm-ref{display:inline-flex;align-items:baseline;gap:.3em;font-family:var(--sans);font-size:.93em;white-space:nowrap}.fm-nom{font-weight:600}.fm-col{opacity:.72;font-size:.92em}.fm-mz{opacity:.6}.fm-frac{display:inline-grid;grid-template-rows:1fr auto 1fr;justify-items:center;vertical-align:middle}.fm-arriba{align-self:end;padding:0 .4em .18em}.fm-abajo{align-self:start;padding:.18em .4em 0}.fm-barra{justify-self:stretch;height:0;border-top:1.5px solid currentColor}.fm-par{display:inline-flex;align-items:stretch;gap:.2em}.fm-p{flex:0 0 auto;width:.42em;box-sizing:border-box;border:1.5px solid currentColor;opacity:.85}.fm-pi{border-right:0;border-radius:60% 0 0 60%/50% 0 0 50%}.fm-pd{border-left:0;border-radius:0 60% 60% 0/0 50% 50% 0}@keyframes letrero-entra{0%{opacity:0;transform:translateY(-3px)}}.brand span[data-letrero],.variable-nombre[data-letrero]{cursor:text}@media(max-width:760px){.pcard{align-items:center;padding:12px 12px 10px 14px;gap:6px 6px;min-height:0}.pcard .pname{flex:1 1 100%;white-space:normal;overflow:hidden;text-overflow:clip;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.3;overflow-wrap:anywhere}.pcard .pname-edit{flex:1 1 100%}.pcard .pcard-carpeta:first-of-type,.pcard .pmeta+.pcard-carpeta{margin-left:auto}.pcard .pcard-carpeta,.pcard button.danger{flex:0 0 auto;width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.pcard .pmeta,.pcard .tag{white-space:nowrap}.pcard .tag{padding:3px 8px;font-size:10px}.pcard .pmeta{font-size:11px}.carpeta-hijos{margin-left:6px;padding-left:7px}.carpeta-cab{gap:6px;padding:10px 2px}}.mencion{display:inline;padding:0 5px;margin:0 1px;border-radius:6px;background:var(--brand-soft);color:var(--brand);font-weight:600;white-space:nowrap;-webkit-user-select:all;user-select:all}strong .mencion,b .mencion{font-weight:750}.menciones-pop{position:fixed;z-index:400;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:5px;font-family:var(--sans)}.menciones-tit{font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 9px 4px}.menciones-op{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:6px 8px;border-radius:8px;min-height:42px}.menciones-op.on{background:var(--brand-soft)}.menciones-av{flex:none;width:28px;height:28px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;background:var(--accent-soft);color:var(--ink-2);font-size:11px;font-weight:700}.menciones-txt{display:flex;flex-direction:column;min-width:0}.menciones-txt b{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menciones-txt small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-arroba{color:var(--brand);font-weight:700;margin-right:2px}.side-contexto{display:block;margin-top:2px;font-size:12px;font-weight:550;letter-spacing:0;text-transform:none;color:var(--muted);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.campo-rico.ficha-corto{min-height:0}.ficha-fotos{display:flex;flex-direction:column;gap:8px}.fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.foto-mini{aspect-ratio:1;padding:0;border-radius:9px;overflow:hidden;border:1px solid var(--line);background:var(--panel-2);display:grid;place-items:center;font-size:22px}.foto-mini img{width:100%;height:100%;object-fit:cover;display:block}.foto-tomar{display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;min-height:44px;border-radius:10px;border:1.5px dashed var(--line-strong);color:var(--brand);font-weight:600;font-size:13.5px;background:var(--panel)}.foto-tomar:hover{border-color:var(--brand);background:var(--brand-soft)}.foto-tomar.subiendo{opacity:.6;cursor:progress}.checklist{display:flex;flex-direction:column;gap:6px}.checklist-progreso{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.checklist-barra{flex:1;height:6px;border-radius:3px;background:var(--hair);overflow:hidden}.checklist-barra i{display:block;height:100%;border-radius:3px;background:var(--ok);transition:width .2s}.checklist-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.checklist-items li{display:flex;align-items:center;gap:4px;border-radius:8px}.checklist-items li:hover{background:var(--hover)}.checklist-op{flex:1;display:flex;align-items:center;gap:9px;padding:6px;cursor:pointer;font-size:13px;color:var(--ink);min-height:36px}.checklist-op input[type=checkbox]{width:18px;height:18px;accent-color:var(--ok);flex:none;margin:0}.checklist-items li.hecho .checklist-op>span{color:var(--muted);text-decoration:line-through}.checklist-renombrar{flex:1;font-size:13px;padding:3px 6px}.checklist-x{padding:2px 8px;color:var(--muted);opacity:0}.checklist-items li:hover .checklist-x,.checklist-x:focus{opacity:1}@media(hover:none){.checklist-x{opacity:.6}}.checklist-nuevo{font-size:13px;border-style:dashed}.ficha-avance{font-size:10.5px;font-weight:650;color:var(--ok);background:color-mix(in srgb,var(--ok) 12%,transparent);padding:1px 7px;border-radius:999px;white-space:nowrap}.ficha-items{width:100%;font-family:var(--sans);font-size:13px;resize:vertical}.ficha-vincular{font-size:12.5px}.entrada-asig{display:flex;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 16px;margin:0 0 18px;border-radius:14px;border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow-sm)}.entrada-asig:hover{border-color:var(--brand);box-shadow:var(--shadow)}.entrada-asig-ico{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.entrada-asig-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.entrada-asig-txt b{font-family:var(--display);font-size:17px;font-weight:650;color:var(--ink)}.entrada-asig-txt small{font-size:12.5px;color:var(--muted);font-weight:500}.entrada-asig-num{flex:none;min-width:28px;height:28px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:var(--brand);color:var(--brand-ink);font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}.entrada-asig-num.alerta{background:var(--crit)}.entrada-asig-flecha{font-size:24px;color:var(--muted);line-height:1}.asignaciones{flex:1;overflow:auto;padding:22px 24px 70px;background:radial-gradient(1100px 380px at 50% -120px,var(--brand-soft),transparent 75%) no-repeat,var(--bg)}.asig-inner{max-width:760px;margin:0 auto}.asig-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.asig-volver{font-size:14px;padding-left:4px;color:var(--brand)}.asig-recargar{font-size:16px;min-width:38px}.asig-titulo{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:4px 0}.asig-sub{color:var(--ink-2);font-size:14px;margin:0 0 16px;line-height:1.45}.asig-filtros{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--panel);border:1px solid var(--line);margin-bottom:18px;max-width:100%}.asig-filtros button{border:0;background:transparent;border-radius:9px;padding:7px 13px;display:inline-flex;gap:7px;align-items:center}.asig-filtros button span{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.asig-filtros button.on{background:var(--accent);color:var(--accent-ink)}.asig-filtros button.on span{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}.asig-grupo{margin-bottom:22px}.asig-proyecto{display:flex;align-items:center;gap:10px;margin:0 2px 8px}.asig-proyecto-nombre{flex:1;min-width:0;font-family:var(--display);font-size:16px;font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asig-proyecto-abrir{font-size:12px;color:var(--brand);flex:none}.asig-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 16px 14px 19px;margin-bottom:10px;box-shadow:var(--shadow-sm);overflow:hidden;cursor:default;user-select:none;-webkit-user-select:none;outline:none;transition:border-color .14s,box-shadow .14s}.asig-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bar)}.asig-card.est-vencida:before{background:var(--crit)}.asig-card.est-hoy:before{background:var(--warn)}.asig-card.est-hecha:before{background:var(--ok)}.asig-card.est-futura:before{background:var(--line-strong)}.asig-card:hover,.asig-card:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow)}.asig-card-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.asig-estado,.asig-motivo,.asig-chip{font-size:11.5px;font-weight:650;padding:2px 9px;border-radius:999px;white-space:nowrap}.asig-estado{background:var(--bar-soft);color:color-mix(in srgb,var(--bar) 70%,var(--ink))}.asig-estado.vencida{background:var(--crit-soft);color:var(--crit)}.asig-estado.hoy{background:color-mix(in srgb,var(--warn) 20%,transparent);color:color-mix(in srgb,var(--warn) 60%,var(--ink))}.asig-estado.hecha{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.asig-estado.futura{background:var(--hair);color:var(--ink-2)}.asig-motivo{background:var(--brand-soft);color:var(--brand)}.asig-chip{background:var(--hair);color:var(--ink-2);font-variant-numeric:tabular-nums}.asig-nombre{margin:0 0 3px;font-size:16.5px;font-weight:650;color:var(--ink);line-height:1.3;font-family:var(--sans);letter-spacing:0;text-transform:none}.asig-ruta{font-size:12.5px;color:var(--muted);margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asig-ruta b{color:var(--ink-2);margin-right:6px;font-weight:650;font-variant-numeric:tabular-nums}.asig-datos{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;color:var(--ink-2);margin-bottom:10px}.asig-fechas{font-variant-numeric:tabular-nums;font-weight:550}.asig-avance{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.asig-barra{flex:1;height:7px;border-radius:4px;background:var(--hair);overflow:hidden}.asig-barra i{display:block;height:100%;border-radius:4px;background:var(--ok)}.asig-rellenar{margin-top:12px;width:100%;min-height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand);border-color:transparent;font-weight:650}.asig-rellenar:hover{background:var(--brand);color:var(--brand-ink)}@media(hover:hover)and (min-width:761px){.asig-rellenar{position:absolute;right:14px;top:12px;width:auto;min-height:0;margin:0;padding:5px 12px;opacity:0;transition:opacity .14s}.asig-card:hover .asig-rellenar,.asig-card:focus-within .asig-rellenar{opacity:1}}.asig-vacio{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:48px 20px;color:var(--ink-2);font-size:14px;background:var(--panel);border:1px dashed var(--line-strong);border-radius:16px}.asig-vacio b{font-size:16px;color:var(--ink)}.asig-vacio-ico{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok);font-size:22px;font-weight:700}.asig-cargando{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 28px}@media(max-width:760px){.asignaciones{padding:12px 14px 90px}.asig-titulo{font-size:26px}.asig-sub{font-size:13.5px}.asig-filtros{display:flex;width:100%}.asig-filtros button{flex:1;justify-content:center;padding:9px 6px}.asig-card{padding:14px 14px 14px 17px}.asig-nombre{font-size:17px}.entrada-asig{margin-bottom:14px}.menciones-op{min-height:48px}}.chip.on .chip-arroba{color:inherit;opacity:.7}@media(hover:none){.asig-rellenar:hover{background:var(--brand-soft);color:var(--brand)}}.grow .c.celda-na{background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--line) 55%,transparent) 6px 7px);cursor:default}.aviso-nombre{margin:-4px 0 10px;font-size:12px;color:var(--crit);line-height:1.4}.ficha-kpis{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px 0}.ficha-kpi{display:grid;gap:1px;padding:6px 12px;border:1px solid var(--hair);background:var(--panel-2);border-radius:10px;min-width:130px}.ficha-kpi>span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.ficha-kpi b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.ficha-kpi small{font-weight:500;font-size:12px}.muted{color:var(--muted)}.fc-rojo{color:var(--crit)}.ficha-pestanas{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}.ficha-pestanas::-webkit-scrollbar{display:none}.ficha-pestana{position:relative;border:0;background:none;color:var(--ink-2);font:500 13.5px var(--sans);padding:9px 12px 11px;cursor:pointer;white-space:nowrap;display:inline-flex;gap:6px;align-items:center;border-radius:0}.ficha-pestana:hover{color:var(--ink);background:none}.ficha-pestana.activa{color:var(--brand);font-weight:600}.ficha-pestana.activa:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.ficha-pestana.oculta{opacity:.5}.ficha-pestana:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:6px}.ficha-pest-ins{font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:var(--accent-soft);color:var(--ink-2)}.ficha-pest-ins.crit{background:var(--crit-soft);color:var(--crit)}.ficha-pest-org{display:flex;gap:6px;align-items:center;flex-wrap:wrap;padding:8px 14px;background:var(--panel-2);border-bottom:1px solid var(--line);flex:none}.ficha-pest-org input{font:600 13px var(--sans);border:1px solid var(--line);border-radius:8px;padding:5px 9px;min-width:120px;flex:1;background:var(--panel);color:var(--ink)}.ficha-pest-org button{padding:4px 9px;font-size:12px}.ficha-pest-org button:disabled{opacity:.4;cursor:not-allowed}.ficha-org-pest{font:12px var(--sans);color:var(--ink-2);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:2px 4px;max-width:118px;margin-left:auto}.ficha-org-pest+.ficha-org-ver{margin-left:0}.fc-vacio{color:var(--muted);font-size:12.5px;line-height:1.45;margin:4px 0}.fc-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fc-cab b{font-size:13px;font-variant-numeric:tabular-nums}.fc-cab small{color:var(--muted)}.fc-medidor-fila{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.fc-medidor-pie{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;color:var(--muted);flex-wrap:wrap;margin-top:4px;font-variant-numeric:tabular-nums}.fc-pista{position:relative;height:10px;border-radius:6px;background:var(--hair);margin:8px 0 2px}.fc-pista>i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:var(--warn);min-width:2px}.fc-pista>i.sobre{background:var(--crit)}.fc-pista>i.avance{background:var(--bar)}.fc-ideal{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink);border-radius:2px}.fc-lectura{font-size:12.5px;line-height:1.5;color:var(--ink-2);margin:6px 0 0}.fc-pct{margin-top:8px}.fc-pct input{max-width:110px}.fc-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}.fc-item{border:1px solid var(--line);border-radius:10px;padding:8px 10px;display:grid;gap:3px;background:var(--panel)}.fc-item.anulado{opacity:.55}.fc-item.anulado .fc-item-nombre,.fc-item.anulado .fc-item-importe{text-decoration:line-through}.fc-item-fila{display:flex;align-items:baseline;gap:8px;min-width:0}.fc-item-nombre{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.fc-item-importe{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.fc-sub{font-size:11.5px;color:var(--muted);justify-content:space-between;flex-wrap:wrap;line-height:1.4}.fc-fecha{font-size:11.5px;color:var(--muted);min-width:40px;font-variant-numeric:tabular-nums}.fc-etiqueta{font-size:10.5px;padding:1px 7px;border-radius:20px;background:var(--brand-soft);color:var(--brand);font-weight:600;white-space:nowrap}.fc-punto{width:8px;height:8px;border-radius:2px;flex:none;align-self:center;background:var(--bar)}.fc-punto.t-material{background:var(--warn)}.fc-punto.t-costo{background:var(--ok)}.fc-acciones{display:flex;gap:2px;justify-content:flex-end;margin-top:2px}.fc-acciones button{padding:2px 8px;font-size:11.5px}.fc-confirmar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.fc-confirmar button{padding:2px 9px;font-size:11.5px}.fc-form{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.fc-campo{display:grid;gap:3px;min-width:0}.fc-campo>span{font-size:11.5px;color:var(--muted);font-weight:500}.fc-campo input,.fc-campo select{width:100%;min-width:0}.fc-total{font-size:12.5px;color:var(--ink-2);line-height:1.5}.fc-total.rojo{color:var(--crit)}.fc-total b{font-variant-numeric:tabular-nums}.fc-deslizador{display:flex;align-items:center;gap:8px}.fc-deslizador input[type=range]{flex:1;min-width:0;accent-color:var(--brand)}.fc-deslizador input[type=number]{width:64px;flex:none}.fc-reportar{align-self:flex-start}.fc-historia{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}.fc-historia li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:0 0 12px;position:relative}.fc-historia li:before{content:"";position:absolute;left:56px;top:8px;bottom:0;width:2px;background:var(--line)}.fc-historia li:last-child:before{display:none}.fc-historia li>div{padding-left:14px;position:relative;font-size:13px}.fc-historia li>div:before{content:"";position:absolute;left:-5px;top:5px;width:10px;height:10px;border-radius:50%;background:var(--panel);border:2px solid var(--bar)}.fc-historia li.anulado{opacity:.55}.fc-historia li.anulado>div:before{border-color:var(--muted)}.fc-personas{display:flex;align-items:center;gap:10px;margin-top:2px}.fc-pila{display:flex}.fc-av{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:600 10.5px var(--sans);color:#fff;border:2px solid var(--panel);margin-left:-8px;flex:none}.fc-av:first-child{margin-left:0}.fc-av.c0{background:var(--bar)}.fc-av.c1{background:var(--ok)}.fc-av.c2{background:var(--warn)}.fc-av.c3{background:var(--brand)}.fc-av.c4{background:var(--crit)}.fc-av.c5{background:var(--ink-2)}.fc-av.mas{background:var(--accent-soft);color:var(--ink-2)}.fc-resumen{font-size:13px;color:var(--ink-2);min-width:0}.fc-pastillas{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.fc-pastillas span{font-size:11.5px;padding:2px 9px;border-radius:20px;background:var(--panel-2);border:1px solid var(--hair);color:var(--ink-2)}.fc-gestionar{padding:3px 10px;font-size:12px;color:var(--brand)}.fc-gestion{display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.fc-gestion input[type=search]{width:100%}.fc-opciones{display:grid;gap:2px;max-height:250px;overflow:auto}.fc-grupo-tit{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:650;padding:6px 4px 2px;position:sticky;top:0;background:var(--panel-2)}.fc-op{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:8px;font-size:13px}.fc-op:hover{background:var(--hover)}.fc-op label{display:flex;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer}.fc-op input[type=checkbox]{width:auto;margin:0;accent-color:var(--brand);flex:none}.fc-op small{display:block;color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-op.crear{color:var(--brand);font-weight:500;border:0;background:none;text-align:left;cursor:pointer;width:100%}.fc-op.crear small{color:var(--muted)}.fc-crear{display:grid;gap:2px;border-top:1px solid var(--hair);padding-top:6px}.reg-campos{display:flex;flex-direction:column;gap:10px}.reg-campo{margin:0}.reg-menu{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.reg-menu button{padding:2px 9px;font-size:11.5px}.reg-elegir{display:grid;gap:6px}.reg-elegir button{text-align:left}.reg-reutilizar{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.reg-reutilizar ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:180px;overflow:auto}.reg-reutilizar label{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}.reg-reutilizar label input{width:auto;margin-top:3px;accent-color:var(--brand)}.reg-reutilizar small{display:block;color:var(--muted);font-size:11.5px}.fc-editor-recurso{max-width:420px;width:calc(100vw - 32px)}.fc-editor-recurso .modal-body{display:grid;gap:10px}.hoja-rec-filtros{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.hoja-chip{display:inline-flex;align-items:center;gap:6px;font:500 12px var(--sans);border-radius:20px;padding:4px 11px;border:1px solid var(--line);background:var(--panel);color:var(--ink-2);cursor:pointer}.hoja-chip i{width:8px;height:8px;border-radius:2px;background:var(--bar)}.hoja-chip.t-material i{background:var(--warn)}.hoja-chip.t-costo i{background:var(--ok)}.hoja-chip.activa{background:var(--sel);border-color:var(--brand);color:var(--brand)}.hoja-sep{width:1px;height:20px;background:var(--line)}.hoja-actividad{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.hoja-actividad select{max-width:260px;padding:4px 8px;font-size:12.5px}.hoja-anulados{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-2);margin-left:auto}.hoja-anulados input{width:auto;margin:0;accent-color:var(--brand)}.hoja-nuevo{margin-left:auto;padding:5px 12px;font-size:12.5px}.hoja-ejecucion{overflow:auto;padding:14px;gap:14px}.hoja-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.hoja-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:2px;min-width:0}.hoja-kpi>span{font-size:11.5px;color:var(--muted)}.hoja-kpi b{font:600 20px var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hoja-kpi small{font-size:12px;color:var(--ink-2)}.hoja-grafico{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px 8px;display:grid;gap:8px}.hoja-grafico-cab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.hoja-grafico-cab h4{margin:0;font:600 14px var(--sans)}.hoja-grafico-cab span{font-size:12px}.hoja-lecturas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hoja-lecturas>div{background:var(--panel-2);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.5}.hoja-lecturas b{font:600 17px var(--display)}.hoja-nota{font-size:12px;margin:0}@media(max-width:800px){.hoja-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.hoja-lecturas{grid-template-columns:minmax(0,1fr)}}.cx{display:grid;gap:8px}.cx svg{width:100%;height:auto;display:block}.cx-rejilla{stroke:var(--hair);stroke-width:1}.cx-marca{stroke:var(--line-strong)}.cx-eje{font:11px var(--sans);fill:var(--muted)}.cx-hoy{stroke:var(--crit);stroke-width:1.5;stroke-dasharray:3 3}.cx-hoy-t{font:11px var(--sans);fill:var(--crit)}.cx-plan{stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4}.cx-fis{stroke:var(--bar);stroke-width:2.5;stroke-linejoin:round}.cx-fin{stroke:var(--warn);stroke-width:2.5;stroke-linejoin:round}.cx-pt-fis{fill:var(--bar);stroke:var(--panel);stroke-width:2}.cx-pt-fin{fill:var(--warn);stroke:var(--panel);stroke-width:2}.cx-guia{stroke:var(--ink-2);stroke-width:1}.cx-leyenda,.cx-lectura{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink-2);align-items:center}.cx-leyenda span,.cx-lectura span{display:inline-flex;gap:6px;align-items:center}.cx-lectura{background:var(--panel-2);border-radius:9px;padding:6px 10px;font-variant-numeric:tabular-nums}.cx i{display:inline-block;width:16px;height:3px;border-radius:2px}.cx i.plan{background:var(--muted)}.cx i.fis{background:var(--bar)}.cx i.fin{background:var(--warn)}.cx-vacio{padding:36px 16px;text-align:center;color:var(--muted);font-size:13px}.seg-franja button.on:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ficha-pest-vacia{grid-column:1 / -1;padding:24px 12px;text-align:center;color:var(--muted);font-size:13px}.fc-comprometido{display:grid;gap:2px;margin-top:8px;padding:8px 10px;border-radius:10px;background:var(--brand-soft);font-size:12.5px;color:var(--ink-2)}.fc-comprometido b{color:var(--ink);font-variant-numeric:tabular-nums}.fc-comprometido b.fc-rojo{color:var(--crit)}.projects-head-acciones{display:flex;gap:4px;align-items:center}.ghead .hc.col-sel{background:var(--sel);box-shadow:inset 0 3px 0 var(--brand);color:var(--brand)}.desplegable{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px 0 12px;line-height:1;border:1px solid var(--line-strong);border-radius:10px;background:var(--panel);color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;font:600 12.5px var(--sans);white-space:nowrap}.desplegable:hover:not(:disabled){background:var(--hover)}.desplegable.abierto{border-color:var(--brand);background:var(--hover)}.desplegable:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.desplegable-pre{font-size:11px;font-weight:500;color:var(--muted);line-height:1}.desplegable-valor{line-height:1}.desplegable-flecha{flex:none;color:var(--muted)}.menu-ctx.desplegable-lista{padding:5px}.menu-ctx.desplegable-lista button{gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500}.menu-ctx.desplegable-lista button.elegida{color:var(--brand);font-weight:600;background:var(--sel)}.menu-ctx.desplegable-lista button:focus-visible{outline:none;background:var(--hover)}.menu-ctx.desplegable-lista button.elegida:focus-visible{background:var(--sel);box-shadow:inset 0 0 0 1.5px var(--focus)}.desplegable-marca{width:12px;flex:none;font-size:11px;color:var(--brand)}.duracion-fila{display:flex;gap:8px;align-items:center}.duracion-fila input{flex:1;min-width:0}.duracion-alcance{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.duracion-alcance small{flex-basis:100%;color:var(--muted, #667)}.duracion-alcance button{height:28px;padding:0 10px;font-size:12px}
