.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px}.loading-spinner-container.loading-spinner-small{min-height:100px;padding:1rem}.loading-spinner-container.loading-spinner-large{min-height:300px;padding:3rem}.loading-spinner-container.search-spinner{position:absolute;right:12px;top:50%;transform:translateY(-50%);min-height:auto;padding:0}.loading-spinner{position:relative;width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #007bff;border-radius:50%;animation:spin 1s linear infinite}.loading-spinner .spinner-ring{position:absolute;top:-3px;left:-3px;width:40px;height:40px;border:3px solid transparent;border-top:3px solid rgba(0,123,255,.3);border-radius:50%;animation:spin 1.5s linear infinite reverse}.loading-spinner-small .loading-spinner{width:24px;height:24px;border-width:2px}.loading-spinner-small .loading-spinner .spinner-ring{width:24px;height:24px;border-width:2px;top:-2px;left:-2px}.loading-spinner-large .loading-spinner{width:60px;height:60px;border-width:4px}.loading-spinner-large .loading-spinner .spinner-ring{width:60px;height:60px;border-width:4px;top:-4px;left:-4px}.loading-text{margin-top:1rem;color:#6c757d;font-size:.875rem;text-align:center;font-weight:500}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dashboard-loading{display:flex;align-items:center;justify-content:center;min-height:60vh;background:#f8f9fa;border-radius:8px}.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:2rem;text-align:center;background:#fff;border:1px solid #e3e6f0;border-radius:8px}.dashboard-error h2{color:#e74c3c;margin-bottom:1rem}.dashboard-error p{color:#6c757d;margin-bottom:1.5rem}.employee-list-container{padding:1.5rem}.employee-list-container .search-container{position:relative;max-width:400px;margin-bottom:1.5rem}.employee-list-container .search-container .search-input{width:100%;padding:.75rem 1rem;border:1px solid #ced4da;border-radius:6px;font-size:.875rem}.employee-list-container .search-container .search-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.employees-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.employees-grid .employee-card{background:#fff;border:1px solid #e3e6f0;border-radius:8px;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.employees-grid .employee-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.employees-grid .employee-card .employee-info h3{margin:0 0 .5rem;color:#2c3e50;font-size:1.125rem}.employees-grid .employee-card .employee-info .email{color:#6c757d;font-size:.875rem;margin-bottom:.25rem}.employees-grid .employee-card .employee-info .position{color:#495057;font-weight:500;margin-bottom:.75rem}.employees-grid .employee-card .employee-info .department{display:inline-block;background:#e9ecef;color:#495057;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;margin-right:.5rem}.employees-grid .employee-card .employee-info .status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500;text-transform:uppercase}.employees-grid .employee-card .employee-info .status.active{background:#d4edda;color:#155724}.employees-grid .employee-card .employee-info .status.inactive{background:#f8d7da;color:#721c24}.contact-details-container{max-width:800px;margin:0 auto;padding:1.5rem}.contact-details-container .contact-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.contact-details-container .contact-details-header h1{margin:0;color:#2c3e50}.contact-details-container .contact-details-header .actions{display:flex;gap:.5rem}.contact-details-container .saving-indicator{background:#e3f2fd;border:1px solid #bbdefb;border-radius:6px;padding:1rem;margin-bottom:1.5rem;text-align:center}.contact-form{background:#fff;border:1px solid #e3e6f0;border-radius:8px;padding:2rem}.contact-form .form-group{margin-bottom:1.5rem}.contact-form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:#495057}.contact-form .form-group input,.contact-form .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid #ced4da;border-radius:6px;font-size:.875rem;transition:border-color .2s ease}.contact-form .form-group input:focus,.contact-form .form-group textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 .2rem #007bff40}.contact-form .form-group input:disabled,.contact-form .form-group textarea:disabled{background-color:#f8f9fa;opacity:.6;cursor:not-allowed}.contact-form .form-group p{margin:0;padding:.75rem 0;color:#495057;min-height:1.5rem}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;background:#fff;border:1px solid #e3e6f0;border-radius:8px;margin:1rem 0}.error-state h3{color:#dc3545;margin-bottom:1rem}.error-state p{color:#6c757d;margin-bottom:1.5rem}.error-message{background:#f8d7da;border:1px solid #f1aeb5;color:#721c24;padding:1rem;border-radius:6px;margin-bottom:1.5rem;text-align:center}.error-message button{margin-top:.5rem}.no-results{text-align:center;padding:3rem 2rem;color:#6c757d}.no-results p{font-size:1.125rem;margin:0}.retry-button,.edit-button,.save-button,.cancel-button{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.retry-button:disabled,.edit-button:disabled,.save-button:disabled,.cancel-button:disabled{opacity:.6;cursor:not-allowed}.retry-button{background:#007bff;color:#fff}.retry-button:hover:not(:disabled){background:#0056b3}.edit-button{background:#6c757d;color:#fff}.edit-button:hover{background:#545b62}.save-button{background:#28a745;color:#fff}.save-button:hover:not(:disabled){background:#1e7e34}.cancel-button{background:#6c757d;color:#fff;margin-left:.5rem}.cancel-button:hover:not(:disabled){background:#545b62}@media(max-width:768px){.employees-grid{grid-template-columns:1fr}.contact-details-header{flex-direction:column;align-items:flex-start;gap:1rem}.loading-spinner-container{padding:1rem;min-height:150px}.loading-spinner-container.loading-spinner-large{min-height:200px;padding:2rem}}
