38458-vm/assets/css/candidate_management.css
2026-02-15 19:49:48 +00:00

252 lines
4.2 KiB
CSS

.header-icon-container {
background: #eef2ff;
padding: 12px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
}
/* Candidate Stats Grid */
.candidate-stats-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 24px;
}
.candidate-stat-card {
background: #ffffff;
border: 1px solid #f3f4f6;
border-radius: 12px;
padding: 24px;
}
.candidate-stat-label {
font-size: 0.7rem;
font-weight: 700;
color: #64748b;
margin-bottom: 16px;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.candidate-stat-value {
font-size: 2.5rem;
font-weight: 800;
color: #2563eb;
}
/* Distribution Grid */
.distribution-row {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 24px;
}
.distribution-card {
background: #ffffff;
border: 1px solid #f3f4f6;
border-radius: 12px;
padding: 24px;
}
.distribution-header {
font-size: 0.875rem;
font-weight: 700;
color: #2563eb;
margin-bottom: 20px;
padding-bottom: 12px;
border-bottom: 1px solid #f3f4f6;
}
.distribution-list {
display: flex;
flex-direction: column;
gap: 12px;
}
.distribution-item {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.875rem;
color: #4b5563;
}
.distribution-count {
font-weight: 700;
color: #1e293b;
}
/* Filter Bar */
.filter-bar {
padding: 24px;
display: flex;
gap: 16px;
align-items: flex-end;
background: #ffffff;
border-bottom: 1px solid #f3f4f6;
}
.filter-group {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1;
}
.filter-group label {
font-size: 0.7rem;
font-weight: 700;
color: #64748b;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.search-input-wrapper {
position: relative;
display: flex;
align-items: center;
}
.search-input-wrapper i {
position: absolute;
left: 12px;
}
.search-input-wrapper input {
width: 100%;
padding: 10px 12px 10px 36px;
border: 1px solid #e2e8f0;
border-radius: 8px;
font-size: 0.875rem;
outline: none;
background: #f8fafc;
}
.filter-group select {
padding: 10px 12px;
border: 1px solid #e2e8f0;
border-radius: 8px;
font-size: 0.875rem;
outline: none;
background: #ffffff;
color: #4b5563;
}
/* Candidates Table */
.candidates-table {
width: 100%;
border-collapse: collapse;
}
.candidates-table th {
padding: 12px 24px;
text-align: left;
font-size: 0.7rem;
font-weight: 700;
color: #64748b;
background: #f9fafb;
border-bottom: 1px solid #f3f4f6;
text-transform: uppercase;
}
.candidates-table td {
padding: 16px 24px;
border-bottom: 1px solid #f3f4f6;
font-size: 0.875rem;
color: #1e293b;
}
.candidate-info {
display: flex;
align-items: center;
gap: 12px;
}
.candidate-avatar {
width: 32px;
height: 32px;
background: #eef2ff;
color: #4f46e5;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 700;
font-size: 0.75rem;
}
.candidate-details {
display: flex;
flex-direction: column;
}
.candidate-name {
font-weight: 600;
color: #1e293b;
}
.candidate-sub {
font-size: 0.75rem;
color: #64748b;
}
.position-badge {
background: #eef2ff;
color: #4f46e5;
padding: 4px 12px;
border-radius: 6px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
}
.actions-cell {
display: flex;
gap: 12px;
}
.actions-cell button {
background: none;
border: none;
padding: 4px;
cursor: pointer;
color: #94a3b8;
transition: color 0.2s;
}
.actions-cell button:hover {
color: #4f46e5;
}
.actions-cell button i {
width: 16px;
height: 16px;
}
.status-badge {
padding: 4px 12px;
border-radius: 9999px;
font-size: 0.75rem;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 6px;
}
.status-ongoing {
background: #dcfce7;
color: #166534;
}
.status-ongoing::before {
content: '';
width: 6px;
height: 6px;
background: #16a34a;
border-radius: 50%;
}