: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}.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}.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,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{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{background:#00000080}.dialog-body{padding:1.25rem}.dialog-body h2{margin:0 0 1rem;font-size: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)}.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}@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}}
