:root{--ink:#2b2622;--muted:#7a7068;--paper:#fbf8f3;--panel:#fff;--line:#e4ddd2;--accent:#7d5a3c;--accent-dark:#5e432c;--success:#3f6b45;--danger:#9b3b31;--serif:"Cormorant Garamond", Garamond, Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--serif);margin:0;font-size:1.15rem;line-height:1.55}a{color:var(--accent)}a:hover{color:var(--accent-dark)}h1,h2{letter-spacing:.02em;font-weight:400;line-height:1.2}h1{margin:0 0 .5rem;font-size:2.4rem}h2{margin:0 0 .75rem;font-size:1.6rem}code,.monospace{font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.site-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;max-width:36rem;margin:0 auto;padding:1rem 1.25rem;display:flex}.admin .site-header{max-width:72rem}.site-title{letter-spacing:.15em;text-transform:uppercase;color:var(--ink);font-size:1.4rem;text-decoration:none}.site-nav,.admin-nav{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.site-nav a,.admin-nav a,.filters a{text-decoration:none}[aria-current=true]{font-weight:700;text-decoration:underline!important}.nav-link{border-bottom:2px solid #0000;padding-bottom:.2rem}.nav-link:hover{border-bottom-color:var(--line)}.nav-link[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent);font-weight:700}.site-nav,.admin-nav{flex:auto}.site-nav{justify-content:flex-end}.sign-out{margin-left:auto;display:flex}.sign-out .link-button{line-height:inherit;color:var(--danger)}.admin-nav .sign-out .link-button{border-bottom:2px solid #0000;padding-bottom:.2rem}.nav-link--icon{align-items:center;gap:.35rem;display:inline-flex}.icon{flex:none;width:1em;height:1em}.container{max-width:36rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}.container--wide{max-width:72rem}.intro{text-align:center;margin-bottom:2rem}.intro h1:after{content:"";border-bottom:1px solid var(--accent);width:4rem;margin:1rem auto 0;display:block}.lede{color:var(--muted);font-size:1.25rem;font-style:italic}.rsvp{gap:1.25rem;display:grid}.rsvp h2{margin:0}.panel{background:var(--panel);border:1px solid var(--line);padding:2rem}.form{gap:1.25rem;margin-top:1rem;display:grid}.field{border:0;gap:.35rem;margin:0;padding:0;display:grid}.field-row{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1.25rem;display:grid}label,legend{font-weight:600}legend{margin-bottom:.35rem}.choice{align-items:center;gap:.5rem;font-weight:400;display:flex}input[type=text],input[type=email],input[type=number],select,textarea{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:#fff;padding:.6rem .7rem;font-family:system-ui,sans-serif;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.button,input[type=submit].button{border:1px solid var(--accent);background:var(--accent);color:#fff;font:inherit;letter-spacing:.05em;cursor:pointer;padding:.6rem 1.4rem;text-decoration:none;display:inline-block}.button:hover{background:var(--accent-dark);color:#fff}.button--secondary{color:var(--accent);background:0 0}.button--secondary:hover{background:var(--paper);color:var(--accent-dark)}.button--danger{border-color:var(--danger);color:var(--danger);background:0 0}.button--danger:hover{background:var(--danger);color:#fff}.link-button{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.actions form{display:inline}.flash{border:1px solid var(--line);background:var(--panel);margin:0 0 1.5rem;padding:.75rem 1rem}.flash--notice{border-color:var(--success);color:var(--success)}.flash--alert{border-color:var(--danger);color:var(--danger)}.errors{border:1px solid var(--danger);color:var(--danger);margin-bottom:1rem;padding:.75rem 1rem}.errors p{margin:0}.errors ul{margin:.5rem 0 0}.badge{white-space:nowrap;border:1px solid;padding:.05rem .6rem;font-size:.85rem;display:inline-block}.badge--pending{color:var(--muted)}.badge--attending{color:var(--success)}.badge--declined{color:var(--danger)}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-heading h1{margin:0}.stats{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:1px;margin:0 0 1.5rem;display:grid}.stats>div{background:var(--panel);padding:.75rem 1rem}.stats dt{color:var(--muted);font-size:.9rem}.stats dd{margin:0;font-size:1.8rem}.filters{gap:1rem;margin-bottom:1rem;display:flex}.table{border-collapse:collapse;background:var(--panel);border:1px solid var(--line);width:100%;font-size:1rem}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.55rem .75rem}.table th{background:var(--paper);font-weight:600}.table .numeric{text-align:right}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.detail{flex-wrap:wrap;align-items:flex-start;gap:2rem;display:flex}.properties{background:var(--panel);border:1px solid var(--line);flex:1;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0;padding:1.5rem;display:grid}.properties dt{color:var(--muted)}.properties dd{margin:0}.properties dd p:first-child{margin-top:0}.qr{border:1px solid var(--line);background:#fff;margin:0;padding:1rem}.empty{color:var(--muted);font-style:italic}.hint{color:var(--muted);margin:0;font-size:.95rem}.section-heading{margin-top:2.5rem}.translation{border:1px solid var(--line);background:var(--panel);gap:1rem;padding:1rem 1.25rem}.previews{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem;display:grid}.preview{background:var(--panel);border:1px solid var(--line);padding:1.25rem 1.5rem}.preview h3{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .75rem;font-size:1rem;font-weight:400}.badge--queued{color:var(--muted)}.badge--sent{color:var(--success)}.badge--failed{color:var(--danger)}.notice-box{border:1px solid var(--line);background:var(--panel);margin:0 0 1.5rem;padding:.75rem 1rem}.message-body{white-space:pre-wrap;margin:0;font-family:inherit;font-size:.95rem}.preview__footer{border-top:1px dashed var(--line);color:var(--muted);margin-bottom:0;padding-top:.75rem}.placeholder{background:var(--paper);border:1px dashed var(--line);padding:0 .3rem;font-family:ui-monospace,Menlo,monospace;font-size:.85rem}.linked{color:var(--muted);font-size:.9rem;display:block}
