html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:14px;line-height:1.45}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}*{box-sizing:border-box}[hidden]{display:none!important}button,input,select{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font);font-weight:500;margin:0;text-wrap:balance}h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}p{margin:0}a{color:var(--accent)}.ms{font-family:Material Symbols Outlined;font-weight:400;font-style:normal;font-size:20px;line-height:1;display:inline-block;white-space:nowrap;direction:ltr;font-feature-settings:"liga";-webkit-font-smoothing:antialiased;vertical-align:middle}.muted{color:var(--muted)}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.appbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);display:flex;align-items:center;gap:12px;height:56px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.brand{display:flex;align-items:center;gap:10px;font-family:var(--font);font-size:20px;color:var(--fg);text-decoration:none}.brand-mark{width:32px;height:32px;border-radius:10px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}.brand small{font-size:13px;color:var(--muted);margin-left:2px}.wedding-pill{display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);min-width:0}.wedding-pill{color:inherit;text-decoration:none}.wedding-pill:hover{border-color:var(--accent)}.wedding-pill b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spacer{flex:1}.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 20px;border-radius:999px;border:1px solid transparent;background:none;cursor:pointer;font-family:var(--font);font-weight:500;white-space:nowrap;transition:background .15s,box-shadow .15s}.btn .ms{font-size:18px}.btn-filled{background:var(--accent);color:var(--on-accent)}.btn-filled:hover{box-shadow:var(--shadow)}.btn-tonal{background:var(--accent-soft);color:var(--on-accent-soft)}.btn-outline{border-color:var(--line);color:var(--accent);background:var(--card)}.btn-outline:hover,.btn-text:hover{background:var(--surface)}.btn-text{color:var(--accent);padding:0 12px}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.icon-btn{width:40px;height:40px;border-radius:50%;border:none;background:none;cursor:pointer;display:grid;place-items:center;color:var(--muted)}.icon-btn{text-decoration:none}.icon-btn:hover{background:var(--surface)}.shell{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:calc(100% - 56px)}.rail{position:sticky;top:calc(56px + env(safe-area-inset-top,0px));align-self:start;display:flex;flex-direction:column;gap:4px;padding:8px 0}.rail a,.rail .rail-more{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:var(--muted);font-size:12px;font-weight:500;padding:4px 0 8px}.rail .rail-more{border:none;background:none;font-family:inherit;cursor:pointer;display:none}.rail a .pill,.rail .rail-more .pill{width:56px;height:32px;border-radius:16px;display:grid;place-items:center;transition:background .15s}.rail a:hover .pill,.rail .rail-more:hover .pill{background:var(--surface)}.rail [aria-current=page]{color:var(--fg)}.rail [aria-current=page] .pill{background:var(--accent-soft);color:var(--on-accent-soft)}.rail [aria-current=page] .ms{font-variation-settings:"FILL" 1}.sheet-bg{position:fixed;inset:0;z-index:20;background:#00000059}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:21;background:var(--card);border-radius:24px 24px 0 0;box-shadow:0 -8px 24px #0003;padding:4px max(12px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.sheet-grab{width:32px;height:4px;border-radius:2px;background:var(--line);margin:8px auto 12px}.sheet a{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;color:var(--fg);text-decoration:none}.sheet a:hover,.sheet a[aria-current=page]{background:var(--surface)}.sheet a>.ms{color:var(--accent)}.sheet .sheet-action{display:flex;align-items:center;gap:14px;padding:12px;border-radius:12px;color:var(--fg);background:none;border:none;width:100%;text-align:left;font:inherit;cursor:pointer}.sheet .sheet-action:hover{background:var(--surface)}.sheet .sheet-action>.ms{color:var(--accent)}.sheet .sheet-action small,.sheet a small{display:block;color:var(--muted);font-size:12px}.shell main{padding-block:4px 32px;padding-right:max(16px,env(safe-area-inset-right,0px));min-width:0}.page{display:flex;flex-direction:column;gap:14px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.page-head p{margin-top:2px}.toolbar{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px;min-width:0}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:12px}.grid{display:grid;gap:16px}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g-auto{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}.kpi .label{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:6px}.kpi .value{font-family:var(--font);font-size:32px;line-height:1.1;margin-top:6px;font-variant-numeric:tabular-nums}.kpi .sub{color:var(--muted);font-size:13px;margin-top:6px}.kpi.hero{background:var(--accent-soft);border-color:transparent;color:var(--on-accent-soft)}.kpi.hero .label,.kpi.hero .sub{color:inherit;opacity:.85}.progress{position:relative;height:8px;border-radius:4px;background:var(--surface);margin-top:12px}.progress>i{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--accent)}.progress .target{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--fg);border-radius:1px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 14px;border-radius:8px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:500;font-size:13px;color:var(--muted)}.chip:hover{background:var(--surface)}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft);border-color:transparent}.chip[aria-pressed=true]:before{content:"check";font-family:Material Symbols Outlined;font-size:18px;margin-left:-4px}.chip.no-check[aria-pressed=true]:before{content:none}label.chip{position:relative;height:auto;min-height:32px;padding-block:6px}label.chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}label.chip:has(input:checked){background:var(--accent-soft);color:var(--on-accent-soft);border-color:transparent}label.chip:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.tag{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:500;white-space:nowrap}.tag.ok{background:var(--ok-soft);color:var(--ok)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.tag.wait{background:var(--surface);color:var(--muted)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.info{background:var(--accent-soft);color:var(--on-accent-soft)}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.stack{display:flex;height:14px;border-radius:7px;overflow:hidden;gap:2px;background:var(--surface)}.stack>i{display:block;height:100%}.legend{display:grid;gap:2px;margin-top:16px}.legend-row{display:flex;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}.legend-row:last-child{border-bottom:none}.legend-row .n{margin-left:auto;font-family:var(--font);font-size:18px;font-variant-numeric:tabular-nums}.legend-row .pct{width:44px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.bars{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;align-items:end;height:150px;padding-top:24px;border-bottom:1px solid var(--line)}.bar{position:relative;background:var(--accent);border-radius:8px 8px 2px 2px;min-height:2px}.bar span{position:absolute;top:-22px;left:0;right:0;text-align:center;font-weight:500;font-variant-numeric:tabular-nums}.bar-labels{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:16px;margin-top:8px;text-align:center;color:var(--muted);font-size:12px}.list{display:flex;flex-direction:column}.list-item{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line);min-width:0}.list-item:last-child{border-bottom:none}.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:500;flex:none;background:var(--surface);color:var(--muted);font-family:var(--font)}.li-main{min-width:0;flex:1}.li-main>b{font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.li-main small{color:var(--muted);font-size:12px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--card)}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;background:var(--card)}td{padding:7px 14px;border-bottom:1px solid var(--line);white-space:nowrap}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface)}td.r,th.r{text-align:right}td .icon-btn{display:inline-grid;width:32px;height:32px;vertical-align:middle}td .icon-btn .ms{font-size:18px}tfoot td{font-weight:700;border-top:1px solid var(--line);border-bottom:none}.fn-mini{display:inline-flex;gap:4px}.fn-mini i{font-style:normal;font-size:11px;font-weight:500;width:22px;height:22px;border-radius:6px;display:grid;place-items:center;background:var(--surface);color:var(--faint)}.fn-mini i.yes{background:var(--ok-soft);color:var(--ok)}.fn-mini i.no{background:var(--bad-soft);color:var(--bad)}.fn-mini i.pending{background:var(--surface);color:var(--muted);box-shadow:inset 0 0 0 1px var(--line)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:12px;color:var(--muted);font-weight:500}.input{height:48px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:0 14px;width:100%}.input:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.search{position:relative;flex:0 1 340px;min-width:220px}.search .ms{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input{height:40px;border-radius:999px;border:none;background:var(--surface);padding:0 16px 0 44px;width:100%}.search input:focus{outline:2px solid var(--accent);background:var(--card)}.timeline{display:flex;flex-direction:column}.tl{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:14px;padding-bottom:20px;position:relative}.tl:before{content:"";position:absolute;left:15px;top:34px;bottom:2px;width:2px;background:var(--line)}.tl:last-child:before{display:none}.tl-icon{align-self:start;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--surface);color:var(--muted)}.tl-icon.sent{background:var(--ok-soft);color:var(--ok)}.tl-icon.next{background:var(--accent-soft);color:var(--on-accent-soft)}.tl b{font-weight:500}.guest-layout{display:grid;grid-template-columns:minmax(0,340px) minmax(0,420px);gap:40px;align-items:start;justify-content:center}.phone{border:1px solid var(--line);border-radius:32px;background:var(--card);box-shadow:var(--shadow);overflow:hidden;min-height:680px;display:flex;flex-direction:column}.phone-bar{display:flex;justify-content:space-between;padding:10px 22px 6px;font-size:12px;font-weight:500;color:var(--muted)}.wa-head{background:var(--wa-head);color:#fff;display:flex;align-items:center;gap:10px;padding:10px 14px}.wa-head .avatar{background:#fff3;color:#fff}.wa-head small{opacity:.8;display:block;font-size:12px}.wa-body{flex:1;background:var(--surface);padding:16px 12px;display:flex;flex-direction:column;gap:10px}.bubble{background:var(--card);border-radius:4px 14px 14px;padding:10px 12px 6px;max-width:88%;box-shadow:var(--shadow)}.bubble.me{align-self:flex-end;background:var(--wa);border-radius:14px 4px 14px 14px}.bubble .time{font-size:11px;color:var(--faint);text-align:right;margin-top:4px}.bubble .link{color:var(--accent);word-break:break-all}.wa-actions{display:grid;border-top:1px solid var(--line);margin:8px -12px -6px}.wa-actions button{border:none;background:none;height:42px;color:var(--accent);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.wa-actions button+button{border-top:1px solid var(--line)}.wa-actions button:hover{background:var(--surface)}.rsvp{flex:1;display:flex;flex-direction:column}.rsvp-top{padding:20px 20px 12px;display:flex;flex-direction:column;gap:6px}.rsvp-top .eyebrow{font-size:12px;color:var(--muted);letter-spacing:.04em}.rsvp-body{padding:0 16px 16px;display:flex;flex-direction:column;gap:12px}.fn-card{border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:14px;background:var(--card)}.fn-card.off{background:var(--surface)}.fn-card-head{display:flex;gap:12px;align-items:flex-start}.fn-card-head .ms{color:var(--accent);margin-top:2px}.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg button{height:40px;border:none;background:var(--card);cursor:pointer;font-weight:500;display:flex;align-items:center;justify-content:center;gap:6px;color:var(--muted)}.seg button+button{border-left:1px solid var(--line)}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.stepper{display:flex;align-items:center;justify-content:space-between;gap:12px}.stepper .ctrl{display:flex;align-items:center;gap:4px}.stepper .val{font-family:var(--font);font-size:22px;width:36px;text-align:center;font-variant-numeric:tabular-nums}.stepper .icon-btn{border:1px solid var(--line);color:var(--fg)}.stepper .icon-btn:disabled{opacity:.35;cursor:not-allowed}.person{display:flex;flex-direction:column;gap:6px}.person small{color:var(--muted);font-size:12px;font-weight:500}.diet-chip[aria-pressed=true]{background:var(--card);color:var(--fg);border-color:currentColor}.diet-chip[aria-pressed=true]:before{content:none}.diet-chip .dot{width:8px;height:8px}.diet-chip[aria-pressed=true]{box-shadow:inset 0 0 0 1px currentColor}.picker{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:-6px}.picker .btn .ms{font-size:20px}.member{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px solid var(--line)}.member-top{display:flex;gap:8px;align-items:center}.member-top .input{flex:1;min-width:0}.rsvp-foot small{font-size:11px;line-height:1.4}.rsvp-foot{position:sticky;bottom:0;padding:12px 16px 16px;background:var(--card);border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px}.rsvp-foot .btn{width:100%;height:48px}.done{flex:1;padding:32px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.done .big{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok)}.done .big .ms{font-size:40px}.summary{width:100%;text-align:left;margin-top:12px}.lang{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.lang button{border:none;background:none;padding:4px 12px;cursor:pointer;font-size:12px;font-weight:500;color:var(--muted)}.lang button[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.linkbtn{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer;word-break:break-all;text-align:left}.urlbar{margin:4px 12px 0;height:36px;border-radius:999px;background:var(--surface);display:flex;gap:6px;align-items:center;padding:0 14px;font-size:13px;color:var(--muted)}.urlbar .ms{font-size:16px}.drop{border:1px dashed var(--line);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;align-items:flex-start;background:var(--surface)}.drop .row{gap:4px}.status-line{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.status-line.ok{color:var(--ok)}.status-line.bad{color:var(--bad)}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.phone .input{height:44px}.landing{flex:1;display:flex;flex-direction:column;gap:16px;padding:20px}.inv{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center;padding:24px 16px;border-radius:20px;background:var(--surface)}.inv .mono{width:72px;height:72px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--font);font-size:22px;background:var(--card)}.inv .eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}.inv h1{font-size:28px}.landing .btn{height:48px;width:100%}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.guide{background:var(--accent-soft);color:var(--on-accent-soft);border-radius:16px;padding:16px;text-align:left;width:100%;display:flex;flex-direction:column;gap:6px}.guide a{color:inherit;font-weight:500}.split{grid-template-columns:minmax(0,2fr) minmax(320px,1fr)}@media(max-width:1100px){.split{grid-template-columns:minmax(0,1fr)}}.calc{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.calc span{background:var(--surface);padding:8px 12px;border-radius:10px}.calc b{font-family:var(--font);font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.calc .eq{background:var(--accent-soft);color:var(--on-accent-soft)}input[type=range]{width:100%;accent-color:var(--accent)}.drv-results{display:flex;flex-direction:column;gap:4px}.drv-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;text-align:left}.drv-item:hover{background:var(--surface)}.drv-item.picked{border-color:var(--accent);background:var(--surface)}.warn-line{background:var(--warn-soft);color:var(--warn);padding:8px 12px;border-radius:8px;font-size:13px}.check{display:flex;gap:8px;align-items:center;font-size:13px}.check input{accent-color:var(--accent);width:16px;height:16px;margin:0}.batch{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.batch:last-child{border-bottom:none}.batch-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}.batch .when b{font-family:var(--font);font-size:18px;font-weight:500;display:block}@media(max-width:560px){.batch{grid-template-columns:minmax(0,1fr);gap:6px}}dialog{border:none;border-radius:28px;padding:0;background:var(--card);color:var(--fg);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 48px);box-shadow:0 8px 32px #00000040}dialog::backdrop{background:#0006}.dlg{display:flex;flex-direction:column;max-height:calc(100vh - 48px)}.dlg-head{padding:24px 24px 12px;display:flex;flex-direction:column;gap:6px}.dlg-body{padding:0 24px 8px;overflow:auto;display:flex;flex-direction:column;gap:14px}.dlg-foot{padding:16px 24px 20px;display:flex;justify-content:flex-end;gap:8px}.snack{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,120px);background:#303030;color:#f2f2f2;padding:14px 20px;border-radius:8px;box-shadow:0 4px 12px #0000004d;transition:transform .25s;z-index:50;max-width:calc(100vw - 32px);display:flex;gap:12px;align-items:center}.snack{visibility:hidden}dialog.wide{width:min(940px,calc(100vw - 32px))}.bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 8px 8px 16px;background:var(--accent-soft);color:var(--on-accent-soft);border-radius:12px}.bulkbar .input{width:auto;height:36px;background:var(--card)}.namebtn{border:none;background:none;padding:0;font:inherit;font-weight:500;color:var(--fg);cursor:pointer;text-align:left}.namebtn:hover{color:var(--accent);text-decoration:underline}tr.sel td{background:var(--surface)}td input[type=checkbox],th input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);margin:0;vertical-align:middle}textarea.input{height:150px;padding:10px 12px;resize:vertical}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:12px}.snack.show{transform:translate(-50%);visibility:visible}.radio{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.radio input{margin-top:3px;accent-color:var(--accent)}.radio:has(input:checked){border-color:var(--accent);background:var(--surface)}.wa-preview{background:var(--surface);border-radius:12px;padding:16px}.empty{color:var(--muted);padding:24px 0;text-align:center}@media(max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g2,.g3,.guest-layout{grid-template-columns:minmax(0,1fr)}.guest-layout>.phone{order:-1}}@media(max-width:720px){.shell{grid-template-columns:minmax(0,1fr)}.shell main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.rail{position:fixed;inset:auto 0 0;z-index:6;flex-direction:row;gap:0;background:var(--card);border-top:1px solid var(--line);padding:6px max(4px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-left,0px))}.rail a,.rail .rail-more{flex:1;min-width:0;font-size:12px;padding:2px 0 4px}.rail .rail-more{display:flex}.rail .secondary,.brand small,.appbar .logout-form,.wedding-pill .muted{display:none}.wedding-pill{padding:6px 12px}.kpi .value{font-size:28px}.phone{border-radius:20px;min-height:0}}@media(max-width:420px){.g4{grid-template-columns:minmax(0,1fr)}.appbar .btn span.lbl{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.solo{padding:24px max(16px,env(safe-area-inset-right,0px)) 48px max(16px,env(safe-area-inset-left,0px))}.solo .page{max-width:none}.alert{background:var(--bad-soft);color:var(--bad);padding:8px 12px;border-radius:8px;font-size:13px}.soon{font-size:10px;font-weight:500;color:var(--faint);line-height:1;margin-top:-2px}.icon-btn.danger:hover{color:var(--bad)}.guest{min-height:100%;display:flex;flex-direction:column;width:100%;max-width:600px;margin-inline:auto;background:var(--bg);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.guest-top{padding:16px 16px 12px;display:flex;flex-direction:column;gap:6px}.guest-top .eyebrow{font-size:12px;color:var(--muted);letter-spacing:.04em}.guest .rsvp{flex:1}.guest .rsvp-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}.guest .done{padding-top:16px}.guest .done>.btn{width:100%;height:48px}.lang a{padding:6px 14px;font-size:13px;font-weight:500;color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:32px}.lang a[aria-pressed=true]{background:var(--accent-soft);color:var(--on-accent-soft)}.guest fieldset.fn-card{margin:0}.guest fieldset label{display:flex;align-items:center;gap:8px;min-height:40px}.guest .li-main small{display:block}.public-page{display:flex;flex-direction:column;gap:14px;padding:16px max(16px,env(safe-area-inset-right,0px)) 32px max(16px,env(safe-area-inset-left,0px))}.public-page h1{font-size:24px}.pause-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;border-radius:12px;background:var(--warn-soft);color:var(--warn)}.pause-banner>span:nth-child(2){flex:1 1 280px;min-width:0}.pause-banner .btn{height:36px}.tpl-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line)}.tpl-row:last-child{border-bottom:none}.msg-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.msg-list li{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid var(--line);font-size:13px}.msg-list li:last-child{border-bottom:none}.confirm-card{display:grid;gap:10px;justify-items:start}.confirm-kind{display:inline-flex;align-items:center;gap:6px;font-size:13px;margin:0}.confirm-kind .ms{font-size:18px}.confirm-summary{font-size:16px;line-height:1.5;margin:0;overflow-wrap:anywhere}.confirm-result{display:flex;align-items:flex-start;gap:8px;margin:0;overflow-wrap:anywhere}.confirm-result .ms{font-size:20px;color:var(--accent)}.confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.confirm-card p{margin:0}.front-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.front-hero{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px 0 8px}.front-hero h1{max-width:20ch;font-size:clamp(28px,5vw,48px);line-height:1.12}.front-hero p{max-width:56ch;font-size:16px}.front-foot{display:flex;gap:16px;margin-top:32px;font-size:13px}.wedding-link{color:inherit;text-decoration:none}.wedding-link:hover .li-main>b{color:var(--accent)}.solo .auth{max-width:440px}.small{font-size:13px}.code-input{font-size:20px;letter-spacing:.3em;font-variant-numeric:tabular-nums}.settings-form{display:flex;flex-direction:column;gap:14px}.field-error{color:var(--bad);font-size:12px}.field small.muted{font-size:12px}.check-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);font-weight:400}.ok-line{display:flex;align-items:center;gap:6px;background:var(--ok-soft);color:var(--ok);padding:8px 12px;border-radius:8px;font-size:13px}
