.gift-contribution-layout{grid-template-columns:minmax(0,1fr);width:100%;max-width:760px;margin:0 auto}.gift-contribution-layout .gift-qr-panel{padding:clamp(1.35rem,3vw,2rem);box-shadow:0 14px 34px #4b22290b}.gift-contribution-layout .gift-qr-preview{width:min(100%,440px);margin:1.25rem auto}.gift-note-inline{border-top:1px solid var(--line);gap:.55rem;margin-top:1.4rem;padding-top:1.3rem;display:grid}.gift-note-inline label{color:var(--ink);font-size:.72rem;font-weight:800}.gift-note-inline textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:108px;color:var(--ink);background:#fff;border-radius:10px;outline:0;padding:.9rem 1rem;line-height:1.6}.gift-note-inline textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px #a14f5e18}.gift-note-inline .gift-character-count{margin-top:0}.gift-save-row{padding-top:.7rem}.gift-save-button{min-width:180px}.gift-qr-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.gift-qr-actions .gift-qr-replace,.gift-qr-actions .gift-qr-delete{border-radius:9px;width:100%;min-height:46px;padding:.78rem 1rem;transition:border-color .15s,background-color .15s,color .15s,transform .15s}.gift-qr-actions .gift-qr-replace{border:1px solid var(--wine);color:var(--wine);background:#fffaf7}.gift-qr-actions .gift-qr-replace:hover:not(:disabled){color:#54212c;background:#f7e9e8;border-color:#54212c}.gift-qr-actions .gift-qr-delete{color:#922f40;background:#fff0f0;border:1px solid #d89a9f}.gift-qr-actions .gift-qr-delete:hover:not(:disabled){color:#762333;background:#f9dfe1;border-color:#b85f6b}.gift-qr-actions .gift-qr-replace:active:not(:disabled),.gift-qr-actions .gift-qr-delete:active:not(:disabled){transform:translateY(1px)}.gift-qr-actions .gift-qr-replace:focus-visible,.gift-qr-actions .gift-qr-delete:focus-visible{outline-offset:2px;outline:3px solid #a14f5e35}.gift-save-message{background:#edf6ee;border-radius:999px;align-items:center;gap:.4rem;padding:.42rem .72rem;display:inline-flex}@media (max-width:560px){.gift-contribution-layout .gift-qr-panel{padding:1rem}.gift-contribution-layout .gift-qr-preview{margin:1rem auto}.gift-note-inline{margin-top:1.15rem;padding-top:1.1rem}.gift-note-inline textarea{min-height:104px}.gift-qr-actions{grid-template-columns:1fr}}
.rsvp-settings-grid{align-items:end}.wedding-link-publish-controls{grid-template-columns:minmax(190px,1fr)}.settings-save-footer{justify-content:flex-end}.form-save-actions{flex-direction:column;align-items:center;gap:.55rem;display:flex}.settings-save-footer .form-save-actions .button{min-width:180px;min-height:48px}.form-save-message{color:#4f7657;opacity:0;align-items:center;gap:.4rem;min-height:1rem;font-size:.7rem;font-weight:750;transition:opacity .18s;display:inline-flex}.form-save-message.visible{opacity:1}.rsvp-availability-field{min-width:0;color:var(--ink);gap:.5rem;font-size:.75rem;font-weight:800;display:grid}.rsvp-field-label{line-height:1.2}.rsvp-enable-control{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);cursor:pointer;background:#fffdf9;border-radius:8px;justify-content:flex-start;align-items:center;padding:.72rem .85rem;transition:border-color .15s,background-color .15s;gap:.65rem!important;display:inline-flex!important}.rsvp-settings-grid>label>input[type=date],.rsvp-enable-control{height:46px;min-height:46px}.rsvp-enable-control:hover{background:#fbf3f1;border-color:#b99396}.rsvp-enable-control:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px #a14f5e22}.rsvp-enable-control input{height:18px;accent-color:var(--wine);cursor:pointer;flex:0 0 18px;margin:0;width:18px!important;padding:0!important}.rsvp-enable-control span{line-height:1.2}.guest-reminder-settings{border-top:1px solid var(--line);gap:.9rem;margin-top:.25rem;padding-top:1.25rem;display:grid}.guest-reminder-settings h3{font:600 1.3rem/1.15 var(--font-heading);margin:0}.guest-reminder-settings p{color:var(--muted);margin:.35rem 0 0;font-size:.72rem;line-height:1.6}.guest-reminder-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.public-link-qr{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;padding-top:1.25rem;display:grid}.public-link-qr-copy strong{font:600 1.3rem/1.15 var(--font-heading)}.public-link-qr-copy p{max-width:34rem;color:var(--muted);margin:.35rem 0 0;font-size:.72rem;line-height:1.6}.public-link-qr-image{border:1px solid var(--line);background:#fff;border-radius:14px;grid-row:span 2;place-items:center;width:196px;min-height:196px;padding:8px;display:grid;overflow:hidden}.public-link-qr-image img{width:100%;height:auto;display:block}.public-link-qr-image span{color:var(--muted);font-size:.68rem}.public-link-qr-download{justify-self:start;min-height:42px}@media (max-width:700px){.rsvp-settings-grid{grid-template-columns:1fr!important}.settings-save-footer,.form-save-actions,.settings-save-footer .form-save-actions .button{width:100%}.guest-reminder-controls,.public-link-qr{grid-template-columns:1fr}.public-link-qr-image{grid-row:auto;justify-self:center;width:min(100%,240px);min-height:0}.public-link-qr-download{width:100%}}
.itinerary-editor{gap:1.25rem;display:grid}.itinerary-editor .form-section-title{margin-bottom:0}.itinerary-empty{border:1px dashed var(--line);text-align:center;background:linear-gradient(145deg,#fffdf9,#fbf5ef);border-radius:14px;align-content:center;place-items:center;min-height:210px;padding:2rem;display:grid}.itinerary-empty svg{color:var(--rose);margin-bottom:.75rem}.itinerary-empty h3{font:500 1.5rem var(--font-heading);margin:0}.itinerary-empty p{max-width:470px;color:var(--muted);margin:.45rem 0 0;font-size:.72rem;line-height:1.65}.itinerary-editor-list{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.itinerary-editor-card{border:1px solid var(--line);background:linear-gradient(145deg,#fffdf9,#fbf5ef);border-radius:14px;padding:clamp(1rem,2.5vw,1.5rem)}.itinerary-card-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.itinerary-card-heading>span{color:var(--wine);letter-spacing:.14em;text-transform:uppercase;font-size:.65rem;font-weight:800}.itinerary-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.itinerary-card-actions button,.itinerary-add-button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.66rem;font-weight:750;display:inline-flex}.itinerary-card-actions svg,.itinerary-add-button svg{width:15px;height:15px}.itinerary-card-actions button:hover:not(:disabled),.itinerary-add-button:hover:not(:disabled){border-color:var(--rose);color:var(--wine);background:#fff8f6}.itinerary-card-actions button:focus-visible,.itinerary-add-button:focus-visible{outline:2px solid var(--rose);outline-offset:2px}.itinerary-card-actions button:disabled,.itinerary-add-button:disabled{cursor:not-allowed;opacity:.4}.itinerary-card-actions .itinerary-remove{color:#922f40;background:#fff4f4;border-color:#e8c6c9}.itinerary-add-button{border-color:var(--wine);min-height:46px;color:var(--wine);background:0 0;justify-self:start;padding-inline:1.15rem}.itinerary-limit{color:var(--muted);margin:-.7rem 0 0;font-size:.62rem}.public-itinerary{text-align:center;background:#f8efe7;padding:7rem 6vw}.public-itinerary>h2{font:500 clamp(3rem, 6vw, 4.5rem)/1 var(--font-heading);margin:1rem 0 .75rem}.public-itinerary-intro{max-width:560px;color:var(--muted);margin:0 auto;font-size:.78rem;line-height:1.75}.public-itinerary-list{text-align:left;max-width:760px;margin:3.5rem auto 0;padding:0;list-style:none}.public-itinerary-list li{grid-template-columns:30px minmax(5.75rem,6.5rem) minmax(0,1fr);column-gap:.9rem;min-height:120px;display:grid}.public-itinerary-list time{color:var(--wine);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding-top:.05rem;font-size:.68rem;font-weight:800}.public-itinerary-marker{justify-content:center;display:flex;position:relative}.public-itinerary-marker:after{content:"";background:#d7c4b6;width:1px;position:absolute;top:14px;bottom:0}.public-itinerary-list li:last-child .public-itinerary-marker:after{display:none}.public-itinerary-marker span{z-index:1;background:var(--rose);width:11px;height:11px;box-shadow:0 0 0 1px var(--rose);border:3px solid #f8efe7;border-radius:999px;position:relative}.public-itinerary-list h3{font:500 1.65rem var(--font-heading);margin:-.25rem 0 .35rem}.public-itinerary-list p{color:var(--muted);margin:0;font-size:.72rem;line-height:1.7}.public-itinerary-list li>div:last-child>span{color:var(--rose);letter-spacing:.05em;margin-top:.55rem;font-size:.64rem;font-weight:750;display:block}@media (max-width:640px){.itinerary-card-heading{flex-direction:column;align-items:flex-start}.itinerary-card-actions{grid-template-columns:1fr 1fr;width:100%;display:grid}.itinerary-card-actions .itinerary-remove{grid-column:1/-1}.itinerary-add-button{width:100%}.public-itinerary{padding:5rem 1.25rem}.public-itinerary-list{margin-top:2.75rem}.public-itinerary-list li{grid-template-columns:24px minmax(5.25rem,5.75rem) minmax(0,1fr);column-gap:.7rem;min-height:112px}.public-itinerary-list li>div:last-child{min-width:0}.public-itinerary-list h3{overflow-wrap:anywhere;font-size:1.45rem}}
.wedding-step-progress{background:#fffdf9;border:1px solid #e2d6cd;border-radius:14px;outline:none;padding:clamp(1.25rem,3vw,1.75rem);scroll-margin-top:1.5rem}.wedding-step-progress>p{color:var(--wine);letter-spacing:.12em;text-transform:uppercase;margin:0 0 1.15rem;font-size:.72rem;font-weight:800}.wedding-step-progress ol{grid-template-columns:1fr minmax(3rem,8rem) 1fr;align-items:start;margin:0;padding:0;list-style:none;display:grid}.wedding-step-progress ol:before{content:"";background:#ded2c9;grid-area:1/2;align-self:center;height:1px;margin-top:1.35rem}.wedding-step-progress.step-2 ol:before{background:var(--wine)}.wedding-step-progress li{color:#978b86;text-align:center;justify-items:center;gap:.65rem;min-width:0;display:grid}.wedding-step-progress li:first-child{grid-area:1/1}.wedding-step-progress li:last-child{grid-area:1/3}.wedding-step-progress li>span{z-index:1;width:2.7rem;height:2.7rem;font:600 1.05rem var(--font-heading);background:#f5efea;border:1px solid #d7cac1;border-radius:50%;place-items:center;display:grid;position:relative}.wedding-step-progress li>span svg{width:1rem}.wedding-step-progress li strong{letter-spacing:.035em;font-size:.72rem}.wedding-step-progress li.current{color:var(--wine)}.wedding-step-progress li.current>span{border:2px solid var(--rose);color:var(--wine);background:#fff8f6}.wedding-step-progress li.complete{color:var(--wine)}.wedding-step-progress li.complete>span{border-color:var(--wine);background:var(--wine);color:#fff}.wedding-step-panel{gap:1.25rem;display:grid}.wedding-step-panel>section,.wedding-step-panel>.wedding-section-form{background:#fff;border:1px solid #e2d6cd;border-radius:14px;padding:clamp(1.35rem,3vw,2rem);box-shadow:0 12px 34px #3a27230b}.wedding-step-panel[hidden]{display:none}.wedding-step-navigation{justify-content:space-between;align-items:center;gap:.8rem;padding-top:.5rem;display:flex}.wedding-step-navigation-next{justify-content:flex-end}.wedding-step-navigation .button{min-width:150px}.dashboard-gallery-settings>form{gap:1rem;display:grid}.dashboard-gallery-settings>form>label{color:var(--ink);gap:.48rem;font-size:.75rem;font-weight:800;display:grid}.dashboard-gallery-settings>form>label:has(input[type=checkbox]){align-items:center;display:flex}.gallery-mode-options{border:0;gap:.85rem;margin:0;padding:0;display:grid}.gallery-mode-options legend{color:var(--ink);margin-bottom:.1rem;font-size:.75rem;font-weight:800}.gallery-mode-options label{color:var(--muted);cursor:pointer;background:#fffdf9;border:1px solid #ded2c9;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.85rem;padding:1rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:grid}.gallery-mode-options label:hover{background:#fbf3f1;border-color:#b99396}.gallery-mode-options label.selected{border-color:var(--rose);background:#fff8f6;box-shadow:0 0 0 3px #a14f5e14}.gallery-mode-options input{width:18px;height:18px;accent-color:var(--wine);margin-top:.1rem}.gallery-mode-options label>span{gap:.45rem;min-width:0;font-size:.72rem;font-weight:600;line-height:1.55;display:grid}.gallery-mode-title{color:var(--ink);font:600 1.2rem/1.15 var(--font-heading);flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.gallery-mode-title small{color:#38613d;font:800 .56rem/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;background:#e2eee4;border-radius:999px;padding:.22rem .48rem}.gallery-field-helper{color:var(--muted);font-size:.7rem;font-weight:500;line-height:1.55}.dashboard-gallery-settings select,.dashboard-gallery-settings textarea{background:#fff;border:1px solid #ded2c9;border-radius:8px;outline:none;width:100%;min-height:46px;padding:.85rem}@media (max-width:720px){.wedding-step-progress{padding:1.15rem 1rem}.wedding-step-progress ol{grid-template-columns:1fr minmax(1.75rem,3.5rem) 1fr}.wedding-step-progress li strong{max-width:8rem;font-size:.67rem}.wedding-step-navigation{flex-direction:column-reverse;align-items:stretch}.wedding-step-navigation-next{align-items:stretch}.wedding-step-navigation .button{width:100%}.wedding-step-panel>section,.wedding-step-panel>.wedding-section-form{padding:1.25rem}}
.public-wedding{--public-canvas:#fffdf8;--public-accent:#f4e9df;--public-section-padding:clamp(5.5rem, 8vw, 7rem) clamp(1.25rem, 6vw, 6rem);background:var(--public-canvas)}.public-wedding .wedding-kicker{color:var(--wine);letter-spacing:.22em;font-size:clamp(.68rem,.16vw + .64rem,.76rem);font-weight:650}.public-wedding .wedding-hero.has-media .wedding-kicker{color:#fff8f2}.public-wedding .countdown-section{background:var(--cream);padding:clamp(3.75rem,6vw,4.75rem) 1.25rem}.public-wedding .countdown-section>.wedding-kicker{justify-items:center;gap:.7rem;margin:0;display:grid}.public-wedding .countdown-section>.wedding-kicker:after{content:"";background:#a14f5e6b;width:34px;height:1px}.public-wedding .countdown-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,1.8vw,1.25rem);width:min(100%,760px);margin:1.5rem auto 0;display:grid}.public-wedding .countdown-unit{background:#fffaf5;border:1px solid #e2d4ca;border-radius:18px;align-content:center;justify-items:center;gap:.65rem;min-width:0;min-height:154px;padding:1.4rem .8rem;display:grid;box-shadow:0 14px 34px #4e322e0f}.public-wedding .countdown-value{min-width:2ch;color:var(--ink);font:500 clamp(2.75rem, 5vw, 4rem)/.9 var(--font-heading);font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-align:center}.public-wedding .countdown-label{color:var(--wine);letter-spacing:.18em;text-transform:uppercase;font-size:.6rem;font-weight:750;line-height:1.2}.public-wedding .countdown-complete{margin-top:1.5rem}.public-wedding .countdown-complete>p{margin:0}.public-wedding :is(.wedding-details,.rsvp-section,.public-itinerary,.public-gallery-section,.guestbook-section,.gift-wishes-section){padding:var(--public-section-padding);background:var(--public-canvas);border-top:1px solid #eadfd6}.public-wedding :is(.wedding-details,.rsvp-section,.public-itinerary,.public-gallery-section,.guestbook-section,.gift-wishes-section,.sharing-section)>.wedding-kicker{margin:0 0 .75rem}.public-wedding :is(.wedding-details,.rsvp-section,.public-itinerary,.public-gallery-section,.guestbook-section,.gift-wishes-section,.sharing-section)>h2{margin:0;line-height:1}.public-wedding .detail-grid{margin-top:3rem}.public-wedding .venue-map-action{background:var(--wine);color:#fff;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;max-width:100%;min-height:36px;margin-top:1rem;padding:.55rem 1rem;font-weight:700;line-height:1;transition:transform .16s,background-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 6px 16px #6f2d3a29}.public-wedding .venue-map-action svg{stroke-width:1.9px;flex:none;width:14px;height:14px}.public-wedding .venue-map-action:hover{background:#59242f;transform:translateY(-1px);box-shadow:0 8px 20px #6f2d3a38}.public-wedding .venue-map-action:active{background:#4c1f28;transform:translateY(0);box-shadow:0 3px 10px #6f2d3a2e}.public-wedding .venue-map-action:focus-visible{outline-offset:3px;outline:3px solid #a14f5e52}.public-wedding .getting-there,.public-wedding .venue-notes{margin-top:1.25rem}.public-wedding .rsvp-intro,.public-wedding .public-itinerary-intro,.public-wedding .gift-wishes-intro{margin-top:.9rem}.public-wedding .rsvp-intro{margin-bottom:0}.public-wedding .rsvp-form,.public-wedding .rsvp-closed,.public-wedding .rsvp-confirmation{border:1px solid var(--line);background:#fff;border-radius:16px;width:min(100%,720px);margin:2.25rem auto 0;box-shadow:0 16px 42px #4e322e12}.public-wedding .rsvp-confirmation{padding:clamp(1.5rem,4vw,2.5rem)}.public-wedding .rsvp-attendance .rsvp-choice{align-items:stretch;gap:.875rem}.public-wedding .rsvp-attendance .rsvp-choice-card{width:100%;height:60px;min-height:60px;color:var(--ink);box-shadow:none;cursor:pointer;background:#fffdfa;border:1px solid #ddcfc4;border-radius:11px;justify-content:center;align-items:center;padding:.75rem 1.1rem;transition:border-color .15s,background-color .15s,color .15s;display:flex;position:relative}.public-wedding .rsvp-attendance .rsvp-choice-card:after{content:none}.public-wedding .rsvp-attendance .rsvp-choice-card:hover{background:#fff8f5;border-color:#b78991}.public-wedding .rsvp-attendance .rsvp-choice-card:active{transform:none}.public-wedding .rsvp-attendance .rsvp-choice-card:focus-within{outline-offset:3px;outline:3px solid #a14f5e4d}.public-wedding .rsvp-attendance .rsvp-choice-card>span{text-align:center;justify-content:center;align-items:center;gap:.55rem;min-width:0;font-size:1rem;font-weight:500;line-height:1.25;display:inline-flex}.public-wedding .rsvp-attendance .rsvp-choice-card svg{stroke-width:1.7px;flex:0 0 20px;width:20px;height:20px}.public-wedding .rsvp-attendance .rsvp-choice-attending:has(input:checked){border-color:var(--wine);color:var(--wine);box-shadow:none;background:#f8ecec;transform:none}.public-wedding .rsvp-attendance .rsvp-choice-declined:has(input:checked){color:#4d3b37;box-shadow:none;background:#f4ece8;border-color:#9a7771;transform:none}.public-wedding .rsvp-attendance .rsvp-choice-card:has(input:checked):after{content:"✓";opacity:.72;border:1px solid;border-radius:50%;place-items:center;width:16px;height:16px;font-size:.6rem;font-weight:700;line-height:1;display:grid;position:absolute;top:.4rem;right:.45rem}.public-wedding .public-itinerary-list{width:min(100%,760px);margin-top:2.75rem}.public-wedding .public-itinerary-list li:last-child{min-height:0}.public-wedding .public-itinerary-marker span{border-color:var(--public-canvas)}.public-wedding .public-gallery-section{overflow:hidden}.public-wedding .public-gallery-section>h2{margin-bottom:.85rem}.public-wedding .public-gallery-grid{width:min(100%,1200px);margin:2.75rem auto 0}.public-wedding .gallery-waiting,.public-wedding .gallery-upload-card{background:#fff;border-radius:16px;width:min(100%,760px);margin:2.25rem auto 0;box-shadow:0 14px 38px #4e322e0e}.public-wedding .public-feature-lock{width:min(100%,680px);color:var(--ink);text-align:center;background:#fffefa;border:1px solid #e5d9d0;border-radius:18px;justify-items:center;margin:2rem auto 0;padding:clamp(1.65rem,4.5vw,2.6rem);display:grid;box-shadow:0 16px 42px #4e322e11}.public-wedding .public-feature-lock-icon{width:48px;height:48px;color:var(--wine);background:#f9edef;border:1px solid #ead5d7;border-radius:50%;place-items:center;display:grid}.public-wedding .public-feature-lock-icon svg{stroke-width:1.7px;width:21px;height:21px}.public-wedding .public-feature-lock h3{font:500 clamp(1.4rem, 3vw, 1.8rem)/1.25 var(--font-heading);margin:1rem 0 0}.public-wedding .public-feature-lock>p{width:min(100%,520px);color:var(--muted);margin:.65rem 0 0;font-size:.78rem;line-height:1.7}.public-wedding .public-feature-lock-status{justify-items:center;gap:.35rem;margin-top:1rem;display:grid}.public-wedding .public-feature-lock-status span{color:var(--wine);letter-spacing:.08em;text-transform:uppercase;background:#f5e7e8;border-radius:999px;padding:.45rem .8rem;font-size:.64rem;font-weight:800}.public-wedding .public-feature-lock-status time{color:var(--ink);font-size:.72rem;font-weight:700}.public-wedding .rsvp-guest-count{width:min(100%,320px)}.public-wedding .gallery-empty{margin:2rem auto 0}.public-wedding .guestbook-section{text-align:center}.public-wedding .guestbook-section>h2{font:500 clamp(3rem, 7vw, 5rem)/1 var(--font-heading);letter-spacing:-.025em;margin:0}.public-wedding .guestbook-intro{width:min(100%,580px);color:var(--muted);margin:.7rem auto 0;font-size:.8rem;line-height:1.7}.public-wedding .guestbook-form,.public-wedding .guestbook-state,.public-wedding .guestbook-confirmation{background:#fffefa;border:1px solid #e5d9d0;border-radius:18px;width:min(100%,680px);margin:1.9rem auto 0;box-shadow:0 16px 42px #4e322e11}.public-wedding .guestbook-form{text-align:left;gap:.7rem;padding:clamp(1.65rem,4.5vw,2.6rem);display:grid}.public-wedding .guestbook-form label{color:var(--ink);font-size:.72rem;font-weight:800}.public-wedding .guestbook-form label:not(:first-of-type){margin-top:.45rem}.public-wedding .guestbook-form input,.public-wedding .guestbook-form textarea{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #ded1c8;border-radius:9px;outline:0;padding:.85rem 1rem;line-height:1.55}.public-wedding .guestbook-form input{min-height:50px}.public-wedding .guestbook-form input:focus,.public-wedding .guestbook-form textarea:focus{border-color:var(--rose);box-shadow:0 0 0 3px #a14f5e24}.public-wedding .guestbook-form textarea{resize:vertical;min-height:8rem}.public-wedding .guestbook-character-count{color:var(--muted);text-align:right;font-size:.66rem}.public-wedding .guestbook-form .button{border:1px solid var(--wine);background:var(--wine);color:#fff;border-radius:999px;justify-self:center;min-width:min(100%,240px);min-height:52px;margin-top:.45rem;padding:.85rem 1.8rem;transition:background .18s,box-shadow .18s,transform .18s;box-shadow:0 10px 24px #6f2d3a29}.public-wedding .guestbook-form .button:hover:not(:disabled){background:#5d2631;transform:translateY(-1px);box-shadow:0 13px 28px #6f2d3a33}.public-wedding .guestbook-form .button:active:not(:disabled){transform:translateY(0);box-shadow:0 6px 16px #6f2d3a29}.public-wedding .guestbook-form .button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}.public-wedding .guestbook-state,.public-wedding .guestbook-confirmation{padding:clamp(1.4rem,4vw,2.1rem)}.public-wedding .guestbook-state p,.public-wedding .guestbook-confirmation p{font:500 clamp(1.15rem, 3vw, 1.45rem)/1.4 var(--font-heading);margin:0}.public-wedding .guestbook-state small{color:var(--muted);margin-top:.55rem;font-size:.72rem;line-height:1.6;display:block}.public-wedding .guestbook-messages{text-align:left;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(100%,920px);margin:1.9rem auto 0;display:grid}.public-wedding .guestbook-messages blockquote{border:1px solid var(--line);background:#fff;border-radius:14px;margin:0;padding:clamp(1.25rem,3vw,1.7rem);box-shadow:0 12px 30px #4e322e0d}.public-wedding .guestbook-messages blockquote p{color:var(--ink);font:500 1.2rem/1.55 var(--font-heading);margin:0}.public-wedding .guestbook-messages blockquote footer{color:var(--wine);margin-top:1rem;font-size:.68rem;font-weight:800}.public-wedding .guestbook-empty{color:var(--muted);margin:.9rem auto 0;font-size:.72rem;line-height:1.6}.public-wedding .gift-wishes-section{justify-items:center;display:grid}.public-wedding .gift-wishes-intro{width:min(100%,560px)}.public-wedding .public-gift-qr{border-radius:14px;width:min(100%,360px);margin-top:2rem;box-shadow:0 14px 38px #4e322e0e}.public-wedding .sharing-section{background:var(--public-accent);border-top:1px solid #dfd0c5;padding:clamp(4.75rem,7vw,6rem) clamp(1.25rem,6vw,6rem)}.public-wedding .sharing-details{width:min(100%,760px);margin-top:2.5rem}.public-wedding .wedding-footer{color:#f8efe7;background:#302725;justify-items:center;gap:.4rem;margin:0;padding:1.5rem 2rem;display:grid}.public-wedding .wedding-footer-love-mark{color:#e7b9ad;stroke-width:1.7px;width:18px;height:18px}.public-wedding .wedding-footer p{margin:0}@media (max-width:700px){.public-wedding{--public-section-padding:4.25rem 1.25rem}.public-wedding .countdown-section{padding-block:3.5rem}.public-wedding .countdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;width:min(100%,390px);margin-top:1.35rem}.public-wedding .countdown-unit{border-radius:15px;min-height:124px;padding:1.15rem .65rem}.public-wedding .countdown-value{font-size:clamp(2.45rem,13vw,3.25rem)}.public-wedding :is(.wedding-details,.rsvp-section,.public-itinerary,.public-gallery-section,.guestbook-section,.gift-wishes-section,.sharing-section)>.wedding-kicker{margin-bottom:.65rem}.public-wedding .detail-grid,.public-wedding .public-itinerary-list,.public-wedding .public-gallery-grid{margin-top:2.25rem}.public-wedding .venue-map-action{min-height:44px;padding-inline:1.1rem}.public-wedding .rsvp-form,.public-wedding .rsvp-closed,.public-wedding .rsvp-confirmation,.public-wedding .gallery-waiting,.public-wedding .gallery-upload-card,.public-wedding .public-feature-lock,.public-wedding .guestbook-form,.public-wedding .guestbook-state,.public-wedding .guestbook-confirmation{border-radius:12px;margin-top:1.75rem;box-shadow:0 10px 28px #4e322e0e}.public-wedding .public-feature-lock{padding:1.5rem 1.25rem}.public-wedding .public-feature-lock-icon{width:44px;height:44px}.public-wedding .rsvp-guest-count{width:100%}.public-wedding .public-itinerary-list li:last-child{min-height:0}.public-wedding .guestbook-messages{grid-template-columns:1fr;margin-top:1.6rem}.public-wedding .guestbook-form .button{width:100%}.public-wedding .guestbook-form{padding:1.4rem}.public-wedding .guestbook-form textarea{min-height:7.5rem}.public-wedding .public-gift-qr{width:min(88vw,340px);margin-top:1.75rem}.public-wedding .sharing-section{padding:4.25rem 1.25rem}.public-wedding .sharing-details{margin-top:2rem}}@media (max-width:639px){.public-wedding .rsvp-attendance .rsvp-choice{grid-template-columns:minmax(0,1fr);gap:.75rem}.public-wedding .rsvp-attendance .rsvp-choice-card{width:100%;padding-inline:1rem}}@media (prefers-reduced-motion:reduce){.public-wedding .rsvp-attendance .rsvp-choice-card{transition:none}}
:where(.dashboard-shell,.auth-layout,.public-wedding) :where(a,button):focus-visible{outline-offset:3px;outline:2px solid #9f3f55}.dashboard-heading .eyebrow{margin-bottom:.55rem}.dashboard-heading h1{letter-spacing:-.025em;line-height:1.04}.dashboard-heading>div>p:last-child{margin-bottom:0}.create-wedding-heading{margin-top:.45rem}.create-wedding-heading h1{margin-top:0}.create-wedding-intro{background:#fffdfb;border:1px solid #e2d6cd;border-radius:12px;margin:-1.5rem 0 1.5rem;padding:1.25rem 1.4rem}.create-wedding-intro h2{font:600 1.65rem/1.1 var(--font-heading);margin:0}.create-wedding-intro p{max-width:720px;color:var(--muted);margin:.45rem 0 0;font-size:.78rem;line-height:1.65}.wedding-created-message{border:1px solid #cfe2d2;border-radius:10px;margin:1rem 0 1.25rem}.wedding-overview-card,.overview-card{border-color:#e2d6cd;border-radius:14px;box-shadow:0 12px 34px #3a27230e}.dashboard-secondary-action{border-radius:8px;min-height:46px}.dashboard-secondary-action,.status-action,.sidebar nav a,.sidebar .button-ghost{transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s}.empty-state{background:#fffdfb;border-color:#ded2c9;border-radius:14px;box-shadow:0 12px 34px #3a27230a}.empty-state .button{border-radius:8px;min-height:48px}.dashboard-wedding-empty{flex-direction:column;justify-content:center;align-items:center;min-height:clamp(360px,46vh,500px);padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,5vw,3rem);display:flex}.dashboard-wedding-empty .empty-monogram{margin:0 0 1.5rem;line-height:1}.dashboard-wedding-empty h2{margin:0}.dashboard-wedding-empty p{width:min(100%,480px);margin:.9rem auto 0;line-height:1.7}.dashboard-wedding-empty .button{text-align:center;max-width:100%;margin-top:1.8rem}.wedding-form{gap:1.25rem}.wedding-form>section,.wedding-form>.wedding-section-form{border-color:#e2d6cd;border-radius:14px;padding:clamp(1.35rem,3vw,2rem);box-shadow:0 12px 34px #3a27230b}.form-section-title{align-items:flex-start;margin-bottom:1.5rem}.form-section-title h2{letter-spacing:-.015em;line-height:1.12}.form-section-title p{margin-top:.38rem;line-height:1.55}.section-save-footer{border-top:1px solid #eadfd6;justify-content:flex-end;align-items:center;gap:.8rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.section-save-status{color:#38613d;align-items:center;gap:.35rem;min-width:4.5rem;font-size:.72rem;font-weight:700;display:inline-flex}.section-save-message{margin-top:1rem}.wedding-section-form.embedded .section-save-footer{margin-top:1.25rem}.wedding-header-settings .section-save-footer{grid-column:1/-1;margin-top:0}.form-grid{gap:1rem 1.1rem}.form-grid label,.contact-side-fields label,.settings-row>label{gap:.48rem}.wedding-form :is(input:not([type=checkbox]):not([type=hidden]):not([type=file]),select,textarea){border-color:#ded2c9;border-radius:8px;min-height:46px;transition:border-color .16s,box-shadow .16s,background-color .16s}.wedding-form textarea{line-height:1.55}.wedding-form :is(input:not([type=checkbox]):not([type=hidden]):not([type=file]),select,textarea):focus{border-color:#9f3f55;outline:0;box-shadow:0 0 0 3px #9f3f551f}.contact-side-grid fieldset,.hero-media-settings,.guestbook-settings-row{border-color:#e2d6cd;border-radius:12px}.wedding-form .button-primary,.form-footer .button{border-radius:8px;min-height:48px}.auth-card h1{letter-spacing:-.025em;margin-bottom:.8rem;line-height:1.04}.auth-card>p{line-height:1.6}.auth-card .form-stack{gap:1rem;margin-top:1.75rem}.auth-card .form-stack label{gap:.48rem}.auth-card .form-stack input{border-color:#ded2c9;border-radius:8px;min-height:50px;transition:border-color .16s,box-shadow .16s,background-color .16s}.auth-card .form-stack input:focus{border-color:#9f3f55;outline:0;box-shadow:0 0 0 3px #9f3f551f}.auth-card .button-primary{border-radius:8px;min-height:50px;box-shadow:0 8px 20px #7b2a3c1f}.auth-card .form-message{border-radius:8px}.auth-recovery-expired{gap:1.25rem;margin-top:1.75rem;display:grid}.auth-recovery-expired p{color:#922f40;background:#fff0f0;border-radius:8px;margin:0;padding:1rem;font-size:.78rem;line-height:1.6}.auth-recovery-expired .button{border-radius:8px;justify-self:start;min-height:50px}.public-wedding .button{min-height:46px}.public-wedding .button-wedding{border-radius:999px;padding-inline:1.4rem}.public-wedding .wedding-hero-actions{justify-content:center;align-items:center;gap:.8rem;margin-top:1rem;display:flex}.public-wedding .wedding-hero-actions .button-wedding{white-space:nowrap;min-height:48px;margin-top:0}.public-wedding .wedding-hero-actions .button-wedding:focus-visible{outline:3px solid color-mix(in srgb, var(--rose) 42%, transparent);outline-offset:3px}.public-wedding .detail-grid{border-radius:14px;overflow:hidden;box-shadow:0 12px 34px #3a27230b}.public-wedding .getting-there{border-radius:12px}@media (max-width:720px){.dashboard-wedding-empty{min-height:340px;padding-block:3.5rem}.dashboard-wedding-empty .button{width:min(100%,300px)}.wedding-form>section,.wedding-form>.wedding-section-form{padding:1.25rem}.form-section-title{margin-bottom:1.25rem}.section-save-footer{flex-direction:column;align-items:stretch}.section-save-footer .button{width:100%}.auth-card .form-stack{margin-top:1.5rem}}@media (max-width:639px){.public-wedding .wedding-hero-actions{flex-direction:column;gap:.8125rem;width:min(100%,340px);margin:1.25rem auto .25rem}.public-wedding .wedding-hero-actions .button-wedding{letter-spacing:.01em;border-radius:999px;width:100%;min-height:54px;padding:.85rem 1.4rem;font-weight:800}.public-wedding .wedding-hero .hero-details-action{border-color:var(--wine);background:var(--wine);color:#fff}.public-wedding .wedding-hero .hero-details-action:hover{background:#59242f;border-color:#59242f}.public-wedding .wedding-hero .hero-rsvp-action{border-color:var(--wine);color:var(--wine);background:#fffdf9f0}.public-wedding .wedding-hero .hero-rsvp-action:hover{background:#fff}.public-wedding .wedding-hero-actions .button-wedding:active{transform:translateY(1px)}}@media (max-width:850px){.auth-card .eyebrow{letter-spacing:.15em;margin:0 0 .95rem}.auth-form-panel .auth-card h1{margin:0 0 .85rem;font-size:clamp(2.75rem,13.5vw,3.35rem);line-height:.98}.auth-form-panel .auth-card>p:not(.eyebrow):not(.auth-foot){margin:0;font-size:1.125rem;line-height:1.5}.auth-card .form-stack{gap:1rem;margin-top:1.5rem}.auth-card .form-links{flex-direction:column;align-items:flex-start;gap:.75rem;margin-top:.1rem;font-size:.82rem}.auth-card .form-links p{color:var(--muted);margin:0}.auth-card .form-links a{color:var(--rose);text-underline-offset:.2em;font-weight:700}.auth-card .form-links a:hover{text-decoration:underline}.auth-card .form-links a:focus-visible{outline:2px solid var(--rose);outline-offset:3px;border-radius:.2rem}}
.admin-shell{--admin-wine:#6f2d3a;--admin-wine-deep:#54222c;--admin-ink:#292321;--admin-muted:#746a66;--admin-line:#e5d9cf;--admin-paper:#fffdf9;--admin-cream:#f7f1eb;min-height:100vh;color:var(--admin-ink);background:#f8f5f1;grid-template-columns:226px minmax(0,1fr);display:grid}.admin-sidebar{color:#fffaf4;background:#2e2525;flex-direction:column;height:100vh;padding:2rem 1.25rem 1.5rem;display:flex;position:sticky;top:0}.admin-brand{border-bottom:1px solid #4a3d3d;align-items:center;gap:.8rem;padding:0 .55rem 1.8rem;display:flex}.admin-brand .brand-monogram{flex:none;width:45px;height:45px;padding:0}.admin-brand .brand-monogram svg{width:100%;height:100%}.admin-brand div{gap:.14rem;display:grid}.admin-brand strong{font:600 .86rem var(--font-heading);letter-spacing:.22em}.admin-brand span{color:#d8b8b5;text-transform:uppercase;letter-spacing:.16em;font-size:.59rem}.admin-nav{gap:.35rem;margin-top:1.8rem;display:grid}.admin-nav a,.admin-back-link{color:#d8ceca;border-radius:8px;align-items:center;gap:.7rem;min-height:44px;padding:.7rem .75rem;font-size:.75rem;font-weight:700;transition:background .18s,color .18s;display:flex}.admin-nav a:hover,.admin-nav a[aria-current=page]{color:#fffaf4;background:#493638}.admin-nav a[aria-current=page]{box-shadow:inset 3px 0 #c9818c}.admin-nav a:focus-visible,.admin-back-link:focus-visible,.admin-account button:focus-visible{outline-offset:2px;outline:2px solid #e0a4ab}.admin-back-link{border-top:1px solid #4a3d3d;border-radius:0;margin-top:1.2rem;padding-top:1.2rem}.admin-back-link:hover{color:#fff}.admin-account{border-top:1px solid #4a3d3d;gap:.42rem;min-width:0;margin-top:auto;padding:1.2rem .55rem 0;display:grid}.admin-account>span{color:#ad9f9c;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem}.admin-account>strong{color:#fff7f0;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.admin-account button{color:#d8ceca;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:.55rem;min-height:40px;margin:.3rem 0 0;padding:.55rem 0;font-size:.7rem;font-weight:700;display:inline-flex}.admin-account button:hover{color:#fff}.admin-main{width:min(100%,1440px);min-width:0;padding:clamp(2.2rem,4vw,4rem) clamp(1.25rem,4vw,4.5rem)}.admin-page-header{margin-bottom:2rem}.admin-page-header>p,.admin-panel-heading p,.admin-error>p,.admin-access-state>p{color:#9f4b5b;letter-spacing:.18em;text-transform:uppercase;margin:0 0 .6rem;font-size:.62rem;font-weight:800}.admin-page-header h1{font:600 clamp(2.65rem, 5vw, 4.2rem)/.96 var(--font-heading);letter-spacing:-.035em;margin:0}.admin-page-header>span{max-width:640px;color:var(--admin-muted);margin-top:.75rem;font-size:.78rem;line-height:1.7;display:block}.admin-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.admin-metrics article{border:1px solid var(--admin-line);background:var(--admin-paper);border-radius:14px;gap:.5rem;min-width:0;padding:1.35rem;display:grid;box-shadow:0 10px 30px #3d27220b}.admin-metrics svg{color:#a55464}.admin-metrics strong{font:600 2.2rem/1 var(--font-heading);font-variant-numeric:tabular-nums}.admin-metrics span{color:var(--admin-muted);font-size:.66rem;font-weight:750}.admin-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem;display:grid}.admin-panel,.admin-table-panel,.admin-detail-panel{border:1px solid var(--admin-line);background:var(--admin-paper);border-radius:14px;min-width:0;box-shadow:0 10px 32px #3d27220a}.admin-panel{padding:1.4rem}.admin-panel-heading{border-bottom:1px solid var(--admin-line);justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1rem;display:flex}.admin-panel-heading p{margin-bottom:.25rem;font-size:.54rem}.admin-panel-heading h2,.admin-detail-panel h2{font:600 1.55rem var(--font-heading);margin:0}.admin-panel-heading>a{color:var(--admin-wine);font-size:.68rem;font-weight:800}.admin-panel-heading>a:hover{text-underline-offset:.25em;text-decoration:underline}.admin-list{display:grid}.admin-list>article{border-bottom:1px solid #eee5de;justify-content:space-between;align-items:center;gap:1rem;min-width:0;padding:1rem 0;display:flex}.admin-list>article:last-child{border-bottom:0;padding-bottom:0}.admin-list-primary{gap:.28rem;min-width:0;display:grid}.admin-list-primary strong{overflow-wrap:anywhere;font-size:.74rem}.admin-list-primary span{overflow-wrap:anywhere;color:var(--admin-muted);font-size:.62rem;line-height:1.5}.admin-list-meta{flex:none;align-items:center;gap:.6rem;display:flex}.admin-list-meta time{color:var(--admin-muted);font-size:.59rem}.admin-list-meta>a{border:1px solid var(--admin-line);width:34px;height:34px;color:var(--admin-wine);border-radius:50%;place-items:center;display:grid}.admin-status,.admin-email-status{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;width:max-content;padding:.34rem .58rem;font-size:.54rem;font-weight:800;line-height:1;display:inline-flex}.admin-status.published,.admin-email-status.confirmed{color:#376041;background:#e6f1e8}.admin-status.draft{color:#665c58;background:#eee9e4}.admin-email-status.unconfirmed{color:#8a542c;background:#fbebdd}.admin-toolbar{grid-template-columns:minmax(0,560px) auto;align-items:stretch;gap:.75rem;margin-bottom:.7rem;display:grid}.admin-wedding-toolbar{grid-template-columns:minmax(0,560px) minmax(150px,180px) auto}.admin-toolbar label{border:1px solid var(--admin-line);min-width:0;min-height:46px;color:var(--admin-muted);background:#fff;border-radius:9px;align-items:center;gap:.65rem;padding:0 .9rem;display:flex}.admin-toolbar input{width:100%;min-width:0;color:var(--admin-ink);background:0 0;border:0;outline:0;font-size:.74rem}.admin-toolbar label:focus-within{border-color:#a55464;box-shadow:0 0 0 3px #a14f5e1f}.admin-toolbar select{border:1px solid var(--admin-line);min-height:46px;color:var(--admin-ink);background:#fff;border-radius:9px;padding:0 .8rem;font-size:.7rem;font-weight:700}.admin-toolbar button,.admin-error button{border:1px solid var(--admin-wine);background:var(--admin-wine);color:#fff;cursor:pointer;border-radius:9px;min-height:46px;padding:0 1.35rem;font-size:.7rem;font-weight:800}.admin-toolbar button:hover,.admin-error button:hover{background:var(--admin-wine-deep)}.admin-toolbar button:focus-visible,.admin-toolbar select:focus-visible{outline-offset:2px;outline:2px solid #a55464}.admin-result-note{color:var(--admin-muted);margin:0 0 1rem;font-size:.61rem;line-height:1.6}.admin-table-panel{overflow:hidden}.admin-table{border-collapse:collapse;width:100%;font-size:.65rem}.admin-table th{background:var(--admin-cream);color:#6a5d58;text-align:left;letter-spacing:.09em;text-transform:uppercase;padding:.9rem 1rem;font-size:.53rem}.admin-table td{overflow-wrap:anywhere;vertical-align:middle;border-top:1px solid #eee5de;max-width:260px;padding:1rem}.admin-table tbody tr:hover{background:#fdf9f5}.admin-table td strong{font-size:.68rem}.admin-table-action,.admin-public-link{color:var(--admin-wine);align-items:center;gap:.28rem;font-weight:800;display:inline-flex}.admin-table-action:hover,.admin-public-link:hover{text-underline-offset:.25em;text-decoration:underline}.admin-muted{color:#8e8581}.admin-pagination{grid-template-columns:1fr auto 1fr;align-items:center;margin-top:1rem;font-size:.65rem;display:grid}.admin-pagination a,.admin-pagination>span{border:1px solid var(--admin-line);width:max-content;min-height:40px;color:var(--admin-wine);background:#fff;border-radius:8px;align-items:center;gap:.3rem;padding:.55rem .75rem;font-weight:800;display:inline-flex}.admin-pagination>span{color:#a49b97}.admin-pagination p{color:var(--admin-muted);margin:0}.admin-pagination a:last-child,.admin-pagination>span:last-child{justify-self:end}.admin-empty{color:var(--admin-muted);text-align:center;padding:3rem 1.25rem;font-size:.72rem;line-height:1.7}.admin-return-link{color:var(--admin-muted);align-items:center;gap:.4rem;margin-bottom:1.2rem;font-size:.68rem;font-weight:750;display:inline-flex}.admin-return-link:hover{color:var(--admin-wine)}.admin-detail-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr);gap:1.2rem;display:grid}.admin-detail-stack{align-content:start;gap:1.2rem;display:grid}.admin-detail-panel{padding:clamp(1.25rem,3vw,2rem)}.admin-detail-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-detail-panel dl{margin:1rem 0 0}.admin-detail-panel dl>div{border-top:1px solid #eee5de;grid-template-columns:minmax(120px,.55fr) minmax(0,1fr);gap:1rem;padding:.8rem 0;display:grid}.admin-detail-panel dt{color:var(--admin-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.59rem}.admin-detail-panel dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.7rem;font-weight:700;line-height:1.55}.admin-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.62rem!important}.admin-primary-link{background:var(--admin-wine);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:.45rem;min-height:44px;margin-top:1.25rem;padding:.7rem 1rem;font-size:.68rem;font-weight:800;display:inline-flex}.admin-owned-weddings{margin-top:1rem;display:grid}.admin-owned-weddings>div{border-top:1px solid #eee5de;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.9rem 0;display:grid}.admin-owned-weddings>div>div{gap:.25rem;min-width:0;display:grid}.admin-owned-weddings strong{overflow-wrap:anywhere;font-size:.7rem}.admin-owned-weddings span{color:var(--admin-muted);font-size:.6rem}.admin-owned-weddings a{color:var(--admin-wine);font-size:.62rem;font-weight:800}.admin-detail-empty{color:var(--admin-muted);font-size:.68rem}.admin-count-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem;display:grid}.admin-count-grid>div{background:var(--admin-cream);text-align:center;border-radius:9px;gap:.3rem;padding:1rem .6rem;display:grid}.admin-count-grid strong{font:600 1.65rem var(--font-heading);font-variant-numeric:tabular-nums}.admin-count-grid span{color:var(--admin-muted);font-size:.53rem;line-height:1.4}.admin-loading{gap:.75rem;display:grid}.admin-loading>div{background:linear-gradient(90deg,#eee5de,#faf7f4,#eee5de) 0 0/200% 100%;border-radius:5px;width:35%;height:18px;animation:1.4s infinite admin-shimmer}.admin-loading>div:nth-child(2){width:55%;height:40px}.admin-loading .admin-loading-card{width:100%;height:280px;margin-top:1rem}@keyframes admin-shimmer{to{background-position:-200% 0}}.admin-error,.admin-access-state{text-align:center;place-content:center;justify-items:center;min-height:70vh;padding:2rem;display:grid}.admin-error h1,.admin-access-state h1{font:600 clamp(2.4rem, 6vw, 4rem)/1 var(--font-heading);margin:0}.admin-error>span,.admin-access-state>span{max-width:520px;color:var(--admin-muted);margin:1rem 0 1.4rem;font-size:.75rem;line-height:1.7}.admin-access-state>a{background:var(--admin-wine);color:#fff;border-radius:8px;padding:.8rem 1.1rem;font-size:.7rem;font-weight:800}@media (max-width:1080px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-overview-grid,.admin-detail-grid{grid-template-columns:1fr}}@media (max-width:820px){.admin-shell{display:block}.admin-sidebar{grid-template-columns:auto minmax(0,1fr);gap:.75rem 1rem;width:100%;height:auto;padding:1rem 1.25rem;display:grid;position:static}.admin-brand{border:0;padding:0}.admin-brand .brand-monogram{width:38px;height:38px}.admin-nav{scrollbar-width:none;grid-area:2/1/auto/-1;gap:.4rem;margin:0;display:flex;overflow-x:auto}.admin-nav a{flex:1 0 auto;justify-content:center}.admin-back-link{border:0;grid-area:3/1;margin:0;padding:.55rem 0}.admin-account{text-align:right;border:0;grid-area:1/2;place-self:center end;margin:0;padding:0}.admin-account>span,.admin-account>strong{display:none}.admin-account button{min-height:38px;padding:.5rem}.admin-main{padding:2.25rem 1.25rem 3rem}}@media (max-width:700px){.admin-metrics{grid-template-columns:1fr 1fr;gap:.7rem}.admin-metrics article{padding:1rem}.admin-overview-grid{gap:.8rem}.admin-list>article{align-items:flex-start}.admin-list-meta{flex-direction:column;align-items:flex-end}.admin-toolbar,.admin-wedding-toolbar{grid-template-columns:1fr}.admin-toolbar button{min-height:46px}.admin-table-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.admin-table,.admin-table thead,.admin-table tbody,.admin-table tr,.admin-table td{width:100%;display:block}.admin-table thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.admin-table tbody{gap:.8rem;display:grid}.admin-table tr{border:1px solid var(--admin-line);background:var(--admin-paper);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #3d27220a}.admin-table td{text-align:right;border-top:1px solid #eee5de;grid-template-columns:minmax(105px,.65fr) minmax(0,1fr);gap:.75rem;max-width:none;padding:.78rem 1rem;display:grid}.admin-table td:first-child{border-top:0}.admin-table td:before{content:attr(data-label);color:var(--admin-muted);letter-spacing:.08em;text-align:left;text-transform:uppercase;font-size:.52rem;font-weight:800}.admin-table td>*{justify-self:end}.admin-detail-panel dl>div{grid-template-columns:1fr;gap:.35rem}.admin-owned-weddings>div{grid-template-columns:1fr auto}.admin-owned-weddings>div>a{grid-column:1/-1}}@media (max-width:430px){.admin-metrics{grid-template-columns:1fr}.admin-nav a{padding-inline:.65rem}.admin-nav a svg{display:none}.admin-count-grid{grid-template-columns:1fr}.admin-pagination{grid-template-columns:1fr 1fr;gap:.6rem}.admin-pagination p{text-align:center;grid-area:1/1/auto/-1}.admin-pagination a,.admin-pagination>span{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){.admin-nav a,.admin-back-link{transition:none}.admin-loading>div{animation:none}}
