*{box-sizing:border-box} :root{--bg:#f7f6f2;--ink:#1c201e;--muted:#71756f;--line:#e5e7e0;--brand:#c94a2c;--hero:#262f2a;--blue:#e8edf5;--pink:#f3e5ed;--orange:#f4ecd7;--green:#e4ede2}body{margin:0;color:var(--ink);background:#e9ebe6;font:16px/1.5 Onest,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #4165a4;outline-offset:3px}button:hover{filter:brightness(.98)}button:active{transform:translateY(1px)}h1,h2,p{margin:0}h1{font-size:28px;letter-spacing:-.8px;line-height:1.3;font-weight:600}h2{font-size:20px;letter-spacing:-.4px;font-weight:600}.demo-bar{padding:9px 16px;text-align:center;font-size:12px;color:#5a5f57;background:#e9ebe6}#app{max-width:450px;min-height:calc(100dvh - 36px);margin:0 auto;background:var(--bg);position:relative;border-radius:32px 32px 0 0;overflow:hidden}.main{padding:22px 20px 110px;min-height:calc(100dvh - 36px)}header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin-bottom:24px}.brand{display:flex;align-items:center;gap:10px}.brand small{font-size:12px;letter-spacing:1.5px;display:block;line-height:16px;color:var(--muted)}.brand strong{font-size:32px;letter-spacing:-1.5px;line-height:40px;font-weight:600}.icon{display:block;flex-shrink:0}.period{position:relative;background:white;border-radius:999px;font-size:12px;padding:10px 12px;white-space:nowrap}.period input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.eyebrow{font-size:12px;letter-spacing:1.5px;color:var(--muted);font-weight:500}.display{font-size:clamp(38px,12vw,56px);font-weight:500;letter-spacing:-2px;line-height:1.18;margin:7px 0 8px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.amount{font-size:40px;letter-spacing:-1.3px;line-height:1.2;font-weight:500;margin:6px 0}.muted{color:var(--muted);font-size:14px}.small{font-size:12px;color:var(--muted)}.track{height:6px;overflow:hidden;background:var(--line);border-radius:999px;margin:9px 0 4px}.bar{height:100%;background:var(--brand);border-radius:inherit}.between{display:flex;align-items:center;justify-content:space-between;gap:10px}.totals{font-size:12px;color:var(--muted)}.shared-card{width:100%;display:flex;align-items:center;gap:12px;background:var(--hero);color:white;border-radius:20px;padding:16px;margin:24px 0 20px;text-align:left}.shared-card .desc{font-size:12px;color:#c1cdc2}.shared-card strong{font-size:26px;letter-spacing:-.8px;white-space:nowrap;font-weight:500}.balance{margin-left:auto;text-align:right}.section-heading{display:flex;align-items:center;justify-content:space-between;margin:20px 0}.text-button{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;min-height:44px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.tile{border-radius:20px;padding:16px;text-align:left;min-width:0;display:grid;gap:6px}.tile strong{font-weight:500;font-size:26px;line-height:34px;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.blue{background:var(--blue)}.pink{background:var(--pink)}.orange{background:var(--orange)}.green{background:var(--green)}.tile .name{font-size:14px;color:#4165a4}.pink .name{color:#96496b}.orange .name{color:#8f642f}.green .name{color:#3f6853}.nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,450px);display:flex;justify-content:space-between;align-items:center;gap:4px;padding:8px 20px calc(14px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid #e5e7e070}.nav button{flex:1;min-width:0;min-height:54px;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:12px;color:var(--muted);padding:0}.nav button.active{background:white;color:var(--ink)}.nav button.add{flex:0 0 52px;height:52px;min-height:52px;background:var(--brand);border-radius:50%;color:white}.nav .icon{width:21px;height:21px}.nav .add .icon{width:26px;height:26px}.button{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:12px 16px;background:var(--ink);color:white;border-radius:999px;font-size:16px;font-weight:500;margin-top:16px;gap:8px}.button.secondary{background:white;color:var(--ink);border:1px solid var(--line)}.button.danger{background:#fbe6de;color:#a7351b}.note{margin-top:16px;padding:14px 16px;border-radius:16px;background:#e5e7e04f;color:#60655e;font-size:14px}.note strong{color:var(--ink);font-weight:500}.tabs{display:flex;gap:4px;padding:4px;background:var(--line);border-radius:999px;margin-bottom:18px}.tabs button{flex:1;border-radius:999px;padding:9px 6px;font-size:14px;color:var(--muted)}.tabs button.active{background:white;color:var(--ink)}.list{display:flex;flex-direction:column;gap:8px;margin:16px 0}.row{background:white;border-radius:20px;padding:14px 16px;display:flex;align-items:center;gap:12px;width:100%;text-align:left}.row-copy{min-width:0;flex:1}.row-copy .title{font-size:16px;font-weight:500;overflow-wrap:anywhere}.row-right{text-align:right;flex-shrink:0;font-size:14px;display:flex;flex-direction:column;align-items:flex-end;gap:4px}.row.paused{opacity:.67}.row .small{line-height:1.45}.chip{display:inline-block;border-radius:999px;padding:3px 8px;background:var(--green);font-size:12px;color:#3f6853}.chip.pause{background:var(--line);color:#62685e}.empty{padding:34px 20px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--ink);font-size:20px;margin-bottom:8px}.filter{display:flex;gap:8px;margin:16px 0;align-items:center}.filter select{background:white;min-height:42px;width:100%;border:1px solid var(--line);border-radius:12px;padding:8px 12px}.back{border-radius:50%;background:white;min-width:44px;min-height:44px;font-size:26px;line-height:1}.head-left{display:flex;align-items:center;gap:12px}.member-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:500}.member-avatar.shared{background:var(--hero);color:white}.report-row{margin:20px 0}.report-row .track{height:9px;margin-top:8px}.negative{color:#b54328}dialog{border:0;padding:0;background:var(--bg);color:var(--ink);width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 36px);border-radius:28px;box-shadow:0 24px 100px #0003}dialog::backdrop{background:#18201ab3;backdrop-filter:blur(4px)}.modal-inner{padding:24px}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.modal-head h2{font-size:24px}.close{font-size:26px;min-width:44px;min-height:44px;background:white;border-radius:50%;line-height:1}form{display:grid;gap:14px}label.field{display:grid;align-content:start;gap:6px;color:#62675e;font-size:14px}.field input,.field select{display:block;width:100%;min-height:50px;padding:12px 14px;border:1px solid var(--line);background:white;color:var(--ink);border-radius:14px;font-size:16px}.field input[type=number]{appearance:textfield}.field input[type=number]::-webkit-inner-spin-button{appearance:none}.two{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:12px}.switch{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:16px;min-height:48px}.switch input{width:42px;height:24px;accent-color:var(--brand)}form .button{margin-top:0}.error{color:#ae351d;font-size:14px;min-height:0}.form-help{font-size:12px;color:var(--muted)}.modal-actions{display:grid;gap:8px;margin-top:12px}.modal-actions .button{margin:0}.count{font-size:14px;color:var(--muted)}#toast{position:fixed;z-index:100;left:50%;bottom:100px;transform:translate(-50%,20px);max-width:calc(100vw - 36px);background:var(--hero);color:white;border-radius:14px;padding:12px 18px;box-shadow:0 5px 25px #0002;opacity:0;pointer-events:none;transition:.2s;font-size:14px;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.subheading{margin:18px 0 10px}.line{height:1px;background:var(--line);margin:18px 0}.label-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0}.label-row span:first-child{color:var(--muted)}a{color:#4165a4}.budget-form .field{grid-template-columns:1fr 140px;align-items:center}.budget-form .field input{text-align:right}.readable{overflow-wrap:anywhere}@media(min-width:700px){.demo-bar{padding:16px}#app{min-height:850px;margin:12px auto 44px;box-shadow:0 16px 100px #28302412;border-radius:32px}.main{min-height:850px}.nav{border-radius:0 0 28px 28px}.grid{gap:20px 12px}}@media(max-width:359px){.main{padding-left:16px;padding-right:16px}.brand strong{font-size:28px}.brand small{font-size:10px}.period{font-size:11px;padding:8px}.tile{padding:12px}.tile strong{font-size:23px}.nav{padding-left:12px;padding-right:12px}.shared-card{gap:8px;padding:14px}.shared-card strong{font-size:23px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.field{min-width:0}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.category-link{flex-shrink:0;padding:0 6px;color:var(--ink)}.filter select{min-width:0;flex:1}.report-row .between>span{min-width:0;overflow-wrap:anywhere}.report-row .between>strong{flex-shrink:0}
.period-stepper{display:flex;align-items:center;gap:8px;margin:0 0 18px;background:white;border-radius:18px;padding:5px}.period-stepper>button{flex:0 0 44px;min-height:48px;border-radius:14px;font-size:26px}.report-period-label{position:relative;flex:1;min-width:0;text-align:center;font-size:18px;font-weight:500;padding:12px 0}.report-period-label input,.report-period-label select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.report-period-label:focus-within{outline:3px solid #4165a4;outline-offset:0;border-radius:12px}.range-form{margin-bottom:18px}.range-form .field input{padding:12px 8px;min-width:0}.report-summary{padding:20px;background:white;border-radius:24px;margin-top:20px}.report-summary .display{font-size:clamp(32px,10vw,48px);letter-spacing:-1.6px}.report-summary .eyebrow{letter-spacing:1px}.comparison{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:14px;margin-top:18px}.comparison>div{display:grid;gap:3px}.comparison strong{font-size:16px;font-weight:500;overflow-wrap:anywhere}.compare-change{text-align:right}.comparison>p{width:100%}.history-list{display:grid;gap:5px;margin-bottom:8px}.history-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.45fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px 10px;min-height:52px;text-align:left;border-radius:12px}.history-row:hover,.history-row.selected{background:white}.history-name{font-size:14px;text-transform:capitalize}.history-value{text-align:right;font-size:14px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.history-track{display:block;height:7px;background:var(--line);border-radius:10px;overflow:hidden}.history-track>span{height:100%;display:block;background:var(--brand);border-radius:inherit}.archive-years{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0 26px}.archive-years>span{width:100%}.year-chip{border:1px solid var(--line);background:white;border-radius:999px;padding:10px 16px;min-height:44px;font-size:14px}.year-chip.active{background:var(--hero);color:white}.category-report{display:block;width:100%;text-align:left;padding:0;margin:18px 0}.category-report .track,.category-report .bar{display:block}.category-report .between{align-items:flex-start}.category-report .between>span{flex:1}.category-report strong{font-size:15px;font-weight:500;max-width:50%;overflow-wrap:anywhere}.family-breakdown{background:white;border-radius:20px;padding:2px 14px;margin-top:12px}.family-report-row{display:flex;gap:10px;align-items:center;padding:12px 0;font-size:14px}.family-report-row+.family-report-row{border-top:1px solid var(--line)}.family-report-row>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.family-report-row strong{max-width:45%;overflow-wrap:anywhere;font-weight:500}.family-report-row .member-avatar{width:36px;height:36px}.active-category{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:16px 0;padding:6px 14px;background:white;border-radius:14px;overflow-wrap:anywhere}.active-category button{font-size:24px;min-width:44px;min-height:44px}.category-field{min-width:0}.category-field .text-button{font-size:14px;color:#4165a4;text-align:left;padding:5px 0;line-height:1.3}.report-summary .small{margin-top:6px}@media(max-width:359px){.history-row{gap:6px;padding:12px 4px;grid-template-columns:minmax(0,1fr) minmax(0,.25fr) minmax(0,1fr)}.report-summary{padding:16px}.family-breakdown{padding:2px 10px}.family-report-row{gap:7px}}

.login-main{display:flex;flex-direction:column;justify-content:center;gap:20px;padding-bottom:60px}.login-main h1{margin-top:20px}.login-main form{margin-top:10px}.button[href]{text-decoration:none}.login-main .form-help{font-size:14px}
