:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}*{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-light: rgba(37, 99, 235, .1);--color-text: #1f2937;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-text-inverse: #ffffff;--color-bg: #f9fafb;--color-bg-secondary: #f3f4f6;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-success: #10b981;--color-success-bg: #d1fae5;--color-success-text: #059669;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-warning-text: #b45309;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-error-text: #dc2626;--color-info-bg: #dbeafe;--color-info-text: #1d4ed8;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--sidebar-width: 240px;--theme-transition: background-color .2s ease, color .2s ease, border-color .2s ease}[data-theme=dark]{--color-text: #f3f4f6;--color-text-secondary: #d1d5db;--color-text-muted: #9ca3af;--color-text-inverse: #111827;--color-bg: #111827;--color-bg-secondary: #1f2937;--color-surface: #1f2937;--color-surface-elevated: #374151;--color-border: #374151;--color-border-light: #4b5563;--color-success-bg: rgba(16, 185, 129, .2);--color-success-text: #34d399;--color-warning-bg: rgba(245, 158, 11, .2);--color-warning-text: #fbbf24;--color-error-bg: rgba(239, 68, 68, .2);--color-error-text: #f87171;--color-info-bg: rgba(59, 130, 246, .2);--color-info-text: #60a5fa;--color-gray-100: #374151;--color-gray-200: #4b5563;--color-gray-400: #9ca3af;--color-gray-500: #6b7280}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;color:var(--color-text);background-color:var(--color-bg);line-height:1.5;transition:var(--theme-transition)}.app-layout{display:flex;min-height:100vh}.app-layout.test-mode .sidebar{border-right-color:#f59e0b}.app-layout.test-mode .main-content{padding-top:calc(2rem + 48px)}.test-mode-banner{position:fixed;top:0;left:0;right:0;height:48px;background-color:#f59e0b;color:#000;display:flex;align-items:center;justify-content:center;gap:1rem;font-weight:600;font-size:.875rem;z-index:1000;padding:0 1rem}.test-mode-banner .test-mode-actions{display:flex;gap:.5rem}.test-mode-banner .btn-reset{background-color:#0000001a;border-color:#0003;color:#000}.test-mode-banner .btn-reset:hover{background-color:#0003}.test-mode-banner .btn-exit{background-color:#000;border-color:#000;color:#fff}.test-mode-banner .btn-exit:hover{background-color:#333}.test-badge{display:inline-block;background-color:#f59e0b;color:#000;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:.375rem;margin-left:.5rem;vertical-align:middle}.sidebar{width:240px;background-color:var(--color-surface);border-right:1px solid var(--color-border);padding:1.5rem;position:fixed;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.test-mode .sidebar{top:48px;height:calc(100vh - 48px)}.sidebar .logo{display:flex;align-items:center;margin-bottom:2rem}.sidebar .logo h1{font-size:1.5rem;font-weight:600;color:var(--color-primary)}.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.company-switcher{margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.company-switcher .company-select{width:100%;padding:.5rem .75rem;font-size:.875rem;font-weight:500;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.company-switcher .company-select:hover{border-color:var(--color-primary)}.company-switcher .company-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.btn-test-mode{width:100%;background-color:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted)}.btn-test-mode:hover{background-color:var(--color-bg);border-style:solid;color:var(--color-text)}.nav-links{list-style:none}.nav-links li{margin-bottom:.5rem}.nav-links a{display:block;padding:.75rem 1rem;text-decoration:none;color:var(--color-text);border-radius:.5rem;font-size:.875rem;font-weight:500;transition:background-color .2s ease}.nav-links a:hover{background-color:var(--color-bg)}.nav-links a.active{background-color:var(--color-primary);color:#fff}.main-wrapper{flex:1;margin-left:240px;display:flex;flex-direction:column;min-height:100vh}.test-mode .main-wrapper{min-height:calc(100vh - 48px)}.main-content{flex:1;padding:2rem}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:1.75rem;font-weight:600}.btn{display:inline-block;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;border-radius:.375rem;border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .2s ease}.btn:hover{background-color:var(--color-bg)}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;box-shadow:0 1px 2px #0000000d}.stat-card h3{font-size:.875rem;color:var(--color-text-muted);font-weight:500;margin-bottom:.5rem}.stat-value{font-size:2rem;font-weight:600;color:var(--color-text)}table{width:100%;border-collapse:collapse;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}th,td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}th{background-color:var(--color-bg);font-weight:600;font-size:.875rem;color:var(--color-text-muted)}tr:last-child td{border-bottom:none}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end}td a{color:var(--color-primary);text-decoration:none}td a:hover{text-decoration:underline}.status-badge{display:inline-block;padding:.25rem .5rem;font-size:.75rem;font-weight:500;border-radius:9999px}.status-draft{background-color:#f3f4f6;color:#6b7280}.status-sent{background-color:#dbeafe;color:#1d4ed8}.status-paid{background-color:#d1fae5;color:#059669}.status-overdue{background-color:#fee2e2;color:#dc2626}.status-cancelled{background-color:#f3f4f6;color:#9ca3af}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem;color:var(--color-text)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.form-group input::placeholder,.form-group select::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted)}.address-fields{display:flex;flex-direction:column;gap:.5rem}.address-fields input{width:100%}.address-row{display:flex;gap:.5rem}.address-row input{flex:1}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:2rem}.invoice-items{margin-bottom:1.5rem}.invoice-items .items-table{margin-bottom:1rem;border:1px solid var(--color-border);border-radius:.5rem;overflow:hidden}.invoice-items .items-table th{background-color:var(--color-bg-secondary);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.75rem .5rem}.invoice-items .items-table td{padding:.5rem;vertical-align:middle}.invoice-items .items-table tbody tr{transition:background-color .15s ease}.invoice-items .items-table tbody tr:nth-child(2n){background-color:var(--color-bg-secondary)}.invoice-items .items-table tbody tr:hover{background-color:var(--color-primary-light)}.invoice-items .items-table th:nth-child(1),.invoice-items .items-table td:nth-child(1){width:35%}.invoice-items .items-table th:nth-child(2),.invoice-items .items-table td:nth-child(2),.invoice-items .items-table th:nth-child(3),.invoice-items .items-table td:nth-child(3),.invoice-items .items-table th:nth-child(4),.invoice-items .items-table td:nth-child(4){width:12%;text-align:center}.invoice-items .items-table th:nth-child(5),.invoice-items .items-table td:nth-child(5){width:15%;text-align:right}.invoice-items .items-table th:nth-child(6),.invoice-items .items-table td:nth-child(6){width:50px;text-align:center}.invoice-items .items-table input{width:100%;padding:.5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.25rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.invoice-items .items-table input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.invoice-items .items-table input::placeholder{color:var(--color-text-muted)}.invoice-items .items-table input[type=number]{text-align:right}.invoice-items .item-total{font-weight:600;color:var(--color-text);white-space:nowrap}.invoice-items .input-with-addon{display:flex;align-items:center}.invoice-items .input-with-addon .input-addon{padding:.5rem;background-color:var(--color-bg);border:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-muted);white-space:nowrap}.invoice-items .input-with-addon .input-addon-prefix{border-right:none;border-radius:.25rem 0 0 .25rem}.invoice-items .input-with-addon .input-addon-suffix{border-left:none;border-radius:0 .25rem .25rem 0}.invoice-items .input-with-addon input{border-radius:0;flex:1;min-width:0}.invoice-items .input-with-addon.has-prefix input{border-top-left-radius:0;border-bottom-left-radius:0}.invoice-items .input-with-addon.has-suffix input{border-top-right-radius:0;border-bottom-right-radius:0}.invoice-items .btn-delete-item{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background-color:transparent;border:1px solid transparent;border-radius:.25rem;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease}.invoice-items .btn-delete-item:hover:not(:disabled){background-color:#ef44441a;border-color:#ef44444d;color:#ef4444}.invoice-items .btn-delete-item:disabled{opacity:.3;cursor:not-allowed}.invoice-items .btn-delete-item svg{width:18px;height:18px}.invoice-items .btn-add-item{display:inline-flex;align-items:center;gap:.5rem}.invoice-items .btn-add-item svg{width:16px;height:16px}.invoice-totals{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;max-width:300px;margin-left:auto}.invoice-totals .total-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.875rem;color:var(--color-text-secondary)}.invoice-totals .total-row+.total-row{border-top:1px solid var(--color-border)}.invoice-totals .total-final{margin-top:.5rem;padding-top:.75rem;border-top:2px solid var(--color-text);font-size:1.125rem;font-weight:700;color:var(--color-text)}.form-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.form-section h3{font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--color-text)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.document-type-toggle,.dark-mode-toggle{display:flex;gap:.5rem;background-color:var(--color-bg-secondary);padding:.25rem;border-radius:.5rem;width:fit-content}.document-type-toggle .toggle-label,.dark-mode-toggle .toggle-label{cursor:pointer}.document-type-toggle .toggle-label input[type=radio],.dark-mode-toggle .toggle-label input[type=radio]{display:none}.document-type-toggle .toggle-label .toggle-option,.dark-mode-toggle .toggle-label .toggle-option{display:inline-block;padding:.5rem 1rem;border-radius:.25rem;font-weight:500;transition:all .2s ease;color:var(--color-text-secondary)}.document-type-toggle .toggle-label input[type=radio]:checked+.toggle-option,.dark-mode-toggle .toggle-label input[type=radio]:checked+.toggle-option{background-color:var(--color-primary);color:#fff}.settings-section{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1.5rem;margin-bottom:1.5rem}.settings-section h2{font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.company-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;margin-bottom:1rem}.company-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.375rem;transition:all .15s ease}.company-item.active{border-color:var(--color-primary);background-color:var(--color-primary-light)}.company-item .company-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.company-item .active-badge{font-size:.75rem;font-weight:600;color:var(--color-primary);background-color:var(--color-surface);padding:.25rem .5rem;border-radius:9999px}.company-item .company-actions{display:flex;gap:.5rem}.company-item .company-edit{display:flex;align-items:center;gap:.5rem;flex:1}.company-item .company-edit input{flex:1;padding:.5rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.375rem}.company-item .company-edit input:focus{outline:none;border-color:var(--color-primary)}.company-create{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.company-create-form{display:flex;gap:.5rem}.company-create-form input{flex:1}.company-create-form button{white-space:nowrap}.theme-color-picker .color-presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.theme-color-picker .color-swatch{width:40px;height:40px;border-radius:.5rem;border:2px solid transparent;cursor:pointer;transition:all .15s ease;padding:0}.theme-color-picker .color-swatch:hover{transform:scale(1.1)}.theme-color-picker .color-swatch.active{border-color:var(--color-text);box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-text)}.theme-color-picker .custom-color-section{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.theme-color-picker .custom-color-section label{margin-bottom:0;white-space:nowrap}.theme-color-picker .custom-color-section .color-input-wrapper{display:flex;align-items:center;gap:.5rem}.theme-color-picker .custom-color-section input[type=color]{width:40px;height:40px;padding:0;border:1px solid var(--color-border);border-radius:.375rem;cursor:pointer}.theme-color-picker .custom-color-section input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.theme-color-picker .custom-color-section input[type=color]::-webkit-color-swatch{border:none;border-radius:.25rem}.theme-color-picker .custom-color-section input[type=text]{width:100px;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;text-transform:uppercase}.empty-state{text-align:center;padding:3rem;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem}.empty-state p{font-size:1rem;margin-bottom:.5rem}.text-muted{color:var(--color-text-muted)}.save-success{color:#10b981;font-size:.875rem}.invoice-view-page .page-header{flex-direction:column;align-items:flex-start;gap:1rem}.invoice-view-page .header-left{display:flex;flex-direction:column;gap:.5rem}.invoice-view-page .header-left .back-link{color:var(--color-text-muted);text-decoration:none;font-size:.875rem}.invoice-view-page .header-left .back-link:hover{color:var(--color-primary)}.invoice-view-page .header-actions{display:flex;flex-wrap:wrap;gap:.5rem}.invoice-view-page .invoice-preview-container{display:flex;justify-content:center;padding:1.5rem 0}.invoice-print-container{position:absolute;left:-9999px;top:0;width:210mm;overflow:visible;pointer-events:none}.invoice-print-container .invoice-preview-print{width:210mm;min-height:297mm;padding:15mm;box-sizing:border-box;background-color:#fff;font-size:12px;line-height:1.4}.invoice-print-container .invoice-preview-print *{box-sizing:border-box}.invoice-print-container .invoice-preview-print .invoice-preview-header{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:8mm;padding-bottom:5mm;border-bottom:2px solid var(--color-primary)}.invoice-print-container .invoice-preview-print .invoice-preview-details{display:flex;flex-direction:row;justify-content:space-between;margin-bottom:8mm}.invoice-print-container .invoice-preview-print .invoice-preview-items{width:100%;margin-bottom:6mm}.invoice-print-container .invoice-preview-print .invoice-preview-items th,.invoice-print-container .invoice-preview-print .invoice-preview-items td{padding:3mm 2mm}.invoice-print-container .invoice-preview-print .invoice-preview-totals,.invoice-print-container .invoice-preview-print .invoice-preview-notes{margin-bottom:8mm}.btn-secondary{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.btn-secondary:hover{background-color:var(--color-bg)}.btn-success{background-color:#10b981;border-color:#10b981;color:#fff}.btn-success:hover{background-color:#0c8a60;border-color:#0c8a60}.btn-danger{background-color:#ef4444;border-color:#ef4444;color:#fff}.btn-danger:hover{background-color:#eb1515;border-color:#eb1515}.invoice-preview{width:210mm;min-height:297mm;background-color:var(--color-surface);padding:2rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;font-size:.875rem;color:var(--color-text);transition:var(--theme-transition)}@media print{.invoice-preview{box-shadow:none;padding:0;width:100%;background-color:#fff;color:#1f2937}}.invoice-print-container .invoice-preview,.invoice-print-container .invoice-preview-print{background-color:#fff!important;color:#1f2937!important}.invoice-print-container .invoice-preview .business-name,.invoice-print-container .invoice-preview .client-name,.invoice-print-container .invoice-preview .invoice-preview-notes h3,.invoice-print-container .invoice-preview .totals-label,.invoice-print-container .invoice-preview .totals-value,.invoice-print-container .invoice-preview .meta-value,.invoice-print-container .invoice-preview-print .business-name,.invoice-print-container .invoice-preview-print .client-name,.invoice-print-container .invoice-preview-print .invoice-preview-notes h3,.invoice-print-container .invoice-preview-print .totals-label,.invoice-print-container .invoice-preview-print .totals-value,.invoice-print-container .invoice-preview-print .meta-value{color:#1f2937!important}.invoice-print-container .invoice-preview .business-details p,.invoice-print-container .invoice-preview .bill-to p,.invoice-print-container .invoice-preview .invoice-number,.invoice-print-container .invoice-preview .meta-label,.invoice-print-container .invoice-preview .invoice-preview-footer p,.invoice-print-container .invoice-preview-print .business-details p,.invoice-print-container .invoice-preview-print .bill-to p,.invoice-print-container .invoice-preview-print .invoice-number,.invoice-print-container .invoice-preview-print .meta-label,.invoice-print-container .invoice-preview-print .invoice-preview-footer p{color:#6b7280!important}.invoice-print-container .invoice-preview .invoice-preview-items th,.invoice-print-container .invoice-preview-print .invoice-preview-items th{background-color:#f9fafb!important;color:#6b7280!important}.invoice-print-container .invoice-preview .invoice-preview-items td,.invoice-print-container .invoice-preview-print .invoice-preview-items td{color:#1f2937!important;border-bottom-color:#e5e7eb!important}.invoice-preview-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:2px solid var(--color-primary)}.invoice-preview-header .business-info{display:flex;gap:1rem}.invoice-preview-header .business-logo{max-width:80px;max-height:80px;object-fit:contain}.invoice-preview-header .business-details p{margin:0;line-height:1.5;color:var(--color-text-secondary)}.invoice-preview-header .business-name{font-size:1.125rem;font-weight:600;color:var(--color-text);margin-bottom:.25rem}.invoice-preview-header .invoice-title{text-align:right}.invoice-preview-header .invoice-title h1{font-size:1.75rem;font-weight:700;color:var(--color-primary);margin:0}.invoice-preview-header .invoice-title .invoice-number{font-size:1.125rem;color:var(--color-text-secondary);margin-top:.25rem}.invoice-preview-details{display:flex;justify-content:space-between;margin-bottom:2rem}.invoice-preview-details .bill-to h3{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.invoice-preview-details .bill-to .client-name{font-size:1rem;font-weight:600;margin-bottom:.25rem}.invoice-preview-details .bill-to p{margin:0;line-height:1.5;color:var(--color-text-secondary)}.invoice-preview-details .invoice-meta{text-align:right}.invoice-preview-details .invoice-meta .meta-row{display:flex;justify-content:flex-end;gap:1rem;margin-bottom:.25rem}.invoice-preview-details .invoice-meta .meta-label{color:var(--color-text-muted)}.invoice-preview-details .invoice-meta .meta-value{font-weight:500;min-width:120px}.invoice-preview-items{width:100%;margin-bottom:1.5rem;border:1px solid var(--color-border);border-radius:.375rem}.invoice-preview-items th{background-color:var(--color-bg);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.invoice-preview-items td{color:var(--color-text)}.invoice-preview-items .col-description{width:40%}.invoice-preview-items .col-quantity,.invoice-preview-items .col-tax{width:10%;text-align:center}.invoice-preview-items .col-price,.invoice-preview-items .col-total{width:20%;text-align:right}.invoice-preview-items td.col-quantity,.invoice-preview-items td.col-tax{text-align:center}.invoice-preview-items td.col-price,.invoice-preview-items td.col-total{text-align:right}.invoice-preview-totals{display:flex;flex-direction:column;align-items:flex-end;margin-bottom:2rem}.invoice-preview-totals .totals-row{display:flex;justify-content:space-between;padding:.5rem 0;min-width:250px}.invoice-preview-totals .totals-row .totals-label{color:var(--color-text-muted);text-align:left}.invoice-preview-totals .totals-row .totals-value{text-align:right;min-width:120px;margin-left:2rem}.invoice-preview-totals .totals-final{border-top:2px solid var(--color-text);padding-top:.5rem;margin-top:.5rem}.invoice-preview-totals .totals-final .totals-label,.invoice-preview-totals .totals-final .totals-value{font-size:1.125rem;font-weight:700;color:var(--color-text)}.invoice-preview-notes{margin-bottom:2rem;padding:1rem;background-color:var(--color-bg);border-radius:.375rem}.invoice-preview-notes h3{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.invoice-preview-notes p{margin:0;white-space:pre-wrap;color:var(--color-text-secondary)}.invoice-preview-footer{text-align:center;padding-top:1.5rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.875rem}@media print{.sidebar,.page-header,.header-actions{display:none!important}.main-content{margin-left:0!important;padding:0!important}.invoice-preview-container{padding:0!important}.invoice-preview{box-shadow:none!important}}@media(max-width:768px){.sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--color-border)}.sidebar .logo{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.sidebar .logo h1{margin-bottom:0}.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.nav-links li{margin-bottom:0}.app-layout{flex-direction:column}.main-wrapper{margin-left:0;min-height:auto}.main-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.stats-grid{grid-template-columns:1fr 1fr}table{display:block;overflow-x:auto}.invoice-items .items-table{display:block;border:none;background:transparent}.invoice-items .items-table thead{display:none}.invoice-items .items-table tbody{display:flex;flex-direction:column;gap:1rem}.invoice-items .items-table tr{display:flex;flex-direction:column;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;position:relative}.invoice-items .items-table tr:hover{background-color:var(--color-surface)}.invoice-items .items-table td{display:flex;align-items:center;padding:.5rem 0;border:none}.invoice-items .items-table td:before{content:attr(data-label);font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;min-width:80px;margin-right:.75rem}.invoice-items .items-table td:first-child{padding-top:0}.invoice-items .items-table td:first-child input{font-weight:500}.invoice-items .items-table td:last-child{position:absolute;top:.75rem;right:.75rem;padding:0}.invoice-items .items-table td:last-child:before{display:none}.invoice-items .items-table .item-total{font-size:1.125rem;padding-top:.75rem;margin-top:.5rem;border-top:1px solid var(--color-border)}.invoice-items .items-table .item-total:before{font-size:.875rem}.invoice-items .items-table input,.invoice-items .items-table .input-with-addon{flex:1}.invoice-items .btn-delete-item{width:36px;height:36px}.invoice-totals{max-width:none}.form-row{grid-template-columns:1fr}.test-mode-banner{position:relative;flex-direction:column;height:auto;padding:.75rem 1rem;gap:.5rem}.test-mode-banner .test-mode-actions{width:100%;justify-content:center}.app-layout.test-mode .sidebar{top:0;height:auto}.app-layout.test-mode .main-content{padding-top:1rem}.invoice-view-page .header-actions{width:100%}.invoice-view-page .header-actions .btn{flex:1;text-align:center;min-width:0;padding:.5rem;font-size:.75rem}.invoices-list table{font-size:.875rem}.invoices-list th,.invoices-list td{padding:.5rem}.invoices-list .actions-cell{flex-direction:column;gap:.25rem}.invoices-list .actions-cell .btn{width:100%}.form-section,.settings-section{padding:1rem}.document-type-toggle{width:100%;justify-content:center}}@media(max-width:640px){.stats-grid{grid-template-columns:1fr}.page-header h1{font-size:1.5rem}.invoices-list table th:nth-child(3),.invoices-list table td:nth-child(3),.invoices-list table th:nth-child(4),.invoices-list table td:nth-child(4){display:none}.invoice-items .items-table td{flex-direction:column;align-items:flex-start}.invoice-items .items-table td:before{margin-bottom:.25rem;margin-right:0}.invoice-items .items-table .input-with-addon{width:100%}.nav-links{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.nav-links a{white-space:nowrap}.invoice-view-page .header-actions{flex-direction:column}.invoice-view-page .header-actions .btn{width:100%}.invoice-preview-container{overflow-x:auto}.invoice-preview-container .invoice-preview{min-width:100%;width:auto;transform-origin:top left}}.filter-bar{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;margin-bottom:1.5rem;overflow:hidden}.filter-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background-color:var(--color-bg);border-bottom:1px solid var(--color-border)}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:0;background-color:transparent;border:none;font-size:.875rem;font-weight:500;color:var(--color-text);cursor:pointer}.filter-toggle .filter-chevron{transition:transform .2s ease;color:var(--color-text-muted)}.filter-toggle .filter-chevron.expanded{transform:rotate(180deg)}.active-filters-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .25rem;background-color:var(--color-primary);color:#fff;font-size:11px;font-weight:600;border-radius:9999px}.filter-panel{display:none;padding:1rem}.filter-panel.expanded{display:block}.filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.filter-row:last-child{padding-bottom:0;border-bottom:none}.filter-row-controls{padding-top:1rem}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px}.filter-group-type{flex-shrink:0}.filter-group-status{flex:1}.filter-group-date{flex:1;min-width:280px}.filter-doc-toggle{margin:0}.filter-label{font-size:.75rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-select{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.filter-select:hover{border-color:var(--color-primary)}.filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.filter-input{padding:.5rem .75rem;font-size:.875rem;border:1px solid var(--color-border);border-radius:.375rem;background-color:var(--color-surface);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease}.filter-input:hover{border-color:var(--color-primary)}.filter-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.status-checkboxes{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.checkbox-label{cursor:pointer}.checkbox-label input[type=checkbox]{display:none}.checkbox-label .status-chip{display:inline-block;padding:4px .5rem;font-size:.75rem;font-weight:500;border-radius:9999px;border:1px solid transparent;transition:all .15s ease;opacity:.5}.checkbox-label .status-chip:hover{opacity:.8}.checkbox-label input[type=checkbox]:checked+.status-chip{opacity:1;border-color:currentColor}.date-range-inputs{display:flex;align-items:center;gap:.5rem}.date-range-inputs .filter-select{width:auto;min-width:100px}.date-range-inputs .filter-input{width:130px}.sort-controls{display:flex;gap:.5rem}.sort-controls .filter-select{min-width:120px}.btn-sort{display:inline-flex;align-items:center;justify-content:center;padding:.5rem;min-width:36px}.btn-sort svg{width:16px;height:16px}.btn-clear-filters{background-color:transparent;border-color:var(--color-text-muted);color:var(--color-text-muted);font-size:.75rem}.btn-clear-filters:hover{border-color:#ef4444;color:#ef4444;background-color:var(--color-error-bg)}@media(max-width:768px){.filter-row{flex-direction:column;align-items:stretch}.filter-group,.filter-group-date{min-width:100%}.date-range-inputs{flex-direction:column;align-items:stretch}.date-range-inputs .filter-select,.date-range-inputs .filter-input{width:100%}.status-checkboxes{gap:.5rem}}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s ease}.sortable-header:hover{background-color:var(--color-border-light)}.sort-indicator{font-weight:700;color:var(--color-primary)}.status-accepted{background-color:var(--color-success-bg);color:var(--color-success-text)}.status-declined{background-color:var(--color-error-bg);color:var(--color-error-text)}.status-expired{background-color:var(--color-warning-bg);color:var(--color-warning-text)}.app-footer{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background-color:var(--color-surface);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted);flex-shrink:0}.app-footer .footer-left,.app-footer .footer-right{display:flex;align-items:center;gap:1rem}.app-footer .version-info{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.app-footer .commit-hash{margin-left:.25rem;opacity:.7}.app-footer .whats-new-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.75rem;padding:0;text-decoration:underline}.app-footer .whats-new-link:hover{color:var(--color-primary-hover)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background-color:var(--color-surface);border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--color-text)}.modal-header .modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:0;line-height:1}.modal-header .modal-close:hover{color:var(--color-text)}.modal-body{padding:1.5rem;overflow-y:auto}.whats-new-modal .releases-list{display:flex;flex-direction:column;gap:1.5rem}.whats-new-modal .release-item:not(:last-child){padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.whats-new-modal .release-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.whats-new-modal .release-title{margin:0;font-size:1rem;font-weight:600;color:var(--color-text)}.whats-new-modal .release-version{margin-left:.5rem;font-size:.875rem;font-weight:400;color:var(--color-primary)}.whats-new-modal .release-date{font-size:.875rem;color:var(--color-text-muted)}.whats-new-modal .release-changes{margin:0;padding-left:1.25rem;color:var(--color-text-secondary)}.whats-new-modal .release-changes li{margin-bottom:.5rem}.whats-new-modal .release-changes li:last-child{margin-bottom:0}.support-links{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.support-link{display:flex;align-items:center;gap:1rem;padding:1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:.5rem;text-decoration:none;transition:all .15s ease}.support-link:hover,.support-link.sponsor-link{border-color:var(--color-primary);background-color:var(--color-primary-light)}.support-link.sponsor-link:hover{background-color:var(--color-primary)}.support-link.sponsor-link:hover .support-link-title,.support-link.sponsor-link:hover .support-link-description{color:#fff}.support-icon{font-size:1.5rem;flex-shrink:0}.support-link-content{display:flex;flex-direction:column;gap:.25rem}.support-link-title{font-size:1rem;font-weight:600;color:var(--color-text)}.support-link-description{font-size:.875rem;color:var(--color-text-secondary)}.support-credits{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.875rem;color:var(--color-text-muted)}.support-credits a{color:var(--color-primary);text-decoration:none}.support-credits a:hover{text-decoration:underline}
