@font-face{font-family:Inter;src:url(inter-regular.ttf);font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url(inter-medium.ttf);font-weight:500 700;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#18203b;background:#f6f7fc;font-synthesis:none;--accent:#5145e8;--muted:#69738b;--border:#e5e7f3;--tint:#f0efff;--radius:6px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,select{cursor:pointer}button{color:inherit;border:1px solid var(--border);background:#f6f5ff;border-radius:var(--radius);padding:8px 12px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px}button:hover{background:#eae8ff;border-color:#c5c0fa}button:disabled{opacity:.45;cursor:default}button.primary,.segments button.active{background:var(--accent);color:white;border-color:var(--accent)}button.ghost{background:transparent;border-color:transparent}button.danger{color:#a34229;background:#fff4ef}button.icon-button{padding:6px;min-width:30px;min-height:30px;background:transparent;border-color:transparent}svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button .icon{width:15px;height:15px}input,select{border:1px solid #dfe2f1;background:#fff;border-radius:6px;color:inherit;padding:8px 10px;min-height:36px;font-size:13px;max-width:100%}input[type=number]{font-variant-numeric:tabular-nums}input:focus-visible,button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #aba3ff;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:27px;font-weight:500;letter-spacing:-1px}h2{font-size:21px;font-weight:500;letter-spacing:-.6px}h3{font-size:18px;font-weight:400;letter-spacing:-.3px}small,.muted{color:var(--muted);font-size:12px}.shell{max-width:1040px;margin:auto;padding:0 28px 70px}nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.brand .icon{color:var(--accent)}.navlinks{display:flex;gap:25px;height:100%;align-items:center}.navlinks button{height:100%;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;padding:0 4px;font-size:14px}.navlinks button.active{color:var(--accent);border-bottom-color:var(--accent)}.card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:30px;margin-bottom:20px;box-shadow:0 3px 12px #3841ac03}.overview{background:linear-gradient(140deg,#fff 70%,#fcfbff)}.section-head,.owner-head{display:flex;align-items:center;gap:14px}.section-head{margin-bottom:26px;min-height:36px}.section-head .total{margin-left:auto}.heading-icon{width:36px;height:36px;border-radius:8px;background:#f0eeff;color:var(--accent);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.heading-icon .icon{width:23px;height:23px}.owner-head{margin-bottom:20px}.owner-head h3{font-family:Inter;font-size:18px;font-weight:400;line-height:26px;min-width:48px}.owner-head .heading-icon{width:32px;height:32px}.avatar{border-radius:50%;font-size:15px}.total{background:var(--tint);border-radius:6px;padding:8px 12px;font-size:13px;white-space:nowrap;display:flex;gap:12px;align-items:center}.total strong{font-weight:500;font-variant-numeric:tabular-nums}.total span{border-right:1px solid #d0caf8;padding-right:12px;color:#606583}.summary-top{display:grid;grid-template-columns:1fr 1fr;gap:16px}.net-tile{padding:22px;background:#f2f1ff;border-radius:10px;display:flex;align-items:center;gap:17px}.net-tile>.icon{width:28px;height:28px;color:#5e56b6}.net-tile p{font-size:13px;color:#535976;margin-bottom:9px}.net-tile strong{font-size:30px;font-weight:500;letter-spacing:-1px;font-variant-numeric:tabular-nums}.metrics{display:grid;grid-template-columns:repeat(3,1fr);margin:26px 0 30px;gap:22px}.metric{display:flex;align-items:center;gap:12px;border-right:1px solid var(--border)}.metric:last-child{border:0}.metric p{font-size:12px;color:#69738b;margin-bottom:7px}.metric strong{font-size:23px;font-weight:500;letter-spacing:-.6px}.basis{display:flex;align-items:center;gap:16px;margin:12px 0 28px}.basis:before,.basis:after{content:'';height:1px;background:var(--border);flex:1}.segments{display:flex;gap:3px;background:#f5f4ff;padding:3px;border:1px solid #e9e6ff;border-radius:6px}.segments button{background:transparent;border:0;padding:7px 13px;font-size:12px;min-height:30px}.charts{display:grid;grid-template-columns:1.13fr 1fr;gap:24px}.chart-panel+ .chart-panel{border-left:1px solid var(--border);padding-left:24px}.chart-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.chart-title h2{font-size:16px}.chart-title .heading-icon{width:30px;height:30px}.ranges{margin-bottom:12px;display:inline-flex}.dates{display:flex;gap:8px;margin-bottom:10px}.dates label{font-size:11px;color:var(--muted);min-width:0;flex:1}.dates input{width:100%;margin-top:4px}.line-chart{width:100%;height:220px;display:block;overflow:visible}.line-chart text{font:11px Inter;fill:#748098}.chart-readout{height:26px;font-size:12px;color:#606983;margin-top:5px}.empty-chart{height:220px;display:grid;place-content:center;text-align:center;color:var(--muted);font-size:13px;padding:24px}.donut-wrap{position:relative;max-width:280px;margin:10px auto 0;aspect-ratio:1}.donut-wrap svg{width:100%;height:100%;overflow:visible}.donut-segment{cursor:pointer;transition:opacity .15s,stroke-width .15s}.donut-segment:hover,.donut-segment:focus{stroke-width:25;outline:none}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.donut-center strong{font-size:31px;font-weight:500;letter-spacing:-1px}.donut-center span{font-size:12px;color:var(--muted);margin-top:5px}.donut-detail{min-height:42px;padding:8px;text-align:center;font-size:12px;line-height:1.6;color:var(--muted)}.donut-detail strong{font-weight:500;color:#343c56}.owner-group+.owner-group{border-top:1px solid var(--border);margin-top:22px;padding-top:24px}.rows{margin-left:46px;display:grid;gap:12px}.detail-row{display:grid;grid-template-columns:minmax(145px,1fr) 156px minmax(180px,1fr) 30px;gap:18px;align-items:center;min-height:36px;font-size:13px}.detail-row label,.detail-row .row-label{overflow-wrap:anywhere;line-height:18px}.money-input{display:flex;border:1px solid #dedff0;border-radius:6px;align-items:center;height:36px;background:#fff;padding-left:10px;min-width:0}.money-input span{color:#83899b;font-size:12px}.money-input input{border:0;background:transparent;min-height:32px;height:32px;padding:6px 9px 6px 3px;text-align:right;width:100%;font-size:13px;outline-offset:0}.change{font-size:11px;display:inline-flex;align-items:center;gap:4px;justify-self:start;padding:6px 8px;border-radius:6px;white-space:nowrap;background:#f4f5f9;color:#7d8494}.change.good{background:#edf8ee;color:#23753d}.change.bad{background:#fff0ed;color:#ad4937}.subtotal{margin-top:2px;font-weight:500}.subtotal .subtotal-value{font-variant-numeric:tabular-nums}.debt-card{background:#fff9f6;border-color:#f3e5df}.debt-card .heading-icon,.debt-card .total{background:#fff0e9;color:#a64a30}.debt-card .total span{color:#a64a30;border-color:#efd0c4}.property-heading{display:flex;justify-content:space-between;align-items:center;margin:0 0 16px 46px;font-size:13px;color:#5c6579}.property-block+.property-block{border-top:1px solid var(--border);padding-top:20px;margin-top:20px}.empty{padding:18px 0 12px 46px;font-size:13px;color:var(--muted);line-height:1.7}.footer{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 0 20px}.footer small{margin-right:auto}.help{font-size:12px;color:var(--muted);line-height:1.7}.notice{background:#f0efff;border:1px solid #dfdbfa;padding:16px 20px;border-radius:10px;display:flex;gap:15px;align-items:center;margin-bottom:20px;font-size:13px;line-height:1.6}.notice p{flex:1}.notice button{white-space:nowrap}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--border)}th{font-weight:500;color:var(--muted);font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:12px;color:#596279;display:flex;flex-direction:column;gap:8px}.form-grid .full{grid-column:1/-1}.result{font-size:28px;font-weight:500;margin:24px 0 10px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}dialog{border:1px solid var(--border);border-radius:16px;padding:28px;width:min(500px,calc(100vw - 32px));color:inherit;box-shadow:0 20px 80px #17173c20}dialog::backdrop{background:#151a3444;backdrop-filter:blur(3px)}dialog h2{margin-bottom:22px}dialog .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog .error{color:#b13e2b;font-size:12px;margin-top:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#262d46;color:white;border-radius:8px;padding:12px 20px;font-size:13px;z-index:20;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}#toast.show{opacity:1}.screen-reader{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:800px){.shell{padding:0 16px 40px}.brand{display:none}nav{height:68px;justify-content:center}.card{padding:22px}.detail-row{grid-template-columns:minmax(115px,1fr) 125px minmax(135px,1fr) 26px;gap:10px}.change{font-size:10px}.rows{margin-left:0}.property-heading{margin-left:0}.charts{gap:15px}.chart-panel+.chart-panel{padding-left:15px}.net-tile{padding:16px}.net-tile strong{font-size:26px}.metrics{gap:10px}.metric strong{font-size:19px}.metric{gap:8px}.metric .heading-icon{display:none}}
@media(max-width:600px){h1{font-size:22px}.card{padding:20px 16px}.section-head{gap:9px;flex-wrap:wrap}.section-head h2{font-size:19px}.section-head>button{font-size:11px;padding:6px 8px}.section-head .total{font-size:11px;padding:7px 8px;gap:7px}.heading-icon{width:30px;height:30px}.summary-top{gap:9px}.net-tile{padding:15px 12px}.net-tile>.icon{display:none}.net-tile p{font-size:11px}.net-tile strong{font-size:23px}.metrics{gap:12px;margin:22px 0}.metric{border:0}.metric p{font-size:10px}.metric strong{font-size:17px}.charts{grid-template-columns:1fr}.chart-panel+.chart-panel{border-left:0;border-top:1px solid var(--border);padding:20px 0 0}.donut-wrap{max-width:230px}.detail-row{grid-template-columns:minmax(110px,1fr) 120px 26px;gap:9px}.detail-row .change{grid-column:1/3;grid-row:2;justify-self:end;font-size:10px;margin-top:-3px}.detail-row .icon-button{grid-column:3;grid-row:1}.rows{gap:14px}.subtotal{grid-template-columns:minmax(110px,1fr) 120px 26px}.owner-head{gap:10px}.owner-head h3{font-size:18px}.navlinks{gap:20px}.navlinks button{font-size:13px}.form-grid{grid-template-columns:1fr}.notice{align-items:flex-start;flex-wrap:wrap}.notice p{flex-basis:100%}.empty{padding-left:0}.overview>.section-head{flex-wrap:nowrap}.overview>.section-head>.heading-icon{display:none}.overview select{font-size:12px}.footer{gap:5px}.footer small{width:100%}}

/* Keep the household selector chevron centered and inset consistently. */
#scope{appearance:none;-webkit-appearance:none;padding:8px 32px 8px 12px;line-height:18px;min-height:36px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2369738b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:12px 12px;align-self:center;flex-shrink:0}

/* Stronger tint for unfavorable balance changes while retaining readable text. */
.change.bad{background:#ffe0da;color:#a83d2c}
