:root{--background-dark: #1a1d21;--background-light: #2c3035;--background-lighter: #3c4045;--border-color: #4a4e53;--text-primary: #e8e6e3;--text-secondary: #a8a6a3;--accent-primary: #3b82f6;--accent-secondary: #f59e0b;--accent-tertiary: #10b981;--accent-primary-hover: #60a5fa;--font-family: "Inter", sans-serif;--error-color: #ef4444;--chart-color-1: #3b82f6;--chart-color-2: #f59e0b;--chart-color-3: #10b981;--chart-color-4: #ef4444;--chart-color-5: #8b5cf6;--chart-color-6: #ec4899;--chart-color-7: #64748b}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;background-color:var(--background-dark);color:var(--text-primary);font-family:var(--font-family)}#root{display:flex}.login-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-dark);display:flex;justify-content:center;align-items:center;padding:2rem;z-index:3000}.login-box{background-color:var(--background-light);border:1px solid var(--border-color);border-radius:12px;padding:2.5rem 3rem;width:100%;max-width:400px;text-align:center;animation:fadeIn .5s ease-out}.login-title{font-size:2.2rem;font-weight:800;margin-bottom:.5rem;color:var(--text-primary);letter-spacing:.5px}.login-title .header-thin{font-weight:300;color:var(--text-secondary)}.login-subtitle{font-size:1rem;color:var(--text-secondary);margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem;text-align:left}.input-group{display:flex;flex-direction:column;gap:.5rem}.input-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.input-group input{background-color:var(--background-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:6px;font-size:1rem}.input-group input:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f64d}.login-button{margin-top:1rem;background-color:var(--accent-primary);color:#fff;border:none;padding:.8rem;border-radius:6px;font-weight:600;font-size:1rem;cursor:pointer;transition:background-color .2s}.login-button:hover:not(:disabled){background-color:var(--accent-primary-hover)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-error{background-color:#ef44441a;color:var(--error-color);border:1px solid var(--error-color);border-radius:6px;padding:.75rem 1rem;text-align:center;font-size:.9rem}.mode-selection-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--background-dark);display:flex;justify-content:center;align-items:center;padding:2rem;z-index:2000}.mode-selection-box{background-color:var(--background-light);border:1px solid var(--border-color);border-radius:12px;padding:3rem;max-width:800px;width:100%;text-align:center;animation:fadeIn .5s ease-out}.mode-selection-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.mode-selection-box>p{font-size:1.1rem;color:var(--text-secondary);margin-bottom:2.5rem}.mode-selection-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.mode-selection-button{background-color:var(--background-lighter);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;text-align:left;cursor:pointer;transition:all .2s ease;color:var(--text-primary)}.mode-selection-button:hover{transform:translateY(-5px);border-color:var(--accent-primary);box-shadow:0 10px 15px -3px #0003}.mode-selection-button:disabled{cursor:not-allowed;opacity:.5}.mode-selection-button:disabled:hover{transform:none;border-color:var(--border-color);box-shadow:none}.mode-selection-button h3{font-size:1.25rem;margin-bottom:.5rem}.mode-selection-button p{font-size:.9rem;color:var(--text-secondary);line-height:1.5}.app-loader,.app-error{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem}.app-loader p{font-size:1.1rem;color:var(--text-secondary);text-transform:capitalize}.app-error{background-color:var(--background-light);padding:2rem;border-radius:8px;max-width:500px;margin:auto;text-align:center}.app-error h2{margin-bottom:.5rem;color:var(--error-color)}.app-error button{margin-top:1.5rem;background-color:var(--accent-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.app-error button:hover{background-color:var(--accent-primary-hover)}.sidebar{width:240px;background-color:var(--background-dark);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:1.5rem 1rem;flex-shrink:0}.sidebar-header{font-size:1.8rem;font-weight:800;margin-bottom:2rem;color:var(--text-primary);text-align:center;letter-spacing:.5px}.sidebar-header .header-thin{font-weight:300;color:var(--text-secondary)}.nav{display:flex;flex-direction:column;gap:.25rem;flex-grow:1}.nav-item{padding:.7rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-secondary);transition:background-color .2s,color .2s;border:1px solid transparent}.nav-item:hover{background-color:var(--background-light);color:var(--text-primary)}.nav-item.active{background-color:var(--accent-primary);color:#fff;font-weight:600}.sidebar-footer{padding-top:1rem;border-top:1px solid var(--border-color)}.user-info{display:flex;align-items:center;gap:.75rem;padding:.5rem;margin-bottom:.5rem}.user-avatar{width:32px;height:32px;border-radius:50%;background-color:var(--accent-secondary);color:var(--background-dark);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem;text-transform:uppercase}.user-name{font-weight:500;color:var(--text-primary);text-transform:capitalize}.logout-button{width:100%;text-align:left;background-color:transparent;border:none;color:var(--text-secondary);padding:.7rem 1rem;border-radius:6px;cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s,color .2s;display:flex;align-items:center;gap:.75rem}.logout-button:hover{background-color:var(--background-light);color:var(--text-primary)}.main-content{flex-grow:1;padding:2rem;overflow-y:auto;display:flex;flex-direction:column}.main-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.header-title-group{display:flex;align-items:center;gap:1rem}.content-header{font-size:1.8rem;font-weight:700;text-transform:capitalize}.header-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.mode-indicator{background-color:var(--background-lighter);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;text-transform:uppercase;font-weight:600;border:1px solid var(--border-color)}.mode-indicator.live{color:var(--accent-tertiary);border-color:var(--accent-tertiary)}.mode-indicator.demo{color:var(--accent-secondary);border-color:var(--accent-secondary)}.dashboard-content{flex-grow:1}.kpi-card{background-color:var(--background-light);border:1px solid var(--border-color);border-radius:8px;padding:1.25rem;display:flex;flex-direction:column;height:100%;position:relative;box-shadow:0 4px 10px #0000001a}.kpi-card-title{font-size:.9rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.kpi-card-value{font-size:clamp(1.2rem,3.5vw,1.5rem);font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-card .mom-indicator{font-size:.8rem;font-weight:500;margin-top:.25rem;display:flex;align-items:center;gap:.25rem}.kpi-card .mom-indicator.positive{color:var(--accent-tertiary)}.kpi-card .mom-indicator.negative{color:var(--error-color)}.kpi-card .mom-indicator svg{position:relative;top:-1px}.kpi-breakdown-popover{visibility:hidden;opacity:0;position:absolute;top:100%;left:0;z-index:100;background-color:var(--background-lighter);border:1px solid var(--border-color);border-radius:8px;padding:1rem;min-width:250px;box-shadow:0 10px 20px #0000004d;transition:opacity .2s,visibility .2s;pointer-events:none}.kpi-breakdown-header{font-size:1rem;font-weight:600;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border-color)}.kpi-breakdown-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.kpi-breakdown-item{display:flex;justify-content:space-between;align-items:center;font-size:.875rem}.kpi-breakdown-label{display:flex;align-items:center;gap:.5rem;color:var(--text-secondary)}.kpi-breakdown-value{font-weight:500;color:var(--text-primary)}.dashboard-card{background-color:var(--background-light);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;position:relative;height:100%;box-shadow:0 4px 10px #0000001a}.dashboard-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dashboard-card-header-actions{display:flex;align-items:center;gap:.5rem}.aging-toggle{display:flex;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.aging-toggle-btn{padding:.25rem .75rem;border:none;background:var(--background-light);color:var(--text-color);font-size:.75rem;cursor:pointer;transition:all .2s ease;border-right:1px solid var(--border-color)}.aging-toggle-btn:last-child{border-right:none}.aging-toggle-btn:hover{background:var(--background-hover)}.aging-toggle-btn.active{background:var(--primary-color);color:#fff}.dashboard-card-header h2{font-size:1.1rem;font-weight:600;margin:0}.dashboard-card-content{flex-grow:1;display:flex;flex-direction:column;justify-content:flex-start;min-height:0;overflow:auto}.info-tooltip-container{position:relative;display:inline-flex;align-items:center;margin-left:.5rem}.info-icon{color:var(--text-secondary);cursor:help;transition:color .2s}.info-tooltip-container:hover .info-icon{color:var(--text-primary)}.info-tooltip-text{visibility:hidden;width:280px;background-color:var(--background-dark);color:var(--text-primary);text-align:left;border-radius:6px;padding:1rem;position:absolute;z-index:10;bottom:125%;left:50%;margin-left:-140px;opacity:0;transition:opacity .3s ease;border:1px solid var(--border-color);font-size:.875rem;font-weight:400;line-height:1.5;box-shadow:0 5px 15px #0000004d;pointer-events:none}.info-tooltip-text:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--background-dark) transparent transparent transparent}.info-tooltip-container:hover .info-tooltip-text,.info-tooltip-container:focus-within .info-tooltip-text{visibility:visible;opacity:1}.table-wrapper{overflow:auto;flex-grow:1;width:100%}.data-table,.pl-table{width:100%;border-collapse:collapse}.data-table th,.data-table td,.pl-table th,.pl-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap}.data-table th{font-size:.85rem;letter-spacing:.5px;font-weight:600;color:var(--text-secondary);background-color:var(--background-lighter);position:sticky;top:0;z-index:1}.data-table td{font-size:.9rem}.data-table td.truncate-text{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.data-table .numeric,.pl-table .numeric{text-align:right}.data-table .low-stock{color:var(--accent-secondary);font-weight:600}.data-table tfoot .total-row td,.pl-table tfoot .total-row td,.data-table .total-row,.pl-table .total-row{border-top:2px solid var(--border-color);font-weight:700;background-color:var(--background-lighter)}.paged-table-container{display:flex;flex-direction:column;width:100%;min-height:0}.load-more-container{width:100%;text-align:center;padding-top:1rem;flex-shrink:0}.load-more-button{background-color:var(--accent-primary);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s}.load-more-button:hover{background-color:var(--accent-primary-hover)}.pl-bs-container{display:flex;flex-direction:column;height:100%}.pl-table .pl-section-header td{font-weight:700;font-size:1.05rem;color:var(--text-primary);padding-top:1.5rem;border-top:2px solid var(--border-color);border-bottom:1px solid var(--border-color)}.pl-table tr.clickable:hover td{background-color:var(--background-lighter);cursor:pointer}.pl-table .pl-group-total td{font-weight:600;color:var(--text-secondary)}.pl-table .pl-sub-item td:first-child{padding-left:2.5rem}.pl-table .gross-profit-row td{font-weight:700;font-size:1.1rem;color:var(--accent-tertiary);border-top:2px solid var(--border-color);border-bottom:2px solid var(--border-color);padding-top:1rem;padding-bottom:1rem}.pl-table .net-profit-row td{font-weight:700;font-size:1.2rem;color:var(--accent-primary);border-top:2px solid var(--border-color);padding-top:1rem;padding-bottom:1rem}.bs-grid-container{display:grid;grid-template-columns:1fr 1fr;gap:2rem;height:100%}.bs-side{background-color:transparent;border:none;border-radius:0;padding:0;display:flex;flex-direction:column;gap:1rem}.bs-header{font-size:1.25rem;font-weight:600;margin-bottom:.5rem;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.bs-item{display:flex;justify-content:space-between;padding:.5rem 0;font-size:1rem}.bs-item.clickable{cursor:pointer;border-radius:4px;transition:background-color .2s}.bs-item.clickable:hover{background-color:var(--background-lighter)}.bs-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.1rem;border-top:2px solid var(--border-color);padding-top:1rem;margin-top:auto}.bar-chart{display:flex;flex-direction:column;gap:1rem;width:100%}.bar-item{display:grid;grid-template-columns:150px 1fr auto;align-items:center;gap:1rem;border-radius:4px;transition:background-color .2s}.bar-item.clickable:hover{background-color:var(--background-lighter);cursor:pointer}.bar-label{max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.875rem;color:var(--text-secondary);text-align:right}.bar{background-color:var(--background-lighter);border-radius:4px;height:24px;overflow:hidden}.bar-inner{background-color:var(--accent-primary);height:100%;border-radius:4px;transition:width .5s ease-out}.bar-amount{font-size:.875rem;font-weight:500;min-width:100px;text-align:right}.company-color-1{background-color:var(--chart-color-1)!important;fill:var(--chart-color-1)!important}.company-color-2{background-color:var(--chart-color-2)!important;fill:var(--chart-color-2)!important}.pie-chart-container,.line-chart-container{position:relative;width:100%;height:100%;margin:0 auto}.pie-slice{transition:transform .2s ease-out}.pie-slice.clickable{cursor:pointer}.pie-slice.clickable:hover{transform:scale(1.05)}.line-path{stroke-width:2}.dot{stroke:var(--background-light);stroke-width:2;transition:r .2s;cursor:pointer}.dot:hover{r:6}.series-1{stroke:var(--chart-color-1)}.series-2{stroke:var(--chart-color-2)}.series-3{stroke:var(--chart-color-3)}.series-4{stroke:var(--chart-color-4)}.series-5{stroke:var(--chart-color-5)}.series-6{stroke:var(--chart-color-6)}.series-7{stroke:var(--chart-color-7)}.series-bg-1{fill:var(--chart-color-1);background-color:var(--chart-color-1)}.series-bg-2{fill:var(--chart-color-2);background-color:var(--chart-color-2)}.series-bg-3{fill:var(--chart-color-3);background-color:var(--chart-color-3)}.series-bg-4{fill:var(--chart-color-4);background-color:var(--chart-color-4)}.series-bg-5{fill:var(--chart-color-5);background-color:var(--chart-color-5)}.series-bg-6{fill:var(--chart-color-6);background-color:var(--chart-color-6)}.series-bg-7{fill:var(--chart-color-7);background-color:var(--chart-color-7)}.chart-tooltip{position:absolute;background-color:#000c;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;pointer-events:none;transition:opacity .2s;white-space:nowrap;z-index:10}.pie-label{fill:#fff;font-size:14px;font-weight:600;text-anchor:middle;pointer-events:none;text-shadow:0 0 3px rgba(0,0,0,.7)}.line-chart-container svg,.pie-chart-container svg{width:100%;height:100%}.line-chart-container svg text,.pie-chart-container svg text{fill:var(--text-secondary);font-size:12px}.line-chart-container .grid line{stroke:var(--border-color);stroke-dasharray:2,2}.line-chart-container .axis-line{stroke:var(--border-color)}.chart-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;width:100%}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--text-secondary)}.legend-swatch{width:12px;height:12px;border-radius:2px}.horizontal-stacked-bar-chart{display:flex;flex-direction:column;gap:1rem;width:100%;height:100%}.horizontal-stacked-bar-chart .horizontal-legend{margin-top:0;margin-bottom:1.5rem}.bar-row{display:grid;grid-template-columns:120px 1fr 100px;align-items:center;gap:1rem}.bar-row-label{font-size:.875rem;color:var(--text-secondary);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-container{display:flex;width:100%;height:28px;border-radius:4px;overflow:hidden;background-color:var(--background-lighter)}.bar-segment{height:100%;transition:width .5s ease-out;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.75rem;font-weight:600;overflow:hidden}.bar-segment-label{text-shadow:0 0 3px rgba(0,0,0,.6)}.bar-row-total{font-size:.875rem;font-weight:500;text-align:right}.gl-controls{display:flex;gap:1rem;margin-bottom:1.5rem;width:100%}.gl-controls .ledger-select{flex-grow:1;background-color:var(--background-light);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500}.gl-kpi-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;width:100%;margin-bottom:1.5rem}.gl-kpi{background-color:var(--background-lighter);border:1px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.25rem}.gl-kpi span{font-size:.9rem;color:var(--text-secondary)}.gl-kpi strong{font-size:1.25rem;font-weight:600}.header-actions{display:none}.date-filter-container{position:relative}.date-filter-container>button,.date-filter-container>input,.date-filter-container>span{display:none}.date-filter-button{display:flex!important;align-items:center;gap:.5rem;background-color:var(--background-light);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s;min-width:160px;justify-content:space-between}.date-filter-button:hover{background-color:var(--background-lighter)}.date-filter-button[aria-expanded=true]{border-color:var(--accent-primary)}.date-filter-button .chevron{transition:transform .2s ease-in-out}.date-filter-popover{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--background-light);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 20px #00000040;z-index:100;width:320px;padding:1rem;display:flex;flex-direction:column;gap:1rem;animation:fadeIn .2s ease-out}.date-presets{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.date-presets button{flex-grow:1;padding:.75rem .5rem;background-color:var(--background-lighter);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;text-align:center;white-space:nowrap}.date-presets button:hover{background-color:var(--background-dark);color:var(--text-primary);border-color:var(--accent-primary);transform:translateY(-1px)}.date-presets button.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px #3b82f64d}.custom-date-range{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-top:1px solid var(--border-color);padding-top:1rem}.custom-date-range input[type=date]{width:100%;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--background-lighter);color:var(--text-primary);font-size:.875rem}.custom-date-range input[type=date]:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 2px #3b82f61a}.ledger-filter-container,.currency-filter-container,.company-filter-container{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}input[type=date],input[type=search],.currency-filter-container select,.company-filter-container select,.action-button{background-color:var(--background-light);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:.5rem}.action-button svg{width:1rem;height:1rem}.currency-filter-container select,.company-filter-container select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%23a8a6a3' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}input:focus,select:hover,.action-button:hover{background-color:var(--background-lighter);outline:none}input[type=search]{width:220px}.ai-button{background-color:var(--accent-secondary);color:var(--background-dark);border:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background-color .2s}.ai-button:hover:not(:disabled){background-color:#ffb74d}.ai-button:disabled{cursor:not-allowed;opacity:.6}.ai-button svg{width:1.2rem;height:1.2rem}.actions-menu-container{position:relative}.actions-dropdown{position:absolute;top:calc(100% + 8px);right:0;background-color:var(--background-light);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 20px #00000040;z-index:100;width:200px;padding:.5rem;display:flex;flex-direction:column;gap:.5rem;animation:fadeIn .2s ease-out}.actions-dropdown>button{width:100%;justify-content:flex-start;padding:.75rem 1rem;background-color:transparent;text-align:left}.actions-dropdown>button:hover{background-color:var(--background-lighter)}.actions-dropdown .ai-button{color:var(--accent-secondary)}.ai-modal-overlay,.drill-down-modal-overlay,.bug-report-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease;padding:2rem}.ai-modal-content,.drill-down-modal-content,.bug-report-modal-content{background:var(--background-light);padding:2rem;border-radius:12px;max-width:800px;width:90%;max-height:90vh;overflow-y:hidden;position:relative;border:1px solid var(--border-color);display:flex;flex-direction:column}.ai-chat-header,.drill-down-modal-header,.bug-report-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.ai-modal-close,.drill-down-modal-close,.bug-report-modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;line-height:1}.ai-chat-header h2,.drill-down-modal-header h2,.bug-report-modal-header h2{font-size:1.5rem}.ai-chat-header h2{color:var(--accent-secondary)}.ai-chat-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.ai-chat-history{flex-grow:1;overflow-y:auto;padding-right:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex}.chat-message .message-content{max-width:85%;padding:.75rem 1rem;border-radius:12px;line-height:1.6}.chat-message.model .message-content{background-color:var(--background-dark);border-top-left-radius:0}.chat-message.user{justify-content:flex-end}.chat-message.user .message-content{background-color:var(--accent-primary);color:#fff;border-top-right-radius:0}.message-content h2{margin:1rem 0 .5rem;font-size:1.25rem}.message-content ul{padding-left:1.5rem;margin-top:.5rem}.ai-chat-input-form{display:flex;gap:.5rem;margin-top:auto}.ai-chat-input-form input{flex-grow:1;background-color:var(--background-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:6px;font-size:1rem}.ai-chat-input-form input:focus{outline:none;border-color:var(--accent-primary)}.ai-chat-input-form button{background-color:var(--accent-primary);color:#fff;border:none;padding:.75rem;border-radius:6px;cursor:pointer;display:flex;justify-content:center;align-items:center;transition:background-color .2s}.ai-chat-input-form button:hover{background-color:var(--accent-primary-hover)}.ai-chat-input-form button:disabled{background-color:var(--border-color);cursor:not-allowed}.streaming-indicator{display:flex;gap:4px;align-items:center;justify-content:center;padding:1rem}.streaming-indicator span{width:8px;height:8px;background-color:var(--text-secondary);border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.streaming-indicator span:nth-child(1){animation-delay:-.32s}.streaming-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.initial-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1;gap:1rem}.initial-loading-container p{color:var(--text-secondary)}.loading-spinner{width:48px;height:48px;border:5px solid var(--border-color);border-bottom-color:var(--accent-primary);border-radius:50%;display:block;animation:rotation 1s linear infinite}.error-message{color:var(--error-color);font-weight:500;background-color:#ef44441a;border:1px solid var(--error-color);padding:1rem;border-radius:8px}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.export-excel-icon{background:none;border:none;width:1.25rem;height:1.25rem;cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.export-excel-icon:hover{color:var(--text-primary)}.react-grid-item>.react-resizable-handle{background-image:none;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:4px;bottom:4px;width:12px;height:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M11 7L7 11' stroke='%234a4e53' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M11 10L10 11' stroke='%234a4e53' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;cursor:se-resize;transition:all .2s;border:none;transform:none}.react-grid-item>.react-resizable-handle:hover:after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none'%3E%3Cpath d='M11 7L7 11' stroke='%23a8a6a3' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='M11 10L10 11' stroke='%23a8a6a3' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E")}.gauge-chart{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;position:relative;width:150px;height:120px}.gauge-svg{width:100%;height:auto}.gauge-track{stroke:var(--background-lighter)}.gauge-progress{stroke-linecap:round;transition:stroke-dashoffset .5s ease-out}.gauge-value{position:absolute;bottom:2rem;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.gauge-label{font-size:.875rem;color:var(--text-secondary);font-weight:500;position:absolute;bottom:.5rem}.financial-ratios-container{display:flex;justify-content:space-around;align-items:center;width:100%;height:100%}.doughnut-center-text{font-size:1.75rem;font-weight:700;fill:var(--text-primary)}.pie-chart-container .chart-legend .legend-item{cursor:pointer}.bug-report-modal-content{max-width:600px}.bug-tracker-modal-content{max-width:1200px;width:95%;flex:1 1 auto;min-height:0}.bug-report-form{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:1rem}.bug-report-form label{font-size:.9rem;font-weight:600;color:var(--text-secondary);margin-bottom:-.5rem}.bug-report-form input[type=text],.bug-report-form textarea,.bug-report-form select,.bug-tracker-select{background-color:var(--background-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:6px;font-size:1rem;font-family:var(--font-family);width:100%}.bug-tracker-select{padding:.5rem .75rem;font-size:.9rem}.bug-report-form input:focus,.bug-report-form textarea:focus,.bug-report-form select:focus,.bug-tracker-select:focus{outline:none;border-color:var(--accent-primary)}.bug-report-form textarea{resize:vertical;min-height:120px}.screenshot-info{font-size:.8rem;color:var(--text-secondary);font-style:italic;text-align:center;margin-top:.5rem}.bug-report-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem;border-top:1px solid var(--border-color);padding-top:1.5rem}.bug-report-actions button{border:none;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s;font-size:.9rem}.bug-report-actions .btn-secondary{background-color:var(--background-lighter);color:var(--text-primary);border:1px solid var(--border-color)}.bug-report-actions .btn-secondary:hover{background-color:var(--background-dark)}.bug-report-actions .btn-primary{background-color:var(--accent-primary);color:#fff}.bug-report-actions .btn-primary:hover{background-color:var(--accent-primary-hover)}.user-management-container{display:flex;flex-direction:column;height:100%}.user-management-header{display:flex;justify-content:flex-end;margin-bottom:1.5rem}.user-table .user-actions{display:flex;gap:.5rem}.user-table .user-actions button{background-color:transparent;border:none;cursor:pointer;padding:.25rem;color:var(--text-secondary)}.user-table .user-actions button:hover{color:var(--text-primary)}.user-table .user-actions button.delete:hover{color:var(--error-color)}.user-modal-form{display:flex;flex-direction:column;gap:1.5rem}.user-modal-form .input-group{gap:.75rem}.user-modal-form select{background-color:var(--background-dark);border:1px solid var(--border-color);color:var(--text-primary);padding:.75rem 1rem;border-radius:6px;font-size:1rem;font-family:var(--font-family);width:100%}.loading-progress-bar{width:80%;max-width:400px;height:10px;background-color:var(--background-lighter);border-radius:5px;overflow:hidden;margin-top:1rem}.loading-progress-bar-inner{height:100%;background-color:var(--accent-primary);border-radius:5px;transition:width .3s ease-in-out}.react-grid-item:hover{z-index:10}.react-grid-item:hover .kpi-card.has-breakdown .kpi-breakdown-popover{visibility:visible;opacity:1;pointer-events:auto}.react-grid-item{transition:all .2s ease;transition-property:left,top;display:flex;flex-direction:column}.react-grid-item.cssTransforms{transition-property:transform}.react-grid-item.resizing{z-index:1;will-change:width,height}.react-grid-item.react-grid-placeholder{background:var(--accent-primary);opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;border-radius:8px}.react-grid-item>.kpi-card,.react-grid-item>.dashboard-card{width:100%;height:100%}@media print{body,html{background-color:#fff;color:#000}.sidebar,.main-header,.ai-modal-overlay,.drilldown-modal-overlay,.export-excel-icon{display:none!important}.main-content{padding:0;overflow:visible}.react-grid-layout{display:block!important}.react-grid-item{page-break-inside:avoid}.dashboard-card,.kpi-card,.bs-side{border:1px solid #ccc;box-shadow:none}.dashboard-card-content{justify-content:flex-start}}.pie-chart-container svg{max-height:calc(100% - 40px);max-width:100%}.toggle-list-button{background-color:transparent;border:1px solid var(--accent-primary);color:var(--accent-primary);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;margin-top:.5rem;align-self:flex-end}.toggle-list-button:hover{background-color:var(--accent-primary);color:#fff}@media (max-width: 996px){.bs-grid-container{grid-template-columns:1fr;height:auto}}@media (max-width: 768px){.main-header,.header-controls{flex-direction:column;align-items:stretch}.sidebar{display:none}.bar-item{grid-template-columns:80px 1fr auto;gap:.5rem}.bar-label{max-width:70px}}.company-last-entries-header-widget{position:relative;display:inline-block}.header-widget-trigger{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--background-light);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:.875rem;min-width:200px}.header-widget-trigger:hover{background:var(--background-lighter);border-color:var(--primary-color)}.widget-icon{display:flex;align-items:center;color:var(--text-secondary)}.widget-summary{display:flex;flex-direction:column;gap:.125rem;flex:1}.companies-count{font-weight:500;color:var(--text-primary);font-size:.75rem}.oldest-entry{font-size:.7rem;font-weight:400}.oldest-entry.recent{color:var(--success-color)}.oldest-entry.moderate{color:var(--warning-color)}.oldest-entry.old{color:var(--error-color)}.expand-arrow{display:flex;align-items:center;transition:transform .2s ease;color:var(--text-secondary)}.expand-arrow.expanded{transform:rotate(180deg)}.header-widget-dropdown{position:absolute;top:100%;right:0;z-index:1000;background:var(--background-light);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:400px;max-width:500px;margin-top:.25rem;animation:slideDown .2s ease}.dropdown-header{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);background:var(--background-lighter)}.dropdown-header h4{margin:0;font-size:.875rem;font-weight:600;color:var(--text-primary)}.dropdown-content{padding:.5rem;max-height:300px;overflow-y:auto}.compact-entries-table{width:100%;border-collapse:collapse;font-size:.8rem}.compact-entries-table th{text-align:left;padding:.5rem;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:.75rem}.compact-entries-table td{padding:.5rem;border-bottom:1px solid var(--border-light)}.compact-entries-table tbody tr:hover{background:var(--background-lighter)}.company-name{font-weight:500;color:var(--text-primary)}.entry-date{color:var(--text-secondary);font-size:.75rem}.days-ago{font-weight:500;font-size:.75rem}.days-ago.recent{color:var(--success-color)}.days-ago.moderate{color:var(--warning-color)}.days-ago.old{color:var(--error-color)}.voucher-type{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase}@media (max-width: 768px){.header-widget-trigger{min-width:160px;padding:.4rem .6rem}.header-widget-dropdown{min-width:320px;right:-50px}.companies-count{font-size:.7rem}.oldest-entry{font-size:.65rem}}@media (max-width: 480px){.header-widget-dropdown{position:fixed;top:50%;left:50%;right:auto;transform:translate(-50%,-50%);min-width:90vw;max-width:90vw;margin-top:0}}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.aging-report-widget{width:100%;height:100%;overflow:auto}.aging-table-container{width:100%;overflow-x:auto;border:1px solid #e0e0e0;border-radius:4px}.aging-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.aging-table th,.aging-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0}.aging-table th:last-child,.aging-table td:last-child{border-right:none}.aging-table thead th{background-color:#f5f5f5;font-weight:600;color:#333;position:sticky;top:0;z-index:10}.company-header{min-width:150px;background-color:#e8f5e8!important}.period-header{min-width:100px;text-align:center;background-color:#f0f8ff!important}.total-header{min-width:100px;text-align:center;background-color:#fff8dc!important}.data-row:nth-child(2n){background-color:#f9f9f9}.data-row:hover{background-color:#f0f8ff}.company-cell{font-weight:500;color:#333}.amount-cell,.total-cell{text-align:right;font-family:Courier New,monospace;color:#666}.total-cell{font-weight:600;color:#333}.totals-row{background-color:#f0f0f0!important;border-top:2px solid #333}.totals-row td{border-bottom:2px solid #333}.totals-label{font-weight:700;color:#333}.totals-amount{text-align:right;font-family:Courier New,monospace;font-weight:700;color:#333}@media (max-width: 768px){.aging-table{font-size:10px}.aging-table th,.aging-table td{padding:6px 8px}.company-header,.period-header,.total-header{min-width:80px}}.bank-wise-report-widget{display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:0;flex:1}.report-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid var(--border-color);gap:1rem}.report-title h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.report-summary{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}.summary-item{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;background:var(--background-lighter);border:1px solid var(--border-color)}.summary-item.usd{background:#3b82f61a;border-color:#3b82f64d;color:#60a5fa}.summary-item.ngn{background:#10b9811a;border-color:#10b9814d;color:#34d399}.summary-item.rand{background:#8b45131a;border-color:#8b45134d;color:#d2691e}.report-actions{display:flex;align-items:center;gap:1rem;flex-shrink:0}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;font-weight:500;color:var(--text-secondary)}.currency-select{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:6px;background:var(--background-lighter);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.currency-select:hover{border-color:var(--accent-primary)}.currency-select:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #3b82f61a}.export-btn{padding:.5rem 1rem;border:1px solid var(--accent-primary);border-radius:6px;background:var(--accent-primary);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.export-btn:hover{background:var(--accent-primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.pdf-btn{background:var(--accent-secondary);border-color:var(--accent-secondary)}.pdf-btn:hover{background:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.table-container{border-radius:8px;border:1px solid var(--border-color);background:var(--background-light);flex:1;min-height:0}.bank-report-table{width:100%;border-collapse:collapse;font-size:.875rem;table-layout:fixed;height:100%}.bank-report-table tbody{display:block;max-height:calc(100vh - 400px);overflow-y:auto;width:100%}.bank-report-table thead,.bank-report-table tbody tr{display:table;width:100%;table-layout:fixed}.bank-report-table thead{background:var(--background-lighter);position:sticky;top:0;z-index:10}.bank-report-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border-color);position:relative}.bank-report-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.bank-report-table th.sortable:hover{background:var(--background-dark)}.sort-icon{margin-left:.5rem;opacity:.6;font-size:.75rem}.sort-icon.active{opacity:1;color:var(--accent-primary)}.currency-header.usd{color:#60a5fa}.currency-header.ngn{color:#34d399}.currency-header.rand{color:#d2691e}.bank-report-table tbody tr{transition:background-color .2s ease}.bank-report-table tbody tr:hover{background:var(--background-lighter)}.bank-header-row{background:var(--background-lighter)!important;border-top:2px solid var(--border-color)}.bank-header-row:first-child{border-top:none}.account-row{border-left:3px solid transparent}.account-row:hover{border-left-color:var(--accent-primary)}.bank-report-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);vertical-align:top}.bank-name{font-weight:600;color:var(--text-primary)}.bank-name-account{color:var(--text-secondary);font-size:.8rem}.bank-indent{padding-left:1rem;position:relative}.bank-indent:before{content:"└─";position:absolute;left:0;color:var(--text-secondary);opacity:.5}.account-name{font-weight:500;color:var(--text-primary)}.account-number{font-family:Monaco,Menlo,Ubuntu Mono,monospace}.account-code{background:var(--background-darker, var(--background-light));padding:.25rem .5rem;border-radius:4px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;color:var(--accent-primary);border:1px solid var(--border-color)}.balance-cell{font-weight:600;text-align:right;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.balance-cell.usd.has-balance{color:#60a5fa;background:#3b82f60d}.balance-cell.ngn.has-balance{color:#34d399;background:#10b9810d}.balance-cell.rand.has-balance{color:#d2691e;background:#8b45130d}.balance-cell.zero-balance{color:var(--text-secondary);opacity:.6;font-weight:400}.companies-cell{max-width:200px}.company-cell{max-width:150px;font-size:.8rem}.company-cell .companies-list{display:flex;flex-wrap:wrap;gap:.2rem}.company-cell .company-tag{font-size:.7rem;padding:.1rem .3rem}.companies-list{display:flex;flex-wrap:wrap;gap:.25rem}.company-tag{display:inline-block;background:var(--background-lighter);color:var(--text-secondary);padding:.125rem .5rem;border-radius:10px;font-size:.75rem;border:1px solid var(--border-color);white-space:nowrap}.no-data{padding:3rem;text-align:center;color:var(--text-secondary)}.no-data p{font-size:1rem;margin:0}@media (max-width: 1024px){.report-header{flex-direction:column;align-items:stretch}.report-actions{justify-content:space-between}.summary-item{font-size:.8rem}}@media (max-width: 768px){.bank-report-table th,.bank-report-table td{padding:.5rem;font-size:.8rem}.companies-cell{max-width:150px}.report-summary{gap:.5rem}.summary-item{padding:.2rem .5rem;font-size:.75rem}}@media print{.bank-wise-report-widget{background:#fff!important;color:#000!important}.report-actions{display:none}.bank-report-table,.bank-report-table th,.bank-report-table td{border:1px solid #ccc}.balance-cell.usd.has-balance,.balance-cell.ngn.has-balance{color:#000!important;background:none!important}}.report-controls{display:flex;flex-direction:column;gap:1rem}.filter-row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.zero-checkbox{width:18px;height:18px;accent-color:var(--accent-primary)}.bank-selector-toggle{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:6px;background:var(--background-lighter);color:var(--text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.bank-selector-toggle:hover{border-color:var(--accent-primary);background:var(--background-light)}.bank-selector-toggle.active{border-color:var(--accent-primary);background:#3b82f61a;color:var(--accent-primary)}.bank-selector-panel{margin-top:1rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px;background:var(--background-lighter);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bank-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.bank-selector-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.bank-selector-actions{display:flex;gap:.5rem}.select-all-btn,.deselect-all-btn{padding:.25rem .75rem;border:1px solid var(--border-color);border-radius:4px;background:var(--background-light);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .2s ease}.select-all-btn:hover{border-color:var(--accent-primary);background:#3b82f61a;color:var(--accent-primary)}.deselect-all-btn:hover{border-color:#ef4444;background:#ef44441a;color:#ef4444}.bank-selector-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:.5rem;max-height:200px;overflow-y:auto}.bank-checkbox-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:4px;cursor:pointer;transition:background-color .2s ease}.bank-checkbox-item:hover{background:var(--background-light)}.bank-checkbox-item input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent-primary)}.bank-checkbox-item .bank-name{font-weight:500;color:var(--text-primary);flex:1}.bank-checkbox-item .bank-count{font-size:.75rem;color:var(--text-secondary);font-style:italic}
