.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding:72px 28px;display:flex;position:relative;overflow:hidden}.frame{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.frame path{fill:none;stroke:var(--gold-light);stroke-width:1.1px;stroke-dasharray:3200;stroke-dashoffset:3200px;animation:2.6s ease-out forwards guest-draw}.frame path.inner{stroke:var(--gold-faint);animation-delay:.35s}.frame circle{fill:var(--gold-light);opacity:0;animation:.9s ease-out forwards guest-dot}@keyframes guest-draw{to{stroke-dashoffset:0}}@keyframes guest-dot{to{opacity:var(--o,.55)}}.hero-inner{opacity:0;max-width:520px;animation:1.1s ease-out .5s forwards guest-rise;position:relative}@keyframes guest-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero-kicker{letter-spacing:.34em;color:var(--stone);font-size:.78rem}.hero .names{margin-top:6px;font-size:clamp(1.5rem,6vw,2.1rem);font-weight:500}.hero .names-full{letter-spacing:.2em;font-size:clamp(1.3rem,5.2vw,1.75rem)}.hero .date{font-family:var(--serif);letter-spacing:.3em;margin-top:18px;font-size:clamp(1.15rem,4.5vw,1.45rem)}.hero .place{color:var(--stone);letter-spacing:.26em;margin-top:10px;font-size:.8rem}.party-greeting{font-family:var(--serif);color:var(--charcoal);margin-top:40px;font-size:1.08rem;line-height:1.85}.party-greeting strong{font-weight:600}.letter-note{text-align:center;max-width:640px;margin:0 auto;padding:60px 24px 4px}.scribe-heart{width:200px;margin:0 auto;display:block}.scribe-heart path{fill:none;stroke:var(--gold);stroke-width:1.2px;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1px}.scribe-heart .wing{stroke:var(--gold-faint);stroke-width:1px}.letter-note.is-shown .scribe-heart .heart{animation:1.7s ease-in-out .1s forwards guest-draw-n}.letter-note.is-shown .scribe-heart .wing{animation:.9s ease-out 1.7s forwards guest-draw-n}@keyframes guest-draw-n{to{stroke-dashoffset:0}}.letter-body{max-width:30ch;font-family:var(--serif);color:var(--charcoal);margin:30px auto 0;font-size:1.2rem;line-height:1.85}.letter-sign{letter-spacing:.3em;color:var(--charcoal);margin-top:20px;font-size:.95rem}.not-you{font-family:var(--sans);color:var(--stone);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--gold-faint);text-decoration-color:var(--gold-faint);text-underline-offset:3px;background:0 0;border:none;margin:8px auto 0;padding:6px 0;font-size:.8rem;transition:color .2s;display:block}.not-you:hover{color:var(--charcoal)}.not-you-note{max-width:380px;color:var(--stone);margin:6px auto 0;font-size:.78rem;line-height:1.65}.scroll-cue{border:1px solid var(--gold-faint);cursor:pointer;min-height:44px;font-family:var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--charcoal);background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-top:44px;padding:13px 30px;font-size:.8rem;transition:border-color .2s,background .2s;display:inline-flex}.scroll-cue:hover{border-color:var(--gold);background:#c6a15b0f}.guest-section{max-width:640px;margin:0 auto;padding:64px 24px}.section-title{text-align:center;font-family:var(--script);font-size:2.6rem;line-height:1.2}.section-sub{text-align:center;color:var(--stone);margin-top:6px;font-size:.78rem}.script-small{font-family:var(--script);color:var(--charcoal);font-size:2.2rem;line-height:1.1}.trio{grid-template-columns:1fr;gap:14px;margin-top:34px;display:grid}@media (width>=560px){.trio{grid-template-columns:repeat(3,1fr)}}.trio a{color:var(--charcoal);border:1px solid var(--gold-faint);text-align:center;background:#fff;border-radius:4px;padding:22px 18px;text-decoration:none;transition:border-color .2s,transform .2s;display:block}.trio a:hover{border-color:var(--gold);transform:translateY(-2px)}.trio .glyph{color:var(--gold);font-size:1.05rem;font-family:var(--serif)}.trio h3{font-family:var(--serif);letter-spacing:.16em;text-transform:uppercase;margin-top:8px;font-size:.8rem;font-weight:500}.trio p{color:var(--stone);margin-top:4px;font-size:.78rem;line-height:1.5}.locked{color:var(--stone);letter-spacing:.12em;text-transform:uppercase;margin-top:8px;font-size:.7rem;display:inline-block}.guest-footer{text-align:center;color:var(--stone);letter-spacing:.2em;padding:56px 20px 70px;font-size:.75rem}.guest-footer .heart{color:var(--gold);letter-spacing:0;font-size:1rem}.subpage-header{text-align:center;max-width:640px;margin:0 auto;padding:48px 24px 0}.back-link{font-family:var(--sans);letter-spacing:.04em;color:var(--stone);border-bottom:1px solid #0000;margin:-10px 0 4px;padding:10px 6px;font-size:.78rem;text-decoration:none;transition:color .2s,border-color .2s;display:inline-block}.back-link:hover{color:var(--charcoal);border-color:var(--gold-faint)}.content-list{margin-top:6px}.content-item{border-bottom:1px solid #c6a15b2e;padding:22px 0}.content-item:last-child{border-bottom:none}.content-item-title{font-family:var(--serif);letter-spacing:.02em;color:var(--charcoal);font-size:1.15rem;font-weight:600}.content-item-body{color:var(--charcoal);margin-top:8px;font-size:.93rem}.section-empty{text-align:center;color:var(--stone);margin-top:8px;font-size:.85rem}.venue-title{margin-top:12px}.md-p{font-size:.93rem;line-height:1.7}.md-p+.md-p{margin-top:12px}.md-list{margin-top:12px;padding-left:1.3em}.md-list li{margin-top:6px;line-height:1.6}.md-p a,.md-list li a{color:var(--charcoal);-webkit-text-decoration-color:var(--gold-faint);text-decoration-color:var(--gold-faint);text-underline-offset:3px}.md-p a:hover,.md-list li a:hover{color:var(--charcoal);-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.timeline-list{margin-top:8px;list-style:none}.timeline-item{border-bottom:1px solid #c6a15b2e;padding:20px 0}.timeline-item:last-child{border-bottom:none}.timeline-when{font-family:var(--serif);letter-spacing:.14em;text-transform:uppercase;color:var(--stone);font-size:.72rem;font-weight:600}.timeline-title{font-family:var(--serif);color:var(--charcoal);margin-top:4px;font-size:1.15rem;font-weight:600}.timeline-location{color:var(--stone);margin-top:2px;font-size:.82rem}.timeline-description{color:var(--charcoal);white-space:pre-line;margin-top:8px;font-size:.9rem;line-height:1.6}.timeline-locked{text-align:center;margin-top:24px}.timeline-locked span{margin-right:6px}.guest-state-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100svh;padding:28px;display:flex}.state-pulse{color:var(--gold);font-size:1.5rem;line-height:1;animation:1.6s ease-in-out infinite guest-state-pulse}@keyframes guest-state-pulse{0%,to{opacity:.35;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}.state-message{color:var(--charcoal);max-width:360px;font-size:.92rem;line-height:1.65}.state-meta{color:var(--stone);letter-spacing:.08em;font-size:.8rem}.retry-button{border:1px solid var(--gold-faint);min-height:44px;font-family:var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--charcoal);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;margin-top:6px;padding:13px 30px;font-size:.8rem;transition:border-color .2s,background .2s;display:inline-flex}.retry-button:hover{border-color:var(--gold);background:#c6a15b0f}.not-you:focus,.scroll-cue:focus,.retry-button:focus,.back-link:focus,.trio a:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c6a15b59}@media (prefers-reduced-motion:reduce){.frame path{stroke-dashoffset:0;animation:none}.frame circle{opacity:var(--o,.55);animation:none}.hero-inner{opacity:1;animation:none}.scribe-heart path{stroke-dashoffset:0;animation:none!important}.state-pulse{opacity:.7;animation:none;transform:none}}.card{border:1px solid var(--gold-faint);background:#fff;border-radius:3px;margin-top:34px;padding:32px 22px;box-shadow:0 1px #2b2a2808}.guest{border-bottom:1px solid #c6a15b2e;padding:20px 0}.guest:last-of-type{border-bottom:none}.guest-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.guest-name{font-family:var(--serif);letter-spacing:.03em;font-size:1.3rem;font-weight:500}.guest-tag{color:var(--stone);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem}.toggle{border:1px solid var(--gold-faint);border-radius:999px;flex-shrink:0;gap:3px;padding:3px;display:flex;overflow:hidden}.toggle button{cursor:pointer;font-family:var(--serif);text-transform:uppercase;letter-spacing:.13em;min-width:94px;min-height:44px;color:var(--stone);background:0 0;border:none;border-radius:999px;padding:10px 14px;font-size:.66rem;font-weight:600;line-height:1.6;transition:background .18s,color .18s,box-shadow .18s}.toggle button.on-yes{background:var(--ivory-deep);color:var(--charcoal);box-shadow:inset 0 0 0 1px var(--gold)}.toggle button.on-no{color:var(--charcoal);background:0 0;box-shadow:inset 0 0 0 1px #7a756c73}.toggle button:disabled{cursor:not-allowed}.menu-block{opacity:0;max-height:0;transition:max-height .45s,opacity .35s,margin .35s;overflow:hidden}.menu-block.open{opacity:1;max-height:640px;margin-top:18px}.field{margin-top:14px}.field label{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;color:var(--stone);margin-bottom:6px;font-size:.64rem;font-weight:600;display:block}.field select,.field input[type=text],.field textarea{border:1px solid var(--gold-faint);background:var(--ivory);width:100%;min-height:44px;color:var(--charcoal);font-family:var(--sans);appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23C6A15B' stroke-width='1.4'/></svg>");background-position:right 14px center;background-repeat:no-repeat;border-radius:3px;padding:13px 14px;font-size:.95rem}.field input[type=text],.field textarea{background-image:none}.field textarea{resize:vertical;min-height:74px}.field select:focus,.field input:focus,.field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c6a15b26}.field select:disabled,.field input:disabled,.field textarea:disabled{opacity:.65;cursor:not-allowed}@media (pointer:coarse),(width<=900px){.field select,.field input[type=text],.field textarea{font-size:16px}}.party-fields{border-top:1px solid #c6a15b2e;margin-top:6px;padding-top:22px}.submit{width:100%;min-height:48px;color:var(--charcoal);border:1px solid var(--gold);font-family:var(--serif);letter-spacing:.24em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;justify-content:center;align-items:center;margin-top:26px;padding:16px;font-size:.8rem;font-weight:600;transition:opacity .2s,background .25s;display:flex}.submit:hover{background:#c6a15b14}.submit:disabled{opacity:.6;cursor:not-allowed}.confirm{text-align:center;padding:26px 10px 6px}.confirm p{color:var(--stone);margin-top:6px;font-size:.85rem;line-height:1.6}.edit-note{text-align:center;color:var(--stone);margin-top:14px;font-size:.75rem;line-height:1.6}.form-hint,.form-error{text-align:center;color:var(--stone);margin-top:16px;font-size:.82rem;line-height:1.6}.form-error{font-weight:600}.toggle button:focus,.submit:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c6a15b59}.rsvp-form-admin{margin-top:0;padding:6px 18px 18px}.rsvp-form-admin .guest-name{font-size:1.1rem}.rsvp-form-admin .field select,.rsvp-form-admin .field input[type=text]{background-color:#fff}.rsvp-form-admin .field label{font-family:var(--sans);letter-spacing:.2em;font-size:.68rem}.rsvp-form-admin .party-fields{margin-top:10px}.rsvp-form-admin .form-hint,.rsvp-form-admin .form-error{text-align:left}.rsvp-form-admin .submit{background:var(--charcoal);width:auto;min-width:190px;min-height:40px;color:var(--ivory);font-family:var(--sans);letter-spacing:.04em;text-transform:none;border:none;border-radius:3px;margin-top:20px;padding:10px 20px;font-size:.82rem;transition:opacity .2s}.rsvp-form-admin .submit:hover{background:var(--charcoal);opacity:.88}.rsvp-form-admin .confirm{text-align:left;padding:18px 0 0}.rsvp-form-admin .confirm p{margin-top:0}.rsvp-proxy-toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:4px;display:flex}.rsvp-proxy-toolbar .admin-field{flex:1;min-width:200px;max-width:340px}.rsvp-proxy-party{font-family:var(--serif);font-size:1rem;font-weight:600;display:block}.rsvp-proxy-names{color:var(--stone);margin-top:2px;font-size:.8rem;display:block}.rsvp-proxy-chosen{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:4px 0 12px;display:flex}.rsvp-proxy-chosen h2{font-family:var(--serif);font-size:1.15rem;font-weight:600}.rsvp-proxy-retry{margin-top:14px}.rsvp-proxy-saved{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.rsvp-proxy-saved p{font-size:.9rem}.rsvp-proxy-via{margin-top:18px}.rsvp-proxy-via-options{flex-wrap:wrap;gap:8px 18px;display:flex}.field .rsvp-proxy-via-options label{text-transform:none;letter-spacing:normal;color:var(--charcoal);margin-bottom:0;font-size:.85rem;font-weight:400;display:inline-flex}.rsvp-proxy-via-options input{min-width:20px;min-height:20px;accent-color:var(--charcoal)}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/cormorant-garamond-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/great-vibes-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/great-vibes-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/karla-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/karla-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/karla-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/karla-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Karla;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/karla-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory:#faf7f2;--ivory-deep:#f3eee4;--gold:#c6a15b;--gold-light:#dcc08a;--gold-faint:#c6a15b61;--charcoal:#2b2a28;--stone:#7a756c;--serif:"Cormorant Garamond", Georgia, serif;--script:"Great Vibes", cursive;--sans:"Karla", -apple-system, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--charcoal);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}.caps{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;font-weight:500}.divider{justify-content:center;align-items:center;gap:14px;width:min(220px,60%);margin:26px auto;display:flex}.divider:before,.divider:after{content:"";background:var(--gold-faint);flex:1;height:1px}.divider span{color:var(--gold);font-size:11px;line-height:1;transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:100svh;padding:28px;display:flex}.center-page-meta{color:var(--stone);letter-spacing:.08em;font-size:.8rem}.admin-shell{background:var(--ivory);flex-direction:column;min-height:100svh;display:flex}.admin-header{border-bottom:1px solid var(--gold-faint);z-index:10;background:#fff;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;display:flex;position:sticky;top:0}.admin-brand{letter-spacing:.3em;font-size:.95rem}.admin-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex-basis:100%;order:3;gap:2px;margin:0 -14px;padding:0 14px;display:flex;overflow-x:auto}.admin-nav::-webkit-scrollbar{display:none}.admin-nav a{flex-shrink:0}@media (width>=980px){.admin-nav{flex-wrap:wrap;flex:1;order:0;margin:0;padding:0;overflow:visible}}.admin-nav a{min-height:40px;color:var(--stone);letter-spacing:.04em;border-radius:3px;align-items:center;padding:8px 10px;font-size:.82rem;text-decoration:none;display:inline-flex}.admin-nav a:hover{color:var(--charcoal);background:var(--ivory)}.admin-nav a.active{color:var(--charcoal);background:var(--ivory-deep);font-weight:600}.admin-signout{margin-left:auto}.admin-main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:22px 18px 60px}.admin-page-title{letter-spacing:.24em;margin:6px 0 18px;font-size:1rem}.admin-section-title{font-family:var(--serif);margin:26px 0 10px;font-size:1.05rem;font-weight:600}.admin-empty{color:var(--stone);padding:18px 0;font-size:.9rem}.admin-error{color:#8a3b2e;margin-top:10px;font-size:.85rem}.admin-note{color:var(--stone);margin-top:8px;font-size:.8rem}.btn{cursor:pointer;min-height:40px;font-family:var(--sans);letter-spacing:.04em;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:opacity .15s,background .15s,border-color .15s;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--charcoal);color:var(--ivory)}.btn-primary:hover:not(:disabled){opacity:.88}.btn-ghost{color:var(--charcoal);border-color:var(--gold-faint);background:0 0}.btn-ghost:hover:not(:disabled){border-color:var(--gold);background:#c6a15b0f}.btn-danger{color:#8a3b2e;background:0 0;border-color:#8a3b2e59}.btn-danger:hover:not(:disabled){background:#8a3b2e0f}.btn-small{min-height:32px;padding:4px 10px;font-size:.75rem}.admin-form{gap:14px;max-width:560px;display:grid}.admin-form-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.admin-form-row>*{flex:1;min-width:140px}.admin-field{display:block}.admin-field>span{letter-spacing:.18em;text-transform:uppercase;color:var(--stone);margin-bottom:5px;font-size:.68rem;font-weight:600;display:block}.admin-field input,.admin-field select,.admin-field textarea{border:1px solid var(--gold-faint);width:100%;min-height:40px;color:var(--charcoal);font-family:var(--sans);background:#fff;border-radius:3px;padding:9px 11px;font-size:.9rem}.admin-field textarea{resize:vertical;min-height:88px}.admin-field input:focus,.admin-field select:focus,.admin-field textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #c6a15b26}.admin-field-inline{align-items:center;gap:8px;font-size:.85rem;display:inline-flex}.admin-card{border:1px solid var(--gold-faint);background:#fff;border-radius:4px;margin-top:14px;padding:16px}.admin-table-wrap{margin-top:14px;overflow-x:auto}.admin-table{border-collapse:collapse;border:1px solid var(--gold-faint);background:#fff;border-radius:4px;width:100%}.admin-table th{text-align:left;letter-spacing:.14em;text-transform:uppercase;color:var(--stone);border-bottom:1px solid var(--gold-faint);white-space:nowrap;padding:10px 12px;font-size:.68rem;font-weight:600}.admin-table td{vertical-align:top;border-bottom:1px solid #c6a15b24;padding:10px 12px;font-size:.88rem}.admin-table tr:last-child td{border-bottom:none}.pill{letter-spacing:.04em;border:1px solid var(--gold-faint);min-height:22px;color:var(--stone);background:var(--ivory);white-space:nowrap;border-radius:999px;align-items:center;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-flex}.pill-yes{color:#2e5c39;background:#2e5c3912;border-color:#2e5c394d}.pill-no{color:#8a3b2e;background:#8a3b2e0f;border-color:#8a3b2e4d}.pill-pending{color:var(--stone)}.pill-warn{color:#7a5a1c;background:#c6a15b1f;border-color:#a0782859}.admin-login{background:var(--ivory);justify-content:center;align-items:center;min-height:100svh;padding:24px;display:flex}.admin-login-card{border:1px solid var(--gold-faint);background:#fff;border-radius:4px;gap:14px;width:min(360px,100%);padding:28px 24px;display:grid}.admin-login-title{letter-spacing:.26em;text-align:center;margin-bottom:6px;font-size:.9rem}@media (pointer:coarse),(width<=900px){.admin-field input,.admin-field select,.admin-field textarea{min-height:44px;padding:11px 12px;font-size:16px}.admin-field textarea{min-height:96px}.btn{min-height:44px}.btn-small{min-height:44px;padding:6px 14px;font-size:.82rem}.admin-nav a{min-height:44px}.admin-field-inline{gap:10px;min-height:44px;font-size:16px}.admin-field-inline input[type=checkbox]{width:22px;height:22px;accent-color:var(--charcoal)}.admin-main{padding:16px 14px;padding-bottom:calc(48px + env(safe-area-inset-bottom))}.admin-header{padding:8px max(14px, env(safe-area-inset-left)) 8px max(14px, env(safe-area-inset-right))}.admin-nav{margin:0 -14px;padding:0 14px}.admin-table th,.admin-table td{padding:12px}.admin-table td{font-size:.92rem}}
