/* =========================================================
   AJUS timeline
   Chronological list of events with a connecting rule.

       <ul class="ajus-timeline">
           <li class="ajus-timeline__item ajus-timeline__item--done">
               <span class="ajus-timeline__marker" aria-hidden="true"></span>
               <span class="ajus-timeline__time">12 May 2025 · 09:14</span>
               <span class="ajus-timeline__title">Invoice approved</span>
               <p class="ajus-timeline__text">Approved by the finance team.</p>
           </li>
       </ul>

   Item states: --done --danger (base = neutral).
   ========================================================= */

.ajus-timeline {
    position: relative;
    margin: 0;
    padding: 0 0 0 1.6rem;
    list-style: none;
}

.ajus-timeline::before {
    content: '';
    position: absolute;
    top: 0.35rem;
    bottom: 0.35rem;
    left: 0.4rem;
    width: 2px;
    background: var(--color-border-soft);
}

.ajus-timeline__item {
    position: relative;
    padding-bottom: 1.15rem;
}

.ajus-timeline__item:last-child {
    padding-bottom: 0;
}

.ajus-timeline__marker {
    position: absolute;
    top: 0.2rem;
    left: -1.55rem;
    width: 0.7rem;
    height: 0.7rem;
    border: 2px solid var(--color-border-primary);
    border-radius: 50%;
    background: var(--color-bg-surface);
}

.ajus-timeline__item--done .ajus-timeline__marker {
    border-color: var(--color-primary);
    background: var(--color-primary);
}

.ajus-timeline__item--danger .ajus-timeline__marker {
    border-color: var(--color-danger);
    background: var(--color-danger);
}

.ajus-timeline__time {
    display: block;
    margin-bottom: 0.1rem;
    font-size: 0.78rem;
    line-height: 1.3;
    color: var(--color-text-soft);
}

.ajus-timeline__title {
    display: block;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--color-text-main);
}

.ajus-timeline__text {
    margin: 0.15rem 0 0;
    font-size: 0.9rem;
    line-height: 1.55;
    color: var(--color-text-muted);
}
