.invitation-page{padding:18px 16px 32px;background:var(--theme-background);color:var(--theme-foreground);min-height:calc(100vh - 140px)}
.invitation-card{overflow:hidden;border:1px solid var(--theme-border);border-radius:16px;background:var(--theme-surface)}
.invitation-cover{display:block;width:100%;height:auto;object-fit:contain}
.invitation-brand{min-height:360px;display:flex;flex-direction:column;justify-content:flex-end;gap:16px;padding:28px;background:var(--theme-surface-alt)}
.invitation-brand h2{margin:0;font-size:32px;line-height:1.35;color:var(--theme-foreground);overflow-wrap:anywhere}
.invitation-brand p{font-size:16px;line-height:1.7;color:var(--theme-foreground);white-space:pre-wrap;overflow-wrap:anywhere}
.invitation-member{display:flex;gap:16px;align-items:center;padding:20px}.invitation-member>div{min-width:0}.invitation-member h2{margin:0 0 6px;font-size:21px;overflow-wrap:anywhere;color:var(--theme-foreground)}.invitation-member p{margin:0;color:var(--theme-foreground);font-size:14px;font-variant-numeric:tabular-nums}
.invitation-member>img,.invitation-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;object-fit:cover}.invitation-avatar{display:grid;place-items:center;background:var(--theme-primary);color:var(--theme-on-primary);font-size:24px}
.invitation-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:18px}
.invitation-actions button,.invitation-actions a,.invitation-status button{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 16px;border:1px solid var(--theme-border);border-radius:12px;background:var(--theme-surface);color:var(--theme-foreground);font:inherit;font-size:15px;font-weight:700;text-decoration:none;text-align:center;cursor:pointer}
.invitation-actions .invitation-primary,.invitation-status .invitation-primary{background:var(--theme-primary);border-color:var(--theme-primary);color:var(--theme-on-primary)}
.invitation-actions button:disabled{opacity:.65;cursor:wait}.invitation-actions :focus-visible,.invitation-status button:focus-visible{outline:2px solid var(--theme-accent);outline-offset:3px}.invitation-actions button:active{filter:brightness(.9)}
.invitation-error{margin-top:14px;font-size:14px;line-height:1.6;color:var(--theme-foreground)}.invitation-error:empty{display:none}
.invitation-status{padding:60px 20px;text-align:center;line-height:1.7}.invitation-status button{margin:20px auto 0}.invitation-status h2{font-size:23px;color:var(--theme-foreground)}
.invitation-dialog h2,.invitation-preview h2{color:var(--theme-foreground);font-size:22px}.invitation-dialog p{max-height:50vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.7;color:var(--theme-foreground)}
.invitation-preview>img{display:block;width:100%;max-height:60vh;object-fit:contain}.invitation-preview p{font-size:14px;line-height:1.6;color:var(--theme-foreground)}
@media(min-width:600px){.invitation-page{max-width:520px;margin:auto}}
.invitation-member h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invitation-member>div{flex:1}
