:root{--color-primary: #2f6bff;--color-primary-hover: #1f5af0;--color-primary-active: #1647c4;--color-primary-soft: #eef3ff;--color-info: #2f6bff;--color-info-soft: #eef3ff;--color-success: #12a150;--color-success-soft: #e8f7ee;--color-warning: #d97706;--color-warning-soft: #fff5e6;--color-danger: #dc2626;--color-danger-soft: #fdeceb;--color-bg: #ffffff;--color-bg-elevated: #ffffff;--color-bg-subtle: #f7f8fa;--color-bg-muted: #f1f3f5;--color-text: #1f2329;--color-text-secondary: #5b6472;--color-text-tertiary: #98a2b3;--color-text-inverse: #ffffff;--color-border: #e5e7eb;--color-border-light: #f0f1f3;--color-divider: #eceef1;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 8px;--radius-pill: 999px;--shadow-xs: none;--shadow-sm: none;--shadow-md: 0 4px 12px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .12);--gradient-brand: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--color-bg);color:var(--color-text);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--color-primary);text-decoration:none;transition:color .16s ease}a:hover{color:var(--color-primary-hover)}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-thumb{background:#98a2b366;border-radius:999px}*::-webkit-scrollbar-thumb:hover{background:#98a2b3b3}*::-webkit-scrollbar-track{background:transparent}.ant-table-content:not(:has(.ant-table-cell-fix-right)){background-image:linear-gradient(to right,#fff 30%,#fff0),linear-gradient(to left,#fff 30%,#fff0),linear-gradient(to right,#1f232917,#1f232900),linear-gradient(to left,#1f232917,#1f232900);background-position:left center,right center,left center,right center;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}.ant-table-body,.ant-table-content{scrollbar-width:thin;scrollbar-color:rgba(152,162,179,.55) transparent}.ant-table-body::-webkit-scrollbar,.ant-table-content::-webkit-scrollbar{height:10px;width:10px}.ant-table-body::-webkit-scrollbar-thumb,.ant-table-content::-webkit-scrollbar-thumb{background:#98a2b38c;border-radius:999px}.ant-table-body::-webkit-scrollbar-thumb:hover,.ant-table-content::-webkit-scrollbar-thumb:hover{background:#98a2b3cc}.text-right{text-align:right}.cursor-pointer{cursor:pointer}.ant-card{border-radius:var(--radius-lg)!important;border:1px solid var(--color-border)!important;box-shadow:none!important;transition:border-color .16s ease}.ant-card:hover{border-color:#d4d8de!important}.ant-card-head{border-bottom:1px solid var(--color-border-light)!important;padding:0 var(--space-5)!important;min-height:48px!important}.ant-card-head-title{font-weight:600!important;font-size:15px!important;color:var(--color-text)!important}.ant-card-body{padding:var(--space-5)!important}.ant-table{font-size:13.5px}.ant-table-thead>tr>th{background:var(--color-bg-subtle)!important;color:var(--color-text-secondary)!important;font-weight:500!important;font-size:13px!important;border-bottom:1px solid var(--color-border)!important}.ant-table-tbody>tr>td{border-bottom:1px solid var(--color-border-light)!important}.ant-table-tbody>tr:hover>td{background:var(--color-bg-subtle)!important}.ant-table-cell-fix-left,.ant-table-cell-fix-right{background:#fff!important}.ant-table-tbody>tr:hover>.ant-table-cell-fix-left,.ant-table-tbody>tr:hover>.ant-table-cell-fix-right{background:var(--color-bg-subtle)!important}.ant-btn{border-radius:var(--radius-md);font-weight:500;transition:background .16s ease,border-color .16s ease}.ant-btn-primary:not(:disabled):not(.ant-btn-disabled){background:#1f2329!important;border-color:#1f2329!important;box-shadow:none!important}.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):hover{background:#343a42!important;border-color:#343a42!important;filter:none;transform:none;box-shadow:none!important}.ant-btn-primary:not(:disabled):not(.ant-btn-disabled):active{background:#14181d!important;transform:none}.ant-btn-default:not(:disabled):not(.ant-btn-disabled){background:#fff!important;border-color:var(--color-border)!important;color:var(--color-text)!important}.ant-btn-default:not(:disabled):not(.ant-btn-disabled):hover{border-color:#c9cdd4!important;color:var(--color-text)!important}.ant-btn-link:not(:disabled):not(.ant-btn-disabled){color:var(--color-primary)!important;font-weight:500}.ant-btn:disabled,.ant-btn[disabled],.ant-btn.ant-btn-disabled{color:var(--color-text-secondary)!important;cursor:not-allowed;box-shadow:none!important}.ant-btn-primary:disabled,.ant-btn-primary[disabled],.ant-btn-primary.ant-btn-disabled,.ant-btn-default:disabled,.ant-btn-default[disabled],.ant-btn-default.ant-btn-disabled{background:var(--color-bg-muted)!important;border-color:var(--color-border-light)!important}.ant-btn-text:disabled,.ant-btn-text[disabled],.ant-btn-text.ant-btn-disabled,.ant-btn-link:disabled,.ant-btn-link[disabled],.ant-btn-link.ant-btn-disabled{background:transparent!important;border-color:transparent!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-select-selector,.ant-picker{border-radius:var(--radius-md)!important;border-color:var(--color-border)!important}.ant-input:focus,.ant-input-affix-wrapper-focused,.ant-select-focused .ant-select-selector,.ant-picker-focused{box-shadow:0 0 0 3px #2f6bff1a!important}.ant-tag{border-radius:var(--radius-sm)!important;padding:0 8px!important;font-weight:500;font-size:12px;line-height:20px}.ant-modal-content{border-radius:var(--radius-lg)!important;overflow:hidden}.ant-modal-header{border-bottom:1px solid var(--color-border-light)!important;padding:var(--space-4) var(--space-6)!important}.ant-modal-body{padding:var(--space-6)!important}.ant-dropdown-menu{border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;border:1px solid var(--color-border)}.ant-drawer-content{border-radius:0}.ant-tooltip{max-width:360px!important}.ant-tooltip-inner{font-size:13px;line-height:1.6;padding:6px 10px!important;box-shadow:0 6px 16px #1018283d!important}.ant-menu{background:transparent}.ant-menu-item-group-title{font-size:12px!important;color:var(--color-text-tertiary)!important;font-weight:500!important;padding:12px 16px 4px!important;background:transparent!important}.ant-menu-item{font-size:13.5px!important;height:36px!important;line-height:36px!important;margin-block:1px!important}.ant-menu-item-selected{background:var(--color-bg-muted)!important;color:var(--color-text)!important;font-weight:500}.ant-menu-item-selected .ant-menu-item-icon{color:var(--color-text)!important}.ant-menu-item:hover{background:var(--color-bg-subtle)!important}.menu-label-badge{display:flex;align-items:center;justify-content:space-between;gap:8px}.ant-pagination .ant-pagination-item-active{border-color:var(--color-border)!important;background:var(--color-bg-subtle)!important}.ant-pagination .ant-pagination-item-active a{color:var(--color-text)!important}.ant-empty{padding:var(--space-8) 0}.ant-statistic-title{color:var(--color-text-secondary)!important;font-size:13px!important;margin-bottom:var(--space-2)!important}.ant-statistic-content{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif;font-feature-settings:"tnum"}.page-title{font-size:22px!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--color-text)!important;margin:0!important}.page-subtitle{font-size:13px!important;color:var(--color-text-tertiary)!important;margin-top:4px!important}.metric-number{font-size:26px;font-weight:600;line-height:1.15;letter-spacing:-.02em;color:var(--color-text);margin-top:5px;font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.metric-label{font-size:12.5px;color:var(--color-text-tertiary);font-weight:500}.metric-row{display:flex;align-items:stretch;flex-wrap:wrap}.metric-cell{flex:1 1 0;min-width:140px;padding:4px 24px;border-left:1px solid var(--color-border-light)}.metric-cell:first-child{border-left:none;padding-left:0}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.metric{display:block;padding:16px 20px;border-left:1px solid var(--color-border-light);transition:background .16s ease}.metrics>.metric:first-child{border-left:none}.metric:hover{background:var(--color-bg-subtle)}.metric-link{font-size:12px;color:var(--color-primary);margin-top:6px;display:inline-block}.filters{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--color-border-light)}.wallet-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;overflow:hidden}.wallet-card__head{padding:20px 24px 18px}.wallet-card__label{font-size:12.5px;color:var(--color-text-tertiary)}.wallet-card__amount{font-size:40px;font-weight:600;letter-spacing:-.025em;line-height:1.1;margin-top:6px;color:var(--color-text);font-variant-numeric:tabular-nums;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.wallet-card__symbol{font-size:24px;font-weight:500;color:var(--color-text-secondary);margin-right:3px}.wallet-card__desc{font-size:12.5px;color:var(--color-text-tertiary);margin-top:8px}.wallet-card__stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--color-border-light);background:var(--color-bg-subtle)}.wallet-stat{padding:12px 20px;border-left:1px solid var(--color-border-light)}.wallet-stat:first-child{border-left:none}.wallet-stat__label{font-size:12px;color:var(--color-text-tertiary)}.wallet-stat__value{font-size:16px;font-weight:600;margin-top:2px;color:var(--color-text);font-variant-numeric:tabular-nums}.todo-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-light);margin-bottom:8px;transition:background .16s ease}.todo-row__icon{width:30px;height:30px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.todo-row__title{flex:1;min-width:0;font-size:13px;color:var(--color-text-secondary)}.todo-row__count{font-size:17px;font-weight:600;color:var(--color-text);font-variant-numeric:tabular-nums}.todo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:36px 12px;color:var(--color-text-tertiary);font-size:13px}.todo-empty__icon{font-size:22px;color:var(--color-success)}.chart-loading{padding:60px 0;text-align:center}.card-extra-link{font-size:12px;color:var(--color-primary)}.card-extra-arrow{font-size:10px}.metric-number--success{color:var(--color-success)}.metric-unit{font-size:14px;font-weight:400;color:var(--color-text-tertiary)}.toolbar-right{margin-bottom:16px;text-align:right}.hint-text{margin:0;color:var(--color-text-secondary)}.hint-text--sm{font-size:12px}.muted-icon{color:var(--color-text-tertiary)}.text-secondary{color:var(--color-text-secondary)}.tabular-secondary{font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.entry-title{font-weight:600;font-size:15px;color:var(--color-text)}.form-hint{margin-top:16px;color:var(--color-text-tertiary);font-size:12px}.form-grid{display:flex;flex-wrap:wrap;gap:12px}.stat-tile__label{font-size:12px;color:var(--color-text-tertiary);margin-bottom:4px}.stat-tile__value{font-size:20px;font-weight:700;color:var(--color-text);font-variant-numeric:tabular-nums}.overview-title{font-weight:600;font-size:16px;color:var(--color-text)}.section-divider{margin:20px 0 16px}.field-error{color:var(--color-danger)}.section{padding:24px 0;border-top:1px solid var(--color-divider)}.section:first-child{border-top:none}.section-title{font-size:15px;font-weight:600;color:var(--color-text);margin:0 0 4px}.section-desc{font-size:13px;color:var(--color-text-tertiary)}.notice-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-warning-soft);border:1px solid #f5dcb0;color:#a35a05;font-size:13px}.header-bell:hover{background:var(--color-bg-muted)!important;color:var(--color-text)!important}.user-menu-trigger:hover{background:var(--color-bg-muted)}.reminder-item:hover{background:var(--color-bg-subtle)!important}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}.ant-tabs .ant-tabs-tabpane{overflow-x:auto}
