*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root{--bg:#fff;--text:#111;--muted:#6b6b6b;--border:#ddd;--surface:#f7f7f7;--input-bg:#f5f5f5;--red:#c00;--green:#1a7a1a;--link:#005252;--font:ui-monospace, "Cascadia Code", "Fira Mono", monospace;--max-w:480px;--btn-h:40px;--btn-h-sm:32px;--input-h:40px;--text-display:20px;--text-body:14px;--text-meta:12px;--gap-xs:4px;--gap-sm:6px;--gap-md:8px;--gap-lg:12px}@media (prefers-color-scheme:dark){:root{--bg:#16171d;--text:#f3f4f6;--muted:#a1a8b4;--border:#3a3c47;--surface:#252730;--input-bg:#1f2028;--red:#ff6b6b;--green:#4ade80;--link:#4fb8b8}}html[data-theme=light]{--bg:#fff;--text:#111;--muted:#6b6b6b;--border:#ddd;--surface:#f7f7f7;--input-bg:#f5f5f5;--red:#c00;--green:#1a7a1a;--link:#005252;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#16171d;--text:#f3f4f6;--muted:#a1a8b4;--border:#3a3c47;--surface:#252730;--input-bg:#1f2028;--red:#ff6b6b;--green:#4ade80;--link:#4fb8b8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.tabular{font-variant-numeric:tabular-nums}.icon-btn{width:var(--btn-h);height:var(--btn-h);border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--text)}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}#root{flex-direction:column;min-height:100dvh;display:flex}.app{height:100dvh;max-width:var(--max-w);flex-direction:column;width:100%;margin:0 auto;display:flex}.view-clip{-webkit-overflow-scrolling:touch;flex:1;position:relative;overflow:hidden}.view-strip{will-change:transform;width:200%;height:100%;transition:transform .32s cubic-bezier(.25,.46,.45,.94);display:flex}.view-pane{-webkit-overflow-scrolling:touch;width:50%;height:100%;padding:16px 16px 80px;overflow:hidden auto}.bottom-nav{width:100%;max-width:var(--max-w);border-top:1px solid var(--border);background:var(--bg);display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{font-family:var(--font);color:var(--muted);cursor:pointer;letter-spacing:.03em;background:0 0;border:none;flex:1;padding:14px 8px;font-size:13px}.bottom-nav button.active{color:var(--text);border-top:2px solid var(--text);margin-top:-1px;font-weight:600}.bottom-nav .badge{color:var(--muted);font-size:11px}.gate{flex-direction:column;justify-content:center;align-items:center;gap:12px;height:100dvh;padding:32px;display:flex}.gate h1{letter-spacing:.1em;text-transform:uppercase;font-size:15px}.gate .error{color:var(--red);font-size:13px}input,select,textarea{font-family:var(--font);color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:0;outline:none;width:100%;padding:8px 10px;font-size:16px}input,select{height:var(--input-h)}input:focus,select:focus,textarea:focus{border-color:var(--text)}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--link);height:auto}input::-ms-reveal{display:none}input::-ms-clear{display:none}.field.error input,.field.error select,.field.error textarea{border-color:var(--red)}.field-error{color:var(--red);margin-top:4px;font-size:11px}button{font-family:var(--font);cursor:pointer;background:var(--text);color:var(--bg);letter-spacing:.03em;min-height:var(--btn-h);border:none;padding:8px 14px;font-size:13px}button:disabled{opacity:.4;cursor:default}button:not(:disabled):hover{opacity:.85}button.ghost{color:var(--text);border:1px solid var(--border);background:0 0}button.ghost:not(:disabled):hover{opacity:1;border-color:var(--text);background:var(--surface)}button.danger{color:var(--red);border:1px solid var(--border);background:0 0}button.danger:not(:disabled):hover{opacity:1;border-color:var(--red);background:var(--surface)}button:active:not(:disabled){transition:transform 60ms;transform:scale(.97)}[data-create-tracker-btn]:active{transform:translate(-50%)scale(.97)}.list-item{border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 0;display:flex}.list-item:last-child{border-bottom:none}.row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.muted{color:var(--muted);font-size:12px}.green{color:var(--green)}.red{color:var(--red)}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text);opacity:.65;margin:20px 0 8px;font-size:12px;font-weight:700}.divider{border:none;border-top:1px solid var(--border);margin:20px 0}.empty{color:var(--muted);text-align:center;padding:48px 0;font-size:13px}.loading{color:var(--muted);text-align:center;letter-spacing:.05em;padding:48px 0;font-size:13px}@keyframes loading-pulse{0%,to{opacity:1}50%{opacity:.2}}.loading-dot{animation:1.2s ease-in-out infinite loading-pulse;display:inline-block}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes page-fade-up{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}.page-enter{animation:.18s cubic-bezier(.25,.46,.45,.94) both page-fade-up}.add-form{border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:16px}.add-form .field{margin-bottom:12px}.add-form label{color:var(--muted);letter-spacing:.05em;margin-bottom:4px;font-size:11px;display:block}.add-form .row-inputs{gap:8px;display:flex}.add-form .row-inputs input{flex:1}.add-form .row-inputs select{width:auto}.checkbox-list{flex-direction:column;gap:0;display:flex}.checkbox-list label{cursor:pointer;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.checkbox-list input[type=checkbox]{width:auto}.form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.modal-overlay{z-index:100;background:#00000059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);border:1px solid var(--border);width:100%;max-width:300px;padding:24px}.modal p{margin-bottom:4px;font-size:13px}.modal .modal-sub{color:var(--muted);margin-bottom:20px;font-size:12px}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.toggle-row{justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 0;display:flex}.toggle-row .toggle-copy{flex:1;min-width:0;font-size:13px;font-weight:400}.toggle-row.disabled{opacity:.5}.toggle{width:44px;height:24px;min-height:unset;background:var(--border);border:1px solid var(--border);cursor:pointer;border-radius:0;flex-shrink:0;padding:0;transition:background .2s cubic-bezier(.25,.46,.45,.94),border-color .2s cubic-bezier(.25,.46,.45,.94);position:relative}.toggle:after{content:"";background:var(--bg);border-radius:0;width:16px;height:16px;transition:transform .2s cubic-bezier(.25,.46,.45,.94);position:absolute;top:3px;left:3px}.toggle.on{background:var(--text);border-color:var(--text)}.toggle.on:after{transform:translate(20px)}.toggle:disabled{cursor:default}.modal.scrollable{max-width:340px;max-height:85vh;overflow-y:auto}.toast{background:var(--text);color:var(--bg);white-space:nowrap;pointer-events:none;opacity:0;padding:8px 16px;font-size:13px;transition:opacity .2s;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.toast.show{opacity:1}.totals-box{border:1px solid var(--border);flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px;font-size:13px;display:flex}.totals-divider{border-top:1px solid var(--border);margin:4px 0}.summary-body-wrapper{grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1);display:grid}.summary-body-wrapper.open{grid-template-rows:1fr}.summary-body-inner{min-height:0;overflow:hidden}.sync-badge{color:var(--muted);font-size:11px}.debtor-card{border:1px solid var(--border);margin-bottom:12px}.debtor-card-header{cursor:pointer;background:var(--surface);justify-content:space-between;align-items:flex-start;gap:8px;padding:13px 14px;display:flex;box-shadow:0 2px 4px #0000000f}.debtor-card-body-wrapper{grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1);display:grid}.debtor-card-body-wrapper.open{grid-template-rows:1fr}.debtor-card-body-inner{min-height:0;overflow:clip}.debtor-card-body{border-top:1px solid var(--border)}.debtor-l2-list{background:var(--surface);flex-direction:column;gap:8px;padding:8px;display:flex}.creditor-section{border:1px solid var(--border);background:var(--bg)}.creditor-sticky-group{z-index:9;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.creditor-header{justify-content:space-between;align-items:flex-start;gap:8px;padding:9px 14px 9px 11px;display:flex}.creditor-items{padding:0 14px 16px 22px}.contra-hint{color:var(--muted);border-top:1px dashed var(--border);justify-content:space-between;align-items:center;padding:5px 14px 7px 11px;font-size:11px;display:flex}.l2-row{cursor:pointer;background:var(--bg);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.l2-row-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.l2-label{text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:10px;display:block}.l2-creditor-name,.l2-amount{font-size:14px;font-weight:700}.l2-amount.red{color:var(--red)}.l2-amount.green{color:var(--green)}.l2-body-wrapper{grid-template-rows:0fr;transition:grid-template-rows .25s cubic-bezier(.4,0,.2,1);display:grid}.l2-body-wrapper.open{grid-template-rows:1fr}.l2-body-inner{background:var(--surface);min-height:0;overflow:clip}.l3-items{background:var(--surface);padding:0 14px 8px}.l2-contra-body{background:var(--surface)}.l3-item{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;transition:opacity .2s;display:flex}.l3-item-left{flex:1;min-width:0}.l3-desc{text-overflow:ellipsis;white-space:nowrap;margin-bottom:3px;padding-right:8px;font-size:12px;display:block;overflow:hidden}.l3-date{font-size:10px}.l3-item-right{cursor:pointer;flex-shrink:0;align-items:center;gap:6px;display:flex}.l3-amount{text-align:right;font-size:12px}.sneaky-peek-tab{background:var(--border);border-radius:4px 0 0 4px;flex-shrink:0;width:8px;height:28px;transition:background .15s}.l3-item-right:hover .sneaky-peek-tab,.l3-item-right:active .sneaky-peek-tab{background:var(--muted)}.settle-reveal{opacity:0;white-space:nowrap;background:var(--text);max-width:0;color:var(--bg);cursor:pointer;border:none;border-radius:4px;padding:0;font-size:12px;transition:max-width .42s cubic-bezier(.25,.46,.45,.94),opacity .3s cubic-bezier(.25,.46,.45,.94),padding .42s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.settle-reveal.open{opacity:1;max-width:80px;padding:5px 10px}.badge-paid{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:3px;padding:2px 5px;font-size:10px}.settle-all-cta{background:var(--text);width:calc(100% - 28px);color:var(--bg);cursor:pointer;letter-spacing:.04em;border:none;border-radius:2px;margin:8px 14px 12px;padding:11px 14px;font-size:13px;font-weight:600;transition:opacity .15s;display:block}.settle-all-cta:active{opacity:.8}.contra-subrow{cursor:pointer;border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 14px;font-size:12px;display:flex}.contra-net-row{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:8px 14px;font-size:12px;display:flex}.group-header{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.group-header .group-name{text-align:center;letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.people-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 0;display:flex}.people-row span,.people-row input{flex:1}.people-row .actions{gap:6px;display:flex}.add-person-row{gap:8px;margin-top:12px;display:flex}.add-person-row input{flex:1}.expense-row{border-bottom:1px solid var(--border);cursor:pointer;padding:12px 0}.expense-row:last-child{border-bottom:none}.expense-row .exp-line1{align-items:baseline;gap:12px;display:flex}.expense-row .exp-desc{word-break:break-word;flex:1;min-width:0;font-weight:600}.expense-row .exp-amount{white-space:nowrap;text-align:right;font-weight:600}.expense-row .exp-line2{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:4px;font-size:12px;display:flex}.expense-row .exp-meta2{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.expense-row .exp-meta2 .dot-sep{opacity:.5}.expense-row .exp-sec{white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.expense-row .exp-chev{opacity:.8;font-size:11px}.expense-row .exp-body-wrapper{grid-template-rows:0fr;transition:grid-template-rows .22s cubic-bezier(.4,0,.2,1);display:grid}.expense-row .exp-body-wrapper.open{grid-template-rows:1fr}.expense-row .exp-body-inner{min-height:0;overflow:hidden}.expense-row .exp-body{border-top:1px dashed var(--border);flex-direction:column;gap:6px;margin-top:10px;padding:10px 0 4px;font-size:12px;display:flex}.receipt-icon-btn{color:var(--link);cursor:pointer;vertical-align:middle;background:0 0;border:none;justify-content:center;align-items:center;gap:0;min-width:40px;min-height:40px;margin:0;padding:8px;display:inline-flex}.receipt-icon-btn svg{flex-shrink:0;width:14px;height:14px}.receipt-icon-btn:hover{opacity:.75}.receipt-icon-label{opacity:0;white-space:nowrap;max-width:0;margin-right:0;font-size:11px;transition:max-width .22s,opacity .18s,margin-right .22s;overflow:hidden}.receipt-icon-expanded .receipt-icon-label{opacity:1;max-width:80px;margin-right:4px}button.tiny{padding:4px 8px;font-size:11px}.capture-mock{color:#fff;text-align:center;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:320px;padding:40px 20px;display:flex}.capture-mock .viewfinder-label{letter-spacing:.12em;text-transform:uppercase;opacity:.6;font-size:11px}.capture-mock .viewfinder-frame{border:1px dashed #ffffff4d;width:100%;max-width:240px;padding:40px 24px}.capture-mock .viewfinder-frame-hint{opacity:.7;margin-bottom:8px;font-size:10px}.capture-mock .viewfinder-frame-mark{opacity:.5;font-size:26px}.capture-btn-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.capture-btn-row button{color:#000;background:#fff;border:1px solid #fff}.visually-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.pill-row{flex-wrap:wrap;gap:6px;display:flex}.pill{border:1px solid var(--border);background:var(--bg);color:var(--text);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;padding:5px 10px;font-size:11px}.pill.active{background:var(--text);color:var(--bg);border-color:var(--text)}.member-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;display:flex}.member-row:last-of-type{border-bottom:none}.member-row .member-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.member-edit{border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 0;display:flex}.member-edit .edit-row{gap:6px;display:flex}.member-edit .edit-row input{flex:1}.member-edit .edit-actions{justify-content:flex-end;gap:6px;display:flex}.inline-error{color:var(--red);font-size:11px}.inline-success{color:var(--green);font-size:11px}.receipt-thumb{background:var(--surface);border:1px solid var(--border);color:var(--link);cursor:pointer;letter-spacing:.04em;justify-content:flex-start;align-items:center;gap:10px;width:100%;padding:8px 12px;font-size:12px;display:flex}.receipt-thumb img{object-fit:cover;border:1px solid var(--border);width:40px;height:40px;display:block}.receipt-thumb:hover{border-color:var(--link);opacity:.85}.receipt-viewer-overlay{z-index:400;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:fixed;inset:0}.receipt-viewer-img{object-fit:contain;border:1px solid #ffffff1a;max-width:100%;max-height:calc(100dvh - 80px);display:block}.receipt-viewer-close{color:#fff;font-family:var(--font);cursor:pointer;letter-spacing:.06em;background:0 0;border:1px solid #ffffff59;padding:6px 16px;font-size:12px}.receipt-viewer-close:hover{border-color:#fff}.tooltip-label-wrapper{width:100%;position:relative}.tooltip-label{cursor:pointer;letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.7;text-align:left;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-family:inherit;font-size:10px;transition:opacity .2s;display:flex}.tooltip-label:hover{opacity:1}.tooltip-icon{justify-content:center;align-items:center;display:inline-flex}.tooltip-indicator{width:16px;height:16px;color:var(--text);opacity:.6;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;transition:color .2s,opacity .2s;display:inline-flex}.tooltip-label:hover .tooltip-indicator{color:var(--accent);opacity:1}.tooltip-text{opacity:0;max-height:0;color:var(--muted);pointer-events:none;margin-top:0;padding:0;font-size:11px;line-height:1.4;transition:max-height .3s,opacity .3s,margin-top .3s,padding .3s;overflow:hidden}.tooltip-text.open{opacity:1;pointer-events:auto;max-height:200px;margin-top:6px;padding:6px 0}.form-submit-bar{background:var(--bg);border-top:1px solid var(--border);z-index:10;gap:10px;padding:10px 16px;display:flex;position:sticky;bottom:0}.form-submit-bar button.ghost{flex:1}.form-submit-bar button[type=submit]{flex:2}.form-section-header{font-size:var(--text-meta);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:12px -16px 0;padding:6px 16px;font-weight:700}.form-section-header:first-child{border-top:none;margin-top:0}.splash-screen{background:var(--bg);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.splash-notes{flex-direction:column;align-items:center;gap:12px;display:flex}.splash-note{color:var(--text);animation-fill-mode:forwards}.splash-note-1{animation:.5s ease-in .4s forwards note-fly}.splash-note-2{animation:.5s ease-in .8s forwards note-fly}.splash-note-3{animation:.5s ease-in 1.2s forwards note-fly}@keyframes note-fly{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-40px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.view-strip{transition:none}}
