:root{--wine:#78262b;--deep:#803137;--ink:#46282b;--muted:#654449;--ivory:#fef6eb;--line:#d5b7a7;--champagne:#e4cdac;--blush:#ebd4cc}a{color:inherit}h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;line-height:1.1;margin:0}h1{font-size:37px}h2{font-size:34px}h3{font-size:28px}p{margin:8px 0;color:var(--muted)}.eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--wine);font-weight:600}.admin-header{padding:22px 6%;display:flex;gap:28px;align-items:center;background:#f4e6d8;border-bottom:1px solid var(--line)}.admin-monogram{font:46px 'Cormorant Garamond',Georgia,serif;color:var(--wine);text-decoration:none;white-space:nowrap}.admin-header>.subtle{margin-left:auto}.admin-main{max-width:1200px;padding:32px 30px 80px;margin:auto}.admin-intro{display:flex;gap:20px;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-intro>p{font:italic 28px 'Cormorant Garamond',Georgia,serif}.admin-intro>span{font-size:14px;overflow-wrap:anywhere}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0 30px}.stats>div{background:#f3e2d3;padding:23px;border:1px solid var(--line);display:flex;flex-direction:column}.stats strong{font:48px 'Cormorant Garamond',Georgia,serif;color:var(--wine)}.stats span{font-size:15px}.admin-nav{display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);margin-bottom:36px}.admin-nav button{border:0;border-bottom:3px solid transparent;padding:16px 14px;color:var(--muted);background:none;font-size:17px}.admin-nav button[aria-pressed=true]{color:var(--wine);border-color:var(--wine);font-weight:600}.admin-nav>a{margin-left:auto;font-size:15px;padding:14px}.section-top{display:flex;gap:25px;justify-content:space-between;align-items:center;margin-bottom:25px}.section-top p{max-width:700px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--wine);color:var(--ivory);background:var(--wine);font-size:17px;padding:13px 20px;min-height:50px;gap:15px;line-height:1.4}.btn:hover{background:#5c1b22}.btn.secondary{background:var(--champagne);color:var(--wine)}.btn.secondary:hover{background:#dcc19a}.subtle{border:0;background:none;color:var(--wine);font-size:16px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding:9px}.btn:disabled,button:disabled{opacity:.55;cursor:wait}label{display:block;font-size:16px;margin-bottom:20px}.optional{color:var(--muted);font-size:14px}input,select,textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid var(--line);background:#fffaf2;color:var(--ink);border-radius:0;font-size:17px;line-height:1.5;min-height:49px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--wine);outline-offset:2px}.generator{display:grid;grid-template-columns:1.1fr 1fr auto;gap:22px;align-items:end;padding:25px;background:#f6e9dc;border:1px solid var(--line)}.generator label{margin:0}.new-code{padding:27px;background:var(--blush);border:1px solid var(--line);margin-top:22px}.new-code>strong{display:block;font-size:28px;letter-spacing:1.5px;overflow-wrap:anywhere;color:var(--wine);margin:12px 0}.small{font-size:14px;line-height:1.7}.list-heading{display:flex;align-items:center;justify-content:space-between;margin-top:44px}.invitation-list,.reservation-list{display:grid;gap:17px;margin-top:22px}.invite-card,.reservation-card{border:1px solid var(--line);padding:22px;background:#fffaf2}.invite-top{display:flex;align-items:start;justify-content:space-between;gap:18px}.invite-card h3,.reservation-card h3{font-size:29px;overflow-wrap:anywhere}.code-value{font-size:19px;letter-spacing:1.2px;overflow-wrap:anywhere;margin:12px 0;color:var(--wine);font-weight:500}.badge{display:inline-flex;padding:4px 10px;background:#e4cdac;font-size:14px;white-space:nowrap}.badge.confirmed{background:#dce5d3;color:#344b2e}.badge.disabled{background:#e8dbd5;color:#654449}.card-actions,.button-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.card-actions{border-top:1px solid var(--line);padding-top:13px;margin-top:17px}.card-actions .subtle{font-size:15px}.reservation-names{padding-left:25px;font-size:18px}.reservation-card p{overflow-wrap:anywhere}.empty{padding:34px;text-align:center;border:1px dashed var(--line)}.notice{padding:15px 18px;border:1px solid var(--wine);background:#f4dddd;color:var(--wine);margin:15px 0}.editor-tools{display:grid;grid-template-columns:1fr auto;align-items:end;gap:22px}.editor-tools label{margin-bottom:0}.editor-tools{margin-bottom:24px}.people-editor{display:grid;grid-template-columns:1fr 1fr;gap:22px}.role-editor{border:1px solid var(--line);padding:21px;background:#fffaf2}.role-editor textarea{min-height:180px;font-size:18px}.role-editor .role-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.role-editor label:last-of-type{margin-bottom:8px}.save-bar{margin-top:28px;display:flex;gap:24px;align-items:center;position:sticky;bottom:0;padding:18px;background:var(--ivory);border-top:1px solid var(--line)}.save-bar p{font-size:14px}.search-label{max-width:600px}.login-page{max-width:690px;margin:9vh auto;padding:40px 28px;text-align:center}.login-page h1{font-size:61px;color:var(--wine);margin:18px 0 25px}.login-page p:not(.eyebrow){font-size:18px;line-height:1.8;margin-bottom:30px}.back-link{display:block;margin:25px auto;font-size:16px;color:var(--wine)}#admin-toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);background:var(--wine);color:var(--ivory);padding:14px 23px;max-width:90%;font-size:17px;text-align:center}button:focus-visible,a:focus-visible{outline:2px solid var(--wine);outline-offset:5px}@media(max-width:750px){.admin-header{padding:19px 6%;gap:15px;flex-wrap:wrap}.admin-header h1{font-size:29px}.admin-header .eyebrow{font-size:10px}.admin-header>.subtle{font-size:14px}.admin-main{padding:23px 6% 60px}.admin-intro{display:block}.stats{gap:9px}.stats>div{padding:15px 10px}.stats strong{font-size:40px}.stats span{font-size:12px}.admin-nav{gap:0}.admin-nav button{font-size:15px;padding:13px 9px}.admin-nav>a{margin:0;font-size:14px}.generator,.people-editor{grid-template-columns:1fr}.section-top{align-items:start;flex-direction:column}.new-code>strong{font-size:22px}.editor-tools{grid-template-columns:1fr}.save-bar{flex-direction:column;align-items:stretch;gap:10px}.invite-top{flex-wrap:wrap}.login-page h1{font-size:47px}.admin-intro>span{display:block}.role-editor{padding:17px}}
.unlock-form{max-width:420px;margin:auto;text-align:left}.unlock-form .btn{width:100%}.rsvp-table-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--line);background:#fffaf2}.rsvp-table{border-collapse:collapse;font-size:17px;line-height:1.6;min-width:1800px;width:100%;text-align:left}.rsvp-table caption{text-align:left;padding:15px 20px;font-weight:600;color:var(--wine);background:#f3e2d3}.rsvp-table th{background:var(--wine);color:var(--ivory);font-weight:500;min-width:155px}.rsvp-table th,.rsvp-table td{padding:16px;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere;max-width:300px}.rsvp-table tbody tr:nth-child(even){background:#f4e6d8}.rsvp-table .guest-list-cell{white-space:pre-line;min-width:210px}.rsvp-table-wrap:focus-visible{outline:2px solid var(--wine);outline-offset:4px}

.party-size-editor,.delete-code-confirm{margin-top:20px;padding:22px;background:#f3e2d3;border:1px solid var(--line)}.party-size-editor>label:first-child{max-width:500px}.resize-consent{display:flex;align-items:flex-start;gap:12px;max-width:750px;font-size:17px}.resize-consent input{width:22px;min-height:22px;height:22px;margin:4px 0 0;flex:0 0 22px;accent-color:var(--wine)}.resize-consent[hidden]{display:none}.delete-code-confirm h3{font-size:27px}.delete-code-confirm p{margin:15px 0 20px}.deleted-codes{margin-top:35px;border-top:1px solid var(--line);padding-top:20px}.deleted-codes>summary{cursor:pointer;font-size:19px;color:var(--wine);min-height:44px}.deleted-code-card{background:#f4e8df}
