:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#4d4d4d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--color-page:#f7f7f7;--color-canvas:#f5f5f5;--color-surface:#fff;--color-heading:#1a1a1a;--color-body:#4d4d4d;--color-muted:#686868;--color-border:#e0e0e0;--color-hairline:#e9e9e9;--color-brand:#1a5ce6;--color-brand-strong:#124fc7;--color-brand-soft:#eef4ff;--color-success:#137b4d;--color-success-soft:#eaf7f0;--color-warning:#945700;--color-warning-soft:#fff4db;--color-danger:#b42318;--color-danger-soft:#fff1ef;--color-info:#2459a6;--color-info-soft:#edf4ff;--radius-panel:20px;--radius-control:999px;--radius-textarea:18px;--shadow-emboss:inset 0 1px 0 #ffffffe6;--shadow-button:0 1px 2px #0a183314, inset 0 1px 0 #ffffff47;--shadow-focus:0 0 0 4px #256eff24;background:#f7f7f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:linear-gradient(180deg, var(--color-surface) 0, var(--color-page) 280px), var(--color-page);min-width:320px}button,input,select,textarea{font:inherit}button{border-radius:var(--radius-control);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:34px;transition:background-color .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex}button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.55}button svg{flex:none;width:16px;height:16px}a{color:inherit}input,select,textarea{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:38px;color:var(--color-heading);outline:none;padding:8px 13px;transition:border-color .16s,box-shadow .16s,background-color .16s}textarea{border-radius:var(--radius-textarea);resize:vertical;min-height:88px}input:hover,select:hover,textarea:hover{border-color:#c8c8c8}input:focus,select:focus,textarea:focus{border-color:var(--color-brand);box-shadow:var(--shadow-focus)}input[readonly]{color:var(--color-muted);background:var(--color-page)}input[type=file]{padding:5px 10px}input[type=file]::file-selector-button{border-radius:var(--radius-control);background:var(--color-brand-soft);min-height:28px;color:var(--color-brand-strong);border:0;margin-right:10px;padding:0 12px;font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--shadow-focus);outline:none}label span,legend{color:var(--color-muted);font-size:12px;font-weight:700}fieldset{border:1px solid var(--color-hairline);background:var(--color-surface);border-radius:18px;min-width:0;margin:0;padding:11px 12px}legend{padding:0 6px}table{border-collapse:separate;border-spacing:0;width:100%}th,td{border-bottom:1px solid var(--color-hairline);text-align:left;vertical-align:middle;white-space:nowrap;height:48px;padding:10px 13px;font-size:14px}th{color:var(--color-muted);letter-spacing:0;text-transform:uppercase;background:#fbfbfb;font-size:11px;font-weight:800}tbody tr{transition:background-color .14s}tbody tr:hover{background:#fafafa}tbody tr:last-child td{border-bottom:0}.app-shell{background:var(--color-page);grid-template-columns:276px minmax(0,1fr);min-height:100vh;display:grid}.app-shell>*{min-width:0}.sidebar{border-right:1px solid var(--color-hairline);background:var(--color-surface);z-index:20;min-width:0;height:100vh;padding:18px 14px;position:sticky;top:0}.brand{border-bottom:1px solid var(--color-hairline);align-items:center;gap:12px;min-height:56px;padding:0 8px 16px;display:flex}.brand svg,.login-brand svg{width:38px;height:38px;color:var(--color-brand);background:var(--color-brand-soft);border-radius:14px;padding:8px}.brand strong,.brand span{display:block}.brand strong,.login-brand h1{color:var(--color-heading);font-weight:800}.brand span{color:var(--color-muted);font-size:12px}nav{gap:4px;padding-top:16px;display:grid}nav button{width:100%;min-height:40px;color:var(--color-body);box-shadow:none;background:0 0;border-color:#0000;justify-content:flex-start;padding:0 12px}nav button:hover:not(:disabled){background:var(--color-page);color:var(--color-heading)}nav button.active{background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:800}main{min-width:0}.topbar{border-bottom:1px solid var(--color-hairline);z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:18px;min-height:84px;padding:18px 28px;display:flex;position:sticky;top:0}.topbar h1{color:var(--color-heading);margin:3px 0 0;font-size:26px;line-height:1.18}.topbar-actions,.panel-actions,.table-actions{align-items:center;gap:8px;display:flex}.panel-actions{flex-wrap:wrap;justify-content:flex-end}.table-actions{white-space:nowrap}.user-chip{justify-items:end;min-width:154px;line-height:1.2;display:grid}.user-chip strong{color:var(--color-heading);font-size:14px}.user-chip span{color:var(--color-muted);font-size:12px}.icon-button{width:38px;min-width:38px;padding:0}.eyebrow{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:800}.workspace{gap:18px;padding:22px 28px 36px;display:grid}.workspace>*,.metric-grid>*,.two-column>*,.panel,.table-scroll{min-width:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card,.panel{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-emboss)}.metric-card{grid-template-rows:auto 1fr auto;gap:10px;min-height:132px;padding:18px;display:grid}.metric-card svg{border-radius:15px;width:42px;height:42px;padding:10px}.metric-card span{color:var(--color-muted);text-transform:uppercase;align-self:end;font-size:12px;font-weight:800}.metric-card strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:25px;line-height:1.1}.currency-total-list{gap:4px;display:grid}.currency-total-list strong{font-size:clamp(17px,1.8vw,25px)}.currency-total-list small{color:var(--color-muted);text-transform:none;font-size:11px;font-weight:600;line-height:1.35}.currency-total-list.incomplete strong,.bar-row.incomplete strong{color:var(--color-warning)}.conversion-audit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px;display:grid}.conversion-audit details{border:1px solid var(--color-hairline);background:#fbfbfb;border-radius:14px;padding:12px}.conversion-audit summary{cursor:pointer;gap:4px;display:grid}.conversion-audit summary span,.conversion-audit li{color:var(--color-muted);font-size:12px;line-height:1.45}.conversion-audit ul{gap:6px;margin:10px 0 0;padding-left:18px;display:grid}.conversion-warning{background:var(--color-warning-soft);color:var(--color-warning);border-radius:12px;align-items:flex-start;gap:8px;padding:10px;font-size:13px;line-height:1.4;display:flex}.conversion-warning svg{flex:0 0 18px;width:18px}.metric-card.expense svg{color:var(--color-danger);background:var(--color-danger-soft)}.metric-card.income svg{color:var(--color-success);background:var(--color-success-soft)}.metric-card.debt svg{color:var(--color-warning);background:var(--color-warning-soft)}.metric-card.events svg{color:var(--color-info);background:var(--color-info-soft)}.two-column{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:18px;display:grid}.filter-panel{justify-content:space-between;align-items:center;gap:18px;min-height:76px;padding:16px 18px;display:flex}.filter-panel label{flex:260px;gap:7px;max-width:340px;display:grid}.filter-panel strong{color:var(--color-heading);font-size:18px;display:block}.panel{overflow:hidden}.panel-head{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:14px;min-height:58px;padding:14px 18px;display:flex}.panel-head h2{color:var(--color-heading);margin:0;font-size:16px;line-height:1.25}.panel-head span{color:var(--color-muted);font-size:13px}.panel-subhead{border-top:1px solid var(--color-hairline);border-bottom:1px solid var(--color-hairline);background:#fbfbfb;gap:4px;padding:13px 18px;display:grid}.panel-subhead h3,.panel-subhead p{margin:0}.panel-subhead h3{color:var(--color-heading);font-size:14px}.panel-subhead p{color:var(--color-muted);font-size:12px;line-height:1.45}.exchange-rate-provider{gap:14px;padding:18px;display:grid}.exchange-rate-provider-summary{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.exchange-rate-provider-summary>div{gap:8px;display:grid}.exchange-rate-provider-summary p,.exchange-rate-provider-note{color:var(--color-muted);margin:0;font-size:13px;line-height:1.5}.exchange-rate-provider-summary a{color:var(--color-brand-strong);font-size:13px;font-weight:800}.exchange-rate-provider-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;display:grid}.exchange-rate-provider-details>div{border:1px solid var(--color-hairline);background:#fbfbfb;border-radius:14px;gap:5px;padding:11px 12px;display:grid}.exchange-rate-provider-details dt{color:var(--color-muted);font-size:11px;font-weight:800}.exchange-rate-provider-details dd{color:var(--color-heading);overflow-wrap:anywhere;margin:0;font-size:13px;font-weight:800}.exchange-rate-provider-note{background:var(--color-info-soft);color:var(--color-info);border-radius:12px;padding:10px 12px}.form-grid,.inline-form{padding:18px}.form-grid{grid-template-columns:repeat(4,minmax(168px,1fr));align-items:end;gap:14px;display:grid}.form-grid.wide{grid-template-columns:repeat(6,minmax(148px,1fr))}.form-grid.triage-grid{grid-template-columns:minmax(240px,1.1fr) minmax(210px,.9fr) minmax(190px,.7fr)}.triage-grid .button-row{grid-column:1/-1;justify-content:flex-end}.form-grid label,.inline-form label{gap:7px;min-width:0;display:grid}.inline-form{align-items:end;gap:12px;display:flex}.inline-form label{flex:280px;max-width:380px}.file-control{cursor:pointer}.file-picker{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-items:center;gap:10px;min-height:38px;padding:4px 12px 4px 5px;display:flex}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-picker span{border-radius:var(--radius-control);background:var(--color-brand-soft);min-height:28px;color:var(--color-brand-strong);align-items:center;padding:0 12px;font-size:14px;font-weight:800;display:inline-flex}.file-picker strong{min-width:0;color:var(--color-heading);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.csv-import-flow{gap:0;display:grid}.csv-file-row{border-bottom:1px solid var(--color-hairline)}.csv-section{border-bottom:1px solid var(--color-hairline);gap:14px;padding:18px;display:grid}.csv-section:last-child{border-bottom:0}.csv-section-head,.csv-confirm-row,.csv-batch-list article,.csv-result{justify-content:space-between;align-items:center;gap:14px;display:flex}.csv-section-head>div,.csv-batch-list article>div,.csv-result>div{gap:4px;display:grid}.csv-section h3,.csv-result strong{color:var(--color-heading);margin:0;font-size:15px}.csv-section-head span,.csv-confirm-row>span,.csv-batch-list article span,.csv-result span,.csv-note{color:var(--color-muted);font-size:12px}.csv-mapping-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.csv-mapping-grid label,.csv-reason{gap:7px;display:grid}.csv-mapping-grid label>span,.csv-reason>span{color:var(--color-muted);font-size:12px;font-weight:800}.csv-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.csv-summary-grid>div{border:1px solid var(--color-hairline);border-radius:14px;gap:4px;padding:12px;display:grid}.csv-summary-grid span{color:var(--color-muted);font-size:12px}.csv-summary-grid strong{color:var(--color-heading);font-size:20px}.csv-summary-grid .csv-ready{background:var(--color-success-soft)}.csv-summary-grid .csv-duplicate{background:var(--color-warning-soft)}.csv-summary-grid .csv-invalid{background:var(--color-danger-soft)}.csv-totals{flex-wrap:wrap;gap:8px;display:flex}.csv-totals span{border-radius:var(--radius-control);background:var(--color-brand-soft);color:var(--color-brand-strong);padding:7px 11px;font-size:12px;font-weight:700}.csv-preview-table{border:1px solid var(--color-hairline);border-radius:14px;max-height:320px;overflow:auto}.csv-row-status{border-radius:var(--radius-control);align-items:center;min-height:24px;padding:0 9px;font-weight:800;display:inline-flex;font-size:11px!important}.csv-row-status.ready{background:var(--color-success-soft);color:var(--color-success)}.csv-row-status.duplicate{background:var(--color-warning-soft);color:var(--color-warning)}.csv-row-status.invalid{background:var(--color-danger-soft);color:var(--color-danger)}.csv-note{margin:0}.csv-confirm-row{align-items:flex-start}.csv-result{background:var(--color-success-soft);color:var(--color-success);border:1px solid #c8ead8;border-radius:16px;justify-content:flex-start;margin:18px 18px 0;padding:14px}.csv-result svg{flex:none;width:22px;height:22px}.csv-batch-list{gap:8px;display:grid}.csv-batch-list article{border:1px solid var(--color-hairline);border-radius:14px;padding:11px 12px}.csv-batch-list article>div{flex:1;min-width:0}.csv-batch-list article>div strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.button-row{align-items:center;gap:8px;display:flex}.primary{background:var(--color-brand);color:#fff;box-shadow:var(--shadow-button);padding:0 15px}.primary:hover:not(:disabled){background:var(--color-brand-strong)}.ghost{border-color:var(--color-hairline);color:var(--color-heading);box-shadow:var(--shadow-button);background:#fbfbfb;padding:0 13px}.ghost:hover:not(:disabled){background:var(--color-surface);border-color:#d4d4d4}.ghost.danger{background:var(--color-danger-soft);color:var(--color-danger);border-color:#ffd7d2}.login-shell{background:radial-gradient(circle at 50% 0, #256eff14, transparent 340px), var(--color-page);place-items:center;min-height:100vh;padding:20px;display:grid}.login-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background:var(--color-surface);width:min(100%,420px);box-shadow:var(--shadow-emboss);overflow:hidden}.login-brand{border-bottom:1px solid var(--color-hairline);align-items:center;gap:12px;min-height:86px;padding:18px 20px;display:flex}.login-brand h1,.login-content h2,.login-content p{margin:0}.login-brand h1{font-size:20px}.login-brand span,.login-content p{color:var(--color-muted);font-size:13px}.login-content{gap:16px;padding:22px 20px;display:grid}.login-content>div:first-child{gap:6px;display:grid}.login-content h2{color:var(--color-heading);font-size:18px}.telegram-widget{align-items:center;min-height:42px;display:flex}.telegram-widget iframe{max-width:100%}.setup-notice{background:var(--color-warning-soft);color:#6c4b00;border:1px solid #efd59a;border-radius:18px;padding:12px 14px;font-size:14px}.login-error{margin:0}.invite-link input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.recovery-panel{gap:18px;padding-bottom:18px;display:grid}.recovery-code-secret{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;padding:0 18px;display:grid}.recovery-code-secret input{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.recovery-panel>.setup-notice{align-items:flex-start;gap:10px;margin:0 18px;display:flex}.recovery-panel>.setup-notice svg{width:20px;min-width:20px}.recovery-panel>.setup-notice p{margin:5px 0 0}.notification-panel{gap:0;padding-bottom:18px;display:grid}.notification-panel>.setup-notice{align-items:flex-start;gap:10px;margin:0 18px;display:flex}.notification-panel>.setup-notice svg{width:20px;min-width:20px}.notification-panel>.setup-notice p{margin:5px 0 0}.notification-dead-letters{border-top:1px solid var(--color-hairline);gap:12px;margin:18px;padding-top:18px;display:grid}.notification-dead-letters .panel-head{padding:0}.notification-dead-letters h3{color:var(--color-heading);margin:0}.notification-dead-letters td{vertical-align:middle}.audit-panel{padding-bottom:18px}.audit-panel td{vertical-align:top}.audit-details{min-width:130px}.audit-details summary{color:var(--color-brand);cursor:pointer;font-weight:700}.audit-details>div{gap:6px;min-width:min(420px,70vw);margin-top:10px;display:grid}.audit-details pre{border:1px solid var(--color-hairline);background:var(--color-canvas);max-height:220px;color:var(--color-body);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;margin:0;padding:10px;font:12px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.audit-load-more{justify-content:center;padding:18px 18px 0}.error-banner{background:var(--color-danger-soft);color:#8c1d18;overflow-wrap:anywhere;border:1px solid #f2b8b0;border-radius:18px;margin:18px 28px 0;padding:12px 14px;font-size:14px}.trend-panel{display:grid}.trend-window{gap:5px;min-width:150px;display:grid}.trend-window>span{color:var(--color-muted);font-size:12px;font-weight:800}.trend-legend{color:var(--color-muted);gap:18px;padding:14px 18px 0;font-size:12px;font-weight:800;display:flex}.trend-legend span{align-items:center;gap:7px;display:inline-flex}.trend-legend span:before{content:"";border-radius:3px;width:10px;height:10px}.trend-legend .expense:before{background:var(--color-danger)}.trend-legend .income:before{background:var(--color-success)}.trend-scroll{width:100%;padding:10px 18px 18px;overflow-x:auto}.trend-scroll:focus-visible{outline:2px solid var(--color-brand);outline-offset:-4px;border-radius:12px}.trend-chart{grid-template-columns:repeat(auto-fit,minmax(82px,1fr));gap:10px;display:grid}.trend-point{justify-items:center;gap:5px;min-width:0;display:grid}.trend-point>strong,.trend-point>small{text-align:center;max-width:100%;font-size:11px}.trend-point>strong{color:var(--color-heading)}.trend-point>small{color:var(--color-muted);font-variant-numeric:tabular-nums}.trend-bars{border-bottom:1px solid var(--color-border);justify-content:center;align-items:stretch;gap:4px;width:100%;height:184px;display:flex}.trend-bar-button{cursor:pointer;background:0 0;border:0;border-radius:8px 8px 0 0;align-items:end;width:36px;height:184px;min-height:44px;padding:0 3px;display:flex}.trend-bar-button:hover:not(:disabled){background:var(--color-page)}.trend-bar-button:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.trend-bar-fill{border-radius:6px 6px 1px 1px;width:100%;min-height:4px;display:block}.trend-bar-button.expense .trend-bar-fill{background:linear-gradient(180deg, #ed6a5a, var(--color-danger))}.trend-bar-button.income .trend-bar-fill{background:linear-gradient(180deg, #3bbf82, var(--color-success))}.trend-point.incomplete .trend-bars{background:repeating-linear-gradient(135deg, transparent, transparent 8px, var(--color-warning-soft) 8px, var(--color-warning-soft) 16px)}.trend-point .trend-missing{color:var(--color-warning);font-weight:800}.bar-list{gap:14px;padding:18px;display:grid}.summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px;display:grid}.summary-list div{border:1px solid var(--color-hairline);background:#fbfbfb;border-radius:18px;padding:14px}.summary-list span,.summary-list strong{display:block}.summary-list span{color:var(--color-muted);font-size:12px;font-weight:800}.summary-list strong{color:var(--color-heading);overflow-wrap:anywhere;margin-top:5px}.bar-row{gap:8px;display:grid}.bar-meta{color:var(--color-body);justify-content:space-between;gap:12px;font-size:14px;display:flex}.bar-meta strong{color:var(--color-heading);font-variant-numeric:tabular-nums}.bar-track{border-radius:var(--radius-control);background:var(--color-brand-soft);height:10px;overflow:hidden}.bar-fill{border-radius:var(--radius-control);background:linear-gradient(90deg, var(--color-brand), #7aa2ff);height:100%}.table-scroll{width:100%;overflow-x:auto}.table-scroll:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px;border-radius:8px}.status{border-radius:var(--radius-control);text-transform:none;justify-content:center;align-items:center;min-width:98px;min-height:26px;padding:3px 10px;font-size:12px;font-weight:800;display:inline-flex}.status-categorized,.status-paid{background:var(--color-success-soft);color:var(--color-success)}.status-uncategorized,.status-expected{background:var(--color-warning-soft);color:var(--color-warning)}.status-ignored,.status-cancelled{color:var(--color-muted);background:#f1f1f1}.status-split,.status-partially_paid{background:var(--color-info-soft);color:var(--color-info)}.status-overdue,.status-failed,.status-uncertain{background:var(--color-danger-soft);color:var(--color-danger)}.amount{font-variant-numeric:tabular-nums}.income-text{color:var(--color-success);font-weight:800}.empty-state{min-height:96px;color:var(--color-muted);text-align:center;place-items:center;padding:24px;font-size:14px;display:grid}.secondary-tabs{align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.secondary-tabs button{border-color:var(--color-hairline);background:var(--color-surface);min-height:38px;color:var(--color-body);box-shadow:var(--shadow-button);padding:0 14px}.secondary-tabs button.active{background:var(--color-brand-soft);color:var(--color-brand-strong);border-color:#0000;font-weight:800}.secondary-tabs em{border-radius:var(--radius-control);background:#256eff1a;justify-content:center;align-items:center;min-width:22px;min-height:22px;font-size:12px;font-style:normal;display:inline-flex}.attention-list,.transaction-list,.debt-list{gap:10px;padding:14px;display:grid}.attention-item,.transaction-card,.debt-card{border:1px solid var(--color-hairline);width:100%;min-width:0;color:var(--color-body);text-align:left;white-space:normal;background:#fbfbfb;border-radius:18px;padding:12px}.attention-item{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:12px;display:grid}.attention-item.warning svg:first-child{color:var(--color-warning)}.attention-item.danger svg:first-child{color:var(--color-danger)}.attention-item.info svg:first-child{color:var(--color-info)}.attention-item span,.transaction-card span{gap:3px;min-width:0;display:grid}.attention-item strong,.transaction-card strong,.debt-card strong{color:var(--color-heading)}.attention-item small,.transaction-card small,.debt-card span,.connection-card p,.event-card p{color:var(--color-muted);font-size:13px}.attention-item em{color:var(--color-brand-strong);font-style:normal;font-weight:800}.split-workspace{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start;gap:18px;display:grid}.detail-panel{position:sticky;top:104px}.detail-panel-body{gap:16px;padding:16px;display:grid}.transaction-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.transaction-card.without-selection{grid-template-columns:minmax(0,1fr)}.transaction-card.active,.selected-row{background:var(--color-brand-soft)}.transaction-card input{width:24px;height:24px;min-height:24px;accent-color:var(--color-brand)}.transaction-card-main{width:100%;min-width:0;color:var(--color-body);text-align:left;white-space:normal;background:0 0;border:0;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:2px;display:grid}.transaction-card-main:hover:not(:disabled){transform:none}.transaction-card-main em{color:var(--color-heading);font-variant-numeric:tabular-nums;font-style:normal;font-weight:800}.filter-grid{grid-template-columns:repeat(5,minmax(130px,1fr)) minmax(220px,1.4fr);gap:12px;padding:16px;display:grid}.filter-grid label{gap:7px;min-width:0;display:grid}.filter-search{min-width:0}.transaction-summary{gap:16px;display:grid}.transaction-summary h3{color:var(--color-heading);margin:4px 0 6px;font-size:20px}.transaction-summary>div>strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:24px}.transaction-summary dl{gap:10px;margin:0;display:grid}.transaction-summary dl div{grid-template-columns:110px minmax(0,1fr);gap:10px;display:grid}.transaction-summary dt{color:var(--color-muted);font-size:12px;font-weight:800}.transaction-summary dd{min-width:0;color:var(--color-heading);overflow-wrap:anywhere;margin:0}.detail-block{gap:10px;display:grid}.detail-block h3,.event-card h3,.budget-card h3,.connection-card h3{color:var(--color-heading);margin:0}.selection-path{background:var(--color-brand-soft);color:var(--color-brand-strong);border-radius:14px;margin:0;padding:10px 12px;font-weight:800}.category-tree-picker,.category-tree-node{gap:6px;display:grid}.category-tree-node button{border-color:var(--color-hairline);background:var(--color-surface);width:100%;color:var(--color-heading);justify-content:flex-start;padding:0 12px}.category-tree-node button.active{background:var(--color-brand-soft);color:var(--color-brand-strong);border-color:#0000;font-weight:800}.category-tree-node button small{color:var(--color-muted);margin-left:auto;font-size:12px}.category-tree-children{border-left:1px solid var(--color-hairline);gap:6px;margin-left:18px;padding-left:12px;display:grid}.category-tree-surface{border-bottom:1px solid var(--color-hairline);padding:14px}.progress-track{border-radius:var(--radius-control);background:var(--color-brand-soft);height:10px;overflow:hidden}.progress-track div{border-radius:var(--radius-control);background:var(--color-success);height:100%}.progress-track div.warning{background:var(--color-warning)}.progress-track div.danger{background:var(--color-danger)}.budget-health-list,.budget-card-grid,.connection-card-grid,.event-card-grid{gap:12px;padding:14px;display:grid}.budget-card-grid,.connection-card-grid,.event-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-health-row,.budget-card,.connection-card,.event-card,.debt-card{border:1px solid var(--color-hairline);background:#fbfbfb;border-radius:18px;padding:14px}.budget-health-row{grid-template-columns:minmax(0,1.1fr) minmax(140px,.9fr) auto;align-items:center;gap:12px;display:grid}.budget-health-row strong,.budget-card strong{color:var(--color-heading)}.budget-health-row span,.budget-card-meta span{color:var(--color-muted);font-size:13px}.budget-health-row em{color:var(--color-heading);font-style:normal;font-weight:800}.budget-card{gap:13px;display:grid}.budget-card.warning{border-color:#f1d18b}.budget-card.danger{border-color:#f2b8b0}.budget-card-meta{gap:5px;display:grid}.connection-card{gap:12px;display:grid}.subsection-head{border-top:1px solid var(--color-hairline);justify-content:space-between;align-items:end;gap:12px;padding:18px 18px 0;display:flex}.subsection-head h3{color:var(--color-heading);margin:0;font-size:15px}.subsection-head span,.account-balance-stack span,.credit-statement-amounts span,.muted-copy{color:var(--color-muted);font-size:12px}.account-balance-stack{gap:4px;display:grid}.account-balance-stack strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:20px}.credit-statement-card{align-content:start}.credit-statement-card.overdue{background:snow;border-color:#f2b8b0}.credit-statement-card.paid{border-color:#b8dfc8}.credit-statement-title{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.credit-statement-title h3,.credit-statement-title p{margin:4px 0 0}.credit-statement-amounts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.credit-statement-amounts>div{border:1px solid var(--color-hairline);border-radius:12px;gap:3px;padding:9px;display:grid}.credit-statement-amounts strong{color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:14px}.credit-payment-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.credit-payment-list li{border-top:1px solid var(--color-hairline);align-items:center;gap:8px;padding-top:8px;display:flex}.credit-payment-list li>span:first-child{color:var(--color-muted);flex:auto;font-size:12px}button.compact{min-height:30px;padding:4px 8px;font-size:11px}.connection-status-grid{flex-wrap:wrap;gap:6px;display:flex}.status-pill{border-radius:var(--radius-control);align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.status-pill.ok{background:var(--color-success-soft);color:var(--color-success)}.status-pill.muted{color:var(--color-muted);background:#f1f1f1}.status-pill.warning{background:var(--color-warning-soft);color:var(--color-warning)}.status-pill.danger{background:var(--color-danger-soft);color:var(--color-danger)}.event-card{gap:10px;display:grid}.event-card>div,.debt-card{justify-content:space-between;align-items:center;gap:12px;display:flex}.debt-card>div{gap:4px;min-width:0;display:grid}.debt-card .debt-actions{grid-auto-flow:column;gap:8px;display:flex}.payment-history-summary{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.payment-history-list{gap:10px;padding:14px;display:grid}.payment-history-item{border:1px solid var(--color-hairline);background:#fbfbfb;border-radius:18px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex}.payment-history-item>div:first-child{gap:4px;display:grid}.payment-history-item span{color:var(--color-muted);font-size:13px}.payment-history-item .danger-text{color:var(--color-danger)}.reversal-form{gap:10px;min-width:min(320px,100%);display:grid}.reversal-form label{gap:6px;display:grid}.wizard-steps,.wizard-actions{border-bottom:1px solid var(--color-hairline);align-items:center;gap:8px;padding:14px;display:flex;overflow-x:auto}.wizard-steps button{border-color:var(--color-hairline);background:var(--color-surface);color:var(--color-body);padding:0 12px}.wizard-steps button span{border-radius:var(--radius-control);background:#f1f1f1;justify-content:center;align-items:center;min-width:22px;min-height:22px;display:inline-flex}.wizard-steps button.active,.wizard-steps button.done{background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:800}.wizard-actions{border-top:1px solid var(--color-hairline);border-bottom:0;justify-content:flex-end}.modal-backdrop{z-index:50;background:#1218263d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{border:1px solid var(--color-hairline);border-radius:var(--radius-panel);background:var(--color-surface);width:min(860px,100%);max-height:min(720px,100vh - 40px);overflow:auto;box-shadow:0 18px 54px #0a18332e}.wide-field{grid-column:1/-1}.field-label{color:var(--color-muted);margin-bottom:8px;font-size:12px;font-weight:800;display:block}.checkbox-row{align-items:center;gap:9px;min-height:38px;grid-template-columns:none!important;display:flex!important}.checkbox-row input{width:17px;height:17px;min-height:17px;accent-color:var(--color-brand);box-shadow:none;border-radius:6px;flex:none}.check-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;display:grid}@media (width<=1180px){.metric-grid,.two-column,.budget-card-grid,.connection-card-grid,.event-card-grid,.form-grid,.form-grid.wide,.form-grid.triage-grid,.filter-grid,.split-workspace{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-panel{position:static}.exchange-rate-provider-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.app-shell{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--color-hairline);height:auto;padding:12px;position:static}.brand{min-height:50px;padding:0 4px 10px}nav{gap:6px;min-width:0;max-width:100%;padding:10px 0 2px;display:flex;overflow-x:auto}nav button{flex:none;width:auto;min-height:38px}.topbar{min-height:72px;padding:14px 16px;top:0}.topbar h1{font-size:22px}.topbar-actions{gap:6px}.user-chip{display:none}.workspace{gap:14px;padding:14px}.metric-grid,.two-column,.split-workspace,.budget-card-grid,.connection-card-grid,.event-card-grid,.filter-grid,.form-grid,.form-grid.wide,.form-grid.triage-grid,.csv-mapping-grid,.csv-summary-grid,.summary-list,.credit-statement-amounts{grid-template-columns:1fr}.exchange-rate-provider-summary{flex-direction:column;align-items:stretch}.exchange-rate-provider-details{grid-template-columns:1fr}.credit-payment-list li,.credit-statement-title{flex-direction:column;align-items:stretch}.metric-card{min-height:118px}.trend-window{width:100%}.trend-scroll{padding:10px 14px 14px}.conversion-audit-grid{grid-template-columns:1fr}.filter-panel,.inline-form,.csv-section-head,.csv-confirm-row,.csv-batch-list article,.button-row{flex-direction:column;align-items:stretch}.filter-panel{justify-content:flex-start}.filter-panel label,.inline-form label{flex:none;width:100%;max-width:none}.panel-head{flex-wrap:wrap;align-items:flex-start;padding:14px}.panel-actions{flex-direction:column;align-items:stretch;width:100%}.panel-actions button{width:100%}.recovery-code-secret{grid-template-columns:1fr;padding:0 14px}.recovery-code-secret button{width:100%}.table-actions{white-space:normal;flex-direction:column;align-items:stretch}.table-actions button{width:100%}.form-grid,.inline-form,.bar-list,.summary-list,.budget-health-list,.budget-card-grid,.connection-card-grid,.event-card-grid,.attention-list,.transaction-list,.debt-list{padding:14px}.attention-item,.transaction-card,.budget-health-row,.debt-card,.event-card>div{grid-template-columns:1fr;align-items:stretch}.attention-item,.debt-card,.event-card>div{display:grid}.debt-card .debt-actions,.payment-history-item{flex-direction:column;align-items:stretch;width:100%}.transaction-summary dl div{grid-template-columns:1fr;gap:3px}.category-tree-children{margin-left:8px;padding-left:8px}.modal-backdrop{align-items:end;padding:10px}.modal-panel{max-height:calc(100vh - 20px)}.form-grid button,.inline-form button,.button-row button{width:100%}table{min-width:680px}th,td{padding:10px 12px}.login-shell{padding:14px}}
