/* Project Nexus status chart theme
   Premium status palette for dashboard rings, pies, and bars. */

.dashboard-admin-page {
    --dashboard-status-completed: #2f6bff;
    --dashboard-status-progress: #ffb020;
    --dashboard-status-cancelled: #f04438;
    --dashboard-status-pipeline: #7c3aed;
    --dashboard-status-pending: #06b6d4;
    --dashboard-status-not-awarded: #111827;
    --dashboard-status-track: #e8eaee;
    --dashboard-status-fallback: #64748b;
}

.dashboard-admin-page .dashboard-ring-track {
    stroke: var(--dashboard-status-track);
}

.dashboard-admin-page .dashboard-bar-row meter::-webkit-meter-bar {
    background: var(--dashboard-status-track);
}

.dashboard-admin-page .dashboard-ring-segment-0 {
    stroke: var(--dashboard-status-completed);
}

.dashboard-admin-page .dashboard-ring-segment-1 {
    stroke: var(--dashboard-status-progress);
}

.dashboard-admin-page .dashboard-ring-segment-2 {
    stroke: var(--dashboard-status-cancelled);
}

.dashboard-admin-page .dashboard-ring-segment-3 {
    stroke: var(--dashboard-status-pipeline);
}

.dashboard-admin-page .dashboard-ring-segment-4 {
    stroke: var(--dashboard-status-pending);
}

.dashboard-admin-page .dashboard-ring-segment-5 {
    stroke: var(--dashboard-status-not-awarded);
}

.dashboard-admin-page .dashboard-ring-segment-6 {
    stroke: var(--dashboard-status-fallback);
}

.dashboard-admin-page .dashboard-pie-segment-0 {
    fill: var(--dashboard-status-completed);
    stroke: var(--dashboard-status-completed);
}

.dashboard-admin-page .dashboard-pie-segment-1 {
    fill: var(--dashboard-status-progress);
    stroke: var(--dashboard-status-progress);
}

.dashboard-admin-page .dashboard-pie-segment-2 {
    fill: var(--dashboard-status-cancelled);
    stroke: var(--dashboard-status-cancelled);
}

.dashboard-admin-page .dashboard-pie-segment-3 {
    fill: var(--dashboard-status-pipeline);
    stroke: var(--dashboard-status-pipeline);
}

.dashboard-admin-page .dashboard-pie-segment-4 {
    fill: var(--dashboard-status-pending);
    stroke: var(--dashboard-status-pending);
}

.dashboard-admin-page .dashboard-pie-segment-5 {
    fill: var(--dashboard-status-not-awarded);
    stroke: var(--dashboard-status-not-awarded);
}

.dashboard-admin-page .dashboard-pie-segment-6 {
    fill: var(--dashboard-status-fallback);
    stroke: var(--dashboard-status-fallback);
}

.dashboard-admin-page .dashboard-bar-row-0 {
    --dashboard-bar-color: var(--dashboard-status-completed);
}

.dashboard-admin-page .dashboard-bar-row-1 {
    --dashboard-bar-color: var(--dashboard-status-progress);
}

.dashboard-admin-page .dashboard-bar-row-2 {
    --dashboard-bar-color: var(--dashboard-status-cancelled);
}

.dashboard-admin-page .dashboard-bar-row-3 {
    --dashboard-bar-color: var(--dashboard-status-pipeline);
}

.dashboard-admin-page .dashboard-bar-row-4 {
    --dashboard-bar-color: var(--dashboard-status-pending);
}

.dashboard-admin-page .dashboard-bar-row-5 {
    --dashboard-bar-color: var(--dashboard-status-not-awarded);
}

.dashboard-admin-page .dashboard-bar-row-6 {
    --dashboard-bar-color: var(--dashboard-status-fallback);
}

/* Sticky footer layout
   Keeps the public footer pinned to the bottom of short pages while allowing
   longer pages to scroll naturally. */
html,
body {
    min-height: 100%;
}

.site-shell {
    min-height: calc(100vh - 116px);
    display: flex;
    flex-direction: column;
}

.home-page .site-shell,
.services-page .site-shell {
    min-height: 100vh;
}

.site-shell > main {
    flex: 1 0 auto;
}

.site-footer {
    margin-top: auto;
    flex-shrink: 0;
}
