/* Invitation and event membership system */
.button.danger{border-color:#9d2f2f;background:#fff4f1;color:#7b1f1f}
.text-button{padding:0;border:0;background:transparent;color:var(--green);font:inherit;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.button-row,.record-actions,.compact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.button-row form,.record-actions form,.compact-actions form{margin:0}
.preset-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0;padding:0;border:0}
.preset-grid legend{width:100%;margin-bottom:10px;font-weight:800}
.preset-card{display:flex;gap:12px;min-height:100%;margin:0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fbfaf6;cursor:pointer}
.preset-card:has(input:checked){border-color:var(--green);background:#eef5ee;box-shadow:0 0 0 2px rgba(23,77,53,.12)}
.preset-card input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0}
.preset-card span,.preset-card small{display:block}.preset-card small{margin-top:4px;color:#526158;font-weight:500}
.custom-invite-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;border-radius:12px;background:#ece9df}
.custom-invite-fields[hidden]{display:none}.custom-invite-fields .check-row{grid-column:1/-1;display:flex;align-items:center;gap:10px}.check-row input{width:20px;margin:0}
.invite-scope-note{display:grid;gap:2px;margin:18px 0;padding:14px 16px;border-left:4px solid var(--green);background:#eef5ee}
.invitation-record{padding:20px 0;border-top:1px solid var(--line)}.invitation-record:first-of-type{border-top:0}
.invitation-record-head,.request-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.invitation-record h3{margin:8px 0 2px;font:700 1.35rem/1.2 Georgia,'Times New Roman',serif}
.status-pill{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.status-active{background:#dcebdc;color:#174d35}.status-pending{background:#fff0b8;color:#624900}.status-expired,.status-exhausted{background:#e8e5db;color:#595a53}.status-revoked,.status-rejected{background:#f4d9d4;color:#7b1f1f}
.invite-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin:18px 0 0}.invite-facts div{padding:12px;border-radius:10px;background:#f4f1e8}.invite-facts dt{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#617067}.invite-facts dd{margin:5px 0 0;font-weight:700}.invite-facts small{font-weight:500;color:#617067}
.request-row{padding:16px 0;border-top:1px solid var(--line)}.request-row p{margin:.25rem 0}.event-pool-row{gap:16px}.event-pool-row .record-actions{justify-content:flex-end}
.share-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:20px}.qr-stage{text-align:center}.invite-qr{display:block;width:min(100%,420px);margin:12px auto;border-radius:12px;image-rendering:pixelated}.qr-stage h2{margin-bottom:4px}.qr-expiry{font-weight:800;color:#526158}
.qr-stage:fullscreen{display:grid;place-content:center;min-height:100%;padding:30px;background:#fff}.qr-stage:fullscreen .invite-qr{width:min(72vmin,720px)}.qr-stage:fullscreen [data-fullscreen-qr]{display:none}
.share-controls{align-self:start}.credential-warning{margin-top:22px;padding:16px;border:1px solid #d7a63a;border-radius:10px;background:#fff8e7}.credential-warning p{margin:.35rem 0 0}.compact-actions{justify-content:flex-end}
.invite-landing{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);grid-template-areas:'intro action' 'details action';gap:0 24px;align-items:start}.invite-intro{grid-area:intro;padding:28px 10px 0 0}.invite-details{grid-area:details;padding-right:10px}.invite-intro h1,.welcome-stage h1{margin:.15em 0;font:800 clamp(2.5rem,6vw,5.2rem)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.04em}.invite-league-name{font-size:1.15rem;font-weight:800}.invite-trust-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:26px 0}.invite-trust-facts div{padding:14px;border:1px solid #d6d1c4;border-radius:10px;background:#fbfaf6}.invite-trust-facts dt{font-size:.68rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.invite-trust-facts dd{margin:5px 0 0;font-weight:700}.privacy-note{padding:14px 16px;border-left:4px solid var(--green);background:#eef5ee}.invite-action-card{grid-area:action;position:sticky;top:20px}.switch-account-form{margin:-8px 0 18px}.join-summary{display:grid;gap:5px;margin:18px 0;padding:16px;border-radius:10px;background:#f4f1e8}.join-summary span{color:#526158}.auth-context{margin:0 0 20px;padding:12px 14px;border-left:4px solid var(--green);background:#eef5ee;color:#31483b}
.welcome-stage{max-width:850px;margin:12px auto 28px;text-align:center}.welcome-mark{display:grid;place-items:center;width:74px;height:74px;margin:0 auto 18px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:2.3rem;font-weight:900}.next-steps{max-width:850px;margin-inline:auto}.next-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.next-step-grid>div{display:flex;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px}.next-step-grid p{margin:.3rem 0 0;color:#526158}.step-number{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;font-weight:900}.welcome-details{max-width:850px;margin-inline:auto}
@media(max-width:760px){
  .preset-grid,.custom-invite-fields,.share-layout,.next-step-grid{grid-template-columns:1fr}.invite-landing{grid-template-columns:1fr;grid-template-areas:'intro' 'action' 'details';gap:18px}
  .invitation-record-head,.request-row{align-items:stretch;flex-direction:column}
  .record-actions,.request-row .button-row{width:100%}.record-actions .button,.record-actions form,.record-actions form button{flex:1}
  .invite-action-card{position:static}.invite-intro{padding:12px 0}.invite-trust-facts{grid-template-columns:1fr 1fr}.compact-actions{justify-content:stretch}.compact-actions>*{flex:1}.compact-actions .button{width:100%}
  .event-pool-row{align-items:flex-start;flex-direction:column}.event-pool-row .record-actions{width:100%;justify-content:flex-start}
}
@media(max-width:420px){.invite-trust-facts{grid-template-columns:1fr}.button-row>.button,.button-row>form,.button-row>form>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.qr-stage{scroll-behavior:auto}}
