@font-face{font-family:GT Eesti;font-weight:400;font-style:normal;font-display:swap;src:url(/assets/gt-eesti-pro-display-regular-C3R6T-VL.otf)format("opentype")}@font-face{font-family:GT Eesti;font-weight:500;font-style:normal;font-display:swap;src:url(/assets/gt-eesti-pro-display-medium-BZF3M8NV.otf)format("opentype")}@font-face{font-family:GT Eesti;font-weight:600;font-style:normal;font-display:swap;src:url(/assets/gt-eesti-pro-display-medium-BZF3M8NV.otf)format("opentype")}@font-face{font-family:GT Eesti;font-weight:700;font-style:normal;font-display:swap;src:url(/assets/gt-eesti-pro-display-bold-ClZe2kWB.otf)format("opentype")}@font-face{font-family:GT Eesti;font-weight:800;font-style:normal;font-display:swap;src:url(/assets/gt-eesti-pro-display-ubold-xo9iR4Gh.otf)format("opentype")}*,:before,:after{box-sizing:border-box;margin:0;padding:0}.auth-screen{z-index:9000;background:var(--bg);color:var(--text);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-gosha{object-fit:contain;width:84px;height:84px}.auth-title{letter-spacing:-.02em;color:var(--text);margin-bottom:2px;font-family:GT Eesti,Inter,sans-serif;font-size:44px;font-weight:800;line-height:1}.auth-tabs{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:4px;padding:4px;display:inline-flex}.auth-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:background .12s,color .12s}.auth-tab:hover{color:var(--text)}.auth-tab.active{background:var(--accent);color:var(--accent-fg)}.auth-form{flex-direction:column;gap:10px;width:320px;max-width:100%;display:flex}.auth-input{background:var(--surface);border:1px solid var(--border);width:100%;height:44px;color:var(--text);border-radius:10px;outline:none;padding:0 14px;font-family:inherit;font-size:14px;transition:border-color .12s,box-shadow .12s}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.auth-input::placeholder{color:var(--text-muted)}.auth-uhint{color:var(--text-muted);margin:-4px 2px 0;font-size:12px}.auth-uhint.ok{color:var(--accent)}.auth-uhint.taken,.auth-uhint.invalid{color:#e0734f}.auth-modes{background:var(--surface);border:1px solid var(--border);border-radius:10px;gap:4px;padding:4px;display:flex}.auth-mode{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:8px 10px;font-family:inherit;font-size:13px;font-weight:600;transition:background .12s,color .12s}.auth-mode:hover{color:var(--text)}.auth-mode.active{background:var(--accent);color:var(--accent-fg)}.auth-btn{background:var(--accent);width:100%;height:44px;color:var(--accent-fg);cursor:pointer;border:none;border-radius:10px;margin-top:4px;font-family:inherit;font-size:15px;font-weight:700;transition:filter .12s}.auth-btn:hover{filter:brightness(1.08)}.auth-btn:disabled{opacity:.6;cursor:default}.auth-err{color:#e0734f;text-align:center;min-height:16px;font-size:12px}:root{--bg:oklch(96% .006 85);--surface:oklch(100% 0 0);--surface2:oklch(93.5% .005 85);--surface3:oklch(90% .005 85);--border:oklch(87% .006 85);--border-subtle:oklch(92% .005 85);--text:oklch(26% .01 70);--text-secondary:oklch(48% .008 70);--text-muted:oklch(62% .008 70);--accent:oklch(27% .012 70);--accent-fg:oklch(99% .004 85);--accent-dim:oklch(27% .012 70/.07);--accent-border:oklch(27% .012 70/.22);--accent-text:oklch(27% .012 70);--brand-a:oklch(78% .17 50);--brand-b:oklch(70% .16 28);--today:oklch(78% .17 50);--type-dev:oklch(70% .13 248);--type-qa:oklch(72% .13 305);--type-custom:oklch(74% .1 185);--sprint-even:oklch(0% 0 0/.028);--sprint-odd:oklch(0% 0 0/.012);--row-hover:oklch(0% 0 0/.02);--ms-color:oklch(78% .17 50);--ms-bg:oklch(78% .17 50/.12);--ms-border:oklch(78% .17 50/.4);--danger-text:#c0392b;--danger-bg:#dc3c321a;--danger-border:#dc3c3247;--danger-bg-hover:#dc3c322e;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--icon-control-size:28px;--close-control-size:32px;--shadow-sm:0 1px 2px oklch(0% 0 0/.06);--shadow-md:0 8px 24px oklch(0% 0 0/.1), 0 1px 2px oklch(0% 0 0/.05);--shadow-lg:0 24px 80px oklch(0% 0 0/.16), 0 4px 12px oklch(0% 0 0/.08);--z-grid:1;--z-vacation:2;--z-bar:10;--z-marker:14;--z-today:18;--z-sidebar:30;--z-header:40;--z-drag:50;--z-overlay:1000;--z-gantt-portal:12000;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:GT Eesti,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--bg:oklch(18% .008 70);--surface:oklch(22% .008 70);--surface2:oklch(26% .008 70);--surface3:oklch(30% .008 70);--border:oklch(32% .008 70);--border-subtle:oklch(27% .008 70);--text:oklch(96% .008 85);--text-secondary:oklch(72% .008 85);--text-muted:oklch(54% .008 85);--accent:oklch(96% .008 85);--accent-fg:oklch(20% .008 70);--accent-dim:oklch(96% .008 85/.1);--accent-border:oklch(96% .008 85/.26);--accent-text:oklch(96% .008 85);--brand-a:oklch(78% .17 50);--brand-b:oklch(70% .16 28);--today:oklch(78% .17 50);--type-dev:oklch(70% .13 248);--type-qa:oklch(72% .13 305);--type-custom:oklch(74% .1 185);--sprint-even:oklch(100% 0 0/.035);--sprint-odd:oklch(100% 0 0/.012);--row-hover:oklch(100% 0 0/.022);--ms-color:oklch(78% .17 50);--ms-bg:oklch(78% .17 50/.12);--ms-border:oklch(78% .17 50/.4);--danger-text:#fca5a5;--danger-bg:#ef44441a;--danger-border:#ef444440;--danger-bg-hover:#ef444438;--shadow-sm:0 1px 2px oklch(0% 0 0/.3);--shadow-md:0 8px 24px oklch(0% 0 0/.4), 0 2px 4px oklch(0% 0 0/.25);--shadow-lg:0 24px 80px oklch(0% 0 0/.55), 0 4px 12px oklch(0% 0 0/.4);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-size:13px;overflow:hidden}.app:after{content:"";pointer-events:none;z-index:9999;opacity:.04;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.72' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}[data-theme=dark] .app:after{opacity:.045;mix-blend-mode:soft-light}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c8c3b8;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ada79a}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--border)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:oklch(40% .008 70)}.app{flex-direction:column;height:100%;display:flex}.toolbar{background:var(--bg);z-index:100;border:0;flex-shrink:0;align-items:flex-end;gap:10px;height:56px;padding:0 20px;display:flex}.toolbar-brand{color:var(--text);letter-spacing:-.4px;align-items:center;gap:8px;margin-right:4px;font-size:15px;font-weight:800;display:flex}.brand-icon{background:linear-gradient(135deg, var(--brand-a), var(--brand-b));border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.brand-icon svg{width:15px;height:15px}.toolbar-divider{background:var(--border);width:1px;height:28px;margin:0 2px}.toolbar-spacer{flex:1}.toolbar-readonly{letter-spacing:.06em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.toolbar-foreign{background:linear-gradient(90deg,#7c2d12,#9a3412);border-bottom-color:#c2410c}.toolbar-foreign .toolbar-brand,.toolbar-foreign .btn{color:#fff7ed}.toolbar-foreign-badge{color:#fff;background:#00000040;border:1px solid #fdba74;border-radius:5px;flex-shrink:0;align-items:center;gap:8px;padding:4px 9px;font-size:11px;font-weight:700;display:flex}.toolbar-foreign-exit{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:13px;line-height:1}.toolbar-foreign-exit:hover{color:#fed7aa}.mg-header-foreign{background:linear-gradient(90deg,#7c2d12,#9a3412)!important}.mg-foreign-badge{color:#fff;background:#00000040;border:1px solid #fdba74;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700;display:block}.admin-table{border-collapse:collapse;width:100%;font-size:12px}.admin-table th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:6px 8px;font-weight:600}.admin-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:8px}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);height:32px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:0 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .13s;display:flex}.btn svg{stroke-width:1.8px;flex-shrink:0;width:14px;height:14px}.btn:hover{background:var(--surface2);color:var(--text);border-color:var(--accent-border)}.btn.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent-text)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm);font-weight:600}.btn.primary:hover{filter:brightness(1.08)}.btn-danger{background:var(--danger-bg)!important;border-color:var(--danger-border)!important;color:var(--danger-text)!important}.btn-danger:hover{background:var(--danger-bg-hover)!important;border-color:var(--danger-border)!important;color:var(--danger-text)!important}.icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-family:inherit;transition:all .13s;display:flex}.icon-btn.user-btn{width:auto;color:var(--text);letter-spacing:-.01em;padding:0 10px;font-size:12px;font-weight:700}.icon-btn svg{stroke-width:1.8px;width:15px;height:15px}.icon-btn:hover{background:var(--surface2);color:var(--text);border-color:var(--accent-border)}.json-export-glyph{letter-spacing:-.08em;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.app-toast{z-index:2000;border:1px solid var(--border);background:var(--text);color:var(--bg);box-shadow:var(--shadow-lg);white-space:nowrap;border-radius:8px;padding:9px 13px;font-size:11px;font-weight:650;animation:.18s ease-out app-toast-in;position:fixed;bottom:26px;left:50%;transform:translate(-50%)}.app-toast.error{background:var(--danger-text);color:#fff;border-color:#0000}@keyframes app-toast-in{0%{opacity:0;transform:translate(-50%,7px)}to{opacity:1;transform:translate(-50%)}}.btn-group{background:var(--surface2);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px;display:flex}.btn-group .btn{height:26px;color:var(--text-muted);box-shadow:none;background:0 0;border:none;border-radius:5px;padding:0 10px;font-size:11px;font-weight:600}.btn-group .btn:hover{background:var(--surface3);color:var(--text-secondary);border-color:#0000}.btn-group .btn.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);border-color:#0000}.toggle-pill{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;display:flex}.toggle-switch{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:30px;height:16px;transition:all .2s;position:relative}.toggle-switch.on{background:var(--accent);border-color:var(--accent)}.toggle-switch:after{content:"";background:var(--surface);border-radius:50%;width:10px;height:10px;transition:transform .2s;position:absolute;top:2px;left:2px}.toggle-switch.on:after{background:var(--accent-fg);transform:translate(14px)}.main{flex:1;display:flex;overflow:hidden}.pg-gantt-wrapper{min-height:0}.pg-gantt-inner .gantt-header{width:calc(var(--label-w) + var(--timeline-w))}.pg-standard-header-label{text-transform:none;letter-spacing:0;justify-content:space-between;align-items:center;padding:10px 10px 8px 14px;overflow:visible}.pg-library-anchor{flex:1;min-width:0;position:relative}.pg-library-heading{flex-direction:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.pg-owner-tag{text-overflow:ellipsis;white-space:nowrap;background:var(--surface2);max-width:100%;color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:1px 6px;font-size:9px;font-weight:600;overflow:hidden}.pg-library-heading .pg-library-trigger{width:100%}.pg-saved-group{flex-direction:column;gap:2px;display:flex}.pg-saved-group+.pg-saved-group{margin-top:4px}.pg-library-trigger{min-width:0;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:9px;padding:0;font-family:inherit;display:flex}.pg-library-icon{color:#fff;background:linear-gradient(135deg,#5158bb,#2f7d6d);border-radius:10px;flex:none;place-items:center;width:32px;height:32px;font-size:14px;display:grid}.pg-library-copy{flex-direction:column;flex:1;min-width:0;display:flex}.pg-library-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.pg-library-copy small{color:var(--text-muted);margin-top:2px;font-size:10px;font-weight:500}.pg-library-menu{text-transform:none;letter-spacing:0;width:265px;max-height:330px;top:calc(100% + 12px);left:0;right:auto;overflow-y:auto}.pg-saved-list{flex-direction:column;gap:2px;width:100%;max-height:228px;padding:2px;display:flex;overflow-y:auto}.pg-saved-row{align-items:center;gap:2px;display:flex}.pg-saved-row .pg-saved-item{flex:1}.pg-saved-delete{width:22px;height:22px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;font-size:11px;display:grid}.pg-saved-row:hover .pg-saved-delete,.pg-saved-delete:focus-visible{opacity:1}.pg-saved-delete:hover{background:var(--surface2);color:var(--danger,#d9534f)}@media (hover:none){.pg-saved-delete{opacity:1}}.pg-saved-item{align-items:center;min-width:0}.pg-saved-item.active{background:var(--surface2);color:var(--text)}.pg-saved-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.pg-saved-meta{color:var(--text-muted);white-space:nowrap;flex:none;font-size:10px}.pg-library-new{color:var(--accent-text);font-weight:600}.pg-library-empty{color:var(--text-muted);padding:8px 10px 10px;font-size:11px}.pg-gantt-inner{transition:height .42s cubic-bezier(.4,0,.2,1)}.pg-flow-body{transition:height .42s cubic-bezier(.4,0,.2,1);position:relative}.pg-flow-row{display:flex;position:relative}.pg-flow-row.child{pointer-events:none;min-height:0;transition:height .42s cubic-bezier(.4,0,.2,1),opacity .3s;overflow:clip}.pg-flow-row.child.open{pointer-events:auto}.pg-flow-row.drop-target .pg-flow-timeline{background:var(--accent-dim)}.pg-flow-row.reordering .pg-flow-side{opacity:.58}.pg-flow-row.reorder-before .pg-flow-side:after,.pg-flow-row.reorder-before .pg-flow-timeline:after,.pg-flow-row.reorder-after .pg-flow-side:after,.pg-flow-row.reorder-after .pg-flow-timeline:after{content:"";z-index:calc(var(--z-drag) + 1);background:var(--accent);height:2px;box-shadow:0 0 0 2px oklch(from var(--accent) l c h / .12);pointer-events:none;border-radius:999px;position:absolute;left:10px;right:0}.pg-flow-row.reorder-before .pg-flow-side:after,.pg-flow-row.reorder-before .pg-flow-timeline:after{top:-1px}.pg-flow-row.reorder-after .pg-flow-side:after,.pg-flow-row.reorder-after .pg-flow-timeline:after{bottom:-1px}.pg-flow-side{color:var(--text);align-items:center;gap:8px;padding:0 12px 0 14px;display:flex}.pg-flow-side.child{padding-left:42px}.pg-flow-row:hover .pg-flow-side{background:oklch(from var(--accent) l c h / .035)}.pg-flow-chevron{width:var(--icon-control-size);height:var(--icon-control-size);color:var(--text-muted);cursor:pointer;opacity:.55;transform-origin:50%;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;transition:transform .2s,color .15s,opacity .15s,background .15s;display:grid}.pg-flow-chevron:before{content:"";border-bottom:2px solid;border-right:2px solid;border-radius:1px;width:8px;height:8px;transform:rotate(-45deg)}.pg-flow-chevron.open{transform:rotate(90deg)}.pg-flow-chevron:hover{color:var(--text-secondary);background:var(--surface2);opacity:.9}.pg-flow-chevron-spacer{width:var(--icon-control-size);flex:none}.pg-flow-dot{border-radius:3px;flex:none;width:9px;height:9px}.pg-project-size{background:var(--surface);letter-spacing:.035em;border:1px solid;border-radius:6px;flex:none;place-items:center;min-width:25px;height:17px;padding:0 4px;font-size:8.5px;font-weight:800;line-height:1;display:inline-grid}.pg-flow-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;letter-spacing:-.012em;flex:1;font-size:13.5px;font-weight:700;line-height:1.1;overflow:hidden}.pg-flow-side.child{gap:7px}.pg-flow-side.child .pg-flow-dot{opacity:.82;border-radius:50%;width:7px;height:7px}.pg-flow-side.child .pg-flow-name{color:var(--text-secondary);letter-spacing:.012em;font-size:11.5px;font-weight:500;line-height:1.1}.pg-row-action{width:0;height:var(--icon-control-size);background:var(--surface);color:var(--text-muted);cursor:pointer;opacity:0;pointer-events:none;border:0 solid #0000;border-radius:7px;flex:none;place-items:center;margin-left:-8px;transition:width .2s cubic-bezier(.2,.8,.2,1),margin-left .2s cubic-bezier(.2,.8,.2,1),opacity .14s 30ms,transform .2s cubic-bezier(.2,.8,.2,1),color .12s,background .12s,border-color .12s;display:grid;overflow:hidden;transform:scale(.88)}.pg-flow-side.child .pg-row-action{margin-left:-7px}.pg-row-action svg{width:14px;height:14px}.pg-flow-row:hover .pg-row-action,.pg-row-action:focus-visible{width:var(--icon-control-size);border-width:1px;border-color:var(--border);opacity:1;pointer-events:auto;margin-left:0;transform:scale(1)}.pg-row-action:hover{color:var(--accent-text);background:var(--accent-dim)}.pg-edit-row svg{width:11px;height:11px}.pg-reorder-root{cursor:grab;touch-action:none}.pg-reorder-root:active{cursor:grabbing}.pg-reorder-grip{background-image:radial-gradient(circle,currentColor 1.25px,#0000 1.5px);background-position:0 0;background-size:5px 5px;width:10px;height:14px;display:block}.pg-flow-timeline{position:relative}.pg-flow-grid{opacity:.75;pointer-events:none;display:flex;position:absolute;inset:0}.pg-flow-grid-cell{border-right:1px solid var(--border-subtle);flex:none;height:100%}.pg-free-bar{height:25px;z-index:var(--z-bar);color:#fff;cursor:grab;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;transition:top .42s cubic-bezier(.4,0,.2,1),height .42s cubic-bezier(.4,0,.2,1),border-radius .3s,box-shadow .3s,opacity .3s;display:flex;position:absolute;overflow:hidden;box-shadow:0 2px 6px oklch(0% 0 0/.17)}.pg-free-bar.dragging{z-index:var(--z-drag);opacity:.86;box-shadow:0 6px 18px oklch(0% 0 0/.25)}.pg-free-bar.aggregate{transform-origin:50%;background-image:linear-gradient(90deg,#ffffff29,#0000);border-radius:10px;height:31px}.pg-free-bar.aggregate.dragging{cursor:grabbing}.pg-free-bar.aggregate:hover>.group-resize-handle:after{opacity:1}.pg-free-bar.summary{height:18px;box-shadow:none;color:var(--text-secondary);cursor:default;transform-origin:50%;border-radius:999px;overflow:visible}.pg-free-bar.summary.editable{cursor:pointer}.pg-free-bar.summary:before{content:"";background:var(--pg-bar-color);opacity:.38;border-radius:999px;height:4px;position:absolute;top:7px;left:0;right:0}.pg-free-bar.summary .pg-free-bar-name{z-index:1;background:var(--surface);max-width:calc(100% - 14px);color:var(--text-secondary);letter-spacing:.01em;text-align:center;border-radius:999px;flex:none;margin:0;padding:1px 7px 2px;font-size:9.5px;font-weight:650;position:absolute;top:0}@media (prefers-reduced-motion:reduce){.pg-free-bar,.pg-gantt-inner,.pg-flow-body,.pg-flow-row.child,.pg-row-action{transition:none}}.pg-free-bar-name{text-overflow:ellipsis;white-space:nowrap;will-change:transform;flex:1;min-width:0;padding:0 9px;font-size:10.5px;font-weight:700;overflow:hidden}.pg-free-bar:not(.summary) .pg-free-bar-name{--pg-hatch-label:#4b4742;color:#0000;background-image:linear-gradient(90deg, #fff 0 var(--bar-progress,0%), var(--pg-hatch-label) var(--bar-progress,0%) 100%);background-position:calc(var(--bar-label-offset,0px) * -1) 0;background-repeat:no-repeat;background-size:var(--bar-label-width,100%) 100%;-webkit-background-clip:text;background-clip:text}[data-theme=dark] .pg-free-bar:not(.summary) .pg-free-bar-name{--pg-hatch-label:#d8d3cc}.pg-free-bar .resize-handle{height:100%;top:0}.vg-cf-team.reordering{opacity:.62}.vg-cf-team.reorder-before:after,.vg-cf-team.reorder-after:after{content:"";z-index:calc(var(--z-drag) + 1);background:var(--accent);height:2px;box-shadow:0 0 0 2px oklch(from var(--accent) l c h / .12);pointer-events:none;border-radius:999px;position:absolute;left:10px;right:0}.vg-cf-team.reorder-before:after{top:-1px}.vg-cf-team.reorder-after:after{bottom:-1px}.pg-flow-add .vg-tf-side{background:var(--bg)}.pg-flow-sprint-band{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0}.pg-flow-today{z-index:var(--z-today);border-left:1.5px dashed oklch(from var(--today) l c h / .6);pointer-events:none;position:absolute;top:0;bottom:0}.pg-flow-milestone{margin-left:0!important;top:0!important}.pg-header-markers{z-index:9;pointer-events:none;height:0;position:absolute;left:0;right:0}.pg-header-markers .today-chip{bottom:auto;transform:translate(-50%,-50%)}.pg-header-markers .milestone-header-chip{pointer-events:auto;top:0}.pg-header-add-btns{z-index:50;align-items:center;gap:6px;display:flex;position:absolute;right:14px;transform:translateY(-50%)}.pg-header-add-btns .sprint-add-btn{position:static;transform:none}.pg-milestone-add{color:var(--ms-color);border-color:var(--ms-border)}.pg-bar-tooltip{min-width:216px}.tooltip-comment{border:1px solid var(--ms-border);background:var(--ms-bg);color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;align-items:flex-start;gap:7px;margin-top:8px;padding:7px 9px 8px;font-size:11px;line-height:1.35;display:flex}.tooltip-comment:before{content:"!";background:var(--ms-color);width:14px;height:14px;color:var(--surface);border-radius:50%;flex:none;place-items:center;margin-top:1px;font-size:10px;font-weight:800;line-height:1;display:grid}.pg-comment-input{height:auto;min-height:64px;font:inherit;resize:vertical;padding:10px 11px;font-size:12.5px;line-height:1.4}.pg-link-layer{z-index:calc(var(--z-bar) - 1);pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.pg-link-wire{fill:none;stroke:var(--pg-link-color,var(--accent));stroke-width:2.2px;stroke-linecap:round;opacity:.72;transition:opacity .15s,stroke-width .15s}.pg-link-hit{fill:none;stroke:#0000;stroke-width:16px;stroke-linecap:round;pointer-events:stroke;cursor:pointer}.pg-link-plug{fill:var(--pg-link-color,var(--accent));opacity:.85}.pg-link:hover .pg-link-wire{stroke-width:3px;opacity:1}.pg-link-cut{opacity:0;pointer-events:none;cursor:pointer;transition:opacity .14s}.pg-link-cut circle{fill:var(--surface);stroke:var(--border);stroke-width:1px}.pg-link-cut path{stroke:var(--text-secondary);stroke-width:1.6px;stroke-linecap:round}.pg-link:hover .pg-link-cut{opacity:1;pointer-events:auto}.pg-link-cut:hover circle{fill:var(--danger-dim,var(--surface2));stroke:var(--text-muted)}.pg-link--draft .pg-link-wire{stroke:var(--accent);stroke-dasharray:5 6;opacity:.95}.pg-link-knob{z-index:calc(var(--z-bar) + 1);background:var(--surface);width:12px;height:12px;box-shadow:0 0 0 2px oklch(from var(--pg-bar-color,var(--accent)) l c h / .9), 0 1px 3px oklch(0% 0 0/.3);opacity:0;cursor:crosshair;touch-action:none;pointer-events:none;border-radius:50%;margin:-6px 0 0 -6px;transition:opacity .13s,transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;transform:scale(.25)}.pg-flow-row:hover .pg-link-knob,.pg-link-knob.active{opacity:1;pointer-events:auto;transform:scale(1)}.pg-link-knob:hover,.pg-link-knob.active{transform:scale(1.3)}.pg-free-bar.link-target{outline:2px solid var(--accent);outline-offset:1px}@media (prefers-reduced-motion:reduce){.pg-link-knob{transition:none}}.pg-modal-overlay{z-index:var(--z-gantt-portal)}.pg-modal{width:420px;max-width:calc(100vw - 24px)}.pg-save-modal{width:380px;max-width:calc(100vw - 24px)}.pg-modal-body{flex-direction:column;gap:14px;padding:18px;display:flex}.pg-modal-footer{justify-content:space-between}.pg-colors{gap:8px;display:flex}.pg-color{cursor:pointer;border:2px solid #0000;border-radius:8px;width:28px;height:28px}.pg-color.active{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.pg-mobile-nav{display:none}@media (width<=767px){.pg-gantt-wrapper{height:100dvh}.pg-mobile-nav{background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:0 10px;display:flex}.pg-mobile-nav strong{font-size:13px}.pg-gantt-layout{padding-top:8px}.pg-library-icon{display:none}}.play-mobile-bar{background:var(--surface);border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:0 10px;display:flex}.play-mobile-bar strong{white-space:nowrap;font-size:13px}.play-mobile-actions{flex:none;align-items:center;gap:2px;display:flex}.play-mobile-bar .share-view-anchor .btn{padding:0 10px}.data-menu.play-share-menu{min-width:320px;max-width:min(420px,100vw - 24px);padding:6px;right:0}.data-menu.play-share-menu .data-menu-item{gap:8px}.data-menu.play-share-menu .data-menu-item svg{flex:none;width:15px;height:15px}.data-menu.play-share-menu .share-view-title{font-size:11px}.data-menu.play-share-menu .play-share-item{flex-direction:column;align-items:flex-start;gap:1px;min-width:0;display:flex}.data-menu.play-share-menu .play-share-item small{color:var(--text-muted);white-space:normal;font-size:10px;line-height:1.35}.play-share-hint{color:var(--text-muted);white-space:normal;padding:8px 10px 4px;font-size:10px;line-height:1.45}.public-gantt-state{height:100%;color:var(--text-muted);background:var(--bg);place-items:center;font-size:14px;display:grid}.public-gantt .gantt-layout{padding-top:16px}.sync-conflict{z-index:13000;border:1px solid var(--today);background:var(--surface);width:min(680px,100vw - 24px);box-shadow:var(--shadow-lg);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.sync-conflict-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.sync-conflict-copy span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sync-conflict-actions{flex:none;gap:6px;display:flex}.save-status{z-index:13000;border:1px solid var(--danger,#e07878);background:var(--surface);width:min(680px,100vw - 24px);box-shadow:var(--shadow-lg);border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%)}.save-status-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.save-status-copy span{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.sync-conflict~.save-status{bottom:88px}.save-status:has(~.sync-conflict){bottom:88px}@media (width<=640px){.sync-conflict{flex-direction:column;align-items:stretch;bottom:10px}.sync-conflict-actions .btn{flex:1}.save-status{flex-direction:column;align-items:stretch;bottom:10px}.save-status:has(~.sync-conflict){bottom:108px}}.presentation-only .gantt-ws-identity,.presentation-only .proj-pill,.presentation-only .timeline-clickable{cursor:default}.presentation-only .row-edit-btn,.presentation-only .row-add-btn,.presentation-only .gantt-ghost-add,.presentation-only .sprint-add-btn,.presentation-only .resize-handle,.presentation-only .proj-menu-actions,.presentation-only .group-edit{display:none!important}.share-view-anchor{position:relative}.share-view-menu{width:310px;max-height:min(440px,100vh - 76px);right:0;overflow-y:auto}.share-view-create{color:var(--accent-text);font-weight:700}.share-view-row{grid-template-columns:minmax(0,1fr) 28px;align-items:center;display:grid}.share-view-row .data-menu-item{min-width:0}.share-view-title{text-overflow:ellipsis;white-space:nowrap;text-align:left;flex:1;min-width:0;overflow:hidden}.share-view-copy{color:var(--text-muted);margin-left:8px;font-size:10px}.share-view-revoke{width:24px;height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:5px;font-size:17px}.share-view-revoke:hover{color:var(--danger-text);background:var(--danger-bg)}.png-export-spinner{border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite png-spin}@keyframes png-spin{to{transform:rotate(360deg)}}.png-export-inline-error{z-index:600;background:var(--danger-bg);color:var(--danger-text);border-radius:7px;padding:7px 10px;font-size:11px;position:absolute;top:62px;right:190px}.png-preview-overlay{padding:3vh 3vw}.modal.png-preview-modal{width:78vw;max-width:none;height:84vh;max-height:none}.png-preview-size{color:var(--text-muted);font-size:11px}.png-preview-close{border:1px solid #0000;border-radius:9px;width:32px;height:32px;margin-left:2px}.png-preview-close svg{width:16px;height:16px}.png-preview-close svg path{stroke:currentColor;stroke-width:1.8px;stroke-linecap:round}.png-preview-close:hover{border-color:var(--border);background:var(--surface);box-shadow:var(--shadow-sm)}.png-preview-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.png-preview-body{background:var(--surface2);flex:1;place-items:center;min-height:0;padding:18px;display:grid;overflow:auto}.png-preview-body img{width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:var(--shadow-md);border-radius:10px;display:block}.png-preview-footer{justify-content:flex-end}.png-preview-message{color:var(--text-muted);flex:1;font-size:12px}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:210px;display:flex;overflow-y:auto}.sidebar-section{padding:14px 10px 6px}.sidebar-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:center;margin-bottom:6px;padding:0 6px;font-size:10px;font-weight:600;display:flex}.sidebar-item{cursor:pointer;color:var(--text-secondary);border-radius:5px;align-items:center;gap:8px;padding:5px 6px;font-size:12px;transition:background .12s;display:flex}.sidebar-item:hover{background:var(--surface2);color:var(--text)}.sidebar-item.active{background:var(--accent-dim);color:var(--accent-text)}.sidebar-add-btn{border:1px solid var(--border);width:20px;height:20px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;margin-left:auto;font-family:inherit;font-size:14px;line-height:1;transition:all .12s;display:flex}.sidebar-add-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sidebar-edit-btn{color:#0000;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-family:inherit;font-size:10px;transition:all .12s;display:flex}.sidebar-team-item:hover .sidebar-edit-btn,.sidebar-project-item:hover .sidebar-edit-btn{color:var(--text-muted)}.sidebar-edit-btn:hover{background:var(--surface2)!important;color:var(--text)!important}.sidebar-item.project-filtered{background:var(--accent-dim);color:var(--accent-text);border:1px solid var(--accent-border)}.sidebar-item.project-filtered:hover{filter:brightness(1.06)}.filter-clear-btn{border:1px dashed var(--accent-border);color:var(--accent-text);opacity:.7;cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:4px;width:calc(100% - 12px);margin:4px 6px 0;padding:4px 8px;font-family:inherit;font-size:10px;transition:all .12s;display:flex}.filter-clear-btn:hover{background:var(--accent-dim);opacity:1}.team-icon{background:var(--surface2);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.avatar{color:oklch(99% 0 0);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:flex;box-shadow:0 1px 4px oklch(0% 0 0/.3)}.avatar-tile{width:26px;height:26px;box-shadow:inset 0 0 0 1px oklch(0% 0 0/.15),0 1px 3px oklch(0% 0 0/.25)}.proj-code{letter-spacing:.02em;color:var(--text-muted);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:600}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.badge{letter-spacing:.03em;border-radius:3px;flex-shrink:0;padding:1px 5px;font-size:9px;font-weight:700}.badge-dev{color:#93c5fd;background:#3b82f62e}.badge-qa{color:#c4b5fd;background:#a855f72e}.row-role-badge{letter-spacing:.06em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}.row-role-badge.dev{background:oklch(from var(--type-dev) l c h / .18);color:var(--type-dev)}.row-role-badge.qa{background:oklch(from var(--type-qa) l c h / .18);color:var(--type-qa)}.row-role-badge{background:var(--surface2);color:var(--text-secondary)}.member-row{border-bottom:1px solid var(--border);padding:10px 0}.member-row:last-child{border-bottom:none}.member-head{align-items:center;gap:10px;margin-bottom:6px;display:flex}.member-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:600}.member-role-select{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);border-radius:5px;padding:2px 6px;font-size:11px}.member-teams{flex-wrap:wrap;gap:6px;display:flex}.member-teams-note{color:var(--text-muted);font-size:11px;font-style:italic}.member-team-chip{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:12px;padding:3px 9px;font-size:11px;transition:all .12s}.member-team-chip.on{border-color:var(--accent);background:oklch(from var(--accent) l c h / .15);color:var(--accent)}.member-team-chip:disabled{cursor:default;opacity:.55}.sidebar-team-selector{border-bottom:1px solid var(--border);position:relative}.sidebar-team-current{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 8px 10px 12px;transition:background .12s;display:flex}.sidebar-team-current:hover{background:var(--surface2)}.sidebar-team-chevron{color:var(--text-muted);opacity:.7;flex-shrink:0;font-size:9px}.sidebar-team-current:hover .sidebar-edit-btn{color:var(--text-muted)}.sidebar-team-arrow{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;padding:2px;transition:transform .2s,color .12s;display:flex}.sidebar-team-arrow.open{color:var(--text);transform:rotate(180deg)}.sidebar-team-current:hover .sidebar-team-arrow{color:var(--text)}.sidebar-team-menu{background:var(--surface);border:1px solid var(--border);z-index:200;box-shadow:var(--shadow-md);border-top:none;border-radius:0 0 8px 8px;position:absolute;top:100%;left:0;right:0;overflow:hidden}.sidebar-team-menu-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .1s;display:flex}.sidebar-team-menu-item:hover{background:var(--surface2);color:var(--text)}.sidebar-team-menu-add{color:var(--accent);border-top:1px solid var(--border);font-weight:500}.sidebar-team-menu-add:hover{color:var(--accent)}.sidebar-project-dots{border-bottom:1px solid var(--border);flex-direction:column;gap:5px;padding:7px 12px;display:flex}.sidebar-dots-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.sidebar-dots-row{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.project-dot{cursor:pointer;border-radius:50%;flex-shrink:0;width:14px;height:14px;transition:transform .15s,outline .15s}.project-dot:hover{transform:scale(1.25)}.project-dot.filtered{outline:2px solid var(--text);outline-offset:2px}.dots-add-btn{border:1.5px dashed var(--border);width:14px;height:14px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;line-height:1;transition:all .12s;display:flex}.dots-add-btn:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.15)}.sidebar-filter-active{color:var(--accent-text);background:var(--accent-dim);border-radius:4px;align-items:center;gap:5px;padding:3px 6px;font-size:10px;display:flex}.dots-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-family:inherit;font-size:9px;line-height:1;transition:color .1s}.dots-clear-btn:hover{color:var(--today)}.sidebar-member-item:hover .sidebar-edit-btn{color:var(--text-muted)}.gantt-label-row{border-bottom:1px solid var(--border);align-items:center;display:flex;position:relative;overflow:visible}.gantt-label-row--team{background:var(--surface)}.gantt-team-current{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;height:100%;padding:0 0 0 12px;transition:background .12s;display:flex}.gantt-team-current:hover{background:var(--surface2)}.gantt-team-current:hover .sidebar-edit-btn{color:var(--text-muted)}.gantt-proj-selector{flex:1;align-items:center;width:100%;display:flex;position:relative}.gantt-proj-selector>.proj-pill{margin-right:4px}.gantt-proj-selector>.vg-expand-all-btn{margin-right:12px}.gantt-proj-current{cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;align-items:center;gap:7px;height:100%;padding:0 0 0 14px;transition:background .12s;display:flex}.gantt-proj-current:hover{background:var(--surface2)}.gantt-proj-label{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:11px;font-weight:600;overflow:hidden}.gantt-proj-menu{background:var(--surface);border:1px solid var(--border);width:auto;max-width:none;max-height:min(520px,100vh - 170px);z-index:var(--z-overlay);box-shadow:var(--shadow-lg);border-radius:12px;padding:6px;position:absolute;top:calc(100% + 4px);left:12px;right:12px;overflow:hidden auto}.gantt-proj-menu-item{color:var(--text-secondary);cursor:pointer;text-transform:none;border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;transition:background .1s;display:flex}.gantt-proj-menu-item:hover{background:var(--surface2);color:var(--text)}.gantt-proj-menu-item.active{background:var(--accent-dim);color:var(--text)}.proj-menu-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.proj-menu-check{color:var(--accent-text);flex-shrink:0;font-size:12px}.proj-menu-actions{opacity:0;flex-shrink:0;transition:opacity .1s;display:inline-flex}.gantt-proj-menu-item:hover .proj-menu-actions,.sidebar-team-menu-item:hover .proj-menu-actions{opacity:1}.gantt-proj-menu-item:hover .proj-menu-check,.sidebar-team-menu-item:hover .proj-menu-check{display:none}.proj-menu-actions button{width:20px;height:20px;color:var(--text-muted);background:0 0;border:none;place-items:center;display:inline-grid}.proj-menu-actions button svg{width:13px;height:13px}.proj-menu-actions button:hover{color:var(--text);background:0 0}.gantt-proj-clear{color:var(--today);border-bottom:1px solid var(--border);font-size:11px}.gantt-proj-clear:hover{color:var(--today);background:#f0707012}.gantt-proj-add{color:var(--accent);border-top:1px solid var(--border);font-weight:500}.gantt-proj-add:hover{color:var(--accent)}.gantt-ws-identity{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;height:52px;padding:0 10px 0 14px;transition:background .12s;display:flex}.gantt-ws-identity:hover{background:var(--surface2)}.ws-tile{background:linear-gradient(135deg, var(--brand-a), var(--brand-b));color:oklch(99% 0 0);text-transform:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:flex;box-shadow:0 1px 4px oklch(0% 0 0/.25)}.ws-name{align-items:center;gap:5px;display:flex}.ws-name-text{color:var(--text);letter-spacing:0;text-transform:none;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.ws-chevron{color:var(--text-muted);flex-shrink:0;align-items:center;transition:transform .2s,color .12s;display:flex}.ws-chevron.open{color:var(--text);transform:rotate(180deg)}.ws-sub{color:var(--text-muted);letter-spacing:0;text-transform:none;margin-top:2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500}.proj-pill{border:1px solid var(--border);background:var(--surface2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;flex:1;align-items:center;gap:7px;height:28px;margin:0 12px;padding:5px 10px;transition:border-color .12s,background .12s;display:flex}.proj-pill:hover{border-color:var(--accent)}.proj-pill-dots{flex-shrink:0;align-items:center;display:flex}.proj-pill-dot{border:1.5px solid var(--surface);border-radius:50%;width:11px;height:11px;position:relative}.proj-pill-label{min-width:0;color:var(--text);letter-spacing:0;text-transform:none;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11px;font-weight:600;overflow:hidden}.gantt-proj-menu-sep{background:var(--border);height:1px;margin:2px 0}.gantt-proj-menu-heading{letter-spacing:.02em;text-transform:none;color:var(--text-muted);padding:6px 10px 4px;font-size:10px;font-weight:600}.gantt-proj-primary{color:var(--accent);border:none;font-weight:600}.gantt-proj-primary svg{width:13px;height:13px}.gantt-proj-primary .kbd{margin-left:auto}.gantt-add-row{cursor:pointer}.gantt-add-label{color:var(--text-muted);gap:10px;transition:color .12s,background .12s}.gantt-add-row:hover .gantt-add-label{color:var(--text);background:var(--surface2)}.add-member-icon{border:1.5px dashed var(--border);width:28px;height:28px;color:inherit;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.add-member-icon svg{width:14px;height:14px}.add-member-text{font-size:12px;font-weight:600}.gantt-wrapper{background:var(--bg);flex-direction:column;flex:1;min-width:0;padding:0;display:flex;overflow:hidden}.gantt-layout{grid-template-columns:var(--label-w,256px) minmax(0, 1fr);flex:1;grid-template-rows:fit-content(100%);align-items:stretch;gap:0;min-width:0;min-height:0;padding:16px 16px 16px 0;display:grid;position:relative}.gantt-sidebar-viewport{background:0 0;min-width:0;min-height:0;overflow:hidden}.pg-gantt-layout .gantt-sidebar-viewport{z-index:1;position:relative;overflow:visible}.pg-gantt-layout .gantt-canvas{z-index:0}.gantt-sidebar-scroll{scrollbar-width:none;will-change:transform;background:0 0;width:100%;height:100%;overflow:visible}.gantt-sidebar-scroll::-webkit-scrollbar{display:none}.gantt-sidebar-resizer{z-index:calc(var(--z-sidebar) + 2);top:16px;bottom:16px;left:calc(var(--label-w,256px) - 6px);cursor:col-resize;touch-action:none;border:0;outline:none;width:12px;position:absolute}.gantt-sidebar-resizer:before{content:"";background:var(--border);opacity:0;border-radius:99px;width:2px;transition:opacity .14s,background .14s,box-shadow .14s;position:absolute;top:14px;bottom:14px;left:50%;transform:translate(-50%)}.gantt-sidebar-resizer:hover:before,.gantt-sidebar-resizer:focus-visible:before,.gantt-layout.is-resizing-sidebar .gantt-sidebar-resizer:before{opacity:1;background:var(--text-muted);box-shadow:0 0 0 3px oklch(from var(--surface) l c h / .82)}body.gantt-sidebar-is-resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.gantt-sidebar-is-resizing *{cursor:col-resize!important}.gantt-canvas{isolation:isolate;background:var(--surface);min-width:0;min-height:0;box-shadow:var(--shadow-md);border:0;border-radius:24px;display:flex;position:relative;overflow:hidden}.gantt-scroll{border-radius:inherit;scrollbar-width:thin;scrollbar-color:transparent transparent;width:100%;height:100%;position:relative;overflow:auto}.gantt-scroll::-webkit-scrollbar{background:0 0;width:6px;height:6px}.gantt-scroll::-webkit-scrollbar-track{background:0 0}.gantt-scroll::-webkit-scrollbar-corner{background:0 0}.gantt-scroll::-webkit-scrollbar-thumb{background:0 0;border-radius:999px}.gantt-scroll.is-scrolling{scrollbar-color:#c8c3b8 transparent}.gantt-scroll.is-scrolling::-webkit-scrollbar-thumb{background:#c8c3b8}[data-theme=dark] .gantt-scroll.is-scrolling{scrollbar-color:var(--border) transparent}[data-theme=dark] .gantt-scroll.is-scrolling::-webkit-scrollbar-thumb{background:var(--border)}.gantt-inner{position:relative}.gantt-inner--sidebar{min-width:var(--label-w)!important}.gantt-inner--sidebar .gantt-header{width:var(--label-w)}.gantt-inner--sidebar .gantt-timeline-header,.gantt-inner--sidebar .vg-tf-tl,.gantt-inner--sidebar .gantt-row-content,.gantt-inner--sidebar .vg-tf-bg,.gantt-inner--sidebar>.milestone-column,.gantt-inner--sidebar>.dep-svg{display:none!important}.gantt-inner--timeline{width:var(--timeline-w)!important;min-width:var(--timeline-w)!important}.gantt-inner--timeline .gantt-header-label,.gantt-inner--timeline .vg-tf-side,.gantt-inner--timeline .gantt-row-label{display:none!important}.gantt-inner--timeline .gantt-header,.gantt-inner--timeline .vg-tflow{width:var(--timeline-w)!important;min-width:var(--timeline-w)!important}.gantt-inner--timeline .vg-tf-bg,.gantt-inner--timeline .dep-svg{left:0!important}.gantt-inner--timeline .milestone-column,.gantt-inner--timeline .vacation-group-zone{margin-left:calc(-1 * var(--label-w))}.gantt-header{z-index:var(--z-header);background:var(--surface);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.gantt-header.has-open-menu{z-index:var(--z-overlay)}.gantt-header-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);z-index:calc(var(--z-header) + 1);background:var(--bg);box-shadow:none;border:0;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding:0 8px 6px 14px;font-size:10px;font-weight:600;display:flex;position:sticky;left:0}.gantt-timeline-header{flex-shrink:0;position:relative;overflow:hidden}.timeline-row{display:flex;position:relative}.timeline-cell{color:var(--text-muted);border-right:1px solid var(--border-subtle);white-space:nowrap;flex-shrink:0;align-items:center;padding-left:8px;font-size:11px;display:flex;overflow:hidden}.timeline-cell.top{color:var(--text);border-bottom:0;font-size:12px;font-weight:600}.timeline-cell.is-today{color:var(--today)!important;font-weight:700!important}.timeline-cell.weekend{color:var(--text-muted);opacity:.6}.timeline-cell.day{flex-direction:column;justify-content:center;align-items:center;gap:1px;padding-left:0}.timeline-cell.day .tc-dow{color:var(--text-muted);text-transform:uppercase;font-size:9px;font-weight:600;line-height:1}.timeline-cell.day .tc-num{font-size:11px;line-height:1}.timeline-cell.day.is-today .tc-dow{color:var(--today)}.timeline-clickable{cursor:pointer}.timeline-clickable:hover{background:var(--accent-dim);color:var(--accent-text)!important}.sprint-names-row{background:0 0;border-bottom:0;flex-shrink:0;display:block!important;position:relative!important}.sprint-bracket{cursor:pointer;justify-content:center;align-items:center;height:100%;transition:filter .12s;display:flex;position:absolute;top:0}.sprint-bracket:hover .sprint-bracket-name{color:var(--text)}.sprint-bracket-line{background:oklch(from var(--accent) l c h / .28);height:1px;position:absolute;top:50%;left:5px;right:5px}.sprint-bracket:hover .sprint-bracket-line{background:oklch(from var(--accent) l c h / .5)}.sprint-bracket-label{z-index:1;background:var(--surface);flex-direction:column;align-items:center;gap:1px;max-width:calc(100% - 18px);padding:0 9px;display:flex;position:relative;overflow:hidden}.sprint-bracket-name{letter-spacing:.02em;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;transition:color .12s;overflow:hidden}.sprint-bracket-active{color:var(--text-secondary);opacity:.7;font-size:9px;font-weight:500}.sprint-bracket-dur{color:var(--text-muted);flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:500}.sprint-bracket.is-active .sprint-bracket-line{background:oklch(from var(--accent) l c h / .45)}.sprint-add-btn{border:1px dashed oklch(from var(--accent) l c h / .5);background:oklch(from var(--accent) l c h / .08);height:19px;color:var(--text-secondary);letter-spacing:.02em;white-space:nowrap;opacity:.78;cursor:pointer;z-index:2;border-radius:10px;align-items:center;gap:4px;padding:0 9px 0 6px;font-size:10.5px;font-weight:600;transition:opacity .12s,color .12s,border-color .12s,border-style .12s,background .12s;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.sprint-add-btn:hover{opacity:1;color:var(--accent);border-color:var(--accent);background:oklch(from var(--accent) l c h / .14);border-style:solid}.sprint-add-btn svg{flex-shrink:0;width:10px;height:10px}.vacation-zone{top:var(--vac-inset,4px);bottom:var(--vac-inset,4px);z-index:14;cursor:pointer;min-height:8px;box-shadow:inset 0 0 0 1px oklch(from var(--accent) l c h / .28);background-color:#ffffff0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13'%3E%3Ctext y='10' font-size='9' opacity='0.5'%3E%F0%9F%8C%B4%3C/text%3E%3C/svg%3E");background-size:13px 13px;border-radius:7px;transition:box-shadow .12s,background-color .12s;position:absolute;overflow:hidden}.vacation-zone:hover{box-shadow:inset 0 0 0 1px oklch(from var(--accent) l c h / .55);background-color:#ffffff1f}.vacation-tooltip{min-width:204px;padding:10px 12px}.vacation-tooltip .tooltip-header{margin-bottom:7px;padding-bottom:7px}.vacation-tooltip-icon{background:oklch(from var(--accent) l c h / .1);border-radius:7px;place-items:center;width:22px;height:22px;font-size:13px;display:grid}.vacation-tooltip-dates{color:var(--text);white-space:nowrap;font-size:12px;font-weight:600}.proj-detail-section{border-top:1px solid var(--border-subtle);margin-top:14px;padding-top:12px}.proj-detail-head{align-items:center;gap:6px;margin-bottom:7px;display:flex}.proj-detail-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.proj-detail-count{color:var(--text-secondary);background:var(--surface2);border-radius:9px;padding:1px 7px;font-size:10.5px;font-weight:600}.proj-detail-empty{color:var(--text-muted);padding:2px 0;font-size:12px}.proj-people-row{flex-wrap:wrap;gap:6px;display:flex}.proj-person-chip{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:14px;align-items:center;gap:6px;padding:3px 9px 3px 3px;font-size:12px;transition:border-color .12s,color .12s;display:inline-flex}.proj-person-chip:hover{border-color:var(--accent);color:var(--text)}.proj-person-av{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:9px;font-weight:700;display:inline-flex}.proj-person-av.sm{width:18px;height:18px;font-size:8.5px}.proj-task-list{flex-direction:column;gap:3px;max-height:190px;display:flex;overflow-y:auto}.proj-task-row{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:8px;width:100%;padding:6px 8px;transition:background .12s;display:flex}.proj-task-row:hover{background:oklch(from var(--text-muted) l c h / .1)}.proj-task-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.proj-task-assignee{flex-shrink:0;display:inline-flex}.today-chip{background:var(--today);color:#fbfaf7;letter-spacing:.08em;pointer-events:none;z-index:7;white-space:nowrap;height:17px;box-shadow:0 1px 4px oklch(from var(--today) l c h / .5);border:none;border-radius:4px;align-items:center;padding:0 6px;font-size:9px;font-weight:800;display:flex;position:absolute;bottom:2px;transform:translate(-50%)}.milestone-header-chip{background:var(--ms-color);width:11px;height:11px;box-shadow:0 0 0 3px var(--surface), 0 0 0 4px oklch(from var(--ms-color) l c h / .4);color:#0000;cursor:grab;z-index:8;border:none;border-radius:2px;font-size:0;transition:box-shadow .12s,transform .12s;position:absolute;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.milestone-header-chip:hover{box-shadow:0 0 0 3px var(--surface), 0 0 0 5px oklch(from var(--ms-color) l c h / .55);transform:translate(-50%,-50%)rotate(45deg)scale(1.12)}.milestone-header-chip.dragging{cursor:grabbing;box-shadow:0 0 0 3px var(--surface), 0 0 0 6px oklch(from var(--ms-color) l c h / .7);z-index:30;transition:none;transform:translate(-50%,-50%)rotate(45deg)scale(1.2)}.milestone-column.dragging{opacity:.7;transition:none}.gantt-row{border-bottom:1px solid var(--border-subtle);width:100%;display:flex;position:absolute}.gantt-row.drop-target{outline:1px solid oklch(from var(--accent) l c h / .35);outline-offset:-1px}.gantt-row.drop-target .gantt-row-content{background:var(--accent-dim)!important}.gantt-row.drop-target .gantt-row-label{background:var(--surface2)!important}.gantt-row-label{z-index:var(--z-sidebar);background:var(--bg);box-shadow:none;border:0;flex-shrink:0;align-items:center;gap:12px;padding:0 16px;transition:background .1s;display:flex;position:sticky;left:0}.gantt-row:hover .gantt-row-label{background:var(--surface2)}.gantt-row:hover .gantt-row-content{background:var(--row-hover)}.row-label-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}a.row-label-link{cursor:pointer;text-decoration:none}a.row-label-link:hover{color:var(--type-custom);text-decoration:underline}.row-label-meta{color:var(--text-muted);margin-top:1px;font-size:10px}.row-label-sub{align-items:center;gap:5px;margin-top:3px;display:flex}.row-label-sub .row-label-meta{margin-top:0}.gantt-row-content{flex-shrink:0;transition:background .1s;position:relative}.row-add-btn{border:1px solid var(--border);background:var(--surface2);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;transition:all .12s;display:flex}.row-add-btn svg{stroke-width:2px;width:13px;height:13px}.row-add-btn:hover{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.row-edit-btn{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;transition:all .12s;display:flex}.row-edit-btn svg{stroke-width:1.8px;width:12px;height:12px}.row-edit-btn:hover{background:var(--surface2);border-color:var(--border);color:var(--text)}.gantt-group-row{border-bottom:0}.gantt-group-label{background:var(--surface2);border:0;gap:7px}.gantt-group-content{background:var(--surface2);border-bottom:1px solid var(--border)}.group-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.group-name{letter-spacing:-.005em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:700;overflow:hidden}.group-count{color:var(--text-muted);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.gantt-group-label .group-edit{opacity:0}.gantt-group-label:hover .group-edit{opacity:1}.gantt-team-header-row .gantt-group-label{background:oklch(from var(--surface2) calc(l - .015) c h);border:0}.gantt-team-header-row .gantt-group-content{background:oklch(from var(--surface2) calc(l - .015) c h);border-top:2px solid oklch(from var(--border) calc(l - .05) c h)}.gantt-team-header-row .group-dot{border-radius:50%;width:8px;height:8px}.gantt-team-header-row .group-name{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.gantt-unassigned-row .gantt-row-content{background:oklch(from var(--accent) l c h / .06)}.gantt-unassigned-label{border-top:1.5px dashed oklch(from var(--accent) l c h / .4);border-bottom:1.5px dashed oklch(from var(--accent) l c h / .4);background:oklch(from var(--accent) l c h / .1)!important}.gantt-unassigned-row .gantt-row-content{border-top:1.5px dashed oklch(from var(--accent) l c h / .4);border-bottom:1.5px dashed oklch(from var(--accent) l c h / .4)}.unassigned-icon{background:oklch(from var(--accent) l c h / .25);border:1.5px dashed oklch(from var(--accent) l c h / .6);width:22px;height:22px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.unassigned-name{color:var(--accent);flex:1;font-size:12px;font-weight:600}.grid-vline{pointer-events:none;width:1px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.sprint-band{pointer-events:none;position:absolute;top:0;bottom:0}.sprint-band-line{border-left:1.5px dashed oklch(from var(--accent) l c h / .45);width:0;position:absolute;top:0;bottom:0}.sprint-band-line--start{left:0;transform:translate(-50%)}.sprint-band-line--end{right:0;transform:translate(50%)}.sprint-band-line:before,.sprint-band-line:after{content:"";background:var(--accent);border-radius:2px;width:3px;height:8px;position:absolute;left:-2px}.sprint-band-line:before{top:0}.sprint-band-line:after{bottom:0}.vg-tf-bg .sprint-band-line:before,.vg-tf-bg .sprint-band-line:after{display:none}.sprint-row-tick{background:var(--accent);z-index:2;pointer-events:none;border-radius:2px;width:3px;height:8px;position:absolute;top:-8px;transform:translate(-50%)}.sprint-row-tick:after{content:"";background:var(--accent);border-radius:2px;width:3px;height:8px;position:absolute;top:12px;left:0}.sprint-row-tick--centered{top:calc(50% - 10px)}.lane-sep{pointer-events:none;z-index:1;background:#1f1d1a09;height:1px;position:absolute;left:0;right:0}.weekend-band{pointer-events:none;z-index:0;background:#1f1d1a08;position:absolute;top:0;bottom:0}[data-theme=dark] .lane-sep{background:#ffffff09}[data-theme=dark] .weekend-band{background:#ffffff06}.today-line-wrapper{pointer-events:none;z-index:var(--z-today);position:absolute;top:0;bottom:0}.today-line{background:var(--today);opacity:.9;width:1.5px;height:100%}.milestone-column{border-left:1.5px dashed var(--ms-color);cursor:pointer;z-index:14;width:0;transition:filter .15s;position:absolute;transform:translate(-.75px)}.milestone-column:hover{filter:brightness(1.18)}.milestone-column.selected{border-left-style:solid}.milestone-col-name{color:var(--ms-color);white-space:nowrap;letter-spacing:.04em;background:oklch(from var(--surface) l c h / .92);pointer-events:none;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:700;position:absolute;top:5px;left:6px}.milestone-col-name--hover{opacity:0;transition:opacity .15s}.milestone-column:hover .milestone-col-name--hover,.milestone-column.is-hovered .milestone-col-name--hover{opacity:1}.vg-agg-bar{background:var(--proj-color);cursor:pointer;z-index:10;border-radius:9px;align-items:center;gap:8px;height:28px;padding:0 8px 0 0;transition:filter .12s,box-shadow .12s,transform .12s;display:flex;position:absolute;top:8px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a,0 1px 2px #00000024,0 2px 6px #0000001f}.vg-agg-inner{flex:1;align-items:center;min-width:0;padding-left:14px;display:flex;overflow:hidden}[data-theme=dark] .vg-agg-bar{box-shadow:inset 0 0 0 1px #ffffff1a,0 1px 2px #00000047,0 3px 8px #0000002e}.vg-agg-avatars{flex-shrink:0;display:flex}.vg-agg-av{color:oklch(99% 0 0);width:20px;height:20px;box-shadow:0 0 0 1.5px oklch(from var(--proj-color) l c h / .7);border-radius:5px;justify-content:center;align-items:center;margin-right:-6px;font-size:8px;font-weight:700;display:flex;position:relative}.vg-agg-more{color:oklch(99% 0 0);background:oklch(from var(--proj-color) calc(l - .12) c h);width:20px;height:20px;box-shadow:0 0 0 1.5px oklch(from var(--proj-color) l c h / .7);border-radius:5px;place-items:center;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:600;display:inline-grid}.vg-agg-name{color:oklch(99% 0 0);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.vg-agg-count{color:oklch(99% 0 0/.7);flex-shrink:0;margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px}.vg-agg-bar:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff1a,0 2px 4px #00000052,0 6px 16px #00000047}.vg-agg-bar.is-hover{filter:brightness(1.1);z-index:12;transform:translateY(-1px);box-shadow:inset 0 0 0 1px #ffffff2e,0 2px 4px #00000052,0 6px 16px #00000047}.vg-agg-track{pointer-events:none;height:3px;position:absolute;bottom:3px;left:0;right:0}.vg-agg-seg{background:oklch(99% 0 0/.6);border-radius:2px;height:3px;position:absolute}.vg-agg-seg.is-qa{background:oklch(99% 0 0/.3)}.vg-agg-bar.is-open{opacity:.45}.vg-chev{color:var(--text-muted);font-size:9px;transition:transform .2s;display:inline-block}.vg-chev.open{transform:rotate(90deg)}.vg-morph-row{animation:.32s cubic-bezier(.34,1.2,.5,1) both vg-row-in}@keyframes vg-row-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.vg-sub-label{cursor:pointer;gap:8px}.vg-sub-label:hover{background:var(--surface2)}.avatar-sm{border-radius:7px;width:22px;height:22px;font-size:9px;box-shadow:0 1px 3px oklch(0% 0 0/.2)}.vg-sub-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.vg-sub-count{color:var(--text-muted);flex-shrink:0;align-items:center;gap:4px;font-family:ui-monospace,Menlo,monospace;font-size:10px;display:flex}.vg-task-label{cursor:default;gap:7px}.vg-sub-taskname{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.vg-person-bar{cursor:pointer;border-radius:8px;align-items:center;gap:8px;height:24px;padding:0 6px 0 10px;transition:transform .14s,box-shadow .14s;display:flex;position:absolute;top:6px;overflow:hidden;box-shadow:0 2px 6px oklch(0% 0 0/.16)}.vg-person-bar:hover{transform:translateY(-1px);box-shadow:0 8px 18px oklch(0% 0 0/.2)}.vg-person-bar-label{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:600;overflow:hidden}.vg-person-bar-count{color:#fbfaf7;background:#ffffff38;border-radius:99px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:10px}.vg-task-bar{background:var(--proj-color);cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;border:0;border-radius:7px;align-items:center;gap:6px;height:20px;padding:0 12px;display:flex;position:absolute;top:5px;overflow:hidden;box-shadow:0 1px 2px #00000024,0 2px 6px #0000001f}.vg-task-bar.selected{outline-offset:-2px;outline:2px solid #ffffffa6}.vg-task-bar.dragging{opacity:.8;z-index:30}.vg-task-bar.not-editable{cursor:default}.vg-task-bar-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.vg-epic-bar{cursor:pointer;border-radius:9px;flex-direction:column;justify-content:center;padding:0 10px;transition:filter .14s,box-shadow .14s,opacity .2s;display:flex;position:absolute;overflow:hidden;box-shadow:0 3px 9px oklch(0% 0 0/.16)}.vg-epic-bar:hover,.vg-epic-bar.is-hover{filter:brightness(1.06);z-index:12;box-shadow:0 6px 16px oklch(0% 0 0/.24)}.vg-epic-bar.is-open{opacity:.5}.vg-epic-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.vg-epic-count{color:#ffffffd9;background:#ffffff2e;border-radius:99px;padding:1px 7px;font-family:ui-monospace,Menlo,monospace;font-size:10px;font-weight:600;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.vg-epic-track{background:#fff6;border-radius:2px;height:3px;position:absolute;bottom:5px;left:10px;right:10px;overflow:hidden}.vg-epic-fill{background:#ffffffd9;border-radius:2px;width:64%;height:100%}.vg-team-label{gap:7px}.vg-team-summary{cursor:pointer;border-radius:8px;align-items:center;gap:8px;height:24px;padding:0 8px 0 11px;animation:.3s cubic-bezier(.34,1.2,.5,1) both vg-row-in;display:flex;position:absolute;top:3px;overflow:hidden;box-shadow:0 2px 8px oklch(0% 0 0/.16)}.vg-team-summary-label{color:#fbfaf7;white-space:nowrap;font-size:12px;font-weight:600}.vg-team-summary-count{color:#fbfaf7;background:#ffffff38;border-radius:99px;flex-shrink:0;margin-left:auto;padding:2px 8px;font-family:ui-monospace,Menlo,monospace;font-size:10px}.vg-load-sub{align-items:center;gap:7px;display:flex}.vg-load-track{background:oklch(from var(--text-muted) l c h / .22);border-radius:2px;width:60px;height:4px;overflow:hidden}.vg-load-fill{border-radius:2px;height:100%;transition:width .3s}.vg-load-pct{font-family:ui-monospace,Menlo,monospace;font-size:10px;font-weight:600}.vg-lc-domain-head{border-top:1px solid var(--border-subtle);background:var(--surface2);align-items:center;gap:7px;height:36px;margin-top:auto;padding:0 12px 0 14px;display:flex}.vg-lc-domain-head .vg-section-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.vg-lc-domain-head .vg-section-count{color:var(--text-muted);margin-left:auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.vg-projects-table-btn{width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;transition:color .12s,background .12s;display:inline-flex}.vg-projects-table-btn:hover{color:var(--text);background:var(--accent-dim)}.vg-projects-table-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vg-projects-table-btn svg{width:15px;height:15px}.vg-disclosure,.vg-expand-all-btn{width:var(--icon-control-size);height:var(--icon-control-size);color:var(--text-muted);opacity:.55;transform-origin:50%;background:0 0;border:0;border-radius:7px;flex:none;justify-content:center;align-items:center;font-size:0;transition:transform .2s,color .15s,opacity .15s;display:inline-flex}.vg-disclosure:before,.vg-expand-all-btn:before{content:"";border-bottom:2px solid;border-right:2px solid;border-radius:1px;width:8px;height:8px;transform:rotate(-45deg)}.vg-disclosure.is-open,.vg-expand-all-btn.is-open{transform:rotate(90deg)}.vg-expand-all-btn{cursor:pointer}.vg-expand-all-btn:hover,.vg-tf-side:hover .vg-disclosure{color:var(--text-secondary);opacity:.82}.vg-mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.vg-type-badge{letter-spacing:.06em;border-radius:4px;flex-shrink:0;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:700}.vg-type-badge.t-dev{background:oklch(from var(--type-dev) l c h / .18);color:var(--type-dev)}.vg-type-badge.t-qa{background:oklch(from var(--type-qa) l c h / .18);color:var(--type-qa)}.vg-type-badge.t-custom{background:oklch(from var(--type-custom) l c h / .18);color:var(--type-custom)}.vg-dh-wrap{z-index:50;position:fixed}.vg-dh-popover{z-index:2;background:var(--surface);border:1px solid var(--border);width:420px;box-shadow:var(--shadow-lg);border-radius:12px;position:relative;overflow:hidden}.vg-dh-head{border-bottom:1px solid var(--border-subtle);gap:10px;padding:13px 14px 12px;display:flex;position:relative}.vg-dh-accent{background:var(--proj-color);width:3px;position:absolute;top:0;bottom:0;left:0}.vg-dh-head-main{flex-direction:column;gap:5px;min-width:0;display:flex}.vg-dh-title-row{align-items:center;gap:7px;display:flex}.vg-dh-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.vg-dh-title{letter-spacing:-.01em;color:var(--text);font-size:14px;font-weight:600}.vg-dh-code{color:var(--text-muted);background:var(--surface2);border:1px solid var(--border-subtle);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.vg-dh-sub{color:var(--text-secondary);align-items:center;gap:8px;font-size:11px;display:flex}.vg-dh-sub .vg-mono{color:var(--text-muted);font-size:10.5px}.vg-dh-sep{background:var(--text-muted);opacity:.6;border-radius:1px;width:2px;height:2px}.vg-dh-team{align-items:center;gap:4px;display:inline-flex}.vg-dh-team-dot{border-radius:2px;width:7px;height:7px}.vg-dh-team-plus{color:var(--text-muted);margin:0 1px}.vg-dh-summary{background:var(--surface2);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:16px;padding:9px 14px;font-size:11px;display:flex}.vg-dh-stat b{color:var(--text);margin-right:3px;font-weight:600}.vg-dh-stat-members{align-items:center;gap:7px;margin-left:auto;display:inline-flex}.vg-dh-avatars{display:inline-flex}.vg-dh-avatars>*{box-shadow:0 0 0 1.5px var(--surface);margin-right:-5px}.vg-dh-av{color:oklch(99% 0 0);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:8px;font-weight:700;display:inline-flex}.vg-dh-av.sm{border-radius:4px;width:16px;height:16px;font-size:7.5px}.vg-dh-list{max-height:280px;padding:5px 0;overflow-y:auto}.vg-dh-task{cursor:pointer;align-items:stretch;gap:10px;padding:8px 14px;display:flex;position:relative}.vg-dh-task:hover{background:var(--surface2)}.vg-dh-task-stripe{border-radius:2px;flex-shrink:0;align-self:stretch;width:3px}.vg-dh-task-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.vg-dh-task-top{align-items:center;gap:7px;display:flex}.vg-dh-task-name{color:var(--text);letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.vg-dh-task-meta{align-items:center;gap:12px;display:flex}.vg-dh-assignee{color:var(--text-secondary);align-items:center;gap:5px;font-size:11px;display:inline-flex}.vg-dh-dep{color:var(--text-muted);align-items:center;gap:3px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;display:inline-flex}.vg-dh-task-dates{color:var(--text-muted);white-space:nowrap;align-self:center;font-size:10.5px}.vg-cross-popover{max-height:inherit;flex-direction:column;display:flex}.vg-cross-popover .vg-dh-list{min-height:0;padding:4px 0}.vg-cross-person{cursor:default;align-items:center}.vg-cross-person .vg-dh-task-meta{color:var(--text-muted);font-size:10.5px}.vg-cross-person .vg-dh-task-name{font-weight:600}.vg-cf-roll.is-hover{filter:brightness(1.08);z-index:12;box-shadow:0 6px 16px oklch(0% 0 0/.24)}.vg-tflow{position:relative}.vg-tf-bg{z-index:0;pointer-events:none;position:absolute;top:0;bottom:0;overflow:hidden}.vg-tf-band{position:absolute;top:0;bottom:0}.vg-tf-weekend{background:oklch(from var(--accent) l c h / .03);position:absolute;top:0;bottom:0}.vg-tf-vline{width:1px;position:absolute;top:0;bottom:0}.vg-tf-today{z-index:30;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.vg-tf-today:before{content:"";background:var(--today);width:1.5px;position:absolute;top:0;bottom:0;left:-.75px}.vg-tf-emp{position:relative}.vg-tf-emp-head{display:flex;position:relative}.vg-tf-side{z-index:var(--z-sidebar);background:var(--bg);box-sizing:border-box;box-shadow:none;border:0;flex:none;position:sticky;left:0}.vg-tf-tl{flex:none;position:relative}.vg-tf-emp-side{align-items:center;gap:9px;padding:5px 14px;display:flex}.vg-tf-emp-tl{border-top:1px solid var(--border-subtle);margin-top:auto}.vg-tf-member-roll{cursor:pointer;border-radius:9px;align-items:center;gap:8px;height:28px;padding:0 8px 0 11px;transition:transform .14s,box-shadow .14s;display:flex;position:absolute;top:6px;overflow:hidden;box-shadow:0 2px 8px oklch(0% 0 0/.16)}.vg-tf-member-roll:hover{transform:translateY(-1px);box-shadow:0 6px 15px oklch(0% 0 0/.22)}.vg-tf-member-roll-name{text-overflow:ellipsis;white-space:nowrap;color:#fbfaf7;min-width:0;font-size:12px;font-weight:600;overflow:hidden}.vg-tf-member-roll-count{color:#fbfaf7;background:#ffffff38;border-radius:99px;flex:none;margin-left:auto;padding:2px 7px;font:600 10px ui-monospace,Menlo,monospace}.vg-tf-avatar{border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:700;display:flex}.vg-tf-emp-meta{flex:1;min-width:0}.vg-tf-name-row{align-items:baseline;gap:8px;display:flex}.vg-tf-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:500;overflow:hidden}.vg-tf-epic{position:relative}.vg-tf-epic-head{display:flex}.vg-tf-epic-side{cursor:pointer;border-radius:8px;align-items:center;gap:8px;display:flex}.vg-tf-epic-side:hover{background:0 0}.vg-tf-epic-dot{border-radius:3px;flex:none;width:8px;height:8px}.vg-tf-epic-lname{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:500;overflow:hidden}.vg-tf-epic-lcount{color:var(--text-muted);flex:none;align-items:center;gap:4px;margin-left:auto;font:500 10px ui-monospace,Menlo,monospace;display:inline-flex}.vg-tf-epic-tl{position:relative}.vg-tf-epic-bar{cursor:pointer;height:30px;z-index:var(--z-bar);border-radius:10px;align-items:center;gap:8px;padding:0 7px 0 12px;transition:transform .15s,box-shadow .15s,opacity .28s;display:flex;position:absolute;top:5px;overflow:hidden;box-shadow:0 3px 10px oklch(0% 0 0/.16)}.vg-tf-epic-bar:hover{transform:translateY(-1px);box-shadow:0 8px 18px oklch(0% 0 0/.28)}.vg-tf-epic-bar.is-open{opacity:1}.vg-tf-epic-bar-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.vg-tf-epic-bar-count{color:#fbfaf7;background:#ffffff38;border-radius:99px;flex:none;margin-left:auto;padding:2px 8px;font:600 10px ui-monospace,Menlo,monospace}.vg-expanded-summary{box-shadow:none!important;filter:none!important;opacity:1!important;background:0 0!important;overflow:visible!important;transform:none!important}.vg-expanded-summary:before{content:"";background:var(--expanded-summary-color);opacity:.38;pointer-events:none;border-radius:999px;height:3px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.vg-expanded-summary:hover{box-shadow:none!important;filter:none!important;transform:none!important}.vg-expanded-summary .vg-tf-epic-bar-name,.vg-expanded-summary .vg-df-person-bar-name,.vg-expanded-summary .vg-epic-name{z-index:1;background:var(--surface);max-width:calc(100% - 14px);color:var(--text-secondary);text-align:center;border-radius:999px;padding:1px 7px 2px;position:absolute;left:50%;transform:translate(-50%)!important}.vg-expanded-summary .vg-tf-epic-bar-count,.vg-expanded-summary .vg-epic-count,.vg-expanded-summary .vg-epic-track,.vg-expanded-summary .group-resize-handle{display:none}.vg-tf-pop{z-index:60;color:#f5f2eb;background:#23211d;border-radius:14px;width:340px;max-width:92vw;padding:13px 15px 10px;position:absolute;box-shadow:0 20px 48px #1f1d1a66}.vg-tf-pop--portal{overscroll-behavior:contain;max-height:calc(100vh - 16px);overflow:auto}.gantt-overlay-portal{z-index:var(--z-gantt-portal)!important}.vg-tf-pop-head{align-items:baseline;gap:8px;padding-bottom:9px;display:flex}.vg-tf-pop-dot{border-radius:3px;flex:none;align-self:center;width:8px;height:8px}.vg-tf-pop-name{font-size:13px;font-weight:600}.vg-tf-pop-dates{color:#f5f2eb80;margin-left:auto;font:500 10px ui-monospace,Menlo,monospace}.vg-tf-pop-task{border-top:1px solid #f5f2eb17;padding:8px 0 9px}.vg-tf-pop-task-top{align-items:baseline;gap:8px;display:flex}.vg-tf-pop-task-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.vg-tf-pop-task-dates{color:#f5f2eb80;flex:none;margin-left:auto;font:500 10px ui-monospace,Menlo,monospace}.vg-tf-pop-track{background:#f5f2eb24;border-radius:2px;height:4px;margin-top:7px;position:relative}.vg-tf-pop-seg{border-radius:2px;position:absolute;top:0;bottom:0}.vg-tf-pop-foot{color:#f5f2eb73;border-top:1px solid #f5f2eb17;padding:8px 0 2px;font-size:10.5px}.vg-tf-tasks{grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);display:grid}.vg-tf-tasks.open{grid-template-rows:1fr}.vg-tf-tasks-inner{min-height:0;overflow:clip}.vg-tf-task{display:flex}.vg-tf-task-side{align-items:center;gap:8px;display:flex}.vg-tf-task-dot{opacity:.5;border-radius:99px;flex:none;width:5px;height:5px}.vg-tf-task-lname{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.vg-tf-task-tl{position:relative}.vg-tf-task-bar{background:var(--tf-color);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;box-sizing:border-box;height:24px;z-index:var(--z-bar);border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;display:flex;position:absolute;top:3px;overflow:hidden;box-shadow:0 1px 2px #00000024,0 2px 6px #0000001f}.vg-tf-task-bar.not-editable{cursor:pointer}.vg-tf-task-bar.dragging{opacity:.85;z-index:40}.vg-tf-task-bar.selected{outline-offset:-2px;outline:2px solid #ffffffa6}.vg-tf-task-bar-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;overflow:hidden}.vg-tf-task-bar .resize-handle:after{background:#ffffff8c}.vg-person-avatar{appearance:none;cursor:pointer;border:0;padding:0;font-family:inherit;transition:transform .14s,box-shadow .14s,filter .14s}.vg-person-avatar:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 4px 12px oklch(0% 0 0/.18)}.vg-person-avatar:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.vg-df-person-av.vg-person-avatar{color:#fff;cursor:pointer;border:0;padding:0;font-family:inherit}.gantt-ghost-add{height:30px;z-index:calc(var(--z-bar) + 1);border:1.5px dashed oklch(from var(--text-muted) l c h / .48);background:oklch(from var(--surface) l c h / .55);color:var(--text-muted);cursor:pointer;opacity:.72;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:10px;place-items:center;transition:opacity .12s,border-color .12s,color .12s,background .12s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gantt-ghost-add:hover,.gantt-ghost-add:focus-visible{opacity:1;color:var(--text);border-color:var(--text-secondary);background:oklch(from var(--surface) l c h / .88);outline:none}.gantt-ghost-add svg{width:16px;height:16px}.vg-tf-tl,.gantt-row-content{z-index:0}.task-bar,.vg-agg-bar,.vg-person-bar,.vg-df-roll,.vg-df-person-bar,.vg-cf-roll,.vg-tf-member-roll{z-index:var(--z-bar)}.task-bar.dragging,.vg-tf-task-bar.dragging{z-index:var(--z-drag)}.milestone-column{z-index:var(--z-marker)}.tooltip,.vg-dh-wrap,.vg-tf-pop,.gantt-team-menu{z-index:var(--z-overlay)}.vg-tf-unassigned .vg-tf-side{background:oklch(from var(--accent) l c h / .08)}.vg-tf-un-icon{background:oklch(from var(--accent) l c h / .2);border:1.5px dashed oklch(from var(--accent) l c h / .55);width:22px;height:22px;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.vg-unassigned-toggle{cursor:pointer}.vg-unassigned-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.vg-unassigned-prompt{z-index:var(--z-bar);appearance:none;border:1px dashed oklch(from var(--accent) l c h / .48);background:oklch(from var(--accent) l c h / .1);color:var(--accent);cursor:pointer;white-space:nowrap;border-radius:999px;padding:5px 11px;font-family:inherit;font-size:11px;font-weight:600;line-height:1.2;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.vg-unassigned-prompt:hover{background:oklch(from var(--accent) l c h / .16);border-color:oklch(from var(--accent) l c h / .7)}.vg-unassigned-prompt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vg-tf-unassigned.is-collapsed .vg-tf-tl,.gantt-unassigned-row.is-collapsed .gantt-row-content{background:oklch(from var(--accent) l c h / .035)}.vg-tf-add{cursor:pointer;display:flex}.vg-tf-add .vg-tf-side{color:var(--text-muted);align-items:center;gap:9px;display:flex}.vg-tf-add:hover .vg-tf-side{color:var(--text-secondary)}.vg-df-proj{border-top:0;position:relative}.vg-df-proj>.vg-df-proj-head>.vg-tf-tl{border-top:1px solid var(--border-subtle)}.vg-df-proj-head{display:flex;position:relative}.vg-df-grid-tl{background-image:repeating-linear-gradient(to right, oklch(from var(--accent) l c h / .05) 0, oklch(from var(--accent) l c h / .05) 1px, transparent 1px, transparent 20%)}.vg-df-proj-side{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 12px 9px 14px;display:flex}.vg-df-proj-side:hover{background:oklch(from var(--accent) l c h / .04)}.vg-df-chev{width:9px;color:var(--text-muted);flex:none;font-size:9px;transition:transform .2s}.vg-df-chev.open{transform:rotate(90deg)}.vg-df-proj-tile{border-radius:9px;flex:none;width:30px;height:30px;box-shadow:0 2px 5px oklch(0% 0 0/.14)}.vg-df-proj-meta{flex:1;min-width:0}.vg-df-proj-name-row{align-items:center;gap:5px;display:flex}.vg-df-proj-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}a.vg-df-proj-name{text-decoration:none}a.vg-df-proj-name:hover{text-decoration:underline}.vg-df-proj-code{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font:500 10px ui-monospace,Menlo,monospace;overflow:hidden}.vg-df-roll{cursor:pointer;transform-origin:0;border-radius:11px;flex-direction:column;justify-content:center;height:34px;padding:0 12px;transition:opacity .3s,transform .42s cubic-bezier(.34,1.4,.5,1),box-shadow .15s;display:flex;position:absolute;top:9px;overflow:hidden;box-shadow:0 3px 9px oklch(0% 0 0/.16)}.vg-df-roll:hover{box-shadow:0 6px 16px oklch(0% 0 0/.24)}.vg-df-roll-top{align-items:center;gap:8px;display:flex}.vg-df-roll-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.vg-df-roll-count{color:#ffffffd9;flex:none;margin-left:auto;font:600 11px ui-monospace,Menlo,monospace}.vg-df-roll-track{background:#fff6;border-radius:2px;height:3px;margin-top:5px;overflow:hidden}.vg-df-roll-fill{background:#ffffffd9;border-radius:2px;height:100%}.vg-df-people{transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);display:grid}.vg-df-people-inner{min-height:0;transition:opacity .3s;overflow:clip}.vg-df-person{border-top:0}.vg-df-person>.vg-df-person-head>.vg-tf-tl{border-top:1px solid oklch(from var(--accent) l c h / .05)}.vg-df-person-head{display:flex}.vg-df-person-side{cursor:pointer;border-radius:8px;align-items:center;gap:9px;display:flex}.vg-df-person-side:hover{background:oklch(from var(--accent) l c h / .04)}.vg-df-person-av{color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font:700 10px Golos Text,sans-serif;display:flex}.vg-df-person-name{min-width:0;color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;font-weight:500;overflow:hidden}.vg-df-person-count{color:var(--text-muted);flex:none;align-items:center;gap:4px;font:500 10px ui-monospace,Menlo,monospace;display:inline-flex}.vg-df-person-bar{cursor:pointer;border-radius:8px;align-items:center;height:22px;padding:0 10px;transition:transform .14s,box-shadow .14s;display:flex;position:absolute;top:5px;overflow:hidden;box-shadow:0 2px 6px oklch(0% 0 0/.14)}.vg-df-person-bar:hover{transform:translateY(-1px);box-shadow:0 8px 18px oklch(0% 0 0/.2)}.vg-df-person-bar-name{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.vg-df-tasks{transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1);display:grid}.vg-df-tasks-inner{min-height:0;transition:opacity .28s;overflow:clip}.vg-df-task{display:flex}.vg-df-task-side{align-items:center;gap:8px;display:flex}.vg-df-task-lname{min-width:0;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:11.5px;overflow:hidden}.vg-cf-team{position:relative}.vg-cf-team-head{display:flex;position:relative}.vg-cf-team-side{cursor:pointer;box-sizing:border-box;border-radius:8px;align-items:center;gap:9px;padding:0 14px;display:flex}.vg-cf-team-side:hover{background:oklch(from var(--accent) l c h / .045)}.vg-cf-team-chev{color:var(--text-muted);flex:none;width:10px;font-size:9px;transition:transform .2s}.vg-cf-team-dot{border-radius:3px;flex:none;width:8px;height:8px}.vg-cf-team-name{letter-spacing:.09em;text-transform:uppercase;min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font:700 10.5px ui-monospace,Menlo,monospace;overflow:hidden}.vg-cf-team-count{color:var(--text-muted);background:oklch(from var(--accent) l c h / .07);border-radius:99px;flex:none;padding:2px 8px;font:600 10px ui-monospace,Menlo,monospace}.vg-cf-team-tl{position:relative}.vg-cf-team-rule{background:oklch(from var(--accent) l c h / .09);height:1px;position:absolute;top:50%;left:0;right:0}.vg-cf-roll{cursor:pointer;transform-origin:0;border-radius:9px;align-items:center;gap:8px;height:28px;padding:0 8px 0 11px;transition:opacity .32s,transform .42s cubic-bezier(.34,1.4,.5,1);display:flex;position:absolute;top:2px;overflow:hidden;box-shadow:0 2px 8px oklch(0% 0 0/.16)}.vg-cf-roll-label{color:#fbfaf7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.vg-cf-roll-count{color:#fbfaf7;background:#ffffff38;border-radius:99px;flex:none;margin-left:auto;padding:2px 8px;font:600 10px ui-monospace,Menlo,monospace}.vg-cf-members{transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1);display:grid}.vg-cf-members-inner{min-height:0;transition:opacity .3s;overflow:clip}.vg-cf-member{position:relative}.vg-cf-member-head{display:flex;position:relative}.vg-cf-member-side{cursor:pointer;border-radius:8px;align-items:center;gap:9px;padding:5px 14px 5px 32px;display:flex}.vg-cf-member-side:hover{background:oklch(from var(--accent) l c h / .04)}.vg-cf-member-side .vg-tf-avatar{border-radius:8px;width:26px;height:26px;font-size:10px}.vg-cf-member-side .vg-tf-name{font-size:12.5px;font-weight:500}.vg-cf-member-side .vg-tf-name-row{gap:6px}.vg-cf-member-tl{position:relative}.vg-cf-mem-count{color:var(--text-muted);flex:none;align-self:center;align-items:center;gap:4px;font:500 10px ui-monospace,Menlo,monospace;display:inline-flex}.task-bar{cursor:grab;-webkit-user-select:none;user-select:none;z-index:10;border-radius:9px;align-items:center;transition:filter .12s,box-shadow .12s,transform .12s;display:flex;position:absolute;overflow:clip;box-shadow:0 1px 2px #00000024,0 2px 6px #0000001f}.task-bar:hover{filter:brightness(1.05);transform:translateY(-1px);box-shadow:0 2px 4px #00000029,0 6px 16px #0000002e}.task-bar.not-editable{cursor:pointer}[data-theme=dark] .task-bar{box-shadow:0 1px 2px #00000047,0 3px 8px #0000002e}[data-theme=dark] .task-bar:hover{box-shadow:0 2px 4px #00000052,0 6px 16px #00000047}.task-bar:active{cursor:grabbing}.task-bar.dragging{opacity:.88;z-index:50;box-shadow:0 6px 24px #0009}.task-bar.selected{outline-offset:1px;outline:2px solid #ffffff8c}.task-bar-bg{border-radius:9px;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1a}.task-bar-stripe{z-index:3;pointer-events:none;border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 0 0 1px #0000001f}.task-bar-inner{z-index:2;pointer-events:none;flex:1;align-items:center;gap:6px;min-width:0;padding:0 8px 0 14px;display:flex;position:relative;overflow:visible}.task-bar-inner--tasks{gap:5px;padding-left:6px}.task-bar-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.task-bar-project{letter-spacing:.02em;color:#fff9;white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;font-size:9.5px;font-weight:600;overflow:hidden}.task-bar-type{letter-spacing:.06em;color:#ffffffe6;pointer-events:none;z-index:3;background:#00000052;border-radius:5px;padding:2px 6px;font-size:9px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.task-bar-avatar{color:#fff;pointer-events:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;font-size:8px;font-weight:700;display:inline-flex;box-shadow:0 0 0 1.5px #00000040}.resize-handle{z-index:3;cursor:ew-resize;border-radius:7px 0 0 7px;flex-shrink:0;justify-content:center;align-items:center;width:7px;height:100%;display:flex;position:relative}.resize-handle.right{border-radius:0 7px 7px 0}.resize-handle:after{content:"";opacity:0;background:#ffffff47;border-radius:1px;width:2px;height:50%;transition:opacity .12s}.task-bar:hover .resize-handle:after{opacity:1}.resize-handle:hover:after{background:#fff9!important}.vg-task-bar>.resize-handle,.vg-tf-task-bar>.resize-handle{z-index:8;pointer-events:auto;touch-action:none;width:14px;height:auto;position:absolute;inset:0 auto 0 0}.vg-task-bar>.resize-handle.right,.vg-tf-task-bar>.resize-handle.right{inset:0 0 0 auto}.vg-task-bar:hover>.resize-handle:after,.vg-tf-task-bar:hover>.resize-handle:after{opacity:1}.group-resize-handle{z-index:6;width:10px;height:auto;padding:0;position:absolute;inset:0 auto 0 0}.group-resize-handle.right{inset:0 0 0 auto}.vg-tf-epic-bar:hover>.group-resize-handle:after,.vg-tf-member-roll:hover>.group-resize-handle:after,.vg-df-roll:hover>.group-resize-handle:after,.vg-df-person-bar:hover>.group-resize-handle:after,.vg-cf-roll:hover>.group-resize-handle:after,.vg-team-summary:hover>.group-resize-handle:after,.vg-person-bar:hover>.group-resize-handle:after,.vg-agg-bar:hover>.group-resize-handle:after,.vg-epic-bar:hover>.group-resize-handle:after{opacity:1}.vg-tf-epic-bar,.vg-tf-member-roll,.vg-df-roll,.vg-df-person-bar,.vg-cf-roll,.vg-team-summary,.vg-person-bar,.vg-agg-bar,.vg-epic-bar{cursor:grab!important}.vg-tf-epic-bar:active,.vg-tf-member-roll:active,.vg-df-roll:active,.vg-df-person-bar:active,.vg-cf-roll:active,.vg-team-summary:active,.vg-person-bar:active,.vg-agg-bar:active,.vg-epic-bar:active{cursor:grabbing!important}.domain-bar{pointer-events:auto;z-index:10;opacity:.85;border-radius:7px;align-items:center;display:flex;position:absolute;overflow:hidden}.dep-svg{pointer-events:none;z-index:11;position:absolute;top:0;left:0;overflow:visible}.tooltip{background:var(--surface);border:1px solid var(--border);z-index:9999;pointer-events:none;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:10px;min-width:190px;padding:12px 14px;font-size:12px;position:fixed}.tooltip-header{border-bottom:1px solid var(--border-subtle);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:8px;display:flex}.tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tooltip-title{color:var(--text);font-size:13px;font-weight:700}.tooltip-rows{flex-direction:column;gap:4px;display:flex}.tooltip-row{justify-content:space-between;gap:16px;display:flex}.tooltip-label{color:var(--text-muted);font-size:11px}.tooltip-val{color:var(--text);font-size:11px;font-weight:600}.child-task-tooltip{width:min(286px,100vw - 24px)}.child-task-tooltip .tooltip-row{align-items:flex-start}.child-task-tooltip .tooltip-label{flex:0 0 112px}.child-task-tooltip .tooltip-val{text-align:right;overflow-wrap:anywhere;min-width:0}@keyframes modal-in{0%{opacity:0;transform:translateY(-10px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#1f1d1a47;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}[data-theme=dark] .modal-overlay{background:#000000b3}.modal{background:var(--surface);border:1px solid var(--border);width:480px;max-width:94vw;max-height:88vh;box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;animation:.16s ease-out modal-in;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0;align-items:center;gap:10px;padding:18px 24px;display:flex}.modal-header-icon{border-radius:var(--radius-sm);background:var(--accent-dim);border:1px solid var(--accent-border);width:30px;height:30px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal-header-icon svg{stroke-width:2px;width:14px;height:14px}.modal-icon{font-size:15px}.modal-title{color:var(--text);flex:1;font-size:14px;font-weight:700}.panel-close{width:var(--close-control-size);height:var(--close-control-size);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;font:500 18px/1 inherit;transition:color .12s,background .12s,transform .12s;display:flex}.panel-close svg{stroke-width:2px;width:16px;height:16px}.panel-close:hover{background:var(--surface3);color:var(--text)}.panel-close:active{transform:scale(.94)}.panel-close:focus-visible,.pg-flow-chevron:focus-visible,.pg-row-action:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.modal-body{flex-direction:column;flex:1;gap:16px;padding:22px 24px;display:flex;overflow-y:auto}.modal-row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:16px 24px;display:flex}.panel-field{flex-direction:column;gap:5px;display:flex}.panel-label{color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:600}.panel-input,.panel-select{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);height:36px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;outline:none;width:100%;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}[data-theme=dark] .panel-input,[data-theme=dark] .panel-select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.panel-input:focus,.panel-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.panel-input::placeholder{color:var(--text-muted)}.panel-radio-group{flex-wrap:wrap;gap:6px;display:flex}.panel-radio{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);height:30px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;padding:0 12px;font-size:11px;font-weight:600;transition:all .12s;display:flex}.panel-radio.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);box-shadow:var(--shadow-sm)}.panel-radio:hover:not(.active){border-color:var(--accent-border);color:var(--text)}.panel-deps{flex-direction:column;gap:4px;display:flex}.panel-dep-item{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:7px 10px;font-size:12px;transition:all .12s;display:flex}.panel-dep-item.active{border-color:var(--accent);color:var(--text);background:var(--accent-dim)}.panel-dep-item:hover{border-color:var(--accent-border);color:var(--text)}.dep-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.dep-dev{background:#4a8fd0}.dep-qa{background:#8b5fc0}.dep-custom{background:#4a9878}.panel-error{border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);padding:8px 10px;font-size:11px}.color-swatches{flex-wrap:wrap;gap:6px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:all .12s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--surface);box-shadow:0 0 0 2px var(--accent)}.delete-confirm{flex:1;align-items:center;gap:8px;display:flex}.delete-confirm-text{color:var(--danger-text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:11px;overflow:hidden}.projects-table-overlay{z-index:10000;padding:24px}.projects-table-modal{width:min(1180px,88vw);max-width:none;height:min(760px,78vh);max-height:none;position:relative}.projects-table-heading{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.projects-table-heading .modal-title{flex:none}.projects-table-heading>span{color:var(--text-muted);font-size:11px}.projects-table-scroll{flex:1;min-height:0;padding:0 24px;overflow:auto}.projects-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.projects-table th{z-index:2;background:var(--surface);border-bottom:1px solid var(--border);height:42px;color:var(--text-muted);letter-spacing:.065em;text-transform:uppercase;text-align:left;padding:0 10px;font-size:10px;font-weight:700;position:sticky;top:0}.projects-table th:first-child{width:36%}.projects-table th:nth-child(2){width:13%}.projects-table th:nth-child(3),.projects-table th:nth-child(4){width:21%}.projects-table th:last-child{width:46px}.projects-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;height:58px;padding:7px 10px}.projects-table tbody tr{transition:background .12s}.projects-table tbody tr:hover{background:var(--accent-dim)}.projects-table input,.projects-table-create input,.projects-table-create select{width:100%;height:34px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:1px solid #0000;border-radius:7px;outline:none;padding:0 9px;font:500 12px inherit;transition:border-color .12s,background .12s,box-shadow .12s}[data-theme=dark] .projects-table input,[data-theme=dark] .projects-table-create input,[data-theme=dark] .projects-table-create select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.projects-table input:hover:not(:disabled),.projects-table-create input:hover,.projects-table-create select:hover{border-color:var(--border);background:var(--bg)}.projects-table input:focus,.projects-table-create input:focus,.projects-table-create select:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-dim)}.projects-table input:disabled{color:var(--text-secondary);opacity:.72}.projects-table-name-cell{align-items:center;gap:8px;display:flex}.projects-table-name-cell>div{flex-direction:column;flex:1;min-width:0;display:flex}.projects-table-name-cell input{font-weight:650}.projects-table-dot{width:9px;height:9px;box-shadow:0 0 0 3px oklch(from var(--surface) l c h / .8);border-radius:50%;flex:none}.projects-table-team{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;margin:-3px 9px 0;font-size:10px;overflow:hidden}.projects-table-actions{text-align:right}.projects-table-delete{width:30px;height:30px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;transition:opacity .12s,color .12s,background .12s;display:inline-flex}.projects-table tr:hover .projects-table-delete,.projects-table-delete:focus-visible{opacity:1}.projects-table-delete:hover:not(:disabled){color:var(--danger-text);background:var(--danger-bg)}.projects-table-delete:disabled{cursor:default;opacity:0}.projects-table-delete svg{width:15px;height:15px}.projects-table-empty{text-align:center;color:var(--text-muted);font-size:12px;height:120px!important}.projects-table-create{border-top:1px solid var(--border);background:var(--surface2);flex:none;padding:14px 24px 18px}.projects-table-create-title{color:var(--text-secondary);letter-spacing:.055em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:700}.projects-table-create-grid{grid-template-columns:minmax(220px,1.65fr) minmax(90px,.6fr) minmax(150px,1fr) minmax(150px,1fr) auto;align-items:start;gap:8px;display:grid}.projects-table-create input,.projects-table-create select{border-color:var(--border);background:var(--surface)}.projects-table-create-name{gap:6px;display:flex}.projects-table-create-name select{flex:0 0 120px}.projects-table-create .btn{white-space:nowrap;height:34px}.projects-table-create .panel-error{margin-top:8px}.projects-table-cross-row{align-items:flex-start;gap:14px;min-height:30px;margin-top:10px;display:flex}.projects-table-cross-toggle{height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;padding:0;font:600 12px inherit;display:inline-flex}.projects-table-cross-toggle:hover:not(:disabled){color:var(--text)}.projects-table-cross-toggle:disabled{opacity:.45;cursor:default}.projects-table-cross-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.projects-table-cross-teams{flex-wrap:wrap;flex:1;align-items:center;gap:6px;display:flex}.projects-table-cross-teams>span{color:var(--text-muted);margin-right:2px;font-size:11px}.projects-table-cross-teams .cp-team-check{background:var(--surface);height:28px}.projects-delete-shade{z-index:5;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:oklch(0% 0 0/.32);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.projects-delete-dialog{border:1px solid var(--danger-border);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow-lg);text-align:center;border-radius:14px;padding:24px}.projects-delete-icon{width:42px;height:42px;color:var(--danger-text);background:var(--danger-bg);border-radius:12px;place-items:center;margin:0 auto 12px;display:grid}.projects-delete-icon svg{width:20px;height:20px}.projects-delete-dialog h3{color:var(--text);font-size:16px}.projects-delete-dialog p{color:var(--text-secondary);margin-top:8px;font-size:12px;line-height:1.45}.projects-delete-disclaimer{border:1px solid var(--danger-border);background:var(--danger-bg);color:var(--danger-text);border-radius:7px;margin-top:12px;padding:9px 10px;font-size:11px;font-weight:650}.projects-delete-buttons{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.jira-import-overlay{z-index:11000;padding:24px}.jira-import-modal{width:min(1280px,94vw);max-width:none;height:min(820px,88vh);max-height:none}.jira-import-heading{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.jira-import-heading .modal-title{flex:none;margin:0}.jira-import-heading>span{color:var(--text-muted);font-size:11px}.jira-import-controls{border-bottom:1px solid var(--border);background:var(--surface);flex:none;align-items:flex-end;gap:12px;padding:14px 24px;display:flex}.jira-import-controls .panel-field{width:min(360px,50vw)}.jira-source-team{border:1px solid var(--border);height:36px;color:var(--text-muted);background:var(--surface2);border-radius:8px;align-items:center;padding:0 11px;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace;display:inline-flex}.jira-source-team.matched{color:var(--accent-text);border-color:var(--accent-border);background:var(--accent-dim)}.jira-import-input-step{flex-direction:column;flex:1;gap:9px;min-height:0;padding:22px 24px 14px;display:flex}.jira-import-input-step .panel-field{flex:1;min-height:0}.jira-json-input{resize:none;border:1px solid var(--border);background:var(--bg);width:100%;min-height:280px;color:var(--text);tab-size:2;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border-radius:10px;outline:none;flex:1;padding:15px 16px;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:border-color .12s,box-shadow .12s}[data-theme=dark] .jira-json-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jira-json-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.jira-json-input::placeholder{color:var(--text-muted)}.jira-import-hint{color:var(--text-muted);font-size:11px}.jira-import-hint code{background:var(--surface2);color:var(--text-secondary);border-radius:4px;padding:2px 5px}.jira-import-empty{color:var(--text-muted);flex:1;place-items:center;padding:32px;font-size:13px;display:grid}.jira-import-review{flex:1;min-height:0;padding:0 24px;overflow:auto}.jira-import-summary{z-index:4;border-bottom:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-muted);align-items:center;gap:18px;font-size:11px;display:flex;position:sticky;top:0}.jira-import-summary strong{color:var(--text);font-size:12px}.jira-import-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:980px}.jira-project-table{min-width:1220px}.jira-import-table th{z-index:3;border-bottom:1px solid var(--border);background:var(--surface);height:38px;color:var(--text-muted);letter-spacing:.055em;text-transform:uppercase;text-align:left;padding:0 7px;font-size:9px;font-weight:700;position:sticky;top:42px}.jira-import-table td{border-bottom:1px solid var(--border-subtle);vertical-align:middle;height:56px;padding:6px 7px;transition:opacity .12s}.jira-import-table tbody tr:hover{background:var(--accent-dim)}.jira-import-table tr.jira-row-skipped td{opacity:.53}.jira-import-table tr.jira-row-skipped:hover td{opacity:.78}.jira-import-table th:first-child,.jira-import-table td:first-child{text-align:center;width:66px}.jira-people-table th:nth-child(2){width:24%}.jira-people-table th:nth-child(3){width:15%}.jira-people-table th:nth-child(4){width:21%}.jira-people-table th:nth-child(5){width:92px}.jira-people-table th:last-child{width:22%}.jira-project-table th:nth-child(2){width:112px}.jira-project-table th:nth-child(3){width:27%}.jira-project-table th:nth-child(4){width:76px}.jira-project-table th:nth-child(5){width:108px}.jira-project-table th:nth-child(6),.jira-project-table th:nth-child(7){width:128px}.jira-project-table th:last-child{width:20%}.jira-import-table input:not([type=checkbox]),.jira-import-table select{width:100%;min-width:0;height:32px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:0 0;border:1px solid #0000;border-radius:7px;outline:none;padding:0 8px;font:500 11.5px inherit;transition:border-color .12s,background .12s,box-shadow .12s}[data-theme=dark] .jira-import-table input:not([type=checkbox]),[data-theme=dark] .jira-import-table select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.jira-import-table input:not([type=checkbox]):hover,.jira-import-table select:hover{border-color:var(--border);background:var(--bg)}.jira-import-table input:not([type=checkbox]):focus,.jira-import-table select:focus{border-color:var(--accent);background:var(--bg);box-shadow:0 0 0 3px var(--accent-dim)}.jira-import-table input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.jira-match{flex-direction:column;gap:2px;min-width:0;display:flex}.jira-match strong{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:650;overflow:hidden}.jira-match span{color:var(--text-muted);font-size:9.5px}.jira-new-badge{border:1px solid var(--accent-border);background:var(--accent-dim);color:var(--accent-text);border-radius:99px;padding:3px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.jira-import-error{flex:none;margin:8px 24px 0}@media (width<=900px){.projects-table-modal{width:94vw;height:84vh}.projects-table-create-grid{grid-template-columns:1fr 100px 150px 150px auto}.projects-table th:first-child{width:30%}.jira-import-overlay{padding:10px}.jira-import-modal{width:98vw;height:94dvh}.jira-import-controls{padding:12px 16px}.jira-import-review{padding:0 16px}.jira-import-input-step{padding:16px}.jira-import-error{margin-inline:16px}}.team-stats{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.team-stat{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;color:var(--text-muted);padding:10px 8px;font-size:10px}.team-stat-num{color:var(--text);font-size:20px;font-weight:800;line-height:1.2;display:block}.badge-cross{background:oklch(from var(--type-custom) l c h / .18);color:var(--type-custom);border-radius:3px;flex-shrink:0;padding:1px 4px;font-size:9px;font-weight:700}.row-label-team{color:var(--type-custom);opacity:.85;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:9px;font-weight:600;line-height:1.2;overflow:hidden}.tooltip{background:var(--surface);border-color:var(--border)}.gantt-wrapper{position:relative}.gantt-scroll{z-index:auto;background:0 0;position:relative}.gantt-header{background:0 0;border-bottom:none}.gantt-header-label{background:var(--bg);border-right:none}.gantt-timeline-header{background:var(--surface);border-radius:22px 22px 0 0}.gantt-row-label{background:var(--bg);border-bottom:none;border-right:none}.gantt-row{border-bottom:none}.gantt-row-content{background:0 0}.gantt-unassigned-label{background:var(--bg)}.toolbar{background:var(--bg);box-shadow:none;border:0}.btn-group{background:var(--surface);border:none;border-radius:99px;align-items:center;gap:0;height:34px;padding:3px;box-shadow:0 1px 2px #1f1d1a14}.btn-group .btn{border-radius:99px;height:28px;padding:0 14px;font-size:12.5px;font-weight:500}.btn-group .btn:hover{background:#1f1d1a0a}.btn-group .btn.active{background:var(--accent);color:var(--accent-fg);box-shadow:none;font-weight:600}.toolbar-divider{display:none}.sidebar{background:var(--bg);border:0}.sidebar-team-selector,.sidebar-project-dots{border:0}.gantt-label-row,.gantt-header-label,.gantt-row-label,.vg-tf-side{box-shadow:none;border:0}.gantt-inner--sidebar .vg-tf-side,.gantt-inner--sidebar .gantt-row-label,.gantt-inner--sidebar .gantt-label-row{border-radius:0!important}.gantt-inner--sidebar .vg-tf-side,.gantt-inner--sidebar .gantt-row-label,.gantt-inner--sidebar .gantt-label-row,.gantt-inner--sidebar .gantt-group-label,.gantt-inner--sidebar .gantt-unassigned-label{background:0 0!important}.gantt-inner--sidebar .gantt-header-label{background:var(--bg)!important}.gantt-inner--sidebar .gantt-row:hover .gantt-row-label{background:0 0}.gantt-inner--sidebar .vg-tf-epic-side,.gantt-inner--sidebar .vg-tf-task-side,.gantt-inner--sidebar .vg-sub-label{isolation:isolate}.gantt-inner--sidebar .vg-tf-epic-side:before,.gantt-inner--sidebar .vg-tf-task-side:before,.gantt-inner--sidebar .vg-sub-label:before{content:"";z-index:0;background:0 0;border-radius:12px;transition:background .12s;position:absolute;inset:3px 12px 3px 38px}.gantt-inner--sidebar .vg-tf-epic-side:before,.gantt-inner--sidebar .vg-sub-label:before{left:32px}.gantt-inner--sidebar .vg-tf-task-side:before,.gantt-inner--sidebar .vg-task-label:before{left:50px}.gantt-inner--sidebar .vg-tf-epic-side:hover:before,.gantt-inner--sidebar .vg-tf-task-side:hover:before,.gantt-inner--sidebar .vg-sub-label:hover:before{background:oklch(from var(--accent) l c h / .055)}.gantt-inner--sidebar .vg-tf-epic-side>*,.gantt-inner--sidebar .vg-tf-task-side>*,.gantt-inner--sidebar .vg-sub-label>*{z-index:1;position:relative}.gantt-unassigned-label{border:0!important}.btn.primary,.btn-create{border-radius:99px;height:34px;padding:0 16px}.icon-btn{border-radius:99px}.data-menu{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:500;border-radius:9px;min-width:160px;padding:4px;position:absolute;top:calc(100% + 6px);right:0}.data-menu-item{color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:5px;align-items:center;gap:10px;width:100%;padding:7px 10px;font-family:inherit;font-size:12px;transition:background .1s;display:flex}.data-menu-item:hover{background:var(--surface2);color:var(--text)}.data-menu-item.active{color:var(--text);background:var(--surface2)}.data-menu-item svg{stroke-width:1.8px;width:14px;height:14px;color:var(--text-muted);flex-shrink:0}.brand-gosha{object-fit:contain;box-shadow:none!important;background:0 0!important;border-radius:0!important}.theme-menu{min-width:184px}.theme-swatch{border:1px solid var(--border);background:var(--bg);border-radius:4px;flex-shrink:0;width:18px;height:14px;position:relative;overflow:hidden}.theme-swatch:after{content:"";background:var(--accent);border-radius:2px;width:6px;position:absolute;top:2px;bottom:2px;right:2px}.theme-check{color:var(--accent-text);margin-left:auto;font-size:12px}.settings-menu{min-width:200px}.vg-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:9px;flex-shrink:0;width:30px;height:17px;transition:background .15s;position:relative}.vg-toggle.on{background:var(--accent);border-color:var(--accent)}.vg-toggle-knob{background:var(--text-muted);border-radius:50%;width:13px;height:13px;transition:transform .15s,background .15s;position:absolute;top:1px;left:1px}.vg-toggle.on .vg-toggle-knob{background:var(--accent-fg);transform:translate(13px)}.user-menu{min-width:200px}.menu-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px 4px;font-size:9px;font-weight:700}.menu-divider{background:var(--border);height:1px;margin:5px 4px}.user-dot{background:var(--accent);width:20px;height:20px;color:var(--accent-fg);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:inline-flex}.user-add{gap:6px;padding:4px 6px 6px;display:flex}.user-add-input{background:var(--bg);border:1px solid var(--border);min-width:0;height:28px;color:var(--text);border-radius:6px;outline:none;flex:1;padding:0 9px;font-family:inherit;font-size:12px}.user-add-input:focus{border-color:var(--accent)}.user-add-btn{border:1px solid var(--accent);background:var(--accent);width:28px;height:28px;color:var(--accent-fg);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-add-btn svg{stroke-width:2px;width:13px;height:13px}.user-add-btn:disabled{opacity:.4;cursor:default}.user-remove{border:1px solid var(--border);color:#e0734f;cursor:pointer;background:0 0;border-radius:6px;width:calc(100% - 12px);margin:2px 6px 4px;padding:6px;font-family:inherit;font-size:11.5px;transition:background .12s;display:block}.user-remove:hover{background:#e0734f1f}.create-anchor{align-items:center;height:34px;display:flex;position:relative}.btn-create{padding-right:9px}.btn-create .btn-create-chev{opacity:.75;align-items:center;margin-left:1px;display:flex}.btn-create .btn-create-chev svg{width:9px;height:6px}.btn-create.active{filter:brightness(1.06)}.cp-scrim{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:400;background:#1f1d1a29;position:fixed;inset:0}[data-theme=dark] .cp-scrim{background:#0006}@keyframes cp-pop-in{0%{opacity:0;transform:translate(-50%)translateY(-6px)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.cp-popover{background:var(--surface);border:1px solid var(--border);width:460px;max-width:92vw;box-shadow:var(--shadow-lg);z-index:500;border-radius:12px;animation:.14s ease-out cp-pop-in;position:absolute;top:calc(100% + 11px);left:50%;overflow:hidden;transform:translate(-50%)}.cp-nub{background:var(--surface);border-left:1px solid var(--border);border-top:1px solid var(--border);width:12px;height:12px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}@media (width<=767px){.cp-popover{width:92vw;max-width:92vw;max-height:90dvh;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.cp-nub{display:none}}.cp-tabs{background:var(--surface2);border-bottom:1px solid var(--border);grid-template-columns:repeat(6,1fr);gap:2px;padding:4px;display:grid}.cp-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:8px 4px 6px;font-family:inherit;font-size:11px;font-weight:500;transition:all .12s;display:flex;position:relative}.cp-tab:hover{background:var(--surface3);color:var(--text)}.cp-tab.active{background:var(--surface);color:var(--text);box-shadow:0 0 0 1px var(--border), var(--shadow-sm)}.cp-tab-icon{display:flex}.cp-tab-icon svg{width:15px;height:15px;color:var(--text-muted)}.cp-tab.active .cp-tab-icon svg{color:var(--accent-text)}.cp-tab-shortcut{color:var(--text-muted);opacity:.7;font-family:monospace;font-size:9px;position:absolute;top:3px;right:5px}.cp-form{flex-direction:column;gap:13px;max-height:60vh;padding:16px 18px;display:flex;overflow-y:auto}.cp-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cp-row:has(>.cp-field:nth-child(3)){grid-template-columns:1fr 1fr 1fr}.cp-field{flex-direction:column;gap:5px;min-width:0;display:flex}.cp-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);align-items:baseline;gap:6px;font-size:10px;font-weight:600;display:flex}.cp-hint{letter-spacing:.02em;text-transform:none;opacity:.75;font-size:9.5px;font-weight:400}.cp-input{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);height:34px;color:var(--text);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;outline:none;width:100%;padding:0 11px;font-family:inherit;font-size:12.5px;transition:border-color .12s,box-shadow .12s}[data-theme=dark] .cp-input{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.cp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.cp-input::placeholder{color:var(--text-muted)}.cp-input-static{color:var(--text-muted);align-items:center;display:flex}.cp-mono{letter-spacing:.04em;font-family:monospace}.cp-seg{background:var(--surface2);border:1px solid var(--border);border-radius:7px;gap:2px;padding:2px;display:flex}.cp-seg button{height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;flex:1;font-family:inherit;font-size:11px;font-weight:600;transition:all .12s}.cp-seg button:hover{background:var(--surface3);color:var(--text-secondary)}.cp-seg button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.cp-error{border-radius:var(--radius-sm);background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger-text);padding:8px 10px;font-size:11px}.cp-team-checks{flex-wrap:wrap;gap:6px;display:flex}.cp-team-check{border:1px solid var(--border);background:var(--bg);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-family:inherit;font-size:12px;transition:all .12s;display:inline-flex}.cp-team-check:hover{border-color:var(--accent-border);color:var(--text)}.cp-team-check.active{border-color:var(--accent);background:var(--accent-dim);color:var(--text)}.cp-team-box{border:1px solid var(--border);width:15px;height:15px;color:var(--accent-text);border-radius:4px;flex-shrink:0;place-items:center;font-size:10px;display:inline-grid}.cp-team-check.active .cp-team-box{border-color:var(--accent);background:var(--accent);color:var(--accent-fg)}.cp-footer{border-top:1px solid var(--border);background:var(--surface2);justify-content:space-between;align-items:center;padding:11px 16px;display:flex}.cp-foot-hint{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.kbd{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;padding:1px 5px;font-family:monospace;font-size:10px;line-height:1.3}.kbd-on-primary{background:oklch(from var(--accent-fg) l c h / .14);border-color:oklch(from var(--accent-fg) l c h / .28);color:var(--accent-fg);margin-left:6px}.is-electron .toolbar{-webkit-app-region:drag;padding-left:80px}.is-electron .toolbar>*{-webkit-app-region:no-drag}.mg-root{background:var(--bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.mg-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:52px;padding:0 12px;display:flex;position:relative}.mg-header-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.mg-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.mg-logo{color:var(--text);letter-spacing:-.02em;flex-shrink:0;font-size:13px;font-weight:700}.mg-team-picker{background:var(--surface2);border:1px solid var(--border);cursor:pointer;border-radius:8px;align-items:center;gap:4px;min-width:0;padding:5px 10px;display:flex}.mg-team-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.mg-chevron{color:var(--text-muted);flex-shrink:0;font-size:10px}.mg-pill{background:var(--surface2);border:1px solid var(--border);cursor:pointer;color:var(--text);white-space:nowrap;border-radius:8px;flex-shrink:0;align-items:center;gap:4px;padding:5px 9px;font-size:12px;font-weight:600;display:flex}.mg-logo-btn{cursor:pointer;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:2px;display:flex}.mg-logo-btn:active{opacity:.7}.mg-logo-img{width:auto;height:28px;display:block}.mg-dropdown-section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:8px 14px 4px;font-size:10px;font-weight:700}.mg-filter-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:5px 9px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.mg-create-btn{background:var(--accent);width:34px;height:34px;color:var(--accent-fg);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:22px;font-weight:300;line-height:1;display:flex}.mg-dropdown{background:var(--surface);border:1px solid var(--border);min-width:180px;box-shadow:var(--shadow-md);z-index:200;border-radius:10px;position:absolute;top:52px;left:12px;overflow:hidden}.mg-dropdown-right{left:auto;right:12px}.mg-dropdown-item{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;padding:11px 14px;font-size:13px;transition:background .1s;display:flex}.mg-dropdown-item:active,.mg-dropdown-item.active{background:var(--accent-dim);color:var(--text)}.mg-dropdown-divider{background:var(--border);height:1px;margin:4px 0}.mg-proj-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.mg-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex:1;display:flex;overflow:auto hidden}.mg-scroll::-webkit-scrollbar{display:none}.mg-sprint-panel{scroll-snap-align:start;box-sizing:border-box;border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex;position:relative;overflow:hidden auto}.mg-sprint-panel::-webkit-scrollbar{display:none}.mg-sprint-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:10;flex-shrink:0;align-items:baseline;gap:8px;padding:10px 14px;display:flex;position:sticky;top:0;overflow:visible}.mg-sprint-name{color:var(--text);font-size:13px;font-weight:700}.mg-sprint-dates{color:var(--text-muted);font-size:11px}.mg-readonly-badge{letter-spacing:.06em;color:var(--text-muted);background:var(--surface2);border:1px solid var(--border);border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 5px;font-size:9px;font-weight:700}.mg-weeks-header{border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0;display:flex}.mg-week-col{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-align:center;border-right:1px solid var(--border);padding:5px 0;font-size:10px;font-weight:700}.mg-week-col:last-child{border-right:none}.mg-grid-line{background:var(--border);opacity:.5;width:1px;position:absolute;top:0;bottom:0}.mg-members{flex:1;padding-bottom:16px}.mg-member-section{border-bottom:1px solid var(--border-subtle)}.mg-member-header{background:var(--surface2);align-items:center;gap:8px;padding:8px 14px;display:flex}.mg-member-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:flex}.mg-member-name{color:var(--text);flex:1;font-size:12px;font-weight:600}.mg-member-role{letter-spacing:.06em;color:var(--text-muted);background:var(--bg);border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.mg-task-bar{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;display:flex;position:absolute;overflow:hidden;box-shadow:0 1px 3px #0003}.mg-task-bar.not-editable{opacity:.82}.mg-task-bar:active{opacity:.8}.mg-task-inner{flex-direction:column;justify-content:center;min-width:0;padding:0 6px;display:flex;overflow:hidden}.mg-task-label{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;line-height:1.3;overflow:hidden}.mg-task-proj{color:#ffffffa6;white-space:nowrap;text-overflow:ellipsis;letter-spacing:.03em;font-size:8px;font-weight:600;overflow:hidden}.mg-empty{text-align:center;color:var(--text-muted);padding:40px 20px;font-size:14px}.mg-proj-group{border-bottom:1px solid var(--border)}.mg-proj-group-header{background:var(--surface);border-bottom:1px solid var(--border-subtle);z-index:5;align-items:center;gap:7px;padding:7px 14px;display:flex;position:sticky;top:0}.mg-proj-group-name{color:var(--text);flex:1;font-size:12px;font-weight:700}.mg-proj-code{letter-spacing:.06em;color:var(--text-muted);background:var(--bg);border-radius:4px;padding:2px 5px;font-size:9px;font-weight:700}.mg-bars-area{background:var(--bg);position:relative}.mg-bars-avatar{color:#fff;z-index:4;pointer-events:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin:4px 0 0 4px;font-size:8px;font-weight:700;display:inline-flex;position:sticky;top:50%;left:0;transform:translateY(-50%)}.mg-task-bar.dragging{opacity:.85;z-index:50;box-shadow:0 4px 16px #0006}.mg-today-chip{background:oklch(from var(--today) l c h / .9);color:oklch(20% .02 70);letter-spacing:.08em;pointer-events:none;z-index:7;white-space:nowrap;border-radius:0 0 4px 4px;padding:1px 5px;font-size:8px;font-weight:800;position:absolute;top:0;transform:translate(-50%)}.mg-today-dash{border-left:1.5px dashed oklch(from var(--today) l c h / .55);pointer-events:none;z-index:6;width:0;position:absolute;top:0;bottom:0;transform:translate(-.75px)}.mg-ms-chip{z-index:8;cursor:pointer;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0;transform:translate(-50%)}.mg-ms-diamond{background:var(--today);width:11px;height:11px;box-shadow:0 0 0 2px var(--surface), 0 0 0 3px oklch(from var(--today) l c h / .4);border-radius:2px;transform:rotate(45deg)}.mg-ms-tooltip{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:20;border-radius:8px;min-width:140px;padding:8px 10px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%)}.mg-ms-tooltip-name{color:var(--text);margin-bottom:4px;font-size:12px;font-weight:700}.mg-ms-tooltip-proj{color:var(--text-secondary);align-items:center;gap:5px;margin-bottom:3px;font-size:11px;display:flex}.mg-ms-tooltip-date{color:var(--text-muted);font-size:11px}.mg-cross-proj-bar{border-bottom:1px solid var(--border);background:var(--surface2);flex-shrink:0;gap:6px;padding:8px 14px;display:flex;overflow-x:auto}.mg-cross-proj-bar::-webkit-scrollbar{display:none}.mg-cross-proj-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600}.mg-cross-proj-btn.active{background:var(--accent-dim)}
