/**
 * WPJobify — Dashboard Styles
 * Covers: candidate dashboard, employer dashboard, ATS pipeline,
 * application cards, profile completeness bar, messaging UI.
 *
 * Extends wpjobify-frontend.css — load after it.
 */

/* ── Token bridge — map legacy --wpjobify-* aliases to --wpjf-* design system ── */
:root {
	--wpjobify-primary:        var(--wpjf-blue);
	--wpjobify-primary-light:  var(--wpjf-blue-dim);
	--wpjobify-gray-50:        var(--wpjf-50);
	--wpjobify-gray-100:       var(--wpjf-100);
	--wpjobify-gray-200:       var(--wpjf-200);
	--wpjobify-gray-300:       var(--wpjf-300);
	--wpjobify-gray-400:       var(--wpjf-400);
	--wpjobify-gray-500:       var(--wpjf-500);
	--wpjobify-gray-600:       var(--wpjf-600);
	--wpjobify-gray-700:       var(--wpjf-700);
	--wpjobify-gray-800:       var(--wpjf-800);
	--wpjobify-gray-900:       var(--wpjf-900);
	--wpjobify-success:        var(--wpjf-green);
	--wpjobify-success-light:  var(--wpjf-green-dim);
	--wpjobify-warning:        var(--wpjf-amber);
	--wpjobify-warning-light:  var(--wpjf-amber-dim);
	--wpjobify-danger:         var(--wpjf-red);
	--wpjobify-urgent-light:   var(--wpjf-red-dim);
	--wpjobify-featured:       var(--wpjf-purple);
	--wpjobify-featured-light: var(--wpjf-purple-dim);
	--wpjobify-radius:         var(--wpjf-r-md);
	--wpjobify-radius-sm:      var(--wpjf-r-sm);
	--wpjobify-radius-lg:      var(--wpjf-r-lg);
	--wpjobify-transition:     var(--wpjf-t);
	--wpjobify-shadow-sm:      var(--wpjf-shadow-xs);
	--wpjobify-shadow:         var(--wpjf-shadow-sm);
	--wpjobify-shadow-hover:   var(--wpjf-shadow-md);

}

/* ── Dashboard Layout ───────────────────────────────────────────────────────── */
.wpjobify-dashboard {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 24px;
	align-items: start;
}

.wpjobify-dashboard__sidebar {
	background: #fff;
	border: 1px solid var(--wpjobify-gray-200);
	border-radius: var(--wpjobify-radius-lg);
	overflow: hidden;
	position: sticky;
	top: 24px;
	box-shadow: var(--wpjf-shadow-sm);
}

.wpjobify-dashboard__nav-header {
	padding: 20px;
	border-bottom: 1px solid var(--wpjobify-gray-100);
}

.wpjobify-dashboard__user {
	display: flex;
	align-items: center;
	gap: 12px;
}

.wpjobify-dashboard__avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--wpjobify-primary-light);
	color: var(--wpjobify-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	flex-shrink: 0;
	overflow: hidden;
}

.wpjobify-dashboard__avatar img { width: 100%; height: 100%; object-fit: cover; }
.wpjobify-dashboard__user-name { font-size: 14px; font-weight: 700; color: var(--wpjobify-gray-900); }
.wpjobify-dashboard__user-role { font-size: 12px; color: var(--wpjobify-gray-400); }

/* Profile completeness */
.wpjobify-completeness {
	padding: 16px 20px;
	border-bottom: 1px solid var(--wpjobify-gray-100);
}

.wpjobify-completeness__label {
	display: flex;
	justify-content: space-between;
	font-size: 12px;
	font-weight: 500;
	color: var(--wpjobify-gray-600);
	margin-bottom: 6px;
}

.wpjobify-completeness__bar {
	height: 6px;
	background: var(--wpjobify-gray-200);
	border-radius: 99px;
	overflow: hidden;
}

.wpjobify-completeness__fill {
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--wpjf-blue) 0%, var(--wpjf-blue-mid) 100%);
	transition: width 700ms var(--wpjf-ease-out);
}

.wpjobify-completeness__fill--low    { background: linear-gradient(90deg, var(--wpjf-red-dark) 0%, var(--wpjf-red) 100%); }
.wpjobify-completeness__fill--medium { background: linear-gradient(90deg, #b45309 0%, var(--wpjf-amber) 100%); }
.wpjobify-completeness__fill--high   { background: linear-gradient(90deg, var(--wpjf-green-dark) 0%, var(--wpjf-green) 100%); }

/* Dashboard nav */
.wpjobify-dashboard__nav { padding: 8px 0; }

.wpjobify-dashboard__nav-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 18px;
	font-size: 13px;
	font-weight: 500;
	color: var(--wpjobify-gray-600);
	text-decoration: none;
	transition:
		background var(--wpjf-t) var(--wpjf-ease),
		color var(--wpjf-t) var(--wpjf-ease);
	border-left: 2px solid transparent;
}

.wpjobify-dashboard__nav-item:hover {
	background: var(--wpjobify-gray-50);
	color: var(--wpjf-900);
	text-decoration: none;
}

.wpjobify-dashboard__nav-item--active {
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	border-left-color: var(--wpjf-blue);
	font-weight: 600;
}

.wpjobify-dashboard__nav-item .dashicons { font-size: 18px; width: 18px; flex-shrink: 0; }

.wpjobify-dashboard__nav-count {
	margin-left: auto;
	background: var(--wpjobify-gray-200);
	border-radius: 99px;
	font-size: 11px;
	padding: 1px 7px;
	font-weight: 600;
}

.wpjobify-dashboard__nav-item--active .wpjobify-dashboard__nav-count {
	background: var(--wpjobify-primary);
	color: #fff;
}

/* Dashboard main */
.wpjobify-dashboard__main { min-width: 0; }

.wpjobify-dashboard__section-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--wpjf-900);
	margin: 0 0 4px;
	letter-spacing: -.02em;
}

.wpjobify-dashboard__section-desc {
	font-size: 13px;
	color: var(--wpjf-500);
	margin: 0 0 20px;
	line-height: 1.5;
}

/* ── Stat Cards ─────────────────────────────────────────────────────────────── */
.wpjobify-stats-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: 10px;
	margin-bottom: 20px;
}

.wpjobify-mini-stat {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-md);
	padding: 18px 16px;
	text-align: center;
	box-shadow: var(--wpjf-shadow-xs);
	transition:
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		transform var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-mini-stat:hover {
	box-shadow: var(--wpjf-shadow-sm);
	transform: translateY(-1px);
}

.wpjobify-mini-stat__value {
	font-size: 30px;
	font-weight: 800;
	color: var(--wpjf-900);
	line-height: 1;
	margin-bottom: 5px;
	letter-spacing: -.03em;
}

.wpjobify-mini-stat__label {
	font-size: 11px;
	font-weight: 500;
	color: var(--wpjf-500);
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ── Application Cards ──────────────────────────────────────────────────────── */
.wpjobify-application-card {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-md);
	padding: 16px 18px;
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 8px;
	box-shadow: var(--wpjf-shadow-xs);
	transition:
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		border-color var(--wpjf-t) var(--wpjf-ease),
		transform var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-application-card:hover {
	box-shadow: var(--wpjf-shadow-sm);
	border-color: var(--wpjf-300);
	transform: translateY(-1px);
}

.wpjobify-application-card__logo {
	width: 44px;
	height: 44px;
	border-radius: var(--wpjobify-radius-sm);
	border: 1px solid var(--wpjobify-gray-100);
	overflow: hidden;
	flex-shrink: 0;
	background: var(--wpjobify-gray-50);
}

.wpjobify-application-card__body { flex: 1; min-width: 0; }
.wpjobify-application-card__job-title { font-size: 14px; font-weight: 700; color: var(--wpjobify-gray-900); margin: 0 0 2px; }
.wpjobify-application-card__company { font-size: 12px; color: var(--wpjobify-gray-500); margin: 0 0 8px; }

/* Status badge */
.wpjobify-status-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 99px;
	font-size: 11px;
	font-weight: 600;
	text-transform: capitalize;
}

.wpjobify-status-badge--new         { background: var(--wpjobify-primary-light);   color: var(--wpjobify-primary);   }
.wpjobify-status-badge--reviewed    { background: var(--wpjobify-gray-100);         color: var(--wpjobify-gray-600);  }
.wpjobify-status-badge--contacted   { background: var(--wpjobify-featured-light);   color: var(--wpjobify-featured);  }
.wpjobify-status-badge--interview   { background: var(--wpjobify-warning-light);    color: var(--wpjobify-warning);   }
.wpjobify-status-badge--assessment  { background: var(--wpjf-amber-dim);            color: #92400e;                   }
.wpjobify-status-badge--shortlisted { background: var(--wpjobify-featured-light);   color: var(--wpjobify-featured);  }
.wpjobify-status-badge--hired       { background: var(--wpjobify-success-light);    color: var(--wpjobify-success);   }
.wpjobify-status-badge--rejected    { background: var(--wpjobify-urgent-light);     color: var(--wpjobify-danger);    }

/* ── ATS Kanban Pipeline ────────────────────────────────────────────────────── */
.wpjobify-ats-board {
	display: flex;
	gap: 14px;
	overflow-x: auto;
	padding-bottom: 12px;
}

.wpjobify-ats-column {
	min-width: 230px;
	background: var(--wpjf-50);
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-md);
	overflow: hidden;
	flex-shrink: 0;
}

