/* Plans, passes, Toss/PayPal choice, trial, coupons and classes. */
.billing-panel{grid-column:1/-1;display:grid;gap:16px}
.billing-panel .plan-current{margin:0;font-size:15px}
.billing-panel .plan-note,.billing-panel small{color:var(--muted);font-size:12px;margin:0}
.trial-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-radius:14px;background:linear-gradient(120deg,#f3f7ec,#fffaf2);border:1px solid #dfe8d6}
.trial-banner div{display:grid;gap:4px;min-width:0}.trial-banner span{font-size:12px;color:var(--muted)}
.currency-switch{display:flex;gap:8px;flex-wrap:wrap}
.coupon-row{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}
.coupon-row label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.coupon-row input{padding:9px 12px;border:1px solid var(--line);border-radius:10px;min-width:180px;text-transform:uppercase}
.plan-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.plan-card{display:grid;gap:10px;align-content:start;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;min-width:0}
.plan-card.featured{border-color:var(--accent);box-shadow:0 14px 40px #1a3b3318}
.plan-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.plan-card h3{margin:0;font-size:22px}
.plan-price{margin:0}.plan-price strong{font-size:28px;color:var(--ink)}.plan-price span{font-size:12px;color:var(--muted)}
.plan-card ul{margin:0;padding-left:18px;display:grid;gap:4px;font-size:13px}
.plan-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-actions .btn{width:100%;justify-content:center;font-size:12.5px;padding:11px 8px}
.billing-extras{display:grid;gap:12px}
.class-plan{display:grid;gap:12px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fbfcf8}
.class-plan>div:first-child{display:grid;gap:4px}.class-plan span{font-size:12px;color:var(--muted)}
.class-plan-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.class-plan-controls label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.class-plan-controls select{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.billing-history summary{cursor:pointer;font-weight:600;margin-bottom:8px}
.class-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.class-card{display:grid;gap:4px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;color:inherit;text-decoration:none}
.class-card:hover{border-color:var(--accent)}.class-card.ended{opacity:.6}.class-card span,.class-card small{font-size:12px;color:var(--muted)}
.class-join{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.class-join input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;min-width:200px;text-transform:uppercase;letter-spacing:.08em}
.invite-box{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.invite-box code{font-size:26px;letter-spacing:.2em;padding:8px 14px;border-radius:12px;background:var(--sage);color:var(--ink)}
.class-extend{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}
.assign-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end;margin-top:14px}
.assign-form label{display:grid;gap:4px;font-size:12px;color:var(--muted)}.assign-form select,.assign-form input{padding:9px 10px;border:1px solid var(--line);border-radius:10px;min-width:0;background:#fff}
.class-table-wrap{overflow-x:auto}.class-table{width:100%;border-collapse:collapse;font-size:13px}
.class-table th,.class-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.class-table th{font-size:11px;color:var(--muted);font-weight:700;max-width:180px}.class-table td small{display:block;color:var(--muted);font-size:11px}
@media(max-width:760px){.plan-choices{grid-template-columns:1fr}.trial-banner{flex-direction:column;align-items:flex-start}.plan-actions{grid-template-columns:1fr}.invite-box code{font-size:22px}}
.class-join input{flex:0 1 280px;width:auto}.class-list .plan-note{grid-column:1/-1}
.license-badge{display:inline-block;margin:2px 0 6px;padding:3px 9px;border-radius:7px;background:#e3edb3;color:#2f4a1d;font-size:11px;font-weight:700}
