.upload-card{margin-top:24px;border-color:#d9c5d0;background:#fffdfc}.upload-card h2{margin-top:8px}.upload-card>p{max-width:760px}.upload-card input[type=file]{padding:18px;border:1px dashed #b799aa;background:#faf4f7}.upload-card details{margin-top:22px}.upload-card summary{cursor:pointer;color:#753d59;font:600 14px Arial,sans-serif}.upload-card [hidden]{display:none!important}.upload-card button:disabled{opacity:.5;cursor:not-allowed}.art-preview{max-width:660px;margin:22px auto;background:var(--art-bg,#f8f3f5);border:1px solid #dacbd3;border-radius:10px;padding:20px}.art-preview>img{display:block;width:100%;height:auto;max-height:680px;object-fit:contain}.art-form-sample{padding:20px;margin-top:16px;background:var(--art-paper,#fff);color:var(--art-text,#332632);border-radius:8px;border:1px solid var(--art-accent,#753d59)}.art-form-sample h3{margin-top:0}.sample-field{display:block;background:#fff;color:#343434;border:1px solid #c9c2c6;padding:10px;font:14px Arial,sans-serif}.sample-button{display:inline-block;background:var(--art-accent,#753d59);color:var(--art-button-text,#fff);padding:10px 16px;margin-top:14px;border-radius:3px;font:600 14px Arial,sans-serif}.import-table{max-height:450px;overflow:auto}.import-table th{position:sticky;top:0;background:#753d59;color:#fff}.import-table td{max-width:260px;white-space:normal;min-width:110px}.import-table td:first-child{min-width:60px}.upload-status-error{color:#a92836}.upload-status-ok{color:#315d28}.invitation.has-upload{padding-top:25px;background:var(--bg);border-color:var(--gold)}.invitation.has-upload .leaves{display:none}.invitation-art{display:block;width:100%;height:auto;margin:0 auto 32px}.invitation.has-upload .rsvp{background:var(--paper);border-color:var(--gold);color:var(--ink)}.invitation.has-upload .rsvp button{background:var(--gold);color:var(--button-ink,#fff)}.invitation.has-upload .event-facts{background:var(--paper)}.invitation.has-upload .guest-names{background:var(--bg)}.invitation.has-upload .rsvp input:focus,.invitation.has-upload .rsvp textarea:focus{outline-color:var(--gold)}
.builder-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:26px;align-items:start}.field-editor{border:1px solid #d9c5d0;border-radius:8px;padding:18px;margin:12px 0;background:#fff}.field-toolbar{display:flex;align-items:center;gap:8px;font:13px Arial,sans-serif}.field-toolbar>span{flex:1}.field-toolbar button{padding:7px 10px;font-size:12px}.field-grip{cursor:grab;font-size:23px!important;background:#f3e9ef;color:#753d59}.field-editor.dragging{opacity:.5}.field-editor.drop-target{outline:3px solid #753d59}.field-settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field-editor .choice{display:flex;align-items:center;gap:8px}.field-editor .choice input{width:auto}.builder-preview{position:sticky;top:18px;padding:22px;background:#f8f1f5;border-radius:10px;max-height:80vh;overflow:auto}.preview-field{margin-bottom:18px}.preview-field .choice{display:flex;align-items:center;font-weight:400;gap:8px}.preview-field .choice input{width:auto}.builder-actions{display:flex;align-items:center;gap:18px;margin-top:24px}.custom-guest-field small{display:block}.all-answers{max-width:650px;white-space:normal}.all-answers dt{font-weight:bold;margin-top:10px}.all-answers dd{margin-left:0;white-space:pre-wrap}.rsvp .custom-guest-field fieldset{border-color:var(--gold)}
@media(max-width:760px){.builder-grid,.field-settings{grid-template-columns:1fr}.builder-preview{position:static;max-height:600px}.field-toolbar{flex-wrap:wrap}.builder-actions{align-items:start;flex-direction:column}}
.field-grip{touch-action:none;user-select:none}.planner-nav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.planner-nav a{padding:10px 15px;border:1px solid #d9c5d0;border-radius:6px;color:#753d59;background:#fffdfc;text-decoration:none;font:600 14px Arial,sans-serif}.upload-card{scroll-margin-top:20px}
.person-rsvp{padding:22px 0;border-top:1px solid color-mix(in srgb,var(--ink,#30252d) 18%,transparent);text-align:left}
.person-rsvp h3{font-size:1.55rem;margin:0 0 4px}.person-rsvp>p{margin-top:0;opacity:.8}
.person-detail{min-width:240px;max-width:420px;padding:12px 0;border-top:1px solid #e5dce1;white-space:normal;overflow-wrap:anywhere}
.person-detail h4{font-size:1.1rem;margin:0}.person-detail p{font-size:.85rem}
