:root{--color-primary: #40b883;--color-primary-600: #35a074;--color-primary-700: #2c8861;--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #64748b;--accent-receipt: #16a34a;--accent-payment: #dc2626;--accent-invoice: #d97706;--accent-bank: #40b883;--accent-entity: #7c3aed;--accent-entity-hover: #6d28d9;--accent-customer: #0f766e;--accent-supplier: #d97706;--accent-supplier-hover: #b45309;--accent-report: #4338ca;--accent-user: #4f46e5;--accent-user-hover: #4338ca;--accent-invoice-issued: #0891b2;--accent-invoice-received: #0d9488;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-inverse: #f8fafc;--text-inverse-muted: rgba(248, 250, 252, .7);--text-inverse-subtle: rgba(248, 250, 252, .6);--border-color: #e2e8f0;--border-color-light: #edf2f7;--border-color-strong: #cbd5f5;--bg-page: #f6f7fb;--bg-card: #ffffff;--bg-elevated: #f8fafc;--bg-hover: #e2e8f0;--bg-hover-soft: #f8fafc;--bg-primary-soft: rgba(37, 99, 235, .12);--bg-success-soft: rgba(22, 163, 74, .12);--bg-danger-soft: rgba(220, 38, 38, .12);--bg-warning-soft: rgba(217, 119, 6, .12);--bg-info-soft: rgba(100, 116, 139, .12);--bg-entity-soft: rgba(124, 58, 237, .12);--bg-supplier-soft: rgba(217, 119, 6, .12);--bg-customer-soft: rgba(15, 118, 110, .12);--bg-inverse-soft: rgba(255, 255, 255, .12);--bg-inverse-soft-hover: rgba(255, 255, 255, .2);--border-inverse: rgba(255, 255, 255, .25);--border-inverse-hover: rgba(255, 255, 255, .4);--bg-tooltip: rgba(255, 255, 255, .98);--color-empty: #c0c4cc;--shadow-sm: 0 1px 3px rgba(15, 23, 42, .08);--shadow-md: 0 8px 20px rgba(15, 23, 42, .12);--shadow-lg: 0 16px 36px rgba(15, 23, 42, .16);--shadow-primary: 0 6px 14px rgba(37, 99, 235, .28);--shadow-primary-strong: 0 8px 18px rgba(37, 99, 235, .35);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--stat-accent: var(--color-primary);--sidebar-text: #475569;--sidebar-text-active: #059669;--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-600));--gradient-primary-strong: linear-gradient(135deg, var(--color-primary-600), var(--color-primary-700));--gradient-sidebar: linear-gradient(180deg, #f8fafb 0%, #f1f5f9 100%);--gradient-hero: linear-gradient(135deg, #0f172a 0%, #1e3a8a 100%);--drawer-header-bg: linear-gradient(135deg, #111827 0%, #1e3a8a 100%);--sidebar-glow-primary: rgba(16, 185, 129, .08);--sidebar-glow-warning: rgba(212, 165, 116, .05);--sidebar-header-bg: transparent;--sidebar-header-border: #e2e8f0;--sidebar-logo-gradient: linear-gradient(135deg, #10b981 0%, #059669 100%);--sidebar-logo-shadow: 0 4px 16px rgba(16, 185, 129, .3);--sidebar-active-bg: rgba(16, 185, 129, .06);--sidebar-active-border: linear-gradient(180deg, #10b981 0%, #059669 100%);--sidebar-active-shadow: none;--sidebar-hover-bg: rgba(16, 185, 129, .04);--sidebar-submenu-bg: rgba(16, 185, 129, .02);--user-avatar-gradient: linear-gradient(135deg, #3b82f6, #10b981)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-info{color:var(--color-info)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-primary-strong{color:var(--color-primary)}.text-strong{font-weight:700}.amount-primary{color:var(--color-primary);font-weight:600;font-variant-numeric:tabular-nums}.amount-warning{color:var(--color-warning);font-weight:600;font-variant-numeric:tabular-nums}.amount-invoice{color:var(--accent-invoice);font-weight:600;font-variant-numeric:tabular-nums}.amount-received{color:var(--accent-customer);font-weight:600;font-variant-numeric:tabular-nums}.amount-strong{font-weight:700}.stat-card.accent-success{--stat-accent: var(--color-success)}.stat-card.accent-warning{--stat-accent: var(--color-warning)}.stat-card.accent-danger{--stat-accent: var(--color-danger)}.stat-card.accent-info{--stat-accent: var(--color-info)}.stat-card.accent-primary{--stat-accent: var(--color-primary)}.stat-card.accent-entity{--stat-accent: var(--accent-entity)}.stat-card.accent-customer{--stat-accent: var(--accent-customer)}.stat-card.accent-supplier{--stat-accent: var(--accent-supplier)}.stat-card.accent-report{--stat-accent: var(--accent-report)}.stat-card .stat-label{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.stat-card .stat-value{font-size:24px;font-weight:700;color:var(--stat-accent, var(--text-primary));font-variant-numeric:tabular-nums}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;font-size:14px;color:var(--text-primary);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.page-header h2{font-size:20px;font-weight:600;color:var(--text-primary);position:relative;padding-left:12px}.page-header h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:20px;border-radius:2px;background:var(--color-primary)}.header-desc{color:#f97316;font-size:13px;margin-left:8px;font-weight:400}.header-tips{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#8b5cf6;cursor:pointer;font-weight:500;padding:2px 8px;border-radius:4px;transition:background .2s}.header-tips:hover{background:#8b5cf614}.filter-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px;align-items:center;background:var(--bg-card);padding:16px 20px;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.filter-bar .el-select,.filter-bar .el-input{min-width:140px;max-width:200px}.filter-bar .el-date-editor{max-width:380px!important}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:20px}.stat-card{background:var(--bg-card);border-radius:var(--radius-md);padding:20px 20px 20px 24px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:box-shadow .2s,transform .2s}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:0 2px 2px 0;background:var(--stat-accent, var(--color-primary))}.stat-card.income:before{background:var(--accent-receipt)}.stat-card.expense:before{background:var(--accent-payment)}.stat-card.profit:before{background:var(--accent-bank)}.stat-card.invoice:before{background:var(--accent-invoice)}.stat-card.entity:before{background:var(--accent-entity)}.stat-card .label{font-size:13px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.stat-card .value{font-size:26px;font-weight:700;font-variant-numeric:tabular-nums}.stat-card .value.income{color:var(--accent-receipt)}.stat-card .value.expense{color:var(--accent-payment)}.stat-card .value.profit{color:var(--accent-bank)}.stat-card .value.invoice{color:var(--accent-invoice)}.el-table{border-radius:var(--radius-md);overflow:hidden}.el-table th.el-table__cell{background:var(--bg-elevated)!important;color:var(--text-secondary);font-weight:600;font-size:13px;border-bottom:1px solid var(--border-color)!important}.el-table .el-table__row:hover>td{background:var(--bg-hover-soft)!important}.el-table .cell{font-size:13px}.el-table td.el-table__cell{border-bottom:1px solid var(--border-color-light)}.el-card{border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.el-dialog__header{border-bottom:1px solid var(--border-color);padding:16px 20px;margin-right:0;background:var(--bg-elevated)}.el-dialog__body{padding:24px 20px}.el-dialog__footer{border-top:1px solid var(--border-color);padding:12px 20px}.el-button{font-weight:500;border-radius:var(--radius-sm)}.el-button--primary{font-weight:600;--el-button-bg-color: var(--color-primary);--el-button-border-color: var(--color-primary);--el-button-hover-bg-color: var(--color-primary-600);--el-button-hover-border-color: var(--color-primary-600);--el-button-active-bg-color: var(--color-primary-700);--el-button-active-border-color: var(--color-primary-700);box-shadow:0 6px 14px #2563eb33}.el-button--primary.is-plain{--el-button-bg-color: rgba(37, 99, 235, .08);--el-button-border-color: rgba(37, 99, 235, .35);--el-button-text-color: var(--color-primary-600);box-shadow:none}.el-tag{border-radius:999px}.el-tag--plain{background:#0f172a0a;border-color:var(--border-color)}.el-input__wrapper{border-radius:var(--radius-sm);transition:box-shadow .2s,border-color .2s,background .2s}.el-input__wrapper.is-focus,.el-select .el-input__wrapper.is-focus{box-shadow:0 0 0 3px #2563eb1f}.el-pagination{padding:12px 0 0;border-top:1px solid var(--border-color)}.el-badge__content{border:none;box-shadow:0 4px 10px #0f172a33}.amount-income{color:var(--accent-receipt);font-weight:600;font-variant-numeric:tabular-nums}.amount-expense{color:var(--accent-payment);font-weight:600;font-variant-numeric:tabular-nums}.amount-neutral{color:var(--text-primary);font-weight:600;font-variant-numeric:tabular-nums}.el-menu--popup-container .el-menu--popup{background:#1e293b!important;border:1px solid rgba(255,255,255,.1);border-radius:8px;box-shadow:0 8px 24px #00000059;padding:6px;min-width:180px}.el-menu--popup-container .el-menu--popup .el-menu-item{color:#ffffffb8;height:40px;line-height:40px;border-radius:6px;margin:2px 0;padding:0 16px}.el-menu--popup-container .el-menu--popup .el-menu-item:hover{background:#ffffff1a;color:#fff}.el-menu--popup-container .el-menu--popup .el-menu-item.is-active{background:#3b82f659;color:#fff}.el-menu--popup-container .el-menu--popup .el-sub-menu__title{color:#ffffffb8;height:40px;line-height:40px;border-radius:6px;padding:0 16px}.el-menu--popup-container .el-menu--popup .el-sub-menu__title:hover{background:#ffffff1a;color:#fff}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::-webkit-scrollbar-track{background:transparent}.el-drawer{display:flex;flex-direction:column;max-height:100vh;overflow:hidden}.el-drawer__header{background:linear-gradient(135deg,#f0fdf7,#e8fcf1);border-bottom:1px solid var(--border-color);margin-bottom:0;padding:16px 20px!important;flex-shrink:0;position:relative;z-index:1}.el-drawer__header .el-drawer__title{color:#40b883;font-weight:600;font-size:16px}.el-drawer__header .el-drawer__close-btn{color:#1a1a1a;font-size:18px;width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative;z-index:2}.el-drawer__header .el-drawer__close-btn:hover{color:#fff;background:var(--color-primary)}.el-drawer__body{padding:20px;flex:1;overflow:hidden;min-height:0;display:flex;flex-direction:column}.el-drawer__body>.el-tabs{flex:1;display:flex;flex-direction:column;min-height:0}.el-drawer__body>.el-tabs>.el-tabs__header{flex-shrink:0}.el-drawer__body>.el-tabs>.el-tabs__content{flex:1;overflow:hidden;min-height:0}.el-drawer__body>.el-tabs>.el-tabs__content>.el-tab-pane{height:100%;overflow-y:auto}.el-drawer__body>.el-tabs>.el-tabs__content>.el-tab-pane.basic-pane{overflow:hidden}.el-drawer__body>.el-form{flex:1;overflow-y:auto;min-height:0}.basic-pane-layout{display:flex;flex-direction:column;height:100%;min-height:0}.basic-pane-scroll{flex:1;overflow-y:auto;min-height:0}.basic-pane-layout>.company-summary{flex-shrink:0}.el-drawer__footer{flex-shrink:0;border-top:1px solid var(--border-color);padding:12px 20px}
