.swib-checkout { max-width: 520px; margin: 0 auto; padding: 1.5rem; }
.swib-checkout-progress { display: flex; gap: 0.5rem; margin-bottom: 1.5rem; font-size: 0.9rem; }
.swib-step { color: #888; }
.swib-step.active { color: #333; font-weight: 600; }
.swib-checkout-step { display: none; }
.swib-checkout-step.active { display: block; }
.swib-checkout-step h3 { margin: 0 0 1rem; font-size: 1.25rem; }
.swib-plans { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1rem; }
.swib-plan-card { display: block; padding: 1rem; border: 2px solid #ddd; border-radius: 8px; cursor: pointer; }
.swib-plan-card:has(input:checked) { border-color: #0066cc; background: #f0f7ff; }
.swib-plan-name { display: block; font-weight: 600; }
.swib-plan-desc { display: block; font-size: 0.9rem; color: #666; }
.swib-billing-toggle { margin-bottom: 1rem; }
.swib-billing-toggle label { margin-right: 1rem; cursor: pointer; }
.swib-form p { margin: 0 0 1rem; }
.swib-form label { display: block; margin-bottom: 0.25rem; font-weight: 500; }
.swib-form input, .swib-form select, .swib-form textarea { width: 100%; padding: 0.5rem; border: 1px solid #ccc; border-radius: 4px; }
.swib-url-preview { font-size: 0.85rem; color: #666; margin-top: 0.25rem; }
.swib-btn { padding: 0.6rem 1.25rem; border: none; border-radius: 6px; cursor: pointer; font-size: 1rem; }
.swib-btn-primary { background: #0066cc; color: #fff; }
.swib-btn-primary:hover { background: #0052a3; }
.swib-error { color: #c00; margin-top: 0.5rem; }
.swib-checkout-summary { margin: 1rem 0; }
.swib-success { text-align: center; padding: 2rem 0; }
