*{margin:0;padding:0;box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#e6f7ff}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#00a651,#06c);padding:2rem}.login-card{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:3rem;width:100%;max-width:450px;animation:fadeIn .5s ease;border-top:4px solid #00A651;border-bottom:4px solid #0066CC}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:2rem}.login-icon{width:64px;height:64px;color:#06c;margin-bottom:1rem}.login-header h1{color:#2c3e50;font-size:1.75rem;margin:0 0 .5rem;font-weight:700}.login-subtitle{color:#7f8c8d;font-size:1rem;margin:0}.login-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.75rem}.form-label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;color:#2c3e50}.lock-icon,.user-icon{width:20px;height:20px;color:#06c}.form-input{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:Courier New,monospace;transition:all .3s ease}.form-input:focus{outline:none;border-color:#06c;box-shadow:0 0 0 3px #0066cc1a}.error-message{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#fef5f5;color:#e74c3c;border:2px solid #e74c3c;border-radius:8px;font-size:.9rem;font-weight:500}.error-message svg{width:20px;height:20px;flex-shrink:0}.login-button{width:100%;padding:1rem;background:#06c;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #06c6}.login-button:hover{background:#0052a3;transform:translateY(-2px);box-shadow:0 6px 16px #0066cc80}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.7;cursor:not-allowed}.login-button .spinner-small{width:20px;height:20px;margin-right:.5rem;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}.spinner-circle{stroke-dasharray:60;stroke-dashoffset:30;stroke-linecap:round;opacity:.8}@media (max-width: 768px){.login-card{padding:2rem}.login-header h1{font-size:1.5rem}.login-icon{width:48px;height:48px}}.home-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);padding:2rem}.home-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;max-width:1400px;margin-left:auto;margin-right:auto}.home-header h1{font-size:2.5rem;color:#2c3e50;margin:0;font-weight:700}.upload-btn{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4a90e24d}.upload-btn svg{width:20px;height:20px}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4a90e266}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1400px;margin:0 auto 3rem}.stat-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.stat-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000026}.stat-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:32px;height:32px;color:#fff}.stat-icon.blue{background:linear-gradient(135deg,#4a90e2,#357abd)}.stat-icon.green{background:linear-gradient(135deg,#2ecc71,#27ae60)}.stat-icon.purple{background:linear-gradient(135deg,#9b59b6,#8e44ad)}.stat-content{flex:1}.stat-label{color:#7f8c8d;font-size:.9rem;margin:0 0 .5rem;font-weight:500}.stat-value{color:#2c3e50;font-size:2rem;margin:0;font-weight:700}.stat-subtext{color:#95a5a6;font-size:.85rem;margin:.25rem 0 0;font-weight:500}.recent-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a;max-width:1400px;margin:0 auto}.recent-section h2{color:#2c3e50;font-size:1.5rem;margin:0;font-weight:600}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.month-navigation{display:flex;align-items:center;gap:.5rem}.month-nav-btn{display:flex;align-items:center;justify-content:center;padding:.625rem 1rem;border:2px solid #e0e0e0;border-radius:8px;background:#fff;color:#2c3e50;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:44px;height:44px}.month-nav-btn svg{width:20px;height:20px}.month-nav-btn.prev-month,.month-nav-btn.next-month{padding:.625rem}.month-nav-btn.current-month{min-width:150px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-color:transparent}.month-nav-btn:hover{border-color:#4a90e2;transform:translateY(-2px);box-shadow:0 4px 8px #4a90e233}.month-nav-btn.current-month:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 4px 12px #667eea66}.loading-state,.error-state,.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#7f8c8d}.loading-state svg,.error-state svg,.empty-state svg{width:64px;height:64px;margin-bottom:1rem;opacity:.5}.empty-state .upload-btn-secondary{margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.empty-state .upload-btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e24d}.invoice-table-container{overflow-x:auto}.invoice-table{width:100%;border-collapse:collapse}.invoice-table thead tr{border-bottom:2px solid #e0e0e0}.invoice-table th{text-align:left;padding:1rem;color:#7f8c8d;font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.invoice-table tbody tr{border-bottom:1px solid #f0f0f0;transition:background .2s ease}.invoice-table tbody tr:hover{background:#f8f9fa}.invoice-table td{padding:1rem;color:#2c3e50}.invoice-table .invoice-no{font-family:Courier New,monospace;font-weight:600;color:#4a90e2}.invoice-table .amount{font-weight:600;color:#27ae60}.status-badge{display:inline-block;padding:.375rem .75rem;border-radius:6px;font-size:.85rem;font-weight:600;text-transform:capitalize}.status-badge.draft{background:#f0f0f0;color:#7f8c8d}.status-badge.processed{background:#d4edda;color:#27ae60}.status-badge.approved{background:#d1ecf1;color:#4a90e2}.status-badge.rejected{background:#fef5f5;color:#e74c3c}.action-buttons{display:flex;gap:.5rem;align-items:center}.view-btn,.delete-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#fff}.view-btn{background:linear-gradient(135deg,#4a90e2,#357abd)}.view-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #4a90e24d}.delete-btn{background:linear-gradient(135deg,#e74c3c,#c0392b)}.delete-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #e74c3c4d}.controls-bar{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap;align-items:center}.search-box{flex:1;min-width:300px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;width:20px;height:20px;color:#95a5a6;pointer-events:none}.search-input{width:100%;padding:.875rem 1rem .875rem 3rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff}.search-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.search-input::placeholder{color:#95a5a6}.clear-search{position:absolute;right:1rem;background:none;border:none;font-size:1.5rem;color:#95a5a6;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.clear-search:hover{background:#f0f0f0;color:#2c3e50}.filter-controls{display:flex;gap:.75rem}.filter-select{padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;font-weight:500;color:#2c3e50;background:#fff;cursor:pointer;transition:all .3s ease;min-width:150px}.filter-select:hover{border-color:#4a90e2}.filter-select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.date-input{min-width:170px;font-family:inherit}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;padding:4px;border-radius:4px}.date-input::-webkit-calendar-picker-indicator:hover{background:#f0f0f0}.clear-date-btn{padding:.875rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.clear-date-btn:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}@media (max-width: 768px){.controls-bar{flex-direction:column}.search-box{width:100%;min-width:unset}.filter-controls{width:100%;flex-direction:column}.filter-select{width:100%}.date-input{width:100%;min-width:unset}.clear-date-btn{width:100%}}.bulk-actions-bar{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;margin-bottom:1.5rem;box-shadow:0 2px 8px #667eea4d}.selected-count{color:#fff;font-weight:600;font-size:.95rem;margin-right:auto}.bulk-export-btn{padding:.625rem 1.25rem;background:#27ae60;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.bulk-export-btn:hover{background:#229954;transform:translateY(-1px);box-shadow:0 4px 12px #27ae604d}.bulk-delete-btn{padding:.625rem 1.25rem;background:#e74c3c;color:#fff;border:none;border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.bulk-delete-btn:hover{background:#c0392b;transform:translateY(-1px);box-shadow:0 4px 12px #e74c3c4d}.clear-selection-btn{padding:.625rem 1.25rem;background:#fff3;color:#fff;border:2px solid rgba(255,255,255,.5);border-radius:6px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease}.clear-selection-btn:hover{background:#ffffff4d;border-color:#fffc}.checkbox-col{width:50px;text-align:center;padding:.75rem 1rem!important}.checkbox-col input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.invoice-table tbody tr.selected-row{background:#667eea14;border-left:3px solid #667eea}.invoice-table tbody tr.selected-row:hover{background:#667eea1f}@media (max-width: 768px){.home-container{padding:1rem}.home-header{flex-direction:column;gap:1rem;align-items:flex-start}.home-header h1{font-size:1.75rem}.stats-grid{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.section-header{flex-direction:column;align-items:flex-start}.month-navigation{width:100%;justify-content:center}.month-nav-btn.current-month{flex:1;min-width:unset}.bulk-actions-bar{flex-direction:column;align-items:stretch;gap:.75rem}.selected-count{margin-right:0;text-align:center}.bulk-delete-btn,.clear-selection-btn{width:100%}.invoice-table-container{margin:0 -2rem;padding:0 2rem}.invoice-table{font-size:.9rem}.invoice-table th,.invoice-table td{padding:.75rem .5rem}}.invoice-extracter-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.header{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;padding:2rem;box-shadow:0 2px 8px #0000001a}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:1rem}.header-icon{width:48px;height:48px}.header h1{margin:0;font-size:2rem;font-weight:600}.content{max-width:1200px;margin:0 auto;padding:3rem 2rem}.token-section{margin-bottom:2rem}.token-input-container{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px #0000001a}.token-label{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600;color:#2c3e50;margin-bottom:1rem}.lock-icon{width:24px;height:24px;color:#e74c3c}.token-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:Courier New,monospace}.token-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.message-box{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-radius:8px;margin-bottom:2rem;font-weight:500}.error-box{background:#fef5f5;color:#e74c3c;border:2px solid #e74c3c}.success-box{background:#f0fdf4;color:#27ae60;border:2px solid #27ae60}.message-icon{width:24px;height:24px;flex-shrink:0}.upload-section{display:flex;justify-content:center;margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.upload-box{background:#fff;border:3px dashed;border-radius:12px;padding:2.5rem;text-align:center;transition:all .3s ease;width:100%}.upload-box:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.invoice-box{border-color:#4a90e2}.excel-box{border-color:#2ecc71}.upload-box h2{color:#2c3e50;font-size:1.5rem;margin:0 0 2rem;font-weight:600}.icon-container{margin:2rem 0}.cloud-icon{width:80px;height:80px;color:#4a90e2}.excel-icon{width:80px;height:80px;color:#2ecc71}.upload-text{color:#7f8c8d;font-size:1rem;margin:1.5rem 0}.file-info{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1.5rem 0;color:#27ae60;font-weight:500}.files-list{width:100%;margin:1.5rem 0}.files-count{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem;color:#27ae60;font-weight:600;font-size:1.1rem}.file-items{max-height:200px;overflow-y:auto;border:1px solid #e0e0e0;border-radius:8px;padding:.5rem}.file-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;margin-bottom:.5rem;background:#f8f9fa;border-radius:6px;transition:background .2s ease}.file-item:hover{background:#e9ecef}.file-item:last-child{margin-bottom:0}.file-name{flex:1;font-size:.9rem;color:#2c3e50;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-right:.5rem}.remove-file-btn{background:none;border:none;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;color:#e74c3c;transition:transform .2s ease;flex-shrink:0}.remove-file-btn svg{width:20px;height:20px}.remove-file-btn:hover{transform:scale(1.2)}.check-icon{width:24px;height:24px;color:#27ae60}.browse-button{display:inline-block;padding:.75rem 2rem;border:2px solid;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;background:#fff}.invoice-button{color:#4a90e2;border-color:#4a90e2}.invoice-button:hover{background:#4a90e2;color:#fff}.excel-button{color:#2ecc71;border-color:#2ecc71}.excel-button:hover{background:#2ecc71;color:#fff}.extract-button{width:100%;padding:1.5rem;background:linear-gradient(135deg,#27ae60,#229954);color:#fff;border:none;border-radius:12px;font-size:1.5rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #27ae604d}.extract-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #27ae6066}.extract-button:disabled{background:#95a5a6;cursor:not-allowed;box-shadow:none}.extract-button .spinner{width:24px;height:24px;margin-right:.5rem;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}.spinner-circle{stroke-dasharray:60;stroke-dashoffset:30;stroke-linecap:round;opacity:.3}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.upload-section{max-width:100%}.header h1{font-size:1.5rem}.header-icon{width:36px;height:36px}.upload-box{padding:2rem}.cloud-icon,.excel-icon{width:60px;height:60px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:2px solid #e0e0e0}.modal-header h2{margin:0;font-size:1.5rem;color:#2c3e50}.modal-close{background:none;border:none;font-size:2rem;color:#95a5a6;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:#f5f5f5;color:#2c3e50}.modal-body{padding:1.5rem}.warning-banner{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.5rem;background:#fff3cd;border:2px solid #ffc107;border-radius:8px;margin-bottom:1.5rem}.warning-banner .warning-icon{width:32px;height:32px;color:#f57c00;flex-shrink:0;margin-top:2px}.warning-banner strong{display:block;color:#856404;font-size:1.1rem;margin-bottom:.25rem}.warning-banner p{margin:0;color:#856404;font-size:.95rem;line-height:1.5}.summary-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-stat{padding:1rem;border-radius:8px;background:#f8f9fa;border-left:4px solid #3498db}.summary-stat.success{background:#d4edda;border-left-color:#28a745}.summary-stat.warning{background:#fff3cd;border-left-color:#ffc107}.summary-stat.error{background:#f8d7da;border-left-color:#dc3545}.summary-stat.neutral{background:#e9ecef;border-left-color:#6c757d}.summary-stat .stat-label{display:block;font-size:.9rem;color:#6c757d;margin-bottom:.25rem}.summary-stat .stat-value{display:block;font-size:1.75rem;font-weight:700;color:#2c3e50}.summary-section{margin-bottom:1.5rem}.summary-section h3{margin:0 0 .5rem;font-size:1.1rem;color:#2c3e50}.section-description{margin:0 0 1rem;color:#6c757d;font-size:.9rem}.file-list{list-style:none;padding:0;margin:0}.file-list li{padding:.75rem 1rem;background:#f8f9fa;border-radius:6px;margin-bottom:.5rem;font-size:.95rem}.file-list li strong{color:#2c3e50}.file-list li .error-text{color:#dc3545;font-size:.85rem;display:block;margin-top:.25rem}.modal-footer{padding:1rem 1.5rem;border-top:2px solid #e0e0e0;display:flex;justify-content:flex-end}.modal-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.modal-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90e24d}@media (max-width: 768px){.modal-content{max-width:95%}.summary-stats{grid-template-columns:1fr}.modal-header h2{font-size:1.25rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background:#009e48;box-shadow:0 2px 8px #0000001a;position:sticky;top:0;z-index:100}.nav-content{max-width:1400px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-brand{display:flex;align-items:center;gap:.75rem;color:#fff;font-size:1.25rem;font-weight:700;cursor:pointer;transition:opacity .2s ease}.nav-brand:hover{opacity:.9}.nav-brand svg{width:32px;height:32px}.nav-links{display:flex;gap:.5rem}.nav-link{display:flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:transparent;color:#ffffffe6;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.nav-link svg{width:20px;height:20px}.nav-link:hover{background:#ffffff26;color:#fff}.nav-link.active{background:#ffffff40;color:#fff;font-weight:600}.nav-link.logout{color:#fffc}.nav-link.logout:hover{background:#e74c3c33;color:#ffebee}.main-content{flex:1}@media (max-width: 768px){.nav-content{padding:1rem;flex-direction:column;gap:1rem}.nav-links{width:100%;justify-content:space-around}.nav-link span{display:none}.nav-link{padding:.5rem}.nav-brand span{font-size:1rem}}.validation-container{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e4e8ec);padding:2rem}.validation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;max-width:1600px;margin-left:auto;margin-right:auto}.validation-header h1{font-size:2rem;color:#2c3e50;margin:0;font-weight:700}.header-actions{display:flex;gap:1rem}.btn-cancel{padding:.75rem 1.5rem;background:#95a5a6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel:hover{background:#7f8c8d;transform:translateY(-2px)}.btn-validate{padding:.75rem 1.5rem;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #2ecc714d}.btn-validate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2ecc7166}.btn-validate:disabled{opacity:.6;cursor:not-allowed}.validation-content{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1600px;margin:0 auto;height:calc(100vh - 200px)}.pdf-viewer{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.pdf-viewer h3{color:#2c3e50;font-size:1.25rem;margin:0 0 1rem;font-weight:600}.document-container{flex:1;background:#f8f9fa;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:0}.document-container embed{border:none}.invoice-image{max-width:100%;max-height:100%;object-fit:contain}.no-document{color:#7f8c8d;font-size:1rem}.fields-editor{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;overflow-y:auto}.fields-editor h3{color:#2c3e50;font-size:1.25rem;margin:0 0 1.5rem;font-weight:600}.form-container{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#2c3e50;font-weight:600;font-size:.9rem}.form-input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;font-family:inherit}.form-input:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-info{margin-top:1rem;padding:1rem;background:#f8f9fa;border-radius:8px;border-left:4px solid #4a90e2}.form-info p{margin:.5rem 0;color:#2c3e50;font-size:.9rem}.loading-state,.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#7f8c8d}.spinner-large{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.btn-secondary{padding:.75rem 1.5rem;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:1rem}.btn-secondary:hover{background:#357abd}@media (max-width: 1024px){.validation-content{grid-template-columns:1fr;height:auto}.pdf-viewer,.fields-editor{min-height:500px}}@media (max-width: 768px){.validation-container{padding:1rem}.validation-header{flex-direction:column;gap:1rem;align-items:flex-start}.validation-header h1{font-size:1.5rem}.header-actions{width:100%}.btn-cancel,.btn-validate{flex:1}}
