:root{--ink:#332b38;--muted:#7e7182;--paper:#fbf7fc;--cream:#f4edf6;--line:#e8dfeb;--olive:#76618b;--olive-dark:#59486a;--sage:#eee8f4;--rust:#d69ab3;--rose:#f5e4ec;--surface:#fffdfe;--surface-raised:#fffeff;--surface-muted:#f6f0f7;--surface-tint:#f2eaf4;--surface-border:#e5d9e9;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--paper)}button,input,select,textarea{font:inherit;border-radius:7px}button{cursor:pointer}button:disabled{opacity:.58;cursor:wait}a{color:inherit}.landing-shell{min-height:100vh;display:grid;grid-template-columns:minmax(440px,.92fr) 1.08fr;background:var(--cream)}.landing-card{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(44px,8vw,126px);background:var(--paper)}.eyebrow{color:var(--rust);font-size:10px;font-weight:700;letter-spacing:.18em;line-height:1.5;text-transform:uppercase;margin:0 0 12px}.dashboard-heading h1,.invite-card h1,.landing-card h1,.login-card h1{font-family:Playfair Display,Georgia,serif;font-weight:400;letter-spacing:-.045em}.landing-card h1{font-size:clamp(56px,6vw,86px);line-height:1.02;margin:22px 0}.dashboard-heading h1 em,.invite-card h1 em,.landing-card h1 em{color:var(--olive);font-weight:400}.landing-copy{max-width:365px;color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 34px}.flourish{position:absolute;top:9%;right:15%;color:#b6b99c;font-size:27px}.landing-foot{margin-top:75px;color:#98978a;font-size:10px;letter-spacing:.11em;text-transform:uppercase}.landing-side{min-height:100vh;position:relative;overflow:hidden;background:#d7ddd0;background-image:radial-gradient(ellipse at 50% 75%,#e8e6d8 0,#d6ddcf 54%,#c5d0c2)}.landing-side:after,.landing-side:before{content:"";position:absolute;border:1px solid hsla(0,0%,100%,.4);border-radius:50%;width:min(72vw,720px);aspect-ratio:1;top:9%;left:50%;transform:translate(-50%)}.landing-side:after{width:min(58vw,580px);top:18%}.sun-disc{top:24%;left:50%;width:min(25vw,250px);aspect-ratio:1;border-radius:50%;transform:translate(-50%);background:#e5bda1;box-shadow:0 0 0 30px #ffffff17}.stem,.sun-disc{position:absolute}.stem{top:42%;left:52%;width:2px;height:53%;background:#75826a;transform-origin:top}.stem-one{transform:rotate(17deg)}.stem-two{transform:rotate(-22deg);height:42%}.petal{position:absolute;width:42px;height:92px;border-radius:50%;background:#fbf7e9;left:52%;top:41%;transform-origin:50% 95%;box-shadow:inset -5px -2px 9px #8e84611f}.petal-one{transform:rotate(0) translateY(-34px)}.petal-two{transform:rotate(60deg) translateY(-34px)}.petal-three{transform:rotate(120deg) translateY(-34px)}.petal-four{transform:rotate(180deg) translateY(-34px)}.petal-five{transform:rotate(240deg) translateY(-34px)}.petal-six{transform:rotate(300deg) translateY(-34px)}.side-caption{position:absolute;right:8%;bottom:6%;color:#334232a6;letter-spacing:.16em;font-size:10px;text-transform:uppercase;writing-mode:vertical-rl}.button{border:0;min-height:46px;padding:0 19px;display:inline-flex;justify-content:center;align-items:center;gap:23px;text-decoration:none;font-weight:600;font-size:12px;letter-spacing:.025em;transition:transform .16s ease,background .16s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--olive);color:#fffdf6}.button-primary:hover{background:var(--olive-dark)}.button-secondary{background:var(--sage);color:var(--olive-dark)}.button-secondary:hover{background:#d8e2cf}.button-quiet{background:transparent}.button-quiet,.button-small{color:var(--olive-dark);border:1px solid var(--line)}.button-small{min-height:34px;padding:0 12px;gap:8px;background:var(--paper);font-size:10px}.full-button{width:100%}.admin-shell{min-height:100vh;background:var(--paper)}.topbar{height:74px;padding:0 clamp(22px,6vw,92px);justify-content:space-between;border-bottom:1px solid var(--line);background:#fbf8f0eb}.brand,.topbar{display:flex;align-items:center}.brand{gap:9px;text-decoration:none;font-family:Playfair Display,Georgia,serif;font-size:20px}.brand-mark{color:var(--rust);font-family:DM Sans,sans-serif;font-size:19px}.topbar-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:9px}.text-button{border:0;background:transparent;color:var(--olive-dark);font-size:11px;font-weight:600;padding:8px}.text-button:hover{text-decoration:underline}.login-layout{min-height:calc(100vh - 74px);padding:6vw;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(340px,1fr);gap:clamp(40px,9vw,140px);align-items:center;max-width:1150px;margin:auto}.login-ornament{min-height:360px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:var(--olive);background:#e9ecdf;text-align:center}.login-ornament span{font-size:45px;color:var(--rust)}.login-ornament p{font-family:Playfair Display,Georgia,serif;font-size:32px;line-height:1.28}.login-card{max-width:400px;width:100%}.login-card h1{font-size:46px;margin:0 0 8px}.muted{color:var(--muted);font-size:13px;line-height:1.7;margin:0 0 28px}label{display:flex;flex-direction:column;gap:8px;font-size:10px;font-weight:700;letter-spacing:.04em;color:#55594f}input,select,textarea{min-height:44px;width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf8;color:var(--ink);padding:11px 12px;outline:none;font-size:12px;font-weight:400;letter-spacing:0}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:#889a7a;box-shadow:0 0 0 3px #758a671f}.login-card label+label{margin-top:17px}.login-card .button{margin-top:20px}.back-link{display:block;text-align:center;color:var(--muted);font-size:10px;margin-top:18px;text-decoration:none}.back-link:hover{color:var(--olive)}.center-state{min-height:55vh;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;color:var(--muted);font-size:12px}.spinner{width:25px;height:25px;border:2px solid var(--line);border-top-color:var(--olive);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.dashboard{max-width:1420px;margin:auto;padding:52px clamp(18px,5vw,74px) 32px}.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-end;padding:0 4px 33px}.dashboard-heading h1{font-size:clamp(45px,5vw,64px);line-height:1.04;margin:0}.heading-note{display:flex;gap:14px;align-items:center;padding-bottom:7px;color:#7b806f;font-family:Playfair Display,Georgia,serif;font-size:15px;line-height:1.4}.heading-note p{margin:0}.tiny-star{font-size:26px;color:var(--rust)}.dashboard-grid{display:grid;grid-template-columns:235px minmax(0,1fr);gap:22px;align-items:start}.event-rail{background:#f3efe5;padding:21px 16px 20px;min-height:340px;position:sticky;top:20px}.section-title-row{display:flex;justify-content:space-between;align-items:center;margin:0 2px 14px}.section-title-row h2{font-size:13px;margin:0;font-weight:600}.count-pill{display:grid;place-items:center;background:#e3e8da;border-radius:50%;width:22px;height:22px;color:var(--olive-dark);font-size:10px}.event-choice{width:100%;text-align:left;display:flex;flex-direction:column;gap:6px;border:1px solid transparent;background:transparent;padding:12px 10px;margin-bottom:5px;color:var(--ink)}.event-choice.active{border-color:#d7ddcf;background:#faf9f2}.event-choice-title{font-family:Playfair Display,Georgia,serif;font-size:17px}.event-choice-date{font-size:10px;color:var(--muted)}.mini-status,.status-badge{font-size:9px;font-weight:600;display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;border-radius:30px;padding:5px 8px}.is-open{background:var(--sage);color:#486342}.is-closed{background:#efdfd6;color:#914f3e}.rail-note{display:flex;gap:8px;align-items:flex-start;border-top:1px solid #e1dccc;padding:14px 5px 0;margin-top:22px;color:#8a897c;font-size:10px;line-height:1.5}.rail-note span{color:var(--rust)}.dashboard-main{display:flex;flex-direction:column;gap:17px;min-width:0}.panel{border:1px solid var(--line);background:#fffdf8;padding:clamp(19px,2.5vw,30px)}.event-overview{background:#f1f3eb;border-color:#e4e8db}.event-overview-top{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.empty-event h2,.event-overview h2,.panel-heading h2{font-family:Playfair Display,Georgia,serif;font-size:27px;font-weight:400;margin:0}.event-meta{margin:8px 0 0;font-size:11px;color:var(--muted)}.status-badge{white-space:nowrap}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:23px}.stat-card{display:flex;flex-direction:column;gap:11px;padding:14px;background:#ffffff91;min-height:80px}.stat-card span{font-size:9px;color:var(--muted)}.stat-card strong{font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:400}.stat-highlight{background:#dce5d4;color:var(--olive-dark)}.overview-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}.overview-actions .button{min-height:37px;font-size:10px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #eee8dc;padding-bottom:17px;margin-bottom:20px}.panel-heading .eyebrow{margin-bottom:5px}.outline-number{border:1px solid var(--line);color:#99998a;padding:5px 8px;font-size:9px;letter-spacing:.1em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.field-wide{grid-column:1/-1}.form-end{display:flex;justify-content:flex-end}.manual-family{display:grid;grid-template-columns:minmax(150px,1fr) 115px auto;align-items:end;gap:10px}.manual-family .button{min-height:44px;white-space:nowrap}.csv-import{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:15px;background:#f6f3eb}.csv-copy{display:flex;flex-direction:column;gap:5px}.csv-copy strong{font-size:11px}.csv-copy span{color:var(--muted);font-size:10px;line-height:1.5}.csv-copy code{font-size:9px;color:var(--olive-dark)}.upload-button{position:relative;white-space:nowrap;min-height:36px;font-size:10px}.upload-button input{position:absolute;opacity:0;inset:0;cursor:pointer;height:100%;padding:0}.created-links,.csv-preview{margin-top:16px;border:1px solid var(--line);padding:13px}.preview-heading{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px}.preview-heading .button{min-height:34px;font-size:10px}.preview-table{margin-top:10px;font-size:10px;color:var(--muted)}.preview-table div{display:flex;justify-content:space-between;padding:6px 0;border-top:1px solid #f0ece2}.preview-table p{margin:6px 0}.created-links{background:#f3f6ef;border-color:#dfe6d8}.created-links>.eyebrow{margin-bottom:8px}.link-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #dfe6d8}.link-row>div{min-width:0;display:flex;flex-direction:column;gap:5px}.link-row strong{font-size:10px}.link-row code,.rotated-link code{overflow-wrap:anywhere;color:#67705d;font-size:9px}.rotated-link{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px;background:#f3f6ef}.rotated-link strong{font-size:10px}.rotated-link code{flex:1}.guest-list{display:flex;flex-direction:column}.guest-row{min-height:61px;display:grid;grid-template-columns:minmax(130px,1fr) auto auto;gap:12px;align-items:center;border-bottom:1px solid #eee9df}.guest-row:last-child{border-bottom:0}.guest-name{display:flex;flex-direction:column;gap:5px}.guest-name strong{font-size:11px;font-weight:600}.guest-name span{font-size:9px;color:var(--muted)}.rsvp-pill{border-radius:30px;padding:6px 9px;white-space:nowrap;font-size:9px}.yes-pill{background:var(--sage);color:#486342}.no-pill{background:#f0e6df;color:#915d4b}.pending-pill{background:#f3f0e8;color:#817e6f}.muted-pill{background:#ece8df;color:#898579}.guest-actions{display:flex;align-items:center}.guest-actions .text-button{font-size:9px}.danger-text{color:#a25344}.inactive .guest-name strong{color:#87857c;text-decoration:line-through}.schedule-intro{margin:-7px 0 18px;max-width:680px}.function-admin-list{display:flex;flex-direction:column;gap:9px}.function-admin-card{border:1px solid #e9e4d9;background:#fbfaf5;padding:15px}.function-inactive{opacity:.72}.function-admin-head{display:flex;justify-content:space-between;gap:16px}.function-name-line{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.function-name-line h3{margin:0;font-family:Playfair Display,Georgia,serif;font-size:19px;font-weight:400}.schedule-meta{margin:6px 0 0;font-size:10px;color:var(--muted)}.schedule-details{margin:8px 0 0;font-size:11px;color:#666a60;line-height:1.6;white-space:pre-wrap}.function-admin-actions{display:flex;align-items:flex-start;gap:4px}.function-admin-actions .text-button{font-size:10px}.function-stats{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:13px;padding-top:11px;border-top:1px solid #ece7dc;color:var(--muted);font-size:9px}.function-stats strong{color:var(--olive-dark);font-weight:600}.function-form{margin-top:20px;padding-top:18px;border-top:1px solid #eee8dc}.family-function-replies{display:flex;flex-wrap:wrap;gap:5px}.guest-row{grid-template-columns:minmax(130px,.8fr) minmax(0,1.8fr) auto}.family-function-replies .rsvp-pill{padding:6px 8px}.workspace-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.workspace-card{min-width:0;min-height:220px;display:flex;flex-direction:column;align-items:flex-start;padding:19px;border:1px solid var(--line);color:var(--ink);background:#fffdf8;text-decoration:none;text-align:left;transition:transform .16s ease,border-color .16s ease,background .16s ease}.workspace-card:hover{transform:translateY(-2px);border-color:#cbd4c1;background:#fbfcf7}.workspace-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border-radius:50%;background:var(--sage);color:var(--olive-dark);font-size:17px}.workspace-card .eyebrow{font-size:8px;margin-bottom:5px}.workspace-card>strong{font-family:Playfair Display,Georgia,serif;font-size:19px;font-weight:400}.workspace-card-copy{color:var(--muted);font-size:10px;line-height:1.6;margin-top:7px}.workspace-action{display:flex;justify-content:space-between;width:100%;margin-top:auto;padding-top:16px;color:var(--olive-dark);font-size:10px;font-weight:600}.workspace-action b{color:var(--rust);font-size:14px;font-weight:400}.schedule-dashboard{max-width:1120px}.schedule-event-picker{width:min(270px,40%);display:flex;flex-direction:column;gap:8px;padding-bottom:7px}.schedule-event-picker label{font-size:9px;text-transform:uppercase;letter-spacing:.12em}.schedule-page-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:16px;align-items:start}.schedule-page-intro{grid-column:1/-1;background:#f1f3eb;border-color:#e4e8db}.schedule-page-intro h2{margin:0;font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:400}.schedule-page-intro .muted{margin:8px 0 12px;max-width:690px}.schedule-tip{display:flex;align-items:center;gap:9px;color:var(--olive-dark);font-size:10px}.schedule-tip span{color:var(--rust);font-size:16px}.schedule-editor,.schedule-manager-panel{min-width:0}.schedule-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:10px;text-align:center}.schedule-empty h3{margin:0;font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:20px}.schedule-empty p,.schedule-empty-event p{color:var(--muted);font-size:11px;line-height:1.6}.schedule-empty-event{max-width:620px;min-height:260px;margin:5vh auto;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.schedule-empty-event h2{margin:0;font-family:Playfair Display,Georgia,serif;font-weight:400}.schedule-empty-event .button{margin-top:12px}.schedule-item-main{min-width:0}.guest-page-grid{display:grid;grid-template-columns:minmax(310px,.86fr) minmax(0,1.14fr);gap:16px;align-items:start}.guest-page-add,.guest-page-list{min-width:0}.guest-page-intro{margin-top:-7px}.guest-page-list .panel-heading{align-items:center}.guest-export{min-height:34px;padding:0 11px;gap:8px;font-size:9px;white-space:nowrap}.empty-copy{color:var(--muted);font-size:11px;line-height:1.6}.empty-event{min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-event p{color:var(--muted);font-size:11px}.large-star{color:var(--rust);font-size:27px;margin-bottom:10px}.notice{padding:11px 14px;margin:0 0 15px;font-size:11px;line-height:1.5}.notice-error{background:#f6e8e1;color:#8f503f}.notice-success{background:#e8eee1;color:#4b6342}.dashboard-footer{text-align:center;margin-top:30px;color:#9b998c;font-family:Playfair Display,Georgia,serif;font-size:13px}.dashboard-footer span{color:var(--rust);margin-left:8px}.invite-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:42px 18px 20px;background-color:#e9ede4;background-image:radial-gradient(ellipse at 50% 5%,hsla(0,0%,100%,.75),transparent 60%)}.invite-card{position:relative;width:min(100%,650px);padding:clamp(32px,7vw,68px) clamp(23px,7vw,74px);text-align:center;background:#fffdf7;border:1px solid #e0e4d8;box-shadow:0 16px 55px #394a3617}.invite-card-wide{width:min(100%,820px)}.invite-topline{display:flex;align-items:center;justify-content:center;gap:13px;color:#878b7b;font-size:9px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:31px}.invite-seal{color:var(--rust);font-size:18px}.invite-card .eyebrow{margin-bottom:11px}.invite-card h1{font-size:clamp(44px,8vw,66px);line-height:1.05;margin:0}.invite-subtitle{color:var(--muted);font-family:Playfair Display,Georgia,serif;font-size:19px;margin:12px 0 0}.invite-divider{display:flex;align-items:center;justify-content:center;gap:12px;margin:25px 0 22px;color:var(--rust);font-size:15px}.invite-divider span{width:48px;height:1px;background:#e5dfd2}.invite-family{font-size:20px;margin:0 0 10px}.invite-family,.invite-message{font-family:Playfair Display,Georgia,serif}.invite-message{color:#72766c;font-size:16px;line-height:1.7;max-width:410px;margin:0 auto;white-space:pre-wrap}.invite-details{margin-top:21px;padding:14px 0;border-top:1px solid #ede8dc;border-bottom:1px solid #ede8dc;color:var(--olive-dark);font-size:11px;line-height:1.6}.invite-details p{margin:2px}.rsvp-form{margin-top:27px}.rsvp-form .eyebrow{color:var(--muted)}.answer-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.answer-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:111px;gap:6px;border:1px solid var(--line);color:var(--ink);background:#fffefa}.answer-card.selected,.answer-card:hover{border-color:#829374;background:#f0f4eb}.answer-card strong{font-family:Playfair Display,Georgia,serif;font-size:14px;font-weight:400}.answer-card span:last-child{color:var(--muted);font-size:9px}.answer-icon{color:var(--rust);font-size:18px}.party-size{flex-direction:row;align-items:center;justify-content:space-between;margin:0 0 15px;font-size:11px}.party-size select{width:90px}.rsvp-form .button{margin-top:6px}.invite-signoff{margin:25px 0 0;color:#777a6d;font-family:Playfair Display,Georgia,serif;font-size:13px}.invite-signoff span{color:var(--rust)}.closed-message{background:#f2f0e8;padding:15px;margin-top:23px;display:flex;flex-direction:column;gap:6px;color:#6e7168;font-size:11px}.closed-message strong{color:var(--ink)}.invite-error-card{padding-top:65px;padding-bottom:65px}.invite-flower{display:block;color:var(--rust);font-size:28px;margin-bottom:20px}.invite-error-card .invite-message{margin-top:22px}.invite-footer{color:#717968;margin:17px 0 0;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.schedule-list{display:flex;flex-direction:column;gap:12px;margin-top:28px;text-align:left}.schedule-card{padding:clamp(16px,3vw,25px);border:1px solid #e8e4d9;background:#fffefa}.schedule-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.schedule-title-row .eyebrow{margin-bottom:4px}.schedule-title-row h2{margin:0;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:24px}.schedule-flower{color:var(--rust);font-size:18px}.schedule-card .schedule-meta{margin-top:7px;color:var(--olive-dark)}.schedule-card .schedule-details{margin-top:10px}.function-rsvp{margin-top:17px;padding-top:15px;border-top:1px solid #eee9df}.function-rsvp .eyebrow{color:var(--muted)}.function-rsvp .answer-options{margin-bottom:12px}.previous-answer{display:flex;justify-content:space-between;gap:10px;align-items:center;border-top:1px solid #eee9df;margin-top:15px;padding-top:14px;font-size:11px;color:var(--muted)}.previous-answer strong{color:var(--ink)}.rsvp-submit-area{margin-top:24px;text-align:left}.party-limit-note,.rsvp-submit-area>.eyebrow{color:var(--muted)}.party-limit-note{font-size:10px;margin:-4px 0 12px}.rsvp-submit-area .closed-message{margin-top:0}@media(max-width:900px){.landing-shell{grid-template-columns:1fr}.landing-card{min-height:72vh}.landing-side{min-height:38vh}.landing-side:after,.landing-side:before{width:290px;top:-12%}.landing-side:after{top:-2%}.sun-disc{top:4%;width:130px}.petal{top:16%;width:27px;height:58px}.petal-one{transform:rotate(0) translateY(-21px)}.petal-two{transform:rotate(60deg) translateY(-21px)}.petal-three{transform:rotate(120deg) translateY(-21px)}.petal-four{transform:rotate(180deg) translateY(-21px)}.petal-five{transform:rotate(240deg) translateY(-21px)}.petal-six{transform:rotate(300deg) translateY(-21px)}.stem{top:17%;height:85%}.login-layout{grid-template-columns:minmax(200px,.8fr) 1fr;gap:35px}.dashboard-grid{grid-template-columns:190px minmax(0,1fr);gap:14px}}@media(max-width:650px){.topbar{height:62px;padding:0 17px}.topbar-label{font-size:8px}.login-layout{display:flex;flex-direction:column;justify-content:center;padding:32px 20px}.login-ornament{display:none}.login-card h1{font-size:39px}.dashboard{padding:34px 14px 24px}.dashboard-heading{align-items:flex-start}.dashboard-heading h1{font-size:43px}.heading-note{display:none}.dashboard-grid{display:flex;flex-direction:column}.event-rail{position:static;width:100%;min-height:0;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.section-title-row{width:100%}.event-choice{width:auto;flex:1;min-width:130px}.rail-note{width:100%;margin-top:9px}.dashboard-main{width:100%}.stats-grid{grid-template-columns:1fr 1fr}.event-overview-top{flex-direction:column}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:auto}.manual-family{grid-template-columns:1fr 90px}.manual-family .button{grid-column:1/-1}.csv-import{align-items:flex-start;flex-direction:column}.guest-row{grid-template-columns:minmax(100px,1fr);padding:10px 0}.guest-actions{grid-column:1/-1;justify-content:flex-end;margin-top:-8px}.function-admin-head{flex-direction:column;gap:8px}.function-admin-actions{justify-content:flex-end}.workspace-cards{grid-template-columns:1fr}.workspace-card{min-height:175px}.schedule-event-picker{width:100%;max-width:300px}.guest-page-grid,.schedule-page-layout{grid-template-columns:1fr}.schedule-page-intro{grid-column:auto}.rsvp-pill{font-size:8px}.invite-shell{padding:20px 12px 15px}.invite-card{padding:35px 21px}.invite-card h1{font-size:43px}.invite-message{font-size:15px}.answer-options{gap:7px}.answer-card{min-height:105px}.answer-card strong{font-size:12px}.preview-heading,.rotated-link{align-items:flex-start;flex-direction:column}.rotated-link code{width:100%}}.created-links,.csv-import,.csv-preview,.event-choice,.event-rail,.function-admin-card,.invite-card,.landing-card,.landing-side,.login-ornament,.panel,.rotated-link,.schedule-card,.schedule-empty-event,.schedule-page-intro,.stat-card,.workspace-card{border-radius:8px}.answer-card,.button,.event-choice,.workspace-card{border-radius:7px}.theme-toggle{flex:0 0 auto;display:grid;place-items:center;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--surface);box-shadow:0 3px 12px #1a24191f;font-size:18px;transition:transform .16s ease,background .16s ease,color .16s ease}.theme-toggle:hover{transform:translateY(-2px);background:var(--sage)}.theme-toggle-landing{position:fixed;z-index:100;top:20px;right:22px}.invite-theme-toggle{position:fixed;z-index:100;top:14px;right:14px}:root[data-theme=dark]{color-scheme:dark;--ink:#f5edf8;--muted:#b9aabb;--paper:#17131e;--cream:#211a28;--line:#44394a;--olive:#9b82b6;--olive-dark:#d0b9dd;--sage:#392e43;--rust:#ed91b8;--rose:#3f2937;--surface:#211a28;--surface-raised:#251d2d;--surface-muted:#241d2b;--surface-tint:#2b2233;--surface-border:#483a50;background:var(--paper)}:root[data-theme=dark] body{color:var(--ink);background:var(--paper)}:root[data-theme=dark] .landing-shell{background:var(--cream)}:root[data-theme=dark] .landing-card{background:var(--paper)}:root[data-theme=dark] .landing-side{background-color:#252e26;background-image:radial-gradient(ellipse at 50% 75%,#3a4036 0,#283229 54%,#202b25)}:root[data-theme=dark] .landing-side:after,:root[data-theme=dark] .landing-side:before{border-color:#e0e8d83d}:root[data-theme=dark] .sun-disc{background:#a76f55;box-shadow:0 0 0 30px #ffffff0f}:root[data-theme=dark] .petal{background:#d6d3c4;box-shadow:inset -5px -2px 9px #1d211b38}:root[data-theme=dark] .stem{background:#85967a}:root[data-theme=dark] .side-caption{color:#e6ecdea8}:root[data-theme=dark] .topbar{background:#171a17f0;border-color:var(--line)}:root[data-theme=dark] .csv-import,:root[data-theme=dark] .event-rail{background:#202620}:root[data-theme=dark] .event-choice.active{border-color:#475342;background:#2a3229}:root[data-theme=dark] .event-overview,:root[data-theme=dark] .schedule-page-intro{background:#252c24;border-color:#3b4738}:root[data-theme=dark] .invite-card,:root[data-theme=dark] .panel{background:var(--surface);border-color:var(--line)}:root[data-theme=dark] .stat-highlight{background:#303d2e;color:var(--olive-dark)}:root[data-theme=dark] .login-ornament{background:#283227;color:var(--olive-dark)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:var(--ink);background:#1a1e1a;border-color:var(--line)}:root[data-theme=dark] input::-moz-placeholder,:root[data-theme=dark] textarea::-moz-placeholder{color:#858c80}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#858c80}:root[data-theme=dark] .button-primary{background:#718666;color:#10150f}:root[data-theme=dark] .button-primary:hover{background:#829875}:root[data-theme=dark] .button-secondary{background:#303b30;color:#d3dec9}:root[data-theme=dark] .button-secondary:hover{background:#394737}:root[data-theme=dark] .button-quiet,:root[data-theme=dark] .button-small{color:#d0dcc7;background:transparent;border-color:var(--line)}:root[data-theme=dark] .button-small{background:#252b25}:root[data-theme=dark] .answer-card{background:#202520;border-color:var(--line)}:root[data-theme=dark] .answer-card.selected,:root[data-theme=dark] .answer-card:hover{background:#303c30;border-color:#778b69}:root[data-theme=dark] .function-admin-card,:root[data-theme=dark] .schedule-card{background:#202520;border-color:#3b433b}:root[data-theme=dark] .workspace-card:hover{background:#252d25;border-color:#56664e}:root[data-theme=dark] .workspace-icon{background:#303b30;color:#cfdbc5}:root[data-theme=dark] .schedule-details,:root[data-theme=dark] .workspace-card-copy{color:#b1b6aa}:root[data-theme=dark] .schedule-empty h3,:root[data-theme=dark] .schedule-empty-event h2,:root[data-theme=dark] .schedule-page-intro h2,:root[data-theme=dark] .schedule-title-row h2{color:var(--ink)}:root[data-theme=dark] .schedule-card .schedule-meta,:root[data-theme=dark] .schedule-tip{color:#c3d0b8}:root[data-theme=dark] .csv-preview{border-color:var(--line);background:#1d221d}:root[data-theme=dark] .created-links,:root[data-theme=dark] .rotated-link{background:#252e25;border-color:#3b4939}:root[data-theme=dark] .created-links .link-row{border-color:#3b4939}:root[data-theme=dark] .link-row code,:root[data-theme=dark] .rotated-link code{color:#c1cfb5}:root[data-theme=dark] .guest-row,:root[data-theme=dark] .panel-heading,:root[data-theme=dark] .preview-table div{border-color:#343b33}:root[data-theme=dark] .yes-pill{color:#d0e0c4;background:#344333}:root[data-theme=dark] .no-pill{color:#e2b8a2;background:#44342d}:root[data-theme=dark] .pending-pill{color:#c7c3b4;background:#34342d}:root[data-theme=dark] .muted-pill{color:#c5c2b8;background:#33352f}:root[data-theme=dark] .closed-message{color:#c0c3b7;background:#2a2d27}:root[data-theme=dark] .notice-error{color:#f0c3ae;background:#432d27}:root[data-theme=dark] .notice-success{color:#d4e2c9;background:#2c382d}:root[data-theme=dark] .event-meta,:root[data-theme=dark] .guest-name span,:root[data-theme=dark] .schedule-meta{color:var(--muted)}:root[data-theme=dark] .mini-status.is-closed,:root[data-theme=dark] .status-badge.is-closed{color:#f0c3ae;background:#432f29}:root[data-theme=dark] .status-badge.is-open{color:#d8e5ce;background:#303d30}:root[data-theme=dark] .invite-shell{background-color:#1a211b;background-image:radial-gradient(ellipse at 50% 5%,rgba(113,137,102,.16),transparent 60%)}:root[data-theme=dark] .invite-details{color:#d2ddc9;border-color:var(--line)}:root[data-theme=dark] .invite-divider span{background:var(--line)}:root[data-theme=dark] .invite-footer,:root[data-theme=dark] .invite-signoff{color:#b6b9ad}:root[data-theme=dark] .brand,:root[data-theme=dark] .dashboard-heading h1,:root[data-theme=dark] .event-choice-title,:root[data-theme=dark] .landing-card h1{color:var(--ink)}:root[data-theme=dark] .dashboard-heading h1 em,:root[data-theme=dark] .invite-card h1 em,:root[data-theme=dark] .landing-card h1 em{color:#afc39f}:root[data-theme=dark] .function-rsvp .eyebrow,:root[data-theme=dark] .rsvp-submit-area .eyebrow{color:var(--muted)}:root[data-theme=dark] label{color:#c4c8bd}:root[data-theme=dark] .count-pill{color:#d2dfc8;background:#303b30}:root[data-theme=dark] .mini-status.is-open{color:#d7e5ca}:root[data-theme=dark] .outline-number{color:#b3b5a9;border-color:var(--line)}:root[data-theme=dark] .dashboard-footer,:root[data-theme=dark] .landing-foot,:root[data-theme=dark] .rail-note{color:#aeb3a7}:root[data-theme=dark] .flourish,:root[data-theme=dark] .large-star{color:#d39776}@media(prefers-reduced-motion:reduce){.theme-toggle,.workspace-card{transition:none}}input,select,textarea{border-radius:7px}:root[data-theme=dark] .event-overview.panel,:root[data-theme=dark] .schedule-page-intro.panel{background:#252c24;border-color:#3b4738}@media(max-width:480px){.topbar-label{display:none}}:root:not([data-theme=dark]) .landing-side{background-color:#eee5f1;background-image:radial-gradient(ellipse at 50% 75%,#f7edf5 0,#e9ddec 54%,#d9cce3)}:root:not([data-theme=dark]) .sun-disc{background:#d69ab3}:root:not([data-theme=dark]) .stem{background:#88759a}:root:not([data-theme=dark]) .petal{background:#fff8fc;box-shadow:inset -5px -2px 9px #7e608e1f}:root:not([data-theme=dark]) .side-caption{color:#4c3a57ad}:root:not([data-theme=dark]) .flourish{color:#c28eae}:root:not([data-theme=dark]) .dashboard-footer,:root:not([data-theme=dark]) .landing-foot{color:#938699}:root:not([data-theme=dark]) .topbar{background:#fbf7fcf0}:root:not([data-theme=dark]) .login-ornament{background:#eee8f4}:root:not([data-theme=dark]) label{color:#594f60}:root:not([data-theme=dark]) input,:root:not([data-theme=dark]) select,:root:not([data-theme=dark]) textarea{background:#fffdfe}:root:not([data-theme=dark]) input:focus,:root:not([data-theme=dark]) select:focus,:root:not([data-theme=dark]) textarea:focus{border-color:#a38ab9;box-shadow:0 0 0 3px #76618b24}:root:not([data-theme=dark]) .button-primary{color:#fffaff}:root:not([data-theme=dark]) .button-secondary:hover{background:#e6dced}:root:not([data-theme=dark]) .event-rail{background:#f3edf5}:root:not([data-theme=dark]) .count-pill{background:#e8dfee}:root:not([data-theme=dark]) .event-choice.active{border-color:#dfd1e7;background:#fcf8fd}:root:not([data-theme=dark]) .is-open{color:#59486a}:root:not([data-theme=dark]) .is-closed{background:#f5e4ec;color:#925b76}:root:not([data-theme=dark]) .rail-note{border-color:#e8dfeb;color:#887b8d}:root:not([data-theme=dark]) .panel{background:var(--surface)}:root:not([data-theme=dark]) .event-overview,:root:not([data-theme=dark]) .schedule-page-intro{background:#f2eaf4;border-color:#e5d9e9}:root:not([data-theme=dark]) .stat-card{background:#ffffffb8}:root:not([data-theme=dark]) .stat-highlight{background:#f2dfe9;color:#684d69}:root:not([data-theme=dark]) .panel-heading{border-color:#eee5f0}:root:not([data-theme=dark]) .outline-number{color:#918398}:root:not([data-theme=dark]) .csv-import{background:#f5eff6}:root:not([data-theme=dark]) .created-links,:root:not([data-theme=dark]) .rotated-link{background:#f5edf4;border-color:#e8dce9}:root:not([data-theme=dark]) .created-links .link-row{border-color:#e8dce9}:root:not([data-theme=dark]) .link-row code,:root:not([data-theme=dark]) .rotated-link code{color:#6f5d78}:root:not([data-theme=dark]) .guest-row,:root:not([data-theme=dark]) .preview-table div{border-color:#eee5ef}:root:not([data-theme=dark]) .yes-pill{background:#eee8f4;color:#59486a}:root:not([data-theme=dark]) .no-pill{background:#f5e4ec;color:#925b76}:root:not([data-theme=dark]) .pending-pill{background:#f1edf2;color:#796f7d}:root:not([data-theme=dark]) .muted-pill{background:#eee9f0;color:#817787}:root:not([data-theme=dark]) .danger-text{color:#a34f70}:root:not([data-theme=dark]) .function-admin-card,:root:not([data-theme=dark]) .schedule-card{background:#fffafe;border-color:#e9deeb}:root:not([data-theme=dark]) .function-form,:root:not([data-theme=dark]) .function-rsvp,:root:not([data-theme=dark]) .function-stats,:root:not([data-theme=dark]) .previous-answer{border-color:#eee5ef}:root:not([data-theme=dark]) .schedule-details{color:#6e6373}:root:not([data-theme=dark]) .workspace-card{background:#fffdfe}:root:not([data-theme=dark]) .workspace-card:hover{border-color:#d7c4df;background:#fcf7fd}:root:not([data-theme=dark]) .schedule-card .schedule-meta,:root:not([data-theme=dark]) .schedule-tip{color:#59486a}:root:not([data-theme=dark]) .invite-shell{background-color:#f0e8f3;background-image:radial-gradient(ellipse at 50% 5%,hsla(0,0%,100%,.82),transparent 60%)}:root:not([data-theme=dark]) .invite-card{background:#fffdfe;border-color:#e8deeb;box-shadow:0 16px 55px #513b5b1a}:root:not([data-theme=dark]) .invite-topline{color:#887b8d}:root:not([data-theme=dark]) .invite-divider span{background:#e8dfeb}:root:not([data-theme=dark]) .invite-message{color:#716777}:root:not([data-theme=dark]) .invite-details{border-color:#eee5ef}:root:not([data-theme=dark]) .answer-card{background:#fffafe}:root:not([data-theme=dark]) .answer-card.selected,:root:not([data-theme=dark]) .answer-card:hover{border-color:#a58cb8;background:#f3edf7}:root:not([data-theme=dark]) .closed-message{background:#f5edf3;color:#746878}:root:not([data-theme=dark]) .invite-footer,:root:not([data-theme=dark]) .invite-signoff{color:#776b7c}:root:not([data-theme=dark]) .notice-error{background:#f8e9ef;color:#8f506a}:root:not([data-theme=dark]) .notice-success{background:#eee8f4;color:#59486a}:root[data-theme=dark] .landing-side{background-color:#241c2c;background-image:radial-gradient(ellipse at 50% 75%,#403247 0,#2c2234 54%,#211a29)}:root[data-theme=dark] .landing-side:after,:root[data-theme=dark] .landing-side:before{border-color:#ebdcf233}:root[data-theme=dark] .sun-disc{background:#b86f91}:root[data-theme=dark] .petal{background:#d8c7df;box-shadow:inset -5px -2px 9px #1d16223d}:root[data-theme=dark] .stem{background:#a18bae}:root[data-theme=dark] .side-caption{color:#f1e2f6ad}:root[data-theme=dark] .topbar{background:#17131ef5}:root[data-theme=dark] .csv-import,:root[data-theme=dark] .event-rail{background:#211a28}:root[data-theme=dark] .event-choice.active{border-color:#55445f;background:#2b2233}:root[data-theme=dark] .event-overview,:root[data-theme=dark] .event-overview.panel,:root[data-theme=dark] .schedule-page-intro,:root[data-theme=dark] .schedule-page-intro.panel{background:#2b2233;border-color:#483a50}:root[data-theme=dark] .invite-card,:root[data-theme=dark] .panel{background:#211a28;border-color:#44394a}:root[data-theme=dark] .stat-card{background:#ffffff09}:root[data-theme=dark] .stat-highlight{background:#392b3e;color:#e5cce9}:root[data-theme=dark] .login-ornament{background:#2c2234;color:#d0b9dd}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{background:#1c1623;border-color:#44394a}:root[data-theme=dark] input::-moz-placeholder,:root[data-theme=dark] textarea::-moz-placeholder{color:#9a8aa0}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#9a8aa0}:root[data-theme=dark] input:focus,:root[data-theme=dark] select:focus,:root[data-theme=dark] textarea:focus{border-color:#9b82b6;box-shadow:0 0 0 3px #9b82b62e}:root[data-theme=dark] label{color:#d2c4d7}:root[data-theme=dark] .button-primary{background:#9b82b6;color:#211828}:root[data-theme=dark] .button-primary:hover{background:#ad95c4}:root[data-theme=dark] .button-secondary{background:#392e43;color:#e2d2e9}:root[data-theme=dark] .button-secondary:hover{background:#493952}:root[data-theme=dark] .button-quiet,:root[data-theme=dark] .button-small{color:#dfcce9;border-color:#44394a}:root[data-theme=dark] .button-small{background:#251d2d}:root[data-theme=dark] .answer-card{color:var(--ink);background:#251d2d;border-color:#44394a}:root[data-theme=dark] .answer-card.selected,:root[data-theme=dark] .answer-card:hover{background:#392e43;border-color:#9b82b6}:root[data-theme=dark] .function-admin-card,:root[data-theme=dark] .schedule-card{background:#211a28;border-color:#44394a}:root[data-theme=dark] .workspace-card{background:#211a28}:root[data-theme=dark] .workspace-card:hover{background:#2b2233;border-color:#725d83}:root[data-theme=dark] .workspace-icon{background:#392e43;color:#e0cde9}:root[data-theme=dark] .schedule-details,:root[data-theme=dark] .workspace-card-copy{color:#c0b2c6}:root[data-theme=dark] .schedule-card .schedule-meta,:root[data-theme=dark] .schedule-tip{color:#d0b9dd}:root[data-theme=dark] .csv-preview{border-color:#44394a;background:#1c1623}:root[data-theme=dark] .created-links,:root[data-theme=dark] .rotated-link{background:#2b2233;border-color:#483a50}:root[data-theme=dark] .created-links .link-row{border-color:#483a50}:root[data-theme=dark] .link-row code,:root[data-theme=dark] .rotated-link code{color:#d0b9dd}:root[data-theme=dark] .guest-row,:root[data-theme=dark] .panel-heading,:root[data-theme=dark] .preview-table div{border-color:#3a3041}:root[data-theme=dark] .yes-pill{color:#e4d2ec;background:#392e43}:root[data-theme=dark] .mini-status.is-closed,:root[data-theme=dark] .no-pill,:root[data-theme=dark] .status-badge.is-closed{color:#f1bfd3;background:#482e3d}:root[data-theme=dark] .pending-pill{color:#c9bdce;background:#342b39}:root[data-theme=dark] .muted-pill{color:#c2b5c8;background:#302735}:root[data-theme=dark] .closed-message{color:#c8bbce;background:#302635}:root[data-theme=dark] .closed-message strong,:root[data-theme=dark] .previous-answer strong{color:var(--ink)}:root[data-theme=dark] .notice-error{color:#f1bfd3;background:#482e3d}:root[data-theme=dark] .mini-status.is-open,:root[data-theme=dark] .notice-success,:root[data-theme=dark] .status-badge.is-open{color:#e2d1eb;background:#392e43}:root[data-theme=dark] .invite-shell{background-color:#1b1522;background-image:radial-gradient(ellipse at 50% 5%,rgba(155,130,182,.16),transparent 60%)}:root[data-theme=dark] .invite-details{color:#d9c8e1;border-color:#44394a}:root[data-theme=dark] .invite-divider span{background:#44394a}:root[data-theme=dark] .invite-footer,:root[data-theme=dark] .invite-signoff{color:#c1b2c8}:root[data-theme=dark] .dashboard-heading h1 em,:root[data-theme=dark] .invite-card h1 em,:root[data-theme=dark] .landing-card h1 em{color:#d0b9dd}:root[data-theme=dark] .count-pill{color:#e2d1eb;background:#392e43}:root[data-theme=dark] .outline-number{color:#c2b4c8;border-color:#44394a}:root[data-theme=dark] .dashboard-footer,:root[data-theme=dark] .landing-foot,:root[data-theme=dark] .rail-note{color:#b9aabb}:root[data-theme=dark] .flourish,:root[data-theme=dark] .large-star{color:#ed91b8}.wedding-home{--wh-accent:#c06c92;--wh-band:#332b38;--wh-band-ink:#f5edf8;--wh-band-muted:#cdbcd4;--wh-band-line:#5a4d60;min-height:100vh;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif}.wedding-home h1,.wedding-home h2,.wedding-home h3{font-family:Playfair Display,Georgia,serif;font-weight:400;color:var(--ink)}.wedding-home h2{margin:12px 0 0;font-size:clamp(36px,5vw,56px);letter-spacing:-.02em;line-height:1.1}.wedding-home section[id]{scroll-margin-top:16px}.wh-inner{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}.wh-eyebrow{margin:0;color:var(--muted);font-size:12px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.wh-header{max-width:1200px;margin:0 auto;padding:20px 24px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}.wh-monogram{color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:22px;text-decoration:none}.wedding-home h1 em,.wh-monogram em{color:var(--wh-accent)}.wh-nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 28px;margin-left:auto;font-size:14px;letter-spacing:.04em}.wh-nav a{padding:12px 0;color:var(--olive-dark);text-decoration:none}.wh-nav a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.wh-hero{max-width:1200px;margin:0 auto;padding:48px 24px 96px;display:flex;flex-wrap:wrap;gap:64px;align-items:center}.wh-hero-copy{flex:1 1 520px;min-width:0}.wh-hero-copy h1{margin:24px 0 0;font-size:clamp(64px,9vw,132px);line-height:.95;letter-spacing:-.04em}.wh-hero-copy h1 em{font-size:.6em;letter-spacing:0}.wh-lede{max-width:460px;margin:32px 0 0;color:var(--olive-dark);font-family:Playfair Display,Georgia,serif;font-size:clamp(18px,2vw,22px);line-height:1.5}.wh-facts{display:flex;flex-wrap:wrap;margin-top:40px;border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border)}.wh-facts>div{flex:1 1 180px;padding:20px 24px}.wh-facts>div:first-child{padding-left:0}.wh-facts>div+div{border-left:1px solid var(--surface-border)}.wh-fact{margin:6px 0 0;font-family:Playfair Display,Georgia,serif;font-size:22px}.wh-fact-sub{margin:4px 0 0;color:var(--muted);font-size:14px}.wh-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}.wh-button{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border:1px solid var(--surface-border);border-radius:999px;color:var(--ink);font-size:15px;font-weight:500;text-decoration:none;transition:transform .16s ease,background .16s ease}.wh-button:hover{transform:translateY(-2px);background:var(--surface-tint)}.wh-button-primary{border-color:var(--olive-dark);background:var(--olive-dark);color:var(--paper)}.wh-button-primary:hover{border-color:var(--ink);background:var(--ink)}.wh-hero-art{position:relative;flex:1 1 380px;min-width:0;max-width:440px;margin:0 auto}.wh-arch{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid var(--surface-border);border-radius:220px 220px 12px 12px;background:var(--sage);background-image:radial-gradient(circle at 50% 38%,var(--rose) 0,transparent 62%)}.wh-arch-mark{color:var(--olive-dark);font-family:Playfair Display,Georgia,serif;font-size:clamp(56px,7vw,88px);letter-spacing:-.05em;white-space:nowrap}.wh-arch-mark i{color:var(--wh-accent);font-size:.7em}.wh-arch-caption{color:var(--muted);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.wh-date-card{position:absolute;left:-28px;bottom:40px;padding:16px 20px;border:1px solid var(--surface-border);background:var(--surface-raised);box-shadow:0 12px 40px #332b3814}.wh-date-card p{margin:0;font-family:Playfair Display,Georgia,serif;font-size:28px}.wh-date-card span{color:var(--wh-accent)}.wh-date-card small{display:block;margin-top:4px;color:var(--muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}.wh-weekend{padding:96px 0;background:var(--cream)}.wh-section-copy{max-width:560px;margin:16px 0 0;color:var(--olive-dark);font-size:17px;line-height:1.6}.wh-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:48px}.wh-day{padding:40px;border:1px solid var(--surface-border);background:var(--surface)}.wh-day-head{display:flex;align-items:baseline;gap:20px}.wh-functions{margin:32px 0 0;padding:0;list-style:none}.wh-functions li{padding:16px 0;border-top:1px solid var(--surface-border);font-size:20px}.wh-day-num,.wh-functions li{font-family:Playfair Display,Georgia,serif}.wh-day-num{color:var(--wh-accent);font-size:72px;line-height:1}.wh-day h3{margin:6px 0 0;font-size:26px}.wh-venue{padding-top:96px;padding-bottom:96px;display:flex;flex-wrap:wrap;gap:56px;align-items:center}.wh-venue-map{flex:1 1 440px;min-width:0;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--surface-border);border-radius:12px;background:var(--sage)}.wh-venue-map iframe{display:block;width:100%;height:100%;border:0}.wh-venue-copy{flex:1 1 380px;min-width:0}.wh-venue-place{margin:8px 0 0;color:var(--olive-dark);font-size:17px}.wh-travel{display:flex;flex-direction:column;gap:20px;margin-top:32px}.wh-travel-item{display:flex;gap:16px}.wh-travel-item svg{flex:0 0 24px;width:24px;height:24px;color:var(--olive)}.wh-travel-item p{margin:4px 0 0;color:var(--olive-dark);line-height:1.6}.wh-maps-link{display:inline-flex;align-items:center;gap:8px;min-height:48px;margin-top:24px;color:var(--olive-dark);font-weight:500}.wh-rsvp{padding:96px 0;background:var(--wh-band);color:var(--wh-band-ink)}.wh-rsvp .wh-eyebrow{color:var(--wh-band-muted)}.wedding-home .wh-rsvp h2{color:var(--wh-band-ink)}.wh-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px;margin:48px 0 0;padding:0;list-style:none}.wh-steps li{padding-top:24px;border-top:1px solid var(--wh-band-line)}.wh-steps span{display:block;color:#ed91b8;font-family:Playfair Display,Georgia,serif;font-size:40px}.wh-steps strong{display:block;margin-top:12px;font-size:18px;font-weight:500}.wh-steps p{margin:8px 0 0;line-height:1.6}.wh-rsvp-help,.wh-steps p{color:var(--wh-band-muted)}.wh-rsvp-help{margin:56px 0 0;font-size:16px}.wh-footer{padding-top:40px;padding-bottom:40px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px}.wh-footer span{color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:18px}.wh-footer a{padding:12px 0;color:var(--muted)}.wh-footer a:hover{color:var(--olive-dark)}:root[data-theme=dark] .wedding-home{--wh-accent:#ed91b8;--wh-band:#211a28;--wh-band-muted:#b9aabb;--wh-band-line:#44394a}:root[data-theme=dark] .wh-date-card{box-shadow:0 12px 40px #0000004d}@media(prefers-reduced-motion:reduce){.wh-button{transition:none}}@media(max-width:700px){.wh-header{justify-content:space-between}.wh-nav{order:3;width:100%;margin-left:0;gap:4px 24px}.wh-hero{padding-top:24px;padding-bottom:72px;gap:48px}.wh-facts>div{padding-left:0;padding-right:0}.wh-facts>div+div{border-left:0;border-top:1px solid var(--surface-border)}.wh-date-card{left:12px;bottom:24px}.wh-day{padding:28px}.wh-rsvp,.wh-weekend{padding:72px 0}.wh-venue{padding-top:72px;padding-bottom:72px}}.manual-family .field-wide{grid-column:1/-1}.guest-name small,.link-row small{color:var(--muted);font-size:9px;line-height:1.5}.family-members-editor{grid-column:1/-1;gap:8px;padding:9px 0 3px;border-top:1px solid var(--line)}.family-members-editor,.timetable-admin-preview{display:flex;flex-direction:column;align-items:flex-start}.timetable-admin-preview{gap:10px}.timetable-admin-preview img{max-width:min(100%,420px);max-height:300px;-o-object-fit:contain;object-fit:contain;border:1px solid var(--line);border-radius:7px}.invite-info-section{margin-top:34px;text-align:left}.invite-info-section>.eyebrow{margin-bottom:5px}.invite-info-section>h2{margin:0;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-weight:400;font-size:clamp(24px,4vw,31px)}.invite-info-section .schedule-list{margin-top:15px}.schedule-title-row h3{margin:0;color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:21px;font-weight:400}.travel-info{padding:21px;border:1px solid var(--line);border-radius:8px;background:var(--surface-muted)}.travel-copy{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.75;white-space:pre-wrap}.train-timetable{margin:16px 0 0;text-align:center}.train-timetable a{display:block}.train-timetable img{display:block;width:100%;max-height:560px;-o-object-fit:contain;object-fit:contain;background:var(--surface);border:1px solid var(--line);border-radius:7px}.train-timetable figcaption{margin-top:8px;color:var(--muted);font-size:10px}.invite-next-step{margin-top:28px}.invite-next-step .party-limit-note{margin:0 0 13px}.rsvp-step-title{font-size:clamp(42px,7vw,58px)!important}.rsvp-step-intro{margin:0 auto;max-width:440px;color:var(--muted);font-family:Playfair Display,Georgia,serif;font-size:16px;line-height:1.7}.rsvp-schedule-list{margin-top:23px}.rsvp-back-button{margin-top:16px}:root:not([data-theme=dark]) .travel-info{background:#fbf6fc;border-color:#e8dfeb}:root[data-theme=dark] .travel-info{background:#292130;border-color:#44394a}:root[data-theme=dark] .invite-info-section>h2,:root[data-theme=dark] .schedule-title-row h3{color:var(--ink)}.family-member-fields{width:min(100%,430px);display:flex;flex-direction:column;gap:8px}.family-member-input{display:flex;align-items:center;gap:8px}.family-member-input input{min-width:0}.family-member-actions{display:flex;flex-wrap:wrap;gap:7px}.family-member-fields>small{color:var(--muted);font-size:9px}:root[data-theme=dark] .family-members-editor{border-color:var(--line)}.workspace-cards{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.whatsapp-opt-in{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:44px;color:var(--muted);font-size:10px;letter-spacing:0}.group-family-option input,.message-variable-option input,.whatsapp-opt-in input{width:16px;min-height:16px;margin:0;accent-color:var(--olive)}.family-contact-fields{width:min(100%,430px);display:grid;gap:8px}.messaging-dashboard{max-width:1320px}.messaging-overview{margin-bottom:15px}.messaging-tabs{display:flex;gap:8px;margin:0 4px 16px}.messaging-tabs .button{min-height:38px}.messaging-layout{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.message-create-group,.message-template-form{display:grid;gap:14px}.message-create-group{grid-template-columns:minmax(0,1fr) auto;align-items:end}.message-create-group .button{min-height:44px}.message-note{margin:12px 0 0;font-size:10px}.message-groups,.message-log-list,.message-template-list,.notification-list{display:flex;flex-direction:column;gap:10px}.message-group-card,.message-log-card,.message-template-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-raised)}.message-group-head,.message-log-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.message-group-head>div{display:flex;align-items:center;gap:6px}.message-group-head h3{margin:0;font-family:Playfair Display,Georgia,serif;font-size:18px;font-weight:400}.message-group-card>.muted{margin:6px 0 10px;font-size:10px}.group-family-list{max-height:340px;overflow:auto;display:flex;flex-direction:column}.group-family-option{display:grid;grid-template-columns:16px minmax(90px,.8fr) minmax(0,1.2fr);align-items:center;gap:9px;padding:9px 4px;border-top:1px solid var(--line);color:var(--ink);font-size:10px;letter-spacing:0}.group-family-option small{overflow-wrap:anywhere;color:var(--muted);font-size:9px;font-weight:400}.message-template-form textarea{min-height:86px}.message-variable-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:10px;border:1px solid var(--line);border-radius:8px}.message-variable-list legend{padding:0 5px;color:var(--muted);font-size:10px;font-weight:600}.message-variable-row{display:flex;align-items:center;gap:5px;min-width:0}.message-variable-option{display:flex;flex:1;flex-direction:row;align-items:center;gap:7px;min-width:0;padding:5px;font-size:9px;letter-spacing:0}.message-variable-option code{margin-left:auto;color:var(--muted);font-size:8px}.message-variable-order{display:inline-flex;align-items:center;gap:2px;color:var(--muted);font-size:8px}.message-variable-order button{width:23px;height:23px;padding:0;border:1px solid var(--line);color:var(--ink);background:var(--surface)}.message-variable-order button:disabled{opacity:.35}.message-template-card code{display:block;margin-top:5px;color:var(--muted);font-size:9px}.message-template-card p{color:var(--ink);font-size:11px;line-height:1.6;white-space:pre-wrap}.message-template-card>small{color:var(--muted);font-size:9px}.notification-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.message-log-head>div,.notification-row>div{display:flex;flex-direction:column;gap:4px}.message-log-head strong,.notification-row strong{font-size:11px}.message-log-head>div>span,.notification-row span{color:var(--muted);font-size:9px;line-height:1.5}.message-recipient-logs{display:flex;flex-direction:column;margin-top:11px;border-top:1px solid var(--line)}.message-recipient-log{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(100px,1fr) auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:10px}.message-recipient-log code{overflow-wrap:anywhere;color:var(--muted);font-size:9px}.message-recipient-log small{grid-column:1/-1;color:#a34f70;font-size:9px}:root[data-theme=dark] .message-group-card,:root[data-theme=dark] .message-log-card,:root[data-theme=dark] .message-template-card{background:var(--surface);border-color:var(--line)}@media(max-width:760px){.messaging-layout{grid-template-columns:1fr}.group-family-option{grid-template-columns:16px minmax(80px,1fr)}.group-family-option small{grid-column:2}}@media(max-width:480px){.messaging-tabs{overflow-x:auto}.messaging-tabs .button{flex:0 0 auto}.message-create-group{grid-template-columns:1fr}.message-create-group .button{width:100%}.message-variable-list{grid-template-columns:1fr}}
