/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;--radius-md:.375rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::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%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;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:where(:not(iframe)){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;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-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}.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}}.m-0{margin:0}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-40{height:calc(var(--spacing) * 40)}.w-full{width:100%}.flex-1{flex:1}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.p-0{padding:0}.px-2{padding-inline:calc(var(--spacing) * 2)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--glass-bg:#ffffff14;--glass-border:#ffffff2e;--glass-blur:40px;--radius-xl:28px;--bg-void:#06040d;--bg-shadow:#0d0819;--bg-violet:#1a0f33;--neon-violet:#a855f7;--neon-violet-bright:#c084fc;--neon-magenta:#e879f9;--neon-indigo:#6366f1;--glass-bg-strong:#ffffff21;--glass-bg-weak:#ffffff0d;--glass-rim:#ffffff73;--glass-shade:#03000c99;--glass-well:#ffffff09;--radius-md:18px;--radius-lg:22px;--radius-pill:999px;--shadow-glass:0 24px 60px -24px #02000ae6, 0 2px 10px -4px #0009;--shadow-float:0 44px 96px -32px #02000af2;--glow-violet:0 14px 40px -6px #a855f780, 0 30px 70px -12px #a855f752;--glow-violet-hover:0 16px 46px -6px #c084fc9e, 0 34px 80px -12px #c084fc66;--ease-glass:cubic-bezier(.2, .8, .2, 1);--duration-fast:.14s;--duration-base:.22s;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Inter, system-ui, sans-serif;--label-tracking:.18em;--ok:#4ade80;--warn:#fbbf24;--danger:#f87171;color-scheme:dark}html[data-theme=light]{--bg-void:#ece9f6;--bg-shadow:#f6f4fc;--bg-violet:#dcd4f5;--glass-bg:#ffffff8c;--glass-bg-strong:#ffffffb8;--glass-bg-weak:#fff6;--glass-border:#ffffffb3;--glass-rim:#ffffffe6;--glass-shade:#503c8c24;--glass-well:#ffffff73;--shadow-glass:0 24px 60px -30px #341e6e66;color-scheme:light}html[data-theme=light] body{color:#18102eeb}html,body,#root{height:100%}body{background-color:var(--bg-void);color:#ffffffeb;font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.45}*{-webkit-tap-highlight-color:transparent}.glass-ground{z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 78% -10%,#a855f757,transparent 55%),radial-gradient(90% 60% at 6% 4%,#6366f133,transparent 60%),radial-gradient(80% 55% at 50% 106%,#e879f929,transparent 62%),linear-gradient(180deg,var(--bg-shadow) 0%,var(--bg-void) 58%);position:fixed;top:0;right:0;bottom:0;left:0}.glass-ground:after{content:"";opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;top:0;right:0;bottom:0;left:0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(165%);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass),inset 0 1px 0 var(--glass-rim),inset 0 -20px 36px -26px var(--glass-shade);position:relative}.glass-rim:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(145deg,#ffffff8c,#a855f75c 42%,#ffffff0f 68%,#e879f94d);padding:1px;position:absolute;top:0;right:0;bottom:0;left:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0,#000 0),linear-gradient(#000 0,#000 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.glass-inset{border-radius:var(--radius-md);background:linear-gradient(#ffffff12,#ffffff05);box-shadow:inset 0 2px 12px -6px #03000ce6,inset 0 -1px #ffffff12}.glass-label{letter-spacing:var(--label-tracking);text-transform:uppercase;color:#d8b4fec7;font-size:.72rem;font-weight:700}.glass-card{text-align:left;color:inherit;font:inherit;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(165%);border-radius:var(--radius-xl);box-shadow:var(--shadow-glass),inset 0 1px 0 var(--glass-rim),inset 0 -22px 40px -28px var(--glass-shade);transition:transform var(--duration-base) var(--ease-glass),box-shadow var(--duration-base) var(--ease-glass);border:none;padding:1.1rem;text-decoration:none;display:block;position:relative}a.glass-card,button.glass-card{cursor:pointer}a.glass-card:hover,button.glass-card:hover{box-shadow:var(--shadow-float),inset 0 1px #ffffff8c,inset 0 -22px 40px -28px var(--glass-shade),0 0 46px -14px #a855f773;transform:translateY(-2px)}a.glass-card:active,button.glass-card:active{transform:translateY(0)scale(.995)}.glass-button{border-radius:var(--radius-pill);letter-spacing:.01em;color:#fffffff2;cursor:pointer;background:var(--glass-bg);min-height:50px;-webkit-backdrop-filter:blur(calc(var(--glass-blur) * .55)) saturate(150%);transition:transform var(--duration-fast) var(--ease-glass),box-shadow var(--duration-base) var(--ease-glass),background-color var(--duration-base) var(--ease-glass),opacity var(--duration-base) var(--ease-glass);border:none;justify-content:center;align-items:center;gap:.55rem;padding:0 1.4rem;font-family:inherit;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;box-shadow:inset 0 1px #fff6,inset 0 -12px 22px -16px #03000cd9,0 12px 30px -16px #02000ae6}.glass-button:active:not(:disabled){transform:scale(.972)}.glass-button:disabled{cursor:not-allowed;opacity:.45;box-shadow:inset 0 1px #fff3}.glass-button:focus-visible{outline-offset:3px;outline:2px solid #c084fcd9}.glass-button--sm{min-height:40px;padding:0 1rem;font-size:.85rem}.glass-button--lg{min-height:58px;padding:0 1.9rem;font-size:1.02rem}.glass-button--primary{background:linear-gradient(180deg,#ffffff3d,#fff0 54%),linear-gradient(135deg,var(--neon-violet),var(--neon-magenta));box-shadow:inset 0 1px #ffffff8c,inset 0 -14px 26px -18px #30004ae6,var(--glow-violet)}.glass-button--primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff9e,inset 0 -14px 26px -18px #30004ae6,var(--glow-violet-hover)}.glass-button--secondary{background:linear-gradient(#ffffff29,#ffffff0d);box-shadow:inset 0 1px #ffffff73,inset 0 -12px 22px -16px #03000ccc,0 14px 34px -18px #02000af2}.glass-button--secondary:hover:not(:disabled){background:linear-gradient(#ffffff38,#ffffff14)}.glass-button--danger{background:linear-gradient(#fff3,#fff0 54%),linear-gradient(135deg,#ef4444,#f472b6);box-shadow:inset 0 1px #ffffff80,inset 0 -14px 26px -18px #460014d9,0 14px 40px -8px #ef444473}.glass-button--ghost{-webkit-backdrop-filter:none;min-height:40px;box-shadow:none;color:#d8b4fee6;background:0 0;padding:0 .85rem}.glass-button--ghost:hover:not(:disabled){background:#a855f724}.glass-spinner{border:2px solid #ffffff47;border-top-color:#fffffff2;border-radius:50%;flex:none;width:15px;height:15px;animation:.7s linear infinite glass-spin}@keyframes glass-spin{to{transform:rotate(360deg)}}.glass-field{flex-direction:column;gap:.5rem;display:flex}.glass-input,.glass-select{color:#fffffff2;border-radius:var(--radius-md);background:linear-gradient(180deg,var(--glass-well),#ffffff04);-webkit-backdrop-filter:blur(18px)saturate(140%);width:100%;min-height:50px;transition:border-color var(--duration-base) var(--ease-glass),box-shadow var(--duration-base) var(--ease-glass);border:1px solid #ffffff1f;padding:0 1rem;font-family:inherit;font-size:.97rem;box-shadow:inset 0 2px 12px -6px #03000ce6,inset 0 -1px #ffffff0f}.glass-input::placeholder{color:#ffffff52}.glass-input:focus,.glass-select:focus{border-color:#c084fc99;outline:none;box-shadow:inset 0 2px 12px -6px #03000ce6,0 0 0 4px #a855f729,0 0 26px -8px #a855f78c}.glass-input--error,.glass-select--error{border-color:#f87171b3}.glass-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9' fill='none'%3E%3Cpath d='M1 1.5 7 7.5l6-6' stroke='%23c084fc' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.6rem}.glass-select option{color:#fff;background:#120a24}.glass-field__label{letter-spacing:var(--label-tracking);text-transform:uppercase;color:#d8b4fec7;font-size:.72rem;font-weight:700}.glass-field__error{color:#fca5a5;font-size:.8rem}.glass-modal__backdrop{z-index:60;-webkit-backdrop-filter:blur(16px);background:#04020a99;place-items:center;padding:1.25rem;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.glass-modal{border-radius:var(--radius-xl);background:var(--glass-bg-strong);width:100%;max-width:26rem;max-height:85vh;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(170%);box-shadow:var(--shadow-float),inset 0 1px 0 var(--glass-rim),inset 0 -24px 44px -30px var(--glass-shade);padding:1.5rem;overflow-y:auto}.glass-modal__header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.glass-modal__title{letter-spacing:-.01em;margin:0;font-size:1.12rem;font-weight:650}.glass-modal__close{color:#fffc;cursor:pointer;background:#ffffff17;border:none;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:1.1rem;line-height:1;display:grid;box-shadow:inset 0 1px #ffffff59}.glass-modal__close:hover{background:#ffffff29}.glass-badge{border-radius:var(--radius-pill);white-space:nowrap;color:#ffffffe6;background:#ffffff1a;align-items:center;gap:.4rem;padding:.28rem .68rem;font-size:.76rem;font-weight:600;display:inline-flex;box-shadow:inset 0 1px #ffffff47,inset 0 -6px 14px -10px #03000ce6}.glass-badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 8px}.glass-badge--success{color:var(--ok);background:#4ade8024}.glass-badge--warning{color:var(--warn);background:#fbbf2426}.glass-badge--danger{color:var(--danger);background:#f8717129}.chart-wrapper{padding:1.15rem}.chart-wrapper__title{letter-spacing:var(--label-tracking);text-transform:uppercase;color:#d8b4fec7;margin:0 0 .9rem;font-size:.72rem;font-weight:700}.chart-wrapper__body{place-items:center;min-height:170px;display:grid}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:2.75rem 1.5rem;display:flex}.empty-state__glyph{background:radial-gradient(80% 80% at 50% 20%,#c084fc6b,transparent 70%),var(--glass-bg);border-radius:24px;place-items:center;width:74px;height:74px;font-size:1.9rem;display:grid;box-shadow:inset 0 1px #fff6,inset 0 -14px 26px -20px #03000ce6,0 20px 44px -22px #a855f799}.empty-state__text{color:#ffffff9e;max-width:22rem;margin:0;font-size:.92rem}.paywall{background:radial-gradient(120% 90% at 82% 0%,#a855f747,transparent 62%),var(--glass-bg-strong);padding:1.5rem}.paywall__title{letter-spacing:-.02em;margin:0 0 .35rem;font-size:1.22rem;font-weight:700}.paywall__subtitle{color:#fff9;margin:0 0 1.1rem;font-size:.9rem}.paywall__benefits{gap:.6rem;margin:0 0 1.25rem;padding:0;list-style:none;display:grid}.paywall__benefits li{color:#ffffffd6;align-items:flex-start;gap:.6rem;font-size:.91rem;display:flex}.paywall__benefits li:before{content:"✓";color:#fff;background:linear-gradient(135deg,var(--neon-violet),var(--neon-magenta));border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:.7rem;display:grid;box-shadow:0 0 12px #a855f7b3}.app-shell{z-index:1;width:100%;max-width:30rem;min-height:100%;padding:calc(1.25rem + env(safe-area-inset-top)) 1.15rem calc(2.5rem + env(safe-area-inset-bottom));margin:0 auto;position:relative}.app-header{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.35rem;display:flex}.app-header__title{letter-spacing:-.035em;margin:0;font-size:1.95rem;font-weight:750;line-height:1.05}.app-header__meta{color:#ffffff8c;font-size:.85rem}.section-label{margin:1.6rem 0 .7rem;display:block}.amount{font-variant-numeric:tabular-nums;letter-spacing:-.02em}.sub-row{align-items:center;gap:.85rem;display:flex}.sub-row__icon{border-radius:17px;flex:none;place-items:center;width:50px;height:50px;font-size:1.35rem;display:grid}.sub-row__body{flex:1;min-width:0}.sub-row__name{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:620;overflow:hidden}.sub-row__meta{color:#ffffff80;margin:.15rem 0 0;font-size:.8rem}.sub-row__amount{text-align:right}.sub-row__value{margin:0;font-size:1.02rem;font-weight:680}.auth-gate{text-align:center;flex-direction:column;align-items:center;gap:1.1rem;padding:2.4rem 1.6rem;display:flex}.auth-gate__title{letter-spacing:-.025em;margin:0;font-size:1.4rem;font-weight:700}.auth-gate__text{color:#fff9;max-width:24rem;margin:0;font-size:.92rem}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
