/*
 * Employer dashboard (Post a Job / My Jobs / Applications) and the public
 * Jobs search/listing page. Builds on assessment.css/candidate.css's shared
 * shell/button/tag/pill/banner/progress-bar classes rather than redefining
 * them - see candidate.css's own header comment for the same reasoning.
 */

.accounnect-dashboard-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	margin: 1.5em 0;
	border-bottom: 1px solid #e2e4ea;
}

.accounnect-dashboard-tab {
	padding: 0.65em 1em;
	font-weight: 600;
	color: #4b5163;
	text-decoration: none;
	border-bottom: 3px solid transparent;
}

.accounnect-dashboard-tab.active,
.accounnect-dashboard-tab:hover {
	color: #2c3e91;
	border-bottom-color: #2c3e91;
}

.accounnect-post-job-card label {
	display: block;
	margin-bottom: 1em;
	font-weight: 600;
}

.accounnect-post-job-card input[type="text"],
.accounnect-post-job-card input[type="number"],
.accounnect-post-job-card textarea {
	display: block;
	width: 100%;
	margin-top: 0.35em;
	padding: 0.6em 0.75em;
	font-weight: 400;
	border: 1px solid #ccd0d9;
	border-radius: 6px;
	font-size: 1em;
	box-sizing: border-box;
	font-family: inherit;
}

.accounnect-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
}

.accounnect-job-manage-list,
.accounnect-job-card-list {
	display: flex;
	flex-direction: column;
	gap: 1em;
	margin-top: 1em;
}

.accounnect-job-manage-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	background: #fff;
	border: 1px solid #e2e4ea;
	border-radius: 10px;
	padding: 1em 1.25em;
	flex-wrap: wrap;
}

.accounnect-status-open {
	background: #eafaf1;
	color: #1e7d46;
	border-color: #b7ebce;
}

.accounnect-status-closed {
	background: #f4f4f6;
	color: #6b7280;
}

.accounnect-applications-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 0.75em;
}

.accounnect-applications-table th,
.accounnect-applications-table td {
	text-align: left;
	padding: 0.5em 0.75em;
	border-bottom: 1px solid #eceef3;
	font-size: 0.95em;
}

/* Public Jobs page */

.accounnect-jobs-filter-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 1em;
	background: #f7f8fa;
	border: 1px solid #e2e4ea;
	border-radius: 10px;
	padding: 1.25em;
	margin: 1.5em 0;
}

.accounnect-jobs-filter-bar label {
	font-weight: 600;
	font-size: 0.9em;
	display: flex;
	flex-direction: column;
	gap: 0.35em;
}

.accounnect-jobs-filter-bar input,
.accounnect-jobs-filter-bar select {
	padding: 0.55em 0.7em;
	border: 1px solid #ccd0d9;
	border-radius: 6px;
	font-size: 1em;
}

.accounnect-job-card {
	background: #fff;
	border: 1px solid #e2e4ea;
	border-radius: 10px;
	padding: 1.5em;
}

.accounnect-job-card-header {
	display: flex;
	justify-content: space-between;
	align-items: start;
	gap: 1em;
	flex-wrap: wrap;
}

.accounnect-job-card-header h2 {
	margin: 0;
	font-size: 1.2em;
}

.accounnect-job-description {
	margin-top: 0.75em;
}

.accounnect-job-description summary {
	cursor: pointer;
	font-weight: 600;
	color: #2c3e91;
}

.accounnect-job-card-footer {
	margin-top: 1em;
}

.accounnect-jobs-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 1.5em;
}

@media ( max-width: 600px ) {
	.accounnect-form-row {
		grid-template-columns: 1fr;
	}
	.accounnect-job-manage-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---- Jobs table (public/candidate Jobs page, 2026-09-28) ---- */

.accounnect-jobs-table-wrap {
	overflow-x: auto;
	margin-top: 1em;
	border: 1px solid #e2e4ea;
	border-radius: 10px;
	background: #fff;
}

.accounnect-jobs-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: auto;
}

/* One-view tables: columns wrap and use compact padding/type, so all
   columns fit the page width instead of needing a horizontal scrollbar
   (the wrapper's overflow-x stays only as a fallback for very narrow
   screens). */
.accounnect-jobs-table th,
.accounnect-jobs-table td {
	text-align: left;
	padding: 0.6em 0.7em;
	border-bottom: 1px solid #eceef3;
	font-size: 0.88em;
	line-height: 1.4;
	vertical-align: middle;
	white-space: normal;
	overflow-wrap: anywhere;
}

.accounnect-jobs-table th:first-child,
.accounnect-jobs-table td:first-child {
	width: 3.2em;
	text-align: center;
}

.accounnect-jobs-table th {
	background: #f7f8fa;
	font-weight: 700;
	color: #2c3e91;
}

.accounnect-jobs-table tbody tr:last-child td {
	border-bottom: none;
}

.accounnect-jobs-table tbody tr:hover {
	background: #fafbff;
}

.accounnect-btn-small {
	padding: 0.4em 0.9em;
	font-size: 0.85em;
}

/* ---- Talent page (employer view of applicants, 2026-09-28) ---- */

.accounnect-talent-page .accounnect-page-intro {
	max-width: 100%;
	margin-bottom: 1.25em;
}

.accounnect-talent-page .accounnect-page-intro p {
	text-align: justify;
	text-justify: inter-word;
	hyphens: none;
	word-break: normal;
	overflow-wrap: normal;
	color: #3a4356;
}

.accounnect-talent-table td.accounnect-talent-actions {
	min-width: 120px;
	max-width: 170px;
}

.accounnect-talent-action-form {
	display: inline-block;
	margin: 0 0.35em 0.35em 0;
}

.accounnect-talent-action-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6em;
	margin-top: 1.5em;
}

