* { box-sizing: border-box; }
body { margin: 0; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: #f8f9fa; color: #333; }

.details-header { display: flex; align-items: center; gap: 16px; padding: 16px 24px; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.details-header h1 { font-size: 18px; color: #2c3e50; margin: 0; }
.back-link { color: #4CAF50; text-decoration: none; font-weight: 600; }

.details-container { display: grid; grid-template-columns: 380px 1fr; gap: 20px; padding: 24px; max-width: 1200px; margin: 0 auto; }

.card { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); overflow: hidden; }
.card-header { padding: 14px 18px; border-bottom: 1px solid #eee; }
.card-header h2 { margin: 0; font-size: 16px; color: #2c3e50; }

.applicant-card .applicant-info { display: flex; gap: 14px; padding: 16px 18px; align-items: center; }
.avatar { width: 80px; height: 80px; border-radius: 10px; }
.quick-actions { display: flex; gap: 10px; padding: 0 18px 18px; }
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 8px; border: 1px solid #e0e0e0; color: #555; text-decoration: none; font-weight: 600; }
.btn.primary { background: #e8f5e9; color: #2e7d32; border-color: #c8e6c9; }
.btn.danger { background: #ffebee; color: #c62828; border-color: #ffcdd2; }

.materials-card .materials { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 16px 18px; }
.material-item { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; border: 1px solid #eee; border-radius: 8px; text-decoration: none; color: #333; }
.material-item:hover { background: #f8f9fa; }

.right-col { display: grid; gap: 20px; }
.job-info { padding: 16px 18px; }
.job-info .meta { display: flex; flex-wrap: wrap; gap: 10px 16px; color: #666; margin: 8px 0 12px; }
.job-info .description { color: #555; line-height: 1.6; }

.requirements-card .requirements-list { padding: 16px 18px; display: grid; gap: 18px; }
.req-group h4 { margin: 0 0 8px; color: #2c3e50; font-size: 14px; }
.badges { display: flex; flex-wrap: wrap; gap: 8px; }
.badge { background: #eef2ff; color: #3f51b5; padding: 6px 10px; border-radius: 14px; font-weight: 600; font-size: 12px; }
.list { margin: 0; padding-left: 18px; color: #555; }

.timeline-card .timeline { list-style: none; margin: 0; padding: 12px 18px; display: grid; gap: 10px; }
.timeline li { color: #555; }
.timeline li span { color: #666; font-weight: 600; margin-right: 8px; }

@media (max-width: 900px) {
  .details-container { grid-template-columns: 1fr; }
} 