/* Dashboard track: user dashboard shell + WPJM forms/lists inside it, on the clone tokens (clone/base.css).
   Only var(--background|--text-*|--card-*|--border-*|--primary...) here: they flip with html[data-theme=dark].
   Scoped under .c-dash so nothing leaks to public pages. */

.c-dash {
	--d-on-primary: #fff;
	--d-surface: var(--background-secondary); /* resolved here: Elementor page wrappers redefine the token below */
	/* 94px = 70px floating header + 12px gap + 12px air; the admin bar (32/46px) is added below. */
	display: grid; gap: 24px; width: min(100% - 32px, var(--container, 1280px));
	margin: 0 auto 48px; padding-top: 94px; color: var(--text-primary);
}
html[data-theme="dark"] .c-dash { --d-on-primary: #0a071a; }
body.admin-bar .c-dash { padding-top: 126px; }
@media (max-width: 782px) { body.admin-bar .c-dash { padding-top: 140px; } }
.c-dash, .c-dash__main, .c-dash__content, .c-dash__content > * { min-width: 0; max-width: 100%; }

/* ---------- Nav / profile ---------- */
.c-dash .c-dash__toggle {
	justify-self: start; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px;
	font-weight: 600; font-size: 14px; color: var(--text-primary); background: var(--card-bg);
	border: 1px solid var(--border-medium); border-radius: var(--radius-md);
}
.c-dash .c-dash__toggle .icon { width: 20px; height: 20px; }
.c-dash .c-dash__nav {
	padding: 16px; background: var(--d-surface); color: var(--text-primary);
	border: 1px solid var(--card-border); border-radius: var(--radius-lg); box-shadow: var(--card-shadow);
}
.c-dash .c-dash-profile { border-bottom: 1px solid var(--border-subtle); }
.c-dash .c-dash-profile__name { color: var(--text-primary); font-weight: 600; }
.c-dash .c-dash-profile__role,
.c-dash .c-dash-nav__heading,
.c-dash .c-dash__copyright { color: var(--foreground-muted); }
.c-dash .c-dash__copyright { border-top: 1px solid var(--border-subtle); }
.c-dash .c-dash-nav__link,
.c-dash .c-dash-nav__list > li > a {
	display: flex; align-items: center; gap: 12px; min-height: 40px; padding: 8px 12px;
	border-radius: 10px; color: var(--text-secondary); font-size: 14px; font-weight: 500;
}
.c-dash .c-dash-nav__link .icon,
.c-dash .c-dash-nav .icon { width: 20px; height: 20px; min-width: 20px; flex: none; }
.c-dash .c-dash-nav__link:hover,
.c-dash .c-dash-nav__list > li > a:hover { color: var(--primary); background: var(--primary-50); }
.c-dash .c-dash-nav__list > li.active > a,
.c-dash .c-dash-nav__link[aria-current="page"] { color: var(--primary); background: var(--primary-100); font-weight: 600; }
@media (min-width: 1024px) {
	.c-dash .c-dash__nav { top: 86px; max-height: calc(100vh - 110px); overflow-y: auto; }
	body.admin-bar .c-dash .c-dash__nav { top: 118px; max-height: calc(100vh - 142px); }
}

/* ---------- Title ---------- */
.c-dash .c-dash__titlebar .c-page-header__title,
.c-dash .c-page-header__title {
	margin: 0; color: var(--text-primary); font-size: clamp(24px, 3vw, 32px); line-height: 1.2; font-weight: 700; letter-spacing: -.02em;
}
.c-dash .c-dash__titlebar { margin-bottom: 24px; }

/* ---------- Cards, stats ---------- */
.c-dash .dashboard-card-box, .c-dash .submit-listing-box, .c-dash .jm-dashboard-table {
	background: var(--d-surface); color: var(--text-primary);
	border: 1px solid var(--card-border); border-radius: var(--radius-lg); box-shadow: var(--card-shadow);
}
.c-dash .dashboard-card-box { padding: 20px; margin-bottom: 24px; }
.c-dash .submit-listing-box { padding: 24px; margin-bottom: 24px; }
.c-dash .dashboard-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.c-dash .dashboard-card-title .title, .c-dash .submit-listing-box > .title, .c-dash .submit-listing-box > h2 {
	margin: 0 0 16px; font-size: 18px; line-height: 1.3; font-weight: 600; color: var(--text-primary);
}
.c-dash .dashboard-card-title .title { margin: 0; }
.c-dash .item-count {
	display: inline-flex; align-items: center; min-height: 24px; padding: 0 10px; border-radius: 999px;
	font-size: 12px; font-weight: 600; color: var(--badge-cyan-text); background: var(--badge-cyan-bg); border: 1px solid var(--badge-cyan-border);
}
.c-dash .cariera-dashboard-list { display: grid; gap: 0; }
.c-dash .cariera-dashboard-list li { padding: 10px 0; color: var(--text-secondary); border-bottom: 1px solid var(--border-subtle); }
.c-dash .cariera-dashboard-list li:last-child { border-bottom: 0; }
.c-dash .cariera-dashboard-list a { color: var(--primary); text-decoration: underline; text-underline-offset: 2px; }
.c-dash .dashboard-main { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); margin: 0; }
.c-dash .dashboard-main > [class*="col-"] { width: auto; max-width: 100%; min-width: 0; padding: 0; float: none; }
@media (min-width: 1024px) { .c-dash .dashboard-main { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); } }
.c-dash .dashboard-cards { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); margin-bottom: 24px; }
.c-dash .dashboard-widget { margin: 0; min-width: 0; }
.c-dash .card-statistics {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 100%; padding: 20px;
	background: var(--d-surface); border: 1px solid var(--card-border); border-radius: var(--radius-lg); box-shadow: var(--card-shadow);
}
.c-dash .statistics-content { display: grid; gap: 4px; min-width: 0; }
.c-dash .statistics-content .counter { margin: 0; font-size: 32px; line-height: 1.1; font-weight: 700; color: var(--text-primary); }
.c-dash .statistics-content span { font-size: 14px; color: var(--foreground-muted); }
.c-dash .statistics-icon { display: none; } /* decorative Line Awesome glyph; renders inconsistently */
.c-dash .dashboard-content-views canvas { max-width: 100%; }

