/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}.site-content{flex-shrink:0;width:100%}.site-footer{border-top:1px solid var(--line);background:var(--paper);color:var(--muted);text-align:center;flex-wrap:wrap;flex-shrink:0;justify-content:center;gap:4px 8px;margin-top:auto;padding:18px clamp(20px,4vw,64px);font-size:12px;line-height:1.6;display:flex;position:relative}.site-content:has(.site-footer)+.site-footer-fallback{display:none}.app-shell>.site-footer{z-index:1;grid-column:2}@media (max-width:780px){.site-footer-separator{display:none}}.site-footer-version{font-family:var(--font-geist-mono), monospace}:root{--primary-sidebar-width:252px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f7fa;--surface:#fff;--surface-elevated:#fff;--surface-warm:#eff3f8;--ink:#182235;--muted:#5d6b80;--line:#dce3eb;--accent:#2563eb;--accent-hover:#1d4ed8;--green:#2563eb;--mint:#dfe7f1;--danger:#be123c;--strong:#2563eb;--strong-hover:#1d4ed8;--sidebar:#fff;--on-strong:#fff;--chart-grid:#dfe7f1;--chart-muted:#5d6b80;--chart-cursor:#eff3f8;--chart-bar:#2563eb;--shadow-soft:#0b12200c;--comparison:#0f766e;--positive:#047857;--warning:#92400e;--raised:#eff3f8;--inset:#f7f9fc;--track:#dfe7f1;--control-border:#7a879a;--hero:#eef5ff;--category-1:#2563eb;--category-2:#0f766e;--category-3:#7c3aed;--category-4:#0891b2;--category-5:#475569;--category-6:#db2777;--category-7:#6366f1;--category-8:#b45309;--category-9:#64748b;--category-10:#0369a1}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0b1220;--surface:#121e31;--surface-elevated:#1a2a41;--surface-warm:#1a2a41;--ink:#f3f6fc;--muted:#9aa9bf;--line:#2d405a;--accent:#2563eb;--accent-hover:#1d4ed8;--green:#60a5fa;--mint:#293b54;--danger:#fb7185;--strong:#2563eb;--strong-hover:#1d4ed8;--sidebar:#121e31;--on-strong:#fff;--chart-grid:#293b54;--chart-muted:#9aa9bf;--chart-cursor:#20334d;--chart-bar:#60a5fa;--shadow-soft:#00000024;--comparison:#2dd4bf;--positive:#34d399;--warning:#fbbf24;--raised:#1a2a41;--inset:#0d1728;--track:#293b54;--control-border:#6b7890;--hero:#172c47;--category-1:#60a5fa;--category-2:#2dd4bf;--category-3:#a78bfa;--category-4:#22d3ee;--category-5:#94a3b8;--category-6:#f472b6;--category-7:#818cf8;--category-8:#fbbf24;--category-9:#cbd5e1;--category-10:#38bdf8}:root{--dir:1}:root[dir=rtl]{--dir:-1}body{--app-font:var(--font-geist-sans), Arial, sans-serif;--app-font-mono:var(--font-geist-mono), monospace}:root[dir=rtl] body{--app-font:var(--font-vazirmatn), "Vazirmatn", Tahoma, sans-serif;--app-font-mono:var(--font-vazirmatn), "Vazirmatn", Tahoma, sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--app-font);flex-direction:column;margin:0;transition:background .28s,color .28s;display:flex}:root[dir=rtl] body,:root[dir=rtl] body *{letter-spacing:normal}:root[dir=rtl] .mirror-in-rtl{transform:scaleX(-1)}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}:is(button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible){outline:3px solid var(--chart-bar);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.app-shell{grid-template-columns:var(--primary-sidebar-width) 1fr;isolation:isolate;min-height:100vh;display:grid;position:relative;overflow:clip}.dashboard-background{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.dashboard-background:after{z-index:2;content:"";background:radial-gradient(circle at 48% 12%,#0000 4%,#f3f1eb2e 42%,#f3f1ebb3 100%);position:absolute;inset:0}.dashboard-aurora{z-index:0;filter:blur(3px);position:absolute;inset:0;overflow:hidden}.dashboard-aurora span{opacity:.62;filter:blur(78px);border-radius:50%;animation:17s ease-in-out infinite alternate dashboardAuroraDrift;position:absolute}.dashboard-aurora span:first-child{top:-220px;background:#a7cbb852;width:520px;height:520px;inset-inline-start:9%}.dashboard-aurora span:nth-child(2){top:29%;background:#ee694624;width:430px;height:430px;animation-duration:21s;animation-delay:-6s;inset-inline-end:-170px}.dashboard-aurora span:nth-child(3){bottom:-190px;background:#e6be742b;width:390px;height:390px;animation-duration:23s;animation-delay:-11s;inset-inline-start:38%}.dashboard-background .ambient-geometry{z-index:1;pointer-events:none;opacity:.43;width:100%;height:100%;display:block;position:absolute;inset:0;-webkit-mask-image:radial-gradient(at 50% 38%,#000 22%,#000c 66%,#0000 100%);mask-image:radial-gradient(at 50% 38%,#000 22%,#000c 66%,#0000 100%)}.sidebar{width:var(--primary-sidebar-width);background:var(--sidebar);z-index:20;flex-direction:column;align-items:center;padding:22px 0;display:flex;position:fixed;inset-block:0;inset-inline:0 auto}.brand-mark{background:var(--accent);color:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:21px;font-weight:700;text-decoration:none;display:grid}.sidebar nav{gap:10px;margin-top:70px;display:grid}.nav-item{color:#909b95;border-radius:12px;place-items:center;width:42px;height:42px;text-decoration:none;display:grid}.nav-item:hover,.nav-item.active{color:#fff;background:#2a3731}.sidebar-add{color:#fff;background:0 0;border:1px solid #526059;border-radius:12px;place-items:center;width:42px;height:42px;margin-top:auto;display:grid}.sidebar-add:hover{border-color:var(--green);background:var(--accent)}.user-badge{color:#fff;border:1px solid #526059;border-radius:50%;place-items:center;width:34px;height:34px;margin-top:14px;font-size:12px;font-weight:700;display:grid}.workspace{z-index:1;grid-column:2;width:min(1440px,100%);margin:0 auto;padding:42px 52px 70px;position:relative}.topbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px;display:flex}.eyebrow{color:var(--muted);font-family:var(--app-font-mono);letter-spacing:.11em;text-transform:uppercase;margin:0 0 7px;font-size:10px;font-weight:650}h1{letter-spacing:-.055em;margin:0;font-size:clamp(34px,4vw,56px);font-weight:580;line-height:1}h2{letter-spacing:-.025em;margin:0;font-size:21px}h3{letter-spacing:-.025em}.topbar-actions,.upload-actions,.error-actions{gap:9px;display:flex}.primary-button,.ghost-button,.secondary-button{border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:11px 15px;font-size:12px;font-weight:670;display:inline-flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff;box-shadow:0 8px 20px #ec633e22}.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ghost-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.auth-link-button{white-space:nowrap;text-decoration:none}.icon-account-button{border:1px solid var(--line);background:var(--surface);width:40px;height:40px;color:var(--ink);border-radius:11px;place-items:center;display:grid}.icon-account-button:hover{color:var(--danger);border-color:var(--danger)}.guest-mode-banner{border:1px solid var(--green);justify-content:space-between;align-items:center;gap:18px;margin:-12px 0 22px;padding:13px 16px;display:flex}@supports (color:color-mix(in lab, red, red)){.guest-mode-banner{border:1px solid color-mix(in srgb, var(--green) 28%, var(--line))}}.guest-mode-banner{background:var(--mint);border-radius:13px}@supports (color:color-mix(in lab, red, red)){.guest-mode-banner{background:color-mix(in srgb, var(--mint) 18%, var(--surface))}}.guest-mode-banner div{gap:2px;display:grid}.guest-mode-banner strong{font-size:12px}.guest-mode-banner span{color:var(--muted);font-size:12px}.guest-mode-banner a{color:var(--green);font-size:12px;font-weight:750}.guest-readonly-card{border-style:dashed}.primary-button.wide{width:100%}.theme-toggle{border:1px solid var(--line);background:var(--surface);width:42px;height:40px;color:var(--ink);box-shadow:0 7px 20px var(--shadow-soft);border-radius:11px;flex:0 0 42px;place-items:center;transition:border-color .2s,background .2s,color .2s,transform .2s;display:grid;position:relative;overflow:hidden}.theme-toggle:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.theme-icon{transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.25,1);position:absolute}.theme-icon-sun{opacity:0;transform:translateY(12px)rotate(-70deg)scale(.72)}.theme-icon-moon,:root[data-theme=dark] .theme-icon-sun{opacity:1;transform:none}:root[data-theme=dark] .theme-icon-moon{opacity:0;transform:translateY(-12px)rotate(70deg)scale(.72)}.language-switcher{flex:none;position:relative}.language-trigger{border:1px solid var(--line);background:var(--surface);height:40px;color:var(--ink);box-shadow:0 7px 20px var(--shadow-soft);letter-spacing:.05em;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:0 10px;font-size:12px;font-weight:720;transition:border-color .2s,background .2s,color .2s,transform .2s;display:inline-flex}.language-trigger:hover{border-color:var(--green);color:var(--green);transform:translateY(-1px)}.language-trigger svg:last-child{transition:transform .2s}.language-trigger[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.language-menu{z-index:100;border:1px solid var(--line);background:var(--surface-elevated);border-radius:13px;width:190px;padding:7px;animation:.2s cubic-bezier(.2,.8,.25,1) both languageMenuIn;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;box-shadow:0 20px 55px #17211d2e}.language-menu button{width:100%;min-height:39px;color:var(--ink);text-align:start;background:0 0;border:0;border-radius:8px;grid-template-columns:1fr auto 16px;align-items:center;gap:8px;padding:0 9px;display:grid}.language-menu button:hover{background:var(--surface-soft)}.language-menu button.is-active{background:var(--green)}@supports (color:color-mix(in lab, red, red)){.language-menu button.is-active{background:color-mix(in srgb, var(--green) 13%, var(--surface-elevated))}}.language-menu button.is-active{color:var(--green)}.language-menu button>span{min-width:0;font-size:11px;font-weight:650}.language-menu button small{color:var(--muted);font-family:var(--app-font-mono);letter-spacing:.05em;font-size:8px;font-weight:700}.language-menu button svg{color:var(--green)}@keyframes languageMenuIn{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:none}}.filter-shell{border:1px solid var(--line);background:#fbfaf7d1;border-radius:15px;align-items:center;gap:8px;margin-bottom:16px;padding:8px;display:flex;position:relative}.search-field{color:#8e938e;flex:1;align-items:center;gap:9px;min-width:230px;padding:0 9px;display:flex}.search-field input,.compact-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.search-field input::placeholder{color:#a1a59f}.compact-field{color:#777d78;background:#fff;border:1px solid #e3e1da;border-radius:9px;align-items:center;gap:7px;height:38px;padding:0 10px;display:flex}.compact-field input{color-scheme:normal;width:117px}.date-separator{color:#9a9e99;font-size:11px}.filter-button{border:1px solid var(--strong);background:var(--strong);height:38px;color:var(--on-strong);border-radius:9px;align-items:center;gap:7px;padding:0 11px;font-size:11px;font-weight:650;display:flex}.filter-button>span{background:var(--accent);border-radius:50%;place-items:center;min-width:17px;height:17px;font-size:9px;display:grid}.filter-popover{z-index:15;border:1px solid var(--line);background:var(--surface);border-radius:15px;width:350px;padding:20px;position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;box-shadow:0 22px 55px #17211d26}.popover-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.popover-heading strong{font-size:14px}.popover-heading button,.modal-heading>button{color:var(--muted);background:0 0;border:0;place-items:center;display:grid}.filter-popover label,.receipt-fields label,.item-fields label{color:var(--muted);letter-spacing:.025em;gap:6px;font-size:12px;font-weight:650;display:grid}.filter-popover select,.filter-popover input,.receipt-fields input,.receipt-fields select,.item-fields input,.item-fields select{border:1px solid var(--line);width:100%;height:39px;color:var(--ink);background:#fff;border-radius:9px;outline:0;padding:0 10px;font-size:12px;font-weight:450}.filter-popover>label{margin-bottom:13px}.price-filter{grid-template-columns:1fr 1fr;gap:10px;display:grid}.reset-button{border:0;border-top:1px solid var(--line);width:100%;color:var(--green);background:0 0;margin-top:17px;padding:15px 0 0;font-size:12px;font-weight:650}.connection-error{color:#753a31;background:#f8eae6;border:1px solid #e2c7c1;border-radius:17px;align-items:center;gap:16px;min-height:128px;padding:24px;display:flex}.connection-error div{flex:1}.connection-error strong{font-size:14px}.connection-error p{margin:4px 0 0;font-size:12px}.connection-error button{color:#fff;background:#753a31;border:0;border-radius:9px;padding:9px 13px;font-size:12px;font-weight:650}.stat-grid{grid-template-columns:1.2fr 1fr 1fr .66fr;gap:13px;margin-bottom:13px;transition:opacity .2s;display:grid}.currency-summary{flex-wrap:wrap;gap:8px;margin:-4px 0 16px;display:flex}.currency-summary button{border:1px solid var(--line);background:var(--surface-elevated);min-height:34px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:9px;padding:5px 12px;display:flex}.currency-summary button span{letter-spacing:.08em;font-size:12px;font-weight:750}.currency-summary button strong{color:var(--ink);font-size:12px}.currency-summary button.is-active{border-color:var(--green);box-shadow:0 0 0 2px var(--accent)}@supports (color:color-mix(in lab, red, red)){.currency-summary button.is-active{box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 14%, transparent)}}.is-loading{opacity:.55}.stat-card,.panel{border:1px solid var(--line);background:var(--surface);border-radius:17px}.stat-card{min-height:148px;padding:23px}.stat-card.ink{background:var(--strong);color:var(--on-strong);border-color:var(--strong)}.stat-card.ink p{color:#aeb8b2}.stat-card strong{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:5px;font-size:clamp(20px,2vw,27px);display:block;overflow:hidden}.stat-note{color:var(--muted);font-size:12px;line-height:1.35}.dashboard-grid{grid-template-columns:minmax(0,1.55fr) minmax(320px,.7fr);gap:13px;display:grid}.panel{min-width:0;padding:23px}.panel-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.range-label{border:1px solid var(--line);max-width:230px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:9px;padding:8px 10px;font-size:12px;overflow:hidden}.chart-wrap{height:250px;margin-top:21px}.category-content{grid-template-columns:minmax(150px,.8fr) minmax(130px,1fr);align-items:center;gap:12px;margin-top:24px;display:grid}.donut-wrap{height:180px;position:relative}.donut-total{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-total span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:12px}.donut-total strong{margin-top:3px;font-size:18px}.category-legend>div{grid-template-columns:8px 1fr auto;align-items:center;gap:7px;font-size:12px;display:grid}.category-legend>div>span{border-radius:50%;width:7px;height:7px}.category-legend strong{text-overflow:ellipsis;white-space:nowrap;font-weight:570;overflow:hidden}.category-legend em{color:var(--muted);font-style:normal}.chart-empty{color:#a0a49f;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:250px;font-size:12px;display:flex}.chart-empty.compact{min-height:160px}.lower-grid{grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr);gap:13px;margin-top:13px;display:grid}.upload-panel{background:var(--surface-warm);border-color:#e0d8ca;flex-direction:column;justify-content:center;align-items:flex-start;min-height:290px;display:flex}.scan-icon{background:var(--strong);width:45px;height:45px;color:var(--on-strong);border-radius:13px;place-items:center;margin-bottom:23px;display:grid}.upload-panel h2{max-width:360px;font-size:26px;line-height:1.08}.upload-panel>p:not(.eyebrow){max-width:430px;color:var(--muted);margin:12px 0 20px;font-size:12px;line-height:1.6}.secondary-button{border:1px solid var(--strong);background:var(--strong);color:var(--on-strong)}.secondary-button:hover{background:var(--strong-hover)}.manual-button{color:var(--green);background:0 0;border:0;padding:8px;font-size:12px;font-weight:650}.file-hint{color:#8e8d86;margin-top:9px;font-size:12px}.store-list{margin-top:13px;display:grid}.store-row{border-top:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:center;gap:12px;min-height:52px;display:grid}.store-rank{color:#9fa39d;font-family:var(--app-font-mono);font-size:9px}.store-row>div{flex-direction:column;min-width:0;display:flex}.store-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.store-row>div span{color:var(--muted);margin-top:3px;font-size:12px}.store-row em{font-size:12px;font-style:normal;font-weight:650}.purchases-panel{margin-top:13px;padding:0;overflow:hidden}.purchases-heading{padding:22px 23px 15px}.purchases-heading>span{color:var(--muted);font-size:12px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th{border-block:1px solid var(--line);color:var(--muted);text-align:start;letter-spacing:.055em;text-transform:uppercase;background:#f2f0ea;padding:10px 15px;font-size:9px;font-weight:650}th:first-child,td:first-child{padding-inline-start:23px}th:last-child,td:last-child{padding-inline-end:20px}.sortable-column{padding:0}th.sortable-column:first-child{padding-inline-start:0}.sort-button{width:100%;min-height:37px;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;padding:0 15px;transition:background .18s,color .18s;display:flex}.sortable-column:first-child .sort-button{padding-inline-start:23px}.sort-button.align-right{justify-content:flex-end}.sort-button:hover{color:var(--ink);background:#e9e7df}.sort-button.is-active{color:var(--green)}.sort-button svg{opacity:.52;flex:none}.sort-button.is-active svg{opacity:1}td{color:#525a55;white-space:nowrap;border-bottom:1px solid #e8e6e0;padding:11px 15px;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--inset)}.item-cell{align-items:center;gap:10px;min-width:215px;display:flex}.item-icon{width:30px;height:30px;color:var(--green);background:#e7ece8;border-radius:9px;flex:none;place-items:center;font-size:12px;font-weight:750;display:grid}.item-cell>div{flex-direction:column;min-width:0;display:flex}.item-cell strong{max-width:280px;color:var(--ink);text-overflow:ellipsis;font-size:11px;overflow:hidden}.item-cell span:not(.item-icon){max-width:280px;color:var(--muted);text-overflow:ellipsis;margin-top:2px;font-size:9px;overflow:hidden}.category-tag{color:#666b66;background:#ecebe5;border-radius:7px;padding:5px 7px;font-size:9px;display:inline-flex}.align-right{text-align:end}.price-cell{color:var(--ink);font-weight:650}.row-action{color:#a4a6a2;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;display:grid}.row-action:hover{color:var(--danger);background:#f3e4e1}.empty-ledger{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;padding:30px;display:flex}.empty-ledger>div{width:48px;height:48px;color:var(--green);background:#e9edea;border-radius:14px;place-items:center;display:grid}.empty-ledger h3{margin:14px 0 5px;font-size:15px}.empty-ledger p{max-width:360px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.empty-ledger button{color:var(--green);background:0 0;border:0;margin-top:15px;font-size:12px;font-weight:650}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e1713ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.receipt-modal{background:var(--surface);border:1px solid #dedbd2;border-radius:20px;width:min(960px,100%);max-height:calc(100vh - 48px);overflow:auto;box-shadow:0 35px 100px #111c1780}.receipt-modal.stage-review,.receipt-modal.stage-saving{width:min(1220px,100%)}.modal-heading{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf7f2;justify-content:space-between;align-items:center;padding:22px 25px 18px;display:flex;position:sticky;top:0}.receipt-start{grid-template-columns:minmax(280px,.85fr) minmax(320px,1fr);min-height:530px;display:grid}.receipt-preview,.review-preview{background:#e8e5de;place-items:center;display:grid;overflow:hidden}.receipt-preview{padding:28px}.receipt-preview img{border-radius:7px;max-width:100%;max-height:470px;box-shadow:0 15px 45px #1c2b2433}.receipt-start-copy{flex-direction:column;justify-content:center;padding:46px;display:flex}.ai-badge{background:var(--raised);width:max-content;color:var(--green);text-transform:uppercase;letter-spacing:.06em;border-radius:8px;align-items:center;gap:6px;margin-bottom:24px;padding:6px 9px;font-size:12px;font-weight:650;display:flex}.receipt-start-copy h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:24px;overflow:hidden}.receipt-start-copy>p{color:var(--muted);margin:11px 0 20px;font-size:12px;line-height:1.65}.receipt-start-copy dl{border-top:1px solid var(--line);margin:0 0 25px}.receipt-start-copy dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:11px 0;font-size:12px;display:flex}.receipt-start-copy dt{color:var(--muted)}.receipt-start-copy dd{margin:0;font-weight:600}.replace-file{color:var(--muted);background:0 0;border:0;margin-top:11px;font-size:12px}.processing-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:430px;padding:50px;display:flex}.processing-icon,.success-check{background:var(--raised);width:62px;height:62px;color:var(--green);border-radius:18px;place-items:center;margin-bottom:18px;display:grid}.processing-icon svg{animation:1.25s linear infinite spin}.error-state .processing-icon svg{animation:none}.processing-state h3{margin:0;font-size:22px}.processing-state>p{max-width:500px;color:var(--muted);margin:9px 0 20px;font-size:12px;line-height:1.6}.processing-line{background:var(--track);border-radius:2px;width:min(360px,80%);height:4px;overflow:hidden}.processing-line span{border-radius:inherit;background:var(--accent);width:40%;height:100%;animation:1.4s ease-in-out infinite progress;display:block}.error-actions{justify-content:center}.success-check{color:var(--positive);background:#deeee5}.success-check svg{animation:none}.review-layout{grid-template-columns:300px 1fr;min-height:620px;display:grid}.review-preview{align-content:center;height:calc(min(100vh - 131px,760px));padding:22px;position:sticky;top:83px}.review-preview img{border-radius:6px;max-width:100%;max-height:calc(100% - 40px);box-shadow:0 14px 45px #1c2b2433}.review-preview>span{color:var(--green);align-items:center;gap:5px;margin-top:14px;font-size:12px;font-weight:650;display:flex}.review-form{min-width:0;padding:24px}.receipt-fields{border-bottom:1px solid var(--line);grid-template-columns:145px minmax(180px,1fr) 150px 130px 100px;gap:10px;padding-bottom:21px;display:grid}.line-items-heading{justify-content:space-between;align-items:center;margin:20px 0 10px;display:flex}.line-items-heading>div{flex-direction:column;display:flex}.line-items-heading strong{font-size:13px}.line-items-heading span{color:var(--muted);margin-top:3px;font-size:12px}.line-items-heading button{color:var(--green);background:0 0;border:0;align-items:center;gap:4px;font-size:12px;font-weight:650;display:flex}.line-items{gap:8px;display:grid}.review-item{border:1px solid var(--line);background:var(--inset);border-radius:12px;grid-template-columns:24px 1fr 30px;align-items:end;gap:8px;padding:11px 9px;display:grid}.line-number{color:var(--muted);font-family:var(--app-font-mono);align-self:center;font-size:9px}.item-fields{grid-template-columns:1.25fr 1fr 120px 66px 94px;gap:7px;display:grid}.item-fields input,.item-fields select{height:35px;padding:0 8px;font-size:12px}.remove-line{width:28px;height:35px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.remove-line:hover:not(:disabled){color:var(--danger);background:#f2dfdc}.form-error{color:#983d32;background:#f7e6e2;border-radius:8px;margin:12px 0 0;padding:9px 11px;font-size:12px}.review-footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fbfaf7f7;justify-content:space-between;align-items:center;gap:20px;margin:22px -24px -24px;padding:17px 24px;display:flex;position:sticky;bottom:0}.review-footer>div{grid-template-columns:auto auto;align-items:baseline;gap:3px 9px;display:grid}.review-footer span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:12px}.review-footer strong{font-size:19px}.review-footer em{color:var(--warning);grid-column:1/-1;font-size:12px;font-style:normal}.spin{animation:.8s linear infinite spin}.toast{z-index:80;background:var(--strong);color:var(--on-strong);border-radius:11px;align-items:center;gap:8px;padding:11px 15px;font-size:11px;font-weight:600;display:flex;position:fixed;inset-block-end:25px;inset-inline-end:25px;box-shadow:0 15px 40px #17211d42}:root[data-theme=dark] .ghost-button:hover{border-color:#587064}:root[data-theme=dark] .search-field,:root[data-theme=dark] .search-field input::placeholder{color:var(--muted)}:root[data-theme=dark] .compact-field,:root[data-theme=dark] .filter-popover select,:root[data-theme=dark] .filter-popover input,:root[data-theme=dark] .receipt-fields input,:root[data-theme=dark] .receipt-fields select,:root[data-theme=dark] .item-fields input,:root[data-theme=dark] .item-fields select{border-color:var(--line);background:var(--surface-elevated);color:var(--ink)}:root[data-theme=dark] .filter-popover{box-shadow:0 22px 60px #00000070}:root[data-theme=dark] .connection-error{color:#ffb4a5;background:#34221e;border-color:#70483f}:root[data-theme=dark] .connection-error button{color:#fff4f1;background:#8d4e41}:root[data-theme=dark] .stat-card.ink p{color:#aebdb5}:root[data-theme=dark] .upload-panel{border-color:var(--line)}:root[data-theme=dark] .chart-empty{color:var(--muted)}:root[data-theme=dark] th,:root[data-theme=dark] .sort-button:hover{background:var(--raised)}:root[data-theme=dark] td{border-bottom-color:var(--line);color:var(--muted)}:root[data-theme=dark] tbody tr:hover{background:var(--inset)}:root[data-theme=dark] .item-icon{background:var(--raised)}:root[data-theme=dark] .category-tag{background:var(--raised);color:var(--muted)}:root[data-theme=dark] .row-action{color:var(--muted)}:root[data-theme=dark] .row-action:hover{background:#3b2723}:root[data-theme=dark] .empty-ledger>div{background:var(--raised)}:root[data-theme=dark] .modal-backdrop{background:#030806c7}:root[data-theme=dark] .receipt-modal{border-color:var(--line);box-shadow:0 35px 100px #000000a6}:root[data-theme=dark] .receipt-preview,:root[data-theme=dark] .review-preview{background:var(--inset)}:root[data-theme=dark] .ai-badge,:root[data-theme=dark] .processing-icon{background:var(--raised)}:root[data-theme=dark] .success-check{color:var(--positive);background:#213a2f}:root[data-theme=dark] .processing-line{background:var(--track)}:root[data-theme=dark] .review-item{background:var(--inset)}:root[data-theme=dark] .remove-line{color:var(--muted)}:root[data-theme=dark] .remove-line:hover:not(:disabled){background:#412925}:root[data-theme=dark] .form-error{color:#ffad9e;background:#3b2420}:root[data-theme=dark] .review-footer em{color:var(--warning)}:root[data-theme=dark] .language-menu{box-shadow:0 24px 65px #00000073}:root[data-theme=dark] .dashboard-background:after{background:radial-gradient(circle at 48% 12%,#0000 4%,#0d141124 42%,#0d1411ad 100%)}:root[data-theme=dark] .dashboard-aurora span:first-child{background:#5b977d40}:root[data-theme=dark] .dashboard-aurora span:nth-child(2){background:#ff69461f}:root[data-theme=dark] .dashboard-aurora span:nth-child(3){background:#d8a65b1c}:root[data-theme=dark] .dashboard-background .ambient-geometry{opacity:.36}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress{0%{transform:translateX(calc(var(--dir) * -110%))}to{transform:translateX(calc(var(--dir) * 250%))}}@keyframes dashboardAuroraDrift{0%{transform:translate(-6%,-4%)scale(.94)}to{transform:translate(11%,9%)scale(1.09)}}@media (max-width:1100px){.workspace{padding-inline:28px}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.category-content{grid-template-columns:200px 1fr}.lower-grid{grid-template-columns:1fr 1fr}.item-fields{grid-template-columns:1fr 1fr 110px}.item-fields .quantity-field,.item-fields .money-field{grid-row:2}}@media (max-width:780px){.app-shell{padding-bottom:70px;display:block}.sidebar{flex-direction:row;width:100%;height:62px;padding:9px 15px;inset:auto 0 0}.brand-mark{width:38px;height:38px}.sidebar nav{margin:0 auto;display:flex}.nav-item{width:38px;height:38px}.sidebar-add{margin:0}.user-badge{display:none}.workspace{padding:28px 17px 42px}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;width:100%}.topbar-actions button{flex:1}.topbar-actions .auth-link-button{flex:auto}.topbar-actions .icon-account-button{flex:0 0 40px}.topbar-actions .theme-toggle{flex:0 0 42px}.topbar-actions .language-trigger,.topbar-actions .language-menu button{flex:none}.filter-shell{flex-wrap:wrap}.search-field{border-bottom:1px solid var(--line);flex-basis:100%;width:100%;height:38px}.compact-field{flex:1}.compact-field input{width:100%}.filter-button{margin-inline-start:auto}.filter-popover{width:min(350px,100vw - 34px);inset-inline-end:0}.lower-grid,.receipt-start{grid-template-columns:1fr}.receipt-preview{max-height:320px}.receipt-start-copy{padding:30px 24px}.review-layout{grid-template-columns:1fr}.review-preview{height:250px;position:relative;top:0}.receipt-fields{grid-template-columns:1fr 1fr}.receipt-fields label:nth-child(2){grid-area:1/span 2}.modal-backdrop{padding:10px}.receipt-modal{max-height:calc(100vh - 20px)}.item-fields{grid-template-columns:1fr 1fr}.item-fields label:first-child{grid-column:1/-1}.item-fields .quantity-field,.item-fields .money-field{grid-row:auto}}@media (max-width:520px){.stat-grid{grid-template-columns:1fr}.stat-card{min-height:128px}.stat-card p{margin-bottom:16px}.category-content{grid-template-columns:1fr}.category-legend{grid-template-columns:1fr 1fr}.date-separator{display:none}.compact-field{min-width:calc(50% - 5px)}.filter-button{justify-content:center;width:100%}.receipt-fields{grid-template-columns:1fr}.receipt-fields label:nth-child(2){grid-area:auto}.review-form{padding:17px}.review-footer{flex-direction:column;align-items:stretch;margin:20px -17px -17px;padding:14px 17px}.review-footer>div{justify-content:space-between}.review-item{grid-template-columns:20px 1fr}.remove-line{grid-column:2;justify-self:end;height:26px}.item-fields{grid-template-columns:1fr}.item-fields label:first-child{grid-column:auto}.toast{justify-content:center;inset-block-end:75px;inset-inline:15px}}@media (prefers-reduced-motion:reduce){.dashboard-aurora span{animation:none}.dashboard-background .ambient-geometry{opacity:.3}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}:root{--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--surface-soft:color-mix(in srgb, var(--surface-warm) 60%, var(--surface));--warning:#92400e;--success:#047857}:root[data-theme=dark]{--warning:#fbbf24;--success:#34d399}body{font-size:14px}html.dialog-scroll-lock,html.dialog-scroll-lock body{overflow:hidden}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 75%, transparent);outline-offset:2px}.primary-button,.ghost-button,.secondary-button,.danger-button,.danger-ghost-button{min-height:40px;transition:transform .14s var(--ease-out-strong), background-color .18s ease, border-color .18s ease, color .18s ease;font-size:14px}:where(.primary-button,.ghost-button,.secondary-button,.danger-button,.danger-ghost-button,.filter-button,.row-action):active:not(:disabled){transform:scale(.97)}.filter-button,.compact-field input,.search-field input{font-size:14px}.filter-popover label,.receipt-fields label,.item-fields label{font-size:13px}.filter-popover select,.filter-popover input,.receipt-fields input,.receipt-fields select,.item-fields input,.item-fields select,td{font-size:14px}th{font-size:12px}.item-cell strong{font-size:14px}.stat-note,.store-row strong,.store-row em,.category-legend>div,.range-label{font-size:13px}.upload-panel>p:not(.eyebrow),.receipt-start-copy>p,.processing-state>p,.guest-mode-banner span{font-size:14px}.manual-button{font-size:14px;text-decoration:none}.danger-button{border:1px solid var(--danger);background:var(--danger);color:#fff;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-weight:670;display:inline-flex}.danger-ghost-button{border:1px solid color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger);background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-weight:650;display:inline-flex}.danger-ghost-button:hover:not(:disabled){background:color-mix(in srgb, var(--danger) 10%, transparent)}.nav-item,.sidebar-add{position:relative}.nav-label{z-index:30;background:var(--strong);color:var(--on-strong);box-shadow:0 10px 28px var(--shadow-soft);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease-out, transform .16s var(--ease-out-strong);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:650;position:absolute;top:50%;left:calc(100% + 12px);transform:translate(-4px,-50%)}:is(.nav-item:focus-visible .nav-label,.sidebar-add:focus-visible .nav-label){opacity:1;transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.nav-item:hover .nav-label,.sidebar-add:hover .nav-label{opacity:1;transform:translateY(-50%)}}.app-dialog-backdrop{animation:.16s ease-out both dialogBackdropIn}.app-dialog{border:1px solid var(--line);background:var(--surface);width:min(640px,100%);max-height:calc(100vh - 48px);color:var(--ink);animation:dialogIn .2s var(--ease-out-strong) both;border-radius:20px;outline:none;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 35px 100px #111c1780}.app-dialog.size-small{width:min(460px,100%)}.app-dialog.size-large{width:min(900px,100%)}.app-dialog.size-wide{width:min(1220px,100%)}.app-dialog.receipt-modal{max-height:calc(100vh - 48px);overflow:hidden}.app-dialog.receipt-modal.stage-ready,.app-dialog.receipt-modal.stage-extracting,.app-dialog.receipt-modal.stage-error,.app-dialog.receipt-modal.stage-success{width:min(960px,100%)}.app-dialog .modal-heading h2{font-size:21px}.app-dialog .modal-heading>button{border-radius:10px;width:38px;height:38px}.app-dialog .modal-heading>button:hover{background:var(--surface-soft);color:var(--ink)}.app-dialog-body{min-height:0;overflow:auto}.app-dialog:not(.receipt-modal) .app-dialog-body{padding:20px 25px 24px}.app-dialog-footer{border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, var(--paper));flex-wrap:wrap;justify-content:flex-end;gap:9px;padding:14px 25px;display:flex}.app-dialog-body{overscroll-behavior:contain}.app-dialog-footer{flex-shrink:0}.receipt-fields{border:0;min-width:0;margin:0;padding:0}.compact-review-item{border:1px solid var(--line);background:var(--surface);border-radius:12px;overflow:hidden}.review-layout:not(.with-preview){grid-template-columns:minmax(0,1fr)}.compact-review-item.needs-review{border-color:color-mix(in srgb, var(--warning) 55%, var(--line))}.review-item-toggle{width:100%;min-height:72px;color:var(--ink);text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:13px 16px;display:flex}.review-item-toggle:hover:not(:disabled){background:var(--surface-soft)}.review-item-number{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.review-item-summary{overflow-wrap:anywhere;flex:1;gap:4px;min-width:0;display:grid}.review-item-summary strong{font-size:15px}.review-item-summary>span{color:var(--muted);font-size:12px}.review-item-summary em,.receipt-review-totals em{color:var(--warning);font-size:12px;font-style:normal}.review-item-total{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:35%;font-size:14px}.review-item-toggle>svg{flex-shrink:0}.review-item-toggle>svg.expanded{transform:rotate(180deg)}.review-item-editor{gap:12px;padding:0 16px 16px;display:grid}.review-item-editor .item-fields{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) 80px 120px}.review-item-editor>button{justify-self:start}.receipt-review-footer{align-items:center;gap:12px;width:100%;display:flex}.receipt-review-totals{flex:1;grid-template-columns:auto 1fr;gap:5px 14px;min-width:0;display:grid}.receipt-review-totals>span{color:var(--muted);font-size:13px}.receipt-review-totals strong{font-variant-numeric:tabular-nums;font-size:19px}.receipt-review-totals em{grid-column:1/-1;line-height:1.5}@media (max-width:700px){.review-item-toggle{gap:8px;padding:12px}.review-item-editor{padding:0 12px 12px}.review-item-editor .item-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.review-item-editor .item-fields .original-name{grid-column:1/-1}.receipt-review-footer{flex-wrap:wrap}.receipt-review-totals{flex-basis:100%}.receipt-review-footer>button{flex:1}}.confirm-copy{align-items:flex-start;gap:14px;font-size:14px;line-height:1.55;display:flex}.confirm-copy p{margin:0}.confirm-icon{background:color-mix(in srgb, var(--danger) 13%, transparent);width:38px;height:38px;color:var(--danger);border-radius:12px;flex:none;place-items:center;display:grid}@keyframes dialogIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}@keyframes dialogBackdropIn{0%{opacity:0}to{opacity:1}}.notice-region{z-index:90;position:fixed;bottom:25px;right:25px}.notice-region .toast{max-width:min(460px,100vw - 30px);animation:noticeIn .22s var(--ease-out-strong) both;font-size:14px;position:static}.notice-region .toast>span{flex:1}.toast.notice-error{color:#fff4f1;background:#7d2f25}.toast.notice-info{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink)}.notice-action,.notice-close{color:inherit;background:0 0;border:0}.notice-action{text-underline-offset:3px;border-radius:7px;padding:4px 8px;font-weight:750;text-decoration:underline}.notice-close{opacity:.8;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}@keyframes noticeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.chart-data{margin-top:12px}.chart-summary{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.chart-data-toggle{color:var(--green);text-underline-offset:3px;background:0 0;border:0;margin-top:6px;padding:4px 0;font-size:13px;font-weight:650;text-decoration:underline}.chart-data-table{border:1px solid var(--line);border-radius:12px;max-height:260px;margin-top:8px;overflow:auto}.chart-data-table th[scope=row]{border-block:0;border-bottom:1px solid var(--line);color:var(--ink);letter-spacing:0;text-transform:none;background:0 0;font-size:13px;font-weight:550}.chart-data-table td{font-size:13px}.inline-error{background:color-mix(in srgb, var(--danger) 11%, var(--surface));color:var(--danger);border-radius:11px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:10px 14px;font-size:14px;display:flex}.inline-error button{color:inherit;background:0 0;border:1px solid;border-radius:9px;padding:6px 11px;font-weight:650}.empty-note{color:var(--muted);margin:14px 0 4px;font-size:14px}.field-hint{color:var(--muted);align-items:center;gap:5px;margin:10px 0 0;font-size:13px;line-height:1.5;display:flex}.is-stale{opacity:.72;filter:saturate(.7)}.stale-note{font-weight:650}.status-badge{background:var(--surface-soft);color:var(--muted);border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-style:normal;font-weight:650;display:inline-flex}.status-badge.warning{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.status-badge.info{background:color-mix(in srgb, var(--green) 13%, transparent);color:var(--green)}.status-badge.ok,.status-badge.status-confirmed{background:color-mix(in srgb, var(--success) 14%, transparent);color:var(--success)}.ledger-loading{min-height:160px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex}.onboarding-card{border:1px solid color-mix(in srgb, var(--green) 30%, var(--line));background:color-mix(in srgb, var(--mint) 14%, var(--surface));border-radius:17px;margin:0 0 18px;padding:20px 22px}.onboarding-head{justify-content:space-between;gap:16px;display:flex}.onboarding-head h2{font-size:20px}.onboarding-head p:not(.eyebrow){color:var(--muted);margin:4px 0 0;font-size:14px}.onboarding-head .eyebrow{align-items:center;gap:5px;display:flex}.onboarding-bar{background:color-mix(in srgb, var(--green) 14%, transparent);border-radius:999px;height:6px;margin:14px 0 12px;overflow:hidden}.onboarding-bar span{border-radius:inherit;background:var(--green);height:100%;transition:width .24s var(--ease-out-strong);display:block}.onboarding-steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.onboarding-steps li{border:1px solid var(--line);background:var(--surface);border-radius:13px;gap:10px;padding:12px;display:flex}.onboarding-steps li.is-complete{opacity:.72}.onboarding-steps li>div{align-content:start;gap:4px;display:grid}.onboarding-steps strong{font-size:14px}.onboarding-steps li>div>span{color:var(--muted);font-size:13px;line-height:1.45}.step-check{border:2px solid var(--line);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid}.is-complete .step-check{border-color:var(--green);background:var(--green)}.onboarding-actions{flex-wrap:wrap;gap:10px;margin-top:4px;display:flex!important}.onboarding-actions a,.onboarding-actions button{color:var(--green);background:0 0;border:0;padding:0;font-size:13px;font-weight:700;text-decoration:none}.onboarding-note{color:var(--muted);margin:12px 0 0;font-size:13px}.insight-feed{border:1px solid var(--line);background:var(--surface);border-radius:17px;margin:0 0 13px;padding:20px 23px}.insight-feed .eyebrow,.recurring-panel .eyebrow{align-items:center;gap:5px;display:flex}.insight-list{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.insight-card{border:1px solid var(--line);background:var(--surface-elevated);border-radius:14px;grid-template-columns:34px 1fr;gap:11px;padding:14px 40px 14px 14px;display:grid;position:relative}.insight-card.severity-warning{border-color:color-mix(in srgb, var(--warning) 40%, var(--line))}.insight-card.severity-critical{border-color:color-mix(in srgb, var(--danger) 45%, var(--line))}.insight-icon{background:color-mix(in srgb, var(--green) 13%, transparent);width:34px;height:34px;color:var(--green);border-radius:10px;place-items:center;display:grid}.severity-warning .insight-icon{background:color-mix(in srgb, var(--warning) 15%, transparent);color:var(--warning)}.severity-critical .insight-icon{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.insight-body strong{font-size:15px}.insight-body p{color:var(--ink);margin:4px 0 6px;font-size:14px;line-height:1.45}.insight-body small{color:var(--muted);font-size:12px}.insight-actions{flex-wrap:wrap;gap:12px;margin-top:9px;display:flex}.insight-actions button,.budget-links button,.recurring-actions button,.contributors button{color:var(--green);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.insight-dismiss{width:28px;height:28px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.insight-dismiss:hover{background:var(--surface-soft);color:var(--ink)}.planning-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:13px;margin-top:13px;scroll-margin-top:20px;display:grid}.budgets-panel .panel-heading,.comparison-panel .panel-heading,.recurring-panel .panel-heading{align-items:flex-start}.budget-list{gap:12px;margin:16px 0 0;padding:0;list-style:none;display:grid}.budget-row{border:1px solid var(--line);background:var(--surface-elevated);border-radius:13px;padding:13px}.budget-row-head{justify-content:space-between;gap:10px;display:flex}.budget-row-head strong{font-size:15px;display:block}.budget-row-head span{color:var(--muted);font-size:13px}.budget-row-actions{gap:2px;display:flex}.budget-row-actions button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.budget-row-actions button:hover{background:var(--surface-soft);color:var(--ink)}.budget-bar{background:color-mix(in srgb, var(--green) 13%, var(--surface-soft));border-radius:999px;height:9px;margin:10px 0 8px;overflow:hidden}.budget-bar span{border-radius:inherit;background:var(--green);height:100%;transition:width .24s var(--ease-out-strong);display:block}.state-warning .budget-bar span{background:var(--warning)}.state-exceeded .budget-bar span{background:var(--danger)}.budget-row-foot{flex-wrap:wrap;justify-content:space-between;gap:6px;font-size:13px;display:flex}.budget-state{color:var(--muted);align-items:center;gap:4px;display:inline-flex}.state-warning .budget-state{color:var(--warning);font-weight:650}.state-exceeded .budget-state{color:var(--danger);font-weight:650}.budget-links{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.stack-form{gap:13px;display:grid}.comparison-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.comparison-figures>div{border:1px solid var(--line);background:var(--surface-elevated);border-radius:12px;gap:3px;min-width:0;padding:12px;display:grid}.comparison-figures span{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:650}.comparison-figures strong{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:3px;font-size:20px;display:flex;overflow:hidden}.comparison-figures small{color:var(--muted);font-size:12px}.comparison-change.is-up strong{color:var(--danger)}.comparison-change.is-down strong{color:var(--success)}.comparison-chart{height:190px;margin-top:14px}.contributors{grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;display:grid}.contributors h3{color:var(--muted);margin:0 0 6px;font-size:13px}.contributors ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.contributors li{justify-content:space-between;gap:8px;font-size:13px;display:flex}.contributors .is-up{color:var(--danger)}.contributors .is-down{color:var(--success)}.recurring-panel{margin-top:13px}.recurring-list{gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.recurring-list li{border:1px solid var(--line);background:var(--surface-elevated);border-radius:13px;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;padding:13px;display:grid}.recurring-list li.status-ignored,.recurring-list li.status-ended{opacity:.66}.recurring-main{gap:4px;min-width:0;display:grid}.recurring-main strong{font-size:15px}.recurring-main>span:not(.recurring-badges){color:var(--muted);font-size:13px}.recurring-badges{flex-wrap:wrap;gap:5px;display:flex}.recurring-amount{justify-items:end;gap:3px;display:grid}.recurring-amount strong{font-size:15px}.recurring-amount span{color:var(--muted);font-size:12px}.recurring-actions{flex-wrap:wrap;grid-column:1/-1;gap:14px;display:flex}.recurring-actions .primary-chip{color:var(--green)}.ledger-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.ledger-heading-actions>span{color:var(--muted);font-size:13px}.ledger-heading-actions a[aria-disabled=true]{opacity:.5;pointer-events:none}.bulk-bar{border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-radius:12px;flex-wrap:wrap;align-items:center;gap:9px;margin:0 23px 12px;padding:10px 12px;display:flex}.bulk-bar strong{margin-right:auto;font-size:14px}.bulk-bar select{border:1px solid var(--line);background:var(--surface-elevated);height:38px;color:var(--ink);border-radius:9px;padding:0 8px;font-size:14px}.purchases-panel .inline-error{margin:0 23px 12px}.purchases-panel{scroll-margin-top:20px}th.select-column,td.select-column{width:44px;padding-right:0;padding-left:23px!important}.select-column input{width:17px;height:17px;accent-color:var(--green)}tbody tr.is-selected{background:color-mix(in srgb, var(--accent) 6%, transparent)}.item-open{color:inherit;text-align:left;background:0 0;border:0;padding:0}.item-open:hover strong{text-underline-offset:3px;text-decoration:underline}.ledger-pagination{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:13px 23px;font-size:13px;display:flex}.ledger-pagination>div{gap:8px;display:flex}.expense-detail{gap:18px;display:grid}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;margin:0;display:grid}.detail-list>div{border-bottom:1px solid var(--line);gap:3px;padding:10px 0;display:grid}.detail-list dt{color:var(--muted);font-size:12px;font-weight:650}.detail-list dd{overflow-wrap:anywhere;margin:0;font-size:15px}.edit-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.edit-grid .wide{grid-column:1/-1}.edit-field{color:var(--muted);gap:6px;font-size:13px;font-weight:650;display:grid}.edit-field input,.edit-field select{border:1px solid var(--line);background:var(--surface-elevated);width:100%;height:42px;color:var(--ink);border-radius:10px;padding:0 11px;font-size:14px;font-weight:450}.edit-field.has-error input,.edit-field.has-error select{border-color:var(--danger)}.edit-field em{color:var(--danger);font-size:13px;font-style:normal}.field-flag{color:var(--warning);font-style:normal}.conflict-banner{border:1px solid color-mix(in srgb, var(--warning) 45%, var(--line));background:color-mix(in srgb, var(--warning) 10%, var(--surface));border-radius:12px;gap:6px;margin:0;padding:13px 15px;font-size:14px;display:grid}.conflict-banner p{margin:0}.conflict-banner button{justify-self:start}.receipt-context{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.receipt-context>div{flex:1;gap:2px;display:grid}.receipt-context span{color:var(--muted);font-size:13px}.history-list h3,.receipt-lines h3{align-items:center;gap:6px;margin:0 0 8px;font-size:15px;display:flex}.history-list ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.history-list li{grid-template-columns:10px auto 1fr;align-items:center;gap:9px;font-size:14px;display:grid}.history-list time{color:var(--muted);justify-self:end;font-size:13px}.history-dot{background:var(--green);border-radius:50%;width:8px;height:8px}.history-dot.action-deleted,.history-dot.action-purged{background:var(--danger)}.history-dot.action-restored{background:var(--accent)}.dialog-intro{color:var(--muted);margin:0 0 14px;font-size:14px}.trash-list,.receipt-lines ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-receipts{margin-block:24px}.recent-receipts-intro{color:var(--muted);margin:4px 0 18px;font-size:14px}.recent-receipt-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.recent-receipt-list button{border:1px solid var(--line);background:var(--surface-elevated);width:100%;color:var(--ink);text-align:start;cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:13px 15px;display:flex}:is(.recent-receipt-list button:hover,.recent-receipt-list button:focus-visible){border-color:var(--green)}.recent-receipt-main{flex:1;gap:3px;min-width:0;display:grid}.recent-receipt-main strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-receipt-main small,.recent-receipt-deleted{color:var(--muted);font-size:12px}.recent-receipt-deleted{align-items:center;gap:4px;display:inline-flex}.recent-receipt-total{white-space:nowrap}.receipt-notifications{inset-inline-end:20px;z-index:120;justify-items:end;gap:10px;max-width:min(420px,100vw - 40px);display:grid;position:fixed;bottom:20px}.receipt-inbox-trigger{border:1px solid var(--line);background:var(--surface-elevated);width:48px;height:48px;color:var(--ink);box-shadow:0 8px 28px var(--shadow-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:relative}.receipt-inbox-trigger span{background:var(--accent);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:11px;display:grid;position:absolute;inset-block-start:-5px;inset-inline-end:-5px}.receipt-inbox{border:1px solid var(--line);background:var(--surface-elevated);width:min(400px,100vw - 40px);max-height:55vh;box-shadow:0 12px 36px var(--shadow-soft);border-radius:16px;padding:16px;overflow:auto}.receipt-inbox ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.receipt-inbox li{border-top:1px solid var(--line);align-items:center;gap:9px;padding:9px 0;display:flex}.receipt-inbox li>span{flex:1;gap:2px;min-width:0;display:grid}.receipt-inbox li strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.receipt-inbox li small{color:var(--muted)}.receipt-inbox a,.receipt-inbox li button,.receipt-complete-toast a{color:var(--green);white-space:nowrap;font-weight:700}.receipt-complete-toast{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);box-shadow:0 12px 36px var(--shadow-soft);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.receipt-complete-toast span{flex:1}.receipt-complete-toast button{color:var(--muted);cursor:pointer;background:0 0;border:0}.trash-list li{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.trash-list li>div{flex:260px;gap:3px;display:grid}.trash-list span,.trash-list small{color:var(--muted);font-size:13px}.receipt-lines li{border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;gap:12px;padding:9px 0;font-size:14px;display:grid}.receipt-lines em{color:var(--muted);font-size:13px;font-style:normal}.receipt-lines h4{color:var(--muted);margin:14px 0 6px;font-size:13px}.deleted-lines li{color:var(--muted);text-decoration:line-through}.price-replacements{border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;padding:12px;display:grid}.price-replacements legend{padding:0 6px;font-size:14px;font-weight:700}.price-replacements .field-hint{grid-column:1/-1;margin:0}.explanation{gap:16px;display:grid}.explanation-summary{border:1px solid color-mix(in srgb, var(--green) 30%, var(--line));background:color-mix(in srgb, var(--mint) 12%, var(--surface));border-radius:13px;padding:15px}.explanation-summary .eyebrow{align-items:center;gap:5px;display:flex}.explanation-summary>p:not(.eyebrow):not(.field-hint){margin:0;font-size:15px;line-height:1.55}.evidence-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.evidence-table caption{text-align:left;padding:8px 12px 6px;font-size:13px;font-weight:700}.explanation-actions{gap:12px;display:grid}.explanation-actions>.ghost-button{justify-self:start}.ai-handoff{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:10px;padding:14px;display:grid}.ai-handoff p{margin:0;font-size:14px;line-height:1.5}.ai-handoff>a,.ai-handoff>button{justify-self:start}.chat-context-banner{border:1px solid var(--line);background:var(--surface-elevated);color:var(--ink);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:8px;padding:9px 12px;font-size:13px;display:flex}.chat-context-banner span:nth-child(2){color:var(--muted)}.chat-context-banner button{color:var(--muted);background:0 0;border:0;margin-left:auto}.chat-retry-button{background:var(--accent);color:#fff;border:0;border-radius:10px;margin-top:12px;padding:10px 18px;font-size:14px;font-weight:700}:root[data-theme=dark] .app-dialog{box-shadow:0 35px 100px #000000a6}:root[data-theme=dark] .toast.notice-error{background:#5b241c}@media (max-width:1100px){.planning-grid{grid-template-columns:1fr}}@media (max-width:780px){.app-shell{padding-bottom:76px}.sidebar{height:66px;padding:6px 8px}.sidebar nav{flex:1;justify-content:space-around;gap:2px;min-width:0;margin:0}.sidebar .nav-secondary{display:none}.sidebar nav .nav-item{flex:1 1 0;min-width:0}.sidebar .brand-mark{display:none}.nav-item,.sidebar-add{flex-direction:column;justify-content:center;align-items:center;gap:2px;width:auto;min-width:54px;height:54px;padding:0 6px;display:flex}.sidebar-add{border:0}.nav-label{max-width:100%;box-shadow:none;color:inherit;text-overflow:ellipsis;opacity:1;background:0 0;padding:0;font-size:12px;font-weight:600;position:static;overflow:hidden;transform:none}.sidebar-add{flex:0 0 64px}.comparison-figures,.contributors,.edit-grid,.detail-list,.price-replacements{grid-template-columns:1fr}.app-dialog{border-radius:16px;max-height:calc(100vh - 20px)}.app-dialog:not(.receipt-modal) .app-dialog-body{padding:16px}.app-dialog-footer{padding:12px 16px}.app-dialog-footer>button{flex:auto}.notice-region{bottom:80px;left:15px;right:15px}.insight-list{grid-template-columns:1fr}.bulk-bar{margin-inline:15px}.purchases-heading{flex-direction:column;align-items:flex-start}.ledger-heading-actions{justify-content:flex-start}}@media (max-width:520px){.recurring-list li{grid-template-columns:1fr}.recurring-amount{justify-items:start}.receipt-lines li{grid-template-columns:1fr auto}.receipt-lines em{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.app-dialog,.app-dialog-backdrop,.notice-region .toast,.language-menu,.processing-line span,.processing-icon svg,.spin{animation:none}.nav-label,.budget-bar span,.onboarding-bar span,.theme-icon,.theme-toggle,.language-trigger{transition:none}:where(.primary-button,.ghost-button,.secondary-button,.danger-button,.danger-ghost-button,.filter-button,.row-action):active:not(:disabled){transform:none}}.home-focus{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"spending budget""spending inbox""change change""details details";gap:16px;margin-block:24px 34px;display:grid}.home-focus>article{background:var(--surface);border-radius:18px;min-width:0;padding:24px}.home-focus p{margin:0}.home-focus .home-label{color:var(--muted);align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.home-spending{color:var(--on-strong);flex-direction:column;grid-area:spending;justify-content:center;gap:12px;display:flex;background:var(--strong)!important}.home-spending-value{letter-spacing:-.055em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:clamp(2.3rem,4.5vw,3.8rem);font-weight:700;line-height:1.12}.home-period,.home-spending-count{font-size:13px;line-height:1.6}.home-spending-count{opacity:.7}.home-focus .home-link{min-height:44px;color:var(--green);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:fit-content;padding:0;font-size:13px;font-weight:650;text-decoration:underline;display:inline-flex}.home-focus .home-link:hover{color:var(--accent)}.home-budget{grid-area:budget}.home-inbox{grid-area:inbox}.home-focus .home-note{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.55}.home-focus .home-note-small{font-size:12px}.home-budget-value{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:28px;font-weight:700;display:flex;margin-block:10px!important}.home-budget-value span{color:var(--muted);font-size:12px;font-weight:500}.home-budget-value.is-over{color:var(--danger)}.home-progress{background:var(--line);border-radius:3px;height:5px;overflow:hidden}.home-progress span{background:var(--green);height:100%;display:block}.home-budget:has(.is-over) .home-progress span{background:var(--danger)}.home-focus .home-scope{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.5}.home-review-value{letter-spacing:-.025em;margin-top:10px;font-size:23px;font-weight:650;line-height:1.25;display:block}.home-change{border-inline-start:3px solid var(--mint);grid-area:change}.home-change-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:12px 20px;display:flex}.home-change-heading h2{letter-spacing:-.025em;margin:0;font-size:22px;font-weight:650;line-height:1.35}.home-change-amount{color:var(--green);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.home-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.home-evidence>div{flex-direction:column;min-width:0;display:flex}.home-evidence>div+div{border-inline-start:1px solid var(--line);padding-inline-start:24px}.home-evidence span{color:var(--muted);font-size:13px;line-height:1.6}.home-evidence strong{font-variant-numeric:tabular-nums;margin-top:6px;font-size:22px}.home-detail-link{width:fit-content;min-height:44px;color:var(--green);grid-area:details;align-items:center;gap:8px;font-size:14px;font-weight:650;display:inline-flex}.home-details-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:16px;display:flex}.home-details-heading h2{margin:0;font-size:18px;font-weight:650}.home-details-heading a{color:var(--green);align-items:center;min-height:44px;font-size:13px;display:inline-flex}.home-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))}:root[dir=rtl] .home-link svg:last-child,:root[dir=rtl] .home-detail-link svg{transform:rotate(180deg)}@media (max-width:680px){.home-focus{grid-template-columns:minmax(0,1fr);grid-template-areas:"spending""budget""inbox""change""details";gap:12px;margin-block:16px 28px}.home-focus>article{padding:20px}.home-spending{min-height:210px}.home-spending-value{font-size:clamp(2rem,9vw,3rem)}.home-review-value{font-size:21px}.home-evidence{gap:14px}.home-evidence>div+div{padding-inline-start:14px}.home-evidence strong{overflow-wrap:anywhere;font-size:19px}.home-change-heading h2{font-size:20px}.home-detail-stats{grid-template-columns:minmax(0,1fr)}}@font-face{font-family:Plus Jakarta Display;src:url(/fonts/jakarta-regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Plus Jakarta Display;src:url(/fonts/jakarta-medium.woff2)format("woff2");font-weight:500 600;font-display:swap}@font-face{font-family:Plus Jakarta Display;src:url(/fonts/jakarta-bold.woff2)format("woff2");font-weight:650 900;font-display:swap}body{--app-font:"Plus Jakarta Display", var(--font-geist-sans), Arial, sans-serif}.dashboard-background{display:none}.workspace{width:min(1680px,100%);padding:28px 28px 64px}h1{letter-spacing:-.035em;font-size:clamp(28px,3vw,38px);font-weight:700;line-height:1.25}.eyebrow{font-family:var(--app-font);letter-spacing:.04em}.topbar{align-items:center;margin-bottom:24px}.panel,.stat-card,.home-focus>article{border:1px solid var(--line);box-shadow:0 8px 30px var(--shadow-soft);border-radius:20px}.panel{padding:22px}.stat-grid.home-detail-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-block:24px 0}.stat-card{justify-content:space-between;align-items:center;gap:10px;min-height:98px;padding:18px;display:flex}.stat-card>div{min-width:0}.stat-card p{color:var(--muted);margin:0 0 6px;font-size:12px}.stat-card strong{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:clamp(18px,1.65vw,25px);line-height:1.4}.stat-icon{color:#fff;background:var(--accent);border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.filter-shell{background:var(--surface);border-radius:16px}:root[data-theme=dark] .filter-shell{background:var(--surface)}:root[data-theme=dark] .modal-heading,:root[data-theme=dark] .review-footer{background:var(--surface-elevated)}.search-field,.search-field input::placeholder{color:var(--muted)}.compact-field,.filter-popover select,.filter-popover input,.receipt-fields input,.receipt-fields select,.item-fields input,.item-fields select{background:var(--surface);color:var(--ink);border-color:var(--control-border)}.primary-button{box-shadow:none}.ghost-button:hover{border-color:var(--control-border)}.home-focus{grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);grid-template-areas:"spending budget inbox""change change change""details details details";gap:16px;margin-block:18px 24px}.home-focus>article{padding:22px}.home-spending{color:var(--ink);justify-content:flex-start;gap:14px;background:linear-gradient(135deg, var(--surface), var(--hero))!important}.home-spending .home-label,.home-spending .home-period{color:var(--muted);opacity:1}.home-spending-value{letter-spacing:-.04em;font-size:clamp(30px,3vw,46px)}.home-spending .home-link{color:var(--green);margin-top:auto}.home-spending-count{color:var(--muted);opacity:1}.home-budget-value{justify-content:center;font-size:23px;margin-top:0!important}.budget-ring{place-items:center;width:136px;height:136px;margin:12px auto;display:grid;position:relative}.budget-ring svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.budget-ring strong{font-variant-numeric:tabular-nums;font-size:26px}.budget-ring .ring-track{stroke:var(--track)}.budget-ring .ring-value{stroke:var(--chart-bar);stroke-linecap:round}.home-budget:has(.is-over) .ring-value{stroke:var(--danger)}.home-budget:has(.is-over) .budget-ring strong{color:var(--danger)}.home-review-value{background:var(--inset);color:var(--ink);border-radius:14px;margin-top:18px;padding:18px;font-size:24px}.home-inbox .home-note{padding-inline:4px}.home-change{border-inline-start-width:1px}.home-change-amount{color:var(--ink)}.dashboard-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:16px}.category-content{grid-template-columns:1fr;gap:16px;display:grid}.category-columns{background:var(--inset);border-radius:16px;height:204px;padding:8px}.category-legend{gap:10px;display:grid}.category-legend>div{border-bottom:1px solid var(--line);padding-bottom:8px}.comparison-chart{padding-block:10px}.comparison-change.is-down,.is-down{color:var(--positive)}.comparison-change.is-up,.is-up{color:var(--danger)}.connection-error{background:color-mix(in srgb, var(--danger) 10%, var(--surface));color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--line))}.connection-error button{background:var(--danger)}@media (min-width:781px){.sidebar{width:calc(var(--primary-sidebar-width) - 24px);border:1px solid var(--line);background:var(--sidebar);box-shadow:0 8px 30px var(--shadow-soft);border-radius:20px;align-items:stretch;padding:22px 16px 16px;inset-block:16px;inset-inline-start:16px}.sidebar .brand-mark{width:auto;height:auto;color:var(--ink);border-bottom:1px solid var(--line);background:0 0;border-radius:0;align-items:center;gap:12px;padding-bottom:22px;font-size:18px;display:flex}.sidebar .brand-mark>span{background:var(--accent);color:#fff;border-radius:12px;place-items:center;width:38px;height:38px;display:grid}.sidebar nav{gap:7px;margin-top:22px}.sidebar .nav-item,.sidebar .sidebar-add{width:100%;height:auto;min-height:46px;color:var(--muted);background:0 0;justify-content:flex-start;align-items:center;gap:12px;padding:11px 12px;display:flex}.sidebar .nav-item.active,.sidebar .nav-item:hover{background:var(--raised);color:var(--ink)}.sidebar .nav-item.active>svg{color:var(--green)}.sidebar .nav-label{white-space:normal;opacity:1;color:inherit;box-shadow:none;background:0 0;padding:0;font-size:13px;line-height:1.4;position:static;transform:none!important}.sidebar .sidebar-add{background:var(--accent);border-color:var(--accent);color:#fff}.sidebar .user-badge{border-color:var(--line);color:var(--ink);align-self:center}}@media (min-width:781px) and (max-width:1180px){:root{--primary-sidebar-width:220px}.workspace{padding-inline:20px}.stat-grid.home-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.home-focus{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"spending spending""budget inbox""change change""details details"}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:780px){.sidebar{background:var(--surface);border-top:1px solid var(--line)}.sidebar .nav-item{color:var(--muted)}.sidebar .nav-item.active{background:var(--raised);color:var(--green)}.sidebar .sidebar-add{color:var(--green)}.workspace{padding:24px 16px 42px}.stat-grid.home-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{min-height:100px;padding:14px}.stat-card strong{font-size:18px}.stat-icon{border-radius:10px;flex-basis:32px;width:32px;height:32px}.stat-icon svg{width:17px}.home-focus{grid-template-columns:1fr;grid-template-areas:"spending""budget""inbox""change""details"}.home-spending-value{font-size:36px}.dashboard-grid,.category-content{grid-template-columns:1fr}}@media (max-width:360px){.stat-icon{display:none}}
