/* /Components/Dashboard/CurrentTasks.razor.rz.scp.css */
/* Container */
.task-container[b-3bmmpcdvxg] {
    background: #fff;
    padding: 20px;
    border-radius: 15px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.06);
    font-family: "Segoe UI", sans-serif;
    width: 100%;
    box-sizing: border-box;
}

/* Header */
.task-header[b-3bmmpcdvxg] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    gap: 10px;
}

    .task-header h2[b-3bmmpcdvxg] {
        margin: 0;
        font-size: 18px;
        flex: 1;
    }

/* Add Task Button */
.add-task-btn[b-3bmmpcdvxg] {
    background: #1e7b34;
    color: #fff;
    border: none;
    padding: 5px 18px;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    transition: 0.2s ease;
}

    .add-task-btn:hover[b-3bmmpcdvxg] {
        background: #166428;
    }

/* Clear Filter Button */
.clear-filter-btn[b-3bmmpcdvxg] {
    background: #6b7280;
    color: #fff;
    border: none;
    padding: 5px 18px;
    border-radius: 8px;
    font-size: 15px;
    cursor: pointer;
    transition: 0.2s ease;
}

    .clear-filter-btn:hover[b-3bmmpcdvxg] {
        background: #4b5563;
    }

/* Search Container */
.search-container[b-3bmmpcdvxg] {
    margin-bottom: 15px;
}

.search-input[b-3bmmpcdvxg] {
    width: 100%;
    padding: 10px 15px;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    font-size: 14px;
    font-family: "Segoe UI", sans-serif;
    transition: border-color 0.2s ease;
    box-sizing: border-box;
}

    .search-input:focus[b-3bmmpcdvxg] {
        outline: none;
        border-color: #1e7b34;
    }

    .search-input[b-3bmmpcdvxg]::placeholder {
        color: #9ca3af;
    }

/* Table styling */
.task-table[b-3bmmpcdvxg] {
    width: 100%;
    border-collapse: collapse;
    cursor: pointer;
}

    .task-table th[b-3bmmpcdvxg] {
        text-align: left;
        padding: 12px 8px;
        font-size: 15px;
        color: #6b7280;
        letter-spacing: 0.5px;
        border-bottom: 1px solid #e5e7eb;
    }

    .task-table th.sortable[b-3bmmpcdvxg] {
        cursor: pointer;
        user-select: none;
        transition: color 0.2s ease;
    }

        .task-table th.sortable:hover[b-3bmmpcdvxg] {
            color: #1e7b34;
        }

    .task-table .sort-icon[b-3bmmpcdvxg] {
        margin-left: 5px;
        font-size: 12px;
        color: #1e7b34;
    }

    .task-table td[b-3bmmpcdvxg] {
        padding: 12px 8px;
        font-size: 13px;
        color: #333;
        border-bottom: 1px solid #f0f0f0;
    }

/* Badges */
.badge[b-3bmmpcdvxg] {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

.in-progress[b-3bmmpcdvxg] {
    background: #e0edff;
    color: #2c6dd9;
}

.overdue[b-3bmmpcdvxg] {
    background: #ffe2e2;
    color: #d63333;
}

.completed[b-3bmmpcdvxg] {
    background: #d4f4dd;
    color: #1e7b34;
}

.not-started[b-3bmmpcdvxg] {
    background: #f3f4f6;
    color: #6b7280;
}

.
/* Pagination */
.pagination-container[b-3bmmpcdvxg] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid #e5e7eb;
    flex-wrap: wrap;
}

.pagination-btn[b-3bmmpcdvxg] {
    background: #fff;
    border: 1px solid #e5e7eb;
    color: #6b7280;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.2s ease;
    min-width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

    .pagination-btn:hover:not(:disabled)[b-3bmmpcdvxg] {
        background: #1e7b34;
        color: #fff;
        border-color: #1e7b34;
    }

    .pagination-btn:disabled[b-3bmmpcdvxg] {
        opacity: 0.4;
        cursor: not-allowed;
    }

.pagination-info[b-3bmmpcdvxg] {
    font-size: 14px;
    color: #6b7280;
    padding: 0 15px;
    min-width: 110px;
    text-align: center;
    white-space: nowrap;
}    background: #fef3c7;
    color: #92400e;[b-3bmmpcdvxg]
}

/* Loading and Error states */
.loading-container[b-3bmmpcdvxg],
.error-container[b-3bmmpcdvxg],
.no-tasks[b-3bmmpcdvxg] {
    padding: 40px 20px;
    text-align: center;
}

.no-tasks p[b-3bmmpcdvxg] {
    color: #6b7280;
    font-size: 14px;
}

/* Favorites column */
.fav-cell[b-3bmmpcdvxg] {
    width: 40px;
    text-align: center;
    padding: 0 4px;
}

.fav-btn[b-3bmmpcdvxg] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: #d1d5db;
    padding: 4px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s ease, transform 0.1s ease;
}

    .fav-btn:hover:not(:disabled)[b-3bmmpcdvxg] {
        color: #f59e0b;
        transform: scale(1.2);
    }

    .fav-btn--added[b-3bmmpcdvxg] {
        color: #f59e0b;
    }

    .fav-btn--added:hover[b-3bmmpcdvxg] {
        color: #ef4444;
        transform: scale(1.2);
    }

    .fav-btn--error[b-3bmmpcdvxg] {
        color: #f43f5e;
    }

    .fav-btn:disabled[b-3bmmpcdvxg] {
        cursor: not-allowed;
    }
/* /Components/Dashboard/ProjectProgress.razor.rz.scp.css */
/* Card Container - */
.time-registration-card[b-t9rb3w400t] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
    height: 100%;
}

/* Card Header */
.card-header[b-t9rb3w400t] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.card-title[b-t9rb3w400t] {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    color: #333;
}

.header-icon[b-t9rb3w400t] {
    width: 24px;
    height: 24px;
}

/* Chart Container */
.chart-container[b-t9rb3w400t] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 200px;
}

/* Pie Chart Styles */
.pie-chart-skeleton[b-t9rb3w400t] {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.pie-chart-wrapper[b-t9rb3w400t] {
    position: relative;
    width: 140px;
    height: 140px;
    margin-bottom: 20px;
}

.pie-chart[b-t9rb3w400t] {
    width: 100%;
    height: 100%;
}

.pie-segment[b-t9rb3w400t] {
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
    transform-origin: center;
}

    .pie-segment:hover[b-t9rb3w400t] {
        opacity: 0.85;
        filter: brightness(1.1);
    }

/* Pie Tooltip */
.pie-tooltip[b-t9rb3w400t] {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px 14px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 10;
    min-width: 100px;
    pointer-events: none;
}

    .pie-tooltip .tooltip-header[b-t9rb3w400t] {
        font-weight: 600;
        font-size: 14px;
        margin-bottom: 6px;
        color: #333;
        border-bottom: 1px solid #eee;
        padding-bottom: 6px;
    }

    .pie-tooltip .tooltip-content[b-t9rb3w400t] {
        display: flex;
        justify-content: space-between;
        gap: 12px;
        font-size: 13px;
    }

    .pie-tooltip .tooltip-value[b-t9rb3w400t] {
        font-weight: 600;
        color: #333;
    }

/* Legend Styles - Same as other charts */
.chart-legend[b-t9rb3w400t] {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 8px;
}

    .chart-legend.skeleton[b-t9rb3w400t] {
        gap: 20px;
    }

.legend-item[b-t9rb3w400t] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-color[b-t9rb3w400t] {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    flex-shrink: 0;
}

.legend-text[b-t9rb3w400t] {
    font-size: 13px;
    color: #666;
}

/* No Data Container */
.no-data-container[b-t9rb3w400t] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    color: #666;
    font-size: 14px;
}

    .no-data-container p[b-t9rb3w400t] {
        margin: 0;
    }
/* /Components/Dashboard/TasksCard.razor.rz.scp.css */



.tasks-container[b-6y8gi91orb] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
   /* width: 100%;*/
   
}

.task-card[b-6y8gi91orb] {
    display: flex;
    flex-direction: column;
    padding: 12px;
    border-radius: 8px;
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    min-height: 105px;
    margin-bottom: 8px;
    overflow: hidden;
    cursor: pointer;
    position: relative;
}

.task-card:hover[b-6y8gi91orb] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.task-card.active[b-6y8gi91orb] {
    border: 3px solid #fff;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.task-card.active[b-6y8gi91orb]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.15);
    pointer-events: none;
}

.card-header[b-6y8gi91orb] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 10px;
}

.card-header h3[b-6y8gi91orb] {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    opacity: 0.95;
}

.icon-wrapper[b-6y8gi91orb] {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    min-height: 28px;
    color:white;
}

.icon[b-6y8gi91orb] {
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color:white;
}

.card-body[b-6y8gi91orb] {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: flex-end;
}

.value[b-6y8gi91orb] {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.5px;
    margin-bottom: 4px;
    color: #fff;
}

.meta[b-6y8gi91orb] {
    font-size: 11px;
    font-weight: 500;
    opacity: 0.9;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Card Background Colors */
.bg-new[b-6y8gi91orb] {
    background: linear-gradient(135deg, #3e7c5a 0%, #4a9068 100%);
}

.bg-changed[b-6y8gi91orb] {
    background: linear-gradient(135deg, #e6a32c 0%, #f0b750 100%);
}

.bg-overdue[b-6y8gi91orb] {
    background: linear-gradient(135deg, #dc3545 0%, #e74c5c 100%);
}

.bg-recent[b-6y8gi91orb] {
    background: linear-gradient(135deg, #28a745 0%, #34c759 100%);
}

/* Responsive Design */
@media (max-width: 1200px) {
    .tasks-container[b-6y8gi91orb] {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .tasks-container[b-6y8gi91orb] {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .task-card[b-6y8gi91orb] {
        padding: 20px;
        min-height: 160px;
    }

    .value[b-6y8gi91orb] {
        font-size: 40px;
    }
}

@media (max-width: 480px) {
    .task-card[b-6y8gi91orb] {
        padding: 18px;
    }

    .card-header h3[b-6y8gi91orb] {
        font-size: 16px;
    }

    .value[b-6y8gi91orb] {
        font-size: 36px;
    }
}
/* /Components/Dashboard/TasksCompletedCard.razor.rz.scp.css */
.panel[b-61vvd4520j] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
}

.card-header[b-61vvd4520j] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

    .card-header h5[b-61vvd4520j] {
        font-size: 16px;
        font-weight: 600;
        margin: 0;
        color: #333;
    }

.progress-container[b-61vvd4520j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
}

/* Circular Chart Styles */
.circular-chart-wrapper[b-61vvd4520j] {
    position: relative;
    margin-bottom: 20px;
}

.circular-chart[b-61vvd4520j] {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.inner-circle[b-61vvd4520j] {
    width: 90px;
    height: 90px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

    .inner-circle .percentage[b-61vvd4520j] {
        font-size: 24px;
        font-weight: 700;
        color: #333;
        line-height: 1.2;
    }

    .inner-circle .label[b-61vvd4520j] {
        font-size: 12px;
        color: #666;
    }

/* Status Labels */
.status-labels[b-61vvd4520j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.status-label[b-61vvd4520j] {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #333;
}

.status-dot[b-61vvd4520j] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}

    .status-dot.ontime[b-61vvd4520j] {
        background-color: #15803d;
    }

    .status-dot.overdue[b-61vvd4520j] {
        background-color: #ef4444;
    }

.status-label--ontime[b-61vvd4520j] {
    color: #15803d;
}

.status-label--overdue[b-61vvd4520j] {
    color: #ef4444;
}

/* Skeleton Styles */
.circular-chart-skeleton[b-61vvd4520j] {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.inner-skeleton[b-61vvd4520j] {
    position: absolute;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.status-skeleton[b-61vvd4520j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

/* No Data Container */
.no-data-container[b-61vvd4520j] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px;
    color: #666;
}
/* /Components/Dashboard/TimeRegistrationGraph.razor.rz.scp.css */
.time-registration-card[b-n6seui645w] {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    padding: 20px;
}

.card-header[b-n6seui645w] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.card-header-row h5[b-n6seui645w] {
    margin: 0;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-600);
}

.card-title[b-n6seui645w] {
    font-size: 16px;
    font-weight: 600;
    margin: 0;
}

.chart-container[b-n6seui645w] {
    display: flex;
    flex-direction: column;
    height: 250px;
}

/* Legend Styles */
.chart-legend[b-n6seui645w] {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-bottom: 16px;
}

.legend-item[b-n6seui645w] {
    display: flex;
    align-items: center;
    gap: 6px;
}

.legend-color[b-n6seui645w] {
    width: 12px;
    height: 12px;
    border-radius: 2px;
}

.legend-text[b-n6seui645w] {
    font-size: 14px;
    color: #666;
}

/* Chart Area Styles */
.chart-area[b-n6seui645w] {
    flex: 1;
    display: flex;
    flex-direction: column;
    position: relative;
}

.y-axis-label[b-n6seui645w] {
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-90deg);
    font-size: 12px;
    color: #666;
}

.bars-container[b-n6seui645w] {
    flex: 1;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    padding: 0 50px;
    margin-bottom: 8px;
}

.bar-group[b-n6seui645w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1px;
}

.stacked-bar[b-n6seui645w] {
    width: 40px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 4px 4px 0 0;
    overflow: hidden;
}

.bar-segment[b-n6seui645w] {
    width: 100%;
    transition: height 0.3s ease;
}

    .bar-segment.released[b-n6seui645w] {
        background-color: #15803d;
    }

    .bar-segment.done[b-n6seui645w] {
        background-color: #a8d08d;
    }

    .bar-segment.not-booked[b-n6seui645w] {
        background-color: #ef4444;
    }

.bar-label[b-n6seui645w] {
    font-size: 12px;
    color: #666;
    margin-top: 8px;
}

.x-axis-labels[b-n6seui645w] {
    display: flex;
    justify-content: space-around;
    padding: 0 50px;
    margin-bottom: 8px;
}

.x-axis-title[b-n6seui645w] {
    display: flex;
    justify-content: center;
    font-size: 12px;
    color: #666;
}

/* Hover Effects */
.bar-segment:hover[b-n6seui645w] {
    opacity: 0.8;
    cursor: pointer;
}

/* Tooltip on hover */
.bar-group:hover .stacked-bar[b-n6seui645w] {
    transform: scaleY(1.02);
    transition: transform 0.2s ease;
}
/* /Components/Dashboard/UserInfoCard.razor.rz.scp.css */
.user-info-card[b-zpyuew5mrt] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-xl);
    box-shadow: var(--shadow-sm);
    max-width: 600px;
}

.user-info-card h2[b-zpyuew5mrt] {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-gray-800);
    margin-bottom: var(--space-lg);
}

.info-grid[b-zpyuew5mrt] {
    display: grid;
    gap: var(--space-md);
}

.info-item[b-zpyuew5mrt] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-sm) 0;
    border-bottom: 1px solid var(--color-gray-100);
}

.info-item:last-child[b-zpyuew5mrt] {
    border-bottom: none;
}

.info-label[b-zpyuew5mrt] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-600);
}

.info-value[b-zpyuew5mrt] {
    font-size: var(--text-base);
    color: var(--color-gray-800);
    font-weight: 500;
}
/* /Components/Helpers/ErrorMessage.razor.rz.scp.css */
.error-message[b-l7bs0ewwqm] {
    background: #fee;
    border: 1px solid #fcc;
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    color: #c33;
    max-width: 600px;
}

.error-message strong[b-l7bs0ewwqm] {
    display: block;
    margin-bottom: var(--space-sm);
    font-size: var(--text-base);
}

.error-message p[b-l7bs0ewwqm] {
    margin: var(--space-xs) 0;
    font-size: var(--text-sm);
}
/* /Components/Helpers/LoadingMessage.razor.rz.scp.css */
.loading[b-mi92skxy3q] {
    font-size: var(--text-base);
    color: var(--color-gray-500);
    padding: var(--space-xl);
}
/* /Components/Lists/Installations/CreateProjectDialog.razor.rz.scp.css */
/* ── Dialog container ─────────────────────────────────── */
.create-project-dialog[b-19vt5y5wgm] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: var(--text-sm, 13px);
}

.dialog-loading[b-19vt5y5wgm] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 24px;
    justify-content: center;
    color: var(--color-gray-600, #4b5563);
    font-size: 0.82rem;
}

