.progress-block { min-width: 0; max-width: 100%; padding-top: 0; border-top: 0; } .progress-head { display: flex; align-items: center; justify-content: flex-start; margin-bottom: 12px; } .progress-head h3 { display: inline-flex; align-items: center; gap: 8px; color: #0f172a; font-size: 14px; font-weight: 850; } .progress-head h3::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: var(--theme-primary); box-shadow: 0 0 0 4px var(--theme-focus-ring); } .progress-line { width: 100%; min-width: 0; max-width: 100%; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(var(--progress-columns, 5), minmax(118px, 1fr)); overflow-x: auto; overscroll-behavior-x: contain; padding: 4px 2px 2px; } .progress-step { position: relative; display: grid; grid-template-rows: 26px minmax(62px, auto); justify-items: center; align-items: start; gap: 10px; min-width: 0; padding: 0 6px; color: #94a3b8; } .progress-step::before, .progress-step::after { content: ""; position: absolute; top: 13px; left: 0; right: 0; z-index: 0; height: 2px; } .progress-step::before { background: #dbe4ee; } .progress-step::after { background: var(--theme-primary); opacity: 0; } .progress-step.done::after { opacity: 1; } .progress-step.current::after { right: 50%; opacity: 1; } .progress-step:first-child::before, .progress-step:first-child.done::after { left: 50%; } .progress-step:first-child.current::after { left: 50%; right: 50%; } .progress-step:last-child::before, .progress-step:last-child::after { right: 50%; } .progress-step span { position: relative; z-index: 1; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 999px; background: #e2e8f0; color: #64748b; font-size: 13px; font-weight: 900; } .current-progress-ring { position: absolute; inset: -4px; z-index: -1; border: 2px solid rgba(var(--theme-primary-rgb), .42); border-radius: 999px; pointer-events: none; } .progress-step.active span { background: var(--theme-primary-active); color: #fff; } .progress-step.current span { background: var(--theme-primary) !important; color: #fff !important; box-shadow: 0 0 0 4px var(--theme-focus-ring) !important; animation: breathe-dot 3.2s ease-in-out infinite !important; transform-origin: center !important; } @keyframes breathe-dot { 0%, 100% { transform: scale(1); box-shadow: 0 4px 12px rgba(var(--theme-primary-rgb), .3), 0 0 0 4px var(--theme-focus-ring); } 50% { transform: scale(1.12); box-shadow: 0 4px 20px rgba(var(--theme-primary-rgb), .5), 0 0 0 10px rgba(var(--theme-primary-rgb), .08); } } .progress-step strong { color: #334155; font-size: 12px; line-height: 1.35; text-align: center; } .progress-step.current strong { color: var(--theme-primary-active); } .progress-step-copy { width: 100%; min-width: 0; display: grid; justify-items: center; align-content: start; gap: 6px; } .progress-step-status { box-sizing: border-box; width: 100%; max-width: 136px; min-width: 0; min-height: 22px; display: block; padding: 0 9px; border: 1px solid #e2e8f0; border-radius: 4px; background: #f8fafc; color: #64748b; font-size: 11px; font-weight: 850; line-height: 20px; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .progress-step.done .progress-step-status { border-color: rgba(var(--theme-primary-rgb), .2); background: var(--theme-primary-soft); color: var(--theme-primary-active); } .progress-step.current .progress-step-status { border-color: rgba(var(--theme-primary-rgb), .22); background: var(--theme-primary); color: #fff; box-shadow: 0 8px 18px var(--theme-primary-shadow); } .progress-step:not(.done):not(.current) .progress-step-status { background: #f8fafc; color: #94a3b8; } .progress-step.current small { color: var(--theme-primary-active); } .progress-step-meta { display: block; width: 100%; min-height: 16px; color: #64748b; font-size: 11px; font-style: normal; line-height: 1.35; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .progress-step.current .progress-step-meta { color: #475569; }