.wpjobify-ats-column__header {
	padding: 11px 14px;
	background: #fff;
	border-bottom: 1px solid var(--wpjf-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.wpjobify-ats-column__title {
	font-size: 12px; font-weight: 700; color: var(--wpjf-700);
	text-transform: uppercase; letter-spacing: .05em;
}
.wpjobify-ats-column__count {
	background: var(--wpjf-100);
	border: 1px solid var(--wpjf-200);
	border-radius: 99px;
	font-size: 11px;
	padding: 1px 7px;
	font-weight: 600;
	color: var(--wpjf-500);
}

.wpjobify-ats-column__body { padding: 10px; min-height: 200px; display: flex; flex-direction: column; gap: 8px; }

.wpjobify-ats-card {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-sm);
	padding: 11px 12px;
	cursor: grab;
	box-shadow: var(--wpjf-shadow-xs);
	transition:
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		transform var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-ats-card:hover {
	box-shadow: var(--wpjf-shadow-sm);
	transform: translateY(-1px);
}

.wpjobify-ats-card--dragging {
	opacity: .65;
	box-shadow: var(--wpjf-shadow-lg);
	transform: rotate(1.5deg) scale(1.02);
	cursor: grabbing;
}

.wpjobify-ats-card__name {
	font-size: 13px; font-weight: 600; color: var(--wpjf-800);
	margin-bottom: 3px; letter-spacing: -.01em;
}
.wpjobify-ats-card__job  { font-size: 11px; color: var(--wpjf-400); }

/* Rating stars */
.wpjobify-rating {
	display: flex;
	gap: 2px;
	margin-top: 6px;
}

.wpjobify-rating__star {
	font-size: 14px;
	color: var(--wpjobify-gray-200);
	cursor: pointer;
	transition: color var(--wpjobify-transition);
}

.wpjobify-rating__star--active { color: var(--wpjobify-warning); }

/* ── Responsive Dashboard ───────────────────────────────────────────────────── */
@media (max-width: 860px) {
	.wpjobify-dashboard {
		grid-template-columns: 1fr;
	}

	.wpjobify-dashboard__sidebar {
		position: static;
	}

	.wpjobify-dashboard__nav {
		display: flex;
		overflow-x: auto;
		border-bottom: 1px solid var(--wpjobify-gray-100);
	}

	.wpjobify-dashboard__nav-item { white-space: nowrap; padding: 10px 14px; }
}

/* ── Phase 3: Candidate Dashboard Components ────────────────────────────────── */

/* Auth prompt (shown to logged-out visitors) */
.wpjobify-auth-prompt {
	text-align: center;
	padding: 72px 24px;
	max-width: 420px;
	margin: 0 auto;
}
.wpjobify-auth-prompt__icon {
	width: 72px; height: 72px; border-radius: 50%;
	background: var(--wpjf-blue-dim); color: var(--wpjf-blue);
	border: 1px solid var(--wpjf-blue-border);
	display: flex; align-items: center; justify-content: center; margin: 0 auto 22px;
	box-shadow: 0 0 0 8px rgba(239,246,255,.6);
}
.wpjobify-auth-prompt__title {
	font-size: 22px; font-weight: 700; color: var(--wpjf-900); margin: 0 0 10px;
	letter-spacing: -.03em;
}
.wpjobify-auth-prompt__text  {
	font-size: 14px; color: var(--wpjf-500); margin: 0 0 28px; line-height: 1.65;
}

/* Dashboard nav footer */
.wpjobify-dashboard__nav-footer { padding: 8px 0; border-top: 1px solid var(--wpjf-100); }
.wpjobify-dashboard__nav-item--logout { color: var(--wpjf-500); }
.wpjobify-dashboard__nav-item--logout:hover { color: var(--wpjf-red); background: var(--wpjf-red-dim); }

/* Replace dashicons in nav with SVG-compatible sizing */
.wpjobify-dashboard__nav-item svg { flex-shrink: 0; }

/* Section header */
.wpjobify-dash-section-header { margin-bottom: 22px; }

/* Flash notice */
.wpjobify-dash-notice {
	padding: 12px 16px; border-radius: var(--wpjf-r-md); font-size: 13px;
	font-weight: 500; margin-bottom: 14px;
	display: flex; align-items: center; gap: 10px;
}
.wpjobify-dash-notice--success {
	background: var(--wpjf-green-dim); color: var(--wpjf-green-dark);
	border: 1px solid var(--wpjf-green-border);
}
.wpjobify-dash-notice--error {
	background: var(--wpjf-red-dim); color: var(--wpjf-red-dark);
	border: 1px solid rgba(220,38,38,.15);
}

/* Generic dashboard card */
.wpjobify-dash-card {
	background: var(--wpjf-card);
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-lg);
	padding: 22px 24px;
	margin-bottom: 14px;
	box-shadow: var(--wpjf-shadow-xs);
}
.wpjobify-dash-card__header {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 16px;
}
.wpjobify-dash-card__title { font-size: 15px; font-weight: 700; color: var(--wpjf-900); margin: 0; }
.wpjobify-dash-card__badge {
	font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 99px;
	background: var(--wpjf-blue-dim); color: var(--wpjf-blue);
}
.wpjobify-dash-card__link { font-size: 13px; color: var(--wpjf-blue); text-decoration: none; }
.wpjobify-dash-card__link:hover { text-decoration: underline; }
.wpjobify-dash-empty { color: var(--wpjf-500); font-size: 13px; margin: 0; }
.wpjobify-dash-empty a { color: var(--wpjf-blue); }

/* Overview grid */
.wpjobify-overview-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

/* Profile completeness checklist */
.wpjobify-checklist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.wpjobify-checklist__item {
	display: flex; align-items: center; gap: 10px; font-size: 13px; color: var(--wpjf-700);
}
.wpjobify-checklist__item--done { color: var(--wpjf-500); text-decoration: line-through; }
.wpjobify-checklist__icon {
	width: 22px; height: 22px; border-radius: 50%; flex-shrink: 0;
	display: flex; align-items: center; justify-content: center;
	background: var(--wpjf-100); color: var(--wpjf-400);
}
.wpjobify-checklist__item--done .wpjobify-checklist__icon { background: var(--wpjf-green-dim); color: var(--wpjf-green); }
.wpjobify-checklist__item a { color: var(--wpjf-blue); font-weight: 500; }

/* Saved job mini-row (overview tab) */
.wpjobify-saved-mini {
	display: flex; align-items: center; gap: 12px;
	padding: 10px 0; border-bottom: 1px solid var(--wpjf-100);
}
.wpjobify-saved-mini:last-child { border-bottom: none; }
.wpjobify-saved-mini__logo {
	width: 36px; height: 36px; border-radius: var(--wpjf-r-sm); flex-shrink: 0;
	background: var(--wpjf-blue-dim); color: var(--wpjf-blue);
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 700;
}
.wpjobify-saved-mini__body { flex: 1; min-width: 0; }
.wpjobify-saved-mini__title {
	display: block; font-size: 13px; font-weight: 600; color: var(--wpjf-900);
	text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.wpjobify-saved-mini__title:hover { color: var(--wpjf-blue); }
.wpjobify-saved-mini__meta { font-size: 12px; color: var(--wpjf-500); margin-top: 1px; }
.wpjobify-save-btn--sm { width: 28px; height: 28px; padding: 0; }

/* ── Toggle switch (shared: admin + frontend dashboard) ─────────────────────── */
/*
 * The admin toggle CSS lives in wpjobify-admin.css. We duplicate the rules
 * here so the frontend candidate dashboard's profile form also gets the
 * styled toggle instead of a plain browser checkbox.
 */
.wpjobify-toggle {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.wpjobify-toggle__track {
	position: relative;
	display: inline-block;
	width: 36px;
	height: 20px;
	background: var(--wpjf-300);
	border-radius: 99px;
	flex-shrink: 0;
	transition: background var(--wpjf-t);
	cursor: pointer;
}

.wpjobify-toggle__track::after {
	content: '';
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #fff;
	box-shadow: var(--wpjf-shadow-sm);
	transition: transform var(--wpjf-t);
}

.wpjobify-toggle:checked + .wpjobify-toggle__track {
	background: var(--wpjf-blue);
}

.wpjobify-toggle:checked + .wpjobify-toggle__track::after {
	transform: translateX(16px);
}

.wpjobify-toggle:focus-visible + .wpjobify-toggle__track {
	outline: 2px solid var(--wpjf-blue);
	outline-offset: 2px;
}

/* ── Profile form ───────────────────────────────────────────────────────────── */
.wpjobify-profile-form { display: flex; flex-direction: column; gap: 0; }

.wpjobify-profile-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 20px;
}
.wpjobify-profile-field { display: flex; flex-direction: column; gap: 5px; }
.wpjobify-profile-field--full { grid-column: 1 / -1; }
.wpjobify-profile-field--toggle-row {
	flex-direction: row; align-items: flex-start; justify-content: space-between;
}
.wpjobify-profile-label { font-size: 12px; font-weight: 600; color: var(--wpjf-700); }
.wpjobify-profile-hint  { font-size: 12px; color: var(--wpjf-400); margin: 0; }
.wpjobify-profile-toggle-wrap { flex-shrink: 0; margin-top: 2px; }
.wpjobify-profile-current-check { font-size: 12px; color: var(--wpjf-500); margin-top: 4px; display: flex; align-items: center; gap: 6px; }

.wpjobify-profile-input,
.wpjobify-profile-select,
.wpjobify-profile-textarea {
	width: 100%; padding: 9px 12px;
	border: 1px solid var(--wpjf-border); border-radius: var(--wpjf-r-sm);
	font-size: 13px; font-family: var(--wpjf-font); color: var(--wpjf-900);
	background: var(--wpjf-card);
	box-shadow: var(--wpjf-shadow-xs);
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		background var(--wpjf-t) var(--wpjf-ease);
}
.wpjobify-profile-input:focus,
.wpjobify-profile-select:focus,
.wpjobify-profile-textarea:focus {
	outline: none; border-color: var(--wpjf-blue);
	box-shadow: 0 0 0 3px rgba(37,99,235,.14);
	background: #fff;
}
.wpjobify-profile-input::placeholder,
.wpjobify-profile-textarea::placeholder { color: var(--wpjf-400); }
.wpjobify-profile-textarea { resize: vertical; min-height: 80px; }

.wpjobify-profile-footer { padding-top: 4px; }

/* ── Skill tags ─────────────────────────────────────────────────────────────── */
.wpjobify-skill-tags {
	display: flex; flex-wrap: wrap; align-items: center; gap: 6px;
	min-height: 44px; padding: 8px 10px;
	border: 1px solid var(--wpjf-border); border-radius: var(--wpjf-r-sm);
	background: var(--wpjf-card); cursor: text;
	transition: border-color var(--wpjf-t), box-shadow var(--wpjf-t);
}
.wpjobify-skill-tags:focus-within {
	border-color: var(--wpjf-blue); box-shadow: 0 0 0 3px rgba(37,99,235,.12);
}
.wpjobify-skill-tag {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 8px 3px 10px;
	background: var(--wpjf-blue-dim); border: 1px solid var(--wpjf-blue-border);
	border-radius: 99px; font-size: 12px; font-weight: 500; color: var(--wpjf-blue-dark);
}
.wpjobify-skill-tag__remove {
	display: inline-flex; align-items: center; justify-content: center;
	width: 14px; height: 14px; padding: 0;
	border: none; background: none; color: var(--wpjf-blue); cursor: pointer; border-radius: 50%;
}
.wpjobify-skill-tag__remove:hover { background: var(--wpjf-blue); color: #fff; }
.wpjobify-skill-input {
	border: none; outline: none; background: transparent;
	font-size: 13px; font-family: var(--wpjf-font); min-width: 140px; flex: 1;
	color: var(--wpjf-900);
}

/* ── Repeater rows ──────────────────────────────────────────────────────────── */
.wpjobify-repeater-row { margin-bottom: 12px; }
.wpjobify-repeater-inner {
	position: relative; padding: 16px;
	background: var(--wpjf-50); border: 1px solid var(--wpjf-200);
	border-radius: var(--wpjf-r-md);
}
.wpjobify-repeater-remove {
	position: absolute; top: 12px; right: 12px;
	width: 26px; height: 26px; border-radius: 50%; padding: 0;
	border: 1px solid var(--wpjf-200); background: var(--wpjf-card);
	color: var(--wpjf-500); cursor: pointer; display: flex; align-items: center; justify-content: center;
}
.wpjobify-repeater-remove:hover { border-color: var(--wpjf-red); color: var(--wpjf-red); background: var(--wpjf-red-dim); }

/* ── Resume upload ──────────────────────────────────────────────────────────── */
.wpjobify-resume-current {
	display: flex; align-items: center; gap: 8px;
	padding: 10px 14px; margin-bottom: 12px;
	background: var(--wpjf-green-dim); border: 1px solid #bbf7d0;
	border-radius: var(--wpjf-r-sm); font-size: 13px; color: #15803d;
}
.wpjobify-resume-current a { color: #15803d; font-weight: 600; }
.wpjobify-resume-upload { position: relative; }
.wpjobify-resume-input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; cursor: pointer; z-index: 2; }
.wpjobify-resume-label {
	display: flex; flex-direction: column; align-items: center; gap: 8px;
	padding: 32px 20px; border: 1.5px dashed var(--wpjf-300);
	border-radius: var(--wpjf-r-lg); cursor: pointer; text-align: center;
	color: var(--wpjf-500);
	background: var(--wpjf-50);
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		background var(--wpjf-t) var(--wpjf-ease),
		color var(--wpjf-t) var(--wpjf-ease);
}
.wpjobify-resume-label:hover,
.wpjobify-resume-upload--over .wpjobify-resume-label {
	border-color: var(--wpjf-blue);
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
}
.wpjobify-resume-label__text { font-size: 14px; font-weight: 500; }
.wpjobify-resume-label__hint { font-size: 12px; }
.wpjobify-resume-progress { margin-top: 10px; height: 4px; background: var(--wpjf-200); border-radius: 99px; overflow: hidden; }
.wpjobify-resume-progress__bar { height: 100%; background: var(--wpjf-blue); border-radius: 99px; width: 0; transition: width 200ms; }

/* ── Job alerts ─────────────────────────────────────────────────────────────── */
.wpjobify-alert-form .wpjobify-profile-fields { grid-template-columns: 1fr 1fr; }
.wpjobify-alert-row {
	display: flex; align-items: center; gap: 14px;
	padding: 13px 0; border-bottom: 1px solid var(--wpjf-100);
	transition: opacity var(--wpjf-t) var(--wpjf-ease);
}
.wpjobify-alert-row:last-child { border-bottom: none; }
.wpjobify-alert-row--paused { opacity: .5; }
.wpjobify-alert-row__icon {
	width: 38px; height: 38px; flex-shrink: 0; border-radius: 50%;
	background: var(--wpjf-blue-dim); color: var(--wpjf-blue);
	border: 1px solid var(--wpjf-blue-border);
	display: flex; align-items: center; justify-content: center;
}
.wpjobify-alert-row__body { flex: 1; min-width: 0; }
.wpjobify-alert-row__criteria {
	font-size: 13px; font-weight: 600; color: var(--wpjf-900); margin-bottom: 3px;
	letter-spacing: -.01em;
}
.wpjobify-alert-row__meta { display: flex; align-items: center; gap: 10px; font-size: 12px; color: var(--wpjf-500); }
.wpjobify-alert-freq {
	font-weight: 600;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--wpjf-400);
}
.wpjobify-alert-paused-badge {
	padding: 2px 8px; border-radius: 99px; font-size: 10px; font-weight: 700;
	text-transform: uppercase; letter-spacing: .05em;
	background: var(--wpjf-amber-dim); color: var(--wpjf-amber);
}
.wpjobify-alert-row__actions { display: flex; align-items: center; gap: 6px; }

/* ── Responsive ─────────────────────────────────────────────────────────────── */
@media (max-width: 860px) {
	.wpjobify-overview-grid { grid-template-columns: 1fr; }
	.wpjobify-profile-fields,
	.wpjobify-alert-form .wpjobify-profile-fields { grid-template-columns: 1fr; }
	.wpjobify-profile-field--full { grid-column: 1; }
}

/* Force 3 equal-width stat columns on narrow screens to prevent a lone card
   dropping to its own row when auto-fit can't fit 3 × 140px. */
@media (max-width: 480px) {
	.wpjobify-stats-row {
		grid-template-columns: repeat(3, 1fr);
	}
	/* Tighten padding and reduce font-size so values don't clip at 375px */
	.wpjobify-mini-stat {
		padding: 12px 8px;
	}
	.wpjobify-mini-stat__value {
		font-size: 22px;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   REDESIGN 2026 — Premium SaaS Candidate Dashboard
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Sidebar: Profile section with SVG completion ring ─────────────────── */
.wpjobify-sidebar-profile {
	padding: 22px 20px 18px;
	border-bottom: 1px solid var(--wpjf-100);
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
}

.wpjobify-sidebar-avatar-wrap {
	position: relative;
	width: 68px;
	height: 68px;
	flex-shrink: 0;
}

.wpjobify-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.wpjobify-ring__bg {
	fill: none;
	stroke: var(--wpjf-200);
	stroke-width: 3;
}

.wpjobify-ring__arc {
	fill: none;
	stroke-width: 3;
	stroke-linecap: round;
	transform-origin: 50% 50%;
	transform: rotate(-90deg);
	transition: stroke-dashoffset 900ms var(--wpjf-ease-out), stroke 400ms;
}

.wpjobify-ring__arc--low    { stroke: var(--wpjf-red); }
.wpjobify-ring__arc--medium { stroke: var(--wpjf-amber); }
.wpjobify-ring__arc--high   { stroke: var(--wpjf-green); }

.wpjobify-sidebar-avatar {
	position: absolute;
	inset: 8px;
	border-radius: 50%;
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -.02em;
	overflow: hidden;
}

.wpjobify-sidebar-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.wpjobify-sidebar-info { width: 100%; }

.wpjobify-sidebar-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--wpjf-900);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	letter-spacing: -.01em;
}

.wpjobify-sidebar-headline {
	font-size: 11px;
	color: var(--wpjf-500);
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.4;
}

.wpjobify-sidebar-score {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-400);
	letter-spacing: .02em;
}

/* Recruiter visibility badge */
.wpjobify-visibility-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 9px;
	border-radius: 99px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .03em;
	text-transform: uppercase;
	margin-top: 4px;
}

