:root{--bg:#f8faf9;--surface:#fff;--text:#1c2624;--muted:#55625f;--accent:#0f766e;--on-accent:#fff;--border:#d9e2df;--soft:#e3f1ee;--danger:#b42318;--on-danger:#fff;--owe:#b54708;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#111817;--surface:#172120;--text:#e6eeec;--muted:#9fb0ac;--accent:#5eead4;--on-accent:#0b1514;--border:#2a3634;--soft:#1d3330;--danger:#fda29b;--on-danger:#1f0c0a;--owe:#fdb022}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.landing{flex-direction:column;justify-content:center;width:100%;max-width:36rem;min-height:100dvh;margin:0 auto;padding:2rem 1.25rem;display:flex}.landing h1{letter-spacing:-.02em;color:var(--accent);margin:0 0 .5rem;font-size:2.5rem;line-height:1.1}.tagline{margin:0 0 1.5rem;font-size:1.25rem;font-weight:600}.name-note{color:var(--muted);margin:0}.account{border-top:1px solid var(--border);margin-top:2rem;padding-top:1.5rem}.beta-note{margin:0 0 .75rem;font-weight:600}.auth-message{color:var(--muted);margin:.75rem 0 0}.google-button{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:2.75rem}.link-button{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;margin:-.5rem 0;padding:.5rem 0;font-weight:600;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:progress}.app{width:100%;max-width:40rem;margin:0 auto;padding:0 1rem 3rem}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.5rem;margin-bottom:1.25rem;display:flex}.brand{min-height:2.75rem;color:var(--accent);align-items:center;font-size:1.125rem;font-weight:700;text-decoration:none;display:inline-flex}.header-account{align-items:center;gap:.25rem;display:flex}.avatar-link{border-radius:50%;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:inline-flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page-title{overflow-wrap:anywhere;margin:0 0 1rem;font-size:1.75rem;line-height:1.2}.section{margin-top:2rem}.section h2,.empty h2{margin:0 0 .75rem;font-size:1.125rem}.section-actions{flex-direction:column;gap:.75rem;margin:1rem 0;display:flex}.muted{color:var(--muted);font-weight:400}.loading{color:var(--muted)}.state,.empty{border:1px dashed var(--border);border-radius:.75rem;padding:1.25rem}.state p:first-child,.empty p{margin-top:0}.back-link{min-height:2.75rem;color:var(--accent);overflow-wrap:anywhere;align-items:center;margin-bottom:.25rem;font-weight:600;text-decoration:none;display:inline-flex}button.back-link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.group-list,.member-list,.expense-list,.split-list,.share-list{margin:0;padding:0;list-style:none}.group-link{border:1px solid var(--border);min-height:3.5rem;color:inherit;background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;padding:.75rem 1rem;text-decoration:none;display:flex}.group-link:hover{border-color:var(--accent)}.group-name{overflow-wrap:anywhere;font-weight:600}.group-link .muted{flex:none}.group-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.member{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.member-main{flex-wrap:wrap;flex:1;align-items:center;gap:0 .5rem;min-width:0;display:flex}.member-main .name-form{flex-basis:100%;padding:.5rem 0}.member-name{overflow-wrap:anywhere;font-weight:600}button.member-name{min-width:2.75rem;min-height:2.75rem;font:inherit;color:inherit;text-align:left;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:.3em;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.badges{flex-wrap:wrap;gap:.25rem;display:inline-flex}.badge{color:var(--accent);background:var(--soft);border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:600}.member-menu{flex-direction:column;flex-basis:100%;gap:.5rem;padding-bottom:.5rem;display:flex}.avatar{object-fit:cover;border-radius:50%;flex:none}.avatar-initial{color:var(--accent);background:var(--soft);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.button{border:1px solid var(--accent);width:100%;min-height:2.75rem;font:inherit;text-align:center;color:var(--on-accent);background:var(--accent);cursor:pointer;border-radius:.5rem;padding:.625rem 1.25rem;font-weight:600;text-decoration:none;display:block}.button.secondary{color:var(--accent);background:0 0}.button.danger{border-color:var(--danger);color:var(--on-danger);background:var(--danger)}.button.secondary.danger{color:var(--danger);background:0 0}.button:hover{filter:brightness(1.08)}.button:disabled{opacity:.6;cursor:progress}.button-row{flex-direction:column;gap:.5rem;display:flex}.text-button{min-height:2.75rem;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:0 .5rem;font-weight:600}.icon-button{border:1px solid var(--border);width:2.75rem;height:2.75rem;color:var(--text);background:var(--surface);cursor:pointer;border-radius:.5rem;flex:none;justify-content:center;align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.icon-button:hover{border-color:var(--accent)}.button:focus-visible,.text-button:focus-visible,.link-button:focus-visible,.icon-button:focus-visible,.brand:focus-visible,.back-link:focus-visible,.group-link:focus-visible,.expense-link:focus-visible,.avatar-link:focus-visible,button.member-name:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.name-form label{font-weight:600;display:block}.hint{color:var(--muted);margin:.125rem 0 0;font-size:.9375rem}.name-form input,.dialog-body input,.field input,.field select,.money-input input{border:1px solid var(--border);width:100%;min-height:2.75rem;font:inherit;color:var(--text);background:var(--surface);border-radius:.5rem;margin-top:.375rem;padding:.5rem .75rem;font-size:1rem;display:block}.name-form input:focus-visible,.dialog-body input:focus-visible,.field input:focus-visible,.field select:focus-visible,.money-input input:focus-visible,.choice input:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.form-actions{gap:.5rem;margin-top:.75rem;display:flex}.form-actions .button{flex:1}.feedback{overflow-wrap:anywhere;background:var(--soft);border-radius:.5rem;margin:.75rem 0;padding:.625rem .875rem}.feedback.error{color:var(--danger);border:1px solid var(--danger);background:0 0}.name-form .feedback{margin:.5rem 0 0}dialog.confirm{border:1px solid var(--border);width:min(28rem,100vw - 2rem);color:var(--text);background:var(--bg);border-radius:.75rem;padding:1.25rem}dialog.confirm::backdrop{background:#00000080}dialog.confirm p{margin:0}dialog.share-dialog,dialog.sheet{border:1px solid var(--border);width:min(28rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--text);background:var(--bg);border-radius:.75rem;padding:0}dialog.share-dialog::backdrop,dialog.sheet::backdrop{background:#00000080}.dialog-body{padding:1.25rem}.dialog-body h2{overflow-wrap:anywhere;margin:0 0 1rem;font-size:1.25rem}.dialog-body h2:focus{outline:none}.sheet .form-actions{margin-top:1.25rem}.dialog-body label{font-weight:600;display:block}.share-options{grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:1.25rem;display:grid}.share-options .button,.dialog-body .close-button{justify-content:center;align-items:center;width:100%;display:flex}.dialog-body .close-button{margin-top:1.25rem}.expense-link{border:1px solid var(--border);min-height:3.5rem;color:inherit;background:var(--surface);border-radius:.75rem;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.75rem 1rem;text-decoration:none;display:flex}.expense-link:hover{border-color:var(--accent)}button.expense-link{width:100%;font:inherit;text-align:left;cursor:pointer}.expense-main{flex-direction:column;flex:1;min-width:0;display:flex}.expense-title{overflow-wrap:anywhere;font-weight:600}.expense-sub{color:var(--muted);font-size:.9375rem}.private-note{overflow-wrap:anywhere;align-items:center;gap:.375rem;display:inline-flex}.expense-main .private-note{color:var(--muted);font-size:.9375rem}.lock-icon{flex:none}.my-part{text-align:right;flex-direction:column;flex:none;align-items:flex-end;font-size:.8125rem;display:flex}.my-part strong{font-size:1rem}.my-part.lent{color:var(--accent)}.my-part.owe{color:var(--owe)}.my-part.none{color:var(--muted)}.expense-amount{margin:0;font-size:2rem;font-weight:700;line-height:1.2}.expense-paid{color:var(--muted);margin:.25rem 0 1rem}.visibility-badge{color:var(--accent);background:var(--soft);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:.375rem;margin:0;padding:.375rem .75rem;font-size:.9375rem;font-weight:600;display:inline-flex}.share-list li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.625rem 0;display:flex}.share-name{overflow-wrap:anywhere}.expense-footer{margin-top:1.5rem}.expense-footer p{margin:0 0 .75rem}.expense-form label,.expense-form legend{font-weight:600}.field+.field,.expense-form fieldset{margin-top:1.25rem}.field label{display:block}.field select{appearance:auto}.expense-form fieldset{border:0;min-width:0;margin-inline:0;padding:0}.expense-form legend{margin-bottom:.5rem;padding:0}.money-input{display:block;position:relative}.money-input>span{color:var(--muted);pointer-events:none;margin-top:.1875rem;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.money-input input{padding-left:1.5rem}.money-input.small{flex:none;width:8rem}.money-input.small input{text-align:right;margin-top:0}.money-input.small>span{margin-top:0}.segmented{border:1px solid var(--accent);border-radius:.5rem;grid-template-columns:1fr 1fr;margin-bottom:.5rem;display:grid;overflow:hidden}.segment input{opacity:0;pointer-events:none;position:absolute}.segment span{min-height:2.75rem;color:var(--accent);cursor:pointer;justify-content:center;align-items:center;padding:.5rem;display:flex}.segment input:checked+span{color:var(--on-accent);background:var(--accent)}.segment input:focus-visible+span{outline:3px solid var(--text);outline-offset:-3px}.split-list li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0 .75rem;min-height:3.25rem;display:flex}.split-list label{overflow-wrap:anywhere;min-width:0}.expense-form .choice,.expense-form .split-list label{font-weight:400}.split-amount{flex:none}.split-sum{color:var(--muted);flex:none;margin-left:auto;font-size:.9375rem}.choice{cursor:pointer;align-items:center;gap:.75rem;min-height:2.75rem;display:flex}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--accent);flex:none;margin:0}.field-error{color:var(--danger);margin:.375rem 0 0;font-size:.9375rem}.split-list .field-error{text-align:right;flex-basis:100%;margin:0 0 .5rem}.split-list .field-note{text-align:right;color:var(--muted);flex-basis:100%;margin:0 0 .5rem;font-size:.9375rem}.expense-form [aria-invalid=true]{border-color:var(--danger)}.split-status{color:var(--owe);margin:.75rem 0 0;font-weight:600}.split-status.done{color:var(--accent)}.expense-form fieldset>.private-note{min-height:2.75rem;margin:0}.overall{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;flex-direction:column;margin:0 0 1rem;padding:.875rem 1rem;display:flex}.overall-label{color:var(--muted);font-size:.8125rem;font-weight:600}.overall-value{font-size:1.375rem;font-weight:700;line-height:1.3}.overall.lent .overall-value{color:var(--accent)}.overall.owe .overall-value{color:var(--owe)}.section h3.balance-heading{margin:1.25rem 0 .25rem;font-size:1rem}.balance-heading.private-note{display:flex}.balance-list{margin:0;padding:0;list-style:none}.balance-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;min-height:3.25rem;padding:.375rem 0;display:flex}.balance-text{overflow-wrap:anywhere;min-width:0}.balance-row .balance-button{flex:none;width:auto;padding-inline:1rem}.field-note{color:var(--muted);margin:.375rem 0 0;font-size:.9375rem}.pay-options{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.pay-option{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:.75rem 1rem}.pay-option h3{margin:0 0 .5rem;font-size:1rem}.pay-option .hint{margin-top:.5rem}.pay-note{background:var(--soft);border-radius:.5rem;margin:1.25rem 0 0;padding:.75rem 1rem}.copy-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .75rem;padding:.25rem 0;display:flex}.copy-main{flex-direction:column;min-width:0;display:flex}.copy-label{color:var(--muted);font-size:.8125rem}.copy-value{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-weight:600}.copy-row .copy-button{flex:none;width:auto;min-width:5.5rem}.copy-row .field-error{flex-basis:100%}.settle-visibility{color:var(--muted);margin:1.25rem 0 0;font-size:.9375rem}.profile-form fieldset .field{margin-top:1rem}.profile-form fieldset>.hint{margin:0}.prefixed-input{border:1px solid var(--border);background:var(--surface);border-radius:.5rem;align-items:center;margin-top:.375rem;display:flex}.prefixed-input>span{color:var(--muted);flex:none;padding-left:.75rem}.field .prefixed-input input{background:0 0;border:0;flex:1;min-width:0;margin:0;padding-left:.125rem}.field .prefixed-input input:focus-visible{outline:none}.prefixed-input:focus-within{outline:3px solid var(--accent);outline-offset:1px}.prefixed-input:has([aria-invalid=true]){border-color:var(--danger)}@media (width>=640px){.landing h1{font-size:3.5rem}.tagline{font-size:1.5rem}.button{width:auto;display:inline-block}.google-button{max-width:20rem}.button-row{flex-flow:wrap}.section-actions{align-items:flex-start}.section-actions .name-form{align-self:stretch}.member-menu{flex-direction:row;padding-left:3.25rem}}
