.tf-timeline{flex-direction:column;display:flex}.tf-timeline-item{gap:var(--space-4);display:flex}.tf-timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;display:flex}.tf-timeline-icon{border-radius:var(--radius-full);border:2px solid var(--color-secondary);background:var(--color-white);width:34px;height:34px;color:var(--color-muted);transition:all var(--transition-base);z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.tf-timeline-line{background:var(--color-secondary);width:2px;min-height:32px;margin:var(--space-1)0;transition:background var(--transition-base);flex:1}.tf-timeline-content{padding-bottom:var(--space-6);flex-direction:column;gap:2px;display:flex}.tf-timeline-label{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-black)}.tf-timeline-date{font-size:var(--font-xs);color:var(--color-muted);font-weight:var(--font-medium)}.tf-timeline-item--completed .tf-timeline-icon{border-color:var(--success);background:var(--success);color:var(--color-white)}.tf-timeline-item--completed .tf-timeline-line{background:var(--success)}.tf-timeline-item--current .tf-timeline-icon{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-white);box-shadow:0 0 0 4px var(--primary-bg);animation:2s ease-in-out infinite tf-timeline-pulse}.tf-timeline-item--current .tf-timeline-label{color:var(--color-primary)}@keyframes tf-timeline-pulse{0%,to{box-shadow:0 0 0 4px var(--primary-bg)}50%{box-shadow:0 0 0 8px var(--primary-bg)}}.tf-timeline-item--upcoming .tf-timeline-icon{border-color:var(--color-secondary);background:var(--color-white);color:var(--color-muted)}.tf-timeline-item--upcoming .tf-timeline-label{color:var(--color-muted)}.tf-timeline-item:last-child .tf-timeline-content{padding-bottom:0}@media (max-width:576px){.tf-timeline-icon{width:28px;height:28px}.tf-timeline-line{min-height:24px}}.tf-gmp-tabs{background:var(--color-state);border-radius:var(--radius-sm);gap:4px;padding:4px;display:inline-flex}.tf-gmp-tab{padding:var(--space-2)var(--space-4);border-radius:var(--radius-xs);font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none}.tf-gmp-tab--active{background:var(--color-white);color:var(--color-black);box-shadow:var(--card-shadow)}.tf-gmp-tab:not(.tf-gmp-tab--active):hover{color:var(--color-black)}
