:root{--paper:#f7f8f3;--white:#fff;--ink:#203c2f;--muted:#788076;--line:#e2e6dc;--green:#31593e;--lime:#d4e5aa;--red:#a23832;--serif:Georgia, "Times New Roman", serif}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:14px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:4px;outline:3px solid #a0b779}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em;font-family:Manrope,Arial,sans-serif;line-height:1.2}h1{margin-bottom:15px;font-size:38px;font-weight:650}h2{margin-bottom:12px;font-size:22px;font-weight:650}h3{font-size:21px}p{color:var(--muted)}small{color:var(--muted);font-size:12px}.eyebrow{letter-spacing:.15em;color:#738164;margin-bottom:19px;font-size:10px;font-weight:700;display:block}.brand{letter-spacing:-1.5px;color:var(--ink);align-items:center;gap:10px;font:750 28px Manrope,Arial,sans-serif;display:flex}.brand-mark{background:var(--green);color:#fff;border-radius:12px;place-items:center;width:35px;height:35px;padding-bottom:7px;font:italic 35px Georgia;display:grid}.brand-dot{color:#a5b985;margin-left:-9px}.button{background:var(--green);color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:13px 20px;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.button:hover{background:#23412e}.button.small{padding:10px 17px;font-size:13px}.button.secondary{color:var(--ink);border-color:var(--line);background:#fff}.button.secondary:hover{background:#edf0e6}.text-button{color:var(--green);background:0 0;border:0;align-items:center;gap:5px;min-height:40px;padding:10px 5px;font-weight:600;display:inline-flex}.icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--green);background:#fff;border-radius:8px;place-items:center;display:inline-grid}label{color:#53614f;flex-direction:column;gap:8px;margin-bottom:19px;font-size:12px;font-weight:600;display:flex}input,select{width:100%;color:var(--ink);background:#fff;border:1px solid #d9ded2;border-radius:8px;min-height:46px;padding:12px 13px;font-size:14px}input:focus,select:focus{outline-offset:1px;outline:2px solid #bacfa1}input::placeholder{color:#a0a69a}.form-grid{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.notice{color:#40582f;background:#e9f0dc;border-radius:8px;align-items:center;gap:10px;margin:15px 0;padding:15px 18px;display:flex}.notice.error{color:var(--red);background:#fff0eb;border:1px solid #f0d7cf}.muted{color:var(--muted);font-size:13px}.danger{color:var(--red)}.accent{color:#a0b779}.badge{color:#667258;white-space:nowrap;background:#f4f6ef;border:1px solid #dde2d1;border-radius:20px;padding:5px 11px;font-size:10px;font-weight:650;display:inline-block}.badge.green{color:#406333;background:#e8f2df;border-color:#d5e3c6}.success-icon{color:#4a6b39;background:#e9f0de;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.fine-line{background:#b5ad89;width:40px;height:1px;margin:24px auto}.floral{color:#a3aa80;margin:30px 0;font:65px Georgia}.landing{background:radial-gradient(at 85% 40%,#ebefdf 0,#0000 48%);max-width:1440px;margin:auto;padding:0 7%;overflow:hidden}.landing-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:112px;display:flex}.landing-nav>div{align-items:center;gap:25px;display:flex}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:70px;min-height:690px;padding:65px 0 85px;display:grid}.hero h1{font:normal 68px/1.06 var(--serif);letter-spacing:-2.5px;margin-bottom:28px}.hero h1 em{color:#738763;font-weight:400}.hero>div>p{max-width:410px;font-size:16px;line-height:1.9}.hero-actions{align-items:center;gap:18px;margin-top:33px;display:flex}.hero-proof{color:#7a8570;align-items:center;gap:8px;margin-top:32px;font-size:11px;display:flex}.hero-proof>span{padding:0 7px}.hero-art{padding:30px 25px 50px;position:relative}.art-circle{border:1px solid #d9dec8;border-radius:50%;position:absolute;inset:60px -25px 0;transform:rotate(-30deg)}.invitation-sample{text-align:center;background:#fdfcf5;border:1px solid #e5e3d5;border-radius:180px 180px 8px 8px;max-width:350px;margin:auto;padding:46px 25px 25px;position:relative;transform:rotate(5deg);box-shadow:0 20px 70px #31432815}.invitation-sample .eyebrow{margin-top:38px;font-size:8px}.invitation-sample h2{font:normal 44px/1.1 var(--serif);color:#455c3e}.invitation-sample p{font:13px/1.8 var(--serif);color:#81876e}.sample-label{letter-spacing:2px;color:#929780;border-top:1px solid #e4e3d6;margin-top:32px;padding-top:20px;font-size:7px}.sample-receipt{background:#fff;border:1px solid #e8ecdf;border-radius:12px;align-items:center;gap:15px;padding:20px 24px;display:flex;position:absolute;bottom:14px;left:0;right:5px;transform:rotate(-3deg);box-shadow:0 12px 35px #233a2110}.sample-receipt strong{font-size:13px}.sample-receipt p{margin:2px 0 0;font-size:11px}.sample-receipt>svg{color:#91a878;margin-left:auto}.landing-bottom{border-top:1px solid var(--line);color:#8b957e;justify-content:space-between;padding:28px 0 35px;font-size:11px;display:flex}.landing-bottom strong{color:#516148;margin-left:12px;font-size:13px;font-weight:500}.workspace{min-height:100vh;display:flex}.sidebar{background:#edf0e5;border-right:1px solid #dfe5d5;flex-direction:column;width:242px;padding:37px 25px;display:flex;position:fixed;inset:0 auto 0 0}.sidebar .brand{margin-bottom:56px}.sidebar-label{letter-spacing:.15em;color:#88927d;margin:0 10px 14px;font-size:9px;font-weight:700}.nav-link{border-radius:8px;align-items:center;gap:12px;padding:13px;font-weight:600;display:flex}.nav-link>svg:last-child{margin-left:auto}.nav-link.active{color:#405b30;background:#dfe7d2}.sidebar-note{color:#83926f;margin-top:auto;padding:35px 10px 26px}.sidebar-note h3{font:23px/1.35 var(--serif);color:#536947;margin:20px 0 12px}.sidebar-note p{color:#8a937e;font-size:12px;line-height:1.9}.sidebar-footer{border-top:1px solid #d9dfce;flex-wrap:wrap;align-items:center;gap:10px;padding-top:22px;display:flex}.avatar{color:#5b7149;background:#d5dfc6;border-radius:50%;place-items:center;width:33px;height:33px;font-size:12px;display:grid}.sidebar-footer strong{font-size:11px}.email{text-overflow:ellipsis;white-space:nowrap;color:#89917f;width:140px;font-size:10px;display:block;overflow:hidden}.sidebar-footer form{width:100%;padding-left:42px}.sidebar-footer .text-button{min-height:25px;padding:2px;font-size:11px}.workspace-main{flex:1;min-width:0;margin-left:242px}.topbar{border-bottom:1px solid var(--line);color:#8a927f;letter-spacing:.13em;justify-content:space-between;align-items:center;height:77px;padding:0 45px;font-size:9px;display:flex}.topbar>span:first-child{align-items:center;gap:9px;display:flex}.topbar-status{letter-spacing:0;color:#6e8060;font-size:10px}.topbar-status:before,.live-label:before{content:"";background:#93ad6f;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.workspace-main main{max-width:1300px;min-height:calc(100vh - 137px);margin:auto;padding:43px 45px}.workspace-footer{color:#a0a693;border-top:1px solid var(--line);padding:16px 45px;font-size:10px}.page-heading{justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px;display:flex}.page-heading .eyebrow{margin-bottom:14px;font-size:9px}.page-heading h1{max-width:700px;font-size:35px}.page-heading p{margin:0;font-size:13px}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;margin:22px 0;padding:28px}.panel p{font-size:13px}.welcome-panel{background:#f0f3e8;grid-template-columns:1.3fr 1fr;align-items:center;gap:45px;padding:35px;display:grid}.welcome-panel .eyebrow{font-size:9px}.welcome-panel h2{font:28px var(--serif)}.welcome-panel p{max-width:400px;line-height:1.9}.welcome-panel form{max-width:380px}.welcome-panel form .button{width:100%}.section-heading{justify-content:space-between;align-items:center;gap:15px;margin:35px 0 22px;display:flex}.section-heading h2{margin:0;font-size:18px}.section-heading p{margin:5px 0 0}.count{vertical-align:middle;background:#e8ecdf;border-radius:6px;margin-left:8px;padding:4px 8px;font-size:11px}.empty-state{text-align:center;background:#f2f5ec;border:1px dashed #d6decb;border-radius:12px;padding:68px 20px}.empty-state>svg{color:#9baa86;margin-bottom:23px}.empty-state h2{font:27px var(--serif);color:#617453}.empty-state p{margin-bottom:0;font-size:13px;line-height:1.9}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;display:grid}.event-card{background:#fff;border:1px solid #e1e6d9;border-radius:12px;transition:transform .2s,box-shadow .2s;overflow:hidden}.event-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #263d2410}.event-cover{background:#dfe6cf;place-items:center;height:167px;display:grid;position:relative;overflow:hidden}.cover-1{background:#ece1ce}.cover-2{background:#d8e4dc}.event-monogram{font:80px/1 var(--serif);color:#84916b;z-index:1;font-style:italic}.cover-1 .event-monogram{color:#b09a72}.cover-2 .event-monogram{color:#7e9a8c}.event-cover>.badge{z-index:2;background:#fafbf3e8;position:absolute;top:14px;right:14px}.cover-orbit{border:1px solid #ffffff70;border-radius:50%;width:190px;height:230px;position:absolute;top:-30px;left:20px;transform:rotate(-35deg)}.cover-orbit:after{content:"";border:1px solid #ffffff50;border-radius:50%;position:absolute;inset:15px -35px}.event-body{padding:23px}.event-body .eyebrow{margin-bottom:12px;font-size:8px}.event-body h3{min-height:54px;margin-bottom:14px;font-size:18px;line-height:1.5}.event-body p{align-items:center;gap:8px;margin:8px 0;font-size:11px;display:flex}.event-card-footer{border-top:1px solid #edf0e7;justify-content:space-between;align-items:center;margin-top:21px;padding-top:15px;font-size:11px;font-weight:600;display:flex}.back-link{color:#78876c;align-items:center;gap:8px;margin-bottom:25px;font-size:12px;display:inline-flex}.event-status-row{flex-wrap:wrap;align-items:center;gap:17px;margin:0 0 28px;display:flex}.event-status-row .button{color:var(--green);background:0 0;border:1px solid #d4ddc7;min-height:34px;padding:7px 13px;font-size:11px}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:10px;padding:21px 22px}.metric>span{color:#7d8772;font-size:11px;display:block}.metric>strong{margin:9px 0;font:500 36px Manrope,Arial,sans-serif;display:block}.metric>small{font-size:9px}.tabs{border-bottom:1px solid var(--line);gap:28px;margin-top:32px;display:flex}.tabs button{color:#8a9381;background:0 0;border:0;border-bottom:2px solid #0000;padding:13px 0;font-size:12px}.tabs button.selected{color:#416136;border-bottom-color:#527644;font-weight:650}.tabs span{background:#e6edda;border-radius:4px;margin-left:5px;padding:2px 6px;font-size:10px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:#839073;letter-spacing:.03em;background:#f0f3e9;padding:14px 20px;font-size:10px;font-weight:500}td{border-top:1px solid #edf0e6;padding:17px 20px;font-size:12px}td strong{font-weight:550}td small,.team-list small,.activity-list small{margin-top:3px;font-size:10px;display:block}.row-actions{align-items:center;gap:9px;display:flex}.row-actions .button,.team-list .button{border:1px solid var(--line);color:#7b806f;background:0 0;min-height:34px;padding:6px 10px;font-size:10px}.row-actions .text-button{font-size:11px}.row-actions .icon-button{border:0}.team-list{margin-top:27px}.team-list>div{border-top:1px solid var(--line);justify-content:space-between;padding:16px 0;display:flex}.live-label{color:#859477;font-size:10px}.activity-list>div{border-top:1px solid var(--line);align-items:center;gap:15px;padding:18px 0;display:flex}.activity-list time{color:#8c9682;margin-left:auto;font-size:11px}.activity-list strong{font-size:12px}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{background:#e5eadb;flex-direction:column;justify-content:space-between;padding:45px 12%;display:flex}.auth-story h1{font:52px/1.2 var(--serif);color:#4b6240;letter-spacing:-1.5px}.auth-story h1 em{color:#879670}.auth-story>span{color:#8c977e;font-size:10px}.auth-story p{font-size:13px;line-height:1.9}.auth-form{width:100%;max-width:480px;margin:auto;padding:90px 50px}.auth-form h2{font-size:30px}.auth-form>p{margin-bottom:30px;font-size:13px}.auth-form form .button{width:100%;margin-top:18px}.auth-form form small{display:block}.auth-switch{text-align:center;margin-top:27px}.auth-switch a{color:var(--green);font-weight:600}.mobile-brand{display:none}.standalone{max-width:620px;margin:10vh auto;padding:35px}.standalone .brand{margin-bottom:70px}.standalone .text-button{margin-left:20px}.standalone li{padding:8px}.guest-page{background:#e9edde;min-height:100vh;padding:45px 20px}.guest-invitation{text-align:center;background:#fffef7;border:1px solid #e2e2d1;border-radius:180px 180px 10px 10px;max-width:590px;margin:auto;padding:55px 45px;box-shadow:0 20px 65px #53604110}.guest-invitation>.eyebrow{margin-top:35px;font-size:9px}.guest-invitation h1{font:44px/1.2 var(--serif);color:#526746}.guest-invitation>p{font:16px/1.8 var(--serif);color:#8a907a}.guest-invitation .guest-salutation{color:#556a48;margin:27px 0 10px;font-size:22px}.invitation-details{padding:18px 0}.invitation-details p{color:#7f8a70;justify-content:center;align-items:center;gap:10px;font-size:12px;display:flex}.invitation-details svg{flex-shrink:0}.qr-card{background:#fff;border:1px solid #e5e8d9;border-radius:14px;max-width:320px;margin:20px auto;padding:20px 10px}.qr-card img{max-width:100%;height:auto;margin:0 auto 10px;display:block}.qr-card strong{font-size:12px;font-weight:500}.qr-card p{margin:9px 0 0;font-size:11px}.guest-invitation footer{letter-spacing:.15em;color:#98a188;margin-top:35px;font-size:8px}.guest-invitation footer strong{letter-spacing:-.7px;color:#789065;margin-left:7px;font:700 16px Manrope}.scanner-page{background:#f4f6ef;min-height:100vh}.scanner-page>header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:16px 25px;display:flex}.scanner-page header .back-link{margin:0}.scanner-content{max-width:480px;margin:auto;padding:32px 24px 50px}.scanner-content>.eyebrow{margin-bottom:9px}.scanner-content>h1{margin-bottom:22px;font-size:24px}.gate-select{flex-direction:row;align-items:center;gap:20px;display:flex}.gate-select select{flex:1;width:auto}.camera-view{background:#e3e9d8;border-radius:14px;height:295px;margin-top:23px;position:relative;overflow:hidden}.camera-view video{object-fit:cover;width:100%;height:100%}.camera-overlay{color:#8e9f79;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.camera-overlay>svg{margin-bottom:20px}.camera-overlay h2{font:23px var(--serif);color:#5c714a}.camera-overlay p{color:#8c987d;margin:0;font-size:12px}.scan-frame{border:1px solid #8aa06a44;border-radius:14px;position:absolute;inset:25px}.running .camera-overlay{pointer-events:none}.running .scan-frame{border:2px solid #e4eccb80;inset:40px 60px}.camera-button{width:100%;margin-top:18px}.manual-link{border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:18px;padding:16px;font-size:12px}.manual-link summary{cursor:pointer;color:#758569}.manual-link form{padding-top:20px}.manual-link .button{width:100%}.scanner-note{color:#95a086;justify-content:center;align-items:center;gap:7px;margin-top:25px;font-size:10px;display:flex}.scan-verification,.scan-success{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:22px;padding:28px}.valid-label{color:#688b4f;letter-spacing:.08em;align-items:center;gap:8px;margin-bottom:22px;font-size:11px;font-weight:650;display:flex}.scan-verification h2{font-size:27px}.phone-mask{color:#7a886e;font-size:14px}.scan-counts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0;padding:22px 0;display:grid}.scan-counts span{color:#87967b;font-size:10px;display:block}.scan-counts strong{font-size:30px;font-weight:550}.scan-counts>div:last-child strong{color:#628644}.scan-verification>.button,.scan-success>.button{width:100%;margin-top:8px}.scan-verification>.text-button{text-align:center;margin:15px auto 0;font-size:11px;display:block}.scan-success{text-align:center}.success-icon.large{width:70px;height:70px;margin:5px auto 25px}.scan-success>.eyebrow{color:#6d9350}.scan-success h2{font-size:29px}.admitted-quantity{font:24px var(--serif);color:#86996f}.table-direction{background:#f0f5e9;border-radius:9px;margin:27px 0;padding:22px}.table-direction span{letter-spacing:.12em;color:#839575;font-size:9px;display:block}.table-direction strong{margin-top:9px;font-size:23px;display:block}.scan-success>p{font-size:12px}.scan-success>time{color:#9aa48e;margin-bottom:25px;font-size:11px;display:block}@media (min-width:1600px){.hero{min-height:760px}.hero h1{font-size:78px}.landing{max-width:1600px}.workspace-main main{padding-top:55px}}@media (max-width:1150px){.event-grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:210px;padding:30px 20px}.workspace-main{margin-left:210px}.workspace-main main{padding:35px 28px}.topbar{padding:0 28px}.hero{gap:25px}.hero h1{font-size:58px}.hero-actions{flex-wrap:wrap}.page-heading h1{font-size:29px}.metrics{gap:10px}.metric{padding:17px}.metric small{font-size:8px}.welcome-panel{gap:25px}}@media (max-width:760px){.sidebar{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;justify-content:space-between;align-items:center;width:auto;padding:15px 22px;display:flex;position:static}.sidebar .brand{margin:0;font-size:23px}.sidebar .brand-mark{width:30px;height:30px}.sidebar-label,.sidebar-note,.sidebar-footer,.nav-link{display:none}.workspace{display:block}.workspace-main{margin-left:0}.topbar{height:42px;padding:0 22px;font-size:7px}.workspace-main main{min-height:calc(100vh - 170px);padding:28px 20px}.page-heading{flex-direction:column;align-items:flex-start;gap:20px}.page-heading h1{font-size:29px}.page-heading .eyebrow{font-size:8px}.page-heading p{font-size:12px}.page-heading>.button{align-self:flex-start}.welcome-panel{grid-template-columns:1fr;gap:15px;padding:25px}.welcome-panel form{max-width:none}.welcome-panel h2{font-size:25px}.section-heading>.muted{display:none}.event-grid{gap:15px}.event-cover{height:130px}.event-body{padding:16px}.event-body h3{font-size:16px}.metrics{grid-template-columns:1fr 1fr}.metric>small{font-size:9px}.metric>strong{font-size:31px}.tabs{gap:25px}.panel{padding:22px}.form-grid{grid-template-columns:1fr}.section-heading h2{font-size:16px}.section-heading p{font-size:11px}.section-heading .button{padding:9px 12px;font-size:11px}.event-status-row .muted{font-size:10px}.landing{padding:0 6%}.landing-nav{height:88px}.landing-nav .brand{font-size:24px}.landing-nav>div{gap:10px}.landing-nav .small{display:none}.hero{grid-template-columns:1fr;gap:20px;min-height:auto;padding:52px 0}.hero h1{letter-spacing:-2px;font-size:57px}.hero .eyebrow{font-size:8px}.hero>div>p{max-width:340px;font-size:14px}.hero-actions{gap:8px}.hero-actions>.text-button{font-size:11px}.hero-art{width:100%;max-width:390px;margin:10px auto 0}.invitation-sample{max-width:290px;padding-top:30px}.invitation-sample h2{font-size:38px}.landing-bottom{flex-wrap:wrap;justify-content:center;gap:16px}.landing-bottom>span{font-size:9px}.landing-bottom strong{margin-left:5px;font-size:11px}.auth-page{display:block}.auth-story{display:none}.auth-form{max-width:440px;padding:35px 28px 60px}.mobile-brand{margin-bottom:70px;display:flex}.guest-page{padding:20px 12px}.guest-invitation{border-radius:135px 135px 10px 10px;padding:45px 22px}.guest-invitation h1{font-size:34px}.guest-invitation .eyebrow{font-size:8px}.scanner-page>header{padding:14px 20px}.scanner-page .brand{font-size:24px}.scanner-content{padding:27px 20px}.scan-verification,.scan-success{padding:24px}.workspace-footer{padding:16px 22px}.table-wrap{margin:0 -2px}.row-actions{gap:4px}th,td{padding:13px}.team-list>div{gap:12px}.activity-list time{font-size:10px}}@media (max-width:440px){.event-grid{grid-template-columns:1fr}.event-cover{height:155px}.event-body h3{min-height:0}.hero h1{font-size:49px}.hero-proof{gap:5px;font-size:9px}.topbar-status{display:none}.metrics .metric{padding:17px}.scanner-page header .badge{font-size:9px}.guest-invitation .qr-card{padding:13px 8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.topbar-account{align-items:center;gap:20px;display:flex}.topbar-account .text-button{letter-spacing:0;font-size:10px}.scanner-note,.camera-overlay p{color:#5e704f}.scanner-content>.eyebrow,.scan-counts span{color:#617253}.support-actions{flex-wrap:wrap;gap:12px;display:flex}.staff-workspace{max-width:1120px;margin:auto;padding:24px}.staff-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:32px;display:flex}.staff-heading{margin-bottom:24px}.staff-workspace .scanner-page{min-height:0}.staff-workspace .scanner-page>header{display:none}.staff-workspace>.notice{margin-bottom:20px}@media (max-width:640px){.staff-workspace{padding:16px}.support-actions{flex-direction:column}.staff-heading h1{font-size:2rem}}.planning-nav,.job-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:16px 0;display:flex}.planning-nav{justify-content:flex-start}.import-panel{border-top:1px solid #dce2d8;margin-top:24px;padding-top:24px}.import-preview{max-height:480px;margin:20px 0;overflow:auto}.table-scroll{overflow:auto}.import-preview input[type=checkbox]{width:22px;height:22px}.studio-layout{grid-template-columns:minmax(310px,420px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.studio-controls fieldset{border:0;min-width:0;padding:0}.studio-controls legend{margin-bottom:16px;font-size:20px;font-weight:700}.studio-controls details{border-top:1px solid #dce2d8;padding:18px 0}.studio-controls summary,details.panel summary{cursor:pointer;margin-bottom:14px;font-weight:700}.studio-controls label{gap:8px;margin:14px 0;display:grid}.studio-controls textarea{resize:vertical;color:#24392b;width:100%;font:inherit;background:#fff;border:1px solid #bcc9be;border-radius:8px;padding:12px}.studio-controls input[type=color]{width:100%;height:44px}.studio-controls button{margin:4px 0}.template-grid{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.template-choice{cursor:pointer;text-align:left;color:#24392b;background:#fff;border:1px solid #d2dacf;border-radius:10px;gap:8px;padding:12px;display:grid}.template-choice.selected{outline-offset:1px;outline:3px solid #335b40}.template-choice small{line-height:1.4}.template-swatch{border:3px double;place-items:center;height:72px;font-family:Georgia,serif;font-size:28px;display:grid}.card-preview-scroll{padding:8px 0 24px;overflow:auto}.card-export{width:500px;max-width:100%;margin:auto}.designed-card{background:var(--card-bg);width:500px;max-width:100%;color:var(--card-ink);text-align:center;border:1px solid var(--card-accent);overflow-wrap:anywhere;margin:auto;line-height:1.55;position:relative;overflow:hidden;box-shadow:0 14px 45px #17261918}.design-content{padding:32px 34px}.designed-card h1{color:inherit;letter-spacing:-1px;margin:12px 0 18px;font:38px/1.14 Georgia,serif}.designed-card p{color:inherit;white-space:pre-line;margin:10px 0;font-size:15px}.design-hosts{text-transform:uppercase;letter-spacing:2px;font-size:11px!important}.design-message{font-style:italic}.design-ornament{color:var(--card-accent);font-size:34px}.design-rule{background:var(--card-accent);width:70px;height:1px;margin:22px auto}.design-recipient{font-size:19px!important}.design-photo{background:var(--card-bg);height:230px;position:relative;overflow:hidden}.design-photo img{object-fit:cover;width:100%;height:100%}.design-qr{color:#151515;background:#fff;border-radius:8px;justify-items:center;gap:6px;width:190px;margin:20px auto 12px;padding:12px;display:grid}.design-qr img{width:144px;height:144px;display:block}.design-qr small{font:11px/1.4 Arial,sans-serif}.design-extra{font-size:13px!important}.design-footer{letter-spacing:1px;margin-top:22px;font:10px Arial,sans-serif;display:block}.design-sample{border:1px dashed var(--card-accent);margin:18px 0;padding:22px;font:12px Arial,sans-serif}.design-classic .design-content{border:3px double var(--card-accent);margin:14px}.design-botanical .design-photo{border-radius:160px 160px 8px 8px;height:245px;margin:22px 55px 0}.design-evening{border:8px double var(--card-accent)}.design-evening h1{text-transform:uppercase;letter-spacing:2px;font-size:32px}.design-floral .design-content{border:2px solid var(--card-accent);border-radius:80px 80px 0 0;margin:14px}.design-introduction .design-content{border-top:12px double var(--card-accent);border-bottom:12px double var(--card-accent)}.design-portrait .design-photo{height:310px}.design-artwork .design-photo{height:500px}@media (max-width:1050px){.studio-layout{grid-template-columns:1fr}.studio-preview{order:-1}.card-export{margin:0 auto}}@media (max-width:560px){.guest-page .designed-card{width:100%}.design-content{padding:24px}.designed-card h1{font-size:32px}.planning-nav .button{width:100%}}.invitation-export-stage{pointer-events:none;width:500px;position:fixed;top:0;left:-10000px}.invitation-export-stage .designed-card{width:500px;max-width:none;box-shadow:none;margin:0}.invitation-export-stage .design-content{padding:32px 34px}.invitation-export-stage .designed-card h1{font-size:38px}.invitation-export-stage .design-evening h1{font-size:32px}.bulk-guest-list{max-height:240px;margin:12px 0;overflow-y:auto}.bulk-guest-option{align-items:center;gap:10px;padding:8px 0;display:flex}.bulk-guest-option input{width:18px;height:18px}.guest-rsvp{text-align:left;width:700px;max-width:100%;margin:32px auto}.household-member{border-bottom:1px solid var(--line);margin-bottom:16px;padding:16px 0}.table-capacity-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:16px;padding:16px 0;display:flex}.message-preview{border:1px solid var(--line);margin:20px 0;padding:24px}.block{display:block}.lookup-result{border:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:#fff;border-radius:12px;gap:6px;padding:16px;display:grid}.print-seating{display:none}@media print{body:has(.print-seating) .sidebar{display:none!important}body:has(.print-seating) .topbar{display:none!important}body:has(.print-seating) .app-header{display:none!important}body:has(.print-seating) .workspace-main>main>:not(.print-seating){display:none!important}body:has(.print-seating) .workspace-footer{display:none!important}body:has(.print-seating) .print-seating{color:#000;display:block}.print-seating>div{break-inside:avoid}body:has(.print-seating) .workspace{display:block}body:has(.print-seating) .workspace-main{margin:0}body:has(.print-seating) .workspace-main main{padding:0}}.plan-tabs{flex-wrap:wrap;gap:.35rem}.plan-tabs button{white-space:nowrap}.planner-status{min-height:1.4rem}.planner-search{max-width:32rem;margin:1.5rem 0;display:block}.plan-form{border:1px solid var(--line,#dfe5dd);background:#fff;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0;padding:1.5rem;display:grid}.plan-form label{flex-direction:column;gap:.45rem;min-width:0;display:flex}.plan-form input,.plan-form select,.plan-form textarea{width:100%;min-width:0}.plan-form .form-wide{grid-column:1/-1}.plan-form h3,.plan-form p{margin:0}.plan-form .check-label{flex-direction:row;align-items:start;display:flex}.plan-form .check-label input{width:auto}.plan-row{overflow-wrap:anywhere;border-bottom:1px solid #e6eae4;justify-content:space-between;align-items:start;gap:1rem;padding:1.25rem 0;display:flex}.plan-row:last-child{border-bottom:0}.plan-row h3{margin:0 0 .4rem}.plan-row p{margin:.45rem 0}.row-actions,.form-actions{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.invoice-line{grid-template-columns:minmax(0,3fr) minmax(4rem,1fr) minmax(6rem,1.5fr) auto;align-items:end;gap:.75rem;margin:1rem 0;display:grid}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.print-invoice{display:none}.client-portal{background:#fff;border-top:6px solid #315b40;border-radius:12px;max-width:900px;margin:3rem auto;padding:2.5rem;box-shadow:0 8px 45px #203f2810}.client-brand{align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.client-brand img{object-fit:contain}.client-brand strong{font-size:1.5rem}.client-portal table{width:100%}.client-portal footer{color:#687368;margin-top:2rem}.error-message{color:#923d2a}@media (max-width:760px){.plan-form{grid-template-columns:1fr;padding:1rem}.plan-row{flex-direction:column}.invoice-line{grid-template-columns:1fr 1fr}.invoice-line label:first-child{grid-column:1/-1}.client-portal{margin:1rem;padding:1.25rem}}@media print{.planner-screen,.no-print,.client-portal form{display:none!important}.print-invoice{color:#111;display:block!important}.workspace-main>main>.print-invoice{display:block!important}.print-invoice table{width:100%}.print-invoice th,.print-invoice td{border-bottom:1px solid #ddd;padding:10px}.client-portal{box-shadow:none;max-width:none;margin:0;padding:0}}.package-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1.5rem 0;display:grid}.package-card{border:1px solid #dde6da;border-radius:12px;padding:1.25rem}@media print{:is(body:has(.print-invoice) .sidebar,body:has(.print-invoice) .topbar,body:has(.print-invoice) .workspace-footer){display:none!important}body:has(.print-invoice) .workspace{display:block}body:has(.print-invoice) .workspace-main{margin:0}body:has(.print-invoice) .workspace-main main{padding:0}}.plan-form textarea{min-height:92px;font:inherit;color:inherit;resize:vertical;border:1px solid #d8dfd3;border-radius:8px;padding:12px 14px}.plan-form button:not([class]),.panel button:not([class]),.client-portal button:not([class]){color:#fff;font:inherit;cursor:pointer;background:#315b40;border:1px solid #315b40;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:12px 18px;font-weight:700;display:inline-flex}.plan-form button:not([class]):disabled,.panel button:not([class]):disabled,.client-portal button:not([class]):disabled{opacity:.5;cursor:not-allowed}.client-portal{overflow-wrap:anywhere}.planner-screen .metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.planner-screen .metric{min-width:0}.planner-screen .metric strong{overflow-wrap:anywhere;font-size:clamp(1.25rem,2.2vw,2rem)}.plan-tabs button{border-radius:8px;padding:.65rem .8rem}.plan-tabs button.selected{background:#e8eedf}@media (max-width:900px){.planner-screen .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.planner-screen .metrics{grid-template-columns:minmax(0,1fr)}}.shared-invitation-page{background:#e7e5df;min-height:100svh}.inv-experience{color:var(--inv-ink);background:var(--inv-paper);width:100%;max-width:680px;margin:0 auto;font-family:Arial,sans-serif;font-size:15px;line-height:1.65;overflow:clip}.inv-experience *,.inv-experience :before,.inv-experience :after{box-sizing:border-box}.inv-experience h1,.inv-experience h2,.inv-experience h3,.inv-experience p{color:inherit;margin:0}.inv-experience h1,.inv-experience h2,.inv-experience h3{font-family:var(--inv-heading-font);font-weight:400}.inv-experience button,.inv-experience a{-webkit-tap-highlight-color:transparent}.inv-experience button:focus-visible,.inv-experience a:focus-visible,.inv-cover:focus-visible{outline:3px solid var(--inv-accent);outline-offset:6px}.inv-experience [tabindex="-1"]:focus{outline:none}.inv-experience .inv-kicker{letter-spacing:.19em;text-transform:uppercase;font-size:11px;line-height:1.8}.inv-experience .inv-copy{max-width:390px;margin:24px auto;font:19px/1.8 Georgia,serif}.inv-preserve{white-space:pre-line;overflow-wrap:anywhere}.inv-section{text-align:center;padding:76px 42px;position:relative}.inv-fine-rule{background:var(--inv-accent);opacity:.4;width:100px;height:1px;margin:30px auto}.inv-topbar{border-bottom:1px solid color-mix(in srgb, var(--inv-accent) 22%, transparent);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px;font-size:10px;display:flex}.inv-topbar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inv-topbar button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;gap:8px;padding:8px;display:flex}.inv-welcome{padding-top:24px}.inv-welcome h1{overflow-wrap:anywhere;margin-top:18px;font-size:clamp(30px,6vw,46px);line-height:1.2}.inv-welcome .inv-scroll-hint{opacity:.65;justify-content:center;align-items:center;gap:12px;margin-top:48px;font-size:9px;display:flex}.inv-flowers{pointer-events:none;width:100%;max-width:370px;margin:0 auto 24px;position:relative}.inv-flowers svg,.inv-flowers img{width:100%;height:auto;display:block}.inv-flowers-ivory svg{opacity:.35;width:100%;height:90%;position:absolute;inset:10% 0 0}.inv-flowers-ivory img{z-index:1;position:relative}.inv-flowers-minimal{opacity:.75;max-width:270px}.inv-hero{padding-top:0;padding-bottom:30px}.inv-portrait{aspect-ratio:4/5;background:color-mix(in srgb, var(--inv-accent) 12%, var(--inv-paper));border:9px solid var(--inv-paper);outline:1px solid color-mix(in srgb, var(--inv-accent) 65%, transparent);border-radius:50% 50% 0 0;width:100%;overflow:hidden}.inv-portrait img{object-fit:cover;width:100%;height:100%;display:block}.inv-arch-frame{isolation:isolate;max-width:460px;margin:0 auto;padding-top:clamp(70px,16vw,110px);position:relative}.inv-arch-frame:not(:has(>.inv-flowers)){padding-top:0}.inv-arch-frame>.inv-flowers{z-index:-1;width:124%;max-width:none;margin:0;position:absolute;top:0;left:-12%;transform:rotate(180deg)}.inv-arch-frame>.inv-portrait{margin:0;position:relative}.inv-venue-frame{max-width:430px}.inv-union .inv-copy{font-size:16px}.inv-experience .inv-names{letter-spacing:-.04em;overflow-wrap:anywhere;margin:32px auto 36px;font-size:clamp(45px,10vw,76px);line-height:1.06}.inv-names span{display:block}.inv-names em{color:var(--inv-accent);font-size:.58em;font-weight:400;line-height:1.3;display:block}.inv-union>.inv-flowers{max-width:280px;margin-bottom:50px}.inv-date{font:26px var(--inv-heading-font);text-transform:uppercase;justify-content:center;align-items:center;margin:24px auto 0;display:flex}.inv-date strong{border-inline:1px solid color-mix(in srgb, var(--inv-accent) 30%, transparent);margin:0 22px;padding:0 28px;font-size:68px;font-weight:400;line-height:1}.inv-experience .inv-timezone{letter-spacing:.1em;opacity:.65;margin-top:20px;font-size:10px}.inv-couple-portraits{justify-content:center;gap:26px;margin:45px 0;display:flex}.inv-couple-portraits figure{flex:1;min-width:0;max-width:230px;margin:0}.inv-couple-portraits figcaption{margin-top:16px;font:italic 19px Georgia,serif}.inv-couple-portraits .inv-portrait{border-width:5px}.inv-venues{padding-top:90px}.inv-venue-arch{background:color-mix(in srgb, var(--inv-accent) 6%, var(--inv-paper));border:7px solid var(--inv-paper);outline:1px solid var(--inv-accent);border-radius:220px 220px 200px 200px;max-width:430px;margin:0 auto;padding:95px 30px 65px;position:relative}.inv-venue-arch>svg{color:var(--inv-accent);margin-bottom:14px}.inv-venue-arch h3{overflow-wrap:anywhere;margin:18px 0;font-size:25px;line-height:1.4}.inv-venue-arch .inv-fine-rule{width:80%;margin:38px auto}.inv-map{text-transform:uppercase;letter-spacing:.09em;color:inherit;text-underline-offset:5px;justify-content:center;align-items:center;gap:8px;margin-top:22px;font-size:11px;text-decoration:underline;display:inline-flex}.inv-directions svg{margin:0 auto 12px;display:block}.inv-rsvp{padding-top:40px}.inv-rsvp>.inv-flowers{margin-bottom:-20px}.inv-rsvp .panel{color:var(--inv-ink);box-shadow:none;border-color:color-mix(in srgb, var(--inv-accent) 30%, transparent);text-align:left;background:0 0}.inv-rsvp button{background:var(--inv-ink);color:var(--inv-paper)}.inv-countdown{grid-template-columns:repeat(4,1fr);gap:10px;margin:26px 0 0;display:grid}.inv-countdown strong{font:42px Georgia,serif;display:block}.inv-countdown span{text-transform:uppercase;letter-spacing:.1em;margin-top:10px;font-size:9px;display:block}.inv-calendar>.inv-flowers{max-width:240px}.inv-experience .inv-calendar h2{letter-spacing:-.05em;font-size:84px;line-height:.95}.inv-calendar h2 em{letter-spacing:0;margin:15px 0;font-size:30px;display:block}.inv-button{border:1px solid var(--inv-ink);background:var(--inv-ink);min-height:48px;color:var(--inv-paper);text-transform:uppercase;letter-spacing:.1em;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:12px;padding:16px 26px;font:11px Arial,sans-serif;display:inline-flex}.inv-button:hover{opacity:.82}.inv-button:disabled{opacity:.5;cursor:wait}.inv-button-outline{color:var(--inv-ink);background:0 0}.inv-section-icon{color:var(--inv-accent);margin:0 auto 28px;display:block}.inv-qr-frame{place-items:center;min-height:295px;margin:36px auto;display:grid;position:relative}.inv-qr-frame>.inv-flowers{width:115%;max-width:none;margin:0;position:absolute;transform:rotate(-35deg)}.inv-qr-frame>img{aspect-ratio:1;background:#fff;width:240px;max-width:100%;height:240px;padding:8px;position:relative}.inv-experience .inv-admits{text-transform:uppercase;letter-spacing:.04em;font-size:13px}.inv-admission .inv-copy{font-size:17px}.inv-table{border:1px solid var(--inv-accent);padding:10px 22px;font-size:13px;display:inline-block}.inv-sample{z-index:1;background:var(--inv-paper);width:240px;padding:25px;font-size:12px}.inv-download-status{min-height:20px;font-size:12px;margin-top:15px!important}.inv-closing{padding-bottom:0}.inv-closing-photo{margin-bottom:50px}.inv-experience .inv-contact{overflow-wrap:anywhere;margin:30px auto;font-size:12px}.inv-footer-flowers{width:125%;max-width:none;margin:25px -12.5% -20px}.inv-credit{letter-spacing:.1em;padding:20px 10px;font-size:9px;display:block;position:relative}.inv-envelope{border:0;margin:0;padding:0}.inv-envelope>.inv-cover{list-style:none}.inv-cover::-webkit-details-marker{display:none}.inv-cover{cursor:pointer;background:var(--inv-envelope);color:#f9f0df;isolation:isolate;height:100svh;min-height:650px;padding:0;position:relative;overflow:hidden}.inv-cover-copy{z-index:5;text-align:center;width:80%;position:absolute;top:11%;left:10%}.inv-cover-copy .inv-kicker{color:var(--inv-envelope-muted);font-size:10px}.inv-cover-copy h2{overflow-wrap:anywhere;max-width:360px;color:var(--inv-envelope-ink);margin:28px auto;font:38px/1.25 Georgia,serif}.inv-cover-names{font:italic 22px Georgia,serif;color:var(--inv-envelope-muted)!important}.inv-envelope-flap{background:linear-gradient(160deg, color-mix(in srgb, var(--inv-envelope) 88%, white), var(--inv-envelope));clip-path:polygon(0 0,100% 0,100% 67%,50% 100%,0 67%);z-index:3;filter:drop-shadow(0 20px 10px #000);position:absolute;inset:0 0 35%}.inv-envelope-lining{background:var(--inv-paper);position:absolute;inset:39% 0 22%}.inv-envelope-lining .inv-flowers{width:120%;max-width:none;margin-left:-10%;transform:translateY(-30%)}.inv-envelope-bottom{background:linear-gradient(150deg, color-mix(in srgb, var(--inv-envelope) 95%, black), color-mix(in srgb, var(--inv-envelope) 90%, white));clip-path:polygon(0 0,50% 30%,100% 0,100% 100%,0 100%);z-index:4;position:absolute;inset:49% 0 0}.inv-seal{z-index:6;color:#63491f;text-shadow:0 1px #ffe8ba;background:linear-gradient(130deg,#edce8e,#b3894b 45%,#e1bb76 70%,#947041);border-radius:46% 51% 43% 48%;place-items:center;width:84px;height:84px;font:italic 23px Georgia,serif;display:grid;position:absolute;top:59%;left:50%;transform:translate(-50%,-50%)rotate(-8deg);box-shadow:0 5px 12px #0005,inset 0 0 0 4px #e3be81,inset 0 0 0 6px #9c753e}.inv-open-label{z-index:6;text-align:center;text-transform:uppercase;letter-spacing:.22em;color:var(--inv-envelope-muted);flex-direction:column;align-items:center;gap:14px;font-size:10px;display:flex;position:absolute;inset:auto 8% 9%}.inv-open-label small{letter-spacing:0;text-transform:none;color:var(--inv-envelope-ink);font:italic 14px Georgia,serif}.inv-open-label svg{animation:2s ease-in-out infinite inv-invite}.inv-envelope[open]>.inv-cover{opacity:0;pointer-events:none;height:0;min-height:0;transition:height 1s cubic-bezier(.65,0,.2,1),min-height 1s,opacity .7s}.inv-envelope[open] .inv-envelope-flap{transition:transform .65s;transform:translateY(-80px)}.inv-envelope[open] .inv-envelope-bottom{transition:transform .65s;transform:translateY(120px)}.inv-motion-cinematic .will-unveil{opacity:0;transition:opacity 1.1s,transform 1.1s cubic-bezier(.2,.7,.2,1);transform:translateY(38px)}.inv-motion-gentle .will-unveil{opacity:0;transition:opacity .65s}.inv-experience .is-unveiled{opacity:1;transform:none}.inv-motion-none .inv-open-label svg{animation:none}.inv-motion-none .inv-cover,.inv-motion-none .inv-envelope-flap,.inv-motion-none .inv-envelope-bottom{transition:none!important}@keyframes inv-invite{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.experience-preview-frame{background:#e7e5df;border:1px solid #d7d2c7;border-radius:14px;max-height:850px;overflow:auto}.inv-is-preview .inv-cover{height:760px}.inv-is-preview .inv-envelope[open]>.inv-cover{height:0}.studio-controls .check-row{flex-direction:row;align-items:center;gap:12px;display:flex}.studio-controls .check-row input{width:auto}@media (max-width:540px){.inv-arch-frame>.inv-flowers{width:116%;left:-8%}.inv-section{padding:58px 28px}.inv-welcome{padding-top:14px}.inv-hero{padding-top:0;padding-bottom:15px}.inv-cover-copy h2{overflow-wrap:anywhere;font-size:33px}.inv-venues{padding-top:80px}.inv-venue-arch{padding:80px 20px 58px}.inv-date{font-size:22px}.inv-date strong{margin:0 16px;padding:0 20px;font-size:58px}.inv-topbar{padding:12px 16px}.inv-closing{padding-bottom:0}.inv-experience .inv-copy{font-size:17px}.inv-experience .inv-calendar h2{font-size:72px}}@media (prefers-reduced-motion:reduce){.inv-experience *,.inv-experience :before,.inv-experience :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.inv-experience .will-unveil{opacity:1;transform:none}}@media print{.inv-cover,.inv-topbar,.inv-download,.inv-calendar button{display:none!important}.inv-experience .will-unveil{opacity:1;transform:none}.inv-section{break-inside:avoid}}.inv-motion-cinematic .is-unveiled .inv-names span{animation:1s both inv-detail}.inv-motion-cinematic .is-unveiled .inv-names span:nth-child(2){animation-delay:.2s}.inv-motion-cinematic .is-unveiled .inv-date{animation:1s .25s both inv-detail}@keyframes inv-detail{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.inv-motion-cinematic .is-unveiled .inv-names span,.inv-motion-cinematic .is-unveiled .inv-date{animation:none}}.portrait-owner{font-size:13px;font-weight:400;display:block}.portrait-upload-preview{object-fit:cover;border-radius:8px;width:72px;height:88px;margin:8px 0;display:block}
