:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{color:#0f172a;background:radial-gradient(circle at 100% 0,#dbeafe,#f8fafc 38%,#eef2ff);margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.container{max-width:1200px;margin:0 auto;padding:48px 20px 64px}.hero h1{letter-spacing:-.02em;margin:0 0 10px;font-size:clamp(2rem,2.8vw,2.7rem);line-height:1.2}.badge{color:#1d4ed8;background:#dbeafe;border-radius:999px;margin:0 0 10px;padding:6px 12px;font-weight:600;display:inline-block}.subtitle{color:#334155;max-width:840px;margin:0;font-size:1.02rem}.hero-auth-row{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.verify-banner{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-top:12px;padding:10px}.verify-actions{align-items:center;gap:8px;margin-top:8px;display:flex}.verify-actions input{border:1px solid #cbd5e1;border-radius:8px;min-width:260px;height:36px;padding:0 10px}.card-grid{grid-template-columns:minmax(620px,2fr) minmax(320px,1fr);align-items:start;gap:18px;margin-top:30px;display:grid}.card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffe0;border:1px solid #dbe5f5;border-radius:16px;padding:18px;box-shadow:0 10px 30px #0f172a14}.card h2{margin:0 0 12px;font-size:1.15rem}.card p,.card li{color:#334155}.card code{color:#3730a3;background:#eef2ff;border-radius:6px;margin-top:6px;padding:6px 8px;display:inline-block}.form-grid{gap:10px;display:grid}.category-select-label{flex-direction:column;grid-column:1/-1;gap:6px;display:flex}.category-select-title{color:#334155;font-size:.9rem;font-weight:600}.category-save-hint{grid-column:1/-1;margin:-4px 0 0;font-size:.86rem;line-height:1.45}.form-grid input:not([type=checkbox]):not([type=radio]),.form-grid select,.grid-toolbar input:not([type=checkbox]):not([type=radio]),.grid-toolbar select,.bulk-input{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;height:38px;padding:0 10px}.primary-btn,.secondary-btn,.ghost-btn{cursor:pointer;border-radius:8px;height:38px;padding:0 12px;font-weight:600}.primary-btn{color:#fff;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;box-shadow:0 6px 14px #2563eb47}.primary-btn:disabled{opacity:.55;cursor:not-allowed}.secondary-btn{color:#1e40af;background:#eef2ff;border:1px solid #c7d2fe;width:fit-content}.ghost-btn{color:#334155;background:#fff;border:1px solid #cbd5e1;min-width:84px}.month-picker{align-items:center;gap:8px;display:flex}.quick-range-chips{flex-wrap:wrap;gap:8px;margin:6px 0 10px;display:flex}.single-date-actions{gap:8px;margin:6px 0 10px;display:flex}.summary-field{margin-bottom:8px}.auth-card{max-width:520px;margin:40px auto}.auth-tabs{margin-bottom:12px}.period-tabs{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;display:inline-flex;overflow:hidden}.period-tab{color:#334155;cursor:pointer;background:0 0;border:none;border-right:1px solid #e2e8f0;height:36px;padding:0 12px;font-weight:600}.period-tab:last-child{border-right:none}.period-tab.active{color:#fff;background:#2563eb}.chip-active{color:#fff;background:#2563eb;border-color:#1d4ed8}.tx-table{border-collapse:collapse;width:100%;font-size:.95rem}.tx-table th,.tx-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:10px 8px}.line-items{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:10px}.line-item-head{margin-bottom:8px}.line-item-row{grid-template-columns:minmax(200px,1.5fr) 110px 130px 90px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.grid-toolbar{grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.transactions-filters{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 14px 12px}.filters-heading{color:#1e293b;margin:0 0 6px;font-size:.95rem;font-weight:700}.filters-intro{color:#64748b;margin:0 0 12px;font-size:.86rem;line-height:1.45}.filters-row{grid-template-columns:minmax(0,1.6fr) minmax(0,.75fr) minmax(0,1.1fr);align-items:end;gap:12px;display:grid}.filter-field{flex-direction:column;align-items:stretch;gap:8px;min-width:0;display:flex}.filter-field-meta{flex-direction:column;justify-content:flex-start;gap:2px;min-height:2.4rem;display:flex}.filter-field-label{color:#475569;letter-spacing:.01em;margin:0;padding:0;font-size:.8rem;font-weight:600;line-height:1.25;display:block}.filter-field-hint{color:#94a3b8;margin:0;padding:0;font-size:.75rem;font-weight:400;line-height:1.3;display:block}.transactions-filters input,.transactions-filters select{background:#fff;border:1px solid #cbd5e1;border-radius:8px;width:100%;height:40px;padding:0 10px;font-size:.95rem}.transactions-filters input:focus,.transactions-filters select:focus{outline-offset:1px;border-color:#3b82f6;outline:2px solid #93c5fd}.table-wrap{border:1px solid #e2e8f0;border-radius:12px;max-height:420px;overflow:auto}.tx-table thead th{cursor:pointer;background:#eef2ff;font-weight:700;position:sticky;top:0}.tx-table thead th.tx-actions-col{cursor:default;white-space:nowrap}.tx-actions-cell{white-space:nowrap}.tx-actions{flex-wrap:wrap;gap:6px;display:flex}.tx-action-btn{padding:4px 10px;font-size:.85rem}.timeseries-chart-wrap{border-top:1px solid #e2e8f0;margin-top:18px;padding-top:14px}.timeseries-heading{margin:0 0 4px;font-size:1rem}.timeseries-caption{margin:0 0 10px;font-size:.85rem}.receipt-analytics-card{margin-top:30px}.receipt-analytics-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.receipt-analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.receipt-analytics-trends-panel{grid-column:1/-1}.receipt-analytics-trend-chart{margin-bottom:12px}.receipt-analytics-trend-list{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.receipt-analytics-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.receipt-analytics-panel h3{margin:0 0 10px;font-size:.95rem}.receipt-analytics-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.receipt-analytics-list li{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:2px;padding:8px;display:grid}.receipt-analytics-list strong{color:#0f172a}.card-collapsible .card-collapsible-toggle{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:0;display:flex}.card-collapsible .card-collapsible-toggle h2{margin:0}.card-collapsible-label{color:#64748b;font-size:.85rem;font-weight:600}.card-collapsible-hint{margin:0}.receipt-library-page-highlight{background:#eef2ff;border-color:#6366f1;box-shadow:0 0 0 2px #6366f140}.tx-receipt-links{flex-wrap:wrap;gap:6px;display:flex}.link-btn{color:#4f46e5;cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.link-btn:hover:not(:disabled){color:#4338ca}.link-btn:disabled{opacity:.5;cursor:not-allowed}.merchant-rules-panel{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.merchant-rules-panel h3{margin:0 0 6px;font-size:1rem}.merchant-rules-actions{margin:10px 0}.merchant-rules-feedback{color:#15803d;margin:0 0 10px;font-size:.9rem}.budget-inline-feedback{margin:8px 0 12px;font-size:.92rem}.receipt-ai-preference-hint{margin:8px 0 0;font-size:.9rem;line-height:1.45}.receipt-ai-settings-card{margin-bottom:16px}.receipt-ai-settings-inline{margin-top:8px}.receipt-ai-review-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:12px 0 16px;padding:12px 14px}.receipt-ai-review-toggle{font-weight:600}.merchant-rules-add-row{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;display:flex}.merchant-rules-add-row input{flex:180px;min-width:140px}.merchant-rules-add-row select{flex:160px;min-width:140px}.merchant-rules-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.merchant-rules-list li{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.merchant-rules-list li.merchant-rule-editing{flex-direction:column;align-items:stretch}.merchant-rule-edit-row{flex-wrap:wrap;align-items:center;gap:10px;width:100%;display:flex}.merchant-rule-edit-row input{flex:180px;min-width:140px}.merchant-rule-edit-row select{flex:160px;min-width:140px}.merchant-rule-edit-actions,.merchant-rule-item-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.transaction-export-actions{border-top:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.transaction-export-option{white-space:nowrap;flex-shrink:0;align-items:center;gap:8px;font-size:.9rem;display:inline-flex}.transaction-export-caption{flex:200px;min-width:0;line-height:1.4}.transaction-export-feedback{margin:8px 0 0;font-size:.9rem}.transaction-export-feedback-ok{color:#15803d}.budget-subheading{margin:1.25rem 0 .5rem;font-size:1rem;font-weight:600}.budget-month-actions{margin:10px 0}.category-breakdown-row{margin-bottom:8px}.category-store-breakdown{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin:0 0 16px;padding:12px 14px}.category-store-breakdown-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.category-store-breakdown-list li{justify-content:space-between;gap:12px;display:flex}.receipt-line-items-panel{margin:16px 0}.receipt-line-items-panel h4{margin:0 0 6px;font-size:.95rem}.receipt-line-items-table{font-size:.9rem}.budget-add-row{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 16px;display:flex}.budget-add-row select,.budget-add-row input{border:1px solid #cbd5e1;border-radius:8px;min-width:160px;height:40px;padding:0 10px}.budget-table-wrap{margin-top:8px}.budget-notification-panel{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;margin:12px 0;padding:12px}.budget-notification-panel strong{margin-bottom:8px;display:block}.budget-notification-panel ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.budget-alert{background:#fff;border:1px solid #dbeafe;border-radius:10px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.budget-alert-over{color:#991b1b;background:#fef2f2;border-color:#fecaca}.budget-alert-near_limit{color:#92400e;background:#fffbeb;border-color:#fcd34d}.budget-remaining-over{color:#b91c1c;font-weight:700}.budget-status-badge{white-space:nowrap;color:#166534;background:#ecfdf5;border-radius:999px;align-items:center;padding:4px 8px;font-size:.78rem;font-weight:700;display:inline-flex}.budget-status-near_limit{color:#92400e;background:#fffbeb}.budget-status-over{color:#991b1b;background:#fef2f2}.modal-backdrop{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:40px 16px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-panel{width:min(640px,100%);max-height:calc(100vh - 80px);margin-bottom:40px;overflow-y:auto}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.receipt-scan-card{margin-top:24px}.receipt-scan-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.receipt-file-input-hidden{opacity:0;z-index:-1;width:.1px;height:.1px;position:fixed;top:0;left:0;overflow:hidden}.receipt-file-label{cursor:pointer;justify-content:center;align-items:center;margin:0;display:inline-flex}.receipt-camera-backdrop{z-index:2000;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.receipt-camera-dialog{background:#fff;border-radius:16px;width:min(520px,100%);padding:16px;box-shadow:0 24px 48px #0f172a40}.receipt-camera-dialog h3{margin:0 0 12px}.receipt-camera-dialog-wide{width:min(560px,100%)}.receipt-camera-tip{margin:0 0 12px;font-size:.9rem;line-height:1.45}.receipt-camera-live-wrap{background:#0f172a;border-radius:12px;position:relative;overflow:hidden}.receipt-camera-video{object-fit:contain;width:100%;max-height:min(360px,50vh);display:block}.receipt-camera-frame-guide{pointer-events:none;border:2px dashed #ffffffd9;border-radius:8px;justify-content:center;align-items:flex-end;padding-bottom:8px;display:flex;position:absolute;inset:10% 12%;box-shadow:0 0 0 9999px #0f172a59}.receipt-camera-frame-guide span{color:#fff;text-shadow:0 1px 3px #000c;background:#0f172a8c;border-radius:6px;padding:4px 8px;font-size:.75rem}.receipt-crop-hint{margin:0 0 10px;font-size:.88rem}.receipt-crop-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.receipt-privacy-toggle{cursor:pointer;align-items:center;gap:8px;margin-bottom:10px;font-size:.88rem;display:flex}.receipt-long-tip{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;margin:12px 0 0;padding:10px 12px;font-size:.88rem;line-height:1.45}.receipt-section-badge{color:#0369a1;font-size:.75rem;font-weight:600}.receipt-crop-preview-stage{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:200px;max-height:min(520px,68vh);margin-bottom:12px;padding:12px;display:flex;overflow:auto}.receipt-crop-preview-loading{background:#f1f5f9;min-height:160px}.receipt-crop-preview-img{object-fit:contain;border-radius:6px;width:min(100%,520px);height:auto;max-height:min(720px,78vh);margin:0 auto;display:block;box-shadow:0 4px 20px #0f172a1f}.receipt-crop-actions{flex-wrap:wrap}.receipt-crop-stage{touch-action:none;-webkit-user-select:none;user-select:none;background:#0f172a;border-radius:12px;justify-content:center;align-items:flex-start;width:100%;min-height:120px;max-height:min(420px,55vh);padding:8px;display:flex;overflow:auto}.receipt-crop-image-wrap{max-width:100%;line-height:0;display:inline-block;position:relative}.receipt-crop-image{width:auto;max-width:min(100%,520px);height:auto;max-height:min(400px,52vh);display:block}.receipt-crop-box{cursor:move;border:2px solid #38bdf8;min-width:48px;min-height:48px;position:absolute;box-shadow:0 0 0 9999px #0f172a8c}.receipt-crop-box-label{color:#fff;pointer-events:none;z-index:1;background:#0e7490d9;border-radius:4px;padding:2px 6px;font-size:.7rem;position:absolute;top:4px;left:6px}.receipt-crop-handle{z-index:2;touch-action:none;background:#0284c7;border:2px solid #fff;padding:0;position:absolute}.receipt-crop-handle-nw,.receipt-crop-handle-ne,.receipt-crop-handle-sw,.receipt-crop-handle-se{border-radius:4px;width:16px;height:16px}.receipt-crop-handle-nw{top:-8px;left:-8px}.receipt-crop-handle-ne{top:-8px;right:-8px}.receipt-crop-handle-sw{bottom:-8px;left:-8px}.receipt-crop-handle-se{bottom:-8px;right:-8px}.receipt-crop-handle-n,.receipt-crop-handle-s{border-radius:6px;width:28px;height:10px;margin-left:-14px;left:50%}.receipt-crop-handle-n{top:-5px}.receipt-crop-handle-s{bottom:-5px}.receipt-crop-handle-e,.receipt-crop-handle-w{border-radius:6px;width:10px;height:28px;margin-top:-14px;top:50%}.receipt-crop-handle-e{right:-5px}.receipt-crop-handle-w{left:-5px}.receipt-camera-actions{justify-content:flex-end;gap:10px;margin-top:12px;display:flex}.receipt-preview-box{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;max-height:min(72vh,780px);margin-top:16px;overflow:hidden scroll}.receipt-preview-box:focus{outline-offset:2px;outline:2px solid #38bdf8}.receipt-preview-open-full{margin:8px 0 0;font-size:.88rem}.receipt-preview-open-full-link{color:#0369a1;font-weight:600;text-decoration:underline}.receipt-preview-open-full-link:hover{color:#0c4a6e}.receipt-preview-filename{z-index:1;background:#fff;border-bottom:1px solid #e2e8f0;margin:0;padding:8px 12px;font-size:.85rem;position:sticky;top:0}.receipt-preview-scroll-hint{color:#64748b;background:#f1f5f9;border-bottom:1px solid #e2e8f0;margin:0;padding:6px 12px;font-size:.8rem}.receipt-preview-img-wrap{justify-content:center;padding:12px;display:flex}.receipt-preview-img{object-fit:contain;background:#f8fafc;border-radius:4px;width:auto;max-width:min(100%,520px);height:auto;max-height:none;display:block}.receipt-success-banner{background:#ecfdf5;border:1px solid #6ee7b7;border-radius:8px;margin:12px 0;padding:10px 12px}.receipt-library{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.receipt-library h3{margin:0 0 12px;font-size:1rem}.receipt-library-lead{margin:0 0 12px;font-size:.88rem}.receipt-ocr-badge{border-radius:999px;width:fit-content;padding:2px 8px;font-size:.72rem;font-weight:600;display:inline-block}.receipt-ocr-badge-uploaded{color:#475569;background:#f1f5f9}.receipt-ocr-badge-processing{color:#92400e;background:#fef3c7}.receipt-ocr-badge-processed{color:#166534;background:#dcfce7}.receipt-ocr-badge-failed{color:#991b1b;background:#fee2e2}.receipt-ocr-summary,.receipt-ocr-error{font-size:.82rem}.receipt-library-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.receipt-library-actions .secondary-btn,.receipt-library-actions .ghost-btn{box-sizing:border-box;justify-content:center;align-self:center;align-items:center;height:32px;min-height:32px;margin-top:0;padding:0 12px;font-size:.82rem;line-height:1;display:inline-flex}.receipt-library-actions .receipt-remove-btn{min-width:auto}.receipt-remove-btn{color:#b91c1c;border-color:#fecaca}.receipt-remove-btn:hover:not(:disabled){background:#fef2f2;border-color:#f87171}.receipt-remove-btn:disabled{opacity:.5}.receipt-quality-banner{border-radius:8px;margin:.5rem 0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45}.receipt-quality-banner strong{margin-bottom:.35rem;display:block}.receipt-quality-tips{margin:.35rem 0 0;padding-left:1.15rem}.receipt-quality-tips li{margin:.2rem 0}.receipt-duplicate-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:.6rem;display:flex}.receipt-quality-fair{color:#92400e;background:#fffbeb;border:1px solid #fcd34d}.receipt-quality-poor{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}.receipt-content-warnings{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;margin:.5rem 0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45}.receipt-content-warnings strong{margin-bottom:.35rem;display:block}.receipt-expense-guardrails{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin:.5rem 0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45}.receipt-expense-guardrails strong{margin-bottom:.35rem;display:block}.legal-page{max-width:720px;margin:2rem auto}.legal-card h1{margin-bottom:.35rem}.legal-meta,.legal-disclaimer{font-size:.9rem}.legal-disclaimer{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;padding:.65rem .75rem}.legal-section{margin-top:1.25rem}.legal-section h2{margin-bottom:.4rem;font-size:1.05rem}.legal-section ul{margin:.35rem 0 0 1.1rem}.legal-back{margin-bottom:.75rem}.legal-footer-link{margin-top:1.5rem}.auth-legal-consent{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:flex-start;gap:10px;margin:2px 0;padding:10px 12px;font-size:.875rem;line-height:1.45;display:flex}.auth-legal-consent input[type=checkbox]{accent-color:#2563eb;cursor:pointer;flex-shrink:0;width:1rem;min-width:1rem;height:1rem;margin:.2rem 0 0;padding:0}.auth-legal-consent span{flex:1;min-width:0}.auth-legal-consent a{font-weight:600}.auth-legal-version{color:#64748b}.auth-legal-links{text-align:center;margin-top:1rem;font-size:.85rem}.auth-invite-notice{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin:.5rem 0 0;padding:.55rem .65rem;font-size:.88rem}.receipt-total-conflict{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:10px;margin:.75rem 0;padding:.75rem}.receipt-total-conflict p{margin:.35rem 0 .65rem}.receipt-total-conflict-grid{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}@media (max-width:640px){.receipt-total-conflict-grid{grid-template-columns:1fr}}.receipt-total-conflict-option{background:#fff;border:1px solid #fde68a;border-radius:8px;flex-direction:column;gap:.35rem;padding:.65rem;display:flex}.receipt-total-conflict-option.is-selected{border-color:#f59e0b;box-shadow:inset 0 0 0 1px #f59e0b}.receipt-total-conflict-label{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.receipt-total-conflict-value{font-size:1.15rem;font-weight:700}.receipt-total-conflict-applied{margin:.65rem 0 0;font-size:.88rem;font-weight:600}.receipt-detected-fields input.receipt-total-input-flash{outline-offset:2px;outline:2px solid #f59e0b;box-shadow:0 0 0 4px #f59e0b40}.ai-evidence-card{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;margin:.75rem 0;padding:.75rem}.ai-evidence-card p{margin:.2rem 0 0}.ai-evidence-list{gap:.45rem;margin:.65rem 0 0;display:grid}.ai-evidence-list dt{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.ai-evidence-list dd{margin:.12rem 0 0;font-size:.85rem;line-height:1.4}.receipt-duplicate-warnings{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;margin:.5rem 0;padding:.65rem .75rem;font-size:.88rem;line-height:1.45}.receipt-duplicate-warnings strong{margin-bottom:.35rem;display:block}.receipt-review-panel{max-width:32rem;max-height:92vh;overflow-y:auto}.receipt-review-panel-maximized{width:min(1120px,96vw);max-width:96vw}.receipt-review-titlebar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.receipt-review-titlebar h2{margin-bottom:0}.receipt-review-window-actions{flex-shrink:0;gap:6px;display:flex}.receipt-window-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;width:30px;height:30px;font-weight:700;line-height:1}.receipt-window-btn:hover{background:#f8fafc}.receipt-window-close{color:#b91c1c;border-color:#fecaca}.receipt-review-preview-frame{border:1px solid var(--border,#e2e8f0);background:#f8fafc;border-radius:10px;max-height:min(52vh,520px);margin:.75rem 0;overflow:auto}.receipt-preview-toolbar{justify-content:space-between;align-items:center;gap:10px;margin:.75rem 0 .35rem;display:flex}.receipt-preview-zoom-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.receipt-preview-zoom-btn{min-width:auto;height:30px;padding:0 9px;font-size:.78rem}.receipt-preview-zoom-label{text-align:right;align-self:center;min-width:2.75rem;font-size:.78rem}.receipt-review-preview-scaler{min-width:0;margin:0 auto}.receipt-review-image{border-radius:8px;width:100%;max-width:100%;height:auto;display:block}.receipt-review-pdf{background:#fff;border:0;border-radius:8px;width:100%;min-height:420px;display:block}.receipt-detected-fields{gap:.65rem;margin:.75rem 0 1rem;display:grid}.receipt-detected-fields dt{text-transform:uppercase;letter-spacing:.04em;color:var(--muted,#64748b);font-size:.75rem;font-weight:600}.receipt-detected-fields dd{margin:.15rem 0 0;font-size:1.05rem;font-weight:600}.receipt-detected-fields input{width:100%;max-width:420px;font:inherit;font-weight:600}.receipt-review-raw{margin:.75rem 0}.receipt-review-raw pre{white-space:pre-wrap;background:var(--surface-muted,#f4f6f8);border-radius:6px;max-height:10rem;padding:.5rem;font-size:.75rem;overflow:auto}.receipt-review-actions{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));align-items:stretch;gap:10px;margin-top:14px;display:grid}.receipt-review-actions .ghost-btn,.receipt-review-actions .secondary-btn{white-space:normal;width:100%;height:auto;min-height:44px;padding:8px 10px;line-height:1.15}.receipt-review-actions .receipt-create-expense-btn{grid-column:1/-1}.receipt-ocr-btn{align-self:flex-start;margin-top:6px;padding:6px 10px;font-size:.82rem}.receipt-library-actions .receipt-ocr-btn{align-self:center;height:32px;min-height:32px;margin-top:0;padding:0 12px}.receipt-library-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.receipt-library-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:12px;padding:8px;display:flex}.receipt-library-group-item{background:#f8fafc}.receipt-library-thumb{object-fit:cover;background:#0f172a;border-radius:8px;flex-shrink:0;width:56px;height:56px}.receipt-library-thumb-placeholder{color:#94a3b8;justify-content:center;align-items:center;font-size:1.25rem;display:flex}.receipt-library-thumb-pdf{letter-spacing:.04em;color:#1e40af;background:#eff6ff;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:flex}.receipt-pdf-preview{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;min-height:14rem;max-height:22rem;display:block}.receipt-review-panel .receipt-review-pdf{min-height:420px;max-height:none}.receipt-library-meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.receipt-library-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.receipt-library-group-header{flex-direction:column;gap:2px;margin-bottom:4px;display:flex}.receipt-library-group-actions{grid-template-columns:repeat(3,minmax(0,max-content));align-items:center;gap:8px;margin-top:6px;display:grid}.receipt-library-group-actions .receipt-ocr-btn,.receipt-library-group-actions .receipt-remove-btn{white-space:nowrap;align-self:center;height:44px;min-height:44px;margin-top:0;padding:0 16px}.receipt-library-page-list{flex-direction:column;gap:8px;display:flex}.receipt-library-single-page-list{gap:0}.receipt-library-page{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:10px;padding:8px;display:flex}.receipt-library-single-page-list .receipt-library-page{border:none;padding:0}.receipt-library-page-thumb-wrap{flex-shrink:0}.receipt-library-page-thumb{object-fit:cover;background:#0f172a;border-radius:8px;width:44px;height:44px}.receipt-library-page-meta{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.receipt-reconciliation-card{margin-top:30px}.reconciliation-summary{flex-wrap:wrap;gap:8px;margin:14px 0;display:flex}.reconciliation-summary span{color:#075985;background:#eef6ff;border-radius:999px;padding:6px 10px;font-size:.84rem;font-weight:600}.reconciliation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.reconciliation-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.reconciliation-panel h3{margin:0 0 10px;font-size:.98rem}.reconciliation-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.reconciliation-list li{gap:4px;display:grid}.reconciliation-actions{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.reconciliation-actions .ghost-btn{height:30px;margin-top:0;padding:0 10px;font-size:.8rem}.reconciliation-footnote{margin:12px 0 0;font-size:.85rem}.tx-table tbody tr:nth-child(odd){background:#fff}.tx-table tbody tr:nth-child(2n){background:#f8fafc}.tx-table tbody tr:hover{background:#eaf2ff}.bulk-input{width:100%;height:130px;margin-bottom:10px;padding:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.muted{color:#64748b}.csv-actions{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.error-text{color:#b91c1c;margin:0;font-size:.9rem}.success-text{color:#166534;margin:0;font-size:.9rem}.summary-card{min-height:280px}.kpi-grid{gap:10px;margin-top:14px;display:grid}.kpi-chip{background:#fff;border:1px solid #dbe5f5;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.kpi-chip span{color:#475569;font-size:.92rem}.kpi-chip strong{font-size:1.05rem}.kpi-income{background:#ecfdf3;border-color:#bbf7d0}.kpi-expense{background:#fef2f2;border-color:#fecaca}.kpi-net{background:#eff6ff;border-color:#bfdbfe}.csv-preview-wrap{max-height:260px;margin-top:12px}.preview-invalid td{background:#fef2f2!important}.preview-valid td{background:#ecfdf3!important}.empty-state-hint{color:#64748b;max-width:640px;margin:8px 0 0;font-size:.88rem;line-height:1.45}.form-card>h2+.card-lead{margin:-6px 0 14px}.card-lead{color:#64748b;font-size:.9rem;line-height:1.45}.new-category-panel{border-top:1px solid #e2e8f0;grid-column:1/-1;margin-top:4px;padding-top:10px}.new-category-panel summary{cursor:pointer;color:#475569;-webkit-user-select:none;user-select:none;font-size:.9rem}.new-category-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;margin-top:10px;display:grid}@media (max-width:980px){.filters-row,.new-category-row,.card-grid,.reconciliation-grid,.receipt-analytics-kpis,.receipt-analytics-grid{grid-template-columns:1fr}.line-item-row{grid-template-columns:1fr 1fr}.ghost-btn{grid-column:span 2}.grid-toolbar{grid-template-columns:1fr}.csv-actions{flex-direction:column;align-items:flex-start}}
