@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600;700;800&display=swap");@import url("https://fonts.googleapis.com/icon?family=Material+Symbols+Rounded");:root{--primary:#0057c1;--primary-container:#006ef1;--on-primary:#ffffff;--on-primary-container:#fefcff;--inverse-primary:#aec6ff;--primary-fixed:#d8e2ff;--primary-fixed-dim:#aec6ff;--secondary:#006c49;--secondary-container:#6cf8bb;--on-secondary:#ffffff;--on-secondary-container:#00714d;--tertiary:#b90538;--tertiary-container:#dc2c4f;--on-tertiary:#ffffff;--on-tertiary-container:#fffbff;--error:#ba1a1a;--error-container:#ffdad6;--on-error:#ffffff;--on-error-container:#93000a;--surface:#f8f9ff;--surface-dim:#cbdbf5;--surface-bright:#f8f9ff;--surface-container-lowest:#ffffff;--surface-container-low:#eff4ff;--surface-container:#e5eeff;--surface-container-high:#dce9ff;--surface-container-highest:#d3e4fe;--surface-variant:#d3e4fe;--surface-tint:#0059c5;--on-surface:#0b1c30;--on-surface-variant:#414755;--inverse-surface:#213145;--inverse-on-surface:#eaf1ff;--outline:#727786;--outline-variant:#c1c6d7;--background:#f8f9ff;--on-background:#0b1c30;--success:#10B981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--info:#0E76FD;--info-light:#dbeafe;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-gutter:16px;--space-margin:24px;--radius-sm:0.25rem;--radius:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(11,28,48,0.06);--shadow-md:0 4px 12px rgba(11,28,48,0.08);--shadow-lg:0 8px 24px rgba(11,28,48,0.1);--shadow-xl:0 16px 48px rgba(11,28,48,0.12);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--font-family:"Manrope",-apple-system,BlinkMacSystemFont,sans-serif;--nav-height:72px}[data-theme=dark]{--primary:#adc6ff;--primary-container:#4d8eff;--on-primary:#002e6a;--on-primary-container:#00285d;--inverse-primary:#005ac2;--primary-fixed:#d8e2ff;--primary-fixed-dim:#adc6ff;--secondary:#4edea3;--secondary-container:#00a572;--on-secondary:#003824;--on-secondary-container:#00311f;--tertiary:#ffb2b7;--tertiary-container:#dc2c4f;--on-tertiary:#67001a;--on-tertiary-container:#fffbff;--error:#ffb4ab;--error-container:#93000a;--on-error:#690005;--on-error-container:#ffdad6;--surface:#0b1326;--surface-dim:#0b1326;--surface-bright:#31394d;--surface-container-lowest:#060e20;--surface-container-low:#131b2e;--surface-container:#171f33;--surface-container-high:#222a3d;--surface-container-highest:#2d3449;--surface-variant:#2d3449;--surface-tint:#adc6ff;--on-surface:#dae2fd;--on-surface-variant:#c2c6d6;--inverse-surface:#dae2fd;--inverse-on-surface:#283044;--outline:#8c909f;--outline-variant:#424754;--background:#0b1326;--on-background:#dae2fd;--success:#4edea3;--success-light:#003824;--warning:#fbbf24;--warning-light:#422006;--info:#adc6ff;--info-light:#002e6a;--shadow-sm:0 1px 3px rgba(0,0,0,0.3);--shadow-md:0 4px 12px rgba(0,0,0,0.4);--shadow-lg:0 8px 24px rgba(0,0,0,0.5);--shadow-xl:0 16px 48px rgba(0,0,0,0.6)}[data-theme=crystal]{--primary:#00D4FF;--primary-container:rgba(0,212,255,0.15);--on-primary:#001a22;--on-primary-container:#00D4FF;--inverse-primary:#003d52;--primary-fixed:rgba(0,212,255,0.1);--primary-fixed-dim:rgba(0,212,255,0.2);--secondary:#22c55e;--secondary-container:rgba(34,197,94,0.15);--on-secondary:#001a0d;--on-secondary-container:#22c55e;--tertiary:#f472b6;--tertiary-container:rgba(244,114,182,0.15);--on-tertiary:#1a0010;--on-tertiary-container:#f472b6;--error:#ff6b6b;--error-container:rgba(255,107,107,0.15);--on-error:#1a0000;--on-error-container:#ff6b6b;--surface:rgba(8,16,38,0.98);--surface-dim:rgba(4,8,22,0.99);--surface-bright:rgba(20,35,70,0.95);--surface-container-lowest:rgba(255,255,255,0.03);--surface-container-low:rgba(255,255,255,0.05);--surface-container:rgba(255,255,255,0.08);--surface-container-high:rgba(255,255,255,0.11);--surface-container-highest:rgba(255,255,255,0.15);--surface-variant:rgba(255,255,255,0.08);--surface-tint:#00D4FF;--on-surface:#e8f0ff;--on-surface-variant:rgba(200,220,255,0.65);--inverse-surface:#e8f0ff;--inverse-on-surface:#060d1f;--outline:rgba(255,255,255,0.25);--outline-variant:rgba(255,255,255,0.1);--background:#060d1f;--on-background:#e8f0ff;--success:#22c55e;--success-light:rgba(34,197,94,0.12);--warning:#fbbf24;--warning-light:rgba(251,191,36,0.12);--info:#00D4FF;--info-light:rgba(0,212,255,0.12);--shadow-sm:0 1px 4px rgba(0,0,0,0.5),0 0 8px rgba(0,212,255,0.04);--shadow-md:0 4px 16px rgba(0,0,0,0.6),0 0 24px rgba(0,212,255,0.08);--shadow-lg:0 8px 32px rgba(0,0,0,0.7),0 0 40px rgba(0,212,255,0.12);--shadow-xl:0 16px 64px rgba(0,0,0,0.8),0 0 60px rgba(0,212,255,0.15);--crystal-blur:blur(20px);--crystal-border:1px solid rgba(255,255,255,0.1);--crystal-border-accent:1px solid rgba(0,212,255,0.3);--crystal-glow-sm:0 0 16px rgba(0,212,255,0.12);--crystal-glow-md:0 0 32px rgba(0,212,255,0.2);--crystal-surface:rgba(255,255,255,0.05);--crystal-surface-hover:rgba(255,255,255,0.08)}[data-theme=crystal] .app-shell{background:radial-gradient(ellipse 100% 55% at 50% -5%,rgba(0,90,160,.45) 0,transparent 70%),radial-gradient(ellipse 55% 35% at 85% 95%,rgba(0,212,255,.08) 0,transparent 60%),#060d1f}[data-theme=crystal] .card{background:var(--crystal-surface);backdrop-filter:var(--crystal-blur);-webkit-backdrop-filter:var(--crystal-blur);border:var(--crystal-border);box-shadow:var(--shadow-md),var(--crystal-glow-sm)}[data-theme=crystal] .card:hover{background:var(--crystal-surface-hover);box-shadow:var(--shadow-lg),var(--crystal-glow-md)}[data-theme=crystal] .bottom-nav{background:rgba(4,8,22,.7);border-top:var(--crystal-border);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}[data-theme=crystal] .bottom-nav__item--active:before{box-shadow:0 0 8px rgba(0,212,255,.5)}[data-theme=crystal] .page-header{background:rgba(4,8,22,.6);border-bottom:var(--crystal-border)}[data-theme=crystal] .modal{background:rgba(8,16,38,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--crystal-border);border-bottom:none}[data-theme=crystal] .overlay{background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-theme=crystal] .menu-panel{background:rgba(8,16,38,.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--crystal-border);box-shadow:var(--shadow-lg),var(--crystal-glow-sm)}[data-theme=crystal] .card--bare,[data-theme=crystal] .card--bare:hover{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:none!important;box-shadow:var(--shadow-md)!important}[data-theme=crystal] .input,[data-theme=crystal] .input-group input,[data-theme=crystal] .input-group select,[data-theme=crystal] .input-group textarea{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}[data-theme=crystal] .input-group input:focus,[data-theme=crystal] .input-group select:focus,[data-theme=crystal] .input-group textarea:focus,[data-theme=crystal] .input:focus{background:rgba(255,255,255,.08);border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,212,255,.15)}[data-theme=crystal] .btn--primary{background:var(--primary);color:#001a22;box-shadow:var(--shadow-sm),0 0 16px rgba(0,212,255,.3)}[data-theme=crystal] .btn--primary:hover{box-shadow:var(--shadow-md),0 0 24px rgba(0,212,255,.4)}[data-theme=crystal] .btn--fab{background:var(--primary);color:#001a22;box-shadow:var(--shadow-lg),0 0 32px rgba(0,212,255,.4)}[data-theme=crystal] .btn--secondary{background:rgba(255,255,255,.06);border:var(--crystal-border)}[data-theme=crystal] .btn--secondary:hover{background:rgba(255,255,255,.1)}[data-theme=crystal] .chip{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}[data-theme=crystal] .chip--active{background:rgba(0,212,255,.1);border-color:rgba(0,212,255,.4);color:var(--primary)}[data-theme=crystal] .progress-bar{background:rgba(255,255,255,.08)}[data-theme=crystal] .transaction-row{border-bottom-color:rgba(255,255,255,.06)}[data-theme=crystal] .transaction-row:hover{background:rgba(255,255,255,.03)}.sheet-panel{background:var(--surface)}[data-theme=crystal] .sheet-panel{background:rgba(8,16,38,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--crystal-border);box-shadow:var(--shadow-lg),var(--crystal-glow-sm)}[data-theme=crystal] .sheet-panel--solid{background:rgba(8,16,38,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}[data-theme=crystal] .feature-tour__card{background:rgba(8,16,38,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:var(--crystal-border);box-shadow:var(--shadow-lg),var(--crystal-glow-sm)}[data-theme=crystal] .feature-tour__overlay{background:rgba(0,0,0,.62)}[data-theme=crystal] .feature-tour__spotlight{border-color:var(--primary);box-shadow:0 0 0 9999px rgba(0,0,0,.62),0 0 24px rgba(0,212,255,.35),0 12px 32px rgba(0,0,0,.4)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background-color:var(--background);color:var(--on-background);line-height:1.6;min-height:100dvh;overflow-x:hidden}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{touch-action:manipulation}:where(button,a,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--primary) 42%,transparent);outline-offset:3px}.h1{font-size:40px}.h1,.h2{font-weight:700;line-height:1.2;letter-spacing:-.02em}.h2{font-size:32px}.h3{font-size:24px;font-weight:600;line-height:1.3}.body-lg{font-size:18px}.body-lg,.body-md{font-weight:400;line-height:1.6}.body-md{font-size:16px}.body-sm{font-size:14px;font-weight:500;line-height:1.5}.label-caps{font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.05em;text-transform:uppercase}.material-symbols-rounded{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;vertical-align:middle}.material-symbols-rounded.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.auth-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,48px);background:linear-gradient(145deg,color-mix(in srgb,var(--primary-fixed) 68%,white) 0,var(--surface) 42%,color-mix(in srgb,var(--secondary-container) 26%,var(--surface-container-lowest)) 100%);position:relative;overflow:hidden}.auth-page:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent,rgba(255,255,255,.55) 36%,transparent 58%),linear-gradient(180deg,rgba(255,255,255,.66),transparent 34%);opacity:.72;pointer-events:none}.auth-shell{width:min(100%,430px);position:relative;z-index:1}.auth-brand{text-align:center;margin-bottom:18px}.auth-brand__logo{width:108px;height:108px;margin:0 auto 4px;display:grid;place-items:center;border-radius:24px}.auth-brand__logo img{width:100px;height:100px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,87,193,.14));animation:auth-logo-float 4.8s ease-in-out infinite}.auth-brand__title{margin:0;font-size:clamp(26px,7vw,34px);font-weight:900;color:var(--on-surface);line-height:1}.auth-brand__subtitle{margin:4px 0 0;font-size:14px;font-weight:700;color:var(--on-surface-variant)}.auth-card{position:relative;padding:clamp(24px,6vw,36px);border-radius:28px;background:color-mix(in srgb,var(--surface-container-lowest) 88%,transparent);border:1px solid rgba(255,255,255,.72);box-shadow:0 24px 70px rgba(11,28,48,.16),inset 0 1px 0 rgba(255,255,255,.8);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-card:before{content:"";position:absolute;inset:1px;border-radius:27px;border:1px solid color-mix(in srgb,var(--primary) 18%,transparent);pointer-events:none}.auth-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.auth-card__eyebrow{margin:0 0 4px;font-size:12px;font-weight:900;color:var(--primary);text-transform:uppercase}.auth-card__title{margin:0;font-size:22px;font-weight:900;color:var(--on-surface)}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-card .input-group label{font-size:12px;font-weight:800;color:var(--on-surface)}.auth-card .input-group input{min-height:52px;border-radius:16px;background:color-mix(in srgb,var(--surface-container-low) 54%,white);border-color:color-mix(in srgb,var(--primary) 16%,var(--outline-variant))}.auth-card .input-group input:focus{background:var(--surface-container-lowest);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.auth-error{margin:0;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--error-container) 72%,white);color:var(--on-error-container);font-size:13px;font-weight:700;text-align:center}.auth-submit{width:100%;min-height:52px;margin-top:4px;border-radius:16px;font-size:15px;font-weight:900;background:linear-gradient(135deg,var(--primary) 0,#0e76fd 58%,#11a87b 100%);box-shadow:0 16px 32px rgba(14,118,253,.28)}.auth-submit:hover{opacity:1;box-shadow:0 18px 38px rgba(14,118,253,.34)}.auth-card__footer{margin:22px 0 0;text-align:center;font-size:14px;color:var(--on-surface-variant)}.auth-card__footer a{color:var(--primary);font-weight:900;text-decoration:none}.auth-card__footer a:hover{text-decoration:underline}.sw-update{position:fixed;left:16px;right:16px;bottom:84px;z-index:1000;display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:520px;margin:0 auto;padding:12px 14px;border-radius:12px;border:1px solid var(--outline-variant);background:var(--surface-container-high);color:var(--on-surface);box-shadow:var(--shadow-lg)}.sw-update__text{font-size:13px;font-weight:700}.sw-update__button{min-height:40px;flex-shrink:0;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:800}[data-theme=crystal] .auth-page,[data-theme=dark] .auth-page{background:linear-gradient(145deg,#071528 0,var(--surface) 48%,color-mix(in srgb,var(--secondary-container) 16%,#0b1326) 100%)}[data-theme=crystal] .auth-page:before,[data-theme=dark] .auth-page:before{background:linear-gradient(115deg,transparent,rgba(14,118,253,.22) 38%,transparent 58%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 38%)}[data-theme=crystal] .auth-card,[data-theme=dark] .auth-card{background:rgba(10,20,42,.86);border-color:rgba(174,198,255,.2);box-shadow:0 24px 70px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08)}[data-theme=crystal] .auth-brand__logo,[data-theme=dark] .auth-brand__logo{background:transparent;box-shadow:none}[data-theme=crystal] .auth-card .input-group input,[data-theme=dark] .auth-card .input-group input{background:rgba(255,255,255,.08);border-color:rgba(174,198,255,.22)}@keyframes auth-logo-float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.025)}}@media (prefers-reduced-motion:reduce){.auth-brand__logo img{animation:none}}@media (max-width:480px){.auth-page{align-items:flex-start;padding:20px 16px 28px}.auth-brand{margin-bottom:16px}.auth-brand__logo{width:92px;height:92px;border-radius:22px}.auth-brand__logo img{width:86px;height:86px}.auth-card__header{align-items:center}}.card{background:var(--surface-container-lowest);border:1px solid var(--outline-variant);border-radius:var(--radius-xl);padding:var(--space-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.table-row-hover:hover{background:var(--surface-container-low)!important}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:var(--radius-full);font-size:12px;font-weight:600}.badge--success{background:var(--success-light);color:var(--success)}.badge--warning{background:var(--warning-light);color:var(--warning)}.badge--error{background:var(--error-container);color:var(--error)}.badge--info{background:var(--info-light);color:var(--info)}.badge--secondary{background:color-mix(in srgb,var(--secondary) 15%,transparent);color:var(--secondary)}.badge--tertiary{background:color-mix(in srgb,var(--tertiary) 15%,transparent);color:var(--tertiary)}.badge--indigo{background:rgba(99,102,241,.15);color:#818cf8}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 24px;border:none;border-radius:var(--radius);font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.btn--primary{background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm)}.btn--primary:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn--primary:active{transform:translateY(0);box-shadow:none}.btn--primary:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn--secondary{background:var(--surface-container);color:var(--on-surface);border:1px solid var(--outline-variant)}.btn--secondary:hover{background:var(--surface-container-high)}.btn--ghost{background:transparent;color:var(--on-surface-variant)}.btn--ghost:hover{background:var(--surface-container)}.btn--tonal{background:var(--primary-fixed);color:var(--primary);border:1px solid color-mix(in srgb,var(--primary) 22%,transparent)}.btn--tonal:hover{background:var(--primary-fixed-dim)}.btn--link{min-height:44px;padding:10px 12px;background:transparent;color:var(--on-surface-variant);box-shadow:none}.btn--link:hover{background:var(--surface-container-low);color:var(--on-surface)}.btn--icon{width:44px;height:44px;padding:0;border-radius:var(--radius-lg)}.btn--fab{width:56px;height:56px;padding:0;border-radius:var(--radius-xl);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-lg);position:fixed;bottom:calc(var(--nav-height) + 24px);right:24px;z-index:50}.btn--fab:hover{box-shadow:var(--shadow-xl);transform:scale(1.05)}.input{padding:12px 16px;background:var(--surface-container);border:1.5px solid var(--outline-variant);border-radius:var(--radius);font-family:var(--font-family);font-size:16px;color:var(--on-surface);transition:border-color var(--transition-fast),background var(--transition-fast);outline:none}.input::placeholder{color:var(--outline)}.input:focus{border-color:var(--primary);background:var(--surface-container-lowest);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:12px;font-weight:600;color:var(--on-surface-variant);letter-spacing:.02em}.input-group input,.input-group select,.input-group textarea{padding:12px 16px;background:var(--surface-container);border:1.5px solid var(--outline-variant);border-radius:var(--radius);font-family:var(--font-family);font-size:16px;color:var(--on-surface);transition:border-color var(--transition-fast),background var(--transition-fast);outline:none}.input-group input::placeholder,.input-group textarea::placeholder{color:var(--outline)}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:var(--primary);background:var(--surface-container-lowest);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--radius-full);font-size:13px;font-weight:600;border:1.5px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);cursor:pointer;transition:all var(--transition-fast)}.chip--active{background:var(--primary-fixed);border-color:var(--primary);color:var(--primary)}.chip:hover{background:var(--surface-container)}.chip--active:hover{background:var(--primary-fixed-dim)}.progress-bar{width:100%;height:8px;background:var(--surface-container-high);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill{height:100%;border-radius:var(--radius-full);transition:width var(--transition-slow)}.progress-bar__fill--primary{background:var(--primary)}.progress-bar__fill--success{background:var(--success)}.progress-bar__fill--warning{background:var(--warning)}.progress-bar__fill--error{background:var(--error)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes famio-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.animate-slide-up{animation:slideUp .5s ease forwards}.animate-scale-in{animation:scaleIn .3s ease forwards}.stagger>*{opacity:0;animation:fadeIn .4s ease forwards}.stagger>:first-child{animation-delay:.05s}.stagger>:nth-child(2){animation-delay:.1s}.stagger>:nth-child(3){animation-delay:.15s}.stagger>:nth-child(4){animation-delay:.2s}.stagger>:nth-child(5){animation-delay:.25s}.stagger>:nth-child(6){animation-delay:.3s}.stagger>:nth-child(7){animation-delay:.35s}.stagger>:nth-child(8){animation-delay:.4s}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--outline-variant);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--outline)}.app-shell{max-width:430px;margin:0 auto;min-height:100dvh;position:relative;background:var(--background);overflow-x:hidden}.page-content{padding:16px;padding-bottom:calc(var(--nav-height) + 40px)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:16px var(--space-lg);position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--background) 85%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:430px;height:var(--nav-height);background:var(--surface-container-lowest);border-top:1px solid var(--outline-variant);justify-content:space-around;padding:0 8px;z-index:100;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bottom-nav,.bottom-nav__item{display:flex;align-items:center;gap:2px}.bottom-nav__item{flex-direction:column;padding:6px 8px;border-radius:var(--radius-lg);color:var(--on-surface-variant);text-decoration:none;font-size:11px;font-weight:600;transition:all var(--transition-fast);position:relative;cursor:pointer;background:none;border:none;font-family:var(--font-family);flex:1 1;min-width:0}.bottom-nav__item--active{color:var(--primary)}.bottom-nav__item--active:before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:32px;height:3px;background:var(--primary);border-radius:0 0 var(--radius-full) var(--radius-full)}.bottom-nav__item .material-symbols-rounded{font-size:24px}.bottom-nav__item span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-nav__action{width:56px;height:56px;min-width:56px;margin-top:-18px;border-radius:var(--radius-full);border:4px solid var(--surface-container-lowest);background:var(--primary);color:var(--on-primary);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);cursor:pointer;flex:0 0 56px;font-family:var(--font-family)}.bottom-nav__action .material-symbols-rounded{font-size:30px}.avatar{width:40px;height:40px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}.avatar--sm{width:32px;height:32px;font-size:12px}.avatar--lg{width:56px;height:56px;font-size:20px}.avatar--xl{width:72px;height:72px;font-size:28px}.section{margin-bottom:var(--space-lg)}.section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.section__title{font-size:18px;font-weight:700;color:var(--on-surface)}.section__action{font-size:13px;font-weight:600;color:var(--primary);cursor:pointer;background:none;border:none;font-family:var(--font-family)}.icon-tile{width:44px;height:44px;border-radius:var(--radius-lg);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--primary-container);color:var(--on-primary-container)}.icon-tile--secondary{background:var(--secondary-container);color:var(--on-secondary-container)}.icon-tile--neutral{color:var(--on-surface-variant)}.icon-tile--neutral,.menu-panel{background:var(--surface-container-high)}.menu-panel{border:1px solid var(--outline-variant);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.menu-item{min-height:46px;display:flex;align-items:center;gap:10px;padding:12px 16px;color:var(--on-surface);background:transparent;border:none;width:100%;text-align:left;text-decoration:none;font-family:var(--font-family);font-size:14px;font-weight:600;cursor:pointer}.menu-item:hover{background:var(--surface-container-highest)}.menu-item--danger{color:var(--error)}.onboarding-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:max(var(--space-lg),env(safe-area-inset-top)) var(--space-lg) max(var(--space-lg),env(safe-area-inset-bottom));background:radial-gradient(circle at 50% -10%,color-mix(in srgb,var(--primary) 14%,transparent),transparent 42%),var(--background)}.onboarding-panel{width:100%;max-width:452px}.onboarding-hero{text-align:center;margin-bottom:var(--space-xl)}.onboarding-logo{width:58px;height:58px;margin:0 auto 14px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary),var(--secondary));color:white;box-shadow:var(--shadow-md)}.onboarding-title{font-size:26px;font-weight:850;line-height:1.18;color:var(--on-surface)}.onboarding-subtitle{max-width:34rem;margin:8px auto 0;font-size:15px;line-height:1.55;color:var(--on-surface-variant)}.choice-list{display:flex;flex-direction:column;gap:var(--space-sm)}.choice-card{width:100%;min-height:84px;padding:16px;display:flex;align-items:center;gap:var(--space-md);text-align:left;cursor:pointer;background:var(--surface-container-lowest);color:var(--on-surface);transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.choice-card:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 34%,var(--outline-variant));background:var(--surface-container-low)}.choice-card:active{transform:scale(.99)}.choice-card__body{min-width:0;flex:1 1}.choice-card__title{display:block;font-size:15px;font-weight:800;line-height:1.25}.choice-card__subtitle{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:var(--on-surface-variant)}.form-card{padding:var(--space-xl)}.alert-inline{padding:10px 12px;border-radius:var(--radius);background:var(--error-container);color:var(--on-error-container);font-size:13px;line-height:1.35;font-weight:650}.learn-topic-layout{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.learn-hero{margin-bottom:24px;padding:22px;border:1px solid var(--outline-variant);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--primary-container) 62%,transparent),transparent 56%),var(--surface-container-lowest);box-shadow:var(--shadow-md)}.learn-grid{display:grid;grid-template-columns:1fr;gap:12px;align-items:stretch}.learn-topic-card{min-height:126px;padding:16px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:start;align-content:start;gap:13px;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.learn-topic-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--primary) 28%,var(--outline-variant));background:var(--surface-container-low);box-shadow:var(--shadow-md)}.learn-topic-shell{max-width:430px;margin:0 auto}.learn-topic-hero{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:center;margin-bottom:28px;padding:22px;border:1px solid var(--outline-variant);border-radius:var(--radius-xl);background:linear-gradient(135deg,color-mix(in srgb,var(--secondary-container) 42%,transparent),transparent 58%),var(--surface-container-lowest);box-shadow:var(--shadow-sm)}@media (max-width:560px){.learn-grid,.learn-topic-hero{grid-template-columns:1fr}.learn-topic-hero{gap:14px;align-items:start}}.checklist-card{padding:0;overflow:hidden;border-radius:var(--radius-xl);background:var(--surface-container-lowest)}.checklist-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 13px;border-radius:var(--radius-full);border:1.5px solid var(--primary);background:transparent;color:var(--primary);font-family:var(--font-family);font-size:12px;font-weight:850;line-height:1.15;cursor:pointer;text-align:center}.checklist-action:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}.feature-tour{position:fixed;inset:0;z-index:2000;pointer-events:auto}.feature-tour__overlay{position:absolute;inset:0;background:rgba(0,0,0,.48)}.feature-tour__spotlight{position:fixed;z-index:2001;border-radius:18px;border:2px solid var(--primary);box-shadow:0 0 0 9999px rgba(0,0,0,.48),0 12px 32px rgba(0,0,0,.28);pointer-events:none}.feature-tour__card{position:fixed;z-index:2002;width:min(360px,calc(100vw - 32px));padding:18px;border-radius:var(--radius-xl);border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface);box-shadow:var(--shadow-lg)}.feature-tour__card h2{margin:4px 28px 8px 0;font-size:18px;line-height:1.22;font-weight:850}.feature-tour__card p{margin:0;color:var(--on-surface-variant);font-size:14px;line-height:1.55}.feature-tour__kicker{color:var(--primary)!important;font-size:11px!important;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.feature-tour__close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--on-surface-variant);cursor:pointer}.feature-tour__close:hover{background:var(--surface-container-high)}.feature-tour__actions{display:flex;justify-content:space-between;gap:10px;margin-top:16px}.feature-tour__actions button{min-height:42px;padding:9px 14px;border-radius:var(--radius-full);border:1px solid var(--outline-variant);background:transparent;color:var(--on-surface-variant);font-family:var(--font-family);font-size:13px;font-weight:750;cursor:pointer}.feature-tour__actions button:disabled{opacity:.42;cursor:default}.feature-tour__actions .feature-tour__primary{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}@media (max-width:380px){.form-card{padding:var(--space-lg)}.choice-card{padding:14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.transaction-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--surface-container);cursor:pointer;transition:background var(--transition-fast)}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:var(--surface-container-low);margin:0 -12px;padding:12px;border-radius:var(--radius)}.transaction-row__icon{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px}.transaction-row__info{flex:1 1;min-width:0}.transaction-row__name{font-size:14px;font-weight:600;color:var(--on-surface);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-row__meta{font-size:12px;color:var(--on-surface-variant)}.transaction-row__amount{font-size:15px;font-weight:700;text-align:right;white-space:nowrap}.transaction-row__amount--expense{color:var(--tertiary)}.transaction-row__amount--income{color:var(--success)}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.modal{background:var(--surface-container-lowest);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-lg);padding-bottom:40px;width:100%;max-width:430px;max-height:90dvh;overflow-y:auto;animation:slideUp .3s ease}.modal__handle{width:40px;height:4px;background:var(--outline-variant);border-radius:var(--radius-full);margin:0 auto var(--space-md)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl) var(--space-lg);text-align:center;gap:var(--space-md)}.empty-state__icon{font-size:48px;color:var(--outline)}.empty-state__title{font-size:18px;font-weight:700;color:var(--on-surface)}.empty-state__desc{font-size:14px;color:var(--on-surface-variant);max-width:280px}