: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-actions{display:flex;align-items:flex-end;flex-direction:column;gap:8px}.backup-actions .button{white-space:nowrap}.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>.backup-actions{grid-column:2;justify-self:stretch;align-items:flex-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::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}}.overview-hero-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);gap:20px;margin-bottom:20px}.change.neutral{color:var(--muted)}.movement-reconciliation{padding:20px;margin-bottom:20px}.movement-reconciliation h2{font-size:15px;margin:0 0 16px}.movement-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.movement-parts>div{display:grid;gap:8px;min-width:0}.movement-parts>div>span:first-child{color:var(--muted);font-size:12px}.movement-parts .change{justify-content:flex-start;font-size:18px}.movement-reconciliation p{color:var(--muted);font-size:12px;line-height:1.8;margin:16px 0 0}.movement-reconciliation .movement-record-status{border-top:1px solid var(--line);padding-top:12px}@media(max-width:700px){.movement-reconciliation{padding:16px}.movement-parts{grid-template-columns:minmax(0,1fr);gap:14px}.movement-parts>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.movement-parts .change{font-size:16px}.account-revision-wrap{overflow:visible}html body .account-revision-table,html body .account-revision-table tbody{display:block;width:100%;min-width:0;white-space:normal}.account-revision-table thead{display:none}html body .account-revision-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px;padding:20px 0;border-top:1px solid var(--line)}html body .account-revision-table td{display:block;min-width:0;padding:0;border:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.account-revision-table td:before{content:attr(data-label);display:block;color:var(--muted);font-size:11px;margin-bottom:6px}.account-revision-table td:first-child,.account-revision-table td:last-child{grid-column:1 / -1}.account-revision-table td:first-child{font-weight:650}.account-revision-table td:first-child:before{display:none}.account-revision-table td small{display:block;color:var(--muted);margin-top:4px}html body .account-revision-table .note-cell{max-width:none}.account-revision-table .change{justify-content:flex-start}}.changes-heading .tag{min-height:34px;padding:8px 13px;font-size:12px}.change-summary-grid{display:grid;grid-template-columns:1.45fr repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.change-summary-grid>div{padding:20px;min-width:0}.change-summary-grid>div>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.change-summary-grid>div>span svg{width:15px;height:15px}.change-summary-grid strong{display:block;margin:12px 0 7px;font-size:25px;line-height:1.1}.change-summary-grid .featured strong .change{justify-content:flex-start;font-size:23px}.change-summary-grid small{color:var(--muted);font-size:10px;line-height:1.6}.changes-panel{overflow:hidden}.changes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid var(--line)}.changes-toolbar .search{width:min(350px,100%);flex:1 1 260px}.changes-filters{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:1 1 auto}.changes-filters>svg{width:16px;height:16px;color:var(--muted);flex:0 0 auto}.changes-filters select{min-height:40px;max-width:145px;padding:7px 30px 7px 10px;font-size:11px;background-color:#fff}.changes-result-note{display:flex;justify-content:space-between;gap:16px;padding:11px 20px;background:var(--surface);color:var(--muted);font-size:10px}.changes-table-wrap{max-height:none}.changes-table{min-width:980px}.changes-table th{padding:13px 16px;font-size:10px;white-space:nowrap}.changes-table td{padding:14px 16px;vertical-align:middle}.changes-table tbody tr{cursor:pointer;transition:background .15s ease}.changes-table tbody tr:hover,.changes-table tbody tr:focus-visible{background:#fff7f4;outline:none}.changes-table td>small,.change-account-name small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.change-account-name{display:flex;align-items:center;gap:10px;min-width:180px}.change-account-name>span:last-child{min-width:0}.change-account-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.changes-table .tag{white-space:nowrap}@media(max-width:1050px){.change-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.changes-toolbar{align-items:stretch;flex-direction:column}.changes-toolbar .search{width:100%;flex-basis:auto}.changes-filters{justify-content:stretch}.changes-filters select{flex:1 1 0;max-width:none}}@media(max-width:700px){.change-summary-grid{gap:10px;margin-bottom:14px}.change-summary-grid>div{padding:16px}.change-summary-grid strong,.change-summary-grid .featured strong .change{font-size:19px}.changes-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.changes-filters>svg{display:none}.changes-result-note{align-items:flex-start;flex-direction:column;gap:4px}.changes-table-wrap{overflow:visible}html body .app-shell .changes-table,.changes-table tbody{display:block;min-width:0;width:100%}.changes-table thead{display:none}.changes-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 10px;padding:17px 16px;border-top:1px solid var(--line)}.changes-table td{display:block;padding:0;border:0;text-align:left;min-width:0}.changes-table td:first-child,.changes-table td:nth-child(2),.changes-table td:last-child{grid-column:1 / -1}.changes-table td:nth-child(2){display:flex;gap:6px;color:var(--muted)}.changes-table td:nth-child(2) small{margin:0}.changes-table td:nth-child(3):before{content:"上期余额"}.changes-table td:nth-child(4):before{content:"本期余额"}.changes-table td:nth-child(5):before{content:"变动金额"}.changes-table td:nth-child(6):before{content:"变动比例"}.changes-table td:nth-child(n+3):nth-child(-n+6):before{display:block;margin-bottom:5px;color:var(--muted);font-size:9px}.change-account-name{min-width:0}}.summary-card{min-width:0;padding:28px;border-radius:18px;color:#fff8f6;background:#972f2b;box-shadow:0 16px 36px #6f201318}.summary-card-top,.summary-updated,.summary-facts>div,.movement-head,.calendar-card-head,.inventory-detail-head,.inventory-history-title,.snapshot-form-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.summary-card-top{font-size:13px;color:#ffe4dd}.summary-card-top small,.summary-updated{color:#edc3ba}.summary-total{display:block;margin:12px 0 6px;font-size:clamp(32px,3.4vw,48px);font-weight:650;line-height:1.2;letter-spacing:-1.8px;font-variant-numeric:tabular-nums}.summary-updated{justify-content:flex-start;font-size:11px}.summary-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:26px;border-radius:12px;overflow:hidden;background:#fff2}.summary-facts>div{align-items:flex-start;flex-direction:column;padding:15px 16px;background:#ffffff0d}.summary-facts span,.summary-facts small,.summary-facts .change{color:#ecc5bd;font-size:10px}.summary-facts strong{color:#fff;font-size:clamp(15px,1.5vw,21px);font-variant-numeric:tabular-nums}.movement-card{min-width:0;padding:24px}.movement-head{align-items:flex-start}.movement-head>div{display:grid;gap:4px}.movement-head>div>span{color:var(--muted);font-size:12px}.movement-head strong{font-size:20px}.movement-head small{color:var(--muted);font-size:10px}.movement-bars{display:flex;align-items:flex-end;gap:13px;height:128px;margin-top:22px;padding-top:24px;border-bottom:1px solid var(--line)}.movement-bars>div{position:relative;display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:end;min-width:0;height:100%;flex:1}.movement-bars i{width:min(28px,68%);min-height:4px;border-radius:5px 5px 0 0;opacity:.8}.movement-bars>div>span{position:absolute;top:-22px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.movement-bars small{transform:translateY(22px);color:var(--muted);font-size:9px;white-space:nowrap}.movement-empty{display:grid;justify-items:center;align-content:center;gap:6px;min-height:142px;margin-top:10px;color:var(--muted);text-align:center}.movement-empty svg{width:24px;height:24px;margin-bottom:4px;color:var(--accent-soft-border)}.movement-empty strong{color:var(--ink);font-size:12px}.movement-empty span{font-size:10px}.flow-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.flow-controls .segments button{font-size:11px}.calendar-filters select{min-width:118px}.calendar-intro{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-6px 0 20px;color:var(--muted);font-size:11px}.calendar-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.calendar-card{min-width:0;padding:22px 22px 18px}.calendar-card-head{align-items:flex-start}.calendar-card-head>div{display:grid;gap:5px}.calendar-card-name{font-size:12px;font-weight:650}.calendar-card-head strong{font-size:24px;letter-spacing:-.8px}.calendar-card-head>span,.calendar-card>p{font-size:10px}.calendar-card>p{margin-top:4px}.calendar-bars{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:6px;height:112px;margin-top:18px;padding-top:10px;border-bottom:1px solid var(--line)}.calendar-bar{display:grid;grid-template-rows:1fr auto;align-items:end;justify-items:center;gap:8px;height:100%;min-width:0;padding:0;border:0;background:none}.calendar-bar>span{display:block;width:min(13px,75%);min-height:3px;border-radius:4px 4px 0 0;opacity:.78;transition:opacity .15s,transform .15s}.calendar-bar:hover:not(:disabled)>span{opacity:1;transform:translateY(-2px)}.calendar-bar:disabled>span{display:none}.calendar-bar small{color:var(--muted);font-size:8px;white-space:nowrap;transform:translateY(21px)}.calendar-card-link{display:flex;align-items:center;justify-content:flex-end;gap:5px;width:100%;margin-top:31px;padding:7px 0 0;border:0;border-top:1px solid #f1e9e5;color:var(--accent);background:none;font-size:11px}.calendar-card-link svg{width:13px}.four-money-overview,.four-money-editor{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;margin-bottom:18px;align-items:start}.four-money-hero,.bucket-guide,.bucket-account-editor,.bucket-preview,.bucket-groups{min-width:0}.bucket-preview-bars{display:flex;align-items:flex-end;justify-content:center;gap:16px;height:196px;padding:16px 24px 24px;border-bottom:1px solid var(--line)}.bucket-preview-bars>div{display:grid;grid-template-rows:1fr auto auto;align-items:end;justify-items:center;gap:7px;width:54px;min-width:0;height:100%}.bucket-preview-bars>div>span{width:26px;min-height:4px;border-radius:6px 6px 0 0;opacity:.82}.bucket-preview-bars strong{font-size:11px;white-space:nowrap}.bucket-preview-bars small{max-width:90px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.bucket-preview-bars.large{height:248px}.bucket-preview-bars.large>div{width:72px}.bucket-preview-bars.large>div>span{width:38px}.bucket-guide-list{display:grid;gap:0;padding:0 24px}.bucket-guide-list>div{display:grid;grid-template-columns:auto 1fr;gap:3px 9px;padding:13px 0;border-top:1px solid var(--line)}.bucket-guide-list p{grid-column:2;color:var(--muted);font-size:10px;line-height:1.65}.bucket-note{display:flex;gap:8px;margin:10px 20px 20px;padding:12px;border-radius:10px;background:var(--surface)}.bucket-note svg{width:15px;margin-top:2px}.bucket-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 24px 24px}.bucket-group{min-width:0;border:1px solid var(--line);border-radius:13px;overflow:hidden}.bucket-group>header{display:flex;justify-content:space-between;gap:10px;padding:14px;background:var(--surface)}.bucket-group>header>div,.bucket-group button>span{display:grid;min-width:0}.bucket-group small,.bucket-edit-row small{color:var(--muted);font-size:9px}.bucket-group button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;padding:12px 14px;border:0;border-top:1px solid var(--line);background:#fff;text-align:left}.bucket-group button:hover{background:#fff8f6}.bucket-empty{display:flex;align-items:center;gap:6px;padding:16px 14px;color:var(--muted);font-size:10px}.bucket-edit-list{padding:0 24px 24px}.bucket-edit-row{display:grid;grid-template-columns:auto minmax(150px,1fr) auto 150px;align-items:center;gap:12px;min-height:68px;border-top:1px solid var(--line)}.bucket-edit-row>span:nth-child(2){display:grid;min-width:0}.bucket-preview .button{width:calc(100% - 40px);margin:20px}.inventory-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;margin-bottom:18px}.inventory-category-grid>button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;min-width:0;min-height:88px;padding:14px;border:1px solid var(--line);border-radius:14px;color:var(--ink);background:#fff;text-align:left;box-shadow:var(--shadow);transition:border-color .15s,background .15s,transform .15s}.inventory-category-grid>button:hover{border-color:var(--accent-soft-border);transform:translateY(-1px)}.inventory-category-grid>button.active{border-color:var(--accent);background:#fff8f6;box-shadow:0 0 0 1px var(--accent)}.inventory-category-icon{display:grid;place-items:center;width:35px;height:35px;border-radius:10px}.inventory-category-grid>button>span:last-child{display:grid;min-width:0}.inventory-category-grid small,.inventory-category-grid em{color:var(--muted);overflow:hidden;text-overflow:ellipsis;font-size:9px;font-style:normal;white-space:nowrap}.inventory-category-grid strong{margin:2px 0;overflow:hidden;text-overflow:ellipsis;font-size:14px;white-space:nowrap}.inventory-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:12px}.inventory-toolbar>span{margin-left:auto;color:var(--muted);font-size:10px}.inventory-search{width:min(320px,100%)}.inventory-toolbar .text-button.active{color:var(--accent)}.inventory-workspace{display:grid;grid-template-columns:minmax(420px,1fr) minmax(340px,.72fr);align-items:start;gap:18px}.inventory-list-panel,.inventory-detail-panel{min-width:0;overflow:hidden}.inventory-detail-panel{position:sticky;top:92px}.inventory-list-heading{display:flex;align-items:center;justify-content:space-between;padding:20px 22px 16px}.inventory-list-heading p,.inventory-detail-head p,.snapshot-form-title p{margin-top:3px;color:var(--muted);font-size:10px}.inventory-list-heading>strong{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;color:var(--accent);background:var(--accent-soft);font-size:12px}.inventory-member-group>header{display:flex;align-items:center;gap:8px;min-height:44px;padding:7px 22px;border-top:1px solid var(--line);background:var(--surface)}.inventory-member-group>header strong{font-size:11px}.inventory-member-group>header>span:last-child{margin-left:auto;color:var(--muted);font-size:9px}.inventory-member-group>div>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;width:100%;min-height:72px;padding:11px 18px 11px 22px;border:0;border-top:1px solid var(--line);color:var(--ink);background:#fff;text-align:left}.inventory-member-group>div>button:hover,.inventory-member-group>div>button.active{background:#fff8f6}.inventory-member-group>div>button.active{box-shadow:inset 3px 0 var(--accent)}.inventory-member-group>div>button>span:nth-child(2),.inventory-account-amount{display:grid;min-width:0}.inventory-member-group button strong,.inventory-member-group button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-member-group button strong{font-size:13px}.inventory-member-group button small{color:var(--muted);font-size:9px}.inventory-account-amount{justify-items:end;font-variant-numeric:tabular-nums}.inventory-account-amount>span{font-weight:620}.inventory-member-group button>svg{width:14px;color:#b5a8a4}.inventory-add-row{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:50px;border:0;border-top:1px solid var(--line);color:var(--accent);background:#fff;font-size:11px}.inventory-detail-head{align-items:flex-start;padding:22px 22px 17px;border-bottom:1px solid var(--line)}.inventory-detail-head h2{margin-top:4px;font-size:20px}.inventory-detail-head .eyebrow{font-size:9px!important}.inventory-balance{display:grid;gap:3px;padding:20px 22px;background:#fff8f6}.inventory-balance>span,.inventory-balance>small{color:var(--muted);font-size:10px}.inventory-balance>strong{color:var(--accent);font-size:29px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.inventory-snapshot-form,.inventory-history-preview{display:grid;gap:14px;padding:20px 22px;border-top:1px solid var(--line)}.snapshot-form-title{align-items:flex-start}.inventory-snapshot-form textarea{min-height:66px}.inventory-history-title .text-button{min-height:30px!important}.inventory-history-preview>div:not(.inventory-history-title){display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line);font-size:11px}.inventory-history-preview>div>span:first-child{display:grid;min-width:0}.inventory-history-preview small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.inventory-archive-action{display:flex;align-items:center;justify-content:center;gap:7px;width:calc(100% - 44px);min-height:40px;margin:0 22px 22px;border:0;border-radius:9px;color:var(--muted);background:var(--surface);font-size:11px}.inventory-note{margin-top:18px}@media(max-width:1180px){.overview-hero-grid,.four-money-overview,.four-money-editor{grid-template-columns:minmax(0,1fr)}.inventory-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-workspace{grid-template-columns:minmax(360px,1fr) minmax(300px,.8fr)}.bucket-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.overview-hero-grid,.calendar-card-list,.inventory-workspace{grid-template-columns:minmax(0,1fr)}.summary-card{padding:23px 20px}.summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-facts>div{padding:13px 10px}.flow-controls{justify-content:flex-start;width:100%}.flow-controls .segments{flex:1 1 260px}.calendar-heading .heading-actions,.four-money-heading .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-heading .heading-actions .button,.four-money-heading .heading-actions .button{grid-column:1 / -1}.calendar-intro{align-items:flex-start;flex-direction:column;gap:4px}.bucket-group-grid{grid-template-columns:minmax(0,1fr);padding-inline:18px}.bucket-edit-list{padding-inline:18px}.bucket-edit-row{grid-template-columns:auto minmax(0,1fr) auto;padding-block:12px}.bucket-edit-row select{grid-column:2 / -1;width:100%}.inventory-category-grid{display:flex;gap:10px;margin-inline:-16px;padding:1px 16px 7px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.inventory-category-grid::-webkit-scrollbar{display:none}.inventory-category-grid>button{flex:0 0 156px;min-height:80px;scroll-snap-align:start}.inventory-workspace{display:flex;flex-direction:column}.inventory-detail-panel{position:static;order:-1;width:100%;scroll-margin-top:74px}.inventory-list-panel{width:100%}}@media(max-width:520px){.inventory-heading .heading-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-heading .heading-actions .button:last-child{grid-column:1 / -1}.inventory-toolbar{align-items:stretch;flex-wrap:wrap}.inventory-search{width:100%}.inventory-toolbar>span{width:100%;margin-left:0}.inventory-member-group>div>button{grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding-inline:16px}.inventory-member-group button>svg{display:none}.inventory-account-amount{max-width:112px}.inventory-detail-head,.inventory-balance,.inventory-snapshot-form,.inventory-history-preview{padding-inline:18px}.calendar-card{padding-inline:16px}.calendar-bars{gap:3px}.calendar-bar small{font-size:7px}.bucket-preview-bars,.bucket-preview-bars.large{gap:8px;height:190px;padding-inline:14px}.bucket-preview-bars>div,.bucket-preview-bars.large>div{width:44px}.bucket-preview-bars>div>span,.bucket-preview-bars.large>div>span{width:24px}}:root{--ink: #0b162c;--muted: #7a879d;--accent: #2e6be6;--accent-hover: #245bc7;--accent-soft: #edf3ff;--accent-soft-border: #c8d8f5;--line: #e4eaf2;--paper: #ffffff;--surface: #f5f7fa;--success: #24ae76;--success-soft: #eaf8f2;--shadow: 0 2px 8px #233b620b;color:var(--ink);background:var(--surface)}html,body,#root,.app-shell{background:#f5f7fa}body{color:var(--ink)}::selection{color:#0c3e99;background:#d9e7ff}:is(button,a,input,select,textarea):focus-visible{outline-color:#2e6be6}input,select,textarea{color:var(--ink);border-color:#d9e0ea;background:#fff}input:hover,select:hover,textarea:hover{border-color:#afc5ed}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2e6be612}input::placeholder,textarea::placeholder{color:#a0aabb}input[type=checkbox]{accent-color:var(--accent)}h1,h2,h3,strong{color:var(--ink)}.positive,.change.positive{color:#ff4e57}.negative,.change.negative{color:#27ae78}.review-card .positive,.review-people .positive{color:var(--success)}.button.primary,.primary{color:#fff;border-color:var(--accent);background:var(--accent);box-shadow:0 4px 10px #2e6be629}.button.primary:hover:not(:disabled),.primary:hover:not(:disabled){border-color:var(--accent-hover);background:var(--accent-hover)}.button.secondary,.secondary{color:var(--ink);border-color:var(--line);background:#fff}.button.secondary:hover:not(:disabled),.secondary:hover:not(:disabled){color:var(--accent);border-color:var(--accent-soft-border);background:var(--accent-soft)}.icon-button:hover,.order-controls button:hover{color:var(--accent);background:var(--accent-soft)}.tag.success,.tag.positive{color:#187e58;background:var(--success-soft)}.tag.warm{color:#9c6b14;background:#fff6df}.sidebar{border-color:var(--line);background:#fbfcfe}.brand{color:var(--ink);letter-spacing:-.35px}.brand-icon{border-radius:10px;background:var(--accent);box-shadow:none}.brand small{color:#8a98ad}.household-switch{border-color:transparent;background:#f1f4f8}.sidebar nav a{color:#526078;font-weight:560}html body .app-shell .sidebar nav a.active{color:var(--accent);background:#fff;box-shadow:0 2px 8px #233b6210}.nav-dot,.storage-indicator>span{background:var(--accent)}.topbar{border-color:var(--line);background:#fffffff2}.demo-banner{color:#67758a;border-color:#e8edf3;background:#f0f3f7}.demo-banner .color-dot{background:#8ca4ce}.main-content{background:transparent}html body .app-shell .eyebrow{color:#6d7f9a}.page-heading>div>p:last-child:not(.eyebrow){color:var(--muted)}.panel{border-color:var(--line);border-radius:13px;background:#fff;box-shadow:var(--shadow)}.people-filter{border-color:transparent;background:transparent;gap:8px}.people-filter button{color:#6f7a90;border:0;border-radius:8px;background:#efeff9}html body .app-shell .people-filter button.active{color:#fff;background:#a29ed8}.segments{border-color:transparent;background:#f3f5f8}html body .app-shell .segments button.selected{color:var(--accent);background:#fff;box-shadow:0 1px 5px #233b6212}.summary-card{color:var(--ink);border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}.summary-card-top,.summary-card-top small,.summary-updated{color:#7e8ba1}.summary-total{color:var(--ink)}.summary-facts{gap:0;border-top:1px solid var(--line);border-radius:0;background:transparent}.summary-facts>div{border-right:1px solid var(--line);background:transparent}.summary-facts>div:last-child{border-right:0}.summary-facts span,.summary-facts small{color:#8190a7}.summary-facts strong{color:var(--ink)}.summary-facts .change{color:#ff4e57}.summary-facts .change.negative{color:#27ae78}.movement-card{background:#fff}.movement-bars{border-color:#9ca7b7}.movement-empty svg{color:#b8c7e2}.flow-panel .panel-heading h2 svg,.panel-heading h2 svg,.info-strip>svg,.export-card>svg,.backup-status-row>svg{color:var(--accent)}.review-card{background:#fff}.review-card>.button{color:var(--accent);border-color:#ccdaf5}progress,progress::-webkit-progress-bar{background:#e7ecf3}progress::-webkit-progress-value,progress::-moz-progress-bar{background:var(--accent)}.allocation-track{background:#edf0f5}.change-list button:hover,.bucket-group button:hover,.inventory-member-group>div>button:hover{background:#f7faff}.info-strip,.storage-banner,.save-bar{border-color:#dce6f7;background:#f3f7fe}.update-table .selected-row{background:#f3f7ff}.modal{border-color:var(--line);background:#fff;box-shadow:0 24px 80px #20355d25}.modal::backdrop{background:#15254366}.modal-footer{border-color:var(--line);background:#fffffff5}.toast{border-color:var(--line);box-shadow:0 10px 32px #20355d1f}.auth-screen .auth-story{color:#17315d;background:#eaf1fd}.auth-screen .auth-story .eyebrow,.auth-overline{color:var(--accent)}.auth-screen .auth-description,.auth-screen .auth-promises span,.auth-screen .auth-copyright{color:#617492}.summary-card,.movement-card,.flow-panel,.review-card,.allocation,.overview-bottom>.panel{border-radius:12px}.flow-controls .segments{background:#f2f4f8}.calendar-intro{color:#75839a}.calendar-card{border:0;border-radius:10px;box-shadow:0 1px 4px #233b6208}.calendar-card-head strong{color:var(--ink)}.calendar-bars{border-color:#6f7889}.calendar-card-link{color:var(--accent);border-color:#edf0f4}.four-money-hero,.bucket-guide,.bucket-groups,.bucket-account-editor,.bucket-preview{background:#fff}.bucket-note{background:#f2f5f9}.bucket-group{border-color:var(--line)}.bucket-group>header{background:#f5f7fa}.inventory-category-grid>button{border-color:transparent;box-shadow:none}.inventory-category-grid>button:nth-child(7n+1){background:#f8ebe5}.inventory-category-grid>button:nth-child(7n+2){background:#efedf9}.inventory-category-grid>button:nth-child(7n+3){background:#eaf1fa}.inventory-category-grid>button:nth-child(7n+4){background:#f6f1e8}.inventory-category-grid>button:nth-child(7n+5){background:#eaf4f7}.inventory-category-grid>button:nth-child(7n+6){background:#f1f3f6}.inventory-category-grid>button:nth-child(7n+7){background:#eeeef1}.inventory-category-grid>button:hover{border-color:#b7c9e9}.inventory-category-grid>button.active{border-color:var(--accent);background:#eef4ff;box-shadow:0 0 0 1px var(--accent)}.inventory-toolbar .search,.inventory-search input{background:#fff}.inventory-list-panel,.inventory-detail-panel{border-color:var(--line);background:#fff}.inventory-member-group>header{border-color:var(--line);background:#f5f7fa}.inventory-member-group>div>button.active{background:#edf4ff;box-shadow:inset 3px 0 var(--accent)}.inventory-balance{background:#f2f6fd}.inventory-balance>strong{color:var(--ink)}.inventory-add-row,.inventory-history-title .text-button,.inventory-toolbar .text-button.active{color:var(--accent)}@media(max-width:800px){.inventory-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-inline:0;padding:0;overflow:visible;scroll-snap-type:none}.inventory-category-grid>button{min-height:82px;padding:13px 12px;scroll-snap-align:none}}.inventory-archive-action{background:#f3f5f8}.mobile-bottom-nav{border-color:var(--line);background:#fffffff5;box-shadow:0 -4px 16px #20355d0b}.mobile-bottom-nav a{color:#6f7d93}.mobile-bottom-nav a.active{color:var(--accent);background:var(--accent-soft)}@media(max-width:700px){.app-shell .main-content{background:#f5f7fa}.app-shell .page-heading h1{color:var(--ink);font-size:30px;letter-spacing:-.9px}.summary-card{border-radius:14px}.inventory-list-panel{border:0;background:transparent;box-shadow:none}.inventory-list-heading{padding-inline:8px}.inventory-member-group>header{margin-top:8px;padding-inline:8px;border:0;background:transparent}.inventory-member-group>div>button{width:calc(100% - 2px);margin:0 1px 10px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 2px 6px #233b620a}.inventory-member-group>div>button.active{border-color:#b9cdf2;background:#eef4ff;box-shadow:0 0 0 1px #d9e4f8}.inventory-add-row{border:1px solid var(--line);border-radius:12px;background:#fff}.calendar-card{border-radius:11px}}
