@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap";body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f7fa;color:#333}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-header{background-color:#fff;padding:1rem 2rem;border-bottom:1px solid #eaeaea;display:flex;align-items:center;gap:1rem}.app-header h1{font-size:1.2rem;font-weight:600;color:#333;margin:0;display:flex;align-items:center;gap:.5rem}.app-main{max-width:1200px;margin:3rem auto;padding:0 1rem;width:100%;box-sizing:border-box}.divider{height:1px;background-color:transparent;margin:2rem 0}.navbar{display:flex;justify-content:center;background-color:#f8f9fa;border-bottom:2px solid #e9ecef;padding:.5rem 0;margin-bottom:1.5rem;box-shadow:0 2px 4px #0000000d;position:sticky;top:0;z-index:1000}.navbar-item{padding:.75rem 1.5rem;margin:0 .5rem;cursor:pointer;border-radius:6px;font-weight:600;color:#495057;transition:all .2s ease;-webkit-user-select:none;user-select:none}.navbar-item:hover{background-color:#e9ecef;color:#212529}.navbar-item.active{background-color:#007bff;color:#fff}.navbar-item.active:hover{background-color:#0056b3}.file-upload-card{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:2rem;max-width:900px;margin:0 auto;text-align:center}.upload-header{margin-bottom:2rem}.upload-header h2{color:#007bff;margin-bottom:.5rem;font-size:1.8rem}.upload-header p{color:#666;font-size:.95rem}.upload-content{display:flex;gap:2rem;min-height:250px}.dropzone-container{flex:1;border:2px dashed #dde2e5;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;cursor:pointer;background-color:#f8f9fa;transition:all .2s}.dropzone-container:hover,.dropzone-container.drag-active{border-color:#007bff;background-color:#e3f2fd}.upload-icon{font-size:3rem;color:#999;margin-bottom:1rem}.dropzone-text{color:#555;font-weight:500}.dropzone-subtext{color:#999;font-size:.85rem;margin-top:.5rem}.file-list-container{flex:1;text-align:left;border:1px solid #dde2e5;border-radius:8px;padding:1rem;display:flex;flex-direction:column}.file-list-header{font-weight:600;color:#444;margin-bottom:1rem;border-bottom:1px solid #eee;padding-bottom:.5rem}.file-list{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none}.file-item{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background-color:#f8f9fa;border-radius:6px;margin-bottom:.5rem;font-size:.9rem;color:#555}.file-name{display:flex;align-items:center;gap:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:250px}.remove-btn{background:none;border:none;color:#999;cursor:pointer;font-size:1.1rem;padding:0 4px}.remove-btn:hover{color:#ff5252}.upload-actions{margin-top:2rem}.btn-primary{background-color:#0d6efd;color:#fff;border:none;padding:10px 24px;font-size:1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s}.btn-primary:hover:not(:disabled){background-color:#0b5ed7}.btn-primary:disabled{background-color:#a0c3ff;cursor:not-allowed}.file-type-select-mini{padding:6px 12px;border:1px solid #ced4da;border-radius:6px;font-size:.85rem;margin-right:12px;color:#495057;cursor:pointer;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;outline:none;font-weight:500}.file-type-select-mini:hover{border-color:#aeb9c4}.file-type-select-mini:focus{border-color:#0d6efd;box-shadow:0 0 0 2px #0d6efd40}.error-message{color:#dc3545;margin-top:1rem}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.message-modal-content{background-color:#fff;width:400px;max-width:90%;border-radius:12px;padding:2.5rem;position:relative;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;align-items:center;text-align:center;animation:slideIn .3s ease}.message-icon{font-size:3.5rem;margin-bottom:1.5rem;color:#ffc107}.message-modal-content h3{margin:0 0 1rem;color:#333;font-size:1.5rem}.message-modal-content p{color:#666;margin-bottom:2rem;line-height:1.6;font-size:1rem}.btn-close-modal{background-color:#0d6efd;color:#fff;border:none;padding:12px 32px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.btn-close-modal:hover{background-color:#0b5ed7;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.badge-type{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase;display:inline-block}.type-peaje{background-color:#e3f2fd;color:#1976d2}.type-proforma{background-color:#f3e5f5;color:#7b1fa2}.type-merma{background-color:#fff3e0;color:#e65100}.type-factura-con-oc{background-color:#e8f5e9;color:#2e7d32}.invoice-details-container{animation:fadeIn .5s ease-in;margin-top:3rem;padding:0 1rem}.invoice-details-container h3{text-align:center;color:#444;font-weight:500;margin-bottom:1.5rem}.table-container{margin-bottom:2rem;overflow-x:auto;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d}.invoice-summary-table{width:100%;border-collapse:collapse;min-width:800px}.invoice-summary-table th{background-color:#fcfcfc;color:#888;text-transform:uppercase;font-size:.75rem;letter-spacing:.5px;padding:1rem 1.5rem;text-align:left;border-bottom:1px solid #eaeaea}.invoice-summary-table td{padding:1.2rem 1.5rem;border-bottom:1px solid #eaeaea;color:#333;font-size:.9rem;vertical-align:middle}.invoice-summary-table tr:last-child td{border-bottom:none}.error-row{background-color:#fff5f5}.error-message-cell{color:#dc3545;font-style:italic;font-size:.95rem}.invoice-summary-table input,.invoice-summary-table select{padding:6px;border:1px solid #ddd;border-radius:4px;font-size:.9rem;width:100%;box-sizing:border-box;color:#333}.invoice-summary-table input:focus,.invoice-summary-table select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff1a}.invoice-summary-table th:last-child,.actions-cell{position:sticky;right:0;z-index:10}.invoice-summary-table th:last-child{background-color:#fcfcfc!important}.invoice-summary-table td.actions-cell{background-color:#fff;box-shadow:-4px 0 8px #0000000d}.error-row td.actions-cell{background-color:#fff5f5}.actions-cell{display:flex;gap:8px;justify-content:flex-end}.btn-icon{border:none;background:transparent;font-size:1.2rem;cursor:pointer;padding:8px;border-radius:6px;transition:background-color .2s;display:flex;align-items:center;justify-content:center;color:#555}.btn-icon:hover{background-color:#f5f5f5}.btn-view:hover{color:#007bff;background-color:#e3f2fd}.btn-edit:hover{color:#fd7e14;background-color:#fff3e0}.btn-send:hover,.btn-confirm:hover{color:#28a745;background-color:#e8f5e9}.btn-cancel:hover{color:#dc3545;background-color:#ffebee}.modal-overlay{position:fixed;inset:0;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .3s ease-out}.loading-modal-content{background-color:#fff;padding:2.5rem;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:1rem;box-shadow:0 10px 25px #0003;max-width:400px;width:90%;text-align:center}.loading-icon{font-size:3.5rem;color:#3b82f6;margin-bottom:.5rem}.loading-modal-content h3{margin:0;color:#1e293b;font-size:1.5rem}.loading-modal-content p{margin:0;color:#64748b;font-size:1rem}.message-modal-content{background-color:#fff;padding:2rem;border-radius:12px;width:90%;max-width:450px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.message-icon{font-size:4rem;margin-bottom:1rem}.success .message-icon{color:#22c55e}.error .message-icon{color:#ef4444}.info .message-icon{color:#3b82f6}.message-modal-content h3{margin:0 0 .75rem;font-size:1.5rem;color:#0f172a}.message-modal-content p{margin:0 0 1.5rem;color:#475569;line-height:1.6;font-size:1.1rem}.btn-close-modal{background-color:#1e293b;color:#fff;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s;width:100%}.btn-close-modal:hover{background-color:#334155;transform:translateY(-1px)}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background-color:#fff;width:90%;height:90%;border-radius:8px;position:relative;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column}.modal-content-split{flex-direction:row;overflow:hidden}.modal-sidebar{width:320px;padding:1.5rem;background-color:#f8f9fa;border-right:1px solid #dde2e5;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;flex-shrink:0}.modal-sidebar h3{margin:0 0 1rem;font-size:1.2rem;color:#333}.sidebar-form-group{display:flex;flex-direction:column;gap:.3rem}.sidebar-form-group label{font-size:.85rem;font-weight:500;color:#666}.sidebar-form-group input,.sidebar-form-group select{padding:8px;border:1px solid #ced4da;border-radius:4px;font-size:.95rem}.sidebar-actions{margin-top:auto;padding-top:1.5rem;display:flex;gap:1rem}.sidebar-actions button{flex:1;padding:8px;border-radius:4px;cursor:pointer;font-weight:500;border:none}.sidebar-actions .btn-primary{background-color:#0d6efd;color:#fff}.sidebar-actions .btn-secondary{background-color:#e9ecef;color:#495057}.modal-pdf-container{flex-grow:1;background-color:#525659;display:flex}.modal-close{position:absolute;top:-15px;right:-15px;background-color:#ff5252;color:#fff;border:none;border-radius:50%;width:35px;height:35px;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #0003}.modal-close:hover{background-color:#ff1744}.sidebar-tax-editor{background-color:#fff;padding:1rem;border:1px solid #e0e4e8;border-radius:8px;margin-bottom:1rem;display:flex;flex-direction:column;gap:.8rem}.tax-list-compact{max-height:150px;overflow-y:auto;border:1px solid #f1f5f9;border-radius:4px}.tax-table-compact{width:100%;border-collapse:collapse;font-size:.8rem}.tax-table-compact th{background-color:#f8fafc;padding:6px 8px;text-align:left;color:#64748b;border-bottom:1px solid #f1f5f9;font-weight:600}.tax-table-compact td{padding:6px 8px;border-bottom:1px solid #f8fafc;vertical-align:middle}.tax-table-compact input{width:60px;padding:4px;border:1px solid #cbd5e1;border-radius:4px;font-size:.8rem}.add-tax-sidebar-section{display:flex;flex-direction:column;gap:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.add-tax-field-small select{width:100%;padding:6px;font-size:.8rem;border:1px solid #cbd5e1;border-radius:4px}.add-tax-row-small{display:flex;gap:.5rem}.add-tax-row-small input{flex:1;padding:6px;font-size:.8rem;border:1px solid #cbd5e1;border-radius:4px}.btn-add-tax-small{padding:0 12px;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.9rem}.btn-icon-tiny{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:.75rem;padding:4px;border-radius:3px;transition:all .2s}.btn-icon-tiny:hover{color:#ef4444;background-color:#fef2f2}.sidebar-footer-sticky{position:sticky;bottom:-1.5rem;background-color:#f8f9fa;margin-top:auto;border-top:1px solid #dde2e5;z-index:10;margin-left:-1.5rem;margin-right:-1.5rem;padding:1rem 1.5rem 1.5rem}.btn-edit-taxes-sidebar:hover{background-color:#dbeafe!important;border-color:#2563eb!important;color:#2563eb!important;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.sidebar-tax-editor-full{display:flex;flex-direction:column;gap:1rem;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.modal-actions .btn-primary:hover{background-color:#0b5ed7}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.attachment-upload-container{padding:1rem;max-width:1000px;margin:0 auto}.attachment-header{margin-bottom:2rem;text-align:center}.upload-button-container{margin-bottom:2rem;display:flex;justify-content:center}.file-grid{width:100%;border-collapse:collapse;background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.file-grid th,.file-grid td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.file-grid th{background-color:#f8f9fa;font-weight:600;color:#333}.file-grid tr:last-child td{border-bottom:none}.btn-send{background-color:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.btn-send:hover{background-color:#218838}.modal-content{background:#fff;border-radius:12px;width:95%;height:90%;max-width:1400px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:row;overflow:hidden;position:relative}.modal-sidebar{width:350px;padding:2rem;background-color:#f8f9fa;border-right:1px solid #eee;display:flex;flex-direction:column;overflow-y:auto}.modal-pdf-viewer{flex:1;background-color:#e4e4e4;display:flex;flex-direction:column}.modal-header{margin-bottom:1.5rem;border-bottom:1px solid #eee;padding-bottom:1rem}.modal-header h3{margin:0;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#555}.form-group input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:auto;padding-top:1rem}.btn-cancel{background-color:#6c757d;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-submit{background-color:#007bff;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-submit:hover{background-color:#0056b3}.search-container{position:relative}.search-results{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 4px 8px #0000001a}.search-item{padding:8px 12px;cursor:pointer;border-bottom:1px solid #f0f0f0}.search-item:hover{background-color:#f8f9fa}.search-item:last-child{border-bottom:none}.search-item-name{font-weight:500;display:block;font-size:.9rem}.search-item-info{font-size:.75rem;color:#666}
