.dicm-timesheet-tracker{font-family:Poppins,Helvetica,Arial,Lucida,sans-serif;max-width:100%;margin:0 auto;position:relative}.loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;z-index:1000;border-radius:10px}.loading-spinner{width:40px;height:40px;border:4px solid rgba(0,124,186,.3);border-top:4px solid #007cba;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.dicm-timesheet-tracker.error-state{padding:20px;text-align:center}.error-message{background:#f8d7da;color:#721c24;padding:15px;border-radius:6px;border:1px solid #f5c6cb}.error-message p{margin:0;font-weight:600}.login-required{padding:40px 20px;text-align:center;background:#f8f9fa;border-radius:10px;border:1px solid #e9ecef}.login-message h3{color:#495057;margin:0 0 15px 0}.login-message p{color:#6c757d;margin:0 0 20px 0}.login-link{display:inline-block;background:#007cba;color:#fff;padding:10px 20px;text-decoration:none;border-radius:6px;font-weight:600;transition:background .3s ease}.login-link:hover{background:#005a8b;color:#fff;text-decoration:none}.timesheet-title h3{margin:0 0 20px 0;padding:0;font-size:24px;font-weight:600;color:#2c3e50;text-align:center}.timer-section{background:#007cba;color:#fff;border-radius:10px;padding:20px 40px;margin-bottom:25px;text-align:center;box-shadow:0 4px 15px rgba(0,0,0,.1)}.timer-display{display:flex;flex-direction:column;align-items:center;gap:15px}.timer-time{font-size:2.5rem;font-weight:700;font-family:Poppins,Helvetica,Arial,Lucida,sans-serif;letter-spacing:2px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.timer-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.timer-btn{background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.3);color:#fff;padding:10px 20px;border-radius:25px;cursor:pointer;font-size:14px;font-weight:600;transition:all .3s ease;backdrop-filter:blur(10px)}.timer-btn:hover{background:rgba(255,255,255,.3);border-color:rgba(255,255,255,.5);transform:translateY(-2px)}.timer-btn:active{transform:translateY(0)}.timer-btn.start-btn{background:linear-gradient(135deg,#4caf50,#45a049);border-color:#4caf50}.timer-btn.stop-btn{background:linear-gradient(135deg,#f44336,#d32f2f);border-color:#f44336}.timer-btn.reset-btn{background:linear-gradient(135deg,#ff9800,#f57c00);border-color:#ff9800}.timesheet-container{background:#fff;border-radius:10px;box-shadow:0 4px 20px rgba(0,0,0,.08);overflow:hidden}.timesheet-controls{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f8f9fa;border-bottom:1px solid #e9ecef;flex-wrap:wrap;gap:15px}.export-controls{display:flex;gap:10px;flex-wrap:wrap}.export-btn,.invoice-btn{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px rgba(40,167,69,.2)}.export-btn:hover,.invoice-btn:hover{background:linear-gradient(135deg,#218838,#1eb88a);transform:translateY(-1px);box-shadow:0 4px 12px rgba(40,167,69,.3)}.invoice-btn{background:linear-gradient(135deg,#6f42c1,#8e44ad);box-shadow:0 2px 8px rgba(111,66,193,.2)}.invoice-btn:hover{background:linear-gradient(135deg,#5a2d91,#7d3c98);box-shadow:0 4px 12px rgba(111,66,193,.3)}.filter-controls{display:flex;align-items:center;gap:10px;margin-right:auto}.filter-controls label{font-size:14px;font-weight:500;color:#495057;white-space:nowrap}.filter-dropdown{background:#fff;border:2px solid #e9ecef;border-radius:6px;padding:8px 12px;font-size:14px;font-weight:400;color:#495057;cursor:pointer;transition:all .3s ease;min-width:120px}.filter-dropdown:hover{border-color:#007cba}.filter-dropdown:focus{outline:0;border-color:#007cba;box-shadow:0 0 0 3px rgba(0,124,186,.1)}.custom-date-controls{display:flex;align-items:center;gap:15px;margin-left:15px;padding:10px;background:#f8f9fa;border-radius:6px;border:1px solid #e9ecef}.date-input-group{display:flex;align-items:center;gap:8px}.date-input-group label{font-size:13px;font-weight:500;color:#495057;white-space:nowrap}.date-input{background:#fff;border:2px solid #e9ecef;border-radius:4px;padding:6px 10px;font-size:13px;color:#495057;cursor:pointer;transition:all .3s ease;min-width:140px}.date-input:hover{border-color:#007cba}.date-input:focus{outline:0;border-color:#007cba;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.apply-filter-btn{background:linear-gradient(135deg,#007cba,#005a8b);color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .3s ease;white-space:nowrap}.apply-filter-btn:hover:not(:disabled){background:linear-gradient(135deg,#005a8b,#004066);transform:translateY(-1px)}.apply-filter-btn:disabled{background:#6c757d;cursor:not-allowed;opacity:.6}.add-row-btn,.clear-all-btn{background:linear-gradient(135deg,#007cba,#005a8b);color:#fff;border:none;padding:10px 20px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,124,186,.2)}.add-row-btn:hover,.clear-all-btn:hover{background:linear-gradient(135deg,#005a8b,#004066);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,124,186,.3)}.add-row-btn:disabled{background:#6c757d;cursor:not-allowed;transform:none;box-shadow:none}.clear-all-btn{background:linear-gradient(135deg,#dc3545,#c82333)}.clear-all-btn:hover{background:linear-gradient(135deg,#c82333,#a71e2a)}.total-summary{display:flex;gap:20px;flex-wrap:wrap;align-items:center}.total-summary span{font-size:14px;color:#495057}.total-summary strong{color:#007cba;font-size:16px}.timesheet-table-wrapper{overflow-x:auto;max-height:600px;overflow-y:auto}.timesheet-table{width:100%;border-collapse:collapse;background:#fff;min-width:900px;font-family:Poppins,Helvetica,Arial,Lucida,sans-serif}.timesheet-header th{background:#007cba!important;color:#fff!important;padding:15px 10px;text-align:left;font-weight:400!important;font-size:14px;text-transform:uppercase;white-space:nowrap;letter-spacing:.5px;border-bottom:0!important;position:sticky;top:0;z-index:10}.timesheet-body td{padding:12px 10px;border-bottom:1px solid #e9ecef;vertical-align:middle;font-size:14px;color:#495057}.timesheet-row:hover{background-color:#f8f9fa}.timesheet-row:nth-child(2n){background-color:#fdfdfe}.timesheet-body input,.timesheet-body select,.timesheet-body textarea{width:100%;border:1px solid #ced4da;border-radius:4px;padding:8px;font-size:14px;color:#495057;background:#fff;transition:all .2s ease;box-sizing:border-box}.timesheet-body input:focus,.timesheet-body select:focus,.timesheet-body textarea:focus{outline:0;border-color:#007cba;box-shadow:0 0 0 2px rgba(0,124,186,.1)}.timesheet-body textarea{resize:vertical;min-height:38px;max-height:100px}.login-prompt{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;padding:15px;margin-bottom:20px;text-align:center}.login-prompt .login-message h4{margin:0 0 10px 0;color:#1976d2}.login-prompt .login-message p{margin:0;color:#424242}.login-prompt .login-link{color:#fff!important;text-decoration:none;font-weight:600}.login-prompt .login-link:hover{text-decoration:underline}.user-details{background:#f8f9fa;border:1px solid #cbcbcb;border-radius:8px;padding:15px;margin-bottom:20px}.user-details .user-info h4{margin:0 0 15px 0;color:#495057;font-weight:600}.user-details .user-item{margin-bottom:8px;font-size:14px;color:#6c757d}.user-details .user-item:last-child{margin-bottom:0}.user-details .user-item strong{color:#343a40;font-weight:500}.info-timer-row{display:flex;gap:20px;margin-bottom:25px;align-items:stretch}.info-timer-row .user-details{flex:1;margin-bottom:0}.info-timer-row .timer-section{max-width:300px;margin-bottom:0;justify-content:center;align-items:center;display:inline-flex}@media (max-width:768px){.info-timer-row{flex-direction:column;gap:15px}.info-timer-row .timer-section,.info-timer-row .user-details{margin-bottom:15px}.info-timer-row .timer-section:last-child,.info-timer-row .user-details:last-child{margin-bottom:0}}.contributors-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:20px}.contributors-section .contributors-header h4{margin:0 0 5px 0;color:#495057;font-weight:600}.contributors-section .contributors-header p{margin:0 0 15px 0;color:#6c757d;font-size:14px}.contributors-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px}.contributor-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:15px}.contributor-item .contributor-name{margin-bottom:8px}.contributor-item .contributor-name strong{color:#343a40;font-weight:600;font-size:16px}.contributor-item .contributor-email{margin-bottom:8px;font-size:14px;color:#6c757d}.contributor-item .contributor-email strong{color:#495057;font-weight:500}.contributor-item .contributor-stats{display:flex;gap:15px;margin-bottom:8px}.contributor-item .contributor-stats span{color:#495057;font-size:14px;font-weight:500}.contributor-item .last-activity{color:#6c757d;font-size:12px}.fixed-rate-display{text-align:center;font-weight:600;color:#007cba;padding:8px;background-color:#f0f8ff;border-radius:4px;font-family:Poppins,Helvetica,Arial,Lucida,sans-serif}.readonly-field{padding:8px 0;color:#495057;font-size:14px;min-height:22px;display:flex;align-items:center}.readonly-field.hours-display{text-align:center;font-family:Poppins,Helvetica,Arial,Lucida,sans-serif;font-weight:600;justify-content:center}.amount-cell{text-align:right;font-weight:600;color:#28a745;font-family:Poppins,Helvetica,Arial,Lucida,sans-serif;background-color:#f8fff9}.actions-cell{text-align:center;width:80px;white-space:nowrap}.delete-row-btn,.timer-row-btn{background:#6c757d;color:#fff;border:none;width:28px;height:28px;border-radius:4px;cursor:pointer;font-size:12px;margin:0 2px;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease}.delete-row-btn{background:#d1d1d1;border:1px solid #6c757d}.timer-row-btn:hover{background:#28a745;transform:scale(1.1)}.timer-row-btn.active{background:#dc3545;animation:pulse 1.5s infinite}.delete-row-btn:hover{background:#dc3545;transform:scale(1.1)}.timer-row-btn:disabled{background:#adb5bd;cursor:not-allowed;transform:none}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.6}}.timesheet-table td.checkbox-column,.timesheet-table th.checkbox-column{padding:12px 10px 0!important;white-space:nowrap;vertical-align:top}.timesheet-table td.td-date,.timesheet-table th.td-date{width:120px;min-width:120px;white-space:nowrap}.timesheet-table td.td-project,.timesheet-table th.td-project{width:150px;min-width:150px}.timesheet-table td.td-tasks,.timesheet-table th.td-tasks{width:160px;min-width:160px}.timesheet-table td.td-notes,.timesheet-table th.td-notes{width:200px;min-width:200px}.timesheet-table td.td-hours,.timesheet-table th.td-hours{width:80px;min-width:80px;text-align:center}.timesheet-table td.td-rate,.timesheet-table th.td-rate{width:100px;min-width:100px;text-align:center}.timesheet-table td.td-amount,.timesheet-table th.td-amount{width:120px;min-width:120px}.timesheet-table td.td-actions,.timesheet-table th.td-actions{width:80px;min-width:80px}@media (max-width:768px){.timesheet-controls{flex-direction:column;align-items:stretch;gap:10px}.filter-controls{margin-right:0;justify-content:center;order:-1;flex-direction:column;align-items:stretch;gap:10px}.custom-date-controls{flex-direction:column;align-items:stretch;margin-left:0;gap:10px}.date-input-group{flex-direction:column;align-items:stretch;gap:5px}.date-input{min-width:auto}.apply-filter-btn{margin-top:10px;width:100%}.export-controls{justify-content:center}.total-summary{justify-content:center;text-align:center}.timer-time{font-size:2rem}.timer-controls{gap:8px}.timer-btn{padding:8px 16px;font-size:13px}.timesheet-table{font-size:13px;min-width:700px}.timesheet-body td,.timesheet-header th{padding:10px 8px}}@media (max-width:480px){.timesheet-title h3{font-size:20px}.timer-time{font-size:1.8rem;letter-spacing:1px}.timer-section{padding:15px;margin-bottom:20px}.timesheet-controls{padding:15px}.add-row-btn,.clear-all-btn,.export-btn,.invoice-btn{padding:8px 16px;font-size:13px}.export-controls{flex-direction:column;width:100%}.export-btn,.invoice-btn{width:100%}.total-summary{font-size:13px;flex-direction:column;gap:8px}}.checkbox-column{width:40px;text-align:center;padding:8px 4px!important}.checkbox-column input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:#007cba}.checkbox-column input[type=checkbox]:focus{outline:2px solid #007cba;outline-offset:1px}.invoice-btn:disabled{opacity:.6;cursor:not-allowed;background-color:#ccc!important;color:#fff!important}.invoice-btn:disabled:hover{background-color:#ccc!important;color:#fff!important}@media print{.actions-cell,.checkbox-column,.timer-section,.timesheet-controls{display:none!important}.timesheet-table{font-size:12px}.timesheet-body td,.timesheet-header th{padding:8px 4px}.dicm-timesheet-tracker{box-shadow:none}}