.repo-header[data-v-21be6957]{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.time-period[data-v-21be6957]{background-color:var(--bg-card);padding:.5rem 1rem;border-radius:.5rem;color:var(--text-secondary);font-size:.875rem}.multi-select[data-v-ca6beacc]{position:relative;width:100%}.selected-repos[data-v-ca6beacc]{display:flex;align-items:center;gap:.5rem;background-color:var(--bg-card);border:1px solid var(--border);border-radius:.5rem;padding:.5rem .75rem;min-height:45px;cursor:pointer}.placeholder[data-v-ca6beacc]{flex:1;color:var(--text-secondary);font-size:.95rem}.tags[data-v-ca6beacc]{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.tag[data-v-ca6beacc]{display:inline-flex;align-items:center;gap:.5rem;background-color:var(--primary);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.875rem;font-weight:500}.tag-remove[data-v-ca6beacc]{background:none;border:none;color:#fff;cursor:pointer;font-size:1.25rem;line-height:1;padding:0;margin:0;opacity:.8;transition:opacity .2s}.tag-remove[data-v-ca6beacc]:hover{opacity:1}.dropdown-toggle[data-v-ca6beacc]{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:.875rem;padding:.25rem;transition:transform .2s}.dropdown-toggle.open[data-v-ca6beacc]{transform:rotate(180deg)}.dropdown-overlay[data-v-ca6beacc]{position:fixed;top:0;left:0;right:0;bottom:0;z-index:999}.dropdown-menu[data-v-ca6beacc]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;box-shadow:0 4px 6px #0000001a;z-index:1000;max-height:400px;display:flex;flex-direction:column}.dropdown-header[data-v-ca6beacc]{padding:1rem;border-bottom:1px solid var(--border)}.search-input[data-v-ca6beacc]{width:100%;background-color:var(--bg-card);border:1px solid var(--border);border-radius:.375rem;padding:.5rem .75rem;color:var(--text);font-size:.875rem;margin-bottom:.75rem}.search-input[data-v-ca6beacc]:focus{outline:none;border-color:var(--primary)}.dropdown-actions[data-v-ca6beacc]{display:flex;gap:.5rem}.action-btn[data-v-ca6beacc]{flex:1;background-color:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:.375rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s}.action-btn[data-v-ca6beacc]:hover{background-color:var(--border)}.action-btn.clear[data-v-ca6beacc]{background-color:var(--error);color:#fff;border-color:var(--error)}.action-btn.clear[data-v-ca6beacc]:hover{opacity:.9}.dropdown-list[data-v-ca6beacc]{overflow-y:auto;max-height:300px}.dropdown-item[data-v-ca6beacc]{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;transition:background-color .2s;border-bottom:1px solid var(--border)}.dropdown-item[data-v-ca6beacc]:last-child{border-bottom:none}.dropdown-item[data-v-ca6beacc]:hover{background-color:var(--bg-card)}.dropdown-item input[type=checkbox][data-v-ca6beacc]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary)}.dropdown-item span[data-v-ca6beacc]{flex:1;color:var(--text);font-size:.875rem}.no-results[data-v-ca6beacc]{padding:2rem;text-align:center;color:var(--text-secondary);font-size:.875rem}.multi-repo-header[data-v-d05a0f52]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border);gap:1rem}.multi-repo-header h2[data-v-d05a0f52]{margin-bottom:.75rem;color:var(--text)}.repo-tags[data-v-d05a0f52]{display:flex;flex-wrap:wrap;gap:.5rem}.repo-tag[data-v-d05a0f52]{display:inline-block;background-color:var(--primary);color:#fff;padding:.375rem .75rem;border-radius:.375rem;font-size:.875rem;font-weight:500}.time-period[data-v-d05a0f52]{background-color:var(--bg-card);padding:.5rem 1rem;border-radius:.5rem;color:var(--text-secondary);font-size:.875rem;white-space:nowrap;flex-shrink:0}.chart-grid[data-v-d05a0f52]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-bottom:1.5rem}.chart-card[data-v-d05a0f52]{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border)}.chart-card h3[data-v-d05a0f52]{margin-bottom:1rem;color:var(--text)}.full-width[data-v-d05a0f52]{grid-column:1 / -1}.table-container[data-v-d05a0f52]{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);margin-bottom:1.5rem;overflow-x:auto}.table-container h3[data-v-d05a0f52]{margin-bottom:1rem;color:var(--text)}table[data-v-d05a0f52]{width:100%;border-collapse:collapse}thead[data-v-d05a0f52]{background-color:var(--bg-card)}th[data-v-d05a0f52]{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:2px solid var(--border);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}td[data-v-d05a0f52]{padding:.75rem 1rem;border-bottom:1px solid var(--border);color:var(--text)}tbody tr[data-v-d05a0f52]:hover{background-color:var(--bg-card)}tbody tr:last-child td[data-v-d05a0f52]{border-bottom:none}@media (max-width: 768px){.multi-repo-header[data-v-d05a0f52]{flex-direction:column}.chart-grid[data-v-d05a0f52]{grid-template-columns:1fr}}.header-actions[data-v-2d087f22]{display:flex;gap:.5rem}.clear-button[data-v-2d087f22]{background-color:var(--error);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:opacity .2s}.clear-button[data-v-2d087f22]:hover{opacity:.8}.clear-button[data-v-2d087f22]:disabled{opacity:.5;cursor:not-allowed}.sync-selected-button[data-v-2d087f22]{background-color:#10b981;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:opacity .2s}.sync-selected-button[data-v-2d087f22]:hover{opacity:.8}.sync-selected-button[data-v-2d087f22]:disabled{opacity:.5;cursor:not-allowed}.sync-button[data-v-2d087f22]{background-color:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:opacity .2s}.sync-button[data-v-2d087f22]:hover{opacity:.8}.sync-button[data-v-2d087f22]:disabled{opacity:.5;cursor:not-allowed}.modal-overlay[data-v-2d087f22]{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-2d087f22]{background-color:var(--bg-secondary);padding:2rem;border-radius:1rem;border:1px solid var(--border);max-width:500px;width:90%}.modal h3[data-v-2d087f22]{margin-bottom:1rem;color:var(--text)}.modal p[data-v-2d087f22]{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.6}.modal-actions[data-v-2d087f22]{display:flex;gap:1rem;justify-content:flex-end}.cancel-button[data-v-2d087f22]{background-color:var(--bg-card);color:var(--text);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.cancel-button[data-v-2d087f22]:hover{background-color:var(--border)}.danger-button[data-v-2d087f22]{background-color:var(--error);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:opacity .2s}.danger-button[data-v-2d087f22]:hover{opacity:.8}.filters[data-v-2d087f22]{display:flex;gap:2rem;align-items:flex-end;margin-bottom:2rem;padding:1.5rem;background-color:var(--bg-secondary);border-radius:.75rem;border:1px solid var(--border);flex-wrap:wrap}.filter-group[data-v-2d087f22]{display:flex;flex-direction:column;gap:.5rem}.filter-group.flex-grow[data-v-2d087f22]{flex:1;min-width:300px}.filter-group label[data-v-2d087f22]{font-size:.875rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.repo-select[data-v-2d087f22]{background-color:var(--bg-card);color:var(--text);border:1px solid var(--border);padding:.75rem 1rem;border-radius:.5rem;font-size:1rem;cursor:pointer;min-width:250px}.repo-select[data-v-2d087f22]:focus{outline:none;border-color:var(--primary)}.time-toggle[data-v-2d087f22]{display:flex;gap:.5rem}.time-toggle button[data-v-2d087f22]{background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.time-toggle button[data-v-2d087f22]:hover{background-color:var(--border)}.time-toggle button.active[data-v-2d087f22]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.mode-toggle[data-v-2d087f22]{display:flex;gap:.5rem}.mode-toggle button[data-v-2d087f22]{background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:.75rem 1.25rem;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s}.mode-toggle button[data-v-2d087f22]:hover{background-color:var(--border)}.mode-toggle button.active[data-v-2d087f22]{background-color:var(--primary);color:#fff;border-color:var(--primary)}.empty-state[data-v-2d087f22]{background-color:var(--bg-secondary);padding:3rem;border-radius:.75rem;border:1px solid var(--border);text-align:center}.empty-state p[data-v-2d087f22]{color:var(--text-secondary);font-size:1rem}@media (max-width: 768px){.filters[data-v-2d087f22]{flex-direction:column;align-items:stretch}.mode-toggle[data-v-2d087f22]{flex-direction:column}.filter-group.flex-grow[data-v-2d087f22]{min-width:auto}.top-nav-bar[data-v-2d087f22]{padding:.5rem 1rem}.top-nav-right[data-v-2d087f22]{flex-wrap:wrap;gap:.5rem}.github-actions[data-v-2d087f22]{flex-direction:column;gap:.5rem;padding-right:.5rem;border-right:none;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.github-actions button[data-v-2d087f22]{width:100%}.dashboard-nav[data-v-2d087f22]{overflow-x:auto;padding:0 .5rem}.nav-tab[data-v-2d087f22]{padding:.75rem 1rem;font-size:.875rem;white-space:nowrap}.user-badge[data-v-2d087f22]{margin-left:0}.main-content[data-v-2d087f22]{padding:1rem}}.main-content[data-v-2d087f22]{padding:1.5rem}.top-nav-bar[data-v-2d087f22]{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border)}.top-nav-left[data-v-2d087f22]{flex:1;display:flex;align-items:center}.app-title[data-v-2d087f22]{font-size:1.25rem;font-weight:700;color:#fff;margin:0;letter-spacing:.5px}.apex-orange[data-v-2d087f22]{color:#fe5730}.top-nav-right[data-v-2d087f22]{display:flex;align-items:center;gap:1rem}.github-actions[data-v-2d087f22]{display:flex;gap:.5rem;align-items:center;padding-right:1rem;border-right:1px solid var(--border)}.dashboard-nav[data-v-2d087f22]{display:flex;gap:0;margin:0;border-bottom:2px solid var(--border);padding:0 1rem}.nav-tab[data-v-2d087f22]{display:flex;align-items:center;gap:8px;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:3px solid transparent;color:var(--text-secondary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-bottom:-2px}.nav-tab[data-v-2d087f22]:hover{color:var(--text);background:var(--bg-secondary)}.nav-tab.active[data-v-2d087f22]{color:var(--primary);border-bottom-color:var(--primary)}.nav-tab svg[data-v-2d087f22]{opacity:.7}.nav-tab.active svg[data-v-2d087f22]{opacity:1}.user-badge[data-v-2d087f22]{display:inline-flex;align-items:center;padding:.5rem 1rem;background-color:var(--bg-secondary);border:1px solid var(--border);border-radius:.5rem;font-size:.875rem;color:var(--text-secondary);font-weight:600;margin-left:1rem}.logout-button[data-v-2d087f22]{display:flex;align-items:center;gap:.5rem;background-color:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.logout-button[data-v-2d087f22]:hover{background-color:var(--border);color:var(--text)}.login-container[data-v-ab2c20b0]{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg)}@media (max-width: 968px){.login-container[data-v-ab2c20b0]{grid-template-columns:1fr}.login-branding[data-v-ab2c20b0]{display:none}}.login-branding[data-v-ab2c20b0]{background:linear-gradient(135deg,#1a1f36,#0f172a);display:flex;align-items:center;justify-content:center;padding:3rem;position:relative;overflow:hidden}.login-branding[data-v-ab2c20b0]:before{content:"";position:absolute;width:500px;height:500px;background:radial-gradient(circle,rgba(254,87,48,.15) 0%,transparent 70%);top:-250px;right:-250px;animation:pulse-ab2c20b0 4s ease-in-out infinite}@keyframes pulse-ab2c20b0{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}.branding-content[data-v-ab2c20b0]{max-width:500px;z-index:1}.logo-section[data-v-ab2c20b0]{margin-bottom:4rem}.brand-title[data-v-ab2c20b0]{font-size:3.5rem;font-weight:800;margin:0 0 1rem;color:#fff;letter-spacing:-.02em}.apex-text[data-v-ab2c20b0]{color:#fe5730;display:inline-block}.brand-tagline[data-v-ab2c20b0]{font-size:1.25rem;color:#ffffffb3;font-weight:400;margin:0}.feature-list[data-v-ab2c20b0]{display:flex;flex-direction:column;gap:2rem}.feature-item[data-v-ab2c20b0]{display:flex;gap:1.5rem;align-items:flex-start;padding:1.5rem;background:#ffffff0d;border-radius:1rem;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s}.feature-item[data-v-ab2c20b0]:hover{background:#ffffff14;border-color:#fe57304d;transform:translate(10px)}.feature-icon[data-v-ab2c20b0]{width:40px;height:40px;color:#fe5730;flex-shrink:0}.feature-item h3[data-v-ab2c20b0]{font-size:1.125rem;font-weight:600;color:#fff;margin:0 0 .5rem}.feature-item p[data-v-ab2c20b0]{font-size:.875rem;color:#fff9;margin:0;line-height:1.5}.login-form-section[data-v-ab2c20b0]{display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg)}.login-card[data-v-ab2c20b0]{background:var(--bg-card);border-radius:1rem;box-shadow:0 10px 40px #0000001a;padding:3rem;width:100%;max-width:440px;border:1px solid var(--border)}.login-header[data-v-ab2c20b0]{text-align:center;margin-bottom:2rem}.login-header h2[data-v-ab2c20b0]{color:var(--text);margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.login-header .subtitle[data-v-ab2c20b0]{color:var(--text-secondary);font-size:.875rem;margin:0}.google-button[data-v-ab2c20b0]{width:100%;padding:.75rem 1rem;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;gap:.75rem}.google-button[data-v-ab2c20b0]:hover{background:#f8f9fa;box-shadow:0 1px 3px #0000001f}.google-icon[data-v-ab2c20b0]{width:20px;height:20px}.divider[data-v-ab2c20b0]{display:flex;align-items:center;margin:1.5rem 0;text-align:center}.divider[data-v-ab2c20b0]:before,.divider[data-v-ab2c20b0]:after{content:"";flex:1;border-bottom:1px solid var(--border)}.divider span[data-v-ab2c20b0]{padding:0 1rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.login-form[data-v-ab2c20b0]{display:flex;flex-direction:column;gap:1.5rem}.form-group[data-v-ab2c20b0]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-ab2c20b0]{font-size:.875rem;font-weight:600;color:var(--text)}.form-group input[data-v-ab2c20b0]{padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;font-size:1rem;transition:border-color .2s;background:var(--bg-card);color:var(--text)}.form-group input[data-v-ab2c20b0]:focus{outline:none;border-color:#fe5730;box-shadow:0 0 0 3px #fe57301a}.form-group input[data-v-ab2c20b0]:disabled{background-color:var(--bg);cursor:not-allowed;opacity:.6}.error-message[data-v-ab2c20b0]{padding:.75rem;background-color:#fff5f5;border:1px solid #fc8181;border-radius:.5rem;color:#c53030;font-size:.875rem}.login-button[data-v-ab2c20b0]{padding:.875rem 1.5rem;background:#fe5730;color:#fff;border:none;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.login-button[data-v-ab2c20b0]:hover:not(:disabled){background:#d94620;transform:translateY(-1px);box-shadow:0 8px 20px #fe57304d}.login-button[data-v-ab2c20b0]:disabled{opacity:.6;cursor:not-allowed;transform:none}.kpi-overview[data-v-dc644c30]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.header-section[data-v-dc644c30]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.kpi-overview h2[data-v-dc644c30]{margin:0 0 5px;font-size:24px;color:var(--text)}.period-info[data-v-dc644c30]{margin:0;color:var(--text-secondary);font-size:14px}.btn-export[data-v-dc644c30]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .2s}.btn-export[data-v-dc644c30]:hover{opacity:.9}.section-header[data-v-dc644c30]{margin:30px 0 15px}.section-header[data-v-dc644c30]:first-of-type{margin-top:0}.section-header.section-divider[data-v-dc644c30]{margin-top:50px;padding-top:30px;border-top:2px solid var(--border)}.section-header h3[data-v-dc644c30]{margin:0 0 5px;font-size:20px;color:var(--text);font-weight:700}.section-subtitle[data-v-dc644c30]{margin:0;font-size:13px;color:var(--text-secondary);font-style:italic}.kpi-cards[data-v-dc644c30]{display:grid;gap:20px;margin-bottom:20px}.kpi-cards-main[data-v-dc644c30]{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.kpi-cards-revenue[data-v-dc644c30]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.kpi-card[data-v-dc644c30]{padding:20px;border-radius:8px;border:2px solid var(--border);background:var(--bg-card);transition:transform .2s,box-shadow .2s;position:relative;overflow:visible;z-index:1}.kpi-card[data-v-dc644c30]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d;z-index:100}.info-icon[data-v-dc644c30]{display:inline-block;margin-left:6px;width:16px;height:16px;line-height:16px;text-align:center;font-size:12px;font-weight:700;color:var(--text-secondary);cursor:help;opacity:.6;transition:opacity .2s}.info-icon[data-v-dc644c30]:hover{opacity:1}.tooltip[data-v-dc644c30]{position:absolute;top:100%;left:0;right:0;margin-top:8px;padding:16px;background:var(--bg-secondary);border:2px solid var(--primary);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:9999;animation:tooltipFadeIn-dc644c30 .2s ease-in-out;text-align:left}@keyframes tooltipFadeIn-dc644c30{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tooltip-title[data-v-dc644c30]{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:8px}.tooltip-description[data-v-dc644c30]{font-size:13px;color:var(--text);margin-bottom:12px;line-height:1.5}.tooltip-formula[data-v-dc644c30]{font-size:12px;color:var(--text);background:#2563eb1a;padding:8px 10px;border-radius:4px;margin-bottom:8px;font-family:Courier New,monospace;line-height:1.6}.tooltip-example[data-v-dc644c30]{font-size:12px;color:var(--text);background:#10b9811a;padding:8px 10px;border-radius:4px;margin-bottom:8px;line-height:1.6}.tooltip-benchmark[data-v-dc644c30]{font-size:12px;color:var(--text);margin-bottom:8px;padding:6px 10px;background:#f59e0b1a;border-radius:4px}.tooltip-alternative[data-v-dc644c30]{font-size:11px;color:var(--text-secondary);font-style:italic;margin-bottom:8px}.tooltip-details[data-v-dc644c30]{font-size:11px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.tooltip-why[data-v-dc644c30]{font-size:12px;color:var(--text);padding:8px 10px;background:#8b5cf61a;border-radius:4px;border-left:3px solid rgba(139,92,246,.5);line-height:1.5}.kpi-card.good[data-v-dc644c30]{border-color:var(--success);background:#10b9811a}.kpi-card.low[data-v-dc644c30]{border-color:var(--warning);background:#f59e0b1a}.kpi-card.high[data-v-dc644c30]{border-color:var(--primary);background:#2563eb1a}.kpi-card.revenue-card[data-v-dc644c30]{border-color:var(--primary);background:#2563eb0d}.kpi-card.revenue-card.invoiced[data-v-dc644c30]{border-color:var(--success);background:#10b9810d}.kpi-card.revenue-card.estimated[data-v-dc644c30]{border-color:var(--warning);background:#f59e0b0d}.kpi-label[data-v-dc644c30]{font-size:14px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.kpi-value-container[data-v-dc644c30]{display:flex;align-items:center;gap:12px;margin-bottom:4px}.kpi-value[data-v-dc644c30]{font-size:32px;font-weight:700;color:var(--text)}.kpi-delta[data-v-dc644c30]{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:600}.delta-positive[data-v-dc644c30]{background:#10b98126;color:var(--success)}.delta-negative[data-v-dc644c30]{background:#ef444426;color:var(--error)}.delta-neutral[data-v-dc644c30]{background:#9ca3af26;color:var(--text-secondary)}.delta-arrow[data-v-dc644c30]{font-size:16px;font-weight:700}.delta-value[data-v-dc644c30]{font-size:13px}.kpi-benchmark[data-v-dc644c30]{font-size:12px;color:var(--text-secondary);opacity:.7}.metrics-section[data-v-dc644c30]{margin-top:30px}.metrics-section.hours-section[data-v-dc644c30]{margin-top:20px}.metrics-section h3[data-v-dc644c30]{margin:0 0 15px;font-size:18px;color:var(--text)}.metrics-grid[data-v-dc644c30]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.metric-item[data-v-dc644c30]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.metric-label[data-v-dc644c30]{font-size:14px;color:var(--text-secondary)}.metric-value-group[data-v-dc644c30]{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.metric-value[data-v-dc644c30]{font-size:16px;font-weight:600;color:var(--text)}.metric-days[data-v-dc644c30]{font-size:12px;font-weight:500;color:var(--text-secondary)}.metric-value.profit[data-v-dc644c30]{color:var(--success)}.metric-value.loss[data-v-dc644c30]{color:var(--error)}.metric-value.cost[data-v-dc644c30]{color:var(--warning)}.metric-value.billable[data-v-dc644c30],.metric-value.revenue[data-v-dc644c30]{color:var(--primary)}.metric-item-revenue[data-v-dc644c30]{position:relative}.metric-item-revenue[data-v-dc644c30]:hover{z-index:100}.profit-margin-card[data-v-dc644c30]{padding:20px;border-radius:8px;border:2px solid var(--border);background:var(--bg-card);transition:transform .2s,box-shadow .2s;position:relative;margin-top:15px}.profit-margin-card[data-v-dc644c30]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.profit-margin-card.positive[data-v-dc644c30]{border-color:var(--success);background:#10b9811a}.profit-margin-card.negative[data-v-dc644c30]{border-color:var(--error);background:#ef44441a}.kpi-trend-chart[data-v-88530500]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.chart-header[data-v-88530500]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.kpi-trend-chart h3[data-v-88530500]{margin:0 0 5px;font-size:20px;color:var(--text)}.chart-subtitle[data-v-88530500]{margin:0;font-size:13px;color:var(--text-secondary)}.chart-controls[data-v-88530500]{display:flex;gap:10px}.interval-selector[data-v-88530500]{padding:6px 12px;font-size:13px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);cursor:pointer;transition:border-color .2s}.interval-selector[data-v-88530500]:hover{border-color:var(--primary)}.chart-container[data-v-88530500]{height:300px;position:relative}.loading[data-v-88530500],.error[data-v-88530500]{text-align:center;padding:60px 20px;font-size:14px}.loading[data-v-88530500]{color:var(--text-secondary)}.error[data-v-88530500]{color:var(--error);background:#ef44441a;border:1px solid var(--error);border-radius:4px}.financial-overview-card[data-v-dd7187ed]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border);height:100%}.card-header[data-v-dd7187ed]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.card-header h3[data-v-dd7187ed]{margin:0 0 5px;font-size:20px;color:var(--text);font-weight:700}.card-subtitle[data-v-dd7187ed]{margin:0;font-size:13px;color:var(--text-secondary);font-style:italic}.metrics-grid[data-v-dd7187ed]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.metric-item[data-v-dd7187ed]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;position:relative}.metric-item-revenue[data-v-dd7187ed]:hover{z-index:100}.metric-label[data-v-dd7187ed]{font-size:14px;color:var(--text-secondary)}.metric-value[data-v-dd7187ed]{font-size:16px;font-weight:600;color:var(--text)}.metric-value.profit[data-v-dd7187ed]{color:var(--success)}.metric-value.loss[data-v-dd7187ed]{color:var(--error)}.metric-value.cost[data-v-dd7187ed]{color:var(--warning)}.metric-value.revenue[data-v-dd7187ed]{color:var(--primary)}.info-icon[data-v-dd7187ed]{display:inline-block;margin-left:6px;width:16px;height:16px;line-height:16px;text-align:center;font-size:12px;font-weight:700;color:var(--text-secondary);cursor:help;opacity:.6;transition:opacity .2s}.info-icon[data-v-dd7187ed]:hover{opacity:1}.tooltip[data-v-dd7187ed]{position:absolute;top:100%;left:0;right:0;margin-top:8px;padding:16px;background:var(--bg-secondary);border:2px solid var(--primary);border-radius:8px;box-shadow:0 8px 24px #0006;z-index:9999;animation:tooltipFadeIn-dd7187ed .2s ease-in-out;text-align:left}@keyframes tooltipFadeIn-dd7187ed{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tooltip-title[data-v-dd7187ed]{font-size:14px;font-weight:700;color:var(--primary);margin-bottom:8px}.tooltip-description[data-v-dd7187ed]{font-size:13px;color:var(--text);margin-bottom:12px;line-height:1.5}.tooltip-formula[data-v-dd7187ed]{font-size:12px;color:var(--text);background:#2563eb1a;padding:8px 10px;border-radius:4px;margin-bottom:8px;font-family:Courier New,monospace;line-height:1.6}.tooltip-example[data-v-dd7187ed]{font-size:12px;color:var(--text);background:#10b9811a;padding:8px 10px;border-radius:4px;margin-bottom:8px;line-height:1.6}.tooltip-details[data-v-dd7187ed]{font-size:11px;color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.tooltip-why[data-v-dd7187ed]{font-size:12px;color:var(--text);padding:8px 10px;background:#8b5cf61a;border-radius:4px;border-left:3px solid rgba(139,92,246,.5);line-height:1.5}.profit-margin-card[data-v-dd7187ed]{padding:20px;border-radius:8px;border:2px solid var(--border);background:var(--bg-card);transition:transform .2s,box-shadow .2s;position:relative;margin-top:15px}.profit-margin-card[data-v-dd7187ed]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.profit-margin-card.positive[data-v-dd7187ed]{border-color:var(--success);background:#10b9811a}.profit-margin-card.negative[data-v-dd7187ed]{border-color:var(--error);background:#ef44441a}.kpi-label[data-v-dd7187ed]{font-size:14px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.kpi-value-container[data-v-dd7187ed]{display:flex;align-items:center;gap:12px;margin-bottom:4px}.kpi-value[data-v-dd7187ed]{font-size:32px;font-weight:700;color:var(--text)}.kpi-delta[data-v-dd7187ed]{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:4px;font-size:14px;font-weight:600}.delta-positive[data-v-dd7187ed]{background:#10b98126;color:var(--success)}.delta-negative[data-v-dd7187ed]{background:#ef444426;color:var(--error)}.delta-neutral[data-v-dd7187ed]{background:#9ca3af26;color:var(--text-secondary)}.delta-arrow[data-v-dd7187ed]{font-size:16px;font-weight:700}.delta-value[data-v-dd7187ed]{font-size:13px}.kpi-benchmark[data-v-dd7187ed]{font-size:12px;color:var(--text-secondary);opacity:.7}.kpi-dashboard[data-v-cf78e76d]{padding:12px 20px;max-width:1400px;margin:0 auto}.dashboard-header[data-v-cf78e76d]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.dashboard-header h1[data-v-cf78e76d]{margin:0;font-size:20px;font-weight:600;color:var(--text)}.header-controls[data-v-cf78e76d]{display:flex;gap:10px;align-items:center}.period-selector[data-v-cf78e76d]{padding:8px 16px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);cursor:pointer;transition:border-color .2s}.period-selector[data-v-cf78e76d]:hover{border-color:var(--primary)}.department-selector[data-v-cf78e76d]{padding:8px 16px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);cursor:pointer;transition:border-color .2s}.department-selector[data-v-cf78e76d]:hover{border-color:var(--primary)}.compare-selector[data-v-cf78e76d]{border-color:var(--primary);background:#2563eb0d}.compare-selector[data-v-cf78e76d]:hover{background:#2563eb1a}.btn-departments[data-v-cf78e76d]{padding:8px 20px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600;text-decoration:none;display:inline-block}.btn-departments[data-v-cf78e76d]:hover{opacity:.8}.btn-sync[data-v-cf78e76d]{padding:8px 20px;font-size:14px;background:var(--success);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-sync[data-v-cf78e76d]:hover:not(:disabled){opacity:.8}.btn-sync[data-v-cf78e76d]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-cf78e76d],.error[data-v-cf78e76d]{text-align:center;padding:40px 20px;font-size:18px}.loading[data-v-cf78e76d]{color:var(--text-secondary)}.error[data-v-cf78e76d]{color:var(--error);background:#ef44441a;border:1px solid var(--error);border-radius:4px}.dashboard-content[data-v-cf78e76d]{display:flex;flex-direction:column;gap:30px}.trends-section[data-v-cf78e76d]{margin-bottom:30px}.section-title[data-v-cf78e76d]{margin:0 0 20px;font-size:24px;color:var(--text)}.trends-grid[data-v-cf78e76d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px}@media (max-width: 768px){.trends-grid[data-v-cf78e76d]{grid-template-columns:1fr}}.sync-status[data-v-cf78e76d]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;font-size:13px;margin-right:10px}.sync-label[data-v-cf78e76d]{color:var(--text-secondary);font-weight:500}.sync-time[data-v-cf78e76d]{font-weight:600;color:var(--text)}.sync-time.status-success[data-v-cf78e76d]{color:var(--success)}.sync-time.status-partial[data-v-cf78e76d]{color:#f59e0b}.sync-time.status-failed[data-v-cf78e76d]{color:var(--error)}.sync-details[data-v-cf78e76d]{color:var(--text-secondary);display:flex;align-items:center;gap:4px}.sync-warnings[data-v-cf78e76d]{color:#f59e0b;font-weight:600}.sync-errors[data-v-cf78e76d]{color:var(--error);font-weight:600}.employee-detail-view[data-v-4b072024]{padding:20px;max-width:1400px;margin:0 auto}.loading[data-v-4b072024],.error[data-v-4b072024]{text-align:center;padding:40px;font-size:18px}.error[data-v-4b072024]{color:var(--error)}.employee-header[data-v-4b072024]{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid var(--border)}.back-button[data-v-4b072024]{color:var(--primary);cursor:pointer;margin-bottom:10px;display:inline-block;font-weight:500}.back-button[data-v-4b072024]:hover{text-decoration:underline}.employee-header h1[data-v-4b072024]{margin:10px 0;font-size:32px;color:var(--text-primary)}.employee-meta[data-v-4b072024]{display:flex;gap:20px;margin-top:10px;color:var(--text-secondary)}.meta-item[data-v-4b072024]{padding:4px 12px;background:var(--bg-secondary);border-radius:4px;font-size:14px}.period-selector-container[data-v-4b072024]{display:flex;align-items:center;gap:10px;margin-top:15px;padding:12px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.period-selector-container label[data-v-4b072024]{font-size:14px;font-weight:600;color:var(--text-secondary)}.period-selector[data-v-4b072024]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:border-color .2s}.period-selector[data-v-4b072024]:hover{border-color:var(--primary)}.kpi-comparison-section[data-v-4b072024],.hours-section[data-v-4b072024],.project-breakdown-section[data-v-4b072024],.trend-section[data-v-4b072024]{margin-bottom:40px}h2[data-v-4b072024]{font-size:20px;margin-bottom:15px;color:var(--text-primary)}.kpi-cards[data-v-4b072024]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}.kpi-card[data-v-4b072024]{padding:20px;background:var(--bg-card);border:2px solid var(--border);border-radius:8px}.kpi-label[data-v-4b072024]{font-size:14px;color:var(--text-secondary);margin-bottom:10px}.kpi-values[data-v-4b072024]{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.kpi-value.personal[data-v-4b072024]{font-size:28px;font-weight:700;color:var(--text-primary)}.kpi-comparison[data-v-4b072024]{font-size:16px;font-weight:600;padding:2px 8px;border-radius:4px}.kpi-comparison.positive[data-v-4b072024]{color:var(--success);background:#4ade801a}.kpi-comparison.negative[data-v-4b072024]{color:var(--error);background:#f871711a}.kpi-comparison.neutral[data-v-4b072024]{color:var(--text-secondary);background:var(--bg-secondary)}.kpi-benchmark[data-v-4b072024]{font-size:13px;color:var(--text-secondary)}.hours-grid[data-v-4b072024]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px}.hour-item[data-v-4b072024]{display:flex;justify-content:space-between;padding:15px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.hour-label[data-v-4b072024]{color:var(--text-secondary);font-size:14px}.hour-value[data-v-4b072024]{font-weight:600;color:var(--text-primary);font-size:16px}.project-table[data-v-4b072024]{width:100%;border-collapse:collapse;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;overflow:hidden}.project-table th[data-v-4b072024],.project-table td[data-v-4b072024]{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.project-table th[data-v-4b072024]{background:var(--bg-secondary);font-weight:600;font-size:13px;color:var(--text-secondary);text-transform:uppercase}.project-table tbody tr[data-v-4b072024]:hover{background:var(--bg-hover)}.project-table .bold[data-v-4b072024]{font-weight:600}.percentage-bar[data-v-4b072024]{position:relative;width:100%;height:24px;background:var(--bg-secondary);border-radius:4px;overflow:hidden}.percentage-fill[data-v-4b072024]{position:absolute;left:0;top:0;bottom:0;background:var(--primary);transition:width .3s ease}.percentage-text[data-v-4b072024]{position:relative;display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;font-weight:600;color:var(--text-primary);z-index:1}.trend-section[data-v-4b072024]{background:var(--bg-card);padding:20px;border-radius:8px;border:1px solid var(--border)}.employee-leaderboard[data-v-cb9e39df]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.header-section[data-v-cb9e39df]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.employee-leaderboard h2[data-v-cb9e39df]{margin:0 0 5px;font-size:24px;color:var(--text)}.subtitle[data-v-cb9e39df]{margin:0;color:var(--text-secondary);font-size:14px}.btn-export[data-v-cb9e39df]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .2s}.btn-export[data-v-cb9e39df]:hover{opacity:.9}.leaderboard-table[data-v-cb9e39df]{overflow-x:auto}table[data-v-cb9e39df]{width:100%;border-collapse:collapse}thead[data-v-cb9e39df]{background:var(--bg-card)}th[data-v-cb9e39df]{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.rank-col[data-v-cb9e39df]{width:60px;text-align:center}.name-col[data-v-cb9e39df]{min-width:200px}.metric-col[data-v-cb9e39df]{text-align:right;min-width:100px}tbody tr[data-v-cb9e39df]{border-bottom:1px solid var(--border);transition:background .2s}tbody tr[data-v-cb9e39df]:hover{background:var(--bg-card)}td[data-v-cb9e39df]{padding:16px 12px;color:var(--text-secondary)}.rank-badge[data-v-cb9e39df]{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:var(--border);font-weight:600;font-size:14px;color:var(--text-secondary)}.employee-row.rank-1 .rank-badge[data-v-cb9e39df]{background:linear-gradient(135deg,gold,orange);color:#fff;box-shadow:0 2px 8px #ffd70066}.employee-row.rank-2 .rank-badge[data-v-cb9e39df]{background:linear-gradient(135deg,silver,#a8a8a8);color:#fff;box-shadow:0 2px 8px #c0c0c066}.employee-row.rank-3 .rank-badge[data-v-cb9e39df]{background:linear-gradient(135deg,#cd7f32,#b8860b);color:#fff;box-shadow:0 2px 8px #cd7f3266}.employee-info[data-v-cb9e39df]{display:flex;flex-direction:column;gap:4px}.employee-link[data-v-cb9e39df]{text-decoration:none;transition:opacity .2s}.employee-link[data-v-cb9e39df]:hover{opacity:.8}.employee-name[data-v-cb9e39df]{font-weight:600;color:var(--text);font-size:15px}.employee-email[data-v-cb9e39df]{font-size:13px;color:var(--text-secondary);opacity:.7}.metric-value[data-v-cb9e39df]{font-weight:500;color:var(--text)}.metric-value.excellent[data-v-cb9e39df]{color:var(--success);font-weight:600}.metric-value.good[data-v-cb9e39df]{color:#34d399}.metric-value.average[data-v-cb9e39df]{color:var(--warning)}.metric-value.low[data-v-cb9e39df]{color:var(--error)}.metric-value.revenue[data-v-cb9e39df]{color:var(--primary)}.metric-value.profit[data-v-cb9e39df]{color:var(--success)}.metric-value.loss[data-v-cb9e39df]{color:var(--error)}.no-data[data-v-cb9e39df]{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.leaderboard-controls[data-v-cb9e39df]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:15px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.control-group[data-v-cb9e39df]{display:flex;align-items:center;gap:10px}.control-group label[data-v-cb9e39df]{font-size:14px;font-weight:600;color:var(--text-secondary)}.limit-selector[data-v-cb9e39df],.search-input[data-v-cb9e39df]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);transition:border-color .2s}.limit-selector[data-v-cb9e39df]{min-width:150px;cursor:pointer}.search-input[data-v-cb9e39df]{min-width:250px}.limit-selector[data-v-cb9e39df]:hover,.search-input[data-v-cb9e39df]:focus{border-color:var(--primary);outline:none}.employee-leaderboard-view[data-v-1298e48b]{padding:12px 20px;max-width:1600px;margin:0 auto}.page-header[data-v-1298e48b]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.page-header h1[data-v-1298e48b]{margin:0 0 5px;font-size:20px;font-weight:600;color:var(--text)}.subtitle[data-v-1298e48b]{margin:0;color:var(--text-secondary);font-size:14px}.period-selector[data-v-1298e48b]{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:15px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.period-selector label[data-v-1298e48b]{font-size:14px;font-weight:600;color:var(--text-secondary)}.period-selector select[data-v-1298e48b]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:border-color .2s}.period-selector select[data-v-1298e48b]:hover{border-color:var(--primary)}.loading[data-v-1298e48b],.error[data-v-1298e48b]{text-align:center;padding:40px;font-size:18px}.error[data-v-1298e48b]{color:var(--error)}.view-toggle[data-v-1298e48b]{display:flex;gap:8px;background:var(--bg-card);padding:4px;border-radius:4px;border:1px solid var(--border)}.toggle-btn[data-v-1298e48b]{padding:8px 16px;font-size:14px;font-weight:600;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s}.toggle-btn[data-v-1298e48b]:hover{background:var(--bg-secondary)}.toggle-btn.active[data-v-1298e48b]{background:var(--primary);color:#fff}.rates-view[data-v-1298e48b]{margin-top:20px}.rates-header[data-v-1298e48b]{display:flex;justify-content:flex-end;align-items:center;margin-bottom:16px}.stats-summary[data-v-1298e48b]{display:flex;gap:24px;align-items:center}.stat-card[data-v-1298e48b]{display:flex;align-items:baseline;gap:8px}.stat-label[data-v-1298e48b]{font-size:12px;font-weight:500;color:var(--text-secondary)}.stat-value[data-v-1298e48b]{font-size:20px;font-weight:700}.stat-value.error[data-v-1298e48b]{color:var(--error)}.stat-value.warning[data-v-1298e48b]{color:#f59e0b}.stat-value.success[data-v-1298e48b]{color:var(--success)}.search-input[data-v-1298e48b]{padding:10px 16px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);min-width:300px}.search-input[data-v-1298e48b]:focus{outline:none;border-color:var(--primary)}.rates-table-container[data-v-1298e48b]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:.75rem;overflow:hidden;padding:1.5rem}.rates-table[data-v-1298e48b]{width:100%;border-collapse:collapse}.rates-table thead[data-v-1298e48b]{background:var(--bg-card)}.rates-table th[data-v-1298e48b]{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.rates-table td[data-v-1298e48b]{padding:16px 12px;font-size:14px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.rates-table tbody tr[data-v-1298e48b]{transition:background .2s}.rates-table tbody tr[data-v-1298e48b]:hover{background:var(--bg-card)}.rates-table .employee-info[data-v-1298e48b]{display:flex;flex-direction:column;gap:4px}.rates-table .employee-name[data-v-1298e48b]{font-weight:600;color:var(--text);font-size:15px}.rates-table .employee-email[data-v-1298e48b]{font-size:13px;color:var(--text-secondary);opacity:.7}.rate-input[data-v-1298e48b]{width:100px;padding:6px 10px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text)}.rate-input[data-v-1298e48b]:focus{outline:none;border-color:var(--primary)}.suggested-rate[data-v-1298e48b]{color:var(--text-secondary);font-style:italic}.status-badge[data-v-1298e48b]{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;border-radius:12px;text-transform:uppercase}.status-badge.missing[data-v-1298e48b]{background:#ef44441a;color:var(--error)}.status-badge.too-low[data-v-1298e48b]{background:#f59e0b1a;color:#f59e0b}.status-badge.too-high[data-v-1298e48b]{background:#a855f71a;color:#a855f7}.status-badge.ok[data-v-1298e48b]{background:#22c55e1a;color:var(--success)}.btn-edit[data-v-1298e48b]{padding:6px 14px;font-size:13px;font-weight:600;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s}.btn-edit[data-v-1298e48b]:hover{opacity:.8}.edit-actions[data-v-1298e48b]{display:flex;gap:8px}.btn-save[data-v-1298e48b]{padding:6px 14px;font-size:13px;font-weight:600;background:var(--success);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s}.btn-save[data-v-1298e48b]:hover:not(:disabled){opacity:.8}.btn-save[data-v-1298e48b]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-1298e48b]{padding:6px 14px;font-size:13px;font-weight:600;background:var(--bg-secondary);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .2s}.btn-cancel[data-v-1298e48b]:hover{background:var(--border)}.department-kpi-view[data-v-635cfa4e]{padding:20px;max-width:1600px;margin:0 auto}.page-header[data-v-635cfa4e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.page-header h1[data-v-635cfa4e]{margin:0 0 5px;font-size:32px;color:var(--text)}.subtitle[data-v-635cfa4e]{margin:0;color:var(--text-secondary);font-size:14px}.btn-export[data-v-635cfa4e]{padding:10px 20px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .2s}.btn-export[data-v-635cfa4e]:hover{opacity:.9}.period-selector[data-v-635cfa4e]{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:15px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.period-selector label[data-v-635cfa4e]{font-size:14px;font-weight:600;color:var(--text-secondary)}.period-selector select[data-v-635cfa4e]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:border-color .2s}.period-selector select[data-v-635cfa4e]:hover{border-color:var(--primary)}.loading[data-v-635cfa4e],.error[data-v-635cfa4e],.no-data[data-v-635cfa4e]{text-align:center;padding:40px;font-size:18px}.error[data-v-635cfa4e]{color:var(--error)}.department-table-container[data-v-635cfa4e]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.department-table[data-v-635cfa4e]{width:100%;border-collapse:collapse}thead[data-v-635cfa4e]{background:var(--bg-card)}th[data-v-635cfa4e]{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.rank-col[data-v-635cfa4e]{width:60px;text-align:center}.name-col[data-v-635cfa4e]{min-width:200px}.count-col[data-v-635cfa4e]{width:100px;text-align:center}.metric-col[data-v-635cfa4e]{text-align:right;min-width:110px}tbody tr[data-v-635cfa4e]{border-bottom:1px solid var(--border);transition:background .2s}tbody tr[data-v-635cfa4e]:hover{background:var(--bg-card)}td[data-v-635cfa4e]{padding:16px 12px;color:var(--text-secondary)}.rank-badge[data-v-635cfa4e]{display:inline-block;width:32px;height:32px;line-height:32px;text-align:center;border-radius:50%;background:var(--border);font-weight:600;font-size:14px;color:var(--text-secondary)}.department-row.rank-1 .rank-badge[data-v-635cfa4e]{background:linear-gradient(135deg,gold,orange);color:#fff;box-shadow:0 2px 8px #ffd70066}.department-row.rank-2 .rank-badge[data-v-635cfa4e]{background:linear-gradient(135deg,silver,#a8a8a8);color:#fff;box-shadow:0 2px 8px #c0c0c066}.department-row.rank-3 .rank-badge[data-v-635cfa4e]{background:linear-gradient(135deg,#cd7f32,#b8860b);color:#fff;box-shadow:0 2px 8px #cd7f3266}.department-info[data-v-635cfa4e]{display:flex;flex-direction:column;gap:4px}.department-name[data-v-635cfa4e]{font-weight:600;color:var(--text);font-size:15px}.employee-count[data-v-635cfa4e],.metric-value[data-v-635cfa4e]{font-weight:500;color:var(--text)}.metric-value.excellent[data-v-635cfa4e]{color:var(--success);font-weight:600}.metric-value.good[data-v-635cfa4e]{color:#34d399}.metric-value.average[data-v-635cfa4e]{color:var(--warning)}.metric-value.low[data-v-635cfa4e]{color:var(--error)}.metric-value.revenue[data-v-635cfa4e]{color:var(--primary)}.metric-value.profit[data-v-635cfa4e]{color:var(--success)}.metric-value.loss[data-v-635cfa4e]{color:var(--error)}.metric-value.warning[data-v-635cfa4e]{color:var(--warning)}.project-profitability[data-v-fd2b0b49]{background:var(--bg-secondary);border-radius:.75rem;padding:1.5rem;border:1px solid var(--border)}.header-section[data-v-fd2b0b49]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.project-profitability h2[data-v-fd2b0b49]{margin:0 0 5px;font-size:24px;color:var(--text)}.subtitle[data-v-fd2b0b49]{margin:0;color:var(--text-secondary);font-size:14px}.btn-export[data-v-fd2b0b49]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:opacity .2s}.btn-export[data-v-fd2b0b49]:hover{opacity:.9}.filters[data-v-fd2b0b49]{margin-bottom:20px;padding:12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.filters label[data-v-fd2b0b49]{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--text)}.projects-table[data-v-fd2b0b49]{overflow-x:auto;margin-bottom:20px}table[data-v-fd2b0b49]{width:100%;border-collapse:collapse}thead[data-v-fd2b0b49]{background:var(--bg-card)}th[data-v-fd2b0b49]{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.project-col[data-v-fd2b0b49]{min-width:200px}.client-col[data-v-fd2b0b49]{min-width:150px}.metric-col[data-v-fd2b0b49]{text-align:right;min-width:90px}tbody tr[data-v-fd2b0b49]{border-bottom:1px solid var(--border);transition:background .2s}tbody tr[data-v-fd2b0b49]:hover{background:var(--bg-card)}.project-row.high-profit[data-v-fd2b0b49]{background:#10b9811a}.project-row.unprofitable[data-v-fd2b0b49]{background:#ef44441a}td[data-v-fd2b0b49]{padding:16px 12px;color:var(--text-secondary)}.project-name[data-v-fd2b0b49]{font-weight:600;color:var(--text);font-size:14px}.client-name[data-v-fd2b0b49]{color:var(--text-secondary);font-size:13px}.hours-breakdown[data-v-fd2b0b49]{font-size:14px;color:var(--text);font-weight:500}.metric-value[data-v-fd2b0b49]{font-weight:500;color:var(--text);font-size:14px}.metric-value.excellent[data-v-fd2b0b49]{color:var(--success);font-weight:600}.metric-value.good[data-v-fd2b0b49]{color:#34d399}.metric-value.average[data-v-fd2b0b49]{color:var(--warning)}.metric-value.low[data-v-fd2b0b49]{color:var(--error)}.metric-value.revenue[data-v-fd2b0b49]{color:var(--primary)}.metric-value.cost[data-v-fd2b0b49]{color:var(--warning)}.profit-value.profit[data-v-fd2b0b49]{color:var(--success)}.profit-value.loss[data-v-fd2b0b49]{color:var(--error)}.margin-value.excellent[data-v-fd2b0b49]{color:var(--success);font-weight:600}.margin-value.good[data-v-fd2b0b49]{color:#34d399}.margin-value.average[data-v-fd2b0b49]{color:var(--warning)}.margin-value.low[data-v-fd2b0b49]{color:var(--error);font-weight:600}.summary[data-v-fd2b0b49]{display:flex;flex-wrap:wrap;gap:20px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px}.summary-item[data-v-fd2b0b49]{display:flex;flex-direction:column;gap:4px}.summary-label[data-v-fd2b0b49]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.summary-value[data-v-fd2b0b49]{font-size:18px;font-weight:600;color:var(--text)}.summary-value.revenue[data-v-fd2b0b49]{color:var(--primary)}.summary-value.cost[data-v-fd2b0b49]{color:var(--warning)}.summary-value.profit[data-v-fd2b0b49]{color:var(--success)}.summary-value.loss[data-v-fd2b0b49]{color:var(--error)}.no-data[data-v-fd2b0b49]{text-align:center;padding:40px;color:var(--text-secondary);font-style:italic}.project-profitability-view[data-v-1e0a91f0]{padding:12px 20px;max-width:1600px;margin:0 auto}.page-header[data-v-1e0a91f0]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}.page-header h1[data-v-1e0a91f0]{margin:0 0 5px;font-size:20px;font-weight:600;color:var(--text)}.subtitle[data-v-1e0a91f0]{margin:0;color:var(--text-secondary);font-size:14px}.period-selector[data-v-1e0a91f0]{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:15px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.period-selector label[data-v-1e0a91f0]{font-size:14px;font-weight:600;color:var(--text-secondary)}.period-selector select[data-v-1e0a91f0]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-secondary);color:var(--text);cursor:pointer;transition:border-color .2s}.period-selector select[data-v-1e0a91f0]:hover{border-color:var(--primary)}.loading[data-v-1e0a91f0],.error[data-v-1e0a91f0]{text-align:center;padding:40px;font-size:18px}.error[data-v-1e0a91f0]{color:var(--error)}.invoice-reconciliation[data-v-d7a3c755]{padding:20px;max-width:1400px;margin:0 auto;background:var(--bg)}.dashboard-header[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.dashboard-header h1[data-v-d7a3c755]{margin:0;font-size:28px;color:var(--text)}.btn-back[data-v-d7a3c755]{padding:10px 20px;background:var(--bg-card);color:var(--text);text-decoration:none;border-radius:4px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-back[data-v-d7a3c755]:hover{opacity:.8}.main-tabs[data-v-d7a3c755]{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid var(--border)}.main-tab[data-v-d7a3c755]{padding:12px 24px;background:none;border:none;color:var(--text-secondary);font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.main-tab[data-v-d7a3c755]:hover{color:var(--text);background:var(--bg-card)}.main-tab.active[data-v-d7a3c755]{color:var(--primary);border-bottom-color:var(--primary)}.stats-summary[data-v-d7a3c755]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:30px}.stat-card[data-v-d7a3c755]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px}.stat-card.success[data-v-d7a3c755]{border-left:4px solid var(--success)}.stat-card.warning[data-v-d7a3c755]{border-left:4px solid #f59e0b}.stat-label[data-v-d7a3c755]{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.stat-value[data-v-d7a3c755]{font-size:32px;font-weight:700;color:var(--text)}.stat-percent[data-v-d7a3c755]{font-size:14px;color:var(--text-secondary);margin-top:4px}.loading[data-v-d7a3c755],.error[data-v-d7a3c755]{text-align:center;padding:40px 20px;font-size:18px}.loading[data-v-d7a3c755]{color:var(--text-secondary)}.error[data-v-d7a3c755]{color:var(--error);background:#ef44441a;border:1px solid var(--error);border-radius:4px}.controls[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:15px}.search-input[data-v-d7a3c755]{flex:1;max-width:400px;padding:10px 15px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text)}.control-group[data-v-d7a3c755]{display:flex;align-items:center;gap:10px}.control-group label[data-v-d7a3c755]{font-size:14px;color:var(--text-secondary)}.limit-selector[data-v-d7a3c755]{padding:8px 12px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg-card);color:var(--text);cursor:pointer}.invoices-table-container[data-v-d7a3c755]{overflow-x:auto}.invoices-table[data-v-d7a3c755]{width:100%;border-collapse:collapse}.invoices-table thead[data-v-d7a3c755]{background:var(--bg-card)}.invoices-table th[data-v-d7a3c755]{padding:12px;text-align:left;font-size:13px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border)}.invoices-table th.sortable[data-v-d7a3c755]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.invoices-table th.sortable[data-v-d7a3c755]:hover{background:var(--border)}.invoices-table td[data-v-d7a3c755]{padding:16px 12px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.invoice-row[data-v-d7a3c755]{transition:background .2s}.invoice-row[data-v-d7a3c755]:hover{background:var(--bg-card)}.invoice-number[data-v-d7a3c755]{font-weight:600;color:var(--primary);font-size:15px}.customer-name[data-v-d7a3c755]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:500}.amount[data-v-d7a3c755]{font-weight:600;text-align:right;color:var(--text)}.status-badge[data-v-d7a3c755]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.status-paid[data-v-d7a3c755]{background:#22c55e1a;color:var(--success)}.status-sent[data-v-d7a3c755],.status-viewed[data-v-d7a3c755]{background:#3b82f61a;color:var(--primary)}.status-overdue[data-v-d7a3c755]{background:#ef44441a;color:var(--error)}.btn-map[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-map[data-v-d7a3c755]:hover{opacity:.8}.no-results[data-v-d7a3c755]{padding:40px;text-align:center;color:var(--text-secondary)}.modal-overlay[data-v-d7a3c755]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-d7a3c755]{background:var(--bg-card);border-radius:8px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border)}.modal-header h2[data-v-d7a3c755]{margin:0;font-size:24px;color:var(--text)}.btn-close[data-v-d7a3c755]{background:none;border:none;font-size:32px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.btn-close[data-v-d7a3c755]:hover{color:var(--text)}.modal-body[data-v-d7a3c755]{padding:20px}.invoice-details[data-v-d7a3c755]{margin-bottom:20px;padding:15px;background:var(--bg);border-radius:4px}.invoice-details h3[data-v-d7a3c755]{margin:0 0 15px;font-size:16px;color:var(--text)}.detail-row[data-v-d7a3c755]{display:flex;justify-content:space-between;margin-bottom:8px}.detail-row .label[data-v-d7a3c755]{color:var(--text-secondary);font-weight:500}.detail-row .value[data-v-d7a3c755]{color:var(--text);font-weight:600}.loading-suggestions[data-v-d7a3c755]{padding:20px;text-align:center;color:var(--text-secondary)}.suggestions[data-v-d7a3c755]{margin-bottom:20px}.suggestions h3[data-v-d7a3c755]{margin:0 0 15px;font-size:16px;color:var(--text)}.suggestion-item[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--bg);border-radius:4px;margin-bottom:10px}.suggestion-info[data-v-d7a3c755]{flex:1}.project-name[data-v-d7a3c755]{font-weight:600;color:var(--text);margin-bottom:4px}.project-client[data-v-d7a3c755]{font-size:14px;color:var(--text-secondary);margin-bottom:8px}.confidence-badge[data-v-d7a3c755]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase}.confidence-high[data-v-d7a3c755]{background:#22c55e1a;color:var(--success)}.confidence-medium[data-v-d7a3c755]{background:#fbbf241a;color:#f59e0b}.confidence-low[data-v-d7a3c755]{background:#9ca3af1a;color:var(--text-secondary)}.btn-select[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-select.selected[data-v-d7a3c755]{background:var(--success)}.btn-select[data-v-d7a3c755]:hover{opacity:.8}.manual-selection[data-v-d7a3c755]{margin-bottom:20px}.manual-selection h3[data-v-d7a3c755]{margin:0 0 10px;font-size:16px;color:var(--text)}.project-selector[data-v-d7a3c755]{width:100%;padding:10px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer}.allocation-amount[data-v-d7a3c755]{margin-bottom:20px}.allocation-amount label[data-v-d7a3c755]{display:block;margin-bottom:8px;font-weight:500;color:var(--text)}.amount-input-group[data-v-d7a3c755]{display:flex;align-items:center;gap:10px}.currency[data-v-d7a3c755]{font-weight:600;color:var(--text-secondary)}.amount-input[data-v-d7a3c755]{flex:1;padding:10px;font-size:14px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text)}.btn-full-amount[data-v-d7a3c755]{padding:10px 16px;font-size:14px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .2s}.btn-full-amount[data-v-d7a3c755]:hover{background:var(--border)}.modal-footer[data-v-d7a3c755]{display:flex;justify-content:flex-end;gap:10px;padding:20px;border-top:1px solid var(--border)}.btn-cancel[data-v-d7a3c755],.btn-save[data-v-d7a3c755]{padding:10px 20px;font-size:14px;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-cancel[data-v-d7a3c755]{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-cancel[data-v-d7a3c755]:hover{background:var(--border)}.btn-save[data-v-d7a3c755]{background:var(--success);color:#fff}.btn-save[data-v-d7a3c755]:hover:not(:disabled){opacity:.8}.btn-save[data-v-d7a3c755]:disabled{opacity:.5;cursor:not-allowed}.modal-error[data-v-d7a3c755]{padding:15px;background:#ef44441a;border:1px solid var(--error);border-radius:4px;color:var(--error);margin:0 20px 20px}.tabs[data-v-d7a3c755]{display:flex;gap:10px;margin-bottom:20px;border-bottom:2px solid var(--border)}.tab[data-v-d7a3c755]{padding:12px 24px;font-size:14px;font-weight:600;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--text-secondary);transition:all .2s}.tab[data-v-d7a3c755]:hover{color:var(--text)}.tab.active[data-v-d7a3c755]{color:var(--primary);border-bottom-color:var(--primary)}.mapping-badge[data-v-d7a3c755]{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;text-transform:uppercase}.mapping-badge.mapped[data-v-d7a3c755]{background:#22c55e1a;color:var(--success)}.mapping-badge.unmapped[data-v-d7a3c755]{background:#9ca3af1a;color:var(--text-secondary)}.action-buttons[data-v-d7a3c755]{display:flex;gap:8px}.btn-view[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-view[data-v-d7a3c755]:hover{opacity:.8}.btn-delete[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--error);color:#fff;border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-delete[data-v-d7a3c755]:hover{opacity:.8}.loading-allocations[data-v-d7a3c755]{padding:40px;text-align:center;color:var(--text-secondary)}.allocations-list[data-v-d7a3c755]{margin-top:20px}.allocations-list h3[data-v-d7a3c755]{margin:0 0 15px;font-size:16px;color:var(--text)}.no-allocations[data-v-d7a3c755]{padding:40px;text-align:center;color:var(--text-secondary);background:var(--bg);border-radius:4px}.allocation-item[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--bg);border-radius:4px;margin-bottom:10px;border:1px solid var(--border)}.allocation-info[data-v-d7a3c755]{flex:1}.allocation-details[data-v-d7a3c755]{display:flex;gap:12px;margin-top:8px;align-items:center}.allocation-amount[data-v-d7a3c755]{font-weight:600;color:var(--success);font-size:16px}.method-badge[data-v-d7a3c755]{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;text-transform:uppercase;background:#2563eb1a;color:var(--primary)}.bulk-actions-toolbar[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;background:var(--primary);color:#fff;padding:15px 20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 8px #2563eb4d}.bulk-info[data-v-d7a3c755]{display:flex;gap:20px;align-items:center}.bulk-count[data-v-d7a3c755]{font-weight:600;font-size:16px}.bulk-total[data-v-d7a3c755]{font-size:14px;opacity:.9}.bulk-buttons[data-v-d7a3c755]{display:flex;gap:10px}.btn-clear[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:4px;cursor:pointer;transition:background .2s;font-weight:600}.btn-clear[data-v-d7a3c755]:hover{background:#ffffff4d}.btn-bulk-map[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:#fff;color:var(--primary);border:none;border-radius:4px;cursor:pointer;transition:opacity .2s;font-weight:600}.btn-bulk-map[data-v-d7a3c755]:hover{opacity:.9}.checkbox-column[data-v-d7a3c755]{width:40px;text-align:center}.checkbox[data-v-d7a3c755]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.invoice-row.selected[data-v-d7a3c755]{background:#2563eb0d}.invoice-row.selected[data-v-d7a3c755]:hover{background:#2563eb1a}.bulk-summary[data-v-d7a3c755]{margin-bottom:20px;padding:15px;background:var(--bg);border-radius:4px}.bulk-summary h3[data-v-d7a3c755]{margin:0 0 15px;font-size:16px;color:var(--text)}.bulk-stats[data-v-d7a3c755]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px}.bulk-stats .stat[data-v-d7a3c755]{display:flex;justify-content:space-between;padding:10px;background:var(--bg-card);border-radius:4px;border:1px solid var(--border)}.bulk-stats .label[data-v-d7a3c755]{color:var(--text-secondary);font-weight:500}.bulk-stats .value[data-v-d7a3c755]{color:var(--text);font-weight:600}.selected-invoices-list[data-v-d7a3c755]{max-height:200px;overflow-y:auto;border:1px solid var(--border);border-radius:4px}.selected-invoice-item[data-v-d7a3c755]{display:flex;justify-content:space-between;align-items:center;padding:10px 15px;border-bottom:1px solid var(--border);font-size:13px}.selected-invoice-item[data-v-d7a3c755]:last-child{border-bottom:none}.selected-invoice-item .invoice-number[data-v-d7a3c755]{font-weight:600;color:var(--primary);min-width:100px}.selected-invoice-item .customer-name[data-v-d7a3c755]{flex:1;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 15px}.selected-invoice-item .amount[data-v-d7a3c755]{font-weight:600;color:var(--text);text-align:right;min-width:100px}.project-selection[data-v-d7a3c755]{margin-bottom:20px}.project-selection h3[data-v-d7a3c755]{margin:0 0 10px;font-size:16px;color:var(--text)}.allocation-mode[data-v-d7a3c755]{margin-bottom:20px}.allocation-mode h3[data-v-d7a3c755]{margin:0 0 10px;font-size:16px;color:var(--text)}.radio-group[data-v-d7a3c755]{display:flex;flex-direction:column;gap:10px}.radio-option[data-v-d7a3c755]{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .2s}.radio-option[data-v-d7a3c755]:hover{background:var(--border)}.radio-option input[type=radio][data-v-d7a3c755]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.radio-option span[data-v-d7a3c755]{color:var(--text);font-weight:500}.filters[data-v-d7a3c755]{display:flex;gap:10px;margin-bottom:15px}.btn-toggle-filters[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer;transition:background .2s;font-weight:600;display:flex;align-items:center;gap:5px}.btn-toggle-filters[data-v-d7a3c755]:hover{background:var(--border)}.filter-count[data-v-d7a3c755]{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:var(--primary);color:#fff;border-radius:10px;font-size:11px;font-weight:700}.btn-clear-filters[data-v-d7a3c755]{padding:8px 16px;font-size:14px;background:var(--bg-card);color:var(--error);border:1px solid var(--error);border-radius:4px;cursor:pointer;transition:all .2s;font-weight:600}.btn-clear-filters[data-v-d7a3c755]:hover{background:#ef44441a}.btn-sync[data-v-d7a3c755]{padding:8px 16px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .2s;white-space:nowrap}.btn-sync[data-v-d7a3c755]:hover:not(:disabled){opacity:.9}.btn-sync[data-v-d7a3c755]:disabled{opacity:.6;cursor:not-allowed}.filters-panel[data-v-d7a3c755]{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:20px;margin-bottom:20px}.filter-group[data-v-d7a3c755]{margin-bottom:20px}.filter-group[data-v-d7a3c755]:last-child{margin-bottom:0}.filter-group>label[data-v-d7a3c755]{display:block;font-weight:600;color:var(--text);margin-bottom:10px;font-size:14px}.status-filters[data-v-d7a3c755],.mapping-filters[data-v-d7a3c755]{display:flex;gap:15px;flex-wrap:wrap}.filter-checkbox[data-v-d7a3c755]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:8px 12px;background:var(--bg);border:1px solid var(--border);border-radius:4px;transition:all .2s}.filter-checkbox[data-v-d7a3c755]:hover{background:var(--border)}.filter-checkbox input[type=checkbox][data-v-d7a3c755]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary)}.filter-checkbox span[data-v-d7a3c755]{font-size:13px;color:var(--text);font-weight:500}.amount-filters[data-v-d7a3c755]{display:flex;align-items:center;gap:10px}.amount-input-wrapper[data-v-d7a3c755]{display:flex;align-items:center;gap:5px;background:var(--bg);border:1px solid var(--border);border-radius:4px;padding:0 10px}.currency-symbol[data-v-d7a3c755]{font-weight:600;color:var(--text-secondary);font-size:14px}.amount-filter-input[data-v-d7a3c755]{width:120px;padding:8px 5px;font-size:14px;border:none;background:transparent;color:var(--text);outline:none}.amount-filter-input[data-v-d7a3c755]::placeholder{color:var(--text-secondary);opacity:.6}.range-separator[data-v-d7a3c755]{color:var(--text-secondary);font-weight:500;font-size:14px}.invoice-generation[data-v-fa53c209]{padding:20px;max-width:1400px;margin:0 auto;background:var(--bg)}.dashboard-header[data-v-fa53c209]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.dashboard-header h1[data-v-fa53c209]{margin:0;font-size:28px;color:var(--text)}.header-actions[data-v-fa53c209]{display:flex;align-items:center;gap:15px}.zoho-auth-status[data-v-fa53c209]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;font-size:14px}.auth-label[data-v-fa53c209]{color:var(--text-secondary);font-weight:500}.status-badge[data-v-fa53c209]{padding:4px 12px;border-radius:3px;font-size:13px;font-weight:600}.status-connected[data-v-fa53c209]{background:#10b981;color:#fff}.status-warning[data-v-fa53c209]{background:#f59e0b;color:#fff}.status-disconnected[data-v-fa53c209]{background:#ef4444;color:#fff}.status-loading[data-v-fa53c209]{background:var(--border);color:var(--text-secondary)}.btn-oauth[data-v-fa53c209]{padding:6px 14px;background:var(--primary);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .2s}.btn-oauth[data-v-fa53c209]:hover{opacity:.9}.btn-back[data-v-fa53c209]{padding:10px 20px;background:var(--bg-card);color:var(--text);text-decoration:none;border-radius:4px;font-size:14px;font-weight:600;transition:opacity .2s}.btn-back[data-v-fa53c209]:hover{opacity:.8}.main-tabs[data-v-fa53c209]{display:flex;gap:10px;margin-bottom:30px;border-bottom:2px solid var(--border)}.main-tab[data-v-fa53c209]{padding:12px 24px;background:none;border:none;color:var(--text-secondary);font-size:16px;font-weight:600;cursor:pointer;text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px;transition:all .2s}.main-tab[data-v-fa53c209]:hover{color:var(--text);background:var(--bg-card)}.main-tab.active[data-v-fa53c209]{color:var(--primary);border-bottom-color:var(--primary)}.filters-section[data-v-fa53c209]{background:var(--bg-secondary);padding:20px;border-radius:8px;border:1px solid var(--border);margin-bottom:20px}.date-range-selector[data-v-fa53c209]{display:flex;gap:20px;align-items:flex-end}.date-range-selector label[data-v-fa53c209]{display:flex;flex-direction:column;gap:5px;font-weight:500;color:var(--text-secondary)}.date-range-selector input[type=date][data-v-fa53c209]{padding:8px 12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:4px;font-size:14px}.btn-refresh[data-v-fa53c209]{padding:8px 20px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.btn-refresh[data-v-fa53c209]:hover:not(:disabled){opacity:.9}.btn-refresh[data-v-fa53c209]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-fa53c209]{background:#ef44441a;color:var(--error);padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid var(--error)}.success-message[data-v-fa53c209]{background:#10b9811a;color:var(--success);padding:12px;border-radius:4px;margin-bottom:20px;border:1px solid var(--success)}.loading[data-v-fa53c209]{text-align:center;padding:40px;color:var(--text-secondary);font-size:16px}.projects-table-container[data-v-fa53c209]{background:var(--bg-secondary);padding:20px;border-radius:8px;border:1px solid var(--border)}.projects-table-container h2[data-v-fa53c209]{margin-top:0;margin-bottom:20px;font-size:20px;color:var(--text)}.projects-table[data-v-fa53c209]{width:100%;border-collapse:collapse}.projects-table th[data-v-fa53c209],.projects-table td[data-v-fa53c209]{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.projects-table th[data-v-fa53c209]{background:var(--bg-card);font-weight:600;color:var(--text)}.projects-table td[data-v-fa53c209]{color:var(--text-secondary)}.projects-table tbody tr[data-v-fa53c209]:hover{background:var(--bg-card)}.actions-cell[data-v-fa53c209]{display:flex;gap:10px}.btn-preview[data-v-fa53c209],.btn-create[data-v-fa53c209]{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.btn-preview[data-v-fa53c209]{background:var(--primary);color:#fff}.btn-preview[data-v-fa53c209]:hover:not(:disabled){opacity:.9}.btn-create[data-v-fa53c209]{background:var(--success);color:#fff}.btn-create[data-v-fa53c209]:hover:not(:disabled){opacity:.9}.btn-preview[data-v-fa53c209]:disabled,.btn-create[data-v-fa53c209]:disabled{opacity:.5;cursor:not-allowed}.no-data[data-v-fa53c209]{text-align:center;padding:60px 20px;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.no-data p[data-v-fa53c209]{margin:10px 0;font-size:16px}.modal-overlay[data-v-fa53c209]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-fa53c209]{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;width:90%;max-width:800px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-header[data-v-fa53c209]{padding:20px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-fa53c209]{margin:0;font-size:24px;color:var(--text)}.btn-close[data-v-fa53c209]{background:none;border:none;font-size:32px;cursor:pointer;color:var(--text-secondary);line-height:1;padding:0;width:32px;height:32px;transition:color .2s}.btn-close[data-v-fa53c209]:hover{color:var(--text)}.modal-body[data-v-fa53c209]{padding:20px;overflow-y:auto;flex:1}.preview-section[data-v-fa53c209]{margin-bottom:30px}.preview-section h3[data-v-fa53c209]{margin-top:0;margin-bottom:15px;font-size:18px;color:var(--text-secondary)}.info-grid[data-v-fa53c209]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.info-item[data-v-fa53c209]{display:flex;flex-direction:column;gap:5px}.info-item .label[data-v-fa53c209]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.info-item .value[data-v-fa53c209]{font-size:16px;color:var(--text);font-weight:500}.summary-cards[data-v-fa53c209]{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.summary-card[data-v-fa53c209]{background:var(--bg-card);padding:15px;border-radius:4px;text-align:center;border:1px solid var(--border)}.summary-label[data-v-fa53c209]{font-size:12px;color:var(--text-secondary);text-transform:uppercase;margin-bottom:5px}.summary-value[data-v-fa53c209]{font-size:24px;color:var(--text);font-weight:600}.form-grid[data-v-fa53c209]{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.form-field[data-v-fa53c209]{display:flex;flex-direction:column;gap:5px}.form-field.full-width[data-v-fa53c209]{grid-column:1 / -1}.form-field label[data-v-fa53c209]{font-weight:500;color:var(--text-secondary);font-size:14px}.form-field input[data-v-fa53c209],.form-field textarea[data-v-fa53c209]{padding:8px 12px;border:1px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:4px;font-size:14px}.form-field textarea[data-v-fa53c209]{resize:vertical;font-family:inherit}.warnings-list[data-v-fa53c209]{margin:0;padding-left:20px;color:var(--warning)}.warnings-list li[data-v-fa53c209]{margin-bottom:8px}.modal-footer[data-v-fa53c209]{padding:20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px}.btn-cancel[data-v-fa53c209],.btn-create-confirm[data-v-fa53c209]{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.btn-cancel[data-v-fa53c209]{background:var(--bg-card);color:var(--text)}.btn-cancel[data-v-fa53c209]:hover{opacity:.8}.btn-create-confirm[data-v-fa53c209]{background:var(--success);color:#fff}.btn-create-confirm[data-v-fa53c209]:hover:not(:disabled){opacity:.9}.btn-create-confirm[data-v-fa53c209]:disabled{opacity:.5;cursor:not-allowed}.timesheet-option[data-v-fa53c209]{display:flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.timesheet-option input[type=checkbox][data-v-fa53c209]{width:18px;height:18px;cursor:pointer}.section-header[data-v-fa53c209]{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.btn-toggle[data-v-fa53c209]{padding:6px 12px;font-size:13px;background:var(--bg-card);border:1px solid var(--border);color:var(--text);border-radius:4px;cursor:pointer;transition:background-color .2s}.btn-toggle[data-v-fa53c209]:hover{background:var(--bg)}.timesheet-summary[data-v-fa53c209]{padding:15px;background:var(--bg-card);border:1px solid var(--border);border-radius:4px;margin-bottom:15px}.summary-info[data-v-fa53c209]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.summary-info[data-v-fa53c209]:last-child{border-bottom:none}.summary-info .label[data-v-fa53c209]{font-weight:500;color:var(--text-secondary)}.summary-info .value[data-v-fa53c209]{color:var(--text);font-weight:500}.timesheet-table-preview[data-v-fa53c209]{max-height:400px;overflow-y:auto;border:1px solid var(--border);border-radius:4px}.timesheet-table-preview table[data-v-fa53c209]{width:100%;border-collapse:collapse}.timesheet-table-preview th[data-v-fa53c209]{background:var(--bg-card);padding:10px;text-align:left;font-weight:600;border-bottom:2px solid var(--border);position:sticky;top:0;color:var(--text)}.timesheet-table-preview td[data-v-fa53c209]{padding:10px;border-bottom:1px solid var(--border);color:var(--text)}.timesheet-table-preview tbody tr[data-v-fa53c209]:hover{background:var(--bg-card)}.table-notice[data-v-fa53c209]{text-align:center;padding:10px;color:var(--text-secondary);font-size:13px;font-style:italic;margin:0;background:var(--bg-card)}.loading-text[data-v-fa53c209]{color:var(--text-secondary);font-style:italic;text-align:center;padding:20px 0}.customer-select-cell[data-v-fa53c209]{padding:8px 12px!important;position:relative}.customer-autocomplete[data-v-fa53c209]{position:relative;width:100%}.customer-input[data-v-fa53c209]{width:100%;padding:6px 10px;border:2px solid var(--border);background:var(--bg-card);color:var(--text);border-radius:4px;font-size:14px;transition:all .2s}.customer-input[data-v-fa53c209]:hover{border-color:var(--primary)}.customer-input[data-v-fa53c209]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.customer-input.no-mapping[data-v-fa53c209]{border-color:var(--warning);background:#f59e0b0d}.customer-dropdown[data-v-fa53c209]{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bg-card);border:2px solid var(--primary);border-radius:4px;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;z-index:1000}.customer-option[data-v-fa53c209]{padding:10px 12px;cursor:pointer;transition:background .15s;color:var(--text);border-bottom:1px solid var(--border)}.customer-option[data-v-fa53c209]:last-child{border-bottom:none}.customer-option[data-v-fa53c209]:hover{background:var(--primary);color:#fff}.customer-more[data-v-fa53c209]{padding:8px 12px;text-align:center;color:var(--text-secondary);font-size:13px;font-style:italic;background:var(--bg-secondary)}.table-header-actions[data-v-fa53c209]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.table-header-actions h2[data-v-fa53c209]{margin:0}.bulk-actions[data-v-fa53c209]{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#2563eb1a;border:1px solid var(--primary);border-radius:4px}.selection-count[data-v-fa53c209]{font-size:14px;font-weight:600;color:var(--primary)}.btn-bulk-create[data-v-fa53c209]{padding:8px 16px;background:var(--success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.btn-bulk-create[data-v-fa53c209]:hover:not(:disabled){opacity:.9}.btn-bulk-create[data-v-fa53c209]:disabled{opacity:.5;cursor:not-allowed}.btn-clear-selection[data-v-fa53c209]{padding:8px 16px;background:var(--bg-card);color:var(--text);border:1px solid var(--border);border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;transition:opacity .2s}.btn-clear-selection[data-v-fa53c209]:hover{opacity:.8}.checkbox-cell[data-v-fa53c209]{text-align:center;padding:12px 8px!important}.checkbox-cell input[type=checkbox][data-v-fa53c209],.projects-table th input[type=checkbox][data-v-fa53c209]{width:18px;height:18px;cursor:pointer}.checkbox-cell input[type=checkbox][data-v-fa53c209]:disabled{opacity:.4;cursor:not-allowed}.selected-row[data-v-fa53c209]{background:#2563eb14!important}.selected-row[data-v-fa53c209]:hover{background:#2563eb1f!important}:root{--primary: #FE5730;--primary-dark: #d94620;--bg: #0f172a;--bg-secondary: #1e293b;--bg-card: #334155;--text: #f8fafc;--text-secondary: #cbd5e1;--border: #475569;--success: #10b981;--warning: #f59e0b;--error: #ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background-color:var(--bg);color:var(--text);line-height:1.6}#app{max-width:1400px;margin:0 auto;padding:2rem}h1{font-size:2.5rem;margin-bottom:.5rem;color:var(--text)}h2{font-size:1.5rem;margin-bottom:1rem;color:var(--text)}h3{font-size:1.25rem;margin-bottom:.75rem;color:var(--text-secondary)}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid var(--border)}.header-info{flex:1}.subtitle{color:var(--text-secondary);font-size:1rem}.sync-button{background-color:var(--primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;transition:background-color .2s}.sync-button:hover{background-color:var(--primary-dark)}.sync-button:disabled{opacity:.5;cursor:not-allowed}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}.stat-label{color:var(--text-secondary);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:1.5rem;margin-bottom:2rem}.chart-card{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border)}.chart-card.full-width{grid-column:1 / -1}.table-container{background-color:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border);overflow-x:auto}table{width:100%;border-collapse:collapse}thead{background-color:var(--bg-card)}th{text-align:left;padding:.75rem;font-weight:600;color:var(--text);border-bottom:2px solid var(--border)}td{padding:.75rem;border-bottom:1px solid var(--border);color:var(--text-secondary)}tr:hover{background-color:var(--bg-card)}.loading{display:flex;justify-content:center;align-items:center;min-height:400px;font-size:1.5rem;color:var(--text-secondary)}.error{background-color:#ef44441a;border:1px solid var(--error);color:var(--error);padding:1rem;border-radius:.5rem;margin-bottom:1rem}@media (max-width: 768px){.chart-grid,.overview-grid{grid-template-columns:1fr}}