/* ── Form layout ─────────────────────────────────────── */
.dialog-form[b-19vt5y5wgm] {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.form-field[b-19vt5y5wgm] {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: start;
    gap: 8px;
}

.form-field label[b-19vt5y5wgm] {
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--color-gray-600, #4b5563);
    padding-top: 6px;
}

.form-control[b-19vt5y5wgm] {
    padding: 6px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 4px;
    font-size: 0.82rem;
    color: var(--color-gray-800, #1f2937);
    background: white;
    width: 100%;
    box-sizing: border-box;
}

.form-control:focus[b-19vt5y5wgm] {
    outline: none;
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.form-textarea[b-19vt5y5wgm] {
    min-height: 60px;
    resize: vertical;
    font-family: inherit;
}

/* ── Team section ────────────────────────────────────── */
.team-section[b-19vt5y5wgm] {
    margin-top: 4px;
}

.team-header[b-19vt5y5wgm] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.team-label[b-19vt5y5wgm] {
    font-size: 0.74rem;
    font-weight: 600;
    color: var(--color-gray-600, #4b5563);
}

.btn-add-member[b-19vt5y5wgm] {
    padding: 3px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 4px;
    font-size: 0.7rem;
    cursor: pointer;
    color: var(--color-primary, #2563eb);
}

.btn-add-member:hover[b-19vt5y5wgm] {
    background: var(--color-gray-50, #f9fafb);
}

.team-member-row[b-19vt5y5wgm] {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 6px;
    margin-bottom: 6px;
}

.btn-remove-member[b-19vt5y5wgm] {
    padding: 4px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 4px;
    font-size: 0.72rem;
    cursor: pointer;
    color: #dc2626;
}

.btn-remove-member:hover[b-19vt5y5wgm] {
    background: #fee2e2;
}

/* ── Error ───────────────────────────────────────────── */
.error-message[b-19vt5y5wgm] {
    padding: 8px 12px;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 4px;
    color: #dc2626;
    font-size: 0.76rem;
}

/* ── Footer ──────────────────────────────────────────── */
.dialog-footer[b-19vt5y5wgm] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 8px;
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
}

.btn-secondary[b-19vt5y5wgm] {
    padding: 6px 14px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--color-gray-700, #374151);
}

.btn-secondary:hover[b-19vt5y5wgm] {
    background: var(--color-gray-100, #f3f4f6);
}

.btn-primary[b-19vt5y5wgm] {
    padding: 6px 14px;
    border: none;
    background: var(--color-primary, #2563eb);
    color: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
}

.btn-primary:hover:not(:disabled)[b-19vt5y5wgm] {
    background: var(--color-primary-dark, #1d4ed8);
}

.btn-primary:disabled[b-19vt5y5wgm] {
    opacity: 0.5;
    cursor: not-allowed;
}
/* /Components/Lists/Installations/InstallationDetails.razor.rz.scp.css */
/* ── Outer shell ─────────────────────────────────────── */
.installation-details-container[b-ruqqdfrn4w] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    font-size: var(--text-sm, 13px);
}

/* ── Two-column layout ───────────────────────────────── */
.installation-details-layout[b-ruqqdfrn4w] {
    display: grid;
    grid-template-columns: 280px 1fr;
    flex: 1;
    min-height: 0;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

/* ── Left: structure panel (styles in StructurePanel.razor.css) ── */
.tree-skeleton-row[b-ruqqdfrn4w] {
    padding: 5px 12px;
}

/* ── Right: detail panel ─────────────────────────────── */
.details-panel[b-ruqqdfrn4w] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.details-panel-header[b-ruqqdfrn4w] {
    padding: 10px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--color-gray-800, #1f2937);
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

/* ── Tabs ────────────────────────────────────────────── */
.details-tabs[b-ruqqdfrn4w] {
    display: flex;
    gap: 0;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
    background: white;
}

.tab-button[b-ruqqdfrn4w] {
    padding: 8px 16px;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--color-gray-600, #4b5563);
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.tab-button:hover[b-ruqqdfrn4w] {
    color: var(--color-primary, #2563eb);
}

.tab-button.active[b-ruqqdfrn4w] {
    color: var(--color-primary, #2563eb);
    border-bottom-color: var(--color-primary, #2563eb);
    font-weight: 600;
}

/* ── Tab content ─────────────────────────────────────── */
.tab-content[b-ruqqdfrn4w] {
    flex: 1;
    overflow-y: auto;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form-field[b-ruqqdfrn4w] {
    display: grid;
    grid-template-columns: 130px 1fr;
    align-items: center;
    gap: 8px;
}

.form-field label[b-ruqqdfrn4w] {
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-gray-500, #6b7280);
    white-space: nowrap;
}

.form-control[b-ruqqdfrn4w] {
    padding: 5px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 4px;
    font-size: 0.82rem;
    color: var(--color-gray-800, #1f2937);
    background: white;
    width: 100%;
    box-sizing: border-box;
}

.form-control[readonly][b-ruqqdfrn4w] {
    background: var(--color-gray-50, #f9fafb);
}

.idm-field[b-ruqqdfrn4w] {
    display: flex;
    gap: 6px;
    align-items: center;
}

.idm-field .form-control[b-ruqqdfrn4w] {
    flex: 1;
}

.btn-idm-open[b-ruqqdfrn4w] {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: var(--color-primary, #2563eb);
    color: white;
    border-radius: 4px;
    text-decoration: none;
    font-size: 1rem;
}

.btn-idm-open:hover[b-ruqqdfrn4w] {
    background: var(--color-primary-dark, #1d4ed8);
}

.tab-placeholder[b-ruqqdfrn4w] {
    color: var(--color-gray-500, #9ca3af);
    font-size: 0.82rem;
    padding: 12px 0;
}

/* ── Footer ──────────────────────────────────────────── */
.details-footer[b-ruqqdfrn4w] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
    background: var(--color-gray-50, #f9fafb);
}

.btn-secondary[b-ruqqdfrn4w] {
    padding: 6px 16px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.82rem;
    color: var(--color-gray-700, #374151);
}

.btn-secondary:hover[b-ruqqdfrn4w] {
    background: var(--color-gray-100, #f3f4f6);
}

/* ── Error / load state ──────────────────────────────── */
.load-error[b-ruqqdfrn4w] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    gap: 12px;
    color: var(--color-danger, #dc2626);
    font-size: 0.85rem;
}
/* /Components/Lists/Installations/InstallationTasksTab.razor.rz.scp.css */
/* ── Outer shell ────────────────────────────────────────── */
.tasks-tab[b-hrm8ceuu9a] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Loading / empty states ─────────────────────────────── */
.tasks-msg[b-hrm8ceuu9a] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-gray-500, #6b7280);
    font-size: 0.8rem;
    padding: 12px 0;
}

/* ── Scroll container (both axes) ───────────────────────── */
.tasks-scroll[b-hrm8ceuu9a] {
    overflow: auto;
    max-height: 620px;
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 4px 4px 0 0;
}

/* ── Table ──────────────────────────────────────────────── */
.tasks-table[b-hrm8ceuu9a] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
    white-space: nowrap;
}

.tasks-table thead th[b-hrm8ceuu9a] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--color-gray-50, #f9fafb);
    padding: 5px 8px;
    text-align: left;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-gray-500, #6b7280);
    border-bottom: 2px solid var(--color-gray-200, #e2e8f0);
    white-space: nowrap;
}

.tasks-table td[b-hrm8ceuu9a] {
    padding: 3px 8px;
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    vertical-align: middle;
    line-height: 1.4;
}

.tasks-table tbody tr:last-child td[b-hrm8ceuu9a] { border-bottom: none; }

.tasks-table tbody tr:hover td[b-hrm8ceuu9a] {
    background: #eff6ff;
}

.tasks-table tbody tr.clickable-row[b-hrm8ceuu9a] {
    cursor: pointer;
}

/* ── Column sizing ──────────────────────────────────────── */
.th-status[b-hrm8ceuu9a], .td-status[b-hrm8ceuu9a] { width: 22px; padding: 3px 4px; text-align: center; }
.th-id[b-hrm8ceuu9a],     .td-id[b-hrm8ceuu9a]     { width: 56px; font-family: monospace; font-size: 0.67rem; color: var(--color-gray-400, #9ca3af); }
.th-num[b-hrm8ceuu9a],    .td-num[b-hrm8ceuu9a]    { text-align: right; padding-right: 10px; font-variant-numeric: tabular-nums; }
.td-date[b-hrm8ceuu9a]               { font-size: 0.67rem; font-variant-numeric: tabular-nums; }
.td-name[b-hrm8ceuu9a]               { max-width: 170px; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.td-desc[b-hrm8ceuu9a]               { max-width: 150px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }
.td-person[b-hrm8ceuu9a]             { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
.td-type[b-hrm8ceuu9a]               { max-width: 130px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }

/* ── State dot (status column indicator) ───────────────── */
.state-dot[b-hrm8ceuu9a] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
}
.state-dot--new[b-hrm8ceuu9a]     { background: #9ca3af; }
.state-dot--active[b-hrm8ceuu9a]  { background: #3b82f6; }
.state-dot--done[b-hrm8ceuu9a]    { background: #10b981; }
.state-dot--hold[b-hrm8ceuu9a]    { background: #f59e0b; }
.state-dot--unknown[b-hrm8ceuu9a] { background: #d1d5db; }

/* ── Task status badge ──────────────────────────────────── */
.status-badge[b-hrm8ceuu9a] {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 10px;
    font-size: 0.63rem;
    font-weight: 700;
    white-space: nowrap;
}
.status-badge--new[b-hrm8ceuu9a]     { background: #f3f4f6; color: #4b5563; }
.status-badge--active[b-hrm8ceuu9a]  { background: #dbeafe; color: #1d4ed8; }
.status-badge--done[b-hrm8ceuu9a]    { background: #d1fae5; color: #065f46; }
.status-badge--hold[b-hrm8ceuu9a]    { background: #fef3c7; color: #92400e; }
.status-badge--unknown[b-hrm8ceuu9a] { background: #f3f4f6; color: #6b7280; }

/* ── Schedule badge ─────────────────────────────────────── */
.sched-badge[b-hrm8ceuu9a] {
    font-size: 0.63rem;
    font-weight: 600;
    white-space: nowrap;
}
.sched-badge--ontime[b-hrm8ceuu9a]  { color: #065f46; }
.sched-badge--overdue[b-hrm8ceuu9a] { color: #991b1b; }
.sched-badge--none[b-hrm8ceuu9a]    { color: #9ca3af; }

/* ── Summary footer ─────────────────────────────────────── */
.tasks-summary[b-hrm8ceuu9a] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 6px 12px;
    background: var(--color-gray-50, #f9fafb);
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-top: none;
    border-radius: 0 0 4px 4px;
    font-size: 0.7rem;
    color: var(--color-gray-600, #4b5563);
}

.summary-label[b-hrm8ceuu9a] {
    font-weight: 700;
    color: var(--color-gray-700, #374151);
}

.summary-sep[b-hrm8ceuu9a] {
    color: var(--color-gray-300, #d1d5db);
}

.progress-wrap[b-hrm8ceuu9a] {
    width: 76px;
    height: 9px;
    background: var(--color-gray-200, #e5e7eb);
    border-radius: 5px;
    overflow: hidden;
}

.progress-fill[b-hrm8ceuu9a] {
    height: 100%;
    background: #22c55e;
    border-radius: 5px;
    transition: width 0.4s ease;
}

.progress-pct[b-hrm8ceuu9a] {
    font-weight: 700;
    color: var(--color-gray-700, #374151);
    min-width: 30px;
}

/* ── Skeleton loading ───────────────────────────────────── */
@keyframes skel-shimmer-b-hrm8ceuu9a {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}

.skel-block[b-hrm8ceuu9a] {
    display: inline-block;
    height: 10px;
    width: 60px;
    border-radius: 4px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 800px 100%;
    animation: skel-shimmer-b-hrm8ceuu9a 1.4s ease-in-out infinite;
}

.skel-block.skel-narrow[b-hrm8ceuu9a] { width: 38px; }
.skel-block.skel-wide[b-hrm8ceuu9a]   { width: 100px; }
.skel-block.skel-badge[b-hrm8ceuu9a]  { width: 56px; height: 14px; border-radius: 8px; }

.skel-dot[b-hrm8ceuu9a] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 800px 100%;
    animation: skel-shimmer-b-hrm8ceuu9a 1.4s ease-in-out infinite;
}
/* /Components/Lists/Installations/NewInstallationDialog.razor.rz.scp.css */
.new-installation-dialog[b-zlpskx4676] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 2px;
}

/* ── Field ───────────────────────────────────────────── */
.nid-field[b-zlpskx4676] {
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    gap: 8px;
}

.nid-field label[b-zlpskx4676] {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--color-gray-700, #374151);
    padding-top: 2px;
}

.nid-required[b-zlpskx4676] {
    color: #ef4444;
    margin-left: 1px;
}

/* ── Inputs ──────────────────────────────────────────── */
.nid-input[b-zlpskx4676] {
    padding: 5px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 3px;
    font-size: 0.82rem;
    color: var(--color-gray-900, #111827);
    background: white;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.nid-input:focus[b-zlpskx4676] {
    outline: none;
    border-color: var(--color-blue-500, #3b82f6);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

/* ── Error ───────────────────────────────────────────── */
.nid-error[b-zlpskx4676] {
    font-size: 0.78rem;
    color: #dc2626;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 3px;
    padding: 6px 10px;
}

/* ── Footer ──────────────────────────────────────────── */
.nid-footer[b-zlpskx4676] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
}

.nid-btn[b-zlpskx4676] {
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 0.82rem;
    font-weight: 500;
    cursor: pointer;
    border: none;
    font-family: inherit;
    transition: background 0.15s;
}

.nid-btn:disabled[b-zlpskx4676] {
    opacity: 0.55;
    cursor: not-allowed;
}

.nid-btn--primary[b-zlpskx4676] {
    background: var(--color-primary, #2563eb);
    color: white;
}

.nid-btn--primary:hover:not(:disabled)[b-zlpskx4676] {
    background: var(--color-primary-dark, #1d4ed8);
}

.nid-btn--cancel[b-zlpskx4676] {
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    border: 1px solid var(--color-gray-300, #d1d5db);
}

.nid-btn--cancel:hover:not(:disabled)[b-zlpskx4676] {
    background: var(--color-gray-200, #e5e7eb);
}
/* /Components/Lists/Messages/ComposeDialog.razor.rz.scp.css */
.compose-dialog[b-kzl6pgcf0x] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    padding: var(--space-lg);
    min-width: 520px;
}

.compose-type-row[b-kzl6pgcf0x] {
    display: flex;
    gap: var(--space-sm);
    padding-bottom: var(--space-md);
    border-bottom: 1px solid var(--color-gray-200);
}

.type-btn[b-kzl6pgcf0x] {
    padding: var(--space-xs) var(--space-lg);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    background: white;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-600);
    cursor: pointer;
    transition: all 0.15s;
}

.type-btn:hover[b-kzl6pgcf0x] {
    border-color: var(--color-primary);
    color: var(--color-primary);
}

.type-btn.active[b-kzl6pgcf0x] {
    background: var(--color-primary);
    border-color: var(--color-primary);
    color: white;
    font-weight: 600;
}

.compose-error[b-kzl6pgcf0x] {
    padding: var(--space-sm) var(--space-md);
    background: #fee2e2;
    color: #991b1b;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.compose-success[b-kzl6pgcf0x] {
    padding: var(--space-sm) var(--space-md);
    background: #dcfce7;
    color: #15803d;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.compose-field[b-kzl6pgcf0x] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.compose-field-row[b-kzl6pgcf0x] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
}

.compose-label[b-kzl6pgcf0x] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-700);
}

.required[b-kzl6pgcf0x] {
    color: var(--color-danger, #dc2626);
}

.compose-input[b-kzl6pgcf0x],
.compose-select[b-kzl6pgcf0x],
.compose-textarea[b-kzl6pgcf0x] {
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--color-gray-900);
    background: white;
    transition: border-color 0.15s, box-shadow 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.compose-input:focus[b-kzl6pgcf0x],
.compose-select:focus[b-kzl6pgcf0x],
.compose-textarea:focus[b-kzl6pgcf0x] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.compose-textarea[b-kzl6pgcf0x] {
    resize: vertical;
    min-height: 120px;
    font-family: inherit;
}

.compose-footer[b-kzl6pgcf0x] {
    display: flex;
    justify-content: flex-end;
    gap: var(--space-sm);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-gray-200);
}

.btn-cancel[b-kzl6pgcf0x] {
    padding: var(--space-sm) var(--space-lg);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    background: white;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-cancel:hover:not(:disabled)[b-kzl6pgcf0x] {
    background: var(--color-gray-50);
}

.btn-send[b-kzl6pgcf0x] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-xl);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-send:hover:not(:disabled)[b-kzl6pgcf0x] {
    background: var(--color-primary-dark);
}

.btn-send:disabled[b-kzl6pgcf0x],
.btn-cancel:disabled[b-kzl6pgcf0x] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-spinner[b-kzl6pgcf0x] {
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-kzl6pgcf0x 0.7s linear infinite;
    display: inline-block;
}

@keyframes spin-b-kzl6pgcf0x {
    to { transform: rotate(360deg); }
}

/* ── User picker ── */
.label-hint[b-kzl6pgcf0x] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    font-weight: 400;
}

.selected-user-row[b-kzl6pgcf0x] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    padding: var(--space-sm) var(--space-md);
}

.selected-user-badge[b-kzl6pgcf0x] {
    flex: 1;
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.sel-name[b-kzl6pgcf0x] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-800);
}

.sel-id[b-kzl6pgcf0x] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    background: var(--color-gray-200);
    border-radius: 10px;
    padding: 1px 7px;
}

.btn-change-user[b-kzl6pgcf0x] {
    padding: 3px var(--space-sm);
    background: white;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    color: var(--color-primary);
    cursor: pointer;
    font-weight: 600;
    white-space: nowrap;
    transition: all 0.15s;
}
.btn-change-user:hover[b-kzl6pgcf0x] {
    background: #eff6ff;
    border-color: var(--color-primary);
}

.user-picker-wrap[b-kzl6pgcf0x] {
    position: relative;
}

.user-dropdown[b-kzl6pgcf0x] {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    max-height: 220px;
    overflow-y: auto;
    z-index: 100;
}

.user-option[b-kzl6pgcf0x] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-md);
    cursor: pointer;
    transition: background 0.1s;
    border-bottom: 1px solid var(--color-gray-50);
}
.user-option:last-child[b-kzl6pgcf0x] { border-bottom: none; }
.user-option:hover[b-kzl6pgcf0x] { background: #eff6ff; }

.uo-name[b-kzl6pgcf0x] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-800);
}

.uo-id[b-kzl6pgcf0x] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
}

.user-option-empty[b-kzl6pgcf0x] {
    padding: var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-gray-400);
    text-align: center;
}
/* /Components/Lists/Messages/MessageDetailDialog.razor.rz.scp.css */
.msg-detail-dialog[b-rik8obabqa] {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-width: 600px;
}

/* Thread header */
.thread-header[b-rik8obabqa] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
    flex-shrink: 0;
}

.thread-header-left[b-rik8obabqa] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-wrap: wrap;
}

.thread-subject[b-rik8obabqa] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-900);
}

/* Thread body (scrollable) */
.msg-detail-body[b-rik8obabqa] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

/* Individual thread message */
.thread-message[b-rik8obabqa] {
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: white;
    padding: var(--space-md) var(--space-lg);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.thread-message.is-reply[b-rik8obabqa] {
    border-left: 3px solid var(--color-primary);
    background: #f8faff;
    margin-left: var(--space-xl);
}

.thread-msg-header[b-rik8obabqa] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-sm);
}

.thread-msg-sender[b-rik8obabqa] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-900);
}

.thread-msg-type-badge[b-rik8obabqa] {
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--color-gray-500);
    background: var(--color-gray-100);
    padding: 1px 6px;
    border-radius: var(--radius-sm);
}

.thread-msg-date[b-rik8obabqa] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    margin-left: auto;
}

.thread-msg-content[b-rik8obabqa] {
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    white-space: pre-wrap;
    line-height: 1.6;
}

/* Skeleton loading */
.thread-message-skeleton[b-rik8obabqa] {
    padding: var(--space-md) var(--space-lg);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    background: white;
}

/* Error */
.msg-error[b-rik8obabqa] {
    padding: var(--space-sm) var(--space-md);
    background: #fee2e2;
    color: #991b1b;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

/* Reply section */
.reply-section[b-rik8obabqa] {
    border-top: 1px solid var(--color-gray-200);
    padding: var(--space-md) var(--space-lg);
    background: var(--color-gray-50);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.reply-label[b-rik8obabqa] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-700);
}

.reply-textarea[b-rik8obabqa] {
    width: 100%;
    box-sizing: border-box;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-family: inherit;
    resize: vertical;
    min-height: 80px;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.reply-textarea:focus[b-rik8obabqa] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.reply-actions[b-rik8obabqa] {
    display: flex;
    justify-content: flex-end;
}

.btn-reply-send[b-rik8obabqa] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-reply-send:hover:not(:disabled)[b-rik8obabqa] {
    background: var(--color-primary-dark);
}

.btn-reply-send:disabled[b-rik8obabqa] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Resolved banner */
.resolved-banner[b-rik8obabqa] {
    border-top: 1px solid var(--color-gray-200);
    padding: var(--space-md) var(--space-lg);
    background: #f0fdf4;
    color: #15803d;
    font-size: var(--text-sm);
    font-weight: 500;
    text-align: center;
    flex-shrink: 0;
}

/* Footer */
.msg-detail-footer[b-rik8obabqa] {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-md) var(--space-lg);
    border-top: 1px solid var(--color-gray-200);
    flex-shrink: 0;
}

.btn-resolve[b-rik8obabqa] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-sm) var(--space-lg);
    background: #16a34a;
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-resolve:hover:not(:disabled)[b-rik8obabqa] {
    background: #15803d;
}

.btn-resolve:disabled[b-rik8obabqa] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-dialog-close[b-rik8obabqa] {
    padding: var(--space-sm) var(--space-lg);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    background: white;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
    cursor: pointer;
    transition: background-color 0.15s;
}

.btn-dialog-close:hover[b-rik8obabqa] {
    background: var(--color-gray-50);
}

/* Badges (shared) */
.badge[b-rik8obabqa] {
    padding: 2px var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-block;
}

.badge.open[b-rik8obabqa] { background: #dbeafe; color: #1d4ed8; }
.badge.pending[b-rik8obabqa] { background: #fef3c7; color: #b45309; }
.badge.resolved[b-rik8obabqa] { background: #dcfce7; color: #15803d; }
.badge.closed[b-rik8obabqa] { background: var(--color-gray-100); color: var(--color-gray-600); }
.badge.unknown[b-rik8obabqa] { background: var(--color-gray-100); color: var(--color-gray-600); }

.badge.priority-critical[b-rik8obabqa] { background: #fee2e2; color: #991b1b; }
.badge.priority-high[b-rik8obabqa] { background: #ffedd5; color: #9a3412; }
.badge.priority-medium[b-rik8obabqa] { background: #fef3c7; color: #b45309; }
.badge.priority-low[b-rik8obabqa] { background: #f0fdf4; color: #166534; }
.badge.priority-normal[b-rik8obabqa] { background: var(--color-gray-100); color: var(--color-gray-600); }

/* Spinner */
.btn-spinner[b-rik8obabqa],
.resolve-spinner[b-rik8obabqa] {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(255, 255, 255, 0.4);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-rik8obabqa 0.7s linear infinite;
    display: inline-block;
}

@keyframes spin-b-rik8obabqa {
    to { transform: rotate(360deg); }
}
/* /Components/Lists/Milestones/MilestoneDependenciesTab.razor.rz.scp.css */
.dependencies-section[b-oixxmpz1mw] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.section-title[b-oixxmpz1mw] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-gray-700);
    margin: 0 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-gray-200);
}

.section-toolbar[b-oixxmpz1mw] {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.toolbar-btn[b-oixxmpz1mw] {
    padding: 3px 10px;
    font-size: 0.72rem;
    background: var(--color-gray-100);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--color-gray-700);
    min-width: 26px;
    text-align: center;
}

.toolbar-btn:hover:not(:disabled)[b-oixxmpz1mw] { background: var(--color-gray-200); }

.toolbar-btn:disabled[b-oixxmpz1mw] {
    opacity: 0.5;
    cursor: not-allowed;
}

.toolbar-btn--text[b-oixxmpz1mw] {
    padding: 3px 12px;
}

.dep-table[b-oixxmpz1mw] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.dep-table th[b-oixxmpz1mw] {
    text-align: left;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.dep-table td[b-oixxmpz1mw] {
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-100);
    color: var(--color-gray-800);
}

.th-id[b-oixxmpz1mw] { width: 60px; }

.td-id[b-oixxmpz1mw] {
    color: var(--color-gray-500);
    font-variant-numeric: tabular-nums;
}

.empty-cell[b-oixxmpz1mw] {
    color: var(--color-gray-400);
    font-style: italic;
    text-align: center;
    padding: 16px 8px !important;
}
/* /Components/Lists/Milestones/MilestoneDetails.razor.rz.scp.css */
.ms-details-container[b-j3vz2bsauk] {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* ---- Header: Name + Description above tabs ---- */
.ms-header[b-j3vz2bsauk] {
    padding: 12px 14px 8px;
    background: white;
    border-bottom: 1px solid var(--color-gray-200);
}

.header-row[b-j3vz2bsauk] {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.header-row--desc[b-j3vz2bsauk] {
    align-items: flex-start;
}

.header-label[b-j3vz2bsauk] {
    flex-shrink: 0;
    width: 80px;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--color-gray-600);
}

.form-control[b-j3vz2bsauk] {
    flex: 1;
    padding: 5px 8px;
    font-size: 0.78rem;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    background: var(--color-gray-50);
    color: var(--color-gray-800);
}

.form-textarea[b-j3vz2bsauk] {
    min-height: 48px;
    resize: vertical;
    font-family: inherit;
}

/* ---- Tabs ---- */
.details-tabs[b-j3vz2bsauk] {
    display: flex;
    border-bottom: 2px solid var(--color-gray-200);
    background: white;
    padding: 0 14px;
}

.tab-button[b-j3vz2bsauk] {
    padding: 7px 16px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    cursor: pointer;
    font-size: 0.75rem;
    color: var(--color-gray-600);
    margin-bottom: -2px;
    transition: color 0.15s, border-color 0.15s;
    white-space: nowrap;
}

.tab-button:hover[b-j3vz2bsauk] { color: var(--color-primary); }

.tab-button.active[b-j3vz2bsauk] {
    color: var(--color-primary);
    border-bottom-color: var(--color-primary);
    font-weight: 600;
}

/* ---- Tab content ---- */
.tab-content[b-j3vz2bsauk] {
    flex: 1;
    padding: 14px;
    overflow-y: auto;
}

.placeholder-tab[b-j3vz2bsauk] {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
}

.placeholder-text[b-j3vz2bsauk] {
    color: var(--color-gray-500);
    font-size: 0.8rem;
    font-style: italic;
}

/* ---- Error ---- */
.load-error[b-j3vz2bsauk] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-danger);
    font-size: 0.85rem;
}

/* ---- Footer ---- */
.details-footer[b-j3vz2bsauk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border-top: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.footer-left[b-j3vz2bsauk],
.footer-right[b-j3vz2bsauk] {
    display: flex;
    gap: 6px;
}

.btn-dialog-close[b-j3vz2bsauk] {
    padding: 6px 20px;
    background: var(--color-gray-200);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.78rem;
    transition: background-color 0.15s;
}

.btn-dialog-close:hover[b-j3vz2bsauk] { background: var(--color-gray-300); }

.btn-footer[b-j3vz2bsauk] {
    padding: 6px 20px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.78rem;
    border: 1px solid var(--color-gray-300);
    transition: background-color 0.15s;
}

.btn-footer--secondary[b-j3vz2bsauk] {
    background: var(--color-gray-200);
    color: var(--color-gray-700);
}

.btn-footer--secondary:hover:not(:disabled)[b-j3vz2bsauk] { background: var(--color-gray-300); }

.btn-footer--primary[b-j3vz2bsauk] {
    background: var(--color-primary, #2563eb);
    color: white;
    border-color: var(--color-primary, #2563eb);
}

.btn-footer--primary:hover:not(:disabled)[b-j3vz2bsauk] {
    background: var(--color-primary-dark, #1d4ed8);
}

.btn-footer:disabled[b-j3vz2bsauk],
.btn-footer--primary:disabled[b-j3vz2bsauk] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* ---- Footer action buttons (matching task style) ---- */
.btn-primary[b-j3vz2bsauk],
.btn-secondary[b-j3vz2bsauk] {
    padding: 0.3rem 0.75rem;
    border-radius: 5px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
    border: 1px solid transparent;
    white-space: nowrap;
}

.btn-primary[b-j3vz2bsauk] {
    background: var(--color-primary, #1e5631);
    color: white;
    border-color: var(--color-primary, #1e5631);
}

.btn-primary:hover:not(:disabled)[b-j3vz2bsauk] {
    background: var(--color-primary-dark, #1a4a2a);
    box-shadow: 0 1px 4px rgba(30, 86, 49, 0.25);
}

.btn-secondary[b-j3vz2bsauk] {
    background: white;
    color: #4a5568;
    border-color: #cbd5e0;
}

.btn-secondary:hover:not(:disabled)[b-j3vz2bsauk] {
    background: #edf2f7;
    border-color: #a0aec0;
}

.btn-primary:disabled[b-j3vz2bsauk],
.btn-secondary:disabled[b-j3vz2bsauk] {
    opacity: 0.5;
    cursor: not-allowed;
}

.form-field[b-j3vz2bsauk] {
    margin-bottom: 10px;
}
/* /Components/Lists/Milestones/MilestoneGeneralTab.razor.rz.scp.css */
/* Split: Milestone fields left, SAP right */
.details-split[b-594dl5zjs1] {
    display: flex;
    gap: 16px;
    height: 100%;
}

.field-group[b-594dl5zjs1] {
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    padding: 10px 12px;
    margin: 0;
}

.field-group legend[b-594dl5zjs1] {
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--color-gray-600);
    padding: 0 4px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.field-group:first-child[b-594dl5zjs1] {
    flex: 1;
}

.field-group--sap[b-594dl5zjs1] {
    width: 280px;
    flex-shrink: 0;
}

.form-row[b-594dl5zjs1] {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.form-row label[b-594dl5zjs1] {
    flex-shrink: 0;
    width: 100px;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-gray-600);
}

.form-control[b-594dl5zjs1] {
    flex: 1;
    padding: 4px 8px;
    font-size: 0.78rem;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    background: var(--color-gray-50);
    color: var(--color-gray-800);
}

.form-select[b-594dl5zjs1] {
    appearance: auto;
    cursor: pointer;
    background: white;
}

.form-control--date[b-594dl5zjs1] {
    max-width: 120px;
    flex: unset;
}

.form-control--lag[b-594dl5zjs1] {
    max-width: 50px;
    flex: unset;
    text-align: center;
}

.form-control--disabled[b-594dl5zjs1] {
    background: var(--color-gray-100);
    color: var(--color-gray-400);
    cursor: not-allowed;
}

.date-group[b-594dl5zjs1] {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 1;
}

.date-ref[b-594dl5zjs1] {
    font-size: 0.68rem;
    color: var(--color-gray-500);
    white-space: nowrap;
}

/* Ref/Lag buttons (matching TaskDetailsTab) */
.btn-ref-action[b-594dl5zjs1] {
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--color-gray-300);
    border-radius: 50%;
    background: white;
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    transition: background-color 0.15s;
}

.btn-ref-add[b-594dl5zjs1] {
    color: #16a34a;
}

.btn-ref-add:hover[b-594dl5zjs1] {
    background: #dcfce7;
}

.btn-ref-remove[b-594dl5zjs1] {
    color: #dc2626;
}

.btn-ref-remove:hover:not(:disabled)[b-594dl5zjs1] {
    background: #fee2e2;
}

.btn-ref-action:disabled[b-594dl5zjs1] {
    opacity: 0.4;
    cursor: not-allowed;
}

/* SAP section */
.sap-actions[b-594dl5zjs1] {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--color-gray-100);
}

.sap-link[b-594dl5zjs1] {
    font-size: 0.72rem;
    color: var(--color-primary, #2563eb);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 3px;
    transition: opacity 0.15s;
}

.sap-link:hover[b-594dl5zjs1] {
    opacity: 0.75;
}

.sap-icon[b-594dl5zjs1] {
    font-size: 0.8rem;
}

.sap-table[b-594dl5zjs1] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
}

.sap-table th[b-594dl5zjs1] {
    text-align: left;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.sap-table td[b-594dl5zjs1] {
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-100);
    color: var(--color-gray-800);
}

.empty-cell[b-594dl5zjs1] {
    color: var(--color-gray-400);
    font-style: italic;
    text-align: center;
}
/* /Components/Lists/Milestones/MilestoneHistory.razor.rz.scp.css */
.history-container[b-o9hu53dhop] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    font-size: var(--text-sm, 13px);
}

/* Meta section (Object type / Object ID) */
.history-meta[b-o9hu53dhop] {
    padding: 10px 16px 6px;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

.history-meta-row[b-o9hu53dhop] {
    display: flex;
    gap: 16px;
    align-items: baseline;
    line-height: 1.8;
}

.history-meta-label[b-o9hu53dhop] {
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    min-width: 90px;
}

.history-meta-value[b-o9hu53dhop] {
    color: var(--color-gray-900, #111827);
}

/* "Change log" sub-heading */
.history-log-label[b-o9hu53dhop] {
    padding: 8px 16px 4px;
    font-weight: 600;
    font-size: var(--text-sm, 13px);
    color: var(--color-gray-700, #374151);
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

/* Table wrapper */
.history-table-wrap[b-o9hu53dhop] {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px;
}

.history-table[b-o9hu53dhop] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm, 13px);
}

.history-table thead th[b-o9hu53dhop] {
    position: sticky;
    top: 0;
    background: white;
    padding: 8px 10px 4px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    border-bottom: 2px solid var(--color-gray-200, #e5e7eb);
    white-space: nowrap;
    z-index: 1;
}

.history-filter-row th[b-o9hu53dhop] {
    background: white;
    padding: 4px 6px 8px;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

.history-filter-input[b-o9hu53dhop] {
    width: 100%;
    padding: 3px 6px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 4px;
    font-size: var(--text-xs, 12px);
    color: var(--color-gray-700, #374151);
    background: white;
    box-sizing: border-box;
}

.history-filter-input:focus[b-o9hu53dhop] {
    outline: none;
    border-color: var(--color-primary, #1e5631);
}

.history-table tbody tr[b-o9hu53dhop] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    transition: background 0.1s;
}

.history-table tbody tr:hover[b-o9hu53dhop] {
    background: var(--color-gray-50, #f9fafb);
}

.history-table td[b-o9hu53dhop] {
    padding: 7px 10px;
    color: var(--color-gray-800, #1f2937);
    vertical-align: middle;
}

.history-user[b-o9hu53dhop] {
    color: var(--color-primary, #1e5631) !important;
    font-weight: 500;
}

.history-notes-badge[b-o9hu53dhop] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    font-size: var(--text-xs, 12px);
    font-weight: 500;
}

.history-mono[b-o9hu53dhop] {
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: var(--text-xs, 12px);
    color: var(--color-gray-600, #4b5563) !important;
}

/* Loading skeletons */
.history-loading[b-o9hu53dhop] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.history-skeleton-row[b-o9hu53dhop] {
    display: flex;
    gap: 24px;
    align-items: center;
}

/* Empty state */
.history-empty[b-o9hu53dhop] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-500, #6b7280);
    font-size: var(--text-sm, 13px);
    padding: 40px;
}

/* Footer */
.history-footer[b-o9hu53dhop] {
    display: flex;
    justify-content: flex-end;
    padding: 10px 16px;
    border-top: 1px solid var(--color-gray-200, #e5e7eb);
}

.btn-history-close[b-o9hu53dhop] {
    padding: 6px 20px;
    background: white;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: var(--radius-md, 6px);
    font-size: var(--text-sm, 13px);
    font-weight: 500;
    color: var(--color-gray-700, #374151);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.btn-history-close:hover[b-o9hu53dhop] {
    background: var(--color-gray-50, #f9fafb);
    border-color: var(--color-gray-400, #9ca3af);
}
/* /Components/Lists/Milestones/MilestoneNotesTab.razor.rz.scp.css */
.notes-section[b-ushe7hppuk] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.section-title[b-ushe7hppuk] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-gray-700);
    margin: 0 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-gray-200);
}

.section-toolbar[b-ushe7hppuk] {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.toolbar-btn[b-ushe7hppuk] {
    padding: 3px 10px;
    font-size: 0.72rem;
    background: var(--color-gray-100);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--color-gray-700);
    min-width: 26px;
    text-align: center;
}

.toolbar-btn:hover:not(:disabled)[b-ushe7hppuk] { background: var(--color-gray-200); }

.toolbar-btn:disabled[b-ushe7hppuk] {
    opacity: 0.5;
    cursor: not-allowed;
}

.notes-table[b-ushe7hppuk] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.notes-table th[b-ushe7hppuk] {
    text-align: left;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.notes-table td[b-ushe7hppuk] {
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-100);
    color: var(--color-gray-800);
}

.th-user[b-ushe7hppuk] { width: 120px; }
.th-date[b-ushe7hppuk] { width: 100px; }
.td-user[b-ushe7hppuk] { color: var(--color-gray-600); }

.td-date[b-ushe7hppuk] {
    font-variant-numeric: tabular-nums;
    color: var(--color-gray-600);
}

.empty-cell[b-ushe7hppuk] {
    color: var(--color-gray-400);
    font-style: italic;
    text-align: center;
    padding: 16px 8px !important;
}
/* /Components/Lists/Milestones/MilestoneRelationsTab.razor.rz.scp.css */
.relations-section[b-tbjxuabe9l] {
    margin-bottom: 18px;
}

.section-title[b-tbjxuabe9l] {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--color-gray-700);
    margin: 0 0 8px 0;
    padding-bottom: 4px;
    border-bottom: 1px solid var(--color-gray-200);
}

.section-toolbar[b-tbjxuabe9l] {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.toolbar-btn[b-tbjxuabe9l] {
    padding: 3px 10px;
    font-size: 0.72rem;
    background: var(--color-gray-100);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    color: var(--color-gray-700);
    min-width: 26px;
    text-align: center;
}

.toolbar-btn:hover:not(:disabled)[b-tbjxuabe9l] { background: var(--color-gray-200); }

.toolbar-btn:disabled[b-tbjxuabe9l] {
    opacity: 0.5;
    cursor: not-allowed;
}

.toolbar-btn--text[b-tbjxuabe9l] {
    padding: 3px 12px;
}

.relations-table[b-tbjxuabe9l] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.relations-table th[b-tbjxuabe9l] {
    text-align: left;
    font-size: 0.68rem;
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.03em;
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.relations-table td[b-tbjxuabe9l] {
    padding: 4px 8px;
    border-bottom: 1px solid var(--color-gray-100);
    color: var(--color-gray-800);
}

.empty-cell[b-tbjxuabe9l] {
    color: var(--color-gray-400);
    font-style: italic;
    text-align: center;
    padding: 16px 8px !important;
}

.empty-text[b-tbjxuabe9l] {
    font-size: 0.75rem;
    color: var(--color-gray-500);
    font-style: italic;
    margin: 4px 0;
}

/* Systems checkbox list */
.systems-list[b-tbjxuabe9l] {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 4px 0;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    max-height: 200px;
    overflow-y: auto;
}

.system-item[b-tbjxuabe9l] {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 3px 10px;
    font-size: 0.75rem;
    color: var(--color-gray-800);
    cursor: default;
}

.system-item input[type="checkbox"][b-tbjxuabe9l] {
    accent-color: var(--color-primary, #2563eb);
}
/* /Components/Lists/Milestones/NewMilestoneDialog.razor.rz.scp.css */
.new-ms-dialog[b-9ozjw2ki8x] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 0 0;
    min-width: 360px;
}

.nmd-field[b-9ozjw2ki8x] {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.nmd-field--top[b-9ozjw2ki8x] {
    align-items: flex-start;
}

.nmd-field label[b-9ozjw2ki8x] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-gray-600, #4b5563);
}

.nmd-required[b-9ozjw2ki8x] {
    color: var(--color-danger, #ef4444);
    margin-left: 2px;
}

.nmd-input[b-9ozjw2ki8x] {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 4px;
    font-size: 0.82rem;
    color: var(--color-gray-800, #1f2937);
    background: #fff;
    box-sizing: border-box;
}

.nmd-input:focus[b-9ozjw2ki8x] {
    outline: none;
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.15);
}

.nmd-textarea[b-9ozjw2ki8x] {
    height: 72px;
    resize: vertical;
}

.nmd-error[b-9ozjw2ki8x] {
    font-size: 0.78rem;
    color: var(--color-danger, #ef4444);
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 4px;
    padding: 6px 10px;
}

.nmd-footer[b-9ozjw2ki8x] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid var(--color-gray-200, #e5e7eb);
    margin-top: 4px;
}
/* /Components/Lists/Projects/NewProjectDialog.razor.rz.scp.css */
.new-project-dialog[b-o9mlqfuh3f] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 2px;
}

/* ── Field ───────────────────────────────────────────── */
.npd-field[b-o9mlqfuh3f] {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 8px;
}

.npd-field--top[b-o9mlqfuh3f] {
    align-items: flex-start;
}

.npd-field label[b-o9mlqfuh3f] {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--color-gray-700, #374151);
    padding-top: 2px;
}

.npd-required[b-o9mlqfuh3f] {
    color: #ef4444;
    margin-left: 1px;
}

/* ── Inputs ──────────────────────────────────────────── */
.npd-input[b-o9mlqfuh3f] {
    padding: 5px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 3px;
    font-size: 0.82rem;
    color: var(--color-gray-900, #111827);
    background: white;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.npd-input:focus[b-o9mlqfuh3f] {
    outline: none;
    border-color: var(--color-blue-500, #3b82f6);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

.npd-select[b-o9mlqfuh3f] {
    appearance: auto;
    cursor: pointer;
}

.npd-textarea[b-o9mlqfuh3f] {
    resize: vertical;
    min-height: 72px;
    line-height: 1.4;
}

/* ── Error ───────────────────────────────────────────── */
.npd-error[b-o9mlqfuh3f] {
    grid-column: 1 / -1;
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 3px;
    padding: 5px 10px;
    font-size: 0.8rem;
}

/* ── Footer ──────────────────────────────────────────── */
.npd-footer[b-o9mlqfuh3f] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
    margin-top: 4px;
}

.npd-btn[b-o9mlqfuh3f] {
    padding: 5px 18px;
    border-radius: 3px;
    font-size: 0.82rem;
    cursor: pointer;
    border: 1px solid transparent;
}

.npd-btn--primary[b-o9mlqfuh3f] {
    background: var(--color-primary, #2563eb);
    color: white;
    border-color: var(--color-primary, #2563eb);
}

.npd-btn--primary:hover:not(:disabled)[b-o9mlqfuh3f] {
    background: #1d4ed8;
}

.npd-btn--cancel[b-o9mlqfuh3f] {
    background: white;
    color: var(--color-gray-700, #374151);
    border-color: var(--color-gray-300, #d1d5db);
}

.npd-btn--cancel:hover:not(:disabled)[b-o9mlqfuh3f] {
    background: var(--color-gray-100, #f3f4f6);
}

.npd-btn:disabled[b-o9mlqfuh3f] {
    opacity: 0.55;
    cursor: not-allowed;
}
/* /Components/Lists/Projects/ProjectDashboardTab.razor.rz.scp.css */
/* ── Dashboard grid ───────────────────────────────────── */
.dashboard-grid[b-xx6bdroefk] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.dashboard-card[b-xx6bdroefk] {
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 4px;
    padding: 0;
    background: white;
    overflow: hidden;
}

.dashboard-card-header[b-xx6bdroefk] {
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-gray-100, #f3f4f6);
    background: #003366;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.dashboard-card--wide[b-xx6bdroefk] {
    grid-column: 1 / -1;
}

/* ── Loading / placeholder ───────────────────────────── */
.tab-loading[b-xx6bdroefk] {
    padding: 12px 0;
}

.tab-placeholder[b-xx6bdroefk] {
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.82rem;
    padding: 20px 0;
    text-align: center;
}

.tree-empty[b-xx6bdroefk] {
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}
/* /Components/Lists/Projects/ProjectDetails.razor.rz.scp.css */
/* ── Outer shell ─────────────────────────────────────── */
.project-details-container[b-c6twtnicjh] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    font-size: var(--text-sm, 13px);
}

/* ── Two-column layout ───────────────────────────────── */
.project-details-layout[b-c6twtnicjh] {
    display: grid;
    grid-template-columns: 260px 1fr;
    flex: 1;
    min-height: 0;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

/* ── Left: structure tree ────────────────────────────── */
.structure-panel[b-c6twtnicjh] {
    border-right: 1px solid var(--color-gray-200, #e2e8f0);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8f8f8;
}

.structure-panel-header[b-c6twtnicjh] {
    padding: 6px 10px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500, #9ca3af);
    background: var(--color-gray-100, #f3f4f6);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

.tree-body[b-c6twtnicjh] {
    flex: 1;
    overflow: auto;
    padding: 4px 0;
}

.tree-empty[b-c6twtnicjh] {
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}

.tree-skeleton-row[b-c6twtnicjh] {
    padding: 5px 12px;
}

/* ── Right: detail panel ─────────────────────────────── */
.details-panel[b-c6twtnicjh] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.details-panel-header[b-c6twtnicjh] {
    padding: 8px 14px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    background: var(--color-gray-100, #f3f4f6);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

/* ── Tabs ────────────────────────────────────────────── */
.details-tabs[b-c6twtnicjh] {
    display: flex;
    border-bottom: 1px solid var(--color-gray-300, #d1d5db);
    flex-shrink: 0;
    background: #f0f0f0;
}

.tab-button[b-c6twtnicjh] {
    padding: 7px 18px;
    border: none;
    border-right: 1px solid var(--color-gray-300, #d1d5db);
    border-bottom: 2px solid transparent;
    background: #e8e8e8;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--color-gray-700, #374151);
    transition: background 0.1s;
    white-space: nowrap;
}

.tab-button:hover[b-c6twtnicjh] {
    background: #dcdcdc;
}

.tab-button.active[b-c6twtnicjh] {
    background: white;
    border-bottom: 2px solid white;
    font-weight: 600;
    color: var(--color-gray-900, #111827);
    margin-bottom: -1px;
    z-index: 1;
    position: relative;
}

/* ── Tab content ─────────────────────────────────────── */
.tab-content[b-c6twtnicjh] {
    flex: 1;
    overflow-y: auto;
    padding: 12px 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: white;
}

/* ── Skeleton form field (loading state) ─────────────── */
.form-field[b-c6twtnicjh] {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 8px;
}

/* ── Load error ──────────────────────────────────────── */
.load-error[b-c6twtnicjh] {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    color: var(--color-danger, #dc2626);
    font-size: 0.85rem;
    padding: 32px;
}

/* ── Footer ──────────────────────────────────────────── */
.details-footer[b-c6twtnicjh] {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    padding: 8px 12px;
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
    background: var(--color-gray-50, #f9fafb);
}

.btn-apply[b-c6twtnicjh] {
    padding: 5px 18px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.82rem;
    color: var(--color-gray-700, #374151);
}

.btn-apply:hover:not(:disabled)[b-c6twtnicjh] {
    background: var(--color-gray-100, #f3f4f6);
}

.btn-apply:disabled[b-c6twtnicjh] {
    opacity: 0.5;
    cursor: not-allowed;
}

.btn-dialog-close[b-c6twtnicjh] {
    padding: 5px 18px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.82rem;
    color: var(--color-gray-700, #374151);
}

.btn-dialog-close:hover[b-c6twtnicjh] {
    background: var(--color-gray-100, #f3f4f6);
}
/* /Components/Lists/Projects/ProjectDocumentsTab.razor.rz.scp.css */
/* ── Table wrapper ────────────────────────────────────── */
.tasks-table-wrapper[b-h5rjtnfebb] {
    overflow-x: auto;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 2px;
}

/* ── Shared table styles ─────────────────────────────── */
.resources-table[b-h5rjtnfebb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.resources-table thead tr[b-h5rjtnfebb] {
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.resources-table th[b-h5rjtnfebb] {
    padding: 5px 10px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    font-size: 0.78rem;
}

.resources-table tbody tr[b-h5rjtnfebb] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
}

.resources-table tbody tr:hover[b-h5rjtnfebb] {
    background: var(--color-gray-50, #f9fafb);
}

.resources-table td[b-h5rjtnfebb] {
    padding: 5px 10px;
    color: var(--color-gray-800, #1f2937);
}

/* ── Loading / placeholder ───────────────────────────── */
.tab-loading[b-h5rjtnfebb] {
    padding: 12px 0;
}

.tab-placeholder[b-h5rjtnfebb] {
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.82rem;
    padding: 20px 0;
    text-align: center;
}
/* /Components/Lists/Projects/ProjectGeneralTab.razor.rz.scp.css */
/* ── Form fields ─────────────────────────────────────── */
.form-field[b-qb3nfx9ad9] {
    display: grid;
    grid-template-columns: 100px 1fr;
    align-items: center;
    gap: 8px;
}

.form-field--top[b-qb3nfx9ad9] {
    align-items: flex-start;
}

.form-field label[b-qb3nfx9ad9] {
    font-size: 0.78rem;
    font-weight: 400;
    color: var(--color-gray-700, #374151);
    padding-top: 2px;
}

.form-control[b-qb3nfx9ad9] {
    padding: 4px 7px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 2px;
    font-size: 0.82rem;
    color: var(--color-gray-900, #111827);
    background: white;
    width: 100%;
    box-sizing: border-box;
}

.form-control[readonly][b-qb3nfx9ad9] {
    background: white;
}

select.form-control--select[b-qb3nfx9ad9] {
    appearance: auto;
    cursor: pointer;
}

.form-textarea[b-qb3nfx9ad9] {
    resize: vertical;
    min-height: 72px;
    font-family: inherit;
    line-height: 1.4;
}

/* ── Resources section ───────────────────────────────── */
.resources-section[b-qb3nfx9ad9] {
    margin-top: 4px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 2px;
    overflow: hidden;
}

.resources-header[b-qb3nfx9ad9] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px 10px;
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.resources-label[b-qb3nfx9ad9] {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
}

.resources-actions[b-qb3nfx9ad9] {
    display: flex;
    gap: 4px;
}

.btn-resource-action[b-qb3nfx9ad9] {
    padding: 3px 12px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 2px;
    cursor: pointer;
    font-size: 0.78rem;
    color: var(--color-gray-700, #374151);
}

.btn-resource-action:hover:not(:disabled)[b-qb3nfx9ad9] {
    background: var(--color-gray-100, #f3f4f6);
}

.btn-resource-action:disabled[b-qb3nfx9ad9] {
    opacity: 0.5;
    cursor: not-allowed;
}

.resources-table[b-qb3nfx9ad9] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.resources-table thead tr[b-qb3nfx9ad9] {
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.resources-table th[b-qb3nfx9ad9] {
    padding: 5px 10px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    font-size: 0.78rem;
}

.resources-table tbody tr[b-qb3nfx9ad9] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
}

.resources-table tbody tr:hover[b-qb3nfx9ad9] {
    background: var(--color-gray-50, #f9fafb);
}

.resources-table td[b-qb3nfx9ad9] {
    padding: 5px 10px;
    color: var(--color-gray-800, #1f2937);
}

.resources-empty[b-qb3nfx9ad9] {
    text-align: center;
    color: var(--color-gray-400, #9ca3af);
    padding: 10px !important;
    font-size: 0.78rem;
}

/* ── Inline table inputs ─────────────────────────────── */
.form-control--inline[b-qb3nfx9ad9] {
    padding: 2px 5px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 2px;
    font-size: 0.8rem;
    width: 100%;
    box-sizing: border-box;
    background: white;
}

.form-control--inline:focus[b-qb3nfx9ad9] {
    outline: none;
    border-color: var(--color-blue-500, #3b82f6);
}

/* ── Save status message ─────────────────────────────── */
.save-status[b-qb3nfx9ad9] {
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 0.8rem;
}

.save-status--success[b-qb3nfx9ad9] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.save-status--error[b-qb3nfx9ad9] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}
/* /Components/Lists/Projects/ProjectTasksTab.razor.rz.scp.css */
/* ── Outer shell ────────────────────────────────────────── */
.tasks-tab[b-1xhfr0e3zu] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* ── Loading / empty states ─────────────────────────────── */
.tasks-msg[b-1xhfr0e3zu] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-gray-500, #6b7280);
    font-size: 0.8rem;
    padding: 12px 0;
}

/* ── Scroll container (both axes) ───────────────────────── */
.tasks-scroll[b-1xhfr0e3zu] {
    overflow: auto;
    max-height: 620px;
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 4px 4px 0 0;
}

/* ── Table ──────────────────────────────────────────────── */
.tasks-table[b-1xhfr0e3zu] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
    white-space: nowrap;
}

.tasks-table thead th[b-1xhfr0e3zu] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--color-gray-50, #f9fafb);
    padding: 5px 8px;
    text-align: left;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-gray-500, #6b7280);
    border-bottom: 2px solid var(--color-gray-200, #e2e8f0);
    white-space: nowrap;
}

.tasks-table td[b-1xhfr0e3zu] {
    padding: 3px 8px;
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    vertical-align: middle;
    line-height: 1.4;
}

.tasks-table tbody tr:last-child td[b-1xhfr0e3zu] { border-bottom: none; }

.tasks-table tbody tr:hover td[b-1xhfr0e3zu] {
    background: #eff6ff;
}

.tasks-table tbody tr.clickable-row[b-1xhfr0e3zu] {
    cursor: pointer;
}

/* ── Column sizing ──────────────────────────────────────── */
.th-status[b-1xhfr0e3zu], .td-status[b-1xhfr0e3zu] { width: 22px; padding: 3px 4px; text-align: center; }
.th-id[b-1xhfr0e3zu],     .td-id[b-1xhfr0e3zu]     { width: 56px; font-family: monospace; font-size: 0.67rem; color: var(--color-gray-400, #9ca3af); }
.th-num[b-1xhfr0e3zu],    .td-num[b-1xhfr0e3zu]    { text-align: right; padding-right: 10px; font-variant-numeric: tabular-nums; }
.td-date[b-1xhfr0e3zu]               { font-size: 0.67rem; font-variant-numeric: tabular-nums; }
.td-name[b-1xhfr0e3zu]               { max-width: 170px; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.td-desc[b-1xhfr0e3zu]               { max-width: 150px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }
.td-person[b-1xhfr0e3zu]             { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
.td-type[b-1xhfr0e3zu]               { max-width: 130px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }

/* ── State dot (status column indicator) ───────────────── */
.state-dot[b-1xhfr0e3zu] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
}
.state-dot--new[b-1xhfr0e3zu]     { background: #9ca3af; }
.state-dot--active[b-1xhfr0e3zu]  { background: #3b82f6; }
.state-dot--done[b-1xhfr0e3zu]    { background: #10b981; }
.state-dot--hold[b-1xhfr0e3zu]    { background: #f59e0b; }
.state-dot--unknown[b-1xhfr0e3zu] { background: #d1d5db; }

/* ── Task status badge ──────────────────────────────────── */
.status-badge[b-1xhfr0e3zu] {
    display: inline-block;
    padding: 1px 5px;
    border-radius: 10px;
    font-size: 0.63rem;
    font-weight: 700;
    white-space: nowrap;
}
.status-badge--new[b-1xhfr0e3zu]     { background: #f3f4f6; color: #4b5563; }
.status-badge--active[b-1xhfr0e3zu]  { background: #dbeafe; color: #1d4ed8; }
.status-badge--done[b-1xhfr0e3zu]    { background: #d1fae5; color: #065f46; }
.status-badge--hold[b-1xhfr0e3zu]    { background: #fef3c7; color: #92400e; }
.status-badge--unknown[b-1xhfr0e3zu] { background: #f3f4f6; color: #6b7280; }

/* ── Schedule badge ─────────────────────────────────────── */
.sched-badge[b-1xhfr0e3zu] {
    font-size: 0.63rem;
    font-weight: 600;
    white-space: nowrap;
}
.sched-badge--ontime[b-1xhfr0e3zu]  { color: #065f46; }
.sched-badge--overdue[b-1xhfr0e3zu] { color: #991b1b; }
.sched-badge--none[b-1xhfr0e3zu]    { color: #9ca3af; }

/* ── Summary footer ─────────────────────────────────────── */
.tasks-summary[b-1xhfr0e3zu] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 6px 12px;
    background: var(--color-gray-50, #f9fafb);
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-top: none;
    border-radius: 0 0 4px 4px;
    font-size: 0.7rem;
    color: var(--color-gray-600, #4b5563);
}

.summary-label[b-1xhfr0e3zu] {
    font-weight: 700;
    color: var(--color-gray-700, #374151);
}

.summary-sep[b-1xhfr0e3zu] {
    color: var(--color-gray-300, #d1d5db);
}

.progress-wrap[b-1xhfr0e3zu] {
    width: 76px;
    height: 9px;
    background: var(--color-gray-200, #e5e7eb);
    border-radius: 5px;
    overflow: hidden;
}

.progress-fill[b-1xhfr0e3zu] {
    height: 100%;
    background: #22c55e;
    border-radius: 5px;
    transition: width 0.4s ease;
}

.progress-pct[b-1xhfr0e3zu] {
    font-weight: 700;
    color: var(--color-gray-700, #374151);
    min-width: 30px;
}

/* ── Skeleton loading ───────────────────────────────────── */
@keyframes skel-shimmer-b-1xhfr0e3zu {
    0%   { background-position: -400px 0; }
    100% { background-position: 400px 0; }
}

.skel-block[b-1xhfr0e3zu] {
    display: inline-block;
    height: 10px;
    width: 60px;
    border-radius: 4px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 800px 100%;
    animation: skel-shimmer-b-1xhfr0e3zu 1.4s ease-in-out infinite;
}

.skel-block.skel-narrow[b-1xhfr0e3zu] { width: 38px; }
.skel-block.skel-wide[b-1xhfr0e3zu]   { width: 100px; }
.skel-block.skel-badge[b-1xhfr0e3zu]  { width: 56px; height: 14px; border-radius: 8px; }

.skel-dot[b-1xhfr0e3zu] {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
    background-size: 800px 100%;
    animation: skel-shimmer-b-1xhfr0e3zu 1.4s ease-in-out infinite;
}
/* /Components/Lists/Tasks/DependencyLookupDialog.razor.rz.scp.css */
/* Styles are embedded inline in DependencyLookupDialog.razor */
/* /Components/Lists/Tasks/TaskDetails.razor.rz.scp.css */
/* Task Details Dialog Container */
.task-details-container[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    background: white;
    font-size: var(--text-base);
    height: 100%;
}

/* Loading State */
.task-details-loading[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    gap: 16px;
    color: var(--color-gray-600, #6b7280);
    font-size: var(--text-base, 14px);
}

.task-details-loading .error-text[b-irs2afhc6c] {
    color: #dc2626;
    font-weight: 500;
}

.skeleton-tab-content[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: var(--space-md, 16px);
}

.skeleton-row[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

/* Header */
.task-details-header[b-irs2afhc6c] {
    padding: var(--space-md);
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
    display: flex;
    justify-content: flex-end;
}

.task-status-badge[b-irs2afhc6c] {
    padding: var(--space-xs) var(--space-lg);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 600;
    border: 2px solid;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.task-status-badge.status-completed[b-irs2afhc6c] {
    background: #dcfce7;
    color: #15803d;
    border-color: #22c55e;
}

.task-status-badge.status-in-progress[b-irs2afhc6c] {
    background: #fef3c7;
    color: #b45309;
    border-color: #f59e0b;
}

.task-status-badge.status-not-started[b-irs2afhc6c] {
    background: var(--color-gray-100);
    color: var(--color-gray-700);
    border-color: var(--color-gray-400);
}

.task-status-badge.status-cancelled[b-irs2afhc6c] {
    background: #fee2e2;
    color: #991b1b;
    border-color: #ef4444;
}

/* Body */
.task-details-body[b-irs2afhc6c] {
    flex: 1;
    overflow-y: auto;
    padding: 1rem 1.25rem;
}

/* Form Section */
.task-form-section[b-irs2afhc6c] {
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #e2e8f0;
}

.form-row-inline[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-lg);
    margin-bottom: var(--space-sm);
}

.form-field-inline[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--space-sm);
    align-items: center;
}

.form-field-inline.full-width[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--space-sm);
    align-items: center;
    margin-bottom: var(--space-sm);
}

.form-field-inline label[b-irs2afhc6c] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #718096;
}

.form-row[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-md);
    margin-bottom: var(--space-md);
}

.form-group[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
}

.form-group.full-width[b-irs2afhc6c] {
    grid-column: 1 / -1;
}

.form-group label[b-irs2afhc6c] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #718096;
    margin-bottom: 0.2rem;
}

.form-control[b-irs2afhc6c] {
    padding: 0.35rem 0.6rem;
    border: 1px solid #cbd5e0;
    border-radius: 5px;
    font-size: 0.78rem;
    background: white;
    color: #2d3748;
    transition: border-color 0.15s;
    width: 100%;
    box-sizing: border-box;
}

.form-control:focus[b-irs2afhc6c] {
    outline: none;
    border-color: var(--color-primary, #1e5631);
    box-shadow: 0 0 0 2px rgba(30, 86, 49, 0.12);
}

.form-control:disabled[b-irs2afhc6c],
.form-control[readonly][b-irs2afhc6c] {
    background: #f7fafc;
    color: #718096;
    cursor: default;
}

textarea.form-control[b-irs2afhc6c] {
    resize: vertical;
    min-height: 60px;
    font-family: inherit;
}

/* Tabs */
.task-tabs[b-irs2afhc6c] {
    display: flex;
    gap: 0;
    border-bottom: 2px solid #e2e8f0;
    margin-bottom: 0.85rem;
    flex-wrap: wrap;
    background: #f7fafc;
    border-radius: 6px 6px 0 0;
    padding: 0 0.25rem;
}

.tab-button[b-irs2afhc6c] {
    padding: 0.5rem 0.8rem;
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    color: #718096;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s, background 0.15s;
    margin-bottom: -2px;
    white-space: nowrap;
    border-radius: 5px 5px 0 0;
}

.tab-button:hover:not(:disabled)[b-irs2afhc6c] {
    color: var(--color-primary, #1e5631);
    background: #edf2f7;
}

.tab-button.active[b-irs2afhc6c] {
    color: var(--color-primary, #1e5631);
    border-bottom-color: var(--color-primary, #1e5631);
    background: #fff;
    font-weight: 700;
}

.tab-button:disabled[b-irs2afhc6c] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Tab Content */
.tab-content[b-irs2afhc6c] {
    min-height: 260px;
}

/* Status Tab */
.status-tab h4[b-irs2afhc6c] {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-gray-800);
    margin: 0 0 var(--space-md) 0;
}

.workflow-section[b-irs2afhc6c] {
    margin-bottom: var(--space-2xl);
}

.workflow-diagram[b-irs2afhc6c] {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 1rem;
    background: #f7fafc;
    border-radius: 8px;
    overflow-x: auto;
    border: 1px solid #e2e8f0;
}

.workflow-stage[b-irs2afhc6c] {
    flex-shrink: 0;
    min-width: 120px;
    padding: 0.6rem 0.75rem;
    border: 1.5px solid #e2e8f0;
    border-radius: 6px;
    background: white;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.workflow-stage.active[b-irs2afhc6c] {
    border-color: #f97316;
    background: #fff7ed;
    box-shadow: 0 2px 8px rgba(249, 115, 22, 0.15);
}

.stage-header[b-irs2afhc6c] {
    font-size: 0.7rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 0.4rem;
    margin-bottom: 0.4rem;
    border-bottom: 1px solid #e2e8f0;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.workflow-stage.active .stage-header[b-irs2afhc6c] {
    color: #ea580c;
}

.stage-actions[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.stage-button[b-irs2afhc6c] {
    display: block;
    width: 100%;
    padding: 0.22rem 0.4rem;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
    font-size: 0.65rem;
    color: #4a5568;
    cursor: pointer;
    transition: background 0.12s;
    text-align: center;
}

.stage-button:hover:not(:disabled)[b-irs2afhc6c] {
    background: #f7fafc;
    border-color: #a0aec0;
}

.stage-button.active[b-irs2afhc6c] {
    background: #f97316;
    color: white;
    border-color: #f97316;
    font-weight: 700;
}

.stage-button:disabled[b-irs2afhc6c] {
    cursor: not-allowed;
    opacity: 0.55;
}

.workflow-arrow[b-irs2afhc6c] {
    font-size: var(--text-2xl);
    color: var(--color-gray-400);
    font-weight: bold;
    flex-shrink: 0;
}

/* Status Info Section */
.status-info-section[b-irs2afhc6c] {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
}

.status-info-section > h4[b-irs2afhc6c] {
    margin: 0;
    padding: 0.5rem 0.75rem;
    font-size: 0.72rem;
    font-weight: 700;
    color: #4a5568;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
}

.status-grid[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 110px repeat(4, 1fr);
    gap: 0;
    align-items: stretch;
}

.status-label[b-irs2afhc6c] {
    font-size: 0.7rem;
    font-weight: 600;
    color: #718096;
    text-align: center;
    padding: 0.45rem 0.5rem;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
    border-right: 1px solid #e2e8f0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.status-label:first-child[b-irs2afhc6c] {
    text-align: left;
    background: transparent;
}

.status-value[b-irs2afhc6c] {
    text-align: center;
    font-size: 0.85rem;
    font-weight: 600;
    color: #2d3748;
    padding: 0.55rem 0.5rem;
    border-bottom: 1px solid #e2e8f0;
    border-right: 1px solid #e2e8f0;
}

.progress-bar-container[b-irs2afhc6c] {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    grid-column: 2 / 6;
}

.progress-bar[b-irs2afhc6c] {
    flex: 1;
    height: 10px;
    background: #e2e8f0;
    border-radius: 5px;
    overflow: hidden;
}

.progress-fill[b-irs2afhc6c] {
    height: 100%;
    background: linear-gradient(90deg, var(--color-primary, #1e5631) 0%, #2a7a45 100%);
    border-radius: 5px;
    transition: width 0.4s ease;
}

.progress-fill.over-budget[b-irs2afhc6c] {
    background: linear-gradient(90deg, #dc2626 0%, #ef4444 100%);
}

.progress-text[b-irs2afhc6c] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #2d3748;
    min-width: 42px;
    text-align: right;
}

.progress-text.over-budget-text[b-irs2afhc6c] {
    color: #dc2626;
}

/* Details Tab */
.details-tab[b-irs2afhc6c] {
    background: white;
}

.details-two-column[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
    align-items: start;
}

.details-left[b-irs2afhc6c],
.details-right[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.detail-field[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: 130px 1fr;
    gap: 0.5rem;
    align-items: center;
    padding: 0 0.75rem;
}

.detail-field label[b-irs2afhc6c] {
    font-size: 0.72rem;
    font-weight: 600;
    color: #718096;
}

.ref-lag-field[b-irs2afhc6c],
.date-range-field[b-irs2afhc6c] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
    flex: 1;
}

.ref-lag-field input[b-irs2afhc6c],
.date-range-field input[b-irs2afhc6c] {
    flex: 1;
}

.priority-field[b-irs2afhc6c] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex: 1;
}

.priority-field input[type="range"][b-irs2afhc6c] {
    flex: 1;
}

.priority-label[b-irs2afhc6c] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
    min-width: 60px;
}

.effort-field[b-irs2afhc6c],
.duration-field[b-irs2afhc6c] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex: 1;
}

.effort-field span[b-irs2afhc6c],
.duration-field span[b-irs2afhc6c] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
}

.form-control.small[b-irs2afhc6c] {
    width: 80px;
}

.schedule-section[b-irs2afhc6c] {
    margin-top: 0.75rem;
    padding-top: 0.75rem;
    border-top: 1px solid #e2e8f0;
}

.schedule-section h5[b-irs2afhc6c] {
    font-size: 0.7rem;
    font-weight: 700;
    color: #4a5568;
    margin: 0 0 0.6rem 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

/* SAP Section */
.sap-section[b-irs2afhc6c] {
    background: #f7fafc;
    padding: 0;
    border-radius: 8px;
    border: 1px solid #e2e8f0;
    overflow: hidden;
}

.sap-header[b-irs2afhc6c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e2e8f0;
    background: #f7fafc;
}

.sap-header h5[b-irs2afhc6c] {
    font-size: 0.72rem;
    font-weight: 700;
    color: #4a5568;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.sap-actions[b-irs2afhc6c] {
    display: flex;
    gap: var(--space-xs);
}

.btn-icon[b-irs2afhc6c] {
    padding: 0.2rem 0.5rem;
    background: white;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    color: #4a5568;
    cursor: pointer;
    transition: background 0.12s;
}

.btn-icon:hover:not(:disabled)[b-irs2afhc6c] {
    background: #edf2f7;
    border-color: #a0aec0;
}

.btn-icon:disabled[b-irs2afhc6c] {
    opacity: 0.4;
    cursor: not-allowed;
}

.field-with-lookup[b-irs2afhc6c] {
    display: flex;
    gap: var(--space-sm);
    flex: 1;
}

.field-with-lookup input[b-irs2afhc6c] {
    flex: 1;
}

.btn-lookup[b-irs2afhc6c] {
    padding: 0.3rem 0.65rem;
    background: var(--color-primary, #1e5631);
    color: white;
    border: none;
    border-radius: 5px;
    font-size: 0.65rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}

.btn-lookup:hover:not(:disabled)[b-irs2afhc6c] {
    background: var(--color-primary-dark, #1a4a2a);
}

.btn-lookup:disabled[b-irs2afhc6c] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Old details grid - kept for reference, can be removed */
.details-grid[b-irs2afhc6c] {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-lg);
}

.detail-item[b-irs2afhc6c] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.detail-item.full-width[b-irs2afhc6c] {
    grid-column: 1 / -1;
}

.detail-item label[b-irs2afhc6c] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.detail-value[b-irs2afhc6c] {
    font-size: var(--text-sm);
    color: var(--color-gray-800);
    padding: var(--space-sm);
    background: var(--color-gray-50);
    border-radius: var(--radius-sm);
    border: 1px solid var(--color-gray-200);
    min-height: 32px;
    display: flex;
    align-items: center;
}

/* Footer */
.task-details-footer[b-irs2afhc6c] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.6rem 1.25rem;
    border-top: 1px solid #e2e8f0;
    background: #f7fafc;
    gap: 0.75rem;
    flex-shrink: 0;
}

.footer-left[b-irs2afhc6c],
.footer-right[b-irs2afhc6c] {
    display: flex;
    gap: 0.4rem;
}

.btn-primary[b-irs2afhc6c],
.btn-secondary[b-irs2afhc6c] {
    padding: 0.3rem 0.75rem;
    border-radius: 5px;
    font-size: 0.72rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s, box-shadow 0.15s;
    border: 1px solid transparent;
    white-space: nowrap;
}

.btn-primary[b-irs2afhc6c] {
    background: var(--color-primary, #1e5631);
    color: white;
    border-color: var(--color-primary, #1e5631);
}

.btn-primary:hover:not(:disabled)[b-irs2afhc6c] {
    background: var(--color-primary-dark, #1a4a2a);
    box-shadow: 0 1px 4px rgba(30, 86, 49, 0.25);
}

.btn-secondary[b-irs2afhc6c] {
    background: white;
    color: #4a5568;
    border-color: #cbd5e0;
}

.btn-secondary:hover:not(:disabled)[b-irs2afhc6c] {
    background: #edf2f7;
    border-color: #a0aec0;
}

.btn-link-copied[b-irs2afhc6c] {
    background: #f0fdf4 !important;
    color: #16a34a !important;
    border-color: #86efac !important;
    font-weight: 600;
}

.btn-primary:disabled[b-irs2afhc6c],
.btn-secondary:disabled[b-irs2afhc6c] {
    opacity: 0.45;
    cursor: not-allowed;
}

/* Favorite Button */
.btn-favorite[b-irs2afhc6c] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: var(--text-sm, 13px);
    font-weight: 500;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
    background: white;
    color: var(--color-gray-700, #374151);
    border: 1px solid var(--color-gray-300, #d1d5db);
}

.btn-favorite:hover:not(:disabled)[b-irs2afhc6c] {
    background: #fefce8;
    border-color: #ca8a04;
    color: #92400e;
}

.btn-favorite--added[b-irs2afhc6c] {
    background: #fefce8;
    border-color: #ca8a04;
    color: #92400e;
    cursor: not-allowed;
    opacity: 0.85;
}

.btn-favorite--error[b-irs2afhc6c] {
    background: #fff1f2;
    border-color: #f43f5e;
    color: #be123c;
}

.btn-favorite:disabled[b-irs2afhc6c] {
    cursor: not-allowed;
}

/* Responsive Design */
@media (max-width: 768px) {
    .form-row[b-irs2afhc6c],
    .details-grid[b-irs2afhc6c] {
        grid-template-columns: 1fr;
    }

    .workflow-diagram[b-irs2afhc6c] {
        flex-direction: column;
        align-items: stretch;
    }

    .workflow-arrow[b-irs2afhc6c] {
        transform: rotate(90deg);
        align-self: center;
    }

    .status-grid[b-irs2afhc6c] {
        grid-template-columns: 1fr;
    }

    .status-label[b-irs2afhc6c],
    .status-value[b-irs2afhc6c] {
        text-align: left;
    }

    .footer-left[b-irs2afhc6c],
    .footer-right[b-irs2afhc6c] {
        flex-wrap: wrap;
    }
}

/* ── Tab content: use ::deep so styles reach into child tab components ── */

/* Legacy compat */
[b-irs2afhc6c] .dep-section { margin-bottom: 1rem; }
[b-irs2afhc6c] .dep-section-header { display: none; }
[b-irs2afhc6c] .dep-actions { display: flex; gap: 0.375rem; }
[b-irs2afhc6c] .dep-table .empty-row { height: 80px; }
[b-irs2afhc6c] .dependencies-tab,
[b-irs2afhc6c] .relations-tab,
[b-irs2afhc6c] .notes-tab,
[b-irs2afhc6c] .documents-tab,
[b-irs2afhc6c] .attachments-tab,
[b-irs2afhc6c] .checklist-tab { padding: 0; }

/* Shared data table */
[b-irs2afhc6c] .dep-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
    background: #fff;
}

[b-irs2afhc6c] .dep-table thead tr {
    background: #f7fafc;
}

[b-irs2afhc6c] .dep-table th {
    padding: 0.45rem 0.75rem;
    text-align: left;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #4a5568;
    border-bottom: 1px solid #e2e8f0;
    white-space: nowrap;
}

[b-irs2afhc6c] .dep-table td {
    padding: 0.45rem 0.75rem;
    color: #2d3748;
    border-bottom: 1px solid #f0f4f8;
    vertical-align: middle;
}

[b-irs2afhc6c] .dep-table tbody tr:hover td {
    background: #f7fafc;
}

[b-irs2afhc6c] .dep-table tbody tr:last-child td {
    border-bottom: none;
}

/* Tab section wrapper */
[b-irs2afhc6c] .tab-section-wrap {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 0.25rem 0 0.5rem;
}

[b-irs2afhc6c] .tab-section {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* Tab section header bar */
[b-irs2afhc6c] .tab-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.5rem 0.75rem;
    background: #f7fafc;
    border-bottom: 1px solid #e2e8f0;
    gap: 0.5rem;
}

[b-irs2afhc6c] .tab-section-title {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    color: #2d3748;
    letter-spacing: 0.1px;
}

[b-irs2afhc6c] .tab-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    background: var(--color-primary, #1e5631);
    color: #fff;
    border-radius: 9px;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0;
}

[b-irs2afhc6c] .tab-section-actions {
    display: flex;
    gap: 0.3rem;
    flex-shrink: 0;
}

[b-irs2afhc6c] .btn-tab-action {
    padding: 0.22rem 0.6rem;
    background: #fff;
    border: 1px solid #cbd5e0;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 600;
    color: #4a5568;
    cursor: pointer;
    transition: background 0.12s, border-color 0.12s;
    white-space: nowrap;
}

[b-irs2afhc6c] .btn-tab-action:not(:disabled):hover {
    background: #edf2f7;
    border-color: #a0aec0;
    color: #2d3748;
}

[b-irs2afhc6c] .btn-tab-action:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Relation ID cell */
[b-irs2afhc6c] .rel-id-cell {
    font-family: ui-monospace, 'Cascadia Code', monospace;
    font-size: 0.7rem;
    color: #718096;
    width: 90px;
    white-space: nowrap;
}

/* Checklist check column */
[b-irs2afhc6c] .col-check {
    width: 32px;
    text-align: center;
    padding-right: 0 !important;
}

/* Checklist table */
[b-irs2afhc6c] .checklist-table .col-center {
    text-align: center;
}

[b-irs2afhc6c] .checklist-table .col-narrow {
    width: 48px;
}

[b-irs2afhc6c] .check-header-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    font-size: 0.65rem;
}

[b-irs2afhc6c] .btn-checklist-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 20px;
    padding: 0;
    background: #edf2f7;
    border: 1px solid #cbd5e0;
    border-radius: 3px;
    font-size: 0.7rem;
    font-weight: 700;
    color: #4a5568;
    cursor: pointer;
    text-decoration: none;
    line-height: 1;
    transition: background 0.15s, border-color 0.15s;
}

[b-irs2afhc6c] .btn-checklist-action:not(:disabled):hover {
    background: #e2e8f0;
    border-color: #a0aec0;
    color: #1a202c;
}

[b-irs2afhc6c] .btn-checklist-action.btn-checklist-empty {
    opacity: 0.35;
    cursor: not-allowed;
}

[b-irs2afhc6c] .checklist-checkbox {
    width: 15px;
    height: 15px;
    cursor: pointer;
    accent-color: var(--color-primary, #1e5631);
}

[b-irs2afhc6c] .checklist-desc-input {
    padding: 0.2rem 0.4rem;
    font-size: 0.75rem;
    min-width: 80px;
    width: 100%;
}

/* Tab empty state */
[b-irs2afhc6c] .tab-empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2.5rem 1rem;
    background: #fff;
    color: #a0aec0;
    font-size: 0.78rem;
    text-align: center;
}

[b-irs2afhc6c] .tab-empty-icon {
    font-size: 1.75rem;
    opacity: 0.5;
    display: block;
}

/* Dependency status badges */
[b-irs2afhc6c] .dep-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

[b-irs2afhc6c] .dep-status-completed {
    background: #dcfce7;
    color: #15803d;
}

[b-irs2afhc6c] .dep-status-in-progress {
    background: #fef3c7;
    color: #b45309;
}

[b-irs2afhc6c] .dep-status-not-started,
[b-irs2afhc6c] .dep-status-unknown {
    background: #f3f4f6;
    color: #4b5563;
}

[b-irs2afhc6c] .dep-status-cancelled,
[b-irs2afhc6c] .dep-status-overdue {
    background: #dc2626;
    color: #ffffff;
}
/* /Components/Lists/Tasks/TaskDetailsTab.razor.rz.scp.css */
/* Details Tab */
.details-tab[b-2f4hvpx2ru] {
    background: white;
}

.details-two-column[b-2f4hvpx2ru] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2xl);
}

.details-left[b-2f4hvpx2ru],
.details-right[b-2f4hvpx2ru] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.detail-field[b-2f4hvpx2ru] {
    display: grid;
    grid-template-columns: 140px 1fr;
    gap: var(--space-sm);
    align-items: center;
}

.detail-field label[b-2f4hvpx2ru] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
}

.form-control[b-2f4hvpx2ru] {
    padding: var(--input-padding-sm);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    background: white;
    transition: var(--transition-base);
}

.form-control:focus[b-2f4hvpx2ru] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1);
}

.form-control:disabled[b-2f4hvpx2ru],
.form-control[readonly][b-2f4hvpx2ru] {
    background: var(--color-gray-50);
    color: var(--color-gray-600);
    cursor: not-allowed;
}

.ref-lag-field[b-2f4hvpx2ru],
.date-range-field[b-2f4hvpx2ru] {
    display: flex;
    gap: var(--space-sm);
    align-items: center;
    flex: 1;
}

.ref-lag-field input[b-2f4hvpx2ru],
.date-range-field input[b-2f4hvpx2ru] {
    flex: 1;
}

.priority-field[b-2f4hvpx2ru] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    flex: 1;
}

.priority-field input[type="range"][b-2f4hvpx2ru] {
    flex: 1;
}

.priority-label[b-2f4hvpx2ru] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
    min-width: 60px;
}

.effort-field[b-2f4hvpx2ru],
.duration-field[b-2f4hvpx2ru] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex: 1;
}

.effort-field span[b-2f4hvpx2ru],
.duration-field span[b-2f4hvpx2ru] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
}

.form-control.small[b-2f4hvpx2ru] {
    width: 80px;
}

.schedule-section[b-2f4hvpx2ru] {
    margin-top: var(--space-lg);
    padding-top: var(--space-lg);
    border-top: 1px solid var(--color-gray-200);
}

.schedule-section h5[b-2f4hvpx2ru] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-800);
    margin: 0 0 var(--space-md) 0;
}

/* SAP Section */
.sap-section[b-2f4hvpx2ru] {
    background: var(--color-gray-50);
    padding: var(--space-lg);
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-gray-200);
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.sap-header[b-2f4hvpx2ru] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-gray-200);
    margin-bottom: var(--space-xs);
}

.sap-header h5[b-2f4hvpx2ru] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-800);
    margin: 0;
}

.sap-actions[b-2f4hvpx2ru] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.btn-sap-action[b-2f4hvpx2ru] {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px var(--space-sm);
    background: transparent;
    border: none;
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-base);
    border-radius: var(--radius-sm);
}

.btn-sap-add[b-2f4hvpx2ru] {
    color: #28a745;
}

.btn-sap-add:hover:not(:disabled)[b-2f4hvpx2ru] {
    background: rgba(40, 167, 69, 0.08);
}

.btn-sap-remove[b-2f4hvpx2ru] {
    color: #dc3545;
}

.btn-sap-remove:hover:not(:disabled)[b-2f4hvpx2ru] {
    background: rgba(220, 53, 69, 0.08);
}

.btn-sap-action:disabled[b-2f4hvpx2ru] {
    opacity: 0.4;
    cursor: not-allowed;
}

.sap-loading-indicator[b-2f4hvpx2ru] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    font-style: italic;
}

.sap-default-badge[b-2f4hvpx2ru] {
    display: inline-block;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    background: var(--color-gray-200);
    border-radius: var(--radius-sm);
    padding: 2px 8px;
    margin-bottom: var(--space-xs);
}

.sap-list-badge[b-2f4hvpx2ru] {
    background: #e8f4fd;
    color: #1a6fad;
}

.sap-entry[b-2f4hvpx2ru] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.sap-entry-list[b-2f4hvpx2ru] {
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-gray-200);
    background: white;
    cursor: pointer;
    transition: border-color 0.15s;
    margin-top: var(--space-xs);
}

.sap-entry-list:hover[b-2f4hvpx2ru] {
    border-color: var(--color-gray-400);
}

.sap-entry-selected[b-2f4hvpx2ru] {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 2px rgba(30, 86, 49, 0.12);
}

.sap-add-panel[b-2f4hvpx2ru] {
    padding: var(--space-sm);
    border-radius: var(--radius-md);
    border: 1px dashed var(--color-gray-400);
    background: white;
    margin-top: var(--space-xs);
}

.sap-add-actions[b-2f4hvpx2ru] {
    display: flex;
    gap: var(--space-sm);
    justify-content: flex-end;
    margin-top: var(--space-sm);
}

.sap-divider[b-2f4hvpx2ru] {
    border: none;
    border-top: 1px solid var(--color-gray-200);
    margin: var(--space-xs) 0;
}


.field-with-lookup[b-2f4hvpx2ru] {
    display: flex;
    gap: var(--space-sm);
    flex: 1;
}

.field-with-lookup input[b-2f4hvpx2ru] {
    flex: 1;
}

.btn-lookup[b-2f4hvpx2ru] {
    padding: var(--space-xs) var(--space-md);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    transition: var(--transition-base);
    white-space: nowrap;
}

.btn-lookup:hover:not(:disabled)[b-2f4hvpx2ru] {
    background: var(--color-primary-dark);
}

.btn-lookup:disabled[b-2f4hvpx2ru] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Section header */
.section-header[b-2f4hvpx2ru] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-800);
    padding-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-gray-200);
    margin-bottom: var(--space-xs);
}

/* Editable select styled like form-control */
select.form-control[b-2f4hvpx2ru],
select.form-select[b-2f4hvpx2ru] {
    padding: var(--input-padding-sm);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    background: white;
    transition: var(--transition-base);
    cursor: pointer;
    appearance: auto;
}

select.form-control:focus[b-2f4hvpx2ru],
select.form-select:focus[b-2f4hvpx2ru] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1);
}

select.form-control:disabled[b-2f4hvpx2ru],
select.form-select:disabled[b-2f4hvpx2ru] {
    background: var(--color-gray-50);
    color: var(--color-gray-600);
    cursor: not-allowed;
}

/* Ref/Lag +/- circle buttons */
.btn-ref-action[b-2f4hvpx2ru] {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: none;
    font-size: 14px;
    font-weight: bold;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    line-height: 1;
    transition: var(--transition-base);
}

.btn-ref-add[b-2f4hvpx2ru] {
    background: #28a745;
    color: white;
}

.btn-ref-remove[b-2f4hvpx2ru] {
    background: #dc3545;
    color: white;
}

.btn-ref-action:disabled[b-2f4hvpx2ru] {
    opacity: 0.5;
    cursor: not-allowed;
}

/* SAP dropdown with lookup also needs flex on child select */
.field-with-lookup select[b-2f4hvpx2ru] {
    flex: 1;
}

/* Responsive Design */
@media (max-width: 768px) {
    .details-two-column[b-2f4hvpx2ru] {
        grid-template-columns: 1fr;
    }
}
/* /Components/Lists/Tasks/TaskDocumentsTab.razor.rz.scp.css */
/* Styles for this tab are defined inline in TaskDocumentsTab.razor via <style> block
   to avoid Blazor CSS isolation conflicts with parent ::deep rules. */

/* /Components/Lists/Tasks/TaskHistory.razor.rz.scp.css */
.history-container[b-0qpnqd0w4o] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    font-size: var(--text-sm, 13px);
}

/* Meta section (Object type / Object ID) */
.history-meta[b-0qpnqd0w4o] {
    padding: 10px 16px 6px;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

.history-meta-row[b-0qpnqd0w4o] {
    display: flex;
    gap: 16px;
    align-items: baseline;
    line-height: 1.8;
}

.history-meta-label[b-0qpnqd0w4o] {
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    min-width: 90px;
}

.history-meta-value[b-0qpnqd0w4o] {
    color: var(--color-gray-900, #111827);
}

/* "Change log" sub-heading */
.history-log-label[b-0qpnqd0w4o] {
    padding: 8px 16px 4px;
    font-weight: 600;
    font-size: var(--text-sm, 13px);
    color: var(--color-gray-700, #374151);
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

/* Table wrapper */
.history-table-wrap[b-0qpnqd0w4o] {
    flex: 1;
    overflow-y: auto;
    padding: 0 16px;
}

.history-table[b-0qpnqd0w4o] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm, 13px);
}

.history-table thead th[b-0qpnqd0w4o] {
    position: sticky;
    top: 0;
    background: white;
    padding: 8px 10px 4px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    border-bottom: 2px solid var(--color-gray-200, #e5e7eb);
    white-space: nowrap;
    z-index: 1;
}

.history-filter-row th[b-0qpnqd0w4o] {
    background: white;
    padding: 4px 6px 8px;
    border-bottom: 1px solid var(--color-gray-200, #e5e7eb);
}

.history-filter-input[b-0qpnqd0w4o] {
    width: 100%;
    padding: 3px 6px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 4px;
    font-size: var(--text-xs, 12px);
    color: var(--color-gray-700, #374151);
    background: white;
    box-sizing: border-box;
}

.history-filter-input:focus[b-0qpnqd0w4o] {
    outline: none;
    border-color: var(--color-primary, #1e5631);
}

.history-table tbody tr[b-0qpnqd0w4o] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    transition: background 0.1s;
}

.history-table tbody tr:hover[b-0qpnqd0w4o] {
    background: var(--color-gray-50, #f9fafb);
}

.history-table td[b-0qpnqd0w4o] {
    padding: 7px 10px;
    color: var(--color-gray-800, #1f2937);
    vertical-align: middle;
}

.history-user[b-0qpnqd0w4o] {
    color: var(--color-primary, #1e5631) !important;
    font-weight: 500;
}

.history-notes-badge[b-0qpnqd0w4o] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    font-size: var(--text-xs, 12px);
    font-weight: 500;
}

.history-mono[b-0qpnqd0w4o] {
    font-family: 'Consolas', 'Courier New', monospace;
    font-size: var(--text-xs, 12px);
    color: var(--color-gray-600, #4b5563) !important;
}

/* Loading skeletons */
.history-loading[b-0qpnqd0w4o] {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.history-skeleton-row[b-0qpnqd0w4o] {
    display: flex;
    gap: 24px;
    align-items: center;
}

/* Empty state */
.history-empty[b-0qpnqd0w4o] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-gray-500, #6b7280);
    font-size: var(--text-sm, 13px);
    padding: 40px;
}

/* Footer */
.history-footer[b-0qpnqd0w4o] {
    display: flex;
    justify-content: flex-end;
    padding: 10px 16px;
    border-top: 1px solid var(--color-gray-200, #e5e7eb);
}

.btn-history-close[b-0qpnqd0w4o] {
    padding: 6px 20px;
    background: white;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: var(--radius-md, 6px);
    font-size: var(--text-sm, 13px);
    font-weight: 500;
    color: var(--color-gray-700, #374151);
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
}

.btn-history-close:hover[b-0qpnqd0w4o] {
    background: var(--color-gray-50, #f9fafb);
    border-color: var(--color-gray-400, #9ca3af);
}
/* /Components/Lists/Tasks/TaskNotesTab.razor.rz.scp.css */
.note-overlay[b-4i8ahg51wa] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.note-dialog[b-4i8ahg51wa] {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    width: 460px;
    max-width: 95vw;
    overflow: hidden;
}

.note-dialog-header[b-4i8ahg51wa] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--color-border, #e2e8f0);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text-primary, #1e293b);
}

.note-close[b-4i8ahg51wa] {
    background: none;
    border: none;
    font-size: 1.3rem;
    line-height: 1;
    color: var(--color-text-secondary, #64748b);
    cursor: pointer;
    padding: 0;
}

.note-close:hover[b-4i8ahg51wa] {
    color: var(--color-text-primary, #1e293b);
}

.note-dialog-body[b-4i8ahg51wa] {
    padding: 1rem;
}

.note-field[b-4i8ahg51wa] {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.note-field label[b-4i8ahg51wa] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--color-text-secondary, #64748b);
}

.note-textarea[b-4i8ahg51wa] {
    padding: 0.45rem 0.6rem;
    font-size: 0.8rem;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 6px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    font-family: inherit;
    line-height: 1.5;
}

.note-textarea:focus[b-4i8ahg51wa] {
    outline: none;
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

.note-dialog-footer[b-4i8ahg51wa] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--color-border, #e2e8f0);
    background: var(--color-bg-secondary, #f8f9fa);
}

.btn-tab-primary[b-4i8ahg51wa] {
    background: var(--color-primary, #2563eb) !important;
    color: #fff !important;
    border-color: var(--color-primary, #2563eb) !important;
}

.btn-tab-primary:not(:disabled):hover[b-4i8ahg51wa] {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
}
/* /Components/Lists/Tasks/TaskStatusTab.razor.rz.scp.css */
/* Status Tab */
.status-tab h4[b-3kkgk8bcna] {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-gray-800);
    margin: 0 0 var(--space-md) 0;
}

.workflow-section[b-3kkgk8bcna] {
    margin-bottom: var(--space-2xl);
}

.workflow-diagram[b-3kkgk8bcna] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-xl);
    background: var(--color-gray-50);
    border-radius: var(--radius-lg);
    overflow-x: auto;
}

.workflow-stage[b-3kkgk8bcna] {
    flex-shrink: 0;
    min-width: 140px;
    padding: var(--space-md);
    border: 2px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    background: white;
    transition: var(--transition-base);
}

.workflow-stage.active[b-3kkgk8bcna] {
    border-color: #f97316;
    background: #fff7ed;
    box-shadow: var(--shadow-md);
}

.stage-header[b-3kkgk8bcna] {
    font-size: var(--text-sm);
    font-weight: 600;
    text-align: center;
    padding-bottom: var(--space-sm);
    margin-bottom: var(--space-sm);
    border-bottom: 1px solid var(--color-gray-200);
    color: var(--color-gray-700);
}

.workflow-stage.active .stage-header[b-3kkgk8bcna] {
    color: #ea580c;
}

.stage-actions[b-3kkgk8bcna] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.stage-button[b-3kkgk8bcna] {
    padding: var(--space-xs) var(--space-sm);
    background: white;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    color: var(--color-gray-700);
    cursor: pointer;
    transition: var(--transition-base);
}

.stage-button:hover:not(:disabled)[b-3kkgk8bcna] {
    background: var(--color-gray-50);
    border-color: var(--color-gray-400);
}

.stage-button.active[b-3kkgk8bcna] {
    background: #f97316;
    color: white;
    border-color: #f97316;
    font-weight: 600;
}

.stage-button:disabled[b-3kkgk8bcna] {
    cursor: not-allowed;
    opacity: 0.6;
}

.workflow-arrow[b-3kkgk8bcna] {
    font-size: var(--text-2xl);
    color: var(--color-gray-400);
    font-weight: bold;
    flex-shrink: 0;
}

/* Status Info Section */
.status-info-section[b-3kkgk8bcna] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
}

.status-grid[b-3kkgk8bcna] {
    display: grid;
    grid-template-columns: auto repeat(4, 1fr);
    gap: var(--space-md);
    align-items: center;
}

.status-label[b-3kkgk8bcna] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-700);
    text-align: center;
}

.status-label:first-child[b-3kkgk8bcna] {
    text-align: left;
}

.status-value[b-3kkgk8bcna] {
    text-align: center;
    font-size: var(--text-base);
    color: var(--color-gray-800);
    padding: var(--space-sm);
    background: var(--color-gray-50);
    border-radius: var(--radius-sm);
}

.progress-bar-container[b-3kkgk8bcna] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.progress-bar[b-3kkgk8bcna] {
    flex: 1;
    height: 24px;
    background: var(--color-gray-200);
    border-radius: var(--radius-md);
    overflow: hidden;
}

.progress-fill[b-3kkgk8bcna] {
    height: 100%;
    background: linear-gradient(90deg, #f97316 0%, #fb923c 100%);
    transition: width 0.3s ease;
}

.progress-fill.over-budget[b-3kkgk8bcna] {
    background: linear-gradient(90deg, #dc2626 0%, #ef4444 100%);
}

.progress-text[b-3kkgk8bcna] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-800);
    min-width: 50px;
}

.progress-text.over-budget-text[b-3kkgk8bcna] {
    color: #dc2626;
}

/* Responsive Design */
@media (max-width: 768px) {
    .workflow-diagram[b-3kkgk8bcna] {
        flex-direction: column;
        align-items: stretch;
    }

    .workflow-arrow[b-3kkgk8bcna] {
        transform: rotate(90deg);
        align-self: center;
    }

    .status-grid[b-3kkgk8bcna] {
        grid-template-columns: 1fr;
    }

    .status-label[b-3kkgk8bcna],
    .status-value[b-3kkgk8bcna] {
        text-align: left;
    }
}
/* /Components/Lists/Tasks/TaskWork.razor.rz.scp.css */
/* ── Container ─────────────────────────────────────────── */
.task-work-container[b-g6ywmxjjhm] {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.5rem 0;
}

/* ── Summary bar ──────────────────────────────────────── */
.work-summary-bar[b-g6ywmxjjhm] {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.6rem 0.75rem;
    background: var(--color-bg-secondary, #f8f9fa);
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 8px;
    flex-wrap: wrap;
}

.work-stat[b-g6ywmxjjhm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 68px;
    padding: 0 0.75rem;
    border-right: 1px solid var(--color-border, #e2e8f0);
}

.work-stat:last-of-type[b-g6ywmxjjhm] {
    border-right: none;
}

.work-stat-value[b-g6ywmxjjhm] {
    font-size: 1rem;
    font-weight: 700;
    color: var(--color-text-primary, #1e293b);
    line-height: 1.2;
}

.work-stat-released[b-g6ywmxjjhm]  { color: #16a34a; }
.work-stat-unreleased[b-g6ywmxjjhm] { color: #d97706; }

.work-stat-label[b-g6ywmxjjhm] {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--color-text-secondary, #64748b);
    white-space: nowrap;
}

.work-toolbar[b-g6ywmxjjhm] {
    display: flex;
    gap: 0.4rem;
    margin-left: auto;
    flex-wrap: wrap;
}

/* ── Toolbar buttons ──────────────────────────────────── */
.btn-work-action[b-g6ywmxjjhm] {
    padding: 0.28rem 0.65rem;
    font-size: 0.7rem;
    font-weight: 600;
    border-radius: 5px;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background 0.15s, opacity 0.15s;
    white-space: nowrap;
}

.btn-work-action:disabled[b-g6ywmxjjhm] {
    opacity: 0.45;
    cursor: not-allowed;
}

.btn-work-primary[b-g6ywmxjjhm] {
    background: var(--color-primary, #2563eb);
    color: #fff;
    border-color: var(--color-primary, #2563eb);
}

.btn-work-primary:not(:disabled):hover[b-g6ywmxjjhm] {
    background: var(--color-primary-hover, #1d4ed8);
}

.btn-work-danger[b-g6ywmxjjhm] {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}

.btn-work-danger:not(:disabled):hover[b-g6ywmxjjhm] {
    background: #b91c1c;
}

.btn-work-secondary[b-g6ywmxjjhm] {
    background: #fff;
    color: var(--color-text-secondary, #64748b);
    border-color: var(--color-border, #e2e8f0);
}

.btn-work-secondary:not(:disabled):hover[b-g6ywmxjjhm] {
    background: var(--color-bg-secondary, #f1f5f9);
}

/* ── Record dialog overlay ────────────────────────────── */
.record-overlay[b-g6ywmxjjhm] {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.3);
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.record-dialog[b-g6ywmxjjhm] {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0,0,0,0.18);
    width: 420px;
    max-width: 95vw;
    overflow: hidden;
}

.record-dialog-header[b-g6ywmxjjhm] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid var(--color-border, #e2e8f0);
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--color-text-primary, #1e293b);
}

.record-close[b-g6ywmxjjhm] {
    background: none;
    border: none;
    font-size: 1.3rem;
    line-height: 1;
    color: var(--color-text-secondary, #64748b);
    cursor: pointer;
    padding: 0;
}

.record-close:hover[b-g6ywmxjjhm] { color: var(--color-text-primary, #1e293b); }

.record-dialog-body[b-g6ywmxjjhm] {
    padding: 1rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.record-field[b-g6ywmxjjhm] {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.record-field-notes[b-g6ywmxjjhm] {
    grid-column: 1 / -1;
}

.record-field label[b-g6ywmxjjhm] {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--color-text-secondary, #64748b);
}

.work-input[b-g6ywmxjjhm] {
    padding: 0.35rem 0.5rem;
    font-size: 0.75rem;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 5px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
}

.work-input:focus[b-g6ywmxjjhm] {
    outline: none;
    border-color: var(--color-primary, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.12);
}

.record-error[b-g6ywmxjjhm] {
    margin: 0 1rem 0.5rem;
    padding: 0.4rem 0.6rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 5px;
    color: #b91c1c;
    font-size: 0.7rem;
}

.record-dialog-footer[b-g6ywmxjjhm] {
    display: flex;
    gap: 0.5rem;
    justify-content: flex-end;
    padding: 0.75rem 1rem;
    border-top: 1px solid var(--color-border, #e2e8f0);
    background: var(--color-bg-secondary, #f8f9fa);
}

/* ── Work table ───────────────────────────────────────── */
.work-table-wrapper[b-g6ywmxjjhm] {
    overflow-x: auto;
    border: 1px solid var(--color-border, #e2e8f0);
    border-radius: 8px;
}

.work-table[b-g6ywmxjjhm] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
}

.work-table thead tr[b-g6ywmxjjhm] {
    background: var(--color-bg-secondary, #f8f9fa);
    border-bottom: 2px solid var(--color-border, #e2e8f0);
}

.work-table thead th[b-g6ywmxjjhm] {
    padding: 0.45rem 0.6rem;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--color-text-secondary, #64748b);
    white-space: nowrap;
    text-align: left;
}

.work-table tbody tr.work-row[b-g6ywmxjjhm] {
    cursor: pointer;
    border-bottom: 1px solid var(--color-border, #e2e8f0);
    transition: background 0.12s;
}

.work-table tbody tr.work-row:hover[b-g6ywmxjjhm]  { background: #f0f7ff; }
.work-table tbody tr.row-selected[b-g6ywmxjjhm]    { background: #dbeafe; }
.work-table tbody tr.type-released[b-g6ywmxjjhm]   { background-color: #f0fdf4; }
.work-table tbody tr.type-unreleased[b-g6ywmxjjhm] { background-color: #fffbeb; }

.work-table tbody tr.type-released.row-selected[b-g6ywmxjjhm]   { background: #bbf7d0; }
.work-table tbody tr.type-unreleased.row-selected[b-g6ywmxjjhm] { background: #fde68a; }

.work-table tbody td[b-g6ywmxjjhm] {
    padding: 0.4rem 0.6rem;
    vertical-align: middle;
    color: var(--color-text-primary, #1e293b);
}

.col-toggle[b-g6ywmxjjhm] { width: 28px; text-align: center; }
.col-date[b-g6ywmxjjhm]   { white-space: nowrap; }
.col-hours[b-g6ywmxjjhm]  { white-space: nowrap; font-weight: 600; }
.col-user[b-g6ywmxjjhm]   { white-space: nowrap; }
.col-status[b-g6ywmxjjhm] { white-space: nowrap; }
.col-notes[b-g6ywmxjjhm]  { color: var(--color-text-secondary, #64748b); max-width: 200px; overflow: hidden; text-overflow: ellipsis; }
.col-wbs[b-g6ywmxjjhm]    { font-family: monospace; font-size: 0.7rem; color: var(--color-text-secondary, #64748b); }

.work-toggle-icon[b-g6ywmxjjhm] {
    color: var(--color-text-secondary, #64748b);
    font-size: 0.75rem;
    user-select: none;
}

.work-hours-cell[b-g6ywmxjjhm] {
    color: var(--color-primary, #2563eb);
}

/* ── Type badge ───────────────────────────────────────── */
.work-type-badge[b-g6ywmxjjhm] {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 10px;
    font-size: 0.62rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

.work-type-3[b-g6ywmxjjhm] { background: #dcfce7; color: #15803d; }
.work-type-2[b-g6ywmxjjhm] { background: #dbeafe; color: #1d4ed8; }
.work-type-1[b-g6ywmxjjhm], .work-type-0[b-g6ywmxjjhm] { background: #fef3c7; color: #b45309; }

/* ── Expandable SAP row ───────────────────────────────── */
.work-sap-row td[b-g6ywmxjjhm] {
    padding: 0;
    background: var(--color-bg-secondary, #f8f9fa);
    border-bottom: 1px solid var(--color-border, #e2e8f0);
}

.work-sap-details[b-g6ywmxjjhm] {
    padding: 0.75rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sap-detail-title[b-g6ywmxjjhm] {
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: var(--color-text-secondary, #64748b);
}

.sap-detail-grid[b-g6ywmxjjhm] {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 0.5rem 1rem;
}

.sap-detail-cell[b-g6ywmxjjhm] {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.sap-label[b-g6ywmxjjhm] {
    font-size: 0.6rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: var(--color-text-secondary, #64748b);
}

.sap-val[b-g6ywmxjjhm] {
    font-size: 0.72rem;
    color: var(--color-text-primary, #1e293b);
    font-family: monospace;
}

/* ── Totals footer ────────────────────────────────────── */
.work-totals-row[b-g6ywmxjjhm] {
    background: var(--color-bg-secondary, #f8f9fa);
    border-top: 2px solid var(--color-border, #e2e8f0);
    font-size: 0.75rem;
}

.work-totals-row td[b-g6ywmxjjhm] {
    padding: 0.4rem 0.6rem;
}

.totals-label[b-g6ywmxjjhm] {
    font-style: italic;
    color: var(--color-text-secondary, #64748b);
}

.totals-hours[b-g6ywmxjjhm] {
    font-weight: 700;
    color: var(--color-primary, #2563eb);
}

/* ── Empty state ──────────────────────────────────────── */
.work-empty-state[b-g6ywmxjjhm] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 2.5rem 1rem;
    color: var(--color-text-secondary, #64748b);
    font-size: 0.8rem;
    border: 1px dashed var(--color-border, #e2e8f0);
    border-radius: 8px;
    text-align: center;
}

.work-empty-icon[b-g6ywmxjjhm] {
    font-size: 1.8rem;
    opacity: 0.5;
}
/* /Components/Lists/Timesheet/QuickTimeEntry.razor.rz.scp.css */
/* Quick Entry Section */
.quick-entry-section[b-5f3fpj43kd] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
}

.quick-entry-header h3[b-5f3fpj43kd] {
    margin: 0 0 var(--space-md) 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-gray-800);
}

.entry-form[b-5f3fpj43kd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.form-row[b-5f3fpj43kd] {
    display: flex;
    gap: var(--space-md);
    align-items: flex-end;
    flex-wrap: wrap;
}

.form-group[b-5f3fpj43kd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxs);
}

.form-group label[b-5f3fpj43kd] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
}

/* Task Selection Table */
.task-select-section[b-5f3fpj43kd] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.task-select-header[b-5f3fpj43kd] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
}

.task-select-header label[b-5f3fpj43kd] {
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    white-space: nowrap;
}

.task-search-input[b-5f3fpj43kd] {
    width: 260px;
}

.task-select-table-wrapper[b-5f3fpj43kd] {
    max-height: 280px;
    overflow-y: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
}

.task-select-table[b-5f3fpj43kd] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.task-select-table thead[b-5f3fpj43kd] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--color-gray-50, #f9fafb);
}

.task-select-table th[b-5f3fpj43kd] {
    padding: var(--space-xs) var(--space-sm);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-500);
    text-transform: uppercase;
    border-bottom: 1px solid var(--color-gray-200);
}

.task-select-table td[b-5f3fpj43kd] {
    padding: var(--space-xs) var(--space-sm);
    color: var(--color-gray-800);
    border-bottom: 1px solid var(--color-gray-100);
    vertical-align: middle;
}

.task-select-row[b-5f3fpj43kd] {
    cursor: pointer;
    transition: background var(--transition-fast);
}

.task-select-row:hover[b-5f3fpj43kd] {
    background: var(--color-gray-50, #f9fafb);
}

.task-select-row.selected[b-5f3fpj43kd] {
    background: rgba(30, 123, 52, 0.08);
    outline: 2px solid var(--color-primary, #1e7b34);
    outline-offset: -2px;
}

.task-select-row.selected td[b-5f3fpj43kd] {
    color: var(--color-primary, #1e7b34);
    font-weight: 500;
}

.no-tasks-row[b-5f3fpj43kd] {
    text-align: center;
    color: var(--color-gray-400);
    padding: var(--space-md) !important;
}

.badge[b-5f3fpj43kd] {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 12px;
    font-size: var(--text-xs);
    font-weight: 600;
}

.badge.in-progress[b-5f3fpj43kd]  { background: #dbeafe; color: #1e40af; }
.badge.completed[b-5f3fpj43kd]    { background: #dcfce7; color: #166534; }
.badge.overdue[b-5f3fpj43kd]      { background: #fee2e2; color: #991b1b; }
.badge.not-started[b-5f3fpj43kd]  { background: #f3f4f6; color: #374151; }
.badge.unknown[b-5f3fpj43kd]      { background: #f3f4f6; color: #6b7280; }

.form-group.date-input[b-5f3fpj43kd] {
    width: 140px;
}

.form-group.hours-input[b-5f3fpj43kd] {
    width: 80px;
}

.form-group.notes-input[b-5f3fpj43kd] {
    flex: 1;
    min-width: 150px;
}

.form-group.button-group[b-5f3fpj43kd] {
    align-self: flex-end;
}

.form-control[b-5f3fpj43kd] {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-base);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    background: white;
    transition: border-color var(--transition-fast);
}

.form-control:focus[b-5f3fpj43kd] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(30, 123, 52, 0.1);
}

.btn-add[b-5f3fpj43kd] {
    padding: var(--space-sm) var(--space-lg);
    font-size: var(--text-base);
    font-weight: 600;
    background: var(--color-primary, #1e7b34);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: background var(--transition-fast);
    white-space: nowrap;
}

.btn-add:hover:not(:disabled)[b-5f3fpj43kd] {
    background: var(--color-primary-dark, #166428);
}

.btn-add:disabled[b-5f3fpj43kd] {
    opacity: 0.6;
    cursor: not-allowed;
}

.entry-error[b-5f3fpj43kd] {
    padding: var(--space-sm) var(--space-md);
    background: #fee;
    border: 1px solid #fcc;
    border-radius: var(--radius-md);
    color: #c00;
    font-size: var(--text-sm);
}

.entry-success[b-5f3fpj43kd] {
    padding: var(--space-sm) var(--space-md);
    background: #efe;
    border: 1px solid #cfc;
    border-radius: var(--radius-md);
    color: #060;
    font-size: var(--text-sm);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .form-row[b-5f3fpj43kd] {
        flex-direction: column;
        align-items: stretch;
    }

    .task-search-input[b-5f3fpj43kd] {
        width: 100%;
    }

    .form-group.date-input[b-5f3fpj43kd],
    .form-group.hours-input[b-5f3fpj43kd],
    .form-group.notes-input[b-5f3fpj43kd] {
        width: 100%;
        min-width: auto;
    }

    .form-group.button-group[b-5f3fpj43kd] {
        align-self: stretch;
    }

    .btn-add[b-5f3fpj43kd] {
        width: 100%;
    }
}
/* /Components/Lists/Timesheet/RecentTimeEntries.razor.rz.scp.css */
/* Recent Entries Section */
.recent-entries-section[b-gcj3q72vfe] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
}

.section-header[b-gcj3q72vfe] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-md);
    gap: var(--space-md);
}

.section-header h3[b-gcj3q72vfe] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-gray-800);
}

.entries-table[b-gcj3q72vfe] {
    width: 100%;
    border-collapse: collapse;
}

.entries-table th[b-gcj3q72vfe] {
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-gray-200);
}

.entries-table td[b-gcj3q72vfe] {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-100);
}

.entries-table tr:hover[b-gcj3q72vfe] {
    background: var(--color-gray-50);
}

.status-badge[b-gcj3q72vfe] {
    display: inline-block;
    padding: var(--space-xxs) var(--space-sm);
    font-size: var(--text-2xs);
    font-weight: 600;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
}

.status-badge.status-released[b-gcj3q72vfe] {
    background: #d4edda;
    color: #155724;
}

.status-badge.status-done[b-gcj3q72vfe] {
    background: #cce5ff;
    color: #004085;
}

.status-badge.status-not-booked[b-gcj3q72vfe] {
    background: #fff3cd;
    color: #856404;
}

/* Empty states */
.no-entries[b-gcj3q72vfe] {
    padding: var(--space-xl);
    text-align: center;
    color: var(--color-gray-500);
    font-size: var(--text-sm);
}
/* /Components/Lists/Timesheet/TaskListTable.razor.rz.scp.css */
/* Tasks Section */
.tasks-section[b-onvc7eus58] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
}
.collapse-icon[b-onvc7eus58] {
    cursor: pointer;
}
.section-header[b-onvc7eus58] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-md);
    gap: var(--space-md);
}

.section-header h3[b-onvc7eus58] {
    margin: 0;
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--color-gray-800);
}

.search-box[b-onvc7eus58] {
    flex: 0 0 auto;
}

.search-input[b-onvc7eus58] {
    padding: var(--space-xs) var(--space-md);
    font-size: var(--text-sm);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    width: 250px;
    transition: border-color var(--transition-fast);
}

.search-input:focus[b-onvc7eus58] {
    outline: none;
    border-color: var(--color-primary);
}

.task-list[b-onvc7eus58] {
    overflow-x: auto;
}

.task-table[b-onvc7eus58] {
    width: 100%;
    border-collapse: collapse;
}

.task-table th[b-onvc7eus58] {
    text-align: left;
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-xs);
    font-weight: 600;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 2px solid var(--color-gray-200);
}

.task-table td[b-onvc7eus58] {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-100);
}

.task-row[b-onvc7eus58] {
    transition: background var(--transition-fast);
}

.task-row:hover[b-onvc7eus58] {
    background: var(--color-gray-50);
}

.task-row.selected[b-onvc7eus58] {
    background: rgba(30, 123, 52, 0.08);
}

.task-name[b-onvc7eus58] {
    font-weight: 500;
    cursor: pointer;
    color: var(--color-primary, #1e7b34);
}

.task-name:hover[b-onvc7eus58] {
    text-decoration: underline;
}

/* Status badges */
.badge[b-onvc7eus58] {
    display: inline-block;
    padding: var(--space-xxs) var(--space-sm);
    font-size: var(--text-2xs);
    font-weight: 600;
    border-radius: var(--radius-sm);
    text-transform: uppercase;
}

.badge.completed[b-onvc7eus58] {
    background: #d4edda;
    color: #155724;
}

.badge.in-progress[b-onvc7eus58] {
    background: #cce5ff;
    color: #004085;
}

.badge.not-started[b-onvc7eus58] {
    background: #e2e3e5;
    color: #383d41;
}

.badge.overdue[b-onvc7eus58] {
    background: #f8d7da;
    color: #721c24;
}

/* Quick action buttons */
.quick-actions[b-onvc7eus58] {
    display: flex;
    gap: var(--space-xxs);
}

.quick-btn[b-onvc7eus58] {
    padding: var(--space-xxs) var(--space-xs);
    font-size: var(--text-2xs);
    font-weight: 600;
    background: var(--color-gray-100);
    color: var(--color-gray-700);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.quick-btn:hover[b-onvc7eus58] {
    background: var(--color-primary, #1e7b34);
    color: white;
    border-color: var(--color-primary, #1e7b34);
}

.quick-btn-lg[b-onvc7eus58] {
    background: var(--color-primary-light, #e8f5e9);
    color: var(--color-primary, #1e7b34);
    border-color: var(--color-primary, #1e7b34);
}

/* Pagination */
.pagination-container[b-onvc7eus58] {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--space-sm);
    margin-top: var(--space-lg);
    padding-top: var(--space-md);
    border-top: 1px solid var(--color-gray-200);
}

.pagination-btn[b-onvc7eus58] {
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-sm);
    background: white;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: all var(--transition-fast);
}

.pagination-btn:hover:not(:disabled)[b-onvc7eus58] {
    background: var(--color-gray-100);
}

.pagination-btn:disabled[b-onvc7eus58] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-info[b-onvc7eus58] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
}

/* Empty states */
.no-tasks[b-onvc7eus58] {
    padding: var(--space-xl);
    text-align: center;
    color: var(--color-gray-500);
    font-size: var(--text-sm);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .section-header[b-onvc7eus58] {
        flex-direction: column;
        align-items: flex-start;
    }

    .search-input[b-onvc7eus58] {
        width: 100%;
    }

    .quick-actions[b-onvc7eus58] {
        flex-wrap: wrap;
    }
}
/* /Components/Lists/Workpackages/NewWorkpackageDialog.razor.rz.scp.css */
.new-wp-dialog[b-jpbrgowv37] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 4px 2px;
}

.nwd-field[b-jpbrgowv37] {
    display: grid;
    grid-template-columns: 90px 1fr;
    align-items: center;
    gap: 8px;
}

.nwd-field--top[b-jpbrgowv37] {
    align-items: flex-start;
}

.nwd-field label[b-jpbrgowv37] {
    font-size: 0.78rem;
    font-weight: 500;
    color: var(--color-gray-700, #374151);
    padding-top: 2px;
}

.nwd-required[b-jpbrgowv37] {
    color: #ef4444;
    margin-left: 1px;
}

.nwd-input[b-jpbrgowv37] {
    padding: 5px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 3px;
    font-size: 0.82rem;
    color: var(--color-gray-900, #111827);
    background: white;
    width: 100%;
    box-sizing: border-box;
    font-family: inherit;
}

.nwd-input:focus[b-jpbrgowv37] {
    outline: none;
    border-color: var(--color-blue-500, #3b82f6);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.15);
}

.nwd-select[b-jpbrgowv37] {
    appearance: auto;
    cursor: pointer;
}

.nwd-textarea[b-jpbrgowv37] {
    resize: vertical;
    min-height: 72px;
    line-height: 1.4;
}

.nwd-error[b-jpbrgowv37] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
    border-radius: 3px;
    padding: 5px 10px;
    font-size: 0.8rem;
}

.nwd-footer[b-jpbrgowv37] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
    margin-top: 4px;
}

.nwd-btn[b-jpbrgowv37] {
    padding: 5px 18px;
    border-radius: 3px;
    font-size: 0.82rem;
    cursor: pointer;
    border: 1px solid transparent;
}

.nwd-btn--primary[b-jpbrgowv37] {
    background: var(--color-primary, #2563eb);
    color: white;
    border-color: var(--color-primary, #2563eb);
}

.nwd-btn--primary:hover:not(:disabled)[b-jpbrgowv37] {
    background: #1d4ed8;
}

.nwd-btn--cancel[b-jpbrgowv37] {
    background: white;
    color: var(--color-gray-700, #374151);
    border-color: var(--color-gray-300, #d1d5db);
}

.nwd-btn--cancel:hover:not(:disabled)[b-jpbrgowv37] {
    background: var(--color-gray-100, #f3f4f6);
}

.nwd-btn:disabled[b-jpbrgowv37] {
    opacity: 0.55;
    cursor: not-allowed;
}
/* /Components/Lists/Workpackages/WorkpackageDashboardTab.razor.rz.scp.css */
.dashboard-grid[b-wo1kfhqij3] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.dashboard-card[b-wo1kfhqij3] {
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 4px;
    padding: 0;
    background: white;
    overflow: hidden;
}

.dashboard-card-header[b-wo1kfhqij3] {
    padding: 4px 10px;
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--color-gray-100, #f3f4f6);
    background: #003366;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.dashboard-card--wide[b-wo1kfhqij3] {
    grid-column: 1 / -1;
}

.tab-loading[b-wo1kfhqij3] { padding: 12px 0; }

.tab-placeholder[b-wo1kfhqij3] {
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.82rem;
    padding: 20px 0;
    text-align: center;
}

.no-data[b-wo1kfhqij3] {
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}
/* /Components/Lists/Workpackages/WorkpackageDetails.razor.rz.scp.css */
/* ── Outer shell ─────────────────────────────────────── */
.wp-details-container[b-xdoufxfruv] {
    display: flex;
    flex-direction: column;
    height: 100%;
    background: white;
    font-size: var(--text-sm, 13px);
}

/* ── Two-column layout ───────────────────────────────── */
.wp-details-layout[b-xdoufxfruv] {
    display: grid;
    grid-template-columns: 220px 1fr;
    flex: 1;
    min-height: 0;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

/* ── Left: structure tree ─────────────────────────────── */
.structure-panel[b-xdoufxfruv] {
    border-right: 1px solid var(--color-gray-200, #e2e8f0);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #f8f8f8;
}

.structure-panel-header[b-xdoufxfruv] {
    padding: 6px 10px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500, #9ca3af);
    background: var(--color-gray-100, #f3f4f6);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

.tree-body[b-xdoufxfruv] {
    overflow: auto;
    flex: 1;
    padding: 4px 0;
}

.tree-empty[b-xdoufxfruv] {
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}

.tree-skeleton-row[b-xdoufxfruv] {
    padding: 5px 12px;
}

/* ── Right: detail panel ─────────────────────────────── */
.details-panel[b-xdoufxfruv] {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.details-panel-header[b-xdoufxfruv] {
    padding: 8px 14px;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    background: var(--color-gray-100, #f3f4f6);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

/* ── Tabs ────────────────────────────────────────────── */
.details-tabs[b-xdoufxfruv] {
    display: flex;
    border-bottom: 1px solid var(--color-gray-300, #d1d5db);
    flex-shrink: 0;
    background: #f0f0f0;
}

.tab-button[b-xdoufxfruv] {
    padding: 7px 18px;
    border: none;
    border-right: 1px solid var(--color-gray-300, #d1d5db);
    border-bottom: 2px solid transparent;
    background: #e8e8e8;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 400;
    color: var(--color-gray-700, #374151);
    transition: background 0.1s;
    white-space: nowrap;
}

.tab-button:hover[b-xdoufxfruv] {
    background: #dcdcdc;
}

.tab-button.active[b-xdoufxfruv] {
    background: white;
    border-bottom-color: var(--color-primary, #2563eb);
    color: var(--color-primary, #2563eb);
    font-weight: 500;
}

/* ── Tab content ─────────────────────────────────────── */
.tab-content[b-xdoufxfruv] {
    flex: 1;
    overflow: auto;
    padding: 12px 14px;
}

/* ── Form fields (General tab) ───────────────────────── */
.form-field[b-xdoufxfruv] {
    margin-bottom: 10px;
}

.form-field label[b-xdoufxfruv] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-gray-500, #9ca3af);
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

/* ── Footer ──────────────────────────────────────────── */
.details-footer[b-xdoufxfruv] {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    padding: 8px 14px;
    background: var(--color-gray-100, #f3f4f6);
    border-top: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

.btn-apply[b-xdoufxfruv],
.btn-dialog-close[b-xdoufxfruv] {
    padding: 5px 20px;
    font-size: 0.78rem;
    border-radius: 3px;
    cursor: pointer;
    border: 1px solid var(--color-gray-300, #d1d5db);
}

.btn-apply[b-xdoufxfruv] {
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-500, #9ca3af);
}

.btn-dialog-close[b-xdoufxfruv] {
    background: var(--color-primary, #2563eb);
    color: white;
    border-color: var(--color-primary, #2563eb);
}

.btn-dialog-close:hover[b-xdoufxfruv] {
    opacity: 0.9;
}

/* ── Error ───────────────────────────────────────────── */
.load-error[b-xdoufxfruv] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-danger, #dc2626);
}
/* /Components/Lists/Workpackages/WorkpackageDocumentsTab.razor.rz.scp.css */
.tasks-table-wrapper[b-gqpdu4e6kb] {
    overflow-x: auto;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 2px;
}

.resources-table[b-gqpdu4e6kb] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.resources-table thead tr[b-gqpdu4e6kb] {
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
}

.resources-table th[b-gqpdu4e6kb] {
    padding: 5px 10px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    font-size: 0.78rem;
}

.resources-table tbody tr[b-gqpdu4e6kb] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
}

.resources-table tbody tr:hover[b-gqpdu4e6kb] {
    background: var(--color-gray-50, #f9fafb);
}

.resources-table td[b-gqpdu4e6kb] {
    padding: 5px 10px;
    color: var(--color-gray-800, #1f2937);
}

.tab-loading[b-gqpdu4e6kb] { padding: 12px 0; }

.tab-placeholder[b-gqpdu4e6kb] {
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.82rem;
    padding: 20px 0;
    text-align: center;
}
/* /Components/Lists/Workpackages/WorkpackageGeneralTab.razor.rz.scp.css */
.form-field[b-i2q5u8d14f] {
    margin-bottom: 10px;
}

.form-field label[b-i2q5u8d14f] {
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    color: var(--color-gray-500, #9ca3af);
    margin-bottom: 3px;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.form-control[b-i2q5u8d14f] {
    width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    border-radius: 3px;
    font-size: 0.8rem;
    background: white;
    color: var(--color-gray-800, #1f2937);
    box-sizing: border-box;
    font-family: inherit;
}

.form-control:focus[b-i2q5u8d14f] {
    outline: none;
    border-color: var(--color-blue-500, #3b82f6);
}

.form-control--select[b-i2q5u8d14f] {
    appearance: auto;
    cursor: pointer;
}

.form-textarea[b-i2q5u8d14f] {
    min-height: 80px;
    resize: vertical;
    line-height: 1.4;
}

.form-field--top label[b-i2q5u8d14f] {
    vertical-align: top;
}

/* ── Save status ─────────────────────────────────────── */
.save-status[b-i2q5u8d14f] {
    margin-top: 8px;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 0.8rem;
}

.save-status--success[b-i2q5u8d14f] {
    background: #f0fdf4;
    color: #15803d;
    border: 1px solid #bbf7d0;
}

.save-status--error[b-i2q5u8d14f] {
    background: #fef2f2;
    color: #b91c1c;
    border: 1px solid #fecaca;
}
/* /Components/Lists/Workpackages/WorkpackageTasksTab.razor.rz.scp.css */
/* ── Outer shell ────────────────────────────────────────── */
.tasks-tab[b-yyq02mjqpj] {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.tasks-msg[b-yyq02mjqpj] {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--color-gray-500, #6b7280);
    font-size: 0.8rem;
    padding: 12px 0;
}

.tasks-scroll[b-yyq02mjqpj] {
    overflow: auto;
    max-height: 620px;
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 4px 4px 0 0;
}

.tasks-table[b-yyq02mjqpj] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.72rem;
    white-space: nowrap;
}

.tasks-table thead th[b-yyq02mjqpj] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: var(--color-gray-50, #f9fafb);
    padding: 5px 8px;
    text-align: left;
    font-size: 0.67rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--color-gray-500, #6b7280);
    border-bottom: 2px solid var(--color-gray-200, #e2e8f0);
}

.tasks-table td[b-yyq02mjqpj] {
    padding: 3px 8px;
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-700, #374151);
    vertical-align: middle;
    line-height: 1.4;
}

.tasks-table tbody tr:last-child td[b-yyq02mjqpj] { border-bottom: none; }
.tasks-table tbody tr:hover td[b-yyq02mjqpj] { background: #eff6ff; }
.tasks-table tbody tr.clickable-row[b-yyq02mjqpj] { cursor: pointer; }

.th-status[b-yyq02mjqpj], .td-status[b-yyq02mjqpj] { width: 22px; padding: 3px 4px; text-align: center; }
.th-id[b-yyq02mjqpj], .td-id[b-yyq02mjqpj] { width: 56px; font-family: monospace; font-size: 0.67rem; color: var(--color-gray-400, #9ca3af); }
.th-num[b-yyq02mjqpj], .td-num[b-yyq02mjqpj] { text-align: right; padding-right: 10px; font-variant-numeric: tabular-nums; }
.td-date[b-yyq02mjqpj] { font-size: 0.67rem; font-variant-numeric: tabular-nums; }
.td-name[b-yyq02mjqpj] { max-width: 170px; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
.td-desc[b-yyq02mjqpj] { max-width: 150px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }
.td-person[b-yyq02mjqpj] { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }
.td-type[b-yyq02mjqpj] { max-width: 130px; overflow: hidden; text-overflow: ellipsis; color: var(--color-gray-500, #6b7280); }

.state-dot[b-yyq02mjqpj] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.state-dot--new[b-yyq02mjqpj] { background: #9ca3af; }
.state-dot--active[b-yyq02mjqpj] { background: #3b82f6; }
.state-dot--done[b-yyq02mjqpj] { background: #10b981; }
.state-dot--hold[b-yyq02mjqpj] { background: #f59e0b; }
.state-dot--unknown[b-yyq02mjqpj] { background: #d1d5db; }

.status-badge[b-yyq02mjqpj] { display: inline-block; padding: 1px 5px; border-radius: 10px; font-size: 0.63rem; font-weight: 700; white-space: nowrap; }
.status-badge--new[b-yyq02mjqpj] { background: #f3f4f6; color: #4b5563; }
.status-badge--active[b-yyq02mjqpj] { background: #dbeafe; color: #1d4ed8; }
.status-badge--done[b-yyq02mjqpj] { background: #d1fae5; color: #065f46; }
.status-badge--hold[b-yyq02mjqpj] { background: #fef3c7; color: #92400e; }
.status-badge--unknown[b-yyq02mjqpj] { background: #f3f4f6; color: #6b7280; }

.sched-badge[b-yyq02mjqpj] { font-size: 0.63rem; font-weight: 600; white-space: nowrap; }
.sched-badge--ontime[b-yyq02mjqpj] { color: #065f46; }
.sched-badge--overdue[b-yyq02mjqpj] { color: #991b1b; }
.sched-badge--none[b-yyq02mjqpj] { color: #9ca3af; }

.tasks-summary[b-yyq02mjqpj] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 6px 12px;
    background: var(--color-gray-50, #f9fafb);
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-top: none;
    border-radius: 0 0 4px 4px;
    font-size: 0.7rem;
    color: var(--color-gray-600, #4b5563);
}

.summary-label[b-yyq02mjqpj] { font-weight: 700; color: var(--color-gray-700, #374151); }
.summary-sep[b-yyq02mjqpj] { color: var(--color-gray-300, #d1d5db); }

.progress-wrap[b-yyq02mjqpj] { width: 76px; height: 9px; background: var(--color-gray-200, #e5e7eb); border-radius: 5px; overflow: hidden; }
.progress-fill[b-yyq02mjqpj] { height: 100%; background: #22c55e; border-radius: 5px; transition: width 0.4s ease; }
.progress-pct[b-yyq02mjqpj] { font-weight: 700; color: var(--color-gray-700, #374151); min-width: 30px; }

@keyframes skel-shimmer-b-yyq02mjqpj { 0% { background-position: -400px 0; } 100% { background-position: 400px 0; } }
.skel-block[b-yyq02mjqpj] { display: inline-block; height: 10px; width: 60px; border-radius: 4px; background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%); background-size: 800px 100%; animation: skel-shimmer-b-yyq02mjqpj 1.4s ease-in-out infinite; }
.skel-block.skel-narrow[b-yyq02mjqpj] { width: 38px; }
.skel-block.skel-wide[b-yyq02mjqpj] { width: 100px; }
.skel-block.skel-badge[b-yyq02mjqpj] { width: 56px; height: 14px; border-radius: 8px; }
.skel-dot[b-yyq02mjqpj] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%); background-size: 800px 100%; animation: skel-shimmer-b-yyq02mjqpj 1.4s ease-in-out infinite; }
/* /Components/MainLayout/ProfileDropdown.razor.rz.scp.css */
.profile-section[b-j1pni8na5d] {
    position: relative;
}

.profile-menu-btn[b-j1pni8na5d] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--button-padding-xs);
    background: var(--bg-white, #ffffff);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all var(--transition-base);
    box-shadow: var(--shadow-xs);
}

.profile-menu-btn:hover[b-j1pni8na5d] {
    background-color: var(--color-gray-50);
    border-color: var(--color-gray-300);
    box-shadow: var(--shadow-sm);
}

.profile-avatar[b-j1pni8na5d] {
    width: var(--avatar-xs);
    height: var(--avatar-xs);
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%);
    color: white;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: var(--text-xs);
    flex-shrink: 0;
}

.profile-info[b-j1pni8na5d] {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-xxs);
}

.profile-name[b-j1pni8na5d] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-800);
    line-height: 1.2;
}

.profile-role[b-j1pni8na5d] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    line-height: 1.2;
}

.dropdown-arrow[b-j1pni8na5d] {
    font-size: var(--text-2xs);
    color: var(--color-gray-400);
    margin-left: var(--space-xxs);
    transition: transform var(--transition-base);
}

.profile-dropdown[b-j1pni8na5d] {
    position: absolute;
    top: calc(100% + var(--space-xs));
    right: 0;
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl), var(--shadow-sm);
    min-width: 280px;
    max-height: 450px;
    overflow-y: auto;
    z-index: var(--z-dropdown);
    animation: slideDown-b-j1pni8na5d var(--transition-base);
}

@keyframes slideDown-b-j1pni8na5d {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dropdown-header[b-j1pni8na5d] {
    padding: var(--space-md) var(--space-lg) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-600);
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--color-gray-100);
}

.dropdown-section[b-j1pni8na5d] {
    padding: var(--space-xs) 0;
}

.dropdown-section:not(:last-child)[b-j1pni8na5d] {
    border-bottom: 1px solid var(--color-gray-100);
}

.section-title[b-j1pni8na5d] {
    padding: var(--space-sm) var(--space-lg) var(--space-xs);
    font-size: var(--text-2xs);
    font-weight: 700;
    color: var(--color-gray-400);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.section-title.collapsible[b-j1pni8na5d] {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-lg);
    transition: all var(--transition-fast);
    user-select: none;
}

.section-title.collapsible:hover[b-j1pni8na5d] {
    background-color: var(--color-gray-50);
    color: var(--color-gray-600);
}

.expand-icon[b-j1pni8na5d] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    transition: transform var(--transition-fast);
}

.team-count[b-j1pni8na5d] {
    font-size: var(--text-2xs);
    color: var(--color-gray-400);
    margin-left: var(--space-xs);
}

.dropdown-item[b-j1pni8na5d] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-xs) var(--space-lg);
    cursor: pointer;
    transition: all var(--transition-fast);
    position: relative;
}

.dropdown-item:hover[b-j1pni8na5d] {
    background-color: var(--color-gray-50);
}

.dropdown-item.active[b-j1pni8na5d] {
    background-color: var(--color-info-light);
    border-left: 2px solid var(--color-info);
}

.item-avatar[b-j1pni8na5d] {
    width: 28px;
    height: 28px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: var(--text-xs);
    color: white;
    flex-shrink: 0;
    box-shadow: var(--shadow-sm);
}

.group-avatar[b-j1pni8na5d] {
    background: linear-gradient(135deg, var(--color-info) 0%, #3182ce 100%);
    font-size: var(--text-xs);
}

.item-info[b-j1pni8na5d] {
    flex: 1;
    min-width: 0;
}

.item-name[b-j1pni8na5d] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-subtitle[b-j1pni8na5d] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
}

.active-badge[b-j1pni8na5d] {
    padding: var(--space-xxs) var(--space-sm);
    background-color: var(--color-success-light);
    color: var(--color-success);
    border-radius: 10px;
    font-size: var(--text-2xs);
    font-weight: 700;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Scrollbar styling */
.profile-dropdown[b-j1pni8na5d]::-webkit-scrollbar {
    width: 5px;
}

.profile-dropdown[b-j1pni8na5d]::-webkit-scrollbar-track {
    background: var(--color-gray-50);
}

.profile-dropdown[b-j1pni8na5d]::-webkit-scrollbar-thumb {
    background: var(--color-gray-300);
    border-radius: 3px;
}

/* Team group styling */
.dropdown-item.team-group[b-j1pni8na5d] {
    background-color: var(--color-gray-50);
    border-left: 3px solid #2196f3;
    font-weight: 600;
    margin-bottom: 2px;
    padding: var(--space-xs) var(--space-lg);
}

.dropdown-item.team-group:hover[b-j1pni8na5d] {
    background-color: var(--color-gray-100);
}

.dropdown-item.team-group.active[b-j1pni8na5d] {
    background-color: #e3f2fd;
    border-left: 3px solid #2196f3;
}

.dropdown-item.team-group .item-avatar.team-avatar[b-j1pni8na5d] {
    width: 28px;
    height: 28px;
    font-size: var(--text-xs);
}

/* Individual user within team */
.dropdown-item.user-item[b-j1pni8na5d] {
    padding: var(--space-xs) var(--space-lg) var(--space-xs) calc(var(--space-lg) + var(--space-lg));
    border-left: 1px solid var(--color-gray-200);
    margin-left: var(--space-lg);
}

.dropdown-item.user-item:hover[b-j1pni8na5d] {
    background-color: var(--color-gray-50);
}

.profile-dropdown[b-j1pni8na5d]::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-400);
}
/* /Components/MainLayout/QuickSearchBar.razor.rz.scp.css */
.quick-search-container[b-2nbim16mca] {
    flex: 1;
    max-width: 400px;
    margin-right: var(--space-lg);
}

.quick-search-wrapper[b-2nbim16mca] {
    position: relative;
    display: flex;
    align-items: center;
}

.quick-search-icon[b-2nbim16mca] {
    position: absolute;
    left: var(--space-md);
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    font-weight: 500;
    pointer-events: none;
    display: flex;
    align-items: center;
    gap: 2px;
}

.quick-search-input[b-2nbim16mca] {
    width: 100%;
    padding: var(--space-sm) var(--space-md) var(--space-sm) 3rem;
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    outline: none;
    transition: all var(--transition-base);
}

.quick-search-input[b-2nbim16mca]::placeholder {
    color: var(--color-gray-400);
    font-size: var(--text-sm);
}

.quick-search-input:focus[b-2nbim16mca] {
    background: white;
    border-color: var(--color-gray-300);
    box-shadow: var(--shadow-sm);
}

.quick-search-input:hover:not(:focus)[b-2nbim16mca] {
    background: white;
    border-color: var(--color-gray-300);
}


.profile-role[b-2nbim16mca] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    line-height: 1.2;
}

.dropdown-arrow[b-2nbim16mca] {
    font-size: var(--text-2xs);
    color: var(--color-gray-400);
    margin-left: var(--space-xxs);
    transition: transform var(--transition-base);
}

.profile-dropdown[b-2nbim16mca] {
    position: absolute;
    top: calc(100% + var(--space-xs));
    right: 0;
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xl), var(--shadow-sm);
    min-width: 280px;
    max-height: 450px;
    overflow-y: auto;
    z-index: var(--z-dropdown);
    animation: slideDown-b-2nbim16mca var(--transition-base);
}

@keyframes slideDown-b-2nbim16mca {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.dropdown-header[b-2nbim16mca] {
    padding: var(--space-md) var(--space-lg) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-600);
    letter-spacing: 0.6px;
    border-bottom: 1px solid var(--color-gray-100);
}

.dropdown-section[b-2nbim16mca] {
    padding: var(--space-xs) 0;
}

.dropdown-section:not(:last-child)[b-2nbim16mca] {
    border-bottom: 1px solid var(--color-gray-100);
}

.section-title[b-2nbim16mca] {
    padding: var(--space-sm) var(--space-lg) var(--space-xs);
    font-size: var(--text-2xs);
    font-weight: 700;
    color: var(--color-gray-400);
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.dropdown-item[b-2nbim16mca] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-sm) var(--space-lg);
    cursor: pointer;
    transition: all var(--transition-fast);
    position: relative;
}

.dropdown-item:hover[b-2nbim16mca] {
    background-color: var(--color-gray-50);
}

.dropdown-item.active[b-2nbim16mca] {
    background-color: var(--color-info-light);
    border-left: 2px solid var(--color-info);
}

.item-avatar[b-2nbim16mca] {
    width: var(--avatar-sm);
    height: var(--avatar-sm);
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: var(--text-sm);
    color: white;
    flex-shrink: 0;
    box-shadow: var(--shadow-sm);
}

.group-avatar[b-2nbim16mca] {
    background: linear-gradient(135deg, var(--color-info) 0%, #3182ce 100%);
    font-size: var(--text-xs);
}

.item-info[b-2nbim16mca] {
    flex: 1;
    min-width: 0;
}

.item-name[b-2nbim16mca] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-bottom: var(--space-xxs);
}

.item-subtitle[b-2nbim16mca] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
}

.active-badge[b-2nbim16mca] {
    padding: var(--space-xxs) var(--space-sm);
    background-color: var(--color-success-light);
    color: var(--color-success);
    border-radius: 10px;
    font-size: var(--text-2xs);
    font-weight: 700;
    flex-shrink: 0;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* Scrollbar styling */
.profile-dropdown[b-2nbim16mca]::-webkit-scrollbar {
    width: 5px;
}

.profile-dropdown[b-2nbim16mca]::-webkit-scrollbar-track {
    background: var(--color-gray-50);
}

.profile-dropdown[b-2nbim16mca]::-webkit-scrollbar-thumb {
    background: var(--color-gray-300);
    border-radius: 3px;
}

.profile-dropdown[b-2nbim16mca]::-webkit-scrollbar-thumb:hover {
    background: var(--color-gray-400);
}
/* /Layout/MainLayout.razor.rz.scp.css */
.page[b-iqa3kzfc5d] {
    position: relative;
    display: flex;
    flex-direction: column;
}

main[b-iqa3kzfc5d] {
    flex: 1;
    position: relative;
    z-index: 1;
    isolation: isolate;
}

.sidebar[b-iqa3kzfc5d] {
    background-color: #1e5631;
    padding: 0;
    display: flex;
    flex-direction: column;
    height: 100vh;
    overflow: visible;
    position: relative;
    z-index: 100;
}

.logo-header[b-iqa3kzfc5d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem;
    background-color: #1a4a2a;
}

.logo-icon[b-iqa3kzfc5d] {
    width: 2rem;
    height: 2rem;
    background-color: white;
    color: #1e5631;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.9rem;
}

.logo-title[b-iqa3kzfc5d] {
    color: white;
    font-size: 1rem;
    font-weight: 600;
}

.env-indicator[b-iqa3kzfc5d] {
    font-size: 0.55rem;
    padding: 0.15rem 0.4rem;
    border-radius: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.env-dev[b-iqa3kzfc5d],
.env-azuredev[b-iqa3kzfc5d] {
    background-color: #ffc107;
    color: #000;
}

.env-local[b-iqa3kzfc5d] {
    background-color: #28a745;
    color: white;
}

.env-test[b-iqa3kzfc5d] {
    background-color: #17a2b8;
    color: white;
}

.env-staging[b-iqa3kzfc5d] {
    background-color: #6c757d;
    color: white;
}

.env-uat[b-iqa3kzfc5d] {
    background-color: #fd7e14;
    color: white;
}

.sidebar-footer[b-iqa3kzfc5d] {
    margin-top: auto;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.logout-section[b-iqa3kzfc5d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 1rem;
    color: white;
    cursor: pointer;
    font-size: 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.logout-section:hover[b-iqa3kzfc5d] {
    background-color: rgba(255, 255, 255, 0.1);
}

.logged-in-section[b-iqa3kzfc5d] {
    padding: 0.75rem 1rem;
    background-color: rgba(0, 0, 0, 0.2);
}

.logged-in-label[b-iqa3kzfc5d] {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 0.5rem;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.user-badge[b-iqa3kzfc5d] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.user-initials[b-iqa3kzfc5d] {
    width: 2rem;
    height: 2rem;
    background-color: #ff9800;
    color: black;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 0.75rem;
}

.user-info[b-iqa3kzfc5d] {
    flex: 1;
}

.user-name[b-iqa3kzfc5d] {
    color: white;
    font-size: 0.8rem;
    font-weight: 500;
}

.user-role[b-iqa3kzfc5d] {
    color: rgba(255, 255, 255, 0.7);
    font-size: 0.7rem;
}

.env-indicator[b-iqa3kzfc5d] {
    font-size: 0.55rem;
    padding: 0.15rem 0.4rem;
    border-radius: 8px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.env-dev[b-iqa3kzfc5d],
.env-azuredev[b-iqa3kzfc5d] {
    background-color: #ffc107;
    color: #000;
}

.env-local[b-iqa3kzfc5d] {
    background-color: #28a745;
    color: white;
}

.env-test[b-iqa3kzfc5d] {
    background-color: #17a2b8;
    color: white;
}

.env-staging[b-iqa3kzfc5d] {
    background-color: #6c757d;
    color: white;
}

.env-uat[b-iqa3kzfc5d] {
    background-color: #fd7e14;
    color: white;
}

.main-content[b-iqa3kzfc5d] {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.top-bar[b-iqa3kzfc5d] {
    display: flex;
    align-items: center;
    padding: 0.4rem 0.8rem;
    background-color: #fff;
    border-bottom: 1px solid #e0e0e0;
    min-height: 40px;
    gap: 1rem;
}

.page-title[b-iqa3kzfc5d] {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.content-area[b-iqa3kzfc5d] {
    flex: 1;
    overflow-y: auto;
    position: relative;
    z-index: 0;
}

.top-row[b-iqa3kzfc5d] {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row[b-iqa3kzfc5d]  a, .top-row[b-iqa3kzfc5d]  .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row[b-iqa3kzfc5d]  a:hover, .top-row[b-iqa3kzfc5d]  .btn-link:hover {
        text-decoration: underline;
    }

    .top-row[b-iqa3kzfc5d]  a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row[b-iqa3kzfc5d] {
        justify-content: space-between;
    }

    .top-row[b-iqa3kzfc5d]  a, .top-row[b-iqa3kzfc5d]  .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page[b-iqa3kzfc5d] {
        flex-direction: row;
    }

    .sidebar[b-iqa3kzfc5d] {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row[b-iqa3kzfc5d] {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth[b-iqa3kzfc5d]  a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row[b-iqa3kzfc5d], article[b-iqa3kzfc5d] {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}
/* /Layout/NavMenu.razor.rz.scp.css */
.nav-menu[b-fdvahsdado] {
    flex: 1;
    overflow-y: auto;
    color: white;
    font-size: 0.85rem;
}

.menu-section[b-fdvahsdado] {
    margin-bottom: 1rem;
}

.menu-label[b-fdvahsdado] {
    padding: 0.5rem 1rem;
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.5);
    font-weight: 600;
    letter-spacing: 0.5px;
}

.menu-item[b-fdvahsdado] {
    position: static;
}

.menu-item a[b-fdvahsdado],
.menu-item button[b-fdvahsdado],
.menu-link[b-fdvahsdado],
.menu-header[b-fdvahsdado] {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
    font-size: inherit;
}

.menu-item a:hover[b-fdvahsdado],
.menu-item button:hover[b-fdvahsdado],
.menu-link:hover[b-fdvahsdado],
.menu-header:hover[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
    text-decoration: none !important;
}

.menu-item a:focus[b-fdvahsdado],
.menu-item button:focus[b-fdvahsdado],
.menu-link:focus[b-fdvahsdado],
.menu-header:focus[b-fdvahsdado] {
    outline: none;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
}

.menu-item a:visited[b-fdvahsdado],
.menu-item button:visited[b-fdvahsdado] {
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
}

.menu-item a.active[b-fdvahsdado],
.menu-item button.active[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.15);
    border-left: 3px solid white;
    color: white !important;
    text-decoration: none !important;
}

.menu-icon[b-fdvahsdado] {
    width: 1.2rem;
    display: inline-flex;
    justify-content: center;
    font-size: 0.9rem;
}

.menu-header[b-fdvahsdado] {
    justify-content: flex-start;
}

.expand-icon[b-fdvahsdado] {
    margin-left: auto;
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.6);
}

/* Flyout Menu Styles */
.menu-item.flyout[b-fdvahsdado] {
    position: static;
}

.menu-item.flyout > .menu-header[b-fdvahsdado] {
    position: relative;
}

.flyout-menu[b-fdvahsdado] {
    position: fixed;
    left: 250px;
    min-width: 200px;
    background-color: #2d3748;
    border-radius: 0 4px 4px 0;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 99999;
    display: none;
}

.menu-item.flyout:hover > .flyout-menu[b-fdvahsdado] {
    display: block;
}

.menu-item.flyout:hover > .menu-header[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
}

.flyout-menu button[b-fdvahsdado] {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    color: rgba(255, 255, 255, 0.9) !important;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
    font-size: 0.8rem;
    white-space: nowrap;
}

.flyout-menu button:hover[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
}

.flyout-menu button.active[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.15);
    border-left: 3px solid white;
    color: white !important;
}

/* Nested flyout submenu item */
.flyout-submenu-item[b-fdvahsdado] {
    position: relative;
}

.flyout-submenu-header[b-fdvahsdado] {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    color: rgba(255, 255, 255, 0.9) !important;
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
    font-size: 0.8rem;
    white-space: nowrap;
}

.flyout-submenu-header:hover[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
}

.nested-flyout-menu[b-fdvahsdado] {
    position: fixed;
    min-width: 180px;
    background-color: #374151;
    border-radius: 0 4px 4px 0;
    box-shadow: 4px 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 100000;
    display: none;
}

.flyout-submenu-item:hover > .nested-flyout-menu[b-fdvahsdado] {
    display: block;
}

.flyout-submenu-item:hover > .flyout-submenu-header[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
}

.nested-flyout-menu button[b-fdvahsdado] {
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 1rem;
    color: rgba(255, 255, 255, 0.85) !important;
    cursor: pointer;
    transition: background-color 0.2s;
    border: none;
    background: transparent;
    width: 100%;
    text-align: left;
    font-family: inherit;
    font-size: 0.75rem;
    white-space: nowrap;
}

.nested-flyout-menu button:hover[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.1);
    color: white !important;
}

.nested-flyout-menu button.active[b-fdvahsdado] {
    background-color: rgba(255, 255, 255, 0.15);
    border-left: 3px solid white;
    color: white !important;
}

.submenu-icon[b-fdvahsdado] {
    width: 1rem;
    display: inline-flex;
    justify-content: center;
    font-size: 0.75rem;
    flex-shrink: 0;
}
/* /Pages/Favorites-open.razor.rz.scp.css */
.favorites-container[b-ak8ydzx44j] {
    padding: var(--space-lg) var(--space-md);
    max-width: 640px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

/* Header */
.favorites-header[b-ak8ydzx44j] {
    display: flex;
    align-items: baseline;
    gap: var(--space-sm);
}

.favorites-title[b-ak8ydzx44j] {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-gray-800);
    margin: 0;
}

.favorites-total[b-ak8ydzx44j] {
    font-size: var(--text-sm);
    color: var(--color-gray-400, #9ca3af);
    font-weight: 400;
}

/* Empty state */
.favorites-empty[b-ak8ydzx44j] {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm);
    padding: var(--space-2xl) 0;
    color: var(--color-gray-400, #9ca3af);
}

.favorites-empty-icon[b-ak8ydzx44j] {
    font-size: 2rem;
    line-height: 1;
    opacity: 0.45;
}

.favorites-empty p[b-ak8ydzx44j] {
    font-size: var(--text-base);
    margin: 0;
}

/* Group */
.favorites-group[b-ak8ydzx44j] {
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.favorites-group-header[b-ak8ydzx44j] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: 0 var(--space-xs);
    margin-bottom: var(--space-xxs);
}

.favorites-group-title[b-ak8ydzx44j] {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: var(--color-gray-400, #9ca3af);
}

.favorites-group-count[b-ak8ydzx44j] {
    font-size: var(--text-xs);
    color: var(--color-gray-300, #d1d5db);
}

/* List */
.favorites-list[b-ak8ydzx44j] {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    background: var(--color-white, #fff);
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-xs);
    overflow: hidden;
}

/* Row */
.favorite-row[b-ak8ydzx44j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-md) var(--space-lg);
    border-radius: 0;
    transition: background 0.12s ease, border-left-color 0.12s ease;
    cursor: default;
    gap: var(--space-md);
    border-left: 3px solid transparent;
}

.favorite-row + .favorite-row[b-ak8ydzx44j] {
    border-top: 1px solid var(--color-gray-100, #f3f4f6);
}

.favorite-row:hover[b-ak8ydzx44j] {
    background: var(--color-gray-50, #f9fafb);
}

.favorite-row--clickable[b-ak8ydzx44j] {
    cursor: pointer;
}

.favorite-row--clickable:hover[b-ak8ydzx44j] {
    border-left-color: var(--color-primary, #2563eb);
    background: var(--color-primary-light, #eff6ff);
}

.favorite-row--clickable:hover .favorite-row-description[b-ak8ydzx44j] {
    color: var(--color-primary, #2563eb);
}

.favorite-row--clickable:hover .favorite-row-chevron[b-ak8ydzx44j] {
    opacity: 1;
    transform: translateX(2px);
}

.favorite-row-description[b-ak8ydzx44j] {
    font-size: var(--text-sm);
    color: var(--color-gray-700, #374151);
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: color 0.12s ease;
}

.favorite-row-meta[b-ak8ydzx44j] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    flex-shrink: 0;
}

.favorite-row-id[b-ak8ydzx44j] {
    font-size: var(--text-xs);
    color: var(--color-gray-500, #6b7280);
    background: var(--color-gray-100, #f3f4f6);
    border-radius: var(--radius-full);
    padding: 1px 8px;
    font-family: monospace;
    letter-spacing: 0.02em;
}

.favorite-row-chevron[b-ak8ydzx44j] {
    font-size: var(--text-base);
    color: var(--color-primary, #2563eb);
    opacity: 0;
    transition: opacity 0.12s ease, transform 0.12s ease;
    line-height: 1;
}

/* Skeleton */
.favorites-skeleton[b-ak8ydzx44j] {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: var(--space-sm);
}

.skeleton-row[b-ak8ydzx44j] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-sm) var(--space-xs);
    gap: var(--space-md);
}

.skeleton-row + .skeleton-row[b-ak8ydzx44j] {
    border-top: 1px solid var(--color-gray-100, #f3f4f6);
}

.skeleton-line[b-ak8ydzx44j] {
    border-radius: var(--radius-sm);
    background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: shimmer-b-ak8ydzx44j 1.4s infinite;
    height: 12px;
}

.skeleton-line--long[b-ak8ydzx44j]  { flex: 1; }
.skeleton-line--short[b-ak8ydzx44j] { width: 36px; flex-shrink: 0; }

@keyframes shimmer-b-ak8ydzx44j {
    0%   { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}
/* /Pages/Help/Help.razor.rz.scp.css */
/* ═══════════════════════════════
   Help Page
   ═══════════════════════════════ */

.help-page[b-15okipa8z3] {
    max-width: 900px;
    margin: 0 auto;
    padding: var(--space-xl) var(--space-lg);
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

/* ── Hero ── */
.help-hero[b-15okipa8z3] {
    display: flex;
    align-items: center;
    gap: var(--space-lg);
    padding: var(--space-xl);
    background: var(--color-primary);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-lg);
    color: #fff;
}

.help-hero-icon[b-15okipa8z3] {
    font-size: 2.5rem;
    line-height: 1;
    flex-shrink: 0;
}

.help-hero-title[b-15okipa8z3] {
    margin: 0 0 var(--space-xs) 0;
    font-size: var(--text-3xl);
    font-weight: 700;
    color: #fff;
}

.help-hero-body[b-15okipa8z3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.help-hero-sub[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-base);
    color: rgba(255, 255, 255, 0.82);
}

/* ── Hero action buttons ── */
.help-hero-actions[b-15okipa8z3] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
    margin-top: var(--space-xs);
}

.help-btn[b-15okipa8z3] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--button-padding-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    border-radius: var(--radius-md);
    text-decoration: none;
    transition: all var(--transition-base);
    cursor: pointer;
    white-space: nowrap;
}

.help-btn--primary[b-15okipa8z3] {
    background: #fff;
    color: var(--color-primary);
    border: 1.5px solid rgba(255,255,255,0.8);
}

.help-btn--primary:hover[b-15okipa8z3] {
    background: rgba(255,255,255,0.88);
    box-shadow: var(--shadow-md);
}

.help-btn--danger[b-15okipa8z3] {
    background: rgba(197, 48, 48, 0.15);
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.35);
}

.help-btn--danger:hover[b-15okipa8z3] {
    background: rgba(197, 48, 48, 0.3);
    box-shadow: var(--shadow-md);
}

.help-btn--outline[b-15okipa8z3] {
    background: transparent;
    color: #fff;
    border: 1.5px solid rgba(255,255,255,0.5);
}

.help-btn--outline:hover[b-15okipa8z3] {
    background: rgba(255,255,255,0.12);
    border-color: rgba(255,255,255,0.8);
}

/* ── Section wrapper ── */
.help-section[b-15okipa8z3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

.help-section-title[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--color-gray-700);
    padding-bottom: var(--space-sm);
    border-bottom: 2px solid var(--color-gray-200);
}

/* ── Intro cards ── */
.help-intro-grid[b-15okipa8z3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: var(--space-md);
}

.help-intro-card[b-15okipa8z3] {
    background: #fff;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    transition: box-shadow var(--transition-base), transform var(--transition-base);
}

.help-intro-card:hover[b-15okipa8z3] {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.help-intro-icon[b-15okipa8z3] {
    font-size: 1.6rem;
    display: block;
    margin-bottom: var(--space-sm);
}

.help-intro-card h3[b-15okipa8z3] {
    margin: 0 0 var(--space-xs) 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-700);
}

.help-intro-card p[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-gray-500);
    line-height: 1.55;
}

/* ── Feature list ── */
.help-feature-list[b-15okipa8z3] {
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.help-feature-item[b-15okipa8z3] {
    background: #fff;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-xs);
}

.help-feature-header[b-15okipa8z3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.help-feature-icon[b-15okipa8z3] {
    font-size: 1.2rem;
    flex-shrink: 0;
}

.help-feature-header h3[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-700);
}

.help-feature-item ul[b-15okipa8z3] {
    margin: 0;
    padding-left: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.help-feature-item li[b-15okipa8z3] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    line-height: 1.5;
}

/* ── Role cards ── */
.help-role-grid[b-15okipa8z3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: var(--space-md);
}

.help-role-card[b-15okipa8z3] {
    background: #fff;
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
    box-shadow: var(--shadow-sm);
    border-top: 3px solid transparent;
}

.help-role-card--engineer[b-15okipa8z3]  { border-top-color: var(--color-info); }
.help-role-card--management[b-15okipa8z3] { border-top-color: var(--color-primary-light); }
.help-role-card--pm[b-15okipa8z3]        { border-top-color: var(--color-warning); }

.help-role-card-header[b-15okipa8z3] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-md);
}

.help-role-card-header span[b-15okipa8z3] {
    font-size: 1.3rem;
}

.help-role-card-header h3[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-700);
}

.help-role-card ul[b-15okipa8z3] {
    margin: 0;
    padding-left: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.help-role-card li[b-15okipa8z3] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    line-height: 1.5;
}

/* ── Tips ── */
.help-tips-grid[b-15okipa8z3] {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-md);
}

.help-tip[b-15okipa8z3] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    background: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    padding: var(--space-lg);
}

.help-tip-number[b-15okipa8z3] {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    min-width: 26px;
    background: var(--color-primary);
    color: #fff;
    border-radius: var(--radius-full);
    font-size: var(--text-sm);
    font-weight: 700;
}

.help-tip strong[b-15okipa8z3] {
    display: block;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-700);
    margin-bottom: var(--space-xxs);
}

.help-tip p[b-15okipa8z3] {
    margin: 0;
    font-size: var(--text-sm);
    color: var(--color-gray-500);
    line-height: 1.55;
}

/* ── Responsive ── */
@media (max-width: 640px) {
    .help-hero[b-15okipa8z3] {
        flex-direction: column;
        text-align: center;
    }

    .help-hero-actions[b-15okipa8z3] {
        justify-content: center;
    }

    .help-intro-grid[b-15okipa8z3],
    .help-role-grid[b-15okipa8z3],
    .help-tips-grid[b-15okipa8z3] {
        grid-template-columns: 1fr;
    }
}

/* ── Contacts table ── */
.help-table-wrapper[b-15okipa8z3] {
    overflow-x: auto;
    border-radius: var(--radius-lg);
    border: 1px solid var(--color-gray-200);
    box-shadow: var(--shadow-sm);
}

.help-contacts-table[b-15okipa8z3] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-base);
    background: #fff;
}

.help-contacts-table thead tr[b-15okipa8z3] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.help-contacts-table th[b-15okipa8z3] {
    padding: var(--space-md) var(--space-lg);
    text-align: left;
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.help-contacts-table td[b-15okipa8z3] {
    padding: var(--space-md) var(--space-lg);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-100);
    vertical-align: middle;
}

.help-contacts-table tbody tr:last-child td[b-15okipa8z3] {
    border-bottom: none;
}

.help-contacts-table tbody tr:hover td[b-15okipa8z3] {
    background: var(--color-gray-50);
}

.help-contacts-table a[b-15okipa8z3] {
    color: var(--color-primary-light);
    text-decoration: none;
    font-weight: 500;
}

.help-contacts-table a:hover[b-15okipa8z3] {
    text-decoration: underline;
}
/* /Pages/Home.razor.rz.scp.css */
.dashboard-container[b-sjg2t3u8kr] {
    padding: var(--space-sm);
    display: flex;
    flex-direction: column;
}

.dashboard-container h1[b-sjg2t3u8kr] {
    font-size: var(--text-3xl);
    font-weight: 600;
    color: var(--color-gray-800);
    margin-bottom: var(--space-xl);
}

.dashboard-top-section[b-sjg2t3u8kr] {
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}

/* Bottom Section Container */
.dashboard-bottom-section[b-sjg2t3u8kr] {
    padding-top: 20px;
}

.dashboard-time-reg[b-sjg2t3u8kr] {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 20px;
    min-height: 300px;
}

/* Responsive */
@media (max-width: 1200px) {
    .dashboard-time-reg[b-sjg2t3u8kr] {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .dashboard-time-reg[b-sjg2t3u8kr] {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}
/* /Pages/Messages/Messages.razor.rz.scp.css */
/* ═════════════════════════════════════════════════════
   MESSAGES PAGE — chat-style two-panel layout
   Fills exactly the content area; no page-level scroll.
   Top-bar height ≈ 3.3rem (min-height:40px + 0.8rem padding).
   Article.content adds padding-top:1.1rem, px-4:1.5rem sides.
   ═════════════════════════════════════════════════════ */
.messages-layout[b-c0p1b7azrr] {
    display: flex;
    height: calc(100vh - 3.3rem);  /* viewport minus top-bar */
    overflow: hidden;
    /* Cancel article.content padding so layout touches edges */
    margin: -1.1rem -1.5rem 0;
    background: var(--color-gray-100);
}

/* ═════════ LEFT SIDEBAR ═════════ */
.messages-sidebar[b-c0p1b7azrr] {
    width: 320px;
    flex-shrink: 0;
    background: white;
    border-right: 1px solid var(--color-gray-200);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 2px 0 8px rgba(0,0,0,0.04);
}

/* Compose buttons */
.sidebar-compose-row[b-c0p1b7azrr] {
    display: flex;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-bottom: 1px solid var(--color-gray-100);
    flex-shrink: 0;
}

.btn-compose-msg[b-c0p1b7azrr] {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}
.btn-compose-msg:hover[b-c0p1b7azrr] { background: var(--color-primary-dark); }

.btn-compose-ticket[b-c0p1b7azrr] {
    padding: var(--space-sm) var(--space-md);
    background: white;
    color: var(--color-primary);
    border: 1.5px solid var(--color-primary);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}
.btn-compose-ticket:hover[b-c0p1b7azrr] { background: #eff6ff; }

/* Tabs */
.sidebar-tabs[b-c0p1b7azrr] {
    display: flex;
    padding: var(--space-xs) var(--space-sm);
    gap: 2px;
    border-bottom: 1px solid var(--color-gray-100);
    background: var(--color-gray-50);
    flex-shrink: 0;
}

.stab[b-c0p1b7azrr] {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: var(--space-xs) 2px;
    background: transparent;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 500;
    color: var(--color-gray-500);
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}
.stab:hover[b-c0p1b7azrr] { background: var(--color-gray-100); color: var(--color-gray-800); }
.stab.active[b-c0p1b7azrr] { background: var(--color-primary); color: white; font-weight: 600; }

.stab-badge[b-c0p1b7azrr] {
    background: rgba(255,255,255,0.3);
    font-size: 10px;
    font-weight: 700;
    padding: 1px 5px;
    border-radius: 10px;
    min-width: 18px;
    text-align: center;
}
.stab:not(.active) .stab-badge[b-c0p1b7azrr] { background: var(--color-primary); color: white; }

/* Search */
.sidebar-search-wrap[b-c0p1b7azrr] {
    padding: var(--space-sm) var(--space-md);
    border-bottom: 1px solid var(--color-gray-100);
    flex-shrink: 0;
}

.sidebar-search-input[b-c0p1b7azrr] {
    width: 100%;
    box-sizing: border-box;
    padding: 6px 14px;
    border: 1px solid var(--color-gray-200);
    border-radius: 20px;
    font-size: var(--text-sm);
    background: var(--color-gray-50);
    transition: all 0.15s;
}
.sidebar-search-input:focus[b-c0p1b7azrr] {
    outline: none;
    border-color: var(--color-primary);
    background: white;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.08);
}

/* Filters */
.sidebar-filters[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-md);
    border-bottom: 1px solid var(--color-gray-100);
    background: var(--color-gray-50);
    flex-shrink: 0;
}

.sf-select[b-c0p1b7azrr] {
    flex: 1;
    padding: 3px 6px;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    background: white;
    min-width: 0;
}

.sf-btn[b-c0p1b7azrr] {
    padding: 4px var(--space-sm);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
}

/* Error */
.sidebar-error[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px var(--space-md);
    background: #fee2e2;
    color: #991b1b;
    font-size: var(--text-xs);
    flex-shrink: 0;
}
.sidebar-error button[b-c0p1b7azrr] {
    background: none;
    border: none;
    color: #991b1b;
    font-size: 1rem;
    cursor: pointer;
    padding: 0;
}

/* Scrollable list */
.sidebar-list[b-c0p1b7azrr] { flex: 1; overflow-y: auto; }

/* Skeleton */
.sidebar-item-skel[b-c0p1b7azrr] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-md);
    padding: var(--space-md);
    border-bottom: 1px solid var(--color-gray-50);
}

/* Message item */
.sidebar-item[b-c0p1b7azrr] {
    display: flex;
    align-items: flex-start;
    gap: var(--space-sm);
    padding: 12px var(--space-md);
    border-bottom: 1px solid var(--color-gray-50);
    cursor: pointer;
    transition: background 0.12s;
    position: relative;
}
.sidebar-item:hover[b-c0p1b7azrr] { background: var(--color-gray-50); }
.sidebar-item.selected[b-c0p1b7azrr] {
    background: #eff6ff;
    border-left: 3px solid var(--color-primary);
}

/* Avatar */
.msg-avatar[b-c0p1b7azrr] {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--text-sm);
    font-weight: 700;
    color: white;
    flex-shrink: 0;
}

.item-body[b-c0p1b7azrr] {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.item-row1[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
}

.item-name[b-c0p1b7azrr] {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-time[b-c0p1b7azrr] {
    font-size: 10px;
    color: var(--color-gray-400);
    flex-shrink: 0;
}

.item-subject[b-c0p1b7azrr] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-700);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.item-preview[b-c0p1b7azrr] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Status dot */
.item-status-dot[b-c0p1b7azrr] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    margin-top: 6px;
    flex-shrink: 0;
}
.dot-open[b-c0p1b7azrr]     { background: #3b82f6; }
.dot-pending[b-c0p1b7azrr]  { background: #f59e0b; }
.dot-resolved[b-c0p1b7azrr] { background: #22c55e; }
.dot-closed[b-c0p1b7azrr]   { background: var(--color-gray-400); }
.dot-unknown[b-c0p1b7azrr]  { background: var(--color-gray-300); }

/* Empty */
.sidebar-empty[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3xl) var(--space-lg);
}
.sidebar-empty p[b-c0p1b7azrr] {
    color: var(--color-gray-400);
    font-size: var(--text-sm);
    margin: 0;
    text-align: center;
}

/* ═════════ RIGHT PANEL ═════════ */
.messages-convo[b-c0p1b7azrr] {
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--color-gray-50);
    min-width: 0;
}

/* Placeholder */
.convo-placeholder[b-c0p1b7azrr] {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-md);
    text-align: center;
}
.placeholder-icon[b-c0p1b7azrr] {
    font-size: 3.5rem;
    opacity: 0.2;
}
.convo-placeholder p[b-c0p1b7azrr] {
    font-size: var(--text-lg);
    font-weight: 500;
    color: var(--color-gray-500);
    margin: 0;
}
.convo-placeholder span[b-c0p1b7azrr] {
    font-size: var(--text-sm);
    color: var(--color-gray-400);
}

/* Loading */
.convo-loading-body[b-c0p1b7azrr] {
    flex: 1;
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-lg);
}
.bubble-skel.left[b-c0p1b7azrr]  { align-self: flex-start; }
.bubble-skel.right[b-c0p1b7azrr] { align-self: flex-end; }

/* Header */
.convo-header[b-c0p1b7azrr] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-xl);
    background: white;
    border-bottom: 1px solid var(--color-gray-200);
    flex-shrink: 0;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
.convo-header-info[b-c0p1b7azrr] {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 0;
}
.convo-subject-text[b-c0p1b7azrr] {
    font-size: var(--text-base);
    font-weight: 700;
    color: var(--color-gray-900);
    line-height: 1.3;
}
.convo-badges[b-c0p1b7azrr] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-xs);
    align-items: center;
}
.convo-header-btns[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    flex-shrink: 0;
}

.btn-resolve[b-c0p1b7azrr] {
    padding: var(--space-xs) var(--space-md);
    background: #16a34a;
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background 0.15s;
    white-space: nowrap;
}
.btn-resolve:hover:not(:disabled)[b-c0p1b7azrr] { background: #15803d; }
.btn-resolve:disabled[b-c0p1b7azrr] { opacity: 0.5; cursor: not-allowed; }

.btn-icon-del[b-c0p1b7azrr] {
    padding: 5px 9px;
    background: transparent;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: 0.9rem;
    line-height: 1;
    transition: all 0.15s;
}
.btn-icon-del:hover[b-c0p1b7azrr] { background: #fee2e2; border-color: #fca5a5; }

/* Thread body — scrolls internally */
.convo-body[b-c0p1b7azrr] {
    flex: 1;
    overflow-y: auto;
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    scroll-behavior: smooth;
}

/* Message rows */
.msg-row[b-c0p1b7azrr] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-sm);
}
.row-own[b-c0p1b7azrr]   { flex-direction: row-reverse; }
.row-other[b-c0p1b7azrr] { flex-direction: row; }

.bubble-av[b-c0p1b7azrr] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: white;
    flex-shrink: 0;
    align-self: flex-end;
}

.bubble-col[b-c0p1b7azrr] {
    display: flex;
    flex-direction: column;
    gap: 3px;
    max-width: 60%;
}

.bubble-meta-row[b-c0p1b7azrr] {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 6px;
}
.bubble-meta-row.meta-own[b-c0p1b7azrr] { flex-direction: row-reverse; }

.bubble-name[b-c0p1b7azrr] { font-size: 11px; font-weight: 600; color: var(--color-gray-500); }
.bubble-ts[b-c0p1b7azrr]   { font-size: 10px; color: var(--color-gray-400); }

.bubble[b-c0p1b7azrr] {
    padding: var(--space-sm) var(--space-md);
    font-size: var(--text-sm);
    line-height: 1.55;
    word-break: break-word;
    white-space: pre-wrap;
}

.bubble-own[b-c0p1b7azrr] {
    background: var(--color-primary);
    color: white;
    border-radius: 18px 18px 4px 18px;
}

.bubble-other[b-c0p1b7azrr] {
    background: white;
    color: var(--color-gray-800);
    border: 1px solid var(--color-gray-200);
    border-radius: 18px 18px 18px 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

/* Resolved pill */
.resolved-pill[b-c0p1b7azrr] {
    align-self: center;
    padding: 5px var(--space-lg);
    background: #dcfce7;
    color: #15803d;
    border-radius: 20px;
    font-size: var(--text-xs);
    font-weight: 600;
    margin: var(--space-sm) 0;
}

/* Reply bar */
.convo-reply-bar[b-c0p1b7azrr] {
    flex-shrink: 0;
    background: white;
    border-top: 1px solid var(--color-gray-200);
    padding: var(--space-md) var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
    box-shadow: 0 -1px 4px rgba(0,0,0,0.04);
}
.reply-err[b-c0p1b7azrr] {
    font-size: var(--text-xs);
    color: #991b1b;
    background: #fee2e2;
    padding: 4px var(--space-sm);
    border-radius: var(--radius-sm);
}
.reply-input-row[b-c0p1b7azrr] {
    display: flex;
    align-items: flex-end;
    gap: var(--space-sm);
}
.reply-ta[b-c0p1b7azrr] {
    flex: 1;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-200);
    border-radius: 20px;
    font-size: var(--text-sm);
    font-family: inherit;
    resize: none;
    background: var(--color-gray-50);
    transition: border-color 0.15s, box-shadow 0.15s;
    line-height: 1.5;
}
.reply-ta:focus[b-c0p1b7azrr] {
    outline: none;
    border-color: var(--color-primary);
    background: white;
    box-shadow: 0 0 0 3px rgba(37,99,235,0.08);
}
.btn-send-reply[b-c0p1b7azrr] {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--color-primary);
    color: white;
    border: none;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, transform 0.1s;
}
.btn-send-reply:hover:not(:disabled)[b-c0p1b7azrr] {
    background: var(--color-primary-dark);
    transform: scale(1.06);
}
.btn-send-reply:disabled[b-c0p1b7azrr] { opacity: 0.4; cursor: not-allowed; transform: none; }

/* ─── Badges ─── */
.badge[b-c0p1b7azrr] {
    padding: 2px var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: capitalize;
    display: inline-block;
}
.badge.open[b-c0p1b7azrr]     { background: #dbeafe; color: #1d4ed8; }
.badge.pending[b-c0p1b7azrr]  { background: #fef3c7; color: #b45309; }
.badge.resolved[b-c0p1b7azrr] { background: #dcfce7; color: #15803d; }
.badge.closed[b-c0p1b7azrr]   { background: var(--color-gray-100); color: var(--color-gray-600); }
.badge.unknown[b-c0p1b7azrr]  { background: var(--color-gray-100); color: var(--color-gray-500); }

.badge.priority-critical[b-c0p1b7azrr] { background: #fee2e2; color: #991b1b; }
.badge.priority-high[b-c0p1b7azrr]     { background: #ffedd5; color: #9a3412; }
.badge.priority-medium[b-c0p1b7azrr]   { background: #fef3c7; color: #b45309; }
.badge.priority-low[b-c0p1b7azrr]      { background: #f0fdf4; color: #166534; }
.badge.priority-normal[b-c0p1b7azrr]   { background: var(--color-gray-100); color: var(--color-gray-500); }

.cat-tag[b-c0p1b7azrr] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    background: var(--color-gray-100);
    padding: 2px 8px;
    border-radius: 10px;
    text-transform: capitalize;
}

/* Spinner */
.mini-spinner[b-c0p1b7azrr] {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,0.35);
    border-top-color: white;
    border-radius: 50%;
    animation: spin-b-c0p1b7azrr 0.6s linear infinite;
    display: inline-block;
}

@keyframes spin-b-c0p1b7azrr { to { transform: rotate(360deg); } }
/* /Pages/View/Capacity.razor.rz.scp.css */
/* =====================================================================
   Capacity Page
   ===================================================================== */

.capacity-container[b-y7l705d75u] {
    padding: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* ── Header ─────────────────────────────────────────── */

.cap-header[b-y7l705d75u] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 6px;
}

.cap-header-left[b-y7l705d75u] {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.cap-title[b-y7l705d75u] {
    font-size: var(--text-3xl, 1.875rem);
    font-weight: 700;
    color: var(--color-gray-800, #1f2937);
    margin: 0;
}

.cap-subtitle[b-y7l705d75u] {
    font-size: var(--text-sm, 0.875rem);
    color: var(--color-gray-400, #9ca3af);
}

/* ── Month nav ──────────────────────────────────────── */

.month-nav[b-y7l705d75u] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 10px;
    padding: 6px 14px;
    box-shadow: 0 1px 3px rgba(0,0,0,.06);
}

.month-label[b-y7l705d75u] {
    font-size: var(--text-sm, 0.875rem);
    font-weight: 600;
    color: var(--color-gray-700, #374151);
    min-width: 120px;
    text-align: center;
}

.nav-btn[b-y7l705d75u] {
    background: none;
    border: none;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--color-gray-400, #9ca3af);
    cursor: pointer;
    padding: 0 2px;
    transition: color 0.15s;
}

.nav-btn:hover[b-y7l705d75u] { color: var(--color-primary, #3b82f6); }

/* ── Summary chips ──────────────────────────────────── */

.cap-chips[b-y7l705d75u] {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.chip[b-y7l705d75u] {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 10px;
    padding: 6px 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.05);
    flex: 1;
    min-width: 110px;
    transition: box-shadow .2s;
}

.chip:hover[b-y7l705d75u] { box-shadow: 0 4px 12px rgba(0,0,0,.08); }

.chip--accent[b-y7l705d75u] {
    border-color: var(--color-primary-200, #bfdbfe);
    background: var(--color-primary-50, #eff6ff);
}

.chip-icon[b-y7l705d75u] { font-size: 1.3rem; }

.chip-label[b-y7l705d75u] {
    font-size: 0.7rem;
    font-weight: 500;
    color: var(--color-gray-400, #9ca3af);
    text-transform: uppercase;
    letter-spacing: .06em;
}

.chip-value[b-y7l705d75u] {
    font-size: var(--text-base, 1rem);
    font-weight: 700;
    color: var(--color-gray-800, #1f2937);
    margin-top: 1px;
}

.chip--accent .chip-value[b-y7l705d75u] { color: var(--color-primary, #3b82f6); }

/* ── Table wrapper ──────────────────────────────────── */

.cap-table-wrap[b-y7l705d75u] {
    background: #fff;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
    width: fit-content;
    max-width: 100%;
    padding-right: 16px;
}

/* ── Table ──────────────────────────────────────────── */

.cap-table[b-y7l705d75u] {
    width: auto;
    border-collapse: collapse;
    font-size: var(--text-sm, 0.875rem);
}

/* Head */
.cap-table thead tr[b-y7l705d75u] {
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 2px solid var(--color-gray-100, #f3f4f6);
}

.cap-table th[b-y7l705d75u] {
    padding: 7px 10px;
    text-align: left;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .07em;
    color: var(--color-gray-500, #6b7280);
    white-space: nowrap;
    position: sticky;
    top: 0;
    background: var(--color-gray-50, #f9fafb);
    z-index: 1;
}

/* Body rows */
.cap-table tbody tr[b-y7l705d75u] {
    border-bottom: 1px solid var(--color-gray-100, #f3f4f6);
    transition: background .12s;
}

.cap-table tbody tr:last-child[b-y7l705d75u] { border-bottom: none; }

.cap-table tbody tr:hover[b-y7l705d75u] { background: var(--color-gray-50, #f9fafb); }

.cap-table td[b-y7l705d75u] {
    padding: 5px 10px;
    color: var(--color-gray-700, #374151);
    vertical-align: middle;
}

/* Alternating week tint */
.cap-table .row--alt[b-y7l705d75u] { background: #fafbff; }
.cap-table .row--alt:hover[b-y7l705d75u] { background: var(--color-gray-50, #f9fafb); }

/* Today row */
.cap-table .row--today[b-y7l705d75u] {
    background: var(--color-primary-50, #eff6ff) !important;
}

.cap-table .row--today td[b-y7l705d75u] { color: var(--color-primary, #3b82f6); font-weight: 600; }

/* Column widths */
.col-date[b-y7l705d75u] { min-width: 88px; font-variant-numeric: tabular-nums; }

.col-week[b-y7l705d75u] { width: 52px; }

.col-day[b-y7l705d75u] { min-width: 80px; }

.col-user[b-y7l705d75u] {
    text-align: center;
    width: 76px;
    font-weight: 600;
}

.cap-table th.col-user[b-y7l705d75u] {
    text-align: center;
    color: var(--color-gray-700, #374151);
    font-size: 0.75rem;
    letter-spacing: .03em;
    text-transform: none;
    font-weight: 700;
}

/* Week badge */
.week-badge[b-y7l705d75u] {
    display: inline-block;
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-600, #4b5563);
    border-radius: 6px;
    padding: 2px 8px;
    font-size: 0.75rem;
    font-weight: 600;
}

/* Hours badge */
.hours-badge[b-y7l705d75u] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 46px;
    background: #e0f2fe;
    color: #0369a1;
    border-radius: 999px;
    padding: 3px 10px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: .02em;
}

.hours-badge--today[b-y7l705d75u] {
    background: var(--color-primary, #3b82f6);
    color: #fff;
}

.hours-badge--total[b-y7l705d75u] {
    background: #1d4ed8;
    color: #fff;
    font-size: 0.82rem;
}

/* Footer row */
.cap-table tfoot .footer-row[b-y7l705d75u] {
    background: var(--color-gray-50, #f9fafb);
    border-top: 2px solid var(--color-gray-200, #e5e7eb);
}

.cap-table tfoot td[b-y7l705d75u] {
    padding: 6px 10px;
    font-weight: 700;
    font-size: var(--text-sm, 0.875rem);
    color: var(--color-gray-700, #374151);
}

/* ── Skeleton ───────────────────────────────────────── */

.skeleton-pill[b-y7l705d75u] {
    height: 14px;
    width: 80px;
    background: var(--color-gray-200, #e5e7eb);
    border-radius: 999px;
    animation: shimmer-b-y7l705d75u 1.4s infinite;
    margin: 0 auto;
}

.skeleton-row td[b-y7l705d75u] { padding: 5px 10px; }

.skeleton-line[b-y7l705d75u] {
    height: 12px;
    width: 90px;
    background: var(--color-gray-100, #f3f4f6);
    border-radius: 6px;
    animation: shimmer-b-y7l705d75u 1.4s infinite;
}

.skeleton-line--sm[b-y7l705d75u] { width: 36px; }

.skeleton-badge[b-y7l705d75u] {
    height: 22px;
    width: 46px;
    background: var(--color-gray-200, #e5e7eb);
    border-radius: 999px;
    animation: shimmer-b-y7l705d75u 1.4s infinite;
    margin: 0 auto;
}

@keyframes shimmer-b-y7l705d75u {
    0%   { opacity: 1; }
    50%  { opacity: 0.4; }
    100% { opacity: 1; }
}

/* ── Group table wrapper ────────────────────────────── */

.cap-table-wrap--group[b-y7l705d75u] {
    overflow-x: auto;
}

/* ── Rotated header columns ─────────────────────────── */

.col-user-group[b-y7l705d75u] {
    text-align: center;
    width: 52px;
    min-width: 52px;
    max-width: 52px;
}

.col-user-group--rotated[b-y7l705d75u] {
    height: 130px;
    padding: 0 !important;
    vertical-align: bottom;
    overflow: hidden;
}

.th-rotated[b-y7l705d75u] {
    display: block;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    white-space: nowrap;
    font-size: 0.72rem;
    font-weight: 700;
    color: var(--color-gray-700, #374151);
    text-transform: none;
    letter-spacing: 0;
    padding: 6px 16px 6px 4px;
    max-height: 124px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Badge colour variants (group view) ─────────────── */

.hours-badge--green[b-y7l705d75u] {
    background: #dcfce7;
    color: #166534;
}

.hours-badge--orange[b-y7l705d75u] {
    background: #fff7ed;
    color: #c2410c;
}

.hours-badge--empty[b-y7l705d75u] {
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-gray-400, #9ca3af);
}

/* ── Notes column ──────────────────────────────────── */

.col-notes[b-y7l705d75u] {
    min-width: 140px;
    max-width: 260px;
}

.notes-cell[b-y7l705d75u] {
    font-size: 0.8rem;
    color: var(--color-gray-500, #6b7280);
    font-style: italic;
    white-space: normal;
    word-break: break-word;
    margin-top: 4px;
}

/* ── Empty state ────────────────────────────────────── */

.cap-empty[b-y7l705d75u] {
    padding: 32px;
    text-align: center;
    color: var(--color-gray-400, #9ca3af);
    font-size: var(--text-sm, 0.875rem);
    background: #fff;
    border: 1px solid var(--color-gray-200, #e5e7eb);
    border-radius: 14px;
}

/* ── Responsive ─────────────────────────────────────── */

@media (max-width: 560px) {
    .cap-chips[b-y7l705d75u] { flex-direction: column; }
    .chip[b-y7l705d75u] { min-width: unset; }
    .cap-header[b-y7l705d75u] { flex-direction: column; align-items: flex-start; }
}
/* /Pages/View/List/Instalations.razor.rz.scp.css */
.installations-page[b-h8yoqr26hf] {
    padding: var(--space-lg);
    background: var(--color-gray-50);
}

.page-header[b-h8yoqr26hf] {
    margin-bottom: var(--space-xl);
}

.page-description[b-h8yoqr26hf] {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    margin: 0;
}

.installations-controls[b-h8yoqr26hf] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
    background: white;
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-section[b-h8yoqr26hf] {
    flex: 1;
    max-width: 100%;
}

.search-input[b-h8yoqr26hf] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.search-input:focus[b-h8yoqr26hf] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.installations-table-container[b-h8yoqr26hf] {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow-x: auto;
}

.installations-table[b-h8yoqr26hf] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.installations-table thead tr[b-h8yoqr26hf] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.installations-table th[b-h8yoqr26hf] {
    padding: var(--space-sm) var(--space-md);
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
}

.installations-table th.sortable[b-h8yoqr26hf] {
    cursor: pointer;
    user-select: none;
}

.installations-table th.sortable:hover[b-h8yoqr26hf] {
    background: var(--color-gray-100);
}

.sort-icon[b-h8yoqr26hf] {
    margin-left: var(--space-xs);
    font-size: 0.7rem;
}

.installations-table tbody tr[b-h8yoqr26hf] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background-color 0.15s ease;
}

.installations-table tbody tr.clickable-row[b-h8yoqr26hf] {
    cursor: pointer;
}

.installations-table tbody tr:hover[b-h8yoqr26hf] {
    background: var(--color-gray-50);
}

.installations-table td[b-h8yoqr26hf] {
    padding: var(--space-sm) var(--space-md);
    color: var(--color-gray-800);
}

.error-container[b-h8yoqr26hf] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.error-message[b-h8yoqr26hf] {
    color: var(--color-danger);
    margin-bottom: var(--space-md);
}

.btn-retry[b-h8yoqr26hf] {
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
}

.btn-retry:hover[b-h8yoqr26hf] {
    background: var(--color-primary-dark);
}

.empty-state[b-h8yoqr26hf] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    color: var(--color-gray-500);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-container[b-h8yoqr26hf] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-top: 1px solid var(--color-gray-100);
}

.pagination-btn[b-h8yoqr26hf] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-gray-300);
    background: white;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease;
}

.pagination-btn:hover:not(:disabled)[b-h8yoqr26hf] {
    background: var(--color-gray-100);
}

.pagination-btn:disabled[b-h8yoqr26hf] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-info[b-h8yoqr26hf] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    padding: 0 var(--space-sm);
}
/* /Pages/View/List/Milestones.razor.rz.scp.css */
.milestones-page[b-sossk5h4g1] {
    padding: var(--space-lg);
    background: var(--color-gray-50);
}

.milestones-controls[b-sossk5h4g1] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
    background: white;
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-section[b-sossk5h4g1] { flex: 1; max-width: 100%; }

.search-input[b-sossk5h4g1] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.search-input:focus[b-sossk5h4g1] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.milestones-table-container[b-sossk5h4g1] {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow-x: auto;
}

.milestones-table[b-sossk5h4g1] {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.75rem;
    white-space: nowrap;
}

.milestones-table thead tr[b-sossk5h4g1] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.milestones-table th[b-sossk5h4g1] {
    padding: 5px 8px;
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.milestones-table th.sortable[b-sossk5h4g1] { cursor: pointer; user-select: none; }
.milestones-table th.sortable:hover[b-sossk5h4g1] { background: var(--color-gray-100); }

.sort-icon[b-sossk5h4g1] { margin-left: 2px; font-size: 0.6rem; }

.milestones-table tbody tr[b-sossk5h4g1] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background-color 0.15s ease;
}

.milestones-table tbody tr.clickable-row[b-sossk5h4g1] { cursor: pointer; }
.milestones-table tbody tr:hover[b-sossk5h4g1] { background: var(--color-gray-50); }

.milestones-table td[b-sossk5h4g1] {
    padding: 4px 8px;
    color: var(--color-gray-800);
    vertical-align: middle;
}

/* Column types */
.th-status[b-sossk5h4g1], .td-status[b-sossk5h4g1] { width: 22px; padding: 3px 4px; text-align: center; }
.th-num[b-sossk5h4g1], .td-num[b-sossk5h4g1] { text-align: right; padding-right: 10px; font-variant-numeric: tabular-nums; width: 40px; }
.td-date[b-sossk5h4g1] { font-size: 0.68rem; font-variant-numeric: tabular-nums; }
.td-person[b-sossk5h4g1] { max-width: 110px; overflow: hidden; text-overflow: ellipsis; }

.ms-name[b-sossk5h4g1] { font-weight: 500; color: var(--color-gray-900); max-width: 200px; overflow: hidden; text-overflow: ellipsis; }

.multi-value-cell[b-sossk5h4g1] { max-width: 160px; overflow: hidden; text-overflow: ellipsis; }

/* State dot */
.state-dot[b-sossk5h4g1] { display: inline-block; width: 10px; height: 10px; border-radius: 2px; }
.state-dot--pending[b-sossk5h4g1] { background: #3b82f6; }
.state-dot--done[b-sossk5h4g1] { background: #10b981; }
.state-dot--hold[b-sossk5h4g1] { background: #f59e0b; }
.state-dot--unknown[b-sossk5h4g1] { background: #d1d5db; }

/* Status badge */
.status-badge[b-sossk5h4g1] { display: inline-block; padding: 1px 6px; border-radius: 10px; font-size: 0.63rem; font-weight: 700; white-space: nowrap; }
.status-badge--pending[b-sossk5h4g1] { background: #dbeafe; color: #1d4ed8; }
.status-badge--done[b-sossk5h4g1] { background: #d1fae5; color: #065f46; }
.status-badge--hold[b-sossk5h4g1] { background: #fef3c7; color: #92400e; }
.status-badge--unknown[b-sossk5h4g1] { background: #f3f4f6; color: #6b7280; }

/* Error / empty / pagination */
.error-container[b-sossk5h4g1] {
    background: white; border-radius: var(--radius-md); padding: var(--space-3xl);
    text-align: center; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.error-message[b-sossk5h4g1] { color: var(--color-danger); margin-bottom: var(--space-md); }
.btn-retry[b-sossk5h4g1] {
    padding: var(--space-sm) var(--space-lg); background: var(--color-primary); color: white;
    border: none; border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-sm);
}
.btn-retry:hover[b-sossk5h4g1] { background: var(--color-primary-dark); }

.empty-state[b-sossk5h4g1] {
    background: white; border-radius: var(--radius-md); padding: var(--space-3xl);
    text-align: center; color: var(--color-gray-500); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-container[b-sossk5h4g1] {
    display: flex; align-items: center; justify-content: center; gap: var(--space-sm);
    padding: var(--space-md); border-top: 1px solid var(--color-gray-100);
}

.pagination-btn[b-sossk5h4g1] {
    width: 32px; height: 32px; border: 1px solid var(--color-gray-300); background: white;
    border-radius: var(--radius-sm); cursor: pointer; font-size: var(--text-sm);
    display: flex; align-items: center; justify-content: center; transition: background-color 0.15s ease;
}
.pagination-btn:hover:not(:disabled)[b-sossk5h4g1] { background: var(--color-gray-100); }
.pagination-btn:disabled[b-sossk5h4g1] { opacity: 0.4; cursor: not-allowed; }

.pagination-info[b-sossk5h4g1] { font-size: var(--text-sm); color: var(--color-gray-600); padding: 0 var(--space-sm); }
/* /Pages/View/List/Projects.razor.rz.scp.css */
.projects-page[b-1rpxy4x20y] {
    padding: var(--space-lg);
    background: var(--color-gray-50);
}

.projects-controls[b-1rpxy4x20y] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
    background: white;
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-section[b-1rpxy4x20y] {
    flex: 1;
    max-width: 100%;
}

.search-input[b-1rpxy4x20y] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.search-input:focus[b-1rpxy4x20y] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.projects-table-container[b-1rpxy4x20y] {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow-x: auto;
}

.projects-table[b-1rpxy4x20y] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.projects-table thead tr[b-1rpxy4x20y] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.projects-table th[b-1rpxy4x20y] {
    padding: var(--space-sm) var(--space-md);
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
}

.projects-table th.sortable[b-1rpxy4x20y] {
    cursor: pointer;
    user-select: none;
}

.projects-table th.sortable:hover[b-1rpxy4x20y] {
    background: var(--color-gray-100);
}

.sort-icon[b-1rpxy4x20y] {
    margin-left: var(--space-xs);
    font-size: 0.7rem;
}

.projects-table tbody tr[b-1rpxy4x20y] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background-color 0.15s ease;
}

.projects-table tbody tr.clickable-row[b-1rpxy4x20y] {
    cursor: pointer;
}

.projects-table tbody tr:hover[b-1rpxy4x20y] {
    background: var(--color-gray-50);
}

.projects-table td[b-1rpxy4x20y] {
    padding: var(--space-sm) var(--space-md);
    color: var(--color-gray-800);
}

.project-name[b-1rpxy4x20y] {
    font-weight: 500;
    color: var(--color-gray-900);
}

.work-packages-cell[b-1rpxy4x20y] {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.error-container[b-1rpxy4x20y] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.error-message[b-1rpxy4x20y] {
    color: var(--color-danger);
    margin-bottom: var(--space-md);
}

.btn-retry[b-1rpxy4x20y] {
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
}

.btn-retry:hover[b-1rpxy4x20y] {
    background: var(--color-primary-dark);
}

.empty-state[b-1rpxy4x20y] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    color: var(--color-gray-500);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-container[b-1rpxy4x20y] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-top: 1px solid var(--color-gray-100);
}

.pagination-btn[b-1rpxy4x20y] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-gray-300);
    background: white;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease;
}

.pagination-btn:hover:not(:disabled)[b-1rpxy4x20y] {
    background: var(--color-gray-100);
}

.pagination-btn:disabled[b-1rpxy4x20y] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-info[b-1rpxy4x20y] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    padding: 0 var(--space-sm);
}
/* /Pages/View/List/Tasks.razor.rz.scp.css */
/* Tasks Page Container */
.tasks-page[b-a3s4cncsy6] {
    padding: var(--space-lg);
    background: var(--color-gray-50);

}

/* Page Header */
.page-header[b-a3s4cncsy6] {
    margin-bottom: var(--space-xl);
}

.page-header h1[b-a3s4cncsy6] {
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--color-gray-900);
    margin: 0 0 var(--space-xs) 0;
}

.page-description[b-a3s4cncsy6] {
    font-size: var(--text-base);
    color: var(--color-gray-600);
    margin: 0;
}

/* Tasks Controls */
.tasks-controls[b-a3s4cncsy6] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
    background: white;
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
   
}

.search-section[b-a3s4cncsy6] {
    flex: 1;
    max-width: 100%;
}

.search-input[b-a3s4cncsy6] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.search-input:focus[b-a3s4cncsy6] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

/* Loading State */
.loading-container[b-a3s4cncsy6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-3xl);
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.spinner[b-a3s4cncsy6] {
    width: 48px;
    height: 48px;
    border: 4px solid var(--color-gray-200);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin-b-a3s4cncsy6 0.8s linear infinite;
}

@keyframes spin-b-a3s4cncsy6 {
    to {
        transform: rotate(360deg);
    }
}

.loading-container p[b-a3s4cncsy6] {
    margin-top: var(--space-md);
    color: var(--color-gray-600);
    font-size: var(--text-base);
}

/* Error State */
.error-container[b-a3s4cncsy6] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-3xl);
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.error-message[b-a3s4cncsy6] {
    color: var(--color-danger);
    font-size: var(--text-base);
    margin-bottom: var(--space-md);
}

.btn-retry[b-a3s4cncsy6] {
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s;
}

.btn-retry:hover[b-a3s4cncsy6] {
    background: var(--color-primary-dark);
}

/* Empty State */
.empty-state[b-a3s4cncsy6] {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-3xl);
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.empty-state p[b-a3s4cncsy6] {
    color: var(--color-gray-600);
    font-size: var(--text-lg);
}

/* Tasks Table Container */
.tasks-table-container[b-a3s4cncsy6] {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}

/* Task Table */
.task-table[b-a3s4cncsy6] {
    width: 100%;
    border-collapse: collapse;
}

.task-table thead[b-a3s4cncsy6] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.task-table th[b-a3s4cncsy6] {
    padding: var(--space-md);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-700);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.task-table th.sortable[b-a3s4cncsy6] {
    cursor: pointer;
    user-select: none;
    transition: background-color 0.2s;
}

.task-table th.sortable:hover[b-a3s4cncsy6] {
    background: var(--color-gray-100);
}

.sort-icon[b-a3s4cncsy6] {
    margin-left: var(--space-xs);
    color: var(--color-primary);
    font-size: var(--text-xs);
}

.task-table tbody tr[b-a3s4cncsy6] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background-color 0.2s;
}

.task-table tbody tr.clickable-row[b-a3s4cncsy6] {
    cursor: pointer;
}

.task-table tbody tr.clickable-row:hover[b-a3s4cncsy6] {
    background: var(--color-gray-50);
}

.task-table td[b-a3s4cncsy6] {
    padding: var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-gray-700);
}

/* Status Badges */
.badge[b-a3s4cncsy6] {
    padding: var(--space-xs) var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    display: inline-block;
}

.badge.completed[b-a3s4cncsy6] {
    background: #dcfce7;
    color: #15803d;
}

.badge.overdue[b-a3s4cncsy6] {
    background: #fee2e2;
    color: #991b1b;
}

.badge.in-progress[b-a3s4cncsy6] {
    background: #fef3c7;
    color: #b45309;
}

.badge.not-started[b-a3s4cncsy6] {
    background: var(--color-gray-100);
    color: var(--color-gray-700);
}

/* Pagination */
.pagination-container[b-a3s4cncsy6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-lg);
    border-top: 1px solid var(--color-gray-200);
}

.pagination-btn[b-a3s4cncsy6] {
    padding: var(--space-xs) var(--space-sm);
    background: white;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    cursor: pointer;
    transition: all 0.2s;
    min-width: 32px;
    height: 32px;
}

.pagination-btn:hover:not(:disabled)[b-a3s4cncsy6] {
    background: var(--color-gray-50);
    border-color: var(--color-primary);
}

.pagination-btn:disabled[b-a3s4cncsy6] {
    opacity: 0.5;
    cursor: not-allowed;
}

.pagination-info[b-a3s4cncsy6] {
    padding: 0 var(--space-md);
    font-size: var(--text-sm);
    color: var(--color-gray-700);
    font-weight: 500;
}

/* Responsive Design */
@media (max-width: 1024px) {
    .tasks-controls[b-a3s4cncsy6] {
        justify-content: stretch;
    }

    .search-section[b-a3s4cncsy6] {
        max-width: none;
    }

    .task-table[b-a3s4cncsy6] {
        font-size: var(--text-xs);
    }

    .task-table th[b-a3s4cncsy6],
    .task-table td[b-a3s4cncsy6] {
        padding: var(--space-sm);
    }
}

@media (max-width: 768px) {
    .tasks-page[b-a3s4cncsy6] {
        padding: var(--space-md);
    }

    .page-header h1[b-a3s4cncsy6] {
        font-size: var(--text-2xl);
    }

    .tasks-table-container[b-a3s4cncsy6] {
        overflow-x: auto;
    }

    .task-table[b-a3s4cncsy6] {
        min-width: 800px;
    }
}

/* Favorites column */
.fav-cell[b-a3s4cncsy6] {
    width: 40px;
    text-align: center;
    padding: 0 4px;
}

.fav-btn[b-a3s4cncsy6] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    color: #d1d5db;
    padding: 4px 6px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s ease, transform 0.1s ease;
}

    .fav-btn:hover:not(:disabled)[b-a3s4cncsy6] {
        color: #f59e0b;
        transform: scale(1.2);
    }

    .fav-btn--added[b-a3s4cncsy6] {
        color: #f59e0b;
    }

    .fav-btn--added:hover[b-a3s4cncsy6] {
        color: #ef4444;
        transform: scale(1.2);
    }

    .fav-btn--error[b-a3s4cncsy6] {
        color: #f43f5e;
    }

    .fav-btn:disabled[b-a3s4cncsy6] {
        cursor: not-allowed;
    }
/* /Pages/View/List/WorkPackages.razor.rz.scp.css */
.workpackages-page[b-qp9kn6qkw6] {
    padding: var(--space-lg);
    background: var(--color-gray-50);
}

.workpackages-controls[b-qp9kn6qkw6] {
    display: flex;
    justify-content: flex-end;
    margin-bottom: var(--space-lg);
    background: white;
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.search-section[b-qp9kn6qkw6] {
    flex: 1;
    max-width: 100%;
}

.search-input[b-qp9kn6qkw6] {
    width: 100%;
    padding: var(--space-sm) var(--space-md);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
}

.search-input:focus[b-qp9kn6qkw6] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.workpackages-table-container[b-qp9kn6qkw6] {
    background: white;
    border-radius: var(--radius-md);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    overflow-x: auto;
}

.workpackages-table[b-qp9kn6qkw6] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.workpackages-table thead tr[b-qp9kn6qkw6] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.workpackages-table th[b-qp9kn6qkw6] {
    padding: var(--space-sm) var(--space-md);
    text-align: left;
    font-weight: 600;
    color: var(--color-gray-700);
    white-space: nowrap;
}

.workpackages-table th.sortable[b-qp9kn6qkw6] {
    cursor: pointer;
    user-select: none;
}

.workpackages-table th.sortable:hover[b-qp9kn6qkw6] {
    background: var(--color-gray-100);
}

.sort-icon[b-qp9kn6qkw6] {
    margin-left: var(--space-xs);
    font-size: 0.7rem;
}

.workpackages-table tbody tr[b-qp9kn6qkw6] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background-color 0.15s ease;
}

.workpackages-table tbody tr.clickable-row[b-qp9kn6qkw6] {
    cursor: pointer;
}

.workpackages-table tbody tr:hover[b-qp9kn6qkw6] {
    background: var(--color-gray-50);
}

.workpackages-table td[b-qp9kn6qkw6] {
    padding: var(--space-sm) var(--space-md);
    color: var(--color-gray-800);
}

.wp-name[b-qp9kn6qkw6] {
    font-weight: 500;
    color: var(--color-gray-900);
}

.multi-value-cell[b-qp9kn6qkw6] {
    max-width: 320px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.error-container[b-qp9kn6qkw6] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.error-message[b-qp9kn6qkw6] {
    color: var(--color-danger);
    margin-bottom: var(--space-md);
}

.btn-retry[b-qp9kn6qkw6] {
    padding: var(--space-sm) var(--space-lg);
    background: var(--color-primary);
    color: white;
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
}

.btn-retry:hover[b-qp9kn6qkw6] {
    background: var(--color-primary-dark);
}

.empty-state[b-qp9kn6qkw6] {
    background: white;
    border-radius: var(--radius-md);
    padding: var(--space-3xl);
    text-align: center;
    color: var(--color-gray-500);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.pagination-container[b-qp9kn6qkw6] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-sm);
    padding: var(--space-md);
    border-top: 1px solid var(--color-gray-100);
}

.pagination-btn[b-qp9kn6qkw6] {
    width: 32px;
    height: 32px;
    border: 1px solid var(--color-gray-300);
    background: white;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-size: var(--text-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease;
}

.pagination-btn:hover:not(:disabled)[b-qp9kn6qkw6] {
    background: var(--color-gray-100);
}

.pagination-btn:disabled[b-qp9kn6qkw6] {
    opacity: 0.4;
    cursor: not-allowed;
}

.pagination-info[b-qp9kn6qkw6] {
    font-size: var(--text-sm);
    color: var(--color-gray-600);
    padding: 0 var(--space-sm);
}
/* /Pages/View/Timesheet.razor.rz.scp.css */
/* =============================================
   TIMESHEET PAGE
   ============================================= */

.timesheet-container[b-pixcy87f5o] {
    padding: var(--space-xl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    background: var(--color-gray-50);
    min-height: 100%;
}

/* â”€â”€ Header â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.timesheet-header[b-pixcy87f5o] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.week-nav[b-pixcy87f5o] {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.week-nav-btn[b-pixcy87f5o] {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-md);
    cursor: pointer;
    color: var(--color-gray-500);
    transition: all var(--transition-fast);
    line-height: 1;
    padding: 0;
}
.week-nav-btn:hover[b-pixcy87f5o] {
    background: var(--color-gray-100);
    border-color: var(--color-gray-300);
    color: var(--color-gray-800);
}

.week-label[b-pixcy87f5o] {
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-700);
    min-width: 200px;
    text-align: center;
}

.btn-today[b-pixcy87f5o] {
    padding: var(--button-padding-xs);
    font-size: var(--text-sm);
    font-weight: 600;
    background: white;
    border: 1px solid var(--color-primary);
    border-radius: var(--radius-md);
    color: var(--color-primary);
    cursor: pointer;
    transition: background var(--transition-fast);
}
.btn-today:hover[b-pixcy87f5o] { background: var(--color-success-light); }

.header-info[b-pixcy87f5o] { display: flex; gap: var(--space-sm); }

.total-hours[b-pixcy87f5o] {
    background: var(--color-primary);
    color: white;
    padding: var(--button-padding-xs);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* â”€â”€ Grid Card â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.timesheet-grid-wrapper[b-pixcy87f5o] {
    overflow-x: auto;
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

/* â”€â”€ Table â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.timesheet-grid[b-pixcy87f5o] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
    min-width: 860px;
}

/* Head */
.timesheet-grid thead[b-pixcy87f5o] {
    background: var(--color-gray-50);
    border-bottom: 2px solid var(--color-gray-200);
}

.timesheet-grid th[b-pixcy87f5o] {
    padding: 10px var(--space-md);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap;
    border-right: 1px solid var(--color-gray-100);
}
.timesheet-grid th:last-child[b-pixcy87f5o] { border-right: none; }

.th-task[b-pixcy87f5o]         { min-width: 200px; width: 24%; }
.th-project[b-pixcy87f5o]      { min-width: 120px; width: 14%; }
.th-installation[b-pixcy87f5o] { min-width: 100px; width: 12%; }
.th-date[b-pixcy87f5o]         { width: 68px; text-align: center; padding: 6px 4px; }
.th-total[b-pixcy87f5o]        { width: 56px; text-align: center; }

/* Date header stacked */
.th-date .date-day[b-pixcy87f5o] {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: var(--color-gray-400);
    line-height: 1.2;
}
.th-date .date-num[b-pixcy87f5o] {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: var(--color-gray-700);
    line-height: 1.3;
}

/* Today column */
.th-date.today[b-pixcy87f5o] {
    background: var(--color-primary);
    position: relative;
}
.th-date.today .date-day[b-pixcy87f5o],
.th-date.today .date-num[b-pixcy87f5o] { color: rgba(255,255,255,0.9); }

/* Weekend */
.th-date.weekend[b-pixcy87f5o] { background: #f8f9fa; }
.th-date.weekend .date-day[b-pixcy87f5o],
.th-date.weekend .date-num[b-pixcy87f5o] { color: var(--color-gray-400); }

/* Body rows */
.timesheet-grid tbody tr.task-row[b-pixcy87f5o] {
    border-bottom: 1px solid var(--color-gray-100);
    transition: background var(--transition-fast);
}
.timesheet-grid tbody tr.task-row:hover[b-pixcy87f5o] { background: var(--color-gray-50); }

.timesheet-grid td[b-pixcy87f5o] {
    padding: 7px var(--space-md);
    color: var(--color-gray-700);
    vertical-align: middle;
    border-right: 1px solid var(--color-gray-100);
}
.timesheet-grid td:last-child[b-pixcy87f5o] { border-right: none; }

.td-task[b-pixcy87f5o] {
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-800);
    max-width: 200px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.td-project[b-pixcy87f5o] {
    font-size: var(--text-xs);
    color: var(--color-gray-500);
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.td-installation[b-pixcy87f5o] {
    font-size: var(--text-xs);
    color: var(--color-gray-400);
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Hours cells */
.td-hours[b-pixcy87f5o] {
    text-align: center;
    padding: 4px 2px;
    background: white;
}
.td-hours.today[b-pixcy87f5o]   { background: rgba(30, 86, 49, 0.04); }
.td-hours.weekend[b-pixcy87f5o] { background: #f8f9fa; }

.hours-input[b-pixcy87f5o] {
    width: 52px;
    text-align: center;
    padding: 5px 2px;
    font-size: var(--text-sm);
    font-weight: 500;
    color: var(--color-gray-800);
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    background: transparent;
    transition: all var(--transition-fast);
    -moz-appearance: textfield;
    cursor: pointer;
}
.hours-input[b-pixcy87f5o]::-webkit-outer-spin-button,
.hours-input[b-pixcy87f5o]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hours-input[b-pixcy87f5o]::placeholder {
    color: var(--color-gray-300);
    font-size: 11px;
    font-weight: 400;
}
.hours-input:hover[b-pixcy87f5o] {
    border-color: var(--color-gray-300);
    background: white;
    cursor: text;
}
.hours-input:focus[b-pixcy87f5o] {
    outline: none;
    border-color: var(--color-primary);
    background: white;
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1);
}
.hours-input.just-saved[b-pixcy87f5o] {
    border-color: var(--color-primary);
    background: var(--color-success-light);
    color: var(--color-primary);
}

.hours-input.pending[b-pixcy87f5o] {
    border-color: #d97706;
    background: #fffbeb;
    color: #92400e;
}

.cell-saving[b-pixcy87f5o] {
    display: block;
    text-align: center;
    color: var(--color-gray-300);
    font-size: 18px;
    line-height: 1;
    animation: pulse-b-pixcy87f5o 1s infinite;
}
@keyframes pulse-b-pixcy87f5o { 0%,100% { opacity: 1; } 50% { opacity: 0.3; } }

.td-row-total[b-pixcy87f5o] {
    text-align: center;
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--color-gray-700);
    background: var(--color-gray-50);
}

/* Add task row */
.add-task-row[b-pixcy87f5o] {
    border-bottom: none;
    cursor: pointer;
}
.add-task-row:hover[b-pixcy87f5o] { background: var(--color-gray-50) !important; }
.add-task-row:hover .add-task-label[b-pixcy87f5o] { color: var(--color-primary); }

.add-task-cell[b-pixcy87f5o] { padding: 10px var(--space-md); }

.add-task-label[b-pixcy87f5o] {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    font-size: var(--text-sm);
    color: var(--color-gray-400);
    transition: color var(--transition-fast);
    user-select: none;
}

/* Footer totals */
.timesheet-grid tfoot tr.totals-row[b-pixcy87f5o] {
    background: var(--color-gray-50);
    border-top: 2px solid var(--color-gray-200);
}

.totals-label[b-pixcy87f5o] {
    padding: 8px var(--space-md);
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.td-day-total[b-pixcy87f5o] {
    text-align: center;
    padding: 8px 2px;
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--color-gray-600);
}
.td-day-total.today[b-pixcy87f5o] {
    background: rgba(30, 86, 49, 0.07);
    color: var(--color-primary);
}
.td-day-total.weekend[b-pixcy87f5o] {
    background: #f8f9fa;
    color: var(--color-gray-400);
}

.td-week-total[b-pixcy87f5o] {
    text-align: center;
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--color-primary);
    background: var(--color-gray-50);
}

/* ── Quick Add ──────────────────────────────────────────────── */
.quick-add-card[b-pixcy87f5o] {
    background: white;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #1e5631;
    border-radius: 8px;
    padding: 16px 20px 18px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07);
}

.qa-card-label[b-pixcy87f5o] {
    margin: 0 0 12px;
    font-size: 10px;
    font-weight: 700;
    color: #1e5631;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

/* ── Skeleton ───────────────────────────────────────────────── */
.qa-skeleton-row[b-pixcy87f5o] {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── Form row ───────────────────────────────────────────────── */
.qa-row[b-pixcy87f5o] {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.qa-field[b-pixcy87f5o] {
    display: flex;
    flex-direction: column;
    gap: 6px;
    position: relative;
}
.qa-field--task[b-pixcy87f5o]  { flex: 3; min-width: 220px; }
.qa-field--date[b-pixcy87f5o]  { flex: 0 0 148px; }
.qa-field--hours[b-pixcy87f5o] { flex: 0 0 80px; }
.qa-field--notes[b-pixcy87f5o] { flex: 2; min-width: 160px; }
.qa-field--btn[b-pixcy87f5o]   { flex: 0 0 auto; align-self: flex-end; }

.qa-lbl[b-pixcy87f5o] {
    display: block;
    font-size: 10.5px;
    font-weight: 700;
    color: #718096;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    user-select: none;
    margin: 0;
    line-height: 1;
}

/* ── Shared control height — override Bootstrap's normalization ── */
.qa-task-trigger[b-pixcy87f5o],
.qa-ctrl[b-pixcy87f5o] {
    box-sizing: border-box;
    height: 36px;
    font-family: inherit;
    font-size: 13px;
    line-height: 1;
}

/* ── Task trigger button ─────────────────────────────────────── */
.qa-task-trigger[b-pixcy87f5o] {
    width: 100%;
    padding: 0 10px;
    color: #2d3748;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    cursor: pointer;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
    text-align: left;
    /* reset Bootstrap button globals */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
}
.qa-task-trigger:hover[b-pixcy87f5o] {
    border-color: #cbd5e0;
    background: white;
}
.qa-task-trigger.open[b-pixcy87f5o] {
    border-color: #1e5631;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    background: white;
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.12);
}
.qa-task-trigger:focus[b-pixcy87f5o] { outline: none; }

.qa-trigger-placeholder[b-pixcy87f5o] {
    flex: 1;
    color: #a0aec0;
    font-size: 13px;
    font-style: italic;
}
.qa-trigger-selected[b-pixcy87f5o] {
    flex: 1;
    color: #1e5631;
    font-weight: 600;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.qa-trigger-arrow[b-pixcy87f5o] {
    font-size: 9px;
    color: #a0aec0;
    flex-shrink: 0;
    line-height: 1;
}
.qa-trigger-clear[b-pixcy87f5o] {
    flex-shrink: 0;
    font-size: 16px;
    line-height: 1;
    color: #a0aec0;
    padding: 2px 3px;
    border-radius: 3px;
    border: none;
    background: none;
    cursor: pointer;
    font-family: inherit;
    transition: color 0.12s, background 0.12s;
}
.qa-trigger-clear:hover[b-pixcy87f5o] {
    color: #c53030;
    background: #fed7d7;
}

/* ── Dropdown panel ─────────────────────────────────────────── */
.qa-dropdown[b-pixcy87f5o] {
    position: absolute;
    top: calc(100% - 1px);
    left: 0;
    z-index: 100;
    background: white;
    border: 1px solid #1e5631;
    border-top: 2px solid #e2e8f0;
    border-radius: 0 0 8px 8px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.14);
    overflow: hidden;
    min-width: max(100%, 640px);
}

.qa-dropdown-search[b-pixcy87f5o] {
    padding: 8px 12px;
    border-bottom: 1px solid #f0f4f8;
    background: #f7fafc;
}

.qa-search-input[b-pixcy87f5o] {
    width: 100%;
    box-sizing: border-box;
    height: 32px;
    padding: 0 10px;
    font-size: 13px;
    font-family: inherit;
    color: #2d3748;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 5px;
    transition: border-color 0.15s, box-shadow 0.15s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.qa-search-input:focus[b-pixcy87f5o] {
    outline: none;
    border-color: #1e5631;
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1);
}

.qa-task-table-wrapper[b-pixcy87f5o] {
    max-height: 264px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e0 transparent;
}

.qa-task-table[b-pixcy87f5o] {
    width: 100%;
    border-collapse: collapse;
    font-size: 12.5px;
}
.qa-task-table thead[b-pixcy87f5o] {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f7fafc;
}
.qa-task-table thead tr[b-pixcy87f5o] {
    border-bottom: 2px solid #e2e8f0;
}
.qa-task-table th[b-pixcy87f5o] {
    padding: 7px 12px;
    text-align: left;
    font-size: 10px;
    font-weight: 700;
    color: #718096;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    white-space: nowrap;
}
.qa-task-table td[b-pixcy87f5o] {
    padding: 8px 12px;
    color: #4a5568;
    border-bottom: 1px solid #f0f4f8;
    vertical-align: middle;
}
.qa-task-row[b-pixcy87f5o] {
    cursor: pointer;
    transition: background 0.1s;
}
.qa-task-row:hover[b-pixcy87f5o] { background: #f7fafc; }
.qa-task-row.qa-selected[b-pixcy87f5o] { background: rgba(30, 86, 49, 0.06); }
.qa-task-row.qa-selected td[b-pixcy87f5o] { color: #1e5631; font-weight: 600; }
.qa-task-row:last-child td[b-pixcy87f5o] { border-bottom: none; }

.qa-td-name[b-pixcy87f5o] {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: 500;
    color: #2d3748;
}
.qa-td-type[b-pixcy87f5o] {
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
    color: #718096;
}
.qa-td-project[b-pixcy87f5o],
.qa-td-install[b-pixcy87f5o] {
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
    color: #718096;
}
.qa-td-num[b-pixcy87f5o]  { text-align: right; font-size: 11.5px; color: #718096; white-space: nowrap; }
.qa-td-date[b-pixcy87f5o] { white-space: nowrap; font-size: 11.5px; color: #718096; }

/* ── Shared input style ─────────────────────────────────────── */
.qa-ctrl[b-pixcy87f5o] {
    width: 100%;
    padding: 0 10px;
    color: #2d3748;
    background: #f7fafc;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
    transition: border-color 0.15s, box-shadow 0.15s, background 0.15s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.qa-ctrl:hover[b-pixcy87f5o]  { border-color: #cbd5e0; background: white; }
.qa-ctrl:focus[b-pixcy87f5o]  { outline: none; border-color: #1e5631; background: white; box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1); }
.qa-ctrl--num[b-pixcy87f5o]   { -moz-appearance: textfield; text-align: center; }
.qa-ctrl--num[b-pixcy87f5o]::-webkit-outer-spin-button,
.qa-ctrl--num[b-pixcy87f5o]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Submit button ──────────────────────────────────────────── */
.qa-submit[b-pixcy87f5o] {
    box-sizing: border-box;
    height: 36px;
    padding: 0 20px;
    font-size: 13px;
    font-weight: 600;
    font-family: inherit;
    white-space: nowrap;
    background: #1e5631;
    color: white;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: background 0.15s, opacity 0.15s;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
.qa-submit:hover:not(:disabled)[b-pixcy87f5o] { background: #1a4a2a; }
.qa-submit:disabled[b-pixcy87f5o] { opacity: 0.38; cursor: not-allowed; }

.qa-spinner[b-pixcy87f5o] {
    width: 13px; height: 13px;
    border: 2px solid rgba(255,255,255,0.4);
    border-top-color: white;
    border-radius: 50%;
    animation: qa-spin-b-pixcy87f5o 0.65s linear infinite;
    flex-shrink: 0;
}
@keyframes qa-spin-b-pixcy87f5o { to { transform: rotate(360deg); } }

.qa-status[b-pixcy87f5o] { margin: 10px 0 0; font-size: 12px; font-weight: 500; }
.qa-status--ok[b-pixcy87f5o]  { color: #1e5631; }
.qa-status--err[b-pixcy87f5o] { color: #c53030; }

/* ── Save bar (batch save) ─────────────────────── */
.save-bar[b-pixcy87f5o] {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    border-radius: 8px;
    margin-top: 8px;
}

.save-bar-msg[b-pixcy87f5o] {
    flex: 1;
    font-size: 13px;
    color: #78350f;
}

.save-bar-error[b-pixcy87f5o] {
    color: #b91c1c;
}

.save-bar-btn[b-pixcy87f5o] {
    height: 34px;
    padding: 0 18px;
    background: #1e5631;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    -webkit-appearance: none;
    transition: background 0.15s;
}

.save-bar-btn:hover:not(:disabled)[b-pixcy87f5o] {
    background: #164525;
}

.save-bar-btn:disabled[b-pixcy87f5o] {
    opacity: 0.55;
    cursor: not-allowed;
}

.save-bar-discard[b-pixcy87f5o] {
    height: 34px;
    padding: 0 14px;
    background: transparent;
    color: #6b7280;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    -webkit-appearance: none;
    transition: background 0.15s, color 0.15s;
}

.save-bar-discard:hover:not(:disabled)[b-pixcy87f5o] {
    background: #f3f4f6;
    color: #374151;
}

.save-bar-discard:disabled[b-pixcy87f5o] {
    opacity: 0.55;
    cursor: not-allowed;
}

/* ── Save error (kept for compatibility) ──────────── */
.save-error[b-pixcy87f5o] {
    padding: var(--space-sm) var(--space-md);
    background: var(--color-danger-light);
    border: 1px solid #fca5a5;
    border-radius: var(--radius-md);
    color: var(--color-danger);
    font-size: var(--text-sm);
}

/* â”€â”€ Task Picker Panel â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.task-picker-panel[b-pixcy87f5o] {
    background: white;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    overflow: hidden;
}

.task-picker-header[b-pixcy87f5o] {
    display: flex;
    align-items: center;
    gap: var(--space-md);
    padding: var(--space-md) var(--space-lg);
    border-bottom: 1px solid var(--color-gray-200);
    background: var(--color-gray-50);
}

.task-picker-header h4[b-pixcy87f5o] {
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--color-gray-800);
    white-space: nowrap;
    flex-shrink: 0;
}

.picker-search[b-pixcy87f5o] {
    flex: 1;
    max-width: 320px;
    padding: var(--input-padding-xs);
    font-size: var(--text-sm);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--radius-md);
    background: white;
    transition: border-color var(--transition-fast);
}
.picker-search:focus[b-pixcy87f5o] {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(30, 86, 49, 0.1);
}

.task-picker-table-wrapper[b-pixcy87f5o] {
    max-height: 320px;
    overflow-y: auto;
}

.task-picker-table[b-pixcy87f5o] {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-sm);
}

.task-picker-table thead[b-pixcy87f5o] {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--color-gray-50);
    border-bottom: 1px solid var(--color-gray-200);
}

.task-picker-table th[b-pixcy87f5o] {
    padding: var(--space-sm) var(--space-md);
    text-align: left;
    font-size: var(--text-xs);
    font-weight: 700;
    color: var(--color-gray-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.task-picker-table td[b-pixcy87f5o] {
    padding: 9px var(--space-md);
    color: var(--color-gray-700);
    border-bottom: 1px solid var(--color-gray-100);
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.picker-row[b-pixcy87f5o] { cursor: pointer; transition: background var(--transition-fast); }
.picker-row:hover[b-pixcy87f5o] { background: var(--color-gray-50); }
.picker-row.already-added[b-pixcy87f5o] {
    opacity: 0.4;
    cursor: default;
    pointer-events: none;
}

.no-tasks-row[b-pixcy87f5o] {
    text-align: center;
    color: var(--color-gray-400);
    padding: var(--space-xl) !important;
    font-size: var(--text-sm);
}

/* â”€â”€ Status badges â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.badge[b-pixcy87f5o] {
    display: inline-block;
    padding: 2px var(--space-sm);
    border-radius: var(--radius-sm);
    font-size: var(--text-2xs);
    font-weight: 700;
    white-space: nowrap;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}
.badge.in-progress[b-pixcy87f5o]  { background: #dbeafe; color: #1e40af; }
.badge.completed[b-pixcy87f5o]    { background: var(--color-success-light); color: var(--color-primary); }
.badge.overdue[b-pixcy87f5o]      { background: var(--color-danger-light); color: var(--color-danger); }
.badge.not-started[b-pixcy87f5o]  { background: var(--color-gray-100); color: var(--color-gray-600); }
.badge.unknown[b-pixcy87f5o]      { background: var(--color-gray-100); color: var(--color-gray-500); }

/* â”€â”€ Responsive â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
@media (max-width: 768px) {
    .timesheet-container[b-pixcy87f5o] { padding: var(--space-md); gap: var(--space-md); }
    .week-label[b-pixcy87f5o] { min-width: unset; }
    .task-picker-header[b-pixcy87f5o] { flex-wrap: wrap; }
    .picker-search[b-pixcy87f5o] { max-width: 100%; }
    .qa-row[b-pixcy87f5o] { flex-direction: column; align-items: stretch; }
    .qa-field--task[b-pixcy87f5o],
    .qa-field--date[b-pixcy87f5o],
    .qa-field--hours[b-pixcy87f5o],
    .qa-field--notes[b-pixcy87f5o],
    .qa-field--btn[b-pixcy87f5o]   { flex: unset; width: 100%; max-width: 100%; }
    .qa-submit[b-pixcy87f5o] { width: 100%; justify-content: center; }
    .qa-dropdown[b-pixcy87f5o] { min-width: unset; left: 0; right: 0; }
    .qa-skeleton-row[b-pixcy87f5o] { flex-direction: column; align-items: stretch; }
}
/* /Shared/InstallationStructureTree.razor.rz.scp.css */
/* Radzen tree overrides */
[b-4ktqsfpzqp] .rz-tree {
    padding: 4px 0;
    background: transparent;
    width: max-content;
    min-width: 100%;
}

[b-4ktqsfpzqp] .rz-tree-node,
[b-4ktqsfpzqp] .rz-tree-node-content {
    white-space: nowrap;
    width: max-content;
    min-width: 100%;
}

[b-4ktqsfpzqp] .rz-tree-node-content {
    padding: 2px 4px;
    border-radius: 3px;
}

[b-4ktqsfpzqp] .rz-tree-node-content:hover {
    background: var(--color-gray-100, #f3f4f6);
}

.tree-empty[b-4ktqsfpzqp] {
    display: block;
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}

/* custom item template */
.tree-item[b-4ktqsfpzqp] {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.78rem;
    color: var(--color-gray-700, #374151);
    white-space: nowrap;
    user-select: none;
    cursor: context-menu;
}

.tree-item--focal[b-4ktqsfpzqp] {
    font-weight: 700;
    color: var(--color-primary, #2563eb);
}

.tree-item--highlighted[b-4ktqsfpzqp] {
    background: #dbeafe;
    border-radius: 3px;
    padding: 1px 6px;
    outline: 1px solid #93c5fd;
}

.tree-item--clickable[b-4ktqsfpzqp] {
    cursor: pointer;
}

.tree-item--clickable:hover[b-4ktqsfpzqp] {
    text-decoration: underline;
    color: var(--color-primary, #2563eb);
}

.tree-item-icon[b-4ktqsfpzqp] {
    font-size: 0.85rem;
    flex-shrink: 0;
}

.tree-item-id[b-4ktqsfpzqp] {
    font-size: 0.68rem;
    color: var(--color-gray-400, #9ca3af);
    margin-left: 1px;
}

/* ── Radzen context menu overrides ───────────────────── */
[b-4ktqsfpzqp] .rz-menu-item-text {
    font-size: 0.8rem;
}

[b-4ktqsfpzqp] .rz-contextmenu .rz-menu-item.rz-menuitem-text {
    font-size: 0.8rem;
}

[b-4ktqsfpzqp] .rz-menu-separator {
    margin: 3px 0;
}
/* /Shared/StructurePanel.razor.rz.scp.css */
/* ── Structure panel ──────────────────────────────────── */
.structure-panel[b-5hr7k8zcrg] {
    border-right: 1px solid var(--color-gray-200, #e2e8f0);
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.structure-panel-header[b-5hr7k8zcrg] {
    padding: 8px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500, #9ca3af);
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

/* ── Tree body ───────────────────────────────────────── */
.tree-body[b-5hr7k8zcrg] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 8px 0;
}

.tree-empty[b-5hr7k8zcrg] {
    display: block;
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}

.structure-panel-header[b-5hr7k8zcrg] {
    padding: 8px 12px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-gray-500, #9ca3af);
    background: var(--color-gray-50, #f9fafb);
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    flex-shrink: 0;
}

/* ── Toolbar ─────────────────────────────────────────── */
.structure-toolbar[b-5hr7k8zcrg] {
    display: flex;
    align-items: center;
    padding: 6px 8px;
    border-bottom: 1px solid var(--color-gray-200, #e2e8f0);
    background: var(--color-gray-50, #f9fafb);
    flex-shrink: 0;
}

.toolbar-group[b-5hr7k8zcrg] {
    display: flex;
    align-items: center;
    gap: 4px;
}

.toolbar-btn[b-5hr7k8zcrg] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 4px 8px;
    border: 1px solid var(--color-gray-300, #d1d5db);
    background: white;
    border-radius: 4px;
    font-size: 0.72rem;
    cursor: pointer;
    color: var(--color-gray-700, #374151);
    white-space: nowrap;
}

.toolbar-btn:hover:not(:disabled)[b-5hr7k8zcrg] {
    background: var(--color-gray-100, #f3f4f6);
}

.toolbar-btn:disabled[b-5hr7k8zcrg] {
    opacity: 0.5;
    cursor: not-allowed;
}

.toolbar-btn--delete:hover:not(:disabled)[b-5hr7k8zcrg] {
    background: #fee2e2;
    border-color: #fca5a5;
    color: #dc2626;
}

.toolbar-icon[b-5hr7k8zcrg] {
    font-size: 0.7rem;
}

.dropdown-arrow[b-5hr7k8zcrg] {
    font-size: 0.6rem;
    margin-left: 2px;
}

.dropdown-container[b-5hr7k8zcrg] {
    position: relative;
}

.dropdown-menu[b-5hr7k8zcrg] {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 200;
    min-width: 140px;
    background: white;
    border: 1px solid var(--color-gray-200, #e2e8f0);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    padding: 4px 0;
    margin-top: 2px;
}

.dropdown-section-header[b-5hr7k8zcrg] {
    padding: 4px 12px 2px;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--color-gray-400, #9ca3af);
}

.dropdown-item[b-5hr7k8zcrg] {
    display: block;
    width: 100%;
    padding: 6px 12px;
    border: none;
    background: transparent;
    text-align: left;
    font-size: 0.76rem;
    color: var(--color-gray-700, #374151);
    cursor: pointer;
}

.dropdown-item:hover[b-5hr7k8zcrg] {
    background: var(--color-gray-100, #f3f4f6);
    color: var(--color-primary, #2563eb);
}

/* ── Tree body ───────────────────────────────────────── */
.tree-body[b-5hr7k8zcrg] {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 8px 0;
}

/* Invisible full-screen backdrop to catch click-outside */
.dropdown-backdrop[b-5hr7k8zcrg] {
    position: fixed;
    inset: 0;
    z-index: 99;
}

.tree-empty[b-5hr7k8zcrg] {
    display: block;
    padding: 12px;
    color: var(--color-gray-400, #9ca3af);
    font-size: 0.75rem;
}
