.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-3{padding-top:var(--spacing-3)}.pt-4{padding-top:var(--spacing-4)}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-4{padding-bottom:var(--spacing-4)}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-3{padding-left:var(--spacing-3)}.pl-4{padding-left:var(--spacing-4)}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-3{padding-right:var(--spacing-3)}.pr-4{padding-right:var(--spacing-4)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-justify{text-align:justify}.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-muted{color:var(--text-muted)}.text-primary{color:var(--accent)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-destructive{color:var(--destructive)}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.75}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:fit-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:fit-content}.min-h-screen{min-height:100vh}.min-w-full{min-width:100%}.border{border:1px solid var(--border)}.border-0{border:0}.border-t{border-top:1px solid var(--border)}.border-r{border-right:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-l{border-left:1px solid var(--border)}.rounded{border-radius:var(--radius)}.rounded-sm{border-radius:.125rem}.rounded-md{border-radius:var(--radius)}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.bg-transparent{background-color:transparent}.bg-current{background-color:currentColor}.bg-primary{background-color:var(--accent)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-warning{background-color:var(--warning)}.bg-success{background-color:var(--success)}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.cursor-auto{cursor:auto}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-wait{cursor:wait}.cursor-text{cursor:text}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.scrollbar-none{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-none::-webkit-scrollbar{display:none;width:0;height:0}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-auto{z-index:auto}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.scale-0{transform:scale(0)}.scale-50{transform:scale(.5)}.scale-75{transform:scale(.75)}.scale-90{transform:scale(.9)}.scale-95{transform:scale(.95)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.scale-125{transform:scale(1.25)}.scale-150{transform:scale(1.5)}.rotate-0{transform:rotate(0)}.rotate-1{transform:rotate(1deg)}.rotate-2{transform:rotate(2deg)}.rotate-3{transform:rotate(3deg)}.rotate-6{transform:rotate(6deg)}.rotate-12{transform:rotate(12deg)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}@media (min-width: 640px){.sm\:hidden{display:none}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid{display:grid}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}.sm\:text-lg{font-size:1.125rem}.sm\:p-4{padding:var(--spacing-4)}.sm\:p-6{padding:var(--spacing-6)}}@media (min-width: 768px){.md\:hidden{display:none}.md\:block{display:block}.md\:flex{display:flex}.md\:grid{display:grid}.md\:text-base{font-size:1rem}.md\:text-lg{font-size:1.125rem}.md\:text-xl{font-size:1.25rem}.md\:p-6{padding:var(--spacing-6)}.md\:p-8{padding:2rem}}@media (min-width: 1024px){.lg\:hidden{display:none}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:text-lg{font-size:1.125rem}.lg\:text-xl{font-size:1.25rem}.lg\:text-2xl{font-size:1.5rem}.lg\:p-8{padding:2rem}.lg\:p-12{padding:3rem}}.safe-area-top{padding-top:env(safe-area-inset-top)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-area-left{padding-left:env(safe-area-inset-left)}.safe-area-right{padding-right:env(safe-area-inset-right)}.safe-area-all{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.safe-area-padding{padding-top:max(var(--spacing-2),env(safe-area-inset-top));padding-right:max(var(--spacing-2),env(safe-area-inset-right));padding-bottom:max(var(--spacing-2),env(safe-area-inset-bottom));padding-left:max(var(--spacing-2),env(safe-area-inset-left))}@supports not (padding: max(0px)){.safe-area-padding{padding:var(--spacing-2)}}.touch-target{min-height:44px;min-width:44px}.no-zoom{font-size:16px}@media print{.print\:hidden{display:none}.print\:block{display:block}.print\:text-black{color:#000}.print\:bg-white{background-color:#fff}.print\:shadow-none{box-shadow:none}.print\:border{border:1px solid black}}.focus\:outline-none:focus{outline:none}.focus\:ring:focus{box-shadow:0 0 0 2px #2d1f601a}.focus\:ring-2:focus{box-shadow:0 0 0 2px #2d1f601a}.focus\:ring-4:focus{box-shadow:0 0 0 4px #2d1f601a}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:text-primary:hover{color:var(--accent)}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.active\:scale-95:active{transform:scale(.95)}.active\:bg-gray-200:active{background-color:#e5e7eb}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:pointer-events-none:disabled{pointer-events:none}.insights-page{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}.insights-nav{display:flex;flex-direction:column;gap:.5rem;padding:.625rem 1rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);border-bottom:1px solid var(--border);margin:0 max(.5rem,env(safe-area-inset-left)) 1rem max(.5rem,env(safe-area-inset-right));box-shadow:0 2px 8px #00000014;flex-shrink:0}.insights-page--two-col .insights-nav{margin-left:.5rem;margin-right:.5rem}.insights-nav .month-selector{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.insights-nav .current-month-display{display:flex;flex-direction:column;align-items:center;gap:.125rem;flex:1;justify-content:flex-start}.insights-nav .month-label{font-size:1rem;font-weight:700;color:var(--foreground);line-height:1.2;display:flex;align-items:center;min-height:32px}.insights-nav .today-badge{background:var(--accent);color:var(--accent-foreground);border:none;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.4em;transition:opacity .2s}.insights-nav .today-badge:hover{opacity:.9}.insights-nav .nav-btn{background:var(--muted);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--foreground);transition:background .2s;flex-shrink:0}.insights-nav .nav-btn:hover{background:var(--muted-foreground);color:var(--muted)}.insights-nav .nav-btn:active{transform:scale(.95)}.insights-page .page-header{justify-content:flex-end;display:none}.insights-page .error{color:var(--destructive);padding:1rem;text-align:center}.insights-page .empty-state-page{padding:2rem;text-align:center;color:var(--muted-foreground);margin:0}.insights-page .empty-insights-message{padding:1.5rem 1.25rem}.insights-page .empty-insights-text{margin:0;font-size:1rem;line-height:1.5;color:var(--foreground)}.two-col__right{gap:.5rem}.insights-page--two-col .two-col__right .surplus-analysis,.insights-page--two-col .two-col__right .expander{margin-bottom:0}.insights__surplus-kpi{width:100%}.insights__surplus-kpi .kpi-card{padding:.75rem 1rem}.two-col__right .insights-expander{flex:none;display:flex;flex-direction:column}.two-col__right .insights-expander .expander-content{overflow:auto;display:block}.two-col__right .insights-expander .expander-content>*{min-width:min-content}.insights-content{display:flex;flex-direction:column;gap:.75rem}.insights-page .content-area .insights-content .surplus-analysis,.insights-page .content-area .insights-content .expander{margin-bottom:0}.insights-content .expander .expander-header{padding:.75rem 1rem}.insights-content .expander .expander-content{padding:.5rem .5rem .75rem}@media (max-width: 600px){.insights-nav{margin:0 max(.5rem,env(safe-area-inset-left)) 1rem max(.5rem,env(safe-area-inset-right))}}.connection-status{display:flex;flex-direction:column;gap:var(--spacing-1)}.pairing-steps{display:flex;flex-direction:column;gap:var(--spacing-3)}:root{--background: #ebe8f5;--foreground: #16171d;--muted: #e2e8f0;--muted-foreground: #64748b;--muted-hover: #cbd5e1;--card: #ffffff;--card-elevated: var(--card);--card-foreground: #16171d;--card-glass: rgba(255, 255, 255, .52);--card-glass-border: rgba(0, 0, 0, .1);--card-stats-bg: #5c5270;--card-stats-border: rgba(255, 255, 255, .15);--card-stats-foreground: #f4f5f7;--card-stats-muted: rgba(244, 245, 247, .85);--border: #e2e8f0;--border-hover: #cbd5e1;--border-strong: #94a3b8;--input: #e2e8f0;--form-bg: #f3f0fa;--form-text: var(--foreground);--form-border: rgba(0, 0, 0, .12);--input-bg: var(--form-bg);--accent: #7870b8;--accent-foreground: #ffffff;--accent-hover: #6a62a8;--brand-foreground: var(--foreground);--hero-gradient-start: #c4b5d2;--hero-gradient-end: #7a6a8e;--success: #10b981;--rate-up: #0d9488;--rate-down: #dc2626;--warning: #f59e0b;--error: #ef4444;--error-color: var(--error);--destructive: #dc3545;--destructive-foreground: #ffffff;--destructive-alpha: rgba(220, 53, 69, .12);--background-landing: #252336;--landing-muted-foreground: rgba(255, 255, 255, .75);--text-primary: var(--foreground);--text-secondary: var(--muted-foreground);--text-tertiary: var(--muted-foreground);--border-color: var(--border);--primary: var(--accent);--warning-color: var(--warning);--success-light: rgba(16, 185, 129, .12);--foreground-inverted: #ffffff;--background-dark: #1e1e28;--foreground-dark: #f4f5f7;--muted-dark: #334155;--muted-foreground-dark: #94a3b8;--card-dark: rgba(40, 40, 52, .95);--card-elevated-dark: rgba(52, 52, 64, .98);--card-foreground-dark: #f8fafc;--card-glass-dark: rgba(255, 255, 255, .12);--card-glass-border-dark: rgba(255, 255, 255, .14);--border-dark: rgba(255, 255, 255, .1);--border-hover-dark: rgba(255, 255, 255, .18);--input-dark: rgba(255, 255, 255, .08);--form-bg-dark: rgba(52, 60, 76, .95);--form-text-dark: rgba(255, 255, 255, .95);--form-border-dark: rgba(255, 255, 255, .14);--form-placeholder-dark: rgba(255, 255, 255, .5);--accent-dark: #5b8a9e;--accent-foreground-dark: #ffffff;--accent-hover-dark: #6b9ab0;--brand-foreground-dark: var(--accent-foreground-dark);--background-landing-dark: #252336;--foreground-inverted-dark: #16171d;--destructive-dark: #f87171;--rate-up-dark: #2dd4bf;--rate-down-dark: #f87171;--destructive-foreground-dark: #1f2937;--destructive-alpha-dark: rgba(248, 113, 113, .12);--header-bg-light: rgba(255, 255, 255, .9);--header-bg-dark: rgba(45, 45, 45, .9);--header-bg: var(--header-bg-light);--app-bg-gradient: linear-gradient(180deg, var(--background) 0%, #e2dcee 18%, #d8cce5 35%, #c9b8d4 55%, #8b7a9c 78%, #5c4d6e 92%, #4a3f5c 100%);--active-bg-light: rgba(0, 0, 0, .05);--active-bg-dark: rgba(255, 255, 255, .05);--active-bg: var(--active-bg-light);--spacing-1: .5rem;--spacing-2: 1rem;--spacing-3: 1.5rem;--spacing-4: 2rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;--line-height: 1.3;--large-title-size: 2.125rem;--large-title-weight: 700;--section-title-size: 1.125rem;--section-title-weight: 600;--body-size: .9375rem;--body-weight: 400;--caption-size: .8125rem;--caption-weight: 400;--meta-size: .75rem;--meta-weight: 400;--button-size: .875rem;--touch-target: 44px;--header-height: 52px;--button-height: 2.75rem;--fab-size: 3.5rem;--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);--padding-page: 1rem;--radius: .5rem;--transition: .15s ease;@supports (scrollbar-color: red blue){scrollbar-color:var(--accent) transparent}scroll-behavior:smooth}:root.dark-mode{--background: var(--background-dark);--foreground: var(--foreground-dark);--muted: var(--muted-dark);--muted-foreground: var(--muted-foreground-dark);--muted-hover: #475569;--card: var(--card-dark);--card-elevated: var(--card-elevated-dark);--card-foreground: var(--card-foreground-dark);--card-glass: var(--card-glass-dark);--card-glass-border: var(--card-glass-border-dark);--card-stats-bg: var(--card-glass-dark);--card-stats-border: var(--card-glass-border-dark);--border: var(--border-dark);--border-hover: var(--border-hover-dark);--border-strong: rgba(255, 255, 255, .22);--input: var(--input-dark);--accent: var(--accent-dark);--accent-foreground: var(--accent-foreground-dark);--accent-hover: var(--accent-hover-dark);--brand-foreground: var(--brand-foreground-dark);--hero-gradient-start: var(--accent-dark);--hero-gradient-end: var(--accent-hover-dark);--form-bg: var(--form-bg-dark);--form-text: var(--form-text-dark);--form-border: var(--form-border-dark);--form-placeholder: var(--form-placeholder-dark);--input-bg: var(--form-bg);--warning: #fbbf24;--destructive: var(--destructive-dark);--destructive-foreground: var(--destructive-foreground-dark);--destructive-alpha: var(--destructive-alpha-dark);--rate-up: var(--rate-up-dark);--rate-down: var(--rate-down-dark);--header-bg: var(--header-bg-dark);--app-bg-gradient: linear-gradient(180deg, #334155 0%, #334155 35%, #2d3648 52%, #252d3d 70%, #1e2433 85%, #0f1419 100%);--active-bg: var(--active-bg-dark);--background-landing: var(--background-landing-dark);--text-primary: var(--foreground-dark);--text-secondary: var(--muted-foreground-dark);--foreground-inverted: var(--foreground-inverted-dark);--picker-bg: var(--form-bg)}:root{--picker-bg: var(--card);--picker-text: var(--foreground);--picker-primary: var(--accent);--picker-highlight: var(--accent);--picker-border-color: var(--border);--picker-radius: var(--radius);--picker-shadow: rgba(124, 58, 237, .2);--picker-selected-bg: var(--accent);--picker-selected-text: white;--picker-today-bg: var(--accent);--picker-today-text: white;--picker-hover-bg: color-mix(in srgb, var(--accent) 20%, transparent);--picker-input-padding: .75rem;--picker-input-width: 100%;--picker-muted-opacity: .35;--date-picker-background: var(--picker-bg);--date-picker-foreground: var(--picker-text);--date-picker-highlight-border: var(--picker-highlight);--date-picker-highlight-shadow: var(--picker-shadow);--date-picker-selected-color: var(--picker-selected-text);--date-picker-selected-background: var(--picker-selected-bg);--date-input-width: var(--picker-input-width);--dps-color-primary: var(--picker-primary);--dps-color-text: var(--picker-text);--dps-radius: var(--picker-radius)}*{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-sans);line-height:var(--line-height);font-size:16px;color:var(--foreground);height:100%;height:100dvh;width:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none}body{height:100%;height:100dvh;width:100%;margin:0;padding:0;overflow:hidden;background-color:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports (touch-action: pan-y){html,body{touch-action:pan-y;overflow-x:hidden}.carousel-track,.swipeable-wrapper,.swipeable-container,.transaction-item.swipeable{touch-action:pan-x}}@media screen and (max-width: 768px){body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}@supports (overscroll-behavior: none){.carousel-container,.swipeable-container{overscroll-behavior-x:contain}}.app-container{position:relative;height:100%;width:100%}.sveltekit-body{width:100%;max-width:100vw;overflow-x:hidden;position:relative}@supports (height: 100dvh){html,body{height:100dvh;min-height:100dvh;min-height:-webkit-fill-available}.app-container{height:100dvh;min-height:-webkit-fill-available}}@supports not (height: 100dvh){html,body,.app-container{height:100vh;min-height:100vh}}@media screen and (max-width: 768px){html,body,.app-container{height:100dvh;height:100vh}html,body,.sveltekit-body{overflow-x:hidden!important;width:100%!important;max-width:100vw!important;position:relative;box-sizing:border-box}.app-container,.container{overflow-x:hidden!important;width:100%!important;max-width:100vw!important;box-sizing:border-box}}.carousel-track{touch-action:pan-x}.carousel-wrapper{will-change:transform}body.landing-page{background:#252336!important;color:#fff}html.landing-page{background:#252336!important}.large-title{font-size:var(--large-title-size);font-weight:var(--large-title-weight);margin-bottom:var(--spacing-2);max-width:600px}.section-title{font-size:var(--section-title-size);font-weight:var(--section-title-weight);margin-bottom:var(--spacing-1);max-width:600px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.section-header .section-title{margin-bottom:0}.body-text{font-size:var(--body-size);font-weight:var(--body-weight);max-width:600px}.caption{font-size:var(--caption-size);font-weight:var(--caption-weight);color:var(--muted-foreground)}.transaction-card.card{padding:var(--spacing-1);margin:0;border:1px solid var(--border)}:root.dark-mode .card{box-shadow:0 1px 3px #0003}.list-row{min-height:var(--touch-target);padding:var(--spacing-1) var(--spacing-2);display:flex;align-items:center;border-bottom:1px solid var(--border)}.list-row:active{background-color:var(--active-bg)}.fab{position:fixed;right:max(var(--spacing-2),env(safe-area-inset-right));bottom:max(var(--spacing-2),calc(env(safe-area-inset-bottom) + var(--spacing-1)));width:var(--fab-size);height:var(--fab-size);border-radius:50%;background-color:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0003;z-index:100;border:none}.standalone-mode .fab{bottom:max(var(--spacing-2),calc(env(safe-area-inset-bottom) + var(--spacing-2)))}@supports (-webkit-touch-callout: none) and (not (display: contents)){.sveltekit-body{display:block}}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-2)}.app-container{max-width:900px;margin:0 auto;padding:var(--spacing-2)}.modal{touch-action:pan-x pan-y;@supports (overscroll-behavior: contain){overscroll-behavior:contain}}.button-group{display:flex;flex-direction:column;gap:var(--spacing-1)}@media (min-width: 768px){.button-group{flex-direction:row}}@media (max-width: 768px){.hidden-mobile{display:none}}@supports (-webkit-touch-callout: none){.ios-height-fix{height:-webkit-fill-available}}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:12px}::-webkit-scrollbar-thumb{background:var(--accent);border-radius:9999px}::-webkit-scrollbar-track{background:transparent}}.landing-page .card{margin-bottom:var(--spacing-3)}.landing-page .card:first-of-type{margin-top:var(--spacing-4)}.modal-open{overflow:hidden}.sveltekit-body{display:contents}.card{background-color:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 32px #0000001a;overflow:hidden;position:relative;transition:all .4s cubic-bezier(.16,1,.3,1)}:root.dark-mode .card{box-shadow:0 4px 16px #0000004d;border-top-color:#ffffff1f;border-right-color:#ffffff1f;border-bottom-color:#ffffff1f}.card{padding:var(--spacing-2)}.card p{margin-bottom:.75rem;line-height:1.4;color:var(--muted-foreground)}.card--feature{padding:4px;display:flex;flex-direction:column;gap:.5rem}.card--goal{background:var(--card-glass);padding:var(--spacing-2);position:relative;overflow:hidden;border:1px solid var(--card-glass-border);border-top-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-left:4px solid var(--success);box-shadow:0 2px 12px #0000000f}:root.dark-mode .card--goal{background:var(--card-glass);border-top-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));box-shadow:inset 0 1px #ffffff0f}.card--subscription,.card--budget,.card--currency{background:var(--card-glass);border:1px solid var(--card-glass-border);border-top-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));box-shadow:0 2px 12px #0000000f;min-height:120px}:root.dark-mode .card--subscription,:root.dark-mode .card--budget,:root.dark-mode .card--currency{background:var(--card-glass);border-top-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));box-shadow:inset 0 1px #ffffff0f}.card--currency{position:relative;overflow:hidden}.card--recurring-income{background:var(--card-glass);padding:var(--spacing-2);position:relative;overflow:hidden;border:1px solid var(--card-glass-border);border-top-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 35%,var(--card-glass-border));border-left:4px solid var(--success);box-shadow:0 2px 12px #0000000f;min-height:120px}:root.dark-mode .card--recurring-income{background:var(--card-glass);border-top-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-right-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));border-bottom-color:color-mix(in srgb,var(--accent) 50%,var(--card-glass-border));box-shadow:inset 0 1px #ffffff0f}.card--recurring-income .expandable-card__header{padding-left:var(--spacing-1)}.bg-card-glass{background:var(--card-glass)}.stats-sheet-card{background:var(--card-stats-bg);border-color:var(--card-stats-border)}.delete-ready{background-color:#ff32322e!important}.edit-ready{background-color:#1976d229!important}.expandable-card{padding:0;display:flex;flex-direction:column}.expandable-card>:not(.expandable-card__body){padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.expandable-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2)}.card--subscription .expandable-card__header,.card--budget .expandable-card__header,.card--recurring-income .expandable-card__header{padding-left:var(--spacing-1)}.expandable-card__body{border-top:1px solid var(--border);padding:var(--spacing-2);background:var(--card)}.card--subscription .expandable-card__body,.card--budget .expandable-card__body,.card--goal .expandable-card__body,.card--recurring-income .expandable-card__body{background:transparent;border-top-color:var(--card-glass-border)}.expand-toggle{transition:transform .2s ease}.expand-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.card--completed{border:1px solid var(--success)}.card--goal.card--completed{border-left:4px solid var(--success)}.card--repayment,.card--loan{border-left:4px solid var(--warning)}.card--lent{border-left:4px solid #a78bfa}.card--paused{background-color:var(--muted);border-left:4px solid var(--warning)}.card--cancelled{background-color:var(--muted);border-left:4px solid var(--destructive)}.card--ended{background-color:var(--muted);border-left:4px solid var(--border)}.card--expired{background-color:var(--muted);border-left:4px solid var(--border);filter:grayscale(.3)}.card--disabled{background-color:var(--muted);opacity:.85;pointer-events:none}:root.dark-mode .card--disabled{opacity:.75}.card--clickable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.card--clickable:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.card--clickable:active{opacity:.85;transform:scale(.98)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-2)}.card--stack{display:flex;flex-direction:column}.card--stack .card-actions{margin-top:auto;padding-top:var(--spacing-2)}.card-watermark{position:absolute;right:1rem;bottom:.5rem;color:var(--muted-foreground);opacity:.15;pointer-events:none;user-select:none;z-index:0;line-height:1}.card-actions{display:flex;gap:var(--spacing-1)}.add-category-button,.add-source-button{margin-bottom:1rem}.action-button{width:calc(var(--touch-target) * .85);height:calc(var(--touch-target) * .85);display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);background:var(--card);border:none;border-radius:50%;cursor:pointer;transition:background .2s,color .2s;flex-shrink:0;box-shadow:0 1px 2px #0000000d}.action-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (any-hover: hover){.action-button.edit:hover{background:var(--accent);color:#fff}.action-button.delete:hover{background:var(--error);color:#fff}}.carousel-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--secondary);color:var(--secondary-foreground);cursor:pointer;z-index:10;transition:all .2s ease;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;padding:0;box-shadow:var(--shadow-sm);font-size:1.25rem;line-height:1}.carousel-arrow:disabled{opacity:0;pointer-events:none}.carousel-arrow:active{opacity:.7;transform:scale(.95)}.carousel-arrow span{display:block}@media (max-width: 768px){.carousel-arrow{width:30px;height:30px;font-size:1.1rem}}.card-content{flex:1;padding:0 var(--spacing-1) var(--spacing-1) var(--spacing-1)}.grid--cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-1);width:100%}.frame-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-1);padding:var(--spacing-1) calc(var(--spacing-1) * .5);width:100%}@media (max-width: 768px){.frame-content{grid-template-columns:1fr}}.frame-content--stack{display:flex;flex-direction:column;flex:1;gap:var(--spacing-4)}.frame-content--two-col{grid-template-columns:repeat(2,minmax(300px,1fr))}@media (max-width: 900px){.frame-content--two-col{grid-template-columns:1fr;gap:var(--spacing-1)}}.cockpit__separator{width:80%;margin:.5rem auto;height:1px;background:#0000001f}:root.dark-mode .cockpit__separator{background:#ffffff26}.cockpit__upcoming-heading{font-size:.9rem;font-weight:600;color:var(--muted-foreground, #64748b);margin:0 0 .25rem}:root.dark-mode .cockpit__upcoming-heading{color:#ffffffb3}.cockpit__upcoming-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.cockpit__upcoming-card{overflow:visible}.cockpit__upcoming-card-inner{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem .75rem;border-radius:.75rem;background:#ffffffb3;border:1px solid rgba(0,0,0,.08);min-height:72px;text-align:left;cursor:pointer;color:inherit;font-family:inherit;transition:background .2s;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cockpit__upcoming-card-inner:hover{background:#ffffffd9}:root.dark-mode .cockpit__upcoming-card-inner{background:var(--card-glass);border:1px solid var(--card-glass-border)}:root.dark-mode .cockpit__upcoming-card-inner:hover{background:#ffffff2e}.cockpit__upcoming-meta{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}.cockpit__upcoming-date{font-size:.8rem;color:var(--muted-foreground, #64748b)}:root.dark-mode .cockpit__upcoming-date{color:#ffffffa6}.card-title{font-size:1.25rem;font-weight:600;margin:0;color:var(--card-foreground)}.card--feature .card-title{font-size:1rem;font-weight:600;color:var(--card-foreground)}.title-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.title-row .card-title{margin:0}.card-content{margin:0;color:var(--muted-foreground);line-height:1.5}.card--feature .card-content{font-size:.875rem;color:var(--muted-foreground)}.amount{font-weight:600;white-space:nowrap}.amount--positive{color:var(--success)}.amount--negative{color:var(--error)}.icon-button{background:none;border:none;cursor:pointer;padding:.5rem;border-radius:var(--radius);color:var(--foreground)}.icon-button:hover:not(:disabled){background:var(--muted)}.icon-button.delete{color:var(--destructive)}.icon-button.delete:hover{background:var(--destructive-alpha)}.icon-button.disabled{color:var(--muted-foreground);cursor:not-allowed}.icon-button.disabled:hover{background:none}.icon-button:disabled{opacity:.4;cursor:not-allowed}.form-field{width:100%;min-width:0;max-width:100%;padding:.5rem .6rem;border:1px solid var(--form-border, var(--border));border-radius:var(--radius);background-color:var(--form-bg);color:var(--form-text);font-size:1rem;font-family:inherit;text-align:left;transition:border-color .2s;min-height:44px;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}.form-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-alpha)}.form-field::placeholder{color:var(--form-placeholder, var(--muted-foreground))}.form-field:disabled{opacity:.6;cursor:not-allowed}.form-field.error{border-color:var(--destructive)}.form-field.error:focus{border-color:var(--destructive);box-shadow:0 0 0 2px var(--destructive-alpha)}textarea.form-field{height:auto;min-height:4rem;line-height:var(--line-height);resize:vertical;white-space:pre-wrap;word-break:break-all;overflow-wrap:break-word;max-height:200px;overflow-y:auto;overflow-x:hidden;font-size:1rem;text-align:left;letter-spacing:normal}input.form-field{font-size:1rem;text-align:left;letter-spacing:normal}.pin-form input.form-field{text-align:center;letter-spacing:.5em;font-size:1.25rem}@media (max-height: 720px){.pin-form input.form-field{font-size:1.1rem;letter-spacing:.4em}}.pin-dialog{display:flex;flex-direction:column;gap:var(--spacing-2);align-items:center;padding:var(--spacing-4);max-width:24rem;width:100%;position:relative;margin-top:clamp(.75rem,8vh,4rem);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 25px 50px -12px #0003;color:var(--foreground)}.pin-form{display:flex;flex-direction:column;gap:var(--spacing-2);align-items:center;width:100%}.pin-dialog .info{color:var(--muted-foreground);text-align:center;font-size:.9rem;line-height:1.4;margin-bottom:var(--spacing-3)}.pin-dialog .info.with-dropdown{padding-right:3.5rem}.pin-dialog h2{margin:0 0 var(--spacing-1) 0;font-size:1.5rem;font-weight:700;color:var(--foreground)}.pin-dialog .error,.pin-dialog .error-message{color:var(--destructive);font-size:.875rem;margin:var(--spacing-1) 0}@media (max-height: 720px){.pin-dialog{padding:var(--spacing-3);gap:var(--spacing-1);margin-top:clamp(.5rem,6vh,3rem);max-width:22rem}.pin-dialog h2{font-size:1.35rem}.pin-dialog .info{font-size:.85rem;margin-bottom:var(--spacing-2)}}textarea.form-field.device-pairing-field{font-size:.9rem}.code-display{background:var(--muted);padding:var(--spacing-2);border-radius:var(--radius);border:1px solid var(--border);font-family:monospace;font-size:.9rem;white-space:pre-wrap;word-break:break-all;max-height:200px;overflow-y:auto;min-width:0;max-width:100%}select.form-field{-webkit-appearance:menulist;-moz-appearance:menulist;appearance:menulist;text-align:left;letter-spacing:normal;font-size:1rem;min-height:44px;height:44px;padding-top:.25rem;padding-bottom:.25rem}select.form-field option{background-color:var(--card);color:var(--foreground)}select.form-field option:hover,select.form-field option:focus,select.form-field option:checked{box-shadow:0 0 10px 100px var(--accent) inset;color:var(--accent-foreground)}:root:not(.dark-mode) select.form-field option:hover,:root:not(.dark-mode) select.form-field option:focus,:root:not(.dark-mode) select.form-field option:checked{color:var(--foreground)}select.form-field optgroup{background-color:var(--card);color:var(--foreground);font-weight:600}:root.dark-mode select.form-field{color-scheme:dark}input[type=date].form-field{-webkit-appearance:none;appearance:none;position:relative;line-height:1.3;font-family:inherit;font-size:max(1rem,16px);min-height:44px;text-align:left;letter-spacing:normal;color:var(--form-text);background-color:var(--form-bg);accent-color:var(--accent);display:block;width:100%;padding-right:40px}input[type=date].form-field::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}:root.dark-mode input[type=date].form-field::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8}input[type=date].form-field::-webkit-datetime-edit{padding:.125rem .25rem;font-size:inherit}@supports (-webkit-hyphens: none){input[type=date].form-field{font-size:16px}input[type=date].form-field::-webkit-datetime-edit,input[type=date].form-field::-webkit-datetime-edit-fields-wrapper,input[type=date].form-field::-webkit-datetime-edit-text,input[type=date].form-field::-webkit-datetime-edit-month-field,input[type=date].form-field::-webkit-datetime-edit-day-field,input[type=date].form-field::-webkit-datetime-edit-year-field{font-size:16px;min-height:44px;display:flex;align-items:center}}input[type=date].form-field::-webkit-inner-spin-button,input[type=date].form-field::-webkit-clear-button{display:none}.form-group{margin-bottom:.5rem}.form-group.error{margin-bottom:.25rem}.form-label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--foreground)}.form-grid{display:grid;gap:var(--spacing-2);grid-template-columns:1fr;border:none;padding:0;margin:0 0 var(--spacing-2) 0;text-align:left;letter-spacing:normal}.form-grid .form-field,.form-grid select,.form-grid input{text-align:left;letter-spacing:normal}.form-grid label{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem;color:var(--form-text);font-weight:500}.form-help{margin-top:.25rem;font-size:.875rem;color:var(--muted-foreground);line-height:1.4}.error-message{color:var(--destructive);font-size:.875rem;margin-top:.25rem;display:block}.validation-banner{padding:var(--spacing-2, 1rem);background:var(--destructive-alpha);border:1px solid var(--destructive);color:var(--destructive);border-radius:var(--radius);font-size:.875rem}.amount-currency-row{display:flex;gap:.75rem;align-items:flex-end}.amount-currency-row .amount-label{flex:1;min-width:0}.amount-currency-row .currency-label{flex:0 0 5.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.form-row--suffix{grid-template-columns:1fr auto}.form-section-heading{font-size:1rem;font-weight:600;color:var(--foreground);margin:1rem 0 .5rem}.form-divider{height:1px;background:var(--border);margin:1.5rem 0;width:100%}.form-field-suffix{display:flex;align-items:center;padding:0 .5rem;background:var(--muted);border-radius:var(--radius);color:var(--muted-foreground);font-size:.875rem;font-weight:400;white-space:nowrap}.amount-currency-row .form-field-suffix{height:44px;min-height:44px;flex-shrink:0;box-sizing:border-box}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;justify-content:flex-end}.btn-row{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.75rem}button.btn,a.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid transparent;border-radius:var(--radius);font-family:var(--font-sans),inherit;font-size:1rem;font-weight:500;line-height:1.5;cursor:pointer;transition:all .2s ease;min-height:44px;-webkit-tap-highlight-color:transparent;background:var(--muted);color:var(--foreground)}@media (hover: hover){button.btn:hover:not(:disabled),a.btn:hover:not([aria-disabled=true]){background:var(--muted-hover)}}button.btn:disabled,a.btn[aria-disabled=true]{opacity:.6;cursor:not-allowed}button.btn:focus-visible,a.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.btn.btn-xs,a.btn.btn-xs{padding:.5rem;font-size:.75rem;min-height:auto}button.btn.btn-full,a.btn.btn-full{width:100%;display:flex}button.btn-primary,a.btn-primary{background-color:var(--accent);color:var(--accent-foreground)}@media (hover: hover){button.btn-primary:hover:not(:disabled),a.btn-primary:hover:not([aria-disabled=true]){background-color:var(--accent-hover)}}button.btn-secondary,a.btn-secondary{background-color:var(--card);color:var(--foreground);border:1px solid color-mix(in srgb,var(--foreground) 50%,transparent)!important}@media (hover: hover){button.btn-secondary:hover:not(:disabled),a.btn-secondary:hover:not([aria-disabled=true]){background-color:var(--muted);color:var(--foreground);border-color:color-mix(in srgb,var(--foreground) 55%,transparent)!important}}button.btn-secondary:active:not(:disabled),a.btn-secondary:active:not([aria-disabled=true]){background-color:var(--muted);color:var(--foreground);border-color:color-mix(in srgb,var(--foreground) 55%,transparent)!important}.toggle-group{display:flex;background:var(--muted);border-radius:var(--radius);box-shadow:0 1px 2px #00000008;overflow:hidden}.toggle-group.full-width{width:100%}.toggle-group .toggle-option{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.6rem .75rem;background:transparent;border:none;border-right:1px solid var(--border);cursor:pointer;transition:background .2s ease,color .2s ease;color:var(--foreground);font-size:.95rem;font-weight:500;white-space:nowrap}.toggle-group .toggle-option:last-child{border-right:none}.toggle-group .toggle-option:hover:not(.active){background:color-mix(in srgb,var(--accent) 8%,transparent)}.toggle-group .toggle-option.active{background:var(--accent);color:var(--accent-foreground)}@media (max-width: 768px){.toggle-group .toggle-option{padding:.5rem;font-size:.875rem;gap:.35rem}.toggle-group.compact .toggle-option{padding:.5rem .1rem;font-size:.95rem}}.toggle-group.compact .toggle-option{padding:.5rem .25rem;font-size:1rem}.stat-card{background:var(--muted);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;min-width:0;border:1px solid var(--border);flex:1}.stat-label{color:var(--muted-foreground);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.stat-value{font-size:1.1rem;font-weight:600;line-height:1.3}.stats-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-2);width:100%}.content-area{width:100%;padding:var(--spacing-2);margin:0 auto var(--spacing-3) auto;display:flex;flex-direction:column;overflow-x:hidden}@media screen and (max-width: 768px){.content-area{max-width:100vw}}@media (max-width: 600px){.content-area{padding:.25rem}}.insights-page--two-col,.calc-page--two-col,.exchange-rates-page--two-col{flex:1;overflow:hidden}.insights-page--two-col .content-area--two-col,.calc-page--two-col .calc-content-area--two-col,.exchange-rates-page--two-col .content-area--two-col{flex:1;min-height:0;overflow:hidden;padding:.75rem .5rem;display:flex;flex-direction:column}.two-col-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,.42fr) 1fr;gap:.75rem .5rem;overflow:hidden}.two-col__left,.two-col__right{min-width:0;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;background:var(--card-glass);border:1px solid var(--card-glass-border);border-radius:var(--radius);padding:.75rem .5rem}.page-header{display:flex;align-items:center;justify-content:flex-end;width:100%;margin-bottom:2rem;gap:1rem}.page-header--no-content{margin-bottom:0}.page-title{font-size:1.3rem;font-weight:600;color:var(--foreground);letter-spacing:.01em;margin:0;text-align:left;flex:1 1 auto}.back-button{background:none;border:none;color:var(--muted-foreground);cursor:pointer;padding:.5rem;border-radius:var(--radius);display:flex;align-items:center;gap:.5rem;transition:all .2s;font-size:.9rem}.back-button:hover{background:var(--muted);color:var(--foreground)}.header-bar{min-height:calc(var(--header-height) + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);background-color:transparent;display:flex;align-items:center;justify-content:space-between;padding-left:max(var(--spacing-2),env(safe-area-inset-left));padding-right:max(var(--spacing-2),env(safe-area-inset-right));position:relative;z-index:10;width:100%;border-bottom:1px solid var(--border)}.header-bar .header-bar-blur{position:absolute;inset:0;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:-1;pointer-events:none}.header-title h1{margin:0;font-size:clamp(1rem,4vw,var(--section-title-size));font-weight:var(--section-title-weight);color:var(--foreground);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.header-subtitle{margin:0;font-size:1rem;font-weight:300;color:var(--foreground);text-align:center;opacity:.9}.header-left,.header-right{min-width:var(--touch-target);display:flex;align-items:center;justify-content:flex-end}.state-indicator{height:4px;background-color:var(--accent);position:absolute;bottom:0;left:0;right:0;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}.landing-header{background-color:transparent!important}.landing-header .header-title h1,.landing-header .header-subtitle{color:#fff!important}.badge,.status-badge{padding:2px 6px;border-radius:999px;font-size:.75rem;border:1px solid var(--border);display:inline-flex;align-items:center;white-space:nowrap;width:fit-content;max-width:100%}.badge:has(svg),.status-badge:has(svg){gap:.35em}.status-badge{border-radius:999px}.badge-success{background:var(--success-light, rgba(16, 185, 129, .12));color:var(--success);border-color:var(--success)}.badge-error{background:var(--destructive-alpha, rgba(220, 38, 38, .12));color:var(--destructive);border-color:var(--destructive)}.badge-warning{background:#f59e0b1f;color:#d97706;border-color:#d97706}.badge-info,.badge--type{background:var(--muted);color:var(--muted-foreground);border-color:var(--border)}.badge--type{align-self:flex-start}.badge--danger{background:#e00;color:#fff;border-color:#e00;padding:.1rem .4rem}.badge-on-track{background:var(--success-light, rgba(16, 185, 129, .12));color:var(--success);border-color:var(--success)}.badge-at-risk{background:#f59e0b1f;color:#d97706;border-color:#d97706}.badge-off-track{background:var(--destructive-alpha, rgba(220, 38, 38, .12));color:var(--destructive);border-color:var(--destructive)}.badge-completed{background:var(--success-light, rgba(16, 185, 129, .12));color:var(--success);border-color:var(--success)}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:700;font-size:.9rem;color:#fff}.step-number--red{background-color:var(--destructive)}.step-number--gray{background-color:var(--muted-foreground)}.step-header{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.step-note{color:var(--muted-foreground);font-size:.875rem;font-style:italic;margin-bottom:var(--spacing-2)}.step-description{color:var(--card-foreground);font-size:.9rem;margin-bottom:var(--spacing-2)}.desktop-steps{margin-top:var(--spacing-3);padding:var(--spacing-2);background-color:var(--muted);border-radius:var(--radius);border:1px solid var(--border)}.desktop-steps .step-header{margin-bottom:var(--spacing-1)}.desktop-steps .step-number{margin-right:var(--spacing-1)}.status-badge--paused{background:#f59e0b26;color:#d97706;border-color:#d97706;font-weight:600;padding:4px 8px;border-radius:999px}.status-badge--cancelled{background:#ef444426;color:var(--destructive);border-color:var(--destructive);font-weight:600;padding:4px 8px;border-radius:999px}.status-badge--ended,.badge--expired{background:#6b728026;color:var(--muted-foreground);border-color:var(--muted-foreground);font-weight:600;padding:4px 8px;border-radius:999px}.modal-backdrop{position:fixed;inset:0;background:transparent;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-1)}.modal-backdrop--dimmed{background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-backdrop--align-top{align-items:flex-start;padding-top:2.5rem}.modal-content{background:var(--card);border-radius:var(--radius);box-shadow:0 6px 20px #00000026;padding:var(--spacing-2);width:98%;max-width:98%;max-height:95vh;overflow-y:auto;color:var(--foreground);position:relative}:root.dark-mode .modal-content{background:#343440fa}.modal-backdrop--with-header{align-items:flex-start;padding-top:calc(var(--header-height) + 1rem)}.modal-content--with-header{margin-top:0;max-height:calc(100vh - var(--header-height) - 2rem)}:global(.goal-selector-modal) .modal-backdrop--with-header{align-items:center;padding-top:var(--spacing-1)}@supports (padding: max(0px)){.modal-backdrop--with-header{padding-top:max(calc(var(--header-height) + 1rem),calc(var(--header-height) + env(safe-area-inset-top) + .5rem))}.modal-content--with-header{max-height:calc(100vh - var(--header-height) - env(safe-area-inset-top) - 2rem)}}@supports (-webkit-touch-callout: none){.modal-content{-webkit-transform:translateZ(0);transform:translateZ(0)}}.modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-2);padding:.5rem var(--spacing-2);border-top-left-radius:var(--radius);border-top-right-radius:var(--radius);margin-top:calc(-1 * var(--spacing-2));margin-left:calc(-1 * var(--spacing-2));margin-right:calc(-1 * var(--spacing-2));margin-bottom:.5rem}.modal-header--hero{color:var(--brand-foreground);position:relative;border-bottom:1px solid color-mix(in srgb,var(--brand-foreground) 18%,transparent)}.modal-header--hero .close-button{color:var(--brand-foreground);opacity:.8}.modal-header--hero .close-button:hover{opacity:1;background:transparent}.modal-header>*:first-child{min-width:0;padding-right:2.75rem}.modal-header__left,.modal-header__texts{min-width:0}.modal-header__left{display:flex;align-items:center;gap:.75rem}.modal-header__icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--brand-foreground)}.modal-header__icon--large{width:48px;height:48px;border-radius:var(--radius);background:var(--muted);color:var(--accent)}.modal-header__icon--warning{background:#f59e0b1f;color:var(--warning, #f59e0b)}.modal-header__icon--auth{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#8b5cf633,#8b5cf61a);color:#8b5cf6}.modal-header__texts .modal-subtitle{margin-top:.25rem;color:var(--muted-foreground)}.glass-panel{background:#ffffff26;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.bg-gradient-primary{background:linear-gradient(135deg,var(--hero-gradient-start) 0%,var(--hero-gradient-end) 100%)}.modal-title{margin:0;font-size:1.125rem;font-weight:600}.modal-subtitle{margin:0;font-size:.875rem;opacity:.85}@media (max-width: 480px){.modal-content{width:calc(100vw - 1rem);max-width:calc(100vw - 1rem);margin:0 .5rem;border-radius:var(--radius)}}@supports (-webkit-touch-callout: none){@media (max-width: 480px){.modal-content{width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 1rem);max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 1rem);margin:0 max(.5rem,env(safe-area-inset-left)) 0 max(.5rem,env(safe-area-inset-right))}}}.close-button{position:absolute;top:50%;right:var(--spacing-2);transform:translateY(-50%);background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--muted-foreground);padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);transition:all .2s}.close-button:hover{color:var(--foreground);background:var(--muted)}.loading{text-align:center;padding:2rem;color:var(--muted-foreground)}.loading-text{font-size:var(--body-size);color:var(--muted-foreground)}.loading-spinner{width:40px;height:40px;border:2px solid var(--muted);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite;margin:0 auto}.error-state{text-align:center;padding:2rem;color:var(--error)}.empty{color:var(--muted-foreground);text-align:center;padding:var(--spacing-2)}.empty-state{text-align:center;color:var(--muted-foreground)}.empty-list{padding:1rem;text-align:center;color:var(--muted-foreground)}.no-transactions{color:var(--muted-foreground);font-size:.875rem;text-align:center;padding:1.5rem;margin:0}.spinner{width:18px;height:18px;border:2px solid var(--muted);border-top-color:var(--accent);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.overlay-backdrop{position:fixed;inset:0;background:#00000059;border:none;cursor:pointer;margin:0;padding:0;width:100%;height:100%;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.sheet-wrapper{position:relative}.sheet__backdrop{z-index:101}.sheet{position:fixed;bottom:0;z-index:102;border-radius:1.25rem 1.25rem 0 0;display:flex;flex-direction:column;box-shadow:0 -4px 24px #0000001f;touch-action:none;overflow:hidden;color:rgb(calc(22 + (241 - 22) * var(--progress, 0)),calc(23 + (245 - 23) * var(--progress, 0)),calc(29 + (249 - 29) * var(--progress, 0)))}.sheet:not(.dragging){transition:height .4s cubic-bezier(.2,.8,.2,1),left .4s ease,right .4s ease,color .4s ease}.sheet__bg{position:absolute;inset:0;pointer-events:none}.sheet:not(.dragging) .sheet__bg{transition:opacity .4s ease}.sheet__bg--collapsed{background:color-mix(in srgb,var(--card) 55%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.35);border-bottom:none;opacity:calc(1 - var(--progress, 0))}:root.dark-mode .sheet__bg--collapsed{background:linear-gradient(180deg,#00000080,#0006);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid rgba(255,255,255,.1);border-bottom:none;box-shadow:inset 0 1px #ffffff0f}.sheet__bg--expanded{background:#4a3f5c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-bottom:none;opacity:var(--progress, 0)}:root.dark-mode .sheet__bg--expanded{background:var(--background);backdrop-filter:none;-webkit-backdrop-filter:none;border:1px solid var(--card-glass-border)}.sheet__drag-region{display:flex;flex-direction:column;flex-shrink:0;cursor:grab;min-height:44px;-webkit-tap-highlight-color:transparent}.sheet__drag-region:active{cursor:grabbing}.sheet__handle{position:relative;z-index:1;flex-shrink:0;padding:.35rem 0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:inherit;pointer-events:none}.sheet__handle-bar{width:36px;height:4px;border-radius:2px;background:currentColor;opacity:calc(.3 + var(--progress, 0) * .4)}:root.dark-mode .sheet:not(.expanded) .sheet__handle-bar{background:#ffffff8c;opacity:1}.sheet__header,.sheet__body,.sheet__summary{position:relative;z-index:1}.sheet__header{flex-shrink:0;padding:0 1rem .25rem}.sheet__title{margin:0;font-size:1.1rem;font-weight:600}:root.dark-mode .sheet:not(.expanded) .sheet__title{color:#fffffff2}.sheet__summary{flex-shrink:0;padding:0 1rem .5rem;min-height:0}.sheet__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 1rem 1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;touch-action:pan-y}.sheet.expanded .sheet__body{--foreground: rgba(255, 255, 255, .95);--muted-foreground: rgba(255, 255, 255, .7)}.update-prompt.svelte-ksczdt{position:fixed;bottom:0;left:0;right:0;color:var(--foreground);padding:1rem;box-shadow:0 -2px 10px #0000001a;z-index:1000;border-top:1px solid var(--border)}.update-content.svelte-ksczdt{max-width:var(--max-width);margin:0 auto;padding:0 1rem}.button-group.svelte-ksczdt{display:flex;gap:1rem;justify-content:flex-end;margin-top:1rem}@supports (padding: max(0px)){.update-prompt.svelte-ksczdt{padding-bottom:max(1rem,env(safe-area-inset-bottom))}}.error-boundary.svelte-1oru523{width:100%}.error-card.svelte-1oru523{border-radius:var(--radius);padding:var(--spacing-3);border:1px solid var(--error-light);max-width:100%;width:100%;margin:var(--spacing-2) 0}.error-header.svelte-1oru523{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-2)}.error-title.svelte-1oru523{font-size:1.25rem;font-weight:600;color:var(--error);margin:0}.error-emoticon.svelte-1oru523{font-size:1.5rem;color:var(--error);font-weight:700;transform:rotate(90deg)}.error-message.svelte-1oru523{font-size:1rem;margin-bottom:var(--spacing-3);color:var(--text-primary)}.error-actions.svelte-1oru523{display:flex;gap:var(--spacing-2);margin-bottom:var(--spacing-2)}.error-details.svelte-1oru523{margin-top:var(--spacing-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--spacing-1)}.error-details.svelte-1oru523 summary:where(.svelte-1oru523){cursor:pointer;padding:var(--spacing-1);font-weight:500}.error-stack.svelte-1oru523{font-family:monospace;font-size:.75rem;white-space:pre-wrap;overflow-x:auto;padding:var(--spacing-1);background:var(--background);border-radius:var(--radius);max-height:200px;overflow-y:auto}html,body{width:100%;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;background:var(--background)}.app-container{position:static!important}
