/* =========================
Timeline
API kept compatible with gnexus-ui-kit.
========================= */
@use "../kit-deps" as *;
.timeline {
display: grid;
gap: $space-4;
width: 100%;
max-width: 760px;
margin: 0;
padding: 0;
list-style: none;
}
.timeline-item {
position: relative;
display: flex;
gap: $space-4;
padding-left: $space-2;
&::before {
content: "";
position: absolute;
top: 32px;
bottom: -$space-4;
left: 23px;
width: 2px;
background: $border-color-muted;
}
&:last-child::before {
display: none;
}
}
.timeline-marker {
position: relative;
z-index: 1;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: $radius-full;
background: $neutral-100;
color: $neutral-700;
font-size: $icon-size-sm;
}
.timeline-item-primary .timeline-marker {
background: $neutral-900;
color: $neutral-0;
}
.timeline-item-secondary .timeline-marker {
background: $mint-300;
color: $neutral-900;
}
.timeline-item-accent .timeline-marker {
background: $yellow-300;
color: $neutral-900;
}
.timeline-item-success .timeline-marker {
background: $success-bg;
color: $success-text;
}
.timeline-item-warning .timeline-marker {
background: $warning-bg;
color: $warning-text;
}
.timeline-item-danger .timeline-marker,
.timeline-item-error .timeline-marker {
background: $danger-bg;
color: $danger-text;
}
.timeline-item-info .timeline-marker {
background: $info-bg;
color: $info-text;
}
.timeline-content {
flex: 1;
min-width: 0;
}
.timeline-card {
padding: $space-4;
border: $border-width-base $border-style-base $border-color-muted;
border-radius: $radius-lg;
background: $surface-panel-muted;
}
.timeline-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: $space-3;
margin-bottom: $space-2;
}
.timeline-title {
margin: 0;
color: $neutral-900;
font-family: $font-family-base;
font-size: 16px;
font-weight: $font-weight-semibold;
line-height: 1.3;
}
.timeline-time {
flex-shrink: 0;
color: $neutral-500;
font-family: $font-family-base;
font-size: 12px;
line-height: 1.3;
}
.timeline-text {
margin: 0;
color: $neutral-700;
font-family: $font-family-base;
font-size: 14px;
line-height: 1.5;
}
.timeline-meta {
display: flex;
align-items: center;
gap: $space-2;
margin-top: $space-3;
color: $neutral-600;
font-size: 13px;
}