:root{--color-bg:#fbf5e8;--card-bg:#fffbf1;--color-surface-active:#f4e9d2;--color-border:#e8dec8;--color-text:#1f1a17;--color-text-muted:#857769;--color-accent:#c5471e;--color-accent-hover:#a83c18;--color-chip-bg:#fbe3d2;--color-chip-text:#a83c18;--color-mint-bg:#cdebde;--color-mint-text:#166a4d;--color-amber-bg:#f9e2be;--color-amber-text:#8f6a1c;--color-stone-bg:#e3dfd5;--color-stone-text:#6b6660;--color-danger:#b91c1c;--font-display:"Fraunces", ui-serif, Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-pill:999px;--shadow-fab:0 6px 20px #c5471e2e, 0 0 0 1px var(--color-border);--shadow-fab-glow:0 0 28px #c5471e2e;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:hidden}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.5}h1,h2,h3{font-family:var(--font-display);color:var(--color-text);letter-spacing:-.01em;font-weight:600}.container{max-width:720px;margin:0 auto;padding:20px 16px 96px}.auth-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:16px;display:flex}.auth-card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:400px;padding:28px 24px}.auth-card h1{font-size:28px;font-family:var(--font-display);margin-bottom:20px}.auth-brand{font-family:var(--font-display);color:var(--color-accent);justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-size:26px;font-weight:700;display:flex}.panel{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.form-group{margin-bottom:16px}.form-group label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=datetime-local],select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--card-bg);width:100%;color:var(--color-text);min-height:44px;padding:12px 14px;font-family:inherit;font-size:16px}textarea{resize:vertical;min-height:88px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #c5471e1f}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:12px 20px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent);width:100%}.btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-primary:disabled{background:var(--color-accent);border-color:var(--color-accent);opacity:.55;cursor:not-allowed}.btn-secondary{background:var(--card-bg);color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-surface-active)}.btn-outline{background:var(--card-bg);color:var(--color-text);border-color:var(--color-border);padding:10px 16px;font-size:14px}.btn-outline:hover{background:var(--color-surface-active)}.btn-outline-danger{background:var(--card-bg);color:var(--color-danger);border-color:var(--color-border);padding:8px 14px;font-size:13px}.btn-outline-danger:hover{border-color:var(--color-danger)}.error-msg{color:var(--color-danger);border-radius:var(--radius-sm);background:#b91c1c0f;border:1px solid #b91c1c26;margin-bottom:12px;padding:10px 12px;font-size:14px}.link{color:var(--color-accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:14px;text-decoration:none}.link:hover{text-decoration:underline}.header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;display:flex}.header h1{font-size:22px}.muted{color:var(--color-text-muted);font-size:14px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 16px}.empty-state h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:8px;font-size:22px}.loading{text-align:center;color:var(--color-text-muted);padding:24px}.brand-lockup{font-family:var(--font-display);color:var(--color-accent);align-items:baseline;gap:6px;font-weight:700;display:inline-flex}.brand-lockup-sm{font-size:18px}.brand-lockup-lg{letter-spacing:-.01em;font-size:32px}.page-eyebrow{color:var(--color-text-muted);margin:4px 0 20px;font-size:14px}.event-list{flex-direction:column;gap:12px;list-style:none;display:flex}.event-card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px;transition:border-color .15s,transform .15s}.event-card:hover{border-color:var(--color-accent)}.event-card a{color:inherit;text-decoration:none;display:block}.event-card-title-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.event-card-title{font-family:var(--font-display);color:var(--color-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:20px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.event-card-datetime{color:var(--color-text-muted);align-items:center;gap:8px;font-size:14px;display:flex}.event-card-divider{background:var(--color-border);height:1px;margin:12px 0}.event-card-meta{color:var(--color-text-muted);font-size:13px}.status-pill{border-radius:var(--radius-pill);text-transform:uppercase;letter-spacing:.6px;white-space:nowrap;align-items:center;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.status-pill-active{background:var(--color-mint-bg);color:var(--color-mint-text)}.status-pill-draft{background:var(--color-amber-bg);color:var(--color-amber-text)}.status-pill-closed{background:var(--color-stone-bg);color:var(--color-stone-text)}.tabs{gap:8px;margin-bottom:20px;display:flex}.tab{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-pill);font-family:var(--font-body);color:var(--color-text);cursor:pointer;flex:1;min-height:44px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s}.tab-active{background:var(--color-surface-active);border-color:var(--color-surface-active);color:var(--color-text);font-weight:600}.chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.filling-chip{border-radius:var(--radius-sm);background:var(--color-chip-bg);color:var(--color-chip-text);word-break:break-word;max-width:100%;padding:6px 10px;font-size:13px;font-weight:500;display:inline-block}.selectable-chip{border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--card-bg);color:var(--color-text);font-family:var(--font-body);cursor:pointer;align-items:center;min-height:44px;padding:10px 14px;font-size:14px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.selectable-chip:hover:not(:disabled){border-color:var(--color-accent)}.selectable-chip-selected{background:var(--color-chip-bg);color:var(--color-chip-text);border-color:var(--color-chip-bg)}.selectable-chip:disabled{opacity:.5;cursor:not-allowed}.response-card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:12px;padding:20px}.response-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.response-card-guest-name{color:var(--color-text);font-size:18px;font-weight:600}.response-card-guest-sub{color:var(--color-text-muted);margin-top:2px;font-size:14px}.response-card-timestamp{color:var(--color-text-muted);margin-top:2px;font-size:12px}.response-card-divider{background:var(--color-border);height:1px;margin:12px 0}.response-wrap-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.response-wrap-row:last-child{margin-bottom:0}.wrap-label{font-family:var(--font-display);color:var(--color-accent);white-space:nowrap;margin-right:4px;font-size:15px;font-weight:700}.copy-link-field{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--card-bg);align-items:stretch;gap:8px;margin-bottom:20px;padding:8px;display:flex}.copy-link-field input{min-height:auto;color:var(--color-text-muted);background:0 0;border:none;flex:1;padding:4px 8px;font-size:14px}.copy-link-field input:focus{box-shadow:none}.fab{background:var(--card-bg);border:1px solid var(--color-border);width:56px;height:56px;box-shadow:var(--shadow-fab);color:var(--color-accent);cursor:pointer;z-index:40;border-radius:14px;justify-content:center;align-items:center;font-size:28px;text-decoration:none;transition:transform .15s;display:inline-flex;position:fixed;bottom:16px;right:16px}.fab:hover{transform:translateY(-1px)}.wrap-section-badge{background:var(--color-chip-bg);width:28px;height:28px;color:var(--color-accent);font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.wrap-card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.wrap-card-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.wrap-card-title{font-family:var(--font-display);color:var(--color-text);align-items:center;gap:10px;font-size:20px;font-weight:700;display:flex}.wrap-category{margin-top:16px}.wrap-category-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);align-items:baseline;gap:8px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.wrap-category-hint{text-transform:none;letter-spacing:0;color:var(--color-text-muted);font-weight:400}.guest-header{text-align:center;padding:24px 0 16px}.guest-header h1{font-family:var(--font-display);color:var(--color-text);margin-top:8px;font-size:28px}.guest-header-sub{color:var(--color-text-muted);margin-top:6px;font-size:14px}.guest-header-description{color:var(--color-text);margin-top:8px;font-size:15px}.guest-card{background:var(--card-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:16px;padding:20px}.guest-field{border-bottom:1px solid var(--color-border);flex-direction:column;padding:8px 0;display:flex}.guest-field:last-child{border-bottom:none}.guest-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;margin-bottom:2px;font-size:12px}.guest-field input{min-height:auto;color:var(--color-text);background:0 0;border:none;padding:4px 0;font-size:18px}.guest-field input:focus{box-shadow:none}.phone-input-group{align-items:center;gap:8px;display:flex}.phone-country-code{color:var(--color-text-muted);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:18px}.phone-input-group input{flex:1}.required-mark{color:var(--color-danger);font-weight:600}.field-hint{color:var(--color-danger);margin-top:2px;font-size:12px}.add-wrap-btn{background:var(--card-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-accent);font-family:var(--font-body);cursor:pointer;margin-bottom:16px;padding:14px;font-size:15px;font-weight:500;display:block}.add-wrap-btn:hover{border-color:var(--color-accent)}.sticky-submit{margin-top:16px}@media (width<=480px){.container{padding:16px 12px 112px}.sticky-submit{background:linear-gradient(to bottom, #fbf5e800, var(--color-bg) 24px);z-index:20;margin-top:8px;padding:12px 0;position:sticky;bottom:0}}.shopping-list{flex-direction:column;display:flex}.shopping-category{letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);padding-top:24px;padding-bottom:8px;font-size:12px;font-weight:600}.shopping-category:first-child{padding-top:0}.shopping-row{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.shopping-row-left{flex-direction:column;min-width:0;display:flex}.shopping-row-name{color:var(--color-text);font-size:16px}.shopping-row-sub{color:var(--color-text-muted);font-size:13px}.shopping-row-right{white-space:nowrap;align-items:center;gap:6px;display:flex}.shopping-qty-input{text-align:right;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--card-bg);font-variant-numeric:tabular-nums;width:88px;min-height:auto;padding:10px 12px}.shopping-qty-unit{color:var(--color-text-muted);font-size:14px}.shopping-actions{gap:12px;margin-top:24px;display:flex}.shopping-actions .btn{flex:1}.success-screen{text-align:center;padding:48px 16px 24px}.success-circle{background:var(--color-mint-bg);width:72px;height:72px;color:var(--color-mint-text);border-radius:50%;justify-content:center;align-items:center;margin-bottom:20px;display:inline-flex}.success-title{font-family:var(--font-display);margin-bottom:8px;font-size:28px;font-weight:700}.success-sub{color:var(--color-text-muted);margin-bottom:4px;font-size:15px}.success-card{text-align:left;margin-top:24px}.success-card-label{text-transform:uppercase;letter-spacing:1px;color:var(--color-text-muted);margin-bottom:12px;font-size:12px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=480px){.header h1{font-size:20px}.brand-lockup-lg{font-size:28px}}
