:root{--bg:#fbfaf8;--card:#fff;--ink:#1b1a17;--muted:#6b6760;--line:#e7e3dc;--accent:#1f6f5c;--accent-ink:#fff;--danger:#a4331f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#14151a;--card:#1c1e24;--ink:#eceaf0;--muted:#9b97a3;--line:#2b2e36;--accent:#4fb89a;--accent-ink:#0d1a16;--danger:#e0806c}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (display-mode:standalone){body{padding-top:0}}h1{margin:0 0 .25rem;font-size:1.35rem}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .5rem;font-size:.8rem}.sheet{max-width:26rem;padding:2rem 1.25rem calc(2rem + env(safe-area-inset-bottom,0));flex-direction:column;gap:1rem;margin:0 auto;display:flex}.lede{color:var(--muted);margin:0}.error{color:var(--danger);margin:0}.quiet{justify-content:center;gap:1rem}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}input,select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:.5rem;width:100%;padding:.6rem .7rem}.secret{-webkit-text-security:disc}input:-webkit-autofill{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 100rem var(--card) inset}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);box-shadow:0 0 0 100rem var(--card) inset}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button{font:inherit;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;border-radius:.5rem;padding:.6rem 1rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}button.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:.85rem;text-decoration:underline}button.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.row{gap:.75rem;display:flex}.row>button{flex:1}.row.quiet{flex-wrap:wrap;justify-content:space-between}.row.quiet>button{white-space:normal;text-align:left;flex:0 auto}.phrase{background:var(--card);border:1px solid var(--line);border-radius:.75rem;grid-template-columns:repeat(2,1fr);gap:.5rem 1rem;margin:0;padding:1rem;font-family:ui-monospace,SF Mono,Menlo,monospace;list-style:none;display:grid}.phrase li{align-items:baseline;gap:.5rem;display:flex}.phrase span{color:var(--muted);text-align:right;min-width:1.2rem;font-size:.75rem}.app{max-width:34rem;margin:0 auto;padding:1rem 1rem 5rem}.number{letter-spacing:.06em;-webkit-user-select:all;user-select:all;margin:.25rem 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:1.35rem}button.link.on{font-weight:600;text-decoration:none}.bar{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.bookbar{justify-content:flex-end;margin:-.25rem 0 .5rem;display:flex;position:relative}.bookdot{border:1px solid var(--line);background:var(--card);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:50%;padding:0;font-size:1rem;font-weight:700;line-height:1}.bookdot[aria-expanded=true]{border-color:var(--accent)}.bookmenu{z-index:5;background:var(--card);border:1px solid var(--line);border-radius:.75rem;min-width:12rem;max-width:20rem;margin:0;padding:.35rem;list-style:none;position:absolute;top:2.6rem;right:0;box-shadow:0 8px 24px #00000024}.bookmenu button{text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:0;border-radius:.5rem;padding:.55rem .75rem;display:block}.bookmenu button:hover{background:color-mix(in srgb, var(--accent) 10%, var(--card))}.bookmenu button[aria-checked=true]{color:var(--accent);font-weight:600}.total{letter-spacing:-.02em;margin:.15rem 0 0;font-size:2.1rem;font-weight:650;line-height:1.1}.pending{color:var(--muted);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:.15rem .6rem;font-size:.75rem}.card{background:var(--card);border:1px solid var(--line);border-radius:.75rem;margin-bottom:1rem;padding:.85rem 1rem 1rem}.cardhead{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.35rem;display:flex}.cardhead h2{margin:0}.rows{margin:0;padding:0;list-style:none}.rows li{justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 0;display:flex}.rows li+li{border-top:1px solid var(--line)}.settleup{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.proposal{text-align:left;border-color:color-mix(in srgb, var(--accent) 45%, var(--line));color:var(--accent);flex:auto}.entries{margin:0;padding:0;list-style:none}.entries li+li{border-top:1px solid var(--line)}.rowbutton{width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:.4rem;justify-content:space-between;align-items:baseline;gap:1rem;padding:.7rem .25rem;display:flex}.rowbutton:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.member{padding:.6rem 0}.what{flex-direction:column;min-width:0;display:flex}.note{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta{color:var(--muted);font-size:.78rem}.amount{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.amount.settle{color:var(--accent)}.empty{color:var(--muted)}.amount.owed{color:var(--accent)}.amount.settled{color:var(--muted);font-weight:400}.totals{background:var(--card);border:1px solid var(--line);border-radius:.75rem;margin-bottom:1rem;padding:.85rem 1rem 1rem}.totals>h2{margin-bottom:.35rem}.totals ul{margin:0;padding:0;list-style:none}.totals li{justify-content:space-between;align-items:baseline;gap:1rem;padding:.45rem 0;display:flex}.totals li+li{border-top:1px solid var(--line)}.totals li span:first-child,.rows li span:first-child{min-width:0}.totals>.addrow,.totals>button.link,.totals>.rowactions,.totals>.linkpanel{margin-top:.75rem}.totals>.empty:last-child{margin-bottom:0}.rowactions{flex:none;gap:.75rem;display:flex}.totals li span:last-child{font-variant-numeric:tabular-nums}.hint{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.rowactions select{width:auto;max-width:11rem}.totals li>span:first-child,.rows li>span:first-child{overflow-wrap:anywhere;flex:auto}.totals li.sub>span:first-child,.rows li.sub>span:first-child{color:var(--muted);padding-left:1.25rem}.totals li.sub>span:first-child:before,.rows li.sub>span:first-child:before{content:"› "}.addrow{flex-wrap:wrap;gap:.5rem;display:flex}.addrow select{flex:0 auto;width:auto}.addrow input{flex:12rem;min-width:0}.sheet textarea{resize:vertical;min-height:3.2rem}.fab{right:max(1.1rem,50vw - 15.9rem);bottom:calc(4.5rem + env(safe-area-inset-bottom,0));background:var(--accent);width:3.4rem;height:3.4rem;color:var(--accent-ink);z-index:20;border:0;border-radius:50%;font-size:1.8rem;line-height:1;position:fixed;box-shadow:0 3px 12px #0003}.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0);z-index:30;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tabs button{max-width:8.5rem;color:var(--muted);background:0 0;border:0;border-radius:0;flex:1 1 0;padding:.9rem .25rem;font-size:.9rem}.tabs button.on{color:var(--accent);font-weight:600}body:has(.scrim){overflow:hidden}.scrim{z-index:40;background:#00000080;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.quickadd{background:var(--bg);width:100%;max-width:34rem;padding:1.25rem;padding-bottom:calc(1.25rem + env(safe-area-inset-bottom,0));border-radius:1rem 1rem 0 0;flex-direction:column;gap:.75rem;max-height:85dvh;display:flex;overflow-y:auto;box-shadow:0 -4px 24px #00000040}.quickadd .row{background:var(--bg);margin-top:.25rem;padding-top:.75rem;position:sticky;bottom:0}.quickadd .big input{font-variant-numeric:tabular-nums;font-size:1.6rem}.quickadd.detail .bar{margin-bottom:.5rem}.quickadd.detail .bar h1{overflow-wrap:anywhere;margin:.1rem 0}.quickadd.detail .facts li>span:first-child{flex:0 0 5.5rem}.quickadd.detail .facts li>span:last-child{text-align:right;overflow-wrap:anywhere}.quickadd.detail .thumbbutton{width:7rem;height:7rem}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:2rem;height:2rem;margin:2rem auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}@media (min-width:30rem){.phrase{grid-template-columns:repeat(3,1fr)}}.member{align-items:flex-start!important}.safety{letter-spacing:.04em;word-break:break-all;-webkit-user-select:all;user-select:all;margin:.4rem 0 0;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem}.amount.owes{color:var(--danger)}.split{flex-wrap:wrap;align-items:center;gap:.4rem .9rem;display:flex}.check{color:var(--ink);flex-direction:row;align-items:center;gap:.35rem;font-size:.9rem}.check input{width:auto}.linkpanel{flex-direction:column;align-items:center;gap:.75rem;display:flex}.linkpanel img{background:#fff;border-radius:.5rem;padding:.25rem}.linkurl{word-break:break-all;-webkit-user-select:all;user-select:all;color:var(--muted);font-size:.75rem}.banner{background:color-mix(in srgb, var(--accent) 15%, var(--card));border:1px solid var(--accent);cursor:pointer;border-radius:.5rem;margin:0 0 1rem;padding:.6rem .8rem}.choice{color:var(--ink);flex-direction:row;align-items:flex-start;gap:.55rem;padding:.4rem 0;font-size:.9rem}.choice input{flex:none;width:auto;margin-top:.25rem}.choice strong{font-weight:600}.whenrow{gap:.75rem;display:flex}.whenrow label{flex:1 1 0}.linkrow{flex-direction:row;align-items:center;gap:.5rem;margin-top:.3rem}.linkrow select{width:auto;padding:.3rem .5rem;font-size:.85rem}.thumbs{vertical-align:middle;gap:.25rem;margin-left:.5rem;display:inline-flex}.thumbs img,.thumb{object-fit:cover;border-radius:.3rem;width:1.6rem;height:1.6rem;display:inline-block}.thumb.placeholder{background:var(--line)}.thumb.doc{background:var(--line);color:var(--muted);justify-content:center;align-items:center;font-size:.6rem;display:inline-flex}.attachments{flex-direction:column;gap:.5rem;display:flex}.thumbgrid{flex-wrap:wrap;gap:.6rem;display:flex}.thumbcard{flex-direction:column;align-items:center;gap:.2rem;display:flex}.thumbbutton{border:1px solid var(--line);background:var(--card);border-radius:.5rem;width:5rem;height:5rem;padding:0;overflow:hidden}.thumbbutton img{object-fit:cover;width:100%;height:100%;display:block}.thumbbutton .thumb.doc{width:100%;height:100%;font-size:.8rem}.filepick input{display:none}.filepick{cursor:pointer}.scrim.viewer{z-index:50;cursor:zoom-out;background:#000000d9;align-items:center}.scrim.viewer img{object-fit:contain;border-radius:.5rem;max-width:96vw;max-height:92dvh}.total.owes{color:var(--danger)}.rowbutton.compact{padding:.35rem 0}.statement{flex-direction:column;gap:.3rem;padding:.2rem 0 .5rem;display:flex}.statement .flow{flex-direction:column;align-items:flex-end;display:flex}.statement .running{font-size:.75rem}.balancesheet li.head>span:first-child{font-weight:600}.balancesheet li.net{border-top:2px solid var(--line)}.balancesheet li.net>span:first-child{font-weight:650}.addsource{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}@media (min-width:64rem){.app{grid-template-columns:13rem minmax(0,1fr);align-items:start;gap:2rem;max-width:92rem;padding:1.5rem 1.5rem 2rem;display:grid}.tabs{border:1px solid var(--line);border-radius:.75rem;flex-direction:column;grid-area:1/1;justify-content:flex-start;gap:.15rem;padding:.5rem;position:sticky;inset:1.5rem auto auto}.tabs button{text-align:left;border-radius:.5rem;max-width:none;padding:.65rem .9rem;font-size:1rem}.tabs button.on{background:color-mix(in srgb, var(--accent) 12%, transparent)}.screen{grid-area:1/2;min-width:0;display:flow-root}.screen:not(:has(>.card.main)){max-width:48rem}.screen:has(>.card.main)>.bookbar{float:right;margin:0 0 .5rem 1.25rem}:is(.screen:has(>.card.main)>.banner,.screen:has(>.card.main)>.empty){clear:both}.screen:has(>.card.main)>.card.main{float:left;width:calc(100% - 25.25rem)}.screen:has(>.card.main)>.card:not(.main){float:right;clear:right;width:24rem}.screen:has(>.card.main)>.totals{float:right;clear:right;width:24rem}.fab{bottom:2rem;right:max(1.5rem,50vw - 44.5rem)}.scrim{align-items:center}.quickadd{border-radius:1rem;max-height:85vh}.scrim.viewer{align-items:center}}.handoverqr{background:#fff;border-radius:.75rem;align-self:center;padding:.4rem}.scanner{background:#000;border-radius:.75rem;width:100%;max-height:60vh}details.quiet summary{cursor:pointer}