/* ---------- Alerts / notices (pills with AA text in both themes; tint is layered over the card colour) ---------- */
.c-dash .elementor-alert.elementor-alert, .c-dash :is(.job-manager-message, .job-manager-error, .job-manager-info, .woocommerce-message, .woocommerce-error, .woocommerce-info, .jm-notice) {
	--al-fg: var(--badge-gray-text); --al-bg: var(--badge-gray-bg); --al-bd: var(--badge-gray-border);
	position: relative; display: grid; gap: 4px; margin: 0 0 16px; padding: 14px 44px 14px 16px; font-size: 14px; line-height: 1.5;
	min-width: 0; max-width: 100%;
	color: var(--al-fg); background: linear-gradient(var(--al-bg), var(--al-bg)), var(--d-surface); border: 1px solid var(--al-bd); border-radius: var(--radius-md);
}
.c-dash .elementor-alert-title { font-size: 16px; font-weight: 600; color: inherit; }
.c-dash .elementor-alert-description { color: inherit; }
.c-dash .elementor-alert-description a, .c-dash :is(.job-manager-message, .job-manager-error, .job-manager-info, .woocommerce-error, .woocommerce-info, .woocommerce-message) a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.c-dash .elementor-alert-dismiss {
	position: absolute; top: 8px; right: 8px; display: grid; place-items: center; width: 28px; height: 28px; padding: 0;
	font-size: 20px; line-height: 1; color: inherit; background: transparent; border-radius: 8px;
}
.c-dash .elementor-alert-success .elementor-alert, .c-dash :is(.job-manager-message, .woocommerce-message) { --al-fg: var(--badge-emerald-text); --al-bg: var(--badge-emerald-bg); --al-bd: var(--badge-emerald-border); }
.c-dash .elementor-alert-info .elementor-alert, .c-dash :is(.job-manager-info, .woocommerce-info) { --al-fg: var(--badge-cyan-text); --al-bg: var(--badge-cyan-bg); --al-bd: var(--badge-cyan-border); }
.c-dash .elementor-alert-warning .elementor-alert { --al-fg: var(--badge-amber-text); --al-bg: var(--badge-amber-bg); --al-bd: var(--badge-amber-border); }
.c-dash .elementor-alert-danger .elementor-alert, .c-dash :is(.job-manager-error, .woocommerce-error) { --al-fg: var(--badge-red-text); --al-bg: var(--badge-red-bg); --al-bd: var(--badge-red-border); }
.c-dash .woocommerce-error { list-style: none; }
.c-dash .jm-notice { padding-right: 16px; }
.c-dash .jm-notice__message { color: inherit; }
.c-dash .jm-dashboard-empty { padding: 8px 0; }
.c-dash .jm-dashboard-empty .jm-notice { margin: 0; text-align: center; border-style: dashed; padding: 32px 16px; }

