:root{--ss-bg:#0c1220;--ss-surface:#141c2e;--ss-surface-2:#1c2740;--ss-surface-3:#253352;--ss-outline:#2e3d5e;--ss-text:#eef2fa;--ss-text-2:#a9b4cc;--ss-text-3:#909dba;--ss-brand:#4f8ef7;--ss-on-brand:#08101c;--ss-brand-strong:#79aaff;--ss-owed:#34c98e;--ss-owe:#f5a623;--ss-danger:#ef5d6b;--ss-success:#34c98e;--ss-cat-food:#f5a05e;--ss-cat-home:#6fc2ff;--ss-cat-travel:#b78cff;--ss-cat-fun:#ff8fb2;--ss-cat-utilities:#6ee0d2;--ss-cat-other:#a9b4cc;--ss-font-display:"Space Grotesk", system-ui, sans-serif;--ss-font-body:"Inter", system-ui, sans-serif;--ss-font-mono:"JetBrains Mono", ui-monospace, monospace;--ss-space-1:4px;--ss-space-2:8px;--ss-space-3:12px;--ss-space-4:16px;--ss-space-5:20px;--ss-space-6:24px;--ss-space-7:32px;--ss-space-8:48px;--ss-radius-sm:8px;--ss-radius-md:12px;--ss-radius-lg:20px;--ss-radius-full:9999px;--ss-ease:cubic-bezier(.2, 0, 0, 1);--ss-dur-tap:.12s;--ss-dur-sheet:.2s;--ss-dur-countup:.32s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--ss-bg:#f6f7fb;--ss-surface:#fff;--ss-surface-2:#eef1f7;--ss-surface-3:#e2e8f3;--ss-outline:#d4dbe8;--ss-text:#16203a;--ss-text-2:#4a5878;--ss-text-3:#5a6680;--ss-brand:#2f6fe0;--ss-on-brand:#fff;--ss-brand-strong:#1d5ccb;--ss-owed:#0d6b49;--ss-owe:#8a5806;--ss-danger:#cf3545;--ss-success:#0d6b49;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.shell{max-width:640px;min-height:100vh;padding:calc(var(--ss-space-4) + env(safe-area-inset-top,0px)) calc(var(--ss-space-4) + env(safe-area-inset-right,0px)) calc(96px + env(safe-area-inset-bottom,0px)) calc(var(--ss-space-4) + env(safe-area-inset-left,0px));margin:0 auto}.header{align-items:center;gap:var(--ss-space-3);padding:var(--ss-space-3) 0 var(--ss-space-5);flex-wrap:wrap;display:flex}.header h1{font:600 1.375rem var(--ss-font-display);letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0}.header>button{min-width:44px}.header .spacer{flex:1}.hero{background:var(--ss-surface);border:1px solid var(--ss-outline);padding:var(--ss-space-4);margin-bottom:var(--ss-space-4);border-radius:16px}.hero .cap{font:600 .65625rem/1 var(--ss-font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--ss-text-3)}.hero .big{font:600 2rem/1.25 var(--ss-font-mono);font-variant-numeric:tabular-nums;margin:6px 0 2px}.hero .sub{color:var(--ss-text-2);font-size:.8125rem}.sect{font:600 .65625rem/1 var(--ss-font-body);letter-spacing:.13em;text-transform:uppercase;color:var(--ss-text-3);padding:var(--ss-space-4) 4px var(--ss-space-2)}.row{align-items:center;gap:var(--ss-space-3);background:var(--ss-surface);border:1px solid var(--ss-outline);border-radius:var(--ss-radius-md);padding:var(--ss-space-3);margin-bottom:var(--ss-space-2);text-align:left;width:100%;color:inherit;display:flex}button.row{cursor:pointer;transition:background var(--ss-dur-tap) var(--ss-ease)}button.row:hover{background:var(--ss-surface-2)}.row .grow{overflow-wrap:anywhere;flex:1;min-width:0}.row .name{overflow-wrap:anywhere;font-size:.875rem;font-weight:600}.row .meta{color:var(--ss-text-3);font-size:.75rem}.row .right{text-align:right;flex:none}.row .right .dir{color:var(--ss-text-3);font-size:.65625rem;display:block}.badge{width:32px;height:32px;font:600 .8125rem var(--ss-font-display);color:#0c1220;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.badge.sm{width:22px;height:22px;font-size:.625rem}.btn{border-radius:var(--ss-radius-md);font:600 .875rem/2.75rem var(--ss-font-body);padding:0 var(--ss-space-5);background:var(--ss-surface-2);color:var(--ss-text);border:none;display:inline-block}.btn.primary{background:var(--ss-brand);color:var(--ss-on-brand)}.btn.block{text-align:center;width:100%;display:block}.btn.sm{padding:0 var(--ss-space-3);border-radius:9px;font-size:.75rem;line-height:32px;position:relative}.btn.sm:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.btn:disabled{opacity:.45;cursor:not-allowed}.field{margin-bottom:var(--ss-space-3);min-width:0;display:block}.field span{color:var(--ss-text-3);margin-bottom:4px;font-size:.71875rem;display:block}.field input,.field select,.field textarea{background:var(--ss-surface-2);border:1px solid var(--ss-outline);width:100%;color:var(--ss-text);font:400 .875rem var(--ss-font-body);appearance:none;border-radius:10px;min-width:0;min-height:42px;padding:10px 12px}.field select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a94ad' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:30px}.field input[type=date]{display:block}.field input[type=date]::-webkit-date-and-time-value{text-align:left}.field input.amt{font-family:var(--ss-font-mono);font-variant-numeric:tabular-nums}.error{background:color-mix(in srgb, var(--ss-danger) 12%, transparent);border:1px solid var(--ss-danger);color:var(--ss-text);margin-bottom:var(--ss-space-3);border-radius:10px;padding:10px 12px;font-size:.8125rem}.sheet-back{z-index:30;touch-action:none;background:#04070e9e;position:fixed;inset:0}.sheet{z-index:31;overscroll-behavior-y:contain;background:var(--ss-surface);width:min(480px,100vw);max-height:88dvh;padding:var(--ss-space-4) var(--ss-space-4) calc(var(--ss-space-4) + env(safe-area-inset-bottom,0px));border-radius:20px 20px 0 0;position:fixed;bottom:0;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 -12px 34px #00000080}.sheet h2{font:600 1.0625rem var(--ss-font-display);margin-bottom:var(--ss-space-4)}.tabs{background:var(--ss-surface-2);margin-bottom:var(--ss-space-4);border-radius:10px;flex-wrap:wrap;gap:2px;padding:3px;display:flex}.tabs button{min-width:max-content;min-height:44px;color:var(--ss-text-2);font:600 .8125rem/1.875rem var(--ss-font-body);background:0 0;border:none;border-radius:8px;flex:auto}.tabs button.on{background:var(--ss-surface);color:var(--ss-text);box-shadow:0 1px 3px #00000040}.checkrow{align-items:center;gap:var(--ss-space-2);min-height:44px;padding:8px 2px;font-size:.875rem;display:flex}.checkrow input[type=checkbox]{width:22px;height:22px;accent-color:var(--ss-brand);flex:none}.checkrow .amt-in{width:110px;margin-left:auto}.checkrow .amt-in input{text-align:right}.fab{right:max(16px,50vw - 304px);bottom:calc(24px + var(--ss-navbar-h,0px) + env(safe-area-inset-bottom,0px));z-index:5;background:var(--ss-brand);width:56px;height:56px;color:var(--ss-on-brand);font:300 1.875rem/3.375rem var(--ss-font-body);border:none;border-radius:50%;position:fixed;box-shadow:0 8px 20px #00000059}.fab.wide{width:auto;font:600 .9375rem var(--ss-font-body);border-radius:28px;align-items:center;gap:7px;padding:0 20px;display:inline-flex}.fab.wide span{font-size:1.125rem;font-weight:400}.fab:disabled{opacity:.55}.tile{background:var(--ss-surface-2);border:1px solid var(--ss-outline);width:44px;height:44px;font-size:1.375rem;font-family:"Noto Color Emoji", "Apple Color Emoji", "Segoe UI Emoji", var(--ss-font-body);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.pairline{color:var(--ss-text-2);overflow-wrap:anywhere;min-width:0;font-size:.75rem;line-height:1.5}.pairline b{font:600 .75rem var(--ss-font-mono);font-variant-numeric:tabular-nums}.hero .split{color:var(--ss-text-2);gap:14px;padding-top:4px;font-size:.8125rem;display:flex}.hero .split b{font:600 .8125rem var(--ss-font-mono);font-variant-numeric:tabular-nums}.sect .count{color:var(--ss-text-3)}.more{margin:4px 0 2px}.more>summary{cursor:pointer;color:var(--ss-text-2);-webkit-user-select:none;user-select:none;padding:8px 2px;font-size:.8125rem;list-style:none}.more>summary::-webkit-details-marker{display:none}.more>summary:before{content:"▸ ";color:var(--ss-text-3)}.more[open]>summary:before{content:"▾ "}.center{justify-content:center;align-items:center;gap:var(--ss-space-4);min-height:100vh;padding:var(--ss-space-6);text-align:center;flex-direction:column;display:flex}.muted{color:var(--ss-text-3);font-size:.8125rem}.link-btn{color:var(--ss-brand);background:0 0;border:none;padding:4px;font-size:.8125rem}.row.skeleton{pointer-events:none}.row.skeleton .badge{background:var(--ss-surface-2)}.row.skeleton .bar{background:var(--ss-surface-2);border-radius:6px;height:11px}.row.skeleton .badge,.row.skeleton .bar{animation:ss-pulse 1.4s var(--ss-ease) infinite}@keyframes ss-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.row.skeleton .badge,.row.skeleton .bar{animation:none}}*{box-sizing:border-box;margin:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{width:100%;overflow-x:hidden}body{background:var(--ss-bg);color:var(--ss-text);font:400 .9375rem/1.47 var(--ss-font-body);-webkit-font-smoothing:antialiased}.amount{font-family:var(--ss-font-mono);font-variant-numeric:tabular-nums;font-weight:500}.amount--owed{color:var(--ss-owed)}.amount--owe{color:var(--ss-owe)}button{font:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--ss-brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--ss-navbar-h:0px}.appshell{min-height:100dvh;display:flex}.railnav{border-right:1px solid var(--ss-outline);background:var(--ss-surface);flex-direction:column;flex:0 0 200px;align-self:flex-start;gap:2px;width:200px;height:100dvh;padding:18px 10px;display:flex;position:sticky;top:0}.railbrand{align-items:center;gap:8px;padding:0 10px 14px;display:flex}.railmark{background:var(--ss-brand);width:26px;height:26px;color:var(--ss-on-brand);border-radius:8px;place-items:center;font:700 15px/1 Space Grotesk,system-ui,sans-serif;display:grid}.railwordmark{letter-spacing:-.02em;font:600 17px/1 Space Grotesk,system-ui,sans-serif}.raillink{min-height:44px;color:var(--ss-text-2);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:0 10px;font:500 14px/1 Inter,system-ui,sans-serif;display:flex}.raillink:hover{background:var(--ss-surface-2);color:var(--ss-text)}.raillink.on{background:var(--ss-surface-2);color:var(--ss-brand);font-weight:700}.railmain{flex:auto;min-width:0}@media (width<=760px){:root{--ss-navbar-h:58px}.appshell{flex-direction:column}.railnav{width:auto;height:auto;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--ss-outline);z-index:20;flex-direction:row;flex:none;justify-content:space-around;position:fixed;inset:auto 0 0}.railbrand{display:none}.raillink{flex-direction:column;flex:1;justify-content:center;gap:3px;padding:4px 2px}.raillabel{font-size:10.5px}.railmain{padding-bottom:calc(var(--ss-navbar-h) + 20px)}}
