* { box-sizing: border-box; }
body { font-family: Arial, sans-serif; margin:0; color:#222; background:#f7f7f7; }
.wrap { max-width:1800px; margin:0 auto; padding:0 15px; }
.site-header { background:#004a7c; color:#fff; padding:12px 0; }
.site-header h1 { margin:0; display:inline-block; font-size:20px; }
.site-header a { color: #fff; text-decoration:none; }
.site-header nav { float:right; }
.site-header nav a { color:#fff; margin-left:15px; }
.container { max-width:1800px; margin:20px auto; padding:0 15px; }
.card { background: #fff; padding:15px; border-radius:6px; box-shadow:0 1px 3px rgba(0,0,0,0.05); }
form label { display:block; margin-bottom:10px; }
input[type="text"], input[type="email"], input[type="password"], input[type="date"], input[type="number"], select { width:100%; padding:8px; border:1px solid #ddd; border-radius:4px; }
button, .btn { background:#0077cc; color:#fff; padding:8px 12px; border:none; border-radius:4px; text-decoration:none; display:inline-block; }
.errors { background:#ffe6e6; padding:10px; border:1px solid #ffb3b3; margin-bottom:12px; }
.notice { background:#e6f7ff; padding:8px; border:1px solid #b3e0ff; }
.profile-table { width:100%; border-collapse:collapse; }
.profile-table th { text-align:left; width:220px; padding:8px; background:#f1f1f1; }
.profile-table td { padding:8px; }
.site-footer { text-align:center; padding:12px 0; margin-top:30px; color:#666; }

/* small helpers */
.muted { color:#666; }
a { color:#0077cc; }
table { background:#fff; border-collapse:collapse; width:100%; }
th, td { padding:8px; border:1px solid #eee; }

/* responsive tables: allow horizontal scroll on small screens and wrap long text */
.table-responsive { width:100%; overflow-x:auto; }
.table-responsive table { width:100%; }
.table-responsive th, .table-responsive td { word-break:break-word; white-space:normal; }

/* prevent very long cells from pushing layout: use fixed table layout and truncate specific columns */
.table-responsive table { table-layout: fixed; }
.table-responsive th, .table-responsive td { overflow: hidden; text-overflow: ellipsis; }
.table-responsive th:nth-child(2), .table-responsive td:nth-child(2) { /* Name */
	max-width: 160px;
}
.table-responsive th:nth-child(3), .table-responsive td:nth-child(3) { /* Skills */
	max-width: 260px; /* Skills or Email depending on table */
}
.table-responsive th:nth-child(7), .table-responsive td:nth-child(7),
.table-responsive th:nth-child(8), .table-responsive td:nth-child(8) { /* CV / Actions */
	white-space: nowrap; /* CV / Actions */
}
/* allow actions cell in shortlist to show fully: use .shortlist-table .actions to override truncation */
.table-responsive .shortlist-table td.actions { white-space: normal; overflow: visible; text-overflow: clip; }

/* increase row height for shortlist table so actions are fully visible */
.table-responsive .shortlist-table th,
.table-responsive .shortlist-table td {
	padding: 14px 10px; /* larger vertical padding */
	line-height: 1.4;
}

/* ensure CV/Shortlist action cells in candidate list stay on one line */
.table-responsive .candidates-table th:nth-child(8), .table-responsive .candidates-table td:nth-child(8),
.table-responsive .candidates-table th:nth-child(9), .table-responsive .candidates-table td:nth-child(9) {
	white-space: nowrap;
}
