@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--primary:#853bed;--primary-hover:#6e16e9;--secondary:#1cb56e;--secondary-hover:#189a5e;--warning:#f59a19;--danger:#f43e5c;--success:#1cb56e;--bg-main:#fafafa;--bg-card:#fff;--bg-surface:#f2f2f2;--bg-header:#fffc;--text-main:#1f242e;--text-muted:#676f7e;--border:#dcdfe5;--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 32px #0000001f;--shadow-glow:0 8px 32px var(--primary-hover);--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.3s cubic-bezier(.4,0,.2,1);--transition-slow:.5s cubic-bezier(.4,0,.2,1)}@media (prefers-color-scheme:dark){:root{--bg-main:#111217;--bg-card:#1a1c23;--bg-surface:#212331;--bg-header:#1a1c23d9;--text-main:#fafafa;--text-muted:#b6bcc9;--border:#292c3d;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 12px 32px #0006}}*{box-sizing:border-box;margin:0;padding:0}html{overflow-x:hidden}body{background-color:var(--bg-main);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;display:flex;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-height:44px;font-family:inherit;display:inline-flex}input,select,textarea{font-family:inherit;font-size:1rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}@media (min-width:640px){.container{padding:0 24px}}.card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform var(--transition-normal),box-shadow var(--transition-normal);padding:20px}@media (min-width:640px){.card{padding:24px}}@media (hover:hover) and (pointer:fine){.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}}.btn-primary{background-color:var(--primary);color:#fff;border-radius:var(--radius-full);transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 24px;font-size:1rem;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background-color:var(--primary-hover);transform:scale(1.02);box-shadow:0 4px 20px #8a2be266}}.btn-primary:active{transform:scale(.97)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-main);border-radius:var(--radius-full);transition:all var(--transition-fast);border:1px solid var(--border);white-space:nowrap;min-height:44px;padding:12px 24px;font-size:1rem;font-weight:500}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{background-color:var(--border)}}.text-gradient{background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.title-lg{letter-spacing:-.02em;font-size:2rem;font-weight:800;line-height:1.2}@media (min-width:640px){.title-lg{font-size:3rem}}.title-md{letter-spacing:-.01em;font-size:1.5rem;font-weight:700;line-height:1.3}@media (min-width:640px){.title-md{font-size:2rem}}.text-muted{color:var(--text-muted)}.app-header{z-index:50;background-color:var(--bg-header);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:12px 0;position:sticky;top:0}@media (min-width:640px){.app-header{padding:16px 0}}.header-inner{justify-content:space-between;align-items:center;display:flex}.brand-logo{align-items:center;gap:8px;font-size:1.5rem;font-weight:800;display:flex}.brand-icon{background:linear-gradient(135deg,var(--primary),var(--secondary));border-radius:var(--radius-sm);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;font-weight:700;display:flex}.nav-desktop{display:none}@media (min-width:768px){.nav-desktop{align-items:center;gap:20px;display:flex}}.nav-hamburger{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border);cursor:pointer;width:44px;height:44px;min-height:unset;justify-content:center;align-items:center;display:flex}@media (min-width:768px){.nav-hamburger{display:none}}.nav-mobile-menu{z-index:49;background:var(--bg-card);flex-direction:column;gap:8px;padding:80px 24px 24px;animation:.2s forwards slideDown;display:none;position:fixed;inset:0}.nav-mobile-menu.open{display:flex}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-mobile-link{border-radius:var(--radius-md);color:var(--text-main);transition:background var(--transition-fast);cursor:pointer;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:56px;padding:16px;font-size:1.1rem;font-weight:600;text-decoration:none;display:flex}.nav-mobile-link:active,.nav-mobile-link:hover{background:var(--bg-surface)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn var(--transition-normal)forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.dashboard-grid{grid-template-columns:1fr;gap:16px;margin-top:24px;display:grid}@media (min-width:640px){.dashboard-grid{gap:24px;margin-top:32px}}@media (min-width:900px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.dashboard-main-col{grid-column:span 2}}.balance-cards-row{flex-direction:column;gap:16px;display:flex}@media (min-width:640px){.balance-cards-row{flex-direction:row;gap:24px}}.form-row-2col{flex-direction:column;gap:16px;display:flex}@media (min-width:480px){.form-row-2col{flex-direction:row;gap:16px}}.expense-form-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (min-width:900px){.expense-form-grid{grid-template-columns:1fr 1fr;gap:24px}}.group-page-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.group-page-header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}@media (max-width:480px){.group-page-header-actions .btn-primary{padding:10px 14px;font-size:.85rem}.mobile-full-width{text-align:center;width:100%}}.scroll-x-mobile{-webkit-overflow-scrolling:touch;overflow-x:auto}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select,textarea{min-height:44px;font-size:1rem}@supports (padding-bottom:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom)}}.page-padding{padding:24px 16px}@media (min-width:640px){.page-padding{padding:32px 24px}}
