:root{--bg:#0b0d0c;--bg-strong:#101312;--surface:#151918;--surface-soft:#1e2422;--surface-green:#1f3a21;--text:#f4f7f1;--muted:#a2aa9e;--faint:#6f796d;--border:#2b332f;--border-strong:#3b483f;--accent:#9fe870;--accent-dark:#c9ff9e;--income:#71d68a;--amber:#f0b64a;--red:#ff6b61;--blue:#7ba7ff;--shadow:0 1px 0 #ffffff0a, 0 18px 50px #00000047;color:var(--text);font-feature-settings:"cv01", "ss03";letter-spacing:0;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%}body{background:var(--bg);min-width:320px;margin:0;overflow:hidden}button,input,select{font:inherit}button,label.upload-button,label.drop-zone,.transaction-table tr{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.62}.loading-screen,.login-screen{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.loading-screen{color:var(--muted)}.login-panel{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;width:100%;max-width:420px;padding:30px}.login-panel h1{margin:20px 0 10px;font-size:34px;font-weight:760;line-height:1}.login-panel p{color:var(--muted);margin:0 0 24px;line-height:1.5}.login-panel label,.field,.control-field{color:var(--muted);gap:7px;font-size:12px;font-weight:680;display:grid}.login-panel input,.field select,.control-field input,.control-field select,.month-picker,.search-box{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;min-height:40px}.login-panel input,.field select,.control-field input,.control-field select{outline:0;padding:0 11px}.error-text{color:var(--red);margin-top:12px;font-size:13px}.app-shell{grid-template-columns:240px minmax(0,1fr);align-items:start;height:100vh;display:grid;overflow:hidden}.sidebar{color:#f7f8f7;background:#050706;flex-direction:column;gap:20px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:2px 7px 12px;display:flex}.brand strong{font-size:15px;font-weight:760;display:block}.brand span{color:#f7f8f79e;margin-top:2px;font-size:12px;display:block}.brand-mark{background:var(--accent);color:#102100;border:1px solid #9fe87094;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.brand-mark.large{width:48px;height:48px}.sidebar nav{gap:5px;display:grid}.sidebar nav button,.sidebar-footer button{color:#f7f8f7ad;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:39px;padding:0 11px;display:flex}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:#ffffff14;border-color:#ffffff14}.sidebar nav button.active{box-shadow:inset 3px 0 0 var(--accent);font-weight:720}.sidebar-footer{border-top:1px solid #ffffff1a;gap:8px;margin-top:auto;padding-top:14px;display:grid}.sync-state{color:#f7f8f79e;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.workspace{background:radial-gradient(circle at 28% -10%, #9fe87014, transparent 35%), var(--bg);scrollbar-color:#9fe8708c #ffffff0f;scrollbar-gutter:stable;scrollbar-width:thin;min-width:0;height:100vh;padding:0 28px 42px;overflow:hidden auto}.workspace::-webkit-scrollbar{width:10px}.workspace::-webkit-scrollbar-track{background:#ffffff0a}.workspace::-webkit-scrollbar-thumb{background:#9fe87085;border:2px solid #0b0d0c;border-radius:999px}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);z-index:10;background:#0b0d0cf0;grid-template-columns:minmax(220px,1fr) auto;gap:12px;padding:16px 0 14px;display:grid;position:sticky;top:0}.topbar-title h1{margin:0;font-size:26px;font-weight:760;line-height:1.1}.topbar-title span,.period-stepper span{color:var(--muted);margin-top:5px;font-size:13px;display:inline-block}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.search-box{align-items:center;gap:9px;min-width:320px;padding:0 12px;display:flex}.search-box svg{color:var(--faint)}.search-box input{color:var(--text);background:0 0;border:0;outline:0;width:100%;min-width:0}.period-bar{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.period-stepper{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:10px;min-height:48px;padding:4px 6px;display:flex}.period-stepper button,.drawer-head button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.period-stepper strong{font-size:14px;display:block}.month-picker{align-items:center;gap:8px;padding:0 10px;display:flex}.month-picker input{color:var(--text);background:0 0;border:0;outline:0}.quick-ranges{flex-wrap:wrap;gap:6px;display:flex}.quick-ranges button,.filter-count{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:12px;font-weight:720;display:inline-flex}.primary-button,.secondary-button,.upload-button{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:40px;font-size:14px;font-weight:720;text-decoration:none;transition:transform .14s,opacity .14s,border-color .14s;display:inline-flex;position:relative}.primary-button{background:var(--accent);color:#102100;border:1px solid #1633002e;padding:0 17px}.secondary-button{background:var(--surface);border:1px solid var(--border);color:var(--text);padding:0 15px}.primary-button:hover,.secondary-button:hover,.upload-button:hover{transform:translateY(-1px)}.upload-button input,.settings-grid label input,.drop-zone input{opacity:0;width:100%;position:absolute;inset:0}.notice{color:#ffd98b;background:#f0b64a1f;border:1px solid #f0b64a57;border-radius:8px;justify-content:space-between;align-items:center;margin:16px 0 0;padding:10px 12px;display:flex}.notice button{color:inherit;background:0 0;border:0;font-weight:720}.overview-layout,.insights-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:16px;margin-top:20px;display:grid}.kpi-grid{grid-column:1/-1;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.kpi-card,.chart-panel,.insight-panel,.transaction-panel,.full-panel,.receipt-inspector,.transaction-drawer{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.kpi-card{gap:12px;min-height:148px;padding:16px;display:grid}.kpi-head{justify-content:space-between;align-items:center;display:flex}.kpi-head span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:760}.kpi-icon{background:var(--surface-soft);color:var(--accent-dark);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.kpi-card strong{overflow-wrap:anywhere;font-size:27px;font-weight:820;line-height:1.05}.kpi-card small{color:var(--muted);font-size:12px;line-height:1.4}.kpi-spend{border-top:3px solid #f4f7f1}.kpi-income{border-top:3px solid var(--income)}.kpi-save{border-top:3px solid var(--accent)}.kpi-due{border-top:3px solid var(--amber)}.category-cockpit,.trend-cockpit,.cashflow-cockpit,.daily-cockpit{grid-column:span 4}.insight-panel{grid-column:span 3;min-height:250px}.transaction-panel{grid-column:1/-1;overflow:hidden}.chart-panel{min-height:330px;overflow:hidden}.panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:62px;padding:13px 16px;display:flex}.panel-header h2{margin:0;font-size:16px;font-weight:760}.panel-header p{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.4}.panel-action{color:var(--muted)}.category-breakdown{grid-template-columns:148px minmax(0,1fr);gap:12px;padding:16px;display:grid}.donut-wrap{text-align:center;place-items:center;gap:10px;display:grid}.donut-wrap svg{width:132px;height:132px;transform:rotate(-90deg)}.donut-base{fill:none;stroke:var(--surface-soft);stroke-width:5px}.donut-segment{fill:none;stroke-width:5px}.donut-wrap span,.ranked-row span,.subscription-item span{color:var(--muted);font-size:12px}.donut-wrap strong{margin-top:3px;font-size:19px;display:block}.category-chart,.ranked-list,.subscription-list,.warranty-list{display:grid}.category-row{border:0;border-bottom:1px solid var(--border);text-align:left;background:0 0;grid-template-columns:142px minmax(90px,1fr) 92px;align-items:center;gap:11px;min-height:48px;padding:8px 0;display:grid}.category-row:last-child{border-bottom:0}.category-meta{grid-template-columns:10px 1fr;align-items:center;gap:2px 8px;display:grid}.category-meta strong{color:var(--text);font-size:13px;font-weight:720}.category-meta small{color:var(--muted);grid-column:2;font-size:11px}.category-dot{border-radius:999px;width:9px;height:9px;display:block}.category-track,.ranked-track,.budget-progress{background:var(--surface-soft);border-radius:999px;height:9px;overflow:hidden}.category-track span,.ranked-track span,.budget-progress span{border-radius:inherit;height:100%;display:block}.category-row b{color:var(--text);text-align:right;font-size:13px}.monthly-chart{grid-template-columns:repeat(12,minmax(22px,1fr));align-items:end;gap:8px;min-height:250px;padding:18px 16px 16px;display:grid}.monthly-chart button{background:0 0;border:1px solid #0000;border-radius:8px;place-items:center;gap:8px;min-height:208px;padding:8px 2px;display:grid}.monthly-chart button:hover,.monthly-chart button.active{border-color:var(--border);background:#1b211f}.month-bars{align-items:end;gap:4px;height:168px;display:flex}.month-bars span,.vertical-track span{border-radius:999px 999px 2px 2px;width:8px;min-height:4px;display:block}.income-bar{background:var(--income)}.spend-bar{background:#f4f7f1}.monthly-chart small{color:var(--faint);font-size:10px}.income-expense-chart{grid-template-columns:1fr 1fr 1.2fr;align-items:end;gap:18px;min-height:250px;padding:18px 16px 16px;display:grid}.income-expense-chart>div{justify-items:center;gap:9px;display:grid}.vertical-track{background:var(--surface-soft);border-radius:8px;justify-content:center;align-items:end;width:100%;height:164px;padding:8px;display:flex}.vertical-track span{width:34px}.cashflow-verdict{background:var(--surface-soft);border:1px solid var(--border);text-align:center;border-radius:8px;justify-content:center;align-self:stretch;padding:14px}.cashflow-verdict strong{font-size:20px}.daily-chart{gap:14px;padding:18px 16px 16px;display:grid}.daily-chart svg{background:linear-gradient(180deg, #18201b, var(--surface-soft));border:1px solid var(--border);border-radius:8px;width:100%;height:172px}.daily-chart polyline{fill:none;stroke:var(--accent-dark);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.daily-chart div{justify-content:space-between;align-items:center;display:flex}.ranked-list{gap:11px;padding:14px}.ranked-row{gap:8px;display:grid}.ranked-row strong{font-size:13px;display:block}.ranked-row b{font-size:13px}.attention-list{gap:10px;padding:14px;display:grid}.attention-list button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:8px;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;min-height:58px;padding:10px;display:grid}.attention-list button:hover,.attention-list button:focus-visible{background:#9fe87014;border-color:#9fe87052}.attention-list svg{color:var(--amber)}.attention-list span{color:var(--muted);font-size:12px}.attention-list strong{font-size:20px}.subscription-list{padding:8px 12px 14px}.subscription-item{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 4px;display:flex}.subscription-item:last-child{border-bottom:0}.subscription-item strong{font-size:13px;font-weight:760;display:block}.subscription-item b{font-size:13px}.transactions-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:16px;margin-top:20px;display:grid}.ledger-panel{min-width:0;overflow:hidden}.attention-filter-banner{color:var(--amber);background:#f0b64a1a;border-bottom:1px solid #f0b64a38;align-items:center;gap:8px;padding:11px 16px;display:flex}.attention-filter-banner span{color:var(--text);font-size:13px}.ledger-controls{border-bottom:1px solid var(--border);background:#111513;grid-template-columns:minmax(240px,1.2fr) repeat(7,minmax(118px,1fr));gap:10px;padding:12px;display:grid}.control-field.wide{min-width:220px}.table-wrap{max-width:100%;overflow:auto}.compact-table{max-height:520px}.transaction-table{border-collapse:collapse;width:100%;min-width:920px}.transaction-table th{background:var(--surface-soft);border-bottom:1px solid var(--border);color:var(--muted);text-align:left;text-transform:uppercase;z-index:2;padding:10px 14px;font-size:11px;font-weight:760;position:sticky;top:0}.transaction-table td{border-bottom:1px solid var(--border);color:var(--muted);white-space:nowrap;padding:12px 14px;font-size:13px}.transaction-table tbody tr:hover,.transaction-table tbody tr.selected{background:#1a201d}.transaction-table strong{color:var(--text);font-size:13px;font-weight:760;display:block}.transaction-table td span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:380px;margin-top:2px;font-size:12px;display:block;overflow:hidden}.merchant-cell{align-items:center;gap:10px;display:flex}.account-mark{color:#fff;background:#0b0d0c;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;font-size:12px;font-weight:820;display:flex}.account-mark.small{width:32px;height:32px}.mark-uob{background:#1d4ed8}.mark-ocbc{background:#dc2626}.mark-dbs\/posb,.mark-posb{background:#1f6feb}.mark-paypal{background:#003087}.mark-cash,.mark-receipts{background:#0b0d0c}.category-pill,.proof-pill{text-transform:capitalize;border-radius:999px;align-items:center;padding:6px 9px;font-weight:680;line-height:1;margin:0!important;font-size:12px!important;display:inline-flex!important}.category-pill{background:color-mix(in srgb, var(--pill-color) 22%, #111513);border:1px solid color-mix(in srgb, var(--pill-color) 42%, #111513);color:color-mix(in srgb, var(--pill-color) 72%, #f4f7f1)}.proof-pill{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted)!important}.proof-matched,.status-ready{background:#71d68a24;border-color:#71d68a57;color:var(--income)!important}.proof-needs_proof,.proof-review,.status-needs_review{background:#f0b64a24;border-color:#f0b64a57;color:var(--amber)!important}.enrichment-strong_match,.enrichment-applied{background:#71d68a24;border-color:#71d68a57;color:var(--income)!important}.enrichment-unique_amount_date{background:#7ba7ff24;border-color:#7ba7ff57;color:var(--blue)!important}.enrichment-ambiguous{background:#f0b64a24;border-color:#f0b64a57;color:var(--amber)!important}.enrichment-unmatched,.enrichment-ignored{background:#ff6b611f;border-color:#ff6b6147;color:var(--red)!important}.amount{text-align:right;font-weight:760;color:var(--text)!important}.amount-income{color:var(--income)!important}.amount-transfer{color:var(--blue)!important}.amount-expense{color:var(--text)!important}.empty-cell{text-align:center;color:var(--faint)!important;padding:38px 14px!important}.transaction-drawer{min-height:420px;padding:16px;position:sticky;top:142px}.drawer-head,.inspector-head{justify-content:space-between;align-items:flex-start;display:flex}.drawer-head h2,.receipt-inspector h2{margin:6px 0 4px;font-size:19px}.drawer-head span,.inspector-head span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:760}.drawer-amount{margin:12px 0 16px;font-size:34px;font-weight:820}.drawer-facts,.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drawer-facts div,.fact-grid div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;padding:10px}.drawer-facts span,.fact-grid span{color:var(--muted);font-size:12px;display:block}.drawer-facts strong,.fact-grid strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px;display:block}.drawer-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.drawer-actions button,.button-row button{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:36px;font-size:12px;font-weight:720;display:inline-flex}.transaction-edit-form{gap:10px;margin-top:14px;display:grid}.transaction-edit-form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:760;display:grid}.transaction-edit-form input,.transaction-edit-form select,.transaction-edit-form textarea{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);font:inherit;text-transform:none;border-radius:8px;outline:none;width:100%;min-height:36px;padding:8px 10px;font-size:13px}.transaction-edit-form textarea{resize:vertical;line-height:1.35}.drawer-field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.drawer-toggle-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.drawer-toggle-grid label{background:var(--surface-soft);border:1px solid var(--border);text-transform:none;border-radius:8px;align-items:center;gap:7px;min-height:38px;padding:0 9px;display:flex}.drawer-toggle-grid input{accent-color:var(--accent);width:15px;min-height:auto}.drawer-subpanel{border-top:1px solid var(--border);gap:10px;margin-top:16px;padding-top:14px;display:grid}.drawer-subpanel-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.drawer-subpanel-head span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:760;display:block}.drawer-subpanel-head strong,.drawer-subpanel-head b{color:var(--text);margin-top:2px;font-size:13px;display:block}.split-list,.proof-link-list,.proof-suggestion-list{gap:8px;display:grid}.split-row,.proof-link-row,.proof-suggestion-list button{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:48px;padding:9px;display:grid}.proof-link-row{grid-template-columns:minmax(0,1fr) auto}.proof-suggestion-list button{cursor:pointer;grid-template-columns:auto minmax(0,1fr)}.split-row strong,.proof-link-row strong,.proof-suggestion-list strong{overflow-wrap:anywhere;font-size:12px;display:block}.split-row span,.proof-link-row span,.proof-suggestion-list small{color:var(--muted);margin-top:2px;font-size:11px;line-height:1.35;display:block}.split-row button,.proof-link-row button{background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.split-form{gap:8px;display:grid}.split-form label{color:var(--muted);text-transform:uppercase;gap:6px;font-size:11px;font-weight:760;display:grid}.split-form input{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);font:inherit;text-transform:none;border-radius:8px;outline:none;width:100%;min-height:36px;padding:8px 10px;font-size:13px}.drawer-mini-empty{background:var(--surface-soft);border:1px solid var(--border);color:var(--muted);text-align:center;border-radius:8px;padding:12px;font-size:12px}.empty-drawer{color:var(--muted);text-align:center;align-content:center;justify-items:center;display:grid}.empty-drawer p{max-width:260px;margin:0;line-height:1.45}.full-panel{margin-top:20px;overflow:hidden}.budget-screen,.imports-layout,.warranty-layout,.warranty-only-layout,.proof-review-layout,.receipt-layout,.insights-layout{margin-top:20px}.budget-table{display:grid}.budget-summary-strip{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.budget-summary-strip div{background:#ffffff06;gap:4px;padding:16px;display:grid}.budget-summary-strip span{color:var(--muted);text-transform:uppercase;font-size:11px}.budget-summary-strip strong{font-size:20px}.budget-row{border-bottom:1px solid var(--border);grid-template-columns:180px 160px 120px 120px minmax(130px,1fr) 78px;align-items:center;gap:12px;min-height:74px;padding:10px 16px;display:grid}.budget-row>strong{align-items:center;gap:8px;display:flex}.budget-dot{background:var(--budget-color);box-shadow:0 0 0 4px color-mix(in srgb, var(--budget-color) 18%, transparent);border-radius:999px;width:9px;height:9px;display:inline-block}.budget-row label{color:var(--muted);gap:5px;font-size:11px;display:grid}.budget-row input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;width:100%;min-height:34px;padding:0 9px}.budget-status{text-align:center;border-radius:999px;padding:6px 8px;font-size:11px}.status-good{color:var(--income);background:#71d68a24}.status-watch,.status-setup{color:var(--amber);background:#f0b64a24}.status-over,.over-budget{color:var(--red)}.budget-progress span{background:var(--accent)}.button-row{flex-wrap:wrap;gap:8px;display:flex}.imports-layout,.warranty-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.proof-review-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start;gap:16px;display:grid}.warranty-only-layout{grid-template-columns:minmax(0,1fr) 420px;gap:16px;display:grid}.import-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px 16px 0;display:grid}.import-steps div{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;gap:6px;min-height:74px;padding:10px;display:grid}.import-steps div.active{background:var(--surface-green);border-color:#9fe8705c}.import-steps span{background:var(--surface);border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:820;display:flex}.import-body{gap:14px;padding:16px;display:grid}.statement-preview-card,.statement-history{border-top:1px solid var(--border);gap:14px;padding:16px;display:grid}.statement-warning-list{flex-wrap:wrap;gap:8px;display:flex}.statement-warning-list span{color:var(--amber);background:#facc151a;border:1px solid #facc1540;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:760}.statement-mapping-card,.statement-duplicate-card{border:1px solid var(--border);background:#ffffff06;border-radius:8px;gap:10px;padding:12px;display:grid}.statement-mapping-card.needs-review,.statement-duplicate-card{border-color:#facc1547}.statement-mapping-card>div:first-child span,.statement-mapping-card small{color:var(--muted);font-size:12px}.statement-mapping-card>div:first-child strong{margin-top:3px;font-size:13px;display:block}.statement-mapping-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.statement-mapping-grid span{border:1px solid var(--border-soft);color:var(--muted);background:#ffffff09;border-radius:7px;gap:3px;padding:8px;font-size:12px;display:grid}.statement-mapping-grid b{color:var(--text);text-transform:uppercase;font-size:11px}.statement-duplicate-table{max-height:260px}.statement-preview-table{max-height:320px}.muted-inline{color:var(--muted);align-self:center;font-size:12px}.enrichment-panel{grid-column:1/-1}.enrichment-command{grid-template-columns:1fr;gap:14px;padding:16px;display:grid}.enrichment-upload-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.google-pay-zone,.paypal-zone,.grab-zone,.shopee-zone{min-height:164px}.enrichment-summary{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.enrichment-summary div{background:var(--surface-soft);border-right:1px solid var(--border);gap:6px;min-height:118px;padding:16px;display:grid}.enrichment-summary div:last-child{border-right:0}.enrichment-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:720}.enrichment-summary strong{color:var(--text);font-size:18px;line-height:1.25}.upload-reminder-grid{gap:1px;display:grid}.upload-reminder-row{border-bottom:1px solid var(--border);background:#ffffff06;grid-template-columns:minmax(0,1fr) 92px 78px;align-items:center;gap:12px;min-height:72px;padding:12px 16px;display:grid}.upload-reminder-row strong{font-size:14px;display:block}.upload-reminder-row span,.upload-reminder-row small{color:var(--muted);font-size:12px;line-height:1.45}.upload-reminder-row b{text-align:center;border-radius:999px;padding:6px 8px;font-size:11px}.upload-reminder-row.status-ok b{color:var(--income);background:#71d68a24}.upload-reminder-row.status-due_soon b{color:var(--amber);background:#f0b64a24}.upload-reminder-row.status-stale b,.upload-reminder-row.status-missing b{color:var(--red);background:#f8717124}.gmail-preflight-panel{grid-column:1/-1}.gmail-status-grid,.gmail-monitor-settings,.gmail-preflight-summary,.gmail-proof-summary{border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.gmail-preflight-summary,.gmail-proof-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.gmail-status-grid div,.gmail-monitor-settings>div,.gmail-preflight-summary div,.gmail-proof-summary div{background:#ffffff06;gap:5px;min-height:78px;padding:14px 16px;display:grid}.gmail-status-grid button{place-self:center;width:calc(100% - 28px)}.gmail-monitor-settings{grid-template-columns:repeat(4,minmax(0,1fr))}.gmail-monitor-toggle{flex-wrap:wrap;align-content:center;gap:8px;display:flex!important}.gmail-monitor-toggle button{min-width:130px}.gmail-monitor-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px;padding:14px 16px;display:flex}.gmail-monitor-actions button{min-width:138px}.gmail-monitor-actions .danger{color:var(--red);border-color:#f8717152}.gmail-monitor-card{border-bottom:1px solid var(--border);gap:12px;padding:16px;display:grid}.gmail-monitor-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.gmail-monitor-head div{gap:4px;display:grid}.gmail-monitor-head span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:720}.gmail-monitor-head strong,.gmail-monitor-head b{color:var(--text);font-size:16px}.gmail-monitor-progress{border:1px solid var(--border);background:#ffffff12;border-radius:999px;height:10px;overflow:hidden}.gmail-monitor-progress span{background:linear-gradient(90deg, var(--accent), var(--amber));height:100%;transition:width .2s;display:block}.gmail-proof-summary.compact{border:1px solid var(--border);border-radius:8px;overflow:hidden}.gmail-status-grid span,.gmail-monitor-settings span,.gmail-preflight-summary span,.gmail-proof-summary span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:720}.gmail-status-grid strong,.gmail-monitor-settings strong,.gmail-preflight-summary strong,.gmail-proof-summary strong{color:var(--text);font-size:18px;line-height:1.2}.gmail-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.gmail-label-section{border-bottom:1px solid var(--border);gap:12px;padding:16px;display:grid}.section-minihead{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:8px 12px;display:flex}.section-minihead strong{font-size:14px}.section-minihead span{color:var(--muted);font-size:12px}.gmail-label-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.gmail-category-headline{padding:16px 16px 0}.gmail-label-card{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:72px;padding:10px;display:grid}.gmail-label-card.recommended{background:#9fe87014;border-color:#9fe87057}.gmail-label-card strong{overflow-wrap:anywhere;font-size:13px;display:block}.gmail-label-card span,.gmail-label-card small{color:var(--muted);font-size:11px}.gmail-label-card b{color:var(--accent-dark);font-size:16px}.gmail-label-card small{grid-column:1/-1}.gmail-category-card{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;gap:12px;min-height:172px;padding:13px;display:grid}.gmail-category-card:hover,.gmail-category-card:focus-visible{border-color:#9fe87057}.gmail-category-card.selected{background:#9fe87014;border-color:#9fe8707a}.gmail-category-head{grid-template-columns:12px minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.gmail-category-head strong,.gmail-sample strong{overflow-wrap:anywhere;font-size:14px;display:block}.gmail-category-head small,.gmail-sample small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:12px;line-height:1.45;display:block}.gmail-category-head b{color:var(--accent-dark);font-size:18px}.priority-dot{border-radius:999px;width:10px;height:10px;margin-top:4px;display:block}.priority-high{background:var(--accent)}.priority-medium,.priority-review{background:var(--amber)}.priority-low{background:var(--faint)}.gmail-category-meta{flex-wrap:wrap;gap:8px;display:flex}.gmail-category-meta span{border:1px solid var(--border);color:var(--muted);background:#ffffff0a;border-radius:999px;padding:5px 8px;font-size:11px}.gmail-sample{border:1px solid var(--border);background:#111513;border-radius:8px;gap:3px;padding:10px;display:grid}.gmail-sample span{color:var(--faint);font-size:11px}.enrichment-table-wrap{border-top:1px solid var(--border)}.enrichment-table td{vertical-align:middle}.split-suggestion-note,.split-ready-label{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.35;display:block}.split-ready-label{color:var(--blue);font-weight:720}.enrichment-actions .secondary-button{min-height:32px;padding:0 10px;font-size:12px}.drop-zone{background:var(--surface-soft);border:1px dashed var(--border-strong);color:var(--muted);text-align:center;border-radius:8px;place-items:center;gap:8px;min-height:184px;padding:24px;display:grid;position:relative}.drop-zone strong{color:var(--text);font-size:17px}.drop-zone span{color:var(--muted);font-size:13px;line-height:1.5}.receipt-zone{background:#111513}.subscription-grid,.proof-grid,.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.subscription-card,.proof-card,.settings-grid button,.settings-grid label{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;min-height:142px;padding:14px}.subscription-card{gap:12px;display:grid}.subscription-card strong{font-size:15px;display:block}.subscription-card span,.subscription-card small,.proof-card span,.proof-card small{color:var(--muted);font-size:12px;line-height:1.45}.subscription-card b{font-size:24px}.proof-card{align-items:flex-start;gap:10px;display:flex}.proof-card svg{color:var(--amber);flex:none;margin-top:2px}.proof-card.priority-high svg{color:var(--red)}.proof-review-list{display:grid}.proof-review-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:8px;padding:12px 16px;display:flex}.proof-review-toolbar button{border:1px solid var(--border);color:var(--muted);background:#ffffff08;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:7px 10px;font-size:12px;font-weight:760;display:inline-flex}.proof-review-toolbar button.active{background:var(--surface-green);color:var(--text);border-color:#9fe87052}.proof-review-toolbar b{color:var(--text);font-size:11px}.proof-review-card{border:0;border-bottom:1px solid var(--border);color:var(--text);text-align:left;background:0 0;align-items:flex-start;gap:11px;width:100%;min-height:74px;padding:13px 16px;display:flex}.proof-review-card:hover,.proof-review-card.active{background:#1a201d}.proof-review-card svg{color:var(--amber);flex:none;margin-top:3px}.proof-review-card.priority-high svg{color:var(--red)}.proof-review-card div{min-width:0}.proof-review-card strong,.proof-review-card span,.proof-review-card small{display:block}.proof-review-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.proof-review-card span,.proof-review-card small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.4}.proof-review-card-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.proof-review-card-chips em{border:1px solid var(--border-soft);color:var(--muted);background:#ffffff0a;border-radius:999px;padding:4px 7px;font-size:11px;font-style:normal;font-weight:760}.proof-review-card .proof-next-action{color:var(--green);margin-top:8px}.proof-review-drawer{min-height:520px;position:sticky;top:142px}.proof-review-form{margin-top:12px}.proof-review-gmail-link{margin-top:10px}.proof-candidate-list{gap:8px;margin-top:10px;display:grid}.proof-candidate-row{background:var(--surface-soft);border:1px solid var(--border);color:var(--text);text-align:left;border-radius:8px;align-items:flex-start;gap:8px;padding:10px;display:flex}.proof-candidate-row>span{flex:1;min-width:0}.proof-candidate-list span,.proof-candidate-list strong,.proof-candidate-list small{display:block}.proof-candidate-list small{color:var(--muted);margin-top:3px;line-height:1.4}.proof-candidate-hint{color:var(--amber)}.proof-candidate-actions{gap:6px;min-width:72px;display:grid}.proof-candidate-actions button{color:var(--text);cursor:pointer;background:#14b8a61f;border:1px solid #14b8a647;border-radius:7px;padding:6px 8px;font-size:.78rem}.proof-candidate-actions button+button{background:#f59e0b1f;border-color:#f59e0b52}.proof-candidate-actions button:disabled{cursor:wait;opacity:.6}.receipt-layout{grid-template-columns:minmax(0,1fr) 370px;align-items:start;gap:16px;display:grid}.receipt-table{min-width:640px}.receipt-inspector{min-height:420px;padding:16px;position:sticky;top:142px}.receipt-inspector p{color:var(--muted);margin:0;line-height:1.45}.inspector-head b{background:var(--surface-green);color:var(--income);border-radius:999px;padding:6px 8px;font-size:12px}.proof-preview{background:var(--surface-soft);border:1px solid var(--border);border-radius:8px;justify-content:center;align-items:center;min-height:210px;margin:16px 0;display:flex;overflow:hidden}.proof-preview img{object-fit:contain;max-width:100%;max-height:280px;display:block}.proof-preview iframe{background:#fff;border:0;width:100%;height:360px}.full-width{width:100%}.receipt-actions{gap:10px;display:grid}.warranty-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:13px 4px;display:flex}.warranty-row div{flex:1;min-width:0}.warranty-row strong{font-size:13px;display:block}.warranty-row span{color:var(--muted);margin-top:3px;font-size:12px;display:block}.warranty-proof-link{flex:none;min-height:32px}.warranty-packet-panel{background:var(--panel);border:1px solid var(--border);border-radius:8px;gap:16px;min-height:420px;padding:16px;display:grid}.warranty-requirement-list{gap:8px;display:grid}.warranty-requirement{border:1px solid var(--border);border-radius:8px;gap:4px;padding:10px 12px;display:grid}.warranty-requirement span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:720}.warranty-requirement strong{font-size:13px}.warranty-requirement small{color:var(--muted);line-height:1.45}.warranty-requirement.status-ready{border-color:#34d39947}.warranty-requirement.status-missing,.warranty-requirement.status-review{border-color:#f0b64a47}.warranty-row.expiring svg{color:var(--amber)}.warranty-row.expired svg{color:var(--red)}.settings-grid button,.settings-grid label{color:var(--text);text-align:left;justify-items:start;gap:7px;display:grid;position:relative}.settings-grid strong{font-size:14px}.settings-grid span{color:var(--muted);font-size:12px;line-height:1.45}.empty-state{color:var(--muted);text-align:center;place-items:center;gap:7px;padding:42px 18px;display:grid}.empty-state strong{color:var(--text);font-size:14px}.empty-state span{max-width:320px;font-size:13px;line-height:1.4}.empty-state.compact{padding:24px 12px}@media (width<=1320px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.category-cockpit,.trend-cockpit,.cashflow-cockpit,.daily-cockpit,.insight-panel{grid-column:span 6}.ledger-controls{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=1040px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;overflow:visible}.sidebar{height:auto;min-height:0;position:static}.sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.sidebar-footer{display:none}.workspace{height:auto;min-height:100vh;padding:0 16px 28px;overflow:visible}.topbar{grid-template-columns:1fr}.topbar-actions{justify-content:stretch}.search-box{flex:1;width:100%;min-width:0}.transactions-layout,.receipt-layout,.proof-review-layout,.imports-layout,.warranty-layout,.warranty-only-layout,.enrichment-command,.enrichment-upload-grid,.enrichment-summary,.gmail-status-grid,.gmail-monitor-settings,.gmail-preflight-summary,.gmail-proof-summary,.gmail-label-grid,.gmail-category-grid{grid-template-columns:1fr}.enrichment-summary div{border-bottom:1px solid var(--border);border-right:0}.enrichment-summary div:last-child{border-bottom:0}.gmail-monitor-actions button{flex:180px}.transaction-drawer,.receipt-inspector{position:static}.budget-row{grid-template-columns:1fr 140px 100px 100px}.budget-summary-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.budget-progress,.budget-status{grid-column:span 2}}@media (width<=760px){.sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-grid,.subscription-grid,.proof-grid,.settings-grid,.fact-grid,.drawer-facts,.ledger-controls,.import-steps{grid-template-columns:1fr}.category-cockpit,.trend-cockpit,.cashflow-cockpit,.daily-cockpit,.insight-panel{grid-column:1/-1}.category-breakdown,.income-expense-chart{grid-template-columns:1fr}.category-row{grid-template-columns:1fr;align-items:start}.category-row b{text-align:left}.monthly-chart{overflow-x:auto}.monthly-chart button{min-width:42px}.topbar-actions{grid-template-columns:1fr 1fr;display:grid}.topbar-actions .search-box{grid-column:span 2}.topbar-actions .primary-button,.topbar-actions .secondary-button{min-width:0;padding-left:12px;padding-right:12px;font-size:13px}.budget-row,.budget-summary-strip{grid-template-columns:1fr}.budget-progress,.budget-status{grid-column:auto}}
