.auth-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: var(--space-8); background: var(--color-bg); }
.auth-card { background: var(--color-surface); border-radius: var(--radius-xl); box-shadow: var(--shadow-xl); padding: var(--space-10); width: 100%; max-width: 440px; }
.auth-logo { text-align: center; margin-bottom: var(--space-8); }
.auth-logo-mark { display: block; }
.auth-logo-mark img { height: 60px; width: auto; display: block; margin: 0 auto; }
.auth-title { font-size: var(--font-size-2xl); margin-bottom: var(--space-1); text-align: center; }
.auth-sub { color: var(--color-text-secondary); text-align: center; font-size: var(--font-size-sm); margin-bottom: var(--space-8); }
.auth-form { display: flex; flex-direction: column; gap: var(--space-5); }
.auth-link { text-align: center; font-size: var(--font-size-sm); color: var(--color-text-secondary); margin-top: var(--space-5); }
.auth-link a { color: var(--color-primary); font-weight: 600; }
.auth-divider { text-align: center; color: var(--color-text-muted); font-size: var(--font-size-sm); position: relative; margin: var(--space-4) 0; }
.auth-divider::before, .auth-divider::after { content: ''; position: absolute; top: 50%; width: 40%; height: 1px; background: var(--color-border); }
.auth-divider::before { left: 0; }
.auth-divider::after { right: 0; }

/* Tier Cards */
.tier-cards { display: flex; gap: var(--space-4); margin-bottom: var(--space-6); }
.tier-card {
  flex: 1; border: 2px solid var(--color-border); border-radius: var(--radius-lg);
  padding: var(--space-5); cursor: pointer; transition: all var(--transition-fast);
  text-align: center; position: relative;
}
.tier-card.basic   { border-color: var(--color-basic); }
.tier-card.premium { border-color: var(--color-primary); }
.tier-card.selected.basic   { background: var(--color-basic-light); box-shadow: 0 0 0 3px var(--color-basic); }
.tier-card.selected.premium { background: var(--color-premium-light); box-shadow: 0 0 0 3px var(--color-primary); }
.tier-card-recommended {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: var(--color-primary); color: #fff;
  padding: 2px var(--space-3); border-radius: var(--radius-full);
  font-size: var(--font-size-xs); font-weight: 700; white-space: nowrap;
}
.tier-card-price { font-size: var(--font-size-3xl); font-weight: 900; line-height: 1; color: var(--color-text); }
.tier-card-period { font-size: var(--font-size-xs); color: var(--color-text-muted); margin-bottom: var(--space-3); }
.tier-card-name { font-weight: 700; margin-bottom: var(--space-3); }
.tier-card-benefits { text-align: left; }
.tier-card-benefits li { font-size: var(--font-size-xs); color: var(--color-text-secondary); padding: var(--space-1) 0; display: flex; gap: var(--space-2); }
.tier-card-benefits li::before { content: '✓'; color: var(--color-success); font-weight: 700; flex-shrink: 0; }
.tier-card-benefits li.premium-only { color: var(--color-primary); }
.tier-card-benefits li.premium-only::before { color: var(--color-primary); }

/* Step indicator */
.signup-steps { display: flex; align-items: center; gap: var(--space-2); justify-content: center; margin-bottom: var(--space-8); }
.step { width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: var(--font-size-xs); font-weight: 700; }
.step.done    { background: var(--color-success); color: #fff; }
.step.active  { background: var(--color-primary); color: #fff; }
.step.pending { background: var(--color-border); color: var(--color-text-muted); }
.step-line { flex: 1; height: 2px; background: var(--color-border); max-width: 48px; }
.step-line.done { background: var(--color-success); }