.wpjobify-visibility-badge--visible {
	background: var(--wpjf-green-dim);
	color: var(--wpjf-green-dark);
	border: 1px solid var(--wpjf-green-border);
}

.wpjobify-visibility-badge--hidden {
	background: var(--wpjf-100);
	color: var(--wpjf-500);
	border: 1px solid var(--wpjf-200);
}

/* Motivational onboarding prompt */
.wpjobify-sidebar-prompt {
	margin: 0 12px 4px;
	padding: 12px 14px;
	background: linear-gradient(135deg, rgba(239,246,255,.9) 0%, rgba(238,242,255,.9) 100%);
	border: 1px solid var(--wpjf-blue-border);
	border-radius: var(--wpjf-r-md);
	text-align: left;
}

.wpjobify-sidebar-prompt__text {
	font-size: 11px;
	line-height: 1.5;
	color: var(--wpjf-blue-dark);
	margin: 0 0 6px;
	font-weight: 500;
}

.wpjobify-sidebar-prompt__link {
	font-size: 11px;
	font-weight: 700;
	color: var(--wpjf-blue);
	text-decoration: none;
}

.wpjobify-sidebar-prompt__link:hover { text-decoration: underline; }

/* ── Overview: Icon stat cards ─────────────────────────────────────────── */
.wpjobify-stat-icon-row {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-bottom: 20px;
}

