@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: #f2f5fa;--panel: #ffffff;--panel-2: #f7f9fc;--ink: #0d1b48;--ink-2: #3b4770;--muted: #7d87a4;--hair: #edf1f7;--line: #e1e7f0;--line-strong: #cbd4e3;--dep-stakeholder: #e8590c;--accent: #0d1b48;--accent-ink: #ffffff;--accent-soft: #e8edf7;--focus: #1a62e8;--focus-soft: #e2ecfd;--edit-bg: #fff2d4;--bar: #1e86e6;--bar-soft: #cfe3f8;--crit: #d8433b;--crit-soft: #f8dcd9;--mark: #0d1b48;--ok: #24a26b;--weekend: rgba(30, 70, 160, .035);--holiday: rgba(245, 176, 65, .17);--holiday-ink: #9a6410;--today-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);--radius: 12px;--mono: var(--sans);--sans: "Figtree Variable", "Figtree", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--display: "Outfit Variable", "Outfit", var(--sans);--brand: #1a62e8;--brand-hover: #1452c9;--brand-ink: #ffffff;--brand-soft: #e7effd;--warn: #e39a26;--sum: #0d1b48;--mm-link: #b8c5df;--shadow-sm: 0 1px 2px rgba(13, 27, 72, .06)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #090e1c;--panel: #10172b;--panel-2: #141c33;--ink: #e9eefb;--ink-2: #aab4d2;--muted: #6f7a9b;--hair: #172040;--line: #202a4a;--line-strong: #2f3a60;--dep-stakeholder: #ff922b;--accent: #e9eefb;--accent-ink: #0b1124;--accent-soft: #1a2445;--focus: #6aa2ff;--focus-soft: #1a2a52;--edit-bg: #3b3013;--bar: #3a9cf2;--bar-soft: #1d3a60;--crit: #f06a60;--crit-soft: #4a2229;--mark: #e9eefb;--ok: #3cc58a;--weekend: rgba(140, 170, 255, .035);--holiday: rgba(240, 176, 74, .14);--holiday-ink: #e3b55a;--today-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);--brand: #3d82f5;--brand-hover: #5a96f7;--brand-ink: #ffffff;--brand-soft: #18264a;--warn: #f0b04a;--sum: #c6d0ec;--mm-link: #33406a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4)}}:root[data-theme=dark]{color-scheme:dark;--bg: #090e1c;--panel: #10172b;--panel-2: #141c33;--ink: #e9eefb;--ink-2: #aab4d2;--muted: #6f7a9b;--hair: #172040;--line: #202a4a;--line-strong: #2f3a60;--dep-stakeholder: #ff922b;--accent: #e9eefb;--accent-ink: #0b1124;--accent-soft: #1a2445;--focus: #6aa2ff;--focus-soft: #1a2a52;--edit-bg: #3b3013;--bar: #3a9cf2;--bar-soft: #1d3a60;--crit: #f06a60;--crit-soft: #4a2229;--mark: #e9eefb;--ok: #3cc58a;--weekend: rgba(140, 170, 255, .035);--holiday: rgba(240, 176, 74, .14);--holiday-ink: #e3b55a;--today-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);--brand: #3d82f5;--brand-hover: #5a96f7;--brand-ink: #ffffff;--brand-soft: #18264a;--warn: #f0b04a;--sum: #c6d0ec;--mm-link: #33406a;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4)}*{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=time],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}.export-field{display:block}.export-field+.export-field{margin-top:18px}.export-title{display:block;margin-bottom:8px;color:inherit;font:inherit}.export-cols{display:flex;flex-wrap:wrap;gap:4px 14px;max-height:260px;overflow-y:auto}.export-col{display:flex;align-items:center;gap:7px;width:calc(50% - 7px);padding:4px 2px;font-size:13px;cursor:pointer}.export-col:has(input:disabled){color:var(--muted);cursor:default}.export-col input{flex:none}.export-field .link,.export-note .link{background:none;border:0;padding:0;font:inherit;color:var(--accent);cursor:pointer;text-decoration:underline}.export-note{margin:8px 0 0;font-size:11.5px;color:var(--muted);line-height:1.5}.export-formats{display:flex;flex-direction:column;gap:6px}.export-format{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}.export-format b{font-size:13px;font-weight:600;color:var(--ink)}.export-format span{max-width:100%;font-size:11.5px;line-height:1.45;color:var(--muted)}.export-format:hover:not(:disabled){background:var(--hover)}.export-format.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.export-format: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-right{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.tb-tools{gap:0}.tb-tools .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)}.usermenu-locale{display:flex;gap:2px;padding:2px;margin:0 4px 6px;background:var(--accent-soft);border-radius:9px}.usermenu-pop .usermenu-locale button{flex:1;text-align:center;padding:5px 4px;border-radius:7px;font-size:12px}.usermenu-pop .usermenu-locale button.on{background:var(--accent);color:var(--accent-ink)}.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-title{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-name{font-size:12px;color:var(--ink-2);white-space:nowrap}.variable-name[title]{cursor:text}.variable-name-edit{width:110px;padding:2px 5px;font-size:12px;border-radius:4px;border:1px solid var(--line-strong);background:var(--panel-2)}.variable-value{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-delete{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-delete: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.notice{background:#f6e7bd;color:#5c4510}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .banner.notice{background:#4a3d17;color:#f0dca0}}:root[data-theme=dark] .banner.notice{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.dragging{opacity:.4}.pcard-shared{border-left:3px solid var(--focus)}.pcard-shared .pname-ico{display:inline-block;vertical-align:-2px;margin-right:7px;color:var(--focus)}.tag-shared{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)}.projects-finder{margin-bottom:22px}.projects-finder 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}.folder{margin-bottom:14px;border-radius:10px;transition:background .12s,box-shadow .12s;display:flow-root}.folder.folder-over,.no-folder.folder-over{background:var(--focus-soft);box-shadow:0 0 0 1.5px var(--focus) inset}.folder-head{display:flex;align-items:center;gap:8px;padding:9px 4px;cursor:pointer;color:var(--ink-2);border-radius:8px;transition:background .12s}.folder-head:hover{background:var(--hover)}.folder-head-over{box-shadow:inset 0 2px 0 0 var(--focus)}.folder-twist{flex:0 0 auto;font-size:8px;color:var(--muted);width:10px;text-align:center}.folder-name{font-weight:600;color:var(--ink)}.folder-count{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}.folder-more{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}.folder-new+.folder-more{margin-left:2px}.folder-new{font-size:14px;color:var(--ink-2)}.folder-empty .ghost{padding:2px 9px;font-size:12px;margin-left:6px}.folder-children{margin-left:14px;padding-left:10px;border-left:1px solid var(--line)}.folder .pcard{margin-left:0}.folder-empty{padding:14px;font-size:12px}.folder .folder{margin-bottom:6px}.folder-title{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:18px 4px 8px}.folder-title-toggle,.h2-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.folder-title-toggle:hover,.h2-toggle:hover{color:var(--ink-2)}.folder-title-toggle .folder-twist,.h2-toggle .folder-twist{width:10px}.no-folder{border-radius:10px;transition:background .12s,box-shadow .12s;display:flow-root}.pcard-folder{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-folder: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-divider{position:absolute;top:0;bottom:0;right:-6px;width:14px;cursor:col-resize;z-index:6}.pane-divider:after{content:"";position:absolute;right:5px;top:0;bottom:0;width:2px;background:transparent;transition:background .13s}.pane-divider:hover:after,.pane-divider.drag:after{background:var(--focus)}@media(max-width:760px){.pane-divider{display:none}}@media(min-width:761px){.workspace,.gantt{position:relative}.gantt.panes-list .chart-pane,.gantt.panes-list .pane-divider{display:none}.gantt.panes-list .grid-pane{max-width:none!important;width:100%!important;border-right:0}.gantt.panes-chart .grid-pane{position:absolute;left:-10000px;top:0;visibility:hidden}.gantt.panes-chart .pane-divider{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.movable{cursor:grab}.hc-filter{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-filter{color:var(--ink-2)}.hc-filter:hover{background:var(--line);color:var(--ink)}.hc-filter.applied{color:var(--focus)}.hc-filter.filtered,.ghead .hc:hover .hc-filter.filtered{background:var(--focus-soft);color:var(--focus)}.hc-filter.filtered:hover{background:var(--focus-soft);filter:brightness(.96)}.hc-filter 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-title{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-row{display:flex;gap:6px;align-items:center;padding:3px 6px 5px}.col-popup-row.col{flex-direction:column;align-items:stretch}.col-popup-row 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-row span{color:var(--muted)}.ghead .hc.dragging{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-reordering,body.col-reordering *{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.active: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.in-range{background:var(--accent-soft)}.grow>.c.cell-note: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.selecting-cells{-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 .note-ico{flex:0 0 auto;color:var(--muted)}.note-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}.note-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}.note-edit-title{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}.note-edit textarea{width:100%;min-height:92px;font-size:12.5px;line-height:1.45;resize:vertical}.note-edit-foot{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}.note-edit-buttons{display:inline-flex;gap:6px}.note-edit-buttons button{padding:4px 10px;font-size:12px;font-family:var(--sans, inherit)}.c .cell-input.date{font-family:var(--mono);font-size:11px;color:var(--ink)}.grow>.c.delay.late{color:var(--crit);font-weight:600}.grow>.c.delay.ahead{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.computed{color:var(--ink-2);cursor:default}.ghead .hc .hc-fx{cursor:default;text-transform:none;letter-spacing:0}.grow>.c.computed .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-lines{display:flex;flex-direction:column;padding-right:20px}.coord-map-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-map-btn:hover{background:var(--line)}.coord-edit{display:flex;flex-direction:column;gap:2px;width:100%}.coord-edit .cell-input{width:100%}.grow>.c.url{position:relative}.grow>.c.url.editable{cursor:text}.link-title{display:block;min-width:0;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent, #2563eb)}.link-open{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}.link-open: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}.col-type-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.col-type-options button{padding:6px 11px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2);color:var(--ink-2)}.col-type-options button.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.col-type-advanced{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.formula-editor{margin-top:14px}.formula-title{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-keys{display:flex;gap:6px;margin-bottom:8px}.formula-key{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-empty{padding:10px;margin-bottom:8px;font-size:12px;color:var(--muted);text-align:center;border:1px dashed var(--line-strong);border-radius:8px}.formula-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.formula-row .formula-col{flex:1 1 auto;min-width:0}.formula-row .formula-op{flex:0 0 56px}.formula-remove{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-format{margin-bottom:0}.formula-format .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 .cell-input,.grow .cell-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 .cell-input::-webkit-inner-spin-button,.grow .cell-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.grow .cell-input{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.grow .c.num .cell-input{text-align:right}.grow .c.code .cell-input{text-align:left}.grow .text-cell,.grow .text-cell: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-empty{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-edit{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-linked{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0;outline:none}.pct-linked-txt{font-family:var(--mono);font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.pct-linked:focus-visible{box-shadow:0 0 0 2px var(--focus-soft);border-radius:3px}.pct-remove{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-remove:hover{background:var(--crit-soft);color:var(--crit)}.pct-search{position:relative;flex:1 1 auto;min-width:0;display:flex}.pct-search .cell-input{flex:1 1 auto;text-align:left}.pct-search-list{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-search-list 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-search-list button:hover{background:var(--hover)}.pct-search-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pct-search-value{flex:0 0 auto;color:var(--muted);font-family:var(--mono);font-size:11px}.date-edit{display:inline-flex;align-items:center;gap:3px;width:100%;min-width:0}.date-edit .cell-input.date{flex:1 1 auto;text-align:left}.date-edit .date-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}.date-edit .date-pick::-webkit-datetime-edit,.date-edit .date-pick::-webkit-inner-spin-button,.date-edit .date-pick::-webkit-clear-button{display:none}.date-edit .date-pick::-webkit-calendar-picker-indicator{margin:0;padding:0;cursor:pointer;opacity:.5}.date-edit .date-pick::-webkit-calendar-picker-indicator:hover{opacity:1}.sheets{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.sheets-body{position:relative;flex:1;display:flex;flex-direction:row;min-width:0;min-height:0}.sheets-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.sheets-main>.gantt{flex:1;min-height:0}.sheets-bar{display:flex;align-items:center;gap:6px;min-height:40px;padding:5px 10px;background:var(--panel-2);border-bottom:1px solid var(--line)}.hn-toggle{flex:0 0 auto;width:30px;height:30px;padding:0;display:inline-grid;place-items:center;border-radius:8px;color:var(--ink-2)}.hn-toggle[aria-pressed=true]{color:var(--brand)}@media(min-width:761px){.hn-toggle{display:none}}.hn-path{display:flex;align-items:center;min-width:0;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden}.hn-path>span+span:before{content:"›";margin:0 7px;color:var(--line-strong);font-weight:400}.hn-path-current{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.widening{transition:none}.hn-head{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:12px 8px 4px 14px}.hn-title{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-tools{flex:0 0 auto;display:flex;align-items:center;gap:4px;padding:6px 8px 4px 10px}.hn-search{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-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 3px var(--focus-soft)}.hn-search 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-search input::-webkit-search-cancel-button{display:none}.hn-clear{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-clear:hover{background:var(--line);color:var(--ink)}.hn-create{flex:0 0 auto;display:flex;gap:6px;padding:4px 10px 8px}.hn-new{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-new:hover{background:var(--brand-soft);border-color:var(--brand)}.hn-tree{flex:1;min-height:0;overflow:auto;padding:4px 8px 14px;display:flex;flex-direction:column;gap:1px}.hn-row{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-row:hover{background:var(--hover)}.hn-row:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.hn-guides{flex:0 0 auto;display:flex;align-self:stretch}.hn-guides i{position:relative;flex:0 0 14px;width:14px}.hn-guides i:before{content:"";position:absolute;left:7px;top:-1px;bottom:-1px;width:1px;background:var(--line)}.hn-arrow{flex:0 0 16px;width:16px;height:16px;display:grid;place-items:center;color:var(--muted);transition:transform .12s ease}.hn-arrow.open{transform:rotate(90deg)}.hn-ico{flex:0 0 auto;display:inline-grid;place-items:center;color:var(--muted)}.hn-folder{color:var(--ink);font-weight:600}.hn-folder .hn-ico{color:var(--ink-2)}.hn-name{flex:1;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.3}.hn-lock{flex:0 0 auto;display:inline-flex;align-items:center;color:var(--muted)}.hn-count{flex:0 0 auto;padding:0 4px;font-size:11px;font-weight:600;color:var(--muted)}.hn-more{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-row:hover .hn-more,.hn-row:focus-within .hn-more,.hn-row.on .hn-more,.hn-more:focus-visible{opacity:1}.hn-more:hover{background:var(--line);color:var(--ink)}.hn-sheet.on{background:var(--sel);color:var(--ink);font-weight:600}.hn-sheet.on:before{content:"";position:absolute;left:-2px;top:6px;bottom:6px;width:3px;border-radius:3px;background:var(--brand)}.hn-sheet.on .hn-ico{color:var(--brand)}.hn-row.dragging{opacity:.45}.hn-folder.drop{background:var(--brand-soft);box-shadow:inset 0 0 0 1.5px var(--brand)}.hn-sheet.drop-beside{box-shadow:inset 0 2px 0 0 var(--brand)}.hn-empty{display:flex;align-items:center;flex:0 0 auto;height:26px;padding-left:6px;font-size:12px;font-style:italic;color:var(--muted)}.hn-empty span{margin-left:24px}.hn-editing{height:auto;min-height:32px;flex-wrap:wrap;row-gap:0;cursor:default}.hn-editing: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.has-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-none{padding:16px 10px;font-size:12.5px;line-height:1.45;color:var(--muted);text-align:center}.hn-root{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-root.drop{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-handle{position:absolute;top:0;right:0;bottom:0;width:6px;cursor:col-resize;z-index:3;touch-action:none}.hn-handle:after{content:"";position:absolute;top:0;right:0;bottom:0;width:2px;background:transparent;transition:background .12s}.hn-handle:hover:after,.hn.widening .hn-handle:after{background:var(--brand)}.hn-rail{width:52px;align-items:center;gap:4px;padding:8px 0}.hn-rail-list{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-card{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-card:hover{background:var(--hover);border-color:var(--line-strong)}.hn-card.on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.hn-veil{display:none}@media(max-width:760px){.hn:not(.hn-rail){position:absolute;z-index:40;top:0;bottom:0;left:0;width:min(86vw,300px)!important;box-shadow:var(--shadow)}.hn-rail,.hn-handle{display:none}.hn-veil{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:39;background:#0d1b4852}.hn-path>span:not(.hn-path-current){display:none}.hn-path>span+span:before{display:none}}@media(prefers-reduced-motion:reduce){.hn,.hn-arrow,.hn-handle:after{transition:none}}.tname-formula{font-variant-numeric:tabular-nums}.lookup-editor .field{margin-top:8px}.lookup-editor select{width:100%}.lookup-key{opacity:.8}.lookup-key>span{font-size:10px}.handle{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 .handle,.grow.sel .handle{opacity:1}.handle: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.dragging{opacity:.35}.grow.drop-inside{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)}.holiday{fill:var(--holiday)}.cal-num{fill:var(--ink);font-family:var(--mono);font-size:11px;font-weight:600}.cal-day{fill:var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:.06em}.cal-num.is-weekend,.cal-day.is-weekend{fill:var(--muted)}.cal-num.is-holiday,.cal-day.is-holiday{fill:var(--holiday-ink);font-weight:650}.today-col{fill:var(--today-col);pointer-events:none}.today-frame{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}.day-drag{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 .close{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-stripe{display:flex;gap:6px}.seg-stripe 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-stripe button:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.seg-stripe button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.seg-stripe button:disabled{opacity:.5}.save-status{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-more{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-actions{gap:4px}.tb-count{font-size:11.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.autostatus{font-size:11.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap;padding:0 4px 0 2px}.theme-btn{font-size:18px;line-height:1;padding:4px 9px}.view-sw{flex:0 0 auto}.tb-toggle{display:none}.fab{display:inline-flex;align-items:center;gap:5px}.fab .fab-more{font-size:15px;line-height:1;margin-top:-1px}.switch{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}.switch input{position:absolute;opacity:0;width:0;height:0}.switch 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}.switch 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)}.switch:hover i{border-color:var(--muted)}.switch input:checked+i{background:var(--accent);border-color:var(--accent)}.switch input:checked+i:after{transform:translate(15px)}.switch input:focus-visible+i{outline:2px solid var(--focus);outline-offset:2px}.switch 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}.live{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)}.live i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}.live.on i{background:var(--ok)}.live.flash{color:var(--ok)}.live.flash i{animation:pulse .6s ease-out 2}@keyframes pulse{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}.mobile-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-more{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-more.open{display:flex}.view-sw{order:5}.view-sw button{padding:7px 10px;font-size:12px}.tb-more .tb-g{flex:1 1 100%;flex-wrap:wrap}.tb-more .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)}.autostatus{display:none}.tb-actions{margin-left:auto}.tb-more .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-more{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}.theme-btn{width:44px;min-height:44px}.switch{min-height:44px;font-size:14px}.switch i{width:42px;height:24px}.switch i:after{width:18px;height:18px;top:2px}.switch 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.chart-view .grid-pane{position:absolute;left:-10000px;top:0;visibility:hidden;width:var(--ancho-tabla, 360px)!important}.gantt.list-view .chart-pane{display:none}.gantt:not(.mobile-table) .ghead{height:40px;grid-template-columns:1fr!important}.gantt:not(.mobile-table) .ghead .hc:not([data-col=name]){display:none}.gantt:not(.mobile-table) .ghead .hc{border-left:0;padding:0 14px 9px}.gantt:not(.mobile-table) .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(.mobile-table) .grow>.c{padding:0;border-left:0}.gantt:not(.mobile-table) .grow>.c[data-col=name]{grid-area:nombre;align-items:center}.gantt:not(.mobile-table) .grow>.c[data-col=note],.gantt:not(.mobile-table) .grow>.c[data-col=code],.gantt:not(.mobile-table) .grow>.c[data-col=wbs],.gantt:not(.mobile-table) .grow>.c[data-col=dur],.gantt:not(.mobile-table) .grow>.c[data-col=ideal],.gantt:not(.mobile-table) .grow>.c[data-col=retraso],.gantt:not(.mobile-table) .grow>.c[data-col=resp],.gantt:not(.mobile-table) .grow>.c[data-col^="c:"]{display:none}.gantt:not(.mobile-table) .grow>.c[data-col=start]{grid-area:meta;justify-content:flex-start}.gantt:not(.mobile-table) .grow>.c[data-col=end]{grid-area:meta;justify-content:flex-start;margin-left:74px}.gantt:not(.mobile-table) .grow>.c[data-col=end]:before{content:"→";margin-right:5px;opacity:.5}.gantt:not(.mobile-table) .grow>.c[data-col=pct]{grid-area:pct;align-items:center;font-size:13px;min-width:44px}.gantt:not(.mobile-table) .grow .tname{font-size:15px;line-height:1.35}.gantt:not(.mobile-table) .grow .num{font-size:11.5px;color:var(--muted)}.gantt:not(.mobile-table) .grow.summary .tname{font-weight:650}.gantt:not(.mobile-table) .twist{width:34px;height:34px;margin:-7px 0 -7px -8px;font-size:10px}.gantt:not(.mobile-table) .handle{opacity:.45;width:22px;font-size:14px}.gantt:not(.mobile-table) .critdot{margin-top:0}.public .desktop-only{display:none}.public .topbar .tag{order:6}.public .topbar .live{font-size:10.5px}.public .topbar-global{flex-wrap:wrap;gap:8px;padding:8px 10px}.public .topbar-global .brand{flex:1 1 auto}.public .topbar-global .spacer{display:none}.public .topbar-global .search{order:3;flex:1 1 100%}.public .topbar-global .search input{max-width:none}.public .topbar-context{padding:8px 10px;gap:8px}.public .topbar-context .tb-sep{display:none}.public .topbar-context .view-sw{order:0}.public .topbar-context .seg button{padding:7px 10px;min-height:36px;font-size:12.5px}.gantt.mobile-table .grid-scroll{-webkit-overflow-scrolling:touch}.gantt.mobile-table .grid-inner{width:max-content;min-width:100%}.gantt.mobile-table .ghead .hc[data-col=name],.gantt.mobile-table .grow>.c[data-col=name]{position:sticky;left:0;z-index:2;background:var(--panel);box-shadow:1px 0 0 var(--line)}.gantt.mobile-table .ghead .hc[data-col=name]{z-index:4}.gantt.mobile-table .grow.sel>.c[data-col=name]{background:var(--sel)}.gantt.mobile-table .grow>.c{padding:7px 8px}.gantt.mobile-table .ghead .hc{padding:6px 18px 6px 8px}.mobile-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)}.mobile-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:sheet-up .26s cubic-bezier(.32,.72,0,1)}@keyframes sheet-up{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}.resizer{display:block;width:38px;height:4px;border-radius:3px;background:var(--line-strong);margin:2px auto 12px}.side-head .grab{display:none}.side-head h3{font-size:12px;padding-right:44px}.side-head .close{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],.side input[type=time]{min-width:0;width:100%;display:block}.side textarea,.side .rich-field.field-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}.resources{gap:8px}.resources .chip{padding:9px 15px;font-size:14px;min-height:40px}.resources .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=time],input[type=number],select,textarea,.rich-field.field-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-in .12s ease-out}@keyframes panel-in{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 .rich-field.field-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.panel-moving,body.panel-moving *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}.side-head .grab{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 .point{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) .point{background:var(--crit)}.check input:disabled{cursor:default}.resources{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.resources .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}.resources .chip:hover:not(:disabled){border-color:var(--line-strong);color:var(--ink)}.resources .chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.resources .chip.on:hover{opacity:.86;color:var(--accent-ink)}.resources .chip.new{border-style:dashed;color:var(--muted)}.resources .chip-wrap{position:relative;display:inline-flex}.resources .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}.resources .chip-wrap:hover .chip-x,.resources .chip-x:focus-visible{display:inline-flex}.resources .chip-x:hover{background:var(--crit);border-color:var(--crit);color:#fff}.resources .chip-confirm{display:inline-flex;align-items:center;gap:6px;cursor:default;border-color:var(--crit);color:var(--ink)}.resources .chip-confirm button{padding:1px 8px;font-size:11px;border-radius:12px;min-height:0;border:1px solid var(--line-strong);background:var(--panel)}.resources .chip-confirm .sí{background:var(--crit);border-color:var(--crit);color:#fff}.resources .chip-input{width:118px;font-size:11.5px;padding:3px 10px;border-radius:20px;border:1px solid var(--focus);background:var(--panel)}.resources .no-data{font-size:12px;color:var(--muted)}.attachments{display:flex;flex-direction:column;gap:4px}.attachment{display:flex;align-items:center;gap:6px}.attachment-name{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}.attachment-name:hover{color:var(--accent);text-decoration:underline}.attachment-size{font-size:10.5px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.attachment-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}.attachment-x:hover{background:var(--crit);border-color:var(--crit);color:#fff}.attachment-upload{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)}.attachment-upload:hover{border-color:var(--line-strong);color:var(--ink)}.attachment-upload.uploading{cursor:default;opacity:.7}.attachment-error{font-size:11.5px;color:var(--crit);margin-top:4px}.attachment-name-img{display:flex;align-items:center;gap:6px}.attachment-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}.attachment-mini img{width:100%;height:100%;object-fit:cover;display:block}.viewer-backdrop{z-index:90;background:#0a0a08d1;padding:0}.viewer{width:100%;height:100%;display:flex;flex-direction:column}.viewer-bar{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 16px;color:#fff}.viewer-bar .ghost{color:#fff;border-color:#ffffff4d}.viewer-bar .ghost:hover{background:#ffffff1f;border-color:#ffffff80}.viewer-bar .ghost.danger{color:var(--crit);border-color:#ffffff4d}.viewer-bar .ghost.danger:hover{background:var(--crit);border-color:var(--crit);color:#fff}.viewer-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-box{font-size:11.5px;font-family:var(--mono);color:#ffffffa6;flex:0 0 auto}.viewer-body{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;padding:0 56px 24px}.viewer-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 12px 40px #00000080;cursor:default}.viewer-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}.viewer-nav:hover{background:#0009;border-color:#fff9}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-pdf{width:100%;height:100%;max-width:900px;border:0;border-radius:4px;background:#fff;box-shadow:0 12px 40px #00000080}.viewer-loading{color:#ffffffb3;font-size:13px}@media(max-width:760px){.viewer-body{padding:0 8px 16px}.viewer-nav{width:38px;height:38px;font-size:19px}}.grow>.c.attachments-col{padding:4px 8px;cursor:default}.attachments-cell{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.attachments-cell-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}.attachments-cell-chip:hover{border-color:var(--line-strong)}.attachments-cell-chip .attachment-mini{width:100%;height:100%;border-radius:0;background:transparent}.attachments-cell-more{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}.attachments-cell-more:hover{border-color:var(--line-strong);color:var(--ink);background:var(--hover)}.attachments-cell-more.uploading{cursor:default;opacity:.7}.attachments-root{outline:0;width:100%}.grow>.c.attachments-col:focus-within{box-shadow:inset 0 0 0 2px var(--focus)}.attachments-cell-error{font-size:10.5px;line-height:1.3;margin-top:3px}.grow>.c.attachments-col.mini{padding:6px}.attachments-gallery{position:relative;width:100%;height:100px;display:flex;align-items:center;justify-content:center}.attachments-gallery-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}.attachments-gallery-img img{width:100%;height:100%;object-fit:cover;display:block}.attachments-gallery-icon{font-size:30px}.attachments-gallery-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}.attachments-gallery:hover .attachments-gallery-nav,.attachments-root:focus .attachments-gallery-nav{opacity:1}.attachments-gallery-nav:hover{background:#141412cc}.attachments-gallery-nav.prev{left:4px}.attachments-gallery-nav.next{right:4px}.attachments-gallery-box{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}.attachments-gallery-more{position:absolute;right:5px;bottom:5px}.attachments-gallery-more .attachments-cell-more{background:#ffffffd9}.attachments-gallery:not(:has(.attachments-gallery-img)) .attachments-gallery-more{position:static}.attachments-gallery:not(:has(.attachments-gallery-img)){height:44px;border:1px dashed var(--line);border-radius:8px}.viewer-btn{display:inline-flex;align-items:center;gap:6px}.viewer-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.grabbing{cursor:grabbing}.chart-inner.grabbing *{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-in .1s ease-out}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}}.menu-title{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}.phantom{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:ghost-in .12s ease-out;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes ghost-in{0%{opacity:0;transform:scale(.9)}}.phantom-handle{opacity:.55}.phantom em{font-style:normal;font-family:var(--mono);font-size:10px;background:#7f7f7f4d;padding:1px 6px;border-radius:20px}.grow.dragging{opacity:.28}.drop-line{animation:line-in .12s ease-out}@keyframes line-in{0%{opacity:0;transform:scaleX(.9)}}.grow.drop-inside{animation:inside-pulse .18s ease-out}@keyframes inside-pulse{0%{box-shadow:inset 0 0 0 6px var(--accent-soft)}}.grow.just-moved{animation:lands .9s ease-out}@keyframes lands{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}}.preview-bar{fill:none;stroke:var(--today);stroke-width:1.6;stroke-dasharray:3 3;pointer-events:none}.preview-bar-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-canvas{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-canvas:active{cursor:grabbing}.mmv-canvas:focus,.mmv-canvas:focus-visible{outline:none}.mmv-canvas.dragging{cursor:grabbing}.mmv-world{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-node{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-node:hover{border-color:var(--ink-2)}.mmv-node.sel{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}.mmv-node.summary-node{background:var(--panel-2)}.mmv-node.crit{border-color:var(--crit)}.mmv-root{border-color:var(--accent);border-width:2px}.mmv-node.phantom{opacity:.35;pointer-events:none}.mmv-node.blank{outline:2px dashed var(--accent);outline-offset:2px;border-color:var(--accent);transform:scale(1.04)}.mmv-node.blank.landing-left{box-shadow:inset 4px 0 0 var(--accent),var(--shadow)}.mmv-node.blank.landing-right{box-shadow:inset -4px 0 0 var(--accent),var(--shadow)}.mmv-node.reorder{border-color:var(--accent)}.mmv-node.reorder.landing-before{box-shadow:inset 0 4px 0 var(--accent),var(--shadow)}.mmv-node.reorder.landing-after{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-name{font-size:13px;font-weight:600;line-height:1.25;color:var(--ink);overflow-wrap:anywhere;white-space:pre-line}.mmv-name 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-mark{font-style:normal;margin-right:5px;color:var(--ink-2)}.mmv-node.crit .mmv-mark{color:var(--crit)}.mmv-meta,.mmv-dates{font:11px/1.3 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.02em}.mmv-dates b{color:var(--ink-2);font-weight:700}.mmv-dates{display:flex;align-items:center;justify-content:space-between;gap:6px}.mmv-note-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-note-btn:hover,.mmv-note-btn.on{opacity:1;background:var(--line)}.mmv-resources{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.mmv-res{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-notes{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-fold{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-fold:hover{border-color:var(--ink-2);color:var(--ink)}.mmv-node.mmv-left .mmv-fold{left:-11px;right:auto}.mmv-links path.mmv-dep-arrow{stroke:var(--focus);stroke-width:1.8;stroke-dasharray:6 4;fill:none}.mmv-arrow-tip{fill:var(--focus);stroke:none}.mmv-tie{display:inline-flex;align-items:center;gap:3px;font:600 10px/1 var(--mono);color:var(--focus);cursor:help}.mmv-link{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-link.foldable{top:calc(50% + 24px)}.mmv-node:hover .mmv-link,.mmv-node.link-origin .mmv-link{opacity:1}.mmv-link:hover{transform:scale(1.25)}.mmv-node.link-target{outline:2px dashed var(--focus);outline-offset:3px}.mmv-canvas.linking,.mmv-canvas.linking .mmv-node{cursor:crosshair}.mmv-links path.mmv-arrow-temp{stroke:var(--focus);stroke-width:2;stroke-dasharray:6 4;fill:none}.mmv-node.active-link{box-shadow:0 0 0 2px color-mix(in srgb,var(--focus) 35%,transparent),var(--shadow)}.mmv-vertical .mmv-fold{right:auto;left:50%;top:auto;bottom:-11px;transform:translate(-50%)}.mmv-vertical .mmv-node.reorder.landing-before{box-shadow:inset 4px 0 0 var(--accent),var(--shadow)}.mmv-vertical .mmv-node.reorder.landing-after{box-shadow:inset -4px 0 0 var(--accent),var(--shadow)}.mmv-controls{position:absolute;top:12px;left:12px;display:flex;gap:8px;flex-wrap:wrap;pointer-events:none}.mmv-controls>*{pointer-events:auto}.mmv-help{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-help b{color:var(--ink-2);font-family:var(--mono);font-size:10px}@media(max-width:640px){.mmv-help{font-size:10px}.mmv-controls{top:8px;left:8px}}.presence{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.presence-faces{display:inline-flex}.presence .face{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}.presence .face:first-child{margin-left:0}.presence .face img{width:100%;height:100%;object-fit:cover}.presence .face.more{box-shadow:0 0 0 1px var(--line-strong);color:var(--muted)}.presence.offline .face{box-shadow:0 0 0 1px var(--line-strong);opacity:.6}.presence-notice{font-size:11.5px;color:var(--ok);font-family:var(--mono);animation:presence-in .2s ease-out}@keyframes presence-in{0%{opacity:0;transform:translateY(-2px)}}.queue-imp{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink-2)}.queue-file{font-family:var(--mono);font-size:11px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-title{font-size:14px;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:8px}.queue-sub{font-size:12.5px}.queue-note{font-size:11.5px;color:var(--muted);max-width:380px}.queue-bar{width:min(320px,100%);height:5px;border-radius:3px;background:var(--line);overflow:hidden}.queue-bar i{display:block;height:100%;background:var(--accent);border-radius:3px;transition:width 1s linear}.queue-imp button{margin-top:4px}.adm{flex:1;display:flex;flex-direction:column;min-height:0;overflow:auto;background:var(--bg)}.adm-head{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-head h2{margin:0;font-size:15px;font-weight:600}.adm-gen{font:11px var(--mono);color:var(--muted)}.adm-body{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-chart{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-title{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-title b{color:var(--ink);font-size:13px}.adm-search{margin-left:auto;width:230px;font:12.5px var(--sans, inherit);text-transform:none;letter-spacing:0}.adm-bars{display:flex;align-items:flex-end;gap:3px;height:70px}.adm-bars i{flex:1;background:var(--line);border-radius:2px 2px 0 0;min-height:2px}.adm-bars i.on{background:var(--ink-2)}.adm-axis{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted);margin-top:4px}.adm-table-wrap{overflow-x:auto}.adm-table{width:100%;border-collapse:collapse;font-size:12.5px}.adm-table 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-table th:hover{color:var(--ink)}.adm-table td{padding:7px 10px;border-bottom:1px solid var(--hair);white-space:nowrap}.adm-table .num{text-align:right;font-variant-numeric:tabular-nums}.adm-table tr.no-data 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-none{text-align:center;color:var(--muted);padding:18px}.adm-note{font-size:11.5px;color:var(--muted);margin:0}.thumbnails-mode{display:flex;align-items:flex-start;gap:9px;margin-top:12px}.thumbnails-mode input{margin-top:3px}.thumbnails-mode span{display:flex;flex-direction:column;gap:2px;font-size:13px}.thumbnails-mode small{font-size:11.5px;color:var(--muted);line-height:1.4}.notice-files{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)}.date-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 .date-cal,.date-cal:focus-within{opacity:1}.date-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}.date-cal-btn:hover{background:var(--line);color:var(--ink)}.date-cal-input{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}@media(hover:none){.date-cal{opacity:.55}}.day-sel{fill:var(--focus-soft);opacity:.85;pointer-events:none}.day-sel-edge{stroke:var(--focus);opacity:.3;pointer-events:none}.day-sel-underline{stroke:var(--focus);stroke-width:2.5;pointer-events:none}.chart-head.day-marks{cursor:pointer;-webkit-user-select:none;user-select:none}.grow>.c.own.editable{cursor:pointer}.grow>.c.own.editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:5px}.grid-inner{position:relative}.grid-inner.fits{padding-right:0}.fill-dot{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.fill-origin{box-shadow:inset 0 0 0 2px var(--accent);border-radius:5px}.grow>.c.fill-target{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent);border-radius:5px}body.selecting-cells .grow>.c{cursor:crosshair}.owners-menu{min-width:230px;max-height:60vh;overflow-y:auto}.owners-menu button{display:flex;align-items:center;gap:8px;text-align:left;width:100%}.owners-menu button.position{font-weight:600}.owners-menu-mark{flex:0 0 auto;width:14px;color:var(--ok);font-weight:700}.owners-menu-new{width:calc(100% - 12px);margin:4px 6px 6px;padding:6px 8px;font-size:12.5px}.owners-menu-row{display:flex;align-items:center}.owners-menu-row>button:first-child{flex:1 1 auto;min-width:0}.owners-menu .owners-menu-pencil{flex:0 0 auto;width:28px;padding:0;text-align:center;justify-content:center;color:var(--muted);opacity:0}.owners-menu-row:hover .owners-menu-pencil,.owners-menu .owners-menu-pencil:focus-visible{opacity:1}.owners-menu .owners-menu-pencil:hover{color:var(--ink)}.resources .chip-pencil{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}.resources .chip-wrap:hover .chip-pencil,.resources .chip-pencil:focus-visible{display:inline-flex}.resources .chip-pencil:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}.app.fullscreen .topbar,.app.fullscreen .variables-bar{display:none}.pc-btn{width:30px;height:30px;padding:0;display:inline-flex;align-items:center;justify-content:center}.pc-exit{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-exit:hover,.pc-exit:focus-visible{opacity:1}@media(hover:none){.pc-exit{opacity:.8}}.chip-over{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)}.owners-menu-over{margin-left:auto;font-size:10.5px;color:var(--danger, #b42318)}.btn-load.alert{color:var(--danger, #b42318)}.load-badge{margin-left:6px;padding:1px 6px;border-radius:10px;font-size:10.5px;background:var(--danger, #b42318);color:#fff}.load-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)}.load-head{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--hair)}.load-title{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.load-summary{font-size:12px;color:var(--ink-2);flex:1}.load-summary.bad{color:var(--danger, #b42318);font-weight:600}.load-close{padding:2px 8px;font-size:16px;line-height:1}.load-list{overflow:auto;padding:6px 12px}.load-empty,.load-ok,.load-note{font-size:12px;color:var(--muted)}.load-note{padding:8px 12px 10px;border-top:1px solid var(--hair);font-size:11px}.load-row{padding:8px 0;border-bottom:1px solid var(--hair)}.load-row:last-child{border-bottom:0}.load-name{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.load-status{font-size:12px;color:var(--ok, #2a7f4f)}.load-row.bad .load-status{color:var(--danger, #b42318)}.load-peak{margin-left:auto;font-weight:400;font-size:11px;color:var(--danger, #b42318)}.load-conflict{display:flex;flex-direction:column;gap:4px;margin:6px 0 0 20px}.load-dates{font-family:var(--mono);font-size:11px;color:var(--ink-2)}.load-tasks{display:flex;flex-wrap:wrap;gap:5px}.load-task{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)}.load-task:hover{border-color:var(--line-strong)}.load-ok{margin:4px 0 0 20px}.app.fullscreen .load-panel{top:14px}.chip-ded{color:var(--muted);font-family:var(--mono);font-size:10.5px;margin-left:2px}.chip-over .chip-ded{color:inherit;opacity:.8}.asg-detail{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:3px}.asg-detail li{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--ink-2)}.asg-detail b{font-weight:600;color:var(--ink)}.asg-detail span{font-family:var(--mono);font-size:11px;color:var(--muted);text-align:right}.res-sheet{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;background:var(--bg)}.res-sheet-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel-2)}.res-sheet-empty{padding:40px;text-align:center;color:var(--muted)}.res-sheet-body{flex:1;min-height:0;min-width:0;display:flex;flex-direction:column}.res-sheet-total{margin-left:auto;display:flex;gap:4px 16px;flex-wrap:wrap;font-size:12px;color:var(--ink-2);white-space:nowrap}.res-sheet-total b{font-family:var(--mono);font-weight:600;color:var(--ink);margin-left:4px}.trash{margin-top:36px;padding-top:14px;border-top:1px solid var(--hair)}.trash-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.trash-title{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:4px 8px 4px 2px;color:var(--ink-2)}.trash-body{margin-top:10px}.trash-notice{font-size:12px;color:var(--muted);margin-bottom:10px}.trash-row{cursor:default}.trash-row:hover{transform:none}.trash-row .pname{color:var(--ink-2)}.grow>.c.note.note-text{justify-content:flex-start;align-items:center;color:var(--ink);padding-left:10px;padding-right:10px;text-align:left}.grow>.c.note.note-text .full-note{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4}body:not(.wrap) .grow>.c.note.note-text .full-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grow>.c.as-note{justify-content:center;align-items:center;color:var(--muted)}.lbl-0{--h: 212}.lbl-1{--h: 152}.lbl-2{--h: 32}.lbl-3{--h: 340}.lbl-4{--h: 268}.lbl-5{--h: 188}.lbl-6{--h: 52}.lbl-7{--h: 8}.lbl-8{--h: 292}.lbl-9{--h: 100}.lbl{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))}.lbl-name{min-width:0}.lbl-x,.lbl-color{all:unset;cursor:pointer;flex:0 0 auto}.lbl-x{font-size:13px;line-height:1;padding:0 1px;opacity:.6}.lbl-x:hover{opacity:1}.lbl-color{width:9px;height:9px;border-radius:50%;background:hsl(var(--h) 65% 50%);border:1px solid hsl(var(--h) 55% 38% / .6)}.lbl-color:hover{transform:scale(1.25)}.grow>.c.labels-col{align-items:center}.grow>.c.labels-col.editable{cursor:pointer}.grow>.c.labels-col.expanded{background:var(--panel-2)}.lbl-list{display:flex;flex-wrap:wrap;gap:3px 4px;min-width:0}.lbl-editor{border:1px solid var(--line);border-radius:8px;padding:6px;background:var(--panel)}.lbl-editor-list{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.lbl-entry{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}.lbl-editor-help{margin-top:6px;font-size:11px;color:var(--muted)}.lbl-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-in .1s ease-out}.lbl-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.lbl-search{flex:1;min-width:0;width:auto;box-sizing:border-box;margin:0}.lbl-options{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:1px}.lbl-options button,.lbl-clear{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)}.lbl-options button:hover,.lbl-clear:hover{background:var(--hover)}.lbl-row{display:flex;align-items:center}.lbl-row>button:first-child{flex:1 1 auto;min-width:0}.lbl-options .lbl-pencil{flex:0 0 auto;width:28px;justify-content:center;padding:5px 0;color:var(--muted);opacity:0}.lbl-row:hover .lbl-pencil,.lbl-options .lbl-pencil:focus-visible{opacity:1}.lbl-options .lbl-pencil:hover{color:var(--ink);background:var(--hover)}.lbl-row-editing{padding:3px 8px 3px 30px}.lbl-renaming{gap:6px;flex:1 1 auto;min-width:0}.lbl-rename{all:unset;flex:1 1 auto;min-width:0;font:inherit;color:inherit;cursor:text}.lbl-options .lbl-row .lbl-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)}.lbl-options .lbl-row .lbl-color:hover{background:hsl(var(--h) 65% 50%);transform:scale(1.25)}.lbl-options button.placed{background:var(--panel-2)}.lbl-options button.highlighted{background:var(--hover)}.lbl-checkbox{width:14px;flex:0 0 auto;text-align:center;font-size:12px;color:var(--ink)}.lbl-create{color:var(--ink-2);font-weight:600}.lbl-empty{padding:8px;font-size:12px;color:var(--muted)}.lbl-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:4px;border-top:1px solid var(--hair);padding-top:4px}.lbl-clear{width:auto;color:var(--muted);font-size:12px}.lbl-close{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}.lbl-close:hover{background:var(--hover);border-color:var(--line-strong)}.modal.versions{max-width:640px;width:calc(100vw - 32px)}.versions-help{margin:0 0 12px;color:var(--ink-2);font-size:12.5px}.versions-new{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.versions-notice{margin-top:6px;color:var(--muted);font-size:11.5px}.versions-error{margin-top:8px;color:var(--crit);font-size:12px}.versions-list{margin-top:14px;max-height:46vh;overflow-y:auto;border-top:1px solid var(--hair)}.versions-empty{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-name{color:var(--ink-2);font-weight:500}.version-name{font-weight:600;font-size:13px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.version-lbl{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-note{margin-top:4px;font-size:12px;color:var(--ink-2);white-space:pre-wrap}.version-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;flex:0 0 auto}.version-actions button{padding:4px 10px;font-size:12px}@media(max-width:640px){.versions-new{grid-template-columns:1fr}.version{flex-direction:column}}.grow>.c .draft{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}.grow>.c .cell-error{display:inline-block;padding:1px 6px;border-radius:4px;cursor:help;white-space:nowrap;color:var(--crit);background:var(--crit-soft);font-size:12px;font-weight:600;letter-spacing:.02em;font-variant-numeric:tabular-nums}.fx-bar{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}.fx-bar .fx-bar-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}.fx-bar .fx-bar-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}.fx-bar textarea.fx-bar-field{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}.fx-bar textarea.fx-bar-field:focus{border-color:var(--focus)}.fx-bar textarea.fx-bar-field[readonly]{background:var(--panel-2)}.adm-row{cursor:pointer}.adm-row:hover td{background:var(--hover, var(--panel-2))}.adm-row.open td{background:var(--panel-2)}.adm-detail>td{padding:4px 12px 12px 44px;background:var(--panel-2)}.adm-projects td{padding:6px 10px}.adm-projects 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.formula-help{max-width:560px;width:calc(100vw - 32px)}.help-block+.help-block{margin-top:16px}.help-block h4{margin:0 0 4px;font-size:12.5px;font-weight:600;color:var(--ink)}.help-block p{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-2)}.help-block 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.auto-name{overflow:hidden;resize:none;min-height:3.2em}.rich-field{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;outline:none;cursor:text}.rich-field:empty:before{content:attr(data-placeholder);color:var(--muted);pointer-events:none}.rich-field b,.rich-field strong{font-weight:700}.rich-field.field-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}.rich-field.field-form:focus{border-color:var(--focus);background:var(--panel);box-shadow:0 0 0 3px var(--focus-soft)}.rich-field.field-form[aria-disabled=true]{opacity:.65;cursor:default}.side .rich-field.auto-name{min-height:3.2em}.note-edit .rich-field{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)}.note-edit .rich-field:focus{border-color:var(--focus);background:var(--panel);box-shadow:0 0 0 3px var(--focus-soft)}.mmv-edit.rich-field{min-width:0}.bold-bar{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}.bold-bar 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}.bold-bar button:hover{background:var(--hover)}.card-fields{display:flex;flex-direction:column;gap:2px;margin-top:4px}.card-field{margin-bottom:12px}.card-head{display:flex;align-items:center;gap:8px;margin-bottom:5px;min-height:22px}.card-name{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}.card-scope{font-size:10.5px;color:var(--muted);opacity:.75;white-space:nowrap}.card-menu-btn{margin-left:auto;width:24px;height:22px;padding:0;font-size:14px;line-height:1;border-radius:6px}.card-rename{flex:1;min-width:0;padding:2px 6px!important;font-size:12px!important}.card-row{display:flex;align-items:center;gap:6px}.card-row input{flex:1;min-width:0}.card-row.card-coord{flex-direction:column;align-items:stretch}.card-row.card-coord input{flex:none;width:100%}.card-row.card-coord .card-open{align-self:flex-start}.card-open{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}.card-open:hover{background:var(--hover)}.card-bin{padding:4px 0;gap:8px;font-size:12.5px;color:var(--ink-2)}.card-bin input{accent-color:var(--brand, var(--focus))}.card-long{min-height:62px}.card-number{font-variant-numeric:tabular-nums}.card-labels{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}.card-labels:hover:not(:disabled){border-color:var(--line-strong);background:var(--panel)}.card-empty{color:var(--muted);font-size:12px}.card-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}.card-formula-value{font-size:14px;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}.card-formula-text{font-size:11px;color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-attachments .field{margin:0}.card-attachments .field>span:empty{display:none}.card-new{align-self:flex-start;padding:5px 10px;font-size:12.5px;color:var(--brand, var(--focus))}.card-new-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)}.card-new-title{font-size:12px;font-weight:650;color:var(--ink)}.card-notice{font-size:11.5px;color:var(--crit)}.card-help{font-size:11.5px;line-height:1.5;color:var(--muted)}.card-help 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)}.card-scopes{display:flex;flex-direction:column;gap:4px;margin-top:2px}.card-scopes-title{font-size:11px;font-weight:600;color:var(--ink-2);margin-bottom:1px}.card-scope-op{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);cursor:pointer}.card-scope-op input{width:auto;margin:0;accent-color:var(--brand, var(--focus))}.card-new-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.card-block{padding-bottom:11px}.side .card-block-content>.field,.side .card-block-content>label.field,.side .card-block-content>.row2>.field,.side .card-block-content>.row2>label.field,.side .card-block-content>.card-field{margin-bottom:0}.side .card-block-content>.row2{gap:0 10px}.side .card-block-content>.meta{margin-top:0}@media(min-width:821px){.side-body.card-columns{display:grid;gap:0 18px;align-items:start;overflow-x:hidden}}.card-organize,.card-reset{margin-left:auto}.card-organize+.close,.card-reset+.card-organize{margin-left:6px}.card-organize{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}.card-organize:hover:not(:disabled){color:var(--ink);border-color:var(--ink-2);background:var(--hover)}.card-organize svg{flex:0 0 auto}.card-organize.on,.card-organize.on:hover:not(:disabled){background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.card-reset{height:30px;padding:0 10px;font-size:12px}.side-body.organizing .card-block{margin-bottom:8px;padding:6px 9px 9px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--panel);cursor:grab}.side-body.organizing .card-block[data-bloque=pie]{border:0;padding:0;cursor:default}.side-body.organizing .card-block-content{pointer-events:none}.card-block.is-hidden .card-block-content{opacity:.35;filter:grayscale(1)}.card-block.is-hidden{border-style:dotted}.card-org{display:flex;align-items:center;gap:7px;margin-bottom:6px;font-size:11.5px;font-weight:650;color:var(--ink-2)}.card-org-handle{color:var(--muted);font-size:12px;letter-spacing:-1px}.card-org-view{margin-left:auto;padding:2px 9px;font-size:11.5px}.card-block.drop-before{box-shadow:inset 0 3px 0 var(--brand, var(--focus))}.card-block.drop-after{box-shadow:inset 0 -3px 0 var(--brand, var(--focus))}.dates-sel-bar{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}.error-boundary{margin:24px auto;max-width:520px;padding:16px 18px;border:1px solid var(--crit);border-radius:12px;background:var(--bg, #fff);font-size:13px}.error-boundary code{word-break:break-word;font-size:12px}.error-boundary-buttons{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}.lbl-editable{cursor:text}.lbl-rename{border:0!important;outline:none;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0;font:inherit;color:inherit;min-width:3ch}.regional-preview{margin-top:10px;padding:8px 10px;border-radius:8px;background:var(--brand-soft);color:var(--ink);font-size:13px}.cal-fieldset{border:0;padding:0;margin:0 0 12px}.cal-fieldset legend{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.cal-weekdays{display:flex;flex-wrap:wrap;gap:6px 12px}.cal-weekday{display:inline-flex;align-items:center;gap:4px;text-transform:capitalize}.cal-holidays{margin:-4px 0 12px}.cal-year{display:flex;align-items:center;gap:8px;margin-bottom:4px}.cal-year .muted{margin-left:auto;font-size:12px}.cal-holidays ul,.cal-daysoff{list-style:none;margin:0;padding:0;max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:8px}.cal-holidays li,.cal-daysoff li{padding:4px 8px;display:flex;align-items:center;gap:6px}.cal-holidays li+li,.cal-daysoff li+li{border-top:1px solid var(--hair)}.cal-holidays label{display:flex;align-items:center;gap:6px;width:100%}.cal-daysoff li button{margin-left:auto;padding:0 6px}.cal-date{font-variant-numeric:tabular-nums;color:var(--ink-2);min-width:64px}.cal-add{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.cal-add input[type=date]{width:auto;flex:0 0 auto}.cal-add input[type=text]{width:auto;flex:1;min-width:120px}.cell-time{margin-left:4px;color:var(--muted);font-variant-numeric:tabular-nums}.task-times{margin-top:8px}.cal-period{display:flex;align-items:center;gap:6px;margin-bottom:4px}.cal-period input[type=time]{width:auto}.cal-period-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px}.duration-both{display:block;margin-top:4px;font-size:11.5px}.bar-off{pointer-events:none}.hatch-gap{fill:transparent}.hatch-line{stroke:var(--panel);stroke-width:2.2;stroke-opacity:.75}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,.folder-title,.variables-title,.menu-title,.kv b,.note-edit-title{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=time],input[type=number],select,textarea{font-family:var(--sans);border-radius:9px;border-color:var(--line);background:var(--panel)}input[type=date],input[type=time],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-shared{background:var(--brand-soft);color:var(--brand);border-color:transparent}.logotype{display:inline-flex;align-items:center;gap:8px}.logotype svg{flex:0 0 auto;display:block}.logotype-name{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(.logotype){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 .logotype-name{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-mark{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 .folder-twist{font-size:9px}.projects .h2-toggle .folder-count{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)}.projects-finder 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-shared{border-left:1px solid var(--line);position:relative;overflow:hidden}.pcard-shared:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.pcard-folder:hover{color:var(--brand)}.folder-head{padding:9px 6px;border-radius:9px}.folder-head svg{color:var(--brand)}.folder-name{font-weight:650}.folder-count{font-family:var(--sans);font-weight:600;background:var(--accent-soft);border-color:transparent;color:var(--ink-2)}.folder-children{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.active: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-day{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-stripe button{border-radius:9px}.seg-stripe button.on{background:var(--accent);border-color:var(--accent)}.save-status{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-canvas{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-node{border-radius:14px;border-color:var(--line);box-shadow:var(--shadow)}.mmv-node:hover{border-color:var(--line-strong)}.mmv-node.sel{outline-color:var(--brand);border-color:var(--brand)}.mmv-node.summary-node{background:var(--panel);border-left:3px solid var(--bar)}.mmv-root{border:2px solid var(--brand);background:var(--brand-soft)}.mmv-name{font-family:var(--display);font-weight:600}.mmv-edt{font-family:var(--mono)}.mmv-edit{font-family:var(--display)}::selection{background:var(--focus-soft)}.bold-bar{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}.autostatus{font-family:var(--sans);font-size:11.5px;font-weight:550;letter-spacing:0;color:var(--muted)}.mmv-res{font-family:var(--sans)}.rich-field.field-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.delay,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 .cell-input.date{font-size:12.5px}.grow .text-cell,.grow .text-cell:focus{line-height:1.45}.tooltip{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:tooltip-in .12s ease-out}.tooltip.tooltip-wide{width:max-content;max-width:calc(100vw - 16px)}.tooltip.tooltip-math{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-row{display:inline-flex;align-items:center;gap:.45em}.fm-row.fm-together{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-name{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-up{align-self:end;padding:0 .4em .18em}.fm-down{align-self:start;padding:.18em .4em 0}.fm-bar{justify-self:stretch;height:0;border-top:1.5px solid currentColor}.fm-paren{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-pl{border-right:0;border-radius:60% 0 0 60%/50% 0 0 50%}.fm-pr{border-left:0;border-radius:0 60% 60% 0/0 50% 50% 0}@keyframes tooltip-in{0%{opacity:0;transform:translateY(-3px)}}.brand span[data-letrero],.variable-name[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-folder:first-of-type,.pcard .pmeta+.pcard-folder{margin-left:auto}.pcard .pcard-folder,.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}.folder-children{margin-left:6px;padding-left:7px}.folder-head{gap:6px;padding:10px 2px}}.mention{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 .mention,b .mention{font-weight:750}.mentions-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)}.mentions-title{font-size:10.5px;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);padding:6px 9px 4px}.mentions-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}.mentions-op.on{background:var(--brand-soft)}.mentions-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}.mentions-txt{display:flex;flex-direction:column;min-width:0}.mentions-txt b{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mentions-txt small{font-size:11.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-at{color:var(--brand);font-weight:700;margin-right:2px}.side-context{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}.rich-field.card-short{min-height:0}.card-photos{display:flex;flex-direction:column;gap:8px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}.photo-thumb{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}.photo-thumb img{width:100%;height:100%;object-fit:cover;display:block}.take-photo{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)}.take-photo:hover{border-color:var(--brand);background:var(--brand-soft)}.take-photo.uploading{opacity:.6;cursor:progress}.checklist{display:flex;flex-direction:column;gap:6px}.checklist-progress{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--ink-2);font-variant-numeric:tabular-nums}.checklist-bar{flex:1;height:6px;border-radius:3px;background:var(--hair);overflow:hidden}.checklist-bar 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.checked .checklist-op>span{color:var(--muted);text-decoration:line-through}.checklist-rename{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-new{font-size:13px;border-style:dashed}.card-progress{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}.card-items{width:100%;font-family:var(--sans);font-size:13px;resize:vertical}.card-link{font-size:12.5px}.asg-entry{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)}.asg-entry:hover{border-color:var(--brand);box-shadow:var(--shadow)}.asg-entry-ico{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.asg-entry-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.asg-entry-txt b{font-family:var(--display);font-size:17px;font-weight:650;color:var(--ink)}.asg-entry-txt small{font-size:12.5px;color:var(--muted);font-weight:500}.asg-entry-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}.asg-entry-num.alert{background:var(--crit)}.asg-entry-arrow{font-size:24px;color:var(--muted);line-height:1}.assignments{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)}.asg-inner{max-width:760px;margin:0 auto}.asg-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.asg-back{font-size:14px;padding-left:4px;color:var(--brand)}.asg-reload{font-size:16px;min-width:38px}.asg-title{font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin:4px 0}.asg-sub{color:var(--ink-2);font-size:14px;margin:0 0 16px;line-height:1.45}.asg-filters{display:inline-flex;gap:4px;padding:4px;border-radius:12px;background:var(--panel);border:1px solid var(--line);margin-bottom:18px;max-width:100%}.asg-filters button{border:0;background:transparent;border-radius:9px;padding:7px 13px;display:inline-flex;gap:7px;align-items:center}.asg-filters button span{font-size:11.5px;color:var(--muted);font-variant-numeric:tabular-nums}.asg-filters button.on{background:var(--accent);color:var(--accent-ink)}.asg-filters button.on span{color:color-mix(in srgb,var(--accent-ink) 70%,transparent)}.asg-group{margin-bottom:22px}.asg-project{display:flex;align-items:center;gap:10px;margin:0 2px 8px}.asg-project-name{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}.asg-project-open{font-size:12px;color:var(--brand);flex:none}.asg-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}.asg-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--bar)}.asg-card.st-overdue:before{background:var(--crit)}.asg-card.st-due:before{background:var(--warn)}.asg-card.st-done:before{background:var(--ok)}.asg-card.st-future:before{background:var(--line-strong)}.asg-card:hover,.asg-card:focus-visible{border-color:var(--line-strong);box-shadow:var(--shadow)}.asg-card-top{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}.asg-status,.asg-reason,.asg-chip{font-size:11.5px;font-weight:650;padding:2px 9px;border-radius:999px;white-space:nowrap}.asg-status{background:var(--bar-soft);color:color-mix(in srgb,var(--bar) 70%,var(--ink))}.asg-status.overdue{background:var(--crit-soft);color:var(--crit)}.asg-status.due{background:color-mix(in srgb,var(--warn) 20%,transparent);color:color-mix(in srgb,var(--warn) 60%,var(--ink))}.asg-status.done{background:color-mix(in srgb,var(--ok) 15%,transparent);color:var(--ok)}.asg-status.future{background:var(--hair);color:var(--ink-2)}.asg-reason{background:var(--brand-soft);color:var(--brand)}.asg-chip{background:var(--hair);color:var(--ink-2);font-variant-numeric:tabular-nums}.asg-name{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}.asg-path{font-size:12.5px;color:var(--muted);margin-bottom:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asg-path b{color:var(--ink-2);margin-right:6px;font-weight:650;font-variant-numeric:tabular-nums}.asg-data{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;color:var(--ink-2);margin-bottom:10px}.asg-dates{font-variant-numeric:tabular-nums;font-weight:550}.asg-progress{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:650;color:var(--ink-2);font-variant-numeric:tabular-nums}.asg-bar{flex:1;height:7px;border-radius:4px;background:var(--hair);overflow:hidden}.asg-bar i{display:block;height:100%;border-radius:4px;background:var(--ok)}.asg-fill{margin-top:12px;width:100%;min-height:40px;border-radius:10px;background:var(--brand-soft);color:var(--brand);border-color:transparent;font-weight:650}.asg-fill:hover{background:var(--brand);color:var(--brand-ink)}@media(hover:hover)and (min-width:761px){.asg-fill{position:absolute;right:14px;top:12px;width:auto;min-height:0;margin:0;padding:5px 12px;opacity:0;transition:opacity .14s}.asg-card:hover .asg-fill,.asg-card:focus-within .asg-fill{opacity:1}}.asg-empty{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}.asg-empty b{font-size:16px;color:var(--ink)}.asg-empty-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}.asg-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 28px}@media(max-width:760px){.assignments{padding:12px 14px 90px}.asg-title{font-size:26px}.asg-sub{font-size:13.5px}.asg-filters{display:flex;width:100%}.asg-filters button{flex:1;justify-content:center;padding:9px 6px}.asg-card{padding:14px 14px 14px 17px}.asg-name{font-size:17px}.asg-entry{margin-bottom:14px}.mentions-op{min-height:48px}}.chip.on .chip-at{color:inherit;opacity:.7}@media(hover:none){.asg-fill:hover{background:var(--brand-soft);color:var(--brand)}}.grow .c.cell-na{background:repeating-linear-gradient(135deg,transparent 0 6px,color-mix(in srgb,var(--line) 55%,transparent) 6px 7px);cursor:default}.notice-name{margin:-4px 0 10px;font-size:12px;color:var(--crit);line-height:1.4}.api-key-new{border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:12px;background:var(--brand-soft)}.api-key-row{display:flex;gap:8px;align-items:center;margin-top:6px}.api-key-row code{flex:1;min-width:0;overflow-wrap:anywhere;font-size:12px;-webkit-user-select:all;user-select:all}.api-key-create{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.api-key-create input{flex:1;min-width:160px;width:auto}.api-key-create select{width:auto}.api-key-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:10px}.api-key-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px}.api-key-list li+li{border-top:1px solid var(--hair)}.api-key-list small{display:block}.card-kpis{display:flex;gap:8px;flex-wrap:wrap;padding:10px 16px 0}.card-kpi{display:grid;gap:1px;padding:6px 12px;border:1px solid var(--hair);background:var(--panel-2);border-radius:10px;min-width:130px}.card-kpi>span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.card-kpi b{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}.card-kpi small{font-weight:500;font-size:12px}.muted{color:var(--muted)}.fc-red{color:var(--crit)}.card-tabs{display:flex;gap:2px;padding:6px 10px 0;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;flex:none}.card-tabs::-webkit-scrollbar{display:none}.card-tab{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}.card-tab:hover{color:var(--ink);background:none}.card-tab.active{color:var(--brand);font-weight:600}.card-tab.active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:3px 3px 0 0;background:var(--brand)}.card-tab.hidden{opacity:.5}.card-tab:focus-visible{outline:2px solid var(--focus);outline-offset:-2px;border-radius:6px}.card-tab-ins{font-size:11px;font-weight:600;padding:1px 7px;border-radius:20px;background:var(--accent-soft);color:var(--ink-2)}.card-tab-ins.crit{background:var(--crit-soft);color:var(--crit)}.card-tab-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}.card-tab-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)}.card-tab-org button{padding:4px 9px;font-size:12px}.card-tab-org button:disabled{opacity:.4;cursor:not-allowed}.card-org-tab{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}.card-org-tab+.card-org-view{margin-left:0}.fc-empty{color:var(--muted);font-size:12.5px;line-height:1.45;margin:4px 0}.fc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.fc-head b{font-size:13px;font-variant-numeric:tabular-nums}.fc-head small{color:var(--muted)}.fc-meter-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:12.5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.fc-meter-foot{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-track{position:relative;height:10px;border-radius:6px;background:var(--hair);margin:8px 0 2px}.fc-track>i{position:absolute;inset:0 auto 0 0;border-radius:6px;background:var(--warn);min-width:2px}.fc-track>i.overrun{background:var(--crit)}.fc-track>i.progress{background:var(--bar)}.fc-ideal{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--ink);border-radius:2px}.fc-reading{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-list{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.voided{opacity:.55}.fc-item.voided .fc-item-name,.fc-item.voided .fc-item-amount{text-decoration:line-through}.fc-item-row{display:flex;align-items:baseline;gap:8px;min-width:0}.fc-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.fc-item-amount{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-date{font-size:11.5px;color:var(--muted);min-width:40px;font-variant-numeric:tabular-nums}.fc-label{font-size:10.5px;padding:1px 7px;border-radius:20px;background:var(--brand-soft);color:var(--brand);font-weight:600;white-space:nowrap}.fc-point{width:8px;height:8px;border-radius:2px;flex:none;align-self:center;background:var(--bar)}.fc-point.t-material{background:var(--warn)}.fc-point.t-cost{background:var(--ok)}.fc-actions{display:flex;gap:2px;justify-content:flex-end;margin-top:2px}.fc-actions button{padding:2px 8px;font-size:11.5px}.fc-confirm{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--ink-2)}.fc-confirm 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-field{display:grid;gap:3px;min-width:0}.fc-field>span{font-size:11.5px;color:var(--muted);font-weight:500}.fc-field input,.fc-field select{width:100%;min-width:0}.fc-total{font-size:12.5px;color:var(--ink-2);line-height:1.5}.fc-total.red{color:var(--crit)}.fc-total b{font-variant-numeric:tabular-nums}.fc-slider{display:flex;align-items:center;gap:8px}.fc-slider input[type=range]{flex:1;min-width:0;accent-color:var(--brand)}.fc-slider input[type=number]{width:64px;flex:none}.fc-report{align-self:flex-start}.fc-history{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:0}.fc-history li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px;padding:0 0 12px;position:relative}.fc-history li:before{content:"";position:absolute;left:56px;top:8px;bottom:0;width:2px;background:var(--line)}.fc-history li:last-child:before{display:none}.fc-history li>div{padding-left:14px;position:relative;font-size:13px}.fc-history 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-history li.voided{opacity:.55}.fc-history li.voided>div:before{border-color:var(--muted)}.fc-people{display:flex;align-items:center;gap:10px;margin-top:2px}.fc-stack{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.more{background:var(--accent-soft);color:var(--ink-2)}.fc-summary{font-size:13px;color:var(--ink-2);min-width:0}.fc-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.fc-pills 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-manage-toggle{padding:3px 10px;font-size:12px;color:var(--brand)}.fc-manage{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-manage input[type=search]{width:100%}.fc-options{display:grid;gap:2px;max-height:250px;overflow:auto}.fc-group-title{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.create{color:var(--brand);font-weight:500;border:0;background:none;text-align:left;cursor:pointer;width:100%}.fc-op.create small{color:var(--muted)}.fc-create{display:grid;gap:2px;border-top:1px solid var(--hair);padding-top:6px}.reg-fields{display:flex;flex-direction:column;gap:10px}.reg-field{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-choose{display:grid;gap:6px}.reg-choose button{text-align:left}.reg-reuse{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.reg-reuse ul{list-style:none;margin:0;padding:0;display:grid;gap:4px;max-height:180px;overflow:auto}.reg-reuse label{display:flex;gap:8px;align-items:flex-start;font-size:13px;cursor:pointer}.reg-reuse label input{width:auto;margin-top:3px;accent-color:var(--brand)}.reg-reuse small{display:block;color:var(--muted);font-size:11.5px}.fc-editor-resource{max-width:420px;width:calc(100vw - 32px)}.fc-editor-resource .modal-body{display:grid;gap:10px}.res-sheet-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel)}.sheet-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}.sheet-chip i{width:8px;height:8px;border-radius:2px;background:var(--bar)}.sheet-chip.t-material i{background:var(--warn)}.sheet-chip.t-cost i{background:var(--ok)}.sheet-chip.active{background:var(--sel);border-color:var(--brand);color:var(--brand)}.sheet-sep{width:1px;height:20px;background:var(--line)}.sheet-activity{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.sheet-activity select{max-width:260px;padding:4px 8px;font-size:12.5px}.sheet-voided{display:inline-flex;gap:6px;align-items:center;font-size:12px;color:var(--ink-2);margin-left:auto}.sheet-voided input{width:auto;margin:0;accent-color:var(--brand)}.sheet-new{margin-left:auto;padding:5px 12px;font-size:12.5px}.sheet-execution{overflow:auto;padding:14px;gap:14px}.sheet-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.sheet-kpi{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;display:grid;gap:2px;min-width:0}.sheet-kpi>span{font-size:11.5px;color:var(--muted)}.sheet-kpi b{font:600 20px var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.sheet-kpi small{font-size:12px;color:var(--ink-2)}.sheet-chart{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px 8px;display:grid;gap:8px}.sheet-chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}.sheet-chart-head h4{margin:0;font:600 14px var(--sans)}.sheet-chart-head span{font-size:12px}.sheet-readings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sheet-readings>div{background:var(--panel-2);border-radius:10px;padding:10px 12px;font-size:13.5px;line-height:1.5}.sheet-readings b{font:600 17px var(--display)}.sheet-note{font-size:12px;margin:0}@media(max-width:800px){.sheet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-readings{grid-template-columns:minmax(0,1fr)}}.cx{display:grid;gap:8px}.cx svg{width:100%;height:auto;display:block}.cx-grid{stroke:var(--hair);stroke-width:1}.cx-mark{stroke:var(--line-strong)}.cx-axis{font:11px var(--sans);fill:var(--muted)}.cx-today{stroke:var(--crit);stroke-width:1.5;stroke-dasharray:3 3}.cx-today-t{font:11px var(--sans);fill:var(--crit)}.cx-plan{stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4}.cx-phys{stroke:var(--bar);stroke-width:2.5;stroke-linejoin:round}.cx-end{stroke:var(--warn);stroke-width:2.5;stroke-linejoin:round}.cx-pt-phys{fill:var(--bar);stroke:var(--panel);stroke-width:2}.cx-pt-end{fill:var(--warn);stroke:var(--panel);stroke-width:2}.cx-guide{stroke:var(--ink-2);stroke-width:1}.cx-legend,.cx-reading{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--ink-2);align-items:center}.cx-legend span,.cx-reading span{display:inline-flex;gap:6px;align-items:center}.cx-reading{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.phys{background:var(--bar)}.cx i.end{background:var(--warn)}.cx-empty{padding:36px 16px;text-align:center;color:var(--muted);font-size:13px}.seg-stripe button.on:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.card-tab-empty{grid-column:1 / -1;padding:24px 12px;text-align:center;color:var(--muted);font-size:13px}.fc-committed{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-committed b{color:var(--ink);font-variant-numeric:tabular-nums}.fc-committed b.fc-red{color:var(--crit)}.projects-head-actions{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)}.dropdown{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}.dropdown:hover:not(:disabled){background:var(--hover)}.dropdown.expanded{border-color:var(--brand);background:var(--hover)}.dropdown:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.dropdown-pre{font-size:11px;font-weight:500;color:var(--muted);line-height:1}.dropdown-value{line-height:1}.dropdown-arrow{flex:none;color:var(--muted)}.menu-ctx.dropdown-list{padding:5px}.menu-ctx.dropdown-list button{gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500}.menu-ctx.dropdown-list button.chosen{color:var(--brand);font-weight:600;background:var(--sel)}.menu-ctx.dropdown-list button:focus-visible{outline:none;background:var(--hover)}.menu-ctx.dropdown-list button.chosen:focus-visible{background:var(--sel);box-shadow:inset 0 0 0 1.5px var(--focus)}.dropdown-mark{width:12px;flex:none;font-size:11px;color:var(--brand)}.duration-row{display:flex;gap:8px;align-items:center}.duration-row input{flex:1;min-width:0}.duration-scope{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.duration-scope small{flex-basis:100%;color:var(--muted, #667)}.duration-scope button{height:28px;padding:0 10px;font-size:12px}
