@charset "UTF-8";.gantt{width:100%;height:100%;background-color:#fff;position:relative;overflow:hidden;display:flex;color:#333;opacity:0}.gantt svg{overflow:visible!important}.gantt .gantt-side{border-right:1px solid #eee;position:relative;z-index:3;box-shadow:12px 0 16px -10px #00000026}.gantt .gantt-side .gantt-side-header{box-sizing:border-box}.gantt .gantt-side .gantt-side-container{height:100%;background-color:#fff;overflow-y:auto}.gantt .gantt-side .gantt-side-container .gantt-table{height:100%}.gantt .gantt-side .gantt-side-container::-webkit-scrollbar{display:none}.gantt .gantt-container{flex:1;position:relative;display:flex;overflow:hidden;background-color:#fafafa}.gantt .gantt-scrollbar{position:absolute;left:0;bottom:0;right:0;z-index:3;display:flex}.gantt .gantt-scrollbar.gantt-scrollbar-bg{background-color:#fafafa}.gantt .gantt-scrollbar.gantt-scrollbar-bg .gantt-table-scrollbar.with-scrollbar{border-right:1px solid #eee;z-index:3;box-shadow:10px 0 10px -3px #00000026}.gantt .gantt-scrollbar .gantt-table-scrollbar.with-scrollbar{overflow-x:scroll}.gantt .gantt-scrollbar .gantt-main-scrollbar{flex:1;overflow-x:auto;overflow-y:hidden}.gantt .gantt-main-container{width:100%;flex:1;position:absolute;bottom:0;left:0;right:0;overflow:auto;background-color:#fafafa}.gantt .gantt-main-container .gantt-main-groups,.gantt .gantt-main-container .gantt-main-items{overflow:hidden;min-height:100%}.gantt .gantt-main-container .gantt-group{background:#f3f3f380;border-bottom:1px solid #eee;box-sizing:border-box}.gantt .gantt-main-container .gantt-item{border-bottom:1px solid #eee;box-sizing:border-box;position:relative}.gantt .gantt-main-container .gantt-item.gantt-main-item-active{background-color:#6698ff1a}.gantt .gantt-main-container .gantt-quick-time-focus-container{position:absolute;left:0;top:0}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus{position:sticky;left:0;width:0px;z-index:3;pointer-events:none}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item{display:flex;justify-content:space-between;align-items:center}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item span{width:24px;height:24px;display:flex;justify-content:center;align-items:center;margin-bottom:2px;pointer-events:all}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item span:hover .gantt-quick-time-focus-item-arrow{border:1px solid #6698ff}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item-arrow{width:20px;height:20px;display:flex;justify-content:center;align-items:center;cursor:pointer;background-color:#fff;border:1px solid #eee;border-radius:4px;box-shadow:0 4px 7px 1px #0000000d}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item-arrow .gantt-icon{display:inline-block}.gantt .gantt-main-container .gantt-quick-time-focus-container .gantt-quick-time-focus-item-arrow .gantt-icon svg{width:14px;height:14px}.gantt .gantt-normal-viewport{display:flex}.gantt .gantt-virtual-scroll-viewport{position:absolute;left:0;right:0;bottom:0;z-index:2;overflow:auto}.gantt .gantt-virtual-scroll-viewport.with-footer .gantt-table-body,.gantt .gantt-virtual-scroll-viewport.with-footer .gantt-main-groups,.gantt .gantt-virtual-scroll-viewport.with-footer .gantt-main-items{padding-bottom:44px}.gantt .gantt-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper{width:100%;min-width:unset;display:flex;min-height:100%}.gantt .gantt-virtual-scroll-viewport .cdk-virtual-scroll-content-wrapper .gantt-container .gantt-main-container{height:100%;top:0;overflow-y:hidden}.gantt .gantt-virtual-scroll-viewport.gantt-scroll-container .gantt-container .gantt-main-container::-webkit-scrollbar{position:static}.gantt .gantt-virtual-scroll-viewport.gantt-normal-viewport .cdk-virtual-scroll-content-wrapper{height:100%}.gantt .gantt-virtual-scroll-viewport.gantt-normal-viewport .cdk-virtual-scroll-spacer{display:none}.gantt .gantt-virtual-scroll-viewport.gantt-normal-viewport .gantt-container .gantt-main-container{overflow-y:auto}.gantt-header{display:flex;overflow:hidden;height:100%}.gantt-header .gantt-container-header{flex:1;overflow:hidden;background-color:#fafafa}.gantt-footer{display:flex;position:absolute;left:0;right:0;bottom:0;z-index:3;background-color:#fff;border-top:1px solid #eee;border-bottom:1px solid #eee}.gantt-footer .gantt-table-footer{height:44px;border-right:1px solid #eee;box-shadow:16px 0 14px -10px #00000026}.gantt-footer .gantt-container-footer{height:44px;overflow-x:auto;overflow-y:hidden;flex:1}.gantt-footer .gantt-container-footer::-webkit-scrollbar{display:none}.gantt-table-header{text-align:center;background:#fff;box-shadow:12px 0 16px -10px #00000026;position:relative;z-index:3;border-right:1px solid #eee;display:flex;box-sizing:border-box;border-bottom:1px solid #eee;cursor:pointer}.gantt-table-header .gantt-table-header-container{display:flex}.gantt-table-header .gantt-table-column{overflow:hidden;border-right:1px solid #eee;box-sizing:border-box;position:relative}.gantt-table-header-first-level-group{background:#f3f3f380}.gantt-table-header-with-group .gantt-table-column:first-child{padding:0 15px 0 32px}.gantt-table-header .gantt-table-column{display:flex;padding:0 15px}.gantt-table-header .gantt-table-column:last-child{border-right:none}.gantt-table-header .gantt-table-column-content{flex:1;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-table-header .gantt-expand-icon{display:inline-block;width:20px;color:#aaa}.gantt-table-header .gantt-drag-handle{width:1rem;padding:0 5px 0 0;display:flex;align-items:center;margin-left:-10px}.gantt-table-header:hover{background-color:#fafafa}.gantt-table-header-active,.gantt-table-header-active:hover{background-color:#6698ff1a}.gantt-table-header .gantt-table-column{font-weight:400;z-index:1}.gantt-table-body{display:block}.gantt-table-body .gantt-table-group{display:flex;background:#f3f3f380;padding:0 10px;align-items:center;border-bottom:1px solid #eee;box-sizing:border-box;position:relative}.gantt-table-body .gantt-table-group .gantt-table-group-title{cursor:pointer}.gantt-table-body .gantt-table-group .gantt-table-group-title .expand-icon{color:#aaa;margin-right:6px}.gantt-table-body .gantt-table-item{display:flex;box-sizing:border-box;border-bottom:1px solid #eee;cursor:pointer}.gantt-table-body .gantt-table-item .gantt-table-column{overflow:hidden;border-right:1px solid #eee;box-sizing:border-box;position:relative}.gantt-table-body .gantt-table-item-first-level-group{background:#f3f3f380}.gantt-table-body .gantt-table-item-with-group .gantt-table-column:first-child{padding:0 15px 0 32px}.gantt-table-body .gantt-table-item .gantt-table-column{display:flex;padding:0 15px}.gantt-table-body .gantt-table-item .gantt-table-column:last-child{border-right:none}.gantt-table-body .gantt-table-item .gantt-table-column-content{flex:1;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-table-body .gantt-table-item .gantt-expand-icon{display:inline-block;width:20px;color:#aaa}.gantt-table-body .gantt-table-item .gantt-drag-handle{width:1rem;padding:0 5px 0 0;display:flex;align-items:center;margin-left:-10px}.gantt-table-body .gantt-table-item:hover{background-color:#fafafa}.gantt-table-body .gantt-table-item-active,.gantt-table-body .gantt-table-item-active:hover{background-color:#6698ff1a}.gantt-table-body .gantt-expand-icon{display:inline-block;width:20px;color:#aaa}.gantt-table-empty{height:100%;position:relative}.gantt-table-empty .gantt-table-body-container{position:absolute;text-align:center;top:50%;left:50%;transform:translate(-50%,-50%);margin-top:22px}.gantt-table-empty .gantt-table-body-container .empty-icon svg{height:78px;width:78px}.gantt-table-empty .gantt-table-body-container .empty-text{color:#cacaca}.table-resize-handle,.column-resize-handle{width:3px;position:absolute;top:0;right:0;bottom:0;cursor:ew-resize;height:5000px}.table-resize-handle:hover,.column-resize-handle:hover{background:#6698ff}.column-resize-handle{height:unset;z-index:1}.table-resize-auxiliary-line{width:3px;background:#6698ff;position:absolute;top:0;bottom:0;z-index:100;display:none;height:5000px}.cdk-drag-preview.gantt-table-item{box-shadow:0 0 8px 2px #00000014;opacity:.9;display:flex;box-sizing:border-box;border-bottom:1px solid #eee;cursor:pointer}.cdk-drag-preview.gantt-table-item .gantt-table-column{overflow:hidden;border-right:1px solid #eee;box-sizing:border-box;position:relative}.cdk-drag-preview.gantt-table-item-first-level-group{background:#f3f3f380}.cdk-drag-preview.gantt-table-item-with-group .gantt-table-column:first-child{padding:0 15px 0 32px}.cdk-drag-preview.gantt-table-item .gantt-table-column{display:flex;padding:0 15px}.cdk-drag-preview.gantt-table-item .gantt-table-column:last-child{border-right:none}.cdk-drag-preview.gantt-table-item .gantt-table-column-content{flex:1;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cdk-drag-preview.gantt-table-item .gantt-expand-icon{display:inline-block;width:20px;color:#aaa}.cdk-drag-preview.gantt-table-item .gantt-drag-handle{width:1rem;padding:0 5px 0 0;display:flex;align-items:center;margin-left:-10px}.cdk-drag-preview.gantt-table-item:hover{background-color:#fafafa}.cdk-drag-preview.gantt-table-item-active,.cdk-drag-preview.gantt-table-item-active:hover{background-color:#6698ff1a}.gantt-table-body.gantt-table-draggable .cdk-drag-placeholder{display:none!important}.gantt-table-body.gantt-table-draggable .cdk-drag-placeholder+.cdk-drop-list{display:none!important}.gantt-table-body.gantt-table-draggable .cdk-drag-disabled.gantt-table-item .gantt-drag-handle svg{display:none}.gantt-table-body.gantt-table-draggable.gantt-table-dragging .gantt-table-item:hover{background:unset}.gantt-table-body.gantt-table-draggable.gantt-table-dragging .gantt-table-item:hover .gantt-drag-handle{visibility:hidden!important}.gantt-table-body.gantt-table-draggable .drag-item-hide{display:none!important}.gantt-table-body.gantt-table-draggable .drop-position-inside .gantt-table-column{height:100%;border-top:2px dashed #6698ff!important;border-bottom:2px dashed #6698ff!important}.gantt-table-body.gantt-table-draggable .drop-position-inside .gantt-table-column:first-child{border-left:2px dashed #6698ff!important}.gantt-table-body.gantt-table-draggable .drop-position-inside .gantt-table-column:last-child{border-right:2px dashed #6698ff!important}.gantt-table-body.gantt-table-draggable .drop-position-before{background:#f5f5f5!important;border-top:2px solid #6698ff!important}.gantt-table-body.gantt-table-draggable .drop-position-after{background:#f5f5f5!important;border-bottom:2px solid #6698ff!important}.gantt-calendar{display:block;height:100%;overflow:hidden}.gantt-calendar svg{position:relative;z-index:2;background-color:#fff;overflow:visible}.gantt-calendar line{shape-rendering:crispEdges}.gantt-calendar .primary-line{stroke:#ddd}.gantt-calendar .gantt-calendar-today-overlay{position:relative;z-index:1}.gantt-calendar .gantt-calendar-today-overlay .today-rect{width:35px;height:24px;position:absolute;background:#ff9f73;color:#fff;text-align:center;border-radius:4px}.gantt-calendar .gantt-calendar-today-overlay .today-line{position:absolute;width:3px;background:#ff9f73;transform:scaleX(.5);transform-origin:100% 0;margin-left:-2px}.gantt-calendar-header{position:relative;z-index:2}.gantt-calendar-header .gantt-calendar-today-overlay{z-index:2}.gantt-calendar-header .header-line{stroke:#eee}.gantt-calendar-header .primary-text{fill:#888;font-size:14px}.gantt-calendar-header .secondary-text{fill:#333;font-size:14px}.gantt-calendar-header .secondary-text-weekend{fill:#aaa}.gantt-calendar-header .primary-text,.gantt-calendar-header .secondary-text{text-anchor:middle}.gantt-calendar-grid{position:absolute;width:100%}.gantt-calendar-grid .gantt-calendar-grid-main{background-color:transparent}.gantt-calendar-grid .secondary-line{stroke-dasharray:2px 5px;stroke:#cacaca}.gantt-calendar-grid .secondary-backdrop{fill:#f3f3f380}.gantt-drag-backdrop{position:absolute;inset:0;z-index:2;display:none;overflow:hidden}.gantt-drag-mask{position:absolute;z-index:1;height:100%;display:none;background:#6698ff0d}.gantt-drag-mask .date-range{width:100%;min-width:120px;top:-23px;background:#6698ff;line-height:23px;border-radius:4px;color:#fff;position:absolute;display:flex;justify-content:space-between;padding:0 10px;box-sizing:border-box}.gantt-link-drag-container{width:100%;height:1px;overflow:visible!important;position:absolute;top:0;left:0;z-index:2000}.gantt-link-drag-container .link-dragging-line{stroke:#6698ff;stroke-width:2px}.gantt-bar{position:absolute;border-radius:4px;z-index:2;background:#fff}.gantt-bar .gantt-bar-layer{width:calc(100% + 32px);height:calc(100% + 42px);position:absolute;border-radius:4px;left:-16px;top:-21px;display:none}.gantt-bar .gantt-bar-layer .drag-handles{background:#fff;width:100%;height:calc(100% - 32px);position:absolute;border-radius:4px;top:16px;box-shadow:0 2px 5px #00000026}.gantt-bar .gantt-bar-layer .drag-handles .handle{width:15px;height:100%;position:absolute;cursor:col-resize;display:flex;align-items:center;justify-content:center}.gantt-bar .gantt-bar-layer .drag-handles .handle:before,.gantt-bar .gantt-bar-layer .drag-handles .handle:after{content:"";display:inline-block;width:1px;height:12px;background:#cacaca}.gantt-bar .gantt-bar-layer .drag-handles .handle:before{margin-right:2px}.gantt-bar .gantt-bar-layer .drag-handles .handle:first-child{left:0}.gantt-bar .gantt-bar-layer .drag-handles .handle:last-child{right:0}.gantt-bar .gantt-bar-layer .link-handles .handle{position:absolute;display:inline-block;cursor:pointer;width:16px;height:16px;display:flex;align-items:center;justify-content:center;z-index:1001}.gantt-bar .gantt-bar-layer .link-handles .handle:first-child{left:0;top:0}.gantt-bar .gantt-bar-layer .link-handles .handle:last-child{right:0;bottom:0}.gantt-bar .gantt-bar-layer .link-handles .handle .point{color:#6698ff;width:10px;height:10px;border-radius:50%;background:#6698ff;transition:.3 ease}.gantt-bar .gantt-bar-layer .link-handles .handle .point:hover{width:12px;height:12px}.gantt-bar .gantt-bar-border{width:calc(100% + 10px);height:calc(100% + 10px);position:absolute;border-radius:4px;left:-5px;top:-5px;display:none;background:#fff;box-shadow:0 2px 4px #0000001a}.gantt-bar .gantt-bar-content{width:100%;height:100%;position:absolute;cursor:pointer;box-shadow:0 2px 4px #0000001a;border-radius:4px;background:#6698ff;overflow:hidden;box-sizing:border-box;display:flex;align-items:center;white-space:nowrap}.gantt-bar .gantt-bar-content .gantt-bar-content-progress{position:absolute;left:0;top:0;height:100%}.gantt-bar-active{z-index:1000}.gantt-bar-active .gantt-bar-layer{display:block;z-index:1}.gantt-bar-active .gantt-bar-content{z-index:1;box-shadow:none}.gantt-bar-active .cdk-drag{transition:none}.gantt-bar-single-drop-active .gantt-bar-border{display:block}.gantt-bar-single-drop-active .gantt-bar-content{box-shadow:none}.gantt-bar-draggable-drag{z-index:1001}.gantt-bar-drop-active{z-index:1000}.gantt-bar-drop-active .gantt-bar-layer{display:block;z-index:1}.gantt-bar-drop-active .gantt-bar-content{z-index:1;box-shadow:none}.gantt-bar-drop-active .cdk-drag{transition:none}.gantt-bar-drop-active .gantt-bar-layer .link-handles .handle{width:26px;height:100%}.gantt-bar-drop-active .gantt-bar-layer .link-handles .handle:first-child{left:-21px}.gantt-bar-drop-active .gantt-bar-layer .link-handles .handle:last-child{right:-21px}.gantt-bar-drop-active .gantt-bar-layer .link-handles .handle:hover .point{width:12px;height:12px}.gantt-range{position:absolute;z-index:2}.gantt-range .gantt-range-main{height:10px;background:#dfdfdf;border:1px solid #888;border-radius:4px 4px 0 0;box-sizing:border-box;position:relative}.gantt-range .gantt-range-main .gantt-range-main-progress{position:absolute;left:0;top:0;height:100%;background:#888}.gantt-range .gantt-range-triangle{width:0;height:0;border-top:7px solid #888;position:absolute;top:10px}.gantt-range .gantt-range-triangle.left{border-right:6px solid transparent;left:0}.gantt-range .gantt-range-triangle.right{border-left:6px solid transparent;right:0}.gantt-icon{font-size:1rem;line-height:0}.gantt-icon svg{width:1em;height:1em;fill:currentColor;vertical-align:-.125em;background-repeat:no-repeat}.gantt-links-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.gantt-links-overlay svg{overflow:visible;z-index:2;position:absolute}.link-dragging-container{width:100%;height:1px;overflow:visible!important;position:absolute;left:0;z-index:2000}.link-dragging-container .link-dragging-line{stroke:#6698ff;stroke-width:2px}.gantt-baseline{position:absolute;z-index:2}.gantt-baseline .baseline-content{height:8px;border-radius:2px;background-color:#cacaca}.gantt-toolbar{position:absolute;top:60px;right:20px;z-index:1000}.gantt-toolbar .toolbar-views{display:inline-flex}.gantt-toolbar .toolbar-views .toolbar-view{padding:0 15px;cursor:pointer;flex:0 1 auto;border:1px solid #ddd;margin-left:-1px;position:relative;background-color:#fff}.gantt-toolbar .toolbar-views .toolbar-view.active{color:#6698ff;border-color:#6698ff;z-index:1}.gantt-toolbar .toolbar-views .toolbar-view:first-child{border-radius:4px 0 0 4px}.gantt-toolbar .toolbar-views .toolbar-view:last-child{border-radius:0 4px 4px 0}.gantt-loader-overlay{position:absolute;width:100%;height:calc(100% - 40px);top:40px;left:0;background:#fff9;z-index:1001}.gantt-loader-wrapper{position:absolute;padding-top:20px;top:0;left:50%;transform:translate(-50%)}.gantt-loader-loading{display:inline-block;position:relative;height:8px;border-radius:4px;transform:translate(-18px)}.gantt-loader-loading:before,.gantt-loader-loading:after{content:"";display:block;position:absolute;height:8px;width:8px;border-radius:4px}.gantt-loader-loading:before{animation:gantt-loader-loading-ellipsis-b 1s ease-in-out infinite;background:#6698ff;opacity:.4}.gantt-loader-loading:after{animation:gantt-loader-loading-ellipsis-a 1s ease-in-out infinite;background:#6698ff;opacity:.8}.gantt-loader-loading-spot{position:absolute;left:13px;height:8px;width:8px;background:#6698ff;border-radius:4px}@keyframes gantt-loader-loading-ellipsis-b{0%{left:0;transform:scale(1.1)}50%{left:25px;transform:scale(1)}to{left:0;transform:scale(1.1)}}@keyframes gantt-loader-loading-ellipsis-a{0%{left:25px;transform:scale(1.1)}50%{left:0;transform:scale(1)}to{left:25px;transform:scale(1.1)}}:root{--bg: #f7f6fb;--surface: #ffffff;--surface-2: #f3f1f8;--row-hover: #fbfaff;--input-bg: #fcfbff;--border: #e6e3ef;--border-firm: #d5cfe4;--text: #1b1830;--text-muted: #6b6684;--primary: #6a00f4;--primary-strong: #5400c2;--primary-soft: #efe6ff;--primary-ink: #2a0a5e;--on-primary: #ffffff;--accent: #ffd6a5;--accent-soft: #fff4e6;--accent-strong: #f7b878;--critical: #d23b3b;--critical-soft: #fbeaea;--critical-border:#f0c9c9;--critical-strong:#b32f2f;--success: #2e7d4f;--success-soft: #e8f3ed;--warning: #b26a00;--milestone: #3f3f46;--neutral-soft: #eef0f5;--neutral-ink: #4a5068;--load-1: #f0eafd;--load-2: #ddcbfb;--load-3: #c3a4f7;--load-4: #a271f1;--load-over: #d23b3b;--toast-bg: #1b1830;--toast-ink: #ffffff;--on-critical: #ffffff;--on-success: #ffffff;--radius: 10px;--radius-sm: 7px;--shadow: 0 1px 2px rgba(27, 24, 48, .06), 0 8px 24px rgba(106, 0, 244, .06);--shadow-lg: 0 12px 40px rgba(106, 0, 244, .16);--font-ui: "Inter", system-ui, -apple-system, sans-serif;--font-data: "IBM Plex Mono", ui-monospace, monospace;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #131019;--surface: #1c1826;--surface-2: #262133;--row-hover: #221d2f;--input-bg: #221d2f;--border: #322b45;--border-firm: #463d5e;--text: #f1eef8;--text-muted: #a196b8;--primary: #b98bff;--primary-strong: #cba9ff;--primary-soft: #2c1f49;--primary-ink: #dcc8ff;--on-primary: #1a1226;--accent: #ffd6a5;--accent-soft: #3a2a16;--accent-strong: #f7b878;--critical: #f08a85;--critical-soft: #3c1f1e;--critical-border:#6b3230;--critical-strong:#ffa9a4;--success: #6fcf97;--success-soft: #1c3628;--warning: #e8a33d;--milestone: #c7c2d4;--neutral-soft: #2a2536;--neutral-ink: #a9a2bc;--load-1: #241c3a;--load-2: #34255a;--load-3: #4b3183;--load-4: #6a44b8;--load-over: #b3403c;--toast-bg: #2b2540;--toast-ink: #f1eef8;--on-critical: #2a0e0d;--on-success: #0f2418;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);color-scheme:dark}}:root[data-theme=dark]{--bg: #131019;--surface: #1c1826;--surface-2: #262133;--row-hover: #221d2f;--input-bg: #221d2f;--border: #322b45;--border-firm: #463d5e;--text: #f1eef8;--text-muted: #a196b8;--primary: #b98bff;--primary-strong: #cba9ff;--primary-soft: #2c1f49;--primary-ink: #dcc8ff;--on-primary: #1a1226;--accent: #ffd6a5;--accent-soft: #3a2a16;--accent-strong: #f7b878;--critical: #f08a85;--critical-soft: #3c1f1e;--critical-border:#6b3230;--critical-strong:#ffa9a4;--success: #6fcf97;--success-soft: #1c3628;--warning: #e8a33d;--milestone: #c7c2d4;--neutral-soft: #2a2536;--neutral-ink: #a9a2bc;--load-1: #241c3a;--load-2: #34255a;--load-3: #4b3183;--load-4: #6a44b8;--load-over: #b3403c;--toast-bg: #2b2540;--toast-ink: #f1eef8;--on-critical: #2a0e0d;--on-success: #0f2418;--shadow: 0 1px 2px rgba(0, 0, 0, .45), 0 8px 24px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .5);color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3{font-weight:700;letter-spacing:-.02em}a{color:var(--primary)}.mono{font-family:var(--font-data);font-size:12.5px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-sm);padding:8px 15px;cursor:pointer;font:inherit;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,transform .05s}.btn:hover{border-color:var(--primary);color:var(--primary)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn-primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.btn-primary:hover{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--on-primary)}.btn-accent{background:var(--accent);border-color:var(--accent);color:var(--primary-ink);font-weight:600}.btn-accent:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--primary-ink)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--primary-soft);color:var(--primary)}.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500}.badge-critical{background:#fbe8e8;color:var(--critical)}.badge-late{background:var(--accent-soft);color:var(--warning)}.badge-done{background:#e8f3ed;color:var(--success)}.badge-active{background:var(--primary-soft);color:var(--primary-ink)}.badge-planning{background:#eef0f5;color:#4a5068}.badge-cancelled{background:#f1f0f4;color:var(--text-muted);text-decoration:line-through}.perm-denied{opacity:.45;cursor:not-allowed}.perm-denied:hover{border-color:var(--border);color:inherit;background:var(--surface)}.btn-primary.perm-denied:hover{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}input,select,textarea{font:inherit}.auth-split{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}.auth-brand{position:relative;overflow:hidden;padding:56px 52px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(120% 120% at 0% 0%,#8b2cff 0%,var(--primary) 45%,#4a00ab 100%)}.auth-brand .logo{display:inline-flex;text-decoration:none}.auth-brand .pitch{max-width:380px}.auth-brand .pitch h2{font-size:30px;line-height:1.15;margin:0 0 14px}.auth-brand .pitch p{color:#e9dcff;font-size:15px;margin:0}.auth-brand .points{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-direction:column;gap:10px}.auth-brand .points li{display:flex;gap:10px;align-items:center;color:#f1e8ff;font-size:14px}.auth-brand .points .tick{flex:0 0 22px;height:22px;border-radius:999px;background:var(--accent);color:var(--primary-ink);display:grid;place-items:center;font-weight:700;font-size:12px}.auth-brand .halo{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}.auth-brand .halo.a{width:260px;height:260px;right:-80px;top:-60px;background:#ffd6a559}.auth-brand .halo.b{width:200px;height:200px;right:40px;bottom:-70px;background:#ffffff1f}.auth-panel{display:grid;place-items:center;padding:32px;background:var(--surface)}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;gap:14px}.auth-card h1{margin:0;font-size:24px}.auth-card .sub{margin:-6px 0 8px;color:var(--text-muted)}.auth-card label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500}.auth-card input{padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fcfbff;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);background:#fff}.auth-card .hint{color:var(--text-muted);font-size:11px;font-weight:400}.auth-card .err{color:var(--critical);margin:0;font-size:13px}.auth-card .alt{text-align:center;font-size:13px;color:var(--text-muted);margin:2px 0 0}.auth-card .btn-primary{padding:11px;font-size:15px}@media (max-width: 860px){.auth-split{grid-template-columns:1fr}.auth-brand{display:none}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .gantt{color:var(--text)}:root:not([data-theme=light]) .gantt-table-header,:root:not([data-theme=light]) .gantt-table-header .gantt-table-header-item,:root:not([data-theme=light]) .gantt-container-header,:root:not([data-theme=light]) .gantt-calendar-header{background:var(--surface-2);color:var(--text)}:root:not([data-theme=light]) .gantt-table-body,:root:not([data-theme=light]) .gantt-side,:root:not([data-theme=light]) .gantt-side-container,:root:not([data-theme=light]) .gantt-main-container,:root:not([data-theme=light]) .gantt-container,:root:not([data-theme=light]) .gantt-virtual-scroll-viewport{background:var(--surface)}:root:not([data-theme=light]) .gantt-table-item,:root:not([data-theme=light]) .gantt-table-header,:root:not([data-theme=light]) .gantt-table-header-item,:root:not([data-theme=light]) .gantt-side,:root:not([data-theme=light]) .gantt-table,:root:not([data-theme=light]) .gantt-calendar-header,:root:not([data-theme=light]) .gantt-container-header,:root:not([data-theme=light]) .gantt-footer{border-color:var(--border)!important}:root:not([data-theme=light]) .gantt-table-item:hover{background:var(--row-hover)}:root:not([data-theme=light]) .gantt-table-item-active{background:var(--primary-soft)}:root:not([data-theme=light]) .gantt-calendar-grid line,:root:not([data-theme=light]) .gantt-calendar-grid path{stroke:var(--border)}:root:not([data-theme=light]) .gantt-calendar-header text{fill:var(--text-muted)}:root:not([data-theme=light]) .gantt-bar-layer{background:transparent}:root:not([data-theme=light]) .gantt-toolbar{background:var(--surface);color:var(--text)}:root:not([data-theme=light]) .gantt-drag-mask{background:var(--surface-2)}:root:not([data-theme=light]) .gantt-drag-backdrop{color:var(--text)}}:root[data-theme=dark] .gantt{color:var(--text)}:root[data-theme=dark] .gantt-table-header,:root[data-theme=dark] .gantt-table-header .gantt-table-header-item,:root[data-theme=dark] .gantt-container-header,:root[data-theme=dark] .gantt-calendar-header{background:var(--surface-2);color:var(--text)}:root[data-theme=dark] .gantt-table-body,:root[data-theme=dark] .gantt-side,:root[data-theme=dark] .gantt-side-container,:root[data-theme=dark] .gantt-main-container,:root[data-theme=dark] .gantt-container,:root[data-theme=dark] .gantt-virtual-scroll-viewport{background:var(--surface)}:root[data-theme=dark] .gantt-table-item,:root[data-theme=dark] .gantt-table-header,:root[data-theme=dark] .gantt-table-header-item,:root[data-theme=dark] .gantt-side,:root[data-theme=dark] .gantt-table,:root[data-theme=dark] .gantt-calendar-header,:root[data-theme=dark] .gantt-container-header,:root[data-theme=dark] .gantt-footer{border-color:var(--border)!important}:root[data-theme=dark] .gantt-table-item:hover{background:var(--row-hover)}:root[data-theme=dark] .gantt-table-item-active{background:var(--primary-soft)}:root[data-theme=dark] .gantt-calendar-grid line,:root[data-theme=dark] .gantt-calendar-grid path{stroke:var(--border)}:root[data-theme=dark] .gantt-calendar-header text{fill:var(--text-muted)}:root[data-theme=dark] .gantt-bar-layer{background:transparent}:root[data-theme=dark] .gantt-toolbar{background:var(--surface);color:var(--text)}:root[data-theme=dark] .gantt-drag-mask{background:var(--surface-2)}:root[data-theme=dark] .gantt-drag-backdrop{color:var(--text)}.nalp-chomes{position:absolute;top:0;bottom:0;left:0;z-index:0;pointer-events:none}.nalp-chomes i{position:absolute;top:0;bottom:0;display:block;background:var(--jour-chome)}.nalp-chomes i.ferie{background:var(--jour-ferie)}:root{--jour-chome: rgba(27, 24, 48, .045);--jour-ferie: rgba(255, 214, 165, .3)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--jour-chome: rgba(255, 255, 255, .038);--jour-ferie: rgba(255, 214, 165, .1)}}:root[data-theme=dark]{--jour-chome: rgba(255, 255, 255, .038);--jour-ferie: rgba(255, 214, 165, .1)}.gantt-bar .gantt-bar-content{overflow:visible}.gantt-bar .gantt-bar-content-progress{border-radius:inherit}
