.lang select[data-v-1d7799d1]{padding:.25rem .4rem;border-radius:.4rem;border:1px solid #8886;background:#8881;cursor:pointer}.sr-only[data-v-1d7799d1]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.login-wrap[data-v-cfe371d7]{min-height:100vh;display:grid;place-items:center;padding:1.5rem}.card[data-v-cfe371d7]{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.8rem;border:1px solid #8883;border-radius:.8rem;padding:1.5rem}.head[data-v-cfe371d7]{display:flex;align-items:center;justify-content:space-between}.head h1[data-v-cfe371d7]{margin:0;font-size:1.3rem}h2[data-v-cfe371d7]{margin:0;font-size:1.1rem}label[data-v-cfe371d7]{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}input[data-v-cfe371d7]{padding:.5rem;border-radius:.4rem;border:1px solid #8886;background:#8881}button[data-v-cfe371d7]{margin-top:.4rem;padding:.6rem;border-radius:.4rem;border:1px solid #4a7;background:#4a7;color:#fff;cursor:pointer}button[data-v-cfe371d7]:disabled{opacity:.6;cursor:default}.err[data-v-cfe371d7]{color:#a11;margin:0;font-size:.9rem}.bell-wrap[data-v-b7f8a97e]{position:relative}.bell[data-v-b7f8a97e]{position:relative;cursor:pointer;padding:.3rem .5rem;border-radius:.4rem;border:1px solid #8886;background:#8881;font-size:1rem}.badge[data-v-b7f8a97e]{position:absolute;top:-.4rem;right:-.4rem;background:#c33;color:#fff;border-radius:1rem;font-size:.7rem;padding:.05rem .35rem}.dropdown[data-v-b7f8a97e]{position:absolute;right:0;top:calc(100% + .4rem);z-index:20;width:min(22rem,90vw);max-height:60vh;overflow-y:auto;background:Canvas;color:CanvasText;border:1px solid #8884;border-radius:.6rem;padding:.6rem;box-shadow:0 6px 20px #0003}.dd-head[data-v-b7f8a97e]{display:flex;justify-content:space-between;align-items:center;gap:.5rem}ul[data-v-b7f8a97e]{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.3rem}li[data-v-b7f8a97e]{border-radius:.4rem}li.unread[data-v-b7f8a97e]{background:#8080801f}.item[data-v-b7f8a97e]{width:100%;text-align:left;display:flex;flex-direction:column;gap:.15rem;border:none;background:none;color:inherit;font:inherit;cursor:pointer;padding:.45rem}.task[data-v-b7f8a97e]{font-weight:600}.ctx[data-v-b7f8a97e],.when[data-v-b7f8a97e]{font-size:.78rem;color:#888}.note[data-v-b7f8a97e]{font-size:.85rem;overflow-wrap:anywhere}.link[data-v-b7f8a97e]{border:none;background:none;color:#47a;cursor:pointer;font-size:.8rem;padding:0}.muted[data-v-b7f8a97e]{color:#888;margin:.5rem 0 0}:root{color-scheme:light dark}body{margin:0;font-family:system-ui,sans-serif}.wrap{max-width:1000px;margin:0 auto;padding:1.5rem}.app-header{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 1.5rem;border-bottom:1px solid #8883}.brand{font-size:1.3rem;font-weight:600;text-decoration:none;color:inherit}.spacer{flex:1}.who{font-size:.9rem;color:#888;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.logout{cursor:pointer;padding:.35rem .7rem;border-radius:.4rem;border:1px solid #8886;background:#8881}.badge{font-size:.8rem;padding:.2rem .6rem;border-radius:1rem;background:#fde2e2;color:#a11}.badge.ok{background:#e2f7e2;color:#171}.err{color:#a11}.muted{color:#888}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}img{max-width:100%}@media(max-width:640px){.wrap{padding:1rem}.app-header{padding:.7rem 1rem;gap:.6rem}.brand{font-size:1.1rem}}.btn{cursor:pointer;padding:.4rem .8rem;border-radius:.4rem;border:1px solid #8886;background:#8881;text-decoration:none;color:inherit;display:inline-block}.btn-primary{border-color:#4a7;background:#4a7;color:#fff}.btn-danger{border-color:#e0a3a3;color:#a11}.link{border:none;background:none;color:#a11;cursor:pointer;padding:0}.admin[data-v-f56132dc]{border:1px solid #8883;border-radius:.6rem;padding:1rem;margin:1rem 0}h2[data-v-f56132dc]{margin:0 0 .6rem}.create[data-v-f56132dc]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem}input[data-v-f56132dc],select[data-v-f56132dc]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881;flex:1 1 10rem;min-width:0}button[data-v-f56132dc]{padding:.4rem .7rem;border-radius:.4rem;border:1px solid #8886;background:#8881;cursor:pointer}.table-scroll[data-v-f56132dc]{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}table[data-v-f56132dc]{width:100%;min-width:34rem;border-collapse:collapse;font-size:.9rem}th[data-v-f56132dc],td[data-v-f56132dc]{text-align:left;padding:.4rem;border-bottom:1px solid #8882}.sr-only[data-v-f56132dc]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.link[data-v-f56132dc]{border:none;background:none;color:#a11;cursor:pointer;padding:0}.err[data-v-f56132dc]{color:#a11}.project-form[data-v-1ea44020]{margin:1rem 0}.toggle[data-v-1ea44020]{padding:.5rem .9rem;border-radius:.4rem;border:1px dashed #8886;background:transparent;cursor:pointer}.form[data-v-1ea44020]{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;border:1px solid #8883;border-radius:.6rem;padding:1rem}input[data-v-1ea44020]{padding:.45rem;border-radius:.4rem;border:1px solid #8886;background:#8881;flex:1 1 12rem;min-width:0}.actions[data-v-1ea44020]{display:flex;gap:.4rem}button[data-v-1ea44020]{padding:.45rem .8rem;border-radius:.4rem;border:1px solid #4a7;background:#4a7;color:#fff;cursor:pointer}button.ghost[data-v-1ea44020]{border:1px solid #8886;background:#8881;color:inherit}.err[data-v-1ea44020]{color:#a11;width:100%;margin:0}.grid[data-v-ea0e9456]{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-top:1rem}.card[data-v-ea0e9456]{display:block;border:1px solid #8883;border-radius:.6rem;padding:1rem;text-decoration:none;color:inherit}.card[data-v-ea0e9456]:hover{border-color:#4a7}.card h2[data-v-ea0e9456]{margin:0 0 .4rem;font-size:1.1rem}.meta[data-v-ea0e9456]{display:flex;flex-direction:column;gap:.2rem;color:#888;font-size:.85rem;margin:0 0 .6rem}.foot[data-v-ea0e9456]{display:flex;justify-content:space-between;font-size:.8rem;color:#888;margin:0}.companies[data-v-4448ab23]{margin-top:1.5rem}.head[data-v-4448ab23]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}h2[data-v-4448ab23]{font-size:1.1rem;margin:0}.add[data-v-4448ab23]{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0;align-items:center}.add input[data-v-4448ab23]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881;flex:1 1 10rem;min-width:0}.add input[type=color][data-v-4448ab23]{flex:0 0 auto;width:2.6rem;padding:.15rem}.grid[data-v-4448ab23]{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem;margin:.6rem 0 0}.grid li[data-v-4448ab23]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;border:1px solid #8883;border-radius:.4rem;padding:.4rem .6rem;overflow-wrap:anywhere}.dot[data-v-4448ab23]{width:1rem;height:1rem;border-radius:50%;display:inline-block}.name[data-v-4448ab23]{font-weight:500}.contact[data-v-4448ab23]{color:#888;font-size:.85rem}.grid .link[data-v-4448ab23]{margin-left:auto}.muted[data-v-4448ab23]{color:#888}.backdrop[data-v-e86b7fd5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;display:grid;place-items:center;padding:1rem}.dialog[data-v-e86b7fd5]{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:Canvas;color:CanvasText;border:1px solid #8884;border-radius:.7rem;padding:1.2rem}h3[data-v-e86b7fd5]{margin:0 0 .8rem}h4[data-v-e86b7fd5]{margin:1rem 0 .4rem}.add[data-v-e86b7fd5]{display:flex;gap:.4rem;flex-wrap:wrap}.add input[data-v-e86b7fd5]{flex:1 1 10rem;min-width:0}input[data-v-e86b7fd5],select[data-v-e86b7fd5]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881}button[data-v-e86b7fd5]{padding:.4rem .7rem;border-radius:.4rem;border:1px solid #8886;background:#8881;cursor:pointer}.members[data-v-e86b7fd5]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.members li[data-v-e86b7fd5]{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;overflow-wrap:anywhere}.members .role[data-v-e86b7fd5]{margin-left:auto;font-size:.85rem;color:#888}.link[data-v-e86b7fd5]{border:none;background:none;color:#a11;cursor:pointer;padding:0}.muted[data-v-e86b7fd5]{color:#888}.err[data-v-e86b7fd5]{color:#a11}.close[data-v-e86b7fd5]{margin-top:1rem}.crumbs[data-v-76b31846]{margin:0 0 .6rem}.crumbs a[data-v-76b31846]{color:#888;text-decoration:none}.head[data-v-76b31846]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.head h1[data-v-76b31846]{margin:0;overflow-wrap:anywhere}.actions[data-v-76b31846]{display:flex;gap:.4rem;flex-wrap:wrap}.meta[data-v-76b31846]{display:flex;flex-wrap:wrap;gap:1rem;color:#888;font-size:.9rem}.meta .role[data-v-76b31846]{margin-left:auto}.new-gantt[data-v-76b31846]{flex-wrap:wrap}.new-gantt input[data-v-76b31846]{flex:1 1 12rem;min-width:0}.gantts[data-v-76b31846]{margin-top:1.5rem}.gantts h2[data-v-76b31846]{font-size:1.1rem}.gantts ul[data-v-76b31846]{list-style:none;padding:0;display:flex;flex-direction:column;gap:.4rem}.gantts li[data-v-76b31846]{border:1px solid #8883;border-radius:.4rem;padding:.4rem .6rem}.g-row[data-v-76b31846]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.g-link[data-v-76b31846]{min-width:8rem}.public-panel[data-v-76b31846]{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #8884;display:flex;flex-direction:column;gap:.4rem}.link-row[data-v-76b31846]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.85rem}.pub-label[data-v-76b31846]{color:#888}.pub-url[data-v-76b31846]{font-family:monospace;word-break:break-all}.pw-row[data-v-76b31846]{display:flex;gap:.4rem;flex-wrap:wrap}.pw-row input[data-v-76b31846]{padding:.35rem;border-radius:.4rem;border:1px solid #8886;background:#8881;flex:1 1 12rem;min-width:0}.g-link[data-v-76b31846]{font-weight:500;text-decoration:none;color:inherit;flex:1}.ics[data-v-76b31846]{font-size:.8rem;text-decoration:none}.flag[data-v-76b31846]{font-size:.85rem;cursor:pointer}.new-gantt[data-v-76b31846]{margin-top:.7rem;display:flex;gap:.4rem}.new-gantt input[data-v-76b31846]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881}.chart[data-v-b471b61c]{overflow-x:auto}.chart.hide-popup[data-v-b471b61c] .popup-wrapper{display:none}[data-v-10871db2] .fc{--fc-border-color: #8884;--fc-page-bg-color: transparent}[data-v-10871db2] .fc .bg-unconfirmed{border-style:dashed;border-width:1.5px;background-image:none}[data-v-10871db2] .fc .is-sub{margin-left:.75rem;font-size:.9em}@media(max-width:560px){[data-v-10871db2] .fc .fc-toolbar{gap:.5rem}[data-v-10871db2] .fc .fc-toolbar-title{font-size:1rem}[data-v-10871db2] .fc .fc-button{padding:.25rem .5rem;font-size:.85rem}[data-v-10871db2] .fc .fc-daygrid-day-number{font-size:.8rem;padding:2px}[data-v-10871db2] .fc .fc-event-title{font-size:.7rem}}.list[data-v-96f9d3d5]{margin-top:.5rem}.head[data-v-96f9d3d5]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}h3[data-v-96f9d3d5]{margin:0}.table-scroll[data-v-96f9d3d5]{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}table[data-v-96f9d3d5]{width:100%;min-width:44rem;border-collapse:collapse;font-size:.9rem;margin-top:.6rem}th[data-v-96f9d3d5],td[data-v-96f9d3d5]{text-align:left;padding:.4rem;border-bottom:1px solid #8882;white-space:nowrap}td[data-v-96f9d3d5]:first-child{white-space:normal;min-width:10rem}tr.undated td[data-v-96f9d3d5]{color:#999;font-style:italic}tr.is-sub td[data-v-96f9d3d5]:first-child{padding-left:1.6rem}tr.is-sub[data-v-96f9d3d5]{background:#80808012}.tree[data-v-96f9d3d5]{color:#888;margin-right:.3rem;font-family:monospace}.name-link[data-v-96f9d3d5]{border:none;background:none;color:inherit;cursor:pointer;padding:0;font:inherit;text-decoration:underline;text-underline-offset:2px}.company[data-v-96f9d3d5]{display:inline-flex;align-items:center;gap:.4rem;font-style:normal}.status[data-v-96f9d3d5]{font-size:.75rem;padding:.1rem .5rem;border-radius:1rem;white-space:nowrap;font-style:normal}.status.is-confirmed[data-v-96f9d3d5]{background:#e2f7e2;color:#171;border:1px solid #171a}.status.is-unconfirmed[data-v-96f9d3d5]{background:transparent;color:#a70;border:1px dashed #a70}.sr-only[data-v-96f9d3d5]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.dot[data-v-96f9d3d5]{width:.8rem;height:.8rem;border-radius:50%;display:inline-block}.actions[data-v-96f9d3d5]{display:flex;gap:.4rem;white-space:nowrap}.edit[data-v-96f9d3d5]{color:inherit}.muted[data-v-96f9d3d5]{color:#888}.backdrop[data-v-39c9381d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0007;display:grid;place-items:center;padding:1rem;z-index:10}.dialog[data-v-39c9381d]{width:100%;max-width:460px;max-height:90vh;overflow-y:auto;background:Canvas;color:CanvasText;border:1px solid #8884;border-radius:.7rem;padding:1.2rem;display:flex;flex-direction:column;gap:.7rem}h3[data-v-39c9381d]{margin:0}label[data-v-39c9381d]{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.row[data-v-39c9381d]{display:flex;gap:.6rem;flex-wrap:wrap}.row label[data-v-39c9381d]{flex:1 1 9rem;min-width:0}input[data-v-39c9381d],select[data-v-39c9381d]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881}.hint[data-v-39c9381d]{margin:-.3rem 0 0;font-size:.8rem;color:#888}.check[data-v-39c9381d]{flex-direction:row;align-items:center;gap:.45rem}.deps[data-v-39c9381d],.notify[data-v-39c9381d]{border:1px solid #8884;border-radius:.4rem}.deps legend[data-v-39c9381d],.notify legend[data-v-39c9381d]{font-size:.85rem;padding:0 .3rem}.notify[data-v-39c9381d]{display:flex;flex-direction:column;gap:.5rem;padding:.6rem}.notify .sent[data-v-39c9381d]{color:#888;font-weight:400}textarea[data-v-39c9381d]{padding:.4rem;border-radius:.4rem;border:1px solid #8886;background:#8881;font:inherit;resize:vertical}.dep[data-v-39c9381d]{flex-direction:row;align-items:center;gap:.4rem}.actions[data-v-39c9381d]{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.3rem}.btn[data-v-39c9381d]{cursor:pointer;padding:.45rem .8rem;border-radius:.4rem;border:1px solid #8886;background:#8881}.btn-primary[data-v-39c9381d]{border-color:#4a7;background:#4a7;color:#fff}.btn-primary[data-v-39c9381d]:disabled{opacity:.6;cursor:default}.err[data-v-39c9381d]{color:#a11;margin:0}.muted[data-v-39c9381d]{color:#888;margin:0}.crumbs[data-v-48e270c6]{margin:0 0 .6rem}.crumbs a[data-v-48e270c6]{color:#888;text-decoration:none}h1[data-v-48e270c6]{margin:0 0 .8rem}.tabs[data-v-48e270c6]{display:flex;gap:.3rem;border-bottom:1px solid #8883;margin-bottom:1rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs button[data-v-48e270c6]{flex:0 0 auto;white-space:nowrap}h1[data-v-48e270c6]{overflow-wrap:anywhere}.tabs button[data-v-48e270c6]{border:none;background:none;padding:.5rem .9rem;cursor:pointer;border-bottom:2px solid transparent;color:inherit}.tabs button.active[data-v-48e270c6]{border-bottom-color:#4a7;font-weight:600}.muted[data-v-48e270c6]{color:#888}.app-header[data-v-9a1f03b2]{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.8rem 1.5rem;border-bottom:1px solid #8883}h1[data-v-9a1f03b2]{overflow-wrap:anywhere}.brand[data-v-9a1f03b2]{font-size:1.3rem;font-weight:600}.spacer[data-v-9a1f03b2]{flex:1}.gate[data-v-9a1f03b2]{max-width:320px;margin:3rem auto;display:flex;flex-direction:column;gap:.8rem;border:1px solid #8883;border-radius:.7rem;padding:1.5rem}.gate h2[data-v-9a1f03b2]{margin:0}.gate input[data-v-9a1f03b2]{padding:.5rem;border-radius:.4rem;border:1px solid #8886;background:#8881}.tabs[data-v-9a1f03b2]{display:flex;gap:.3rem;border-bottom:1px solid #8883;margin:1rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs button[data-v-9a1f03b2]{border:none;background:none;padding:.5rem .9rem;cursor:pointer;border-bottom:2px solid transparent;color:inherit;flex:0 0 auto;white-space:nowrap}.tabs button.active[data-v-9a1f03b2]{border-bottom-color:#4a7;font-weight:600}.err[data-v-9a1f03b2]{color:#a11}.muted[data-v-9a1f03b2]{color:#888}.gantt .grid-background{fill:none}.gantt .grid-header{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}.gantt .grid-row{fill:#fff}.gantt .grid-row:nth-child(2n){fill:#f5f5f5}.gantt .row-line{stroke:#ebeff2}.gantt .tick{stroke:#e0e0e0;stroke-width:.2}.gantt .tick.thick{stroke-width:.4}.gantt .today-highlight{fill:#fcf8e3;opacity:.5}.gantt .arrow{fill:none;stroke:#666;stroke-width:1.4}.gantt .bar{fill:#b8c2cc;stroke:#8d99a6;stroke-width:0;transition:stroke-width .3s ease;-webkit-user-select:none;user-select:none}.gantt .bar-progress{fill:#a3a3ff}.gantt .bar-invalid{fill:transparent;stroke:#8d99a6;stroke-width:1;stroke-dasharray:5}.gantt .bar-invalid~.bar-label{fill:#555}.gantt .bar-label{fill:#fff;dominant-baseline:central;text-anchor:middle;font-size:12px;font-weight:lighter}.gantt .bar-label.big{fill:#555;text-anchor:start}.gantt .handle{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden;transition:opacity .3s ease}.gantt .bar-wrapper{cursor:pointer;outline:none}.gantt .bar-wrapper:hover .bar{fill:#a9b5c1}.gantt .bar-wrapper:hover .bar-progress{fill:#8a8aff}.gantt .bar-wrapper:hover .handle{visibility:visible;opacity:1}.gantt .bar-wrapper.active .bar{fill:#a9b5c1}.gantt .bar-wrapper.active .bar-progress{fill:#8a8aff}.gantt .lower-text,.gantt .upper-text{font-size:12px;text-anchor:middle}.gantt .upper-text{fill:#555}.gantt .lower-text{fill:#333}.gantt .hide{display:none}.gantt-container{position:relative;overflow:auto;font-size:12px}.gantt-container .popup-wrapper{position:absolute;top:0;left:0;background:#000c;padding:0;color:#959da5;border-radius:3px}.gantt-container .popup-wrapper .title{border-bottom:3px solid #a3a3ff;padding:10px}.gantt-container .popup-wrapper .subtitle{padding:10px;color:#dfe2e5}.gantt-container .popup-wrapper .pointer{position:absolute;height:5px;margin:0 0 0 -5px;border:5px solid transparent;border-top-color:#000c}
