/* DHTMLX Gantt Dark Mode Styles */
/* Activated when .dark class is on <html> */

.dark .gantt_container,
.dark #gantt_here {
    background-color: #1f2937 !important;
    color: #e5e7eb !important;
}

.dark .gantt_grid,
.dark .gantt_grid_header {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}

.dark .gantt_row,
.dark .gantt_row_even {
    background-color: #1f2937 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}

.dark .gantt_row:hover,
.dark .gantt_row_even:hover {
    background-color: #374151 !important;
}

.dark .gantt_task_cell {
    background-color: #1f2937 !important;
    border-color: #4b5563 !important;
}

.dark .gantt_task_row {
    background-color: transparent !important;
    border-color: #4b5563 !important;
}

.dark .gantt_task {
    background-color: #3b82f6 !important;
    border-color: #2563eb !important;
}

.dark .gantt_task_content {
    color: #ffffff !important;
}

.dark .gantt_task_progress {
    background-color: #1d4ed8 !important;
}

.dark .gantt_line_wrapper {
    background-color: transparent !important;
}

.dark .gantt_link_line {
    stroke: #9ca3af !important;
}

.dark .gantt_link_arrow {
    border-color: #9ca3af !important;
}

.dark .gantt_scale_line {
    border-color: #4b5563 !important;
}

.dark .gantt_second_row .gantt_cell,
.dark .gantt_first_row .gantt_cell {
    border-color: #4b5563 !important;
}

.dark .gantt_header_cell {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}

.dark .gantt_toolbar {
    background-color: #374151 !important;
    border-color: #4b5563 !important;
}

.dark .gantt_button {
    background-color: #4b5563 !important;
    color: #e5e7eb !important;
    border-color: #6b7280 !important;
}

.dark .gantt_button:hover {
    background-color: #6b7280 !important;
}

.dark .gantt_cal_light {
    background-color: #1f2937 !important;
    border-color: #4b5563 !important;
    color: #e5e7eb !important;
}

.dark .gantt_cal_lsection {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}

.dark .gantt_cal_lbody input,
.dark .gantt_cal_lbody textarea,
.dark .gantt_cal_lbody select {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
}

.dark .gantt_cal_lbody input:focus,
.dark .gantt_cal_lbody textarea:focus {
    border-color: #3b82f6 !important;
    outline: none !important;
}

.dark .gantt_cal_cover {
    background-color: rgba(0, 0, 0, 0.5) !important;
}

.dark .gantt_tooltip {
    background-color: #374151 !important;
    color: #e5e7eb !important;
    border-color: #4b5563 !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3) !important;
}

.dark .gantt_tree_icon {
    color: #e5e7eb !important;
}

.dark .gantt_tree_indent {
    color: #9ca3af !important;
}

.dark .gantt_grid_data .gantt_row .gantt_cell {
    color: #e5e7eb !important;
}

.dark .gantt_grid_data .gantt_row .gantt_cell_text {
    color: #e5e7eb !important;
}

.dark .gantt_tree_branch {
    border-color: #4b5563 !important;
}

/* DHTMLX Gantt base styles */
.gantt_container {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: relative;
}

.gantt_task {
    border-radius: 4px;
    min-height: 22px;
}

.gantt_task_content {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 0 4px;
}

.gantt_link_line {
    stroke-width: 2;
    fill: none;
}

.gantt_link_arrow {
    width: 0;
    height: 0;
    border-width: 4px;
    border-style: solid;
}

/* Print styles */
@media print {
    .filament-dhtmlx-gantt-toolbar,
    .filament-dhtmlx-gantt-toolbar .filament-button,
    .filament-dhtmlx-gantt-toolbar [x-cloak] {
        display: none !important;
    }

    .filament-dhtmlx-gantt-container {
        height: auto !important;
        min-height: 100vh !important;
        border: none !important;
        box-shadow: none !important;
    }

    .gantt_container {
        height: auto !important;
        min-height: 100vh !important;
    }
}

.gantt_task_line.fi-gantt-level-0 {
    --dhx-gantt-task-background: oklch(76.8% 0.233 130.85) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(64.8% 0.2 131.684) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-0 {
    --dhx-gantt-task-background: #3b82f6 !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: #60a5fa !important;
}*/

.gantt_task_line.fi-gantt-level-1 {
    --dhx-gantt-task-background: oklch(72.3% 0.219 149.579) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(62.7% 0.194 149.214) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-1 {
    --dhx-gantt-task-background: #22c55e !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: #4ade80 !important;
}*/

.gantt_task_line.fi-gantt-level-2 {
    --dhx-gantt-task-background: oklch(66.7% 0.295 322.15) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(59.1% 0.293 322.896) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-2 {
    --dhx-gantt-task-background: #8b5cf6 !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: #a78bfa !important;
}*/

.gantt_task_line.fi-gantt-level-3 {
    --dhx-gantt-task-background: oklch(70.5% 0.213 47.604) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(64.6% 0.222 41.116) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-3 {
    --dhx-gantt-task-background: #10b981 !important;
    --dhx-gantt-task-color: #1a1a1a !important;
    --dhx-gantt-task-progress-color: #34d399 !important;
}*/

.gantt_task_line.fi-gantt-level-4 {
    --dhx-gantt-task-background: oklch(55.4% 0.046 257.417) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(44.6% 0.043 257.281) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-4 {
    --dhx-gantt-task-background: #10b981 !important;
    --dhx-gantt-task-color: #1a1a1a !important;
    --dhx-gantt-task-progress-color: #34d399 !important;
}*/

.gantt_task_line.fi-gantt-level-5 {
    --dhx-gantt-task-background: oklch(70.4% 0.14 182.503) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(60% 0.118 184.704) !important;
}
/*.dark .gantt_task_line.fi-gantt-level-5 {
    --dhx-gantt-task-background: #10b981 !important;
    --dhx-gantt-task-color: #1a1a1a !important;
    --dhx-gantt-task-progress-color: #34d399 !important;
}*/

.gantt_task_line.fi-gantt-single-root {
    --dhx-gantt-task-background: oklch(58.5% 0.233 277.117) !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(51.1% 0.262 276.966) !important;
}
.dark .gantt_task_line.fi-gantt-single-root {
    --dhx-gantt-task-background: #615fff !important;
    --dhx-gantt-task-color: #fff !important;
    --dhx-gantt-task-progress-color: oklch(67.3% 0.182 276.935) !important;
}

.gantt_task_line.fi-gantt-hide-label .gantt_task_content {
    display: none !important;
}

.fi-gantt-status {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    border-radius: 9999px;
    font-size: 0.75rem;
    letter-spacing: 0.025rem;
    text-transform: uppercase;
    font-weight: normal;
    white-space: nowrap;
    color: initial;
}

.fi-gantt-project-row .fi-gantt-status {
    font-weight: 700;
}

.fi-gantt-unassigned {
    color: #9ca3af !important;
    font-style: italic;
}
.dark .fi-gantt-unassigned {
    color: #6b7280 !important;
}

.fi-gantt-status-row-not-started.gantt_row { background: transparent; }
.fi-gantt-status-row-in-progress.gantt_row { background: #f6faff; }
.fi-gantt-status-row-on-hold.gantt_row { background: #fffef3; }
.fi-gantt-status-row-cancelled.gantt_row { background: #fff7f7; }
.fi-gantt-status-row-completed.gantt_row { background: #f6fff9; }

.dark .fi-gantt-status-row-in-progress.gantt_row { background: #1e3a5f; }
.dark .fi-gantt-status-row-on-hold.gantt_row { background: #422006; }
.dark .fi-gantt-status-row-cancelled.gantt_row { background: #450a0a; }
.dark .fi-gantt-status-row-completed.gantt_row { background: #14532d; }

.gantt_grid_head_cell[data-column-name] .gantt_grid_resize_wrap {
    cursor: col-resize;
}

/*.fi-gantt-zoom-seg {
    display: inline-flex;
    !*border: 1px solid #d1d5db;
    border-radius: 0.375rem;*!
    overflow: hidden;
    background: #fff;
}
.dark .fi-gantt-zoom-seg {
    border-color: #4b5563;
    background: #1f2937;
}
*/
.fi-gantt-zoom-btn {
    padding: 0.375rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
    background: transparent;
    border: none;
    border-right: 1px solid #d1d5db;
    cursor: pointer;
    transition: all 0.15s ease;
}
.dark .fi-gantt-zoom-btn {
    color: #e5e7eb;
    border-right-color: #4b5563;
}

.fi-gantt-zoom-btn:last-child {
    border-right: none;
}

.fi-gantt-zoom-btn:hover {
    background: #f3f4f6;
}
.dark .fi-gantt-zoom-btn:hover {
    background: #374151;
}

.fi-gantt-zoom-btn.active {
    background: #3b82f6;
    color: #fff;
}
.dark .fi-gantt-zoom-btn.active {
    background: #3b82f6;
    color: #fff;
}

.prio_cell {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 0.125rem 0.625rem;
    border-radius: 0;
    background: transparent;
    color: initial;
}
.prio_cell .dhx_dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Status badge variants */
.prio_cell.fi-gantt-status-not-started .dhx_dot { background: #9ca3af; }
.prio_cell.fi-gantt-status-in-progress .dhx_dot { background: #3b82f6; }
.prio_cell.fi-gantt-status-on-hold .dhx_dot { background: #f59e0b; }
.prio_cell.fi-gantt-status-cancelled .dhx_dot { background: #ef4444; }
.prio_cell.fi-gantt-status-completed .dhx_dot { background: #22c55e; }

.prio_cell.fi-gantt-status-active .dhx_dot { background: #3b82f6; animation: var(--animate-pulse); }
.prio_cell.fi-gantt-status-completed .dhx_dot { background: #22c55e; }
.prio_cell.fi-gantt-status-terminated .dhx_dot { background: #ef4444; }

.dark .prio_cell.fi-gantt-status-not-started .dhx_dot { background: #6b7280; }
.dark .prio_cell.fi-gantt-status-in-progress .dhx_dot { background: #60a5fa; }
.dark .prio_cell.fi-gantt-status-on-hold .dhx_dot { background: #fbbf24; }
.dark .prio_cell.fi-gantt-status-cancelled .dhx_dot { background: #f87171; }
.dark .prio_cell.fi-gantt-status-completed .dhx_dot { background: #4ade80; }

.gantt_row.fi-gantt-project-row .gantt_tree_content { font-weight: bold; }
