:root{color:#20302d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--accent:#315f56;--accent-strong:#21433f;--accent-soft:#dfe9df;--blush:#f3d7d2;--border:#d8e0d2;--cream:#fffaf2;--ink:#20302d;--muted:#63736b;--surface:#fffdf8f0;background:#f7f4ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 12% 8%,#f3d7d2bf,#0000 28rem),radial-gradient(circle at 86% 0,#d6e6d6f2,#0000 30rem),linear-gradient(135deg,#f7f4ec 0%,#eef4ed 52%,#f9efec 100%);min-height:100vh;margin:0}a{color:var(--accent);font-weight:700}button,input,textarea{font:inherit}button{background:linear-gradient(135deg, var(--accent), var(--accent-strong));color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.85rem 1.25rem;font-weight:700;transition:box-shadow .16s,transform .16s;box-shadow:0 12px 28px #21433f2e}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 16px 34px #21433f3d}button:disabled{cursor:not-allowed;opacity:.6}input,textarea{border:1px solid var(--border);color:var(--ink);background:#fffdf9;border-radius:14px;width:100%;padding:.85rem 1rem}input:focus,textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 4px #315f5624}fieldset{border:1px solid var(--border);background:#fffdf8b8;border-radius:18px;margin:0;padding:1rem}legend{color:var(--accent-strong);padding:0 .4rem;font-weight:700}table{border-collapse:collapse;width:100%;min-width:900px}td,th{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.8rem}th{color:var(--muted);text-transform:uppercase;font-size:.85rem}.shell{max-width:780px;min-height:100vh;margin:0 auto;padding:2rem 1rem}.shell.wide{max-width:1440px}.shell.narrow{place-items:center;max-width:720px;display:grid}.card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:var(--surface);border:1px solid #d8e0d2e6;border-radius:28px;padding:clamp(1.5rem,4vw,3rem);box-shadow:0 28px 80px #2b464024}.hero-card{text-align:center}.hero-copy,.intro-copy{font-size:1.05rem}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem;font-weight:800}h1{color:var(--accent-strong);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.25rem,5vw,4rem);line-height:1}p{line-height:1.6}.muted,.hint{color:var(--muted)}.hint{margin-top:.35rem;font-size:.9rem;display:block}.form,.admin-login,.invite-form{gap:1rem;margin-top:1.5rem;display:grid}.event-question{gap:.35rem;display:grid}.event-question .muted{margin:0 0 .35rem}.wedding-details{background:linear-gradient(135deg, #dfe9dfdb, #fffaf2eb), var(--cream);border:1px solid var(--border);border-radius:20px;gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.section-heading{gap:.25rem;display:grid}.section-heading .eyebrow{margin:0}.wedding-details h2,.wedding-details h3,.contact-section legend{color:var(--accent-strong);margin:0;font-family:Georgia,Times New Roman,serif}.wedding-details h2{font-size:1.6rem}.wedding-details h3{font-size:1.1rem}.wedding-details p{margin:.4rem 0 0}.event-highlights,.details-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.85rem;margin-top:1.25rem;display:grid}.event-highlights article,.detail-card{background:#fffdf8d1;border:1px solid #d8e0d2e6;border-radius:18px;padding:1rem}.event-highlights article{gap:.25rem;display:grid}.event-highlights span,.date-pill{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.event-highlights strong{color:var(--accent-strong)}.detail-card{flex-direction:column;gap:.35rem;display:flex}.detail-card-wide{margin-top:.25rem}.date-pill{color:var(--accent)}.contact-section{gap:.9rem;display:grid}.map-link{margin-top:.5rem;display:inline-block}.useful-info-list{color:var(--muted);margin:.5rem 0 0;padding-left:1.25rem;line-height:1.6}.radio-row,.checkbox-row{align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.radio-row input,.checkbox-row input{width:auto}.attendee-count{margin-top:.75rem;display:block}.success,.error{border-radius:14px;margin:0;padding:.85rem 1rem}.success{color:#246044;background:#e7f3ea}.error{color:#a03a32;background:#fff0ef}.summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2rem 0;display:grid}.metric{border:1px solid var(--border);background:linear-gradient(#fffdf8f2,#dfe9df94);border-radius:18px;padding:1rem}.metric strong{color:var(--accent);font-size:2rem;display:block}.metric span{color:var(--muted);font-size:.9rem}.actions{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.admin-tabs{border:1px solid var(--border);background:#dfe9df9e;border-radius:999px;flex-wrap:wrap;gap:.35rem;margin:2rem 0 1rem;padding:.35rem;display:flex}.admin-tabs button{box-shadow:none;color:var(--accent-strong);background:0 0;flex:10rem}.admin-tabs button.active{color:var(--accent);background:#fffdf9;box-shadow:0 10px 26px #21433f1f}.stats-panels{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.stat-panel{border:1px solid var(--border);background:#fffdf8b3;border-radius:22px;padding:1.25rem}.stat-panel h2{color:var(--accent-strong);margin:0 0 1rem;font-family:Georgia,Times New Roman,serif;font-size:1.35rem}.stat-panel dl{gap:.65rem;margin:0;display:grid}.stat-panel dl div{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.65rem;display:flex}.stat-panel dl div:last-child{border-bottom:0;padding-bottom:0}.stat-panel dt{color:var(--muted)}.stat-panel dd{color:var(--accent-strong);margin:0;font-size:1.3rem;font-weight:800}.admin-panel{border:1px solid var(--border);background:#fffdf88f;border-radius:22px;margin:0 0 1.5rem;padding:1.25rem}.admin-panel h2{color:var(--accent-strong);margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.8rem}.created-link{background:#e7f3ea;border-radius:18px;gap:.75rem;margin-top:1rem;padding:1rem;display:grid}.empty-state{border:1px dashed var(--border);color:var(--muted);text-align:center;background:#fffdf8b8;border-radius:18px;margin:0;padding:1rem}.bulk-results{gap:1rem;margin-top:1rem;display:grid}.inline-link{grid-template-columns:minmax(16rem,1fr) auto;align-items:center;gap:.5rem;min-width:28rem;display:grid}.inline-link input{min-width:0}.table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;padding-bottom:.35rem;overflow-x:auto}.responses-table{min-width:1500px}.responses-table th,.responses-table td{white-space:nowrap}.responses-table td:nth-child(9),.responses-table td:nth-child(10){white-space:normal;min-width:14rem;max-width:18rem}@media (width<=720px){button{width:100%}.shell,.shell.wide,.shell.narrow{padding:1rem}.card{border-radius:22px;padding:1.25rem}.hero-card{text-align:left}.event-highlights,.details-grid{grid-template-columns:1fr}.wedding-details,fieldset,.admin-panel{border-radius:18px;padding:1rem}.radio-row,.checkbox-row{align-items:flex-start}.radio-row input,.checkbox-row input{margin-top:.2rem}.admin-tabs{border-radius:22px}.admin-tabs button{flex-basis:100%}.summary-grid{grid-template-columns:1fr 1fr}.inline-link{grid-template-columns:1fr;min-width:18rem}}@media (width<=460px){h1{font-size:2.15rem}.summary-grid{grid-template-columns:1fr}.metric strong{font-size:1.75rem}}
