:root{color:#183335;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f4f7f5;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #0000;border-radius:10px;min-height:44px;padding:10px 16px;font-weight:600}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #dcad46}a{color:inherit}.primary{color:#fff;background:#176653}.ghost{color:#24483e;background:#fff;border-color:#cbd9d3}.danger{color:#a22e26}.shell{width:min(1080px,100%);margin:0 auto;padding:32px 24px 64px}.hero{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}h1{margin:4px 0 8px;font-size:32px}h2{margin:0 0 16px;font-size:20px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;color:#426857;margin:0;font-size:12px;font-weight:700}.muted{color:#5c6d65;font-size:14px;line-height:1.7}.account-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.account-email{overflow-wrap:anywhere;font-size:13px}.tabs{border-bottom:1px solid #dce5df;flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tabs a{color:#426057;border-radius:10px 10px 0 0;place-items:center;min-height:44px;padding:8px 14px;font-weight:700;text-decoration:none;display:grid}.tabs a:hover,.tabs a.active{color:#145b49;background:#dfeee6}.toolbar{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.toolbar label,.controls label{gap:6px;font-size:14px;display:grid}.toolbar-actions,.card-actions,.editor-actions{flex-wrap:wrap;gap:8px;display:flex}.toolbar-compact{justify-content:flex-end}.sync-status{font-size:12px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 12px;display:grid}.overview-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{background:#fff;border:1px solid #dce5df;border-radius:16px;padding:24px}.card span{color:#5c6d65;font-size:14px;display:block}.card strong{margin-top:12px;font-size:28px;display:block}.card small{color:#5c6d65;margin-top:10px;line-height:1.5;display:block}.breakdown span{display:block}.breakdown b{font-weight:inherit}.net-worth-card{background:#eaf5ee;border-color:#b9d8c5}.panel{margin-top:20px}.panel-heading,.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2,.section-heading h2{margin:0}.section-heading{margin-top:28px}.overview-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.compact-list,.category-list,.category-admin-list{gap:0;display:grid}.compact-row,.category-row,.category-admin-row{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;display:flex}.compact-row:last-child,.category-row:last-child,.category-admin-row:last-child{border-bottom:0}.compact-row span,.category-admin-row span{min-width:0}.compact-row strong,.category-admin-row strong{overflow-wrap:anywhere;display:block}.compact-row small,.category-admin-row small{color:#5c6d65;margin-top:4px;display:block}.category-row strong{white-space:nowrap}.editor{border-color:#78a28e}.editor-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;display:grid}.editor-grid label{gap:7px;min-width:0;font-size:14px;display:grid}.editor-grid .checkbox{align-items:center;gap:8px;display:flex}.editor-grid .checkbox input{width:auto}.wide{grid-column:1/-1}input,select,textarea{width:100%;min-width:0;max-width:100%;color:inherit;background:#fff;border:1px solid #b8cac0;border-radius:8px;padding:11px 12px}textarea{resize:vertical}.transaction-row{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:20px;padding:18px 0;display:flex}.transaction-row:last-child{border-bottom:0}.transaction-detail{min-width:0}.transaction-detail strong{white-space:pre-wrap;overflow-wrap:anywhere;display:block}.transaction-detail span{color:#5c6d65;overflow-wrap:anywhere;margin-top:6px;font-size:12px;display:block}.transaction-actions{flex-shrink:0;justify-items:end;gap:8px;display:grid}.transaction-actions>div{gap:6px;display:flex}.transaction-actions button{padding:6px 12px}.positive{color:#176653}.negative{color:#a13b32}.empty-state{text-align:center;color:#5c6d65;padding:40px 10px}.notice{overflow-wrap:anywhere;border-radius:10px;padding:14px 16px;line-height:1.7}.notice.error{color:#8f3324;background:#fff0eb;border:1px solid #efc3b8}.notice.success{color:#23633b;background:#eaf5ec;border:1px solid #c0dbc5}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.info-card{margin-top:20px}.info-card h2{overflow-wrap:anywhere}.large-number{margin:16px 0;font-size:26px;display:block}.money,.card strong,.large-number,.transaction-actions b,.compact-row>b,.chart-legend b{white-space:nowrap;overflow-wrap:normal;word-break:normal}.asset-card-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;margin:16px 0;display:grid}.asset-card-details>div{min-width:0}.asset-card-details span,.asset-card-details strong{display:block}.asset-card-details span{margin-bottom:4px}.asset-card-details strong{white-space:nowrap;font-size:16px}.asset-price-note{margin-top:0}.account-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px;display:grid}.account-picker>label{min-width:0}.account-picker .hint,.inline-account-form{grid-column:1/-1}.inline-account-button{white-space:nowrap}.inline-account-form{background:#f8fbf9;border:1px dashed #b8cac0;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;display:grid}.inline-account-form .card-actions{grid-column:1/-1}.pledge-alert{color:#6e4b15;background:#fff8e7;border:1px solid #e3b66d;border-radius:12px;margin:20px 0 0;padding:14px 16px;font-weight:700;line-height:1.6;text-decoration:none;display:block}.pledge-alert:hover{background:#fff1cf}.holding-summary-list{gap:10px;display:grid}.holding-summary{border:1px solid #dce5df;border-radius:12px;padding:0 14px}.holding-summary summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;min-height:64px;list-style:none;display:flex}.holding-summary summary::-webkit-details-marker{display:none}.holding-summary summary>span{min-width:0}.holding-summary summary strong,.holding-summary summary small{overflow-wrap:anywhere;display:block}.holding-summary summary small{color:#5c6d65;margin-top:4px;line-height:1.5}.holding-summary-details{padding:0 0 12px}.holding-line{border-top:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.holding-line>span{min-width:0}.holding-line strong,.holding-line small{overflow-wrap:anywhere;display:block}.holding-line small{color:#5c6d65;margin-top:4px;line-height:1.5}.account-holding-grid{margin-top:0}.account-holding-card{background:#f8fbf9;border:1px solid #dce5df;border-radius:12px;min-width:0;padding:18px}.account-holding-card h3{overflow-wrap:anywhere;margin:0 0 10px;font-size:17px}.account-holding-card p{margin:6px 0 0}.pledge-badge{color:#8b5a13;background:#fff0d5}.pledge-status-safe{color:#23633b;background:#dcefe2}.pledge-status-warning{color:#8b5a13;background:#fff0d5}.pledge-status-margin_call{color:#8f3324;background:#fff0eb}.pledge-status-liquidation{color:#7c241d;background:#f8d8d0}.pledge-status-paid_off{color:#416452;background:#e7eee9}.pledge-section{margin-top:28px}.pledge-summary{color:#426057;margin:0 0 16px;line-height:1.8}.pledge-card h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:20px}.pledge-ratio{margin:18px 0 2px;font-size:34px;display:block}.pledge-collateral-list{margin-top:16px}.pledge-collateral-list h4,.pledge-preview h3,.pledge-collateral-editor h3{margin:0;font-size:16px}.pledge-collateral-editor{background:#f8fbf9;border:1px solid #dce5df;border-radius:12px;margin-top:2px;padding:14px}.pledge-row{border-top:1px solid #dce5df;grid-template-columns:minmax(0,2fr) minmax(120px,1fr) auto;align-items:end;gap:10px;padding:12px 0;display:grid}.pledge-row:first-of-type{margin-top:12px}.pledge-row label{gap:7px;min-width:0;font-size:14px;display:grid}.pledge-row-actions{flex-wrap:wrap;gap:6px;display:flex}.pledge-row-actions button{padding:9px 11px}.pledge-preview{background:#eaf5ee;border:1px solid #b9d8c5;border-radius:10px;margin-top:12px;padding:14px}.pledge-preview p{margin:8px 0 0;line-height:1.7}.estimate-panel{border-top:1px solid #dce5df;margin-top:18px;padding-top:18px}.estimate-panel h3{margin:0 0 10px;font-size:17px}.estimate-panel p{line-height:1.7}.estimate-panel .table-wrap{margin:14px 0}.estimate-table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.estimate-table th,.estimate-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #edf0ec;padding:8px}.estimate-table th{color:#5c6d65}.estimate-disclaimer{color:#5c6d65;margin-bottom:0;font-size:12px}.error-text{color:#8f3324}.badge{color:#416452;white-space:nowrap;background:#e7eee9;border-radius:999px;align-items:center;min-height:28px;padding:3px 10px;font-size:13px;display:inline-flex}.status-paid{color:#23633b;background:#dcefe2}.status-due{color:#8b5a13;background:#fff0d5}.status-upcoming{color:#445d7b;background:#e8edf5}.recurring-card{margin-top:16px}.recurring-card h2{margin-bottom:4px}.hint{color:#76551b;background:#fff8e7;border:1px solid #ebd59d;border-radius:8px;margin:12px 0;padding:10px 12px;line-height:1.6}.recurring-spending-setting{gap:8px;display:grid}.recurring-spending-setting .hint{margin:0}.auto-badge{margin-left:5px;font-size:11px;font-weight:700}.controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.spending-controls{grid-template-columns:minmax(280px,2fr) repeat(3,minmax(120px,1fr));align-items:end}.control-label{margin-bottom:6px;font-size:14px;display:block}.period-presets{flex-wrap:wrap;gap:6px;display:flex}.period-presets button{color:#24483e;background:#f4f7f5;border-color:#cbd9d3;min-height:44px;padding:8px 11px}.period-presets button.selected{color:#fff;background:#176653;border-color:#176653}.chart-panel{overflow:hidden}.donut-layout{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:24px;display:grid}.donut-svg,.trend-svg,.bar-chart-svg,.stacked-bar-svg{width:100%;max-width:100%;height:auto;display:block}.donut-total{fill:#183335;font-size:18px;font-weight:700}.donut-label{fill:#5c6d65;font-size:12px}.chart-legend{gap:10px;display:grid}.chart-legend>div{grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.legend-dot{background:#176653;border-radius:50%;width:10px;height:10px;display:block}.chart-table{border-collapse:collapse;width:100%}.chart-table th,.chart-table td{text-align:left;border-bottom:1px solid #edf0ec;padding:9px 8px}.chart-table td:nth-child(2){white-space:nowrap}.chart-table th{color:#5c6d65;font-size:13px;font-weight:700}.chart-table td .legend-dot{vertical-align:-1px;margin-right:7px;display:inline-block}.table-wrap{max-width:100%;overflow-x:auto}.chart-details{border-top:1px solid #edf0ec;margin-top:16px}.chart-details summary{cursor:pointer;color:#426057;padding:12px 0 4px;font-size:14px;font-weight:700}.chart-details[open] summary{margin-bottom:8px}.valuation-list{gap:0;display:grid}.valuation-row{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.valuation-row:last-child{border-bottom:0}.valuation-row span{min-width:0}.valuation-row strong,.valuation-row small{overflow-wrap:anywhere;display:block}.valuation-row small{color:#5c6d65;margin-top:4px}.valuation-more{margin-top:12px}.sr-summary{color:#5c6d65;margin-top:16px;font-size:13px;line-height:1.6}.rank-row{width:100%;min-height:44px;color:inherit;text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0ec;grid-template-columns:minmax(70px,1fr) 2fr auto;align-items:center;gap:10px;padding:8px 0;display:grid}.rank-track{background:#edf0ec;border-radius:999px;height:10px;overflow:hidden}.rank-track i{border-radius:inherit;background:#176653;height:100%;display:block}.drilldown{border-bottom:1px solid #edf0ec;padding:12px 0 16px 18px}.drilldown h3{margin:0 0 8px;font-size:15px}.trend-svg text,.bar-chart-svg text,.stacked-bar-svg text{fill:#5c6d65;font-size:11px}.category-admin-row.inactive{opacity:.6}.manager-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 10px;min-width:0;display:grid}.manager-picker>label{gap:7px;min-width:0;font-size:14px;display:grid}.inline-manager-button{white-space:nowrap}.inline-manager-form,.manager-rename-form{background:#f8fbf9;border:1px dashed #b8cac0;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:12px;display:grid}.inline-manager-form{grid-column:1/-1}.inline-manager-form label,.manager-rename-form label{gap:7px;min-width:0;font-size:14px;display:grid}.manager-settings{margin-top:20px}.manager-settings-list{gap:0;display:grid}.manager-settings-row{border-bottom:1px solid #edf0ec;justify-content:space-between;align-items:center;gap:16px;padding:13px 0;display:flex}.manager-settings-row:last-child{border-bottom:0}.manager-settings-row>span{min-width:0}.manager-settings-row strong,.manager-settings-row small{overflow-wrap:anywhere;display:block}.manager-settings-row small{color:#5c6d65;margin-top:4px}.manager-settings-row.inactive{opacity:.62}.overview-manager-filter{flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px;display:flex}.filter-label{color:#426057;white-space:nowrap;font-weight:700}.segmented-control{flex-wrap:wrap;gap:6px;display:flex}.segmented-control button{color:#24483e;background:#f4f7f5;border-color:#cbd9d3;min-height:40px;padding:8px 14px}.segmented-control button.active{color:#fff;background:#176653;border-color:#176653}.overview-hero{background:linear-gradient(135deg,#eaf5ee,#f8fbf9);border:1px solid #b9d8c5;border-radius:18px;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:18px;margin-top:20px;padding:24px;display:grid}.overview-hero h2{margin:5px 0 8px;font-size:28px}.overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.overview-metrics>article:first-child{grid-column:1/-1;padding:18px 20px}.overview-metrics>article:first-child strong{font-size:clamp(28px,4vw,40px)}.overview-metrics article{background:#ffffffb8;border:1px solid #78a28e5c;border-radius:12px;min-width:0;padding:14px}.overview-metrics article span,.overview-metrics article small{color:#5c6d65;font-size:13px;line-height:1.5;display:block}.overview-metrics article strong{white-space:nowrap;margin:8px 0 5px;font-size:clamp(18px,2vw,24px);display:block}.overview-metrics.compact{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.overview-metrics.compact>article:first-child{grid-column:auto;padding:14px}.overview-metrics.compact>article:first-child strong{font-size:clamp(18px,2vw,24px)}.overview-metrics.compact article{background:#f8fbf9}.overview-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.overview-chart-grid>.panel{min-width:0}.overview-chart-grid .donut-layout{grid-template-columns:minmax(0,1fr);justify-items:center;gap:14px}.overview-chart-grid .donut-svg{max-width:240px}.overview-chart-grid .chart-legend{width:100%}.legend-button>b{white-space:nowrap;text-align:right;font-weight:700}.legend-button{width:100%;min-height:40px;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 0;display:grid}.legend-button:hover{color:#145b49}.liability-bars{gap:16px;margin-top:14px;display:grid}.liability-bar-row .panel-heading{margin-bottom:5px}.liability-track{background:#edf0ec;border-radius:999px;height:12px;overflow:hidden}.liability-track i{border-radius:inherit;background:#a65d73;min-width:4px;height:100%;display:block}.liability-bar-row small{color:#5c6d65;margin-top:5px;display:block}.overview-svg{width:100%;height:auto;min-height:200px;display:block}.overview-svg text{fill:#5c6d65;font-size:11px}.chart-line-legend{color:#5c6d65;flex-wrap:wrap;gap:14px;margin-top:8px;font-size:13px;display:flex}.chart-line-legend span{align-items:center;gap:6px;display:inline-flex}.balance-sheet-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.balance-sheet-columns>section{min-width:0}.balance-sheet-columns h3{margin:4px 0 10px}.balance-group{border:1px solid #dce5df;border-radius:12px;margin-top:10px;overflow:hidden}.balance-group summary{cursor:pointer;background:#f8fbf9;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:10px 13px;font-weight:700;display:flex}.balance-row{border-top:1px solid #edf0ec;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 13px;display:flex}.balance-row-main{min-width:0}.balance-row-main strong,.balance-row-main small{overflow-wrap:anywhere;display:block}.balance-row-main small{color:#5c6d65;margin-top:4px;line-height:1.55}.balance-row-amount{flex-shrink:0}.balance-totals{color:#426057;border-top:2px solid #b9d8c5;flex-wrap:wrap;justify-content:flex-end;gap:14px 24px;margin-top:18px;padding-top:16px;display:flex}.balance-totals span{white-space:nowrap}.balance-totals strong{color:#183335;margin-left:4px}.manager-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.manager-balance-card{background:#f8fbf9;border:1px solid #dce5df;border-radius:12px;min-width:0;padding:16px}.manager-balance-card h3{overflow-wrap:anywhere;margin:0}.manager-balance-card p{color:#5c6d65;line-height:1.7}.manager-balance-card .large-number{margin-bottom:2px}.manager-balance-card>small{color:#5c6d65}.manager-balance-bar{background:#edf0ec;border-radius:999px;height:10px;margin:12px 0 6px;display:flex;overflow:hidden}.manager-balance-bar i{min-width:0;height:100%;display:block}.manager-bar-assets{background:#537b9f}.manager-bar-liabilities{background:#a65d73}.manager-balance-bar-legend{color:#5c6d65;flex-wrap:wrap;gap:10px;margin-bottom:10px;font-size:12px;display:flex}.manager-balance-bar-legend span{align-items:center;gap:5px;display:inline-flex}.overview-risk-list{gap:10px;display:grid}.risk-row{color:#6e4b15;background:#fff8e7;border:1px solid #e3b66d;border-radius:10px;gap:4px;padding:13px 14px;line-height:1.6;text-decoration:none;display:grid}.risk-row.danger{color:#8f3324;background:#fff0eb;border-color:#efc3b8}.risk-row:hover{filter:brightness(.98)}.overview-secondary-summary{margin-top:20px}.pledge-manager-field{padding:16px}.cashflow-svg{min-height:230px}.overview-table{min-width:440px}.auth-shell{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #dce5df;border-radius:20px;width:min(430px,100%);padding:32px}.auth-form{gap:12px;margin-top:24px;display:grid}.auth-form label{font-size:14px}.auth-card>.ghost{margin-top:10px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=760px){.shell{padding:24px 16px 40px}.hero{display:block}.account-actions{justify-content:flex-start;margin-top:16px}.overview-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-columns,.card-grid,.overview-hero,.overview-chart-grid,.balance-sheet-columns{grid-template-columns:1fr}.overview-metrics,.overview-metrics.compact,.manager-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.donut-layout{grid-template-columns:1fr;justify-items:center}.chart-legend{width:100%}.spending-controls{grid-template-columns:1fr}}@media (width<=520px){h1{font-size:28px}.toolbar{flex-direction:column;align-items:stretch}.toolbar-actions>button{flex:1}.summary-grid,.overview-summary{grid-template-columns:1fr;gap:10px}.overview-hero{padding:18px}.overview-hero h2{font-size:24px}.overview-metrics,.overview-metrics.compact,.manager-card-grid{grid-template-columns:1fr}.overview-manager-filter{flex-direction:column;align-items:flex-start;gap:10px}.segmented-control{width:100%}.segmented-control button{flex:auto}.manager-picker,.inline-manager-form,.manager-rename-form{grid-template-columns:1fr}.inline-manager-button{width:100%}.manager-settings-row{flex-direction:column;align-items:flex-start}.manager-settings-row .card-actions{width:100%}.manager-settings-row .card-actions button{flex:1}.balance-row{gap:8px;padding:11px 10px}.balance-row-amount{font-size:16px}.balance-totals{justify-content:flex-start;gap:8px 14px}.chart-line-legend{gap:8px}.card{min-width:0;padding:16px;display:block}.card strong{text-align:left;margin-top:10px;font-size:clamp(20px,7vw,24px)}.card small{max-width:none}.panel{padding:18px}.asset-card-details{gap:12px}.editor-grid,.controls{grid-template-columns:1fr}.wide{grid-column:auto}.account-picker,.inline-account-form,.pledge-row{grid-template-columns:1fr}.account-picker .hint,.inline-account-form,.inline-account-form .card-actions{grid-column:auto}.inline-account-button{width:100%}.holding-summary{padding:0 10px}.holding-summary summary{align-items:flex-start;min-height:72px;padding:12px 0}.holding-summary summary>b{flex-shrink:0}.pledge-row-actions{justify-content:flex-start}.transaction-row{align-items:flex-start;gap:12px}.transaction-actions{max-width:50%}.transaction-actions b{overflow-wrap:anywhere;font-size:14px}.transaction-actions button{padding:6px 9px;font-size:12px}.tabs{gap:4px}.tabs a{flex:29%;padding:8px 5px;font-size:13px}}
