@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap'); :root { --primary-color: #3B82F6; --secondary-color: #10B981; --background-color: #F3F4F6; --surface-color: #FFFFFF; --text-color: #1F2937; --text-color-light: #6B7280; --border-color: #D1D5DB; --border-radius: 0.75rem; } body { font-family: 'Poppins', sans-serif; background-color: var(--background-color); color: var(--text-color); } .header { background-color: var(--surface-color); border-bottom: 1px solid var(--border-color); padding: 1.5rem 2.5rem; } .logo { font-weight: 700; font-size: 1.75rem; color: var(--text-color); } .logo .dot { color: var(--primary-color); } .main-content { padding: 2.5rem; } .page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 2rem; } .page-title { font-size: 2.25rem; font-weight: 700; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); border-radius: var(--border-radius); padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.2s ease-in-out; } .btn-primary:hover { background-color: #2563EB; border-color: #2563EB; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } .card { border: 1px solid var(--border-color); border-radius: var(--border-radius); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); transition: all 0.2s ease-in-out; } .card:hover { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); transform: translateY(-2px); } .table { border-collapse: separate; border-spacing: 0; } .table th { color: var(--text-color-light); font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.875rem; border-bottom: 2px solid var(--border-color) !important; padding: 1rem 1.5rem; } .table td { vertical-align: middle; padding: 1.25rem 1.5rem; } .table tbody tr { transition: all 0.2s ease-in-out; } .table tbody tr:hover { background-color: #F9FAFB; box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); } .table tbody tr:last-child td { border-bottom: none; } .avatar { width: 48px; height: 48px; border-radius: 50%; margin-right: 1.25rem; object-fit: cover; } .candidate-name { font-weight: 600; font-size: 1.125rem; } .candidate-email { color: var(--text-color-light); font-size: 1rem; } .status-badge { display: inline-block; padding: 0.35em 0.75em; font-size: .875em; font-weight: 600; line-height: 1; text-align: center; white-space: nowrap; vertical-align: baseline; border-radius: 0.5rem; } .status-new { background-color: #DBEAFE; color: #2563EB; } .status-interview { background-color: #FEF3C7; color: #D97706; } .status-hired { background-color: #D1FAE5; color: #059669; } .status-rejected { background-color: #FEE2E2; color: #DC2626; } .action-icon { color: var(--text-color-light); cursor: pointer; transition: all 0.2s ease-in-out; } .action-icon:hover { color: var(--text-color); transform: scale(1.1); } .status-todo { background-color: #E0E7FF; color: #4338CA; } .status-in-progress { background-color: #FEF9C3; color: #A16207; } .status-done { background-color: #D1FAE5; color: #059669; } /* Chat Interface Styles */ .chat-toggle-button { position: fixed; bottom: 2.5rem; right: 2.5rem; width: 64px; height: 64px; border-radius: 50%; background-color: var(--primary-color); color: white; border: none; display: flex; justify-content: center; align-items: center; box-shadow: 0 8px 16px rgba(0,0,0,0.2); cursor: pointer; z-index: 1000; transition: all 0.2s ease-in-out; } .chat-toggle-button:hover { transform: scale(1.05); box-shadow: 0 12px 24px rgba(0,0,0,0.2); } .chat-container { position: fixed; bottom: 7rem; right: 2.5rem; width: 375px; max-width: 90%; background-color: var(--surface-color); border-radius: var(--border-radius); box-shadow: 0 8px 24px rgba(0,0,0,0.15); display: none; /* Hidden by default */ flex-direction: column; z-index: 1000; } .chat-header { padding: 1.25rem; background-color: var(--primary-color); color: white; display: flex; justify-content: space-between; align-items: center; border-top-left-radius: var(--border-radius); border-top-right-radius: var(--border-radius); } .chat-body { padding: 1.25rem; height: 350px; overflow-y: auto; } .chat-input-container { display: flex; padding: 1.25rem; border-top: 1px solid var(--border-color); } #chat-input { flex-grow: 1; margin-right: 0.75rem; border-radius: var(--border-radius); } .chat-message { padding: 0.75rem 1.25rem; border-radius: 1.25rem; margin-bottom: 0.75rem; max-width: 85%; line-height: 1.5; } .chat-message-user { background-color: var(--primary-color); color: white; align-self: flex-end; margin-left: auto; } .chat-message-ai { background-color: #E5E7EB; color: var(--text-color); align-self: flex-start; } /* Dashboard Specific Styles */ .dashboard-card { margin-bottom: 1.5rem; } .card-title { font-weight: 600; } .pagination { justify-content: center; } .table-responsive { margin-top: 1rem; } .badge { font-size: 0.9em; padding: 0.5em 0.75em; }