body:has(.admin){background:#f4f3ec}.admin{--a-ink:#344232;--a-gold:#876938;--a-line:#dadbd1;isolation:isolate;max-width:1160px;min-height:100svh;color:var(--a-ink);background:#fbfaf6;margin:auto;padding:48px clamp(22px,5vw,68px) 80px;font:14px/1.5 Hanken Grotesk,Arial,sans-serif;position:relative}.admin:before{content:"";z-index:-1;opacity:.045;pointer-events:none;background:url(/art/ivory-floral-relief.webp) top/900px;position:absolute;inset:0}.admin .brand{color:var(--a-gold);font:34px/1 Wedding Script,cursive;text-decoration:none}.admin .admin-eyebrow{max-width:none;color:var(--a-gold);letter-spacing:.08em;margin:25px 0 7px;font:12px/1.4 Hanken Grotesk,sans-serif}.admin h1{letter-spacing:-.025em;color:var(--a-ink);margin:0;font:clamp(42px,6vw,64px)/1.05 EB Garamond,Georgia,serif!important}.admin h2{color:var(--a-ink);margin:0;font:35px/1.1 EB Garamond,Georgia,serif}.admin p{max-width:none;margin:8px 0 0}.admin button{background:var(--a-ink);border-color:var(--a-ink);border-radius:3px}.admin .ghost,.admin .outline{color:var(--a-ink);background:0 0}.admin input,.admin select{background:#fff;border-color:#b9c0b1;border-radius:3px}.admin input:focus-visible,.admin select:focus-visible{outline:2px solid var(--a-gold);outline-offset:2px}.admin-login{border:1px solid var(--a-line);text-align:center;background:#fbfaf6;flex-direction:column;justify-content:center;max-width:460px;min-height:min(680px,100svh);margin:clamp(20px,6vh,70px) auto;padding:clamp(28px,6vw,52px);display:flex}.admin-login .admin-eyebrow{margin-top:18px}.admin-login form{text-align:left;margin-top:32px}.admin-login .password-field{position:relative}.admin-login .password-field input{width:100%;padding-right:88px}.admin .password-toggle{min-height:38px;color:var(--a-ink);background:0 0;border:0;padding:5px 9px;font:13px Hanken Grotesk,Arial,sans-serif;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.admin .password-toggle:focus-visible{outline:2px solid var(--a-gold);outline-offset:0}.admin-top{border-bottom:1px solid var(--a-line);justify-content:space-between;align-items:start;gap:20px;padding-bottom:26px;display:flex;position:relative}.admin-actions{flex:none;align-items:center;gap:10px;display:flex}.admin .admin-refresh,.admin .admin-menu summary{width:46px;height:46px;color:var(--a-ink);cursor:pointer;background:#fff;border:1px solid #c8ccbd;border-radius:50%;place-items:center;padding:0;transition:background .2s,box-shadow .2s,transform .2s;display:grid;box-shadow:0 3px 12px #3442320b}.admin .admin-refresh:hover,.admin .admin-menu summary:hover{background:#eff1e9;transform:translateY(-1px);box-shadow:0 5px 15px #34423217}.admin .admin-refresh:focus-visible,.admin .admin-menu summary:focus-visible,.admin .admin-menu-popover button:focus-visible{outline:2px solid var(--a-gold);outline-offset:3px}.admin .admin-refresh:disabled{opacity:.7;cursor:wait}.admin-menu{position:relative}.admin-menu summary{list-style:none}.admin-menu summary::-webkit-details-marker{display:none}.admin-menu-popover{z-index:5;border:1px solid var(--a-line);background:#fff;min-width:170px;padding:5px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 10px 28px #3442321c}.admin .admin-menu-popover button{width:100%;min-height:42px;color:var(--a-ink);text-align:left;background:0 0;border:0;border-radius:2px;padding:8px 12px;font:14px Hanken Grotesk,Arial,sans-serif}.admin .admin-menu-popover button:hover{background:#f2f3ec}@keyframes admin-refresh-spin{to{transform:rotate(360deg)}}.refresh-spin{animation:.8s linear infinite admin-refresh-spin}.admin .admin-live{color:#697264;align-items:center;gap:8px;margin:20px 0 0;font-size:12px;display:flex}.admin-live-dot{background:#6e8a60;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #6e8a601a}.admin .stats{border-top:1px solid var(--a-line);border-left:1px solid var(--a-line);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:32px 0 54px;display:grid}.admin .stats>div{border-right:1px solid var(--a-line);border-bottom:1px solid var(--a-line);color:#667063;background:#f9f8f3;flex-direction:column;gap:3px;min-height:100px;padding:18px 22px;display:flex}.admin .stats strong{color:var(--a-gold);font-variant-numeric:tabular-nums;font:clamp(38px,4vw,50px)/1 EB Garamond,Georgia,serif}.admin-section-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.admin-section-head .admin-eyebrow{margin:0 0 4px}.admin-section-head>p{color:#677064;font-size:12px}.admin .filters{grid-template-columns:minmax(0,2fr) minmax(155px,1fr);gap:16px;display:grid}.admin .filters label{font-size:12px}.admin .filters input,.admin .filters select{margin:7px 0 20px}.admin .table-wrap{border:1px solid var(--a-line);background:#fff;overflow:auto}.admin table{border-collapse:collapse;width:100%;font:13px/1.4 Hanken Grotesk,Arial,sans-serif}.admin th,.admin td{vertical-align:top;text-align:left;border-bottom:1px solid #e5e6df;padding:15px 13px}.admin th{color:#586555;white-space:nowrap;background:#f2f3ec;font-weight:600}.admin th:first-child,.admin td:first-child{width:50%}.admin th:not(:first-child),.admin td:not(:first-child){text-align:center}.admin tr:last-child td{border-bottom:0}.admin .guest-name{color:var(--a-ink);font:400 20px/1.15 EB Garamond,Georgia,serif;display:block}.admin .guest-detail{color:#667063;margin-top:5px;font-size:12px;display:block}.mobile-guests{display:none}.admin-table-total{border:1px solid var(--a-line);color:#667063;background:#f7f7f1;border-top:0;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding:17px 14px;display:flex}.admin-table-total strong{color:var(--a-ink);font-size:14px}.admin .status{color:#536147;white-space:nowrap;background:#e9ebdf;border-radius:99px;padding:4px 9px;font:12px Hanken Grotesk,sans-serif;display:inline-block}.admin .status-attending{color:#366342;background:#e2eee2}.admin .status-declined{color:#825f4f;background:#f3ebe5}.admin .admin-empty{border:1px solid var(--a-line);border-top:0;padding:18px}.admin-test{border:1px solid var(--a-line);background:#f5f5ee;margin-top:48px;padding:26px 28px}.admin-test .admin-section-head{margin-bottom:14px}.admin .test-tag{color:#687363;font-size:12px}.test-row{border-top:1px solid var(--a-line);justify-content:space-between;gap:16px;padding-top:17px;display:flex}.test-row strong{font:24px/1.2 EB Garamond,Georgia,serif}.test-row p{color:#667063;font-size:13px}.test-row>div:last-child{flex-direction:column;align-items:end;gap:8px;display:flex}.test-row small{color:#687363}.admin .error{color:#783c31;background:#fbf1ee;border-left:2px solid #a25d4d;padding:12px 14px}@media (max-width:700px){.admin{padding:28px 18px 60px}.admin-login{min-height:calc(100svh - 40px);margin:20px auto}.admin-top{padding-right:0;display:block}.admin-actions{position:absolute;top:0;right:0}.admin .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.admin .filters{grid-template-columns:1fr;gap:0}.admin-test{padding:22px 18px}.admin-section-head{align-items:start}.admin .admin-section-head>p{margin-top:8px}.admin .status{padding:4px 8px;font-size:11px}.admin-menu{position:static}.admin-menu-popover{top:calc(100% + 140px);right:0}.admin-top:has(.admin-menu[open]){padding-bottom:90px}.admin .table-wrap{display:none}.mobile-guests{gap:12px;display:grid}.guest-card{background:#fff;border:1px solid #d7dace;padding:19px 20px 16px;box-shadow:0 7px 20px #3442320d}.guest-card-head{border-bottom:1px solid #e7e9df;justify-content:space-between;align-items:start;gap:12px;padding-bottom:17px;display:flex}.guest-card h3{color:var(--a-ink);overflow-wrap:anywhere;margin:0;font:400 26px/1.04 EB Garamond,Georgia,serif}.guest-card-head .status{flex:none;margin-top:3px}.guest-card-numbers{grid-template-columns:1fr 1fr;gap:18px;padding-top:14px;display:grid}.guest-card-numbers>div{align-items:baseline;gap:9px;min-width:0;display:flex}.guest-card-numbers strong{color:var(--a-gold);font-variant-numeric:tabular-nums;font:28px/1 EB Garamond,Georgia,serif}.guest-card-numbers span{color:#626d5e;font-size:11px;line-height:1.2}.admin .guest-card-names{color:var(--a-ink);border-top:1px solid #e7e9df;margin:14px 0 0;padding-top:11px;font-size:13px}.guest-card-names span{color:#697264;margin-bottom:3px;font-size:11px;display:block}.admin-table-total{border-top:1px solid var(--a-line)}}@media (max-width:390px){.admin .admin-top h1{font-size:39px!important}.guest-card{padding:17px 16px}.guest-card h3{font-size:23px}.guest-card-head .status{padding:4px 6px;font-size:10px}.guest-card-numbers{gap:8px}}@media (prefers-reduced-motion:reduce){.admin .admin-refresh,.admin .admin-menu summary{transition:none}.refresh-spin{animation:none}}
