.payroll-page{padding:20px}.payroll-layout{min-height:calc(100vh - 200px)}.payroll-tabs{display:flex;gap:0;margin-bottom:20px;border-bottom:2px solid #dee2e6}.payroll-tab{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#6c757d;transition:all .2s ease;margin-bottom:-2px}.payroll-tab:hover{color:#495057;background:#f8f9fa}.payroll-tab.active{color:#007bff;border-bottom-color:#007bff;background:transparent}.payroll-tab i{margin-right:8px}.payroll-upload-container{max-width:600px;margin:0 auto;padding:40px;background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.payroll-upload-title{text-align:center;margin-bottom:30px;color:#333}.payroll-upload-form{display:flex;flex-direction:column;gap:20px}.payroll-form-group{display:flex;flex-direction:column;gap:8px}.payroll-form-group label{font-weight:500;color:#495057}.payroll-file-input{padding:12px;border:2px dashed #dee2e6;border-radius:8px;background:#f8f9fa;cursor:pointer;transition:all .2s ease}.payroll-file-input:hover{border-color:#007bff;background:#e7f1ff}.payroll-file-input.has-file{border-color:#28a745;background:#d4edda}.payroll-month-input{padding:10px 12px;border:1px solid #ced4da;border-radius:4px;font-size:14px}.payroll-upload-btn{padding:12px 24px;background:#007bff;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s ease}.payroll-upload-btn:hover:not(:disabled){background:#0056b3}.payroll-upload-btn:disabled{background:#6c757d;cursor:not-allowed}.payroll-progress-bar{height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.payroll-progress-fill{height:100%;background:#007bff;transition:width .3s ease}.payroll-matching-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:20px}.payroll-matching-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #dee2e6}.payroll-matching-stats{display:flex;gap:20px}.payroll-stat{text-align:center}.payroll-stat-value{font-size:24px;font-weight:600;color:#007bff}.payroll-stat-label{font-size:12px;color:#6c757d}.payroll-entries-table{width:100%;border-collapse:collapse}.payroll-entries-table th,.payroll-entries-table td{padding:12px;text-align:left;border-bottom:1px solid #dee2e6}.payroll-entries-table th{background:#f8f9fa;font-weight:600;color:#495057}.payroll-entries-table tr:hover{background:#f8f9fa}.payroll-match-select{width:100%;max-width:250px;padding:8px;border:1px solid #ced4da;border-radius:4px}.payroll-option-deactivated{color:#6c757d;font-style:italic}.payroll-confidence-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.payroll-confidence-high{background:#d4edda;color:#155724}.payroll-confidence-medium{background:#fff3cd;color:#856404}.payroll-confidence-low{background:#f8d7da;color:#721c24}.payroll-match-auto{color:#28a745}.payroll-match-manual{background:#d1ecf1;color:#0c5460}.payroll-match-saved{background:#d4edda;color:#155724}.payroll-match-none{background:#f8d7da;color:#721c24}.payroll-archive-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.payroll-archive-header{padding:20px;border-bottom:1px solid #dee2e6}.payroll-filters{display:flex;gap:15px;flex-wrap:wrap}.payroll-filter-group{display:flex;flex-direction:column;gap:4px}.payroll-filter-group label{font-size:12px;color:#6c757d}.payroll-filter-select{padding:8px 12px;border:1px solid #ced4da;border-radius:4px;min-width:120px}.payroll-archive-table{width:100%;border-collapse:collapse}.payroll-archive-table th,.payroll-archive-table td{padding:15px;text-align:left;border-bottom:1px solid #dee2e6}.payroll-archive-table th{background:#f8f9fa;font-weight:600;color:#495057}.payroll-archive-table tr:hover{background:#f8f9fa}.payroll-status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:500}.payroll-status-pending{background:#fff3cd;color:#856404}.payroll-status-matched{background:#cce5ff;color:#004085}.payroll-status-confirmed{background:#d4edda;color:#155724}.payroll-status-archived{background:#e2e3e5;color:#383d41}.payroll-action-btn{padding:6px 12px;margin-right:5px;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s ease}.payroll-action-btn-view{background:#e7f1ff;color:#007bff}.payroll-action-btn-view:hover{background:#007bff;color:#fff}.payroll-action-btn-download{background:#d4edda;color:#28a745}.payroll-action-btn-download:hover{background:#28a745;color:#fff}.payroll-action-btn-delete{background:#f8d7da;color:#dc3545}.payroll-action-btn-delete:hover{background:#dc3545;color:#fff}.payroll-empty-state{text-align:center;padding:60px 20px;color:#6c757d}.payroll-empty-state i{font-size:48px;margin-bottom:15px;opacity:.5}.payroll-loading{display:flex;justify-content:center;align-items:center;padding:40px}.payroll-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.payroll-confirm-btn{padding:10px 24px;background:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease}.payroll-confirm-btn:hover:not(:disabled){background:#218838}.payroll-confirm-btn:disabled{background:#6c757d;cursor:not-allowed}.payroll-back-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#f8f9fa;color:#495057;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;transition:all .2s ease;text-decoration:none}.payroll-back-btn:hover{background:#e9ecef;color:#212529}@media (max-width: 768px){.payroll-tabs{flex-wrap:wrap}.payroll-tab{flex:1;text-align:center}.payroll-matching-header{flex-direction:column;gap:15px}.payroll-filters{flex-direction:column}.payroll-entries-table{font-size:12px}.payroll-entries-table th,.payroll-entries-table td{padding:8px}}.payroll-editable-input{padding:6px 10px;border:1px solid #ced4da;border-radius:4px;font-size:13px;font-family:inherit;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.payroll-editable-input:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.payroll-editable-input:disabled{background-color:#e9ecef;cursor:not-allowed;opacity:.7}.payroll-editable-input:hover:not(:disabled){border-color:#80bdff}
