@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/figtree-latin-400-normal-g7Dtegnw.woff2)format("woff2"),url(/assets/figtree-latin-400-normal-BD4aNku5.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/figtree-latin-500-normal-BWnGEVsr.woff2)format("woff2"),url(/assets/figtree-latin-500-normal-B_yy1phn.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/figtree-latin-600-normal-Cv_xCTDl.woff2)format("woff2"),url(/assets/figtree-latin-600-normal-BM_oTo4n.woff)format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/figtree-latin-700-normal-th6qEP7c.woff2)format("woff2"),url(/assets/figtree-latin-700-normal-BCCt2T1q.woff)format("woff")}@font-face{font-family:Young Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/young-serif-latin-400-normal-DIMmNPI9.woff2)format("woff2"),url(/assets/young-serif-latin-400-normal-D1tz0Z9s.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-normal-Co1r35X9.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-normal-2CBVLo0M.woff)format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}:root{--ivory:#f4f5f9;--paper:#fff;--ink:#1d2551;--muted:#646985;--line:#e2e4ee;--gold:#c8892b;--gold-dark:#8f5e17;--gold-soft:#f6eddf;--green:#2f7d5b;--green-soft:#e4f2ea;--red:#b4483d;--red-soft:#f8e7e4;--amber:#a8741a;--amber-soft:#fbf0db;--wa:#1fa855;--radius:10px;--shadow:0 1px 2px #1d25510f;--serif:"Young Serif", Georgia, serif;--sans:"Figtree", system-ui, -apple-system, sans-serif}.invite-page,.guest-space{--ivory:#fbf8f3;--ink:#2a2622;--muted:#7a7168;--line:#e9e1d6;--gold:#b08d57;--gold-dark:#8c6c3d;--gold-soft:#f4ecdf;--serif:"Cormorant Garamond", Georgia, serif;--shadow:0 1px 2px #2a26220a, 0 8px 24px #2a26220f;color:var(--ink)}.invite-page .script,.guest-space .script{font-weight:600}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}a{color:var(--gold-dark)}code{background:var(--gold-soft);border-radius:4px;padding:1px 5px;font-size:.9em}h1,h2,h3{margin:0 0 .4em;line-height:1.2}h2{font-size:1.05rem;font-weight:600}.script{font-family:var(--serif);letter-spacing:-.005em;font-size:2rem;font-weight:400}.muted{color:var(--muted)}.small{font-size:.84rem}.center{text-align:center}.error{color:var(--red)}.warning{color:var(--amber);font-weight:500}.topbar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:24px;padding:12px 24px;display:flex;position:sticky;top:0}.brand{font-family:var(--serif);white-space:nowrap;align-items:center;gap:9px;font-size:1.3rem;font-weight:400;display:inline-flex}.brand-logo{width:auto;height:38px;display:block}.login-brand .brand-logo{height:52px}.login-brand{margin-bottom:18px!important}.ring{color:var(--gold)}.topbar nav{flex:1;gap:4px;display:flex;overflow-x:auto}.topbar nav a{color:var(--muted);white-space:nowrap;border-radius:999px;padding:7px 12px;font-weight:500;text-decoration:none}.topbar nav a:hover,.topbar nav a.active{color:var(--ink);background:var(--gold-soft)}.container{max-width:1180px;margin:0 auto;padding:28px 24px 64px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.page-head p{margin:0}.center-page{place-items:center;min-height:100vh;padding:16px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:20px}.card.narrow{width:100%;max-width:400px}.row{align-items:center;gap:10px;display:flex}.row.wrap{flex-wrap:wrap}.row.end{justify-content:flex-end;margin-top:8px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 16px;display:grid}label{color:var(--muted);margin-bottom:14px;font-size:.86rem;font-weight:500;display:block}label.inline{align-items:center;gap:8px;margin:0;display:inline-flex}label.inline input{width:70px}input,select,textarea{width:100%;font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:5px;padding:9px 12px;transition:border-color .15s,box-shadow .15s;display:block}.row input,.row select,.filters input,.filters select{width:auto;margin-top:0}input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft);outline:none}.btn{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms;display:inline-flex}.btn:hover{border-color:var(--gold)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn.primary:hover{background:#000}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);background:var(--gold-soft)}.btn.danger{color:var(--red)}.btn.danger:hover{border-color:var(--red);background:var(--red-soft)}.btn.whatsapp{background:var(--wa);border-color:var(--wa);color:#fff}.btn.whatsapp:hover{background:#178c46}.btn.small{border-radius:8px;padding:5px 10px;font-size:.84rem}.btn.full{width:100%}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:2px 6px;font-size:1.4rem;line-height:1}.icon-btn:hover{color:var(--red);background:var(--red-soft)}.badge{border-radius:999px;margin-right:4px;padding:2px 9px;font-size:.78rem;font-weight:500;display:inline-block}.badge.invited{color:var(--muted);background:#efebe5}.badge.registered{background:var(--amber-soft);color:var(--amber)}.badge.approved{background:var(--green-soft);color:var(--green)}.badge.rejected{background:var(--red-soft);color:var(--red)}.badge.arrived{background:var(--gold-soft);color:var(--gold-dark)}.toast{z-index:50;background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:10px;max-width:calc(100% - 32px);padding:10px 18px;font-size:.9rem;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.stats{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;padding:18px 20px;display:flex}.stat.accent{background:var(--ink);color:#fff;border-color:var(--ink)}.stat.accent .stat-value{color:#fff}.stat.accent .stat-label{color:#d8cfc3}.stat-value{font-family:var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2rem;font-weight:600;line-height:1.1}.stat-label{color:var(--muted);font-size:.86rem}.progress{background:var(--amber-soft);border-radius:999px;height:12px;margin:10px 0 12px;display:flex;overflow:hidden}.seg.accepted{background:var(--green)}.seg.declined{background:var(--red)}.legend{flex-wrap:wrap;gap:18px;font-size:.9rem;display:flex}.dot{border-radius:50%;width:9px;height:9px;margin-right:4px;display:inline-block}.dot.accepted{background:var(--green)}.dot.declined{background:var(--red)}.dot.registered{background:#e0c48f}.send-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.send-bar p{margin:2px 0 0}.filters{flex-wrap:wrap;gap:10px;margin-bottom:8px;display:flex}.filters input{flex:1;min-width:220px}.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}table.data{border-collapse:collapse;width:100%}.data th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);background:#fdfbf8;padding:12px 14px;font-size:.78rem;font-weight:600}.data td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 14px}.data tr:last-child td{border-bottom:0}.data tbody tr:hover{background:#fdfbf8}.right{text-align:right}.actions{white-space:nowrap}.actions .btn{margin-left:4px}.note{font-family:var(--serif);color:var(--gold-dark);margin-top:3px;font-style:italic}.empty{text-align:center;color:var(--muted);padding:40px!important}.preview{white-space:pre-wrap;font-family:var(--sans);background:var(--ivory);border:1px solid var(--line);border-radius:10px;max-height:260px;padding:12px;font-size:.88rem;overflow:auto}.modal-backdrop{z-index:40;background:#2a262273;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:var(--radius);width:100%;max-width:560px;max-height:90vh;padding:22px;overflow:auto;box-shadow:0 20px 60px #0003}.modal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.modal-head h2{font-family:var(--serif);margin:0;font-size:1.45rem;font-weight:400}.plan{grid-template-columns:300px 1fr;align-items:start;gap:18px;display:grid}.plan>.zone{max-height:calc(100vh - 100px);position:sticky;top:76px;overflow:auto}.tables-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tables-grid .card{margin:0}.zone.droppable{outline:2px dashed var(--gold);outline-offset:-4px}.table-card.over{border-color:var(--red)}.table-head{justify-content:space-between;align-items:center;gap:6px;display:flex}.inline-edit{border-color:#0000;margin:0;padding:4px 6px;font-size:1.05rem;font-weight:600}.inline-edit:hover{border-color:var(--line)}.inline-num{width:56px;margin:0;padding:2px 6px;font-size:.84rem;display:inline}.capacity{align-items:center;gap:10px;margin:6px 0 10px;display:flex}.bar{background:var(--gold-soft);border-radius:999px;flex:1;height:6px;overflow:hidden}.bar span{background:var(--gold);height:100%;display:block}.over .bar span{background:var(--red)}.chips{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--line);cursor:grab;background:#fff;border-left:3px solid #e0c48f;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px 6px 10px;font-size:.9rem;display:flex}.chip.approved{border-left-color:var(--green)}.chip select{width:110px;margin:0;padding:3px 6px;font-size:.8rem}.scanner-layout{grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);align-items:start;gap:18px;display:grid}.scanner-layout .card{margin:0}.reader{background:#111;border-radius:10px;width:100%;min-height:260px;overflow:hidden}.reader.idle{background:var(--ivory);min-height:0}.reader video{display:block;width:100%!important;height:auto!important}.verdict{border-radius:12px;flex-direction:column;align-items:flex-start;gap:10px;padding:18px;display:flex}.verdict h2{font-family:var(--serif);margin:0;font-size:1.8rem}.verdict p{margin:0}.verdict.good{background:var(--green-soft)}.verdict.warn{background:var(--amber-soft)}.verdict.bad{background:var(--red-soft)}.facts{margin:0;padding-left:18px}.search-results{margin:10px 0 0;padding:0;list-style:none}.link-row{border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:10px 4px;display:flex}.link-row:hover{background:var(--ivory)}.invite-page{background:radial-gradient(circle at 20% 0%, #f3e7d3 0, transparent 45%), radial-gradient(circle at 100% 100%, #efe3cf 0, transparent 40%), var(--ivory);place-items:center;min-height:100vh;padding:32px 16px;display:grid}.invite-card{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:20px;width:100%;max-width:480px;padding:40px 28px;position:relative;box-shadow:0 20px 60px #8c6c3d1f}.invite-card:before{content:"";border:1px solid var(--gold-soft);pointer-events:none;border-radius:14px;position:absolute;inset:10px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold-dark);margin:0;font-size:.72rem}.couple{margin:6px 0 0;font-size:2.9rem}.divider{color:var(--gold);letter-spacing:.5em;margin:10px 0 14px}.lead{font-family:var(--serif);color:var(--muted);margin:0 0 18px;font-size:1.2rem;font-style:italic}.event p{margin:2px 0}.event strong{text-transform:none}.guest-box{background:var(--ivory);border-radius:12px;margin:22px 0;padding:14px}.guest-box p{margin:0}.guest-name{font-family:var(--serif);font-size:1.6rem;font-weight:600}.rsvp{text-align:left;position:relative}.rsvp h2,.confirmed h2{text-align:center;font-family:var(--serif);font-size:1.5rem}.rsvp>p{text-align:center}.choice{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 18px;display:grid}.choice .btn{white-space:normal;padding:12px}.confirmed{flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.confirmed p{margin:0}.qr{border:1px solid var(--line);background:#fff;border-radius:12px;margin:8px 0;padding:12px}.qr canvas{display:block}.invite-card>.btn.ghost{margin-top:14px;position:relative}@media (width<=860px){.plan,.scanner-layout{grid-template-columns:1fr}.plan>.zone{max-height:none;position:static}}@media (width<=640px){.topbar{flex-wrap:wrap;gap:8px 12px;padding:10px 16px}.topbar nav{flex-basis:100%;order:3}.container{padding:20px 16px 48px}.script{font-size:1.8rem}.data th:nth-child(4),.data td:nth-child(4),.data th:nth-child(5),.data td:nth-child(5){display:none}.actions{white-space:normal}.actions .btn{margin:2px}.choice{grid-template-columns:1fr}.couple{font-size:2.3rem}}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.hint{min-height:1.2em;color:var(--muted);margin-top:4px;font-size:.8rem;font-weight:400;display:block}.big-input{text-align:center;letter-spacing:.06em;padding:12px;font-size:1.25rem}.share-box{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.share-box .qr{margin:0}.share-link{word-break:break-all;font-size:.9rem}.demo-bar{color:#f4ecdf;background:#2a2622;flex-wrap:wrap;align-items:center;gap:6px 16px;padding:8px 24px;font-size:.84rem;display:flex}.demo-bar strong{color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:.74rem}.demo-bar .demo-hint{color:#d8cfc3;flex:1;min-width:220px}.demo-bar b{color:#fff}.demo-bar nav{flex-wrap:wrap;gap:6px;display:flex}.demo-bar a,.demo-bar button{color:#fff;font:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;padding:4px 12px;text-decoration:none}.demo-bar a:hover,.demo-bar button:hover{background:#fff3}@media (width<=640px){.demo-bar{padding:8px 16px}}[hidden]{display:none!important}.confirm-box{max-width:420px}.confirm-box p{margin:0 0 16px;font-size:1rem}a.btn{text-decoration:none}.nav-badge{background:var(--amber);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-left:6px;padding:0 6px;font-size:.72rem;line-height:18px;display:inline-block}.stat.warn-stat .stat-value{color:var(--amber)}.phases{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:18px;display:grid}.phases .card{flex-direction:column;align-items:flex-start;gap:10px;margin:0;display:flex}.phase h2,.phase p{margin:0}.phase-num{background:var(--ink);color:#fff;width:30px;height:30px;font-family:var(--serif);border-radius:50%;place-items:center;font-size:1.05rem;font-weight:400;display:inline-grid}.phase-num.small{flex-shrink:0;width:26px;height:26px;font-size:.95rem}.phase-facts{margin:0;padding-left:18px;font-size:.9rem}.share-box{align-items:center;gap:14px;display:flex}.share-text{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.share-link{word-break:break-all;color:var(--gold-dark);margin:0;font-size:.82rem}.qr-img{border:1px solid var(--line);background:#fff;border-radius:8px;display:block}label.check{color:var(--ink);align-items:center;gap:8px;display:flex}label.check input{width:auto;margin:0}.send-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;margin-bottom:18px;display:grid}.send-card{flex-wrap:wrap;align-items:center;gap:14px;margin:0;display:flex}.send-card>div:nth-child(2){flex:1;min-width:160px}.send-card p{margin:2px 0 0}.table-strip{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.table-pill{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-size:.84rem}.table-pill b{margin-left:4px}.table-pill.full{border-color:var(--gold);background:var(--gold-soft)}.table-pill.over{border-color:var(--red);background:var(--red-soft);color:var(--red)}.tabs{border-bottom:1px solid var(--line);gap:4px;margin-bottom:14px;display:flex;overflow-x:auto}.tabs button{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 14px;font-weight:500}.tabs button.active{color:var(--ink);border-bottom-color:var(--gold)}.tabs .count{background:var(--gold-soft);color:var(--gold-dark);border-radius:999px;margin-left:6px;padding:0 7px;font-size:.78rem;display:inline-block}.bulk-bar{z-index:5;background:var(--ink);color:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;padding:10px 14px;display:flex;position:sticky;top:70px}.bulk-bar .btn.ghost{color:#ddd}.check-col{width:36px}.check-col input{width:18px;height:18px;margin:0}.data tr.selected{background:var(--gold-soft)!important}select.compact{min-width:150px;margin:0;padding:6px 8px;font-size:.86rem}.legend-inline{margin-left:10px}.legend-inline .dot{margin-left:8px}.step-footer p{margin:4px 0 0}.serif-title{font-family:var(--serif);font-size:1.5rem}.guest-space{background:radial-gradient(circle at 15% 0%, #f3e7d3 0, transparent 40%), var(--ivory);min-height:100vh;padding:32px 16px 56px}.space-head{text-align:center;margin-bottom:24px}.space-head p{margin:4px 0}.space-grid{grid-template-columns:minmax(260px,360px) 1fr;align-items:start;gap:20px;max-width:1040px;margin:0 auto;display:grid}.space-grid .card{margin:0}.summary{margin:0 0 14px}.summary div{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:9px 0;display:flex}.summary div:last-child{border-bottom:0}.summary dt{color:var(--muted);font-size:.88rem}.summary dd{text-align:right;margin:0;font-weight:500}.invitation-card-wrap{flex-direction:column;align-items:center;gap:14px;display:flex}.invitation-preview{aspect-ratio:12/17;background:var(--paper);border-radius:10px;width:100%;max-width:420px;box-shadow:0 12px 40px #8c6c3d2e}.invitation-preview.placeholder{color:var(--muted);border:1px dashed var(--line);place-items:center;display:grid}.center-row{justify-content:center}.invitation-card-wrap p{margin:0}@media (width<=760px){.space-grid{grid-template-columns:1fr}.space-grid .space-card{order:-1}}.nav-badge.danger{background:var(--red)}.wa-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;margin-bottom:18px;display:grid}.wa-grid .card{margin:0}.card-title-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-title-row h2{margin:0}.compact-summary div{padding:6px 0}.checklist{gap:4px;margin:10px 0;padding:0;font-size:.86rem;list-style:none;display:grid}.check-ok{color:var(--green)}.check-ko{color:var(--muted)}.webhook-box{background:var(--ivory);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:4px;margin-top:8px;padding:10px 12px;display:flex}.webhook-box code{word-break:break-all;background:0 0;padding:0;font-size:.84rem}.toggle{color:var(--ink);cursor:pointer;align-items:flex-start;gap:12px;margin-bottom:14px;font-weight:400;display:flex}.toggle input{opacity:0;width:1px;height:1px;position:absolute}.toggle .switch{background:#d9d1c6;border-radius:999px;flex-shrink:0;width:38px;height:22px;margin-top:1px;transition:background .15s;position:relative}.toggle .switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #0003}.toggle input:checked+.switch{background:var(--wa)}.toggle input:checked+.switch:after{transform:translate(16px)}.toggle input:focus-visible+.switch{box-shadow:0 0 0 3px var(--gold-soft)}.toggle.disabled{opacity:.5;cursor:not-allowed}.toggle strong{font-size:.92rem;font-weight:500;display:block}.settings-sub{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 10px;font-size:.76rem;font-weight:600}.reminder-hours{color:var(--ink);margin:-4px 0 14px 50px;font-weight:400}.reminder-hours input{width:64px}.campaigns{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;display:grid}.campaign{border:1px solid var(--line);background:var(--ivory);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;display:flex}.campaign p{margin:0}.campaign-count b{font-family:var(--serif);font-size:1.5rem}.table-wrap.flat{box-shadow:none}.test-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.test-row select,.test-row input{width:auto;margin:0}.stat-chips{flex-wrap:wrap;gap:6px;display:flex}.chip-filter{font:inherit;border:1px solid var(--line);cursor:pointer;color:var(--muted);background:#fff;border-radius:999px;padding:4px 10px;font-size:.82rem}.chip-filter b{color:var(--ink);margin-left:4px}.chip-filter.active{border-color:var(--ink);color:var(--ink);background:var(--gold-soft)}.msg-status{color:var(--muted);background:#efebe5;border-radius:999px;margin-top:3px;padding:1px 8px;font-size:.8rem;font-weight:500;display:inline-block}.msg-status.sent{color:#4a5a6a;background:#eef2f6}.msg-status.delivered{color:#2a5d9a;background:#e6f0fb}.msg-status.read{color:#1d4ed8;background:#dbeafe}.msg-status.failed{background:var(--red-soft);color:var(--red)}.msg-status.queued,.msg-status.sending{background:var(--amber-soft);color:var(--amber)}.nowrap{white-space:nowrap}.send-hint{margin:-6px 0 10px}label.consent{color:var(--ink);align-items:flex-start;gap:10px;font-size:.88rem;font-weight:400;line-height:1.45;display:flex}label.consent input{flex-shrink:0;width:18px;height:18px;margin:2px 0 0}.topbar .brand{color:var(--ink);text-decoration:none}.topbar-right{align-items:center;gap:10px;margin-left:auto;display:flex}.account-link{color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:.86rem;text-decoration:none;display:inline-flex}.account-link:hover,.account-link.active{background:var(--gold-soft);color:var(--ink)}.role-chip{background:var(--ink);color:var(--gold-soft);border-radius:999px;padding:1px 7px;font-size:.72rem}.banner{background:var(--gold-soft);border:1px solid #ead9bd;border-radius:10px;margin:0 0 16px;padding:10px 14px;font-size:.9rem}.banner.warn{background:var(--amber-soft);color:#6b4a10;border-color:#f0d9a8}.success{color:var(--green)}.toast-error{background:var(--red)}.empty-state{text-align:center;padding:40px 24px}.empty-state h2{font-family:var(--serif);font-size:1.5rem}.narrow-center{text-align:center;max-width:460px;margin:40px auto}.narrow-form{max-width:460px}.compact-input{width:auto;margin:0}.inline-check{margin:0}.fieldset{border:1px solid var(--line);border-radius:12px;margin:4px 0 14px;padding:12px 14px 0}.fieldset legend{color:var(--muted);padding:0 6px;font-size:.84rem}.login-brand{font-family:var(--serif);color:var(--ink);align-items:center;gap:6px;margin-bottom:8px;font-size:1.2rem;font-weight:600;text-decoration:none;display:inline-flex}.wedding-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.wedding-card{color:inherit;flex-direction:column;gap:8px;margin:0;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.wedding-card:hover{border-color:var(--gold)}.wedding-card:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.wedding-card.archived{opacity:.72}.wedding-card-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.wedding-card h2{font-family:var(--serif);margin:0;font-size:1.5rem;font-weight:400}.wedding-card p{margin:0}.when{color:var(--gold-dark);white-space:nowrap;font-size:.8rem;font-weight:600}.when.past{color:var(--muted)}.wedding-figures{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 0;padding:10px 0;display:grid}.wedding-figures div{flex-direction:column-reverse;justify-content:flex-end;display:flex}.wedding-figures dt{color:var(--muted);font-size:.72rem;line-height:1.2}.wedding-figures dd{font-family:var(--sans);font-variant-numeric:tabular-nums;margin:0 0 2px;font-size:1.35rem;font-weight:600;line-height:1.1}.wedding-figures dd.hot{color:var(--amber)}.wedding-card-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.members-line{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.archived-toggle{margin-top:16px}.wedding-head{background:var(--paper);border-bottom:1px solid var(--line)}.wedding-head-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding-top:20px;padding-bottom:6px;display:flex}.wedding-head-inner p{margin:0}.crumb{color:var(--muted);font-size:.84rem;text-decoration:none}.crumb:after{content:" /"}.crumb:hover{color:var(--ink)}.wedding-title{flex-wrap:wrap;align-items:center;gap:10px;margin:2px 0;display:flex}.wedding-title .badge{font-family:var(--sans);font-size:.78rem}.wedding-tabs{border-bottom:0;margin:0 auto;padding-top:0;padding-bottom:0}.wedding-tabs a{color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:12px 14px;font-weight:500;text-decoration:none;display:inline-flex}.wedding-tabs a:hover{color:var(--ink)}.wedding-tabs a.active{color:var(--ink);border-bottom-color:var(--gold)}.member-list{margin:0 0 12px;padding:0;list-style:none}.member-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;display:flex}.member-form input{flex:1;min-width:200px}.data-actions{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;display:grid}.data-actions p{margin:4px 0 10px}.danger-zone{border-color:#ecc8c2}.danger-zone h2{color:var(--red)}.campaigns.single{grid-template-columns:1fr}.campaign-head{justify-content:space-between;align-items:baseline;gap:10px;width:100%;display:flex}.campaign-head .campaign-count b{font-size:1.3rem}.lead-list{gap:14px;display:grid}.lead{border-left:4px solid var(--gold);margin:0}.lead.new{border-left-color:var(--amber)}.lead.won{border-left-color:var(--green)}.lead.lost{border-left-color:var(--line);opacity:.8}.lead-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lead-head h2{font-family:var(--serif);margin:0;font-size:1.35rem}.lead-head p{margin:2px 0 0}.lead-facts{flex-wrap:wrap;gap:6px 24px;margin:10px 0;display:flex}.lead-facts dt{color:var(--muted);font-size:.76rem}.lead-facts dd{margin:0}.lead-message{font-family:var(--serif);color:var(--gold-dark);margin:0 0 12px;font-size:1.05rem;font-style:italic}.note-input{flex:1;min-width:220px;margin:0}.match-list{text-align:left;margin:0 0 14px;padding:0;list-style:none;position:relative}.match-list .link-row strong{display:block}.print-head{display:none}.print-table .tick{font-size:1.1rem}@media print{@page{margin:14mm}body{background:#fff;font-size:11pt}.topbar,.wedding-head,.demo-bar,.no-print,.toast{display:none!important}.container{max-width:none;padding:0}.print-head{margin-bottom:10px;display:block}.print-head h1{font-family:var(--serif);margin:0;font-size:20pt}.print-head p{color:#444;margin:2px 0}.print-table th,.print-table td{border-bottom:1px solid #ccc;padding:5px 8px}.print-table tr{break-inside:avoid}}@media (width<=640px){.topbar-right{margin-left:0}.wedding-figures dd{font-size:1.25rem}.wedding-tabs{overflow-x:auto}}
