:root{color:#172033;background:#f4fbff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 28rem),linear-gradient(135deg,#f7fbff,#e8f8f2)}a{color:#0f766e;font-weight:700}button,input,select,textarea{font:inherit}button{border:0;border-radius:999px;background:#0f766e;color:#fff;cursor:pointer;font-weight:800;padding:.9rem 1.3rem}.danger-button{background:#b91c1c}.secondary-button{background:#475569}.button-link{border-radius:999px;background:#0f766e;color:#fff;display:inline-block;font-weight:800;padding:.9rem 1.3rem;text-decoration:none}.button-link.secondary{background:#164e63}button:disabled{cursor:wait;opacity:.65}input,select,textarea{border:1px solid #cbd5e1;border-radius:.85rem;margin-top:.35rem;padding:.8rem .9rem;width:100%}fieldset{border:1px solid #d7e4ec;border-radius:1rem;padding:1rem}legend{font-weight:800;padding:0 .4rem}.page{display:grid;gap:1.25rem;margin:0 auto;max-width:980px;padding:2rem 1rem}.page.narrow{max-width:640px}.page.admin-page{max-width:1280px}.card{background:#ffffffeb;border:1px solid rgba(148,163,184,.28);border-radius:1.5rem;box-shadow:0 24px 80px #0f172a14;padding:clamp(1.25rem,3vw,2rem)}.hero-card{background:linear-gradient(135deg,#0e7490f5,#0f766ef5);color:#fff}.hero-card h1{font-size:clamp(2.2rem,8vw,4.5rem);line-height:.95;margin:.25rem 0 1rem}.eyebrow{letter-spacing:.14em;text-transform:uppercase}.event-facts{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:2rem 0 0}.event-facts dt{font-size:.8rem;font-weight:800;opacity:.78;text-transform:uppercase}.event-facts dd{font-size:1.08rem;margin:.2rem 0 0}.stack{display:grid;gap:1rem}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-layout{display:grid;gap:1.25rem;grid-template-columns:minmax(220px,.55fr) minmax(0,3fr)}.admin-header{align-items:center;display:flex;gap:1rem;justify-content:space-between}.admin-tabs{background:#eef9f7;border:1px solid #d7e4ec;border-radius:999px;display:inline-flex;gap:.35rem;margin-bottom:1.25rem;padding:.35rem}.admin-tabs button{background:transparent;color:#0f766e;padding:.65rem 1rem}.admin-tabs button.active{background:#0f766e;color:#fff}.reporting-panel{display:grid;gap:1.25rem}.report-summary-grid{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.report-summary-grid div{background:#f8fafc;border:1px solid #d7e4ec;border-radius:.95rem;padding:.9rem 1rem}.report-summary-grid span{color:#64748b;display:block;font-size:.78rem;font-weight:800;text-transform:uppercase}.report-summary-grid strong{display:block;font-size:1.8rem;margin-top:.25rem}.report-table-wrap{border:1px solid #d7e4ec;border-radius:1rem;overflow-x:auto}.report-table{border-collapse:collapse;min-width:760px;width:100%}.report-table th,.report-table td{border-bottom:1px solid #e2e8f0;padding:.75rem .9rem;text-align:right}.report-table thead th{background:#f8fafc;color:#334155;font-size:.78rem;text-transform:uppercase}.report-table th:first-child,.report-table td:first-child{text-align:left}.report-table tbody th{color:#172033}.report-table tbody th span{color:#64748b;display:block;font-size:.82rem;font-weight:500;margin-top:.2rem}.report-accordions{display:grid;gap:.75rem}.report-accordions details{background:#f8fafc;border:1px solid #d7e4ec;border-radius:1rem;overflow:hidden}.report-accordions summary{cursor:pointer;font-weight:800;padding:.9rem 1rem}.report-guest-list{border-top:1px solid #d7e4ec;display:grid;gap:.6rem;padding:.85rem 1rem 1rem}.report-guest-list div{align-items:center;display:grid;gap:.35rem 1rem;grid-template-columns:minmax(140px,1fr) minmax(180px,1.2fr) minmax(180px,1.2fr)}.report-guest-list span{color:#475569;font-size:.9rem}.report-guest-list p{color:#64748b;margin:0}.event-list,.guest-list{display:grid;gap:.75rem;margin-top:1rem}.guest-csv-import{border-top:1px solid #d7e4ec;margin-top:1.25rem;padding-top:1.25rem}.guest-csv-import p{color:#64748b;font-size:.9rem;line-height:1.4;margin:0 0 .5rem}.guest-csv-import code{background:#f1f5f9;border-radius:.25rem;font-size:.88em;padding:.1rem .35rem}.csv-import-mapper{border:1px solid #d7e4ec;border-radius:1rem;display:grid;gap:1rem;margin-top:1rem;padding:1rem}.csv-import-fields{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.csv-preview-table{border:1px solid #d7e4ec;border-radius:.75rem;max-width:100%;overflow-x:auto}.csv-preview-table table{border-collapse:collapse;min-width:100%}.csv-preview-table th,.csv-preview-table td{border-bottom:1px solid #e2e8f0;padding:.5rem .75rem;text-align:left;white-space:nowrap}.csv-preview-table th{background:#f8fafc;color:#334155;font-size:.82rem;text-transform:uppercase}.plain-button{background:#eef9f7;color:#134e4a;text-align:left}.plain-button span{display:block;font-size:.9rem;font-weight:500;margin-top:.25rem}.guest-row{align-items:center;border:1px solid #d7e4ec;border-radius:1rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.guest-row p{margin:.25rem 0 0}.guest-invite-status{color:#475569;font-size:.9rem}.guest-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.guest-edit-form{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));width:100%}.section-heading-row{align-items:start;display:flex;gap:1rem;justify-content:space-between}.section-heading-row h3,.section-heading-row p{margin:0}.section-heading-row p{color:#64748b;margin-top:.25rem}.choice-editor{display:grid;gap:1rem}.choice-editor-list{display:grid;gap:.75rem}.choice-editor-row{align-items:end;border:1px solid #d7e4ec;border-radius:1rem;display:grid;gap:.5rem .75rem;grid-template-columns:minmax(280px,2fr) minmax(160px,1fr) minmax(130px,.75fr);padding:.75rem 1rem}.choice-editor-row>label{margin:0;min-width:0}.choice-editor-row>label>input,.choice-editor-row>label>select{margin-top:.3rem;padding:.55rem .7rem}.choice-editor-question{grid-column:span 1}.choice-options-editor{border-top:1px solid #e2e8f0;display:grid;gap:.6rem;grid-column:1 / -1;padding-top:.75rem}.choice-options-heading{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.choice-options-heading span{font-weight:700}.choice-options-heading button,.choice-option-row button{padding:.5rem .85rem}.choice-option-row{align-items:center;display:grid;gap:.6rem;grid-template-columns:minmax(240px,1fr) auto}.choice-option-row input{margin-top:0;padding:.55rem .7rem}.choice-editor-flags{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem .9rem;grid-column:1 / -1;justify-content:flex-end}.choice-editor-flags .inline{margin:0}.choice-editor-flags button{padding:.55rem 1rem}.inline{align-items:center;display:flex;gap:.6rem;margin:.45rem 0}.inline input{margin:0;width:auto}.contribution-option{margin:.45rem 0}.contribution-signups{color:#475569;font-size:.92rem;margin:-.2rem 0 0 1.7rem}.choice-field{display:grid;gap:.4rem}.choice-signups{background:#f8fafc;border:1px solid #d7e4ec;border-radius:.85rem;color:#475569;font-size:.92rem;padding:.75rem .9rem}.choice-signups p{margin:.25rem 0 0}.rsvp-summary{display:grid;gap:1rem}.rsvp-summary-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.rsvp-summary-header .success{flex:1 1 16rem;margin:0}.rsvp-summary-header>button{flex:0 0 auto}@media(max-width:640px){.rsvp-summary-header>button{width:100%}}.summary-list{display:grid;gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0}.summary-list div{border:1px solid #d7e4ec;border-radius:.9rem;padding:.8rem}.summary-list dt{color:#64748b;font-size:.78rem;font-weight:800;text-transform:uppercase}.summary-list dd{margin:.25rem 0 0}@media(max-width:1024px){.admin-layout{grid-template-columns:minmax(220px,.7fr) minmax(0,2fr)}}@media(max-width:760px){.admin-layout,.admin-header,.guest-row{display:grid;grid-template-columns:1fr}.choice-editor-row,.choice-option-row{grid-template-columns:1fr}.choice-options-heading{align-items:stretch;display:grid}.choice-options-heading button,.choice-option-row button{width:100%}.report-guest-list div{grid-template-columns:1fr}}@media(max-width:640px){.page{padding:1.5rem .85rem}.admin-tabs{border-radius:1rem;display:grid;width:100%}.stack>button[type=submit]{width:100%}.event-facts,.summary-list{grid-template-columns:1fr}fieldset{padding:.85rem .9rem}.inline{margin:.55rem 0}}.success{background:#dcfce7;border-radius:.9rem;color:#166534;padding:.75rem 1rem}.error{background:#fee2e2;border-radius:.9rem;color:#991b1b;padding:.75rem 1rem}
