.login-page,.login-loading{min-height:100dvh;color:var(--text);place-items:center;padding:24px;display:grid}.login-panel{background:var(--panel);border:var(--card-border);width:min(100%,380px);box-shadow:var(--shadow);border-radius:8px;padding:32px}.login-logo{object-fit:contain;width:126px;height:64px;margin:0 auto 20px;display:block}.login-panel h1{color:var(--heading-color);font:600 1rem/1.5 var(--font-heading);text-align:center;margin:0 0 28px}.login-panel form{gap:18px;display:grid}.login-panel .field>span{font-size:.78rem}.login-panel input{height:46px;font-size:.9rem}.login-password{position:relative}.login-password input{padding-right:46px}.login-password button{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:3px;right:3px}.login-panel .button{min-height:46px}.login-panel button:disabled{opacity:.6;cursor:wait}.login-error{color:var(--red);margin:0;font-size:.8rem;line-height:1.5}.login-appearance{position:fixed;top:20px;right:20px}:is(.appearance-dark,.appearance-glass) .login-logo{filter:brightness(0)invert()}.appearance-glass .login-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wallpaper-reset{margin-top:10px}.appearance-options input[type=file]{white-space:normal;height:auto;font-size:.72rem}.app-shell[inert]{opacity:.65;cursor:wait}@media (width<=720px){.app-header{grid-template-columns:minmax(0,1fr) auto}.brand>div{min-width:0}}@font-face{font-family:Conthrax;src:url(/assets/conthrax-semibold-BPU5VgVt.otf)format("opentype");font-style:normal;font-weight:600;font-display:swap}:root{color:var(--text);background:var(--canvas);--font-heading:"Conthrax", ui-sans-serif, system-ui, sans-serif;font-synthesis:none;text-rendering:optimizelegibility;--accent:#19b98b;--accent-ink:#087451;--accent-strong:var(--accent-ink);--accent-rgb:25, 185, 139;--canvas:color-mix(in srgb, #f5f7f8 94%, var(--accent));--panel:color-mix(in srgb, #fff 97%, var(--accent));--panel-soft:color-mix(in srgb, #fff 93%, var(--accent));--overlay:color-mix(in srgb, #fff 98%, var(--accent));--rail:color-mix(in srgb, #fff 94%, var(--accent));--field:color-mix(in srgb, #fff 96%, var(--accent));--heading-color:color-mix(in srgb, var(--accent-ink) 78%, #202638);--action:var(--accent-ink);--action-hover:color-mix(in srgb, var(--action) 88%, #000);--on-action:#fff;--canvas-image:none;--text:#202638;--muted:#6f788b;--muted-2:#9aa3b3;--line:color-mix(in srgb, #e1e8ed 80%, var(--accent));--line-strong:color-mix(in srgb, #ccd8de 78%, var(--accent));--green:#087c5a;--green-soft:#e4f8f1;--red:#ce3446;--red-soft:#feebed;--blue:#2d82ed;--blue-soft:#e8f2ff;--purple:#7559ed;--purple-soft:#efecff;--yellow:#e2a51b;--shadow:0 12px 30px #21344814;--shadow-float:0 22px 60px #1b2a3e33;--card-radius:18px;--card-border:1px solid color-mix(in srgb, #e1e8ed 82%, var(--accent));--card-shadow:0 3px 0 #3042531a, 0 8px 18px #283b4e0e;--item-shadow:0 2px 0 #30425312, 0 4px 12px #283b4e09;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.theme-green{--accent:#19b98b;--accent-ink:#087451;--accent-rgb:25, 185, 139}.theme-blue{--accent:#2f7df4;--accent-ink:#1b60c7;--accent-rgb:47, 125, 244}.theme-purple{--accent:#7559ed;--accent-ink:#5c3ed0;--accent-rgb:117, 89, 237}.theme-amber{--accent:#dda32c;--accent-ink:#8d5d07;--accent-rgb:221, 163, 44}.theme-rose{--accent:#ec6487;--accent-ink:#b02d54;--accent-rgb:236, 100, 135}.appearance-white{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.appearance-dark,.appearance-glass{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--canvas:#141618;--panel:color-mix(in srgb, #212426 94%, var(--accent));--panel-soft:color-mix(in srgb, #2a2d30 90%, var(--accent));--overlay:color-mix(in srgb, #25282b 96%, var(--accent));--rail:color-mix(in srgb, #1b1e20 96%, var(--accent));--field:#1b1e21;--text:#edf0f4;--muted:#b6bec8;--muted-2:#a4adba;--accent-strong:color-mix(in srgb, var(--accent) 60%, #fff);--heading-color:var(--accent-strong);--action:color-mix(in srgb, var(--accent) 65%, #fff);--action-hover:color-mix(in srgb, var(--accent) 48%, #fff);--on-action:#141618;--line:color-mix(in srgb, #383d43 88%, var(--accent));--line-strong:color-mix(in srgb, #58606a 84%, var(--accent));--green:#64d8ad;--green-soft:#18392d;--red:#ff8994;--red-soft:#44252c;--blue:#91bdff;--blue-soft:#21374e;--purple:#bfa9ff;--purple-soft:#352c4a;--card-border:1px solid var(--line);--card-shadow:0 3px 0 #0003, 0 8px 18px #0002;--item-shadow:0 2px 0 #0002;--shadow-float:0 22px 60px #0008}.appearance-glass{--canvas:#17191e;--canvas-image:linear-gradient(180deg, #0c10162e, #0c101659), var(--glass-wallpaper,url(/assets/glass-sunset-yk7P12QU.png));--panel:color-mix(in srgb, #14181f94 97%, var(--accent));--panel-soft:color-mix(in srgb, #20252e99 96%, var(--accent));--overlay:color-mix(in srgb, #1d222ce8 97%, var(--accent));--rail:#141820a8;--field:#11151c9e;--line:#ffffff29;--line-strong:#ffffff47;--text:#f6f7fa;--muted:#d0d5e0;--muted-2:#bac3d2;--accent-strong:color-mix(in srgb, var(--accent) 50%, #fff);--card-border:1px solid color-mix(in srgb, #ffffff2e 92%, var(--accent));--card-shadow:inset 0 1px 0 #ffffff14, 0 8px 28px #00000038;--item-shadow:inset 0 1px 0 #ffffff0d, 0 2px 8px #0000001f}:is(.appearance-dark,.appearance-glass) .gm-logo{filter:brightness(0)invert()}.appearance-glass body{isolation:isolate;background-image:none}.appearance-glass body:before{content:"";z-index:-1;pointer-events:none;background:var(--canvas-image) center / cover no-repeat;position:fixed;inset:0}.appearance-glass :is(.panel,.metric-card,.credit-card-tile,.card-stats>div,.entries-view-header,.side-rail,.month-navigator,.card-table-wrap){-webkit-backdrop-filter:blur(14px)saturate(115%);backdrop-filter:blur(14px)saturate(115%)}.appearance-glass .page-stage{animation-name:glass-page-enter;animation-fill-mode:backwards}.appearance-glass .app-header{background:#171b245c;border-bottom-color:#ffffff29}.appearance-glass :is(.month-picker-menu,.top-popover,.rail-popover,.transaction-composer,.reset-modal,.appearance-dialog){-webkit-backdrop-filter:blur(22px)saturate(115%);backdrop-filter:blur(22px)saturate(115%)}.appearance-glass .reserve-ring:before,.appearance-glass .donut-chart>div{background:#1c232d}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.appearance-glass{--panel:#20252ee8;--panel-soft:#292f39ed;--overlay:#20252e;--rail:#181d26f2}}html,body,#root{min-width:320px;min-height:100%;margin:0}html,body{background:var(--canvas)}body{background-image:var(--canvas-image);background-repeat:no-repeat;background-size:cover;min-height:100vh}*{box-sizing:border-box}button,input,select{font:inherit}button{cursor:pointer}:is(.app-shell,.modal-backdrop,.appearance-dialog) :is(h1,h2,h3){font-family:var(--font-heading);letter-spacing:0;overflow-wrap:anywhere;font-weight:600;line-height:1.4}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(var(--accent-rgb), .2);outline-offset:2px}.app-shell{min-height:100vh;color:var(--text);background:0 0;grid-template-columns:88px minmax(0,1fr);display:grid}.app-workspace{grid-column:2;min-width:0;padding:0 30px 40px}.side-rail{z-index:100;min-width:0;height:100vh;color:var(--muted);background:var(--rail);border-right:1px solid color-mix(in srgb, var(--line) 80%, var(--accent) 20%);flex-direction:column;grid-area:1/1;align-items:center;gap:18px;padding:22px 12px 18px;display:flex;position:sticky;top:0;box-shadow:6px 0 24px #2e43560a}.rail-collapse{z-index:160;width:28px;height:28px;color:var(--muted);background:var(--panel);border:1px solid var(--line);border-radius:50%;place-items:center;padding:0;transition:top .22s,color .16s,border-color .16s;display:none;position:absolute;top:102px;right:-14px;box-shadow:0 2px 7px #2134482e}.rail-collapse:hover{color:var(--accent-strong);border-color:var(--accent)}.rail-brand{width:100%;height:46px;color:var(--text);flex-shrink:0;justify-content:center;align-items:center;gap:10px;font-weight:900;transition:height .22s;display:flex}.gm-logo{width:calc(var(--logo-size) * 2.1);max-width:100%;height:var(--logo-size);object-fit:contain;flex:none;display:block}.rail-brand .gm-logo{width:100%;height:100%}.rail-add-wrap,.rail-nav-group,.rail-settings-wrap,.top-control{position:relative}.rail-create{width:52px;height:52px;color:var(--on-action);background:var(--action);box-shadow:0 10px 24px rgba(var(--accent-rgb), .3);border:0;border-radius:50%;justify-content:center;align-items:center;gap:8px;transition:transform .18s,background .18s;display:inline-flex;overflow:hidden}.rail-create:hover{background:var(--action-hover);transform:translateY(-2px)}.rail-create span{display:none}.rail-nav{flex-direction:column;flex:1;align-items:center;gap:8px;width:100%;padding-top:6px;display:flex}.rail-nav-group{justify-content:center;width:100%;display:flex}.rail-nav-group>button,.rail-settings{width:48px;min-height:48px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:11px;transition:color .18s,background .18s;display:flex;overflow:hidden}.rail-nav-group>button:hover,.rail-settings:hover{color:var(--accent-strong);background:rgba(var(--accent-rgb), .09)}.rail-nav-group>button.active{color:var(--accent-strong);background:rgba(var(--accent-rgb), .14);box-shadow:inset 3px 0 0 var(--accent)}.rail-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:none;overflow:hidden}.rail-settings{flex:none}.rail-settings-wrap{justify-content:center;width:100%;display:flex}.rail-submenu,.rail-popover{z-index:150;width:190px;color:var(--text);background:var(--overlay);border:1px solid color-mix(in srgb, var(--line) 65%, var(--accent) 35%);box-shadow:var(--shadow-float);border-radius:8px;padding:10px;animation:.18s both flyout-in;position:absolute;top:0;left:70px}.rail-settings-popover{top:auto;bottom:0}.rail-submenu:before,.rail-popover:before{content:"";background:var(--overlay);border-left:1px solid var(--line);border-bottom:1px solid var(--line);width:10px;height:10px;position:absolute;top:19px;left:-6px;transform:rotate(45deg)}.rail-settings-popover:before{top:auto;bottom:19px}.rail-submenu>span,.rail-popover>strong{color:var(--muted);text-transform:uppercase;padding:4px 8px 8px;font-size:.72rem;font-weight:900;display:block}.rail-submenu button,.rail-popover button{width:100%;min-height:40px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;padding:8px 10px;font-weight:750;display:flex}.rail-submenu-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rail-submenu button:hover,.rail-submenu button.active,.rail-popover button:hover{color:var(--accent-strong);background:rgba(var(--accent-rgb), .1)}.nav-scrim{display:none}.app-header{z-index:80;background:color-mix(in srgb, var(--canvas) 88%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 80%, var(--accent) 20%);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:18px;min-height:82px;display:grid;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{display:none}.brand h1{margin:0;font-size:.84rem;line-height:1.4}.month-navigator{background:var(--panel);border:1px solid color-mix(in srgb, var(--line) 75%, var(--accent) 25%);border-radius:14px;grid-template-columns:34px minmax(160px,1fr) 34px;align-items:center;gap:7px;min-width:260px;padding:5px;display:grid;box-shadow:0 4px 14px #26394c0d}.month-navigator>button{width:34px;height:34px;color:var(--muted);background:var(--panel-soft);border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.month-navigator>button:hover:not(:disabled){color:var(--accent-strong);background:rgba(var(--accent-rgb), .12)}.month-navigator>button:disabled{cursor:default;opacity:.35}.month-picker{flex-direction:column;align-items:center;min-width:0;display:flex;position:relative}.month-picker>span{color:var(--muted-2);text-transform:uppercase;font-size:.58rem;font-weight:850}.month-picker-trigger{width:100%;min-height:25px;color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:1px 5px;display:flex}.month-picker-trigger strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.month-picker-trigger svg{color:var(--accent-strong);flex:none;transition:transform .16s}.month-picker-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.month-picker-menu{z-index:600;width:240px;max-height:310px;color:var(--text);background:var(--overlay);border:1px solid color-mix(in srgb, var(--line) 58%, var(--accent) 42%);box-shadow:var(--shadow-float);border-radius:13px;gap:3px;padding:7px;animation:.16s both month-menu-in;display:grid;position:absolute;top:calc(100% + 10px);left:50%;overflow-y:auto;transform:translate(-50%)}.month-picker-menu button{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;font-size:.78rem;font-weight:750;display:flex}.month-picker-menu button:hover{color:var(--accent-strong);background:rgba(var(--accent-rgb), .08)}.month-picker-menu button.active{color:var(--accent-strong);background:rgba(var(--accent-rgb), .14)}.header-icons{justify-self:end;align-items:center;gap:5px;display:flex}.header-action,.icon-button,.mobile-menu-button{border:1px solid var(--line);width:38px;height:38px;color:var(--muted);background:var(--panel-soft);border-radius:8px;justify-content:center;align-items:center;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.header-action:hover,.icon-button:hover{color:var(--accent-strong);border-color:rgba(var(--accent-rgb), .35);background:rgba(var(--accent-rgb), .1)}.header-action.has-alert{color:var(--red)}.mobile-menu-button{display:none}button>svg,.panel-title>svg{flex-shrink:0;display:block}.alert-dot{background:var(--red);border:2px solid var(--overlay);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.top-popover{z-index:500;width:220px;color:var(--text);background:var(--overlay);border:1px solid color-mix(in srgb, var(--line) 60%, var(--accent) 40%);box-shadow:var(--shadow-float);border-radius:8px;padding:14px;animation:.16s both popover-in;position:absolute;top:calc(100% + 10px);right:0}.top-popover>strong{margin-bottom:10px;font-size:.82rem;display:block}.top-popover p{color:var(--muted);margin:0;font-size:.8rem;line-height:1.55}.swatches{gap:6px;display:grid}.swatches button,.month-tools-popover>button:not(.button){border:1px solid var(--line);min-height:38px;color:var(--text);background:var(--panel-soft);text-align:left;border-radius:6px;align-items:center;gap:9px;padding:8px 10px;font-size:.78rem;font-weight:750;display:flex}.swatches button>span{background:var(--swatch);border-radius:50%;width:13px;height:13px}.swatches button.active{border-color:var(--swatch)}.month-tools-popover{gap:8px;width:240px;display:grid}.month-tools-popover>strong{margin:0 0 2px}.month-tools-popover .button{width:100%}.month-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:94px;display:grid}.page-heading p,.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 5px;font-size:.65rem;font-weight:900}.page-heading h2{color:var(--heading-color);letter-spacing:0;margin:0;font-size:1.45rem}.context-actions{justify-self:end;align-items:center;gap:8px;display:flex}.overview-actions{grid-template-columns:minmax(0,1fr) auto auto;min-width:0;display:grid}.button{border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:.78rem;font-weight:850;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{color:var(--on-action);background:var(--action);box-shadow:0 8px 20px rgba(var(--accent-rgb), .2)}.button.primary:hover{background:var(--action-hover)}.button.subtle,.button.ghost{color:var(--accent-strong);background:var(--panel-soft);border:1px solid color-mix(in srgb, var(--line) 75%, var(--accent) 25%)}.button.full-row{width:100%}.page-stage{min-width:0;animation:.26s both page-enter}.tab-view{min-width:0}.panel,.metric-card{background:var(--panel);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow)}.panel{min-width:0;padding:18px}.balance-snapshot{width:224px;min-width:0;max-width:100%;color:var(--on-action);background:var(--action);border-radius:14px;padding:10px 16px}.balance-snapshot span{opacity:.84;margin-bottom:4px;font-size:.68rem;font-weight:800;display:block}.balance-snapshot strong{overflow-wrap:anywhere;font-size:1.3rem;line-height:1.2;display:block}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0;display:grid}.metric-card{justify-content:space-between;align-items:center;gap:14px;min-height:82px;padding:15px 16px;display:flex;overflow:hidden}.metric-icon{color:#fff;background:var(--accent);border-radius:50%;flex:0 0 42px;order:2;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.row-icon{width:36px;height:36px;color:var(--accent-strong);background:rgba(var(--accent-rgb), .12);border-radius:50%;flex:none;place-items:center;line-height:0;display:grid;overflow:hidden}.metric-icon>svg,.row-icon>svg{flex:none;max-width:none;display:block;transform:none}.metric-icon>svg{width:19px;height:19px}.row-icon>svg{stroke-width:2px;width:16px;height:16px}.metric-card.green .metric-icon{color:#fff;background:#47bd5c}.metric-card.red .metric-icon{color:#fff;background:#ff4f4f}.metric-card.blue .metric-icon{color:#fff;background:#2f9bea}.metric-card:nth-child(4) .metric-icon{background:#008d7e}.metric-card>div{order:1;min-width:0}.metric-card span:not(.metric-icon){color:var(--muted);align-items:center;gap:4px;margin-bottom:5px;font-size:.7rem;font-weight:650;display:flex}.metric-card span:not(.metric-icon):after{content:"›";color:var(--muted-2);font-size:.8rem;line-height:1}.metric-card strong{color:var(--text);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:1.12rem;font-weight:750;display:block;overflow:hidden}.overview-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;display:grid}.overview-grid>.panel{grid-column:span 4}.overview-grid>.recent-expenses-panel{grid-area:span 2/span 5}.overview-grid>.panel:nth-child(2){grid-column:span 3}.overview-grid>.panel:nth-child(3){grid-column:span 4}.overview-grid>.panel:nth-child(5){grid-column:span 7}.overview-grid>.panel:nth-child(6){grid-column:span 5}.panel-title{justify-content:space-between;align-items:flex-start;gap:14px;min-height:42px;margin-bottom:12px;display:flex}.panel-title>div{min-width:0}.panel-title h3{color:var(--heading-color);letter-spacing:0;margin:0;font-size:.84rem}.panel-title>svg{color:var(--accent)}.clean-list,.reserve-list,.transaction-list,.week-list{gap:12px;display:grid}.money-row{background:var(--panel);border:var(--card-border);border-radius:var(--card-radius);min-width:0;min-height:66px;box-shadow:var(--item-shadow);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.money-row>div{min-width:0}.money-row>div strong,.money-row>div span{display:block}.money-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.money-row div span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.65rem;overflow:hidden}.money-row b{color:var(--accent-strong);white-space:nowrap;font-size:.74rem}.panel-link{width:100%;min-height:38px;color:var(--accent-strong);background:0 0;border:0;justify-content:center;align-items:center;gap:5px;margin-top:10px;font-size:.72rem;font-weight:850;display:flex}.empty-state,.helper-text{color:var(--muted);margin:0;font-size:.76rem;line-height:1.55}.quick-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:12px;display:grid}.quick-grid button{border:var(--card-border);border-radius:var(--card-radius);min-height:52px;color:var(--text);background:var(--panel);box-shadow:var(--item-shadow);justify-content:flex-start;align-items:center;gap:8px;padding:12px;font-size:.72rem;font-weight:800;display:flex}.quick-grid button:hover{color:var(--accent-strong);border-color:rgba(var(--accent-rgb), .42);background:rgba(var(--accent-rgb), .04)}.category-list{gap:10px;display:grid}.category-row{gap:6px;display:grid}.category-row-label{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.category-dot{background:var(--accent);border-radius:3px;width:9px;height:9px}.category-row:nth-child(2n) .category-dot,.category-row:nth-child(2n) .category-track span{background:#f2ab27}.category-row:nth-child(3n) .category-dot,.category-row:nth-child(3n) .category-track span{background:#2d82ed}.category-row:nth-child(4n) .category-dot,.category-row:nth-child(4n) .category-track span{background:#ec6487}.category-row:nth-child(5n) .category-dot,.category-row:nth-child(5n) .category-track span{background:#7559ed}.category-row strong,.category-row span{font-size:.7rem}.category-row-label>span:last-child{color:var(--muted);font-weight:750}.category-track,.bar-track,.progress-track{background:color-mix(in srgb, var(--line) 86%, var(--accent) 14%);border-radius:999px;overflow:hidden}.category-track{height:5px;margin-left:17px}.category-track span,.progress-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.reserve-mini{flex-direction:column;display:flex}.reserve-ring{aspect-ratio:1;background:conic-gradient(var(--accent) var(--progress), color-mix(in srgb, var(--line) 75%, var(--accent) 25%) 0);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:112px;margin:4px auto 12px;display:flex;position:relative}.reserve-ring:before{content:"";background:var(--panel);border-radius:50%;position:absolute;inset:11px}.reserve-ring strong,.reserve-ring span{z-index:1;position:relative}.reserve-ring strong{font-size:1.05rem}.reserve-ring span{color:var(--muted);margin-top:3px;font-size:.6rem}.reserve-mini>p{color:var(--muted);margin:auto 0 0;font-size:.72rem}.positive-text{color:var(--green)!important}.negative-text{color:var(--red)!important}.pill,.kind-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;min-height:24px;padding:4px 8px;font-size:.67rem;font-weight:850;display:inline-flex}.pill.positive,.kind-tag.recorrente{color:var(--green);background:var(--green-soft)}.pill.negative,.kind-tag.pontual{color:var(--red);background:var(--red-soft)}.kind-tag.cartao{color:var(--blue);background:var(--blue-soft)}.entries-grid{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.entries-view-header{background:var(--panel);border:var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.entries-view-header h3{margin:0;font-size:.9rem}.transaction-mode-toggle,.segmented{background:var(--field);border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex}.transaction-mode-toggle button,.segmented button{min-height:32px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:.68rem;font-weight:800;display:flex}.transaction-mode-toggle button.active,.segmented button.active{color:var(--on-action);background:var(--action)}.transaction-panel{min-height:360px}.list-heading,.expense-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin:0 0 14px;padding:10px 0 14px;display:flex}.list-heading>span{color:var(--muted);font-size:.72rem;font-weight:750}.list-actions{flex-wrap:wrap;gap:8px;display:flex}.income-kind-field{max-width:200px;margin-top:10px}.income-card .kind-tag.pontual{color:var(--muted);background:var(--field)}.expense-toolbar{flex-wrap:wrap;justify-content:flex-end}.expense-toolbar .segmented{margin-right:auto}.carryover-card{border-radius:var(--card-radius);justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:12px 14px;display:flex}.carryover-card.positive{color:var(--green);background:var(--green-soft)}.carryover-card.negative{color:var(--red);background:var(--red-soft)}.carryover-card span,.carryover-card strong{display:block}.carryover-card span{text-transform:uppercase;font-size:.62rem;font-weight:850}.carryover-card strong{margin-top:3px;font-size:.96rem}.carryover-card p{margin:0;font-size:.7rem;font-weight:750}.transaction-card{background:var(--panel);border:var(--card-border);border-left:3px solid var(--accent);border-radius:var(--card-radius);min-width:0;box-shadow:var(--item-shadow);padding:14px}.expense-card{border-left-color:var(--red)}.transaction-main,.expense-line,.expense-details{align-items:end;gap:9px;min-width:0;display:grid}.transaction-main{grid-template-columns:138px minmax(150px,1fr) minmax(250px,1.4fr) 38px}.expense-line{grid-template-columns:32px 138px minmax(190px,1.2fr) minmax(100px,.55fr) 38px}.expense-details{grid-template-columns:minmax(130px,.7fr) minmax(150px,1fr) minmax(110px,.6fr) minmax(180px,1.2fr);margin-top:8px}.value-stack.inline{grid-template-columns:minmax(90px,.6fr) minmax(150px,1.4fr);gap:9px;min-width:0;display:grid}.field,.password-field{gap:5px;min-width:0;display:grid}.field>span,.password-field>span{color:var(--muted);font-size:.62rem;font-weight:800}.field input,.field select,.password-field input{border:1px solid var(--line-strong);width:100%;height:43px;color:var(--text);background-color:var(--field);border-radius:11px;padding:9px 12px;font-size:.78rem;transition:border-color .16s,background .16s,box-shadow .16s}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236f788b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:15px;padding-right:36px}.field input:hover,.field select:hover,.field input:focus,.field select:focus,.password-field input:focus{border-color:rgba(var(--accent-rgb), .5);background-color:var(--overlay);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .08);outline:0}.field select option{color:var(--text);background:var(--overlay)}input::placeholder{color:var(--muted);opacity:1}.field.compact input{height:40px}.field.mini input,.field.mini select{height:38px;padding:7px 10px;font-size:.72rem}.field.mini select{background-position:right 10px center;padding-right:32px}.icon-button.danger{color:var(--red);background:var(--red-soft);border-color:#0000}.status-button{width:32px;height:34px;color:var(--green);background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.meta-row{color:var(--muted);align-items:center;gap:10px;margin-top:9px;font-size:.62rem;display:flex}.meta-row strong{color:var(--text);margin-left:auto;font-size:.78rem}.dashboard-grid,.reserve-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-grid>.panel{container-type:inline-size}.dashboard-grid .balance-note,.reserve-grid .balance-note{grid-column:1/-1}.donut-wrap{grid-template-columns:minmax(150px,.75fr) minmax(190px,1.25fr);align-items:center;gap:20px;display:grid}.donut-chart{aspect-ratio:1;border-radius:50%;place-items:center;width:min(180px,100%);margin:auto;display:grid}.donut-chart>div{aspect-ratio:1;background:var(--panel);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:62%;display:flex}.donut-chart span{color:var(--muted);font-size:.62rem}.donut-chart strong{margin-top:4px;font-size:.78rem}.week-row{border-bottom:1px solid var(--line);padding:10px 0}.week-row:last-child{border-bottom:0}.week-label,.week-values{justify-content:space-between;align-items:center;gap:12px;display:flex}.week-label strong{font-size:.74rem}.week-label span,.week-values span{color:var(--muted);font-size:.64rem}.bar-track{background:var(--field);gap:2px;height:11px;margin:8px 0;display:flex}.bar{height:100%;display:block}.bar.income{background:var(--green)}.bar.expense{background:var(--red)}.month-table{gap:6px;display:grid}.month-row{background:var(--panel-soft);border:1px solid var(--line);border-radius:6px;grid-template-columns:minmax(130px,1fr) repeat(3,minmax(90px,.7fr));align-items:center;gap:10px;padding:10px;display:grid}.month-row strong,.month-row span,.month-row b{font-size:.69rem}@container (width<=520px){.donut-wrap{grid-template-columns:minmax(0,1fr)}.month-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.balance-note>strong{margin:8px 0;font-size:1.6rem;display:block}.balance-note>p{color:var(--muted);margin:0;font-size:.74rem}.reserve-hero{grid-column:1/-1}.reserve-hero-body{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:24px;display:grid}.reserve-ring.large{width:160px}.reserve-numbers{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;display:grid}.reserve-item{background:var(--panel);border:var(--card-border);border-radius:var(--card-radius);min-width:0;box-shadow:var(--item-shadow);padding:14px}.reserve-item-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.reserve-item-head strong,.reserve-item-head span{display:block}.reserve-item-head strong{font-size:.8rem}.reserve-item-head span,.reserve-item>p{color:var(--muted);margin:3px 0 0;font-size:.66rem}.progress-track{height:7px;margin:12px 0}.reserve-fields,.reserve-form{gap:10px;display:grid}.reserve-fields{grid-template-columns:repeat(3,minmax(0,1fr))}.reserve-form{grid-template-columns:repeat(2,minmax(0,1fr))}.reserve-form .full-row,.reserve-form .wide{grid-column:1/-1}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#191f2d85;place-items:center;padding:20px;animation:.15s both fade-in;display:grid;position:fixed;inset:0}.reset-modal,.transaction-composer{width:min(100%,620px);max-height:calc(100vh - 40px);color:var(--text);background:var(--overlay);border:1px solid color-mix(in srgb, var(--line) 55%, var(--accent) 45%);box-shadow:var(--shadow-float);border-radius:8px;animation:.2s both modal-in;overflow-y:auto}.reset-modal{width:min(100%,500px);padding:24px}.reset-modal h2{margin:8px 0;font-size:1.3rem}.reset-modal>p,.reset-modal form>p{color:var(--muted);font-size:.78rem;line-height:1.55}.modal-kicker{color:var(--accent-strong);text-transform:uppercase;font-size:.68rem;font-weight:900}.modal-actions,.composer-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.modal-error{color:var(--red)!important}.danger-primary{color:var(--on-action);background:var(--red)!important}.composer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.composer-header>div{min-width:0}.composer-header>.icon-button{flex-shrink:0}.composer-header span{color:var(--accent-strong);text-transform:uppercase;font-size:.65rem;font-weight:850}.composer-header h2{margin:4px 0 0;font-size:1.05rem}.composer-form{gap:16px;padding:22px;display:grid}.composer-amount{background:var(--panel-soft);border:1px solid color-mix(in srgb, var(--line) 65%, var(--accent) 35%);border-radius:7px;padding:14px 16px}.currency-input{align-items:center;gap:10px;display:flex}.currency-input b{color:var(--accent-strong);font-size:1rem}.currency-input input{background:0 0;border:0;height:auto;padding:2px 0;font-size:1.85rem;font-weight:750}.currency-input input:focus{box-shadow:none;background:0 0}.composer-grid{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr);gap:12px;display:grid}.composer-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.layout-wide{grid-template-columns:var(--sidebar-width,220px) minmax(0, 1fr);transition:grid-template-columns .22s}.app-shell.layout-wide .side-rail{align-items:stretch;padding:22px 16px}.app-shell.layout-wide .rail-brand{height:78px}.app-shell.layout-wide .rail-create span,.app-shell.layout-wide .rail-label{display:inline}.app-shell.layout-wide .rail-create{border-radius:8px;width:100%}.app-shell.layout-wide .rail-nav{align-items:stretch}.app-shell.layout-wide .rail-settings-wrap{display:block}.app-shell.layout-wide .rail-nav-group>button,.app-shell.layout-wide .rail-settings{justify-content:flex-start;width:100%;padding:0 12px}.app-shell.layout-wide .rail-submenu{border:0;border-left:2px solid rgba(var(--accent-rgb), .24);width:100%;box-shadow:none;background:0 0;border-radius:0;margin-top:5px;position:static}.app-shell.layout-wide .rail-submenu:before,.app-shell.layout-wide .rail-submenu>span{display:none}.app-shell.layout-wide .rail-nav-group{flex-direction:column}.app-shell.layout-wide .overview-grid>.panel{grid-column:span 3}.app-shell.layout-wide .overview-grid>.recent-expenses-panel{grid-area:span 2/span 4}.app-shell.layout-wide .overview-grid>.panel:nth-child(3),.app-shell.layout-wide .overview-grid>.panel:nth-child(5){grid-column:span 5}.app-shell.layout-wide .overview-grid>.panel:nth-child(6){grid-column:span 3}.app-shell.layout-wide .dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.app-shell.layout-wide .dashboard-grid .donut-panel{grid-column:span 2}.app-shell.layout-wide .dashboard-grid .balance-note{grid-column:span 1}.rail-label,.rail-submenu-label,.rail-create span,.rail-popover>strong,.rail-popover button,.month-picker>span,.month-picker-trigger strong,.month-picker-menu button,.composer-header>div>span,.modal-kicker,.page-heading p,.eyebrow,.balance-snapshot span,.balance-snapshot strong,.button,.transaction-mode-toggle button,.segmented button,.quick-grid button,.panel-link,.top-popover>strong,.swatches button,.month-tools-popover>button{font-family:var(--font-heading);letter-spacing:0;font-weight:600;line-height:1.5}.rail-label{font-size:.72rem}.rail-submenu-label,.rail-popover button{font-size:.65rem}.rail-create span{font-size:.78rem}.month-navigator{grid-template-columns:34px minmax(180px,1fr) 34px}.month-picker-trigger strong{white-space:normal;overflow-wrap:anywhere;font-size:.68rem}.month-picker-menu{width:268px}.month-picker-menu button{font-size:.68rem}.month-picker-menu button>span{overflow-wrap:anywhere;min-width:0}.month-picker-menu button>svg{flex-shrink:0}.balance-snapshot span{font-size:.58rem}.balance-snapshot strong{font-size:1.1rem}.button{font-size:.68rem}.quick-grid button,.panel-link{overflow-wrap:normal;text-align:left;font-size:.65rem}.transaction-mode-toggle button,.segmented button{font-size:.62rem}.eyebrow,.page-heading p{overflow-wrap:anywhere}.brand h1,.entries-view-header h3,.composer-header h2,.card-detail-header h3,.cards-empty h3,.month-picker-trigger strong,.quick-grid button{color:var(--heading-color)}.appearance-dialog{width:min(460px,100% - 24px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--overlay);border:1px solid var(--line-strong);box-shadow:var(--shadow-float);border-radius:8px;padding:0}.appearance-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#12182073}.appearance-options{gap:24px;padding:22px;display:grid}.appearance-options fieldset{border:0;min-width:0;margin:0;padding:0}.appearance-options legend{color:var(--muted);font:600 .72rem/1.5 var(--font-heading);margin-bottom:12px;padding:0}.appearance-modes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.appearance-modes button{border:1px solid var(--line);min-width:0;min-height:82px;color:var(--muted);background:var(--panel-soft);font:600 .72rem/1.5 var(--font-heading);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.appearance-modes button.active{color:var(--accent-strong);border-color:var(--accent);background:rgba(var(--accent-rgb), .12);box-shadow:inset 0 0 0 1px var(--accent)}.appearance-dialog .swatches{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px}.appearance-dialog .swatches button{min-width:0;min-height:44px;padding:10px;font-size:.68rem}.appearance-dialog .swatches button>span{flex:0 0 16px;width:16px;height:16px}.appearance-dialog .swatches button>svg{color:var(--accent-strong);margin-left:auto}@media (width>=961px){.rail-collapse{display:grid}.side-rail .rail-popover{left:calc(100% + 24px)}.app-shell.sidebar-collapsed{--sidebar-width:88px}.app-shell.sidebar-collapsed .side-rail{align-items:center;padding-left:12px;padding-right:12px}.app-shell.sidebar-collapsed .rail-brand{height:46px}.app-shell.sidebar-collapsed .rail-collapse{top:72px}.app-shell.sidebar-collapsed .rail-create{border-radius:50%;width:52px}.app-shell.sidebar-collapsed .rail-create span,.app-shell.sidebar-collapsed .rail-label,.app-shell.sidebar-collapsed .rail-submenu-label{display:none}.app-shell.sidebar-collapsed .rail-nav,.app-shell.sidebar-collapsed .rail-nav-group{align-items:center}.app-shell.sidebar-collapsed .rail-nav-group>button,.app-shell.sidebar-collapsed .rail-settings{justify-content:center;width:48px;padding:0}.app-shell.sidebar-collapsed .rail-add-wrap,.app-shell.sidebar-collapsed .rail-settings-wrap{justify-content:center;width:100%;display:flex}.app-shell.sidebar-collapsed .rail-submenu{border-left:0;border-top:1px solid var(--line);width:48px;padding:4px 0 0}.app-shell.sidebar-collapsed .rail-submenu button{justify-content:center;padding:0}}@keyframes page-enter{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes glass-page-enter{0%{transform:translate(10px)}to{transform:translate(0)}}@keyframes flyout-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}@keyframes popover-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes month-menu-in{0%{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%)}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=1180px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid>.panel,.overview-grid>.recent-expenses-panel,.overview-grid>.panel:nth-child(n),.app-shell.layout-wide .overview-grid>.panel,.app-shell.layout-wide .overview-grid>.recent-expenses-panel,.app-shell.layout-wide .overview-grid>.panel:nth-child(n){grid-column:span 6}.transaction-main{grid-template-columns:128px minmax(150px,1fr) minmax(220px,1.2fr) 38px}}@media (width<=960px){.app-shell,.app-shell.layout-wide{display:block}.app-workspace,.app-shell.layout-wide .app-workspace{padding:0 18px 30px}.side-rail,.app-shell.layout-wide .side-rail{z-index:300;align-items:stretch;width:230px;height:100vh;padding:20px 14px;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-105%)}.app-shell .side-rail.open{transform:translate(0)}.side-rail .rail-brand{height:78px}.side-rail .rail-create span,.side-rail .rail-label{display:inline}.side-rail .rail-create,.side-rail .rail-nav-group>button,.side-rail .rail-settings{border-radius:8px;justify-content:flex-start;width:100%;padding:0 12px}.side-rail .rail-nav{align-items:stretch}.side-rail .rail-settings-wrap{display:block}.side-rail .rail-nav-group{flex-direction:column}.side-rail .rail-submenu{border:0;border-left:2px solid rgba(var(--accent-rgb), .25);width:100%;box-shadow:none;background:0 0;border-radius:0;margin-top:4px;position:static}.side-rail .rail-submenu:before,.side-rail .rail-submenu>span{display:none}.rail-popover{width:100%;box-shadow:none;margin-top:6px;position:static}.rail-popover:before{display:none}.nav-scrim{z-index:290;pointer-events:none;opacity:0;background:#191f2d6b;border:0;transition:opacity .2s;display:block;position:fixed;inset:0}.nav-scrim.visible{pointer-events:auto;opacity:1}.app-header{grid-template-columns:minmax(160px,1fr) auto;padding:12px 0 0}.mobile-menu-button,.brand-mark{display:inline-flex}.month-navigator{grid-area:2/1/auto/-1;width:min(100%,360px);margin:0 auto 10px}.header-icons{grid-area:1/2}.dashboard-grid,.reserve-grid,.app-shell.layout-wide .dashboard-grid{grid-template-columns:1fr}.dashboard-grid .balance-note,.reserve-grid .balance-note,.reserve-hero,.app-shell.layout-wide .dashboard-grid .balance-note,.app-shell.layout-wide .dashboard-grid .donut-panel{grid-column:auto}.transaction-main,.expense-line{grid-template-columns:32px repeat(2,minmax(0,1fr))}.transaction-main .field:first-child{grid-column:1/2}.transaction-main .grow{grid-column:2/4}.transaction-main .value-stack{grid-column:1/4}.transaction-main>.icon-button{position:absolute;right:28px}.transaction-card{position:relative}.expense-line .status-button{grid-column:1}.expense-line .field:first-of-type{grid-column:2/3}.expense-line .grow{grid-column:3/4}.expense-line .amount-field{grid-column:2/4}.expense-details{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-workspace,.app-shell.layout-wide .app-workspace{padding-left:12px;padding-right:12px}.app-header{min-height:122px}.brand h1{font-size:.72rem}.brand-mark{display:none}.month-strip{grid-template-columns:1fr auto;gap:10px;min-height:104px}.page-heading h2{font-size:1.15rem}.month-strip.overview-strip{grid-template-columns:minmax(0,1fr);padding:16px 0 0}.overview-actions{justify-self:stretch;width:100%}.overview-actions .balance-snapshot{width:auto;padding:10px 12px}.context-actions .button{min-width:42px;padding:9px 11px;font-size:0}.context-actions .button svg{width:18px;height:18px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-grid,.app-shell.layout-wide .overview-grid{grid-template-columns:1fr}.overview-grid>.panel,.overview-grid>.recent-expenses-panel,.overview-grid>.panel:nth-child(n),.app-shell.layout-wide .overview-grid>.panel,.app-shell.layout-wide .overview-grid>.recent-expenses-panel,.app-shell.layout-wide .overview-grid>.panel:nth-child(n){grid-column:auto}.entries-view-header{flex-direction:column;align-items:stretch}.transaction-mode-toggle button{flex:1}.expense-toolbar,.list-heading{flex-direction:column;align-items:stretch}.list-actions{grid-template-columns:minmax(0,1fr);display:grid}.expense-toolbar .segmented{width:100%;overflow-x:auto}.segmented button{flex:1 0 auto}.transaction-main,.expense-line,.expense-details,.value-stack.inline{grid-template-columns:1fr}.transaction-main .field:first-child,.transaction-main .grow,.transaction-main .value-stack,.expense-line .status-button,.expense-line .field:first-of-type,.expense-line .grow,.expense-line .amount-field{grid-column:auto}.transaction-main>.icon-button{position:static}.expense-line .status-button{position:absolute;top:8px;right:8px}.expense-line>.icon-button{width:100%}.meta-row{flex-wrap:wrap}.donut-wrap,.reserve-hero-body,.reserve-numbers,.reserve-fields,.reserve-form,.composer-grid,.composer-grid.three-columns{grid-template-columns:1fr}.month-row{grid-template-columns:1fr 1fr}.composer-form,.composer-header{padding:18px}.modal-actions,.composer-actions{flex-direction:column-reverse}.modal-actions .button,.composer-actions .button{width:100%}}@media (width<=520px){.metric-grid{grid-template-columns:minmax(0,1fr)}.money-row{grid-template-columns:36px minmax(0,1fr);gap:4px 10px}.money-row .row-icon{grid-row:span 2}.money-row b{grid-column:2}.money-row strong{white-space:normal;overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
