.nav-icon[data-v-7e403e86],.nav-icon[data-v-8e23a5b0],.nav-icon[data-v-645ebc44],.nav-icon[data-v-e67c48f9],.nav-icon[data-v-03e550d0],.nav-icon[data-v-a45c086d],.nav-icon[data-v-cb749b94],.nav-icon[data-v-608cc543],.nav-icon[data-v-cc2fd4d4]{width:2rem;height:2rem;stroke-width:1.5;flex-shrink:0}.sidebar-container[data-v-9f924d17]{position:relative}.hamburger-btn[data-v-9f924d17]{position:fixed;background:var(--color-background);vertical-align:center;border:none;z-index:1001;border-radius:8px;width:62px;height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #0000001a}.hamburger-btn[data-v-9f924d17]:hover{background:var(--color-hover);transform:scale(1.05)}.hamburger-line[data-v-9f924d17]{width:20px;height:2px;background:var(--color-text);transition:all .3s ease}.hamburger-btn.sidebar-open .hamburger-line[data-v-9f924d17]:nth-child(1){transform:rotate(45deg) translate(3px,3px)}.hamburger-btn.sidebar-open .hamburger-line[data-v-9f924d17]:nth-child(2){opacity:0}.hamburger-btn.sidebar-open .hamburger-line[data-v-9f924d17]:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.sidebar[data-v-9f924d17]{position:fixed;top:0;left:0;height:100vh;width:64px;background:var(--color-surface);border-right:1px solid var(--color-border);transition:width .3s ease;z-index:1000;overflow:hidden;display:flex;flex-direction:column}.sidebar.expanded[data-v-9f924d17]{width:280px}.sidebar-header[data-v-9f924d17]{padding:1rem;border-bottom:1px solid var(--color-border);min-height:64px;display:flex;align-items:center;background-color:var(--color-background);color:var(--color-text)}.sidebar-title[data-v-9f924d17]{font-size:1.25rem;font-weight:600;color:var(--color-text);margin:0;white-space:nowrap;margin-left:5rem}.sidebar-content[data-v-9f924d17]{flex:1;overflow-y:auto;padding:1rem 0;background-color:var(--color-background);opacity:.9}.nav-section[data-v-9f924d17]{margin-bottom:2rem}.nav-item[data-v-9f924d17]{display:flex;align-items:center;padding:.75rem 1rem;color:var(--color-primary);text-decoration:none;transition:all .2s ease;margin:0 .5rem;border-radius:6px;min-height:44px;color:var(--color-text)}.nav-item[data-v-9f924d17]:hover{background:var(--color-hover);color:var(--color-text)}.nav-item.router-link-active[data-v-9f924d17]{background:var(--color-primary-subdued);color:var(--color-text);font-weight:500}.nav-item.collapsed[data-v-9f924d17]{justify-content:center;padding:.75rem}.nav-text[data-v-9f924d17]{margin-left:.75rem;white-space:nowrap;font-size:.875rem}.sidebar-overlay[data-v-9f924d17]{position:fixed;inset:0;background:#0009;z-index:999}@media (max-width: 767px){.sidebar[data-v-9f924d17]{transform:translate(-100%);width:280px}.sidebar.expanded[data-v-9f924d17]{transform:translate(0)}.hamburger-btn[data-v-9f924d17]{background:var(--color-surface);border:1px solid var(--color-border)}.hamburger-line[data-v-9f924d17]{background:var(--color-text)}}.sign-out-icon[data-v-63211126]{width:1rem;height:1rem}.run-report-btn[data-v-dd0751c3]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-dd0751c3]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-dd0751c3]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-dd0751c3]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-dd0751c3 1s linear infinite}@keyframes spin-dd0751c3{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.run-report-btn[data-v-ab3d60cc]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-ab3d60cc]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-ab3d60cc]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-ab3d60cc]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-ab3d60cc 1s linear infinite}@keyframes spin-ab3d60cc{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.invoice-results-dialog[data-v-ab3d60cc]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-overlay[data-v-ab3d60cc]{position:absolute;inset:0;background-color:#00000080;backdrop-filter:blur(2px)}.dialog-content[data-v-ab3d60cc]{position:relative;background:var(--color-background);padding:1.5rem;border-radius:8px;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;z-index:1001;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border)}.dialog-header[data-v-ab3d60cc],.dialog-footer[data-v-ab3d60cc]{display:flex;justify-content:space-between}.dialog-body[data-v-ab3d60cc]{margin-bottom:1rem;max-height:60vh;overflow-y:auto}.summary-section[data-v-ab3d60cc]{margin:1.5rem 0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.summary-item[data-v-ab3d60cc]{display:flex;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background-color:var(--color-background-soft);transition:background-color .2s ease}.summary-item[data-v-ab3d60cc]:last-child{border-bottom:none}.summary-item[data-v-ab3d60cc]:hover{background-color:var(--color-background-mute)}.error-item[data-v-ab3d60cc]{cursor:pointer;color:var(--color-danger);font-weight:500}.error-item.has-errors[data-v-ab3d60cc]{background-color:#e53e3e1a}.error-list[data-v-ab3d60cc]{margin:0;padding:.5rem 1rem;background-color:var(--color-background-soft);border-top:1px solid var(--color-border);max-height:200px;overflow-y:auto;font-size:.9rem}.error-list .error-item[data-v-ab3d60cc]{padding:.5rem 0;margin:0;border-bottom:1px dashed var(--color-border);font-weight:400;color:var(--color-danger)}.error-list .error-item[data-v-ab3d60cc]:last-child{border-bottom:none}.close-button[data-v-ab3d60cc]{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .2s ease}.close-button[data-v-ab3d60cc]:hover{color:var(--color-text)}.trigger[data-v-3ea4cc07]{cursor:pointer;background-color:transparent;border-radius:6px;border:1px solid var(--color-border, #e5e7eb)}.trigger[data-v-3ea4cc07]:hover{background-color:var(--color-hover, #f3f4f6)}.flyout[data-v-3ea4cc07]{position:fixed;z-index:50;background-color:var(--color-background, #fff);padding:1rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px}.app-header[data-v-5f58bed4]{border-bottom:1px solid var(--color-border, #e5e7eb);display:flex;align-items:center;position:sticky;top:0;height:64px;margin-left:64px;background-color:var(--color-background, #f9fafb);z-index:100}.header-content[data-v-5f58bed4]{display:flex;justify-content:space-between;align-items:center;width:100%}.header-left[data-v-5f58bed4]{flex:1}.page-title[data-v-5f58bed4]{font-size:1.5rem;font-weight:600;color:var(--color-text, #1f2937);margin:0;margin-left:1rem}.header-right[data-v-5f58bed4]{display:flex;align-items:center;gap:1rem}.user-info[data-v-5f58bed4]{display:flex;align-items:center}.user-name[data-v-5f58bed4]{font-size:1rem;color:var(--color-text, #6b7280);font-weight:500}.needs-attention[data-v-5f58bed4]{color:red;height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;font-size:2rem}.header-btn[data-v-5f58bed4]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;margin-right:1rem;background:transparent;border:1px solid var(--color-border, #e5e7eb);border-radius:.375rem;color:var(--color-text, #6b7280);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.header-btn[data-v-5f58bed4]:hover{background:var(--color-hover, #f3f4f6);border-color:var(--color-text-secondary, #6b7280);color:var(--color-text, #1f2937)}.header-btn[data-v-5f58bed4]:active{transform:translateY(1px)}@media (max-width: 640px){.user-name[data-v-5f58bed4]{display:none}.header-btn[data-v-5f58bed4]{padding:.5rem}.header-btn span[data-v-5f58bed4]{display:none}}.run-report-btn[data-v-9e67aa4f]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-9e67aa4f]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-9e67aa4f]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-9e67aa4f]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-9e67aa4f 1s linear infinite}@keyframes spin-9e67aa4f{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.app-layout[data-v-9e67aa4f]{display:flex}.main-content[data-v-9e67aa4f]{flex:1;background:var(--color-background, #f9fafb);transition:margin-left .3s ease;display:flex;flex-direction:column}.page-content[data-v-9e67aa4f]{flex:1;overflow-y:auto;padding:1rem;margin-left:64px}.auth-layout[data-v-9e67aa4f],.loading-container[data-v-9e67aa4f]{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-background, #f9fafb)}@media (max-width: 767px){.page-content[data-v-9e67aa4f]{margin-left:0}}.run-report-btn[data-v-acf79efc]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-acf79efc]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-acf79efc]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-acf79efc]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-acf79efc 1s linear infinite}@keyframes spin-acf79efc{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.bar-container[data-v-acf79efc]{text-align:center;padding:1rem;background-color:var(--color-section-bg);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000004d;display:flex;flex-direction:row;justify-content:space-between}.date-picker-section[data-v-acf79efc]{display:flex;flex-direction:row;align-items:start;justify-self:start;gap:1rem}.end-content[data-v-acf79efc]{display:flex;flex-direction:row;align-items:end;justify-self:end}.date-input-group[data-v-acf79efc]{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;flex-direction:row;align-items:center}.date-input-group label[data-v-acf79efc]{font-weight:500;color:var(--color-text);font-size:1rem}.date-input[data-v-acf79efc]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;font-size:1rem;min-width:150px;background-color:var(--color-input-bg);color:var(--color-text)}.date-input[data-v-acf79efc]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f64d}.date-label[data-v-acf79efc]{font-weight:500;color:var(--color-text);font-size:1rem}.clear-report-btn[data-v-acf79efc]{background-color:#79818f;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-size:1rem;width:150px;height:40px;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.clear-report-btn[data-v-acf79efc]:hover:not(:disabled){background-color:var(--color-surface-hover)}.clear-report-btn[data-v-acf79efc]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-report[data-v-acf79efc]{text-align:center;padding:2rem;color:var(--color-text-muted);font-style:italic}@media (max-width: 768px){.date-picker-section[data-v-acf79efc]{flex-direction:column;align-items:center;gap:1.5rem}.date-input-group[data-v-acf79efc]{flex-direction:column;align-items:center;text-align:center;gap:.5rem}.date-input[data-v-acf79efc]{min-width:200px}.run-report-btn[data-v-acf79efc],.clear-report-btn[data-v-acf79efc]{width:200px}}.error-message[data-v-8d412346]{color:#fff;margin-top:1rem;padding:.75rem;background-color:#7f1d1d;border:1px solid #dc2626;border-radius:.5rem;margin:.5rem 1rem}.error-button[data-v-8d412346]{background-color:#7f1d1d;border-color:#dc2626;border-width:1px;color:#fff;border:none;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .2s;margin:.5rem 1rem}.error-button[data-v-8d412346]:hover:not(:disabled){background-color:#7f1d1d}.error-button[data-v-8d412346]:disabled{background-color:#9ca3af;cursor:not-allowed}.report-table[data-v-a55cf316]{width:100%;border-collapse:collapse;margin-top:0;background-color:var(--color-table-bg)}.report-table th[data-v-a55cf316],.report-table td[data-v-a55cf316]{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text)}.report-table th[data-v-a55cf316]{background-color:var(--color-table-header-bg);font-weight:600;color:var(--color-text);position:sticky;top:0}.report-table tbody tr[data-v-a55cf316]:hover{background-color:var(--color-table-hover)}.report-table td.negative[data-v-a55cf316]{color:#fca5a5;font-weight:500}.report-results[data-v-a55cf316]{margin-top:1rem;background:var(--color-table-bg);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;overflow:hidden}.report-header[data-v-a55cf316]{padding:1rem}.report-header h3[data-v-a55cf316]{font-size:1.25rem;font-weight:600;color:var(--color-text)}.filter-section[data-v-a55cf316]{display:flex;align-items:center;gap:.5rem}.filter-label[data-v-a55cf316]{font-weight:600;color:var(--color-text);font-size:1rem}.filter-input[data-v-a55cf316]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;background-color:var(--color-input-bg);color:var(--color-text);font-size:.875rem;min-width:300px;transition:border-color .2s ease}.filter-input[data-v-a55cf316]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f64d}.filter-input[data-v-a55cf316]::placeholder{color:var(--color-text-muted)}.report-content[data-v-a55cf316]{display:flex;flex-direction:column}.grouping-controls[data-v-a55cf316]{padding:1rem;background-color:var(--color-section-bg);border-bottom:1px solid var(--color-border);flex-shrink:0}.grouped-table[data-v-a55cf316]{padding:1rem}.group-section[data-v-a55cf316]{margin-bottom:1rem}.group-header[data-v-a55cf316]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background-color:var(--color-surface);cursor:pointer}.expand-icon[data-v-a55cf316]{font-size:1.25rem}.group-title[data-v-a55cf316]{font-weight:600;color:var(--color-text)}.group-count[data-v-a55cf316]{color:var(--color-text-muted);font-size:.875rem}.report-table-header[data-v-a55cf316]{background-color:var(--color-table-header-bg);border-radius:.5rem;border-width:1px;border-color:var(--color-border)}.grouping-label[data-v-a55cf316]{font-weight:600;color:var(--color-text)}.radio-group[data-v-a55cf316]{display:flex;flex-wrap:wrap;gap:.5rem}.radio-option[data-v-a55cf316]{display:flex;align-items:center;gap:.25rem}.date-range[data-v-a55cf316]{margin:0;color:var(--color-text-muted);font-size:.875rem}.run-report-btn[data-v-d01ebea1]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-d01ebea1]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-d01ebea1]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-d01ebea1]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-d01ebea1 1s linear infinite}@keyframes spin-d01ebea1{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.login-container[data-v-d01ebea1]{display:flex;justify-content:center;align-items:center;width:100%;height:80vh}.login-card[data-v-d01ebea1]{background:var(--color-background-soft);padding:2.5rem;border-radius:.75rem;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;text-align:center;width:100%;max-width:400px;border:1px solid var(--color-border)}.login-title[data-v-d01ebea1]{color:var(--color-heading);margin-bottom:2rem;font-size:1.75rem;font-weight:600}.error-message[data-v-d01ebea1]{color:var(--color-danger);font-weight:700;margin-top:2rem}button[data-v-b7750c41]{margin-top:1rem}.report-table[data-v-6eed2eb9]{width:100%;border-collapse:collapse;margin-top:0;background-color:var(--color-table-bg)}.report-table th[data-v-6eed2eb9],.report-table td[data-v-6eed2eb9]{padding:.75rem;text-align:left;border-bottom:1px solid var(--color-border);color:var(--color-text)}.report-table th[data-v-6eed2eb9]{background-color:var(--color-table-header-bg);font-weight:600;color:var(--color-text);position:sticky;top:0}.report-table tbody tr[data-v-6eed2eb9]:hover{background-color:var(--color-table-hover)}.report-table td.negative[data-v-6eed2eb9]{color:#fca5a5;font-weight:500}.report-results[data-v-6eed2eb9]{margin-top:1rem;background:var(--color-table-bg);border-radius:.75rem;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003;overflow:hidden}.report-header[data-v-6eed2eb9]{padding:1rem}.report-header h3[data-v-6eed2eb9]{font-size:1.25rem;font-weight:600;color:var(--color-text)}.filter-section[data-v-6eed2eb9]{display:flex;align-items:center;gap:.5rem}.filter-label[data-v-6eed2eb9]{font-weight:600;color:var(--color-text);font-size:1rem}.filter-input[data-v-6eed2eb9]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;background-color:var(--color-input-bg);color:var(--color-text);font-size:.875rem;min-width:300px;transition:border-color .2s ease}.filter-input[data-v-6eed2eb9]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f64d}.filter-input[data-v-6eed2eb9]::placeholder{color:var(--color-text-muted)}.section-container[data-v-6eed2eb9]{border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.section-header[data-v-6eed2eb9]{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:1rem;background-color:var(--color-section-bg);transition:background-color .2s ease;user-select:none}.section-header[data-v-6eed2eb9]:hover{background-color:var(--color-section-hover)}.section-header h2[data-v-6eed2eb9]{margin:0;color:var(--color-text);font-size:1.25rem;font-weight:600}.expand-arrow[data-v-6eed2eb9]{font-size:1.2rem;color:var(--color-text-muted);transition:transform .3s ease;transform-origin:center}.expand-arrow.expanded[data-v-6eed2eb9]{transform:rotate(90deg)}.collapsible-content[data-v-6eed2eb9]{max-height:0;overflow:hidden;transition:max-height .4s ease-out;background-color:var(--color-surface)}.collapsible-content.expanded[data-v-6eed2eb9]{max-height:fit-content;transition:max-height .4s ease-in}.collapsible-content[data-v-6eed2eb9]>*{padding:1rem}.collapsible-content .filter-section[data-v-6eed2eb9]{padding-bottom:0}.collapsible-content .report-table[data-v-6eed2eb9]{margin:0}.run-report-btn[data-v-6eed2eb9]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-6eed2eb9]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-6eed2eb9]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-6eed2eb9]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-6eed2eb9 1s linear infinite}@keyframes spin-6eed2eb9{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.margin-bottom[data-v-6eed2eb9]{margin-bottom:1rem}.corner-radius[data-v-6eed2eb9]{border-radius:.5rem;border:1px solid var(--color-border);transition:border-color .2s ease}.sortable-header[data-v-6eed2eb9]{cursor:pointer;user-select:none;transition:background-color .2s ease}.sortable-header[data-v-6eed2eb9]:hover{background-color:#3b82f61a}.header-content[data-v-6eed2eb9]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.sort-indicator[data-v-6eed2eb9]{font-size:.75rem;color:var(--color-primary, #3b82f6);transition:transform .2s ease}.sort-indicator.sort-desc[data-v-6eed2eb9]{transform:rotate(180deg)}.run-report-btn[data-v-cb9a87b6]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-cb9a87b6]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-cb9a87b6]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-cb9a87b6]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-cb9a87b6 1s linear infinite}@keyframes spin-cb9a87b6{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.modal-overlay[data-v-cb9a87b6]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-backdrop[data-v-cb9a87b6]{position:absolute;inset:0;background-color:#00000080;backdrop-filter:blur(2px)}.modal-content[data-v-cb9a87b6]{position:relative;background:var(--color-background);padding:1.5rem;border-radius:.5rem;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;z-index:1001;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border)}.modal-header[data-v-cb9a87b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-cb9a87b6]{margin:0;color:var(--color-text);font-size:1.25rem;font-weight:600}.close-button[data-v-cb9a87b6]{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .2s ease}.close-button[data-v-cb9a87b6]:hover{color:var(--color-text)}.user-form[data-v-cb9a87b6]{display:flex;flex-direction:column;gap:1.25rem}.form-row[data-v-cb9a87b6]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-cb9a87b6]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-cb9a87b6]{font-weight:600;color:var(--color-text);font-size:.875rem}.section-label[data-v-cb9a87b6]{font-weight:600;color:var(--color-text);font-size:1rem;margin-bottom:.5rem}.form-input[data-v-cb9a87b6]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;background-color:var(--color-input-bg);color:var(--color-text);font-size:.875rem;transition:border-color .2s ease}.form-input[data-v-cb9a87b6]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f64d}.form-input[data-v-cb9a87b6]::placeholder{color:var(--color-text-muted)}.form-input.error[data-v-cb9a87b6]{border-color:#ef4444}.error-message[data-v-cb9a87b6]{color:#fca5a5;font-size:.75rem;margin-top:.25rem}.checkbox-group[data-v-cb9a87b6]{display:flex;flex-direction:column;gap:.75rem}.checkbox-item[data-v-cb9a87b6]{display:flex;align-items:center;gap:.5rem}.form-checkbox[data-v-cb9a87b6]{width:1rem;height:1rem;border:1px solid var(--color-input-border);border-radius:.25rem;background-color:var(--color-input-bg);cursor:pointer}.form-checkbox[data-v-cb9a87b6]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-label[data-v-cb9a87b6]{color:var(--color-text);font-size:.875rem;cursor:pointer;margin:0}.form-actions[data-v-cb9a87b6]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn[data-v-cb9a87b6]{padding:.5rem 1rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;text-align:center;display:flex;align-items:center;gap:.5rem}.btn-primary[data-v-cb9a87b6]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-cb9a87b6]:hover:not(:disabled){background-color:#1d4ed8}.btn-primary[data-v-cb9a87b6]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-cb9a87b6]{background-color:var(--color-surface-hover);color:var(--color-text)}.btn-secondary[data-v-cb9a87b6]:hover{background-color:var(--color-surface-soft);color:var(--color-text)}@media (max-width: 640px){.form-row[data-v-cb9a87b6]{grid-template-columns:1fr}.modal-content[data-v-cb9a87b6]{width:95%;padding:1rem}.form-actions[data-v-cb9a87b6]{flex-direction:column}}.run-report-btn[data-v-339b7793]{background-color:var(--color-primary);color:#fff;border:none;padding:.5rem;border-radius:.5rem;min-width:150px;height:40px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .2s;position:relative}.run-report-btn[data-v-339b7793]:hover:not(:disabled){background-color:#1d4ed8}.run-report-btn[data-v-339b7793]:disabled{background-color:#9ca3af;cursor:not-allowed}.loading-spinner[data-v-339b7793]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:4px solid #ffffff;border-top:4px solid var(--color-primary);border-radius:50%;width:20px;height:20px;animation:spin-339b7793 1s linear infinite}@keyframes spin-339b7793{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.modal-overlay[data-v-339b7793]{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-backdrop[data-v-339b7793]{position:absolute;inset:0;background-color:#00000080;backdrop-filter:blur(2px)}.modal-content[data-v-339b7793]{position:relative;background:var(--color-background);padding:1.5rem;border-radius:.5rem;width:90%;max-width:600px;max-height:80vh;overflow-y:auto;z-index:1001;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border)}.modal-header[data-v-339b7793]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.modal-header h2[data-v-339b7793]{margin:0;color:var(--color-text);font-size:1.25rem;font-weight:600}.close-button[data-v-339b7793]{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:.25rem;border-radius:.375rem;transition:color .2s ease}.close-button[data-v-339b7793]:hover{color:var(--color-text)}.user-form[data-v-339b7793]{display:flex;flex-direction:column;gap:1.25rem}.form-row[data-v-339b7793]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group[data-v-339b7793]{display:flex;flex-direction:column;gap:.5rem}.form-group label[data-v-339b7793]{font-weight:600;color:var(--color-text);font-size:.875rem}.section-label[data-v-339b7793]{font-weight:600;color:var(--color-text);font-size:1rem;margin-bottom:.5rem}.form-input[data-v-339b7793]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;background-color:var(--color-input-bg);color:var(--color-text);font-size:.875rem;transition:border-color .2s ease}.form-input[data-v-339b7793]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f64d}.form-input[data-v-339b7793]::placeholder{color:var(--color-text-muted)}.form-input.error[data-v-339b7793]{border-color:#ef4444}.error-message[data-v-339b7793]{color:#fca5a5;font-size:.75rem;margin-top:.25rem}.checkbox-group[data-v-339b7793]{display:flex;flex-direction:column;gap:.75rem}.checkbox-item[data-v-339b7793]{display:flex;align-items:center;gap:.5rem}.form-checkbox[data-v-339b7793]{width:1rem;height:1rem;border:1px solid var(--color-input-border);border-radius:.25rem;background-color:var(--color-input-bg);cursor:pointer}.form-checkbox[data-v-339b7793]:checked{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-label[data-v-339b7793]{color:var(--color-text);font-size:.875rem;cursor:pointer;margin:0}.form-actions[data-v-339b7793]{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.btn[data-v-339b7793]{padding:.5rem 1rem;border:none;border-radius:.375rem;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;text-align:center;display:flex;align-items:center;gap:.5rem}.btn-primary[data-v-339b7793]{background-color:var(--color-primary);color:#fff}.btn-primary[data-v-339b7793]:hover:not(:disabled){background-color:#1d4ed8}.btn-primary[data-v-339b7793]:disabled{opacity:.7;cursor:not-allowed}.btn-secondary[data-v-339b7793]{background-color:var(--color-surface-hover);color:var(--color-text)}.btn-secondary[data-v-339b7793]:hover{background-color:var(--color-surface-soft);color:var(--color-text)}@media (max-width: 640px){.form-row[data-v-339b7793]{grid-template-columns:1fr}.modal-content[data-v-339b7793]{width:95%;padding:1rem}.form-actions[data-v-339b7793]{flex-direction:column}}.invoice-groups-section[data-v-8ebdbfee]{margin-top:2rem}.section-header[data-v-8ebdbfee]{margin-bottom:1rem}.section-header h2[data-v-8ebdbfee]{color:var(--color-text);font-size:1.5rem;font-weight:600}.filter-section[data-v-8ebdbfee]{margin-bottom:1rem}.filter-input[data-v-8ebdbfee]{width:100%;max-width:400px;padding:.75rem;border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);color:var(--color-text);font-size:1rem}.filter-input[data-v-8ebdbfee]:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a}.groups-container[data-v-8ebdbfee]{display:flex;flex-direction:column;gap:.5rem}.group-item[data-v-8ebdbfee]{border:1px solid var(--color-border);border-radius:.5rem;background:var(--color-surface);overflow:hidden}.group-header[data-v-8ebdbfee]{padding:1rem;cursor:pointer;transition:background-color .2s ease;border-bottom:1px solid transparent}.group-header[data-v-8ebdbfee]:hover{background:var(--color-hover)}.group-info[data-v-8ebdbfee]{display:flex;align-items:center;gap:1rem}.expand-icon[data-v-8ebdbfee]{font-size:.875rem;color:var(--color-primary);width:1rem}.invoice-number[data-v-8ebdbfee]{font-weight:600;color:var(--color-text);min-width:120px}.tech-name[data-v-8ebdbfee]{color:var(--color-text);min-width:150px}.total-cost[data-v-8ebdbfee]{font-weight:500;color:var(--color-primary);min-width:100px}.item-count[data-v-8ebdbfee]{color:var(--color-text-secondary);font-size:.875rem}.group-content[data-v-8ebdbfee]{border-top:1px solid var(--color-border);background:var(--color-background)}.invoice-items-table[data-v-8ebdbfee]{width:100%;border-collapse:collapse}.invoice-items-table th[data-v-8ebdbfee]{background:var(--color-surface);padding:.75rem;text-align:left;font-weight:600;color:var(--color-text);border-bottom:1px solid var(--color-border);font-size:.875rem}.invoice-items-table td[data-v-8ebdbfee]{padding:.75rem;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:.875rem}.invoice-items-table tbody tr[data-v-8ebdbfee]:hover{background:var(--color-hover)}.invoice-items-table tbody tr:last-child td[data-v-8ebdbfee]{border-bottom:none}.input-field[data-v-0479a616]{width:100%;padding:8px;border:1px solid var(--color-border);border-radius:4px;background-color:var(--color-background);color:var(--color-text)}.autocomplete-dropdown[data-v-0479a616]{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:4px;z-index:1000}.autocomplete-item[data-v-0479a616]{padding:8px;cursor:pointer}.autocomplete-item[data-v-0479a616]:hover{background-color:var(--color-hover)}.tables-container[data-v-adb06487]{display:flex;gap:2rem}.table-section[data-v-adb06487]{flex:1}.table-wrapper[data-v-adb06487]{overflow-x:auto}.products-table[data-v-adb06487]{width:100%;border-collapse:collapse;table-layout:fixed}.products-table th[data-v-adb06487],.products-table td[data-v-adb06487]{padding:.5rem;border:1px solid var(--color-border);border-radius:6px;text-align:left}.no-data[data-v-adb06487]{text-align:center;font-style:italic;color:var(--color-text-muted)}
