:root{--sidebar-width: 200px;--topbar-height: 52px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--color-accent: #3D5AF1}:root,[data-theme=light]{--bg-primary: #F4F5F7;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-card-hover: #F8F9FC;--bg-sidebar: #FFFFFF;--bg-sidebar-hover: #EEF0FF;--bg-sidebar-active: #EEF0FF;--bg-input: #F8F9FC;--bg-input-focus: #FFFFFF;--bg-modal: rgba(0, 0, 0, .45);--bg-topbar: #FFFFFF;--bg-tooltip: #1A1A2E;--bg-badge: #F8F9FC;--bg-table-head: #F4F5F8;--bg-table-row: #FFFFFF;--bg-table-row-hover: #F0F4FF;--text-primary: #1A1A2E;--text-secondary: #666666;--text-muted: #999999;--text-light: #BBBBBB;--text-sidebar: #3A3A4A;--text-sidebar-active: #1B2FA8;--text-accent: #3D5AF1;--text-on-dark: #FFFFFF;--text-topbar: #1A1A2E;--border-color: #E8EAF0;--border-color-hover: #D0D4E8;--border-light: #F0F2F8;--border-input: #E8EAF0;--border-input-focus: #3344CC;--border-sidebar: #E8EAF0;--border-topbar: #E8EAF0;--border-2: #D0D4E8;--accent-primary: #1E3A8A;--accent-primary-hover: #1a3278;--accent-dark: #152660;--accent-light: #EAEDFF;--accent-gradient: linear-gradient(135deg, #3344CC, #4D5FE0);--color-income: #1B8A3E;--color-income-bg: #E8F5E9;--color-income-light: #E8F5E9;--color-expense: #D32F2F;--color-expense-bg: rgba(211, 47, 47, .08);--color-expense-light: #FFEBEE;--color-profit: #2E7D32;--color-profit-bg: #E8F5E9;--color-danger: #C62828;--color-danger-bg: #FFEBEE;--color-plan: #5B76FF;--color-plan-bg: rgba(91, 118, 255, .1);--color-info: #3D5AF1;--color-warning: #F6A623;--green: #2E7D32;--green-bg: #E8F5E9;--red: #C62828;--red-bg: #FFEBEE;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-card: 0 1px 4px rgba(0, 0, 0, .06);--shadow-sidebar: 2px 0 8px rgba(0, 0, 0, .04);--shadow-topbar: 0 1px 4px rgba(0, 0, 0, .06)}[data-theme=dark]{--bg-primary: #13131F;--bg-secondary: #1A1A2C;--bg-card: #1E1E30;--bg-card-hover: #22223A;--bg-sidebar: #1A1A2C;--bg-sidebar-hover: #252540;--bg-sidebar-active: #1E2040;--bg-input: #22223A;--bg-input-focus: #252540;--bg-modal: rgba(0, 0, 0, .7);--bg-topbar: #1A1A2C;--bg-tooltip: #22223A;--bg-badge: #22223A;--bg-table-head: #22223A;--bg-table-row: #22223A;--bg-table-row-hover: #252540;--text-primary: #E8EAF0;--text-secondary: #A0A3B8;--text-muted: #666880;--text-light: #4A4B6A;--text-sidebar: #A0A3B8;--text-sidebar-active: #5B76FF;--text-accent: #5B76FF;--text-on-dark: #E8EAF0;--text-topbar: #E8EAF0;--border-color: #2E2E4A;--border-color-hover: #3A3A5A;--border-light: #252540;--border-input: #2E2E4A;--border-input-focus: #5B76FF;--border-sidebar: #2E2E4A;--border-topbar: #2E2E4A;--border-2: #3A3A5A;--accent-primary: #5B76FF;--accent-primary-hover: #4A63E8;--accent-dark: #3A53D8;--accent-light: #1E2040;--accent-gradient: linear-gradient(135deg, #5B76FF, #7B96FF);--color-accent: #5B76FF;--color-income: #4CAF50;--color-income-bg: #1B3A1E;--color-income-light: #1B3A1E;--color-expense: #EF5350;--color-expense-bg: rgba(239, 83, 80, .12);--color-expense-light: rgba(239, 83, 80, .08);--color-profit: #66BB6A;--color-profit-bg: rgba(102, 187, 106, .15);--color-danger: #EF5350;--color-danger-bg: #3A1A1A;--color-plan: #7B96FF;--color-plan-bg: rgba(123, 150, 255, .15);--color-info: #5B76FF;--color-warning: #F6AD55;--green: #66BB6A;--green-bg: #1B3A1E;--red: #EF5350;--red-bg: #3A1A1A;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-card: 0 1px 4px rgba(0, 0, 0, .3);--shadow-sidebar: 2px 0 8px rgba(0, 0, 0, .3);--shadow-topbar: 0 1px 4px rgba(0, 0, 0, .3)}[data-theme=sapphire]{--bg-primary: #F4F5F7;--bg-secondary: #FFFFFF;--bg-card: #FFFFFF;--bg-card-hover: #F8F9FC;--bg-sidebar: #1E2B4A;--bg-sidebar-hover: #263354;--bg-sidebar-active: #2D3D61;--bg-input: #F8F9FC;--bg-input-focus: #FFFFFF;--bg-modal: rgba(0, 0, 0, .45);--bg-topbar: #1E2B4A;--bg-tooltip: #1A1A2E;--bg-badge: #F8F9FC;--bg-table-head: #F4F5F8;--bg-table-row: #FFFFFF;--bg-table-row-hover: #F0F4FF;--bg-main: #F4F5F7;--bg-hover: #F0F4FF;--text-primary: #1A1A2E;--text-secondary: #666666;--text-muted: #999999;--text-light: #BBBBBB;--text-sidebar: #C8D3E8;--text-sidebar-active: #FFFFFF;--text-accent: #3D5AF1;--text-on-dark: #FFFFFF;--text-topbar: #FFFFFF;--border-color: #E8EAF0;--border-color-hover: #D0D4E8;--border-light: #F0F2F8;--border-input: #E8EAF0;--border-input-focus: #3344CC;--border-sidebar: #2D3D61;--border-topbar: #2D3D61;--border-2: #D0D4E8;--accent-primary: #1E3A8A;--accent-primary-hover: #1a3278;--accent-dark: #152660;--accent-light: #EAEDFF;--accent-gradient: linear-gradient(135deg, #3344CC, #4D5FE0);--color-accent: #3D5AF1;--color-income: #1B8A3E;--color-income-bg: #E8F5E9;--color-income-light: #E8F5E9;--color-expense: #D32F2F;--color-expense-bg: rgba(211, 47, 47, .08);--color-expense-light: #FFEBEE;--color-profit: #2E7D32;--color-profit-bg: #E8F5E9;--color-danger: #C62828;--color-danger-bg: #FFEBEE;--color-plan: #5B76FF;--color-plan-bg: rgba(91, 118, 255, .1);--color-info: #3D5AF1;--color-warning: #F6A623;--green: #2E7D32;--green-bg: #E8F5E9;--red: #C62828;--red-bg: #FFEBEE;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-card: 0 1px 4px rgba(0, 0, 0, .06);--shadow-sidebar: 2px 0 8px rgba(0, 0, 0, .15);--shadow-topbar: 0 1px 4px rgba(0, 0, 0, .15)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.5;overflow-x:hidden;transition:background var(--transition-normal),color var(--transition-normal)}*,.card,.modal,.sidebar,.topbar,.form-input,.form-select,.data-table,.btn,.dropdown-menu{transition:background-color var(--transition-normal),border-color var(--transition-normal),color var(--transition-normal),box-shadow var(--transition-normal)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}a{color:var(--accent-primary);text-decoration:none}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;margin-left:var(--sidebar-width);padding-top:var(--topbar-height);overflow-y:auto;background:var(--bg-card);height:100vh}.app-content{padding:24px 28px;max-width:1400px;animation:fadeIn .3s ease}input[type=checkbox],input[type=radio]{accent-color:var(--accent-primary)}.app-content--wide{max-width:none}.app-content--fullscreen{padding:0;max-width:none;animation:fadeIn .3s ease;height:100%;display:flex;flex-direction:column}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:var(--sidebar-width);background:var(--bg-sidebar);display:flex;flex-direction:column;z-index:100;overflow-y:auto;overflow-x:hidden;border-right:1px solid var(--border-sidebar);box-shadow:var(--shadow-sidebar)}.sidebar-logo{height:var(--topbar-height);display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--border-sidebar);flex-shrink:0}.sidebar-logo-icon{width:30px;height:30px;background:var(--accent-primary);border-radius:4px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;color:#fff;flex-shrink:0}.sidebar-logo-text{font-size:14px;font-weight:700;color:var(--text-primary);white-space:nowrap}.sidebar-nav{flex:1;padding:8px 0;display:flex;flex-direction:column;overflow-y:auto}.sidebar-section-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;padding:12px 16px 4px}.sidebar-link{position:relative;display:flex;align-items:center;gap:10px;padding:8px 16px;color:var(--text-sidebar);font-size:14px;font-weight:400;transition:background var(--transition-fast),color var(--transition-fast);cursor:pointer;text-decoration:none;line-height:1.4;min-height:34px}.sidebar-link:hover{background:var(--bg-sidebar-hover);color:var(--text-sidebar-active)}.sidebar-link.active{color:var(--text-sidebar-active);background:var(--bg-sidebar-active);font-weight:700}.sidebar-link.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent-primary);border-radius:0 2px 2px 0}.sidebar-link--sub{padding:6px 12px 6px 10px;font-size:13px;border-radius:var(--radius-sm)}.sidebar-link--sub .sidebar-link-icon{font-size:14px}.sidebar-link-icon{font-size:16px;flex-shrink:0;display:flex;align-items:center;opacity:1}.sidebar-link.active .sidebar-link-icon,.sidebar-link:hover .sidebar-link-icon{opacity:1}.sidebar-footer{border-top:1px solid var(--border-sidebar);padding:8px 0;flex-shrink:0}.sidebar.collapsed{width:52px}.sidebar.collapsed .sidebar-logo-text,.sidebar.collapsed .sidebar-link-label{display:none}.sidebar.collapsed .sidebar-logo{justify-content:center;padding:0;gap:0}.sidebar-collapse-btn--expand{width:36px;height:36px;font-size:14px;border-radius:var(--radius-md)}.sidebar.collapsed .sidebar-link{justify-content:center;padding:10px 0}.sidebar.collapsed .sidebar-link-icon{font-size:20px;opacity:.7}.sidebar.collapsed .sidebar-link.active .sidebar-link-icon,.sidebar.collapsed .sidebar-link:hover .sidebar-link-icon{opacity:1}.sidebar-collapse-btn{margin-left:auto;width:24px;height:24px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-collapse-btn:hover{background:var(--bg-sidebar-hover);color:var(--accent-primary)}.sidebar.collapsed .sidebar-collapse-btn{margin-left:0}.app-main.sidebar-collapsed{margin-left:52px}.topbar.sidebar-collapsed{left:52px}.topbar{position:fixed;top:0;left:var(--sidebar-width);right:0;height:var(--topbar-height);background:var(--bg-topbar);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:99;color:var(--text-topbar);border-bottom:1px solid var(--border-topbar);box-shadow:var(--shadow-topbar)}.topbar-left{display:flex;align-items:center;gap:12px}.topbar-right,.topbar-brand{display:flex;align-items:center;gap:8px}.topbar-brand-icon{width:28px;height:28px;background:var(--accent-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:#fff}.topbar-brand-name{font-size:14px;font-weight:700;color:var(--text-primary)}.topbar-badge-trial{font-size:11px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:#fff3cd;color:#856404;border:1px solid #FFC107}[data-theme=dark] .topbar-badge-trial{background:#332900;color:#ffc107;border-color:#5a4500}.topbar-collapse-btn{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;flex-shrink:0}.topbar-collapse-btn:hover{background:var(--bg-sidebar-hover);color:var(--accent-primary)}.theme-capsule{display:flex;align-items:center;background:var(--bg-table-row);border:1px solid var(--border-color);border-radius:20px;padding:3px;gap:2px}.theme-capsule-btn{width:28px;height:28px;border-radius:16px;border:none;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast);background:transparent;color:var(--text-muted)}.theme-capsule-btn.active{background:var(--accent-primary);color:#fff}.theme-capsule-btn:not(.active):hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.lang-switcher{display:flex;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-full);padding:2px}.lang-btn{padding:4px 10px;border:none;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.lang-btn.active{background:var(--accent-primary);color:#fff}.lang-btn:hover:not(.active){color:var(--text-primary);background:var(--bg-card-hover)}.user-menu{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.user-menu:hover{background:var(--bg-card-hover);border-color:var(--border-color-hover)}.user-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;color:#fff}.user-info{display:flex;flex-direction:column}.user-name{font-size:12px;font-weight:600;color:var(--text-primary);line-height:1.2}.user-role{font-size:10px;color:var(--text-muted);line-height:1.2}.topbar-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:background var(--transition-fast),color var(--transition-fast)}.topbar-btn:hover{background:var(--bg-sidebar-hover);color:var(--accent-primary)}.btn-payment{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast);font-family:var(--font-family)}.btn-payment:hover{background:var(--accent-primary-hover)}.dropdown{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;z-index:200;animation:fadeIn .15s ease}.dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border:none;background:none;width:100%;text-align:left;font-family:var(--font-family);transition:background var(--transition-fast)}.dropdown-item:hover{background:var(--bg-input);color:var(--text-primary)}.dropdown-divider{height:1px;background:var(--border-color);margin:4px 0}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-card)}.card:hover{box-shadow:var(--shadow-md)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-title{font-size:15px;font-weight:600;color:var(--text-primary)}.card-subtitle{font-size:12px;color:var(--text-muted);margin-top:2px}.kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px 20px;display:flex;align-items:flex-start;gap:14px;box-shadow:var(--shadow-card);transition:all var(--transition-fast);position:relative;overflow:hidden}.kpi-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px}.kpi-card.income:before{background:#4caf50}.kpi-card.expense:before{background:#f44336}.kpi-card.info:before{background:var(--accent-primary)}.kpi-card.plan:before{background:var(--color-plan)}.kpi-card.neutral:before{background:var(--accent-primary)}.kpi-card:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.kpi-icon{width:42px;height:42px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.kpi-icon.income{background:var(--color-income-bg);color:var(--color-income)}.kpi-icon.expense{background:var(--color-expense-bg);color:var(--color-expense)}.kpi-icon.info{background:var(--accent-light);color:var(--accent-primary)}.kpi-icon.plan{background:var(--color-plan-bg);color:var(--color-plan)}.kpi-icon.neutral{background:var(--accent-light);color:var(--accent-primary)}.kpi-content{flex:1;min-width:0}.kpi-label{font-size:12px;font-weight:400;color:var(--text-muted);margin-bottom:4px}.kpi-value{font-size:22px;font-weight:700;color:var(--text-primary);line-height:1.2}.kpi-change{font-size:11px;font-weight:600;margin-top:4px;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--radius-full)}.kpi-change.positive{color:var(--color-profit);background:var(--color-profit-bg)}.kpi-change.negative{color:var(--color-danger);background:var(--color-danger-bg)}.dashboard-section{background:transparent;border:none;border-top:1px solid var(--border-color);border-radius:0;padding:20px 0;margin-bottom:0;box-shadow:none}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.section-title{font-size:19px;font-weight:700;color:var(--text-primary);display:flex;align-items:center;gap:8px}.section-title .currency{font-size:14px;color:var(--text-muted);font-weight:400}.section-body{display:grid;grid-template-columns:380px 1fr;gap:24px;align-items:start}.section-kpis{display:flex;flex-direction:column;gap:0}.section-kpi-row{display:flex;align-items:baseline;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border-light)}.section-kpi-row:last-child{border-bottom:none}.section-kpi-label{font-size:14px;color:var(--text-secondary);font-weight:500}.section-kpi-values{text-align:right}.section-kpi-fact{font-size:22px;font-weight:700;color:var(--text-primary);font-variant-numeric:tabular-nums}.section-kpi-fact .decimals{font-size:14px;color:var(--text-muted)}.section-kpi-plan{font-size:12px;color:var(--accent-primary);font-weight:500;margin-top:2px}.tabs{display:flex;gap:0;border:1px solid var(--border-color);border-radius:20px;overflow:hidden;margin-bottom:20px;width:fit-content;padding:3px;background:var(--bg-table-row)}.tab{padding:6px 16px;font-size:13px;font-weight:500;color:var(--text-secondary);background:transparent;border:none;border-radius:16px;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-family)}.tab:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.tab.active{color:#fff;background:var(--accent-primary);font-weight:600}.charts-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:24px}.chart-container{min-height:300px}.table-container{overflow-x:auto;border-radius:0}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{padding:9px 14px;text-align:left;font-size:13.5px;font-weight:500;color:var(--text-muted);background:var(--bg-table-head);border-bottom:1px solid var(--border-color);border-right:1px solid var(--bg-card);white-space:nowrap}.data-table th:last-child{border-right:none}.data-table th:first-child{border-radius:0}.data-table th:last-child{border-radius:0}.data-table td{padding:9px 14px;font-size:13px;color:var(--text-secondary);border-bottom:1px solid var(--border-light)}.data-table tr:hover td{background:var(--bg-table-row-hover)}.data-table tr:hover .row-actions{opacity:1!important}.data-table tr:last-child td{border-bottom:none}.badge{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--radius-full);font-size:11px;font-weight:600;white-space:nowrap}.badge-income{background:var(--color-income-bg);color:var(--color-income)}.badge-expense{background:var(--color-expense-bg);color:var(--color-expense)}.badge-plan{background:var(--color-plan-bg);color:var(--color-plan)}.badge-fact{background:var(--color-profit-bg);color:var(--color-profit)}.badge-transfer{background:var(--color-plan-bg);color:var(--color-plan)}.badge-new{background:var(--green-bg);color:var(--green);font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px}.badge-beta{background:#e3f2fd;color:#1565c0;font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px}[data-theme=dark] .badge-beta{background:#0d2a40;color:#64b5f6}.tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:11px;background:var(--bg-input);color:var(--text-secondary)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:5px}.form-input,.form-select,.form-textarea{width:100%;padding:9px 12px;background:var(--bg-secondary);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-family:var(--font-family);transition:border-color var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 3px #3d5af11a}.form-input::placeholder{color:var(--text-light)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a0aec0' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border:none;border-radius:var(--radius-md);font-size:13px;font-weight:500;font-family:var(--font-family);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-primary-hover);box-shadow:var(--shadow-md)}.btn-outline{background:var(--bg-card);color:var(--accent-primary);border:1px solid var(--accent-primary)}.btn-outline:hover:not(:disabled){background:var(--accent-light)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-input);border-color:var(--border-color-hover)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger);border:1px solid rgba(198,40,40,.2)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-input)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:10px 20px;font-size:14px}.filters-bar{display:flex;align-items:center;gap:10px;padding:12px 0;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:6px}.filter-input{padding:7px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;font-family:var(--font-family);outline:none;min-width:130px}.filter-input:focus{border-color:var(--accent-primary)}.settings-fi,.settings-fi:focus{border-radius:0!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;outline:none}.settings-fi:focus{border-color:var(--accent-primary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#eef0ff,#f4f5f7,#e8f5e9)}[data-theme=dark] .login-page{background:linear-gradient(135deg,#13131f,#1a1a2c)}.login-card{width:100%;max-width:400px;padding:40px 36px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:fadeInUp .4s ease}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{width:52px;height:52px;margin:0 auto 14px;background:var(--accent-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:#fff}.login-title{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:4px}.login-subtitle{font-size:14px;color:var(--text-muted)}.login-form{display:flex;flex-direction:column;gap:16px}.login-input{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border-input);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font-family);outline:none}.login-input:focus{border-color:var(--border-input-focus);box-shadow:0 0 0 3px #3d5af11a}.login-btn{width:100%;padding:12px;background:var(--accent-primary);border:none;border-radius:var(--radius-md);color:#fff;font-size:15px;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:background var(--transition-fast)}.login-btn:hover:not(:disabled){background:var(--accent-primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.login-error{padding:10px 14px;background:var(--color-danger-bg);border:1px solid rgba(198,40,40,.2);border-radius:var(--radius-md);color:var(--color-danger);font-size:13px;text-align:center}.login-footer{margin-top:20px;text-align:center;font-size:12px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:var(--bg-card);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:fadeInUp .2s ease;border:1px solid var(--border-color)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title{font-size:18px;font-weight:700;color:var(--text-primary)}.modal-close{width:30px;height:30px;border-radius:var(--radius-sm);border:none;background:var(--bg-input);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}.modal-close:hover{background:var(--color-danger-bg);color:var(--color-danger)}.modal-body{padding:20px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:0 24px 20px}.modal-fullscreen{width:calc(100vw - 40px);max-width:calc(100vw - 40px);height:calc(100vh - 40px);max-height:calc(100vh - 40px);border-radius:var(--radius-lg);display:flex;flex-direction:column}.modal-fullscreen .modal-body{flex:1;overflow-y:auto}.pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 0;color:var(--text-muted);font-size:12px}.pagination-btns{display:flex;gap:4px}.pagination-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;font-family:var(--font-family)}.pagination-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.pagination-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.pagination-btn:disabled{opacity:.4}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:60px}.spinner{width:36px;height:36px;border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(90deg,var(--bg-input) 25%,var(--bg-card-hover) 50%,var(--bg-input) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ai-progress-track{position:relative;height:8px;border-radius:999px;background:var(--bg-input);overflow:hidden}.ai-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#1e3a8a,#3d5af1);transition:width .25s ease}.ai-progress-track--indeterminate:after{content:"";position:absolute;inset:0 auto 0 0;width:40%;border-radius:999px;background:linear-gradient(90deg,#3d5af100,#3d5af1,#3d5af100);animation:ai-progress-run 1.4s ease-in-out infinite}@keyframes ai-progress-run{0%{transform:translate(-100%)}to{transform:translate(250%)}}.ai-progress-spark{animation:ai-progress-pulse 1.6s ease-in-out infinite}@keyframes ai-progress-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.14)}}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:12px}.page-title{font-size:22px;font-weight:600;color:var(--text-primary)}.page-actions{display:flex;align-items:center;gap:10px}.period-selector{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card)}.period-btn{padding:6px 14px;border:none;border-right:1px solid var(--border-color);background:transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;font-family:var(--font-family);transition:background var(--transition-fast),color var(--transition-fast)}.period-btn:last-child{border-right:none}.period-btn.active{background:var(--accent-light);color:var(--accent-primary);font-weight:600}.period-btn:hover:not(.active){background:var(--bg-input)}.amount{font-weight:600;font-variant-numeric:tabular-nums}.amount.income{color:var(--color-income)}.amount.expense{color:var(--color-danger)}.amount.neutral{color:var(--text-primary)}.mono{font-variant-numeric:tabular-nums}.report-table{width:100%;border-collapse:separate;border-spacing:0}.report-table th{padding:9px 14px;text-align:left;font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-table-head);border-bottom:2px solid var(--accent-primary)}.report-table td{padding:9px 14px;font-size:13px;border-bottom:1px solid var(--border-light);color:var(--text-secondary)}.report-table .row-section{font-weight:600;color:var(--text-primary);background:var(--bg-table-row)}.report-table .row-sub{padding-left:32px;color:var(--text-secondary)}.report-table .row-total{font-weight:700;background:var(--accent-light);color:var(--accent-primary)}.report-table .row-total td{border-top:2px solid var(--accent-primary)}.report-table tr:hover td{background:var(--bg-table-row-hover)}.completion-bar{width:70px;height:5px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden;display:inline-block;vertical-align:middle;margin-right:6px}.completion-bar-fill{height:100%;border-radius:var(--radius-full)}.val-positive{color:var(--green);font-weight:500}.val-negative{color:var(--red);font-weight:500}.val-accent{color:var(--accent-primary);font-weight:700}.empty-state{text-align:center;padding:60px 20px;color:var(--text-muted)}.empty-state-icon{font-size:42px;margin-bottom:12px;opacity:.4}.empty-state-text{font-size:14px}.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:20px}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-item{padding:9px 14px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;border:none;background:none;text-align:left;font-family:var(--font-family);transition:all var(--transition-fast)}.settings-nav-item:hover{background:var(--bg-input);color:var(--text-primary)}.settings-nav-item.active{color:var(--accent-primary);background:var(--accent-light)}.settings-content{min-height:400px}@media(max-width:1024px){.charts-grid,.section-body{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.app-main{margin-left:0}.topbar{left:0}.app-content{padding:16px}.kpi-grid,.settings-layout{grid-template-columns:1fr}.settings-nav{flex-direction:row;overflow-x:auto}.user-info{display:none}}.cp-row:hover{background:var(--bg-hover)!important}.cp-row.selected,.cp-row.selected:hover{background:var(--accent-light, #e0f2fe)!important}.cp-row.dragging{background:var(--bg-table-head)!important}.cp-row td{cursor:pointer}.cp-row td.cp-cb{cursor:default;width:40px}.cp-row td.cp-cb input[type=checkbox]{cursor:pointer;width:16px;height:16px}.topbar-org-select{display:flex;align-items:center;gap:6px;border:none;border-radius:6px;background:transparent;padding:6px 10px;cursor:pointer;font-size:14px;font-weight:500;white-space:nowrap;color:var(--text-primary);transition:background .12s}.topbar-org-select:hover,.topbar-org-select.is-open{background-color:var(--bg-sidebar-hover, #EEF0FF)}.balance-amount{padding:1px 6px;margin:0 -6px;border-radius:4px;cursor:pointer;transition:background .12s ease,color .12s ease}.balance-amount:hover{background:var(--bg-table-head);color:var(--accent-primary)}
