.account-shell{width:min(100% - 40px,650px);margin:clamp(24px,5vw,65px) auto 65px;color:#293c46;font:400 17px/1.6 var(--sans,system-ui,sans-serif)}
.account-shell h1{font-size:clamp(2.2rem,6vw,3.5rem);line-height:1.1;margin:12px 0 24px}.account-shell footer{margin-top:30px}.account-shell a{color:#244d65;text-underline-offset:4px}
.account-form{display:grid;gap:20px}.account-form label{display:grid;gap:7px;font-weight:600;min-width:0}.account-form input,.account-form textarea,.account-form select{box-sizing:border-box;width:100%;min-width:0;min-height:50px;padding:12px;border:1px solid #8b9da4;border-radius:10px;background:white;color:#243540;font:400 17px/1.45 var(--sans,system-ui,sans-serif)}
.account-form .account-check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.account-check input{width:24px;min-height:24px;height:24px;flex:none;margin-top:2px;accent-color:#365d72}.account-form button,.account-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;box-sizing:border-box;padding:12px 20px;border:1px solid #93a5ad;border-radius:12px;background:white;color:#243540;font:650 16px/1.45 var(--sans,system-ui,sans-serif);cursor:pointer;text-decoration:none}.account-form .primary,.account-button.primary{background:#293c46;color:white;border-color:#293c46}.account-form :disabled{opacity:.65;cursor:wait}
.account-form details{border:1px solid #d4dfe2;border-radius:12px;padding:16px}.account-form details[open]{display:grid;gap:15px}.account-form details[open] label{margin-top:14px}summary{cursor:pointer;min-height:32px;font-weight:650}
.account-form .account-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.account-help{margin:30px 0;padding:18px;background:#eaf0f2;border-radius:14px}.account-help p{margin:12px 0 0}.account-note{font-size:15px;color:#4c6370}.account-status:not(:empty),[data-account-status]:not(:empty){padding:14px 18px;border-radius:10px;background:#edf1e4;color:#34472c}.account-status.is-error,[data-account-status].is-error{background:#fff0ed;color:#862e23}.account-form :focus-visible,.account-button:focus-visible,summary:focus-visible{outline:3px solid #397ca3;outline-offset:3px}
.account-password{display:flex;gap:8px}.account-password input{flex:1}.account-password button{padding:8px 12px;min-width:90px}.account-member{padding:18px 0;border-top:1px solid #d8e1e4}.account-member h3{font:650 19px var(--sans,system-ui,sans-serif);margin:0 0 8px}.account-member .account-note{margin:4px 0}.account-tools{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.account-panel{border:1px solid #d5dfe1;border-radius:20px;background:white;padding:clamp(20px,4vw,32px);margin:24px 0}.account-panel h2{font-size:1.8rem;margin-bottom:18px}.account-panel p{line-height:1.6}.account-panel form{max-width:720px}.account-panel input[readonly]{background:#f0f4f5}.account-panel .account-status:empty{display:none}
@media(max-width:500px){.account-form .account-pair{grid-template-columns:1fr}.account-shell{width:calc(100% - 32px)}.account-tools .account-button{width:100%}.account-password{flex-wrap:wrap}.account-password input{flex-basis:65%}}
@media(prefers-reduced-motion:reduce){.account-shell *{scroll-behavior:auto!important;transition:none!important}}
.rsvp-progress{border:1px solid #bacfc1;border-radius:16px;padding:20px;margin:18px 0 24px;background:#edf6ee;color:#274b35}.rsvp-progress--open{background:#fff7e7;border-color:#dac495;color:#624c23}.rsvp-progress strong{display:block;font:700 20px/1.4 var(--sans,system-ui)}.rsvp-progress p{margin:8px 0}.rsvp-progress-people{margin:12px 0 0;padding-left:22px;font-size:16px}.rsvp-progress-people li{padding:4px 0;overflow-wrap:anywhere}
/* Clear person-by-person forms and local file previews on small screens. */
.account-form fieldset { min-width:0; margin:0 0 1rem; padding:1rem; border:1px solid #bccbd0; border-radius:16px; }
.account-form legend { font-weight:700; padding:0 .4rem; }
.account-form fieldset label { display:block; margin:.8rem 0; }
.account-form [hidden], .account-form[hidden] { display:none !important; }
.app-upload-preview { display:block; width:100%; max-width:220px; height:150px; object-fit:contain; border-radius:10px; background:#edf2f2; }
.account-shell{font-size:18px;line-height:1.55}
.account-shell h1{font-size:clamp(2.1rem,6vw,3.1rem);margin-bottom:16px}
.account-shell [data-account-intro]{max-width:38rem;margin-bottom:22px}
.account-shell [data-account-status]:empty{display:none}
.account-shell .account-form{gap:16px}
.account-shell .account-form input,.account-shell .account-form textarea{font-size:18px;min-height:54px}
.account-shell .account-form button{font-size:17px;min-height:54px}
.account-shell .account-form .primary{width:100%}
.account-shell .account-note{font-size:16px;margin:0 0 4px}
.account-shell .account-invitation{padding:14px 16px;border-left:4px solid #365d72;background:#eaf0f2;border-radius:8px;margin:0}
.account-shell .account-field-error{display:block;color:#862e23;font-size:16px;font-weight:600;line-height:1.4}
.account-shell .account-form [aria-invalid="true"]{border:2px solid #a33c36;background:#fffafa}
.account-shell .account-help summary{min-height:44px;display:flex;align-items:center}
@media(max-width:500px){.account-shell{width:calc(100% - 32px);margin-top:24px}.account-shell .account-password{flex-wrap:nowrap}.account-shell .account-password button{min-width:82px;padding-inline:8px}.account-shell .account-form fieldset{padding:14px}}