.wpjobify-stat-icon-card {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-lg);
	padding: 18px 16px 16px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	box-shadow: var(--wpjf-shadow-xs);
	transition:
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		transform var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-stat-icon-card:hover {
	box-shadow: var(--wpjf-shadow-sm);
	transform: translateY(-1px);
}

.wpjobify-stat-icon-card__icon {
	width: 36px;
	height: 36px;
	border-radius: var(--wpjf-r-md);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wpjobify-stat-icon-card__icon--blue   { background: var(--wpjf-blue-dim);   color: var(--wpjf-blue); }
.wpjobify-stat-icon-card__icon--green  { background: var(--wpjf-green-dim);  color: var(--wpjf-green-dark); }
.wpjobify-stat-icon-card__icon--purple { background: var(--wpjf-purple-dim); color: var(--wpjf-purple); }

.wpjobify-stat-icon-card__value {
	font-size: 28px;
	font-weight: 800;
	color: var(--wpjf-900);
	letter-spacing: -.04em;
	line-height: 1;
}

.wpjobify-stat-icon-card__label {
	font-size: 11px;
	font-weight: 500;
	color: var(--wpjf-500);
	text-transform: uppercase;
	letter-spacing: .04em;
}

/* ── Overview: Profile journey / numbered steps ─────────────────────────── */
.wpjobify-journey { display: flex; flex-direction: column; gap: 6px; }

.wpjobify-journey__step {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--wpjf-r-md);
	transition: background var(--wpjf-t-fast) var(--wpjf-ease);
}

.wpjobify-journey__step:hover { background: var(--wpjf-50); }

.wpjobify-journey__num {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	flex-shrink: 0;
	background: var(--wpjf-100);
	color: var(--wpjf-500);
}

.wpjobify-journey__step--done .wpjobify-journey__num {
	background: var(--wpjf-green-dim);
	color: var(--wpjf-green-dark);
}

.wpjobify-journey__body { flex: 1; min-width: 0; }

.wpjobify-journey__title {
	font-size: 13px;
	font-weight: 600;
	color: var(--wpjf-800);
}

.wpjobify-journey__step--done .wpjobify-journey__title {
	color: var(--wpjf-500);
	text-decoration: line-through;
	font-weight: 500;
}

.wpjobify-journey__hint {
	font-size: 11px;
	color: var(--wpjf-400);
	margin-top: 1px;
}

.wpjobify-journey__action {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-blue);
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
}

.wpjobify-journey__action:hover { text-decoration: underline; }

.wpjobify-journey__done-icon { color: var(--wpjf-green-dark); flex-shrink: 0; }

/* ── Profile tab: Section header with completion chip ──────────────────── */
.wpjobify-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.wpjobify-section-header__left { display: flex; align-items: center; gap: 10px; }

.wpjobify-section-header__icon {
	width: 34px;
	height: 34px;
	border-radius: var(--wpjf-r-md);
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	flex-shrink: 0;
}

.wpjobify-section-header__title {
	font-size: 15px;
	font-weight: 700;
	color: var(--wpjf-900);
	margin: 0;
	letter-spacing: -.02em;
}

.wpjobify-section-header__subtitle {
	font-size: 12px;
	color: var(--wpjf-400);
	margin-top: 1px;
}

.wpjobify-section-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 10px;
	border-radius: 99px;
	font-size: 11px;
	font-weight: 600;
	flex-shrink: 0;
}

.wpjobify-section-chip--done {
	background: var(--wpjf-green-dim);
	color: var(--wpjf-green-dark);
}

.wpjobify-section-chip--partial {
	background: var(--wpjf-amber-dim);
	color: var(--wpjf-amber);
}

.wpjobify-section-chip--empty {
	background: var(--wpjf-100);
	color: var(--wpjf-500);
}

/* ── Profile tab: Timeline cards (experience / education) ──────────────── */
.wpjobify-timeline { display: flex; flex-direction: column; gap: 10px; }

.wpjobify-timeline-card {
	position: relative;
	background: var(--wpjf-50);
	border: 1px solid var(--wpjf-200);
	border-radius: var(--wpjf-r-md);
	border-left: 3px solid var(--wpjf-blue);
	overflow: hidden;
	transition: border-color var(--wpjf-t) var(--wpjf-ease), box-shadow var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-timeline-card:focus-within {
	border-color: var(--wpjf-blue);
	border-left-color: var(--wpjf-blue);
	box-shadow: var(--wpjf-shadow-xs);
}

.wpjobify-timeline-card__body {
	padding: 16px 48px 16px 18px;
}

.wpjobify-timeline-card__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 16px;
}

.wpjobify-timeline-card__remove {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	padding: 0;
	border: 1px solid var(--wpjf-200);
	background: #fff;
	color: var(--wpjf-400);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all var(--wpjf-t-fast) var(--wpjf-ease);
	flex-shrink: 0;
}

.wpjobify-timeline-card__remove:hover {
	border-color: var(--wpjf-red);
	color: var(--wpjf-red);
	background: var(--wpjf-red-dim);
}

.wpjobify-edu-card {
	border-left-color: var(--wpjf-purple);
}

/* ── Profile tab: Sticky save bar ──────────────────────────────────────── */
.wpjobify-sticky-save {
	position: sticky;
	bottom: 0;
	background: rgba(255,255,255,.95);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-top: 1px solid var(--wpjf-border);
	padding: 14px 24px;
	margin-top: 8px;
	border-radius: 0 0 var(--wpjf-r-lg) var(--wpjf-r-lg);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	z-index: 10;
}

.wpjobify-autosave-status {
	font-size: 12px;
	color: var(--wpjf-400);
	display: flex;
	align-items: center;
	gap: 6px;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 300ms, transform 300ms;
}

.wpjobify-autosave-status--visible {
	opacity: 1;
	transform: translateY(0);
}

.wpjobify-autosave-status--saved { color: var(--wpjf-green-dark); }
.wpjobify-autosave-status--saving { color: var(--wpjf-blue); }

/* ── Resume: AI-powered upload experience ──────────────────────────────── */
.wpjobify-resume-ai-header {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.wpjobify-ai-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px 3px 8px;
	background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
	color: #fff;
	border-radius: 99px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wpjobify-resume-drop-zone {
	position: relative;
	border: 2px dashed var(--wpjf-300);
	border-radius: var(--wpjf-r-xl);
	background: var(--wpjf-50);
	padding: 36px 24px;
	text-align: center;
	cursor: pointer;
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		background var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-resume-drop-zone:hover,
.wpjobify-resume-drop-zone--over {
	border-color: var(--wpjf-blue);
	background: rgba(239,246,255,.7);
}

.wpjobify-resume-drop-zone__input {
	position: absolute;
	inset: 0;
	opacity: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	z-index: 2;
}

.wpjobify-resume-drop-zone__icon {
	width: 52px;
	height: 52px;
	border-radius: var(--wpjf-r-lg);
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 16px;
	transition: transform var(--wpjf-t) var(--wpjf-spring);
}

.wpjobify-resume-drop-zone:hover .wpjobify-resume-drop-zone__icon {
	transform: translateY(-2px);
}

.wpjobify-resume-drop-zone__title {
	font-size: 15px;
	font-weight: 600;
	color: var(--wpjf-800);
	margin: 0 0 6px;
}

.wpjobify-resume-drop-zone__sub {
	font-size: 13px;
	color: var(--wpjf-500);
	margin: 0 0 18px;
}

.wpjobify-resume-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	flex-wrap: wrap;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--wpjf-200);
}

.wpjobify-resume-trust__item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	color: var(--wpjf-400);
	font-weight: 500;
}

.wpjobify-resume-trust__item svg { color: var(--wpjf-green-dark); }

.wpjobify-resume-current-card {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	margin-bottom: 14px;
	background: var(--wpjf-green-dim);
	border: 1px solid var(--wpjf-green-border);
	border-radius: var(--wpjf-r-md);
}

.wpjobify-resume-current-card__icon {
	width: 36px;
	height: 36px;
	border-radius: var(--wpjf-r-sm);
	background: rgba(255,255,255,.6);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--wpjf-green-dark);
	flex-shrink: 0;
}

.wpjobify-resume-current-card__body { flex: 1; min-width: 0; }

