:root.theme-light.theme-ocean,html.theme-light.theme-ocean,body.theme-light.theme-ocean{--color-primary: #0369a1;--color-primary-dark: #075985;--color-primary-light: #e0f2fe;--color-background: #f0f9ff;--color-surface: #ffffff;--color-surface-alt: #f8fbff;--color-text: #0c1a2e;--color-text-muted: #4b6a8a;--color-border: #bae6fd;--color-border-focus: #0369a1;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #6d28d9;--color-swipe-left-bg: rgba(3, 105, 161, .1);--color-swipe-right-bg: rgba(180, 83, 9, .1)}:root.theme-light.theme-burgundy,html.theme-light.theme-burgundy,body.theme-light.theme-burgundy{--color-primary: #7c1d3a;--color-primary-dark: #5f1530;--color-primary-light: #fce7ef;--color-background: #fdf4f7;--color-surface: #ffffff;--color-surface-alt: #fef8fa;--color-text: #2d0a15;--color-text-muted: #7a4055;--color-border: #f5c6d5;--color-border-focus: #7c1d3a;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #6d28d9;--color-swipe-left-bg: rgba(124, 29, 58, .1);--color-swipe-right-bg: rgba(180, 83, 9, .1)}:root.theme-light.theme-forest,html.theme-light.theme-forest,body.theme-light.theme-forest{--color-primary: #166534;--color-primary-dark: #14532d;--color-primary-light: #dcfce7;--color-background: #f0fdf4;--color-surface: #ffffff;--color-surface-alt: #f6fef9;--color-text: #052e16;--color-text-muted: #3d6b4f;--color-border: #bbf7d0;--color-border-focus: #166534;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #6d28d9;--color-swipe-left-bg: rgba(22, 101, 52, .1);--color-swipe-right-bg: rgba(180, 83, 9, .1)}:root.theme-light.theme-slate,html.theme-light.theme-slate,body.theme-light.theme-slate{--color-primary: #334155;--color-primary-dark: #1e293b;--color-primary-light: #e2e8f0;--color-background: #f8fafc;--color-surface: #ffffff;--color-surface-alt: #f1f5f9;--color-text: #0f172a;--color-text-muted: #64748b;--color-border: #cbd5e1;--color-border-focus: #334155;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #6d28d9;--color-swipe-left-bg: rgba(51, 65, 85, .1);--color-swipe-right-bg: rgba(180, 83, 9, .1)}:root.theme-light.theme-amber,html.theme-light.theme-amber,body.theme-light.theme-amber{--color-primary: #b45309;--color-primary-dark: #92400e;--color-primary-light: #fef3c7;--color-background: #fffbeb;--color-surface: #ffffff;--color-surface-alt: #fefce8;--color-text: #1c0a00;--color-text-muted: #78450f;--color-border: #fde68a;--color-border-focus: #b45309;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #6d28d9;--color-swipe-left-bg: rgba(180, 83, 9, .1);--color-swipe-right-bg: rgba(22, 101, 52, .1)}:root.theme-light.theme-violet,html.theme-light.theme-violet,body.theme-light.theme-violet{--color-primary: #5b21b6;--color-primary-dark: #4c1d95;--color-primary-light: #ede9fe;--color-background: #faf5ff;--color-surface: #ffffff;--color-surface-alt: #fdf8ff;--color-text: #1e0a3c;--color-text-muted: #6d3fa0;--color-border: #ddd6fe;--color-border-focus: #5b21b6;--color-success: #15803d;--color-warning: #b45309;--color-danger: #b91c1c;--color-info: #0369a1;--color-swipe-left-bg: rgba(91, 33, 182, .1);--color-swipe-right-bg: rgba(180, 83, 9, .1)}:root.theme-dark.theme-ocean,html.theme-dark.theme-ocean,body.theme-dark.theme-ocean{--color-primary: #888888;--color-primary-dark: #a3a3a3;--color-primary-light: rgba(136, 136, 136, .18);--color-background: #121212;--color-surface: #1e1e1e;--color-surface-alt: #262626;--color-text: #e0e0e0;--color-text-muted: #b0b0b0;--color-border: #444444;--color-border-focus: #888888;--color-success: #a3a3a3;--color-warning: #b0b0b0;--color-danger: #d4d4d4;--color-info: #888888;--color-swipe-left-bg: rgba(136, 136, 136, .18);--color-swipe-right-bg: rgba(176, 176, 176, .15)}:root.theme-dark.theme-burgundy,html.theme-dark.theme-burgundy,body.theme-dark.theme-burgundy{--color-primary: #a8e6cf;--color-primary-dark: #7fd8b6;--color-primary-light: rgba(168, 230, 207, .18);--color-background: #0d0d0d;--color-surface: #141414;--color-surface-alt: #1a1a1a;--color-text: #ffffff;--color-text-muted: #b8b8b8;--color-border: #2f4a40;--color-border-focus: #a8e6cf;--color-success: #a8e6cf;--color-warning: #ffd6e8;--color-danger: #ff9fba;--color-info: #8ecae6;--color-swipe-left-bg: rgba(168, 230, 207, .18);--color-swipe-right-bg: rgba(255, 214, 232, .16)}:root.theme-dark.theme-forest,html.theme-dark.theme-forest,body.theme-dark.theme-forest{--color-primary: #ff6f61;--color-primary-dark: #ff4500;--color-primary-light: rgba(255, 111, 97, .16);--color-background: #1c1c1c;--color-surface: #27211f;--color-surface-alt: #312824;--color-text: #f5e8d8;--color-text-muted: #d8c2aa;--color-border: #5a4038;--color-border-focus: #ff6f61;--color-success: #daa520;--color-warning: #daa520;--color-danger: #ff4500;--color-info: #ff6f61;--color-swipe-left-bg: rgba(255, 111, 97, .16);--color-swipe-right-bg: rgba(218, 165, 32, .16)}:root.theme-dark.theme-slate,html.theme-dark.theme-slate,body.theme-dark.theme-slate{--color-primary: #b39cd0;--color-primary-dark: #ffc1cc;--color-primary-light: rgba(179, 156, 208, .18);--color-background: #2c2c2c;--color-surface: #363636;--color-surface-alt: #404040;--color-text: #e4e4e4;--color-text-muted: #c7c7c7;--color-border: #5b5b5b;--color-border-focus: #b39cd0;--color-success: #a8dadc;--color-warning: #ffc1cc;--color-danger: #ffc1cc;--color-info: #a8dadc;--color-swipe-left-bg: rgba(168, 218, 220, .16);--color-swipe-right-bg: rgba(255, 193, 204, .16)}:root.theme-dark.theme-amber,html.theme-dark.theme-amber,body.theme-dark.theme-amber{--color-primary: #3e5641;--color-primary-dark: #822659;--color-primary-light: rgba(62, 86, 65, .28);--color-background: #1a1a1a;--color-surface: #232323;--color-surface-alt: #2b2b2b;--color-text: #f0f0f0;--color-text-muted: #c7c7c7;--color-border: #3e5641;--color-border-focus: #004d61;--color-success: #3e5641;--color-warning: #822659;--color-danger: #822659;--color-info: #004d61;--color-swipe-left-bg: rgba(0, 77, 97, .22);--color-swipe-right-bg: rgba(130, 38, 89, .2)}:root.theme-dark.theme-violet,html.theme-dark.theme-violet,body.theme-dark.theme-violet{--color-primary: #ff5722;--color-primary-dark: #ffeb3b;--color-primary-light: rgba(255, 87, 34, .16);--color-background: #181818;--color-surface: #222222;--color-surface-alt: #2a2a2a;--color-text: #f7f7f7;--color-text-muted: #cfcfcf;--color-border: #4a4a4a;--color-border-focus: #ff5722;--color-success: #ffeb3b;--color-warning: #ffeb3b;--color-danger: #ff5722;--color-info: #673ab7;--color-swipe-left-bg: rgba(255, 87, 34, .16);--color-swipe-right-bg: rgba(103, 58, 183, .18)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip;max-width:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--color-background, #f0f9ff);color:var(--color-text, #0c1a2e);transition:background-color .2s ease,color .2s ease}input,select,textarea{background-color:var(--color-surface, #ffffff);color:var(--color-text, #0c1a2e);border-color:var(--color-border, #bae6fd);transition:border-color .15s ease,background-color .2s ease,color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-border-focus, #0369a1);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #0369a1) 20%,transparent)}button{transition:background-color .15s ease,color .15s ease,border-color .15s ease}.app-header .profile-header-btn--account{color:#fff;background-color:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb)}.app-header .profile-header-btn--account:hover{color:#fff;background-color:var(--color-primary-dark, var(--color-primary, #2563eb))}.app-header .profile-header-btn--guest{color:var(--color-text-muted, #64748b);border-style:dashed;background-color:color-mix(in srgb,var(--color-border, #e0e0e0) 35%,transparent)}.app-header .profile-header-btn--guest:hover{color:var(--color-primary, #2563eb);border-style:dashed}.theme-light .app-header .profile-header-btn--account{color:var(--color-primary-dark, #1e293b);background-color:#fff;border-color:#fff}.theme-light .app-header .profile-header-btn--account:hover{color:var(--color-primary-dark, #1e293b);background-color:#ffffffe6}.theme-light .app-header .profile-header-btn--guest{color:#fff;border-color:#ffffffb3;background-color:#ffffff14}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--color-background, #f0f9ff)}::-webkit-scrollbar-thumb{background:var(--color-border, #bae6fd);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted, #4b6a8a)}::selection{background-color:var(--color-primary-light, #e0f2fe);color:var(--color-text, #0c1a2e)}@media (max-width: 767px){input[type=text],input[type=password],input[type=date],input[type=email],input[type=search],textarea,select{font-size:16px!important}}.btn{padding:.4rem 1rem;font-size:.9rem;border:1px solid var(--color-border, #bae6fd);border-radius:4px;cursor:pointer;font-family:inherit;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary, #0369a1);color:#fff;border-color:var(--color-primary, #0369a1)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark, #075985);border-color:var(--color-primary-dark, #075985)}.btn-secondary{background-color:var(--color-surface, #ffffff);color:var(--color-text, #0c1a2e);border-color:var(--color-border, #bae6fd)}.btn-secondary:hover:not(:disabled){background-color:var(--color-border, #bae6fd);border-color:var(--color-primary, #0369a1);color:var(--color-text, #0c1a2e)}.pdf-footer{display:none}@media print{@page{margin:0}body{margin:0}.expense-insight-report .app-header,.expense-insight-report .insight-page-heading,app-change-passcode-dialog{display:none!important}.expense-insight-report .page-content{-webkit-box-decoration-break:clone;box-decoration-break:clone;gap:1.25rem!important;max-width:none!important;padding:12mm!important}.expense-insight-report.appunti-layout{display:block!important;max-width:none!important;padding:0!important}.expense-insight-report .page-content:before{content:"Expense Insights by MiaPunti.com";display:block;margin:0 0 .75rem;text-align:center;font-size:1.5rem;font-weight:700;grid-column:1 / -1}.expense-insight-report .insight-summary{grid-template-columns:minmax(0,.85fr) minmax(0,2.15fr)!important;align-items:stretch}.expense-insight-report .summary-card--budget-tiers{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;align-content:start;gap:.75rem!important}.expense-insight-report .summary-card--budget-tiers .summary-label{grid-column:1 / -1}.expense-insight-report .summary-card--budget-tiers .budget-tier-comparison{border-top:0!important;border-left:0!important;padding:0!important}.expense-insight-report .tier-month-row{grid-template-columns:96px minmax(0,1fr)!important;align-items:center!important;gap:.75rem!important;padding:0!important;border-top:0!important}.expense-insight-report .tier-month-label{font-size:inherit!important;text-align:right!important}.expense-insight-report .tier-month-bar{gap:.6rem!important}.expense-insight-report .tier-month-bar__track{height:28px!important}.expense-insight-report .tier-month-total{flex-basis:5.5rem!important;font-size:.82rem!important}.expense-insight-report .tier-month-breakdown{display:flex!important;grid-template-columns:none!important;gap:.4rem!important;flex-wrap:wrap!important}.expense-insight-report .tier-month-breakdown__item{justify-content:flex-start!important;gap:.3rem!important;padding:.18rem .5rem!important;font-size:.72rem!important;white-space:normal!important}.expense-insight-report .tier-month-breakdown__item span{overflow:visible!important;text-overflow:clip!important}.expense-insight-report .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.expense-insight-report .insight-card--wide{grid-column:span 2!important}.expense-insight-report .insight-summary>:only-child,.expense-insight-report .insight-grid>:only-child,.expense-insight-report .insight-grid>:last-child:nth-child(odd){grid-column:1 / -1!important}.expense-insight-report .insight-card,.expense-insight-report .summary-card{break-inside:avoid;page-break-inside:avoid;margin-top:4mm;box-shadow:none!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}.expense-insight-report .insight-grid,.expense-insight-report .insight-summary{margin-block:0 1rem}.expense-insight-report .insight-summary,.expense-insight-report .insight-grid--budget-tier-trend,.expense-insight-report .insight-grid--category-trend{break-inside:avoid;page-break-inside:avoid}.expense-insight-report .category-trend-focus-card{position:static!important}.expense-insight-report .ctc-s{grid-template-columns:repeat(3,minmax(0,1fr))!important}.expense-insight-report .ctc-i{padding:.7rem!important;break-inside:avoid;page-break-inside:avoid}.expense-insight-report .insight-card--largest-expenses{align-self:stretch}.expense-insight-report .insight-card--largest-expenses .top-transactions{gap:0!important;margin-top:.75rem!important}.expense-insight-report .insight-card--largest-expenses .transaction-row,.expense-insight-report .transaction-row{flex-direction:row!important;align-items:center!important;justify-content:space-between!important}.expense-insight-report .insight-card--largest-expenses .transaction-row{padding:.5rem 0!important}.expense-insight-report .transaction-amount{align-items:flex-end!important}}app-expenses-insight-page{display:block;width:100%}.expense-insight-report .insight-page-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:0}.expense-insight-report .insight-filter-row,.expense-insight-report .chart-visibility-control{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.75rem}.expense-insight-report .insight-filter-row .expense-filter{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text, #1f2937);font-size:.85rem}.expense-insight-report .insight-filter-row .expense-filter input{padding:.35rem .55rem;border:1px solid var(--color-border, #d1d5db);border-radius:6px;background:var(--color-surface, #fff);color:var(--color-text, #1f2937)}.expense-insight-report .chart-visibility-control{position:relative;gap:.45rem}.expense-insight-report .insight-download-btn{display:inline-flex;align-items:center;padding:.5rem .75rem;border:1px solid var(--color-border, #d1d5db);border-radius:4px;background:var(--color-surface, #fff);color:var(--color-text, #1f2937);cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.expense-insight-report .insight-download-btn:hover{border-color:var(--color-primary, #2563eb);color:var(--color-primary, #2563eb);background-color:var(--color-surface-alt, var(--color-surface, #fff))}.expense-insight-report .page-content{display:grid;gap:1rem;max-width:1120px;margin:0 auto}.expense-insight-report .insight-summary,.expense-insight-report .insight-grid{display:grid;gap:1rem;margin:0}.expense-insight-report .insight-summary{grid-template-columns:1fr}.expense-insight-report .insight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-insight-report .summary-card,.expense-insight-report .insight-card,.expense-insight-report .charts-hidden-card{border:1px solid var(--color-border, #d1d5db);border-radius:16px;background:var(--color-surface, #fff);box-shadow:0 8px 24px #0f172a0f;padding:1rem}.expense-insight-report .summary-card strong{display:block;margin-top:.25rem;color:var(--color-text, #1f2937);font-size:1.25rem}.expense-insight-report .summary-detail{display:block;margin-top:.3rem;color:var(--color-text-muted, #64748b);font-size:.82rem}.expense-insight-report .summary-label{color:var(--color-text-muted, #64748b);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.expense-insight-report .summary-card--budget-tiers{gap:.75rem}.expense-insight-report .insight-card{overflow:hidden}.expense-insight-report .insight-card--wide{grid-column:span 2}.expense-insight-report .insight-summary>:only-child,.expense-insight-report .insight-grid>:only-child,.expense-insight-report .insight-grid>:last-child:nth-child(odd){grid-column:1 / -1}.expense-insight-report .insight-card-header,.expense-insight-report .bar-row-label,.expense-insight-report .transaction-row,.expense-insight-report .transaction-amount{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.expense-insight-report .insight-card h3,.expense-insight-report .charts-hidden-card h3{margin:0 0 .35rem;color:var(--color-text, #1f2937);font-size:1rem}.expense-insight-report .insight-card p,.expense-insight-report .charts-hidden-card p{margin:0;color:var(--color-text-muted, #64748b);font-size:.9rem}.expense-insight-report .line-chart{margin-top:1rem;padding:.75rem;border-radius:12px;background:color-mix(in srgb,var(--color-primary, #2563eb) 5%,transparent)}.expense-insight-report .line-chart:not(.line-chart--category-trend) svg{display:block;width:100%;height:180px}.expense-insight-report .chart-axis{stroke:var(--color-border, #d1d5db);stroke-width:1.25}.expense-insight-report .chart-grid-line{stroke:color-mix(in srgb,var(--color-border, #e5e7eb) 75%,transparent);stroke-width:1;stroke-dasharray:3 4}.expense-insight-report .line-chart-path{fill:none;stroke:var(--series-color, var(--color-primary, #2563eb));stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px rgba(15,23,42,.12))}.expense-insight-report .line-chart-point{fill:var(--series-color, var(--color-primary, #2563eb));stroke:var(--color-surface, #fff);stroke-width:1.5}.expense-insight-report .line-chart-point--latest{stroke-width:2}.expense-insight-report .category-trend-month-label{fill:var(--color-text-muted, #64748b);font-size:.55rem;font-weight:700}.expense-insight-report .donut-chart{position:relative;width:min(210px,70vw);margin:1rem auto}.expense-insight-report .donut-chart svg{display:block;width:100%;transform:rotate(-90deg)}.expense-insight-report .donut-track,.expense-insight-report .donut-segment{fill:none;stroke-width:6}.expense-insight-report .donut-track{stroke:var(--color-background, #f1f5f9)}.expense-insight-report .donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text, #1f2937)}.expense-insight-report .donut-center strong{font-size:1.35rem}.expense-insight-report .donut-center span{max-width:8rem;color:var(--color-text-muted, #64748b);font-size:.8rem}.expense-insight-report .legend-list,.expense-insight-report .horizontal-bars,.expense-insight-report .top-transactions,.expense-insight-report .insight-list{display:grid;gap:.5rem;margin-top:1rem}.expense-insight-report .legend-item{display:flex;align-items:center;gap:.45rem;color:var(--color-text-muted, #64748b);font-size:.85rem}.expense-insight-report .legend-item strong{margin-left:auto;color:var(--color-text, #1f2937)}.expense-insight-report .legend-dot{width:.65rem;height:.65rem;border-radius:999px;flex:0 0 auto}.expense-insight-report .bar-row-label{margin-bottom:.3rem;color:var(--color-text, #1f2937);font-size:.88rem}.expense-insight-report .bar-row-label strong{color:var(--color-text-muted, #64748b)}.expense-insight-report .bar-track{height:.75rem;border-radius:999px;background:var(--color-background, #f1f5f9);overflow:hidden}.expense-insight-report .bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary, #2563eb),#22c55e)}.expense-insight-report .day-bars{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:end;gap:.45rem;min-height:180px;margin-top:1rem}.expense-insight-report .day-bar{display:grid;justify-items:center;gap:.35rem;min-width:0;color:var(--color-text-muted, #6b7280);font-size:.72rem;text-align:center}.expense-insight-report .day-bar-column{position:relative;display:flex;align-items:flex-end;width:22px;height:130px;border-radius:999px;overflow:hidden}.expense-insight-report .day-bar-fill{display:block;width:100%;border-radius:999px 999px 0 0}.expense-insight-report .day-bar strong{color:var(--color-text, #1f2937);font-size:.78rem}.expense-insight-report .heatmap-panel{display:grid;gap:.5rem}.expense-insight-report .heatmap-range{font-size:.8rem;font-weight:700;color:var(--color-text, #1f2937)}.expense-insight-report .heatmap-weekdays,.expense-insight-report .heatmap{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.expense-insight-report .heatmap-weekdays span{text-align:center;font-size:.68rem;font-weight:700;color:var(--color-text-muted, #6b7280)}.expense-insight-report .heatmap-cell{position:relative;min-height:34px;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;background:var(--color-surface, #fff);color:var(--color-text-muted, #6b7280);touch-action:manipulation}.expense-insight-report .heatmap-cell__day{position:absolute;top:.25rem;left:.35rem;font-size:.68rem;font-weight:700;line-height:1}.expense-insight-report .heatmap-cell--today{outline:2px solid var(--color-primary, #2563eb);outline-offset:2px}.expense-insight-report .heatmap-cell--selected{z-index:3;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary, #2563eb) 55%,transparent)}.expense-insight-report .heatmap-cell__tooltip{position:absolute;left:50%;bottom:calc(100% + .45rem);z-index:5;transform:translate(-50%);border-radius:999px;background:#0f172af0;color:#fff;box-shadow:0 8px 20px #0f172a3d;padding:.24rem .48rem;font-size:.68rem;font-weight:800;line-height:1;pointer-events:none;white-space:nowrap}.expense-insight-report .heatmap-cell__tooltip:after{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:5px solid transparent;border-top-color:#0f172af0}.expense-insight-report .heatmap-cell--today:after{content:"Today";position:absolute;right:.25rem;bottom:.2rem;font-size:.5rem;font-weight:800;letter-spacing:.02em;color:var(--color-primary, #2563eb)}.expense-insight-report .heatmap-level-0{background:color-mix(in srgb,var(--color-border, #e5e7eb) 45%,var(--color-surface, #fff))}.expense-insight-report .heatmap-level-1{background:#dcfce7}.expense-insight-report .heatmap-level-2{background:#a3e635}.expense-insight-report .heatmap-level-3{background:#f97316;color:#fff}.expense-insight-report .heatmap-level-4{background:#dc2626;color:#fff}.expense-insight-report .heatmap-legend{display:flex;align-items:center;justify-content:flex-end;gap:.3rem;font-size:.7rem;color:var(--color-text-muted, #6b7280)}.expense-insight-report .heatmap-legend-cell{width:16px;height:16px;border:1px solid var(--color-border, #e5e7eb);border-radius:4px}.expense-insight-report .transaction-row{padding:.7rem 0;border-bottom:1px solid var(--color-border, #e5e7eb)}.expense-insight-report .transaction-row:last-child{border-bottom:0}.expense-insight-report .transaction-row strong{color:var(--color-text, #1f2937)}.expense-insight-report .transaction-row span,.expense-insight-report .transaction-amount span{display:block;margin-top:.15rem;color:var(--color-text-muted, #64748b);font-size:.8rem}.expense-insight-report .transaction-amount{flex-direction:column;align-items:flex-end;gap:0;white-space:nowrap}.expense-insight-report .transaction-amount sup{margin-left:.08rem;color:var(--color-primary, #2563eb);font-size:.72em}.expense-insight-report .largest-expenses-help{margin:.35rem 0 0;color:var(--color-text-muted, #6b7280);font-size:.78rem;font-weight:400}.expense-insight-report .insight-list{padding-left:1.1rem;color:var(--color-text, #1f2937);font-size:.88rem}.expense-insight-report .empty-chart,.expense-insight-report .charts-hidden-card{color:var(--color-text-muted, #64748b);background:color-mix(in srgb,var(--color-primary, #2563eb) 5%,var(--color-surface, #fff))}.expense-insight-report .empty-chart{margin-top:1rem}.expense-insight-report .budget-tier-comparison{display:grid;gap:.2rem;padding:.7rem 0;border-top:1px solid var(--color-border, #e5e7eb)}.expense-insight-report .budget-tier-comparison:first-of-type{border-top:0;padding-top:0}.expense-insight-report .budget-tier-comparison strong{color:var(--tier-color, var(--color-text, #1f2937))}.expense-insight-report .budget-tier-comparison--essential{--tier-color: #2e7d32}.expense-insight-report .budget-tier-comparison--comfort{--tier-color: #7b1fa2}.expense-insight-report .budget-tier-comparison--luxury{--tier-color: #c2185b}.expense-insight-report .budget-tier-comparison--major{--tier-color: #2563eb}.expense-insight-report .tier-month-chart{display:grid;gap:.75rem}.expense-insight-report .tier-month-legend{display:flex;align-items:center;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;font-size:.78rem;font-weight:700;color:var(--color-text-muted, #6b7280)}.expense-insight-report .tier-month-legend__item{display:inline-flex;align-items:center;gap:.35rem}.expense-insight-report .tier-month-legend__item:before{content:"";width:.7rem;height:.7rem;border-radius:3px;background:var(--tier-color)}.expense-insight-report .tier-month-legend__item--essential{--tier-color: #2e7d32}.expense-insight-report .tier-month-legend__item--comfort{--tier-color: #f97316}.expense-insight-report .tier-month-legend__item--luxury{--tier-color: #c2185b}.expense-insight-report .tier-month-legend__item--major{--tier-color: #2563eb}.expense-insight-report .tier-month-row{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:.75rem}.expense-insight-report .tier-month-label{min-width:0;font-weight:700;color:var(--color-text, #1f2937);text-align:right;white-space:nowrap}.expense-insight-report .tier-month-bar{display:flex;align-items:center;gap:.6rem;min-width:0}.expense-insight-report .tier-month-details{display:grid;gap:.4rem;min-width:0}.expense-insight-report .tier-month-bar__track{display:flex;flex:1 1 auto;width:100%;height:28px;border-radius:6px;background:transparent;overflow:hidden}.expense-insight-report .tier-month-bar__segment{display:block;height:100%;min-width:0}.expense-insight-report .tier-month-bar__segment--essential{background:#2e7d32}.expense-insight-report .tier-month-bar__segment--comfort{background:#f97316}.expense-insight-report .tier-month-bar__segment--luxury{background:#c2185b}.expense-insight-report .tier-month-bar__segment--major{background:#2563eb}.expense-insight-report .tier-month-total{flex:0 0 5.5rem;color:var(--color-text, #1f2937);font-size:.82rem;text-align:left;white-space:nowrap}.expense-insight-report .tier-month-breakdown{display:flex;gap:.4rem;flex-wrap:wrap}.expense-insight-report .tier-month-breakdown__item{display:inline-flex;align-items:center;gap:.3rem;min-width:0;border:1px solid color-mix(in srgb,var(--tier-color) 35%,var(--color-border, #e5e7eb));border-radius:999px;background:color-mix(in srgb,var(--tier-color) 9%,var(--color-surface, #fff));color:var(--color-text, #1f2937);padding:.18rem .5rem;font-size:.72rem}.expense-insight-report .tier-month-breakdown__item strong{color:var(--tier-color);white-space:nowrap}.expense-insight-report .tier-month-breakdown__item--essential{--tier-color: #2e7d32}.expense-insight-report .tier-month-breakdown__item--comfort{--tier-color: #f97316}.expense-insight-report .tier-month-breakdown__item--luxury{--tier-color: #c2185b}.expense-insight-report .tier-month-breakdown__item--major{--tier-color: #2563eb}.expense-insight-report .line-chart--category-trend{display:grid;gap:.5rem;margin-top:.5rem;padding:.4rem}.expense-insight-report .insight-grid--category-trend .insight-card{padding:.75rem}.expense-insight-report .insight-grid--category-trend .insight-card h3{margin-bottom:.2rem}.expense-insight-report .insight-grid--category-trend .insight-card p{font-size:.82rem}.expense-insight-report .category-trend-panel{border:1px solid color-mix(in srgb,var(--color-primary, #2563eb) 18%,var(--color-border, #e5e7eb));border-radius:12px;background:linear-gradient(180deg,#eff8fff2,#fffffffa),var(--color-surface, #fff);box-shadow:inset 0 0 0 1px #ffffffbf;overflow:hidden;padding:.3rem .35rem .05rem}.expense-insight-report .line-chart--category-trend svg{display:block;width:100%;height:auto;overflow:visible}.expense-insight-report .category-trend-focus-line{stroke:var(--color-primary, #2563eb);stroke-width:1;opacity:.85;pointer-events:none}.expense-insight-report .category-trend-hit-zone{fill:transparent;cursor:pointer;outline:none}.expense-insight-report .category-trend-hit-zone--active,.expense-insight-report .category-trend-hit-zone:focus-visible{fill:color-mix(in srgb,var(--color-primary, #2563eb) 9%,transparent)}.expense-insight-report .category-trend-focus-card{position:sticky;bottom:.5rem;z-index:2;display:grid;gap:.35rem;border:1px solid color-mix(in srgb,var(--color-primary, #2563eb) 20%,var(--color-border, #e5e7eb));border-radius:10px;background:color-mix(in srgb,var(--color-surface, #fff) 92%,var(--color-background, #f8fafc));box-shadow:0 8px 20px #0f172a1a;padding:.55rem;animation:expense-insight-category-trend-card-enter .16s ease-out}@keyframes expense-insight-category-trend-card-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.expense-insight-report .category-trend-focus-card__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;color:var(--color-text, #1f2937)}.expense-insight-report .category-trend-focus-card__header span{font-weight:700}.expense-insight-report .category-trend-focus-card__header strong{white-space:nowrap}.expense-insight-report .category-trend-focus-card__items{display:grid;gap:.25rem}.expense-insight-report .category-trend-focus-card__item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.35rem;font-size:.75rem}.expense-insight-report .category-trend-focus-card__item .legend-dot{background:var(--series-color, var(--color-primary, #2563eb))}.expense-insight-report .category-trend-focus-card__item span:not(.legend-dot){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-insight-report .category-trend-focus-card__item strong{color:var(--color-text, #1f2937);white-space:nowrap}.expense-insight-report .category-trend-focus-card__empty{margin:0;color:var(--color-text-muted, #64748b);font-size:.78rem}.expense-insight-report .ctc{display:grid;gap:.4rem}.expense-insight-report .ctc-i{border:1px solid var(--color-border, #e5e7eb);border-radius:10px;padding:.5rem}.expense-insight-report .ctc-t{display:flex;align-items:center;gap:.35rem;margin-bottom:.3rem}.expense-insight-report .ctc-t .legend-dot{background:var(--series-color, var(--color-primary, #2563eb))}.expense-insight-report .ctc-t strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-insight-report .ctc-s{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.expense-insight-report .ctc-s span{display:grid}.expense-insight-report .ctc-s small{color:var(--color-text-muted, #64748b);font-size:.68rem;font-weight:700}.expense-insight-report .ctc-s strong{color:var(--color-text, #1f2937);font-size:.78rem;overflow-wrap:anywhere}.expense-insight-report .ctc-s .up{color:#b45309}.expense-insight-report .ctc-s .down{color:#15803d}.expense-insight-report .ctc-s .neutral{color:var(--color-text-muted, #64748b)}@media (min-width: 900px){.expense-insight-report .insight-summary{grid-template-columns:minmax(0,.85fr) minmax(0,2.15fr);align-items:stretch}.expense-insight-report .summary-card--budget-tiers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:start}.expense-insight-report .summary-card--budget-tiers .summary-label{grid-column:1 / -1}.expense-insight-report .budget-tier-comparison{border-top:0;border-left:1px solid var(--color-border, #e5e7eb);padding:0 0 0 .75rem}.expense-insight-report .budget-tier-comparison:first-of-type{border-left:0;padding-left:0}.expense-insight-report .summary-card--budget-tiers .budget-tier-comparison{border-top:0;border-left:0;padding:0}.expense-insight-report .insight-card--heatmap,.expense-insight-report .insight-card--largest-expenses{align-self:stretch}.expense-insight-report .insight-card--heatmap .heatmap{gap:.25rem}.expense-insight-report .insight-card--heatmap .heatmap-cell{min-height:28px;border-radius:6px}.expense-insight-report .insight-card--largest-expenses .top-transactions{gap:0;margin-top:.75rem}.expense-insight-report .insight-card--largest-expenses .transaction-row{padding:.5rem 0}}@media (max-width: 767px){.expense-insight-report .insight-page-heading,.expense-insight-report .bar-row-label,.expense-insight-report .transaction-row{align-items:stretch;flex-direction:column}.expense-insight-report .insight-filter-row,.expense-insight-report .chart-visibility-control{width:100%}.expense-insight-report .insight-filter-row .expense-filter{flex:1 1 100%}.expense-insight-report .insight-summary,.expense-insight-report .insight-grid{grid-template-columns:1fr}.expense-insight-report .insight-card--wide{grid-column:auto}.expense-insight-report .transaction-amount{align-items:flex-start}}@media (max-width: 767px),(pointer: coarse){.expense-insight-report .insight-filter-row{width:100%;flex-wrap:nowrap;gap:.5rem}.expense-insight-report .insight-filter-row .expense-filter{flex:1 1 0;min-width:0}.expense-insight-report .insight-filter-row .expense-filter input{width:100%;min-width:0}.expense-insight-report .tier-month-row{grid-template-columns:1fr;gap:.35rem;padding:.55rem 0;border-top:1px solid var(--color-border, #e5e7eb)}.expense-insight-report .tier-month-row:first-of-type{border-top:0;padding-top:0}.expense-insight-report .tier-month-label{font-size:.78rem;text-align:left}.expense-insight-report .tier-month-bar{gap:.45rem}.expense-insight-report .tier-month-bar__track{height:24px}.expense-insight-report .tier-month-total{flex-basis:4.5rem;font-size:.76rem}.expense-insight-report .tier-month-breakdown{display:flex;flex-wrap:wrap;gap:.25rem}.expense-insight-report .tier-month-breakdown__item{flex:0 0 auto;width:fit-content;max-width:100%;gap:.2rem;padding:.14rem .35rem;font-size:.56rem;white-space:nowrap}.expense-insight-report .line-chart-path{stroke-width:1.8}.expense-insight-report .category-trend-focus-card{bottom:.35rem;padding:.45rem}.expense-insight-report .category-trend-focus-card__item{font-size:.7rem}.expense-insight-report .ctc-s{grid-template-columns:1fr}.expense-insight-report .ctc-i{padding:.45rem}.expense-insight-report .day-bars{gap:.25rem;min-height:150px}.expense-insight-report .day-bar-column{width:16px;height:105px}.expense-insight-report .day-bar{font-size:.62rem}.expense-insight-report .heatmap-weekdays,.expense-insight-report .heatmap{gap:.25rem}.expense-insight-report .heatmap-cell{min-height:30px;border-radius:6px}.expense-insight-report .heatmap-cell__day{top:.2rem;left:.25rem;font-size:.62rem}.expense-insight-report .heatmap-cell--today:after{content:""}}