.accounnect-talent-action-row .accounnect-talent-action-form {
	margin: 0;
}

.accounnect-btn.accounnect-action-shortlisted {
	background: #eafaf1;
	color: #1e7d46;
	border: 1px solid #b7ebce;
}

.accounnect-btn.accounnect-action-rejected {
	background: #fdecec;
	color: #b3261e;
	border: 1px solid #f5c2c0;
}

.accounnect-btn.accounnect-action-maybe {
	background: #fff6e0;
	color: #93650a;
	border: 1px solid #f2dfa4;
}

.accounnect-pill.accounnect-status-applied {
	background: #eef2ff;
	color: #2c3e91;
}

.accounnect-pill.accounnect-status-shortlisted {
	background: #eafaf1;
	color: #1e7d46;
}

.accounnect-pill.accounnect-status-rejected {
	background: #fdecec;
	color: #b3261e;
}

.accounnect-pill.accounnect-status-maybe {
	background: #fff6e0;
	color: #93650a;
}

.accounnect-candidate-profile-grid {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 280px, 1fr ) );
	gap: 1.25em;
	margin-top: 1.5em;
}

.accounnect-candidate-profile-card {
	background: #fff;
	border: 1px solid #e2e4ea;
	border-radius: 10px;
	padding: 1.25em 1.5em;
}

.accounnect-candidate-profile-card h3 {
	margin-top: 0;
	color: #2c3e91;
	font-size: 1.05em;
}

.accounnect-candidate-profile-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.accounnect-candidate-profile-list li {
	padding: 0.4em 0;
	border-bottom: 1px solid #f0f1f5;
	font-size: 0.95em;
}

.accounnect-candidate-profile-list li:last-child {
	border-bottom: none;
}

@media ( max-width: 600px ) {
	.accounnect-candidate-profile-grid {
		grid-template-columns: 1fr;
	}
}

/* ==== Jobs + Talent polish (navy / teal / green palette) ==== */

.accounnect-jobs-page h1,
.accounnect-talent-page h1 {
	color: #0b2d52;
	font-size: 1.9rem;
	margin: 0 0 0.3em;
}

.accounnect-talent-page .accounnect-page-intro p {
	color: #3b4f63;
	text-align: left;
	max-width: 820px;
	margin: 0;
}

/* Filter bar: white card, tidy grid */
.accounnect-jobs-filter-bar {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	align-items: end;
	gap: 0.9em 1.1em;
	background: #fff;
	border: 1px solid #dde6ec;
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(11, 45, 82, 0.06);
	padding: 1.1em 1.3em;
	margin: 1.1em 0;
}

.accounnect-jobs-filter-bar label {
	color: #0b2d52;
	font-size: 0.82rem;
}

.accounnect-jobs-filter-bar input,
.accounnect-jobs-filter-bar select {
	border-color: #c3d0d9;
	border-radius: 8px;
	padding: 0.65em 0.8em;
	font-size: 0.95rem;
	background: #fff;
}

.accounnect-jobs-filter-bar input:focus,
.accounnect-jobs-filter-bar select:focus {
	outline: 2px solid #0f9aa5;
	outline-offset: 0;
	border-color: #0f9aa5;
}

.accounnect-jobs-filter-bar .accounnect-btn {
	min-height: 0;
	padding: 0.7em 1.4em;
}

/* Tables */
.accounnect-jobs-table-wrap {
	border-color: #dde6ec;
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(11, 45, 82, 0.06);
	overflow: hidden;
}

.accounnect-jobs-table th {
	background: #0b2d52;
	color: #fff;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-bottom: 0;
}

.accounnect-jobs-table td {
	border-bottom: 1px solid #e8eef2;
	color: #1f3248;
}

.accounnect-jobs-table tbody tr:nth-child(even) {
	background: #f6fafb;
}

.accounnect-jobs-table tbody tr {
	transition: background 0.15s ease;
}

.accounnect-jobs-table tbody tr:hover {
	background: #eaf4f6;
}

.accounnect-jobs-table td a {
	color: #0b7f89;
	font-weight: 600;
	text-decoration: none;
}

.accounnect-jobs-table td a:hover {
	text-decoration: underline;
}

.accounnect-jobs-table .accounnect-btn-primary {
	background: #0f9aa5;
}

.accounnect-jobs-table .accounnect-btn-primary:hover {
	background: #0b7f89;
}

/* Talent summary tiles */
.accounnect-talent-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	gap: 0.8em;
	margin: 1.1em 0;
}

.accounnect-talent-stat {
	background: #fff;
	border: 1px solid #dde6ec;
	border-top: 4px solid #0b2d52;
	border-radius: 12px;
	padding: 0.9em 1em;
	text-align: center;
}

.accounnect-talent-stat strong {
	display: block;
	font-size: 1.8rem;
	line-height: 1.1;
	color: #0b2d52;
}

.accounnect-talent-stat span {
	font-size: 0.8rem;
	color: #5d7285;
	font-weight: 600;
}

.accounnect-talent-stat-new { border-top-color: #0f9aa5; }
.accounnect-talent-stat-short { border-top-color: #6ab04c; }
.accounnect-talent-stat-maybe { border-top-color: #e0a526; }
.accounnect-talent-stat-rej { border-top-color: #d9534f; }

.accounnect-pill.accounnect-status-applied {
	background: #e3f4f5;
	color: #0b7f89;
}

.accounnect-candidate-profile-card h3 {
	color: #0b2d52;
}

.accounnect-job-description summary,
.accounnect-dashboard-tab.active,
.accounnect-dashboard-tab:hover {
	color: #0b7f89;
}

.accounnect-dashboard-tab.active,
.accounnect-dashboard-tab:hover {
	border-bottom-color: #0f9aa5;
}
