@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(data:font/woff2;base64,d09GMgABAAAAAAa0ABQAAAAADOwAAAZHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhYbbhwoP0hWQVJtP01WQVJGBmA/U1RBVIEcAGQvXBEICoMkgmcLFgAwhEwBNgIkAyYEIAWGXAdiDAcbOgtRlHLSRcD8TEzkdoghPRuspKefbVnJIM5yRfA8vZv9uTNJSCZY21Scrigr6qyJ/C3sE1OFKuVP3e+lxUTbYio1zb/kFdk2bufY2BlhWERRBrcDUBhB5GEpd2Cy+MDxqf9zLPX+XVsk5r+s50d6IpWLatqbdT6f2MAikiOKQocbjya2QT0DqPDX4R0jQBgAUAiCRhDA0EkvYeLk9X3I2bEWI8jBAihIANm+kUWQBgggWChcBBdFhXlAUgOCAgBA0AgKjUJ8HKvjddFCKSgAVklEBYAeEJgCQJH0qB3B+neDg4sAA4hAD0AVIEAA0IACJGeaUjMIIIhBUE/zNABjTQMBwEVRcwcYBUCObLERABAgjAA1M/ZSa9hSi4OlpsnZ2KBOVUsAZlRGl1W0NZ6gSwhQPIAFs7YFL0QS91vRQgdgx2VDAnIegKpQvwAJIoLgooBAGtCJcHizg0TDiz8vhPgIcVXaDJu37ZyDAIjFy4AAiC1JAA0olJwN6nFAACQk/zfQVUuA3t5ELKMT9hpBSRj+HBSggYCIAIEkUoC4PCIQIWHGA8+IStxf0PW15ntP22gc+Wo+BLyQAHECQiAVd+c3Ba8gZ4NOACBaLOhsbIMkAXEmuHsSAvkf4oJaAogH6nEQAzoBIEihUAwAA0AACAObAGcANYAAABaqgMmpWAhiiVyrvNyqFV8tMQ5Iyq6r9Lf7W82i8ILl2cv8zbfdJ5lnPzSnvt/XXPfRR/5pH3xA+u5uS0798EPJ3Fft33w36Wc+8E/7aIB/9fvvb1pE9erNXLB9mkw//cSg8Cnx03VGXDvZnRzKqV9Xkhn7eRHb3wVjHpg19nkZpX9bBU+vnHegrsuQcbW9Bi7oO33h+8SU0Tly/MbeYUuG1cftVz6oNxrW0qH1iezq446fkDFo/rgvTkqt7zmteFzncZ0uxXti09FFF2z+C7CODpjUudOE5NSeb3bv/mbPKcmOEzpWQ3VBgBAuj/AOY3qMm7UvgA8qo3+qvAUBBAX0wADQG4AG+jCKaSxkBe/zvcTG8jRpRZgqhCog4sd++cOo7J+/RdvaaMoc78Ri/PNPSclx6fDvG1Kt3qQFi1rq+5EaavTtt9TVvfvucYsA5wc4oESU+E1ikF9TkrOkIsIH5Fawx7SBNLnMcWlM3skBluCmQNs7GeyFvYVDamsqwhxx18n/+WdxzDgOLU1AqbUlb3m+KOT9+ONvY/7XlrdLS//5v7nN97XHj0VzJpJvz4spq0V7ioXDuv2YrSxtF/KZmvbWfKtorXSh8dfvgGu+ev/nFSaXM6jyuCE/f/EpmuP7Rqu8R98vP/+tXUdrOgKlZP9Q/s+fRF9+3CHZd4EugfPv158me9X7v/6aSMCxMJmIr//65bNXngl7+uiPP5oKx+y27D8trp+psUzMacpm80XlnYeMAct0LynxhNYgaP3dtn8/LBAi+ksr+7NvjjtJV+UXrz0uLXV1x08AZRN1S2A8EaVE5afk/dfGjz//+fdHn36Xdttz2d9/z+bawZ8/slNN1aYtq+ZPGzNuPGdwOsfYflwmHCkPgs5DcKizvdpS/3gEUMW9/lvQvWp1bGTW1fpngC/uSVYAfH3TeSusL8TtlHUD4KAAEHjahk4YpuffGwEBN/dUmpHqdHyJ3Ap8O3UlQ4gCNrMRwLBBKiskL6a+RoBi/9XGlgc8L4/CUejQxaiIyqmomdhktOhfgDbDfaNDb4+yKIPd6IgmzDa0CByijWFmL2dlSRKagTIWXeIU9HDphoZiJeBTjAefHMxDhVSRFUgVcOkW3EGMahYVMFjWHhMluB2wAcbHYqF1LpsDF9C6s+CI2fDgh4wSuFEyGadjXAmIk3CugIRibLIti9ZtC8S4VSqfikGqPaoI122XyRYLBmsOmdiiTpqK1OklUQzpMcZmQRQV4M4oJCMkfRQXK+qvjifUcQd1bRdetW/LWjacYxvcttnVjWg5h0q4xw6rZyejSpZVZ78LzC4uyDNRQ4bymHSTMyM+SZ7D75mg/7YTlmNz7W8T00h0VEiGKB+F7iWYZFvSTiA4LVxttm2ATt5EoUWLJbY4EnLGrfsvEROlHtzlKn3H9VUT5tU/2dt3/EBv7foYzV/W4upyj04woO/gh6Vwwt3WGQAA) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-vietnamese-wght-normal.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Material Symbols Outlined Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/material-symbols-outlined-latin-wght-normal.woff2) format("woff2-variations")}.about-app-modal__card[data-v-3a97c411]{width:min(520px,calc(100vw - 24px));max-height:min(90vh,720px);overflow:auto}.about-app-modal__header[data-v-3a97c411]{margin-bottom:12px}.about-app-modal__tagline[data-v-3a97c411]{margin:6px 0 0;font-size:14px;line-height:1.45;color:var(--text-secondary)}.about-app-modal__version[data-v-3a97c411]{margin:0 0 16px;font-size:13px;color:var(--text-secondary)}.about-app-modal__version-label[data-v-3a97c411]{font-weight:600}.about-app-modal__section h4[data-v-3a97c411]{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.02em}.about-app-modal__list[data-v-3a97c411]{margin:0;padding-left:1.2rem;font-size:14px;line-height:1.5;color:#1d2939}.about-app-modal__list li+li[data-v-3a97c411]{margin-top:6px}.about-app-modal__stack[data-v-3a97c411]{margin:16px 0 0;font-size:12px;line-height:1.45;color:var(--text-secondary)}.about-app-modal__actions[data-v-3a97c411]{flex-wrap:wrap;gap:8px;margin-top:20px}.help-handbook-modal__card[data-v-533589a8]{width:min(840px,calc(100vw - 24px));max-height:min(92vh,820px);display:flex;flex-direction:column;min-height:0;overflow:hidden}.help-handbook-modal__header[data-v-533589a8]{flex-shrink:0}.help-handbook-modal__main[data-v-533589a8]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-top:12px}.help-handbook-modal__intro[data-v-533589a8]{margin:6px 0 12px;font-size:14px;line-height:1.45;color:var(--text-secondary)}.help-handbook-modal__search-wrap[data-v-533589a8]{position:relative;display:flex;align-items:center}.help-handbook-modal__search-icon[data-v-533589a8]{position:absolute;left:10px;font-size:20px;color:var(--text-secondary);pointer-events:none}.help-handbook-modal__search[data-v-533589a8]{width:100%;box-sizing:border-box;padding:9px 36px 9px 38px;border:1px solid var(--outline);border-radius:8px;font-size:14px}.help-handbook-modal__search[data-v-533589a8]:focus{outline:2px solid #84adff;border-color:#84adff}.help-handbook-modal__search-clear[data-v-533589a8]{position:absolute;right:4px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:unset;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer}.help-handbook-modal__search-clear[data-v-533589a8]:hover{background:#f2f4f7}.help-handbook-modal__search-clear .material-symbols-outlined[data-v-533589a8]{font-size:18px}.help-handbook-modal__search-meta[data-v-533589a8]{margin:6px 0 0;font-size:12px;color:var(--text-secondary)}.help-handbook-modal__search-meta.is-empty[data-v-533589a8]{color:#b42318}.help-handbook-modal__hits[data-v-533589a8]{list-style:none;margin:0 0 8px;padding:0;max-height:120px;overflow:auto;display:flex;flex-direction:column;gap:4px;flex-shrink:0}.help-handbook-modal__hits li[data-v-533589a8]{flex-shrink:0}.help-handbook-modal__hit[data-v-533589a8]{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:8px 10px;border:1px solid #eaecf0;border-radius:8px;background:#f9fafb;color:#344054;cursor:pointer;min-height:unset;flex-shrink:0;box-sizing:border-box}.help-handbook-modal__hit[data-v-533589a8]:hover{border-color:#b2ccff;background:#f5f8ff}.help-handbook-modal__hit.is-active[data-v-533589a8]{border-color:#84adff;background:#eef4ff}.help-handbook-modal__hit-title[data-v-533589a8]{font-size:13px;font-weight:600;color:#175cd3}.help-handbook-modal__hit-snippet[data-v-533589a8]{margin-top:2px;font-size:12px;line-height:1.4;color:#475467}.help-handbook-modal__body[data-v-533589a8]{display:flex;gap:16px;min-height:0;flex:1;overflow:hidden}.help-handbook-modal__nav[data-v-533589a8]{width:200px;flex:0 0 200px;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:4px;overflow-x:hidden;overflow-y:auto;padding-right:6px}.help-handbook-modal__nav-item[data-v-533589a8]{flex:0 0 auto;flex-shrink:0;width:100%;box-sizing:border-box;text-align:left;padding:8px 10px;border:none;border-radius:8px;background:transparent;font-size:13px;font-weight:500;line-height:1.35;color:#344054;cursor:pointer;min-height:unset;white-space:normal}.help-handbook-modal__nav-item[data-v-533589a8]:hover{background:#f2f4f7}.help-handbook-modal__nav-item.is-active[data-v-533589a8]{background:#eef4ff;color:#175cd3;font-weight:600}.help-handbook-modal__article[data-v-533589a8]{flex:1;min-width:0;overflow:auto;padding:4px 0 8px 12px;border-left:1px solid var(--outline)}.help-handbook-modal__no-section[data-v-533589a8]{flex:1;padding:24px 12px;font-size:14px;color:var(--text-secondary);text-align:center}.help-handbook-modal__article-title[data-v-533589a8]{margin:0 0 10px;font-size:15px}.help-handbook-modal__text[data-v-533589a8]{margin:0;font-size:14px;line-height:1.55;color:#1d2939;white-space:pre-line}.help-handbook-modal__shortcuts[data-v-533589a8]{width:100%;margin-top:14px;border-collapse:collapse;font-size:13px}.help-handbook-modal__shortcuts td[data-v-533589a8]{padding:8px 0;vertical-align:top;border-top:1px solid #eaecf0}.help-handbook-modal__keys[data-v-533589a8]{width:38%;padding-right:12px;white-space:nowrap}.help-handbook-modal__keys kbd[data-v-533589a8]{display:inline-block;margin-right:4px;padding:2px 6px;border:1px solid #d0d5dd;border-radius:4px;background:#f9fafb;font-family:inherit;font-size:12px}@media (max-width: 600px){.help-handbook-modal__main[data-v-533589a8]{overflow:auto}.help-handbook-modal__body[data-v-533589a8]{flex-direction:column;overflow:visible}.help-handbook-modal__nav[data-v-533589a8]{width:100%;flex:none;max-height:none;flex-direction:row;flex-wrap:wrap;overflow:visible}.help-handbook-modal__nav-item[data-v-533589a8]{width:auto;max-width:100%}.help-handbook-modal__article[data-v-533589a8]{border-left:none;padding-left:0;border-top:1px solid var(--outline);padding-top:12px;overflow:visible}}input.is-invalid[data-v-c78178a4]{border-color:#c62828;outline-color:#c62828}.user-profile-modal__card[data-v-bb3cdb3c]{width:min(520px,calc(100vw - 24px));max-height:min(90vh,640px);overflow:auto}.user-profile-modal__fields[data-v-bb3cdb3c]{margin:0;display:flex;flex-direction:column;gap:14px}.user-profile-modal__field dt[data-v-bb3cdb3c],.user-profile-modal__label[data-v-bb3cdb3c]{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.user-profile-modal__field dd[data-v-bb3cdb3c]{margin:0;color:#1d2939}.user-profile-modal__field input[type=text][data-v-bb3cdb3c],.user-profile-modal__date-input[data-v-bb3cdb3c]{width:100%;box-sizing:border-box}.user-profile-modal__roles[data-v-bb3cdb3c]{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto;padding:8px 10px;border:1px solid var(--outline);border-radius:8px;background:#f9fafb}.user-profile-modal__role-option[data-v-bb3cdb3c]{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.user-profile-modal__role-option input[data-v-bb3cdb3c]{width:auto}.user-profile-modal__muted[data-v-bb3cdb3c],.user-profile-modal__hint[data-v-bb3cdb3c]{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.user-profile-modal__error[data-v-bb3cdb3c]{color:#b42318;font-size:13px}.gantt-week-chart[data-v-5c185065]{overflow:auto;border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-panel);flex:1;min-height:0}.gantt-week-header[data-v-5c185065]{display:flex;border-bottom:1px solid var(--outline-variant);position:sticky;top:0;background:var(--surface-sidebar);z-index:1}.gantt-week-name-col[data-v-5c185065]{width:260px;flex-shrink:0}.gantt-week-timeline[data-v-5c185065]{display:flex;flex:1;min-width:var(--gantt-timeline-min-width, 400px)}.gantt-week-col[data-v-5c185065]{flex:1 0 auto;min-width:28px;text-align:center;font-size:12px;padding:8px 4px;border-left:1px solid var(--outline-variant);color:var(--text-secondary)}.gantt-week-col--year[data-v-5c185065]{min-width:72px}.gantt-week-col--month[data-v-5c185065]{min-width:56px}.gantt-week-col--week[data-v-5c185065]{min-width:48px}.gantt-week-col--day[data-v-5c185065]{min-width:28px;font-size:11px}.gantt-week-body[data-v-5c185065]{min-width:660px}.gantt-week-row[data-v-5c185065]{display:flex;align-items:stretch;border-bottom:1px solid color-mix(in srgb,var(--outline) 60%,transparent);min-height:32px;cursor:default}.gantt-week-row.is-focused .gantt-week-name[data-v-5c185065]{background:var(--primary-container)}.gantt-week-name[data-v-5c185065]{width:260px;flex-shrink:0;padding:4px 8px 4px calc(8px + var(--gantt-depth, 0) * 18px);font-size:13px;display:flex;align-items:center;gap:2px;position:relative;border-right:1px solid color-mix(in srgb,var(--outline) 50%,transparent)}.gantt-week-row:not(.is-depth-0) .gantt-week-name[data-v-5c185065]:before{content:"";position:absolute;left:calc(8px + (var(--gantt-depth, 0) - 1) * 18px + 8px);top:0;bottom:0;width:1px;background:var(--outline-variant);opacity:.85}.gantt-week-title[data-v-5c185065]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.gantt-week-title.is-editable[data-v-5c185065]{cursor:text}.gantt-week-title.is-editable[data-v-5c185065]:hover{color:var(--primary-strong)}.gantt-week-title-input[data-v-5c185065]{flex:1;min-width:0;font-size:13px;padding:2px 4px;border:1px solid var(--primary);border-radius:4px}.gantt-week-row.is-depth-0 .gantt-week-title[data-v-5c185065],.gantt-week-row.is-parent .gantt-week-title[data-v-5c185065]{font-weight:600}.gantt-row-settings[data-v-5c185065]{flex-shrink:0;width:20px;height:20px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--primary-strong);min-height:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transform:scale(.9);transition:opacity .12s ease,transform .12s ease,background .12s ease}.gantt-row-settings.is-visible[data-v-5c185065],.gantt-week-row.is-focused .gantt-row-settings[data-v-5c185065],.gantt-week-row:hover .gantt-row-settings[data-v-5c185065]{opacity:1;pointer-events:auto;transform:scale(1)}.gantt-row-settings[data-v-5c185065]:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.gantt-row-settings .material-symbols-outlined[data-v-5c185065]{font-size:15px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.gantt-week-track[data-v-5c185065]{flex:1;position:relative;height:24px;margin:4px 8px;align-self:center;background:var(--surface-container-low);border-radius:4px}.gantt-week-bar[data-v-5c185065]{position:absolute;top:3px;height:18px;border-radius:4px;min-width:4px;overflow:hidden}.gantt-week-bar-progress[data-v-5c185065]{height:100%;opacity:.85}.gantt-bar--absence[data-v-5c185065]{opacity:.85;background-image:repeating-linear-gradient(-45deg,transparent,transparent 3px,rgba(255,255,255,.35) 3px,rgba(255,255,255,.35) 6px)}.gantt-bar--non_working[data-v-5c185065]{opacity:.55}.gantt-expander[data-v-5c185065]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer}.gantt-expander[data-v-5c185065]:hover{background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.gantt-expander .material-symbols-outlined[data-v-5c185065]{font-size:16px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.gantt-expander-spacer[data-v-5c185065]{flex-shrink:0;width:18px;min-width:18px}.gantt-empty-hint[data-v-5c185065]{padding:16px;color:var(--text-secondary)}.gantt-empty-hint ul[data-v-5c185065]{margin:8px 0 0 18px}.gantt-node-modal-overlay[data-v-2540bbc0]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10060;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px}.gantt-node-modal[data-v-2540bbc0]{width:min(520px,100%);max-height:min(90vh,880px);overflow:auto;background:var(--surface-panel);border-radius:var(--radius-lg);border:1px solid var(--outline-variant);box-shadow:var(--shadow-popover, 0 16px 40px rgba(0, 0, 0, .2))}.gantt-node-modal__header[data-v-2540bbc0]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--outline-variant)}.gantt-node-modal__header h2[data-v-2540bbc0]{margin:0;font-size:1.1rem}.gantt-node-modal__close[data-v-2540bbc0]{width:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;min-height:0;cursor:pointer}.gantt-node-modal__body[data-v-2540bbc0]{padding:0 18px 18px}.gantt-node-modal__timeline[data-v-2540bbc0]{padding:14px 0 8px;border-bottom:1px solid var(--outline-variant)}.gantt-node-modal__timeline h3[data-v-2540bbc0]{margin:0 0 6px;font-size:.95rem}.gantt-node-modal__hint[data-v-2540bbc0]{margin:0 0 10px;font-size:12px;color:var(--text-secondary)}.gantt-node-modal__dates[data-v-2540bbc0]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gantt-node-modal__dates label[data-v-2540bbc0]{display:flex;flex-direction:column;gap:4px;font-size:12px}.gantt-node-modal__dates input[data-v-2540bbc0]{font-size:13px;padding:6px 8px}.gantt-node-modal__editor[data-v-2540bbc0] .editor-panel{position:static;width:100%;max-width:none;border:0;box-shadow:none;padding:0}.gantt-node-modal__editor[data-v-2540bbc0] .editor-panel-header{display:none}.gantt-chart-view[data-v-d8650a9b]{display:flex;flex-direction:column;flex:1;min-height:0;gap:12px}.gantt-chart-view--portfolio[data-v-d8650a9b]{padding:0}.resource-schedule-panel[data-v-1050d369]{display:flex;flex-direction:column;gap:12px;padding:16px;border-left:1px solid var(--border-subtle, #e5e7eb);background:var(--surface-elevated, #f9fafb);min-width:280px;max-width:360px;overflow:auto;font-family:var(--font-family, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);font-size:13px;line-height:1.4;color:var(--text-primary, #1e293b)}.resource-schedule-panel__header[data-v-1050d369]{display:flex;align-items:center;justify-content:space-between;gap:8px}.resource-schedule-panel__header h3[data-v-1050d369]{margin:0;font-size:16px;font-weight:600}.resource-schedule-panel__tabs[data-v-1050d369]{display:flex;flex-wrap:wrap;gap:6px}.resource-schedule-panel__tab[data-v-1050d369]{margin:0;padding:6px 12px;min-height:32px;border:1px solid var(--outline-variant, #d0d5dd);border-radius:8px;background:var(--surface, #fff);color:var(--text-primary, #334155);font-family:inherit;font-size:13px;font-weight:500;line-height:1.25;cursor:pointer}.resource-schedule-panel__tab.is-active[data-v-1050d369]{border-color:var(--primary, #4a6fa5);background:#eff6ff;color:#1d4ed8;font-weight:600}.resource-schedule-panel__btn[data-v-1050d369]{margin:0;padding:8px 14px;min-height:36px;border-radius:8px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.25;cursor:pointer}.resource-schedule-panel__btn--secondary[data-v-1050d369]{border:1px solid var(--outline-variant, #d0d5dd);background:var(--surface-container-high, #f1f5f9);color:var(--text-primary, #334155)}.resource-schedule-panel__btn--primary[data-v-1050d369]{border:none;background:var(--primary, #4a6fa5);color:var(--on-primary, #fff)}.resource-schedule-panel__btn-link[data-v-1050d369]{margin:0;padding:0;min-height:auto;border:none;background:none;color:#b91c1c;font-family:inherit;font-size:12px;font-weight:500;line-height:1.25;cursor:pointer;text-decoration:underline}.resource-schedule-panel__list[data-v-1050d369]{list-style:none;margin:0;padding:0}.resource-schedule-panel__list li[data-v-1050d369]{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid #e5e7eb}.resource-schedule-panel__list-text[data-v-1050d369]{display:flex;flex-direction:column;gap:2px}.resource-schedule-panel__list-text small[data-v-1050d369]{color:#64748b;font-size:12px}.resource-schedule-panel__form[data-v-1050d369]{display:flex;flex-direction:column;gap:10px}.resource-schedule-panel__field[data-v-1050d369]{display:flex;flex-direction:column;gap:4px}.resource-schedule-panel__field--row[data-v-1050d369]{flex-direction:row;align-items:center;gap:8px}.resource-schedule-panel__label[data-v-1050d369]{font-size:12px;font-weight:600;color:#475569}.resource-schedule-panel__hint[data-v-1050d369]{font-size:11px;color:#64748b;line-height:1.35}.resource-schedule-panel__input[data-v-1050d369]{margin:0;padding:8px 10px;min-height:36px;border:1px solid var(--outline-variant, #d0d5dd);border-radius:8px;background:#fff;color:var(--text-primary, #1e293b);font-family:inherit;font-size:13px;font-weight:400;line-height:1.25}.resource-schedule-panel__input--narrow[data-v-1050d369]{max-width:72px}.resource-schedule-panel__default-hours[data-v-1050d369]{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:8px;background:#fff;border:1px solid #e5e7eb}.resource-schedule-panel__time-range[data-v-1050d369]{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.resource-schedule-panel__time-field[data-v-1050d369]{display:flex;flex-direction:column;gap:2px;font-size:11px;color:#64748b}.resource-schedule-panel__time-sep[data-v-1050d369]{color:#94a3b8;padding-bottom:8px;font-size:12px}.resource-schedule-panel__input--time[data-v-1050d369]{min-width:108px;max-width:120px;padding:6px 8px;min-height:32px}.resource-schedule-panel__week-head[data-v-1050d369]{font-size:11px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.03em}.resource-schedule-panel__week-row[data-v-1050d369]{display:grid;grid-template-columns:2rem 5.5rem 1fr;gap:8px;align-items:center}.resource-schedule-panel__day-times[data-v-1050d369]{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.resource-schedule-panel__day-off[data-v-1050d369]{color:#94a3b8;font-size:12px}.resource-schedule-panel__weekday[data-v-1050d369]{font-weight:600;font-size:12px}.resource-schedule-panel__week-check[data-v-1050d369]{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer}.resource-schedule-panel__week-check input[data-v-1050d369]{margin:0;min-height:auto}.resource-schedule-panel__error[data-v-1050d369]{color:#b91c1c;margin:0}.resource-schedule-panel__state[data-v-1050d369]{color:#64748b;margin:0}.personnel-bulk-modal[data-v-3ae4c363]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1250;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.personnel-bulk-modal__dialog[data-v-3ae4c363]{width:100%;max-width:440px;max-height:90vh;overflow:auto;padding:20px;border-radius:12px;background:var(--surface-elevated, #f9fafb);box-shadow:0 20px 40px #0000002e}.personnel-bulk-modal__header[data-v-3ae4c363]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.personnel-bulk-modal__header h3[data-v-3ae4c363]{margin:0;font-size:1.05rem}.personnel-bulk-modal__close[data-v-3ae4c363]{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);cursor:pointer;min-height:0}.personnel-bulk-modal__close[data-v-3ae4c363]:hover{background:color-mix(in srgb,var(--primary) 12%,transparent);color:var(--text-primary)}.personnel-bulk-modal__targets[data-v-3ae4c363]{margin:0 0 12px;font-size:13px;color:var(--text-secondary);line-height:1.4}.personnel-bulk-modal__targets-label[data-v-3ae4c363]{font-weight:600;color:var(--text-primary)}.personnel-bulk-modal__error[data-v-3ae4c363]{margin:0 0 10px;color:#c62828;font-size:13px}.personnel-bulk-modal__success[data-v-3ae4c363]{margin:0 0 10px;color:#1b5e20;font-size:13px}.personnel-bulk-modal__form[data-v-3ae4c363]{display:flex;flex-direction:column;gap:10px}.personnel-bulk-modal__field[data-v-3ae4c363]{display:flex;flex-direction:column;gap:4px;font-size:13px}.personnel-bulk-modal__field input[data-v-3ae4c363],.personnel-bulk-modal__field select[data-v-3ae4c363]{padding:8px 10px;border:1px solid var(--outline, #d0d5dd);border-radius:8px;font:inherit;background:var(--surface, #fff);min-height:0}.personnel-bulk-modal__week[data-v-3ae4c363]{display:flex;flex-direction:column;gap:6px}.personnel-bulk-modal__week-row[data-v-3ae4c363]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}.personnel-bulk-modal__week-day[data-v-3ae4c363]{display:inline-flex;align-items:center;gap:6px;min-width:7rem;cursor:pointer}.personnel-bulk-modal__time[data-v-3ae4c363]{width:6.5rem;padding:6px 8px;border:1px solid var(--outline, #d0d5dd);border-radius:6px;font:inherit;min-height:0}.personnel-bulk-modal__actions[data-v-3ae4c363]{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.personnel-bulk-modal__btn[data-v-3ae4c363]{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;min-height:0;border:1px solid transparent}.personnel-bulk-modal__btn--ghost[data-v-3ae4c363]{background:transparent;border-color:var(--outline, #d0d5dd);color:var(--text-primary)}.personnel-bulk-modal__btn--primary[data-v-3ae4c363]{background:var(--primary, #2563eb);color:#fff}.personnel-bulk-modal__btn[data-v-3ae4c363]:disabled{opacity:.55;cursor:default}.personnel-schedule-modal[data-v-3abb91aa]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73}.personnel-schedule-modal__dialog[data-v-3abb91aa]{max-width:480px;width:100%;max-height:90vh;overflow:auto;background:var(--surface-elevated, #f9fafb);border-radius:12px;box-shadow:0 20px 40px #0000002e}.personnel-schedule-modal__dialog[data-v-3abb91aa] .resource-schedule-panel{border-left:none;max-width:none;min-width:0}.resource-calendar-view[data-v-1afb9e72]{flex:1;display:flex;flex-direction:column;min-height:0;padding:12px 16px}.resource-calendar-toolbar[data-v-1afb9e72]{margin-bottom:12px}.resource-month-controls[data-v-1afb9e72]{display:flex;gap:8px;align-items:center}.resource-calendar-wrap[data-v-1afb9e72]{flex:1;min-height:0;overflow:auto}.resource-calendar-grid[data-v-1afb9e72]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;width:100%;min-width:36rem;box-sizing:border-box}.resource-calendar-weekday[data-v-1afb9e72]{position:sticky;top:0;z-index:2;padding:6px 4px;text-align:center;font-size:11px;font-weight:600;color:#64748b;background:var(--surface-panel, #fff);border-bottom:1px solid var(--outline-variant, #e5e7eb)}.resource-day-cell[data-v-1afb9e72]{min-height:88px;border:1px solid #e5e7eb;border-radius:6px;padding:4px;background:#fff}.resource-day-cell.is-outside[data-v-1afb9e72]{opacity:.45}.resource-day-cell.is-non-working[data-v-1afb9e72]{background:#f3f4f6}.resource-day-cell.is-non-working .resource-day-number[data-v-1afb9e72]{color:#94a3b8}.resource-day-number[data-v-1afb9e72]{font-size:12px;font-weight:600}.resource-day-people[data-v-1afb9e72]{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.resource-person-chip[data-v-1afb9e72]{display:flex;align-items:center;gap:4px;min-height:0;border:none;border-radius:999px;padding:2px 6px 2px 2px;font-size:10px;font-weight:600;line-height:1.2;cursor:pointer;color:var(--text-primary)}.resource-person-chip.is-free[data-v-1afb9e72]{background:#dcfce7;color:#166534}.resource-person-chip.is-tight[data-v-1afb9e72]{background:#fef9c3;color:#854d0e}.resource-person-chip.is-busy[data-v-1afb9e72]{background:#fee2e2;color:#991b1b}.resource-person-chip.is-unavailable[data-v-1afb9e72],.resource-person-chip.has-absence[data-v-1afb9e72]{background:#ffedd5;color:#9a3412}.resource-person-load[data-v-1afb9e72]{color:inherit}.resource-person-avatar[data-v-1afb9e72]{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#1e40af;color:#fff;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.resource-day-detail-overlay[data-v-1afb9e72]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10060;background:#0f172a73;display:flex;align-items:center;justify-content:center;padding:24px}.resource-day-detail[data-v-1afb9e72]{width:min(440px,100%);max-height:min(80vh,560px);overflow:auto;background:var(--surface-panel, #fff);border-radius:var(--radius-lg, 12px);border:1px solid var(--outline-variant, #e2e8f0);box-shadow:var(--shadow-popover, 0 10px 26px rgba(15, 23, 42, .1));padding:16px 18px 18px}.resource-day-detail__header[data-v-1afb9e72]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.resource-day-detail__header h2[data-v-1afb9e72]{margin:0;font-size:1rem;font-weight:600;line-height:1.35}.resource-day-detail__close[data-v-1afb9e72]{flex-shrink:0;min-height:32px;min-width:32px;padding:0;border:0;border-radius:var(--radius-md, 8px);background:var(--surface-container, #edeeef);color:var(--text-primary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.resource-day-detail__close[data-v-1afb9e72]:hover{background:var(--surface-container-high, #e7e8e9)}.resource-day-detail__load[data-v-1afb9e72]{margin:0 0 14px;font-size:.8125rem;color:var(--text-secondary)}.resource-day-detail__section[data-v-1afb9e72]{margin-bottom:14px}.resource-day-detail__section h3[data-v-1afb9e72]{margin:0 0 8px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.resource-day-detail__project[data-v-1afb9e72]{padding:10px 12px;border:1px solid var(--outline-variant, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--surface-container-low, #f3f4f5)}.resource-day-detail__project+.resource-day-detail__project[data-v-1afb9e72]{margin-top:8px}.resource-day-detail__project-head[data-v-1afb9e72]{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px}.resource-day-detail__project-head strong[data-v-1afb9e72]{display:block;font-size:.875rem}.resource-day-detail__task-count[data-v-1afb9e72]{display:block;margin-top:2px;font-size:.75rem;font-weight:500;color:var(--text-secondary)}.resource-day-detail__open[data-v-1afb9e72]{flex-shrink:0;min-height:28px;padding:4px 10px;font-size:.75rem}.resource-day-detail__tasks[data-v-1afb9e72],.resource-day-detail__absences[data-v-1afb9e72]{margin:0;padding-left:1.1rem;font-size:.8125rem;line-height:1.45}.resource-day-detail__tasks li+li[data-v-1afb9e72],.resource-day-detail__absences li+li[data-v-1afb9e72]{margin-top:4px}.resource-day-detail__empty[data-v-1afb9e72]{margin:0;font-size:.8125rem}.resource-gantt-view[data-v-b36b7867]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.resource-gantt-legend[data-v-b36b7867]{display:flex;flex-wrap:wrap;gap:12px;padding:8px 16px;font-size:12px}.legend-item[data-v-b36b7867]{display:inline-flex;align-items:center;gap:6px}.legend-item[data-v-b36b7867]:before{content:"";width:14px;height:8px;border-radius:2px}.legend-item--assignment[data-v-b36b7867]:before{background:#3b82f6}.legend-item--absence[data-v-b36b7867]:before{background:#f59e0b}.legend-item--off[data-v-b36b7867]:before{background:#94a3b8}.board--resource-planning[data-v-7b28cb74]{flex:1;min-height:0;background:var(--surface, #fff)}.resource-planning-body[data-v-7b28cb74]{display:flex;min-height:0}.resource-planning-filters[data-v-7b28cb74]{width:260px;flex-shrink:0;padding:12px 14px;border-right:1px solid var(--border-subtle, #e5e7eb);overflow:auto}.resource-planning-filters h2[data-v-7b28cb74]{margin:0 0 4px;font-size:15px}.resource-filter-subtitle[data-v-7b28cb74]{margin:0 0 12px;font-size:12px;color:#64748b}.resource-filter-label[data-v-7b28cb74]{display:flex;flex-direction:column;gap:6px;font-size:13px}.resource-date-range[data-v-7b28cb74]{display:flex;flex-direction:column;gap:6px}.resource-filter-check[data-v-7b28cb74]{display:flex;align-items:flex-start;gap:8px;margin-top:12px;font-size:12px;line-height:1.4;color:var(--text-secondary, #64748b);cursor:pointer}.resource-filter-check input[data-v-7b28cb74]{margin-top:2px;min-height:0}.resource-people-list[data-v-7b28cb74]{margin-top:14px}.resource-person-option[data-v-7b28cb74]{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:6px 0;font-size:13px;cursor:pointer}.resource-person-meta[data-v-7b28cb74]{font-size:11px;color:#64748b;width:100%;padding-left:22px}.resource-planning-main[data-v-7b28cb74]{flex:1;min-width:0;display:flex;flex-direction:column}.project-team__section-head[data-v-41cc4245]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.project-team__section-head h2[data-v-41cc4245]{margin:0;font-size:1.1rem}.project-team__primary-btn[data-v-41cc4245]{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;cursor:pointer;font-size:.875rem}.project-team__primary-btn[data-v-41cc4245]:hover{filter:brightness(1.05)}.project-team__table-wrap[data-v-41cc4245]{overflow-x:auto;border:1px solid var(--outline, #e2e8f0);border-radius:10px;background:#fff}.project-team__table[data-v-41cc4245]{width:100%;border-collapse:collapse}.project-team__table th[data-v-41cc4245],.project-team__table td[data-v-41cc4245]{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--outline-subtle, #f1f5f9);vertical-align:middle}.project-team__table th[data-v-41cc4245]{font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--surface-muted, #f8fafc)}.project-team__table tbody tr:last-child td[data-v-41cc4245]{border-bottom:none}.project-team__th-actions[data-v-41cc4245]{width:7rem;text-align:right}.project-team__member-name[data-v-41cc4245]{font-weight:500}.project-team__member-meta[data-v-41cc4245]{font-size:.85em;color:var(--text-secondary, #64748b)}.project-team__role-tag[data-v-41cc4245]{display:inline-block;margin:.1rem .25rem .1rem 0;padding:.1rem .45rem;border-radius:999px;background:var(--surface-muted, #f1f5f9);font-size:.8em}.project-team__resource[data-v-41cc4245]{margin-left:.5rem;font-size:.85em}.project-team__resource--available[data-v-41cc4245]{color:#15803d}.project-team__resource--overloaded[data-v-41cc4245]{color:#b91c1c}.project-team__resource--unavailable[data-v-41cc4245]{color:#6b7280}.project-team__manager-toggle[data-v-41cc4245]{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;-webkit-user-select:none;user-select:none}.project-team__manager-checkbox[data-v-41cc4245]{width:1rem;height:1rem;margin:0;cursor:pointer}.project-team__manager-checkbox[data-v-41cc4245]:disabled{cursor:not-allowed;opacity:.55}.project-team__competencies[data-v-41cc4245]{max-width:14rem;font-size:.875rem}.project-team__role-tags[data-v-41cc4245]{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.25rem}.project-team__role-tag[data-v-41cc4245]{display:inline-block;padding:.1rem .45rem;border-radius:999px;background:#dbeafe;color:#1e40af;font-size:.8em}.project-team__role-tag.is-unplanned[data-v-41cc4245]{background:#fef3c7;color:#92400e}.project-team__link-btn[data-v-41cc4245]{display:block;margin-top:.15rem;padding:0;border:none;background:none;color:var(--primary, #2563eb);font-size:.8rem;cursor:pointer;text-decoration:underline}.project-team__workload[data-v-41cc4245]{white-space:nowrap}.project-team__roles-hint[data-v-41cc4245]{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary, #64748b)}.project-team__role-checkboxes[data-v-41cc4245]{display:flex;flex-direction:column;gap:.35rem;max-height:16rem;overflow-y:auto}.project-team__role-check[data-v-41cc4245]{display:flex;align-items:center;gap:.4rem;font-size:.9rem;cursor:pointer}.project-roles__intro[data-v-80640048]{margin:0 0 1rem;font-size:.9rem;line-height:1.45;color:var(--text-secondary, #475569)}.project-roles__filled-names[data-v-80640048]{font-size:.85rem;max-width:16rem}.project-roles__summary[data-v-80640048]{margin-bottom:1rem;padding:.65rem .85rem;border-radius:8px;background:var(--surface-muted, #f8fafc);font-size:.9rem}.project-roles__summary-label[data-v-80640048]{margin-right:.35rem;color:var(--text-secondary, #64748b)}.project-roles__overstaff[data-v-80640048]{margin-left:.35rem;color:#b45309}.project-roles__section-head[data-v-80640048]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.project-roles__section-head h2[data-v-80640048]{margin:0;font-size:1.1rem}.project-roles__primary-btn[data-v-80640048]{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .85rem;border:none;border-radius:8px;background:var(--primary, #2563eb);color:#fff;cursor:pointer;font-size:.875rem}.project-roles__table-wrap[data-v-80640048]{overflow-x:auto;border:1px solid var(--outline, #e2e8f0);border-radius:10px;background:#fff}.project-roles__table[data-v-80640048]{width:100%;border-collapse:collapse}.project-roles__table th[data-v-80640048],.project-roles__table td[data-v-80640048]{padding:.55rem .75rem;border-bottom:1px solid var(--outline-subtle, #f1f5f9);text-align:left}.project-roles__table th[data-v-80640048]{font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b);background:var(--surface-muted, #f8fafc)}.project-roles__th-actions[data-v-80640048]{width:7rem;text-align:right}.project-settings__breadcrumbs[data-v-3f0c7914]{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.75rem;font-size:.875rem;color:var(--text-secondary, #64748b)}.project-settings__crumb[data-v-3f0c7914]{color:var(--primary, #2563eb);text-decoration:none}.project-settings__crumb[data-v-3f0c7914]:hover{text-decoration:underline}.project-settings__crumb.is-current[data-v-3f0c7914]{color:var(--text-primary, #0f172a);font-weight:500}.project-settings__crumb-sep[data-v-3f0c7914]{color:var(--text-secondary, #94a3b8);-webkit-user-select:none;user-select:none}.project-settings__head[data-v-3f0c7914]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.project-settings__back[data-v-3f0c7914]{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .65rem;border:1px solid var(--outline-variant, #e2e8f0);border-radius:8px;background:var(--surface-panel, #fff);color:var(--text-primary, #191c1d);font-size:.875rem;font-weight:500;cursor:pointer}.project-settings__back .material-symbols-outlined[data-v-3f0c7914]{font-size:1.1rem}.project-settings__back[data-v-3f0c7914]:hover{background:var(--surface-muted, #f8fafc);color:var(--primary-strong, #30568b)}.project-settings__title[data-v-3f0c7914]{margin:0;font-size:1.35rem;font-weight:600}.project-settings__about[data-v-3f0c7914]{margin-bottom:1.5rem}.project-settings__section-label[data-v-3f0c7914]{margin:0 0 .5rem;font-size:.9375rem;font-weight:600}.project-settings__description-input[data-v-3f0c7914]{width:100%;max-width:42rem;min-height:6rem;padding:10px 12px;border:1px solid var(--outline-variant, #e2e8f0);border-radius:8px;font:inherit;font-size:.875rem;line-height:1.45;resize:vertical;box-sizing:border-box}.project-settings__description-read[data-v-3f0c7914]{margin:0;max-width:42rem;font-size:.875rem;line-height:1.45;white-space:pre-wrap}.project-settings__description-status[data-v-3f0c7914]{margin:.35rem 0 0;font-size:.8125rem}.project-settings__description-status--error[data-v-3f0c7914]{color:var(--error, #b3261e)}.project-settings__unified[data-v-3f0c7914]{display:flex;flex-direction:column;gap:2rem}.vue-flow{position:relative;width:100%;height:100%;overflow:hidden;z-index:0;direction:ltr}.vue-flow__container{position:absolute;height:100%;width:100%;left:0;top:0}.vue-flow__pane{z-index:1}.vue-flow__pane.draggable{cursor:grab}.vue-flow__pane.selection{cursor:pointer}.vue-flow__pane.dragging{cursor:grabbing}.vue-flow__transformationpane{transform-origin:0 0;z-index:2;pointer-events:none}.vue-flow__viewport{z-index:4;overflow:clip}.vue-flow__selection{z-index:6}.vue-flow__edge-labels{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible{outline:none}.vue-flow .vue-flow__edges{pointer-events:none;overflow:visible}.vue-flow__edge-path,.vue-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.vue-flow__edge{pointer-events:visibleStroke;cursor:pointer}.vue-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__edge.animated path.vue-flow__edge-interaction{stroke-dasharray:none;animation:none}.vue-flow__edge.inactive{pointer-events:none}.vue-flow__edge.selected,.vue-flow__edge:focus,.vue-flow__edge:focus-visible{outline:none}.vue-flow__edge.selected .vue-flow__edge-path,.vue-flow__edge:focus .vue-flow__edge-path,.vue-flow__edge:focus-visible .vue-flow__edge-path{stroke:#555}.vue-flow__edge-textwrapper{pointer-events:all}.vue-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vue-flow__connection{pointer-events:none}.vue-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.vue-flow__connectionline{z-index:1001}.vue-flow__nodes{pointer-events:none;transform-origin:0 0}.vue-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.vue-flow__node.draggable{cursor:grab;pointer-events:all}.vue-flow__node.draggable.dragging{cursor:grabbing}.vue-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.vue-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.vue-flow__nodesselection-rect.dragging{cursor:grabbing}.vue-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px}.vue-flow__handle.connectable{pointer-events:all;cursor:crosshair}.vue-flow__handle-bottom{left:50%;bottom:0;transform:translate(-50%,50%)}.vue-flow__handle-top{left:50%;top:0;transform:translate(-50%,-50%)}.vue-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.vue-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.vue-flow__edgeupdater{cursor:move;pointer-events:all}.vue-flow__panel{position:absolute;z-index:5;margin:15px}.vue-flow__panel.top{top:0}.vue-flow__panel.bottom{bottom:0}.vue-flow__panel.left{left:0}.vue-flow__panel.right{right:0}.vue-flow__panel.center{left:50%;transform:translate(-50%)}@keyframes dashdraw{0%{stroke-dashoffset:10}}:root{--vf-node-bg: #fff;--vf-node-text: #222;--vf-connection-path: #b1b1b7;--vf-handle: #555}.vue-flow__edge.updating .vue-flow__edge-path{stroke:#777}.vue-flow__edge-text{font-size:10px}.vue-flow__edge-textbg{fill:#fff}.vue-flow__connection-path{stroke:var(--vf-connection-path)}.vue-flow__node{cursor:grab}.vue-flow__node.selectable:focus,.vue-flow__node.selectable:focus-visible{outline:none}.vue-flow__node-default,.vue-flow__node-input,.vue-flow__node-output{padding:10px;border-radius:3px;width:150px;font-size:12px;text-align:center;border-width:1px;border-style:solid;color:var(--vf-node-text);background-color:var(--vf-node-bg);border-color:var(--vf-node-color)}.vue-flow__node-default.selected,.vue-flow__node-default.selected:hover,.vue-flow__node-input.selected,.vue-flow__node-input.selected:hover,.vue-flow__node-output.selected,.vue-flow__node-output.selected:hover{box-shadow:0 0 0 .5px var(--vf-box-shadow)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible,.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible,.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid #555}.vue-flow__node-default .vue-flow__handle,.vue-flow__node-input .vue-flow__handle,.vue-flow__node-output .vue-flow__handle{background:var(--vf-handle)}.vue-flow__node-default.selectable:hover,.vue-flow__node-input.selectable:hover,.vue-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.vue-flow__node-input{--vf-node-color: var(--vf-node-color, #0041d0);--vf-handle: var(--vf-node-color, #0041d0);--vf-box-shadow: var(--vf-node-color, #0041d0);background:var(--vf-node-bg);border-color:var(--vf-node-color, #0041d0)}.vue-flow__node-input.selected,.vue-flow__node-input:focus,.vue-flow__node-input:focus-visible{outline:none;border:1px solid var(--vf-node-color, #0041d0)}.vue-flow__node-default{--vf-handle: var(--vf-node-color, #1a192b);--vf-box-shadow: var(--vf-node-color, #1a192b);background:var(--vf-node-bg);border-color:var(--vf-node-color, #1a192b)}.vue-flow__node-default.selected,.vue-flow__node-default:focus,.vue-flow__node-default:focus-visible{outline:none;border:1px solid var(--vf-node-color, #1a192b)}.vue-flow__node-output{--vf-handle: var(--vf-node-color, #ff0072);--vf-box-shadow: var(--vf-node-color, #ff0072);background:var(--vf-node-bg);border-color:var(--vf-node-color, #ff0072)}.vue-flow__node-output.selected,.vue-flow__node-output:focus,.vue-flow__node-output:focus-visible{outline:none;border:1px solid var(--vf-node-color, #ff0072)}.vue-flow__nodesselection-rect,.vue-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.vue-flow__nodesselection-rect:focus,.vue-flow__nodesselection-rect:focus-visible,.vue-flow__selection:focus,.vue-flow__selection:focus-visible{outline:none}.vue-flow__handle{width:6px;height:6px;background:var(--vf-handle);border:1px solid #fff;border-radius:100%}.vue-flow__minimap{background-color:#fff}.vue-flow__minimap.pannable{cursor:grab}.vue-flow__minimap.dragging{cursor:grabbing}.vue-flow__minimap-mask.pannable{cursor:grab}.vue-flow__controls{box-shadow:0 0 2px 1px #00000014}.vue-flow__controls-button{background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:5px}.vue-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.vue-flow__controls-button:hover{background:#f4f4f4}.vue-flow__controls-button:disabled{pointer-events:none}.vue-flow__controls-button:disabled svg{fill-opacity:.4}*{box-sizing:border-box}:root{--background: #f8f9fa;--surface: #f8f9fa;--surface-panel: #ffffff;--surface-sidebar: #f3f4f5;--surface-container-low: #f3f4f5;--surface-container: #edeeef;--surface-container-high: #e7e8e9;--outline: #e1e3e4;--outline-variant: #c3c6d1;--text-primary: #191c1d;--text-secondary: #57657a;--on-surface-variant: #43474f;--primary: #4a6fa5;--primary-strong: #30568b;--on-primary: #ffffff;--primary-container: #d5e3fc;--secondary-muted: #7d8ba1;--shadow-card: 0 4px 20px rgba(74, 111, 165, .06);--shadow-popover: 0 10px 26px rgba(15, 23, 42, .1);--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--workspace-sidebar-width: 280px;--workspace-sidebar-width-collapsed: 56px;--flow-edge: #c3c6d1;--flow-edge-selected: #4a6fa5}body{margin:0;height:100%;font-family:Plus Jakarta Sans Variable,Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:var(--background);color:var(--text-primary)}html{height:100%}#root{min-height:100%;display:flex;flex-direction:column}.material-symbols-outlined{font-family:Material Symbols Outlined Variable,Material Symbols Outlined,sans-serif;font-weight:400;font-style:normal;font-size:1.25rem;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.auth-layout{min-height:100vh;display:grid;place-items:center}.card{background:var(--surface-panel);border-radius:var(--radius-lg);border:1px solid var(--outline-variant);box-shadow:var(--shadow-card);padding:24px;width:340px;display:flex;flex-direction:column;gap:10px}.auth-switch{margin:0}.auth-switch .secondary{width:100%}input,textarea,select,button{border:1px solid var(--outline-variant);border-radius:var(--radius-md);padding:8px 10px;font:inherit;min-height:36px}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4a6fa51f}button{background:var(--primary);color:var(--on-primary);border:0;cursor:pointer;font-size:13px;font-weight:600;border-radius:var(--radius-md)}button.secondary{background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--text-primary)}button:disabled{opacity:.5;cursor:default}.layout{display:grid;grid-template-rows:auto 1fr auto;flex:1;min-height:0;width:100%;min-height:100vh;gap:0;padding:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:var(--surface-panel);border-bottom:1px solid var(--outline-variant);padding:8px 16px;box-shadow:0 1px #4a6fa50a}.brand-home{border:0;background:transparent;padding:0;cursor:pointer;text-align:left;font:inherit;border-radius:var(--radius-sm)}.brand-home:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.brand h1{margin:0;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;color:var(--primary-strong);transition:color .15s ease}.brand-home:hover h1{color:var(--primary)}.brand span{display:block;font-size:11px;color:var(--text-secondary);margin-top:-4px}.toolbar-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.toolbar-lang{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary, #64748b)}.toolbar-lang-label{white-space:nowrap}.toolbar-admin-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 10px;border-radius:6px;border:1px solid #dbe3ee;background:#eef2f7;color:#344054;text-decoration:none;font-size:12px;font-weight:500}.display-menu{position:relative}.display-menu-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:220px;padding:10px;border:1px solid var(--outline);border-radius:8px;background:#fff;box-shadow:0 10px 26px #0f172a24;display:grid;gap:8px}.display-menu-popover label{display:flex;align-items:center;gap:8px;font-size:13px;color:#344054}.segmented-control{display:inline-flex;border:1px solid var(--outline);border-radius:6px;overflow:hidden}.segmented-control button{border-radius:0;border:0;background:transparent;color:var(--text-secondary);min-height:32px;font-size:14px;padding-inline:14px}.segmented-control button.is-active{background:var(--primary);color:var(--on-primary)}.search-input{flex:1;min-width:160px;max-width:420px;background:var(--surface-container-low);border-color:var(--outline-variant);border-radius:var(--radius-full);padding-left:36px}.toolbar-search-wrap{position:relative;flex:1;display:flex;justify-content:center;max-width:480px;min-width:120px}.toolbar-search-wrap .search-input{width:100%;max-width:none}.toolbar-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--secondary-muted);pointer-events:none;font-size:1.125rem}.file-input{border:1px dashed #94a3b8;border-radius:6px;padding:6px 8px;background:#fff;cursor:pointer}.file-input input{display:none}.password-toggle{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.password-toggle input{min-height:auto;width:auto;margin:0}.board{display:grid;grid-template-columns:1fr 300px;min-height:0;align-self:stretch;position:relative}.board>.mindmap-panel,.board>.gantt-panel,.board>.gantt-chart-view--embedded,.board--portfolio-gantt>.gantt-chart-view{grid-column:1;grid-row:1;min-height:0}.board--portfolio-gantt{display:flex;flex-direction:column;grid-template-columns:1fr}.board:has(>.board-canvas-toolbar)>.gantt-chart-view,.board:has(>.board-canvas-toolbar)>.gantt-chart-view--embedded,.board--portfolio-gantt:has(>.mindmap-flow-toolbar)>.gantt-chart-view{padding-top:54px;box-sizing:border-box}.board--resource-planning{display:flex;flex-direction:column;grid-template-columns:unset;min-height:0}.board--resource-planning>.board-canvas-toolbar.mindmap-flow-toolbar{position:relative;top:auto;left:auto;transform:none;flex-shrink:0;align-self:center;margin:6px 8px 4px;z-index:2;max-width:calc(100% - 16px)}.board--resource-planning>.resource-planning-body{flex:1;min-height:0;min-width:0}.board-canvas-toolbar{pointer-events:auto}.panel-title{margin:0;font-size:13px;font-weight:700;color:var(--text-primary);line-height:1.3}.board>*{min-height:0}.mindmap-panel,.editor-panel,.gantt-panel,.gantt-chart-view--embedded{background:var(--surface-panel);min-height:320px;border-right:1px solid var(--outline);padding:12px}.mindmap-panel{min-height:0;display:flex;flex-direction:column}.mindmap-panel>.panel-title{flex:0 0 auto;margin:0 0 8px}.left-panel{background:var(--surface-sidebar);border-right:1px solid var(--outline);padding:12px;display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.left-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.left-panel-header h2{margin:0}.project-summary{border:1px solid var(--outline);border-radius:6px;padding:10px;background:#fff;display:grid;gap:4px}.project-summary small{color:var(--text-secondary)}.editor-panel .stack{display:grid;gap:8px;margin-bottom:18px}.editor-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-panel-header .panel-title{margin:0}.editor-toggle{min-height:28px;min-width:28px;padding:0;font-size:16px;line-height:1}.panel-toggle{min-height:32px;min-width:32px;width:auto;padding:0;line-height:1;border-radius:var(--radius-full);display:inline-flex;align-items:center;justify-content:center;background:var(--surface-panel);border:1px solid var(--outline-variant);color:var(--text-secondary)}.panel-toggle .material-symbols-outlined{font-size:22px;font-variation-settings:"FILL" 0,"wght" 500,"GRAD" 0,"opsz" 24}.left-panel.is-collapsed{padding:8px 4px;overflow:hidden}.left-panel.is-collapsed .left-panel-header{justify-content:center}.editor-panel.is-collapsed{padding:8px 4px;overflow:hidden}.editor-panel.is-collapsed .editor-panel-header{justify-content:center}.editor-panel.is-collapsed .editor-toggle{min-width:24px;width:24px;min-height:24px;font-size:14px}.editor-panel h3{margin:4px 0;font-size:13px}.editor-panel-hint{margin:0 0 8px;font-size:12px;line-height:1.45;color:var(--text-secondary)}.editor-flow-locked-banner{margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.45;color:var(--text-secondary);background:var(--surface-container);border:1px solid var(--outline-variant);border-radius:var(--radius-md)}.editor-participants-fieldset{border:0;margin:0;padding:0;min-width:0}.style-form.is-flow-locked{opacity:.92}.style-select{width:100%;min-height:32px;padding:4px 8px;border-radius:6px;border:1px solid var(--outline);font-size:13px;background:#fff}.style-form{display:flex;flex-direction:column;gap:8px}.style-form>h3{margin:0 0 4px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.participant-editor{display:grid;gap:6px;align-items:stretch;margin-top:6px;padding-top:8px;border-top:1px solid var(--outline)}.participant-zone-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:0}.participant-zone{display:flex;flex-direction:column;gap:6px}.participant-chips-row{display:flex;flex-wrap:wrap;gap:4px;align-items:center}.participant-selected-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%;padding:2px 2px 2px 8px;border-radius:999px;background:#eef4ff;color:#1d2939;font-size:11px;line-height:1.2}.participant-selected-chip--direct{background:#fff7ed;border:1px solid #f59e0b;color:#92400e}.participant-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.participant-search-slot{position:relative}.participant-search-input{min-height:30px!important;padding:4px 8px!important;font-size:11px!important}.participant-dropdown-panel{position:absolute;top:calc(100% + 3px);left:0;right:0;z-index:40;max-height:168px;overflow:auto;border:1px solid var(--outline);border-radius:6px;background:#fff;box-shadow:0 8px 22px #0f172a1f;padding:2px}.participant-dropdown-panel.participant-dropdown-portal{position:fixed;z-index:10070;top:auto;left:auto;right:auto;max-height:min(168px,40vh)}.participant-dropdown-row{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:6px 8px;margin:0;border:0;border-radius:4px;background:transparent;color:#191c1e;cursor:pointer;text-align:left;min-height:auto;font:inherit}.participant-dropdown-row:hover{background:#eef4ff}.participant-dropdown-name{font-size:11px;font-weight:500;line-height:1.25;word-break:break-word}.participant-dropdown-meta{font-size:10px;color:var(--text-secondary)}.participant-dropdown-empty{padding:8px 10px;font-size:11px;color:var(--text-secondary)}.participant-chip-remove{min-height:22px;min-width:22px;padding:0;border:0;border-radius:999px;background:transparent;color:#475467;font-size:14px;line-height:1;cursor:pointer}.style-row{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;min-height:28px}.style-label{font-size:11px;color:var(--text-secondary);text-align:right;line-height:1.2}.style-field{display:block;min-width:0}.style-field .style-color{display:block;width:100%;height:28px;padding:2px 4px;min-height:28px;cursor:pointer}.style-field .style-text{display:block;width:100%;min-height:28px;padding:4px 8px;font-size:12px}.checkbox{display:flex;align-items:center;gap:8px}.mindmap-panel,.gantt-panel{padding-top:8px}.gantt-panel{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--outline);padding:52px 12px 12px}.mindmap-panel{padding-top:52px}.mindmap-canvas-wrap{position:relative;flex:1;min-height:0}.mindmap-empty-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:12;background:#fffffff5;border:1px solid var(--outline);border-radius:10px;padding:12px;display:grid;gap:8px;justify-items:center;box-shadow:0 10px 24px #0f172a1f}.mindmap-flow-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:25;display:flex;flex-direction:row;align-items:center;gap:2px;padding:4px 8px;border-radius:var(--radius-full);background:#ffffffb8;border:1px solid rgba(203,213,225,.85);box-shadow:0 10px 28px #0f172a1a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.mindmap-flow-toolbar-group{display:inline-flex;align-items:center;gap:2px}.mindmap-flow-toolbar-divider{width:1px;align-self:stretch;min-height:22px;margin:0 4px;background:#94a3b873}.mindmap-flow-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:var(--radius-full);border:0;background:transparent;color:var(--text-primary);cursor:pointer;font:inherit}.mindmap-flow-icon-btn:hover:not(:disabled){background:#4a6fa51a}.mindmap-flow-icon-btn:disabled{opacity:.45;cursor:default}.mindmap-flow-icon-btn.is-active{background:#4a6fa529}.mindmap-flow-icon-btn .material-symbols-outlined{font-size:1.35rem}.mindmap-flow-icon-btn--primary{background:var(--primary-container);color:var(--primary-strong)}.mindmap-flow-icon-btn--primary:hover:not(:disabled){background:#4a6fa547}.mindmap-flow-toolbar-align-wrap{position:relative}.mindmap-flow-align-pop{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);min-width:220px;padding:6px;border-radius:var(--radius-md);background:#fffffff5;border:1px solid var(--outline-variant);box-shadow:var(--shadow-popover);z-index:30;display:flex;flex-direction:column;gap:2px}.mindmap-flow-pop-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:8px 10px;border:0;border-radius:6px;background:transparent;color:var(--text-primary);font:inherit;font-size:13px;cursor:pointer}.mindmap-flow-pop-item:hover{background:var(--surface-container)}.mindmap-flow-pop-item .material-symbols-outlined{font-size:1.2rem;color:var(--text-secondary)}.mindmap-flow-distribute-svg{width:1.2rem;height:1.2rem;flex-shrink:0;color:var(--text-secondary)}.mindmap-flow-pop-hr{border:0;border-top:1px solid var(--outline);margin:4px 0}.mindmap-flow-pop-enter-active,.mindmap-flow-pop-leave-active{transition:opacity .12s ease,transform .12s ease}.mindmap-flow-pop-enter-from,.mindmap-flow-pop-leave-to{opacity:0;transform:translate(-50%) translateY(-4px)}.mindmap-debug{position:absolute;left:10px;bottom:8px;z-index:12;background:#ffffffe6;border:1px solid var(--outline);border-radius:6px;padding:3px 6px;font-size:11px;color:#475467}.mindmap-panel .vue-flow{border:0;border-radius:0;height:100%;background-color:#f8fafc}.mindmap-panel .vue-flow__pane{z-index:1!important}.mindmap-panel .vue-flow__background{z-index:0!important}.mindmap-panel .vue-flow__renderer,.mindmap-panel .vue-flow__nodes{z-index:10!important}.mindmap-panel .vue-flow__node{opacity:.92!important;visibility:visible!important;z-index:5!important}.mindmap-panel .vue-flow__node:hover,.mindmap-panel .vue-flow__node:focus-within,.mindmap-panel .vue-flow__node:has(.planner-node-selected){opacity:1!important}.mindmap-panel .vue-flow__node:has(.planner-node-floating-ui-open){z-index:90!important;opacity:1!important}.mindmap-panel .vue-flow__node:focus,.mindmap-panel .vue-flow__node:focus-visible{outline:none}.mindmap-panel .vue-flow__edge-path{stroke:#94a3b8a6!important;stroke-width:1.5px!important}.flow-handle{width:8px!important;height:8px!important;border:1px solid #cbd5e1!important;background:#fff!important}.flow-handle-target{left:-4px!important}.flow-handle-source{right:-4px!important}.flow-controls{border-radius:999px!important;overflow:hidden;border:1px solid #e2e8f0!important;box-shadow:0 10px 22px #0f172a14}.flow-controls button{border:0!important;border-radius:0!important}.flow-minimap{border-radius:12px!important;overflow:hidden;border:1px solid #e2e8f0!important;box-shadow:0 10px 22px #0f172a12}.flow-minimap .vue-flow__minimap-mask{opacity:.25}.gantt-panel{overflow:auto}.gantt-empty-hint{font-size:13px;line-height:1.5;color:var(--text-secondary)}.gantt-empty-hint ul{margin:8px 0 0;padding-left:1.2rem}.gantt-empty-hint li{margin-bottom:6px}.gantt-root-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.gantt-root-toggle{min-height:30px;padding-inline:10px;font-size:12px}.status{background:#e2e8f0;padding:8px;border-top:1px solid var(--outline)}.planner-node{--planner-node-radius: 16px;display:flex;flex-direction:row;align-items:stretch;min-width:220px;min-height:52px;background:#fffffff7;color:#191c1e;border-radius:var(--planner-node-radius);overflow:visible;border:1px var(--node-border-style, solid) rgba(226,232,240,.9);box-shadow:0 8px 18px #0f172a14,inset 4px 0 0 0 var(--planner-node-strip-color, var(--primary-strong))}.planner-node-content{padding:6px 8px 6px 10px;display:grid;gap:3px;flex:1;min-width:0;background:transparent;color:inherit;border-radius:0 var(--planner-node-radius) var(--planner-node-radius) 0;transform:translateZ(0)}.planner-inline-edit{display:grid;gap:4px}.planner-node-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.planner-node-content strong{font-size:14px;font-weight:600;line-height:1.1}.planner-node-collapsed{display:grid;gap:4px}.planner-node-assignee-icons{display:flex;flex-wrap:wrap;gap:4px}.planner-node-assignee-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;background:#eef4ff;color:#1d4ed8;font-size:11px;line-height:1;cursor:default}.planner-node-assignee-icon img{width:12px;height:12px;display:block}.status-icon{width:16px;height:16px;flex-shrink:0}.status-picker{position:relative;flex-shrink:0}.status-icon-trigger{display:inline-flex;align-items:center;justify-content:center;padding:2px;margin:-2px;border:0;border-radius:6px;background:transparent;cursor:pointer;font:inherit;color:inherit}.status-icon-trigger:hover{background:#006dff14}.status-icon-trigger:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.planner-node-status-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:45;min-width:168px;background:#fff;border:1px solid var(--outline);border-radius:6px;box-shadow:0 10px 24px #0f172a1f;padding:4px}.planner-node-status-option{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;margin:0;border:0;border-radius:4px;background:transparent;color:#191c1e;cursor:pointer;text-align:left;min-height:auto;font:inherit}.planner-node-status-option:hover,.planner-node-status-option-active{background:#eef4ff}.planner-node-meta{display:flex;justify-content:space-between;align-items:flex-end;font-size:10px;color:#5b6474;gap:8px}.planner-node-meta>:only-child{margin-left:auto}.planner-node-actions{display:grid;gap:4px;margin-top:2px}.planner-node-inline-dates{display:grid;gap:3px}.planner-node-input{min-height:24px;font-size:11px;padding:4px 6px}.planner-node-selected{outline:2px solid rgba(74,111,165,.65);outline-offset:1px;box-shadow:0 6px 18px #4a6fa533,inset 4px 0 0 0 var(--planner-node-strip-color, var(--primary-strong));background:#fffffff5}.status-select{position:relative}.status-select-trigger{width:100%;background:#fff;border:1px solid var(--outline);color:#191c1e;display:flex;align-items:center;justify-content:space-between;padding:8px 10px}.status-select-value{display:inline-flex;align-items:center;gap:8px}.status-select-caret{color:#667085}.status-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;background:#fff;border:1px solid var(--outline);border-radius:6px;box-shadow:0 10px 24px #0f172a1f;padding:4px}.status-option{width:100%;background:transparent;border:0;color:#191c1e;display:flex;align-items:center;gap:8px;padding:8px;border-radius:4px;text-align:left}.status-option:hover,.status-option-active{background:#eef4ff}.planner-node-timeline{min-width:96px;max-width:188px;display:grid;gap:2px}.planner-node-timeline-wrap{position:relative}.planner-node-timeline-button{border:0;background:transparent;color:inherit;min-height:auto;padding:0;cursor:pointer}.planner-node-timeline-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:45;min-width:196px;padding:8px;border:1px solid var(--outline);border-radius:8px;background:#fff;box-shadow:0 10px 24px #0f172a1f;display:grid;gap:6px}.planner-node-date-block{display:grid;gap:4px}.planner-node-date-block>span{font-size:10px;color:#5b6474}.planner-node-date-block .planner-node-input{width:100%;box-sizing:border-box}.planner-node-timeline-clear{min-height:28px;font-size:11px}.planner-node-timeline-hint{margin:0;font-size:10px;line-height:1.35;color:#7a8495}.planner-node-progress{width:100%;height:4px;border-radius:999px;background:#dff5ee;overflow:hidden}.planner-node-progress-value{display:block;height:100%;background:#3fd8ab;border-radius:999px}.planner-node-timeline-labels{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:8px;color:#7a8495;letter-spacing:.03em}.planner-node-timeline-labels span{white-space:nowrap}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a40;display:grid;place-items:center;z-index:1000}.modal-card{width:min(480px,calc(100vw - 24px));background:#fff;border:1px solid var(--outline);border-radius:14px;box-shadow:0 14px 36px #0f172a33;padding:18px}.modal-card h3{margin:0 0 10px;font-size:24px;line-height:1}.modal-card p{margin:0 0 12px;color:#344054}.modal-card input{width:100%}.modal-field-label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin:10px 0 4px}.modal-field-label:first-of-type{margin-top:0}.modal-actions{margin-top:16px;display:flex;justify-content:flex-end;gap:10px}@media (max-width: 1200px){.board{grid-template-columns:1fr}.mindmap-panel,.editor-panel,.gantt-panel{border-right:0;border-bottom:1px solid var(--outline)}.mindmap-canvas-wrap{flex:1;min-height:min(460px,55vh)}}.resource-calendar-layout{display:grid;grid-template-columns:260px 1fr;min-height:calc(100vh - 72px);background:#f8f9fb}.resource-filters-panel{border-right:1px solid var(--outline);background:#f3f4f6;padding:14px;display:grid;grid-auto-rows:min-content;gap:10px;overflow:auto}.resource-filters-header h2{margin:0;font-size:16px}.resource-filters-header p{margin:4px 0 0;font-size:12px;color:var(--text-secondary)}.resource-filter-label{margin-top:6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#475467}.resource-date-range{display:grid;gap:6px}.resource-date-range input{width:100%;box-sizing:border-box;font-variant-numeric:tabular-nums}.resource-people-list{display:grid;gap:4px;max-height:54vh;overflow:auto}.resource-person-option{display:grid;grid-template-columns:18px 24px 1fr;align-items:center;gap:8px;font-size:12px;color:#1d2939}.resource-person-option input{min-height:auto;width:14px;height:14px;margin:0}.resource-person-avatar{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:#dbeafe;color:#1d4ed8;font-size:10px;font-weight:700}.resource-person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-non-working-toggle{grid-template-columns:18px 1fr;margin-top:2px}.resource-non-working-toggle .resource-person-name{white-space:normal;line-height:1.3}.resource-calendar-main{display:grid;grid-template-rows:auto 1fr;overflow:hidden}.resource-calendar-toolbar{border-bottom:1px solid var(--outline);background:#fff;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.resource-month-controls{display:flex;align-items:center;gap:12px}.resource-month-pickers{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.resource-month-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-width:9.5rem;max-width:12rem;padding:6px 10px;font-size:15px;font-weight:600;font-family:inherit;color:var(--text-primary);background:var(--surface-container-high);border:1px solid var(--outline-variant);border-radius:var(--radius-md);cursor:pointer}.resource-month-select#resource-cal-year{min-width:5.5rem;max-width:7rem}.resource-nav-buttons{display:inline-flex;gap:6px}.resource-summary{display:inline-flex;gap:12px;color:#475467;font-size:12px}.resource-state{padding:14px;color:#475467}.resource-state-error{color:#b42318}.resource-calendar-wrap{overflow:auto;background:#e2e8f0}.resource-day-total{margin-top:auto;font-size:10px;color:#98a2b3}.resource-day-avatars{display:flex;flex-wrap:wrap;gap:6px}.resource-avatar-wrap{position:relative}.resource-avatar{width:28px;height:28px;min-height:28px;padding:0;border-radius:999px;border:1px solid #93c5fd;background:#eff6ff;color:#1e3a8a;font-size:10px;font-weight:700}.resource-tooltip{position:fixed;background:#fff;border:1px solid var(--outline);border-radius:8px;padding:8px;box-shadow:0 10px 24px #0f172a1f;display:grid;gap:2px;z-index:25;font-size:12px;line-height:1.3;transform:translateY(-100%);pointer-events:auto}.resource-tooltip strong{display:block;margin-bottom:4px}.resource-link-button{margin-top:6px;min-height:24px;padding:4px 8px;font-size:11px}.resource-tooltip-fixed{z-index:1000}.resource-tooltip-subtitle{margin-top:2px;color:#667085;font-size:11px}.resource-tooltip-projects{margin-top:4px;display:grid;gap:4px}.resource-tooltip-project-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.resource-project-link-button{min-height:22px;background:transparent;border:0;color:var(--primary);padding:0;text-align:left;text-decoration:underline;cursor:pointer}.resource-project-count{font-size:11px;color:#1d2939;background:#eef2ff;border-radius:10px;padding:1px 6px}.resource-more{font-size:11px;color:#667085;align-self:center}.resource-empty{margin:0;font-size:12px;color:#667085}@media (max-width: 1200px){.resource-calendar-layout{grid-template-columns:1fr}.resource-filters-panel{border-right:0;border-bottom:1px solid var(--outline)}}.toolbar-project-select{display:flex;align-items:center}.toolbar-project-select select{min-width:min(220px,36vw)}.planner-tour-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;background:#0f172a85;pointer-events:auto}.planner-tour-card{position:fixed;z-index:100700;pointer-events:auto;width:min(400px,calc(100vw - 32px));padding:18px 18px 14px;border-radius:14px;border:1px solid var(--outline);background:#fff;box-shadow:0 18px 48px #0f172a38}body.planner-tour-open .mindmap-empty-overlay,body.planner-tour-open .mindmap-debug{z-index:0!important}body.planner-tour-open .mindmap-flow-toolbar:not(.planner-tour-target-active){z-index:0!important}body.planner-tour-open .mindmap-flow-toolbar.planner-tour-target-active,body.planner-tour-open .workspace-sidebar.planner-tour-target-active,body.planner-tour-open .mindmap-panel.planner-tour-target-active,body.planner-tour-open .editor-panel.planner-tour-target-active,body.planner-tour-open .workspace-sidebar-projects.planner-tour-target-active{z-index:100580!important}body.planner-tour-open .toolbar{position:relative;z-index:100580}.planner-tour-progress{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.planner-tour-title{margin:0 0 8px;font-size:17px;font-weight:700;line-height:1.25}.planner-tour-body{margin:0 0 16px;font-size:13px;line-height:1.5;color:var(--text-primary)}.planner-tour-hint{margin:-8px 0 12px;font-size:11px;color:var(--text-secondary)}.planner-tour-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.planner-tour-actions-main{display:flex;gap:8px;margin-left:auto}.planner-tour-target-active{position:relative;z-index:10052!important;outline:3px solid var(--primary);outline-offset:3px;border-radius:10px;box-shadow:0 10px 36px #4a6fa538}.toolbar-brand-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar-nav{display:flex;align-items:center;gap:2px}.toolbar-dropdown-root{position:relative}.toolbar-dropdown-trigger{background:transparent;color:var(--on-surface-variant);border:0;border-radius:var(--radius-md);font-size:14px;font-weight:500;padding:6px 10px;min-height:36px;cursor:pointer}.toolbar-dropdown-trigger:hover,.toolbar-dropdown-trigger.is-open{background:var(--surface-container-low);color:var(--text-primary)}.toolbar-dropdown-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:200;min-width:200px;padding:6px 0;border:1px solid var(--outline-variant);border-radius:var(--radius-md);background:var(--surface-panel);box-shadow:var(--shadow-popover)}.toolbar-dropdown-panel.align-right{left:auto;right:0}.toolbar-dropdown-panel--settings{min-width:0;width:max-content;padding:10px 12px 12px}.toolbar-settings-block{display:flex;flex-direction:column;gap:8px}.toolbar-dropdown-panel--settings .toolbar-dropdown-hint{margin:0;padding:0}.toolbar-lang-switch{display:flex;width:100%;min-width:168px;border-color:var(--outline-variant);border-radius:var(--radius-md)}.toolbar-lang-switch button{flex:1;min-height:34px;font-size:13px;font-weight:500;padding-inline:12px;cursor:pointer;transition:background .15s ease,color .15s ease}.toolbar-lang-switch button:not(.is-active):hover{background:var(--surface-container-high);color:var(--text-primary)}.toolbar-dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 14px;border:0;background:transparent;color:var(--text-primary);font-size:13px;font-weight:400;text-align:left;cursor:pointer;min-height:36px;border-radius:0}.toolbar-dropdown-item:hover:not(:disabled){background:var(--surface-container-high)}.toolbar-dropdown-item:disabled{opacity:.45;cursor:default}.toolbar-dropdown-item.is-check{justify-content:space-between}.toolbar-dropdown-item.is-disabled{opacity:.45;pointer-events:none}.toolbar-dropdown-divider{height:1px;margin:6px 0;background:var(--outline-variant)}.toolbar-dropdown-hint{padding:6px 14px 2px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.toolbar-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--on-surface-variant);cursor:pointer;min-height:unset}.toolbar-icon-btn:hover{background:var(--surface-container-low)}.toolbar-icon-btn .material-symbols-outlined{font-size:22px}.toolbar-icon-btn.is-primary-icon{color:var(--primary)}.toolbar-right-cluster{display:flex;align-items:center;gap:4px}@media print{.toolbar,.workspace-sidebar,.editor-panel,.mindmap-panel>.panel-title,.mindmap-debug,.status,.planner-tour-overlay,.planner-tour-card{display:none!important}.layout{grid-template-rows:1fr}.board{grid-template-columns:1fr!important;min-height:auto}.mindmap-panel{border:0;padding:0}.mindmap-canvas-wrap{height:auto!important;min-height:70vh}}.toolbar-dropdown-item.is-active-mode{font-weight:600;color:var(--primary)}.left-panel-section{display:flex;flex-direction:column;gap:8px}.left-panel-subtitle{margin:0;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.left-panel-project-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.left-panel-project-row{width:100%;text-align:left;border:0;border-radius:var(--radius-md);padding:8px 10px;background:transparent;cursor:pointer;font:inherit;min-height:36px;color:var(--text-primary)}.left-panel-project-list li.is-active .left-panel-project-row{background:var(--primary-container);color:var(--primary-strong);font-weight:600}.left-panel-project-row:hover{background:var(--surface-container-high)}.left-panel-actions-row{display:flex;flex-wrap:wrap;gap:6px}.left-panel-tree-search{position:relative;flex-shrink:0}.left-panel-scroll-stack{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.left-panel-tree-search-icon{position:absolute;left:8px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--secondary-muted);pointer-events:none}.left-panel-tree-input{width:100%;padding-left:32px;font-size:13px}.left-panel-node-tree{list-style:none;margin:0;padding:0;max-height:42vh;overflow:auto}.left-panel-node-row{width:100%;text-align:left;border:0;border-radius:var(--radius-md);padding:6px 10px;background:transparent;cursor:pointer;font-size:13px;min-height:32px;color:var(--text-primary)}.left-panel-node-row:hover{background:var(--surface-container-high)}.left-panel-node-row.is-active{background:var(--primary-container);font-weight:600;color:var(--primary-strong)}.left-panel-empty{margin:0;font-size:12px;color:var(--text-secondary)}.left-panel-unified-tree{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0}.left-panel-tree-branch{margin:0;padding:0}.left-panel-row{position:relative;display:flex;align-items:center;min-height:26px;max-width:100%;border-radius:6px;transition:background .12s ease}.left-panel-row:hover{background:color-mix(in srgb,var(--primary) 7%,var(--surface-sidebar))}.left-panel-row.is-active{background:var(--primary-container)}.left-panel-row-label{flex:1;min-width:0;display:flex;align-items:center;gap:2px;text-align:left;border:0;background:transparent!important;cursor:pointer;font:inherit;font-size:13px;line-height:1.25;color:var(--text-primary)!important;border-radius:6px;padding:3px 8px 3px 6px;transition:padding-right .12s ease}.left-panel-row-label:hover{background:transparent!important}.left-panel-row.is-active .left-panel-row-label{font-weight:600;color:var(--primary-strong)!important}.left-panel-row--node{padding-left:calc(2px + var(--tree-depth, 0) * 14px)}.left-panel-row-chevron{flex-shrink:0;width:18px;font-size:16px;line-height:1;color:var(--text-secondary);opacity:.8}.left-panel-row-chevron--btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;min-width:18px;min-height:18px;padding:0;margin:0;border:0;border-radius:4px;background:transparent;cursor:pointer;color:var(--text-secondary);opacity:1}.left-panel-row-chevron--btn:hover{background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.left-panel-row-chevron--btn .material-symbols-outlined{font-size:16px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.left-panel-row-chevron-spacer{flex-shrink:0;width:18px;min-width:18px}.left-panel-row-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word;white-space:normal}.left-panel-row-actions{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:0;opacity:0;pointer-events:none;transition:opacity .12s ease}.left-panel-row:hover .left-panel-row-actions,.left-panel-row:focus-within .left-panel-row-actions{opacity:1;pointer-events:auto}.left-panel-row:hover .left-panel-row-label,.left-panel-row:focus-within .left-panel-row-label{padding-right:42px}.left-panel-act{min-width:20px;min-height:20px;width:20px;height:20px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;line-height:1}.left-panel-act:disabled{opacity:.45;cursor:default}.left-panel-act:hover:not(:disabled){background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.left-panel-act--danger:hover:not(:disabled){color:var(--error, #b3261e);background:color-mix(in srgb,var(--error, #b3261e) 12%,transparent)}.left-panel-act .material-symbols-outlined{font-size:15px;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 20}.left-panel-node-children{list-style:none;margin:0 0 0 9px;padding:0 0 2px 11px;border-left:1px solid var(--outline-variant)}.left-panel-footer-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;padding-top:8px;margin-top:auto;border-top:1px solid var(--outline-variant)}.left-panel-footer-btn{flex:1 1 30%;min-height:32px;padding:6px 8px;font-size:12px;font-weight:600}.editor-text-full{width:100%}.editor-textarea{width:100%;min-height:88px;resize:vertical}.editor-field-hint{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--text-secondary)}.editor-preset-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editor-preset-card{display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px;border-radius:var(--radius-md);border:1px solid var(--outline-variant);background:var(--surface-panel);cursor:pointer;min-height:auto}.editor-preset-card.is-active{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary)}.editor-preset-swatch{height:40px;border-radius:var(--radius-md)}.editor-preset-swatch[data-preset=standard]{background:linear-gradient(135deg,#fff 50%,#4a6fa5 50%)}.editor-preset-swatch[data-preset=ghost]{background:#f3f4f5}.editor-preset-swatch[data-preset=warning]{background:#fff8e8}.editor-preset-swatch[data-preset=critical]{background:#fff0f0}.editor-advanced-toggle{width:100%;margin-bottom:8px}.workspace-shell{display:flex;flex:1;min-height:0;width:100%;background:var(--surface);overflow:hidden}.workspace-main{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.workspace-main>.board{flex:1;min-height:0}.workspace-sidebar{width:var(--workspace-sidebar-width);flex-shrink:0;background:var(--surface-sidebar);border-right:1px solid var(--outline-variant);padding:16px 12px;display:flex;flex-direction:column;gap:12px;min-height:0;font-size:13px;line-height:1.35;transition:width .15s ease}.workspace-sidebar.is-collapsed{width:var(--workspace-sidebar-width-collapsed);padding:12px 6px;gap:12px}.workspace-sidebar__tabs{display:flex;gap:4px;padding:0 4px}.workspace-sidebar__tab{flex:1;display:block;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;padding:6px 8px;cursor:pointer;min-height:0;text-align:center;text-decoration:none;line-height:1.4}.workspace-sidebar__tab:hover{background:var(--surface-container);color:var(--text-primary)}.workspace-sidebar__tab.is-active{background:var(--primary-container);color:var(--primary-strong)}.workspace-sidebar__nav{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.workspace-sidebar-projects{display:flex;flex-direction:column;gap:8px;flex:1;min-height:0}.workspace-sidebar-projects .left-panel-tree-search{flex-shrink:0}.workspace-sidebar-projects .left-panel-scroll-stack{flex:1;min-height:0;overflow:auto}.left-panel-row--root .left-panel-row-label{font-weight:700}.left-panel-row--root:hover .left-panel-row-label,.left-panel-row--root:focus-within .left-panel-row-label{padding-right:48px}.left-panel-row-folder{font-size:18px;color:var(--text-secondary);flex-shrink:0}.left-panel-row--root.is-active .left-panel-row-folder,.left-panel-row--root.is-active .left-panel-row-text{color:var(--primary-strong)}.left-panel-project-children{list-style:none;margin:0;padding:0 0 0 12px}.workspace-sidebar-projects .left-panel-footer-actions{flex-shrink:0}.workspace-sidebar .left-panel-row{min-height:36px;border-radius:var(--radius-md)}.workspace-sidebar .left-panel-row:hover{background:var(--surface-container)}.workspace-sidebar .left-panel-row-label{font-size:13px;font-weight:500;gap:10px;line-height:1.35}.workspace-sidebar .left-panel-row--root .left-panel-row-label,.workspace-sidebar .left-panel-row.is-active .left-panel-row-label,.workspace-sidebar .left-panel-row.is-active .left-panel-row-text{font-weight:600}.workspace-sidebar .left-panel-row-folder{font-size:20px}.workspace-sidebar .left-panel-tree-input{font-size:13px;font-weight:500}.workspace-sidebar .left-panel-empty{font-size:12px;font-weight:500}.toolbar-view-toggle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);cursor:pointer;min-height:0}.toolbar-view-toggle:hover{background:var(--surface-container);color:var(--primary-strong)}.toolbar-view-toggle .material-symbols-outlined{font-size:22px}.workspace-sidebar__top{padding-bottom:12px;border-bottom:1px solid var(--outline-variant);box-sizing:border-box}.workspace-sidebar:not(.is-collapsed) .workspace-sidebar__top{min-height:64.15px}.workspace-sidebar__header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;min-height:calc(4px + 1.35 * 13px + 2px + 2 * 1.3 * 11px)}.workspace-sidebar__brand-text{min-height:calc(1.35 * 13px + 2px + 2 * 1.3 * 11px)}.workspace-sidebar.is-collapsed .workspace-sidebar__top{padding-bottom:8px}.workspace-sidebar.is-collapsed .workspace-sidebar__header-row{flex-direction:column;align-items:center}.workspace-sidebar__toggle{flex-shrink:0;margin-top:2px}.workspace-sidebar.is-collapsed .workspace-sidebar__toggle{margin-top:4px}.workspace-sidebar__brand{display:flex;align-items:flex-start;gap:10px;padding:4px 8px 0}.workspace-sidebar.is-collapsed .workspace-sidebar__brand{justify-content:center;padding:4px 0 0}.workspace-sidebar__brand .material-symbols-outlined{color:var(--primary-strong);font-size:22px}.workspace-sidebar__scope{margin:0;font-size:13px;font-weight:700;color:var(--text-primary)}.workspace-sidebar__subtitle{margin:2px 0 0;font-size:11px;color:var(--text-secondary);line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.workspace-sidebar.is-collapsed .workspace-sidebar__brand-text,.workspace-sidebar.is-collapsed .workspace-sidebar__section-title,.workspace-sidebar.is-collapsed .workspace-sidebar__project-label,.workspace-sidebar.is-collapsed .workspace-sidebar__item-label{display:none}.workspace-sidebar.is-collapsed .workspace-sidebar__item{justify-content:center;padding:9px 6px}.workspace-sidebar.is-collapsed .workspace-sidebar__item--sub{padding-left:6px}.workspace-sidebar__section-title{margin:0 0 6px;padding:0 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.workspace-sidebar__item{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:9px 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer}.workspace-sidebar__item .material-symbols-outlined{font-size:20px;color:var(--text-secondary)}.workspace-sidebar__item:hover{background:var(--surface-container)}.workspace-sidebar__item.is-active{background:var(--primary-container);color:var(--primary-strong);font-weight:600}.workspace-sidebar__item.is-active .material-symbols-outlined{color:var(--primary-strong)}.workspace-sidebar__item--sub{padding-left:28px}.workspace-sidebar__project-label{padding:8px 10px 4px;font-size:11px;font-weight:700;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.main-panel{flex:1;padding:24px 32px 32px;max-width:1200px;width:100%;margin:0 auto;box-sizing:border-box}.projects-hub__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:8px}.projects-hub__head h1{margin:0;font-size:1.5rem}.projects-hub__hint{color:var(--text-secondary);margin:0 0 20px}.projects-hub__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.projects-hub__card{position:relative;display:flex;flex-direction:column;min-height:0;background:var(--surface-panel);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:0 4px 20px #4a6fa50f;color:inherit}.projects-hub__card:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--outline-variant))}.projects-hub__card-settings{position:absolute;top:6px;right:6px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:color-mix(in srgb,var(--surface-panel) 88%,transparent);color:var(--text-secondary);cursor:pointer}.projects-hub__card-settings .material-symbols-outlined{font-size:1.1rem}.projects-hub__card-settings:hover{background:var(--surface-muted);color:var(--primary)}.projects-hub__card-open{flex:1;width:100%;padding:16px 40px 16px 16px;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit}.projects-hub__card-open h2{margin:0 0 6px;font-size:1rem}.projects-hub__card-desc{margin:0;min-height:4.5em;font-size:.8125rem;line-height:1.5;color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap}.projects-hub__card-desc.is-empty{font-style:italic}.projects-hub__card-meta{margin:6px 0 0;font-size:.75rem}.projects-hub__empty{color:var(--text-secondary)}.portfolio-gantt{display:flex;flex-direction:column;gap:16px;min-height:0;padding:24px 28px;overflow:auto}.portfolio-gantt__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.portfolio-gantt__title{margin:0;font-size:1.75rem;font-weight:700}.portfolio-gantt__actions{display:flex;gap:8px}.portfolio-gantt__loading,.portfolio-gantt__error,.portfolio-gantt__footer{color:var(--text-secondary);margin:0}.portfolio-gantt__error{color:var(--danger, #b91c1c)}.portfolio-gantt__row-actions{display:flex;flex-wrap:wrap;gap:8px}.portfolio-gantt .gantt-week-chart{flex:1;min-height:280px}.main-panel.personnel-page{max-width:none;padding:12px 16px 20px}.personnel-page__header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:12px}.personnel-page__tabs{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:4px}.personnel-page__tab{min-height:32px;padding:4px 12px;font-size:13px;border-radius:8px;border:1px solid var(--outline-variant);background:var(--surface-panel);color:var(--on-surface);cursor:pointer}.personnel-page__tab.is-active{border-color:var(--primary-strong);background:color-mix(in srgb,var(--primary-strong) 12%,var(--surface-panel));font-weight:600}.personnel-page__invite-hint{width:100%;margin:0;font-size:12px;color:var(--on-surface-variant, #5f6368);line-height:1.4}.personnel-page__ad-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:100%;margin-bottom:8px}.personnel-page__ad-domain{min-height:34px;padding:0 8px;font-size:13px;border:1px solid var(--outline-variant);border-radius:8px;background:var(--surface-panel)}.personnel-page__ad-search{flex:1;min-width:200px;min-height:34px;padding:0 10px;font-size:13px;border:1px solid var(--outline-variant);border-radius:8px}.personnel-page__ad-hint{margin:0 0 10px;font-size:12px;color:var(--on-surface-variant, #5f6368)}.personnel-page__ad-status{font-size:12px;color:var(--on-surface-variant, #5f6368)}.personnel-page__ad-status.is-pending{color:#b45309}.personnel-page__title{margin:0;font-size:1.25rem;font-weight:700}.personnel-page__toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;justify-content:flex-end;min-width:0}.personnel-page__actions-menu .toolbar-dropdown-item{display:inline-flex;align-items:center;gap:8px}.personnel-page__actions-menu .toolbar-dropdown-item .material-symbols-outlined{font-size:18px;color:var(--primary-strong)}.personnel-page__menu-trigger{min-height:34px;padding:6px 12px;font-size:13px}.personnel-page__invite{display:flex;flex:1;min-width:200px;max-width:360px;border:1px solid var(--outline-variant);border-radius:8px;overflow:hidden;background:var(--surface-panel)}.personnel-page__invite-input{flex:1;border:0;min-height:34px;padding:0 10px;font-size:13px;background:transparent}.personnel-page__invite-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;padding:0;border-radius:0;min-height:0;flex-shrink:0}.personnel-page__invite-btn .material-symbols-outlined{font-size:20px}.personnel-page__error{color:#b00020;margin-bottom:12px}.personnel-page__table-wrap{background:var(--surface-panel);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:0 4px 20px #4a6fa50f;overflow-x:auto;overflow-y:visible}.personnel-page__table{width:100%;border-collapse:collapse}.personnel-page__table th{text-align:left;padding:8px 10px;font-size:11px;font-weight:600;background:var(--surface-container);border-bottom:1px solid var(--outline-variant);white-space:nowrap}.personnel-page__table td{padding:8px 10px;border-bottom:1px solid var(--outline-variant);vertical-align:middle;font-size:12px}.personnel-page__th-icon,.personnel-page__td-icon{width:40px;text-align:center;padding-left:6px;padding-right:6px}.personnel-page__th-icon .material-symbols-outlined{font-size:18px;color:var(--text-secondary);vertical-align:middle}.personnel-page__th-abbr{margin-left:2px;font-weight:500;color:var(--text-secondary);text-decoration:none;cursor:help}.personnel-page__table tbody tr:hover{background:var(--surface-container-low)}.personnel-page__td-email{max-width:220px}.personnel-page__email{font-weight:600;font-size:12px;display:block;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personnel-page__email-meta{display:block;color:var(--text-secondary);font-size:10px;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personnel-page__profile-cell{min-width:120px;max-width:180px;vertical-align:middle}.personnel-page__profile-view{display:flex;align-items:center;gap:4px;min-height:32px}.personnel-page__profile-value{flex:1;min-width:0;font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.personnel-page__profile-value.is-empty{color:var(--text-secondary)}.personnel-page__profile-edit{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--primary-strong);min-height:0;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .12s ease,background .12s ease}.personnel-page__profile-cell:hover .personnel-page__profile-edit,.personnel-page__profile-cell:focus-within .personnel-page__profile-edit{opacity:.55;pointer-events:auto}.personnel-page__profile-edit:hover:not(:disabled){opacity:1;background:color-mix(in srgb,var(--primary) 14%,transparent)}.personnel-page__profile-edit:disabled{opacity:.35;cursor:default}.personnel-page__profile-edit .material-symbols-outlined{font-size:16px}.personnel-page__profile-input{width:100%;min-width:120px;max-width:220px;padding:6px 8px;border:1px solid var(--outline, #c3c6d1);border-radius:6px;font-size:13px;background:#fff}.personnel-page__profile-input:focus{outline:2px solid var(--primary-container, #d3e3fd);border-color:var(--primary, #4a6fa5)}.personnel-page__profile-input:disabled{opacity:.65}.personnel-page__field-hint{display:block;margin-top:4px;font-size:10px;line-height:1.3;color:#c62828}.personnel-page__profile-cell input[type=date].personnel-page__profile-input{min-width:9.5rem;padding:4px 6px;font-size:12px}.personnel-page__status{display:inline-flex;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600}.personnel-page__status.is-ok{background:var(--primary-container);color:var(--primary-strong)}.personnel-page__status.is-pending{background:var(--surface-container-high);color:var(--text-secondary)}.personnel-page__status.is-muted{background:#ffebee;color:#c62828}.personnel-page__roles{position:relative;overflow:visible;min-width:180px}.personnel-page__role-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px;position:relative}.personnel-page__role-tag{padding:2px 8px;border-radius:6px;font-size:12px;font-weight:600;background:var(--surface-container-high);border:1px solid var(--outline-variant);color:var(--text-secondary)}.personnel-page__role-add{width:28px;height:28px;padding:0;border-radius:50%;background:var(--primary-fixed, #d5e3ff);color:var(--primary-strong);border:0;min-height:0;display:inline-flex;align-items:center;justify-content:center}.personnel-page__role-add.is-open{background:var(--primary);color:var(--on-primary, #fff)}.personnel-page__role-popover{display:flex;flex-direction:column;width:300px;max-width:min(300px,calc(100vw - 16px));max-height:min(420px,70vh);padding:0;background:var(--surface-panel);border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-popover, 0 8px 24px rgba(0, 0, 0, .15));overflow:hidden}.personnel-page__role-popover-search{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--outline-variant);flex-shrink:0}.personnel-page__role-search-icon{flex-shrink:0;font-size:20px;line-height:1;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.personnel-page__role-search-input{flex:1;min-width:0;border:0;background:transparent;font-size:13px;padding:4px 2px;outline:none}.personnel-page__role-popover-list{overflow-y:auto;padding:8px 10px;flex:1;min-height:0}.personnel-page__role-popover-admin{flex-shrink:0;border-top:1px solid var(--outline-variant);padding:8px 10px;background:var(--surface-container-low)}.personnel-page__role-create-toggle{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:1px dashed var(--outline-variant);border-radius:8px;background:transparent;color:var(--primary-strong);font-size:13px;font-weight:600;min-height:0;cursor:pointer}.personnel-page__role-create-toggle:hover{background:var(--primary-container)}.personnel-page__role-create-title{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-secondary)}.personnel-page__role-create-input{width:100%;box-sizing:border-box;margin-bottom:6px;padding:6px 8px;border:1px solid var(--outline-variant);border-radius:6px;font-size:13px}.personnel-page__role-create-error{margin:0 0 6px;font-size:12px;color:#b00020}.personnel-page__role-create-actions{display:flex;gap:8px;margin-top:4px}.personnel-page__role-create-btn,.personnel-page__role-create-cancel{flex:1;min-height:32px;padding:6px 10px;font-size:13px;border-radius:6px}.personnel-page__role-create-btn{background:var(--primary);color:var(--on-primary, #fff);border:0}.personnel-page__role-create-cancel{background:transparent;border:1px solid var(--outline-variant);color:var(--text-secondary)}.personnel-page__role-popover.personnel-role-popover-portal{position:fixed;z-index:10050;top:auto;left:auto}.personnel-page__role-option-row{display:flex;align-items:center;gap:4px;padding:2px 0;border-radius:6px}.personnel-page__role-option-row:hover{background:var(--surface-container-low)}.personnel-page__role-option{display:flex;align-items:flex-start;gap:8px;flex:1;min-width:0;padding:6px 4px;font-size:13px;line-height:1.35;cursor:pointer;word-break:break-word}.personnel-page__role-option span{flex:1;min-width:0}.personnel-page__role-delete{flex-shrink:0;width:32px;height:32px;padding:0;margin-right:2px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);min-height:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.personnel-page__role-delete:hover:not(:disabled){background:#ffebee;color:#c62828}.personnel-page__role-delete:disabled{opacity:.45;cursor:wait}.personnel-page__role-delete .material-symbols-outlined{font-size:18px}.personnel-page__type-badge{display:inline-flex;padding:4px 10px;border:1px solid var(--outline-variant);border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.04em}.personnel-page__workload-label{font-size:11px;font-weight:700;text-transform:uppercase}.personnel-page__workload-label.tier-low{color:#1b5e20}.personnel-page__workload-label.tier-medium{color:#e65100}.personnel-page__workload-label.tier-high{color:#c62828}.personnel-page__workload-bar{height:4px;background:var(--surface-container);border-radius:2px;margin:4px 0;max-width:120px}.personnel-page__workload-fill{height:100%;border-radius:2px}.personnel-page__workload-fill.tier-low{background:#66bb6a}.personnel-page__workload-fill.tier-medium{background:#ffa726}.personnel-page__workload-fill.tier-high{background:#ef5350}.personnel-page__workload-cell{width:72px;white-space:nowrap}.personnel-page__workload-compact{display:inline-flex;align-items:center;gap:6px}.personnel-page__workload-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.personnel-page__workload-dot.tier-low{background:#66bb6a}.personnel-page__workload-dot.tier-medium{background:#ffa726}.personnel-page__workload-dot.tier-high{background:#ef5350}.personnel-page__workload-nums{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.personnel-page__status-icon,.personnel-page__type-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px}.personnel-page__status-icon .material-symbols-outlined,.personnel-page__type-icon .material-symbols-outlined{font-size:20px}.personnel-page__status-icon.is-ok{color:#1b5e20;background:color-mix(in srgb,#66bb6a 18%,transparent)}.personnel-page__status-icon.is-pending{color:#e65100;background:color-mix(in srgb,#ffa726 18%,transparent)}.personnel-page__status-icon.is-muted{color:var(--text-secondary);background:var(--surface-container)}.personnel-page__type-icon{color:var(--primary-strong);background:color-mix(in srgb,var(--primary) 10%,transparent)}.personnel-page__th-check,.personnel-page__td-check{width:36px;padding-left:12px;padding-right:4px;vertical-align:middle}.personnel-page__row-check{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary, #2563eb)}.personnel-page__table tbody tr.is-selected{background:color-mix(in srgb,var(--primary) 6%,transparent)}.personnel-page__bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--primary) 10%,var(--surface-elevated, #f9fafb));border:1px solid color-mix(in srgb,var(--primary) 22%,transparent)}.personnel-page__bulk-count{font-size:13px;font-weight:600;margin-right:4px}.personnel-page__bulk-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;border:1px solid color-mix(in srgb,var(--primary) 35%,transparent);background:var(--surface, #fff);color:var(--primary-strong);font-size:13px;font-weight:600;cursor:pointer;min-height:0}.personnel-page__bulk-btn .material-symbols-outlined{font-size:18px}.personnel-page__bulk-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 12%,transparent)}.personnel-page__bulk-btn--ghost{border-color:var(--outline, #d0d5dd);color:var(--text-secondary);background:transparent}.personnel-page__action-btns{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.personnel-page__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--primary-strong);min-height:0;cursor:pointer;transition:background .12s ease,color .12s ease}.personnel-page__icon-btn .material-symbols-outlined{font-size:20px}.personnel-page__icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--primary) 14%,transparent)}.personnel-page__icon-btn--danger{color:#c62828}.personnel-page__icon-btn--danger:hover:not(:disabled){background:color-mix(in srgb,#c62828 12%,transparent)}.personnel-page__link{background:none;border:0;color:var(--primary-strong);font-weight:600;font-size:13px;padding:0;min-height:0;cursor:pointer}.personnel-page__th-actions,.personnel-page__actions{text-align:right}.personnel-page__footer{padding:12px 16px;font-size:12px;color:var(--text-secondary)}.personnel-page__muted{color:var(--text-secondary);font-size:12px}.project-settings-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:1rem;background:#0f172a59}.project-settings-modal{width:min(720px,100%);max-height:min(88vh,900px);overflow:auto;background:#fff;border:1px solid var(--outline, #e2e8f0);border-radius:14px;box-shadow:0 18px 48px #0f172a2e;padding:1.1rem 1.25rem 1.25rem}.project-settings-modal--compact{width:min(420px,100%)}.project-settings-modal__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.project-settings-modal__header h3{margin:0;font-size:1.15rem;font-weight:600}.project-settings-modal__close{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border:none;border-radius:8px;background:transparent;cursor:pointer;color:var(--text-secondary, #64748b)}.project-settings-modal__close:hover{background:var(--surface-muted, #f1f5f9)}.project-settings-modal__toolbar{display:grid;grid-template-columns:minmax(10rem,14rem) 1fr;gap:.75rem;margin-bottom:.85rem}@media (max-width: 560px){.project-settings-modal__toolbar{grid-template-columns:1fr}}.project-settings-modal__form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem}@media (max-width: 560px){.project-settings-modal__form{grid-template-columns:1fr}}.project-settings-modal__divider{margin:1rem 0 .5rem;padding-top:.85rem;border-top:1px solid var(--outline, #e2e8f0);font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em}.project-settings-modal__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.project-settings-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.project-settings-field--grow{grid-column:span 1}.project-settings-field__label{font-size:.8rem;font-weight:600;color:var(--text-secondary, #64748b)}.project-settings-field__control{width:100%;padding:.45rem .6rem;border:1px solid var(--outline, #cbd5e1);border-radius:8px;font-size:.9rem;box-sizing:border-box}.project-settings-field__control:focus{outline:2px solid rgba(37,99,235,.25);border-color:var(--primary, #2563eb)}
