/* Horizontal top stepper */ .stepper { display: flex; align-items: flex-end; width: 100%; margin-bottom: 24px; padding-bottom: 20px; border-bottom: 1px solid rgba(148, 163, 184, 0.25); font-family: inherit; } .stepGroup { display: flex; align-items: flex-end; flex: 1; min-width: 0; } .stepGroup:last-child { flex: 0 0 auto; } .stepUnit { display: flex; flex-direction: column; align-items: center; gap: 8px; flex-shrink: 0; } .stepDot { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; background: rgba(148, 163, 184, 0.2); color: var(--text-muted); border: 2px solid transparent; transition: background 0.2s, color 0.2s, border-color 0.2s; } .stepLabel { font-size: 12px; font-weight: 600; color: var(--text-muted); white-space: nowrap; transition: color 0.2s; } .stepActive .stepDot { background: rgba(var(--primary-rgb) / 0.15); color: var(--primary); border-color: var(--primary); } .stepActive .stepLabel { color: var(--primary); } .stepDone .stepDot { background: var(--primary); color: white; border-color: var(--primary); } .stepDone .stepLabel { color: var(--text-secondary); } .connector { flex: 1; height: 2px; min-width: 24px; margin: 0 8px 13px; background: rgba(148, 163, 184, 0.3); border-radius: 1px; transition: background 0.2s; } .connectorDone { background: var(--primary); } @media (max-width: 520px) { .stepLabel { font-size: 11px; } .connector { min-width: 12px; margin: 0 4px 13px; } } /* Tall side panel — current step only */ .rail { display: flex; flex-direction: column; align-items: stretch; width: 112px; flex-shrink: 0; min-height: 320px; align-self: stretch; padding: 18px 12px; background: var(--glass-bg); backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px); border: 1px solid var(--glass-border); border-radius: var(--radius); box-shadow: var(--glass-shadow); font-family: inherit; } .railCurrent { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; text-align: center; min-height: 160px; } .railIconWrap { width: 52px; height: 52px; display: inline-flex; align-items: center; justify-content: center; border-radius: 14px; color: var(--primary); background: rgba(var(--primary-rgb) / 0.14); border: 1px solid rgba(var(--primary-rgb) / 0.28); } .railTitle { font-size: 13px; font-weight: 700; color: var(--text-primary); line-height: 1.35; } .railIndex { font-size: 11px; font-weight: 500; color: var(--text-muted); } @media (max-width: 760px) { .rail { width: 100%; min-height: 0; flex-direction: row; align-items: center; justify-content: center; gap: 12px; padding: 14px 16px; } .railCurrent { flex: 0 0 auto; min-height: 0; flex-direction: row; gap: 10px; } .railIconWrap { width: 44px; height: 44px; border-radius: 12px; } .railTitle { font-size: 14px; } .railIndex { display: none; } }