﻿.gantt-wrapper {
    width: 100%;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

.gantt-container {
    width: 100%;
    height: calc(100vh - 200px);
    overflow-x: auto !important;
    overflow-y: auto !important;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    position: relative;
    min-width: 0;
    flex: 1;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
}

    .gantt-container svg {
        display: block !important;
        height: 100%;
        min-width: max-content !important;
        width: auto !important;
    }

    .gantt-container .gantt {
        width: max-content !important;
        min-width: max-content !important;
        overflow: visible !important;
    }

    .gantt-container * {
        max-width: none !important;
    }

    .gantt-container::-webkit-scrollbar {
        width: 12px;
        height: 12px;
    }

    .gantt-container::-webkit-scrollbar-track {
        background: #f8f9fa;
        border-radius: 6px;
    }

    .gantt-container::-webkit-scrollbar-thumb {
        background: #6c757d;
        border-radius: 6px;
        border: 2px solid #f8f9fa;
    }

        .gantt-container::-webkit-scrollbar-thumb:hover {
            background: #495057;
        }

    .gantt-container::-webkit-scrollbar-corner {
        background: #f8f9fa;
    }


.gantt-no-data {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    border: 2px dashed #dee2e6;
    border-radius: 8px;
    height: calc(100vh - 200px);
}

.no-data-content {
    text-align: center;
    color: #6c757d;
    padding: 2rem;
}

.no-data-icon {
    margin-bottom: 1rem;
    opacity: 0.7;
}

    .no-data-icon svg {
        color: #6c757d;
    }

.no-data-text h5 {
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: #495057;
}

.no-data-text p {
    margin-bottom: 0;
    font-size: 0.9rem;
}

.gantt-controls {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    flex-shrink: 0;
}

.mapping-panel {
    background-color: #f8f9fa;
    flex-shrink: 0;
}

.gantt .bar {
    fill: #4285f4;
}


.gantt .bar-progress {
    fill: #34a853;
}

.gantt .bar-invalid {
    fill: #ea4335;
}

    .gantt .bar-invalid .bar-progress {
        fill: #fbbc04;
    }

.content-spanned-group .gantt-container {
    min-width: 0 !important;
    width: 100% !important;
    overflow-x: auto !important;
}

.gantt-container > div {
    min-width: max-content;
}

.gantt-container .gantt-header,
.gantt-container .gantt-body {
    min-width: max-content !important;
    width: auto !important;
}


.gantt .bar-progress {
    fill: var(--g-progress-color);
    border-radius: 4px;
}


.gantt .bar.bar-default {
    fill: #b7d7f0;
}

    .gantt .bar.bar-default.bar-progress {
        fill: #7fb3d3;
    }

.gantt .bar.bar-red {
    fill: #ffcccc;
}

    .gantt .bar.bar-red.bar-progress {
        fill: #ff6666;
    }

.gantt .bar.bar-green {
    fill: #ccffcc;
}

    .gantt .bar.bar-green.bar-progress {
        fill: #66cc66;
    }

.gantt .bar.bar-blue {
    fill: #cce6ff;
}

    .gantt .bar.bar-blue.bar-progress {
        fill: #66b3ff;
    }

.gantt .bar.bar-yellow {
    fill: #fff9cc;
}

    .gantt .bar.bar-yellow.bar-progress {
        fill: #ffeb66;
    }

.gantt .bar.bar-orange {
    fill: #ffe6cc;
}

    .gantt .bar.bar-orange.bar-progress {
        fill: #ff9933;
    }

.gantt .bar.bar-purple {
    fill: #e6ccff;
}

    .gantt .bar.bar-purple.bar-progress {
        fill: #b366ff;
    }

.gantt .bar.bar-gray {
    fill: #e0e0e0;
}

    .gantt .bar.bar-gray.bar-progress {
        fill: #999999;
    }


.gantt .bar.bar-high-priority {
    fill: #ff9999;
    stroke: #cc0000;
    stroke-width: 2;
}

    .gantt .bar.bar-high-priority.bar-progress {
        fill: #cc0000;
    }

.gantt .bar.bar-medium-priority {
    fill: #ffcc99;
    stroke: #ff6600;
    stroke-width: 1;
}

    .gantt .bar.bar-medium-priority.bar-progress {
        fill: #ff6600;
    }

.gantt .bar.bar-low-priority {
    fill: #ccffcc;
}

    .gantt .bar.bar-low-priority.bar-progress {
        fill: #66cc66;
    }

.gantt .bar.bar-completed {
    fill: #90EE90;
    opacity: 0.8;
}

    .gantt .bar.bar-completed.bar-progress {
        fill: #32CD32;
    }

.gantt .bar.bar-in-progress {
    fill: #87CEEB;
}

    .gantt .bar.bar-in-progress.bar-progress {
        fill: #4682B4;
    }

.gantt .bar.bar-delayed {
    fill: #FFB6C1;
    stroke: #FF1493;
    stroke-width: 2;
    stroke-dasharray: 5,5;
}

    .gantt .bar.bar-delayed.bar-progress {
        fill: #FF1493;
    }

.gantt .bar.bar-on-hold {
    fill: #D3D3D3;
    opacity: 0.6;
}

    .gantt .bar.bar-on-hold.bar-progress {
        fill: #696969;
    }

.gantt .bar:hover {
    filter: brightness(1.1);
}

.gantt .bar-wrapper.active .bar {
    filter: brightness(1.2);
    stroke: #333;
    stroke-width: 2;
}