:root{--font:"Inter", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--bg-body:#faf9f5;--bg-sidebar:#f3f1ea;--bg-card:#fff;--bg-input:#fff;--bg-subtle:#f5f4ef;--bg-hover:#f0eee6;--text-heading:#1a1915;--text-body:#3d3c37;--text-muted:#85837b;--text-on-primary:#fff;--primary:#c15f3c;--primary-hover:#a94f30;--primary-soft:#f7e7df;--success:#2f7d57;--success-soft:#e3f1e8;--danger:#b8432f;--danger-soft:#f8e4df;--warning:#a86a12;--warning-soft:#f7ecd6;--info:#3a6ea5;--info-soft:#e3ecf6;--border:#e7e4da;--border-strong:#d6d2c4;--border-focus:#c15f3c;--radius-sm:8px;--radius:10px;--radius-lg:14px;--radius-xl:18px;--shadow-xs:0 1px 2px #1a19150a;--shadow-sm:0 1px 3px #1a19150f, 0 1px 2px #1a191508;--shadow-md:0 6px 16px -6px #1a19151f;--shadow-lg:0 20px 40px -12px #1a191538;--chart-1:#c15f3c;--chart-2:#2f7d57;--chart-3:#b8432f;--chart-4:#85837b;--transition:.16s cubic-bezier(.4,0,.2,1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-body:#1c1b19;--bg-sidebar:#181715;--bg-card:#252422;--bg-input:#1f1e1c;--bg-subtle:#2b2a27;--bg-hover:#302f2b;--text-heading:#f4f2ec;--text-body:#d6d3ca;--text-muted:#8f8c83;--primary:#e0835f;--primary-hover:#eb9676;--primary-soft:#e0835f26;--success:#5fb68a;--success-soft:#5fb68a24;--danger:#e27b67;--danger-soft:#e27b6724;--warning:#dcaa55;--warning-soft:#dcaa5524;--info:#7fa9d6;--info-soft:#7fa9d624;--border:#353430;--border-strong:#45433e;--border-focus:#e0835f;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 6px 16px -6px #00000080;--shadow-lg:0 20px 40px -12px #0009;--chart-1:#e0835f;--chart-2:#5fb68a;--chart-3:#e27b67;--chart-4:#8f8c83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg-body:#1c1b19;--bg-sidebar:#181715;--bg-card:#252422;--bg-input:#1f1e1c;--bg-subtle:#2b2a27;--bg-hover:#302f2b;--text-heading:#f4f2ec;--text-body:#d6d3ca;--text-muted:#8f8c83;--primary:#e0835f;--primary-hover:#eb9676;--primary-soft:#e0835f26;--success:#5fb68a;--success-soft:#5fb68a24;--danger:#e27b67;--danger-soft:#e27b6724;--warning:#dcaa55;--warning-soft:#dcaa5524;--info:#7fa9d6;--info-soft:#7fa9d624;--border:#353430;--border-strong:#45433e;--border-focus:#e0835f;--shadow-xs:none;--shadow-sm:none;--shadow-md:0 6px 16px -6px #00000080;--shadow-lg:0 20px 40px -12px #0009;--chart-1:#e0835f;--chart-2:#5fb68a;--chart-3:#e27b67;--chart-4:#8f8c83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:14px}body{font-family:var(--font);font-feature-settings:"cv11", "ss01";background:var(--bg-body);color:var(--text-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.num,.font-mono{font-variant-numeric:tabular-nums}.font-mono{font-family:var(--font);font-feature-settings:"tnum"}.app-layout{height:100dvh;display:flex;overflow:hidden}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;width:232px;min-width:232px;display:flex;overflow-y:auto}.sidebar-brand{color:var(--text-heading);letter-spacing:-.02em;align-items:center;gap:.55rem;padding:1.35rem 1.25rem 1rem;font-size:1.05rem;font-weight:650;display:flex}.brand-mark{background:var(--primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.sidebar-section{padding:.25rem .75rem}.sidebar-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:.75rem .6rem .35rem;font-size:.68rem;font-weight:600}.sidebar-link{border-radius:var(--radius-sm);color:var(--text-body);transition:background var(--transition), color var(--transition);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.65rem;width:100%;margin-bottom:1px;padding:.5rem .65rem;font-size:.9rem;font-weight:500;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--bg-hover);color:var(--text-heading)}.sidebar-link.active{background:var(--bg-card);color:var(--text-heading);box-shadow:var(--shadow-sm);border:1px solid var(--border);padding:calc(.5rem - 1px) calc(.65rem - 1px)}.sidebar-link svg{width:17px;height:17px;color:var(--text-muted);flex-shrink:0}.sidebar-link.active svg{color:var(--primary)}.sidebar-footer{border-top:1px solid var(--border);margin-top:auto;padding:.75rem}.sidebar-user{align-items:center;gap:.6rem;min-width:0;padding:.5rem .4rem 0;display:flex}.sidebar-user>div{min-width:0}.sidebar-avatar{border-radius:50%;width:30px;height:30px}.sidebar-user-name{color:var(--text-heading);font-size:.82rem;font-weight:600}.sidebar-user-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.main-content{flex:1;min-width:0;overflow-y:auto}.main-inner{max-width:1180px;margin:0 auto;padding:2rem 2.25rem 4rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.page-title{color:var(--text-heading);letter-spacing:-.025em;align-items:center;gap:.6rem;font-size:1.6rem;font-weight:650;line-height:1.2;display:flex}.page-title svg{display:none}.page-subtitle{color:var(--text-muted);margin-top:.3rem;font-size:.9rem}.page-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);padding:1.25rem 1.4rem}.card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.card-title{color:var(--text-heading);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.card-title svg{color:var(--text-muted);width:16px;height:16px}.card-subtitle{color:var(--text-muted);font-size:.8rem}.section-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.25rem;display:flex}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.85rem;margin-bottom:1.25rem;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:border-color var(--transition), box-shadow var(--transition);min-width:0;padding:1rem 1.15rem}.stat-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.stat-value{color:var(--text-heading);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:1.5rem;font-weight:650}.stat-trend{margin-top:.15rem;font-size:.78rem;font-weight:500}.stat-trend.up{color:var(--success)}.stat-trend.down{color:var(--danger)}.stat-icon{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.stat-icon svg{width:16px;height:16px}.stat-icon.blue{background:var(--primary-soft);color:var(--primary)}.stat-icon.green{background:var(--success-soft);color:var(--success)}.stat-icon.red{background:var(--danger-soft);color:var(--danger)}.stat-icon.amber{background:var(--warning-soft);color:var(--warning)}.stat-card.interactive{cursor:pointer}.stat-card.interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition), opacity var(--transition);white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary,.btn-outline{background:var(--bg-card);color:var(--text-heading);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled),.btn-outline:hover:not(:disabled){background:var(--bg-hover)}.btn-success{background:var(--success-soft);color:var(--success);border-color:#0000}.btn-success:hover:not(:disabled){filter:brightness(.97)}.btn-danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-ghost{color:var(--text-muted);background:0 0}.btn-ghost:hover:not(:disabled){color:var(--text-heading);background:var(--bg-hover)}.btn-sm{padding:.32rem .6rem;font-size:.78rem}.btn-lg{padding:.7rem 1.3rem;font-size:.95rem}.btn-icon{padding:.4rem}.btn-block{width:100%}.pill-toggle{cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-card);min-width:76px;color:var(--text-muted);transition:all var(--transition);border-radius:99px;justify-content:center;align-items:center;gap:.3rem;padding:.28rem .65rem;font-size:.76rem;font-weight:600;display:inline-flex}.pill-toggle:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-heading)}.pill-toggle.on{background:var(--success-soft);color:var(--success);border-color:#0000}.pill-toggle:disabled{cursor:default;opacity:.6}.pill-toggle svg{width:13px;height:13px}.form-group{flex-direction:column;gap:.35rem;min-width:0;display:flex}.form-row{gap:.75rem;width:100%;display:flex}.form-row>*{flex:1;min-width:0}.form-label{color:var(--text-body);font-size:.8rem;font-weight:550}.form-input,.form-select,textarea.form-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text-heading);transition:border-color var(--transition), box-shadow var(--transition);width:100%;min-width:0;max-width:100%;padding:.55rem .7rem;font-size:.9rem}.form-input:disabled,.form-select:disabled{background:var(--bg-subtle);color:var(--text-muted)}input[type=date].form-input,input[type=month].form-input{appearance:none;min-height:2.35rem}.form-input:focus,.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.form-input::placeholder{color:var(--text-muted);opacity:.8}.form-hint{color:var(--text-muted);font-size:.75rem}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.input-affix{display:block;position:relative}.input-affix>span{color:var(--text-muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;left:.65rem;transform:translateY(-50%)}.input-affix>.form-input{padding-left:1.4rem}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{color:var(--text-muted);text-align:left;white-space:nowrap;border-bottom:1px solid var(--border);background:var(--bg-subtle);padding:.6rem .85rem;font-size:.75rem;font-weight:550}.table td{border-bottom:1px solid var(--border);vertical-align:middle;font-variant-numeric:tabular-nums;padding:.65rem .85rem;font-size:.88rem}.table tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--bg-subtle)}.table .text-right,.text-right{text-align:right}.table .text-center,.text-center{text-align:center}.badge{white-space:nowrap;border-radius:99px;align-items:center;gap:.25rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-primary{background:var(--primary-soft);color:var(--primary)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-muted{background:var(--bg-subtle);color:var(--text-muted)}.progress-track{background:var(--bg-hover);border-radius:99px;width:100%;height:6px;overflow:hidden}.progress-fill{background:var(--primary);border-radius:99px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-fill.green{background:var(--success)}.toggle{background:var(--border-strong);cursor:pointer;width:38px;height:22px;transition:background var(--transition);border:none;border-radius:99px;flex-shrink:0;padding:0;position:relative}.toggle.on{background:var(--success)}.toggle:after{content:"";width:16px;height:16px;transition:transform var(--transition);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle.on:after{transform:translate(16px)}.chart-card{min-width:0;padding:1.15rem 1.25rem}.chart-container{width:100%;height:300px}.recharts-tooltip-wrapper .recharts-default-tooltip{box-shadow:var(--shadow-md);border-radius:8px!important}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-23{grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.grid-32{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.4rem 1.6rem;display:flex}.hero-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.hero-value{letter-spacing:-.03em;color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:650;line-height:1.15}.hero-stats{flex-wrap:wrap;gap:2rem;display:flex}.hero-stat .v{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:650}.hero-stat .l{color:var(--text-muted);font-size:.75rem}.balance-banner{border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--bg-card);box-shadow:var(--shadow-xs);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:1.4rem 1.6rem;display:flex}.balance-banner.banner-blue{background:var(--primary-soft);border-color:#0000}.balance-banner.banner-purple{background:var(--success-soft);border-color:#0000}.balance-banner.banner-gray{background:var(--bg-card)}.balance-amount{letter-spacing:-.025em;color:var(--text-heading);font-size:1.7rem;font-weight:650}.balance-label{color:var(--text-muted);font-size:.8rem;font-weight:500}.login-page{background:var(--bg-body);justify-content:center;align-items:center;min-height:100dvh;padding:2rem;display:flex}.login-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:2.75rem 2.25rem}.login-card .brand-mark{border-radius:12px;width:44px;height:44px;margin-bottom:1.25rem}.login-card h1{color:var(--text-heading);letter-spacing:-.025em;margin-bottom:.35rem;font-size:1.6rem;font-weight:650}.login-card p{color:var(--text-muted);margin-bottom:1.75rem;font-size:.92rem}.login-btn{border-radius:var(--radius);background:var(--bg-card);width:100%;color:var(--text-heading);border:1px solid var(--border-strong);cursor:pointer;transition:background var(--transition);justify-content:center;align-items:center;gap:.6rem;padding:.75rem 1.25rem;font-size:.92rem;font-weight:550;display:flex}.login-btn:hover{background:var(--bg-hover)}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;background:#14131173;justify-content:center;align-items:center;padding:1.5rem;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-lg);max-height:calc(100dvh - 3rem);padding:1.5rem;animation:.2s slideUp;overflow-y:auto}.modal.modal-lg{max-width:680px}.modal-title{color:var(--text-heading);letter-spacing:-.01em;margin-bottom:1rem;font-size:1.1rem;font-weight:650}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tabs{background:var(--bg-hover);border-radius:var(--radius);gap:2px;max-width:100%;margin-bottom:1.25rem;padding:3px;display:inline-flex;overflow-x:auto}.tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:0 0;border:none;border-radius:7px;padding:.42rem .9rem;font-size:.85rem;font-weight:550}.tab:hover{color:var(--text-heading)}.tab.active{background:var(--bg-card);color:var(--text-heading);box-shadow:var(--shadow-sm)}.segmented{background:var(--bg-hover);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.segmented button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.segmented button.active{background:var(--bg-card);color:var(--text-heading);box-shadow:var(--shadow-sm)}.persona-selector{border-radius:var(--radius-sm);cursor:pointer;border:1px solid var(--border);background:var(--bg-card);text-align:left;width:100%;color:var(--text-body);align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.5rem .65rem;font-size:.82rem;font-weight:500;display:flex}.persona-selector:hover{background:var(--bg-hover)}.persona-selector .persona-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.persona-dropdown{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:50;margin-bottom:.35rem;padding:.35rem;animation:.15s slideUp;position:absolute;bottom:100%;left:0;right:0}.persona-option{border-radius:var(--radius-sm);cursor:pointer;color:var(--text-body);text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .6rem;font-size:.82rem;font-weight:500;display:flex}.persona-option:hover{background:var(--bg-hover)}.persona-option.active{background:var(--primary-soft);color:var(--primary)}.persona-option img{border-radius:50%;width:22px;height:22px}.viewing-banner{background:var(--warning-soft);border-radius:var(--radius);color:var(--warning);align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.85rem;font-weight:550;display:flex}.paycheck-list{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.paycheck-chip{cursor:pointer;border:1px solid var(--border-strong);background:var(--bg-card);color:var(--text-body);transition:all var(--transition);border-radius:99px;align-items:center;gap:.35rem;padding:.38rem .8rem;font-size:.8rem;font-weight:550;display:inline-flex}.paycheck-chip:hover{background:var(--bg-hover)}.paycheck-chip.active{background:var(--text-heading);color:var(--bg-card);border-color:var(--text-heading)}.paycheck-list-item{align-items:center;gap:0;display:flex}.paycheck-list-item .paycheck-actions{opacity:0;pointer-events:none;transition:opacity .15s}.paycheck-list-item:hover .paycheck-actions,.paycheck-list-item:focus-within .paycheck-actions{opacity:1;pointer-events:auto}@media (hover:none){.paycheck-list-item .paycheck-actions{opacity:1;pointer-events:auto}}.toast{border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;padding:.7rem 1.1rem;font-size:.85rem;font-weight:550;animation:.25s slideUp,.3s 2.7s forwards fadeOut;position:fixed;bottom:1.5rem;right:1.5rem}.toast-success{background:var(--text-heading);color:var(--bg-card)}.toast-error{background:var(--danger);color:#fff}@keyframes fadeOut{to{opacity:0;transform:translateY(8px)}}.empty-state{text-align:center;color:var(--text-muted);padding:2.5rem 1.5rem}.empty-state svg{opacity:.45;margin-bottom:.75rem}.empty-state p{font-size:.9rem}.divider{background:var(--border);height:1px;margin:1rem 0}.text-success{color:var(--success)}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.text-primary{color:var(--primary)}.text-muted{color:var(--text-muted)}.row-between{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.stack{flex-direction:column;gap:.75rem;display:flex}.callout{border-radius:var(--radius);background:var(--bg-subtle);border:1px solid var(--border);color:var(--text-body);align-items:flex-start;gap:.6rem;padding:.75rem .9rem;font-size:.84rem;display:flex}.callout svg{color:var(--text-muted);flex-shrink:0;margin-top:2px}.skeleton{background:linear-gradient(90deg, var(--bg-hover), var(--bg-subtle), var(--bg-hover));background-size:200% 100%;border-radius:6px;animation:1.2s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.accordion-head{background:var(--bg-subtle);border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-heading);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-size:.9rem;font-weight:600;display:flex}.accordion-head:hover{background:var(--bg-hover)}.accordion-head .meta{color:var(--text-muted);font-size:.8rem;font-weight:450}.calendar-grid{grid-template-columns:repeat(4,1fr);gap:.65rem;display:grid}.calendar-cell{background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:.85rem}.calendar-cell.has-data{background:var(--bg-card)}.calendar-cell-month{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.calendar-cell-nw{color:var(--text-heading);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:650}.calendar-cell-sub{color:var(--text-muted);margin-top:.15rem;font-size:.7rem}@media (width<=768px){.calendar-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}.entry-row{grid-template-columns:minmax(0,1fr) 150px 34px;align-items:center;gap:.5rem;padding:.35rem 0;display:grid}.entry-row .prev{color:var(--text-muted);text-align:right;margin-top:.15rem;padding-right:.15rem;font-size:.72rem}.entry-row.pending .form-input.value{border-color:var(--warning);background:var(--warning-soft)}.entry-toolbar{background:var(--bg-subtle);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.7rem .85rem;display:flex}.who-cell{flex-direction:column;align-items:center;gap:.2rem;display:flex}.who-cell small{color:var(--text-muted);font-size:.7rem}.overpayment-status-row{scrollbar-width:thin;gap:.75rem;margin-bottom:.5rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.overpayment-status-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;flex:none;gap:.55rem;width:220px;padding:.9rem;display:flex}.overpayment-status-card.warning{border-color:var(--warning)}.overpayment-status-card .status-header{justify-content:space-between;align-items:center;display:flex}.overpayment-status-card .status-month{color:var(--text-heading);font-size:.85rem;font-weight:600}.overpayment-status-card .status-badge{border-radius:99px;align-items:center;gap:.25rem;padding:.12rem .45rem;font-size:.68rem;font-weight:600;display:inline-flex}.overpayment-status-card .status-badge.warning{background:var(--warning-soft);color:var(--warning)}.overpayment-status-card .status-badge.matched{background:var(--success-soft);color:var(--success)}.overpayment-status-card .status-details{flex-direction:column;gap:.3rem;display:flex}.overpayment-status-card .status-user-row{color:var(--text-body);justify-content:space-between;font-size:.8rem;display:flex}.overpayment-status-card .status-user-row .user-name{color:var(--text-muted)}.overpayment-status-card .status-user-row .user-amount{font-variant-numeric:tabular-nums;font-weight:600}.form-slider{appearance:none;background:var(--border-strong);cursor:pointer;border-radius:99px;outline:none;width:100%;height:4px;margin:.6rem 0}.form-slider::-webkit-slider-thumb{appearance:none;background:var(--bg-card);border:2px solid var(--primary);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%}.form-slider::-moz-range-thumb{background:var(--bg-card);border:2px solid var(--primary);cursor:pointer;border-radius:50%;width:16px;height:16px}.form-slider::-moz-range-track{background:var(--border-strong);border-radius:99px;height:4px}.mobile-header{display:none}@media (width<=900px){.sidebar{z-index:1000;transition:transform var(--transition);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{box-shadow:var(--shadow-lg);transform:translate(0)}.sidebar-overlay{z-index:999;background:#14131166;animation:.15s fadeIn;position:fixed;inset:0}.mobile-header{z-index:20;background:color-mix(in srgb, var(--bg-body) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);color:var(--text-heading);justify-content:space-between;align-items:center;padding:.75rem 1rem;font-weight:650;display:flex;position:sticky;top:0}.main-inner{padding:1.25rem 1rem 3rem}.grid-2,.grid-3,.grid-23,.grid-32{grid-template-columns:minmax(0,1fr)}.page-title{font-size:1.35rem}.hero-value{font-size:1.65rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:1.25rem}}@media (width<=480px){.form-row{flex-direction:column;gap:.85rem}.modal-overlay{align-items:flex-end;padding:0}.modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-width:100%;max-height:92dvh;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom))}.entry-row{grid-template-columns:minmax(0,1fr) 120px 30px}.form-input,.form-select{font-size:16px}}@keyframes rocketFlight{0%{transform:translate(0)rotate(0)scale(1)}15%{transform:translate(-25vw,-5vh)rotate(-45deg)scale(1.1)}30%{transform:translate(-65vw,5vh)rotate(-90deg)scale(1.15)}45%{transform:translate(-75vw,35vh)rotate(-180deg)scale(1.2)}60%{transform:translate(-60vw,65vh)rotate(-225deg)scale(1.15)}75%{transform:translate(-20vw,55vh)rotate(-270deg)scale(1.1)}90%{transform:translate(-2vw,20vh)rotate(-315deg)scale(1.05)}to{transform:translate(0)rotate(-360deg)scale(1)}}@keyframes smokeDrift{0%{filter:blur(1px);opacity:1;background:radial-gradient(circle,#ef4444e6 0%,#f9731680 40%,#fde04700 70%);transform:translate(0)scale(.3)}15%{filter:blur(2px);transform:translate(var(--drift-x), var(--drift-y)) scale(1.2);background:radial-gradient(circle,#f9731699 0%,#c8c8c880 50%,#96969600 80%)}80%{filter:blur(3px);transform:translate(var(--drift-x), var(--drift-y)) scale(1.8);opacity:.8;background:radial-gradient(circle,#dcdcdc66 0%,#b4b4b433 50%,#78787800 80%)}to{transform:translate(var(--drift-x), var(--drift-y)) scale(2.2);filter:blur(5px);opacity:0;background:radial-gradient(circle,#dcdcdc1a 0%,#b4b4b40d 50%,#78787800 80%)}}.smoke-particle{pointer-events:none;z-index:9999;border-radius:50%;animation:6.5s cubic-bezier(.1,.8,.3,1) forwards smokeDrift;position:fixed}
