.process-flow { display: flex; width: 100%; min-width: 0; } .process-flow--horizontal { flex-direction: row; align-items: stretch; } .process-flow--vertical { flex-direction: column; } .process-flow__item { display: flex; min-width: 0; } .process-flow--horizontal .process-flow__item { flex: 1 1 180px; align-items: center; } .process-flow--vertical .process-flow__item { flex-direction: column; } .process-flow__step { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: flex-start; gap: 12px; width: 100%; min-width: 0; padding: 14px 16px; border: 1px solid var(--process-flow-border, rgba(148, 163, 184, 0.28)); border-radius: 18px; background: var(--process-flow-background, linear-gradient(180deg, #ffffff 0%, #f8fafc 100%)); color: var(--process-flow-text, #0f172a); box-shadow: var(--process-flow-shadow, none); transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; } .process-flow__step--button { border: 1px solid var(--process-flow-border, rgba(148, 163, 184, 0.28)); cursor: pointer; text-align: left; } .process-flow__step--button:hover { transform: translateY(-1px); box-shadow: var(--process-flow-shadow, none), 0 14px 28px rgba(15, 23, 42, 0.08); } .process-flow__step--current { box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.6) inset, 0 20px 36px rgba(22, 93, 255, 0.14); } .process-flow__step--compact { gap: 10px; padding: 10px 12px; border-radius: 14px; } .process-flow__marker { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 999px; background: var(--process-flow-accent-soft, rgba(148, 163, 184, 0.16)); color: var(--process-flow-accent, #64748b); font-size: 16px; font-weight: 700; line-height: 1; flex-shrink: 0; } .process-flow__step--compact .process-flow__marker { width: 28px; height: 28px; font-size: 14px; } .process-flow__content { display: flex; flex-direction: column; gap: 4px; min-width: 0; } .process-flow__label-row { display: flex; align-items: center; gap: 8px; min-width: 0; } .process-flow__label { overflow: hidden; text-overflow: ellipsis; white-space: normal; overflow-wrap: anywhere; word-break: break-word; font-size: 14px; font-weight: 700; line-height: 1.4; } .process-flow__status { flex-shrink: 0; padding: 2px 8px; border-radius: 999px; background: var(--process-flow-accent-soft, rgba(148, 163, 184, 0.16)); color: var(--process-flow-accent, #64748b); font-size: 11px; font-weight: 700; letter-spacing: 0.01em; } .process-flow__description { color: rgba(71, 85, 105, 0.9); font-size: 12px; line-height: 1.6; word-break: break-word; } .process-flow__step--compact .process-flow__description { font-size: 11px; line-height: 1.5; } .process-flow__connector { flex: 1 1 auto; min-width: 20px; min-height: 20px; } .process-flow--horizontal .process-flow__connector { height: 2px; margin: 0 10px; border-radius: 999px; background: var(--process-flow-connector, rgba(148, 163, 184, 0.32)); } .process-flow--vertical .process-flow__connector { width: 2px; height: 20px; margin: 8px 0 8px 16px; border-radius: 999px; background: var(--process-flow-connector, rgba(148, 163, 184, 0.32)); } @media (max-width: 720px) { .process-flow--horizontal { flex-direction: column; } .process-flow--horizontal .process-flow__item { flex-direction: column; align-items: stretch; } .process-flow--horizontal .process-flow__connector { width: 2px; height: 18px; margin: 8px 0 8px 16px; } .process-flow__step { padding: 12px 14px; } .process-flow__label-row { flex-wrap: wrap; } .process-flow__status { max-width: 100%; overflow-wrap: anywhere; word-break: break-word; } }