.tgu-planning-tabs {
    margin-bottom: -0.75rem;
}

.tgu-chart-controls {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1rem;
    border-bottom: 1px solid #dbe5ef;
}

.tgu-chart-controls .form-control {
    min-width: 12.5rem;
}

.tgu-chart-legend {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem 0.85rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: #526b83;
    font-size: 0.82rem;
}

.tgu-legend-item {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    white-space: nowrap;
}

.tgu-legend-note {
    color: #687f96;
}

.tgu-legend-swatch {
    display: inline-block;
    width: 1rem;
    height: 0.45rem;
    border-radius: 999px;
    background: #8d99a6;
}

.tgu-status-accepted {
    background: #198754;
}

.tgu-status-rejected,
.tgu-status-ambiguous {
    background: #dc3545;
}

.tgu-status-planned {
    background: #8d99a6;
}

.tgu-status-waiting {
    background: #f0ad2e;
}

.tgu-status-issuing {
    background: #0d6efd;
}

.tgu-status-expired {
    background: #495057;
}

.tgu-status-superseded {
    background: #c7ced6;
}

.tgu-status-ambiguous {
    border: 1px dashed #7d1f2a;
}

.tgu-timeline-scroll {
    max-height: 64vh;
    overflow-y: auto;
    overflow-x: hidden;
    border-top: 1px solid #edf2f7;
    background: #fbfdff;
}

.tgu-timeline-content {
    min-width: 0;
}

.tgu-timeline-svg {
    display: block;
    width: 100%;
    min-height: 12rem;
    background: #fbfdff;
}

.tgu-timeline-label {
    fill: #314963;
    font-size: 12px;
    font-weight: 600;
}

.tgu-timeline-sub-label {
    fill: #72879d;
    font-size: 10px;
}

.tgu-timeline-axis,
.tgu-timeline-grid {
    stroke: #cdd9e5;
    stroke-width: 1;
}

.tgu-timeline-grid {
    stroke-dasharray: 3 4;
}

.tgu-timeline-tick-label {
    fill: #5d7288;
    font-size: 11px;
}

.tgu-timeline-plan {
    cursor: pointer;
    stroke-linecap: round;
}

.tgu-timeline-plan:hover,
.tgu-timeline-plan-selected {
    filter: drop-shadow(0 0 4px rgba(24, 80, 140, 0.45));
}

.tgu-sequence-arrow {
    stroke: #8ea1b5;
    stroke-width: 1.6;
    fill: none;
}

.tgu-plan-details {
    border-top: 1px solid #dbe5ef;
    padding: 1rem;
    background: #ffffff;
}

.tgu-plan-details:empty {
    display: none;
}

.tgu-plan-details-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0.75rem;
}

.tgu-plan-detail-label {
    color: #6b7f95;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.tgu-plan-detail-value {
    color: #24364a;
    font-size: 0.92rem;
    overflow-wrap: anywhere;
}