.wpjobify-resume-current-card__name {
	font-size: 13px;
	font-weight: 600;
	color: var(--wpjf-green-dark);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.wpjobify-resume-current-card__sub {
	font-size: 11px;
	color: var(--wpjf-green-dark);
	opacity: .7;
	margin-top: 1px;
}

/* ── Social links section ────────────────────────────────────────────────── */
.wpjobify-social-field {
	display: flex;
	align-items: center;
	gap: 0;
}

.wpjobify-social-field__prefix {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 100%;
	background: var(--wpjf-100);
	border: 1px solid var(--wpjf-border);
	border-right: none;
	border-radius: var(--wpjf-r-sm) 0 0 var(--wpjf-r-sm);
	color: var(--wpjf-400);
	flex-shrink: 0;
	padding: 9px 0;
}

.wpjobify-social-field .wpjobify-profile-input {
	border-radius: 0 var(--wpjf-r-sm) var(--wpjf-r-sm) 0;
}

/* ── Profile welcome hero (top of profile tab) ──────────────────────────── */
.wpjobify-profile-hero {
	background: linear-gradient(135deg, rgba(239,246,255,.7) 0%, rgba(238,242,255,.7) 100%);
	border: 1px solid var(--wpjf-blue-border);
	border-radius: var(--wpjf-r-xl);
	padding: 20px 24px;
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	gap: 16px;
}

.wpjobify-profile-hero__avatar {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	font-weight: 800;
	flex-shrink: 0;
	border: 2px solid var(--wpjf-blue-border);
}

.wpjobify-profile-hero__body { flex: 1; min-width: 0; }

.wpjobify-profile-hero__name {
	font-size: 17px;
	font-weight: 700;
	color: var(--wpjf-900);
	letter-spacing: -.02em;
	margin: 0 0 2px;
}

.wpjobify-profile-hero__headline {
	font-size: 12px;
	color: var(--wpjf-600);
	margin: 0;
}

.wpjobify-profile-hero__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 6px;
	flex-wrap: wrap;
}

.wpjobify-profile-hero__score {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-blue);
}

.wpjobify-profile-hero__score-bar {
	flex: 1;
	max-width: 120px;
	height: 4px;
	background: var(--wpjf-200);
	border-radius: 99px;
	overflow: hidden;
}

.wpjobify-profile-hero__score-fill {
	height: 100%;
	border-radius: 99px;
	background: linear-gradient(90deg, var(--wpjf-blue) 0%, var(--wpjf-blue-mid) 100%);
	transition: width 700ms var(--wpjf-ease-out);
}

/* ── Improved mobile navigation ─────────────────────────────────────────── */
@media (max-width: 860px) {
	.wpjobify-sidebar-profile { flex-direction: row; text-align: left; padding: 16px; }
	.wpjobify-sidebar-avatar-wrap { width: 52px; height: 52px; flex-shrink: 0; }
	.wpjobify-sidebar-info { text-align: left; }
	.wpjobify-sidebar-prompt { margin: 0 12px 12px; }
	.wpjobify-stat-icon-row { grid-template-columns: repeat(3, 1fr); }
	.wpjobify-timeline-card__fields { grid-template-columns: 1fr; }
	.wpjobify-sticky-save { border-radius: 0; }
	.wpjobify-profile-hero { flex-direction: column; align-items: flex-start; gap: 12px; }
}

@media (max-width: 480px) {
	.wpjobify-stat-icon-card { padding: 14px 12px; }
	.wpjobify-stat-icon-card__value { font-size: 22px; }
	.wpjobify-resume-trust { gap: 12px; }
	.wpjobify-resume-trust__item:nth-child(3) { display: none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PREMIUM UPGRADE 2026 — Full SaaS Design System Overrides
   Layered on top of existing styles. Higher specificity where needed.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Wrap: Premium dashboard background ────────────────────────────────── */
.wpjobify-wrap.wpjobify-candidate-dashboard,
.wpjobify-wrap.wpjobify-employer-dashboard {
	background: var(--wpjf-dashboard-bg, #f1f1f3);
	padding: 24px 20px;
}

/* ── Dashboard layout: wider sidebar, better gap ───────────────────────── */
.wpjobify-candidate-dashboard .wpjobify-dashboard,
.wpjobify-employer-dashboard  .wpjobify-dashboard {
	grid-template-columns: 252px 1fr;
	gap: 20px;
	align-items: start;
}

/* ── Sidebar: elevated surface with refined shadow ─────────────────────── */
.wpjobify-candidate-dashboard .wpjobify-dashboard__sidebar,
.wpjobify-employer-dashboard  .wpjobify-dashboard__sidebar {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-xl);
	box-shadow: 0 2px 8px rgba(9,9,11,.06), 0 1px 3px rgba(9,9,11,.04);
	overflow: hidden;
}

/* ── Nav items: stronger active + smoother transitions ─────────────────── */
.wpjobify-dashboard__nav-item {
	padding: 10px 20px;
	font-size: 13.5px;
	border-radius: 0;
	transition:
		background var(--wpjf-t-fast) var(--wpjf-ease),
		color var(--wpjf-t-fast) var(--wpjf-ease),
		border-left-color var(--wpjf-t-fast) var(--wpjf-ease);
}

.wpjobify-dashboard__nav-item:hover {
	background: var(--wpjf-50);
	color: var(--wpjf-800);
}

.wpjobify-dashboard__nav-item--active {
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	border-left-color: var(--wpjf-blue);
	font-weight: 700;
}

.wpjobify-dashboard__nav-count {
	background: var(--wpjf-100);
	color: var(--wpjf-600);
	border: 1px solid var(--wpjf-200);
}

.wpjobify-dashboard__nav-item--active .wpjobify-dashboard__nav-count {
	background: var(--wpjf-blue);
	color: #fff;
	border-color: var(--wpjf-blue);
}

/* ── Main area: clean white card with rounded corners ───────────────────── */
.wpjobify-dashboard__main {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-xl);
	padding: 28px;
	box-shadow: 0 2px 8px rgba(9,9,11,.06), 0 1px 3px rgba(9,9,11,.04);
	min-width: 0;
}

/* ── Section titles: stronger editorial typography ──────────────────────── */
.wpjobify-dashboard__section-title {
	font-size: 20px !important;
	font-weight: 800 !important;
	letter-spacing: -.04em !important;
	color: var(--wpjf-900) !important;
	line-height: 1.2;
}

.wpjobify-dashboard__section-desc {
	font-size: 14px;
	color: var(--wpjf-500);
	line-height: 1.6;
	margin-bottom: 24px;
}

/* ── Employer mini-stat cards: premium with accent ──────────────────────── */
.wpjobify-mini-stat {
	border-radius: var(--wpjf-r-lg);
	padding: 20px 18px;
	text-align: left;
	position: relative;
	overflow: hidden;
}

.wpjobify-mini-stat::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--wpjf-blue), var(--wpjf-blue-mid));
	border-radius: var(--wpjf-r-lg) var(--wpjf-r-lg) 0 0;
}

.wpjobify-mini-stat__value {
	font-size: 34px;
	font-weight: 900;
	letter-spacing: -.05em;
	color: var(--wpjf-900);
}

.wpjobify-mini-stat__label {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-500);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-top: 4px;
}

/* ── Dash card: stronger depth and headers ──────────────────────────────── */
.wpjobify-dash-card {
	background: var(--wpjf-card);
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-lg);
	padding: 22px 24px;
	box-shadow: 0 1px 4px rgba(9,9,11,.05);
	margin-bottom: 16px;
	transition: box-shadow var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-dash-card:hover {
	box-shadow: 0 4px 12px rgba(9,9,11,.08);
}

.wpjobify-dash-card__title {
	font-size: 14px;
	font-weight: 700;
	color: var(--wpjf-900);
	letter-spacing: -.01em;
}

/* ── Stat icon cards: stronger premium feel ─────────────────────────────── */
.wpjobify-stat-icon-card {
	background: var(--wpjf-card);
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-xl);
	padding: 20px 18px;
	gap: 12px;
	box-shadow: 0 1px 3px rgba(9,9,11,.05);
}

.wpjobify-stat-icon-card:hover {
	box-shadow: 0 4px 16px rgba(9,9,11,.08);
	transform: translateY(-2px);
}

.wpjobify-stat-icon-card__icon {
	width: 40px;
	height: 40px;
	border-radius: var(--wpjf-r-lg);
}

.wpjobify-stat-icon-card__value {
	font-size: 30px;
	font-weight: 900;
	letter-spacing: -.04em;
	line-height: 1;
}

.wpjobify-stat-icon-card__label {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-500);
	text-transform: uppercase;
	letter-spacing: .05em;
	margin-top: 3px;
}

/* ── Journey steps: premium numbered checklist ──────────────────────────── */
.wpjobify-journey {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.wpjobify-journey__step {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	border-radius: var(--wpjf-r-md);
	transition: background var(--wpjf-t-fast) var(--wpjf-ease);
}

.wpjobify-journey__step:hover {
	background: var(--wpjf-50);
}

.wpjobify-journey__num {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--wpjf-100);
	border: 2px solid var(--wpjf-200);
	color: var(--wpjf-500);
	font-size: 11px;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: all var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-journey__step--done .wpjobify-journey__num {
	background: var(--wpjf-green);
	border-color: var(--wpjf-green);
	color: #fff;
	box-shadow: 0 2px 6px rgba(22,163,74,.35);
}

.wpjobify-journey__title {
	font-size: 13px;
	font-weight: 600;
	color: var(--wpjf-800);
	line-height: 1.3;
}

.wpjobify-journey__step--done .wpjobify-journey__title {
	color: var(--wpjf-500);
	text-decoration: line-through;
	font-weight: 500;
}

.wpjobify-journey__hint {
	font-size: 11.5px;
	color: var(--wpjf-400);
	margin-top: 2px;
	line-height: 1.4;
}

.wpjobify-journey__action {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	color: var(--wpjf-blue);
	text-decoration: none;
	padding: 4px 10px;
	border-radius: var(--wpjf-r-sm);
	background: var(--wpjf-blue-dim);
	border: 1px solid var(--wpjf-blue-border);
	transition: all var(--wpjf-t-fast) var(--wpjf-ease);
	white-space: nowrap;
}

.wpjobify-journey__action:hover {
	background: var(--wpjf-blue);
	color: #fff;
	border-color: var(--wpjf-blue);
	text-decoration: none;
}

.wpjobify-journey__done-icon {
	color: var(--wpjf-green);
	flex-shrink: 0;
}

/* ── Visibility badge: always renders as pill ───────────────────────────── */
.wpjobify-visibility-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 10px;
	border-radius: 99px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-top: 6px;
	line-height: 1;
}

