@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:Geist Variable,Geist,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;color:#111827;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #ffffff;--bg-2: #f5f8ff;--panel: #ffffff;--panel-2: #f7f9fc;--panel-3: #eaf1ff;--text: #111827;--muted: #5f6b7a;--soft: #8792a1;--line: #e7edf6;--green: #2f6fc9;--green-2: #1d58b8;--cream: #111827;--blue: #2f6fc9;--gold: #2f6fc9;--coral: #ef6b4a;--brand-blue: #2f6fc9;--brand-blue-dark: #174ea6;--brand-blue-soft: #eaf2ff;--brand-ink: #111827;--brand-muted: #64748b;--brand-border: #e2e8f0;--brand-shadow: 0 24px 70px rgba(31, 86, 168, .12);--shadow: var(--brand-shadow)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;color:var(--brand-ink);background:radial-gradient(circle at 14% 10%,rgba(47,111,201,.08),transparent 34%),linear-gradient(180deg,#fff,#f7faff 54%,#fff)}html[data-theme=dark] body{color:#e8eef6;background:#0f1419}a{color:inherit;text-decoration:none}button,input{font:inherit}button:disabled{cursor:not-allowed;opacity:.65}.app-shell{min-height:100vh;overflow:hidden;color:var(--brand-ink);background:transparent}.landing-shell{min-height:100vh;display:flex;flex-direction:column;color:var(--brand-ink);background:#fff}.site-header{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:1.1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;color:var(--brand-ink)}.brand{display:inline-flex;align-items:center;gap:.7rem;font-size:clamp(1.02rem,2vw,1.2rem);font-weight:950;color:var(--brand-ink)}.brand-mark{display:grid;place-items:center;overflow:hidden;width:42px;height:42px;border:1px solid rgba(47,111,201,.18);border-radius:12px;color:transparent;background:#eef5ff}.brand-mark img{width:100%;height:100%;object-fit:contain;transform:scale(1.45)}.eyebrow{margin:0 0 1rem;color:var(--brand-blue);font-size:.82rem;font-weight:760;letter-spacing:0;text-transform:uppercase}.empty-state,.status-message{margin:0;color:var(--dash-muted, #5f6b7a);line-height:1.55}.expense-table-panel>.empty-state,.expense-grid-panel>.empty-state{padding:2rem 1.1rem}.expense-app{--dash-bg: #f6f9fe;--dash-panel: #ffffff;--dash-sidebar: #fbfcfe;--dash-text: #172033;--dash-muted: #64748b;--dash-soft: #94a3b8;--dash-line: #e8eef6;--dash-line-strong: #e2e8f0;--dash-hover: #f1f5f9;--dash-accent: var(--brand-blue);--dash-accent-soft: var(--brand-blue-soft);--dash-shadow: 0 12px 32px rgba(15, 23, 42, .06);--insights-chart-1: #2f6fc9;--insights-chart-2: #6d5ce7;--insights-chart-3: #22a6a1;--insights-chart-4: #f59e42;--insights-chart-5: #e55d87;--insights-chart-6: #84b64c;--insights-chart-other: #a2aec0;display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh;color:var(--dash-text);background:var(--dash-bg);font-family:Geist Variable,Geist,system-ui,-apple-system,Segoe UI,Helvetica,Arial,sans-serif;font-weight:450;letter-spacing:-.01em}.expense-app button,.expense-app input,.expense-app select,.expense-app textarea{font-family:inherit;letter-spacing:inherit}.expense-app[data-theme=dark]{--dash-bg: #0f1419;--dash-panel: #171d25;--dash-sidebar: #121820;--dash-text: #e8eef6;--dash-muted: #94a3b8;--dash-soft: #64748b;--dash-line: #243041;--dash-line-strong: #2c3a4d;--dash-hover: #1c2430;--dash-accent: #5b9dff;--dash-accent-soft: rgba(91, 157, 255, .14);--dash-shadow: 0 12px 32px rgba(0, 0, 0, .28);--brand-blue: #5b9dff;--brand-blue-dark: #8bb8ff;--brand-blue-soft: rgba(91, 157, 255, .14);--brand-border: #243041;--brand-ink: #e8eef6;--brand-muted: #94a3b8;--insights-chart-1: #6ca8ff;--insights-chart-2: #9b8cff;--insights-chart-3: #49c9c1;--insights-chart-4: #f7b45c;--insights-chart-5: #f17ca1;--insights-chart-6: #a3cf69;--insights-chart-other: #718096}.expense-sidebar{position:sticky;top:0;display:flex;flex-direction:column;justify-content:space-between;gap:1.25rem;height:100vh;padding:1.35rem 1rem 1.1rem;border-right:1px solid var(--dash-line);color:var(--dash-text);background:var(--dash-sidebar)}.expense-sidebar-top{display:flex;flex-direction:column;gap:1.75rem;min-height:0}.expense-sidebar .brand{margin:0 .35rem;font-size:1.02rem}.dashboard-brand{margin-bottom:0}.side-nav{display:flex;flex-direction:column;gap:.15rem}.side-nav-label{margin:0 0 .4rem .65rem;color:var(--dash-soft);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.side-nav-item{display:flex;align-items:center;gap:.7rem;width:100%;margin:0;padding:.7rem .65rem;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--dash-muted);font:inherit;font-size:.94rem;font-weight:480;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:color .15s ease}.side-nav-item:hover{color:var(--dash-text);background:transparent}.side-nav-item svg{flex-shrink:0;opacity:.8}.side-nav-item.is-active{color:var(--dash-accent);background:transparent;box-shadow:none;font-weight:560}.side-nav-item.is-active svg{opacity:1}.side-nav-settings{margin-top:auto;border-top:1px solid var(--dash-line);padding-top:.85rem}.expense-workspace{display:flex;flex-direction:column;min-width:0;min-height:100vh}.expense-global-bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem 1.25rem;padding:.95rem 1.5rem;border-bottom:1px solid var(--dash-line);background:var(--dash-panel)}.expense-global-title{margin:0;color:var(--dash-text);font-size:1.1rem;font-weight:560;letter-spacing:-.02em}.expense-global-search{position:relative;justify-self:center;width:min(420px,100%)}.expense-search-icon{position:absolute;top:50%;left:.9rem;display:grid;place-items:center;color:var(--dash-soft);transform:translateY(-50%);pointer-events:none}.expense-global-search input{width:100%;border:1px solid var(--dash-line-strong);border-radius:999px;padding:.7rem 1rem .7rem 2.45rem;color:var(--dash-text);background:var(--dash-bg);outline:0}.expense-global-search input:focus{border-color:var(--dash-accent);box-shadow:0 0 0 3px var(--dash-accent-soft)}.expense-global-search input:disabled{opacity:.55}.expense-global-actions{display:flex;align-items:center;gap:.85rem}.theme-toggle{margin:0;padding:0;border:0;background:transparent;cursor:pointer}.theme-toggle-track{display:inline-flex;align-items:center;gap:.45rem;min-width:78px;padding:.28rem .55rem .28rem .3rem;border:1px solid var(--dash-line-strong);border-radius:999px;background:var(--dash-bg);color:var(--dash-muted);font-size:.78rem;font-weight:600}.theme-toggle-thumb{width:18px;height:18px;border-radius:50%;background:var(--dash-accent);box-shadow:0 2px 6px #2f6fc947}.theme-toggle-track[data-mode=dark]{flex-direction:row-reverse;padding:.28rem .3rem .28rem .55rem}.theme-toggle-label{min-width:2.2rem}.expense-main{display:flex;flex-direction:column;gap:.9rem;min-width:0;flex:1;padding:1.25rem 1.5rem 1.5rem}.expense-panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.expense-panel-heading{display:inline-flex;align-items:center;gap:.7rem}.expense-panel-icon{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--dash-line);border-radius:10px;color:var(--dash-accent);background:var(--dash-panel)}.expense-panel-heading h2{margin:0;color:var(--dash-text);font-size:1.15rem;font-weight:560;letter-spacing:-.02em}.expense-panel-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.ghost-button{border:1px solid var(--dash-line-strong);border-radius:999px;padding:.55rem .9rem;color:var(--dash-text);background:var(--dash-panel);cursor:pointer;font-weight:600;font-size:.88rem}.ghost-button:hover{border-color:var(--dash-accent);color:var(--dash-accent)}.topbar-actions{position:relative;display:flex;align-items:center;gap:.85rem}.new-expense-button,.save-button{border:0;border-radius:999px;padding:.7rem 1.05rem;color:#fff;background:var(--dash-accent);cursor:pointer;font-weight:650;font-size:.9rem;box-shadow:0 8px 18px #2f6fc933}.new-expense-button:hover,.save-button:hover{filter:brightness(.96)}.dashboard-placeholder{display:grid;place-content:start;gap:.5rem;margin-top:1.5rem;padding:1.5rem;border:1px solid var(--dash-line);border-radius:16px;background:var(--dash-panel);box-shadow:var(--dash-shadow)}.dashboard-placeholder h2{margin:0;color:var(--dash-text);font-size:1.2rem;font-weight:650}.dashboard-placeholder p{margin:0;max-width:36rem;color:var(--dash-muted);line-height:1.55}.insights-dashboard{display:flex;flex-direction:column;gap:1rem;min-width:0}.insights-heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem}.insights-heading-row>div:first-child{min-width:0}.insights-eyebrow{margin:0 0 .3rem;color:var(--dash-accent);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.insights-heading-row h2{margin:0;color:var(--dash-text);font-size:clamp(1.35rem,2.3vw,1.8rem);font-weight:650;letter-spacing:-.035em}.insights-heading-row p:last-child{margin:.35rem 0 0;color:var(--dash-muted);font-size:.92rem}.insights-controls,.insights-custom-range{display:flex;align-items:flex-end;gap:.65rem;flex-shrink:0}.insights-controls label,.insights-custom-range label{display:grid;gap:.3rem;color:var(--dash-muted);font-size:.72rem;font-weight:600}.insights-controls select,.insights-custom-range input{min-width:150px;min-height:40px;border:1px solid var(--dash-line-strong);border-radius:10px;padding:.55rem 2rem .55rem .7rem;color:var(--dash-text);background-color:var(--dash-panel);outline:0;font-size:.86rem;font-weight:520}.insights-controls select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center}.insights-controls select:focus,.insights-custom-range input:focus{border-color:var(--dash-accent);box-shadow:0 0 0 3px var(--dash-accent-soft)}.insights-controls select:disabled{color:var(--dash-soft);cursor:not-allowed}.insights-custom-range{align-self:flex-end;flex-wrap:wrap;padding:.75rem;border:1px solid var(--dash-line);border-radius:12px;background:var(--dash-panel)}.insights-custom-range input{min-width:165px;padding-right:.7rem}.insights-control-error{align-self:center;margin:0;color:var(--coral);font-size:.82rem;font-weight:600}.insights-content{display:flex;flex-direction:column;gap:1rem;min-width:0;transition:opacity .15s ease}.insights-content.is-refreshing{opacity:.58;pointer-events:none}.insights-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.insights-kpi-card,.insights-card,.insights-state-card,.insights-empty-banner{border:1px solid var(--dash-line);background:var(--dash-panel);box-shadow:var(--dash-shadow)}.insights-kpi-card{position:relative;display:grid;align-content:start;min-width:0;min-height:148px;padding:1rem;border-radius:15px}.insights-kpi-icon{position:absolute;top:.9rem;right:.9rem;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--dash-accent);background:var(--dash-accent-soft);font-size:.86rem;font-weight:700}.insights-kpi-card p{max-width:calc(100% - 36px);margin:0 0 .65rem;color:var(--dash-muted);font-size:.82rem;font-weight:560}.insights-kpi-card>strong{overflow:hidden;margin-bottom:.45rem;color:var(--dash-text);font-size:clamp(1.38rem,2.35vw,1.85rem);font-weight:650;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}.insights-kpi-primary{border-color:color-mix(in srgb,var(--dash-accent) 26%,var(--dash-line));background:linear-gradient(135deg,var(--dash-accent-soft),transparent 62%),var(--dash-panel)}.insights-kpi-caption,.insights-change{margin-top:auto;color:var(--dash-soft);font-size:.74rem;font-weight:520}.insights-change{color:var(--dash-muted)}.insights-change.is-up{color:#d25b42}.insights-change.is-down{color:#248968}.expense-app[data-theme=dark] .insights-change.is-up{color:#ff927a}.expense-app[data-theme=dark] .insights-change.is-down{color:#61c8a5}.insights-primary-grid,.insights-secondary-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.85fr);gap:1rem;min-width:0}.insights-secondary-grid{grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr)}.insights-card{min-width:0;border-radius:16px;padding:1.1rem}.insights-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.insights-card-header h3{margin:0;color:var(--dash-text);font-size:1rem;font-weight:620;letter-spacing:-.02em}.insights-card-header p{margin:.25rem 0 0;color:var(--dash-muted);font-size:.78rem}.insights-card-total{flex-shrink:0;color:var(--dash-text);font-size:.9rem;font-weight:650}.insights-chart-scroll{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--dash-line-strong) transparent}.insights-chart{width:100%;height:286px}.insights-chart .recharts-text{fill:var(--dash-soft);font-size:.7rem}.insights-chart .recharts-surface,.insights-donut-wrap .recharts-surface{outline:none}.insights-line-chart{height:400px;cursor:pointer}.insights-month-actions{display:flex;gap:.3rem;max-width:100%;margin-top:.35rem;overflow-x:auto;scrollbar-width:none}.insights-month-actions::-webkit-scrollbar{display:none}.insights-month-actions button,.insights-inline-legend button{flex-shrink:0;border:0;border-radius:999px;padding:.3rem .55rem;color:var(--dash-soft);background:transparent;cursor:pointer;font-size:.68rem}.insights-month-actions button:hover,.insights-inline-legend button:hover{color:var(--dash-accent);background:var(--dash-accent-soft)}.insights-donut-layout{display:grid;align-items:center;gap:.7rem}.insights-donut-wrap{position:relative;width:min(220px,100%);height:220px;margin:0 auto}.insights-donut-center{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}.insights-donut-center span{color:var(--dash-soft);font-size:.7rem}.insights-donut-center strong{color:var(--dash-text);font-size:1.15rem;font-weight:650;letter-spacing:-.035em}.insights-category-legend{display:grid;gap:.2rem}.insights-category-legend button{display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:.55rem;width:100%;border:0;border-radius:9px;padding:.45rem;color:var(--dash-text);background:transparent;cursor:pointer;text-align:left}.insights-category-legend button:hover{background:var(--dash-hover)}.insights-legend-dot{width:8px;height:8px;border-radius:50%}.insights-legend-copy{display:grid;min-width:0}.insights-legend-copy strong{overflow:hidden;font-size:.75rem;font-weight:580;text-overflow:ellipsis;white-space:nowrap}.insights-legend-copy small,.insights-category-legend button>span:last-child{color:var(--dash-soft);font-size:.68rem;font-weight:520}.insights-inline-legend{display:flex;flex-wrap:wrap;gap:.2rem .5rem;margin-top:.7rem}.insights-inline-legend button{display:inline-flex;align-items:center;gap:.4rem}.insights-inline-legend button span{width:8px;height:8px;border-radius:50%}.insights-merchant-list{display:grid;gap:.3rem;margin:0;padding:0;list-style:none}.insights-merchant-list button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:.7rem;width:100%;border:0;border-radius:10px;padding:.55rem;color:var(--dash-text);background:transparent;cursor:pointer;text-align:left}.insights-merchant-list button:hover{background:var(--dash-hover)}.insights-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:var(--dash-accent);background:var(--dash-accent-soft);font-size:.72rem;font-weight:650}.insights-merchant-copy,.insights-merchant-value{display:grid;min-width:0}.insights-merchant-copy strong{overflow:hidden;font-size:.82rem;font-weight:580;text-overflow:ellipsis;white-space:nowrap}.insights-merchant-copy small,.insights-merchant-value small{color:var(--dash-soft);font-size:.68rem}.insights-merchant-value{justify-items:end}.insights-merchant-value strong{font-size:.78rem;font-weight:620}.insights-health-group{display:grid;gap:.5rem;padding:.75rem 0;border-top:1px solid var(--dash-line)}.insights-health-group:first-of-type{border-top:0;padding-top:.1rem}.insights-health-copy{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--dash-muted);font-size:.76rem}.insights-health-copy strong{color:var(--dash-text);font-weight:600}.insights-health-track{height:7px;overflow:hidden;border-radius:999px;background:var(--dash-hover)}.insights-health-track span{display:block;height:100%;border-radius:inherit;background:var(--insights-chart-3)}.insights-health-track-alt span{background:var(--insights-chart-2)}.insights-health-group button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;border:1px solid var(--dash-line);border-radius:10px;padding:.6rem .7rem;color:var(--dash-muted);background:var(--dash-bg);cursor:pointer;text-align:left;font-size:.76rem}.insights-health-group button:hover{border-color:var(--dash-accent);color:var(--dash-accent)}.insights-health-group button strong{color:var(--dash-text);font-size:.9rem}.insights-card-empty{display:grid;min-height:180px;place-items:center;margin:0;color:var(--dash-muted);text-align:center}.insights-empty-banner{display:flex;align-items:center;gap:.65rem;border-radius:12px;padding:.75rem .9rem;color:var(--dash-muted);font-size:.82rem}.insights-empty-banner strong{color:var(--dash-text)}.insights-state-card{display:grid;justify-items:center;gap:.45rem;min-height:340px;place-content:center;border-radius:16px;padding:2rem;text-align:center}.insights-state-icon{display:grid;place-items:center;width:46px;height:46px;margin-bottom:.35rem;border-radius:14px;color:var(--dash-accent);background:var(--dash-accent-soft);font-size:1.15rem;font-weight:700}.insights-state-card h3,.insights-state-card p{margin:0}.insights-state-card h3{color:var(--dash-text);font-size:1.05rem}.insights-state-card p{max-width:32rem;color:var(--dash-muted);line-height:1.5}.insights-state-card button{margin-top:.5rem;border:0;border-radius:999px;padding:.65rem 1rem;color:#fff;background:var(--dash-accent);cursor:pointer;font-weight:600}.insights-skeleton{display:grid;gap:1rem}.insights-skeleton-block{position:relative;overflow:hidden;border:1px solid var(--dash-line);border-radius:16px;background:var(--dash-panel)}.insights-skeleton-block:after{position:absolute;inset:0;content:"";background:linear-gradient(100deg,transparent 25%,var(--dash-hover) 48%,transparent 72%);transform:translate(-100%);animation:insights-shimmer 1.4s infinite}.insights-skeleton-kpi{min-height:148px}.insights-skeleton-chart{min-height:360px}.insights-skeleton-wide{min-height:340px}@keyframes insights-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.insights-skeleton-block:after{animation:none}}.profile-button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d9ded8;border-radius:50%;color:#f8fff9;background:#0d2d22;cursor:pointer;font-weight:900}.profile-dropdown{position:absolute;z-index:20;top:calc(100% + .6rem);right:0;display:grid;gap:.65rem;width:220px;padding:1rem;border:1px solid #e3dfd6;border-radius:8px;background:#fffdf8;box-shadow:0 20px 50px #16261c29}.profile-dropdown small{color:#718078}.profile-dropdown button{border:1px solid #e4e1da;border-radius:8px;padding:.7rem .8rem;color:#18362a;background:#f7f5f0;cursor:pointer;text-align:left;font-weight:800}.expense-summary{display:none}.expense-filters,.expense-table-panel,.receipt-modal{border:1px solid var(--dash-line, #e8eef6);border-radius:16px;background:var(--dash-panel, #ffffff);box-shadow:var(--dash-shadow, 0 12px 32px rgba(15, 23, 42, .06))}.expense-filters{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.15rem 1.1rem}.filter-header{display:flex;align-items:center;gap:.75rem}.filter-header span{display:inline-flex;align-items:center;gap:.45rem;margin-right:auto;color:var(--dash-text, #172033);font-size:.95rem;font-weight:560;letter-spacing:-.01em}.filter-header strong{display:grid;place-items:center;min-width:20px;height:20px;border-radius:999px;color:#fff;background:var(--dash-accent, #2f6fc9);font-size:.72rem;font-weight:650}.filter-header button,.modal-footer button,.preview-actions button,.preview-actions a{border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:999px;padding:.55rem .9rem;color:var(--dash-muted, #64748b);background:var(--dash-panel, #ffffff);cursor:pointer;font-size:.86rem;font-weight:520}.filter-header button:hover{color:var(--dash-accent, #2f6fc9);border-color:var(--dash-accent, #2f6fc9)}.filter-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem .75rem}.expense-filters label,.modal-form label{display:grid;gap:.35rem;min-width:0;color:var(--dash-muted, #64748b);font-weight:520;font-size:.8rem;letter-spacing:0}.expense-filters input,.expense-filters select,.modal-form input,.modal-form textarea{width:100%;min-width:0;min-height:40px;border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:10px;padding:.55rem .7rem;color:var(--dash-text, #172033);background:var(--dash-bg, #f6f9fe);outline:0;font-size:.9rem;font-weight:450}.expense-filters select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2rem}.expense-filters input:focus,.expense-filters select:focus,.modal-form input:focus,.modal-form textarea:focus{border-color:var(--dash-accent, #2f6fc9);background:var(--dash-panel, #ffffff);box-shadow:0 0 0 3px var(--dash-accent-soft, rgba(47, 111, 201, .16))}.expense-app[data-theme=dark] .expense-filters select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")}.expense-date-filter{position:relative;display:grid;gap:.35rem;min-width:0}.expense-date-label{color:var(--dash-muted, #64748b);font-weight:520;font-size:.8rem}.expense-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:40px;margin:0;border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:10px;padding:.55rem .7rem;color:var(--dash-soft, #94a3b8);background:var(--dash-bg, #f6f9fe);cursor:pointer;text-align:left;font:inherit;font-size:.9rem;font-weight:450}.expense-date-trigger.has-value{color:var(--dash-text, #172033)}.expense-date-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expense-date-trigger small{flex-shrink:0;color:var(--dash-soft, #94a3b8);font-size:.85rem}.expense-date-trigger.is-open,.expense-date-trigger:focus-visible{border-color:var(--dash-accent, #2f6fc9);background:var(--dash-panel, #ffffff);box-shadow:0 0 0 3px var(--dash-accent-soft, rgba(47, 111, 201, .16));outline:0}.date-picker-popover{position:absolute;z-index:45;top:calc(100% + .35rem);left:0;width:min(320px,calc(100vw - 2rem));padding:.9rem;border:1px solid var(--dash-line, #e8eef6);border-radius:14px;background:var(--dash-panel, #ffffff);box-shadow:0 18px 44px #0f172a24}.receipt-modal .expense-date-filter{position:relative;z-index:2}.receipt-modal .date-picker-popover{z-index:5;width:min(340px,100%)}.receipt-modal .expense-date-trigger{min-height:43px;border-color:#dedad2;background:#fff;color:#18362a}.receipt-modal .expense-date-trigger.has-value{color:#18362a}.receipt-modal .expense-date-trigger.is-open,.receipt-modal .expense-date-trigger:focus-visible{border-color:var(--dash-accent, #2f6fc9);box-shadow:0 0 0 3px var(--dash-accent-soft, rgba(47, 111, 201, .16))}.date-picker-header{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:.45rem;margin-bottom:.75rem}.date-picker-header strong{color:var(--dash-text, #172033);font-size:.98rem;font-weight:600;letter-spacing:-.01em;text-align:center}.date-picker-header button,.date-picker-grid button,.date-picker-clear{border:0;border-radius:10px;color:var(--dash-text, #172033);background:transparent;cursor:pointer;font:inherit;font-weight:560}.date-picker-header button{height:40px;background:var(--dash-bg, #f6f9fe);font-size:1.25rem;line-height:1}.date-picker-header button:hover{color:var(--dash-accent, #2f6fc9);background:var(--dash-accent-soft, #eaf2ff)}.date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.date-picker-weekdays{margin-bottom:.35rem}.date-picker-weekdays span{display:grid;place-items:center;min-height:28px;color:var(--dash-muted, #64748b);font-size:.78rem;font-weight:600;text-align:center}.date-picker-grid button{aspect-ratio:1;min-height:38px;color:var(--dash-text, #172033);background:var(--dash-bg, #f6f9fe);font-size:.92rem;font-weight:520}.date-picker-grid button:hover,.date-picker-grid button.today{color:var(--dash-accent, #2f6fc9);background:var(--dash-accent-soft, #eaf2ff)}.date-picker-grid button.selected{color:#fff;background:var(--dash-accent, #2f6fc9)}.date-picker-grid button.muted{color:var(--dash-soft, #94a3b8);background:transparent}.date-picker-clear{width:100%;margin-top:.7rem;padding:.65rem;color:var(--dash-muted, #64748b);background:var(--dash-bg, #f6f9fe);font-size:.88rem}.date-picker-clear:hover{color:var(--dash-accent, #2f6fc9)}.checkbox-multi-filter{position:relative;display:grid;gap:.35rem;min-width:0}.checkbox-multi-label{color:var(--dash-muted, #64748b);font-weight:520;font-size:.8rem}.checkbox-multi-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;min-height:40px;margin:0;border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:10px;padding:.55rem .7rem;color:var(--dash-text, #172033);background:var(--dash-bg, #f6f9fe);cursor:pointer;text-align:left;font:inherit;font-size:.9rem;font-weight:450}.checkbox-multi-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-multi-trigger small{flex-shrink:0;color:var(--dash-soft, #94a3b8);font-size:.85rem}.checkbox-multi-trigger.is-open,.checkbox-multi-trigger:focus-visible{border-color:var(--dash-accent, #2f6fc9);background:var(--dash-panel, #ffffff);box-shadow:0 0 0 3px var(--dash-accent-soft, rgba(47, 111, 201, .16));outline:0}.checkbox-multi-menu{position:absolute;z-index:40;top:calc(100% + .3rem);left:0;right:0;display:flex;flex-direction:column;gap:.15rem;max-height:240px;overflow:auto;padding:.4rem;border:1px solid var(--dash-line, #e8eef6);border-radius:12px;background:var(--dash-panel, #ffffff);box-shadow:0 14px 36px #0f172a1f}.expense-filters .checkbox-multi-option,.checkbox-multi-option{display:flex;flex-direction:row;align-items:center;gap:.55rem;margin:0;border-radius:8px;padding:.45rem .55rem;color:var(--dash-text, #172033);cursor:pointer;font-size:.9rem;font-weight:450;line-height:1.2}.checkbox-multi-option:hover{background:var(--dash-hover, #f1f5f9)}.checkbox-multi-option.is-checked{color:var(--dash-accent, #2f6fc9);background:var(--dash-accent-soft, #eaf2ff)}.checkbox-multi-option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.checkbox-multi-check{display:inline-grid;place-items:center;flex:0 0 18px;width:18px;height:18px;border:1.5px solid var(--dash-line-strong, #e2e8f0);border-radius:5px;color:#fff;background:var(--dash-panel, #ffffff);font-size:.72rem;font-weight:700;line-height:1}.checkbox-multi-option.is-checked .checkbox-multi-check{border-color:var(--dash-accent, #2f6fc9);background:var(--dash-accent, #2f6fc9)}.checkbox-multi-option-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.checkbox-multi-empty{margin:0;padding:.65rem .55rem;color:var(--dash-muted, #64748b);font-size:.86rem}.checkbox-multi-clear{margin-top:.2rem;border:0;border-top:1px solid var(--dash-line, #e8eef6);border-radius:0 0 8px 8px;padding:.55rem .55rem .35rem;color:var(--dash-muted, #64748b);background:transparent;cursor:pointer;font:inherit;font-size:.82rem;font-weight:520;text-align:left}.checkbox-multi-clear:hover{color:var(--dash-accent, #2f6fc9)}.dashboard-status{margin:0;color:var(--dash-accent, #2f6fc9);font-weight:600}.expense-results-toolbar{display:none}.receipt-view-toggle{display:inline-flex;align-items:center;gap:.15rem;padding:.18rem;border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:999px;background:var(--dash-panel, #ffffff)}.receipt-view-toggle button{display:grid;place-items:center;width:34px;height:30px;border:0;border-radius:999px;color:var(--dash-muted, #64748b);background:transparent;cursor:pointer}.receipt-view-toggle button:hover{color:var(--dash-text, #172033);background:var(--dash-hover, #f1f5f9)}.receipt-view-toggle button.active{color:#fff;background:var(--dash-accent, #2f6fc9);box-shadow:none}.receipt-view-toggle button:focus-visible,.receipt-grid-card:focus-visible,.view-button:focus-visible,.side-nav-item:focus-visible{outline:3px solid var(--dash-accent-soft, rgba(47, 111, 201, .35));outline-offset:2px}.view-icon{display:grid;color:currentColor}.table-view-icon{width:16px;gap:3px}.table-view-icon span{height:3px;border-radius:999px;background:currentColor}.grid-view-icon{grid-template-columns:repeat(2,6px);gap:3px}.grid-view-icon span{width:6px;height:6px;border-radius:2px;background:currentColor}.expense-table-panel{overflow:hidden;display:flex;flex-direction:column;min-height:0;flex:1}.expense-table-header,.expense-record{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.7fr) minmax(120px,.9fr) minmax(110px,.75fr) minmax(120px,.8fr) 88px;gap:.75rem;align-items:center}.expense-table-header{padding:.85rem 1.1rem;color:var(--dash-soft, #94a3b8);background:transparent;border-bottom:1px solid var(--dash-line, #e8eef6);font-size:.78rem;font-weight:650;letter-spacing:.01em}.expense-records{display:flex;flex-direction:column;gap:0;padding:.25rem .4rem .5rem;flex:1}.expense-record{width:100%;min-height:72px;border:1px solid transparent;border-radius:12px;padding:.7rem .75rem;color:var(--dash-text, #172033);background:transparent;text-align:left;box-shadow:none;transition:background .15s ease,border-color .15s ease}.expense-record:hover{border-color:var(--dash-line, #e8eef6);background:var(--dash-hover, #f8fafc)}.pending-record{border-color:transparent;background:transparent;cursor:default}.pending-record:hover{border-color:transparent;background:var(--dash-hover, #f8fafc)}.failed-record{opacity:.95}.record-date,.record-category,.record-amount{color:var(--dash-muted, #64748b);font-weight:600;font-size:.92rem}.record-amount{color:var(--dash-text, #172033);font-weight:700}.record-merchant{display:flex;align-items:center;gap:.75rem;min-width:0}.record-merchant span{display:grid;gap:.15rem;min-width:0}.record-merchant strong{overflow:hidden;color:var(--dash-text, #172033);font-weight:650;text-overflow:ellipsis;white-space:nowrap}.record-view-placeholder{width:100%;min-height:1px}.view-button{justify-self:end;min-width:72px;border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:999px;padding:.5rem .9rem;color:var(--dash-muted, #64748b);background:var(--dash-panel, #ffffff);cursor:pointer;font-weight:600;font-size:.86rem}.view-button:hover{color:#fff;border-color:var(--dash-accent, #2f6fc9);background:var(--dash-accent, #2f6fc9)}.status-chip{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;border-radius:999px;padding:.35rem .7rem;font-size:.78rem;font-weight:650;white-space:nowrap}.status-done{color:#166534;background:#dcfce7}.status-review{color:#9a3412;background:#ffedd5}.status-scanning{color:#1d4ed8;background:#dbeafe}.status-error{color:#9f1239;background:#ffe4e6}.expense-app[data-theme=dark] .status-done{color:#86efac;background:#16653447}.expense-app[data-theme=dark] .status-review{color:#fdba74;background:#9a341247}.expense-app[data-theme=dark] .status-scanning{color:#93c5fd;background:#1d4ed847}.expense-app[data-theme=dark] .status-error{color:#fda4af;background:#9f123947}.expense-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem 1rem;border-top:1px solid var(--dash-line, #e8eef6)}.pagination-pages{display:flex;align-items:center;gap:.3rem}.pagination-page,.pagination-nav{display:grid;place-items:center;min-width:34px;height:34px;border:1px solid transparent;border-radius:10px;padding:0 .45rem;color:var(--dash-muted, #64748b);background:transparent;cursor:pointer;font-weight:600;font-size:.88rem}.pagination-page:hover,.pagination-nav:hover:not(:disabled){color:var(--dash-text, #172033);background:var(--dash-hover, #f1f5f9)}.pagination-page.is-active{color:#fff;background:var(--dash-accent, #2f6fc9)}.pagination-nav:disabled{opacity:.35;cursor:not-allowed}.pagination-ellipsis{display:grid;place-items:center;min-width:28px;color:var(--dash-soft, #94a3b8)}.pagination-meta{display:flex;align-items:center;gap:.55rem;color:var(--dash-muted, #64748b);font-size:.86rem;font-weight:500}.pagination-meta strong{color:var(--dash-text, #172033);font-weight:700}.pagination-divider{color:var(--dash-soft, #94a3b8)}.receipt-thumb{flex:0 0 auto;width:44px;height:52px;border-radius:8px;object-fit:cover;background:var(--dash-bg, #eef2f7);border:1px solid var(--dash-line, #e8eef6)}.receipt-thumb.placeholder{display:grid;place-items:center;color:var(--dash-muted, #64748b);font-size:.72rem;font-weight:700}.expense-grid-panel{min-width:0}.receipt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.receipt-grid-card{display:grid;grid-template-rows:minmax(240px,auto) auto;min-width:0;overflow:hidden;padding:0;border:1px solid var(--dash-line, #e8eef6);border-radius:14px;color:var(--dash-text, #172033);background:var(--dash-panel, #ffffff);box-shadow:var(--dash-shadow, 0 12px 32px rgba(15, 23, 42, .06));cursor:pointer;font:inherit;text-align:left}.receipt-grid-card:hover{border-color:#2f6fc973;box-shadow:0 16px 36px #0f172a1a}.pending-grid-card{cursor:default}.pending-grid-card:hover{border-color:#e5e0d8;box-shadow:0 14px 34px #16261c14}.receipt-grid-preview{display:grid;place-items:center;width:100%;min-height:240px;aspect-ratio:4 / 3;overflow:hidden;background:var(--dash-bg, #f6f9fe)}.receipt-grid-preview img{width:100%;height:100%;object-fit:cover}.receipt-grid-preview.placeholder{gap:.4rem;align-content:center;color:#5d6f65;font-weight:900;text-align:center}.receipt-grid-preview.placeholder strong{display:grid;place-items:center;width:54px;height:54px;border-radius:8px;color:#18362a;background:#fffdf8;box-shadow:0 8px 22px #16261c14}.receipt-grid-preview.placeholder span:not(.upload-spinner){color:#718078;font-size:.86rem}.receipt-grid-body{display:grid;gap:.75rem;padding:.9rem}.receipt-grid-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem .75rem;align-items:start}.receipt-grid-heading>span:first-child{color:#718078;font-size:.82rem;font-weight:900}.receipt-grid-heading strong{grid-column:1;min-width:0;overflow:hidden;color:#123328;font-size:1rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.receipt-grid-heading>span:last-child{grid-row:1 / span 2;grid-column:2;color:#123328;font-weight:900;white-space:nowrap}.receipt-grid-meta{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.receipt-grid-meta>span:first-child{min-width:0;overflow:hidden;color:#718078;font-size:.84rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.review-chip{flex:0 0 auto;border-radius:999px;padding:.38rem .58rem;color:#8a452d;background:#ffead7;font-size:.74rem;font-weight:900}.review-chip.approved{color:#236947;background:#dff6e8}.receipt-grid-description{display:-webkit-box;min-height:2.5em;overflow:hidden;color:#74837b;font-size:.86rem;font-weight:700;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.pending-thumb{background:#edf8f1}.pending-copy{display:inline-flex;align-items:center;gap:.45rem;color:#456255;font-weight:900}.upload-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(86,201,133,.3);border-top-color:#2fa463;border-radius:50%;animation:upload-spin .78s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}.empty-state{padding:1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:1.5rem;background:#0f172a73}.receipt-modal{width:min(1080px,100%);max-height:min(860px,calc(100vh - 3rem));overflow:auto}.auth-modal{width:min(460px,100%);overflow:hidden;border:1px solid #e5e0d8;border-radius:8px;color:#18362a;background:#fffdf8;box-shadow:0 24px 70px #0c18123d}.auth-modal-header{padding-bottom:1rem;border-bottom:1px solid #eee8df}.auth-choice-panel,.auth-form{display:grid;gap:.9rem;padding:1.25rem 1.5rem 1.5rem}.auth-choice-button{display:grid;gap:.25rem;width:100%;min-height:82px;border:1px solid #e4e1da;border-radius:8px;padding:1rem;color:#18362a;background:#f7f5f0;cursor:pointer;text-align:left}.auth-choice-button:hover{border-color:#68d391a6;background:#f3fbf5}.auth-choice-button span,.auth-message{color:#718078;font-size:.85rem;font-weight:800}.auth-choice-button strong{font-size:1rem}.auth-form label{display:grid;gap:.4rem;color:#314d41;font-weight:900}.auth-form input{width:100%;min-width:0;border:1px solid #dedad2;border-radius:8px;padding:.85rem .9rem;color:#18362a;background:#fff;outline:0}.auth-form input:focus{border-color:#68d391;box-shadow:0 0 0 3px #68d39129}.auth-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.25rem}.auth-actions button{border:1px solid #e4e1da;border-radius:999px;padding:.75rem 1rem;color:#18362a;background:#f0eee8;cursor:pointer;font-weight:900}.auth-actions .save-button{border-color:transparent;color:#082419;background:#68d391}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem 0}.modal-header h2{margin:0;color:var(--dash-text, #172033);font-weight:700;letter-spacing:-.02em}.modal-header .eyebrow{margin:0 0 .35rem;font-size:.75rem;font-weight:700;letter-spacing:.04em}.modal-close{border:1px solid var(--dash-line-strong, #e2e8f0);border-radius:999px;padding:.55rem .9rem;color:var(--dash-text, #172033);background:var(--dash-panel, #ffffff);cursor:pointer;font-weight:600;font-size:.88rem}.modal-close:hover{border-color:var(--dash-accent, #2f6fc9);color:var(--dash-accent, #2f6fc9)}.modal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:1.5rem;padding:1.5rem}.modal-form{display:grid;align-content:start;gap:1rem}.modal-field-row{display:grid;grid-template-columns:1fr 140px;gap:.9rem}.modal-form textarea{resize:vertical}.receipt-preview-panel{display:grid;align-content:start;gap:.8rem}.receipt-preview-frame{display:grid;place-items:center;min-height:420px;overflow:hidden;border:1px solid #e4e1da;border-radius:8px;background:#f3f0ea}.receipt-preview-frame img{max-width:100%;max-height:420px;object-fit:contain;transition:transform .18s ease}.file-placeholder{display:grid;gap:.35rem;padding:1.25rem;text-align:center}.file-placeholder span{color:#718078}.file-placeholder.loading span{color:#3f5c4e;font-weight:900}.preview-actions,.modal-footer{display:flex;justify-content:flex-end;gap:.75rem}.preview-actions a{display:inline-flex;align-items:center}.modal-footer{grid-column:1 / -1;padding-top:.5rem}.error-message{margin:0;color:#a43f2a;font-weight:800}@media(max-width:1250px){.insights-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1120px){.expense-app{grid-template-columns:1fr}.expense-sidebar{position:static;height:auto;border-right:0;border-bottom:1px solid var(--dash-line)}.expense-sidebar-top{gap:1rem}.side-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:.15rem .75rem}.side-nav-label{width:100%}.side-nav-settings{border-top:0;padding-top:.7rem}.expense-global-bar{grid-template-columns:1fr auto}.expense-global-title{grid-column:1}.expense-global-actions{grid-column:2;grid-row:1}.expense-global-search{grid-column:1 / -1;justify-self:stretch;width:100%}.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-table-panel{overflow-x:auto}.expense-table-header,.expense-record{min-width:860px}}@media(max-width:980px){.insights-heading-row{align-items:flex-start;flex-direction:column}.insights-controls{width:100%}.insights-controls label{flex:1}.insights-controls select{width:100%}.insights-primary-grid,.insights-secondary-grid{grid-template-columns:1fr}}@media(max-width:820px){.expense-main{padding:1rem}.expense-panel-header{align-items:flex-start;flex-direction:column}.expense-global-bar{padding:.85rem 1rem}.topbar-actions{width:100%}.new-expense-button{flex:1}.expense-summary,.expense-filters,.modal-body{grid-template-columns:1fr}.receipt-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.expense-table-header{display:none}.expense-table-panel{overflow:visible;background:transparent;border:0;box-shadow:none}.expense-records{padding:0}.expense-record{display:grid;grid-template-columns:1fr;min-width:0;gap:.65rem}.record-merchant{align-items:flex-start}.modal-backdrop{align-items:start;padding:.75rem}.receipt-modal{max-height:calc(100vh - 1.5rem)}.modal-header{align-items:flex-start;flex-direction:column}.receipt-preview-frame{min-height:300px}.receipt-preview-frame img{max-height:300px}.insights-chart{height:250px}.insights-line-chart{height:300px}}@media(max-width:520px){.expense-sidebar,.expense-main,.modal-body{padding:1rem}.filter-fields{grid-template-columns:1fr}.filter-header,.expense-results-toolbar,.auth-actions,.preview-actions,.modal-footer,.modal-field-row{flex-direction:column;grid-template-columns:1fr}.filter-header button,.auth-actions button,.preview-actions button,.preview-actions a,.modal-footer button{width:100%;justify-content:center;text-align:center}.profile-dropdown{right:auto;left:0}.receipt-view-toggle{align-self:flex-start}.receipt-grid,.insights-kpi-grid{grid-template-columns:1fr}.insights-controls,.insights-custom-range,.insights-empty-banner{align-items:stretch;flex-direction:column}.insights-controls label,.insights-custom-range label,.insights-controls select,.insights-custom-range input{width:100%}.insights-card,.insights-kpi-card{padding:.9rem}}.receipt-grid-heading,.receipt-modal h2{color:var(--dash-text, #172033)}.new-expense-button,.save-button,.modal-footer .save-button{color:#fff;background:var(--dash-accent, var(--brand-blue))}.receipt-modal,.receipt-grid-card{border-color:var(--dash-line, var(--brand-border));background:var(--dash-panel, #ffffff);box-shadow:var(--dash-shadow, 0 12px 30px rgba(15, 23, 42, .06))}.review-chip.reviewed{background:var(--dash-accent, var(--brand-blue))}.expense-filters input:focus,.expense-filters select:focus,.modal-form input:focus,.modal-form textarea:focus,.category-trigger:focus,.receipt-grid-card:focus-visible,.receipt-view-toggle button:focus-visible{border-color:var(--dash-accent, var(--brand-blue));box-shadow:0 0 0 3px var(--dash-accent-soft, rgba(47, 111, 201, .16))}.category-option.active,.calendar-day.selected,.review-chip.needs-review{color:var(--brand-blue-dark);background:var(--brand-blue-soft)}.receipt-grid-card:hover{border-color:#2f6fc980}.receipt-grid-card.selected{border-color:var(--dash-accent, var(--brand-blue));background:var(--dash-hover, #fbfdff)}.upload-spinner{border-color:#2f6fc93d;border-top-color:var(--dash-accent, var(--brand-blue))}.landing-header{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:1.35rem 0 .75rem}.landing-header .brand{color:var(--brand-ink, #111827)}.landing-header-actions{gap:1.25rem}.landing-shell .landing-text-link{display:inline-flex;align-items:center;margin:0;padding:0;width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--brand-ink, #111827);font-size:.98rem;font-weight:560;letter-spacing:-.01em;cursor:pointer}.landing-shell .landing-text-link:hover{color:var(--brand-blue, #2f6fc9);background:transparent}.landing-hero{width:min(920px,calc(100% - 48px));margin:0 auto;padding:clamp(3.5rem,8vw,6.5rem) 0 clamp(2.5rem,5vw,3.75rem);text-align:center}.landing-hero h1{display:flex;flex-direction:column;align-items:center;gap:.08em;margin:0;color:var(--brand-ink, #111827);font-size:clamp(1.85rem,5.2vw,4.35rem);font-weight:500;letter-spacing:-.035em;line-height:1;text-align:center}.landing-hero-line{display:block;max-width:100%;white-space:nowrap;line-height:1.05;text-align:center}@media(max-width:640px){.landing-hero h1{gap:.12em;font-size:clamp(1.55rem,7.2vw,2.4rem)}.landing-hero-line{white-space:normal;text-wrap:balance}}.landing-hero-lede{max-width:34rem;margin:1.35rem auto 0;color:var(--brand-muted, #64748b);font-size:clamp(1rem,1.5vw,1.12rem);font-weight:500;line-height:1.65}.landing-waitlist-cta{display:inline-flex;align-items:center;justify-content:center;margin-top:1.85rem;padding:.9rem 1.45rem;border:0;border-radius:999px;color:#fff;background:var(--brand-blue, #2f6fc9);box-shadow:0 12px 28px #2f6fc938;font-size:.98rem;font-weight:650;letter-spacing:-.01em;cursor:pointer}.landing-waitlist-cta:hover{background:var(--brand-blue-dark, #174ea6)}.landing-product{width:min(1180px,calc(100% - 40px));margin:0 auto clamp(3rem,6vw,5rem);background:transparent}.landing-product-frame{overflow:hidden;border:1px solid #e7edf6;border-radius:24px;background:#fff;box-shadow:0 28px 70px #0f172a1a}.landing-product-topbar{display:flex;align-items:center;gap:.45rem;padding:1rem 1.25rem;border-bottom:1px solid #eef2f7;background:#fbfcfe}.landing-product-topbar span{width:9px;height:9px;border-radius:50%;background:#e2e8f0}.landing-product-topbar span:nth-child(1){background:#fca5a5}.landing-product-topbar span:nth-child(2){background:#fcd34d}.landing-product-topbar span:nth-child(3){background:#86efac}.landing-product-topbar strong{margin-left:.55rem;color:var(--brand-ink, #111827);font-size:.95rem;font-weight:650}.landing-product-body{display:grid;grid-template-columns:240px 1fr;min-height:440px}.landing-product-sidebar{display:flex;flex-direction:column;justify-content:space-between;gap:1rem;padding:1.15rem .9rem 1rem;border-right:1px solid #eef2f7;background:#f8fafc}.landing-product-nav{display:flex;flex-direction:column;gap:.2rem}.landing-product-nav-label{margin:0 0 .45rem .55rem;color:#94a3b8;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.landing-product-nav-item{display:flex;align-items:center;gap:.7rem;width:100%;margin:0;padding:.65rem .75rem;border:0;border-radius:11px;background:transparent;box-shadow:none;color:#475569;font:inherit;font-size:.95rem;font-weight:560;letter-spacing:-.01em;text-align:left;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.landing-product-nav-item:hover{color:var(--brand-ink, #111827);background:#ffffffb8}.landing-product-nav-item svg{flex-shrink:0;opacity:.85}.landing-product-nav-item.is-active{color:var(--brand-blue, #2f6fc9);background:transparent;box-shadow:none;font-weight:650}.landing-product-nav-item.is-active:hover{color:var(--brand-blue, #2f6fc9);background:transparent}.landing-product-nav-item.is-active svg{opacity:1}.landing-product-settings{margin-top:auto;border-top:1px solid #e8eef6;border-radius:10px 10px 12px 12px;padding-top:.75rem;color:#64748b}@keyframes landing-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.landing-budgets-panel,.landing-panel-placeholder{display:flex;flex-direction:column;gap:0;min-height:100%}.landing-delta-up{color:#15803d!important}.landing-delta-down{color:#c2410c!important}.landing-chart-card,.landing-placeholder-card{border:1px solid #eef2f7;border-radius:14px;background:#fbfcfe;padding:1.1rem 1.15rem 1rem}.landing-chart-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.landing-chart-eyebrow{margin:0 0 .2rem;color:var(--brand-muted, #64748b);font-size:.78rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.landing-chart-header h3,.landing-placeholder-card h3{margin:0;color:var(--brand-ink, #111827);font-size:1.15rem;font-weight:720;letter-spacing:-.02em}.landing-chart-range{flex-shrink:0;padding:.35rem .7rem;border:1px solid #e7edf6;border-radius:999px;color:var(--brand-muted, #64748b);background:#fff;font-size:.78rem;font-weight:600}.landing-chart-wrap{width:100%}.landing-chart-svg{display:block;width:100%;height:auto;min-height:200px;max-height:280px}.landing-chart-grid{stroke:#e8eef6;stroke-width:1;stroke-dasharray:4 6}.landing-chart-line{fill:none;stroke:var(--brand-blue, #2f6fc9);stroke-width:2.75;stroke-linecap:round;stroke-linejoin:round}.landing-chart-dot{fill:#fff;stroke:var(--brand-blue, #2f6fc9);stroke-width:2.25}.landing-chart-labels{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:.25rem;margin-top:.35rem;padding:0 .35rem;color:var(--brand-muted, #64748b);font-size:.72rem;font-weight:600;text-align:center}.landing-placeholder-card p{margin:.55rem 0 0;color:var(--brand-muted, #64748b);font-size:.95rem;line-height:1.55}.landing-product-main{min-width:0;padding:1.35rem 1.5rem 1.55rem;animation:landing-panel-in .22s ease}.landing-product-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-bottom:1.3rem}.landing-product-stats div{padding:1rem 1.1rem;border:1px solid #eef2f7;border-radius:14px;background:#fbfcfe}.landing-product-stats small{display:block;color:var(--brand-muted, #64748b);font-size:.84rem;font-weight:550}.landing-product-stats strong{display:block;margin-top:.3rem;color:var(--brand-ink, #111827);font-size:1.4rem;font-weight:720;letter-spacing:-.02em}.landing-product-table{border:1px solid #eef2f7;border-radius:14px;overflow:hidden}.landing-product-table-head,.landing-product-row{display:grid;grid-template-columns:1.6fr .7fr .7fr;gap:.75rem;align-items:center;padding:.9rem 1.15rem}.landing-product-table-head{color:var(--brand-muted, #64748b);background:#f8fafc;font-size:.82rem;font-weight:650;text-transform:uppercase;letter-spacing:.04em}.landing-product-row{border-top:1px solid #eef2f7;color:var(--brand-ink, #111827);font-size:.98rem}.landing-product-row span:nth-child(2){font-variant-numeric:tabular-nums;font-weight:620}.landing-status{display:inline-flex;width:fit-content;padding:.2rem .55rem;border-radius:999px;font-size:.78rem;font-weight:650}.landing-status-done{color:#166534;background:#dcfce7}.landing-status-check{color:#9a3412;background:#ffedd5}.landing-shell .landing-footer.footer,.landing-shell .footer.landing-footer{width:100%;max-width:none;margin-top:auto;color:var(--brand-ink, #111827);background:#fff;border-top:1px solid #eef2f7}.landing-footer-inner{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:2.75rem 0 2.25rem}.landing-footer-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(4rem,12vw,8rem);row-gap:2rem;max-width:36rem;margin:0 auto;align-items:start;justify-items:center;text-align:center;padding-bottom:2rem}.landing-footer-col{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.landing-footer-col-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.85rem 1.35rem}.landing-shell .landing-footer h3{margin:0 0 .25rem;color:var(--brand-ink, #111827);font-size:.95rem;font-weight:700}.landing-shell .landing-footer a{color:var(--brand-muted, #64748b);font-size:.92rem}.landing-shell .landing-footer a:hover{color:var(--brand-blue, #2f6fc9)}.landing-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.75rem 1.25rem;padding-top:1.25rem;border-top:1px solid #eef2f7;text-align:center}.landing-footer-bottom small{color:var(--brand-muted, #64748b);font-size:.85rem}@media(max-width:760px){.landing-header,.landing-hero,.landing-footer-inner{width:min(100% - 32px,720px)}.landing-product{width:min(100% - 24px,920px)}.landing-hero{padding-top:2.75rem}.landing-product-body{grid-template-columns:1fr}.landing-product-sidebar{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:.35rem .5rem;border-right:0;border-bottom:1px solid #eef2f7;padding:.75rem}.landing-product-nav{flex-direction:row;flex-wrap:wrap;width:100%;gap:.3rem}.landing-product-nav-item{width:auto}.landing-product-nav-label{width:100%;margin:0 0 .15rem .2rem}.landing-product-settings{margin-top:0;border-top:0;padding-top:.55rem}.landing-product-stats{grid-template-columns:1fr}.landing-chart-svg{min-height:170px}.landing-chart-labels{font-size:.65rem}.landing-chart-header{flex-direction:column;align-items:flex-start}.landing-footer-grid{grid-template-columns:1fr;gap:1.5rem}.landing-footer-bottom{flex-direction:column;align-items:center}}.failed-record,.failed-grid-card{color:#b42318}.failed-record .pending-thumb,.failed-grid-card .receipt-grid-preview.placeholder{color:#b42318;border-color:#f3c3bd;background:#fef3f2}.export-button{border:1px solid var(--dash-line-strong);border-radius:999px;padding:.55rem .95rem;color:var(--dash-accent);background:var(--dash-accent-soft);cursor:pointer;font-weight:650;font-size:.88rem}.export-button:hover{filter:brightness(.97)}.export-modal{display:flex;flex-direction:column;width:min(960px,100%);max-height:min(880px,calc(100vh - 3rem));overflow:hidden;color:var(--dash-text);background:var(--dash-panel);border:1px solid var(--dash-line);border-radius:20px;box-shadow:0 24px 70px #0f172a2e}.export-modal-loading{display:flex;align-items:center;gap:.6rem;padding:2.5rem 1.5rem;color:var(--dash-muted);font-weight:600}.export-modal-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:1.5rem;min-height:0;flex:1;padding:1.25rem 1.5rem 1.5rem;overflow:auto}.export-config,.export-summary{display:grid;align-content:start;gap:1.25rem}.export-summary{padding:1.1rem;border:1px solid var(--dash-line);border-radius:16px;background:var(--dash-bg)}.export-section{display:grid;gap:.55rem}.export-section h3{margin:0;color:var(--dash-text);font-size:.95rem;font-weight:700}.export-section-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.export-section-hint{margin:0;color:var(--dash-muted);font-size:.85rem;font-weight:500;line-height:1.4}.export-clear{border:0;padding:0;color:var(--dash-accent);background:none;cursor:pointer;font-weight:650;font-size:.85rem}.export-clear:hover{text-decoration:underline}.export-format-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.export-format-card{display:grid;gap:.35rem;padding:.9rem 1rem;border:1px solid var(--dash-line-strong);border-radius:14px;background:var(--dash-panel);cursor:pointer;text-align:left;transition:border-color .12s ease,background .12s ease,box-shadow .12s ease}.export-format-card:hover{border-color:var(--dash-accent);background:var(--dash-hover)}.export-format-card.selected{border-color:var(--dash-accent);background:var(--dash-accent-soft);box-shadow:0 0 0 1px var(--dash-accent) inset}.export-format-title{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;color:var(--dash-text);font-weight:700}.export-format-title small{color:var(--dash-soft);font-weight:650}.export-format-desc{color:var(--dash-muted);font-size:.8rem;line-height:1.4;font-weight:450}.export-date-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.export-date-row label{display:grid;gap:.4rem;color:var(--dash-muted);font-weight:650;font-size:.85rem}.export-date-row input{border:1px solid var(--dash-line-strong);border-radius:12px;padding:.7rem .8rem;color:var(--dash-text);background:var(--dash-panel);outline:0;font:inherit}.export-date-row input:focus{border-color:var(--dash-accent);box-shadow:0 0 0 3px var(--dash-accent-soft)}.export-chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.export-chip{border:1px solid var(--dash-line-strong);border-radius:999px;padding:.45rem .85rem;color:var(--dash-text);background:var(--dash-panel);cursor:pointer;font-weight:600;font-size:.85rem}.export-chip:hover{border-color:var(--dash-accent);color:var(--dash-accent)}.export-chip.selected{border-color:var(--dash-accent);color:#fff;background:var(--dash-accent)}.export-preview-card{display:grid;gap:.3rem;padding:1.1rem 1.15rem;border:1px solid var(--dash-line);border-radius:14px;background:var(--dash-accent-soft)}.export-preview-loading{display:flex;align-items:center;gap:.55rem;color:var(--dash-muted);font-weight:600}.export-preview-count{color:var(--dash-accent);font-size:1.55rem;font-weight:750;letter-spacing:-.03em}.export-preview-sub{color:var(--dash-muted);font-weight:500;font-size:.88rem}.export-preview-note{margin-top:.35rem;color:#9a3412;font-size:.8rem;line-height:1.4}.expense-app[data-theme=dark] .export-preview-note{color:#fdba74}.export-prepare{width:100%;padding:.85rem 1rem;font-size:.92rem;box-shadow:0 8px 18px #2f6fc933}.export-prepare:disabled{color:var(--dash-soft);background:var(--dash-hover);box-shadow:none;cursor:not-allowed;filter:none}.export-current,.export-recent{display:grid;gap:.55rem}.export-current h3,.export-recent h3{margin:0;color:var(--dash-text);font-size:.92rem;font-weight:700}.export-empty{margin:0;color:var(--dash-muted);font-size:.85rem;line-height:1.4}.export-jobs-list{display:grid;gap:.6rem}.export-job-card{display:grid;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--dash-line);border-radius:14px;background:var(--dash-panel)}.export-job-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.export-job-head strong{display:block;color:var(--dash-text);font-weight:700}.export-job-time{color:var(--dash-muted);font-size:.8rem;font-weight:500}.export-status-badge{padding:.3rem .65rem;border-radius:999px;font-size:.75rem;font-weight:650;white-space:nowrap}.export-status-badge.status-queued{color:var(--dash-muted);background:var(--dash-hover)}.export-status-badge.status-processing{color:#1d4ed8;background:#dbeafe}.export-status-badge.status-ready{color:#166534;background:#dcfce7}.export-status-badge.status-failed{color:#9f1239;background:#ffe4e6}.export-status-badge.status-canceled{color:var(--dash-muted);background:var(--dash-hover)}.export-status-badge.status-expired{color:#9a3412;background:#ffedd5}.expense-app[data-theme=dark] .export-status-badge.status-processing{color:#93c5fd;background:#1d4ed847}.expense-app[data-theme=dark] .export-status-badge.status-ready{color:#86efac;background:#16653447}.expense-app[data-theme=dark] .export-status-badge.status-failed{color:#fda4af;background:#9f123947}.expense-app[data-theme=dark] .export-status-badge.status-expired{color:#fdba74;background:#9a341247}.export-progress{height:6px;border-radius:999px;background:var(--dash-line);overflow:hidden}.export-progress-bar{display:block;height:100%;border-radius:999px;background:var(--dash-accent);transition:width .24s ease}.export-job-error{margin:0;color:#9f1239;font-size:.85rem;font-weight:600}.export-job-meta{display:flex;flex-wrap:wrap;gap:.25rem .75rem;color:var(--dash-muted);font-size:.8rem;font-weight:500}.export-job-actions{display:flex;justify-content:flex-end;gap:.55rem}.export-job-actions .save-button{padding:.5rem .9rem;font-size:.85rem;box-shadow:none}.export-cancel{border:1px solid var(--dash-line-strong);border-radius:999px;padding:.5rem .9rem;color:var(--dash-text);background:var(--dash-panel);cursor:pointer;font-weight:600;font-size:.85rem}.export-cancel:hover{border-color:var(--dash-accent);color:var(--dash-accent)}.export-cancel:disabled,.export-job-actions .save-button:disabled{opacity:.6;cursor:not-allowed}@media(max-width:720px){.export-modal-body,.export-format-grid,.export-date-row{grid-template-columns:1fr}.export-summary{order:-1}}