/* ---------- Buttons (primary = .btn-primary; ghost = .btn-ghost) ---------- */
.c-dash :is(a.button, input.button, button.button, input[type="submit"], .jm-ui-button, .btn-main, a.btn-main, .c-btn--primary) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 8px 20px; width: auto;
	font: 600 14px/20px var(--font-sans); text-decoration: none; cursor: pointer;
	color: var(--d-on-primary); background: var(--primary); border: 1px solid var(--primary); border-radius: var(--radius-md); box-shadow: none;
}
.c-dash :is(a.button, input.button, button.button, input[type="submit"], .jm-ui-button, .btn-main, a.btn-main, .c-btn--primary):hover {
	color: var(--d-on-primary); background: var(--primary-light); border-color: var(--primary-light);
}
.c-dash :is(.account-sign-in a.button, .button.secondary, .save_draft, .c-btn--secondary, .c-btn--outline, .jm-ui-button--outline) {
	color: var(--text-primary); background: transparent; border: 1px solid var(--border-medium);
}
.c-dash :is(.account-sign-in a.button, .button.secondary, .save_draft, .c-btn--secondary, .c-btn--outline, .jm-ui-button--outline):hover {
	color: var(--primary); background: var(--primary-50); border-color: var(--primary);
}
.c-dash .jm-ui-button span { color: inherit; }
.c-dash .jm-dialog-close, .c-dash .jm-ui-button--icon { min-width: 24px; min-height: 24px; }
.c-dash .account-sign-in { padding: 10px 16px; background: var(--gray-50); border: 1px solid var(--border-light); border-radius: var(--radius-md); display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }

/* ---------- Forms ---------- */
.c-dash fieldset { margin: 0 0 16px; padding: 0; border: 0; min-width: 0; }
.c-dash .job-manager-form .form-fields { display: block; }
.c-dash label, .c-dash legend { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; color: var(--text-primary); }
.c-dash label small { font-weight: 400; color: var(--foreground-muted); }
.c-dash :is(small, .description, .file-limit, .field-description, .form-text, .jm-ui-description) { color: var(--foreground-muted); font-size: 13px; line-height: 1.5; }
.c-dash :is(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], input.input-text, select, textarea, .jm-ui-input--search-icon) {
	width: 100%; max-width: 100%; min-height: 44px; padding: 10px 14px; font: 400 15px/24px var(--font-sans);
	color: var(--input-text); background-color: var(--input-bg); border: 1px solid var(--input-border); border-radius: var(--radius-md); box-shadow: none;
}
.c-dash textarea { min-height: 120px; }
.c-dash :is(input, select, textarea)::placeholder { color: var(--input-placeholder); opacity: 1; }
.c-dash :is(input, select, textarea):focus { outline: 2px solid var(--primary); outline-offset: 1px; border-color: var(--primary); }
.c-dash input[type="checkbox"], .c-dash input[type="radio"] { width: 18px; height: 18px; min-height: 0; accent-color: var(--primary); }
.c-dash input[type="file"] { max-width: 100%; color: var(--text-secondary); }
.c-dash input[type="file"]::file-selector-button { margin-right: 12px; padding: 6px 12px; font: 600 13px var(--font-sans); color: var(--text-primary); background: var(--gray-100); border: 1px solid var(--border-medium); border-radius: 8px; cursor: pointer; }
.c-dash select option { color: var(--text-primary); background: var(--d-surface); }
.c-dash .jm-dashboard__intro { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.c-dash .jm-dashboard__filters { flex: 1 1 240px; min-width: 0; }
.c-dash .jm-dashboard__filters form > div { display: flex; gap: 12px; }
.c-dash .jm-ui-input--search-icon { border-radius: 999px; }
.c-dash .jm-dashboard__actions { display: flex; flex-wrap: wrap; gap: 8px; }
/* company radio picker (post-job) */
.c-dash #company-selection { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.c-dash #company-selection .fieldset { margin: 0; }
.c-dash #company-selection label { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
/* The plugin prints its own "Company Details" h2 right above the box titled the same: keep the box title. */
.c-dash form.job-manager-form > h2:not(.title) { display: none; }

/* select2 / TinyMCE */
.c-dash .select2-container { max-width: 100%; width: 100% !important; }
.c-dash .select2-container--default .select2-selection--single, .c-dash .select2-container--default .select2-selection--multiple {
	min-height: 44px; color: var(--input-text); background: var(--input-bg); border: 1px solid var(--input-border); border-radius: var(--radius-md);
}
.c-dash .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 42px; color: var(--input-text); }
.c-dash .select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--input-placeholder); }
.c-dash .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.c-dash .select2-container--default .select2-selection--multiple .select2-selection__choice { color: var(--text-primary); background: var(--primary-100); border: 0; }
.c-dash .wp-editor-wrap, .c-dash .mce-tinymce { max-width: 100%; border-radius: var(--radius-md); overflow: hidden; }
.c-dash .mce-tinymce, .c-dash .mce-tinymce .mce-panel, .c-dash .mce-tinymce .mce-container { background: var(--d-surface) !important; border-color: var(--border-medium) !important; }
.c-dash .mce-tinymce .mce-ico, .c-dash .mce-tinymce .mce-txt { color: var(--text-primary) !important; }
.c-dash .mce-tinymce .mce-btn { background: transparent !important; border-color: transparent !important; }
.c-dash .mce-tinymce .mce-btn:hover, .c-dash .mce-tinymce .mce-btn.mce-active { background: var(--primary-100) !important; }
.c-dash .mce-tinymce .mce-btn.mce-disabled .mce-ico { opacity: .45; }

