.student-payment-gate-page{background:var(--background);min-height:100vh}.student-payment-gate{align-items:center;width:min(760px,100% - 2rem);min-height:100vh;margin:0 auto;padding:clamp(2rem,8vh,5rem) 0;display:grid}.student-payment-card{border:2px solid var(--card-border);box-shadow:0 3px 0 0 var(--card-border);background:#fff;border-radius:.5rem;padding:clamp(1.25rem,4vw,2.5rem)}.student-payment-eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:900}.student-payment-card h1,.student-payment-card h2{color:var(--text);margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1.05}.student-payment-card.is-embedded{padding:1.35rem}.student-payment-card.is-embedded h2{font-size:1.25rem}.student-payment-card.is-embedded>p:not(.student-payment-eyebrow):not(.student-payment-message){font-size:.95rem}.student-payment-card>p:not(.student-payment-eyebrow):not(.student-payment-message){max-width:620px;color:var(--muted);margin:1rem 0 0;font-size:1.05rem;line-height:1.55}.student-payment-email{border:2px solid var(--card-border);background:var(--background);border-radius:.5rem;gap:.25rem;margin-top:1.35rem;padding:.85rem 1rem;display:grid}.student-payment-email span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.student-payment-email strong{color:var(--text);overflow-wrap:anywhere;font-size:1rem}.student-payment-accept{border:2px solid var(--card-border);background:var(--background);border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.35rem;padding:.85rem 1rem;display:flex}.student-payment-accept div{gap:.25rem;min-width:0;display:grid}.student-payment-accept span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:900}.student-payment-accept strong{color:var(--text);overflow-wrap:anywhere;font-size:1rem}.student-payment-invite{gap:.55rem;margin-top:1.35rem;display:grid}.student-payment-invite label{color:var(--text);font-size:.9rem;font-weight:900}.student-payment-invite-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.75rem;display:grid}.student-payment-invite-row input{border:2px solid var(--card-border);min-width:0;height:48px;color:var(--text);font:inherit;background:#fff;border-radius:.5rem;outline:none;padding:0 .9rem;font-size:1rem}.student-payment-invite-row input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2aa6ff29}.student-payment-message{color:var(--primary);margin:1rem 0 0;font-weight:800}.student-payment-cancel-link{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.75rem;padding:0;font-size:.85rem;font-weight:800;text-decoration:underline}.student-payment-cancel-link:disabled{cursor:wait;opacity:.6}.student-payment-plans{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin-top:1.25rem;display:grid}.student-payment-plan{border:2px solid var(--card-border);color:var(--text);text-align:left;font:inherit;cursor:pointer;box-shadow:0 2px 0 0 var(--card-border);background:#fff;border-radius:.5rem;padding:.75rem}.student-payment-plan.is-selected{border-color:var(--primary);box-shadow:0 2px 0 0 var(--primary)}.student-payment-plan span,.student-payment-plan strong,.student-payment-plan em{display:block}.student-payment-plan span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:900}.student-payment-plan strong{margin-top:.25rem;font-size:1rem}.student-payment-plan em{color:var(--muted);margin-top:.15rem;font-size:.72rem;font-style:normal;line-height:1.25}.student-payment-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}@media (width<=640px){.student-payment-gate{align-items:start;min-height:calc(100vh - 120px);padding:1rem 0 2rem}.student-payment-actions{flex-direction:column}.student-payment-accept{flex-direction:column;align-items:stretch}.student-payment-invite-row,.student-payment-plans{grid-template-columns:1fr}.student-payment-accept .btn,.student-payment-invite-row .btn,.student-payment-actions .btn{justify-content:center;width:100%}}