.wpjobify-visibility-badge--visible {
	background: var(--wpjf-green-dim);
	color: var(--wpjf-green-dark);
	border: 1px solid var(--wpjf-green-border);
}

.wpjobify-visibility-badge--hidden {
	background: var(--wpjf-100);
	color: var(--wpjf-500);
	border: 1px solid var(--wpjf-200);
}

.wpjobify-visibility-badge svg {
	display: inline-block;
	vertical-align: middle;
	flex-shrink: 0;
}

/* ── Sidebar score label ─────────────────────────────────────────────────── */
.wpjobify-sidebar-score {
	font-size: 11px;
	font-weight: 700;
	color: var(--wpjf-600);
	letter-spacing: .03em;
	padding: 4px 10px;
	background: var(--wpjf-50);
	border: 1px solid var(--wpjf-200);
	border-radius: 99px;
	margin-top: 4px;
}

/* ── Flash notice: better prominence ────────────────────────────────────── */
.wpjobify-dash-notice {
	padding: 14px 18px;
	border-radius: var(--wpjf-r-md);
	font-size: 14px;
	font-weight: 500;
	margin-bottom: 18px;
}

/* ── Application card: premium style ───────────────────────────────────── */
.wpjobify-application-card {
	border-radius: var(--wpjf-r-lg);
	padding: 18px 20px;
	gap: 16px;
}

.wpjobify-application-card:hover {
	box-shadow: var(--wpjf-shadow-md);
	border-color: var(--wpjf-300);
	transform: translateY(-2px);
}

.wpjobify-application-card__job-title {
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: -.01em;
}

/* ── Status badge: bolder and more premium ──────────────────────────────── */
.wpjobify-status-badge {
	padding: 4px 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .02em;
}

/* ── Saved mini rows: cleaner separation ────────────────────────────────── */
.wpjobify-saved-mini {
	padding: 11px 0;
}

.wpjobify-saved-mini__logo {
	border-radius: var(--wpjf-r-md);
	font-size: 15px;
	font-weight: 800;
}

/* ── Button system: premium hierarchy ───────────────────────────────────── */
.wpjobify-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 18px;
	border-radius: var(--wpjf-r-md);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -.01em;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition:
		background var(--wpjf-t-fast) var(--wpjf-ease),
		color var(--wpjf-t-fast) var(--wpjf-ease),
		border-color var(--wpjf-t-fast) var(--wpjf-ease),
		box-shadow var(--wpjf-t-fast) var(--wpjf-ease),
		transform var(--wpjf-t-fast) var(--wpjf-ease);
	white-space: nowrap;
}

.wpjobify-btn--primary {
	background: var(--wpjf-blue);
	color: #fff !important;
	border-color: var(--wpjf-blue-dark);
	box-shadow: 0 1px 3px rgba(37,99,235,.3), inset 0 1px 0 rgba(255,255,255,.1);
}

.wpjobify-btn--primary:hover {
	background: var(--wpjf-blue-dark);
	border-color: var(--wpjf-blue-dark);
	box-shadow: 0 4px 12px rgba(37,99,235,.4);
	transform: translateY(-1px);
	text-decoration: none !important;
	color: #fff !important;
}

.wpjobify-btn--primary:active {
	transform: translateY(0);
	box-shadow: 0 1px 3px rgba(37,99,235,.3);
}

.wpjobify-btn--outline {
	background: transparent;
	color: var(--wpjf-700) !important;
	border-color: var(--wpjf-200);
	box-shadow: 0 1px 2px rgba(9,9,11,.06);
}

.wpjobify-btn--outline:hover {
	border-color: var(--wpjf-300);
	background: var(--wpjf-50);
	transform: translateY(-1px);
	text-decoration: none !important;
}

.wpjobify-btn--ghost {
	background: transparent;
	color: var(--wpjf-600) !important;
	border-color: transparent;
}

.wpjobify-btn--ghost:hover {
	background: var(--wpjf-50);
	color: var(--wpjf-900) !important;
	text-decoration: none !important;
}

.wpjobify-btn--danger {
	background: var(--wpjf-red-dim);
	color: var(--wpjf-red) !important;
	border-color: rgba(220,38,38,.2);
}

.wpjobify-btn--danger:hover {
	background: var(--wpjf-red);
	color: #fff !important;
	border-color: var(--wpjf-red-dark);
}

.wpjobify-btn--sm {
	padding: 7px 13px;
	font-size: 12px;
}

.wpjobify-btn--lg {
	padding: 13px 22px;
	font-size: 14px;
}

/* ── Profile form: more polished inputs ─────────────────────────────────── */
.wpjobify-profile-input,
.wpjobify-profile-select,
.wpjobify-profile-textarea {
	padding: 10px 13px;
	font-size: 13.5px;
	border-radius: var(--wpjf-r-md);
	border: 1px solid var(--wpjf-border-strong, #d4d4d8);
	background: var(--wpjf-50);
	color: var(--wpjf-900);
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		background var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-profile-input:focus,
.wpjobify-profile-select:focus,
.wpjobify-profile-textarea:focus {
	outline: none;
	border-color: var(--wpjf-blue);
	box-shadow: 0 0 0 3px rgba(37,99,235,.12);
	background: #fff;
}

/* ── Employer: analytics metric cards (new premium layout) ──────────────── */
.wpjobify-metric-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 24px;
}

.wpjobify-metric-card {
	background: #fff;
	border: 1px solid var(--wpjf-border);
	border-radius: var(--wpjf-r-xl);
	padding: 20px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	box-shadow: 0 1px 4px rgba(9,9,11,.05);
	position: relative;
	overflow: hidden;
	transition: box-shadow var(--wpjf-t) var(--wpjf-ease), transform var(--wpjf-t) var(--wpjf-ease);
}

.wpjobify-metric-card:hover {
	box-shadow: 0 6px 20px rgba(9,9,11,.09);
	transform: translateY(-2px);
}

.wpjobify-metric-card__accent {
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	border-radius: var(--wpjf-r-xl) var(--wpjf-r-xl) 0 0;
}

.wpjobify-metric-card__icon {
	width: 38px;
	height: 38px;
	border-radius: var(--wpjf-r-md);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-bottom: 4px;
}

.wpjobify-metric-card__value {
	font-size: 32px;
	font-weight: 900;
	color: var(--wpjf-900);
	letter-spacing: -.05em;
	line-height: 1;
}

.wpjobify-metric-card__label {
	font-size: 11px;
	font-weight: 600;
	color: var(--wpjf-500);
	text-transform: uppercase;
	letter-spacing: .06em;
}

.wpjobify-metric-card__delta {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 11px;
	font-weight: 700;
	margin-top: 2px;
}

.wpjobify-metric-card__delta--up   { color: var(--wpjf-green-dark); }
.wpjobify-metric-card__delta--down { color: var(--wpjf-red); }
.wpjobify-metric-card__delta--flat { color: var(--wpjf-500); }

/* ── Employer: activity feed ────────────────────────────────────────────── */
.wpjobify-activity-feed {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.wpjobify-activity-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--wpjf-100);
}

.wpjobify-activity-item:last-child { border-bottom: none; }

.wpjobify-activity-item__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wpjf-300);
	flex-shrink: 0;
	margin-top: 5px;
}

.wpjobify-activity-item__dot--blue   { background: var(--wpjf-blue); }
.wpjobify-activity-item__dot--green  { background: var(--wpjf-green); }
.wpjobify-activity-item__dot--amber  { background: var(--wpjf-amber); }
.wpjobify-activity-item__dot--purple { background: var(--wpjf-purple); }

.wpjobify-activity-item__body { flex: 1; min-width: 0; }

.wpjobify-activity-item__text {
	font-size: 13px;
	color: var(--wpjf-800);
	line-height: 1.4;
}

.wpjobify-activity-item__time {
	font-size: 11px;
	color: var(--wpjf-400);
	margin-top: 2px;
	font-weight: 500;
}

/* ── Empty state: premium icon halo ─────────────────────────────────────── */
.wpjobify-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 40px 20px;
}

.wpjobify-empty-state__halo {
	width: 68px;
	height: 68px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 18px;
	position: relative;
}

.wpjobify-empty-state__halo::before {
	content: '';
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	opacity: .4;
}

.wpjobify-empty-state__halo--blue   { background: var(--wpjf-blue-dim);   color: var(--wpjf-blue);   }
.wpjobify-empty-state__halo--blue::before   { background: var(--wpjf-blue-dim);   }
.wpjobify-empty-state__halo--green  { background: var(--wpjf-green-dim);  color: var(--wpjf-green);  }
.wpjobify-empty-state__halo--green::before  { background: var(--wpjf-green-dim);  }
.wpjobify-empty-state__halo--gray   { background: var(--wpjf-100);        color: var(--wpjf-400);    }
.wpjobify-empty-state__halo--gray::before   { background: var(--wpjf-100);        }

.wpjobify-empty-state__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--wpjf-900);
	margin: 0 0 6px;
	letter-spacing: -.02em;
}

