@import '_content/Blazored.Modal/Blazored.Modal.bundle.scp.css';
@import '_content/Blazored.Toast/Blazored.Toast.bundle.scp.css';
@import '_content/Z.Blazor.Diagrams/Z.Blazor.Diagrams.ezdqu7jd9f.bundle.scp.css';

/* _content/Rstream.Application/Components/Shared/CustomGantt.razor.rz.scp.css */
.custom-gantt[b-z86dqr772p] {
    --gantt-header-height: 32px;
    --gantt-row-height: 40px;
    --gantt-lane-height: 40px;
    --gantt-segment-height: 24px;
    --gantt-segment-vertical-padding: 8px;
    --gantt-left-width: 435px;
    --gantt-col-task: 220px;
    --gantt-col-actions: 60px;
    --gantt-col-users: 60px;
    --gantt-col-days: 90px;
    --gantt-border: 1px solid #e5e5e5;
    --gantt-bg: #fff;
}

    .custom-gantt a[b-z86dqr772p] {
        text-decoration: none;
    }

.gantt-container[b-z86dqr772p] {
    background: var(--gantt-bg);
}

.gantt-main-flex[b-z86dqr772p] {
    display: flex;
    align-items: stretch;
    width: 100%;
    min-height: 0;
}

/* Left panel: fixed width, flex column */
.gantt-grid-pane[b-z86dqr772p] {
    width: var(--gantt-left-width);
    min-width: var(--gantt-left-width);
    max-width: var(--gantt-left-width);
    background: var(--gantt-bg);
    border-right: var(--gantt-border);
    display: flex;
    flex-direction: column;
    min-height: 0;
    position: sticky;
    left: 0;
    z-index: 4;
}

/* Only the header is sticky */
.gantt-header-sticky[b-z86dqr772p] {
    position: sticky;
    top: 0;
    z-index: 20;
    background: #f8f9fa;
}

/* Use CSS Grid for header and body rows */
.gantt-header-grid[b-z86dqr772p], .gantt-row-grid[b-z86dqr772p] {
    display: grid;
    grid-template-columns: var(--gantt-col-task) var(--gantt-col-actions) var(--gantt-col-users) var(--gantt-col-days);
    width: 100%;
    box-sizing: border-box;
}

.gantt-header-grid[b-z86dqr772p] {
    height: var(--gantt-header-height);
    min-height: var(--gantt-header-height);
    max-height: var(--gantt-header-height);
    background: #f8f9fa;
    font-weight: 600;
    border-bottom: var(--gantt-border);
}

.gantt-header-cell[b-z86dqr772p] {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 8px;
    height: 100%;
    background: #f8f9fa;
    box-sizing: border-box;
}

.gantt-row-grid[b-z86dqr772p] {
    height: var(--gantt-row-height);
    min-height: var(--gantt-row-height);
    max-height: var(--gantt-row-height);
    border-bottom: var(--gantt-border);
    background: var(--gantt-bg);
}

    .gantt-row-grid .date-item[b-z86dqr772p] {
        min-width: 7.8rem;
    }

    .gantt-row-grid:last-child[b-z86dqr772p] {
        border-bottom: none;
    }

.gantt-cell[b-z86dqr772p] {
    display: flex;
    align-items: center;
    padding: 0 8px;
    height: 100%;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

/* For single-lane rows, cells should not overflow */
.gantt-row-grid > .gantt-cell[b-z86dqr772p] {
    overflow: hidden;
}

/* Avatar and date items should maintain consistent height */
.avatar-group[b-z86dqr772p] {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.avatar-item[b-z86dqr772p] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    flex-shrink: 0;
}

.date-item[b-z86dqr772p] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 24px;
    flex-shrink: 0;
}

.date-item-ico[b-z86dqr772p] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

    .date-item-ico img[b-z86dqr772p] {
        width: 16px;
        height: 16px;
    }

.date-item-text[b-z86dqr772p] {
    white-space: nowrap;
    line-height: 24px;
}

/* Timeline panel: flex-grow, flex column - WITH HORIZONTAL SCROLL */
.gantt-chart-pane[b-z86dqr772p] {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    background: var(--gantt-bg);
    min-height: 0;
    /*overflow-x: auto; disabled because causes conflict with sticky gantt header */
    overflow-y: visible;
}

.gantt-timeline-header[b-z86dqr772p] {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #f8f9fa;
    display: flex;
    flex-direction: column;
    font-size: 1.1rem;
    color: #a3a3a3;
    flex-shrink: 0;
}

.gantt-months[b-z86dqr772p], .gantt-days[b-z86dqr772p] {
    display: flex;
    flex-shrink: 0;
}

