:root{color:#292c33;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--accent:#cb4265;--accent-hover:#b73556;--accent-soft:#fbecf0;--income:#23856a;--muted:#737984;--border:#e8eaf0;--surface:#fff;background:#f0f2f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box;letter-spacing:0}body{min-width:320px;margin:0}button,input,textarea,select{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.43}button,a,input,textarea,select,summary{outline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #dc7b94}input,select,textarea{color:#30343c;background:#fff;border:1px solid #dfe2e9;border-radius:7px;min-width:0}input,select{min-height:39px;padding:8px 11px}input:focus,select:focus,textarea:focus{border-color:#dc7b94;outline:0;box-shadow:0 0 0 3px #f8e5eb}input::placeholder,textarea::placeholder{color:#a0a5ae}input:disabled,textarea:disabled,select:disabled{background:#f6f7f9}input[type=checkbox]{min-height:auto;accent-color:var(--accent);width:15px;height:15px}input[type=date]{min-width:138px}button svg,.button svg{flex-shrink:0}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:23px;font-weight:650;line-height:1.35}h2{font-size:19px;font-weight:650;line-height:1.4}h3{font-size:16px;font-weight:620}.muted{color:var(--muted)}.income,.kind-income{color:var(--income)}.kind-expense{color:#c5536c}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.button{white-space:nowrap;background:#fff;border:1px solid #dfe2e9;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:37px;padding:8px 14px;font-size:13px;font-weight:550;line-height:1.35;text-decoration:none;display:inline-flex;box-shadow:0 1px 1px #252a3804}.button:hover:not(:disabled){background:#f6f7f9;border-color:#cdd1db}.button.primary,.icon-button.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 5px #cb42651a,inset 0 1px #ffffff18}.button.primary:hover:not(:disabled),.icon-button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.button.subtle{box-shadow:none;color:#6c7280;background:0 0;border-color:#0000}.button.subtle:hover:not(:disabled){background:#f0f2f6}.button.danger,.icon-button.danger{color:#c23e52;background:#fff3f4;border-color:#f0d9dd}.button.danger.filled{color:#fff;background:#c33d53;border-color:#c33d53}.button.danger:hover:not(:disabled){background:#fbe5e9}.button.danger.filled:hover:not(:disabled){background:#ad2e44}.text-button{color:var(--accent);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;padding:3px 0;font-size:13px;font-weight:520;line-height:1.5;display:inline-flex}.text-button.muted{color:var(--muted)}.text-button:hover:not(:disabled){color:#9f304c}.icon-button{color:#828793;background:0 0;border:1px solid #0000;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;padding:0;display:inline-flex}.icon-button:hover:not(:disabled){color:#414651;background:#edf0f5}.icon-button:active:not(:disabled){background:#e3e7ee}.segmented{background:#eef0f4;border:1px solid #e7e9ef;border-radius:8px;flex-shrink:0;align-items:center;gap:2px;padding:3px;display:inline-flex}.segmented button{color:#747a85;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:4px;min-height:29px;padding:5px 17px;font-size:13px;line-height:1.3;display:inline-flex}.segmented button.active{color:#343943;background:#fff;border-color:#e3e6ed;box-shadow:0 1px 3px #1c243212}.field{flex-direction:column;gap:7px;min-width:0;font-size:13px;display:flex}.field>span{color:#565c66;font-size:12px;font-weight:550}.field>input,.field>select{width:100%;font-size:14px}.optional{color:#969ca7;margin-left:3px;font-size:11px;font-weight:400}.badge{color:#777e88;white-space:nowrap;background:#f6f7f9;border:1px solid #e6e9ef;border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:inline-flex}.inline-error,.error-message{color:#b94058;overflow-wrap:anywhere;align-items:flex-start;gap:8px;font-size:13px;line-height:1.7;display:flex}.inline-error>svg{flex-shrink:0;margin-top:3px}.error-banner{color:#a83d55;background:#fff3f5;border:1px solid #f0d8de;border-radius:7px;align-items:center;gap:10px;margin-bottom:23px;padding:9px 12px;font-size:13px;line-height:1.6;display:flex}.error-banner>svg{flex-shrink:0}.error-banner>span{overflow-wrap:anywhere;flex:1;min-width:0}.error-banner>.text-button{flex-shrink:0}.status-dot{background:#55a58b;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.status-dot.demo{background:#bd9e67}.app-frame{background:#fdfdfe;border:1px solid #e1e4eb;border-radius:16px;grid-template-columns:225px minmax(0,1fr);max-width:1780px;min-height:calc(100dvh - 24px);margin:12px auto;display:grid;box-shadow:0 12px 60px #222e4910,0 2px 6px #222e4905}.sidebar{-webkit-backdrop-filter:blur(30px);background:#f5f6fad6;border-right:1px solid #e7e9ee;border-radius:16px 0 0 16px;flex-direction:column;height:calc(100dvh - 26px);padding:30px 16px 18px;display:flex;position:sticky;top:12px}.brand{align-items:center;gap:12px;margin-bottom:40px;padding:0 13px;text-decoration:none;display:flex}.brand img{object-fit:cover;border-radius:11px;width:43px;height:43px;box-shadow:0 2px 5px #323c5010}.brand>span{flex-direction:column;gap:2px;display:flex}.brand strong{font-size:20px;font-weight:700;line-height:1.2}.brand small{color:#777e87;font-size:12px}.sidebar-label{color:#9ba0aa;margin-bottom:11px;padding:0 14px;font-size:10px;font-weight:600}.main-nav{flex-direction:column;gap:5px;display:flex}.main-nav button{text-align:left;color:#727985;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;width:100%;min-height:43px;padding:10px 13px;font-size:14px;line-height:1.4;display:flex}.main-nav button:hover:not(:disabled){color:#444a55;background:#ebeef4}.main-nav button.active{color:#c14363;background:#f6e7ed;border-color:#eddbe3;font-weight:600;box-shadow:inset 0 1px #ffffffb5}.main-nav button.active svg{stroke-width:2px}.sidebar-bottom{margin-top:auto;padding-top:32px}.book-identity{border-bottom:1px solid #e2e5ec;align-items:center;gap:9px;padding:0 5px 18px;display:flex}.book-symbol{color:#89909d;flex-shrink:0}.book-identity>div{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.book-identity strong{text-overflow:ellipsis;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:12px;font-weight:600;line-height:1.5;display:-webkit-box;overflow:hidden}.book-identity small{color:#979da8;font-variant-numeric:tabular-nums;font-size:11px}.storage-status{color:#979da8;align-items:center;gap:7px;padding:18px 8px 0;font-size:11px;display:flex}.storage-status .status-dot{margin-left:auto}.workspace{flex-direction:column;min-width:0;display:flex}.topbar{-webkit-backdrop-filter:blur(22px);background:#ffffffd9;border-bottom:1px solid #eceef3;border-radius:0 16px 0 0;justify-content:space-between;align-items:center;gap:18px;min-height:91px;padding:20px 35px;display:flex}.page-identity{align-items:center;gap:10px;min-width:0;display:flex}.page-identity>div{min-width:0}.page-identity h1{font-size:21px;font-weight:650}.page-identity p{color:#949aa4;text-overflow:ellipsis;white-space:nowrap;max-width:300px;margin-top:4px;font-size:11px;overflow:hidden}.toolbar{flex-shrink:0;align-items:center;gap:9px;display:flex}.sync-status{color:#7c858d;white-space:nowrap;align-items:center;gap:5px;padding-right:12px;font-size:10px;display:flex}.sync-status.demo{color:#a19073}.toolbar>.icon-button{width:34px;height:34px}.toolbar-separator{background:#e7e9ef;width:1px;height:18px;margin:0 2px}.toolbar-add{min-height:35px;font-size:12px}.main-content{flex:1;width:100%;min-width:0;max-width:1240px;margin:0 auto;padding:30px 36px 36px}.workspace-footer{color:#a3a8b1;justify-content:space-between;gap:12px;padding:0 36px 16px;font-size:10px;display:flex}.mobile-nav,.mobile-brand{display:none}.section-heading{justify-content:space-between;align-items:center;gap:14px;min-width:0;margin-bottom:18px;display:flex}.section-heading h2,.section-heading h3{min-width:0}.section-heading h2{font-size:17px}.section-heading h3{font-size:15px}.eyebrow{color:#9ba0aa;margin-bottom:6px;font-size:10px;font-weight:500;display:block}.section-count{color:#a0a6af;vertical-align:middle;margin-left:6px;font-size:11px;font-weight:400;display:inline-block}.overview-month{margin-bottom:27px}.overview-month h2,.ledger-page>.section-heading h2{font-size:22px}.month-switcher{background:#fff;border:1px solid #e6e9ef;border-radius:7px;flex-shrink:0;align-items:center;gap:5px;padding:2px;display:inline-flex}.month-switcher .icon-button{border-radius:4px;width:28px;height:27px}.month-switcher>span{text-align:center;color:#686f7b;font-variant-numeric:tabular-nums;min-width:98px;font-size:11px;font-weight:550}.summary-grid{border-bottom:1px solid var(--border);grid-template-columns:1.08fr 1fr 1fr;margin-bottom:35px;padding-bottom:27px;display:grid}.summary-metric{border-left:1px solid #eceef3;min-width:0;padding:0 28px}.summary-metric:first-child{border-left:0;padding-left:0}.summary-metric:last-child{padding-right:0}.metric-label{color:#858b95;align-items:center;gap:7px;font-size:11px;font-weight:500;display:flex}.metric-label>svg{color:#9299a5}.metric-arrow{border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.metric-arrow.expense{color:#cc7085;background:#fbebee}.metric-arrow.income{color:#60a58c;background:#e9f4ef}.metric-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin-top:12px;font-size:27px;font-weight:650;line-height:1.35;display:block}.summary-metric.balance .metric-value{font-size:30px}.summary-metric>small{color:#a0a5af;margin-top:7px;font-size:10px;display:block}.quick-entry{margin-bottom:31px}.quick-entry .section-heading{margin-bottom:13px}.composer{background:#fff;border:1px solid #e2e5ed;border-radius:8px;overflow:hidden;box-shadow:0 2px 7px #25314a03}.composer:focus-within{border-color:#d99bae;box-shadow:0 0 0 3px #faeff3}.composer textarea{resize:vertical;width:100%;height:107px;min-height:107px;max-height:310px;box-shadow:none;background:0 0;border:0;outline:0;padding:16px 18px 8px;font-size:14px;line-height:1.9;display:block}.composer textarea:focus{box-shadow:none;border:0;outline:0}.composer-footer{justify-content:space-between;align-items:center;gap:13px;padding:10px 13px 12px 17px;display:flex}.composer-meta{flex-wrap:wrap;align-items:center;gap:13px;min-width:0;display:flex}.model-label{color:#a28191;white-space:nowrap;align-items:center;gap:5px;font-size:10px;display:inline-flex}.character-count{color:#adb1ba;font-variant-numeric:tabular-nums;font-size:10px}.composer-footer .button{min-height:33px;padding:8px 13px;font-size:11px}.composer-footer .text-button{font-size:10px}.recent-section .section-heading{margin-bottom:12px}.record-row{border-bottom:1px solid #eef0f4;align-items:center;gap:12px;min-height:65px;display:flex}.record-row:last-child{border-bottom:0}.category-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;display:inline-flex}.record-main{text-align:left;background:0 0;border:0;flex:1;min-width:0;padding:7px 0}.record-main strong{color:#474c55;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;display:block;overflow:hidden}.record-main small{color:#a1a6b0;white-space:nowrap;align-items:center;gap:6px;margin-top:5px;font-size:10px;line-height:1.5;display:flex;overflow:hidden}.record-note{text-overflow:ellipsis;overflow:hidden}.record-amount{font-variant-numeric:tabular-nums;white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:36%;font-size:12px;font-weight:600}.record-edit{opacity:0;width:27px;height:27px}.record-row:hover .record-edit,.record-edit:focus-visible{opacity:1}.empty-state{text-align:center;color:#8f96a2;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:200px;padding:46px 16px;display:flex}.empty-icon{color:#a2a9b5;background:#f1f3f7;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.empty-state h3,.empty-state p{color:#969da8;font-size:13px;font-weight:450}.empty-state .button{font-size:11px}.ledger-filters{flex-wrap:wrap;align-items:center;gap:10px;margin:25px 0 21px;display:flex}.search-field{color:#a4aab4;background:#fff;border:1px solid #e0e4eb;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:200px;padding:0 11px;display:flex}.search-field:focus-within{border-color:#d99bae;box-shadow:0 0 0 3px #faeff3}.search-field input{box-shadow:none;border:0;flex:1;width:100%;min-height:36px;padding:9px 0;font-size:12px}.search-field .icon-button{width:21px;height:25px}.filter-select{color:#9299a4;background:#fff;border:1px solid #e0e4eb;border-radius:7px;align-items:center;gap:3px;padding-left:9px;display:flex}.filter-select select{background:0 0;border:0;min-height:36px;padding:8px 5px;font-size:11px}.category-filter{max-width:160px;min-height:38px;font-size:11px}.checkbox-label{color:#777f8b;white-space:nowrap;align-items:center;gap:6px;margin-left:2px;font-size:11px;display:inline-flex}.ledger-results{color:#9aa1ac;justify-content:space-between;align-items:center;gap:12px;padding-bottom:15px;font-size:10px;display:flex}.ledger-results>div{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;display:flex}.ledger-results strong{color:#686f7a;font-variant-numeric:tabular-nums;margin-left:5px;font-weight:550}.ledger-results strong.income{color:var(--income)}.table-wrap{border-top:1px solid #e8ebf0;border-bottom:1px solid #e8ebf0;width:100%;overflow-x:auto}.ledger-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:680px;font-size:12px}.ledger-table th{text-align:left;color:#969daa;white-space:nowrap;background:#f8f9fb;padding:13px 10px;font-size:10px;font-weight:500}.ledger-table td{color:#626a77;border-top:1px solid #edf0f4;height:66px;padding:14px 10px}.ledger-table th:first-child,.ledger-table td:first-child{width:90px;padding-left:2px}.ledger-table th:nth-child(2){width:22%}.ledger-table th:nth-child(3){width:112px}.ledger-table th:nth-child(4){width:auto}.ledger-table th.amount-column{width:132px}.ledger-table th.actions-column{width:68px}.ledger-table tbody tr:hover{background:#fcf8fa}.ledger-table .date-column{color:#9aa1ad;font-variant-numeric:tabular-nums;font-size:10px}.entry-title{text-align:left;color:#484e59;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;width:100%;padding:0;font-size:12px;font-weight:550;display:block;overflow:hidden}.title-column small{color:#a2a8b2;margin-top:5px;font-size:10px;display:block}.category-label{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;max-width:100%;font-size:10px;display:inline-flex;overflow:hidden}.category-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.note-column{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden;color:#969da8!important}.amount-column{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:550;text-align:right!important}.ledger-table .amount-column.income{color:var(--income)}.ledger-table td.amount-column{white-space:normal;overflow-wrap:anywhere}.actions-column{white-space:nowrap;text-align:right!important;padding-left:0!important;padding-right:0!important}.actions-column .icon-button{opacity:0;width:26px;height:29px}tr:hover .actions-column .icon-button,.actions-column .icon-button:focus-visible{opacity:1}.pagination{color:#a0a7b2;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;padding-top:15px;font-size:10px;display:flex}.pagination>div{align-items:center;gap:9px;display:flex}.pagination .icon-button{border-color:#e8eaf0;border-radius:5px;width:28px;height:28px}.analytics-metrics{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-bottom:27px;padding:10px 0 27px;display:grid}.analytics-metrics .metric{min-width:0}.analytics-metrics .metric-value{font-size:24px}.analytics-section{border-bottom:1px solid var(--border);margin-top:27px;padding-bottom:27px}.analytics-section:last-child{border-bottom:0}.analytics-split{grid-template-columns:235px minmax(0,1fr);align-items:center;gap:40px;padding:9px 0 3px;display:grid}.category-donut{border-radius:50%;justify-content:center;align-items:center;width:215px;height:215px;margin:0 auto;display:flex}.donut-hole{background:#fdfdfe;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:155px;min-width:0;height:155px;padding:12px;display:flex}.donut-hole .muted{font-size:11px}.donut-hole strong{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:19px;font-weight:650;display:block;overflow:hidden}.category-legend{flex-direction:column;gap:5px;min-width:0;display:flex}.category-share-row{text-align:left;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:12px;width:100%;min-height:43px;padding:11px 8px 14px;display:flex;position:relative;overflow:hidden}.category-share-row:hover,.category-share-row.selected{background:#f3f5f8}.category-share-row>svg{color:#b4bac4;flex-shrink:0}.category-share-name{color:#666e7a;flex:1;align-items:center;gap:7px;min-width:0;font-size:11px;display:flex}.category-share-name>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.swatch{border-radius:2px;flex-shrink:0;width:7px;height:7px;display:inline-block}.category-share-name small{white-space:nowrap;color:#a9b0ba;font-size:9px}.category-share-percent{color:#959da8;text-align:right;font-variant-numeric:tabular-nums;min-width:38px;font-size:10px}.category-share-amount{color:#5c6470;text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:73px;max-width:40%;font-size:11px;font-weight:550}.share-bar{opacity:.4;border-radius:2px;max-width:calc(100% - 16px);height:2px;position:absolute;bottom:3px;left:8px}.daily-chart{align-items:flex-end;gap:5px;width:100%;min-width:0;padding:9px 0 0;display:flex}.daily-bar-column{flex:1;min-width:0}.daily-bar-track{border-bottom:1px solid #edf0f4;align-items:flex-end;height:130px;display:flex}.daily-bar{background:#df9aab;border-radius:3px 3px 0 0;width:100%;min-height:0;transition:height .2s}.income-chart .daily-bar{background:#81bda9}.daily-bar-column:hover .daily-bar{background:#ca607e}.income-chart .daily-bar-column:hover .daily-bar{background:#3b9b7e}.daily-tick{color:#a7aeb9;text-align:center;font-variant-numeric:tabular-nums;height:19px;padding-top:7px;font-size:9px;display:block}.detail-list{flex-direction:column;display:flex}.detail-row{text-align:left;background:0 0;border:0;border-bottom:1px solid #edf0f4;align-items:center;gap:10px;padding:12px 0;display:flex}.detail-row:last-child{border-bottom:0}.detail-row>strong{white-space:nowrap;font-size:12px;font-weight:550}.detail-row>svg{color:#b6bcc5;flex-shrink:0}.detail-entry-name{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.detail-entry-name strong{color:#626976;font-size:12px;font-weight:550}.detail-entry-name small{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.settings-page{max-width:920px;margin:0 auto}.settings-section{border-bottom:1px solid var(--border);margin-bottom:23px;padding:6px 0 28px}.settings-section:last-child{border-bottom:0;margin-bottom:0}.settings-section .section-heading{margin-bottom:19px}.settings-section h2{font-size:16px}.settings-row{color:#747c88;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;font-size:12px;display:flex}.key-status{align-items:center;gap:6px;font-size:11px;display:inline-flex}.settings-actions{align-items:flex-end;gap:9px;display:flex}.key-field{flex:1}.key-row .button{min-height:39px}.key-row .icon-button{width:36px;height:39px}.key-field>span{font-size:11px}.category-add{margin-bottom:18px}.category-add .field{flex:1;max-width:300px}.category-add .icon-button{border-radius:7px;width:38px;height:39px}.category-add .field>span.sr-only{display:none}.category-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;display:grid}.category-row{border-bottom:1px solid #edf0f4;align-items:center;gap:9px;min-width:0;min-height:57px;padding:9px 0;display:flex}.category-row .category-icon{border-radius:7px;width:29px;height:29px}.category-row .category-icon svg{width:15px;height:15px}.category-title{overflow-wrap:anywhere;color:#686f7b;flex:1;min-width:0;font-size:11px}.category-row>.muted{color:#b7bdc7;justify-content:center;width:30px;display:inline-flex}.category-row .icon-button{color:#adb4bf;width:26px;height:27px}.category-row .icon-button:hover{color:#bd566d}.archived-category{color:#8e97a4;margin-top:21px}.archived-category>summary{cursor:pointer;padding:3px 0;font-size:11px}.archived-category>summary>span{margin-left:5px}.archived-category>.category-list{margin-top:10px}.status-label{color:#32886f;padding-bottom:16px;font-size:12px}.transfer-actions{flex-wrap:wrap}.transfer-actions .button{font-size:12px}.transfer-book-name{overflow-wrap:anywhere;margin:0 0 22px;font-size:14px;font-weight:550}.import-metadata{flex-direction:column;gap:13px;margin:0 0 23px;font-size:12px;display:flex}.import-metadata>div{justify-content:space-between;gap:20px;display:flex}.import-metadata dt{color:#969daa;flex-shrink:0}.import-metadata dd{text-align:right;color:#5d6571;overflow-wrap:anywhere;min-width:0;margin:0}.import-mode{margin-bottom:20px}.dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);background:#27304438;outline:none;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:#fdfdfe;border:1px solid #ffffffad;border-radius:12px;flex-direction:column;width:440px;max-width:100%;max-height:calc(100dvh - 40px);display:flex;overflow:hidden;box-shadow:0 28px 100px #1e283b30,0 4px 18px #1e283b15}.dialog-wide{width:790px}.dialog-header{background:#f8f9fcd9;border-bottom:1px solid #e7eaf0;flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;padding:17px 20px;display:flex}.dialog-header h2{font-size:16px;font-weight:650}.dialog-header .icon-button{background:#ebedf2;border-radius:50%;width:28px;height:28px}.dialog-body{min-height:0;padding:22px;overflow:auto}.dialog-body>p{overflow-wrap:anywhere;font-size:13px;line-height:1.8}.dialog-body>p+p{margin-top:10px}.dialog-body .field{margin-top:16px}.dialog-footer{background:#f8f9fbd9;border-top:1px solid #e7eaf0;flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:9px;padding:16px 20px;display:flex}.dialog-footer .button{min-height:35px;font-size:12px}.dialog-actions{align-items:center;gap:8px;display:flex}.confirm-detail{color:#858d9a;overflow-wrap:anywhere;font-size:13px;line-height:1.8}.confirm-entry{align-items:center;gap:12px;display:flex}.confirm-entry>div{min-width:0}.confirm-entry strong{color:#4e5662;font-size:14px;font-weight:550}.confirm-entry span{color:#969daa;margin-top:4px;font-size:12px;display:block}.confirm-detail+.inline-error{margin-top:17px}.editor-toolbar{justify-content:space-between;align-items:center;min-height:30px;margin-bottom:13px;display:flex}.editor-toolbar>span{font-size:11px}.editor-toolbar .button{min-height:29px;padding:4px 7px;font-size:11px}.draft-list{flex-direction:column;gap:15px;display:flex}.draft-row{background:#fff;border:1px solid #e2e6ee;border-radius:8px;min-width:0;margin:0;padding:14px}.draft-row-top{align-items:center;gap:12px;margin-bottom:16px;display:flex}.row-number{color:#b2b9c5;font-variant-numeric:tabular-nums;font-size:10px}.draft-row-spacer{flex:1}.kind-toggle{border-radius:6px;padding:2px}.kind-toggle button{min-height:25px;padding:4px 12px;font-size:11px}.kind-toggle button:first-child.active{color:#b7506c}.kind-toggle button:last-child.active{color:#328e73}.draft-fields{grid-template-columns:minmax(0,1fr) 140px 140px 150px;gap:13px 12px;display:grid}.draft-fields .field{margin-top:0}.draft-fields .field>span{color:#9098a5;font-size:10px}.draft-fields input,.draft-fields select{min-height:36px;padding:8px 10px;font-size:12px}.draft-title,.draft-amount,.draft-category,.draft-date{grid-column:span 2}.draft-note{grid-column:1/-1}.amount-input{background:#fff;border:1px solid #dfe2e9;border-radius:7px;align-items:center;gap:3px;padding-left:10px;display:flex}.amount-input>span{color:#a5adba;font-size:13px}.amount-input input{width:100%;box-shadow:none;font-variant-numeric:tabular-nums;background:0 0;border:0;flex:1;padding-left:3px}.amount-input:focus-within{border-color:#dc7b94;box-shadow:0 0 0 3px #f8e5eb}.draft-issues{color:#b58a59;background:#fcf8ee;border-radius:5px;align-items:flex-start;gap:6px;margin-top:12px;padding:8px 10px;font-size:10px;line-height:1.7;display:flex}.draft-issues>svg{flex-shrink:0;margin-top:2px}.editor-totals{flex-wrap:wrap;flex:1;align-items:center;gap:14px;font-size:10px;display:flex}.editor-totals strong{font-variant-numeric:tabular-nums;margin-left:3px;font-size:12px;font-weight:600}.validation-note{color:#a1a8b4;margin-top:16px;font-size:10px;line-height:1.6}.editor-error{background:#fff4f6;border:1px solid #eed8df;border-radius:6px;flex-wrap:wrap;margin-bottom:15px;padding:10px;font-size:11px}.editor-error>span{flex:1;min-width:150px}.editor-error .text-button{font-size:10px}.login-shell{background:#f8f9fc;flex-direction:column;min-height:100dvh;padding:24px 36px 22px;display:flex}.login-topline,.login-footer{color:#a5aab4;justify-content:space-between;align-items:center;gap:18px;font-size:10px;display:flex}.platform-label{color:#959ca8;font-size:11px}.version-label{font-variant-numeric:tabular-nums}.login-panel{width:360px;max-width:100%;margin:auto;padding:48px 0 58px}.login-brand{align-items:center;gap:17px;margin-bottom:34px;display:flex}.login-brand img{object-fit:cover;border-radius:16px;width:65px;height:65px;box-shadow:0 3px 8px #35405a12}.login-brand h1{font-size:30px;font-weight:700;line-height:1.2}.login-brand p{color:#969daa;margin-top:6px;font-size:13px}.login-tabs{width:100%;margin-bottom:27px;padding:4px}.login-tabs button{flex:1;min-height:34px;font-size:12px}.login-panel form{flex-direction:column;gap:18px;display:flex}.login-panel .field{gap:8px}.login-panel .field>span{color:#727b88;font-size:11px;font-weight:550}.login-panel input{background:#ffffffbc;border-color:#dfe4ed;height:43px;min-height:43px;padding:11px 12px;font-size:13px}.login-panel .inline-error{padding-top:0;font-size:11px}.login-submit{width:100%;height:41px;margin-top:3px;font-size:12px}.login-submit>svg:last-child{margin-left:auto}.login-submit>svg:first-child{margin-right:auto}.login-demo{border-top:1px solid #e6eaf1;justify-content:center;margin-top:22px;padding-top:18px;display:flex}.login-demo .button{color:#9a8190;font-size:11px}.login-footer>span:first-child{align-items:center;gap:6px;display:flex}@media (min-width:1450px){.app-frame{margin-left:18px;margin-right:18px}}@media (min-width:1817px){.app-frame{margin-left:auto;margin-right:auto}}@media (max-width:1120px){.app-frame{grid-template-columns:200px minmax(0,1fr)}.sidebar{padding-left:12px;padding-right:12px}.brand{gap:10px;padding-left:9px;padding-right:9px}.brand strong{font-size:18px}.main-content,.topbar{padding-left:27px;padding-right:27px}.summary-metric{padding-left:20px;padding-right:20px}.metric-value{font-size:24px}.summary-metric.balance .metric-value{font-size:27px}.analytics-split{grid-template-columns:195px minmax(0,1fr);gap:23px}.category-donut{width:182px;height:182px}.donut-hole{width:132px;height:132px}.donut-hole strong{font-size:16px}.category-share-row{gap:7px}.category-share-name{gap:6px}.category-share-amount{min-width:61px;font-size:10px}.category-share-name small{display:none}.category-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px) and (min-width:761px){.app-frame{grid-template-columns:174px minmax(0,1fr)}.sidebar{padding-left:9px;padding-right:9px}.brand{gap:8px;padding-left:5px}.brand img{width:35px;height:35px}.brand strong{font-size:16px}.main-nav button{gap:9px;padding-left:10px;font-size:13px}.book-identity{gap:6px}.book-identity .book-symbol{display:none}.main-content,.topbar{padding-left:22px;padding-right:22px}.sync-status{display:none}.summary-metric{padding-left:15px;padding-right:15px}.metric-value{font-size:21px}.summary-metric.balance .metric-value{font-size:23px}.analytics-split{grid-template-columns:1fr;gap:22px}.category-legend{width:100%}.category-share-name small{display:inline}.key-row{flex-wrap:wrap}.key-field{flex-basis:100%}}@media (max-width:760px){:root{background:#fdfdfe}.app-frame{min-height:100dvh;box-shadow:none;border:0;border-radius:0;margin:0;display:block}.sidebar{display:none}.workspace{min-height:100dvh;padding-bottom:73px}.topbar{z-index:20;background:#fffd;border-radius:0;gap:9px;min-height:77px;padding:15px 19px;position:sticky;top:0}.page-identity{flex:1;gap:9px}.page-identity h1{font-size:17px}.page-identity p{max-width:180px;font-size:10px}.mobile-brand{display:inline-flex}.mobile-brand img{border-radius:8px;width:33px;height:33px}.toolbar{gap:5px}.sync-status{padding-right:4px;font-size:9px}.toolbar-separator{display:none}.toolbar-add{min-height:32px;padding:7px 10px;font-size:10px}.main-content{padding:24px 22px 28px}.workspace-footer{padding:0 22px 15px}.mobile-nav{min-height:65px;padding:7px 12px max(7px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(25px);z-index:30;background:#f8f9fbea;border-top:1px solid #e5e8f0;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav>button{color:#a0a6b1;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:5px;min-height:46px;padding:4px;font-size:9px;display:flex}.mobile-nav>button.active{color:var(--accent)}.mobile-nav>.icon-button{flex:0 0 38px;margin-left:2px}.summary-metric{padding:0 19px}.summary-grid{margin-bottom:28px;padding-bottom:23px}.summary-metric.balance .metric-value{font-size:27px}.metric-value{font-size:25px}.metric-label{gap:5px;font-size:10px}.quick-entry{margin-bottom:28px}.analytics-split{grid-template-columns:205px minmax(0,1fr);gap:24px}.category-donut{width:185px;height:185px}.donut-hole{width:134px;height:134px}.category-list{grid-template-columns:repeat(3,minmax(0,1fr))}.actions-column .icon-button,.record-edit{opacity:1}.dialog-backdrop{padding:12px}.dialog{max-height:calc(100dvh - 24px)}.draft-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.draft-title,.draft-amount,.draft-category,.draft-date{grid-column:span 1}}@media (max-width:560px){.topbar{padding:13px 15px}.sync-status{display:none}.page-identity p{max-width:150px}.toolbar-add>span{display:none}.toolbar-add{width:33px;height:33px;min-height:33px;padding:0}.toolbar>.icon-button{width:30px;height:32px}.main-content{padding:22px 16px 25px}.workspace-footer{padding-left:17px;padding-right:17px}.overview-month{margin-bottom:23px}.overview-month h2,.ledger-page>.section-heading h2{font-size:19px}.eyebrow{font-size:9px}.month-switcher>span{min-width:88px;font-size:10px}.month-switcher{gap:0}.month-switcher .icon-button{width:25px;height:26px}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:27px}.summary-metric{padding:0 12px}.summary-metric.balance .metric-value{font-size:21px}.metric-value{margin-top:10px;font-size:19px}.metric-label{white-space:nowrap;gap:4px;font-size:9px}.metric-label>svg{width:12px;height:12px}.metric-arrow{width:16px;height:16px}.metric-arrow>svg{width:12px;height:12px}.summary-metric>small{font-size:9px}.composer textarea{height:110px;min-height:110px;padding:13px 14px 7px;font-size:13px}.composer-footer{align-items:flex-end;gap:8px;padding-left:13px}.composer-meta{gap:5px 8px}.model-label{font-size:9px}.model-label>svg{width:12px}.character-count{font-size:8px}.composer-footer .button{gap:4px;min-height:32px;padding:7px 9px;font-size:10px}.composer-footer .button>svg:last-child{display:none}.record-row{gap:9px;min-height:65px}.category-icon{border-radius:8px;width:31px;height:31px}.record-main strong{font-size:12px}.record-main small{gap:5px;font-size:9px}.record-note{display:none}.record-amount{white-space:normal;text-align:right;max-width:36%;font-size:11px}.record-edit{width:22px}.section-heading h2{font-size:16px}.section-heading h3{font-size:14px}.section-heading .text-button{font-size:11px}.ledger-filters{gap:8px;margin-top:20px}.search-field{flex-basis:100%}.filter-select,.filter-select select{flex:1}.category-filter{flex:1;min-width:90px}.checkbox-label{font-size:10px}.ledger-results>div{gap:8px}.ledger-results{font-size:9px}.ledger-results strong{margin-left:3px}.analytics-metrics{gap:12px}.analytics-metrics .metric-value{font-size:19px}.analytics-split{grid-template-columns:1fr;gap:24px}.category-donut{width:205px;height:205px}.donut-hole{width:149px;height:149px}.donut-hole strong{font-size:18px}.category-share-name small{display:inline}.category-share-name{font-size:11px}.category-share-amount{min-width:76px;font-size:11px}.category-share-row{min-height:44px}.daily-chart{gap:3px}.daily-bar-track{height:120px}.segmented button{padding-left:13px;padding-right:13px;font-size:11px}.category-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px}.category-title{font-size:11px}.category-row .category-icon{width:26px;height:26px}.settings-section{padding-bottom:23px}.settings-section .badge{padding:4px 6px;font-size:9px}.key-row{flex-wrap:wrap;gap:8px}.key-row .key-field{flex-basis:100%}.key-row .button{min-height:35px;font-size:11px}.key-row .icon-button{height:35px;min-height:35px}.key-status{font-size:10px}.settings-row{font-size:11px}.transfer-actions{align-items:stretch}.transfer-actions .button{white-space:normal;gap:5px;min-width:0;padding-left:10px;padding-right:10px;font-size:11px}.dialog-backdrop{padding:8px}.dialog{border-radius:10px;max-height:calc(100dvh - 16px)}.dialog-header{padding:13px 15px}.dialog-header h2{font-size:15px}.dialog-body{padding:16px}.dialog-footer{padding:12px 15px}.dialog-footer .button{min-height:34px;font-size:11px}.editor-totals{flex-basis:100%;justify-content:space-between;padding-bottom:3px;font-size:10px}.dialog-actions{justify-content:flex-end;width:100%}.editor-totals strong{font-size:12px}.draft-row{padding:12px}.draft-row-top{gap:9px;margin-bottom:13px}.draft-fields{grid-template-columns:minmax(0,1fr);gap:12px}.draft-title,.draft-amount,.draft-category,.draft-date,.draft-note{grid-column:1}.draft-fields input,.draft-fields select{min-height:38px}.draft-row-top .icon-button{width:27px;height:27px}.editor-error>span{min-width:190px}.login-shell{padding:20px 24px}.login-panel{width:350px;padding:40px 0 46px}.login-brand{gap:14px;margin-bottom:30px}.login-brand img{border-radius:14px;width:59px;height:59px}.login-brand h1{font-size:28px}.login-brand p{font-size:12px}}@media (hover:none){.record-edit,.actions-column .icon-button{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
