@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2)format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Serif;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2)format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory:#faf6f0;--paper:#fffdf9;--sand:#f3ede4;--line:#e6ddd1;--line-soft:#efe8de;--ink:#231c1d;--ink-2:#5d5354;--ink-3:#928687;--ink-4:#b9aeac;--wine:#6b1d2d;--wine-hover:#561623;--wine-ink:#7a2536;--wine-tint:#f4e8e7;--wine-wash:#f9f1ef;--blush:#ee9f97;--blush-tint:#fbece8;--ochre:#8f6428;--ochre-tint:#f5ecdc;--moss:#4f5e45;--moss-tint:#e9ede2;--c-paid:#9a2b40;--c-owed:#e08075;--c-unconf:#3477b5;--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--t-11:.6875rem;--t-12:.75rem;--t-13:.8125rem;--t-14:.875rem;--t-15:.9375rem;--t-17:1.0625rem;--t-20:1.25rem;--t-28:1.75rem;--t-36:2.25rem;--t-48:3rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-8:32px;--s-10:40px;--s-12:48px;--s-16:64px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--shadow-pop:0 1px 2px #231c1d0a, 0 8px 24px -8px #231c1d1f;--shadow-sheet:0 -1px 0 var(--line), 0 -16px 40px -12px #231c1d2e;--ease:cubic-bezier(.2, .7, .2, 1);--sidebar:236px;--bottom-nav:64px;--safe-b:env(safe-area-inset-bottom,0px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--ivory);color:var(--ink);font-family:var(--sans);font-size:var(--t-14);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--blush-tint);color:var(--wine)}:focus-visible{outline:2px solid var(--wine);outline-offset:2px;border-radius:4px}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.serif{font-family:var(--serif);letter-spacing:-.01em;font-weight:400}.eyebrow{font-size:var(--t-11);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);font-weight:560}.muted{color:var(--ink-3)}.ink-2{color:var(--ink-2)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}hr.rule{border:0;border-top:1px solid var(--line);margin:0}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100dvh;display:grid}.sidebar{height:100dvh;padding:var(--s-6) var(--s-4) var(--s-4);border-right:1px solid var(--line);background:var(--ivory);flex-direction:column;display:flex;position:sticky;top:0}.brand{padding:0 var(--s-2) var(--s-8)}.brand-title{font-size:var(--t-11);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-weight:620;line-height:1.35}.brand-sub{margin-top:var(--s-2);font-family:var(--serif);font-size:var(--t-17);color:var(--wine);line-height:1}.nav{flex-direction:column;gap:1px;display:flex}.nav-group{margin-top:var(--s-5);padding:0 var(--s-2) var(--s-2)}.nav a{align-items:center;gap:var(--s-3);height:34px;padding:0 var(--s-2);border-radius:var(--r-sm);color:var(--ink-2);font-size:var(--t-14);font-weight:450;transition:background .15s,color .15s;display:flex;position:relative}.nav a svg{stroke-width:1.6px;width:16px;height:16px;color:var(--ink-3);transition:color .15s}.nav a:hover{background:var(--sand);color:var(--ink)}.nav a.active{color:var(--wine);background:var(--wine-wash);font-weight:560}.nav a.active svg{color:var(--wine)}.nav a.active:before{content:"";background:var(--wine);border-radius:0 2px 2px 0;width:2px;position:absolute;top:8px;bottom:8px;left:-16px}.sidebar-foot{padding:var(--s-4) var(--s-2) 0;border-top:1px solid var(--line);align-items:center;gap:var(--s-3);margin-top:auto;display:flex}.avatar{background:var(--wine);width:32px;height:32px;color:var(--ivory);font-family:var(--serif);font-size:var(--t-17);border-radius:50%;flex:none;place-items:center;line-height:1;display:grid}.avatar.bride{background:var(--blush);color:var(--wine-hover)}.who{flex:1;min-width:0;line-height:1.25}.who b{font-weight:560;display:block}.who span{font-size:var(--t-12);color:var(--ink-3)}.main{min-width:0;padding:var(--s-10) clamp(var(--s-6), 4vw, var(--s-16)) var(--s-16)}.page{max-width:1120px;animation:page-in .32s var(--ease) both;margin:0 auto}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}}.topbar,.bottom-nav{display:none}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--s-6);padding-bottom:var(--s-6);margin-bottom:var(--s-6);border-bottom:1px solid var(--line);display:flex}.page-head h1{font-family:var(--serif);font-weight:400;font-size:var(--t-48);letter-spacing:-.02em;margin:0;line-height:1}.page-head .sub{margin-top:var(--s-3);color:var(--ink-2);font-size:var(--t-14)}.page-head .sub b{color:var(--ink);font-weight:560}.page-head .actions{gap:var(--s-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.section{margin-top:var(--s-12)}.section-head{justify-content:space-between;align-items:baseline;gap:var(--s-4);margin-bottom:var(--s-4);display:flex}.section-head h2{font-size:var(--t-11);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0;font-weight:600}.section-head a,.link{font-size:var(--t-13);color:var(--wine-ink);align-items:center;gap:4px;font-weight:500;display:inline-flex}.section-head a:hover,.link:hover{text-underline-offset:3px;text-decoration:underline}.btn{justify-content:center;align-items:center;gap:var(--s-2);height:36px;padding:0 var(--s-4);border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:var(--t-14);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:520;transition:background .15s,border-color .15s,color .15s,transform 80ms;display:inline-flex}.btn svg{stroke-width:1.8px;flex:none;width:16px;height:16px}.btn:hover{background:var(--sand);border-color:#dcd1c3}.btn:active{transform:translateY(.5px)scale(.99)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--wine);border-color:var(--wine);color:#fff8f4}.btn.primary:hover{background:var(--wine-hover);border-color:var(--wine-hover)}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--sand);color:var(--ink)}.btn.danger{color:var(--wine)}.btn.danger.solid{background:var(--wine);color:#fff;border-color:var(--wine)}.btn.sm{height:30px;padding:0 var(--s-3);font-size:var(--t-13);border-radius:var(--r-sm)}.btn.lg{height:44px;padding:0 var(--s-5);font-size:var(--t-15)}.btn.block{width:100%}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--sand);color:var(--ink)}.icon-btn svg{stroke-width:1.7px;width:16px;height:16px}.spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>span,.label{font-size:var(--t-12);color:var(--ink-2);font-weight:540}.field .hint{font-size:var(--t-12);color:var(--ink-3)}.input,.select,.textarea{width:100%;height:38px;padding:0 var(--s-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);font-size:var(--t-14);appearance:none;transition:border-color .15s,box-shadow .15s,background .15s}.textarea{height:auto;min-height:76px;padding:10px var(--s-3);resize:vertical;line-height:1.45}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:hover,.select:hover,.textarea:hover{border-color:#d8ccbd}.input:focus,.select:focus,.textarea:focus{border-color:var(--wine);background:#fff;outline:none;box-shadow:0 0 0 3px #6b1d2d1a}.select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23928687' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.input-icon{position:relative}.input-icon>svg{width:15px;height:15px;color:var(--ink-3);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.input-icon .input{padding-left:34px}.input-icon .clear{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.check{align-items:center;gap:var(--s-2);font-size:var(--t-13);color:var(--ink-2);cursor:pointer;display:inline-flex}.check input{width:16px;height:16px;accent-color:var(--wine)}.form-grid{gap:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid .full{grid-column:1/-1}.form-error{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);background:var(--wine-wash);color:var(--wine);font-size:var(--t-13)}.segmented{border-radius:var(--r-md);background:var(--sand);border:1px solid var(--line-soft);padding:2px;display:inline-flex}.segmented button{height:32px;padding:0 var(--s-4);color:var(--ink-2);font-size:var(--t-13);cursor:pointer;background:0 0;border:0;border-radius:6px;font-weight:520;transition:background .15s,color .15s,box-shadow .15s}.segmented button[aria-pressed=true]{background:var(--paper);color:var(--ink);box-shadow:0 0 0 1px var(--line), 0 1px 2px #231c1d0f}.segmented.fill{display:flex}.segmented.fill button{flex:1}.tabs{gap:var(--s-6);border-bottom:1px solid var(--line);margin-bottom:var(--s-5);display:flex}.tabs button,.tabs a{padding:0 0 var(--s-3);color:var(--ink-3);font-size:var(--t-14);cursor:pointer;align-items:baseline;gap:var(--s-2);background:0 0;border:0;font-weight:520;display:inline-flex;position:relative}.tabs .count{font-size:var(--t-12);color:var(--ink-4)}.tabs [aria-selected=true]{color:var(--ink)}.tabs [aria-selected=true]:after{content:"";background:var(--wine);height:2px;position:absolute;bottom:-1px;left:0;right:0}.table-wrap{border-top:1px solid var(--line)}.table{border-collapse:collapse;width:100%;font-size:var(--t-14)}.table th{text-align:left;padding:var(--s-3) var(--s-3);font-size:var(--t-11);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600}.table td{padding:var(--s-3);border-bottom:1px solid var(--line-soft);vertical-align:middle}.table th:first-child,.table td:first-child{padding-left:0}.table th:last-child,.table td:last-child{padding-right:0}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:#f3ede48c}.table tr.clickable{cursor:pointer}.table .right{text-align:right}.table .primary-cell{font-weight:540}.table .secondary{font-size:var(--t-12);color:var(--ink-3);margin-top:1px;font-weight:400;display:block}.table .actions-cell{white-space:nowrap;text-align:right;width:1%}.row-actions{opacity:.55;gap:2px;transition:opacity .15s;display:inline-flex}tr:hover .row-actions,.row-actions:focus-within{opacity:1}.status-toggle{border-radius:var(--r-sm);height:30px;color:var(--ink-3);font-size:var(--t-13);cursor:pointer;white-space:nowrap;transition:background .18s var(--ease), color .18s, border-color .18s;background:0 0;border:1px dashed #d9cfc2;align-items:center;gap:7px;padding:0 10px 0 8px;font-weight:500;display:inline-flex}.status-toggle .dot{border:1.5px solid;border-radius:50%;flex:none;place-items:center;width:14px;height:14px;transition:background .18s,border-color .18s;display:grid}.status-toggle .dot svg{stroke-width:3.2px;opacity:0;width:9px;height:9px;transition:opacity .18s, transform .22s var(--ease);transform:scale(.4)}.status-toggle:hover{border-color:var(--wine);color:var(--wine);background:var(--wine-wash)}.status-toggle.on{background:var(--wine-tint);color:var(--wine);border:1px solid #0000}.status-toggle.on .dot{background:var(--wine);border-color:var(--wine);color:#fff}.status-toggle.on .dot svg{opacity:1;transform:none}.status-toggle.on:hover{background:#eedcda}.status-toggle .when{color:var(--wine-ink);opacity:.7;font-weight:400;font-size:var(--t-12)}.badge{height:22px;font-size:var(--t-12);white-space:nowrap;background:var(--sand);color:var(--ink-2);border-radius:5px;align-items:center;gap:6px;padding:0 8px;font-weight:520;display:inline-flex}.badge:before{content:"";opacity:.8;background:currentColor;border-radius:50%;width:6px;height:6px}.badge.plain:before{display:none}.badge.wine{background:var(--wine-tint);color:var(--wine)}.badge.blush{background:var(--blush-tint);color:#9b4a42}.badge.ochre{background:var(--ochre-tint);color:var(--ochre)}.badge.moss{background:var(--moss-tint);color:var(--moss)}.badge.hollow{box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-3);background:0 0}.type-tag{font-size:var(--t-12);color:var(--ink-3);font-weight:500}.priority{font-size:var(--t-12);color:var(--ink-3);align-items:center;gap:6px;font-weight:500;display:inline-flex}.priority i{gap:2px;display:inline-flex}.priority i b{background:var(--line);border-radius:1px;width:3px;height:10px}.priority.HIGH i b{background:var(--wine)}.priority.MEDIUM i b:nth-child(-n+2){background:var(--ink-3)}.priority.LOW i b:first-child{background:var(--ink-4)}.priority.HIGH{color:var(--wine-ink)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money .cur{letter-spacing:.04em;color:var(--ink-3);margin-right:.3em;font-size:.78em;font-weight:500}.money .approx{color:var(--ink-3);margin-right:.15em}.tbd{font-size:var(--t-11);letter-spacing:.1em;color:var(--ink-3);border:1px dashed var(--ink-4);border-radius:4px;padding:1px 6px;font-weight:620;line-height:1.4;display:inline-block}.progress{background:var(--line-soft);border-radius:2px;height:4px;position:relative;overflow:hidden}.progress>span{background:var(--wine);transition:width .7s var(--ease);border-radius:2px;position:absolute;inset:0 auto 0 0}.progress.blush>span{background:var(--blush)}.stack-bar{background:var(--line-soft);border-radius:2px;gap:2px;height:8px;display:flex;overflow:hidden}.stack-bar>span{transition:flex-basis .7s var(--ease)}.stack-bar .paid{background:var(--c-paid)}.stack-bar .owed{background:var(--c-owed)}.stack-bar .unknown{background:var(--c-unconf)}.legend{gap:var(--s-4);font-size:var(--t-12);color:var(--ink-2);flex-wrap:wrap;display:flex}.legend i{vertical-align:0;border-radius:2px;width:8px;height:8px;margin-right:6px;display:inline-block}.overlay{z-index:60;padding:var(--s-6);background:#231c1d47;place-items:center;animation:.18s both fade-in;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}}.dialog{border-radius:var(--r-xl);background:var(--paper);width:min(520px,100%);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-pop), 0 0 0 1px var(--line);animation:dialog-in .22s var(--ease) both;overflow:auto}.dialog.wide{width:min(680px,100%)}.dialog.narrow{width:min(400px,100%)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.dialog-head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-6) var(--s-6) 0;display:flex}.dialog-head h3{font-family:var(--serif);font-weight:400;font-size:var(--t-28);letter-spacing:-.01em;margin:0;line-height:1.1}.dialog-head p{color:var(--ink-3);font-size:var(--t-13);margin:6px 0 0}.dialog-body{padding:var(--s-5) var(--s-6) var(--s-6)}.dialog-foot{justify-content:flex-end;gap:var(--s-2);padding:var(--s-4) var(--s-6);border-top:1px solid var(--line-soft);background:var(--paper);display:flex;position:sticky;bottom:0}.dialog-foot .left{margin-right:auto}.grabber{display:none}.toasts{z-index:80;left:50%;bottom:var(--s-6);gap:var(--s-2);pointer-events:none;flex-direction:column;align-items:center;width:max-content;max-width:calc(100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;align-items:center;gap:var(--s-3);min-height:40px;padding:6px 6px 6px var(--s-4);border-radius:var(--r-lg);background:var(--ink);color:#f6efe8;font-size:var(--t-13);animation:toast-in .26s var(--ease) both;display:flex;box-shadow:0 8px 24px -8px #231c1d66}.toast.leaving{animation:.2s both toast-out}.toast svg{width:15px;height:15px;color:var(--blush);flex:none}.toast.error svg{color:#f3b1a9}.toast .toast-msg{padding-right:var(--s-2)}.toast button{border-radius:var(--r-sm);color:#fff;height:28px;font-size:var(--t-12);cursor:pointer;background:#ffffff1a;border:0;padding:0 10px;font-weight:560}.toast button:hover{background:#ffffff2e}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@keyframes toast-out{to{opacity:0;transform:translateY(4px)}}.menu-wrap{display:inline-block;position:relative}.menu{z-index:40;border-radius:var(--r-lg);background:var(--paper);min-width:168px;box-shadow:var(--shadow-pop), 0 0 0 1px var(--line);animation:dialog-in .14s var(--ease) both;text-align:left;padding:4px;position:absolute;top:calc(100% + 4px);right:0}.menu button{align-items:center;gap:var(--s-2);width:100%;height:34px;padding:0 var(--s-3);border-radius:var(--r-sm);font-size:var(--t-13);cursor:pointer;color:var(--ink);background:0 0;border:0;display:flex}.menu button svg{width:15px;height:15px;color:var(--ink-3)}.menu button:hover{background:var(--sand)}.menu button.danger,.menu button.danger svg{color:var(--wine)}.skel{background:linear-gradient(90deg, var(--sand) 0%, var(--line-soft) 40%, var(--sand) 80%);background-size:300% 100%;border-radius:4px;animation:1.5s ease-in-out infinite shimmer;display:block}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-50% 0}}.empty{padding:var(--s-16) var(--s-4);text-align:center;max-width:420px;margin:0 auto}.empty .mark{width:40px;height:40px;margin:0 auto var(--s-5);border:1px solid var(--line);color:var(--ink-3);border-radius:50%;place-items:center;display:grid}.empty .mark svg{stroke-width:1.5px;width:18px;height:18px}.empty h3{font-family:var(--serif);font-weight:400;font-size:var(--t-28);letter-spacing:-.01em;margin:0}.empty p{margin:var(--s-2) 0 var(--s-6);color:var(--ink-2)}.error-state{padding:var(--s-10) 0;align-items:flex-start;gap:var(--s-3);flex-direction:column;display:flex}.error-state h3{font-family:var(--serif);font-weight:400;font-size:var(--t-28);margin:0}.error-state p{color:var(--ink-2);margin:0}.login{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);min-height:100dvh;display:grid}.login-art{background:var(--wine);color:#f6e8e3;padding:var(--s-12);flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.login-art .monogram{font-family:var(--serif);letter-spacing:-.04em;color:#f6e8e3;font-size:clamp(120px,16vw,220px);line-height:.82}.login-art .monogram em{color:var(--blush);margin:0 .02em;font-style:italic}.login-art .foot{justify-content:space-between;gap:var(--s-4);font-size:var(--t-12);letter-spacing:.14em;text-transform:uppercase;color:#f6e8e3b3;padding-top:var(--s-4);border-top:1px solid #f6e8e333;display:flex}.login-panel{padding:var(--s-12) clamp(var(--s-6), 7vw, 120px);flex-direction:column;justify-content:center;display:flex}.login-panel form{width:100%;max-width:360px}.login-panel h1{margin:var(--s-4) 0 var(--s-10);font-family:var(--serif);font-weight:400;font-size:var(--t-48);letter-spacing:-.02em;line-height:1}.code-input{height:52px;font-size:var(--t-17);letter-spacing:.08em;padding:0 var(--s-4)}.login-panel .btn{margin-top:var(--s-4)}.login-panel .note{margin-top:var(--s-8);font-size:var(--t-12);color:var(--ink-3)}.shake{animation:.36s shake}@keyframes shake{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}.hello{justify-content:space-between;align-items:baseline;gap:var(--s-4);padding-bottom:var(--s-4);border-bottom:1px solid var(--line);display:flex}.hello .eyebrow{color:var(--ink-2)}.hero{gap:var(--s-10);padding:var(--s-10) 0 var(--s-10);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(260px,340px);align-items:end;display:grid}.countdown{align-items:flex-end;gap:var(--s-5);display:flex}.countdown .days{font-family:var(--serif);letter-spacing:-.045em;color:var(--wine);font-variant-numeric:lining-nums;font-size:clamp(120px,15vw,200px);line-height:.76}.countdown .unit{padding-bottom:6px}.countdown .unit b{font-size:var(--t-11);letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:620;display:block}.countdown .unit span{font-size:var(--t-13);color:var(--ink-3);font-variant-numeric:tabular-nums;margin-top:6px;display:block}.hero-meta{gap:var(--s-4);padding-bottom:4px;display:grid}.hero-meta .date{font-family:var(--serif);font-size:var(--t-36);letter-spacing:-.01em;line-height:1}.hero-meta dl{gap:6px var(--s-4);font-size:var(--t-13);grid-template-columns:auto 1fr;margin:0;display:grid}.hero-meta dt{color:var(--ink-3)}.hero-meta dd{color:var(--ink);margin:0}.dash-grid{gap:var(--s-12);margin-top:var(--s-10);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);display:grid}.dash-grid>*{min-width:0}.ledger{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-col{padding:var(--s-4) var(--s-6) 0 0}.ledger-col+.ledger-col{padding:var(--s-4) 0 0 var(--s-6);border-left:1px solid var(--line)}.ledger-col .who-line{margin-bottom:var(--s-5);justify-content:space-between;align-items:baseline;display:flex}.ledger-col .who-line b{font-weight:560}.ledger-col .who-line .total{font-family:var(--serif);font-size:var(--t-36);line-height:1}.ledger-col .who-line .total small{font-family:var(--sans);font-size:var(--t-12);color:var(--ink-3);margin-left:6px}.stat-line{padding:var(--s-3) 0;border-top:1px solid var(--line-soft)}.stat-line .row{margin-bottom:var(--s-2);font-size:var(--t-13);justify-content:space-between;align-items:baseline;display:flex}.stat-line .row span{color:var(--ink-2)}.stat-line .row b{font-variant-numeric:tabular-nums;font-weight:560}.stat-line .row b small{color:var(--ink-3);font-weight:400}.combined{gap:var(--s-2) var(--s-6);margin-top:var(--s-5);padding-top:var(--s-3);border-top:1px solid var(--line);font-size:var(--t-13);color:var(--ink-2);flex-wrap:wrap;display:flex}.combined b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:560}.attention{border-top:1px solid var(--ink)}.attention ol{margin:0;padding:0;list-style:none}.attention li a,.attention li>div{gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--line-soft);transition:padding .2s var(--ease);grid-template-columns:32px minmax(0,1fr) 16px;align-items:baseline;display:grid}.attention li a:hover{padding-left:4px}.attention li a:hover .arrow{color:var(--wine);transform:translate(2px)}.attention .n{font-family:var(--serif);font-size:var(--t-20);color:var(--blush);line-height:1}.attention .t{font-weight:540;line-height:1.35}.attention .d{font-size:var(--t-13);color:var(--ink-3);margin-top:2px;font-weight:400;display:block}.attention .arrow{width:14px;height:14px;color:var(--ink-4);transition:transform .2s var(--ease), color .2s;align-self:center}.attention .all-clear{padding:var(--s-5) 0;color:var(--ink-2)}.attention-head{padding:var(--s-4) 0 var(--s-2);justify-content:space-between;align-items:baseline;display:flex}.attention-head h2{font-family:var(--serif);font-weight:400;font-size:var(--t-28);margin:0;line-height:1.1}.ask{margin-top:var(--s-5);position:relative}.ask .input{background:var(--paper);height:44px;padding-right:44px}.ask button{border-radius:var(--r-sm);background:var(--wine);color:#fff;cursor:pointer;border:0;place-items:center;width:32px;height:32px;display:grid;position:absolute;top:6px;right:6px}.ask button svg{width:15px;height:15px}.figures{border-top:1px solid var(--ink);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.figure{padding:var(--s-4) var(--s-5) var(--s-5) 0}.figure+.figure{padding-left:var(--s-5);border-left:1px solid var(--line)}.figure .label{margin-bottom:var(--s-3);color:var(--ink-3);font-weight:500;display:block}.figure .value{font-family:var(--serif);font-size:var(--t-36);letter-spacing:-.01em;white-space:nowrap;line-height:1}.figure .value .cur{font-family:var(--sans);font-size:var(--t-12);color:var(--ink-3);letter-spacing:.08em;vertical-align:.9em;margin-right:6px}.figure .value .plus{color:var(--blush);margin-left:2px}.figure .value .approx{color:var(--ink-3);margin-right:2px;font-size:.7em}.figure .foot{margin-top:var(--s-2);font-size:var(--t-12);color:var(--ink-3)}.figure.hero-fig .value{color:var(--wine)}.cat-rows{margin-top:var(--s-6)}.cat-row{gap:var(--s-5);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-13);grid-template-columns:140px minmax(0,1fr) 150px;align-items:center;display:grid}.cat-row .name{font-weight:520}.cat-row .amt{text-align:right;color:var(--ink-2)}.lists{gap:var(--s-10);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.lists>*{min-width:0}.plain-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.plain-list li{justify-content:space-between;align-items:baseline;gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-13);display:flex}.plain-list li .l{min-width:0}.plain-list li .l b{font-weight:540;display:block}.plain-list li .l small{color:var(--ink-3);font-size:var(--t-12)}.plain-list li .r{text-align:right;color:var(--ink-2);flex:none}.plain-list .empty-li{color:var(--ink-3);justify-content:flex-start}.task-row{gap:var(--s-2);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;display:grid}.task-row.done .task-title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.task-check{border:1.5px solid var(--ink-4);cursor:pointer;color:#0000;width:20px;height:20px;transition:all .18s var(--ease);background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.task-check svg{stroke-width:3px;width:11px;height:11px}.task-check:hover{border-color:var(--wine);color:var(--wine)}.task-check.on{background:var(--wine);border-color:var(--wine);color:#fff}.task-check.half{border-color:var(--wine);background:conic-gradient(var(--wine) 0 50%, transparent 50% 100%)}.task-title{cursor:pointer;min-width:0;font-weight:500}.task-meta{gap:var(--s-3);font-size:var(--t-12);color:var(--ink-3);flex-wrap:wrap;align-items:center;margin-top:2px;display:flex}.owner-tag{font-size:var(--t-12);color:var(--ink-2)}.due{font-variant-numeric:tabular-nums}.due.late{color:var(--wine);font-weight:540}.toolbar{gap:var(--s-2);margin-bottom:var(--s-4);flex-wrap:wrap;align-items:center;display:flex}.toolbar .search{flex:260px;max-width:360px}.toolbar .select{width:auto;min-width:128px}.toolbar .spacer{flex:1}.chips{display:none}.quick-add{gap:var(--s-2);padding:var(--s-4);margin-bottom:var(--s-5);border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);animation:dialog-in .2s var(--ease) both;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto minmax(0,1.4fr) auto;align-items:end;display:grid}.quick-add .field>span{font-size:var(--t-11)}.quick-add .close{align-self:start}.guest-name{font-weight:540}.guest-notes{font-size:var(--t-12);color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:260px;margin-top:1px;display:block;overflow:hidden}.phone{font-variant-numeric:tabular-nums;color:var(--ink-2);letter-spacing:.01em;align-items:center;gap:4px;display:inline-flex}.phone .icon-btn{opacity:0;width:26px;height:26px}tr:hover .phone .icon-btn,.phone .icon-btn:focus-visible{opacity:1}.row-flash{animation:1.2s flash}@keyframes flash{0%{background:var(--blush-tint)}to{background:0 0}}.guest-cards{display:none}.results-note{padding:var(--s-4) 0;font-size:var(--t-12);color:var(--ink-3)}.fin-band{border-top:1px solid var(--ink);margin-bottom:var(--s-5);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.fin-band .figure .value{font-size:var(--t-28)}.bar-block{margin:var(--s-2) 0 var(--s-10);gap:var(--s-3);display:grid}.status-text{font-size:var(--t-13);color:var(--ink-2)}.stage{font-size:var(--t-12);color:var(--ink-3)}.note-block{margin-top:var(--s-10);padding-top:var(--s-4);border-top:1px solid var(--line);gap:var(--s-6);font-size:var(--t-12);color:var(--ink-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.note-block b{color:var(--ink-2);margin-bottom:2px;font-weight:560;display:block}.sub-list{border-top:1px solid var(--line);margin-top:var(--s-2)}.sub-list .item{align-items:center;gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--line-soft);font-size:var(--t-13);display:flex}.sub-list .item .grow{flex:1;min-width:0}.sub-list .item .grow small{color:var(--ink-3);font-size:var(--t-12);display:block}.drawer-section{margin-top:var(--s-6)}.drawer-section h4{margin:0 0 var(--s-2);font-size:var(--t-11);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);justify-content:space-between;align-items:center;font-weight:600;display:flex}.dropzone{align-items:center;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);background:var(--ivory);cursor:pointer;color:var(--ink-2);font-size:var(--t-13);border:1px dashed #d6cbbd;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--wine);background:var(--wine-wash)}.dropzone svg{width:18px;height:18px;color:var(--ink-3)}.file-icon{border:1px solid var(--line);background:var(--paper);letter-spacing:.06em;width:32px;height:36px;color:var(--ink-3);border-radius:4px;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.assistant{gap:var(--s-12);grid-template-columns:minmax(0,1fr) 300px;display:grid}.assistant>*{min-width:0}.thread{gap:var(--s-8);flex-direction:column;min-height:200px;display:flex}.turn-q{font-family:var(--serif);font-size:var(--t-28);letter-spacing:-.01em;color:var(--ink);line-height:1.15}.turn-a{margin-top:var(--s-4);padding-left:var(--s-4);border-left:2px solid var(--blush);color:var(--ink);font-size:var(--t-15);animation:page-in .3s var(--ease) both;line-height:1.6}.turn-a p{margin:0 0 var(--s-3)}.turn-a p:last-child,.turn-a ul:last-child{margin-bottom:0}.turn-a ul{margin:0 0 var(--s-3);padding-left:1.1em}.turn-a li{margin:2px 0}.turn-a li::marker{color:var(--ink-4)}.turn-a b,.turn-a strong{font-weight:600}.turn-a .source{margin-top:var(--s-3);font-size:var(--t-11);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4)}.thinking{gap:4px;padding:6px 0;display:inline-flex}.thinking i{background:var(--ink-4);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite think}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes think{0%,60%,to{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-2px)}}.composer{bottom:var(--s-6);margin-top:var(--s-10);position:sticky}.composer .input{height:52px;padding:0 56px 0 var(--s-4);font-size:var(--t-15);border-radius:var(--r-lg);box-shadow:0 8px 24px -12px #231c1d24}.composer button{border-radius:var(--r-md);background:var(--wine);color:#fff;cursor:pointer;border:0;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:8px;right:8px}.composer button:disabled{background:var(--ink-4);cursor:default}.composer button svg{width:16px;height:16px}.suggestions{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.suggestions button{justify-content:space-between;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) 0;border:0;border-bottom:1px solid var(--line-soft);text-align:left;font-size:var(--t-14);color:var(--ink-2);cursor:pointer;background:0 0;transition:color .15s;display:flex}.suggestions button:hover{color:var(--wine)}.suggestions button svg{width:14px;height:14px;color:var(--ink-4);flex:none}.intro-q{font-family:var(--serif);font-size:var(--t-36);letter-spacing:-.015em;margin:0 0 var(--s-3);max-width:18ch;line-height:1.1}.settings-grid{gap:var(--s-8) var(--s-10);padding:var(--s-8) 0;border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);display:grid}.settings-grid:first-of-type{padding-top:0}.settings-grid h3{font-size:var(--t-15);margin:0;font-weight:560}.settings-grid p{color:var(--ink-3);font-size:var(--t-13);margin:4px 0 0}.settings-grid form{max-width:520px}@media (width<=1100px){.lists{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-band{grid-template-columns:repeat(3,minmax(0,1fr))}.fin-band .figure:nth-child(4){border-left:0;padding-left:0}.fin-band .figure:nth-child(n+4){border-top:1px solid var(--line)}.assistant{grid-template-columns:1fr}}@media (width<=960px){.hero{gap:var(--s-6);grid-template-columns:1fr}.dash-grid{gap:var(--s-10);grid-template-columns:1fr}.figures{grid-template-columns:repeat(2,minmax(0,1fr))}.figures .figure:nth-child(3){border-left:0;padding-left:0}.figures .figure:nth-child(n+3){border-top:1px solid var(--line)}.quick-add{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-add .notes{grid-column:1/-1}}@media (width<=760px){:root{--t-48:2.5rem}.shell{display:block}.sidebar{display:none}.main{padding:var(--s-4) var(--s-4) calc(var(--bottom-nav) + var(--safe-b) + var(--s-10))}.topbar{height:52px;padding:0 var(--s-4);z-index:30;-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid var(--line);background:#faf6f0eb;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar .brand-title{font-size:10px}.topbar .days-pill{font-size:var(--t-12);color:var(--ink-2);font-variant-numeric:tabular-nums}.topbar .days-pill b{font-family:var(--serif);font-size:var(--t-17);color:var(--wine);margin-right:3px;font-weight:400}.bottom-nav{z-index:40;height:calc(var(--bottom-nav) + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:saturate(1.4)blur(12px);border-top:1px solid var(--line);background:#fffdf9f5;grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a,.bottom-nav button{color:var(--ink-3);letter-spacing:.01em;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:10.5px;font-weight:540;display:flex;position:relative}.bottom-nav svg{stroke-width:1.6px;width:21px;height:21px}.bottom-nav .active{color:var(--wine)}.bottom-nav .active:before{content:"";background:var(--wine);border-radius:0 0 2px 2px;height:2px;position:absolute;top:-1px;left:30%;right:30%}.overlay{align-items:end;padding:0}.dialog,.dialog.wide,.dialog.narrow{border-radius:var(--r-xl) var(--r-xl) 0 0;width:100%;max-height:92dvh;box-shadow:var(--shadow-sheet);animation:sheet-in .3s var(--ease) both;padding-bottom:var(--safe-b)}@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}}.grabber{background:var(--line);border-radius:2px;width:36px;height:4px;margin:8px auto 0;display:block}.dialog-head{padding:var(--s-4) var(--s-5) 0}.dialog-body{padding:var(--s-4) var(--s-5) var(--s-5)}.dialog-foot{padding:var(--s-3) var(--s-5) calc(var(--s-3) + var(--safe-b))}.dialog-foot .btn{flex:1;height:44px}.dialog-foot .left{flex:none}.form-grid{grid-template-columns:1fr}.input,.select{height:44px;font-size:16px}.textarea{font-size:16px}.toasts{bottom:calc(var(--bottom-nav) + var(--safe-b) + var(--s-3))}.page-head{align-items:stretch;gap:var(--s-4);padding-bottom:var(--s-4);margin-bottom:var(--s-4);flex-direction:column}.page-head .actions{justify-content:flex-start}.section{margin-top:var(--s-10)}.login{grid-template-rows:auto 1fr;grid-template-columns:1fr}.login-art{padding:var(--s-6) var(--s-5);min-height:34dvh}.login-art .monogram{font-size:112px}.login-art .foot{font-size:10px}.login-panel{padding:var(--s-8) var(--s-5) var(--s-10);justify-content:flex-start}.login-panel h1{font-size:var(--t-36);margin-bottom:var(--s-6)}.hero{padding:var(--s-8) 0}.countdown .days{font-size:132px}.hero-meta .date{font-size:var(--t-28)}.ledger-col{padding-right:var(--s-4)}.ledger-col+.ledger-col{padding-left:var(--s-4)}.ledger-col .who-line{flex-direction:column;gap:4px}.figure .value{font-size:var(--t-28)}.figure{padding-right:var(--s-3)}.figure+.figure{padding-left:var(--s-3)}.cat-row{gap:var(--s-2) var(--s-4);grid-template-columns:96px minmax(0,1fr)}.cat-row .amt{text-align:left;font-size:var(--t-12);color:var(--ink-3);grid-column:1/-1;margin-top:-4px}.lists{gap:var(--s-10);grid-template-columns:1fr}.fin-band{grid-template-columns:repeat(2,minmax(0,1fr))}.fin-band .figure:nth-child(n){padding-left:var(--s-3);border-left:1px solid var(--line);border-top:0}.fin-band .figure:nth-child(odd){border-left:0;padding-left:0}.fin-band .figure:nth-child(n+3){border-top:1px solid var(--line)}.note-block{gap:var(--s-3);grid-template-columns:1fr}.inv-head h1{font-size:var(--t-36)}.toolbar{z-index:20;margin:0 calc(-1 * var(--s-4)) 0;padding:var(--s-2) var(--s-4) var(--s-2);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft);background:#faf6f0f0;position:sticky;top:52px}.toolbar .search{flex:100%;max-width:none}.toolbar .select,.toolbar .desktop-only{display:none}.chips{scrollbar-width:none;gap:6px;width:100%;padding:2px 0;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chip{border-radius:var(--r-md);border:1px solid var(--line);background:var(--paper);height:32px;font-size:var(--t-13);color:var(--ink-2);cursor:pointer;white-space:nowrap;flex:none;padding:0 12px;font-weight:500}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ivory)}.table-desktop{display:none}.guest-cards{margin:0;padding:0;list-style:none;display:block}.guest-card{padding:var(--s-4) 0;border-bottom:1px solid var(--line)}.guest-card .top{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.guest-card .guest-name{font-size:var(--t-15)}.guest-card .meta{align-items:center;gap:var(--s-2);font-size:var(--t-13);color:var(--ink-2);margin-top:2px;display:flex}.guest-card .meta .sep{color:var(--ink-4)}.guest-card .guest-notes{white-space:normal;max-width:none}.guest-card .toggles{gap:var(--s-2);margin-top:var(--s-3);grid-template-columns:1fr 1fr;display:grid}.guest-card .status-toggle{height:44px;padding:0 var(--s-3);font-size:var(--t-13);border-radius:var(--r-md);justify-content:flex-start;gap:8px}.guest-card .status-toggle .lbl{text-align:left;flex-direction:column;line-height:1.15;display:flex}.guest-card .status-toggle .lbl small{opacity:.75;font-size:11px;font-weight:450}.guest-card .status-toggle .dot{width:18px;height:18px}.guest-card .status-toggle .dot svg{width:11px;height:11px}.guest-card .phone a{color:var(--ink-2)}.fab{right:var(--s-4);bottom:calc(var(--bottom-nav) + var(--safe-b) + var(--s-4));z-index:35;height:48px;padding:0 var(--s-5) 0 var(--s-4);border-radius:var(--r-lg);background:var(--wine);color:#fff;align-items:center;gap:var(--s-2);font-size:var(--t-15);cursor:pointer;border:0;font-weight:560;display:inline-flex;position:fixed;box-shadow:0 10px 24px -10px #6b1d2d99}.fab svg{width:18px;height:18px}.has-fab .toasts{bottom:calc(var(--bottom-nav) + var(--safe-b) + 76px)}.table.stack thead{display:none}.table.stack,.table.stack tbody,.table.stack tr,.table.stack td{display:block}.table.stack tr{padding:var(--s-4) 0;border-bottom:1px solid var(--line);position:relative}.table.stack td{border:0;padding:2px 0}.table.stack td[data-label]{justify-content:space-between;gap:var(--s-4);font-size:var(--t-13);display:flex}.table.stack td[data-label]:before{content:attr(data-label);color:var(--ink-3)}.table.stack td.primary-cell{font-size:var(--t-15);margin-bottom:var(--s-2);padding-right:40px}.table.stack td.actions-cell{right:0;top:var(--s-3);width:auto;position:absolute}.table.stack .row-actions{opacity:1}.table.stack .right{text-align:right}.assistant{gap:var(--s-8)}.turn-q{font-size:var(--t-20)}.intro-q{font-size:var(--t-28)}.composer{bottom:calc(var(--bottom-nav) + var(--safe-b) + var(--s-3))}.settings-grid{gap:var(--s-4);padding:var(--s-6) 0;grid-template-columns:1fr}}@media (width>=761px){.mobile-only{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=760px){.desktop-add{display:none!important}}.lists.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-row{grid-template-columns:140px minmax(0,1fr) 220px}.cat-row .amt{white-space:nowrap}.cat-row .amt .money+.muted+.money .cur{display:none}.ledger.single{grid-template-columns:1fr}.ledger.single .ledger-col{padding-right:0}@media (width<=760px){.hello-date{display:none}.lists.two{grid-template-columns:1fr}.cat-row{grid-template-columns:96px minmax(0,1fr)}.ledger.single .who-line{flex-direction:row;align-items:baseline}.fab{border-radius:16px;justify-content:center;width:56px;height:56px;padding:0}.fab svg{width:22px;height:22px}.fab .fab-label{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.page.has-fab{padding-bottom:88px}}.legal-steps{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.legal-step{gap:var(--s-3);padding:var(--s-4) 0;border-bottom:1px solid var(--line-soft);grid-template-columns:36px 28px minmax(0,1fr) auto;align-items:start;display:grid}.legal-step .n{font-family:var(--serif);font-size:var(--t-28);color:var(--blush);line-height:.9}.legal-step .task-check{margin-top:2px}.legal-step .body{cursor:pointer;min-width:0}.legal-step .title{font-size:var(--t-15);font-weight:540}.legal-step.done .title{color:var(--ink-3);text-decoration:line-through;-webkit-text-decoration-color:var(--ink-4);text-decoration-color:var(--ink-4)}.legal-step.done .n{color:var(--ink-4)}.notes{font-size:var(--t-13);color:var(--ink-2);white-space:pre-line;margin:6px 0 0}.people-grid{gap:var(--s-8) var(--s-10);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.people-group{border-top:1px solid var(--ink);min-width:0}.people-head{padding:var(--s-3) 0;justify-content:space-between;align-items:baseline;display:flex}.people-head h3{font-family:var(--serif);font-weight:400;font-size:var(--t-20);margin:0}.people-empty{padding:var(--s-3) 0;border-top:1px solid var(--line-soft);font-size:var(--t-13);margin:0}.person{padding:var(--s-3) 0;border-top:1px solid var(--line-soft);cursor:pointer;transition:background .12s}.person:hover{background:#f3ede48c}.person .who-row{gap:var(--s-2);align-items:baseline;display:flex}.person .who-row b{font-weight:540}.person .phone .icon-btn,.table .phone .icon-btn{opacity:.6}.helpers-empty{gap:var(--s-4);padding:var(--s-5) 0;border-top:1px solid var(--ink);display:flex}.helpers-empty>svg{width:20px;height:20px;color:var(--ink-3);flex:none;margin-top:2px}.helpers-empty p{margin:4px 0 var(--s-4);max-width:560px;font-size:var(--t-13)}@media (width<=760px){.people-grid{gap:var(--s-6);grid-template-columns:1fr}.legal-step{gap:var(--s-2);grid-template-columns:26px 24px minmax(0,1fr) auto}.legal-step .n{font-size:var(--t-20)}.person .phone .icon-btn,.table .phone .icon-btn{opacity:1}}.attach-count{color:var(--wine-ink);align-items:center;gap:3px;display:inline-flex}.thal-grid{gap:var(--s-6);border-top:1px solid var(--ink);padding-top:var(--s-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.thal{gap:var(--s-2);padding:var(--s-4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--paper);text-align:left;cursor:pointer;justify-items:start;transition:border-color .15s,background .15s;display:grid}.thal:hover{background:#fff;border-color:#d8ccbd}.thal-name{font-family:var(--serif);font-size:var(--t-28);line-height:1}.thal-note{margin:var(--s-4) 0 0;padding:var(--s-3) var(--s-4);border-left:2px solid var(--blush);background:var(--blush-tint);font-size:var(--t-13);color:var(--ink-2);border-radius:0 var(--r-md) var(--r-md) 0}@media (width<=760px){.thal-grid{gap:var(--s-3);grid-template-columns:1fr}}.stepper{border:1px solid var(--line);border-radius:var(--r-md);background:var(--paper);align-items:stretch;height:38px;display:inline-flex;overflow:hidden}.stepper button{width:34px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.stepper button:hover:not(:disabled){background:var(--sand);color:var(--ink)}.stepper button:disabled{color:var(--ink-4);cursor:default}.stepper button svg{width:14px;height:14px}.stepper input{border:0;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);text-align:center;width:44px;font-size:var(--t-14);background:0 0}.stepper input:focus{background:#fff;outline:none}.quick-add{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto auto minmax(0,1.2fr) auto}.people-covered{color:var(--ink-3);font-size:var(--t-12)}.invitation-count{margin:-12px 0 var(--s-3);font-size:var(--t-12);color:var(--ink-3)}@media (width<=960px){.quick-add{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.stepper{height:44px}.stepper button{width:44px}.stepper input{font-size:16px}.guests-f .stepper{align-self:flex-start}}.countdown .clock{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:0 6px;display:flex}.countdown .clock i{color:var(--ink-2);text-align:right;min-width:2ch;font-style:normal;font-weight:500;display:inline-block}.countdown .clock i.sec{color:var(--wine-ink)}.countdown .clock .dot{color:var(--ink-4)}.countdown .unit .clock span{margin-top:0;display:inline}.countdown .unit .clock{white-space:nowrap;margin-top:6px;display:flex}.countdown .clock em{font-style:normal}.countdown .clock .short{display:none}@media (width<=480px){.countdown .clock .long{display:none}.countdown .clock .short{display:inline}}.fin-chart{gap:var(--s-10);padding:var(--s-6) 0 var(--s-8);border-top:1px solid var(--ink);grid-template-columns:240px minmax(0,1fr);align-items:center;display:grid;position:relative}.donut-wrap{aspect-ratio:1;width:240px;position:relative}.donut-wrap svg{width:100%;height:100%;display:block;overflow:visible}.donut-wrap .slice{cursor:pointer;transition:opacity .18s var(--ease), transform .22s var(--ease);transform-origin:110px 110px;outline:none}.donut-wrap .slice.dim{opacity:.28}.donut-wrap .slice.on{transform:scale(1.025)}.donut-wrap .slice:focus-visible{stroke:var(--ink);stroke-width:1.5px}.donut-center{text-align:center;pointer-events:none;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.donut-total{font-family:var(--serif);font-size:var(--t-28);white-space:nowrap;line-height:1}.donut-total .cur{font-family:var(--sans);letter-spacing:.08em;color:var(--ink-3);vertical-align:.7em;margin-right:4px;font-size:10px}.donut-total .approx{color:var(--ink-3);margin-right:1px;font-size:.7em}.donut-total .plus{color:var(--c-owed);margin-left:1px}.donut-sub{color:var(--ink-3);font-size:11px}.fin-legend ul{border-top:1px solid var(--line-soft);margin:0;padding:0;list-style:none}.fin-legend li{gap:var(--s-3);padding:var(--s-3) 0;border-bottom:1px solid var(--line-soft);cursor:default;grid-template-columns:12px minmax(0,1fr) auto 44px;align-items:baseline;transition:opacity .18s;display:grid}.fin-legend li.dim{opacity:.4}.fin-legend .sw,.chart-tip .sw{border-radius:2px;align-self:center;width:10px;height:10px;display:inline-block}.sw.hatch{background:repeating-linear-gradient(45deg, var(--c-paid) 0 2px, #9a2b4059 2px 4px)}.fin-legend .lbl{font-weight:520}.fin-legend .lbl small{font-weight:400;font-size:var(--t-12);color:var(--ink-3);display:block}.fin-legend .val{text-align:right}.fin-legend .pc{text-align:right;color:var(--ink-3);font-size:var(--t-13)}.fin-legend-note{margin:var(--s-3) 0 0;font-size:var(--t-12);color:var(--ink-3);gap:var(--s-2);align-items:baseline;display:flex}.chart-tip{z-index:5;width:260px;padding:var(--s-3) var(--s-4);border-radius:var(--r-lg);background:var(--paper);box-shadow:var(--shadow-pop), 0 0 0 1px var(--line);pointer-events:none;font-size:var(--t-13);animation:.12s both fade-in;position:absolute}.chart-tip .tip-head{align-items:center;gap:var(--s-2);display:flex}.chart-tip .tip-head b{flex:1;font-weight:560}.chart-tip .tip-amount{margin:4px 0 var(--s-2);font-family:var(--serif);font-size:var(--t-20)}.chart-tip ul{padding:var(--s-2) 0 0;border-top:1px solid var(--line-soft);gap:6px;margin:0;list-style:none;display:grid}.chart-tip li{justify-content:space-between;gap:var(--s-3);display:flex}.chart-tip li small{color:var(--ink-3);font-size:11px;display:block}.chart-tip .tip-note{margin:var(--s-2) 0 0;font-size:var(--t-12);color:var(--ink-3)}.empty-chart p{margin:0}@media (width<=760px){.fin-chart{gap:var(--s-6);padding-bottom:var(--s-6);grid-template-columns:1fr;justify-items:center}.donut-wrap{width:220px}.fin-legend{width:100%}.chart-tip{width:min(260px,100% - 16px)}}
