/* Natlage Talent Engine — corporate palette
   Teal:  #35A79C  (buttons on natlage.com)
   Navy:  #27395D  (headings / logo)
   Mist:  #F2F5F8  (background)
*/
:root {
	--nte-teal: #35A79C;
	--nte-teal-dark: #2C8F85;
	--nte-navy: #27395D;
	--nte-mist: #F2F5F8;
	--nte-ink: #3D4A5C;
	--nte-line: #E3E9F0;
}

.nte-wrap { max-width: 860px; margin: 0 auto; color: var(--nte-ink); }

.nte-card {
	background: #fff;
	border: 1px solid var(--nte-line);
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 6px 24px rgba(39, 57, 93, 0.07);
}

.nte-heading { color: var(--nte-navy); font-size: 28px; margin: 0 0 6px; }
.nte-heading-3 { color: var(--nte-navy); font-size: 20px; margin: 28px 0 4px; }
.nte-sub { color: #6b7889; margin: 0 0 22px; }

.nte-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.nte-col-2 { grid-column: span 2; }
@media (max-width: 640px) { .nte-grid { grid-template-columns: 1fr; } .nte-col-2 { grid-column: span 1; } }

.nte-field label { display: block; font-weight: 600; color: var(--nte-navy); margin-bottom: 6px; font-size: 14px; }
.nte-field label small { font-weight: 400; color: #8b97a7; }
.nte-field input[type="text"],
.nte-field input[type="email"],
.nte-field input[type="tel"],
.nte-field select,
.nte-field textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--nte-line);
	border-radius: 8px;
	font-size: 15px;
	background: #fff;
	box-sizing: border-box;
}
.nte-field input:focus, .nte-field select:focus, .nte-field textarea:focus {
	outline: none;
	border-color: var(--nte-teal);
	box-shadow: 0 0 0 3px rgba(53, 167, 156, 0.18);
}