.wpjobify-empty-state__desc {
	font-size: 13px;
	color: var(--wpjf-500);
	margin: 0 0 20px;
	line-height: 1.6;
	max-width: 300px;
}

/* ── ATS Kanban: stronger card ──────────────────────────────────────────── */
.wpjobify-ats-card {
	border-radius: var(--wpjf-r-md);
	padding: 13px 14px;
}

.wpjobify-ats-card:hover {
	box-shadow: var(--wpjf-shadow-md);
	transform: translateY(-2px);
}

/* ── Tip / promo banner ─────────────────────────────────────────────────── */
.wpjobify-tip-banner {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 20px;
	background: linear-gradient(135deg, rgba(239,246,255,.9) 0%, rgba(238,242,255,.9) 100%);
	border: 1px solid var(--wpjf-blue-border);
	border-radius: var(--wpjf-r-lg);
	margin-top: 18px;
}

.wpjobify-tip-banner__icon {
	width: 36px;
	height: 36px;
	border-radius: var(--wpjf-r-md);
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.wpjobify-tip-banner__title {
	font-size: 13px;
	font-weight: 700;
	color: var(--wpjf-blue-dark);
	margin: 0 0 3px;
}

.wpjobify-tip-banner__body {
	font-size: 12px;
	color: var(--wpjf-600);
	line-height: 1.55;
	margin: 0;
}

/* ── Employer jobs grid list ────────────────────────────────────────────── */
.wpjobify-job-row {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--wpjf-100);
}

.wpjobify-job-row:last-child { border-bottom: none; }

.wpjobify-job-row__icon {
	width: 40px;
	height: 40px;
	border-radius: var(--wpjf-r-md);
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 16px;
	flex-shrink: 0;
}

.wpjobify-job-row__body { flex: 1; min-width: 0; }
.wpjobify-job-row__title { font-size: 14px; font-weight: 700; color: var(--wpjf-900); margin: 0 0 2px; letter-spacing: -.01em; }
.wpjobify-job-row__meta  { font-size: 12px; color: var(--wpjf-500); }
.wpjobify-job-row__stat  { font-size: 12px; color: var(--wpjf-700); font-weight: 600; text-align: right; flex-shrink: 0; }
.wpjobify-job-row__stat-label { font-size: 10px; font-weight: 500; color: var(--wpjf-400); text-transform: uppercase; letter-spacing: .04em; margin-top: 1px; }

/* ── Hiring pipeline mini bar ───────────────────────────────────────────── */
.wpjobify-pipeline-bar {
	display: flex;
	gap: 3px;
	align-items: center;
	height: 6px;
	border-radius: 99px;
	overflow: hidden;
}

.wpjobify-pipeline-bar__seg {
	height: 100%;
	border-radius: 99px;
	flex-shrink: 0;
	transition: flex-grow var(--wpjf-t-slow) var(--wpjf-ease);
}

/* ── Applications tab: filter pills ────────────────────────────────────── */
.wpjobify-filter-pills {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.wpjobify-filter-pill {
	padding: 5px 14px;
	border-radius: 99px;
	font-size: 12px;
	font-weight: 600;
	border: 1px solid var(--wpjf-border);
	background: #fff;
	color: var(--wpjf-600);
	cursor: pointer;
	transition: all var(--wpjf-t-fast) var(--wpjf-ease);
}

.wpjobify-filter-pill:hover {
	border-color: var(--wpjf-300);
	color: var(--wpjf-900);
	background: var(--wpjf-50);
}

.wpjobify-filter-pill--active {
	background: var(--wpjf-blue);
	border-color: var(--wpjf-blue);
	color: #fff;
	box-shadow: 0 2px 8px rgba(37,99,235,.25);
}

/* ── Employer applicant avatar list ─────────────────────────────────────── */
.wpjobify-applicant-avatars {
	display: flex;
	align-items: center;
}

.wpjobify-applicant-avatars__item {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--wpjf-blue-dim);
	color: var(--wpjf-blue);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 800;
	border: 2px solid #fff;
	margin-left: -8px;
	flex-shrink: 0;
}

.wpjobify-applicant-avatars__item:first-child { margin-left: 0; }
.wpjobify-applicant-avatars__count {
	margin-left: 6px;
	font-size: 12px;
	color: var(--wpjf-500);
	font-weight: 600;
}

/* ── Responsive upgrades ────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.wpjobify-metric-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 860px) {
	.wpjobify-candidate-dashboard .wpjobify-dashboard,
	.wpjobify-employer-dashboard  .wpjobify-dashboard {
		grid-template-columns: 1fr;
	}
	.wpjobify-candidate-dashboard .wpjobify-dashboard__sidebar,
	.wpjobify-employer-dashboard  .wpjobify-dashboard__sidebar {
		position: static;
	}
	.wpjobify-dashboard__main {
		border-radius: var(--wpjf-r-xl);
		padding: 20px;
	}
	.wpjobify-metric-grid { grid-template-columns: repeat(2, 1fr); }
	.wpjobify-overview-grid { grid-template-columns: 1fr; }
	.wpjobify-stat-icon-row { grid-template-columns: repeat(3, 1fr); gap: 8px; }
	.wpjobify-mini-stat__value { font-size: 28px; }
}

@media (max-width: 600px) {
	.wpjobify-wrap.wpjobify-candidate-dashboard,
	.wpjobify-wrap.wpjobify-employer-dashboard {
		padding: 12px 10px;
	}
	.wpjobify-dashboard__main { padding: 16px; }
	.wpjobify-metric-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.wpjobify-metric-card__value { font-size: 26px; }
	.wpjobify-stat-icon-row { grid-template-columns: repeat(3, 1fr); }
	.wpjobify-stat-icon-card__value { font-size: 22px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FINAL POLISH v2 — Dashboard Quality Pass 2026
   Comprehensive dashboard UI/UX refinement.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── 1. TIMELINE CARDS: Lighter, less aggressive, elegant hover-reveal ─────
   Before: heavy colored left border (blue/purple), always-visible red delete
   After:  clean white cards with top accent, delete fades in on hover only
   ─────────────────────────────────────────────────────────────────────────── */

.wpjobify-timeline-card {
	background: #fff !important;
	border: 1px solid var(--wpjf-200) !important;
	border-left: none !important;           /* kill the heavy left border */
	border-top: 2px solid var(--wpjf-blue-border) !important;
	border-radius: var(--wpjf-r-lg) !important;
	box-shadow: 0 1px 3px rgba(9,9,11,.04), 0 0 0 0 transparent !important;
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		box-shadow var(--wpjf-t) var(--wpjf-ease) !important;
}

.wpjobify-timeline-card:focus-within {
	border-color: var(--wpjf-blue-border) !important;
	border-top-color: var(--wpjf-blue) !important;
	box-shadow:
		0 0 0 3px rgba(37,99,235,.08),
		0 2px 8px rgba(37,99,235,.06) !important;
}

/* Education cards: purple accent */
.wpjobify-edu-card {
	border-top-color: var(--wpjf-purple-border) !important;
}

.wpjobify-edu-card:focus-within {
	border-color: var(--wpjf-purple-border) !important;
	border-top-color: var(--wpjf-purple) !important;
	box-shadow:
		0 0 0 3px rgba(124,58,237,.08),
		0 2px 8px rgba(124,58,237,.06) !important;
}

/* Delete button: invisible by default, fades in on card hover (Notion/Linear pattern) */
.wpjobify-timeline-card__remove {
	opacity: 0 !important;
	transform: scale(.85) !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: var(--wpjf-r-sm) !important;
	background: var(--wpjf-50) !important;
	border: 1px solid var(--wpjf-200) !important;
	color: var(--wpjf-400) !important;
	transition:
		opacity 150ms var(--wpjf-ease),
		transform 150ms var(--wpjf-ease),
		background 100ms,
		color 100ms,
		border-color 100ms !important;
}

/* Reveal on hover or focus-within */
.wpjobify-timeline-card:hover .wpjobify-timeline-card__remove,
.wpjobify-timeline-card:focus-within .wpjobify-timeline-card__remove {
	opacity: 1 !important;
	transform: scale(1) !important;
}

/* Soft danger state on button hover (not full red) */
.wpjobify-timeline-card__remove:hover {
	background: var(--wpjf-red-dim) !important;
	border-color: rgba(220,38,38,.25) !important;
	color: var(--wpjf-red) !important;
	opacity: 1 !important;
	transform: scale(1) !important;
}

/* Card body: slightly more generous padding */
.wpjobify-timeline-card__body {
	padding: 18px 52px 18px 20px !important;
}

/* Fields grid: slightly more relaxed */
.wpjobify-timeline-card__fields {
	gap: 14px 18px !important;
}

/* ── 2. FORM SECTIONS: Less heavy, spacing-driven separation ────────────────
   Before: heavy bordered cards, aggressive section dividers
   After:  clean white cards, subtle borders, air-driven hierarchy
   ─────────────────────────────────────────────────────────────────────────── */

/* Dashboard main cards: cleaner surface */
.wpjobify-dash-card {
	border-radius: var(--wpjf-r-xl) !important;
	border-color: var(--wpjf-200) !important;
	box-shadow: 0 1px 4px rgba(9,9,11,.04) !important;
}

/* Section headers: stronger title typography */
.wpjobify-section-header {
	padding-bottom: 18px !important;
	margin-bottom: 20px !important;
}

.wpjobify-section-header__title {
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: -.025em !important;
	color: var(--wpjf-900) !important;
}

.wpjobify-section-header__subtitle {
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: var(--wpjf-500) !important;
}