.gantt-months[b-z86dqr772p] {
    height: var(--gantt-header-height);
    min-height: var(--gantt-header-height);
    max-height: var(--gantt-header-height);
    border-bottom: var(--gantt-border);
}

.gantt-month[b-z86dqr772p] {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    background: #f8f9fa;
    border-right: var(--gantt-border);
    height: 100%;
    flex-shrink: 0;
    white-space: nowrap;
    box-sizing: border-box;
}

.gantt-days[b-z86dqr772p] {
    height: var(--gantt-header-height);
    min-height: var(--gantt-header-height);
    max-height: var(--gantt-header-height);
}

.gantt-day[b-z86dqr772p] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 100%;
    border-right: var(--gantt-border);
    background: #fff;
}

    .gantt-day.weekend[b-z86dqr772p] {
        background: #f3f3f3;
    }

    .gantt-day:last-child[b-z86dqr772p] {
        border-right: none;
    }

.gantt-chart-body[b-z86dqr772p] {
    flex: 1;
    position: relative;
    background: var(--gantt-bg);
    min-height: 0;
}

.gantt-chart-body-inner[b-z86dqr772p] {
    position: relative;
}

.gantt-task-row[b-z86dqr772p] {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--gantt-row-height);
    min-height: var(--gantt-row-height);
    max-height: var(--gantt-row-height);
    border-bottom: var(--gantt-border);
    background: var(--gantt-bg);
}

    .gantt-task-row:last-child[b-z86dqr772p] {
        border-bottom: none;
    }

.gantt-task-row-label-container[b-z86dqr772p] {
    text-align: end;
    padding-right: 8px;
    text-wrap: nowrap;
}

.gantt-task-bar[b-z86dqr772p] {
    position: absolute;
    border-radius: calc(var(--gantt-segment-height) / 2);
    background-color: #e6e6e6;
    border: 1px solid #d1d1d1;
    z-index: 1;
    box-sizing: border-box;
}

    /* Late segment style with dotted border */
    .gantt-task-bar.late[b-z86dqr772p] {
        background-color: #fce0df; /* Light pink/red fill */
        border: 2px dotted #f55655; /* Dark red dotted border */
    }

    .gantt-task-bar.current[b-z86dqr772p] {
        background-color: #597ef7;
        border-color: #4668d9;
    }

    .gantt-task-bar.empty[b-z86dqr772p] {
        background-color: transparent;
        border-style: dashed;
    }

.disabled-task[b-z86dqr772p] {
    background-color: #fafafa !important;
    opacity: 1; /* Remove opacity to avoid gantt content to show when scrolling behind the sticky left panel */
    color: #a3a3a3 !important;
    a, a:hover, a:visited

{
    color: #a3a3a3 !important;
}

}

.gantt-marker[b-z86dqr772p] {
    position: absolute;
    height: 100%;
    width: 2px;
    z-index: 2;
}

.gantt-markers[b-z86dqr772p] {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    pointer-events: none;
}

.gantt-marker.today[b-z86dqr772p] {
    background-color: rgba(89, 126, 247, 0.15);
    border-left: 2px solid #597ef7;
}

.gantt-marker.end[b-z86dqr772p] {
    background-color: rgba(255, 77, 79, 0.15);
    border-left: 2px solid #ff4d4f;
}

.gantt-subgroup-container[b-z86dqr772p] {
    display: flex;
    flex: none;
}

.gantt-task-bar.empty[b-z86dqr772p] {
    background-color: transparent;
    border: 1px dashed #d1d1d1;
}

.gantt-task-bar.disabled-outline[b-z86dqr772p] {
    background-color: transparent;
    border: 2px solid #d9d9d9;
}

.gantt-task-bar.notstarted[b-z86dqr772p] {
    background-color: #d9d9d9;
}

/* Return counter badge styling */
.gantt-return-counter[b-z86dqr772p] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    border: 2px solid;
    box-sizing: border-box;
    z-index: 3;
    pointer-events: none;
    padding: 0;
}

    /* Right-aligned badge for wider segments */
    .gantt-return-counter.right-aligned[b-z86dqr772p] {
        right: 8px;
    }

    /* Centered badge for narrow segments */
    .gantt-return-counter.centered[b-z86dqr772p] {
        left: 50%;
        transform: translate(-50%, -50%);
    }
/* _content/Rstream.Application/Components/Shared/Sortable/SortableList.razor.rz.scp.css */
/* 
  you need the ::deep identifier if you are using scoped styles like this
  because scoped styles are only applied to markup in the component, not
  to the markup inside the render fragment.
*/

[b-nyni44nldb] .sortable-ghost {
  visibility: hidden;
}

[b-nyni44nldb] .sortable-fallback {
  opacity: 1 !important
}