/* ---------- Tables / lists (bookmarks, applications, resumes, jobs) ---------- */
.c-dash table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; color: var(--text-primary); background: transparent; }
.c-dash th { padding: 10px 14px; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-align: left; color: var(--foreground-muted); background: var(--gray-50); border-bottom: 1px solid var(--border-light); }
.c-dash td { padding: 12px 14px; color: var(--text-secondary); border-bottom: 1px solid var(--border-subtle); }
.c-dash tr:hover td { background: var(--row-hover); }
.c-dash td a { color: var(--primary); }
.c-dash .jm-dashboard-table, .c-dash .job-manager-jobs, .c-dash .job-manager-resumes { max-width: 100%; min-width: 0; }
.c-dash .jm-dashboard-table:has(.jm-dashboard-empty) { background: transparent; border: 0; box-shadow: none; }
.c-dash .jm-dialog-modal { color: var(--text-primary); background: var(--d-surface); border-radius: var(--radius-lg); }
.c-dash pre, .c-dash code, .c-dash iframe, .c-dash img, .c-dash video { max-width: 100%; }

@media (min-width: 1024px) {
	.c-dash { grid-template-columns: 16rem minmax(0, 1fr); align-items: start; }
}

/* Auth/profile blocks reused by my-profile (white surface in compat css) */
.c-dash :is(.c-auth__section, .c-auth__tabs) { color: var(--text-primary); background: var(--d-surface); border-color: var(--card-border); }
.c-dash :is(h1, h2, h3, h4, h5, h6) { color: var(--text-primary); }

/* Bootstrap-style rows used by the profile page: stack, then split at desktop */
.c-dash .row { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); margin: 0; }
.c-dash .row > [class*="col-"] { width: auto; max-width: 100%; min-width: 0; padding: 0; float: none; }
@media (min-width: 1024px) {
	.c-dash .row:has(> .col-lg-7) { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); }
	.c-dash .row:has(> .col-lg-6) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.c-dash .user-avatar-upload { color: var(--text-primary); background: var(--gray-50); border: 1px solid var(--border-light); border-radius: var(--radius-md); }
@media (min-width: 1024px) { .c-dash .c-dash__toggle { display: none; } }

/* Elementor-built dashboard pages: its page wrapper redefines --background-secondary to #fff and paints white; keep the clone tokens. */
.c-dash .elementor { background: transparent; color: var(--text-primary); }

/* Dark mode: singular.css pins LIGHT tokens inside every Elementor wrapper; the dashboard is a dark surface, so re-pin dark values. */
[data-theme="dark"] body.elementor-page .c-dash .elementor {
	color-scheme: dark;
	--text-primary: #fff; --text-secondary: #a09fb7; --foreground: #f4f4f9; --foreground-muted: #a09fb7; --text-muted: #a09fb7;
	--primary: #7091ff; --background: #0a071a; --background-secondary: #110c2a;
	color: #fff; background: transparent; border-radius: 0;
}
[data-theme="dark"] body.elementor-page .c-dash .elementor a:not(.elementor-button):not(.btn):not(.c-btn) { color: inherit; text-decoration: underline; }
[data-theme="dark"] body.elementor-page .c-dash .elementor :is(.elementor-widget-text-editor, .elementor-widget-container > p) { color: var(--text-secondary); }
/* plugin boxes with their own light fills */
.c-dash .my-profile .user-avatar-upload, .c-dash fieldset .field.account-sign-in { color: var(--text-primary); background: var(--gray-50) !important; border: 1px solid var(--border-light); border-radius: var(--radius-md); }
.c-dash .my-profile .user-avatar-upload :is(p, span, small, .file-limit) { color: var(--foreground-muted); }