/* Section icon: slightly larger */
.wpjobify-section-header__icon {
	width: 34px !important;
	height: 34px !important;
	border-radius: var(--wpjf-r) !important;
}

/* Required badge: softer */
.wpjobify-section-header__badge {
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: .04em !important;
}

/* ── 3. PROFILE FORM: Premium input system ───────────────────────────────── */

/* Labels: stronger hierarchy */
.wpjobify-profile-label {
	font-size: 12.5px !important;
	font-weight: 700 !important;
	color: var(--wpjf-700) !important;
	letter-spacing: -.01em !important;
}

/* Inputs: softer, cleaner */
.wpjobify-profile-input,
.wpjobify-profile-select,
.wpjobify-profile-textarea {
	font-size: 14px !important;
	border-color: var(--wpjf-200) !important;
	border-radius: var(--wpjf-r-md) !important;
	background: #fff !important;
	color: var(--wpjf-900) !important;
	transition:
		border-color 150ms,
		box-shadow 150ms !important;
}

.wpjobify-profile-input:hover,
.wpjobify-profile-select:hover,
.wpjobify-profile-textarea:hover {
	border-color: var(--wpjf-300) !important;
}

.wpjobify-profile-input:focus,
.wpjobify-profile-select:focus,
.wpjobify-profile-textarea:focus {
	border-color: var(--wpjf-blue) !important;
	box-shadow: 0 0 0 3px rgba(37,99,235,.10) !important;
	outline: none !important;
}

/* Helper text */
.wpjobify-profile-hint {
	font-size: 11.5px !important;
	line-height: 1.5 !important;
	color: var(--wpjf-400) !important;
}

/* ── 4. PROFILE HERO: More premium, motivating ───────────────────────────── */

.wpjobify-profile-hero {
	background: linear-gradient(135deg, #eff6ff 0%, #f5f3ff 100%) !important;
	border-color: var(--wpjf-blue-border) !important;
	border-radius: var(--wpjf-r-xl) !important;
	padding: 22px 24px !important;
	margin-bottom: 20px !important;
}

.wpjobify-profile-hero__avatar {
	width: 52px !important;
	height: 52px !important;
	font-size: 20px !important;
	font-weight: 800 !important;
	background: linear-gradient(135deg, #2563eb 0%, #7c3aed 100%) !important;
	color: #fff !important;
	border-radius: 14px !important;
}

.wpjobify-profile-hero__name {
	font-size: 18px !important;
	font-weight: 800 !important;
	letter-spacing: -.025em !important;
	color: var(--wpjf-900) !important;
}

.wpjobify-profile-hero__headline {
	font-size: 14px !important;
	color: var(--wpjf-600) !important;
	line-height: 1.5 !important;
}

.wpjobify-profile-hero__score {
	font-size: 12px !important;
	font-weight: 700 !important;
	color: var(--wpjf-blue) !important;
}

.wpjobify-profile-hero__score-bar {
	height: 4px !important;
	border-radius: 99px !important;
	background: rgba(37,99,235,.15) !important;
}

.wpjobify-profile-hero__score-fill {
	border-radius: 99px !important;
	background: linear-gradient(90deg, #2563eb, #7c3aed) !important;
	height: 100% !important;
}

/* ── 5. DASHBOARD SIDEBAR: Premium navigation ───────────────────────────── */

.wpjobify-dashboard__sidebar {
	border-radius: 16px !important;
	border-color: var(--wpjf-200) !important;
}

.wpjobify-dashboard__avatar {
	border-radius: 12px !important;
	background: linear-gradient(135deg, var(--wpjf-blue-dim), var(--wpjf-purple-dim)) !important;
	color: var(--wpjf-blue-dark) !important;
}

.wpjobify-dashboard__user-name {
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: -.015em !important;
}

.wpjobify-dashboard__nav-item {
	font-size: 13.5px !important;
	font-weight: 500 !important;
	border-radius: var(--wpjf-r-md) !important;
	letter-spacing: -.01em !important;
}

.wpjobify-dashboard__nav-item--active {
	font-weight: 700 !important;
}

/* ── 6. METRIC CARDS: More refined ──────────────────────────────────────── */

.wpjobify-metric-card {
	border-radius: var(--wpjf-r-lg) !important;
	border-color: var(--wpjf-200) !important;
}

.wpjobify-metric-card__value {
	letter-spacing: -.04em !important;
	color: var(--wpjf-900) !important;
}

.wpjobify-metric-card__label {
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
	color: var(--wpjf-500) !important;
}

/* ── 7. ACTIVITY FEED: Cleaner items ─────────────────────────────────────── */

.wpjobify-activity-item {
	padding: 10px 0 !important;
}

.wpjobify-activity-item__label {
	font-size: 13.5px !important;
	line-height: 1.4 !important;
}

.wpjobify-activity-item__time {
	font-size: 11.5px !important;
}

/* ── 8. DASHBOARD MAIN AREA: White card treatment ───────────────────────── */

.wpjobify-candidate-dashboard .wpjobify-dashboard__main,
.wpjobify-employer-dashboard .wpjobify-dashboard__main {
	background: #fff !important;
	border-radius: 16px !important;
	border: 1px solid var(--wpjf-200) !important;
	box-shadow: 0 1px 4px rgba(9,9,11,.04) !important;
}

/* ── 9. COMPLETENESS BAR: More refined ───────────────────────────────────── */

.wpjobify-completeness {
	padding: 14px 18px !important;
}

.wpjobify-completeness__label {
	font-size: 11.5px !important;
	font-weight: 600 !important;
	margin-bottom: 6px !important;
}

.wpjobify-completeness__bar {
	height: 4px !important;
	border-radius: 99px !important;
}

.wpjobify-completeness__fill {
	border-radius: 99px !important;
}

.wpjobify-completeness__fill--high {
	background: linear-gradient(90deg, #16a34a, #22c55e) !important;
}

.wpjobify-completeness__fill--medium {
	background: linear-gradient(90deg, #d97706, #f59e0b) !important;
}

.wpjobify-completeness__fill--low {
	background: linear-gradient(90deg, #2563eb, #7c3aed) !important;
}

/* ── 10. SECTION CHIPS (profile completion indicators) ───────────────────── */

.wpjobify-section-chip {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em !important;
	border-radius: 99px !important;
	padding: 3px 10px !important;
}

.wpjobify-section-chip--done {
	background: var(--wpjf-green-dim) !important;
	color: var(--wpjf-green-dark) !important;
	border: 1px solid var(--wpjf-green-border) !important;
}

.wpjobify-section-chip--empty {
	background: var(--wpjf-100) !important;
	color: var(--wpjf-500) !important;
	border: 1px solid var(--wpjf-200) !important;
}

/* ── 11. JOB ROW (employer dashboard): premium ────────────────────────────── */

.wpjobify-job-row {
	border-radius: var(--wpjf-r-lg) !important;
	border-color: var(--wpjf-200) !important;
	transition:
		border-color var(--wpjf-t) var(--wpjf-ease),
		box-shadow var(--wpjf-t) var(--wpjf-ease),
		transform var(--wpjf-t-fast) var(--wpjf-ease) !important;
}

.wpjobify-job-row:hover {
	border-color: rgba(37,99,235,.2) !important;
	box-shadow: 0 3px 12px rgba(37,99,235,.07) !important;
	transform: translateY(-1px) !important;
}

.wpjobify-job-row__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: -.015em !important;
}

/* ── 12. TIP BANNER: More premium ────────────────────────────────────────── */

.wpjobify-tip-banner {
	border-radius: var(--wpjf-r-lg) !important;
	background: var(--wpjf-blue-dim) !important;
	border-color: var(--wpjf-blue-border) !important;
}

.wpjobify-tip-banner__title {
	font-weight: 700 !important;
	font-size: 13.5px !important;
}

/* ── 13. VISIBILITY BADGE: Guaranteed pill ───────────────────────────────── */

.wpjobify-visibility-badge {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em !important;
	border-radius: 99px !important;
	padding: 3px 10px !important;
}

/* ── 14. JOURNEY STEPS: Premium numbered + action buttons ────────────────── */

.wpjobify-journey__step {
	border-radius: var(--wpjf-r-lg) !important;
}

.wpjobify-journey__num {
	font-weight: 800 !important;
	letter-spacing: -.02em !important;
}

.wpjobify-journey__label {
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
}

/* ── 15. PIPELINE STATUS CHIPS: Better color system ─────────────────────── */

.wpjobify-status-chip {
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .03em !important;
	border-radius: 99px !important;
	padding: 3px 10px !important;
}

/* ── 16. OVERLAY: Smoother filter pill interactions ──────────────────────── */

.wpjobify-filter-pill {
	transition:
		background var(--wpjf-t-fast),
		border-color var(--wpjf-t-fast),
		color var(--wpjf-t-fast) !important;
	font-weight: 600 !important;
}

/* ── RESPONSIVE: Mobile dashboard improvements ───────────────────────────── */
@media (max-width: 700px) {
	.wpjobify-candidate-dashboard .wpjobify-dashboard,
	.wpjobify-employer-dashboard .wpjobify-dashboard {
		grid-template-columns: 1fr !important;
	}

	.wpjobify-dashboard__sidebar {
		position: static !important;
	}

	.wpjobify-timeline-card__remove {
		/* Always visible on touch devices (no hover) */
		opacity: 1 !important;
		transform: scale(1) !important;
	}

	.wpjobify-timeline-card__fields {
		grid-template-columns: 1fr !important;
	}

	.wpjobify-profile-hero {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
}
