html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{--rf-ink: #0f0f0f;--rf-ink-soft: #3c3c38;--rf-paper: #f4f4f1;--rf-card: #ffffff;--rf-line: #e4e4e0;--rf-line-soft: #ecece8;--rf-muted: #8a8a86;--rf-income: #1f7a3f;--rf-expense: #c2361f;--rf-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}html,body{background:var(--rf-paper);color:var(--rf-ink);font-variant-numeric:tabular-nums}.rf-mono{font-family:var(--rf-mono);font-variant-numeric:tabular-nums}.rf-shell{min-height:100vh;background:var(--rf-paper)}.rf-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;height:64px;padding:0 28px;background:var(--rf-ink);color:#fff}.rf-topbar-brand{display:inline-flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;white-space:nowrap}.rf-topbar-wordmark{font-size:18px;font-weight:700;letter-spacing:-.2px}.rf-brand-logo{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;padding:4px;border-radius:10px;background:#fff;box-sizing:border-box}.rf-brand-logo img{width:100%;height:100%;display:block}.rf-topnav{display:flex;align-items:center;gap:2px;min-width:0}.rf-topnav-item{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;color:#b3b3ad!important;font-size:14px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color .14s ease,color .14s ease}.rf-topnav-item:hover{background:#262624;color:#fff!important}.rf-topnav-item.is-active{background:#fff;color:var(--rf-ink)!important}.rf-topbar-right{margin-left:auto;display:flex;align-items:center;gap:14px}.rf-slot{display:flex;align-items:center;gap:10px;width:300px;height:40px;padding:0 14px 0 16px;border-radius:999px;background:#1f1f1e;border:1.5px solid #333331;color:#9a9a94;transition:border-color .14s ease,background-color .14s ease}.rf-slot:focus-within{border-color:#fff;background:#262624;color:#fff}.rf-slot input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:13px}.rf-slot input::placeholder{color:#8a8a86}.rf-slot kbd{font:inherit;font-size:11px;color:#6b6b66;border:1px solid #444442;border-radius:6px;padding:1px 6px}.rf-slot-clear{border:0;background:transparent;color:#9a9a94;cursor:pointer;padding:4px;display:inline-flex}.rf-coin{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border-radius:50%;background:var(--rf-ink);color:#fff;font-size:15px;font-weight:800;border:0;box-sizing:border-box}.rf-coin.is-hollow{background:#fff;color:var(--rf-ink);border:2px solid var(--rf-ink)}.rf-coin.is-income{background:#eaf5ee;color:var(--rf-income)}.rf-coin.is-expense{background:#fbeae6;color:var(--rf-expense)}.rf-coin-user{width:34px;height:34px;background:#fff;color:var(--rf-ink);font-size:13px;cursor:pointer}.rf-user-menu-name{display:inline-flex;flex-direction:column;color:var(--rf-ink)!important;font-weight:700}.rf-user-menu-name small{font-weight:500;color:var(--rf-muted)}.rf-topbar-menu{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-left:-8px;border:0;border-radius:12px;background:transparent;color:#fff;font-size:18px;cursor:pointer}.rf-nav-drawer-body{display:flex;flex-direction:column;min-height:100%;color:#fff}.rf-topnav-vertical{flex-direction:column;align-items:stretch;gap:4px;padding:6px 12px}.rf-topnav-vertical .rf-topnav-item{height:44px;font-size:15px}.rf-nav-drawer-footer{margin-top:auto;display:flex;align-items:center;gap:10px;padding:16px 18px;border-top:1px solid #262624}.rf-nav-drawer-user{flex:1;min-width:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rf-nav-drawer-logout{border:1.5px solid #444442;border-radius:999px;background:transparent;color:#fff;height:34px;padding:0 12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.rf-content{padding:22px 28px 40px;min-width:0}.ant-btn:not(.ant-btn-link):not(.ant-btn-text){border-width:2px}.ant-btn-default:not(:disabled):not(.ant-btn-dangerous){border-color:var(--rf-ink)}.ant-btn-dangerous.ant-btn-default:not(:disabled){border-color:var(--rf-expense);color:var(--rf-expense)}.ant-btn-dashed:not(:disabled){border-color:#b3b3ad;color:var(--rf-ink-soft)}.ant-card{border:1.5px solid var(--rf-line);box-shadow:none}.ant-card .ant-card-head{border-bottom:1.5px solid var(--rf-line);font-weight:800}.ant-input-affix-wrapper:focus-within,.ant-input-outlined:focus,.ant-input-number-outlined:focus-within,.ant-picker-outlined:focus-within,.ant-select-focused .ant-select-selector{border-color:var(--rf-ink)!important;box-shadow:none!important}.ant-table-wrapper .ant-table-thead>tr>th{font-size:12px;font-weight:700;letter-spacing:.2px}.ant-statistic .ant-statistic-content,.ant-statistic .ant-statistic-content-value{font-family:var(--rf-mono);font-variant-numeric:tabular-nums}.ant-tag{font-weight:600}.rf-back{display:inline-flex;align-items:center;gap:10px;padding:0 10px 0 0;border:0;border-radius:999px;background:transparent;color:var(--rf-ink);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.rf-back-coin{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--rf-ink);background:#fff;color:var(--rf-ink);font-size:15px;box-sizing:border-box;transition:background-color .14s ease,color .14s ease,transform .14s ease}.rf-back-label{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15;font-size:14px;font-weight:700;text-align:left}.rf-back-label small{font-size:11px;font-weight:600;color:var(--rf-muted);letter-spacing:.3px}.rf-back:hover .rf-back-coin,.rf-back:focus-visible .rf-back-coin{background:var(--rf-ink);color:#fff}.rf-back:active .rf-back-coin{transform:translate(-2px)}.rf-back:focus-visible{outline:2px solid var(--rf-ink);outline-offset:3px}.rf-categories-table .ant-table-tbody>tr:hover>td{background:#f7f7f5!important}@media (max-width: 991.98px){.rf-topbar{gap:16px;padding:0 18px}.rf-slot{width:220px}}@media (max-width: 767.98px){.rf-topbar{height:56px;gap:10px;padding:0 14px}.rf-topbar-wordmark{font-size:16px}.rf-brand-logo{width:32px;height:32px}}.rf-page-loading{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px solid #e4e4e0;border-radius:12px;background:#ffffffb8;color:#8a8a86;font-size:13px}.ant-btn{font-weight:600;letter-spacing:.01em;transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease}.ant-btn:not(.ant-btn-link):not(.ant-btn-text){height:36px;padding-inline:16px;border-radius:8px}.ant-btn-sm:not(.ant-btn-link):not(.ant-btn-text){height:30px;padding-inline:12px;border-radius:7px}.ant-btn-lg:not(.ant-btn-link):not(.ant-btn-text){height:42px;padding-inline:20px;border-radius:10px}.ant-btn:disabled,.ant-btn.ant-btn-disabled{box-shadow:none}.ant-btn .anticon{font-size:14px}.ant-btn-icon-only:not(.ant-btn-link):not(.ant-btn-text){width:36px;padding-inline:0}.ant-btn-sm.ant-btn-icon-only:not(.ant-btn-link):not(.ant-btn-text){width:30px}.rf-categories-table .ant-table-tbody>tr>td{transition:background-color .16s ease,box-shadow .16s ease,transform .16s ease}.rf-categories-table .ant-table-tbody>tr:hover>td{position:relative;z-index:1;background:#fff!important;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.rf-categories-table .ant-table-tbody>tr:hover>td:first-child{border-top-left-radius:6px;border-bottom-left-radius:6px}.rf-categories-table .ant-table-tbody>tr:hover>td:last-child{border-top-right-radius:6px;border-bottom-right-radius:6px}.rf-category-select-dropdown .ant-select-item-option-content,.rf-project-select-dropdown .ant-select-item-option-content{white-space:normal;overflow:visible;text-overflow:clip}.rf-project-select-option{line-height:1.45;overflow-wrap:anywhere;padding-block:2px;white-space:normal}.rf-category-select-option{display:grid;gap:4px;line-height:1.45;white-space:normal}.rf-category-select-option-main{display:flex;align-items:flex-start;gap:8px}.rf-category-select-code{flex:0 0 auto;border-radius:4px;background:#f4f4f1;color:#55554f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;line-height:20px;padding:0 6px}.rf-category-select-name{min-width:0;color:#0f0f0f;word-break:keep-all}.rf-category-select-option-meta{color:#55554f;font-size:12px;line-height:1.45;padding-left:66px;white-space:normal}.rf-ledger-category-tag.ant-tag{max-width:100%;white-space:normal;word-break:keep-all;line-height:1.5;margin-inline-end:0}.rf-ledger-table .ant-table{width:100%}.rf-ledger-table .ant-table-cell{white-space:normal;overflow-wrap:anywhere}.rf-ledger-table .ant-table-thead>tr>th{white-space:normal;line-height:1.35}.rf-ledger-table .ant-table-cell .ant-space{flex-wrap:nowrap}.rf-mcard-list{display:grid;gap:10px}.rf-mcard{border:1px solid #e4e4e0;border-radius:12px;background:#fff;padding:12px 13px;box-shadow:0 1px 2px #0f172a0a}.rf-mcard:active{background:#fff}.rf-mcard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.rf-mcard-title-wrap{min-width:0;flex:1 1 auto}.rf-mcard-title{color:#0f0f0f;font-size:15px;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.rf-mcard-subtitle{color:#8a8a86;font-size:12px;margin-top:2px;overflow-wrap:anywhere}.rf-mcard-amount{flex:0 0 auto;color:#0f0f0f;font-size:16px;font-weight:760;white-space:nowrap;line-height:1.35}.rf-mcard-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.rf-mcard-tags .ant-tag{margin-inline-end:0}.rf-mcard-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:10px 0 0;padding-top:10px;border-top:1px dashed #e4e4e0}.rf-mcard-field{min-width:0}.rf-mcard-field-wide{grid-column:1 / -1}.rf-mcard-fields dt{color:#8a8a86;font-size:11px;font-weight:600;margin-bottom:2px}.rf-mcard-fields dd{color:#55554f;font-size:13px;font-weight:600;margin:0;overflow-wrap:anywhere}.rf-mcard-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;padding-top:10px;border-top:1px solid #f4f4f1}.rf-mcard-actions .ant-btn{flex:1 1 auto;min-width:92px}.rf-mcard-pager{display:flex;justify-content:center;padding:4px 0 2px}@media (max-width: 991.98px){.rf-content{padding:16px}}@media (max-width: 767.98px){html,body{overflow-x:hidden}.rf-content{padding:12px}.ant-card>.ant-card-body{padding:14px!important}.ant-table-wrapper{max-width:100%}.ant-table{font-size:13px}.ant-table-wrapper .ant-table-cell{padding:8px!important}.ant-modal{max-width:calc(100vw - 16px);margin:8px auto;top:8px;padding-bottom:8px}.ant-modal .ant-modal-body{max-height:calc(100vh - 190px);overflow-y:auto}.ant-drawer-content-wrapper{max-width:92vw}.ant-form-horizontal .ant-form-item-label{flex:0 0 auto;text-align:left;padding-bottom:4px}.ant-input,.ant-input-number-input,.ant-select-selector,.ant-picker-input>input{font-size:16px!important}.ant-tabs-tab{padding:9px 10px!important;font-size:13px}.ant-tabs-nav{margin-bottom:10px!important}.ant-space{flex-wrap:wrap}.ant-picker-panels{flex-direction:column}.ant-statistic-content{font-size:20px}}.rf-finance-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}@media (max-width: 767.98px){.rf-finance-tiles{gap:6px}.rf-finance-tiles .rf-metric-value{font-size:14px}}@media (max-width: 359.98px){.rf-finance-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.rf-filter-bar.ant-space{align-items:center;row-gap:8px}.rf-filter-bar .ant-picker,.rf-filter-bar .ant-select-single,.rf-filter-bar .ant-select-single .ant-select-selector,.rf-filter-bar .ant-input-search,.rf-filter-bar .ant-input-search .ant-input-group,.rf-filter-bar .ant-input-search .ant-input-affix-wrapper,.rf-filter-bar .ant-input-search .ant-input-search-button,.rf-filter-bar .ant-btn:not(.ant-btn-link):not(.ant-btn-text){height:36px}.rf-filter-bar .ant-select-single .ant-select-selector{display:flex;align-items:center}.rf-filter-bar .ant-input-search .ant-input-group{display:flex;align-items:stretch}.rf-filter-bar .ant-input-search .ant-input-affix-wrapper{flex:1 1 auto;width:auto;min-width:0}.rf-filter-bar .ant-input-search .ant-input-group-addon{flex:0 0 36px;width:36px;min-width:36px;vertical-align:top}.rf-filter-bar .ant-input-search .ant-input-search-button{width:100%;min-width:36px;padding-inline:0}.rf-search-actions.ant-space{align-items:center}.rf-search-actions .ant-input-search,.rf-search-actions .ant-input-search .ant-input-group,.rf-search-actions .ant-input-search .ant-input-affix-wrapper,.rf-search-actions .ant-input-search .ant-input-search-button,.rf-search-actions .ant-btn:not(.ant-btn-link):not(.ant-btn-text){height:36px}.rf-search-actions .ant-input-search .ant-input-group{display:flex;align-items:stretch}.rf-search-actions .ant-input-search .ant-input-affix-wrapper{flex:1 1 auto;width:auto;min-width:0}.rf-search-actions .ant-input-search .ant-input-group-addon{flex:0 0 36px;width:36px;min-width:36px}.rf-search-actions .ant-input-search .ant-input-search-button{width:100%;min-width:36px;padding-inline:0}@media (max-width: 767.98px){.rf-filter-bar.ant-space{display:flex;width:100%}.rf-filter-bar.ant-space>.ant-space-item{width:100%}.rf-filter-bar .ant-picker,.rf-filter-bar .ant-select,.rf-filter-bar .ant-input-search,.rf-filter-bar .ant-btn{width:100%}}.rf-page-title{font-size:24px;font-weight:800;letter-spacing:-.4px;color:#0f0f0f;line-height:1.25}@media (max-width: 767.98px){.rf-page-title{font-size:18px}}
