body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.invoice-processor{color:#333;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;margin:0 auto;max-width:1200px;padding:20px}.header{border-bottom:1px solid #eaeaea;margin-bottom:30px;padding-bottom:20px;text-align:center}.header h1{align-items:center;color:#2c3e50;display:flex;font-size:2.2rem;gap:10px;justify-content:center;margin-bottom:.5rem}.header-icon{fill:#3498db;height:32px;width:32px}.subtitle{color:#7f8c8d;font-size:1rem;margin-top:0}.file-upload-container{margin:30px 0}.file-upload-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:25px}.upload-area{border:2px dashed #bdc3c7;border-radius:8px;margin-bottom:20px;padding:30px;text-align:center;transition:all .3s ease}.upload-area:hover{background-color:#f8fafc;border-color:#3498db}.file-upload-label{cursor:pointer;display:block}.file-upload-label input{display:none}.upload-content{align-items:center;display:flex;flex-direction:column;gap:15px}.save-button{margin-left:15px}.upload-icon{fill:#7f8c8d;height:48px;width:48px}.upload-text{color:#2c3e50;font-size:1.1rem;font-weight:500;margin:0}.upload-hint{color:#95a5a6;font-size:.9rem;margin:0}.file-list{margin-top:20px}.file-list h4{color:#2c3e50;font-size:1rem;margin-bottom:10px}.file-list ul{border:1px solid #eee;border-radius:5px;list-style:none;margin:0;max-height:200px;overflow-y:auto;padding:10px}.file-list li{align-items:center;border-bottom:1px solid #f5f5f5;display:flex;gap:10px;padding:8px 10px}.file-list li:last-child{border-bottom:none}.file-icon{fill:#7f8c8d;flex-shrink:0;height:20px;width:20px}.results-container{margin-top:30px}@media (max-width:768px){.invoice-processor{padding:15px}.header h1{font-size:1.8rem}.file-upload-card{padding:15px}.upload-area{padding:20px}.upload-text{font-size:1rem}.upload-hint{font-size:.8rem}.table-controls{flex-direction:column}.search-wrapper{max-width:100%}.column-selector{align-items:flex-start;flex-direction:column}.summary-container{grid-template-columns:1fr}.tabs button{font-size:.9rem;padding:10px 15px}td,th{font-size:.85rem;padding:10px 12px}}@media (max-width:480px){.header h1{font-size:1.5rem}.header-icon{height:24px;width:24px}.process-button{font-size:.9rem;padding:10px 15px}.tabs{flex-wrap:wrap}.tabs button{flex:1 0 auto;justify-content:center;text-align:center}.file-buttons{flex-direction:column}.file-button{justify-content:center}}.actions{display:flex;gap:15px;justify-content:center;margin-top:20px}.process-button{align-items:center;background-color:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:10px;padding:12px 24px;transition:all .3s ease}.process-button:hover:not(:disabled){background-color:#2980b9;box-shadow:0 2px 5px #0000001a;transform:translateY(-1px)}.process-button:disabled{background-color:#bdc3c7;cursor:not-allowed}.save-button{font-weight:500;transition:all .3s ease}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.edit-input{margin:-1px;width:calc(100% - 12px)}.save-button{background-color:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;display:block;font-size:1rem;margin-left:auto;margin-right:auto;margin-top:15px;padding:12px 24px;transition:all .3s}.save-button:hover{background-color:#219653;box-shadow:0 2px 5px #0000001a;transform:translateY(-1px)}.error-message{align-items:flex-start;background-color:#fdecea;border-left:4px solid #f44336;border-radius:4px;display:flex;gap:15px;margin:20px 0;padding:15px}.error-icon{fill:#f44336;flex-shrink:0;height:24px;width:24px}.error-content h4{color:#d32f2f;margin:0 0 5px}.error-content p{color:#5f2120;margin:0}.file-selector{margin-bottom:20px}.file-selector h3{color:#2c3e50;font-size:1.1rem;margin-bottom:10px}.file-buttons{display:flex;flex-wrap:wrap;gap:10px}.file-button{align-items:center;background:#ecf0f1;border:none;border-radius:20px;cursor:pointer;display:flex;font-size:.9rem;gap:5px;overflow:hidden;padding:8px 16px;position:relative;transition:all .2s ease}.file-button:hover{background:#d5dbdb}.file-button.active{background:#3498db;color:#fff}.file-button.error{background:#fdecea;color:#d32f2f}.error-indicator{align-items:center;background:#d32f2f;border-radius:50%;color:#fff;display:flex;font-size:.7rem;font-weight:700;height:18px;justify-content:center;width:18px}@media (max-width:480px){.file-buttons{flex-direction:column}.file-button{justify-content:center}}.results-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 4px 6px #0000001a;padding:25px}.results-card,.tab-content{margin-top:20px}@media (max-width:768px){.results-card{padding:15px}}.tabs{border-bottom:1px solid #e0e0e0;display:flex;margin-bottom:20px}.tabs button{align-items:center;background:none;border:none;color:#7f8c8d;cursor:pointer;display:flex;font-size:.95rem;gap:8px;padding:12px 20px;position:relative;transition:all .2s ease}.tabs button:hover{color:#3498db}.tabs button.active{color:#3498db;font-weight:500}.tabs button.active:after{background:#3498db;border-radius:3px 3px 0 0;bottom:-1px;content:"";height:3px;left:0;position:absolute;right:0}.tab-icon{fill:currentColor;height:18px;width:18px}@media (max-width:480px){.tabs{flex-wrap:wrap}.tabs button{flex:1 0 auto;justify-content:center;text-align:center}}.summary-container{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.summary-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000000d;padding:20px}.summary-section h3{align-items:center;border-bottom:1px solid #eee;color:#2c3e50;display:flex;font-size:1.1rem;gap:8px;margin-bottom:15px;margin-top:0;padding-bottom:10px}.section-icon{fill:#3498db;height:20px;width:20px}.summary-content{display:flex;flex-direction:column;gap:8px}.summary-section p{font-size:.95rem;margin:5px 0}.summary-section p strong{color:#2c3e50;display:inline-block;font-weight:500;min-width:100px}.summary-section.financial{background-color:#f8fafc;border-color:#d6e4f0}.summary-section.financial h3{color:#3498db}.summary-section.financial p{font-size:1rem}@media (max-width:768px){.summary-container{grid-template-columns:1fr}}.summary-section.transport{background-color:#fff8e1;border-color:#ffe0b2}.summary-section.transport h3{color:#ff8f00}.table-container{margin-top:20px}.table-controls{display:flex;flex-wrap:wrap;gap:15px;justify-content:space-between;margin-bottom:20px}.search-wrapper{flex-grow:1;max-width:400px;position:relative}.search-icon{fill:#95a5a6;height:18px;left:12px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:18px}.search-input{border:1px solid #ddd;border-radius:6px;font-size:.95rem;padding:10px 15px 10px 40px;transition:all .2s ease;width:90%}.search-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.column-selector{align-items:center;background:#f8f9fa;border-radius:6px;display:flex;flex-wrap:wrap;gap:10px;padding:10px 15px}.column-selector-label{color:#7f8c8d;font-size:.9rem;font-weight:500}.column-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.column-checkbox{align-items:center;cursor:pointer;display:flex;font-size:.85rem;gap:6px;position:relative}.column-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.checkbox-custom{background-color:#fff;border:1px solid #bdc3c7;border-radius:3px;height:16px;transition:all .2s ease;width:16px}.column-checkbox:hover .checkbox-custom{border-color:#3498db}.column-checkbox input:checked~.checkbox-custom{background-color:#3498db;border-color:#3498db}.checkbox-custom:after{content:"";display:none;position:absolute}.column-checkbox input:checked~.checkbox-custom:after{display:block}.column-checkbox .checkbox-custom:after{border:solid #fff;border-width:0 2px 2px 0;height:9px;left:5px;top:1px;transform:rotate(45deg);width:4px}.column-name{-webkit-user-select:none;user-select:none}.table-wrapper{border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}table{border-collapse:collapse;font-size:.9rem;width:100%}th{background-color:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;cursor:pointer;font-weight:500;padding:12px 15px;position:relative;text-align:left;transition:all .2s ease}th:hover{background-color:#f1f3f5}.th-content{align-items:center;display:flex;gap:5px}.sort-icon{font-size:.8rem}td{border-bottom:1px solid #e0e0e0;padding:12px 15px;vertical-align:top}tr:last-child td{border-bottom:none}tr:hover td{background-color:#f8fafc}.no-data{color:#95a5a6;padding:20px;text-align:center}.sorted-asc,.sorted-desc{background-color:#e3f2fd}@media (max-width:768px){.table-controls{flex-direction:column}.search-wrapper{max-width:100%}.column-selector{align-items:flex-start;flex-direction:column}}td[data-column=serviceName]{color:#3498db;font-weight:500}.th-service-icon{margin-right:5px;vertical-align:middle}.editable-cell{border-radius:4px;padding:8px}.edit-input{border:1px solid #3498db;font-family:inherit;font-size:inherit;padding:6px}.editable-cell{cursor:pointer;min-height:20px;padding:8px 12px;transition:background-color .2s}.editable-cell:hover{background-color:#f0f7ff}.edit-input{background:#fff;border:2px solid #3498db;border-radius:4px;box-sizing:border-box;font:inherit;padding:8px;position:relative;width:100%;z-index:1}.edit-input:focus{box-shadow:0 0 0 2px #3498db4d;outline:none}.raw-data-toggle{margin-top:30px}details{border:1px solid #e0e0e0;border-radius:6px;padding:10px;transition:all .2s ease}details:hover,details[open]{border-color:#3498db}summary{align-items:center;color:#3498db;cursor:pointer;display:flex;font-weight:500;gap:8px;outline:none;padding:5px}.details-icon{fill:currentColor;height:18px;transition:transform .2s ease;width:18px}details[open] .details-icon{transform:rotate(90deg)}.json-viewer{background:#f8f9fa;border-radius:4px;margin-top:10px;overflow-x:auto;padding:15px}pre{color:#2c3e50;font-family:Consolas,Monaco,monospace;font-size:.85rem;line-height:1.5;margin:0;white-space:pre-wrap}
/*# sourceMappingURL=main.7c3b7476.css.map*/