/* TASK-FE-ONBOARDING-V2-WIZARD — 4-step wizard */

.ob-wrap { max-width: 760px; margin: 0 auto; padding: 44px 20px 60px; }
.ob-header { text-align: center; margin-block-end: 24px; }
.ob-header h1 { font-size: clamp(22px, 4vw, 32px); margin: 0 0 6px; }
.ob-sub { color: var(--ent-mute, rgba(232,238,245,0.62)); margin: 0; font-size: 14px; }

.ob-progress {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-block-end: 28px;
}
.ob-step-dot {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 54px;
  color: var(--ent-mute, rgba(232,238,245,0.55));
}
.ob-dot-n {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 2px solid rgba(255,255,255,0.08);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}
.ob-dot-lbl { font-size: 11px; }
.ob-step-line { flex: 1; height: 2px; background: rgba(255,255,255,0.08); }
.ob-step-dot.active .ob-dot-n { background: #00D4B4; color: #0B1524; border-color: #00D4B4; }
.ob-step-dot.active { color: #E8EEF5; }
.ob-step-dot.done .ob-dot-n { background: rgba(0,212,180,0.25); color: #00D4B4; border-color: rgba(0,212,180,0.5); }
.ob-step-dot.done .ob-dot-n::after { content: '✓'; position: absolute; }
.ob-step-dot.done .ob-dot-n > * { display: none; }

.ob-step {
  background: var(--ent-surface, #0F1C30);
  border: 1px solid var(--ent-border, rgba(255,255,255,0.08));
  border-radius: 14px;
  padding: 28px 26px;
  margin-block-end: 16px;
}
.ob-step h2 { margin: 0 0 18px; font-size: 20px; }
.ob-step label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--ent-mute, rgba(232,238,245,0.62)); margin-block-end: 12px; }
.ob-step label span { font-weight: 600; color: var(--ent-text, #E8EEF5); font-size: 13px; }

.ob-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ob-grid label { margin: 0; }
.ob-grid-full { grid-column: 1 / -1; }

.ob-input {
  background: var(--ent-bg, #0B1524);
  border: 1px solid var(--ent-border, rgba(255,255,255,0.08));
  color: var(--ent-text, #E8EEF5);
  padding: 10px 12px;
  border-radius: 8px;
  font-family: inherit;
  font-size: 14px;
  min-height: 44px;
}
.ob-input:focus { outline: 2px solid #00D4B4; outline-offset: 1px; }
.ob-file { padding: 10px; cursor: pointer; }

.ob-billing { display: flex; gap: 6px; flex-wrap: wrap; margin-block-end: 14px; }
.ob-bill-btn {
  flex: 1;
  min-width: 120px;
  background: transparent;
  border: 1px solid var(--ent-border, rgba(255,255,255,0.08));
  color: var(--ent-mute, rgba(232,238,245,0.62));
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
  min-height: 44px;
}
.ob-bill-btn.active { background: rgba(0,212,180,0.1); border-color: #00D4B4; color: #00D4B4; }

.ob-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.ob-plan {
  background: var(--ent-bg, #0B1524);
  border: 2px solid var(--ent-border, rgba(255,255,255,0.08));
  border-radius: 12px;
  padding: 18px 16px;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.ob-plan input { position: absolute; opacity: 0; }
.ob-plan:has(input:checked) { border-color: #00D4B4; background: rgba(0,212,180,0.04); }
.ob-plan-featured { transform: translateY(-4px); border-color: rgba(0,212,180,0.4); }
.ob-plan-badge {
  position: absolute;
  inset-block-start: -10px;
  inset-inline-start: 50%;
  transform: translateX(-50%);
  background: #00D4B4;
  color: #0B1524;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 12px;
  border-radius: 999px;
}
.ob-plan-head { font-size: 13px; color: var(--ent-mute, rgba(232,238,245,0.55)); font-weight: 700; letter-spacing: 0.5px; }
.ob-plan-price { font-size: 24px; font-weight: 800; }
.ob-plan-unit { font-size: 12px; color: var(--ent-mute, rgba(232,238,245,0.55)); font-weight: 500; }
.ob-plan-feat { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--ent-text, #E8EEF5); }
.ob-plan-feat li { padding-inline-start: 16px; position: relative; }
.ob-plan-feat li::before { content: '✓'; color: #00D4B4; position: absolute; inset-inline-start: 0; font-weight: 700; }

.ob-trial-note { text-align: center; color: var(--ent-mute, rgba(232,238,245,0.55)); font-size: 13px; margin-block-start: 16px; }

.ob-terms { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 8px; font-size: 13px; margin-block: 12px 0 !important; }
.ob-terms input { width: 18px; height: 18px; margin-block-start: 2px; accent-color: #00D4B4; flex-shrink: 0; }

.ob-nav { display: flex; gap: 10px; align-items: center; margin-block-start: 4px; }
.ob-nav button { min-width: 120px; justify-content: center; }

.ob-status { text-align: center; margin-block-start: 14px; font-size: 13.5px; font-weight: 600; min-height: 20px; }
.ob-status.ok  { color: #00D4B4; }
.ob-status.err { color: #FF4D4F; }

.ob-footer-note { text-align: center; margin-block-start: 22px; font-size: 13.5px; color: var(--ent-mute, rgba(232,238,245,0.55)); }
.ob-footer-note a { color: var(--ent-primary, #00D4B4); text-decoration: none; }

@media (max-width: 680px) {
  .ob-grid { grid-template-columns: 1fr; }
  .ob-plans { grid-template-columns: 1fr; }
  .ob-plan-featured { transform: none; }
  .ob-step-dot { min-width: 40px; }
  .ob-dot-lbl { font-size: 10px; }
  .ob-wrap { padding: 28px 14px 40px; }
}
@media (prefers-reduced-motion: reduce) {
  .ob-plan-featured { transform: none; }
}
