.pricing-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); }
.pricing-card { min-width:0; overflow-wrap:anywhere; }
.pricing-card .pricing-name { font-size:20px; }
.pricing-card .pricing-desc,.pricing-card .pricing-period,.pricing-card .pricing-features { font-size:14px; line-height:1.6; }
.pricing-card .pricing-price { font-size:22px; white-space:normal; }
.plan-recommended { font-size:12px; font-weight:700; }
.pricing-btn,[data-plan-renew] button { min-height:44px; min-width:44px; }
.plan-catalog-table { width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; table-layout:fixed; }
.plan-catalog-table th,.plan-catalog-table td { padding:12px; border-bottom:1px solid var(--border, #63708a); text-align:start; overflow-wrap:anywhere; vertical-align:top; }
[data-plan-renew] { color:var(--text-primary,var(--text,#f1f5f9)); font-size:14px; }
.plan-renew-switch { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:12px; color:inherit; font:inherit; border:1px solid var(--border,#63708a); border-radius:16px; background:var(--bg-card,#152132); cursor:pointer; }
.plan-renew-switch > span { display:block; width:48px; height:28px; border:1px solid currentColor; border-radius:999px; flex-shrink:0; }
.plan-renew-switch > span::after { content:''; display:block; width:20px; height:20px; margin:3px; border-radius:50%; background:currentColor; transition:transform 180ms ease; }
.plan-renew-switch[aria-checked=true] > span { box-shadow:0 0 0 2px var(--accent,#30d7a2); }
.plan-renew-switch[aria-checked=true] > span::after { transform:translateX(20px); }
.plan-renew-dialog { box-sizing:border-box; width:calc(100vw - 32px); max-width:420px; padding:24px; border:1px solid var(--border,#63708a); border-radius:16px; color:var(--text-primary,var(--text,#f1f5f9)); background:var(--bg-card,#152132); font-size:14px; line-height:1.6; }
.plan-renew-dialog::backdrop { background:#0009; }
.plan-renew-dialog button { margin:4px; padding:12px; }
@media(max-width:500px) { .plan-catalog-table thead { display:none; } .plan-catalog-table tr { display:grid; padding:12px 0; border-bottom:1px solid var(--border,#63708a); } .plan-catalog-table td { display:block; border:0; padding:4px 0; } }
@media(prefers-reduced-motion:reduce) { .plan-renew-switch > span::after { transition:none; } }
