/* MineJobs two-sided capabilities module. Component-only; no shell layout rules. */
.mjcap-builder,
.mjcap-candidate-card {
	--mjcap-blue: #086bff;
	--mjcap-blue-soft: #eef6ff;
	--mjcap-red: #e43b4d;
	--mjcap-gold: #e99a18;
	--mjcap-green: #168f55;
	--mjcap-text: #12263f;
	--mjcap-muted: #66788f;
	--mjcap-border: #dce7f5;
	direction: rtl;
	font-family: Vazirmatn, IRANSans, Tahoma, Arial, sans-serif;
}
.mjcap-builder .screen-reader-text,
.mjcap-candidate-card .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.mjcap-builder {
	padding: 18px;
	border: 1px solid var(--mjcap-border);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 14px 34px rgba(27, 73, 126, .07);
}
.mjcap-intro {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 17px;
	margin-bottom: 14px;
	border: 1px solid #d9e9ff;
	border-radius: 16px;
	background: linear-gradient(135deg, #f8fbff, #eef6ff);
}
.mjcap-eyebrow {
	display: inline-block;
	margin-bottom: 5px;
	color: var(--mjcap-blue);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .02em;
}
.mjcap-intro strong {
	display: block;
	color: var(--mjcap-text);
	font-size: 14px;
	font-weight: 900;
}
.mjcap-intro p {
	margin: 4px 0 0 !important;
	color: var(--mjcap-muted);
	font-size: 12px;
	line-height: 1.9;
}
.mjcap-intro > i {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 14px;
	background: linear-gradient(135deg, #086bff, #59a4ff);
	color: #fff;
	font-size: 18px;
	box-shadow: 0 10px 24px rgba(8, 107, 255, .23);
}
.mjcap-intro--candidate { margin: 0 0 14px; }

.mjcap-choice-guide {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px;
	margin-bottom: 13px;
}
.mjcap-choice-guide > div {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 50px;
	padding: 9px 11px;
	border: 1px solid var(--mjcap-border);
	border-radius: 13px;
	background: #fff;
	color: var(--mjcap-muted);
	font-size: 10px;
	line-height: 1.7;
}
.mjcap-choice-guide > div > i {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	border-radius: 9px;
}
.mjcap-choice-guide strong { display: inline; color: var(--mjcap-text); font-size: 11px; }
.mjcap-choice-guide .is-required > i { background: #fff0f2; color: var(--mjcap-red); }
.mjcap-choice-guide .is-preferred > i { background: #fff7e9; color: var(--mjcap-gold); }

.mjcap-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
	margin: 0 0 14px !important;
	padding: 0 !important;
	list-style: none !important;
}
.mjcap-steps li {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	padding: 10px 11px;
	border: 1px solid var(--mjcap-border);
	border-radius: 13px;
	background: #fbfdff;
}
.mjcap-steps li > b {
	display: grid;
	place-items: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	border-radius: 9px;
	background: #eaf3ff;
	color: var(--mjcap-blue);
	font-size: 11px;
}
.mjcap-steps strong,
.mjcap-steps small { display: block; }
.mjcap-steps strong { color: var(--mjcap-text); font-size: 11px; font-weight: 900; }
.mjcap-steps small { margin-top: 2px; color: var(--mjcap-muted); font-size: 9px; line-height: 1.6; }

.mjcap-feedback {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	padding: 9px 11px;
	border: 1px solid #cfe2ff;
	border-radius: 12px;
	background: #f4f8ff;
	color: #31577f;
	font-size: 11px;
	font-weight: 700;
	animation: mjcap-feedback-in .18s ease-out;
	transition: opacity .2s, transform .2s;
}
.mjcap-feedback.is-success { border-color: #ccebd9; background: #f0fbf5; color: #147344; }
.mjcap-feedback.is-error { border-color: #ffd2d7; background: #fff3f4; color: #b82939; }
.mjcap-feedback span { flex: 1; }
.mjcap-feedback button {
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: rgba(255, 255, 255, .7);
	color: inherit;
	font-family: inherit;
	font-size: 17px;
	cursor: pointer;
}
.mjcap-feedback.is-leaving { opacity: 0; transform: translateY(-4px); }
@keyframes mjcap-feedback-in { from { opacity: 0; transform: translateY(-4px); } }

.mjcap-search-wrap { margin: 0; }
.mjcap-search {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 14px;
	border: 1px solid var(--mjcap-border);
	border-radius: 14px;
	background: #f7f9fc;
	transition: .2s;
}
.mjcap-search:focus-within {
	border-color: #78adff;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(8, 107, 255, .09);
}
.mjcap-search > i { color: #7d91ab; }
.mjcap-search input {
	width: 100%;
	min-height: 48px !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--mjcap-text) !important;
	font: inherit !important;
}
.mjcap-search-help {
	display: block;
	margin: 6px 3px 0;
	color: #8191a5;
	font-size: 10px;
	line-height: 1.7;
}
.mjcap-search [data-mjcap-spinner] {
	width: 18px;
	height: 18px;
	border: 2px solid transparent;
	border-top-color: var(--mjcap-blue);
	border-radius: 50%;
	opacity: 0;
}
.mjcap-search [data-mjcap-spinner].is-loading { opacity: 1; animation: mjcap-spin .7s linear infinite; }
@keyframes mjcap-spin { to { transform: rotate(360deg); } }

.mjcap-results {
	position: relative;
	z-index: 4;
	margin-top: 8px;
	max-height: 320px;
	overflow: auto;
	border: 1px solid var(--mjcap-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 40px rgba(31, 68, 112, .13);
}
.mjcap-result {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 14px;
	border-bottom: 1px solid #edf2f8;
}
.mjcap-result:last-child { border-bottom: 0; }
.mjcap-result > div:first-child { min-width: 0; }
.mjcap-result strong { display: block; color: var(--mjcap-text); font-size: 13px; font-weight: 900; }
.mjcap-result span { display: block; margin-top: 3px; color: var(--mjcap-muted); font-size: 11px; white-space: normal; }
.mjcap-result > div:last-child { display: flex; gap: 7px; flex-shrink: 0; }
.mjcap-result button,
.mjcap-manual button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	border: 0;
	border-radius: 10px;
	padding: 8px 11px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 900;
	cursor: pointer;
	transition: .2s;
}
.mjcap-result button:hover,
.mjcap-manual button:hover { transform: translateY(-1px); }
.mjcap-result .is-required,
.mjcap-manual .is-required { background: #fff1f2; color: #cf3041; }
.mjcap-result .is-preferred,
.mjcap-manual .is-preferred { background: #fff7e8; color: #ad6600; }
.mjcap-result .is-add { background: #eaf3ff; color: #086bff; }
.mjcap-result button:disabled { opacity: .65; cursor: default; transform: none; }
.mjcap-result-empty {
	display: grid;
	justify-items: center;
	gap: 4px;
	padding: 18px 15px;
	text-align: center;
	color: var(--mjcap-muted);
	font-size: 11px;
}
.mjcap-result-empty > i { color: #8aa0bb; font-size: 18px; }
.mjcap-result-empty strong { color: var(--mjcap-text); font-size: 12px; }
.mjcap-result-empty span { margin: 0; }
.mjcap-result-empty.is-loading { display: block; }
.mjcap-result-empty.is-error > i { color: var(--mjcap-red); }

.mjcap-manual {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-top: 10px;
	padding: 12px 14px;
	border: 1px dashed #b7d3fa;
	border-radius: 14px;
	background: #f7fbff;
}
.mjcap-manual > div:first-child { display: flex; align-items: center; gap: 10px; min-width: 0; }
.mjcap-manual > div:first-child > i { color: #f2a11b; font-size: 19px; }
.mjcap-manual strong,
.mjcap-manual small { display: block; }
.mjcap-manual strong { color: var(--mjcap-text); font-size: 12px; }
.mjcap-manual small { margin-top: 3px; color: var(--mjcap-muted); font-size: 10px; line-height: 1.7; }
.mjcap-manual > div:last-child { display: flex; gap: 7px; flex-shrink: 0; }

.mjcap-selected-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin: 20px 0 9px;
}
.mjcap-selected-head strong,
.mjcap-selected-head small { display: block; }
.mjcap-selected-head strong { color: var(--mjcap-text); font-size: 13px; font-weight: 900; }
.mjcap-selected-head small { margin-top: 3px; color: var(--mjcap-muted); font-size: 9px; }
.mjcap-selected-head > span {
	padding: 5px 9px;
	border-radius: 999px;
	background: #eef3f9;
	color: #60758f;
	font-size: 10px;
	font-weight: 800;
	white-space: nowrap;
}
.mjcap-selected,
.mjcap-candidate-list { display: grid; gap: 9px; }
.mjcap-job-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 34px;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	border: 1px solid var(--mjcap-border);
	border-radius: 14px;
	background: #fff;
	transition: border-color .2s, box-shadow .2s;
}
.mjcap-job-item:hover { border-color: #bfd7f7; box-shadow: 0 7px 18px rgba(27, 73, 126, .06); }
.mjcap-job-item.is-pending { border-style: dashed; background: #fbfdff; }
.mjcap-job-item__copy strong { display: block; color: var(--mjcap-text); font-size: 12px; font-weight: 900; }
.mjcap-job-item__copy > span { display: block; margin-top: 3px; color: var(--mjcap-muted); font-size: 10px; line-height: 1.7; }
.mjcap-pending-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-left: 4px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #fff6df;
	color: #9f6500;
	font-size: 9px;
}
.mjcap-importance { display: flex; padding: 3px; border-radius: 11px; background: #f0f4f9; }
.mjcap-importance button {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	border: 0;
	border-radius: 8px;
	padding: 7px 10px;
	background: transparent;
	color: #71839a;
	font-family: inherit;
	font-size: 10px;
	font-weight: 900;
	cursor: pointer;
}
.mjcap-importance button[data-mjcap-importance=required].is-active { background: #fff; color: #d33143; box-shadow: 0 3px 12px rgba(20, 40, 65, .1); }
.mjcap-importance button[data-mjcap-importance=preferred].is-active { background: #fff; color: #a96100; box-shadow: 0 3px 12px rgba(20, 40, 65, .1); }
.mjcap-remove {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #f3f6fa;
	color: #7b8da4;
	cursor: pointer;
}
.mjcap-remove:hover { background: #fff0f1; color: #e23848; }
.mjcap-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 18px;
	border: 1px dashed var(--mjcap-border);
	border-radius: 14px;
	color: var(--mjcap-muted);
	font-size: 11px;
	line-height: 1.8;
	text-align: center;
}
.mjcap-empty i { color: #4b9aff; }
.mjcap-empty strong { color: var(--mjcap-text); }

.mjcap-candidate-card { scroll-margin-top: 100px; }
.mjcap-candidate-card .mjcap-search { margin-bottom: 0 !important; }
.mjcap-candidate-item {
	padding: 16px;
	border: 1px solid var(--mjcap-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 8px 20px rgba(27, 73, 126, .05);
}
.mjcap-candidate-item__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid #edf2f8;
}
.mjcap-candidate-item__head strong { display: block; color: var(--mjcap-text); font-size: 14px; font-weight: 950; }
.mjcap-candidate-item__head span { display: block; margin-top: 3px; color: var(--mjcap-muted); font-size: 11px; }
.mjcap-proficiency { padding: 14px 0; }
.mjcap-proficiency > div:first-child {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.mjcap-proficiency label,
.mjcap-proficiency small { display: block; }
.mjcap-proficiency label { margin: 0; color: var(--mjcap-text); font-size: 12px; font-weight: 900; }
.mjcap-proficiency small { margin-top: 3px; color: var(--mjcap-muted); font-size: 9px; line-height: 1.6; }
.mjcap-proficiency-value { display: flex; align-items: center; gap: 7px; flex-shrink: 0; }
.mjcap-proficiency-value strong { color: var(--mjcap-blue); font-size: 15px; font-weight: 950; }
.mjcap-proficiency-value em {
	padding: 4px 7px;
	border-radius: 999px;
	background: #edf5ff;
	color: #315f96;
	font-size: 9px;
	font-style: normal;
	font-weight: 900;
}
.mjcap-proficiency > div:nth-child(2) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 72px;
	align-items: center;
	gap: 12px;
}
.mjcap-proficiency input[type=range] { width: 100%; accent-color: var(--mjcap-blue); }
.mjcap-proficiency input[type=number],
.mjcap-detail-row input,
.mjcap-note textarea {
	border: 1px solid var(--mjcap-border) !important;
	border-radius: 11px !important;
	background: #f7f9fc !important;
	box-shadow: none !important;
	font-family: inherit !important;
}
.mjcap-proficiency input[type=number] { height: 38px !important; text-align: center; }
.mjcap-scale { display: flex; justify-content: space-between; margin-top: 6px; color: #91a0b2; font-size: 8px; }
.mjcap-note { display: block; margin: 0 !important; }
.mjcap-note > span { display: block; margin-bottom: 6px; color: var(--mjcap-text); font-size: 12px; font-weight: 900; }
.mjcap-note > span small { color: #8191a5; font-weight: 500; }
.mjcap-note textarea { width: 100%; min-height: 74px; padding: 10px 12px !important; resize: vertical; }
.mjcap-field-help { display: block; margin-top: 5px; color: #8191a5; font-size: 9px; line-height: 1.7; }
.mjcap-note textarea:focus,
.mjcap-detail-row input:focus { border-color: #79adff !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(8, 107, 255, .08) !important; }

.mjcap-details { margin-top: 13px; padding-top: 13px; border-top: 1px dashed #dfe8f3; }
.mjcap-details__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mjcap-details__head strong { display: block; color: var(--mjcap-text); font-size: 11px; font-weight: 900; }
.mjcap-details__head span { display: block; margin-top: 2px; color: var(--mjcap-muted); font-size: 10px; line-height: 1.7; }
.mjcap-details__head button,
.mjcap-detail-toolbar button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	border: 0;
	border-radius: 10px;
	padding: 8px 10px;
	background: #edf5ff;
	color: var(--mjcap-blue);
	font-family: inherit;
	font-size: 10px;
	font-weight: 900;
	cursor: pointer;
	white-space: nowrap;
}
.mjcap-details__body { padding-top: 10px; }
.mjcap-detail-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.mjcap-detail-toolbar > span { color: var(--mjcap-muted); font-size: 9px; }
.mjcap-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px 32px; gap: 8px; margin-top: 8px; }
.mjcap-detail-row label { margin: 0 !important; }
.mjcap-detail-row label > input { width: 100%; height: 39px !important; padding: 0 10px !important; }
.mjcap-detail-percent { position: relative; }
.mjcap-detail-percent input { padding-left: 24px !important; }
.mjcap-detail-percent b { position: absolute; left: 9px; top: 10px; color: #7a8ca3; font-size: 11px; font-weight: 500; }
.mjcap-detail-row > button {
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 10px;
	background: #f3f6fa;
	color: #8494a8;
	cursor: pointer;
}
.mjcap-detail-row > button:hover { background: #fff0f1; color: #dc3344; }
.mjcap-builder [hidden],
.mjcap-candidate-card [hidden] { display: none !important; }

/* Public presentation. */
.mjcap-public { --mjcap-blue: #086bff; --mjcap-text: #12263f; --mjcap-muted: #687a90; }
.mjcap-match-summary { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; padding: 13px 15px; border: 1px solid #d6e7ff; border-radius: 15px; background: #f2f7ff; }
.mjcap-match-summary > i { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #fff; color: #086bff; }
.mjcap-match-summary strong,
.mjcap-match-summary span { display: block; }
.mjcap-match-summary strong { color: var(--mjcap-text); font-weight: 950; }
.mjcap-match-summary span { margin-top: 2px; color: var(--mjcap-muted); font-size: 11px; }
.mjcap-match-summary.is-strong { border-color: #ccefd9; background: #effbf4; }
.mjcap-match-summary.is-strong > i { color: #159550; }
.mjcap-match-summary.is-low { border-color: #ffe1c9; background: #fff7f1; }
.mjcap-match-summary.is-low > i { color: #e77920; }
.mjcap-public-group + .mjcap-public-group { margin-top: 15px; }
.mjcap-public-group h3 { margin: 0 0 9px !important; color: var(--mjcap-text) !important; font-size: 13px !important; font-weight: 900 !important; }
.mjcap-public-group h3 i { margin-left: 6px; }
.mjcap-public-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.mjcap-public-chips span { padding: 7px 11px; border: 1px solid #dce7f5; border-radius: 999px; background: #f7faff; color: #38516e; font-size: 11px; font-weight: 800; }
.mjcap-public-chips .is-required { border-color: #ffd7db; background: #fff4f5; color: #c92e3c; }
.mjcap-public-chips .is-preferred { border-color: #ffe3b4; background: #fff9ed; color: #a96200; }
.mjcap-candidate-public-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.mjcap-candidate-public-item { padding: 14px; border: 1px solid #dce7f5; border-radius: 16px; background: #fff; }
.mjcap-candidate-public-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.mjcap-candidate-public-head strong,
.mjcap-candidate-public-head span { display: block; }
.mjcap-candidate-public-head strong { color: var(--mjcap-text); font-size: 13px; font-weight: 950; }
.mjcap-candidate-public-head span { margin-top: 2px; color: var(--mjcap-muted); font-size: 10px; }
.mjcap-candidate-public-head > b { color: var(--mjcap-blue); font-size: 14px; }
.mjcap-progress { display: block; width: 100%; height: 7px; margin: 10px 0; overflow: hidden; appearance: none; -webkit-appearance: none; border: 0; border-radius: 999px; background: #e7eef8; }
.mjcap-progress::-webkit-progress-bar { border-radius: 999px; background: #e7eef8; }
.mjcap-progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #086bff, #59a4ff); }
.mjcap-progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #086bff, #59a4ff); }
.mjcap-candidate-public-item p { margin: 0 !important; color: #596d84; font-size: 11px; line-height: 1.8; }
.mjcap-candidate-public-item ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0 !important; padding: 0 !important; list-style: none !important; }
.mjcap-candidate-public-item li { display: flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 9px; background: #f2f6fb; color: #52677f; font-size: 10px; }
.mjcap-candidate-public-item li b { color: #086bff; }

@media (max-width: 767px) {
	.mjcap-choice-guide,
	.mjcap-steps { grid-template-columns: 1fr; }
	.mjcap-manual,
	.mjcap-result,
	.mjcap-details__head,
	.mjcap-detail-toolbar { align-items: stretch; flex-direction: column; }
	.mjcap-result > div:last-child,
	.mjcap-manual > div:last-child { width: 100%; }
	.mjcap-result button,
	.mjcap-manual button { flex: 1; }
	.mjcap-job-item { grid-template-columns: minmax(0, 1fr) 32px; }
	.mjcap-importance { grid-column: 1 / -1; width: 100%; }
	.mjcap-importance button { flex: 1; justify-content: center; }
	.mjcap-candidate-public-list { grid-template-columns: 1fr; }
	.mjcap-detail-row { grid-template-columns: minmax(0, 1fr) 84px 32px; }
	.mjcap-proficiency > div:nth-child(2) { grid-template-columns: minmax(0, 1fr) 64px; }
	.mjcap-proficiency > div:first-child { align-items: stretch; flex-direction: column; }
	.mjcap-proficiency-value { justify-content: space-between; }
}
.mjcap-public-level { display: grid; justify-items: end; gap: 2px; flex-shrink: 0; }
.mjcap-public-level b { color: var(--mjcap-blue); font-size: 14px; }
.mjcap-public-level small { color: var(--mjcap-muted); font-size: 8px; font-weight: 800; }

/* UX refinement — r104. Component-scoped only. */
.mjcap-behavior-note,
.mjcap-trust-note {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: -3px 0 13px;
	padding: 10px 12px;
	border: 1px solid #dce9f8;
	border-radius: 12px;
	background: #fbfdff;
	color: #60758d;
	font-size: 10px;
	line-height: 1.8;
}
.mjcap-behavior-note > i,
.mjcap-trust-note > i {
	margin-top: 3px;
	color: var(--mjcap-blue);
	font-size: 14px;
	flex: 0 0 auto;
}
.mjcap-behavior-note strong,
.mjcap-trust-note strong { color: var(--mjcap-text); }
.mjcap-trust-note {
	margin: -4px 0 13px;
	border-color: #d9ebdf;
	background: #f6fcf8;
}
.mjcap-trust-note > i { color: var(--mjcap-green); }

.mjcap-search-help {
	display: block;
}
.mjcap-search-help > i { margin-left: 4px; color: #6f91bd; }
.mjcap-search-clear {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	min-width: 30px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	background: transparent;
	color: #8293a8;
	cursor: pointer;
}
.mjcap-search-clear:hover { background: #eaf2fc; color: var(--mjcap-blue); }
.mjcap-search-clear:focus-visible,
.mjcap-result button:focus-visible,
.mjcap-manual button:focus-visible,
.mjcap-importance button:focus-visible,
.mjcap-remove:focus-visible,
.mjcap-details button:focus-visible,
.mjcap-detail-row > button:focus-visible,
.mjcap-feedback button:focus-visible {
	outline: 3px solid rgba(8, 107, 255, .22);
	outline-offset: 2px;
}
.mjcap-results[aria-busy="true"] { cursor: progress; }
.mjcap-result-empty.is-loading {
	position: relative;
	overflow: hidden;
	min-height: 64px;
	border-radius: 12px;
	background: linear-gradient(90deg, #f7f9fc 25%, #eef4fb 38%, #f7f9fc 63%);
	background-size: 300% 100%;
	animation: mjcap-shimmer 1.25s ease-in-out infinite;
	color: #6f8299;
	font-weight: 800;
}
@keyframes mjcap-shimmer { to { background-position: -120% 0; } }

.mjcap-feedback {
	position: relative;
	flex-wrap: wrap;
	box-shadow: 0 8px 24px rgba(27, 73, 126, .08);
}
.mjcap-feedback > span { min-width: 180px; }
.mjcap-feedback__action {
	width: auto !important;
	height: 30px !important;
	padding: 0 10px !important;
	border: 1px solid currentColor !important;
	border-radius: 9px !important;
	background: #fff !important;
	font-family: inherit;
	font-size: 10px !important;
	font-weight: 900;
	cursor: pointer;
}
.mjcap-feedback__close { margin-right: auto; }

.mjcap-selected-head { align-items: center; }
.mjcap-selected-head > div { min-width: 0; }
.mjcap-selected-head small[data-mjcap-count-note] {
	max-width: 620px;
	font-size: 10px;
	line-height: 1.7;
	transition: color .2s;
}
.mjcap-selected-head > span {
	border: 1px solid #dce7f5;
	background: #f7faff;
	color: #3f628d;
}
.mjcap-job-item,
.mjcap-candidate-item { scroll-margin-top: 110px; }
.mjcap-job-item:focus-within,
.mjcap-candidate-item:focus-within {
	border-color: #9dc2f7;
	box-shadow: 0 0 0 3px rgba(8, 107, 255, .07);
}
.mjcap-remove { transition: background .18s, color .18s, transform .18s; }
.mjcap-remove:hover { transform: translateY(-1px); }
.mjcap-empty {
	min-height: 82px;
	background: linear-gradient(180deg, #fbfdff, #f8fbff);
}
.mjcap-empty i { font-size: 18px; }

.mjcap-result button { min-height: 36px; }
.mjcap-result .is-add { min-width: 82px; }
.mjcap-manual button { min-height: 38px; }
.mjcap-candidate-item__head .mjcap-remove { flex: 0 0 auto; }
.mjcap-proficiency-value { min-width: 110px; justify-content: flex-end; }
.mjcap-note textarea::placeholder,
.mjcap-detail-row input::placeholder,
.mjcap-search input::placeholder { color: #8b9bad; opacity: 1; }

.mjcap-match-summary span { line-height: 1.8; }
.mjcap-public-chips span { transition: transform .18s, box-shadow .18s; }
.mjcap-public-chips span:hover { transform: translateY(-1px); box-shadow: 0 5px 13px rgba(27, 73, 126, .07); }

@media (max-width: 767px) {
	.mjcap-behavior-note,
	.mjcap-trust-note { margin-bottom: 12px; }
	.mjcap-selected-head { align-items: flex-start; }
	.mjcap-selected-head > span { margin-top: 2px; }
	.mjcap-feedback__action { flex: 1 1 auto; }
	.mjcap-feedback__close { margin-right: 0; }
	.mjcap-result button { min-height: 42px; }
}

@media (prefers-reduced-motion: reduce) {
	.mjcap-builder *,
	.mjcap-candidate-card * {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}
.mjcap-match-disclaimer {
	display: block;
	margin-top: 5px;
	color: #7a8da4;
	font-size: 9px;
	font-weight: 700;
	line-height: 1.7;
}

/* MineJobs capabilities — centered toast feedback */
.mjcap-toast-region {
	position: fixed;
	top: max(18px, env(safe-area-inset-top));
	left: 50%;
	z-index: 100000;
	display: grid;
	gap: 8px;
	width: min(92vw, 520px);
	transform: translateX(-50%);
	pointer-events: none;
}
.mjcap-toast-region .mjcap-feedback {
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	border-radius: 13px;
	box-shadow: 0 16px 44px rgba(25, 58, 96, .18);
	backdrop-filter: blur(10px);
	pointer-events: auto;
}
.mjcap-toast-region .mjcap-feedback.is-leaving { transform: translateY(-8px) scale(.98); }
@media (max-width: 782px) {
	.mjcap-toast-region { top: max(10px, env(safe-area-inset-top)); width: calc(100vw - 20px); }
}

/* Readability and touch-target pass */
.mjcap-intro p,
.mjcap-choice-guide,
.mjcap-steps small,
.mjcap-search-help,
.mjcap-manual small,
.mjcap-selected-head small,
.mjcap-job-item__copy > span,
.mjcap-proficiency small,
.mjcap-field-help,
.mjcap-details__head span,
.mjcap-detail-toolbar > span,
.mjcap-candidate-public-head span,
.mjcap-candidate-public-item li,
.mjcap-match-disclaimer { font-size: 11px; }
.mjcap-result button,
.mjcap-manual button,
.mjcap-importance button,
.mjcap-details button { min-height: 40px; }
@media (max-width: 782px) {
	.mjcap-result button,
	.mjcap-manual button,
	.mjcap-importance button,
	.mjcap-details button,
	.mjcap-remove,
	.mjcap-search-clear { min-width: 44px; min-height: 44px; }
}

/* UX and behavioral design pass — r105. Component-scoped only. */
.mjcap-form-alert {
	margin: 10px 0 12px;
	padding: 11px 13px;
	border: 1px solid #f2b8bd;
	border-radius: 12px;
	background: #fff5f6;
	color: #a72431;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.8;
}
.mjcap-form-alert:focus { outline: 3px solid rgba(194, 35, 52, .14); outline-offset: 2px; }
.mjcap-builder .is-invalid,
.mjcap-candidate-card .is-invalid {
	border-color: #db4352 !important;
	box-shadow: 0 0 0 3px rgba(219, 67, 82, .10) !important;
}
.mjcap-count-breakdown {
	display: block;
	margin-top: 2px;
	color: #6782a0;
	font-weight: 800;
}

.mjcap-manual {
	display: block;
	padding: 0;
	overflow: hidden;
}
.mjcap-manual__toggle {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) 16px;
	align-items: center;
	gap: 9px;
	width: 100%;
	min-height: 54px;
	padding: 10px 12px;
	border: 0;
	background: transparent;
	color: #3f5d7e;
	text-align: right;
	cursor: pointer;
}
.mjcap-manual__toggle > i:first-child { color: #d99100; font-size: 16px; }
.mjcap-manual__toggle > i:last-child { color: #8297ae; transition: transform .18s; }
.mjcap-manual__toggle[aria-expanded="true"] > i:last-child { transform: rotate(180deg); }
.mjcap-manual__toggle span,
.mjcap-manual__toggle strong,
.mjcap-manual__toggle small { display: block; }
.mjcap-manual__toggle strong { color: var(--mjcap-text); font-size: 12px; }
.mjcap-manual__toggle small { margin-top: 2px; color: #6d8299; font-size: 11px; line-height: 1.7; }
.mjcap-manual__body {
	padding: 11px 12px 12px;
	border-top: 1px solid #f0dfbc;
	background: #fffdf8;
}
.mjcap-manual__body p { margin: 0 0 10px !important; color: #6b7e93; font-size: 11px; line-height: 1.8; }
.mjcap-manual__body > div { display: flex; flex-wrap: wrap; gap: 8px; }
.mjcap-manual__body button { min-height: 40px; }

.mjcap-proficiency-presets {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 7px;
	margin: 12px 0 9px;
}
.mjcap-proficiency-presets button {
	display: grid;
	gap: 2px;
	min-height: 50px;
	padding: 7px 6px;
	border: 1px solid #dce7f5;
	border-radius: 11px;
	background: #fff;
	color: #60758d;
	font-family: inherit;
	font-size: 10px;
	font-weight: 800;
	cursor: pointer;
	transition: border-color .18s, background .18s, transform .18s, box-shadow .18s;
}
.mjcap-proficiency-presets button:hover { transform: translateY(-1px); border-color: #a9c9f6; background: #f8fbff; }
.mjcap-proficiency-presets button.is-active {
	border-color: #5c9ff7;
	background: #edf6ff;
	color: #095fbf;
	box-shadow: 0 0 0 2px rgba(8, 107, 255, .07);
}
.mjcap-proficiency-presets b { font-size: 13px; }
.mjcap-proficiency-presets span { line-height: 1.4; }
.mjcap-field-meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-top: 5px;
}
.mjcap-char-count {
	flex: 0 0 auto;
	color: #71869e;
	font-variant-numeric: tabular-nums;
}
.mjcap-public-note {
	display: flex;
	align-items: flex-start;
	gap: 7px;
	margin: 0 0 13px !important;
	padding: 9px 11px;
	border: 1px solid #dce7f5;
	border-radius: 11px;
	background: #f8fbff;
	color: #637991;
	font-size: 11px;
	line-height: 1.8;
}
.mjcap-public-note i { margin-top: 3px; color: #4e88cf; }
.mjcap-result button:disabled {
	border-color: #dce5ef !important;
	background: #f2f5f8 !important;
	color: #7d8da0 !important;
	cursor: default;
	opacity: 1;
}
.mjcap-feedback > span { font-size: 12px; line-height: 1.7; }

@media (max-width: 767px) {
	.mjcap-proficiency-presets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mjcap-field-meta { align-items: stretch; flex-direction: column; gap: 3px; }
	.mjcap-char-count { align-self: flex-end; }
	.mjcap-manual__body > div { display: grid; grid-template-columns: 1fr; }
}


/* User suggestions: duplicate-safe review queue and private candidate status. */
.mjcap-result-empty.is-warning {
	border-top: 1px solid #f3dfad;
	background: #fffbef;
	color: #80611d;
}
.mjcap-result-empty.is-warning > i { color: #c58a13; }
.mjcap-result-empty.is-warning strong { color: #6f5113; }

.mjcap-manual-type {
	display: grid;
	gap: 6px;
	margin: 0 0 11px;
}
.mjcap-manual-type > span {
	color: #526b85;
	font-size: 11px;
	font-weight: 900;
}
.mjcap-manual-type select {
	width: 100%;
	min-height: 42px;
	padding: 7px 11px;
	border: 1px solid #d7e3f1;
	border-radius: 10px;
	background: #f7f9fc;
	color: #243d59;
	font-family: inherit;
	font-size: 12px;
	outline: 0;
	transition: border-color .18s, box-shadow .18s, background .18s;
}
.mjcap-manual-type select:focus {
	border-color: #4e9aff;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(8, 107, 255, .10);
}
.mjcap-manual--candidate .mjcap-manual__body {
	display: grid;
	gap: 10px;
}
.mjcap-manual--candidate .mjcap-manual__body p,
.mjcap-manual--candidate .mjcap-manual-type { margin-bottom: 0 !important; }
.mjcap-candidate-suggest {
	width: 100%;
	min-height: 42px;
	background: linear-gradient(135deg, #087cff, #075fd3);
	color: #fff;
	box-shadow: 0 8px 18px rgba(8, 107, 255, .16);
}
.mjcap-candidate-suggest:hover { box-shadow: 0 10px 22px rgba(8, 107, 255, .22); }
.mjcap-candidate-suggest:disabled { opacity: .65; cursor: wait; transform: none !important; }

.mjcap-candidate-pending {
	margin-top: 14px;
	padding: 13px;
	border: 1px solid #efdba7;
	border-radius: 14px;
	background: #fffcf4;
}
.mjcap-candidate-pending__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 9px;
}
.mjcap-candidate-pending__head strong,
.mjcap-candidate-pending__head small { display: block; }
.mjcap-candidate-pending__head strong { color: #604812; font-size: 12px; font-weight: 900; }
.mjcap-candidate-pending__head small { margin-top: 3px; color: #816c3c; font-size: 10px; line-height: 1.7; }
.mjcap-candidate-pending__head > span {
	flex: 0 0 auto;
	padding: 4px 8px;
	border-radius: 999px;
	background: #fff3d2;
	color: #8b6207;
	font-size: 10px;
	font-weight: 900;
}
.mjcap-candidate-pending__list { display: grid; gap: 7px; }
.mjcap-pending-suggestion {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 11px;
	border: 1px solid #f0dfb5;
	border-radius: 11px;
	background: #fff;
}
.mjcap-pending-suggestion__copy { min-width: 0; }
.mjcap-pending-suggestion__copy strong,
.mjcap-pending-suggestion__copy span { display: block; }
.mjcap-pending-suggestion__copy strong {
	overflow: hidden;
	color: #293f58;
	font-size: 12px;
	font-weight: 900;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.mjcap-pending-suggestion__copy > span { margin-top: 4px; color: #78899b; font-size: 10px; }
.mjcap-pending-suggestion__cancel {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 34px;
	padding: 6px 9px;
	border: 1px solid #f0c9cd;
	border-radius: 9px;
	background: #fff7f8;
	color: #b72f3d;
	font-family: inherit;
	font-size: 10px;
	font-weight: 900;
	cursor: pointer;
}
.mjcap-pending-suggestion__cancel:hover { border-color: #df9da5; background: #fff0f2; }
.mjcap-pending-suggestion__cancel:disabled { opacity: .6; cursor: wait; }
.mjcap-pending-suggestion__cancel:focus-visible,
.mjcap-candidate-suggest:focus-visible,
.mjcap-manual-type select:focus-visible {
	outline: 3px solid rgba(8, 107, 255, .16);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.mjcap-candidate-pending__head,
	.mjcap-pending-suggestion { align-items: stretch; flex-direction: column; }
	.mjcap-candidate-pending__head > span { align-self: flex-start; }
	.mjcap-pending-suggestion__cancel { width: 100%; }
}
