._3_ygE{display:table;border-bottom:#e6e4e4 1px solid;border-top:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._1nBOt{display:table-row;list-style:none}._2eZzQ{border-right:1px solid rgb(196,196,196);opacity:1;margin-left:-2px}._WuQ0f{display:table-cell;vertical-align:-webkit-baseline-middle;vertical-align:middle}._3ZbQT{display:table;border-bottom:#e6e4e4 1px solid;border-left:#e6e4e4 1px solid}._34SS0{display:table-row;text-overflow:ellipsis}._34SS0:nth-of-type(2n){background-color:#f5f5f5}._3lLk3{display:table-cell;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._nI1Xw{display:flex}._2QjE6{color:#565656;font-size:.6rem;padding:.15rem .2rem 0rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}._2TfEi{font-size:.6rem;padding-left:1rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3T42e{background:#fff;padding:12px;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}._29NTg{font-size:12px;margin-bottom:6px;color:#666}._25P-K{position:absolute;display:flex;flex-shrink:0;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3gVAq{visibility:hidden;position:absolute;display:flex;pointer-events:none}._1eT-t{overflow:hidden auto;width:1rem;flex-shrink:0;scrollbar-width:thin}._1eT-t::-webkit-scrollbar{width:1.1rem;height:1.1rem}._1eT-t::-webkit-scrollbar-corner{background:transparent}._1eT-t::-webkit-scrollbar-thumb{border:6px solid transparent;background:rgba(0,0,0,.2);background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._1eT-t::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:rgba(0,0,0,.3);background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._2dZTy{fill:#fff}._2dZTy:nth-child(2n){fill:#f5f5f5}._3rUKi{stroke:#ebeff2}._RuwuK{stroke:#e6e4e4}._9w8d5{text-anchor:middle;fill:#333;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._1rLuZ{stroke:#e6e4e4}._2q1Kt{text-anchor:middle;fill:#555;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._35nLX{fill:#fff;stroke:#e0e0e0;stroke-width:1.4}._KxSXS{cursor:pointer;outline:none}._KxSXS:hover ._3w_5u{visibility:visible;opacity:1}._3w_5u{fill:#ddd;cursor:ew-resize;opacity:0;visibility:hidden}._31ERP{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;stroke-width:0}._RRr13{cursor:pointer;outline:none}._2P2B1{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._1KJ6x{cursor:pointer;outline:none}._2RbVy{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:.6}._2pZMF{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._3zRJQ{fill:#fff;text-anchor:middle;font-weight:lighter;dominant-baseline:central;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._3KcaM{fill:#555;text-anchor:start;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none}._CZjuD{overflow:hidden;font-size:0;margin:0;padding:0}._2B2zv{margin:0;padding:0;overflow:hidden}._3eULf{display:flex;padding:0;margin:0;list-style:none;outline:none;position:relative}._2k9Ys{overflow:auto;max-width:100%;scrollbar-width:thin;height:1.2rem}._2k9Ys::-webkit-scrollbar{width:1.1rem;height:1.1rem}._2k9Ys::-webkit-scrollbar-corner{background:transparent}._2k9Ys::-webkit-scrollbar-thumb{border:6px solid transparent;background:rgba(0,0,0,.2);background:var(--palette-black-alpha-20, rgba(0, 0, 0, .2));border-radius:10px;background-clip:padding-box}._2k9Ys::-webkit-scrollbar-thumb:hover{border:4px solid transparent;background:rgba(0,0,0,.3);background:var(--palette-black-alpha-30, rgba(0, 0, 0, .3));background-clip:padding-box}._19jgW{height:1px}.weekend{background-color:#f8d7da}.skeleton-bar{background-color:#ccc;animation:skeleton-loading 1s linear infinite alternate}@keyframes skeleton-loading{0%{background-color:#e0e0e0}50%{background-color:#ccc}to{background-color:#e0e0e0}}.gantt_task_row:nth-child(odd) .gantt_task_cell{background-color:#fafafa}.gantt_task_row:nth-child(2n) .gantt_task_cell{background-color:#fff}.gantt_task_link .gantt_line_wrapper div{background-color:#1890ff}.gantt_task_link:hover .gantt_line_wrapper div{box-shadow:0 0 5px #1890ff}.gantt_task_link .gantt_link_arrow{border-color:#1890ff}.gantt_grid .gantt_grid_scale,.gantt_grid .gantt_grid_head_cell,.gantt_grid .gantt_grid_data .gantt_cell{background-color:var(--component-background);border-color:var(--border-color-split);color:var(--text-color)}.gantt_grid .gantt_grid_data .gantt_row:nth-child(2n) .gantt_cell{background-color:var(--table-row-hover-bg)}.gantt_grid .gantt_grid_data .gantt_row.gantt_selected{background-color:var(--primary-1);color:var(--text-color)}[data-theme=dark] .gantt_grid .gantt_grid_scale,[data-theme=dark] .gantt_grid .gantt_grid_head_cell,[data-theme=dark] .gantt_grid .gantt_grid_data .gantt_cell{background-color:var(--component-background);color:var(--text-color)}[data-theme=dark] .gantt_grid .gantt_grid_data .gantt_row:nth-child(2n) .gantt_cell{background-color:var(--table-row-hover-bg)}[data-theme=dark] .gantt_grid .gantt_grid_data .gantt_row.gantt_selected{background-color:var(--primary-3);color:var(--text-color)}.gantt-datepicker-dropdown{z-index:1050;margin-top:8px}.gantt-container{overflow-x:auto;width:100%}.gantt-chart{display:inline-block;min-width:100%}.ReactVirtualized__Table__headerRow{font-weight:700;text-transform:uppercase;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.ReactVirtualized__Table__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.ReactVirtualized__Table__headerTruncatedText{display:inline-block;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ReactVirtualized__Table__headerColumn,.ReactVirtualized__Table__rowColumn{margin-right:10px;min-width:0px}.ReactVirtualized__Table__rowColumn{text-overflow:ellipsis;white-space:nowrap}.ReactVirtualized__Table__headerColumn:first-of-type,.ReactVirtualized__Table__rowColumn:first-of-type{margin-left:10px}.ReactVirtualized__Table__sortableHeaderColumn{cursor:pointer}.ReactVirtualized__Table__sortableHeaderIconContainer{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.ReactVirtualized__Table__sortableHeaderIcon{-webkit-box-flex:0;flex:0 0 24px;height:1em;width:1em;fill:currentColor}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.modal-footer{display:flex;justify-content:space-between}.kanban-container{height:calc(100vh - 180px);width:100%;overflow:hidden;background-color:#f0f2f5;box-sizing:border-box;display:flex;flex-direction:column}.kanban-board{display:flex;padding:8px;flex-grow:1;align-items:flex-start;width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.kanban-column{width:280px;min-width:280px;margin:0 6px;background-color:#f7f9fa;border-radius:5px;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;max-height:100%;transition:box-shadow .3s ease;flex-shrink:0}.kanban-column.is-dragging{box-shadow:0 4px 12px #00000026;z-index:1000}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-bottom:1px solid #e8e8e8;background-color:#fff;border-top-left-radius:5px;border-top-right-radius:5px}.kanban-column-title{margin:0;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kanban-column-tasks{padding:5px;overflow-y:auto;flex-grow:1;background-color:#fff;border-bottom-left-radius:5px;border-bottom-right-radius:5px;max-height:calc(100% - 40px)}.kanban-task{-webkit-user-select:none;user-select:none;padding:6px;min-height:25px;background-color:#fff;color:#000;border-radius:3px;box-shadow:0 1px 2px #0000001a;position:relative;border:1px solid #e8e8e8;width:calc(100% - 12px);flex-shrink:0;margin:0 0 6px;transition:box-shadow .2s ease,background-color .2s ease}.kanban-task:hover{box-shadow:0 2px 4px #00000017}.kanban-task.is-dragging{transform:rotate(2deg) scale(1.02);box-shadow:0 4px 12px #00000026;z-index:1001}.kanban-column-tasks::-webkit-scrollbar,.kanban-board::-webkit-scrollbar{width:6px;height:6px}.kanban-column-tasks::-webkit-scrollbar-track,.kanban-board::-webkit-scrollbar-track{background:#f1f1f1}.kanban-column-tasks::-webkit-scrollbar-thumb,.kanban-board::-webkit-scrollbar-thumb{background:#888;border-radius:3px}.kanban-column-tasks::-webkit-scrollbar-thumb:hover,.kanban-board::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 768px){.kanban-container{height:auto;overflow-y:auto}.kanban-board{flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:visible;height:auto;padding:8px 0}.kanban-column{width:95%;min-width:auto;margin:0 0 16px;max-height:none}.kanban-column-tasks{max-height:none;overflow-y:visible}.kanban-task{width:calc(100% - 12px)}.kanban-column-header{padding:6px 8px}.kanban-column-title{font-size:12px}.task-detail-modal,.search-result-modal{width:90vw;max-width:none}}@media (hover: none) and (pointer: coarse){.kanban-task:hover{transform:none;box-shadow:0 1px 2px #0000001a}}.calendar-wrapper{height:100vh;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;background-color:#f7f7f7}.calendar-container{flex:1;overflow-y:auto;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.event-detail-modal{width:800px}.event-detail-content{padding:32px}.today{display:inline-block;width:32px;height:32px;line-height:32px;border-radius:50%;background-color:#3788d8;color:#fff;text-align:center;font-weight:700}.fc .fc-toolbar.fc-header-toolbar{margin-bottom:24px;padding:16px;background-color:#fff;border-radius:12px 12px 0 0}.fc .fc-toolbar-title{font-size:1.8rem;color:#333;font-weight:600}.fc .fc-button-primary{font-size:.9rem;background-color:#f0f0f0;color:#333;border:none;border-radius:6px;padding:8px 16px;transition:all .3s ease}.fc .fc-today-button{font-size:1rem;background-color:#3788d8;color:#fff;border:none;border-radius:6px;padding:8px 16px;transition:all .3s ease}.fc .fc-dayGridMonth-button,.fc .fc-timeGridWeek-button,.fc .fc-timeGridDay-button,.fc .fc-listWeek-button{font-size:.9rem}.fc .fc-button-primary:not(:disabled).fc-button-active{background-color:#3788d8;color:#fff;box-shadow:0 2px 4px #0000001a}.fc .fc-button-primary:not(:disabled):focus,.fc .fc-button-primary:not(:disabled):hover{background-color:#2c6aa0;color:#fff;box-shadow:0 2px 4px #0000001a}.fc .fc-today-button:disabled{opacity:.7;cursor:not-allowed}.fc .fc-col-header-cell{font-size:1rem;font-weight:600;color:#333;background-color:#f7f7f7;padding:12px;border:none}.fc .fc-daygrid-day{border:1px solid #e0e0e0;transition:background-color .3s ease}.fc .fc-daygrid-day:hover{background-color:#f0f0f0}.fc-event{border:none!important;border-radius:4px!important;font-size:.9rem!important;transition:opacity .3s ease!important;cursor:pointer!important;margin:1px 0!important}.fc-h-event{background-color:transparent!important}.fc-event-main{padding:2px 4px!important}.fc-event:hover{opacity:.8!important}.fc .fc-day-today{background-color:#e6f2ff!important}.fc .fc-day-sat{background-color:#e6f3ff}.fc .fc-day-sun{background-color:#fff0f0}.fc-list-day-cushion{background-color:#f7f7f7!important}.fc-list-event:hover td{background-color:#f0f0f0}.custom-event{width:100%!important;height:100%!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;box-sizing:border-box!important}.fc-daygrid-event{margin-top:1px!important;margin-bottom:1px!important}.fc-timegrid-event{margin-bottom:1px!important}.fc-event-title{font-weight:700!important;flex-grow:1!important;margin-left:4px!important}.fc-event-time{font-size:.8em!important;opacity:.8!important;white-space:nowrap!important}.fc-daygrid-event-harness{margin-top:1px!important;margin-bottom:1px!important}@media (max-width: 1024px){.calendar-wrapper{padding:16px}.fc .fc-toolbar-title{font-size:1.5rem}.fc .fc-button-primary{font-size:.8rem;padding:6px 12px}.fc .fc-col-header-cell{font-size:.9rem;padding:8px}}@media (max-width: 768px){.calendar-wrapper{padding:12px}.fc .fc-toolbar-title{font-size:1.2rem}.fc .fc-button-primary{font-size:.7rem;padding:4px 8px}.fc .fc-col-header-cell{font-size:.8rem;padding:6px}.event-detail-modal{width:90%}.event-detail-content{padding:16px}}@media (max-width: 480px){.calendar-container{-webkit-overflow-scrolling:touch}.fc-view-harness{height:auto!important}.fc-scroller{overflow:visible!important;height:auto!important}}