/* Category picker */
.nte-categories { display: flex; flex-direction: column; gap: 12px; margin: 14px 0 6px; }
.nte-cat {
	display: flex; align-items: center; gap: 14px;
	border: 1.5px solid var(--nte-line);
	border-radius: 10px;
	padding: 16px 18px;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.nte-cat:hover { border-color: var(--nte-teal); }
.nte-cat:has(input:checked) { border-color: var(--nte-teal); background: rgba(53, 167, 156, 0.06); }
.nte-cat input { accent-color: var(--nte-teal); width: 18px; height: 18px; }
.nte-cat-body { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.nte-cat-name { font-weight: 700; color: var(--nte-navy); }
.nte-cat-desc { font-size: 13px; color: #6b7889; }
.nte-cat-badge {
	display: inline-block; align-self: flex-start; margin-top: 4px;
	font-size: 11px; font-weight: 600; letter-spacing: .3px;
	color: var(--nte-teal-dark); background: rgba(53,167,156,.12);
	padding: 2px 9px; border-radius: 99px;
}
.nte-cat-price { font-weight: 700; color: var(--nte-navy); white-space: nowrap; }

.nte-total {
	text-align: right; font-size: 18px; font-weight: 700;
	color: var(--nte-navy); margin: 16px 0 8px;
}
.nte-total span { color: var(--nte-teal-dark); }

.nte-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 13.5px; color: #6b7889; margin: 14px 0 22px; }
.nte-consent input { margin-top: 3px; accent-color: var(--nte-teal); }

/* Buttons */
.nte-btn {
	display: inline-block; border: 0; cursor: pointer;
	border-radius: 8px; font-weight: 700; text-decoration: none;
	transition: background .15s, transform .05s;
}
.nte-btn-primary {
	background: var(--nte-teal); color: #fff;
	padding: 15px 36px; font-size: 16px; width: 100%;
}
.nte-btn-primary:hover { background: var(--nte-teal-dark); color: #fff; }
.nte-btn-small { background: var(--nte-teal); color: #fff; padding: 7px 16px; font-size: 13px; }
.nte-btn-small:hover { background: var(--nte-teal-dark); color: #fff; }

/* Alerts, pills, table */
.nte-alert { border-radius: 8px; padding: 14px 18px; margin-bottom: 18px; font-size: 14.5px; }
.nte-alert-error { background: #FDECEC; color: #A33A3A; border: 1px solid #F3C9C9; }

.nte-pill { display: inline-block; padding: 3px 12px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.nte-pill-active { background: rgba(53,167,156,.14); color: var(--nte-teal-dark); }
.nte-pill-pending { background: #FFF4E0; color: #A9741F; }

.nte-table { width: 100%; border-collapse: collapse; }
.nte-table th, .nte-table td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--nte-line); font-size: 14.5px; }
.nte-table th { color: var(--nte-navy); }

.nte-thankyou { margin: 24px 0; border-left: 4px solid var(--nte-teal); }

/* Admin */
.nte-admin .nte-stats { display: flex; gap: 16px; margin: 18px 0 26px; flex-wrap: wrap; }
.nte-admin .nte-stat {
	background: #fff; border: 1px solid var(--nte-line); border-radius: 10px;
	padding: 18px 26px; min-width: 170px;
	display: flex; flex-direction: column; gap: 2px;
	border-top: 4px solid var(--nte-teal);
}
.nte-admin .nte-stat-num { font-size: 30px; font-weight: 800; color: var(--nte-navy); }

/* ===================== Job Portal ===================== */

.nte-alert-success { background: #E8F6F4; color: #1F6B63; border: 1px solid #BFE5E0; }

.nte-portal-head {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 20px; flex-wrap: wrap; margin-bottom: 22px;
}
.nte-search {
	min-width: 280px; padding: 12px 18px;
	border: 1.5px solid var(--nte-line); border-radius: 99px;
	font-size: 15px; background: #fff;
}
.nte-search:focus { outline: none; border-color: var(--nte-teal); box-shadow: 0 0 0 3px rgba(53,167,156,.18); }

.nte-jobs { display: flex; flex-direction: column; gap: 18px; }

.nte-job {
	background: #fff;
	border: 1px solid var(--nte-line);
	border-left: 4px solid var(--nte-teal);
	border-radius: 12px;
	padding: 24px 26px;
	transition: box-shadow .18s, transform .18s;
}
.nte-job:hover { box-shadow: 0 12px 32px rgba(39,57,93,.12); transform: translateY(-2px); }

.nte-job-top { display: flex; align-items: center; gap: 16px; }
.nte-job-logo {
	width: 52px; height: 52px; flex: none;
	border-radius: 12px; display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--nte-navy), var(--nte-teal));
	color: #fff; font-weight: 800; font-size: 22px;
}
.nte-job-title-wrap { flex: 1; min-width: 0; }
.nte-job-title { margin: 0; font-size: 19px; }
.nte-job-title a { color: var(--nte-navy); text-decoration: none; }
.nte-job-title a:hover { color: var(--nte-teal-dark); }
.nte-job-company { color: #6b7889; font-size: 14px; margin-top: 2px; }

.nte-deadline {
	flex: none; font-size: 13px; font-weight: 700;
	color: var(--nte-teal-dark); background: rgba(53,167,156,.12);
	padding: 6px 14px; border-radius: 99px; white-space: nowrap;
}
.nte-deadline-hot { color: #B33A3A; background: #FDECEC; }

.nte-job-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 14px 0 0; font-size: 13.5px; color: #55637a; }
.nte-single-meta { margin-bottom: 20px; padding: 14px 18px; background: var(--nte-mist); border-radius: 10px; }

.nte-tag {
	display: inline-block; font-size: 11.5px; font-weight: 700; letter-spacing: .3px;
	background: rgba(39,57,93,.07); color: var(--nte-navy);
	padding: 3px 11px; border-radius: 99px;
}
.nte-tag-new { background: var(--nte-teal); color: #fff; margin-left: 8px; vertical-align: middle; }

.nte-job-excerpt { color: #55637a; font-size: 14.5px; margin: 12px 0 0; }

.nte-job-actions { display: flex; align-items: center; gap: 12px; margin-top: 18px; }

.nte-btn-ghost {
	background: transparent; color: var(--nte-teal-dark);
	border: 1.5px solid var(--nte-teal); padding: 8px 20px; font-size: 13.5px;
	border-radius: 8px;
}
.nte-btn-ghost:hover { background: rgba(53,167,156,.08); color: var(--nte-teal-dark); }
.nte-btn-inline { width: auto; display: inline-block; }

/* Locked state + teaser */
.nte-locked { text-align: center; padding: 48px 28px; }
.nte-locked-icon { font-size: 44px; margin-bottom: 8px; }
.nte-teaser { margin-top: 36px; display: flex; flex-direction: column; gap: 12px; text-align: left; }
.nte-job-blur { filter: blur(3.5px); opacity: .65; pointer-events: none; user-select: none; }
.nte-teaser-note { text-align: center; color: #6b7889; font-weight: 600; }

.nte-empty { text-align: center; padding: 44px 28px; }

@media (max-width: 560px) {
	.nte-job-top { flex-wrap: wrap; }
	.nte-portal-head { flex-direction: column; align-items: stretch; }
	.nte-search { min-width: 0; width: 100%; box-sizing: border-box; }
}

/* ============ v1.2 Premium pass — theme/Elementor-proof ============ */

/* Hard reset inside our forms so no theme or Elementor style can break layout */
.nte-wrap .nte-form,
.nte-wrap .nte-form * { box-sizing: border-box !important; float: none !important; }

.nte-wrap .nte-field { display: block !important; margin: 0 !important; }
.nte-wrap .nte-field label {
	display: block !important; width: 100% !important;
	font-weight: 600 !important; color: var(--nte-navy) !important;
	margin: 0 0 7px !important; font-size: 14px !important; line-height: 1.4 !important;
}
.nte-wrap .nte-field label em { color: var(--nte-teal-dark); font-style: normal; }
.nte-wrap .nte-field input[type="text"],
.nte-wrap .nte-field input[type="email"],
.nte-wrap .nte-field input[type="tel"],
.nte-wrap .nte-field input[type="url"],
.nte-wrap .nte-field input[type="date"],
.nte-wrap .nte-field input[type="number"],
.nte-wrap .nte-field select,
.nte-wrap .nte-field textarea {
	display: block !important; width: 100% !important; max-width: 100% !important;
	margin: 0 !important; padding: 13px 16px !important;
	border: 1.5px solid var(--nte-line) !important; border-radius: 10px !important;
	font-size: 15px !important; line-height: 1.45 !important;
	background: #FBFCFE !important; color: var(--nte-ink) !important;
	box-shadow: none !important; height: auto !important;
	transition: border-color .15s, box-shadow .15s, background .15s;
}
.nte-wrap .nte-field input:focus,
.nte-wrap .nte-field select:focus,
.nte-wrap .nte-field textarea:focus {
	outline: none !important; background: #fff !important;
	border-color: var(--nte-teal) !important;
	box-shadow: 0 0 0 4px rgba(53,167,156,.15) !important;
}
.nte-wrap .nte-grid {
	display: grid !important; grid-template-columns: 1fr 1fr !important;
	gap: 18px 22px !important; width: 100% !important;
}
.nte-wrap .nte-col-2 { grid-column: span 2 !important; }
@media (max-width: 640px) {
	.nte-wrap .nte-grid { grid-template-columns: 1fr !important; }
	.nte-wrap .nte-col-2 { grid-column: span 1 !important; }
}

/* Premium form shell */
.nte-premium-form { padding: 0 !important; overflow: hidden; border: 0 !important; box-shadow: 0 18px 50px rgba(39,57,93,.14) !important; }

.nte-form-hero {
	background: linear-gradient(120deg, var(--nte-navy) 0%, #1E5F63 60%, var(--nte-teal) 130%);
	padding: 44px 44px 38px; color: #fff;
}
.nte-form-kicker {
	display: inline-block; font-size: 11.5px; font-weight: 800; letter-spacing: 2px;
	text-transform: uppercase; color: #fff; background: rgba(255,255,255,.16);
	padding: 5px 14px; border-radius: 99px; margin-bottom: 14px;
}
.nte-form-title { margin: 0 0 10px; color: #fff; font-size: 30px; font-weight: 800; }
.nte-form-lede { margin: 0; color: rgba(255,255,255,.85); font-size: 15.5px; line-height: 1.65; max-width: 560px; }
.nte-form-perks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 20px; font-size: 13.5px; font-weight: 600; color: #CFEAE6; }

.nte-section { padding: 34px 44px 6px; }
.nte-section:last-of-type { padding-bottom: 10px; }
.nte-section-head { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.nte-section-head h3 { margin: 0 !important; color: var(--nte-navy); font-size: 18px; font-weight: 750; }
.nte-step {
	width: 34px; height: 34px; flex: none;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--nte-teal), var(--nte-teal-dark));
	color: #fff; font-weight: 800; font-size: 15px; border-radius: 10px;
	box-shadow: 0 4px 12px rgba(53,167,156,.35);
}

.nte-premium-form .nte-btn-primary { width: calc(100% - 88px) !important; margin: 26px 44px 8px !important; }
.nte-form-footnote { text-align: center; color: #8b97a7; font-size: 12.5px; margin: 0 44px 30px; }

@media (max-width: 640px) {
	.nte-form-hero, .nte-section { padding-left: 22px; padding-right: 22px; }
	.nte-premium-form .nte-btn-primary { width: calc(100% - 44px) !important; margin: 22px 22px 8px !important; }
	.nte-form-footnote { margin: 0 22px 26px; }
}

/* Delivery-method radio cards */
.nte-radio-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
@media (max-width: 720px) { .nte-radio-cards { grid-template-columns: 1fr; } }
.nte-radio-card {
	display: flex !important; gap: 12px; align-items: flex-start;
	border: 1.5px solid var(--nte-line); border-radius: 12px;
	padding: 16px 16px; cursor: pointer; background: #FBFCFE;
	transition: border-color .15s, background .15s, box-shadow .15s;
}
.nte-radio-card:hover { border-color: var(--nte-teal); }
.nte-radio-card:has(input:checked) {
	border-color: var(--nte-teal); background: rgba(53,167,156,.07);
	box-shadow: 0 0 0 4px rgba(53,167,156,.12);
}
.nte-radio-card input { margin-top: 3px !important; accent-color: var(--nte-teal); width: 17px !important; height: 17px !important; flex: none; }
.nte-radio-body { display: flex; flex-direction: column; gap: 4px; }
.nte-radio-body strong { color: var(--nte-navy); font-size: 14.5px; }
.nte-radio-body span { color: #6b7889; font-size: 12.5px; line-height: 1.5; }

/* ===================== v1.3 ===================== */

/* Value hero on registration page */
.nte-value-hero { margin-bottom: 22px; }
.nte-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 22px 0 6px; }
@media (max-width: 640px) { .nte-benefits { grid-template-columns: 1fr; } }
.nte-benefit { display: flex; flex-direction: column; gap: 5px; padding: 18px; border: 1px solid var(--nte-line); border-radius: 12px; background: #FBFCFE; }
.nte-benefit-ico { font-size: 24px; }
.nte-benefit strong { color: var(--nte-navy); font-size: 15px; }
.nte-benefit span:last-child { color: #6b7889; font-size: 13.5px; line-height: 1.55; }
.nte-trustline { margin: 18px 0 0; color: var(--nte-teal-dark); font-weight: 600; font-size: 14px; }

/* Pricing display */
.nte-cat-price { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.nte-price-was { color: #9aa6b5; font-weight: 500; font-size: 13px; }
.nte-price-now { color: var(--nte-teal-dark); font-weight: 800; }
.nte-price-free {
	background: var(--nte-teal); color: #fff; font-weight: 800; font-size: 12.5px;
	letter-spacing: .6px; padding: 4px 12px; border-radius: 99px;
}

/* Submit form professional intro (replaces gradient hero) */
.nte-premium-form { border: 1px solid var(--nte-line) !important; box-shadow: 0 6px 24px rgba(39,57,93,.07) !important; }
.nte-form-intro { padding: 36px 44px 6px; }
.nte-form-points { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 16px; font-size: 13.5px; font-weight: 600; color: var(--nte-teal-dark); }
@media (max-width: 640px) { .nte-form-intro { padding: 26px 22px 4px; } }
.nte-conditional-row { align-items: start !important; }

/* Filter bar */
.nte-filterbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin: 0 0 18px; }
.nte-chipset { display: flex; flex-wrap: wrap; gap: 8px; }
.nte-chip {
	border: 1.5px solid var(--nte-line); background: #fff; color: var(--nte-navy);
	font-size: 13px; font-weight: 600; padding: 7px 16px; border-radius: 99px; cursor: pointer;
	transition: all .15s;
}
.nte-chip:hover { border-color: var(--nte-teal); }
.nte-chip-on { background: var(--nte-teal); border-color: var(--nte-teal); color: #fff; }
.nte-sort {
	border: 1.5px solid var(--nte-line); border-radius: 10px; padding: 9px 14px;
	font-size: 13.5px; background: #fff; color: var(--nte-navy);
}

/* Featured + save */
.nte-job-featured { border-left-color: #E9B44C; background: linear-gradient(180deg, #FFFDF6, #fff 60%); }
.nte-tag-featured { background: #F6E7C6; color: #8A6A1F; margin-left: 8px; vertical-align: middle; }
.nte-save {
	flex: none; font-size: 22px; line-height: 1; text-decoration: none !important;
	color: #C6CFDA; padding: 4px 8px; border-radius: 8px; transition: color .15s, transform .1s;
}
.nte-save:hover { color: #E05B5B; transform: scale(1.15); }
.nte-save-on { color: #E05B5B; }

/* Single vacancy */
.nte-single { margin-top: 8px; }
.nte-single-hero {
	display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
	background: #fff; border: 1px solid var(--nte-line); border-left: 4px solid var(--nte-teal);
	border-radius: 14px; padding: 26px 28px; margin-bottom: 20px;
	box-shadow: 0 8px 28px rgba(39,57,93,.08);
}
.nte-single-logo { width: 64px; height: 64px; font-size: 28px; border-radius: 16px; }
.nte-single-hero-body { flex: 1; min-width: 220px; }
.nte-single-company { font-weight: 800; color: var(--nte-navy); font-size: 17px; margin-bottom: 8px; }
.nte-single-content { margin-bottom: 20px; line-height: 1.75; }
.nte-single-content p { margin: 0 0 16px; }

.nte-apply-card {
	background: #fff; border: 1px solid var(--nte-line); border-top: 4px solid var(--nte-teal);
	border-radius: 14px; padding: 26px 28px; text-align: center; margin-bottom: 26px;
	box-shadow: 0 8px 28px rgba(39,57,93,.08);
}
.nte-apply-head { display: flex; flex-direction: column; gap: 4px; margin-bottom: 16px; }
.nte-apply-head strong { color: var(--nte-navy); font-size: 19px; }
.nte-apply-head span { color: #6b7889; font-size: 13.5px; }
.nte-apply-sub { color: #6b7889; font-size: 13.5px; margin: 10px 0 0; }
.nte-share { margin-top: 18px; font-size: 13.5px; color: #8b97a7; }
.nte-share a, .nte-copylink { color: var(--nte-teal-dark); font-weight: 600; text-decoration: none; background: none; border: 0; cursor: pointer; font-size: 13.5px; padding: 0; }
.nte-share a:hover, .nte-copylink:hover { text-decoration: underline; }

.nte-similar { margin-bottom: 24px; }
.nte-similar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }
@media (max-width: 720px) { .nte-similar-grid { grid-template-columns: 1fr; } }
.nte-similar-card {
	display: flex; flex-direction: column; gap: 4px; text-decoration: none !important;
	background: #fff; border: 1px solid var(--nte-line); border-radius: 12px; padding: 16px 18px;
	transition: box-shadow .15s, transform .15s;
}
.nte-similar-card:hover { box-shadow: 0 8px 22px rgba(39,57,93,.1); transform: translateY(-2px); }
.nte-similar-card strong { color: var(--nte-navy); font-size: 14.5px; }
.nte-similar-card span { color: #8b97a7; font-size: 12.5px; }

/* Candidate dashboard */
.nte-dash { display: flex; flex-direction: column; gap: 20px; }
.nte-dash-profile { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.nte-dash-avatar {
	width: 68px; height: 68px; flex: none; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--nte-navy), var(--nte-teal));
	color: #fff; font-size: 30px; font-weight: 800;
}
.nte-dash-id { flex: 1; min-width: 220px; }
.nte-dash-meter { min-width: 220px; flex: 1; }
.nte-meter-label { font-size: 13px; color: #6b7889; margin-bottom: 6px; }
.nte-meter-label strong { color: var(--nte-teal-dark); }
.nte-meter { height: 9px; background: var(--nte-mist); border-radius: 99px; overflow: hidden; }
.nte-meter span { display: block; height: 100%; background: linear-gradient(90deg, var(--nte-teal), var(--nte-teal-dark)); border-radius: 99px; }
.nte-meter-hint { font-size: 12px; color: #8b97a7; margin-top: 6px; }

.nte-dash-cats { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 720px) { .nte-dash-cats { grid-template-columns: 1fr; } }
.nte-dash-cat {
	border: 1px solid var(--nte-line); border-radius: 12px; padding: 18px 20px;
	display: flex; flex-direction: column; gap: 8px; background: #FBFCFE;
}
.nte-dash-cat-expired { opacity: .75; }
.nte-dash-cat-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.nte-dash-cat-top strong { color: var(--nte-navy); font-size: 15.5px; }
.nte-dash-cat-meta { font-size: 12.5px; color: #8b97a7; }
.nte-dash-assess { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.nte-assess-badge { font-size: 12.5px; color: #6b7889; }
.nte-assess-passed { color: var(--nte-teal-dark); font-weight: 700; }
.nte-assess-failed { color: #A9741F; font-weight: 600; }

.nte-saved-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.nte-saved-list li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--nte-line); }
.nte-saved-list a { color: var(--nte-navy); font-weight: 600; text-decoration: none; }
.nte-saved-list a:hover { color: var(--nte-teal-dark); }
.nte-saved-list span { color: #8b97a7; font-size: 13px; }

/* ===== v1.3.1 — permanent button skin (matches natlage.com site buttons) =====
   Baked into the plugin so it applies now and in all future updates. */

.nte-wrap a.nte-btn, .nte-wrap .nte-btn, .nte-wrap button.nte-btn,
.nte-card a.nte-btn, .nte-card .nte-btn,
.nte-alert a.nte-btn, .nte-thankyou a.nte-btn {
	background: #41A398 !important;
	color: #ffffff !important;
	text-decoration: none !important;
	border: none !important;
	border-radius: 6px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
.nte-wrap a.nte-btn:hover, .nte-wrap .nte-btn:hover, .nte-wrap button.nte-btn:hover,
.nte-card a.nte-btn:hover, .nte-alert a.nte-btn:hover {
	background: #358B81 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}
.nte-wrap .nte-btn-ghost, .nte-card .nte-btn-ghost {
	background: transparent !important;
	color: #41A398 !important;
	border: 1.5px solid #41A398 !important;
	text-decoration: none !important;
}
.nte-wrap .nte-btn-ghost:hover, .nte-card .nte-btn-ghost:hover {
	background: rgba(65, 163, 152, 0.08) !important;
	color: #358B81 !important;
	text-decoration: none !important;
}
.nte-wrap .nte-btn-primary, .nte-wrap .nte-btn-inline {
	padding: 14px 34px !important;
	font-size: 16px !important;
}
.nte-wrap .nte-btn-small, .nte-card .nte-btn-small, .nte-alert .nte-btn-small {
	padding: 8px 20px !important;
	font-size: 14px !important;
}
.nte-wrap a.nte-btn:visited, .nte-wrap a.nte-btn:focus, .nte-wrap a.nte-btn:active,
.nte-card a.nte-btn:visited, .nte-card a.nte-btn:focus, .nte-card a.nte-btn:active {
	color: #ffffff !important;
	text-decoration: none !important;
}
.nte-wrap a.nte-btn-ghost:visited, .nte-wrap a.nte-btn-ghost:focus,
.nte-card a.nte-btn-ghost:visited, .nte-card a.nte-btn-ghost:focus {
	color: #41A398 !important;
	text-decoration: none !important;
}
.nte-wrap .nte-card a:not(.nte-btn),
.nte-wrap .nte-alert a:not(.nte-btn),
.nte-wrap .nte-job-title a,
.nte-wrap .nte-similar-card,
.nte-wrap .nte-save {
	text-decoration: none !important;
}

/* Align the teal design tokens to the exact site color too */
:root {
	--nte-teal: #41A398;
	--nte-teal-dark: #358B81;
}

/* ===================== v1.4 ===================== */

/* Applied banner hand-off */
.nte-applied-banner { text-align: left; }
.nte-applied-actions { margin: 14px 0 8px; display: flex; gap: 10px; flex-wrap: wrap; }
.nte-applied-note { display: block; font-size: 12px; color: #5c8a84; }

/* Dashboard avatar image + edit profile */
.nte-dash-avatar-img { object-fit: cover; border: 3px solid var(--nte-teal); }
img.nte-dash-avatar { width: 68px; height: 68px; border-radius: 50%; }
.nte-edit summary {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	cursor: pointer; list-style: none; flex-wrap: wrap;
}
.nte-edit summary::-webkit-details-marker { display: none; }
.nte-edit summary::after { content: "▾"; color: var(--nte-teal-dark); font-size: 18px; transition: transform .2s; }
.nte-edit[open] summary::after { transform: rotate(180deg); }
.nte-edit-hint { color: #8b97a7; font-size: 13px; }

/* ===================== v1.5 — frontend admin panel ===================== */
.nte-fe-admin { border-top: 4px solid var(--nte-navy) !important; }
.nte-fe-admin-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.nte-fe-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.nte-fe-stats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-bottom: 8px; }
@media (max-width: 760px) { .nte-fe-stats { grid-template-columns: repeat(2, 1fr); } }
.nte-fe-stats > div {
	background: #FBFCFE; border: 1px solid var(--nte-line); border-radius: 10px;
	padding: 14px 12px; text-align: center; font-size: 12px; color: #6b7889;
	display: flex; flex-direction: column; gap: 2px;
}
.nte-fe-stats span { font-size: 24px; font-weight: 800; color: var(--nte-navy); }
.nte-fe-stats .nte-fe-warn { color: #C77B1E; }
.nte-fe-sub { color: var(--nte-navy); margin: 20px 0 8px; font-size: 14.5px; }

/* ===================== v1.6 — Tutor-grade dashboard ===================== */

.nte-dashx-grid { display: grid; grid-template-columns: 235px 1fr; gap: 22px; align-items: start; }
@media (max-width: 860px) { .nte-dashx-grid { grid-template-columns: 1fr; } }

.nte-dashx-side {
	background: #fff; border: 1px solid var(--nte-line); border-radius: 14px;
	padding: 24px 0 10px; position: sticky; top: 20px;
	box-shadow: 0 6px 24px rgba(39,57,93,.06);
}
.nte-dashx-me { text-align: center; padding: 0 18px 18px; border-bottom: 1px solid var(--nte-line); margin-bottom: 10px; }
.nte-dashx-avatar { width: 74px; height: 74px; border-radius: 50%; object-fit: cover; border: 3px solid var(--nte-teal); margin-bottom: 10px; }
.nte-dashx-avatar-txt {
	display: flex; align-items: center; justify-content: center; margin: 0 auto 10px;
	background: linear-gradient(135deg, var(--nte-navy), var(--nte-teal));
	color: #fff; font-size: 30px; font-weight: 800;
}
.nte-dashx-me strong { display: block; color: var(--nte-navy); font-size: 15.5px; }
.nte-dashx-role { display: inline-block; margin-top: 5px; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--nte-teal-dark); background: rgba(65,163,152,.12); padding: 3px 11px; border-radius: 99px; }

.nte-dashx-nav { display: flex; flex-direction: column; }
.nte-dashx-nav .nte-dnav {
	display: block; padding: 11px 22px; color: #55637a; font-size: 14px; font-weight: 600;
	text-decoration: none !important; border-left: 3px solid transparent;
	transition: background .12s, color .12s, border-color .12s;
}
.nte-dashx-nav .nte-dnav:hover { background: var(--nte-mist); color: var(--nte-navy); }
.nte-dashx-nav .nte-dnav-on { background: rgba(65,163,152,.1); color: var(--nte-teal-dark); border-left-color: var(--nte-teal); }
.nte-dashx-nav .nte-dnav-out { color: #b06a6a; margin-top: 6px; }

.nte-dashx-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.nte-dashx-head { padding: 4px 2px 0; }
.nte-dsec { display: flex; flex-direction: column; gap: 18px; }

/* Profile completion ring card */
.nte-ring-card { display: flex; align-items: center; gap: 20px; }
.nte-ring { width: 74px; height: 74px; flex: none; }
.nte-ring-bg { fill: none; stroke: var(--nte-mist); stroke-width: 6; }
.nte-ring-fg { fill: none; stroke: var(--nte-teal); stroke-width: 6; stroke-linecap: round; transform: rotate(-90deg); transform-origin: 30px 30px; }
.nte-ring-txt { font-size: 13px; font-weight: 800; fill: var(--nte-navy); }
.nte-ring-card strong { display: block; color: var(--nte-navy); font-size: 16.5px; margin-bottom: 3px; }
.nte-ring-hint { display: block; color: #6b7889; font-size: 13.5px; margin-bottom: 7px; }
.nte-ring-link { color: var(--nte-teal-dark) !important; font-weight: 700; font-size: 13.5px; text-decoration: none !important; }

/* Colored stat cards */
.nte-dashx-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
@media (max-width: 760px) { .nte-dashx-stats { grid-template-columns: repeat(2, 1fr); } }
.nte-dstat {
	background: #fff; border: 1px solid var(--nte-line); border-radius: 12px;
	padding: 18px; display: flex; align-items: center; gap: 13px;
	box-shadow: 0 4px 16px rgba(39,57,93,.05);
}
.nte-dstat-ico { width: 44px; height: 44px; flex: none; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.nte-dico-teal   { background: rgba(65,163,152,.14); }
.nte-dico-purple { background: rgba(124,93,220,.14); }
.nte-dico-amber  { background: rgba(233,180,76,.18); }
.nte-dico-rose   { background: rgba(224,91,91,.12); }
.nte-dstat b { display: block; font-size: 24px; color: var(--nte-navy); line-height: 1.1; }
.nte-dstat span:last-child span, .nte-dstat div span { font-size: 12.5px; color: #8b97a7; }

/* Admin charts */
.nte-fe-charts { display: grid; grid-template-columns: 1.4fr 1fr; gap: 16px; margin: 18px 0 6px; }
@media (max-width: 820px) { .nte-fe-charts { grid-template-columns: 1fr; } }
.nte-fe-chart { background: #FBFCFE; border: 1px solid var(--nte-line); border-radius: 12px; padding: 16px 18px; }
.nte-trend { width: 100%; height: 120px; }
.nte-trend-area { fill: rgba(65,163,152,.16); }
.nte-trend-line { fill: none; stroke: var(--nte-teal); stroke-width: 2.5; stroke-linejoin: round; }
.nte-trend-dot { fill: #fff; stroke: var(--nte-teal-dark); stroke-width: 2; }
.nte-pipe { display: flex; height: 30px; border-radius: 8px; overflow: hidden; background: var(--nte-mist); }
.nte-pipe span { display: block; height: 100%; min-width: 0; }
.nte-pipe-active  { background: var(--nte-teal); }
.nte-pipe-pending { background: #E9B44C; }
.nte-pipe-other   { background: #C6CFDA; }
.nte-pipe-legend { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 12px; font-size: 12.5px; color: #55637a; }
.nte-pipe-legend b { color: var(--nte-navy); }
.nte-pipe-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 5px; }
.nte-dot-active { background: var(--nte-teal); } .nte-dot-pending { background: #E9B44C; } .nte-dot-other { background: #C6CFDA; }
.nte-pipe-tip { margin: 12px 0 0; font-size: 12.5px; color: #6b7889; }

/* ===== v1.6.1 — theme-proof dashboard layout ===== */
.nte-wrap.nte-dashx { max-width: 1120px !important; width: 100% !important; }
.nte-dashx-grid {
	display: grid !important;
	grid-template-columns: 235px minmax(0, 1fr) !important;
	gap: 22px !important; width: 100% !important;
	align-items: start !important;
}
@media (max-width: 860px) { .nte-dashx-grid { grid-template-columns: 1fr !important; } }
.nte-dashx-side { display: block !important; margin: 0 !important; float: none !important; }
.nte-dashx-main { display: flex !important; flex-direction: column !important; gap: 18px !important; min-width: 0 !important; margin: 0 !important; float: none !important; }
.nte-dashx-head { display: block !important; position: static !important; background: none !important; padding: 4px 2px 0 !important; margin: 0 !important; height: auto !important; }
.nte-dsec { display: flex !important; flex-direction: column !important; gap: 18px !important; padding: 0 !important; margin: 0 !important; background: none !important; }
.nte-dsec[style*="display:none"], .nte-dsec[style*="display: none"] { display: none !important; }
.nte-dashx-nav { display: flex !important; flex-direction: column !important; gap: 0 !important; margin: 0 !important; padding: 0 !important; }
.nte-dashx-nav .nte-dnav { margin: 0 !important; line-height: 1.4 !important; padding: 11px 22px !important; }
