@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Inter_f367f3;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Inter_Fallback_f367f3;src:local("Arial");ascent-override:90.20%;descent-override:22.48%;line-gap-override:0.00%;size-adjust:107.40%}.__className_f367f3{font-family:__Inter_f367f3,__Inter_Fallback_f367f3;font-style:normal}.__variable_f367f3{--font-inter:"__Inter_f367f3","__Inter_Fallback_f367f3"}@font-face{font-family:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:__Outfit_ed3508;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Outfit_Fallback_ed3508;src:local("Arial");ascent-override:100.55%;descent-override:26.14%;line-gap-override:0.00%;size-adjust:99.45%}.__className_ed3508{font-family:__Outfit_ed3508,__Outfit_Fallback_ed3508;font-style:normal}.__variable_ed3508{--font-outfit:"__Outfit_ed3508","__Outfit_Fallback_ed3508"}:root{--accent:221,83%,53%;--accent-hover:221,83%,46%;--accent-green:152,68%,36%;--accent-red:4,74%,54%;--accent-amber:38,92%,50%;--bg-app:220,16%,96%;--bg-surface:0,0%,100%;--bg-surface-2:220,14%,98%;--border:220,13%,90%;--border-strong:220,13%,82%;--text-primary:222,47%,11%;--text-secondary:220,14%,40%;--text-muted:220,9%,60%;--shadow-sm:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);--shadow-md:0 4px 12px rgba(0,0,0,.08),0 2px 4px rgba(0,0,0,.04);--shadow-lg:0 12px 32px rgba(0,0,0,.12),0 4px 8px rgba(0,0,0,.06);--r-sm:6px;--r-md:10px;--r-lg:14px;--r-full:999px;--header-h:60px}*{margin:0;padding:0;box-sizing:border-box}body{background:hsl(var(--bg-app));color:hsl(var(--text-primary));font-family:var(--font-inter),"Inter",-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-outfit),"Outfit",sans-serif;font-weight:700;letter-spacing:-.02em}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--border-strong));border-radius:99px}.top-bar{height:var(--header-h);background:hsl(var(--bg-surface));border-bottom:1px solid hsl(var(--border));justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:200;box-shadow:var(--shadow-sm)}.brand,.top-bar{display:flex;align-items:center}.brand{gap:10px}.logo{width:34px;height:34px;background:linear-gradient(135deg,#22a056,#127d50);border-radius:9px;display:grid;place-items:center;font-size:16px;box-shadow:0 2px 8px rgba(34,160,86,.4)}.brand h1{font-size:1.1rem;color:hsl(var(--text-primary))}.header-actions{display:flex;align-items:center;gap:10px}.user-pill{font-size:.8rem;font-weight:500;color:hsl(var(--text-secondary));background:hsl(var(--bg-app));border:1px solid hsl(var(--border));padding:5px 12px;border-radius:var(--r-full)}.btn{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;font-size:.8125rem;font-weight:600;cursor:pointer;border-radius:var(--r-sm);border:none;transition:all .15s ease;white-space:nowrap;text-decoration:none;font-family:inherit}.btn-primary{background:hsl(var(--accent));color:#fff;box-shadow:0 1px 3px hsla(var(--accent),.35)}.btn-primary:hover{background:hsl(var(--accent-hover));box-shadow:0 3px 8px hsla(var(--accent),.4);transform:translateY(-1px)}.btn-ghost{background:hsl(var(--bg-surface));color:hsl(var(--text-secondary));border:1px solid hsl(var(--border))}.btn-ghost:hover{background:hsl(var(--bg-app));color:hsl(var(--text-primary));border-color:hsl(var(--border-strong))}.btn-danger{background:hsl(var(--accent-red));color:#fff}.btn-sm{padding:4px 10px;font-size:.75rem}.dashboard{max-width:1320px;margin:0 auto;padding:24px}.stats-bar{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin-bottom:20px}@media (max-width:900px){.stats-bar{grid-template-columns:repeat(2,1fr)}}.stat-card{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-sm);transition:box-shadow .2s}.stat-card:hover{box-shadow:var(--shadow-md)}.stat-card-label{font-size:.7rem;font-weight:700;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.stat-card-value{font-size:1.6rem;font-weight:700;font-family:var(--font-outfit),"Outfit",sans-serif;line-height:1;margin-bottom:6px}.stat-badge{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:99px}.badge-green{background:rgba(29,154,96,.1);color:hsl(var(--accent-green))}.badge-red{background:rgba(225,62,51,.1);color:hsl(var(--accent-red))}.badge-blue{background:rgba(36,99,235,.1);color:hsl(var(--accent))}.badge-gray{background:hsl(var(--bg-app));color:hsl(var(--text-secondary))}.panel{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin-bottom:18px}.panel>:last-child{border-radius:0 0 var(--r-lg) var(--r-lg)}.panel-header{justify-content:space-between;padding:14px 20px;border-bottom:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.panel-header,.panel-title{display:flex;align-items:center}.panel-title{font-size:.875rem;font-weight:700;color:hsl(var(--text-primary));gap:8px}.panel-body{padding:16px 20px}.time-gate-bar{display:flex;gap:4px}.time-gate-btn{padding:4px 12px;font-size:.75rem;font-weight:700;border:1px solid hsl(var(--border));border-radius:var(--r-full);background:transparent;color:hsl(var(--text-secondary));cursor:pointer;transition:all .15s;font-family:inherit}.time-gate-btn.active{background:hsl(var(--accent));color:#fff;border-color:hsl(var(--accent))}.time-gate-btn:hover:not(.active){background:hsl(var(--bg-app));color:hsl(var(--text-primary))}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.cat-stat-card{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--r-md);border:1px solid hsl(var(--border));background:hsl(var(--bg-surface));transition:box-shadow .15s}.cat-stat-card:hover{box-shadow:var(--shadow-md)}.cat-stat-emoji{font-size:1.4rem;flex-shrink:0}.cat-stat-info{flex:1 1;min-width:0}.cat-stat-name{font-size:.78rem;font-weight:700;color:hsl(var(--text-primary))}.cat-stat-amount{font-size:1rem;font-weight:700;font-family:var(--font-outfit),"Outfit",sans-serif}.cat-stat-count{font-size:.7rem;color:hsl(var(--text-muted))}.ledger-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-bottom:14px}.ledger-toolbar-left,.ledger-toolbar-right,.search-box{display:flex;align-items:center;gap:8px}.search-box{background:hsl(var(--bg-surface));border:1px solid hsl(var(--border));padding:7px 12px;border-radius:var(--r-md);width:220px;transition:border-color .15s}.search-box:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsla(var(--accent),.12)}.search-box input{background:none;border:none;outline:none;font:inherit;width:100%;font-size:.85rem}.toggle-pill{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.78rem;font-weight:600;color:hsl(var(--text-secondary));-webkit-user-select:none;-moz-user-select:none;user-select:none}.pill-switch{width:30px;height:17px;background:hsl(var(--border-strong));border-radius:99px;position:relative;transition:.2s;flex-shrink:0}.pill-switch:after{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}.toggle-pill input:checked+.pill-switch{background:hsl(var(--accent))}.toggle-pill input:checked+.pill-switch:after{transform:translateX(13px)}.toggle-pill input{display:none}.ledger-table{width:100%;border-collapse:collapse;table-layout:fixed}.ledger-table thead th{background:#f6f7f9;padding:10px 14px;font-size:.7rem;font-weight:800;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid hsl(var(--border));white-space:nowrap}.ledger-table tbody td{padding:9px 14px;border-bottom:1px solid hsl(var(--border));font-size:.855rem;vertical-align:middle}.ledger-table tbody tr:last-child td{border-bottom:none}.ledger-table tbody tr:hover td{background:#fcfcfd}.col-drag{width:36px;text-align:center;color:hsl(var(--text-muted));cursor:-webkit-grab;cursor:grab;font-size:1rem}.col-date{width:112px;font-weight:500;color:hsl(var(--text-secondary))}.col-cat{width:150px}.col-desc{min-width:0}.col-recur{width:80px;text-align:center}.col-change{width:130px;text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.col-balance{width:150px;text-align:right;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-left:1px solid hsl(var(--border));background:#fcfcfd}.col-actions{width:90px;text-align:center;vertical-align:middle}.amount-pos{color:hsl(var(--accent-green))}.amount-neg{color:hsl(var(--accent-red))}tr.is-forecast .col-balance,tr.is-forecast td{color:hsl(var(--text-muted))}tr.editing td{background:rgba(36,99,235,.04)!important}tr.dragging{opacity:.3}tr.drop-indicator-before td:first-child{box-shadow:inset 0 3px 0 0 hsl(var(--accent))}tr.drop-indicator-after td:first-child{box-shadow:inset 0 -3px 0 0 hsl(var(--accent))}tr.is-beginning-balance td{background:#fffcf0!important;border-bottom:2px dashed #faeaa8}tr.is-beginning-balance:hover td{background:#fffae6!important}.label-beginning{display:inline-block;font-size:.62rem;font-weight:800;color:#a16c12;background:#fff0c2;padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-right:6px}.recur-badge{display:inline-flex;align-items:center;gap:3px;font-size:.65rem;font-weight:700;color:hsl(var(--accent));background:rgba(36,99,235,.1);padding:2px 7px;border-radius:99px}.inline-edit-input{width:100%;padding:4px 8px;border:1.5px solid hsl(var(--accent));border-radius:var(--r-sm);font:inherit;background:#fff;outline:none;box-shadow:0 0 0 3px hsla(var(--accent),.12)}.cat-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:99px;font-size:.75rem;font-weight:600;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default;border:1px solid transparent;transition:filter .12s}.cat-tag[data-clickable]:hover{filter:brightness(.95);cursor:pointer}.cat-picker-popover{position:fixed;background:#fff;border:1px solid hsl(var(--border));border-radius:var(--r-lg);box-shadow:var(--shadow-lg);z-index:3000;padding:8px;min-width:220px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .15s,transform .15s}.cat-picker-popover.active{visibility:visible;opacity:1;transform:translateY(0)}.picker-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;max-height:260px;overflow-y:auto;margin-bottom:8px}.picker-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--r-sm);cursor:pointer;font-size:.8rem;font-weight:600;border:1px solid transparent;transition:all .12s}.picker-item:hover{filter:brightness(.93)}.picker-divider{height:1px;background:hsl(var(--border));margin:4px 0}.picker-add{display:flex;gap:4px;padding:2px}.picker-add input{flex:1 1;padding:6px 8px;border:1px solid hsl(var(--border));border-radius:var(--r-sm);font:inherit;font-size:.78rem;outline:none}.picker-add input:focus{border-color:hsl(var(--accent))}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px}.modal{background:#fff;width:100%;max-width:480px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}.modal-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.modal-header h3{font-size:1rem}.modal-close{background:none;border:none;cursor:pointer;font-size:1.25rem;color:hsl(var(--text-muted));line-height:1;padding:2px 6px;border-radius:var(--r-sm)}.modal-close:hover{background:hsl(var(--bg-app));color:hsl(var(--text-primary))}.tx-form{padding:20px;gap:14px}.form-field,.tx-form{display:flex;flex-direction:column}.form-field{gap:5px}.form-field label{font-size:.7rem;font-weight:700;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.5px}.form-field input,.form-field select{padding:8px 10px;border:1px solid hsl(var(--border));border-radius:var(--r-sm);font:inherit;font-size:.875rem;outline:none;background:hsl(var(--bg-surface));transition:border-color .15s}.form-field input:focus,.form-field select:focus{border-color:hsl(var(--accent));box-shadow:0 0 0 3px hsla(var(--accent),.12)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.seg{display:flex;background:hsl(var(--bg-app));padding:3px;border-radius:var(--r-md);border:1px solid hsl(var(--border))}.seg-item{flex:1 1;text-align:center;cursor:pointer;position:relative}.seg-item input{position:absolute;opacity:0;width:0;height:0}.seg-item span{display:block;padding:7px 10px;font-size:.775rem;font-weight:700;border-radius:7px;color:hsl(var(--text-muted));transition:all .15s}.seg-item input:checked+span{background:#fff;box-shadow:var(--shadow-sm)}.seg-item input[value=expense]:checked+span{color:hsl(var(--accent-red))}.seg-item input[value=income]:checked+span{color:hsl(var(--accent-green))}.seg-item:hover span{color:hsl(var(--text-primary))}.recur-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.82rem;font-weight:600;color:hsl(var(--text-secondary));-webkit-user-select:none;-moz-user-select:none;user-select:none}.recur-toggle input{display:none}.recur-knob{width:32px;height:18px;background:hsl(var(--border-strong));border-radius:99px;position:relative;transition:.2s;flex-shrink:0}.recur-knob:after{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s}.recur-toggle input:checked+.recur-knob{background:hsl(var(--accent))}.recur-toggle input:checked+.recur-knob:after{transform:translateX(14px)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid hsl(var(--border));background:hsl(var(--bg-surface-2))}.empty-state{text-align:center;padding:60px 20px;color:hsl(var(--text-muted))}.empty-state-icon{font-size:2.5rem;margin-bottom:12px}.empty-state h3{font-size:1.1rem;color:hsl(var(--text-secondary));margin-bottom:8px}.empty-state p,.toast{font-size:.875rem}.toast{position:fixed;bottom:24px;right:24px;z-index:9999;background:hsl(var(--text-primary));color:#fff;padding:12px 20px;border-radius:var(--r-md);font-weight:600;box-shadow:var(--shadow-lg);animation:toastIn .25s ease-out}@keyframes toastIn{0%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}.drag-tooltip{position:fixed;pointer-events:none;z-index:10000;background:hsl(var(--text-primary));color:#fff;padding:6px 14px;border-radius:var(--r-md);font-size:.8rem;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-lg);display:none;border:1.5px solid hsl(var(--accent))}.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:0 0 var(--r-lg) var(--r-lg)}@media (max-width:768px){:root{--header-h:52px}.top-bar{padding:0 14px}.brand h1{font-size:.95rem}.user-pill{display:none}.header-actions{gap:6px}.btn-sm{padding:5px 10px;font-size:.75rem}.dashboard{padding:12px 10px}.stats-bar{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.stat-card{padding:12px 14px}.stat-card-value{font-size:1.15rem}.stat-card-label{font-size:.65rem}.panel-header{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 14px}.panel-header>div{width:100%}.time-gate-bar{flex-wrap:wrap;gap:4px}.panel-title{font-size:.82rem}.ledger-toolbar{flex-direction:column;align-items:stretch}.ledger-toolbar-left{display:grid;grid-template-columns:1fr auto auto;align-items:center;grid-gap:8px;gap:8px}.search-box{width:100%}.ledger-toolbar-right{margin-top:0}.ledger-toolbar-right .btn{width:100%;justify-content:center}.panel>.table-scroll-wrap,.panel>div>.table-scroll-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.ledger-table{min-width:580px;table-layout:auto}.ledger-table thead th{padding:8px 10px;font-size:.65rem}.ledger-table tbody td{padding:8px 10px;font-size:.8rem}.col-drag,.col-recur{display:none}.panel>div[style]{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-overlay{align-items:flex-end;padding:0}.modal{max-width:100%!important;border-radius:var(--r-lg) var(--r-lg) 0 0!important;max-height:92vh;overflow-y:auto}.tx-form{padding:16px;gap:12px}.form-row{grid-template-columns:1fr;gap:10px}.modal-footer{padding:12px 16px}.cat-picker-popover{left:8px!important;right:8px!important;width:auto!important;max-width:calc(100vw - 16px)}.picker-grid{grid-template-columns:1fr 1fr}.toast{left:10px;right:10px;bottom:10px;text-align:center}}@media (max-width:420px){.stats-bar{grid-template-columns:1fr}.stat-card-value{font-size:1.3rem}.ledger-toolbar-left{grid-template-columns:1fr}.toggle-pill{font-size:.72rem}.time-gate-btn{padding:3px 8px!important;font-size:.68rem!important}}