/* ---------- QA r8 ---------- */
/* "Make an Online Resume" banner (Elementor widget in the page body) is for candidates only. */
/* (the /submit-resume/ link is stripped in PHP, so match the Elementor widget ids: resume 5fcd54e, agency b021c46) */
.c-dash:not(.candidate-dashboard) .elementor-widget-alert:is([data-id="5fcd54e"], [data-id="b021c46"]) { display: none; }
/* Elementor full-width columns add 10px of padding: align cards/banners with the page heading. */
.c-dash .elementor-column.elementor-col-100 > .elementor-widget-wrap.elementor-element-populated { padding: 0; }
@media (max-width: 767px) { .c-dash .elementor-column > .elementor-widget-wrap.elementor-element-populated, .c-dash .elementor-column > .elementor-element-populated { padding: 0 0 12px; } }
/* Monthly views: compact empty state (canvas is replaced by the note once the ajax data arrives). */
.c-dash .dashboard-content-views canvas { display: none; }
.c-dash .dashboard-content-views .dashboard-card-box-inner { min-height: 48px; }
.c-dash .dashboard-content-views .cariera-compat-chart__note { padding: 8px 0; text-align: left; }
/* WPJM "You are currently signed in as <strong>x</strong>." : the flex gap detached the trailing full stop. */
.c-dash fieldset .field.account-sign-in { display: block; }
.c-dash fieldset .field.account-sign-in a.button { float: right; margin-left: 12px; }
.c-dash fieldset .field.account-sign-in::after { content: ""; display: table; clear: both; }
.c-dash .dashboard-content-views .cariera-compat-chart__note { color: var(--foreground-muted); }
/* Logged-out / login-required view: .c-dash gives the header clearance; the wrapper must fill the grid track. */
.c-dash-guest > .container { width: 100%; max-width: 760px; margin: 0; padding: 0; }
.c-dash-guest .c-page-header__title { margin-bottom: 24px; }
.c-dash-guest article, .c-dash-guest .entry-content { width: 100%; }
.c-dash-guest .entry-content > :is(.job-manager-message, .job-manager-error, .job-manager-info, .jm-notice, p, div) { width: 100%; box-sizing: border-box; }
.c-dash-guest .account-sign-in { width: 100%; box-sizing: border-box; justify-content: space-between; }

/* ---------- AI interviewer: entry card on the dashboard home + plugin panels on theme tokens (plugin code untouched) ---------- */
.c-dash .c-dash-ai { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 16px; padding: 16px 20px; margin-bottom: 16px; background: var(--primary-50); color: var(--text-primary); border: 1px solid var(--primary-glow); border-radius: var(--radius-lg); }
.c-dash .c-dash-ai__text { flex: 1 1 220px; min-width: 0; }
.c-dash .c-dash-ai__title { margin: 0 0 2px; font: 600 16px/24px var(--font-sans); color: var(--text-primary); }
.c-dash .c-dash-ai p { margin: 0; font-size: 14px; line-height: 20px; color: var(--text-secondary); }
.c-dash .c-dash-ai .c-btn { min-height: 44px; }
.c-dash :is(.poea-ai-candidate-card, .poea-ai-employer-card) { --cariera-light-grey-color: var(--primary-50); --cariera-border-color: var(--border-subtle); color: var(--text-primary); border-radius: var(--radius-md); }
.c-dash .poea-ai-candidate-card { margin-top: 12px; padding: 16px; border: 1px solid var(--primary-glow); }
.c-dash .poea-ai-employer-card { padding: 16px; border: 1px solid var(--primary-glow); border-radius: var(--radius-md); margin-top: 12px; }
.c-dash :is(.poea-ai-candidate-card__header strong, .poea-ai-employer-card__header strong) { font-weight: 600; color: var(--text-primary); }
.c-dash :is(.poea-ai-candidate-card, .poea-ai-employer-card) :is(button, .button, .c-btn) { min-height: 44px; }
.c-dash .poea-ai-employer-card__summary { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }

/* Round 21: logged-out dashboard pages: the 64px wrapper padding left a 145px band above the footer */
body.page-template-user-dashboard .l-clear-header { padding-bottom: 16px; }
.c-dash.c-dash-guest { min-height: 0; margin-bottom: 32px; }
/* Round 22: align with the site .container (content at x=112 at 1440) */
@media (min-width: 640px) { .c-dash { width: min(100%, var(--container, 1280px)); padding-inline: 24px; box-sizing: border-box; } }
@media (min-width: 1024px) { .c-dash { padding-inline: 32px; } }
