:root{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#362b29;background:#faf7f6;font-synthesis:none;--ink: #362b29;--muted: #837572;--accent: #9f342f;--line: #eee4e1;--paper: #fff;--surface: #f9f4f2;--shadow: 0 2px 7px #5f211807;line-height:1.5}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}svg{width:18px;height:18px;stroke-width:1.75;flex-shrink:0}button svg{pointer-events:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #d8797188;outline-offset:3px}button{color:inherit}input,select,textarea{color:var(--ink);border:1px solid #e8dad7;background:#fff;border-radius:8px;min-height:40px;padding:9px 12px;max-width:100%;transition:border-color .15s}input:hover,select:hover,textarea:hover{border-color:#d4aaa5}input:focus,select:focus,textarea:focus{border-color:#bd5a52}input::placeholder,textarea::placeholder{color:var(--muted)}input[type=checkbox]{width:17px;height:17px;min-height:17px;accent-color:#9f342f;padding:0}input:disabled,select:disabled,textarea:disabled{background:var(--surface);color:var(--muted)}textarea{resize:vertical}h1,h2,h3,p{margin:0}h1{font-size:29px;letter-spacing:-1px;line-height:1.3;font-weight:650}h2{font-size:16px;font-weight:620;letter-spacing:-.25px}h3{font-size:15px}.numeric{font-variant-numeric:tabular-nums;letter-spacing:-.3px}.muted{color:var(--muted)}.small-text{font-size:11px}.positive{color:var(--ink)}.negative{color:#b27b69}.color-dot{display:inline-block;width:7px;height:7px;border-radius:100%;flex-shrink:0}.sand{background:#c89780}.small-note{font-size:12px;color:var(--muted);line-height:1.8}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:550;min-height:40px;padding:9px 16px;white-space:nowrap;transition:background .15s,transform .15s}.button:active:not(:disabled){transform:translateY(1px)}.primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 3px 8px #7c251b18}.primary:hover:not(:disabled){background:#842a26}.secondary{background:#fff;border-color:var(--line);color:var(--ink)}.secondary:hover:not(:disabled){background:var(--surface)}.button.small{font-size:11px;padding:6px 10px;min-height:33px}.button.full{width:100%}.icon-button{display:inline-flex;justify-content:center;align-items:center;min-width:34px;height:34px;border:0;border-radius:7px;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--surface);color:var(--ink)}.text-button{border:0;background:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 0;color:var(--muted);font-size:12px;white-space:nowrap}.text-button:hover{color:var(--ink)}.text-button svg{width:14px;height:14px}.tag{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:5px;background:var(--surface);color:var(--muted);padding:4px 8px;font-size:10px;line-height:1.4}.tag svg{width:12px;height:12px}.tag.success{color:var(--ink);background:var(--surface)}.tag.warm{color:#aa864a;background:#f8f3e9}.avatar{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:var(--surface);color:var(--muted);font-size:13px;flex-shrink:0}.avatar.small{width:23px;height:23px;font-size:10px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:218px;padding:32px 20px 0;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;font-size:23px;font-weight:680;letter-spacing:2px}.brand-icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:#9f342f;color:#fff;box-shadow:0 5px 12px #7c251b24}.brand-icon svg{width:23px;height:23px;stroke-width:1.7}.brand small{display:block;font-size:8px;font-weight:500;letter-spacing:2.25px;color:var(--muted);margin-top:0}.household-switch{display:flex;gap:9px;align-items:center;margin:31px 0 29px;border:1px solid var(--surface);border-radius:9px;padding:11px 10px}.household-switch strong{display:block;font-size:12px;font-weight:570}.household-switch div>span{display:block;font-size:10px;color:var(--muted);margin-top:2px}.home-mark{width:27px;height:27px;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:6px;color:var(--muted)}.home-mark svg{width:15px;height:15px}.nav-label{font-size:10px;color:var(--muted);letter-spacing:.5px;padding:0 12px;margin-bottom:10px}.sidebar nav{display:grid;gap:5px}.sidebar nav a{display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:8px;font-size:13px;color:var(--muted);position:relative;line-height:20px}.sidebar nav a svg{width:17px;height:17px}.sidebar nav a:hover{background:#faf2f0}.sidebar nav a.active{background:#f7e8e5;color:#8f2f2a;font-weight:600}.nav-dot{width:5px;height:5px;background:#b9a071;border-radius:50%;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:45px}.ownership-note{padding:16px 11px 24px;color:var(--muted)}.ownership-note>svg{width:17px;height:17px;margin-bottom:7px}.ownership-note strong{display:block;font-size:11px;font-weight:500}.ownership-note p{font-size:10px;color:var(--muted);line-height:1.85;margin-top:5px}.storage-indicator{display:flex;gap:5px;align-items:center;padding:11px 6px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}.storage-indicator>span{width:5px;height:5px;border-radius:50%;background:var(--accent)}.storage-indicator svg{width:12px;height:12px}.profile{border-top:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:17px 0 20px}.profile>div{flex:1}.profile strong{display:block;font-size:12px;font-weight:570}.profile small{display:block;color:var(--muted);font-size:10px;margin-top:2px}.profile .icon-button{min-width:25px;width:25px}.profile .icon-button svg{width:15px;height:15px}.main-shell{margin-left:218px;width:calc(100% - 218px)}.topbar{height:65px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 34px;background:#ffffffa8}.topbar>div{display:flex;align-items:center;gap:10px}.breadcrumb{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px}.breadcrumb svg{width:12px;height:12px;color:var(--muted)}.breadcrumb strong{color:var(--muted);font-weight:500}.topbar-actions{gap:17px!important}.collab-badge{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.collab-badge svg{width:15px;height:15px}.month-control{display:flex;align-items:center;gap:7px;border:1px solid var(--line);padding:1px 9px;border-radius:7px;background:#fff}.month-control svg{width:14px;height:14px;color:var(--muted)}.month-control input{border:0;min-height:31px;font-size:11px;padding:3px 1px;width:130px;color:var(--muted);background:transparent}.demo-banner{min-height:28px;display:flex;align-items:center;justify-content:space-between;padding:5px 34px;color:var(--muted);background:var(--surface);border-bottom:1px solid var(--line);font-size:10px}.demo-banner>span{display:flex;align-items:center;gap:6px}.demo-banner .color-dot{width:5px;height:5px;background:var(--accent-soft-border)}.main-content{padding:30px 34px 25px;max-width:1510px;margin:auto;outline:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:10px}.page-heading h1{margin-bottom:9px}.page-heading>div>p:last-child:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.7}.heading-actions{display:flex;align-items:center;gap:10px}.overview-filter{display:flex;align-items:center;justify-content:space-between;margin:0 0 17px}.people-filter{display:flex;gap:5px;padding:4px;border:1px solid var(--surface);border-radius:8px;background:var(--paper)}.people-filter button{border:0;background:transparent;display:flex;align-items:center;gap:5px;border-radius:5px;font-size:11px;padding:6px 10px;color:var(--muted)}.people-filter button.active{background:#f7e9e6;color:#92342e;font-weight:550}.people-filter .color-dot{width:5px;height:5px}.metrics{display:grid;grid-template-columns:1.32fr 1fr 1fr;gap:17px;margin-bottom:20px}.metric{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px 23px;box-shadow:var(--shadow);overflow:hidden}.metric.networth{background:#8f302b;color:#fff;border-color:#8f302b}.metric-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;letter-spacing:.3px;color:var(--muted)}.metric-label svg{width:17px;height:17px;color:var(--muted)}.networth .metric-label,.networth .metric-label svg{color:#f3d5d1}.metric-value{font-size:27px;font-weight:540;white-space:nowrap;margin:13px 0 16px;letter-spacing:-1px;line-height:1.3}.networth .metric-value{font-size:32px;font-weight:560}.metric-footer{display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted);min-height:16px}.metric-footer .change{font-size:10px}.metric-footer .change svg{width:12px;height:12px}.networth .metric-footer,.networth .change{color:#efc8c3}.metric-footer .color-dot{width:5px;height:5px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px 15px}.panel-heading h2{display:flex;align-items:center;gap:8px;font-size:14px}.panel-heading h2 svg{width:16px;height:16px;color:var(--muted)}.panel-heading p{font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.segments{display:inline-flex;align-items:center;border:1px solid var(--surface);padding:3px;border-radius:7px;background:var(--surface);flex-shrink:0;max-width:100%;overflow:auto}.segments button{font-size:10px;color:var(--muted);border:0;background:none;padding:6px 9px;border-radius:4px;white-space:nowrap;line-height:17px}.segments button.selected{background:#fff;color:var(--ink);box-shadow:0 1px 4px #38262010}.overview-main{display:grid;grid-template-columns:minmax(0,2.25fr) minmax(242px,1fr);gap:20px;margin-bottom:20px}.flow-labels{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:var(--muted);margin:7px 27px 0}.flow-panel .panel-heading{padding-bottom:15px}.panel-note{display:flex;align-items:center;gap:6px;padding:11px 24px;border-top:1px solid var(--surface);font-size:9px;color:var(--muted);min-height:38px}.panel-note .color-dot{width:5px;height:5px}.note-right{margin-left:auto;font-size:9px}.review-card{padding:22px 23px;background:var(--paper);display:flex;flex-direction:column}.review-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.icon-tile{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:var(--surface);border-radius:10px;color:var(--muted)}.review-card .eyebrow{margin:0 0 6px;letter-spacing:.4px;font-size:10px}.review-card h2{font-size:17px;letter-spacing:-.45px}.review-card>p:not(.eyebrow){font-size:10px;color:var(--muted);margin-top:6px;line-height:1.8}.review-count{display:flex;align-items:center;justify-content:space-between;margin-top:22px;margin-bottom:7px}.review-count strong{font-size:21px;font-weight:500}.review-count strong span{font-size:13px;color:var(--muted);font-weight:400}.review-count>span{font-size:9px;color:var(--muted)}progress{appearance:none;height:5px;width:100%;border:0;border-radius:4px;overflow:hidden;background:var(--surface)}progress::-webkit-progress-bar{background:var(--surface);border-radius:4px}progress::-webkit-progress-value{background:var(--accent);border-radius:4px}.member-progress{display:grid;gap:12px;margin:19px 0 20px}.member-progress>div{display:flex;align-items:center;gap:7px;font-size:11px}.member-progress>div>span:last-child{margin-left:auto;display:flex;align-items:center;gap:4px;font-size:9px}.member-progress svg{width:12px;height:12px}.review-card>.button{margin-top:auto;border-color:var(--line);color:var(--muted);background:transparent;font-size:11px;min-height:36px}.allocation{margin-bottom:20px}.allocation-track{height:8px;display:flex;gap:3px;overflow:hidden;border-radius:4px;background:var(--surface);margin:7px 24px 22px}.bucket-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;padding:0 24px 22px}.bucket-grid>div{min-width:0}.bucket-name{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.bucket-name small{margin-left:auto;color:var(--muted);font-size:9px}.bucket-grid strong{display:block;font-size:19px;font-weight:530;margin-top:8px;white-space:nowrap}.bucket-grid p{font-size:9px;margin-top:6px;color:var(--muted);white-space:nowrap}.overview-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.change-list{padding:0 23px 7px}.change-list button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;border-bottom:1px solid var(--surface);padding:12px 0}.change-list button:last-child{border-bottom:0}.change-list button:hover{background:var(--paper)}.account-icon{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:var(--surface);flex-shrink:0}.account-icon svg{width:16px;height:16px}.change-list strong{display:block;font-size:11px;font-weight:500}.change-list small{display:block;font-size:9px;color:var(--muted);margin-top:3px}.change{display:inline-flex;align-items:center;justify-content:flex-end;gap:2px;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums}.change svg{width:13px;height:13px}.change-list .change{margin-left:auto;font-size:10px}.page-footnote{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted);line-height:1.8;margin-top:21px}.page-footnote>span{margin-left:auto}.page-footnote svg{width:13px;height:13px}.account-toolbar{padding:21px 23px 17px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line)}.table-filters{display:flex;align-items:center;gap:10px;padding:16px 23px}.table-filters select{min-height:35px;font-size:11px;padding:6px 10px;min-width:125px}.search{position:relative;display:flex;align-items:center;flex:1;max-width:365px}.search svg{position:absolute;left:10px;pointer-events:none;width:15px;height:15px;color:var(--muted)}.search input{width:100%;padding-left:33px;min-height:35px;font-size:11px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{text-align:left;background:var(--paper);color:var(--muted);font-size:10px;font-weight:500;padding:12px 17px;border-block:1px solid var(--surface)}td{padding:18px 17px;border-bottom:1px solid var(--surface);color:var(--ink);font-size:11px}th:first-child,td:first-child{padding-left:24px}th:last-child,td:last-child{padding-right:24px}td strong{font-weight:550}td small{display:block;color:var(--muted);font-size:9px;margin-top:4px}tbody tr:hover{background:var(--paper)}tbody tr:last-child td{border-bottom:0}.align-right{text-align:right}.account-name{display:flex;gap:10px;align-items:center;border:0;background:none;padding:0;text-align:left}.account-name strong{display:block;font-size:11px;color:var(--ink);font-weight:550}.account-name small{font-size:9px;color:var(--muted)}.member-cell{display:flex;align-items:center;gap:5px;font-size:10px}.row-actions{display:flex;align-items:center;justify-content:flex-end;gap:1px}.row-actions .icon-button{min-width:27px;width:27px;height:30px}.row-actions svg{width:14px;height:14px}.order-controls{display:flex;flex-direction:column;gap:0;margin-left:4px}.order-controls button{border:0;background:transparent;color:var(--muted);display:flex;padding:2px 4px;border-radius:3px}.order-controls svg{width:11px;height:11px}.order-controls button:hover{background:var(--surface)}.table-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 23px;font-size:10px;color:var(--muted)}.info-strip{display:flex;align-items:center;gap:15px;padding:20px 23px;border:1px solid var(--line);border-radius:10px;background:var(--surface);margin-top:20px;color:var(--muted)}.info-strip>svg{width:22px;height:22px}.info-strip strong{font-size:12px;font-weight:550;color:var(--muted)}.info-strip p{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.7}.info-strip .button{margin-left:auto}.modal{border:1px solid var(--line);border-radius:15px;width:600px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 50px);padding:0;box-shadow:0 24px 100px #38262040;color:var(--ink);overflow:auto}.modal::backdrop{background:#38262066;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-wide{width:830px}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;padding:25px 27px 21px;border-bottom:1px solid var(--line)}.modal-head h2{font-size:20px;font-weight:600}.modal-head p{font-size:11px;color:var(--muted);margin-top:8px;line-height:1.8}.modal-body{padding:25px 27px}.modal-body>.segments{margin-bottom:24px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;background:var(--paper);border-top:1px solid var(--line);padding:17px 27px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px 17px}.field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:12px}.field>span{font-size:11px;color:var(--muted);font-weight:550}.field small{font-size:10px;color:var(--muted);line-height:1.7;font-weight:400}.field input,.field select,.field textarea{width:100%;font-size:12px}.field.wide{grid-column:1/-1}.error-notice{display:flex;align-items:flex-start;gap:9px;padding:13px 15px;border:1px solid #eecac1;background:#fff5f2;color:#a55745;font-size:12px;border-radius:8px;margin-bottom:17px;line-height:1.7}.error-notice svg{width:17px;height:17px;margin-top:2px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:200px;padding:25px;color:var(--muted)}.empty-icon{width:43px;height:43px;background:var(--surface);color:var(--muted);border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.empty p{font-size:11px;max-width:380px;color:var(--muted)}.empty .button{margin-top:8px}.detail-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.detail-summary p{color:var(--muted);font-size:11px;margin-bottom:9px}.detail-summary strong{font-size:26px;font-weight:550}.note-cell{white-space:normal;min-width:90px;max-width:230px}.category-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:25px}.category-list>span{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:9px 10px;font-size:11px}.category-list small{margin-left:auto;font-size:9px;color:var(--muted)}.review-summary{display:flex;align-items:center;gap:28px;padding:24px 27px;margin-bottom:23px}.summary-step{display:flex;align-items:center;gap:13px;padding-right:30px;border-right:1px solid var(--line)}.step-icon{width:40px;height:40px;border-radius:11px;background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center}.summary-step strong{display:block;font-size:24px;font-weight:500;line-height:1.2}.summary-step div>span{display:block;color:var(--muted);font-size:10px;margin-top:7px}.review-people{display:flex;gap:28px;margin-left:auto}.review-people>div{display:flex;align-items:center;gap:10px}.review-people strong{display:block;font-size:12px;font-weight:550}.review-people div div>span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.update-table td{padding-block:17px}.update-table .selected-row{background:var(--surface)}.amount-input{width:165px;font-size:13px;min-height:37px;text-align:right;font-variant-numeric:tabular-nums}.rate-input{display:flex;gap:5px;align-items:center;font-size:10px}.rate-input input{width:70px;min-height:33px;font-size:11px;padding:5px 7px}.save-bar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 24px;border-top:1px solid var(--line);background:var(--paper)}.save-bar strong{font-size:12px;font-weight:550}.save-bar small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.save-bar>div:last-child{display:flex;gap:9px}.finish-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:23px;margin-top:22px}.finish-panel h2{font-size:14px}.finish-panel p{font-size:10px;color:var(--muted);line-height:1.8;margin-top:7px}.history-controls{display:flex;justify-content:space-between;gap:12px;padding:5px 24px 14px}.history-controls select{font-size:11px;min-height:32px;padding:4px 10px}.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;background:var(--paper);padding:22px 25px;border-top:1px solid var(--line)}.history-summary span:not(.change):not(.numeric){display:block;color:var(--muted);font-size:10px}.history-summary strong{display:block;font-size:21px;font-weight:500;margin-top:9px}.history-summary .change{font-size:18px}.history-summary .change svg{width:19px;height:19px}.history-chart{margin-bottom:22px}.settings-tabs{margin-bottom:24px}.settings-tabs .segments button{font-size:12px;padding:8px 16px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.settings-form{padding:7px 24px 25px;display:flex;flex-direction:column;gap:22px}.settings-form>.button{align-self:flex-start}.read-only-field span{display:block;font-size:11px;color:var(--muted)}.read-only-field strong{display:block;font-size:13px;font-weight:500;margin-top:5px}.read-only-field small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.settings-members{padding:0 24px}.settings-members>div{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:20px 0}.member-info{flex:1}.member-info strong{display:block;font-size:12px;font-weight:550}.member-info small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.settings-members select{font-size:11px;min-height:34px;padding:5px 8px}.permission-note{display:flex;align-items:flex-start;gap:10px;padding:23px;color:var(--muted)}.permission-note p{font-size:10px;line-height:1.9}.permission-note svg{width:16px;height:16px}.demo-switch{padding:15px 24px 24px}.demo-switch p{font-size:11px;color:var(--muted);margin-bottom:12px;line-height:1.8}.storage-banner{display:flex;align-items:center;gap:16px;padding:22px 25px;border:1px solid var(--line);background:var(--surface);border-radius:11px;margin-bottom:22px}.storage-banner>div:nth-child(2){flex:1}.storage-banner h2{font-size:15px}.storage-banner p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.8}.storage-banner>.tag{align-self:flex-start}.backup-status-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:-10px 0 22px;padding:14px 18px;border:1px solid var(--line);border-radius:11px;background:#fff}.backup-status-row>svg{width:20px;color:var(--muted)}.backup-status-row strong,.backup-status-row p{display:block;margin:0}.backup-status-row p{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.6}.export-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:22px}.export-card{padding:25px;display:flex;flex-direction:column;align-items:flex-start}.export-card>svg{width:27px;height:27px;color:var(--muted);margin-bottom:18px}.export-card h2{font-size:15px;margin-bottom:10px}.export-card p{font-size:11px;color:var(--muted);line-height:1.9;margin-bottom:24px}.export-card .button{margin-top:auto;width:100%;font-size:12px}.export-card select{font-size:11px;min-height:33px;margin-bottom:12px;width:100%;padding:5px 8px}.file-button{position:relative;overflow:hidden;cursor:pointer}.file-button input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.import-preview{padding:12px 25px 25px}.import-counts{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px}.import-counts span{background:var(--surface);padding:12px;color:var(--muted);font-size:11px;border-radius:7px}.import-counts strong{display:block;color:var(--ink);font-size:19px;margin-top:4px;font-weight:500}.import-preview>.field{max-width:400px;margin-bottom:20px}.import-preview>p{font-size:12px;margin-bottom:18px}.setup-steps{list-style:none;margin:0;padding:0 24px}.setup-steps li{display:flex;gap:12px;padding:14px 0}.setup-steps li>span{border:1px solid var(--line);width:25px;height:25px;border-radius:50%;flex-shrink:0;color:var(--muted);font-size:11px;display:flex;align-items:center;justify-content:center}.setup-steps strong{font-size:12px;font-weight:550}.setup-steps p{font-size:10px;color:var(--muted);line-height:1.9;margin-top:5px}.connection-actions{padding:23px;display:flex;align-items:center;justify-content:space-between;gap:12px}.connection-result{margin:0 24px 24px;padding:16px;background:var(--surface);border-radius:8px;font-size:12px}.connection-result p{font-size:11px;color:var(--muted);margin-top:7px}.schema-list{padding:0 24px}.schema-list>div{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--surface)}.schema-list>div>span{font-size:10px;color:var(--muted)}.schema-list strong{font-size:12px;font-weight:500}.schema-list small{margin-left:auto;font-size:9px;color:var(--muted)}.settings-grid .small-note{padding:0 24px 22px}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-story{background:#f7e9e6;color:#512e2a;padding:55px 65px;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}.auth-story .brand{padding:0}.auth-story .eyebrow{font-size:12px;color:#9b6c66;letter-spacing:1.5px;margin-bottom:22px}.auth-story h1{font-size:49px;line-height:1.55;font-weight:550;letter-spacing:0}.auth-description{font-size:13px;color:#896d69;line-height:2.2;margin-top:24px}.auth-promises{display:flex;gap:24px;margin-top:42px}.auth-promises span{display:flex;align-items:center;gap:7px;font-size:11px;color:#8f5a54}.auth-promises svg{width:16px;height:16px}.auth-copyright{font-size:10px;color:#aa7f79;letter-spacing:1px}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:55px 45px}.auth-form{width:360px;display:flex;flex-direction:column;gap:19px}.auth-overline{font-size:11px;color:#a45b54;letter-spacing:2px}.auth-form h2{font-size:25px;font-weight:600;margin-top:-9px}.auth-form>p{font-size:12px;color:#897976;margin-top:-8px;margin-bottom:6px;line-height:1.8}.auth-form .button{min-height:43px}.auth-switch{align-self:center;font-size:11px}.local-setup-note{display:flex;align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid #ead5d1;border-radius:9px;background:#fbf2f0;color:#8b6f6a;font-size:11px;line-height:1.65}.local-setup-note svg{width:17px;flex:0 0 auto;margin-top:1px}.local-setup-note strong{display:block;color:#6f3c37;font-size:12px}.auth-demo{display:flex;flex-direction:column;gap:13px;border-top:1px solid var(--line);padding-top:23px;text-align:center}.auth-demo>span{font-size:11px;color:#8e7c78}.auth-demo small{font-size:10px;color:#a79793}.toast{position:fixed;bottom:26px;left:calc(50% + 100px);transform:translate(-50%);max-width:calc(100vw - 36px);display:flex;align-items:center;gap:10px;padding:13px 17px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 35px #38262022;font-size:12px;z-index:1000;color:var(--ink)}.toast>span{min-width:0;line-height:1.6}.toast>button{background:none;border:0;display:flex;padding:3px;color:var(--muted)}.toast>button svg{width:14px;height:14px}.toast-error{color:#a1614c;border-color:#e8cabb}.loading{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:15px;color:var(--muted);font-size:13px}.spin{animation:spin .9s linear infinite}.chart-hidden{display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted);background:var(--paper)}.mobile-menu{display:none}.skip-link{position:fixed;top:-100px;left:10px;z-index:9999;background:#fff;padding:10px;border:1px solid var(--accent);border-radius:5px}.skip-link:focus{top:10px}.mobile-scrim{display:none}@keyframes spin{to{transform:rotate(360deg)}}html body .app-shell .eyebrow{font-size:11px;color:var(--muted)}html body .app-shell .page-heading>div>p:last-child:not(.eyebrow){font-size:13px;color:var(--muted)}html body .app-shell .sidebar nav a{font-size:14px;color:var(--muted)}html body .app-shell .sidebar nav a.active{color:var(--ink)}html body .app-shell .household-switch strong{font-size:13px}html body .app-shell .household-switch div>span{font-size:11px;color:var(--muted)}html body .app-shell .nav-label{font-size:11px;color:var(--muted)}html body .app-shell .breadcrumb{font-size:12px;color:var(--muted)}html body .app-shell .breadcrumb strong{color:var(--ink)}html body .app-shell .metric-label{font-size:12px;color:var(--muted)}html body .app-shell .metric-footer{font-size:11px;color:var(--muted)}html body .app-shell .networth .metric-label,html body .app-shell .networth .metric-footer,html body .app-shell .networth .change{color:var(--muted)}html body .app-shell .metric-footer .change{font-size:11px}html body .app-shell .panel-heading h2{font-size:15px}html body .app-shell .panel-heading p{font-size:11px;color:var(--muted)}html body .app-shell .segments button{font-size:12px;color:var(--muted)}html body .app-shell .segments button.selected{color:var(--ink)}html body .app-shell .people-filter button{font-size:12px;color:var(--muted)}html body .app-shell .people-filter button.active{color:var(--ink)}html body .app-shell .overview-filter>.small-text{font-size:11px;color:var(--muted)}html body .app-shell .flow-labels,html body .app-shell .panel-note,html body .app-shell .note-right{font-size:10px;color:var(--muted)}html body .app-shell .review-card>p:not(.eyebrow){font-size:11px;color:var(--muted)}html body .app-shell .review-count>span,html body .app-shell .member-progress>div>span:last-child{font-size:11px}html body .app-shell .member-progress>div{font-size:12px}html body .app-shell .tag{font-size:11px}html body .app-shell .bucket-name{font-size:12px;color:var(--muted)}html body .app-shell .bucket-name small,html body .app-shell .bucket-grid p{font-size:10px;color:var(--muted)}html body .app-shell .change-list strong{font-size:12px}html body .app-shell .change-list small{font-size:10px;color:var(--muted)}html body .app-shell .change-list .change{font-size:11px}html body .app-shell .text-button{font-size:12px;color:var(--ink)}html body .app-shell .profile strong{font-size:13px}html body .app-shell .profile small,html body .app-shell table th{font-size:11px;color:var(--muted)}html body .app-shell table td{font-size:12px;color:var(--ink)}html body .app-shell td small,html body .app-shell .account-name small{font-size:10px;color:var(--muted)}html body .app-shell .account-name strong{font-size:12px}html body .app-shell .member-cell{font-size:11px}html body .app-shell .table-filters select,html body .app-shell .search input,html body .app-shell .change{font-size:12px}html body .app-shell .small-note,html body .app-shell .permission-note p,html body .app-shell .setup-steps p,html body .app-shell .export-card p{font-size:12px;color:var(--muted)}html body .app-shell .setup-steps strong,html body .app-shell .schema-list strong{font-size:13px}html body .app-shell .setup-steps li{padding-block:16px}html body .app-shell .storage-banner p{font-size:12px;color:var(--muted)}html body .app-shell .field>span,html body .modal .field>span{font-size:12px;color:var(--ink)}html body .app-shell .field input,html body .app-shell .field select,html body .app-shell .field textarea,html body .modal .field input,html body .modal .field select,html body .modal .field textarea{font-size:13px}html body .app-shell .field small,html body .modal .field small{font-size:11px;color:var(--muted)}html body .auth-form>p,html body .auth-form .field small{color:#897976}html body .auth-form .field>span{font-size:12px;color:#79453f}html body .auth-description{color:#896d69}@media(max-width:700px){html body .app-shell .field input,html body .app-shell .field select,html body .app-shell .field textarea,html body .app-shell .amount-input,html body .modal .field input,html body .modal .field select,html body .modal .field textarea,html body .auth-form input{font-size:16px}html body .app-shell .segments button,html body .app-shell .people-filter button{font-size:11px}html body .app-shell .breadcrumb{font-size:10px}html body .app-shell .overview-filter>.small-text{font-size:10px}html body .app-shell .bucket-name{font-size:11px}}@media(min-width:1500px){.app-shell .main-content{padding:37px 45px}.app-shell .metric-value{font-size:32px}.app-shell .networth .metric-value{font-size:38px}.app-shell .panel-heading h2{font-size:16px}.app-shell .review-card h2{font-size:19px}.app-shell .bucket-grid strong{font-size:23px}}@media(max-width:1180px){.app-shell .sidebar{width:190px;padding-inline:15px}.app-shell .main-shell{margin-left:190px;width:calc(100% - 190px)}.app-shell .main-content{padding:25px 23px}.app-shell .topbar,.app-shell .demo-banner{padding-inline:23px}.app-shell .metric{padding:20px 18px}.app-shell .metric-value{font-size:24px}.app-shell .networth .metric-value{font-size:28px}.app-shell .overview-main{grid-template-columns:minmax(0,1fr) 252px;gap:16px}.app-shell .panel-heading{padding:20px 19px 14px}.app-shell .flow-panel .panel-heading{flex-wrap:wrap;gap:11px}.app-shell .panel-heading h2{font-size:13px}.app-shell .review-card{padding:21px 20px}.app-shell .review-card h2{font-size:16px}.app-shell .bucket-grid{gap:15px;padding-inline:20px}.app-shell .bucket-grid p{font-size:8px}.app-shell .overview-filter>.small-text{font-size:9px}.app-shell .summary-step{padding-right:20px}.app-shell .review-summary,.app-shell .review-people{gap:18px}.app-shell .finish-panel{align-items:flex-start;flex-direction:column}.app-shell .export-card{padding:22px 20px}.auth-screen .auth-story{padding:45px}.auth-screen .auth-story h1{font-size:40px}}@media(max-width:980px){.app-shell .sidebar{width:175px}.app-shell .main-shell{margin-left:175px;width:calc(100% - 175px)}.app-shell .brand{font-size:21px}.app-shell .brand-icon{width:34px;height:34px}.app-shell .metric-value{font-size:20px}.app-shell .networth .metric-value{font-size:24px}.app-shell .overview-main{grid-template-columns:1fr}.app-shell .review-card{display:grid;grid-template-columns:1fr 1fr;gap:5px 25px}.app-shell .review-title{grid-row:1/3;grid-column:2;justify-content:flex-end;gap:20px;margin:0}.app-shell .review-card>.eyebrow{grid-row:1;grid-column:1}.app-shell .review-card>h2{grid-row:2;grid-column:1}.app-shell .review-card>p:not(.eyebrow){grid-column:1}.app-shell .review-count{margin-top:12px}.app-shell .review-card progress{grid-column:1;align-self:center}.app-shell .member-progress{grid-column:2;grid-row:3/6;margin:5px 0}.app-shell .review-card>.button{grid-column:1/-1;margin-top:10px}.app-shell .overview-bottom{grid-template-columns:1fr}.app-shell .bucket-grid{gap:16px;grid-template-columns:repeat(3,1fr);row-gap:20px}.app-shell .bucket-grid p{font-size:9px}.app-shell .page-heading{gap:15px}.app-shell .page-heading h1{font-size:25px}.app-shell .heading-actions{gap:7px}.app-shell .heading-actions .button{font-size:11px;padding:8px 12px}.app-shell .overview-filter{flex-wrap:wrap;gap:10px}.app-shell .settings-grid,.app-shell .export-grid{grid-template-columns:1fr}.app-shell .export-card{display:grid;grid-template-columns:30px 1fr;column-gap:13px}.app-shell .export-card>svg{grid-row:1/4;margin:0}.app-shell .export-card p{grid-column:2;margin-bottom:15px}.app-shell .export-card h2,.app-shell .export-card .button,.app-shell .export-card select{grid-column:2}.app-shell .review-summary{flex-wrap:wrap}.app-shell .review-people{margin-left:0;flex:1}.app-shell .topbar .collab-badge{display:none}.auth-screen{grid-template-columns:1fr}.auth-screen .auth-story{min-height:unset;padding:35px 45px}.auth-screen .auth-story>div:nth-child(2){padding-top:35px}.auth-screen .auth-story h1{font-size:32px;line-height:1.4}.auth-screen .auth-description,.auth-screen .auth-promises,.auth-screen .auth-copyright{display:none}.auth-screen .auth-form-wrap{padding:40px 25px}.auth-screen .auth-story h1 br{display:none}}@media(max-width:700px){.app-shell .sidebar{width:230px;visibility:hidden;transform:translate(-100%);transition:transform .2s;padding-top:26px;z-index:110}.app-shell .sidebar.open{visibility:visible;transform:translate(0)}.app-shell .mobile-scrim{display:block;position:fixed;inset:0;border:0;background:#36171366;z-index:100}.app-shell .main-shell{width:100%;margin-left:0}.app-shell .topbar{height:59px;padding:0 14px}.app-shell .mobile-menu{display:inline-flex}.app-shell .breadcrumb{font-size:10px;gap:5px}.app-shell .breadcrumb strong{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .topbar-actions{gap:5px!important}.app-shell .month-control{padding:1px 5px}.app-shell .month-control input{font-size:10px;width:112px}.app-shell .month-control>svg{display:none}.app-shell .demo-banner{padding:6px 17px;font-size:9px}.app-shell .demo-banner>span:last-child{display:none}.app-shell .main-content{padding:25px 17px}.app-shell .page-heading{flex-direction:column;align-items:flex-start;gap:17px;margin-bottom:20px}.app-shell .page-heading h1{font-size:27px}.app-shell .page-heading .eyebrow{font-size:9px}.app-shell .heading-actions .button{font-size:12px;padding:8px 13px}.app-shell .overview-filter{margin-bottom:16px}.app-shell .people-filter{gap:2px;padding:3px;width:100%;justify-content:space-between}.app-shell .people-filter button{font-size:10px;padding:6px 9px}.app-shell .metrics{grid-template-columns:1fr 1fr;gap:12px}.app-shell .networth{grid-column:1/-1}.app-shell .metric{padding:18px 19px}.app-shell .metric-value{font-size:21px;margin-bottom:13px}.app-shell .networth .metric-value{font-size:33px;margin-top:11px}.app-shell .metric-label{font-size:10px}.app-shell .metric-footer{font-size:9px}.app-shell .overview-main{gap:15px;margin-bottom:15px}.app-shell .panel{border-radius:10px}.app-shell .flow-labels{margin-inline:18px}.app-shell .flow-panel .panel-note{flex-wrap:wrap;gap:6px;padding-inline:18px}.app-shell .flow-panel .note-right{margin-left:auto;font-size:8px}.app-shell .flow-panel canvas{max-width:100%}.app-shell .panel-heading{padding:19px 18px 13px}.app-shell .review-card{padding:19px;gap:5px 15px}.app-shell .review-card>.button{font-size:12px}.app-shell .bucket-grid{grid-template-columns:1fr 1fr;gap:20px;padding:0 19px 22px}.app-shell .bucket-grid strong{font-size:21px}.app-shell .allocation-track{margin-inline:19px}.app-shell .allocation .panel-heading>.text-button{display:none}.app-shell .page-footnote{flex-wrap:wrap;font-size:9px}.app-shell .page-footnote>span{margin-left:0;width:100%}.app-shell .account-toolbar{padding:17px;flex-wrap:wrap}.app-shell .account-toolbar>.small-text{display:none}.app-shell .table-filters{padding:15px 17px;flex-wrap:wrap;gap:8px}.app-shell .search{max-width:100%;flex-basis:100%}.app-shell .table-filters select{flex:1;font-size:11px;min-width:100px}.app-shell table{min-width:680px}.app-shell th:first-child,.app-shell td:first-child{padding-left:18px}.app-shell .table-footer{padding-inline:17px;flex-wrap:wrap;gap:7px}.app-shell .info-strip{padding:18px;gap:12px;align-items:flex-start}.app-shell .info-strip p{font-size:10px}.app-shell .review-summary{padding:20px;gap:20px}.app-shell .summary-step{flex:1;padding:0;border:0;gap:10px}.app-shell .summary-step strong{font-size:22px}.app-shell .review-people{width:100%;flex-basis:100%;gap:20px;border-top:1px solid var(--line);padding-top:18px}.app-shell .review-people>div{flex:1;gap:8px}.app-shell .review-people strong{font-size:11px}.app-shell .review-people div div>span{font-size:9px}.app-shell .save-bar{padding:18px;align-items:stretch;flex-direction:column}.app-shell .save-bar>div:last-child{justify-content:flex-end}.app-shell .finish-panel{padding:20px}.app-shell .finish-panel>.heading-actions{flex-wrap:wrap}.app-shell .history-controls{padding:5px 18px 10px;flex-wrap:wrap}.app-shell .history-chart>.panel-heading{flex-wrap:wrap}.app-shell .history-summary{grid-template-columns:1fr 1fr;gap:20px;padding:20px}.app-shell .history-summary>div:last-child{grid-column:1/-1}.app-shell .history-summary strong{font-size:19px}.app-shell .settings-tabs .segments button{font-size:11px;padding:8px 10px}.app-shell .storage-banner{padding:18px;align-items:flex-start;gap:10px;flex-wrap:wrap}.app-shell .storage-banner h2{font-size:13px}.app-shell .storage-banner p{font-size:10px}.app-shell .storage-banner .icon-tile{width:31px;height:31px;border-radius:8px}.app-shell .storage-banner>.tag{margin-left:41px}.app-shell .backup-status-row{grid-template-columns:auto minmax(0,1fr);margin-top:-12px}.app-shell .backup-status-row>.tag{grid-column:2;justify-self:start}.app-shell .import-panel>.panel-heading{align-items:flex-start;flex-direction:column}.app-shell .import-counts{grid-template-columns:1fr 1fr}.app-shell .connection-actions{flex-wrap:wrap}.app-shell .schema-list small{font-size:8px}.app-shell .toast{left:50%;bottom:20px;width:max-content}.modal .form-grid{grid-template-columns:1fr}.modal .field.wide{grid-column:auto}.modal .modal-head{padding:22px 20px 17px}.modal .modal-body{padding:21px 20px}.modal .modal-footer{padding:16px 20px}.modal table{min-width:600px}.modal .category-list{grid-template-columns:1fr}.auth-screen .auth-story{padding:25px}.auth-screen .auth-story h1{font-size:26px}.auth-screen .auth-story>div:nth-child(2){padding-top:27px}.auth-screen .auth-story .eyebrow{font-size:10px;margin-bottom:12px}.auth-screen .auth-form-wrap{padding:30px 25px}.auth-screen .auth-form h2{font-size:23px}}@media(max-width:700px){.app-shell .update-panel .table-scroll{overflow:visible}.app-shell .update-panel .update-table{display:block;min-width:0;width:100%}.app-shell .update-panel .update-table thead{display:none}.app-shell .update-panel .update-table tbody{display:block}.app-shell .update-panel .update-table tr{display:grid;grid-template-columns:27px minmax(0,1fr);gap:12px 7px;padding:20px 16px;border-bottom:1px solid var(--surface)}.app-shell .update-panel .update-table td{padding:0;border:0;min-width:0}.app-shell .update-panel .update-table td:nth-child(1){grid-column:1;grid-row:1;padding-top:9px}.app-shell .update-panel .update-table td:nth-child(2){grid-column:2;grid-row:1}.app-shell .update-panel .update-table td:nth-child(3){grid-column:2;grid-row:2;text-align:left;font-size:12px;color:var(--muted)}.app-shell .update-panel .update-table td:nth-child(3):before{content:"上月余额  "}.app-shell .update-panel .update-table td:nth-child(4){grid-column:2;grid-row:3}.app-shell .update-panel .update-table td:nth-child(4):before{content:"本月余额（原币）";display:block;color:var(--ink);font-size:12px;margin-bottom:7px}.app-shell .update-panel .update-table td:nth-child(5){grid-column:2;grid-row:4}.app-shell .update-panel .amount-input{width:100%;height:43px;font-size:16px;text-align:left}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--ink: #302a29;--muted: #756966;--accent: #a3312e;--accent-hover: #842623;--accent-soft: #faece8;--accent-soft-border: #d9b2a9;--line: #e8dfdb;--paper: #fff;--surface: #f6f2ef;--success: #476278;--success-soft: #edf2f6;--shadow: 0 4px 20px #45312a06;color:var(--ink);background:var(--surface);font-size:14px}body{min-width:0}::selection{background:#f0ccc4;color:#5d2824}button,input,select,textarea{touch-action:manipulation}input,select,textarea{border-color:var(--line);min-height:44px;border-radius:10px}input:hover,select:hover,textarea:hover{border-color:var(--accent-soft-border)}input:focus,select:focus,textarea:focus{border-color:var(--accent)}:is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}input[type=checkbox]{accent-color:var(--accent)}input::placeholder,textarea::placeholder{color:#958884}.button{min-height:44px;border-radius:10px;font-size:13px;font-weight:600;padding:10px 16px}.button.primary{background:var(--accent);border-color:var(--accent);box-shadow:0 3px 8px #89252113;color:#fff}.button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:none}.button.secondary:hover:not(:disabled){border-color:var(--accent-soft-border);background:var(--accent-soft);color:var(--accent)}.icon-button{width:40px;min-width:40px;height:40px;color:var(--muted);border-radius:9px}.icon-button:hover,.order-controls button:hover{background:var(--accent-soft);color:var(--accent)}html body .app-shell .text-button,.text-button{color:var(--accent);min-height:40px}.text-button:hover{color:var(--accent-hover)}.positive{color:#a3312e}.negative{color:#476278}.tag{color:var(--muted);background:var(--surface)}.tag.success,.tag.positive{color:var(--success);background:var(--success-soft)}.tag.warm{color:#876025;background:#fcf3df}.green{background:var(--accent)}.sand{background:#a9947b}.avatar,.icon-tile,.step-icon,.home-mark,.empty-icon{background:var(--accent-soft);color:var(--accent)}.sidebar{width:240px;padding:28px 18px 0;background:#fffdfb}.brand{font-size:19px;letter-spacing:-.4px;padding:0 6px;gap:10px;white-space:nowrap}.brand>span:last-child{min-width:0}.brand-icon{width:36px;height:36px;flex:0 0 36px;background:var(--accent);border-radius:11px;box-shadow:none}.brand-icon svg{width:20px;height:20px}.brand small{color:var(--muted);font-size:8px;letter-spacing:1.8px;margin-top:3px}.household-switch{margin:30px 0 25px;background:var(--surface);border-color:transparent}.sidebar nav a{min-height:46px}html body .app-shell .sidebar nav a.active{color:var(--accent);background:var(--accent-soft)}.nav-dot{background:var(--accent)}.storage-indicator>span{background:var(--success)}.main-shell{margin-left:240px;width:calc(100% - 240px);min-width:0}.topbar{background:#fffdfbe8;height:72px;padding-inline:36px}.month-control{border-color:var(--line);border-radius:10px}.month-control input{font-size:13px;min-height:38px;width:135px;color:var(--ink)}.demo-banner{background:#efe8df;color:#766245;font-size:11px}.demo-banner .color-dot{background:#aa8250}.main-content{padding:32px 36px;max-width:1480px}.page-heading{align-items:flex-end;margin-bottom:26px}.page-heading>div{min-width:0}html body .app-shell .eyebrow{color:var(--accent);font-size:11px;letter-spacing:1px}h1{font-size:30px;font-weight:650;letter-spacing:-1px}.heading-actions{flex-wrap:wrap;flex-shrink:0}.people-filter{background:#fff;border-color:var(--line);border-radius:11px;flex-wrap:wrap}.people-filter button{min-height:36px;border-radius:7px}html body .app-shell .people-filter button.active{background:var(--accent-soft);color:var(--accent)}.segments{background:var(--surface);border-color:var(--line);border-radius:9px;min-width:0}.segments button{min-height:35px;padding:7px 12px}html body .app-shell .segments button.selected{background:var(--accent-soft);color:var(--accent);box-shadow:none;font-weight:600}.metrics{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr));gap:18px}.metric{border-radius:16px;padding:24px}.metric.networth{background:#962e2b;border-color:#962e2b}.metric-value{font-size:clamp(22px,2vw,34px);margin-block:18px;letter-spacing:-1.2px}.networth .metric-value{font-size:clamp(26px,2.4vw,40px)}html body .app-shell .networth .metric-label,.networth .metric-label svg,html body .app-shell .networth .metric-footer,html body .app-shell .networth .change{color:#ffe6df}.panel{border-radius:16px;border-color:var(--line);box-shadow:var(--shadow)}.panel-heading{padding:24px 24px 18px;flex-wrap:wrap}.panel-heading h2 svg{color:var(--accent)}html body .app-shell .panel-heading h2{font-size:16px}html body .app-shell .panel-heading p{font-size:12px;line-height:1.75}.review-card{padding:24px;background:#fffaf7}.review-card>.button{color:var(--accent);border-color:var(--accent-soft-border);min-height:44px;background:#fff}progress,progress::-webkit-progress-bar{height:6px;background:#eee0db}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.bucket-grid{gap:20px}.bucket-grid p{white-space:normal;line-height:1.75}.bucket-grid strong{color:var(--ink)}.flow-labels{color:var(--muted)}.flow-mobile-details{display:none}.account-toolbar{padding-block:18px}.table-filters select,.search input{min-height:42px}html body .app-shell table td,html body .app-shell .account-name strong{color:var(--ink);font-size:13px}.account-name{min-height:44px}.row-actions .icon-button{width:34px;min-width:34px;height:36px}.order-controls button{color:var(--muted)}.info-strip{background:#fbf7f3;border-color:var(--line)}.info-strip>svg{color:var(--accent)}.info-strip strong,.info-strip p{color:var(--muted)}.update-table .selected-row{background:#fff5f1}.save-bar{background:#fffaf7}.settings-grid,.export-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.settings-grid>*,.export-grid>*{min-width:0}.storage-banner{background:#fffaf7;border-color:var(--line)}.settings-members>div{flex-wrap:wrap}.member-info{min-width:80px;overflow-wrap:anywhere}.export-card{padding:24px}.export-card>svg,.backup-status-row>svg{color:var(--accent)}.export-card .button{min-height:44px}.setup-steps li>span{color:var(--accent);border-color:var(--accent-soft-border)}.connection-result{background:var(--surface)}.import-panel{margin-bottom:20px}.import-panel>.small-note{padding:0 24px 20px}.import-counts span{background:var(--surface);color:var(--muted)}.import-counts strong{color:var(--ink)}.modal{border-radius:18px;border-color:var(--line);background:#fff;box-shadow:0 24px 80px #36292126}.modal::backdrop{background:#2e201c66}.modal-head{background:#fff}.modal-head .icon-button{flex-shrink:0}.modal-head p{color:var(--muted);font-size:12px}.modal-footer{position:sticky;bottom:0;background:#fffdfbf5;z-index:2;padding-bottom:max(18px,env(safe-area-inset-bottom))}html body .modal .field>span,html body .app-shell .field>span{color:var(--ink)}.toast{border-color:var(--line);color:var(--ink);box-shadow:0 8px 32px #38251e18}.toast>svg{color:var(--success)}.toast-error{border-color:#dda8a1;color:#9c3028}.loading{color:var(--muted)}.loading svg{color:var(--accent)}.auth-screen{min-height:100dvh;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.auth-screen .auth-story{background:#f4e7e0;padding:clamp(32px,5vw,80px);color:#492c29;min-width:0}.auth-screen .auth-story .brand{padding:0;font-size:22px}.auth-screen .auth-story h1{font-size:clamp(32px,3.6vw,56px);line-height:1.4;letter-spacing:-2px}.auth-screen .auth-story .eyebrow{color:#8c4f46}.auth-screen .auth-description{color:#7c625b;font-size:15px;line-height:1.9}.auth-screen .auth-promises{gap:14px}.auth-screen .auth-promises span{font-size:13px;color:#77534b}.auth-screen .auth-copyright{color:#866c65}.auth-form-wrap{min-width:0;padding:56px 40px}.auth-form{width:100%;max-width:380px;gap:22px}.auth-form h2{font-size:28px}.auth-overline{color:var(--accent)}html body .auth-form>p,html body .auth-form .field small{color:var(--muted);font-size:13px;line-height:1.8}html body .auth-form .field>span{color:var(--ink);font-size:13px}.auth-form input{height:48px;font-size:15px}.auth-form .button{min-height:48px;font-size:14px}.auth-switch{font-size:13px;white-space:normal}.mobile-bottom-nav{display:none}.migration-guide{margin-bottom:22px}.migration-guide .panel-heading{align-items:flex-start}.migration-guide ol{list-style:none;margin:0;padding:0 24px 24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:step}.migration-guide li{counter-increment:step;border-top:1px solid var(--line);padding-top:18px;min-width:0}.migration-guide li strong{font-size:14px}.migration-guide li p{font-size:12px;line-height:1.85;color:var(--muted);margin-top:8px}.migration-note{margin:0 24px 24px;padding:14px 16px;background:var(--surface);border-radius:10px;font-size:12px;color:var(--muted);line-height:1.85}@media(min-width:701px)and (max-width:1180px){.app-shell .sidebar{width:206px;padding-inline:14px}.app-shell .brand{font-size:17px;gap:8px;padding:0;letter-spacing:-.5px}.app-shell .main-shell{margin-left:206px;width:calc(100% - 206px)}.app-shell .page-heading{align-items:flex-start;flex-direction:column}.app-shell .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.app-shell .networth{grid-column:1/-1}.app-shell .networth .metric-value{font-size:36px}.app-shell .overview-main{grid-template-columns:minmax(0,1fr)}.app-shell .review-card{display:flex}.app-shell .review-title{margin-bottom:16px;justify-content:space-between}.app-shell .overview-bottom{grid-template-columns:minmax(0,1fr)}}@media(max-width:980px){.auth-screen{grid-template-columns:minmax(0,1fr)}.auth-screen .auth-story{padding:32px max(28px,calc((100vw - 600px)/2));min-height:auto}.auth-screen .auth-story>div:nth-child(2){padding-top:28px}.auth-screen .auth-story h1{font-size:34px;letter-spacing:-1px}.auth-screen .auth-form-wrap{padding:36px 28px 52px;align-items:flex-start}.app-shell .settings-grid,.app-shell .export-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.auth-screen{display:flex;flex-direction:column}.auth-screen .auth-story{padding:26px 24px 28px}.auth-screen .auth-story .brand{font-size:20px;white-space:nowrap}.auth-screen .auth-story>div:nth-child(2){padding-top:26px}.auth-screen .auth-story h1{font-size:25px;letter-spacing:-.8px}.auth-screen .auth-story .eyebrow{font-size:12px;margin-bottom:8px}.auth-screen .auth-form-wrap{padding:30px 24px 40px;flex:1}.auth-screen .auth-form{max-width:440px;margin-inline:auto;gap:20px}.auth-screen .auth-form h2{font-size:25px}.auth-overline{display:none}.auth-form input{font-size:16px}.app-shell .sidebar{width:260px}.app-shell .brand{font-size:19px;white-space:nowrap}.app-shell .main-shell{margin:0;width:100%}.app-shell .main-content{padding:22px 16px calc(96px + env(safe-area-inset-bottom))}.app-shell .topbar{height:62px;padding-inline:12px;position:sticky;top:0;z-index:25;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.app-shell .topbar>div{gap:5px;min-width:0}.app-shell .topbar-actions{gap:2px!important}html body .app-shell .breadcrumb{font-size:0;gap:0}.app-shell .breadcrumb>svg{display:none}.app-shell .breadcrumb strong{font-size:14px;color:var(--ink);max-width:none;font-weight:600}.app-shell .month-control{padding:0 6px}.app-shell .month-control input{font-size:14px;width:120px;min-height:40px}.app-shell .icon-button{width:42px;min-width:42px;height:44px}.app-shell .page-heading{gap:18px;margin-bottom:20px}.app-shell .page-heading h1{font-size:27px}.app-shell .heading-actions{width:100%;gap:10px}.app-shell .heading-actions .button{min-height:44px;flex:1;font-size:13px}.app-shell .people-filter{flex-wrap:wrap;justify-content:flex-start;gap:3px}.app-shell .people-filter button{flex:1;min-height:38px;white-space:nowrap;justify-content:center;padding:6px 8px;font-size:12px}.app-shell .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.app-shell .metric{border-radius:14px;padding:18px 14px}.app-shell .metric-value{font-size:clamp(16px,4.5vw,22px);margin-block:14px;letter-spacing:-.7px}.app-shell .networth{padding:24px}.app-shell .networth .metric-value{font-size:clamp(28px,8vw,36px)}.app-shell .metric-footer{flex-wrap:wrap;gap:5px}.app-shell .panel{border-radius:14px}.app-shell .panel-heading{padding:20px 18px 16px}.app-shell .flow-panel .panel-heading{display:block}.flow-panel .segments{margin-top:16px;width:100%}.flow-panel .segments button{flex:1}.app-shell .flow-labels{margin-inline:18px;font-size:10px}.flow-labels>span:nth-child(2){display:none}.flow-mobile-details{display:grid;padding:0 18px 14px;gap:10px}.flow-mobile-details>div{display:flex;gap:8px;align-items:center;font-size:12px}.flow-mobile-details strong{margin-left:auto;font-weight:550}.app-shell .flow-panel .note-right{font-size:10px;margin:0;width:100%}.app-shell .review-card{display:flex;padding:20px;gap:0}.app-shell .review-title{justify-content:space-between;margin:0 0 16px}.app-shell .review-card h2{font-size:19px}.app-shell .review-count{margin:20px 0 10px}.app-shell .review-card .member-progress{margin:18px 0}.app-shell .bucket-grid{gap:22px 16px}.app-shell .bucket-grid p{font-size:11px}.app-shell .change-list{padding-inline:18px}.change-list button{flex-wrap:wrap}.app-shell .account-panel .table-scroll{overflow:visible}.app-shell .accounts-table,.app-shell .accounts-table tbody{display:block;width:100%;min-width:0;white-space:normal}.app-shell .accounts-table thead{display:none}.app-shell .accounts-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 8px;padding:20px 18px;border-top:1px solid var(--line)}.app-shell .accounts-table td{display:block;min-width:0;padding:0;border:none}.accounts-table td:nth-child(1){grid-column:1/-1;grid-row:1}.accounts-table td:nth-child(2){grid-column:1;grid-row:3;align-self:center}.accounts-table td:nth-child(3){grid-column:1/-1;grid-row:2;text-align:left}.accounts-table td:nth-child(3)>strong{font-size:24px;letter-spacing:-.7px}.accounts-table td:nth-child(4){grid-column:2;grid-row:3;align-self:center}.accounts-table td:nth-child(4):before{content:"较上月";display:block;font-size:11px;color:var(--muted);margin-bottom:3px}.accounts-table td:nth-child(5){grid-column:1;grid-row:4;align-self:center}.accounts-table td:nth-child(6){grid-column:2;grid-row:4}.app-shell .accounts-table .account-name strong{font-size:15px}.accounts-table .account-name{width:100%}.accounts-table .account-name>span:last-child{min-width:0;overflow-wrap:anywhere}.app-shell .accounts-table .row-actions{gap:2px;flex-wrap:wrap;justify-content:flex-end}.app-shell .accounts-table .row-actions .icon-button{width:38px;min-width:38px;height:44px}.accounts-table .order-controls{flex-direction:row;grid-column:1/-1}.accounts-table .order-controls button{min-width:36px;min-height:44px;align-items:center;justify-content:center}.accounts-table .order-controls svg{width:14px;height:14px}.app-shell .accounts-table .row-actions{max-width:148px}.app-shell .history-table,.app-shell .history-table tbody{display:block;min-width:0;width:100%;white-space:normal}.history-table thead{display:none}.app-shell .history-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px;padding:20px 18px;border-top:1px solid var(--line)}.app-shell .history-table td{display:block;text-align:left;border:none;padding:0}.history-table td:first-child{grid-column:1;font-size:16px;font-weight:650}.history-table td:nth-child(6){grid-column:2;grid-row:1;text-align:right}.history-table td:nth-child(2):before{content:"总资产"}.history-table td:nth-child(3):before{content:"总负债"}.history-table td:nth-child(4):before{content:"净资产"}.history-table td:nth-child(5):before{content:"较上月"}.history-table td:nth-child(n+2):nth-child(-n+5):before{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.history-table td:nth-child(7){grid-column:1/-1}.app-shell .history-table td:nth-child(7) .icon-button{width:100%;background:var(--surface);color:var(--accent);gap:8px}.history-table td:nth-child(7) .icon-button:before{content:"查看盘点";font-size:12px}.app-shell .table-filters select,.app-shell .search input{min-height:44px;font-size:16px}.app-shell .table-filters select{min-width:0;width:0}.app-shell .account-toolbar .segments{width:100%}.account-toolbar .segments button{flex:1}.app-shell .segments button{min-height:40px;font-size:12px;padding:7px 10px}.app-shell .settings-tabs .segments{display:flex;width:100%}.app-shell .settings-tabs .segments button{flex:1;font-size:12px;padding:8px 6px}.app-shell .storage-banner{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;padding:20px 18px}.app-shell .storage-banner>.tag{grid-column:2;justify-self:start}.app-shell .storage-banner h2{line-height:1.6}.app-shell .update-panel .amount-input{min-height:48px;border-width:1px;background:#fff}.app-shell .save-bar{gap:12px}.app-shell .save-bar>div:last-child{flex-wrap:wrap}.save-bar .button{flex:1}.app-shell .finish-panel .heading-actions{flex-direction:column;align-items:stretch}.app-shell .export-card{display:flex;padding:22px}.app-shell .export-card>svg{margin-bottom:14px}.app-shell .export-card .button{margin-top:6px}.settings-form,.settings-members{padding-inline:18px}.settings-members>div{gap:10px}.settings-members .button{font-size:12px;padding-inline:10px}.app-shell .schema-list{padding-inline:18px}.app-shell .schema-list>div{flex-wrap:wrap}.app-shell .schema-list small{margin-left:0;font-size:11px;overflow-wrap:anywhere}.app-shell .connection-actions{align-items:stretch}.connection-actions>.button{flex:1 1 100%}.migration-guide ol{grid-template-columns:1fr;gap:18px;padding-inline:18px}.migration-note{margin-inline:18px}.migration-guide .panel-heading>.button{width:100%}.modal{width:100%;max-width:100%;max-height:94dvh;margin:auto 0 0;border-radius:20px 20px 0 0;border-bottom:0}.modal .modal-head{padding:22px 20px 16px}.modal .modal-body{padding:22px 20px}.modal .modal-footer{padding:16px 20px max(18px,env(safe-area-inset-bottom))}.modal-footer>.button{flex:1}.modal .field input,.modal .field select,.modal .field textarea{min-height:48px;font-size:16px}.mobile-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#fffdfbf5;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 -4px 20px #38231d05}.mobile-bottom-nav a{display:flex;flex:1;min-width:0;min-height:50px;align-items:center;justify-content:center;flex-direction:column;gap:4px;color:var(--muted);font-size:11px;border-radius:10px}.mobile-bottom-nav a svg{width:21px;height:21px}.mobile-bottom-nav a.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.app-shell .toast{bottom:calc(86px + env(safe-area-inset-bottom));left:50%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}
