/*
 * JobCV frontend dark-mode layer.
 * Site preference is stored on html[data-color-scheme] by the theme.
 */

html[data-color-scheme="dark"] .jobcv-dashboard-page,
html[data-color-scheme="dark"] .jobcv-dashboard-page .dashboard-content,
html[data-color-scheme="dark"] .jobcv-messages-page,
html[data-color-scheme="dark"] .jobcv-premium-page,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap,
html[data-color-scheme="dark"] .job-submission-container,
html[data-color-scheme="dark"] .auth-page-section {
    color: var(--text-primary, #e2e8f0);
    background: var(--bg-primary, #0a0f1c) !important;
}

html[data-color-scheme="dark"] .dashboard-card,
html[data-color-scheme="dark"] .dashboard-nav,
html[data-color-scheme="dark"] .dashboard-sidebar,
html[data-color-scheme="dark"] .dashboard-table-wrap,
html[data-color-scheme="dark"] .jobcv-cv-form,
html[data-color-scheme="dark"] .jobcv-cv-builder,
html[data-color-scheme="dark"] .jobcv-premium-card,
html[data-color-scheme="dark"] .jobcv-premium-modal,
html[data-color-scheme="dark"] .jobcv-modal-content,
html[data-color-scheme="dark"] .jobcv-review-modal,
html[data-color-scheme="dark"] .jobcv-apply-modal-content,
html[data-color-scheme="dark"] .jobcv-registration-form,
html[data-color-scheme="dark"] .jobcv-register-form,
html[data-color-scheme="dark"] .jobcv-reg-checkout-block,
html[data-color-scheme="dark"] .jobcv-post-job-form,
html[data-color-scheme="dark"] .jobcv-individual-premium-modal,
html[data-color-scheme="dark"] .lang-dropdown-menu {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: var(--shadow-md, 0 7px 18px rgba(0,0,0,.3));
}

html[data-color-scheme="dark"] .dashboard-card hr,
html[data-color-scheme="dark"] .dashboard-card table,
html[data-color-scheme="dark"] .jobcv-cv-form hr,
html[data-color-scheme="dark"] .jobcv-modal-content hr {
    border-color: var(--border-color, rgba(148, 163, 184, 0.14));
}

html[data-color-scheme="dark"] .dashboard-card h1,
html[data-color-scheme="dark"] .dashboard-card h2,
html[data-color-scheme="dark"] .dashboard-card h3,
html[data-color-scheme="dark"] .jobcv-cv-form h1,
html[data-color-scheme="dark"] .jobcv-cv-form h2,
html[data-color-scheme="dark"] .jobcv-premium-card h1,
html[data-color-scheme="dark"] .jobcv-premium-card h2,
html[data-color-scheme="dark"] .jobcv-modal-content h1,
html[data-color-scheme="dark"] .jobcv-modal-content h2,
html[data-color-scheme="dark"] .jobcv-modal-content h3 {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .dashboard-card p,
html[data-color-scheme="dark"] .dashboard-card td,
html[data-color-scheme="dark"] .dashboard-card th,
html[data-color-scheme="dark"] .dashboard-card small,
html[data-color-scheme="dark"] .jobcv-cv-form p,
html[data-color-scheme="dark"] .jobcv-premium-card p,
html[data-color-scheme="dark"] .jobcv-modal-content p,
html[data-color-scheme="dark"] .auth-subtitle {
    color: var(--text-secondary, #a8b7ca) !important;
}

html[data-color-scheme="dark"] .dashboard-table-wrap table,
html[data-color-scheme="dark"] .dashboard-table-wrap tr,
html[data-color-scheme="dark"] .dashboard-table-wrap th,
html[data-color-scheme="dark"] .dashboard-table-wrap td {
    background: transparent !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .dashboard-table-wrap tr:hover,
html[data-color-scheme="dark"] .dashboard-nav a:hover,
html[data-color-scheme="dark"] .dashboard-nav a.active {
    background: rgba(99,102,241,.13) !important;
}
html[data-color-scheme="dark"] .dashboard-stat-card,
html[data-color-scheme="dark"] .dashboard-search-form,
html[data-color-scheme="dark"] .dashboard-nav-dropdown,
html[data-color-scheme="dark"] .dashboard-header,
html[data-color-scheme="dark"] .dashboard-search-result-section,
html[data-color-scheme="dark"] .auth-lostpassword-box,
html[data-color-scheme="dark"] .jobcv-individual-form-note,
html[data-color-scheme="dark"] .jobcv-individual-mode-card,
html[data-color-scheme="dark"] .jobcv-promo-skills-editor,
html[data-color-scheme="dark"] .jobcv-individual-upsell,
html[data-color-scheme="dark"] .jobcv-premium-status-card,
html[data-color-scheme="dark"] .jobcv-premium-stat-card {
    background: var(--surface-muted, #0f1629) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .dashboard-stat-card .stat-number,
html[data-color-scheme="dark"] .dashboard-stat-card .stat-label,
html[data-color-scheme="dark"] .jobcv-cv-page-title,
html[data-color-scheme="dark"] .jobcv-reg-card-section__label,
html[data-color-scheme="dark"] .jobcv-premium-card-price,
html[data-color-scheme="dark"] .jobcv-premium-card-period,
html[data-color-scheme="dark"] .jobcv-premium-card-desc,
html[data-color-scheme="dark"] .jobcv-premium-card-vat {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .auth-google-login .btn-google,
html[data-color-scheme="dark"] .jobcv-premium-choose-btn[style],
html[data-color-scheme="dark"] .jobcv-src-card,
html[data-color-scheme="dark"] .jobcv-cv-section {
    background: var(--surface-elevated, #162238) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}

html[data-color-scheme="dark"] .jobcv-dashboard-page input:not([type="checkbox"]):not([type="radio"]),
html[data-color-scheme="dark"] .jobcv-dashboard-page select,
html[data-color-scheme="dark"] .jobcv-dashboard-page textarea,
html[data-color-scheme="dark"] .jobcv-cv-form input:not([type="checkbox"]):not([type="radio"]),
html[data-color-scheme="dark"] .jobcv-cv-form select,
html[data-color-scheme="dark"] .jobcv-cv-form textarea,
html[data-color-scheme="dark"] .job-submission-container input:not([type="checkbox"]):not([type="radio"]),
html[data-color-scheme="dark"] .job-submission-container select,
html[data-color-scheme="dark"] .job-submission-container textarea,
html[data-color-scheme="dark"] .auth-container input,
html[data-color-scheme="dark"] .auth-container select,
html[data-color-scheme="dark"] .auth-container textarea {
    background: var(--input-bg, #0c1525) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}

/* Messenger — the template has its own large light stylesheet, so this is a
   full scoped dark layer matching the real markup classes. */
html[data-color-scheme="dark"] .messages-page-wrapper {
    --msg-surface: #151e32;
    --msg-surface-muted: #0b1220;
    --msg-text: #e2e8f0;
    --msg-text-muted: #94a3b8;
    --msg-border: rgba(148, 163, 184, 0.14);
    background: var(--bg-base, #0a0f1c) !important;
    color: var(--msg-text);
}
html[data-color-scheme="dark"] .messages-page-wrapper .messages-container {
    background: var(--bg-base, #0a0f1c) !important;
    border-color: var(--msg-border) !important;
    box-shadow: var(--shadow-lg) !important;
}
/* Right chat panel + empty state (the previously white area). */
html[data-color-scheme="dark"] .messages-page-wrapper .chat-area,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-messages,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-empty-state {
    background: var(--bg-base, #0a0f1c) !important;
    color: var(--msg-text) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-area::before {
    opacity: .25 !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-empty-state h3 { color: var(--msg-text) !important; }
html[data-color-scheme="dark"] .messages-page-wrapper .chat-empty-state p,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-empty-state svg { color: var(--msg-text-muted) !important; }
/* Sidebar, header, conversation list. */
html[data-color-scheme="dark"] .messages-page-wrapper .conversations-sidebar {
    background: linear-gradient(180deg, var(--surface, #151e32) 0%, var(--bg-subtle, #0f1629) 100%) !important;
    border-color: var(--msg-border) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversations-header,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-header,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-input-area {
    background: var(--surface, #151e32) !important;
    color: var(--msg-text) !important;
    border-color: var(--msg-border) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversations-header h2,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-header h3,
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-name {
    color: var(--msg-text) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversations-list {
    background: transparent !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-item {
    background: transparent !important;
    border-color: var(--msg-border) !important;
    color: var(--msg-text) !important;
    box-shadow: none !important;
}
/* Mobile list cards get a subtle raised surface so they stay legible. */
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-name {
    color: var(--msg-text, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-item:hover,
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-item.active {
    background: var(--primary-muted, rgba(139,92,246,.16)) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-preview,
html[data-color-scheme="dark"] .messages-page-wrapper .conversation-time,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-user-status,
html[data-color-scheme="dark"] .messages-page-wrapper .message-time {
    color: var(--msg-text-muted) !important;
}
/* Incoming bubbles go dark; my own bubbles keep the brand gradient. */
html[data-color-scheme="dark"] .messages-page-wrapper .message-group:not(.mine) .message-bubble {
    background: var(--surface-elevated, #1e2844) !important;
    color: var(--msg-text) !important;
    border-color: var(--msg-border) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .message-group:not(.mine) .message-bubble-contract .contract-card {
    background: var(--surface, #151e32) !important;
    border-color: var(--msg-border) !important;
    color: var(--msg-text) !important;
}
/* Inputs, composer and back button. */
html[data-color-scheme="dark"] .messages-page-wrapper input,
html[data-color-scheme="dark"] .messages-page-wrapper textarea {
    background: var(--msg-surface-muted) !important;
    color: var(--msg-text) !important;
    border-color: var(--msg-border) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper input::placeholder,
html[data-color-scheme="dark"] .messages-page-wrapper textarea::placeholder {
    color: var(--text-tertiary, #475569) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .messages-back-to-home,
html[data-color-scheme="dark"] .messages-page-wrapper .messages-back-to-home-btn {
    background: var(--surface-elevated, #1e2844) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--msg-border) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-header-back:hover,
html[data-color-scheme="dark"] .messages-page-wrapper .conversations-tab {
    color: var(--text-secondary, #94a3b8) !important;
}
html[data-color-scheme="dark"] .jobcv-apply-modal {
    background: var(--surface, #151e32) !important;
    color: var(--msg-text) !important;
    border-color: var(--msg-border) !important;
}

html[data-color-scheme="dark"] .jobcv-reg-card-section,
html[data-color-scheme="dark"] .jobcv-reg-trial-badge,
html[data-color-scheme="dark"] .jobcv-reg-stripe-trust,
html[data-color-scheme="dark"] .jobcv-reg-submit-hint {
    color: var(--text-secondary, #a8b7ca);
}
html[data-color-scheme="dark"] .jobcv-reg-checkout-block {
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}

/* Documents are authored for print. Do not invert the document itself. */
html[data-color-scheme="dark"] .jobcv-print-preview,
html[data-color-scheme="dark"] .pdf-viewer canvas,
html[data-color-scheme="dark"] .jobcv-cv-print {
    color-scheme: light;
}

/* Application-specific components. These selectors intentionally match the
   real markup and use !important where legacy PHP emits inline light styles. */
html[data-color-scheme="dark"] .auth-container,
html[data-color-scheme="dark"] #jobcv-register-form,
html[data-color-scheme="dark"] .apply-modal-content,
html[data-color-scheme="dark"] .jobcv-confirm-box,
html[data-color-scheme="dark"] .jobcv-preview-box,
html[data-color-scheme="dark"] #jobcv-individual-premium-modal .jobcv-modal-box,
html[data-color-scheme="dark"] #jobcv-company-premium-modal .jobcv-modal-box,
html[data-color-scheme="dark"] .cvp-modal,
html[data-color-scheme="dark"] .jobcv-contract-modal .jobcv-modal-content,
html[data-color-scheme="dark"] .jobcv-review-modal {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
    box-shadow: var(--shadow-lg) !important;
}
html[data-color-scheme="dark"] .auth-container h1,
html[data-color-scheme="dark"] .auth-container h2,
html[data-color-scheme="dark"] .auth-container h3,
html[data-color-scheme="dark"] .jobcv-confirm-box .jobcv-modal-title,
html[data-color-scheme="dark"] .cvp-modal-name,
html[data-color-scheme="dark"] .cvp-modal-section h3 {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .auth-message-error {
    background: var(--error-surface, rgba(248,113,113,.12)) !important;
    color: #fecaca !important;
    border-color: rgba(248,113,113,.35) !important;
}
html[data-color-scheme="dark"] .auth-message-success {
    background: var(--success-surface, rgba(52,211,153,.12)) !important;
    color: #bbf7d0 !important;
    border-color: rgba(52,211,153,.35) !important;
}
html[data-color-scheme="dark"] .auth-container .form-label,
html[data-color-scheme="dark"] .jobcv-reg-section-title,
html[data-color-scheme="dark"] .jobcv-confirm-box .jobcv-confirm-message,
html[data-color-scheme="dark"] .cvp-modal-section p {
    color: var(--text-secondary, #9fb0c8) !important;
    border-color: var(--border-color, #2f405c) !important;
}

/* ── Registration form: account-type cards, newsletter opt-in, dividers ──
   These live in an inline <style> block with hardcoded light values, so
   they need explicit dark overrides here. */
html[data-color-scheme="dark"] .register-account-card {
    background: var(--surface-elevated, #1a2740) !important;
    border-color: var(--border-color, rgba(148,163,184,.18)) !important;
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .register-account-card:hover {
    border-color: rgba(129,140,248,.55) !important;
    box-shadow: 0 4px 16px rgba(99,102,241,.22) !important;
}
html[data-color-scheme="dark"] .register-account-card.selected {
    border-color: #818cf8 !important;
    background: rgba(99,102,241,.16) !important;
    box-shadow: 0 2px 14px rgba(99,102,241,.30) !important;
}
html[data-color-scheme="dark"] .register-account-card.company.selected {
    border-color: #34d399 !important;
    background: rgba(16,185,129,.15) !important;
    box-shadow: 0 2px 14px rgba(16,185,129,.26) !important;
}
html[data-color-scheme="dark"] .register-account-card h3 {
    color: var(--text-primary, #f1f5f9) !important;
}
html[data-color-scheme="dark"] .register-account-card p {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .jobcv-newsletter-optin-card {
    background: var(--surface-muted, #101a2e) !important;
    border-color: var(--border-color, rgba(148,163,184,.18)) !important;
}
html[data-color-scheme="dark"] .jobcv-newsletter-optin-card:hover {
    border-color: rgba(129,140,248,.45) !important;
    background: var(--surface-elevated, #16223a) !important;
}
html[data-color-scheme="dark"] .jobcv-newsletter-optin-card strong {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .jobcv-newsletter-optin-card small {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .jobcv-reg-card-section__label {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .auth-register-head h2 {
    color: var(--text-primary, #f1f5f9) !important;
}
html[data-color-scheme="dark"] .auth-register-head p,
html[data-color-scheme="dark"] .jobcv-reg-submit-hint,
html[data-color-scheme="dark"] .jobcv-reg-stripe-trust,
html[data-color-scheme="dark"] .divider span {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .divider::before,
html[data-color-scheme="dark"] .divider::after {
    border-bottom-color: var(--border-color, rgba(148,163,184,.18)) !important;
}
html[data-color-scheme="dark"] .phone-input-group select {
    background-color: var(--surface-elevated, #1a2740) !important;
    border-color: var(--border-color, rgba(148,163,184,.2)) !important;
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .phone-input-group select:hover {
    border-color: rgba(129,140,248,.5) !important;
    background-color: var(--surface-elevated, #1e2a46) !important;
}
/* CV preview modal: the sticky close-bar and footer were still light,
   producing a big white band at the top of the dark preview. */
html[data-color-scheme="dark"] .cvp-modal-close {
    background: linear-gradient(to bottom, var(--surface, #151e32) 80%, transparent) !important;
    border-radius: 20px 20px 0 0 !important;
}
html[data-color-scheme="dark"] .cvp-modal-close button {
    background: var(--surface-elevated, #1a2740) !important;
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .cvp-modal-close button:hover {
    background: rgba(139, 92, 246, 0.18) !important;
}
html[data-color-scheme="dark"] .cvp-modal-title-text { color: #b9a4fc !important; }
html[data-color-scheme="dark"] .cvp-modal-location { color: var(--text-secondary, #9fb0c8) !important; }
html[data-color-scheme="dark"] .cvp-modal-footer { border-top-color: var(--border-color, #2f405c) !important; }
html[data-color-scheme="dark"] .cvp-skill-tag {
    background: rgba(139, 92, 246, 0.16) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .cvp-exp-item { border-bottom-color: var(--border-color, #2f405c) !important; }
html[data-color-scheme="dark"] .cvp-exp-role { color: var(--text-primary, #e2e8f0) !important; }
html[data-color-scheme="dark"] .cvp-exp-company { color: var(--text-secondary, #9fb0c8) !important; }
html[data-color-scheme="dark"] .cvp-exp-period { color: var(--text-tertiary, #6f849e) !important; }

html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-cv-form,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-own-cv-drop-zone,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-own-cv-current,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-src-card,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-skill-suggest-chip,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .remove-row,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .add-row,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-profile-controls button {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .form-label,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap #summary-textarea.jobcv-cv-summary-textarea,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap select.jobcv-yearpicker,
html[data-color-scheme="dark"] .jobcv-cv-page-title {
    color: var(--text-primary, #e2e8f0) !important;
}

html[data-color-scheme="dark"] .dashboard-nav-and-search,
html[data-color-scheme="dark"] .dashboard-search-form,
html[data-color-scheme="dark"] .dashboard-jobs-table-wrap,
html[data-color-scheme="dark"] .applied-jobs-table,
html[data-color-scheme="dark"] .wl-apps-table,
html[data-color-scheme="dark"] .dashboard-vc-call,
html[data-color-scheme="dark"] .dashboard-vc-empty,
html[data-color-scheme="dark"] .stg-plan-active,
html[data-color-scheme="dark"] .stg-plan-inactive,
html[data-color-scheme="dark"] .settings-save-footer,
html[data-color-scheme="dark"] .settings-card-cv,
html[data-color-scheme="dark"] .company-logo-editor,
html[data-color-scheme="dark"] .cp-section,
html[data-color-scheme="dark"] .cp-toggle-row,
html[data-color-scheme="dark"] .cp-dynamic-item,
html[data-color-scheme="dark"] .wl-visibility-card,
html[data-color-scheme="dark"] .wl-contract-card,
html[data-color-scheme="dark"] .wl-contracts-search {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .dashboard-search-input,
html[data-color-scheme="dark"] .stg-locked-field .form-input,
html[data-color-scheme="dark"] .cp-input,
html[data-color-scheme="dark"] .cp-select,
html[data-color-scheme="dark"] .cp-textarea,
html[data-color-scheme="dark"] .status-dropdown,
html[data-color-scheme="dark"] .job-listings-search-form input {
    background: var(--input-bg, #0d1626) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .dashboard-jobs-table-wrap .jobs-table thead th,
html[data-color-scheme="dark"] .applied-jobs-table thead th,
html[data-color-scheme="dark"] .wl-apps-table thead th {
    background: var(--bg-subtle, #101a2c) !important;
    color: var(--text-secondary, #9fb0c8) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .dashboard-header-cv-name,
html[data-color-scheme="dark"] .applied-jobs-job-title,
html[data-color-scheme="dark"] .stg-section-header h3 {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .dashboard-header-cv-title,
html[data-color-scheme="dark"] .dashboard-header-cv-meta,
html[data-color-scheme="dark"] .stg-section-header p {
    color: var(--text-secondary, #9fb0c8) !important;
}

html[data-color-scheme="dark"] .message-group:not(.mine) .message-bubble,
html[data-color-scheme="dark"] .conversations-header,
html[data-color-scheme="dark"] .apply-screening-item,
html[data-color-scheme="dark"] .application-qa-card,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown,
html[data-color-scheme="dark"] .chat-header-kebab-btn {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .apply-screening-item:hover,
html[data-color-scheme="dark"] .chat-kebab-view-cv-btn:hover {
    background: var(--bg-subtle, #101a2c) !important;
}
html[data-color-scheme="dark"] .conversation-item,
html[data-color-scheme="dark"] .chat-kebab-view-cv-btn,
html[data-color-scheme="dark"] .chat-kebab-action-btn {
    color: var(--text-primary, #e2e8f0) !important;
}

html[data-color-scheme="dark"] .jobcv-loc-tabbed,
html[data-color-scheme="dark"] .jobcv-loc-tab,
html[data-color-scheme="dark"] .job-skill-chip,
html[data-color-scheme="dark"] .jobcv-individual-mode-card,
html[data-color-scheme="dark"] .jobcv-promo-skills-editor {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .jobcv-confirm-box .jobcv-confirm-btn-cancel,
html[data-color-scheme="dark"] .apply-btn-cancel,
html[data-color-scheme="dark"] .jobcv-btn-cancel,
html[data-color-scheme="dark"] .stg-btn-manage,
html[data-color-scheme="dark"] .wl-page-btn {
    background: var(--surface-elevated, #1a2740) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, #2f405c) !important;
}

html[data-color-scheme="dark"] .jobcv-dashboard-page input::placeholder,
html[data-color-scheme="dark"] .jobcv-cv-form input::placeholder,
html[data-color-scheme="dark"] .auth-container input::placeholder,
html[data-color-scheme="dark"] .messages-page-wrapper textarea::placeholder {
    color: var(--text-tertiary, #6f849e) !important;
    opacity: 1;
}
html[data-color-scheme="dark"] .jobcv-dashboard-page input:focus-visible,
html[data-color-scheme="dark"] .jobcv-dashboard-page select:focus-visible,
html[data-color-scheme="dark"] .jobcv-dashboard-page textarea:focus-visible,
html[data-color-scheme="dark"] .jobcv-cv-form input:focus-visible,
html[data-color-scheme="dark"] .jobcv-cv-form select:focus-visible,
html[data-color-scheme="dark"] .auth-container input:focus-visible,
html[data-color-scheme="dark"] .auth-container textarea:focus-visible {
    border-color: var(--border-focus, #818cf8) !important;
    box-shadow: var(--focus-ring, 0 0 0 3px rgba(129,140,248,.38)) !important;
    outline: none;
}
html[data-color-scheme="dark"] .jobcv-dashboard-page input[type="checkbox"],
html[data-color-scheme="dark"] .jobcv-dashboard-page input[type="radio"],
html[data-color-scheme="dark"] .jobcv-cv-form input[type="checkbox"],
html[data-color-scheme="dark"] .jobcv-cv-form input[type="radio"] {
    accent-color: var(--primary-color, #818cf8);
}
html[data-color-scheme="dark"] .jobcv-dashboard-page :disabled,
html[data-color-scheme="dark"] .jobcv-cv-form :disabled {
    color: var(--text-disabled, #4a5c72) !important;
    opacity: .58;
    cursor: not-allowed;
}
html[data-color-scheme="dark"] .jobcv-review-modal-overlay,
html[data-color-scheme="dark"] .jobcv-modal-overlay {
    background: var(--overlay-color, rgba(3,8,18,.72)) !important;
}

/* Legacy templates still emit small inline light utility panels. Keep the
   correction scoped to application page shells so document/print layouts stay
   unaffected. */
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background: #fff"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background:#fff"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background: #ffffff"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background:#ffffff"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background: white"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background:#f8fafc"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background: #f8fafc"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="background:#fafafa"] {
    background: var(--surface, #151e32) !important;
    border-color: var(--border-color, #2f405c) !important;
}
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color:#0f172a"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color: #0f172a"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color:#1f2937"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color: #1f2937"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color:#334155"],
html[data-color-scheme="dark"] .jobcv-dashboard-page [style*="color: #334155"] {
    color: var(--text-primary, #e2e8f0) !important;
}

/* Midnight Aurora app finish — shared form and modal surfaces inherit the
   same glass depth as public cards without changing semantic states. */
html[data-color-scheme="dark"] .dashboard-card,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-cv-form,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-cv-section,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .field-group,
html[data-color-scheme="dark"] .auth-container,
html[data-color-scheme="dark"] .jobcv-premium-card,
html[data-color-scheme="dark"] .jobcv-modal-content,
html[data-color-scheme="dark"] .apply-modal-content {
    background: linear-gradient(160deg, rgba(21, 30, 50, 0.97) 0%, rgba(15, 22, 38, 0.99) 100%) !important;
    border-color: var(--border-subtle, rgba(148, 163, 184, 0.08)) !important;
    box-shadow: var(--shadow-md, 0 8px 32px rgba(0, 0, 0, 0.45)) !important;
}
html[data-color-scheme="dark"] .quick-action-btn,
html[data-color-scheme="dark"] .action-btn,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-src-card,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-skill-suggest-chip,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .profile-photo-upload,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .jobcv-own-cv-drop-zone {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-dashboard-page input:not([type="checkbox"]):not([type="radio"]),
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .form-input,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap .form-textarea,
html[data-color-scheme="dark"] .jobcv-cv-form-wrap select {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}

/* ============================================================
   Ultra-deep pass: eliminate the last light chips/tabs/buttons.
   ============================================================ */

/* ── Messenger: chat header controls (call / video / schedule chips,
   view CV, kebab, auto-translate) were white via video-call.css. ── */
html[data-color-scheme="dark"] .messages-page-wrapper .chat-audio-call-btn,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-video-call-btn,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-vc-schedule-btn {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    color: #b9a4fc !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-audio-call-btn:hover,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-video-call-btn:hover,
html[data-color-scheme="dark"] .messages-page-wrapper .chat-vc-schedule-btn:hover {
    background: rgba(139, 92, 246, 0.16) !important;
    border-color: rgba(139, 92, 246, 0.5) !important;
    color: #ddd6fe !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-view-cv-btn {
    background: rgba(139, 92, 246, 0.10) !important;
    border-color: rgba(139, 92, 246, 0.42) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-view-cv-btn:hover {
    background: rgba(139, 92, 246, 0.20) !important;
    color: #ede9fe !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-header-back { color: var(--text-primary, #e2e8f0) !important; }
html[data-color-scheme="dark"] .messages-page-wrapper .chat-header-back:hover {
    background: var(--bg-subtle, #101a2c) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-auto-translate-label { color: var(--text-secondary, #9fb0c8) !important; }
/* Kebab dropdown rows carried a #1e293b (dark-on-dark) text colour. */
html[data-color-scheme="dark"] .chat-header-kebab-dropdown .chat-audio-call-btn,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown .chat-video-call-btn,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown .chat-kebab-vc-schedule-btn,
html[data-color-scheme="dark"] .chat-kebab-audio-call-btn.chat-audio-call-btn,
html[data-color-scheme="dark"] .chat-kebab-video-call-btn.chat-video-call-btn,
html[data-color-scheme="dark"] .chat-kebab-vc-schedule-btn.chat-vc-schedule-btn,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown a {
    background: none !important;
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .chat-header-kebab-dropdown .chat-audio-call-btn:hover,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown .chat-video-call-btn:hover,
html[data-color-scheme="dark"] .chat-kebab-vc-schedule-btn.chat-vc-schedule-btn:hover,
html[data-color-scheme="dark"] .chat-header-kebab-dropdown a:hover {
    background: var(--bg-subtle, #101a2c) !important;
    color: #c4b5fd !important;
}

/* ── Work-life: contract kebab button + dropdown were light. ── */
html[data-color-scheme="dark"] .wl-contract-menu-btn {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .wl-contract-menu-btn:hover,
html[data-color-scheme="dark"] .wl-contract-menu-btn.is-active {
    background: rgba(139, 92, 246, 0.16) !important;
    border-color: rgba(139, 92, 246, 0.45) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .wl-contract-dropdown {
    background: var(--surface, #151e32) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}
html[data-color-scheme="dark"] .wl-contract-dropdown a,
html[data-color-scheme="dark"] .wl-contract-dropdown button { color: var(--text-primary, #e2e8f0) !important; }
html[data-color-scheme="dark"] .wl-contract-dropdown a:hover,
html[data-color-scheme="dark"] .wl-contract-dropdown button:hover { background: var(--bg-subtle, #101a2c) !important; }

/* ── Settings: company/profile photo control buttons were solid white. ── */
html[data-color-scheme="dark"] .company-logo-controls button {
    background: var(--input-bg, #0b1220) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .company-logo-controls button:hover {
    background: rgba(139, 92, 246, 0.14) !important;
    border-color: rgba(139, 92, 246, 0.45) !important;
    color: #c4b5fd !important;
}

/* ── Individual quotes / offers panel on the job page (light table + rows). ── */
html[data-color-scheme="dark"] .jobcv-individual-quote-panel {
    background: linear-gradient(180deg, rgba(124, 58, 237, 0.10) 0%, rgba(15, 22, 38, 0.99) 62%) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: var(--shadow-md, 0 8px 32px rgba(0, 0, 0, 0.45)) !important;
}
html[data-color-scheme="dark"] .jobcv-individual-quote-panel h2 { color: var(--text-primary, #e2e8f0) !important; }
html[data-color-scheme="dark"] .jobcv-individual-quote-panel p { color: var(--text-secondary, #9fb0c8) !important; }
html[data-color-scheme="dark"] .jobcv-individual-quote-panel span[style*="background:#fff"] {
    background: rgba(139, 92, 246, 0.16) !important;
    border-color: rgba(139, 92, 246, 0.4) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .jobcv-quote-list-wrap,
html[data-color-scheme="dark"] .jobcv-quote-submit-card {
    background: var(--surface, #151e32) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-quotes-filter-bar {
    background: var(--bg-subtle, #101a2c) !important;
    border-bottom-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-quotes-filter-input,
html[data-color-scheme="dark"] .jobcv-quote-amount,
html[data-color-scheme="dark"] .jobcv-quote-message {
    background: var(--input-bg, #0b1220) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-quote-table thead tr { background: var(--bg-subtle, #101a2c) !important; }
html[data-color-scheme="dark"] .jobcv-quote-table th {
    color: var(--text-secondary, #9fb0c8) !important;
    border-bottom-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-quote-table td {
    color: var(--text-primary, #e2e8f0) !important;
    border-bottom-color: var(--border-subtle, rgba(148, 163, 184, 0.08)) !important;
}
html[data-color-scheme="dark"] .jobcv-quote-offer-detail { background: var(--bg-subtle, #101a2c) !important; }
html[data-color-scheme="dark"] .jobcv-quote-offer-detail td,
html[data-color-scheme="dark"] .jobcv-quote-offer-detail strong { color: var(--text-secondary, #9fb0c8) !important; }
html[data-color-scheme="dark"] .jobcv-quotes-expand-bar {
    background: var(--bg-subtle, #101a2c) !important;
    border-top-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-individual-quote-panel .btn-secondary {
    background: var(--surface-elevated, #1a2740) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-individual-quote-panel [style*="background:#f8fafc"],
html[data-color-scheme="dark"] .jobcv-individual-quote-panel [style*="background: #f8fafc"] {
    background: var(--bg-subtle, #101a2c) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    color: var(--text-secondary, #9fb0c8) !important;
}

/* ── Messenger: the compose input box (.chat-input-wrapper) was solid white. ── */
html[data-color-scheme="dark"] .messages-page-wrapper .chat-input-wrapper {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--msg-border, rgba(148, 163, 184, 0.16)) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-input-wrapper:focus-within {
    border-color: rgba(139, 92, 246, 0.55) !important;
    box-shadow: 0 0 0 3px rgba(139, 92, 246, 0.16) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-input-wrapper textarea {
    background: transparent !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-attach-button {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .messages-page-wrapper .chat-attach-button:hover {
    background: rgba(139, 92, 246, 0.14) !important;
    color: #c4b5fd !important;
}

/* ── My job listings + applied jobs: light table header/rows and inline widgets. ── */
html[data-color-scheme="dark"] .dashboard-jobs-table-wrap {
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobs-table thead th,
html[data-color-scheme="dark"] .dashboard-jobs-table-wrap .jobs-table thead th,
html[data-color-scheme="dark"] .applied-jobs-table th {
    background: var(--bg-subtle, #101a2c) !important;
    color: var(--text-secondary, #9fb0c8) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobs-table tbody td,
html[data-color-scheme="dark"] .applied-jobs-table td {
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-subtle, rgba(148, 163, 184, 0.08)) !important;
}
html[data-color-scheme="dark"] .jobs-table tbody tr:hover,
html[data-color-scheme="dark"] .applied-jobs-table tbody tr:hover {
    background: var(--surface-elevated, #1a2740) !important;
}
html[data-color-scheme="dark"] .jobs-table .job-title-cell a,
html[data-color-scheme="dark"] .applied-jobs-table a {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .jobs-table .job-meta-text {
    color: var(--text-secondary, #9fb0c8) !important;
}
/* Status <select> and search input carry inline white backgrounds. */
html[data-color-scheme="dark"] .status-dropdown,
html[data-color-scheme="dark"] .job-listings-search-form input[type="search"] {
    background-color: var(--input-bg, #0b1220) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .status-dropdown option {
    background: var(--surface, #151e32) !important;
    color: var(--text-primary, #e2e8f0) !important;
}

/* ── View-CV: "Customize colors" side panel was solid white.
   Only the panel chrome is themed; the CV document itself stays light. ── */
html[data-color-scheme="dark"] .cv-view-main-layout .jobcv-view-cv-customize {
    background: var(--surface, #151e32) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: var(--shadow-md, 0 8px 28px rgba(0, 0, 0, 0.45)) !important;
}
html[data-color-scheme="dark"] .cv-view-main-layout .jobcv-view-cv-customize-wrap.jobcv-is-stuck .jobcv-view-cv-customize {
    border-color: rgba(139, 92, 246, 0.4) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.55) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-customize h4 {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-customize .cv-customize-row label {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-customize .cv-customize-row input[type="text"] {
    background: var(--input-bg, #0b1220) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-customize .cv-customize-row input[type="color"] {
    border-color: var(--border-color, rgba(148, 163, 184, 0.2)) !important;
    background: var(--input-bg, #0b1220) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-actions-row {
    border-top-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-actions-row button {
    background: var(--input-bg, #0b1220) !important;
    color: var(--text-secondary, #9fb0c8) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-actions-row button:hover:not(:disabled) {
    background: rgba(139, 92, 246, 0.14) !important;
    color: #c4b5fd !important;
    border-color: rgba(139, 92, 246, 0.45) !important;
}
/* Keep the "Save colors" gradient button and success message on-brand. */
html[data-color-scheme="dark"] .jobcv-view-cv-actions-row .jobcv-save-colors-btn {
    background: linear-gradient(135deg, #7c3aed, #6d28d9) !important;
    color: #fff !important;
    border: none !important;
}
html[data-color-scheme="dark"] .jobcv-view-cv-colors-msg {
    color: #34d399 !important;
}

/* ============================================================
   Company public profile (.cpv-*) — was rendered fully white.
   ============================================================ */
html[data-color-scheme="dark"] .cpv-hero,
html[data-color-scheme="dark"] .cpv-section {
    background: var(--surface, #151e32) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: var(--shadow-md, 0 8px 28px rgba(0, 0, 0, 0.4)) !important;
}
html[data-color-scheme="dark"] .cpv-avatar-wrap {
    border-color: var(--surface, #151e32) !important;
    background: var(--surface, #151e32) !important;
}
html[data-color-scheme="dark"] .cpv-company-name,
html[data-color-scheme="dark"] .cpv-section-title,
html[data-color-scheme="dark"] .cpv-stat strong,
html[data-color-scheme="dark"] .cpv-benefit-title,
html[data-color-scheme="dark"] .cpv-job-title,
html[data-color-scheme="dark"] .cpv-team-name,
html[data-color-scheme="dark"] .cpv-contact-value {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .cpv-tagline,
html[data-color-scheme="dark"] .cpv-bio,
html[data-color-scheme="dark"] .cpv-stat,
html[data-color-scheme="dark"] .cpv-benefit-desc,
html[data-color-scheme="dark"] .cpv-job-meta,
html[data-color-scheme="dark"] .cpv-team-role,
html[data-color-scheme="dark"] .cpv-contact-label {
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .cpv-stats {
    border-top-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .cpv-stat svg,
html[data-color-scheme="dark"] .cpv-job-arrow {
    color: #a78bfa !important;
}
/* Social + edit chips. */
html[data-color-scheme="dark"] .cpv-soc-link {
    background: var(--input-bg, #0b1220) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .cpv-soc-link:hover {
    background: rgba(139, 92, 246, 0.16) !important;
    border-color: rgba(139, 92, 246, 0.5) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .cpv-edit-btn {
    background: rgba(139, 92, 246, 0.14) !important;
    border-color: rgba(139, 92, 246, 0.45) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .cpv-edit-btn:hover {
    background: rgba(139, 92, 246, 0.24) !important;
    border-color: rgba(139, 92, 246, 0.7) !important;
    color: #ede9fe !important;
}
/* Value cards keep a violet identity; benefit/job/team/contact cards use a raised dark surface. */
html[data-color-scheme="dark"] .cpv-value-card {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.18), rgba(139, 92, 246, 0.08)) !important;
    border-color: rgba(139, 92, 246, 0.32) !important;
}
html[data-color-scheme="dark"] .cpv-value-title {
    color: #ede9fe !important;
}
html[data-color-scheme="dark"] .cpv-value-desc {
    color: var(--text-secondary, #b3a9d6) !important;
}
html[data-color-scheme="dark"] .cpv-benefit-card,
html[data-color-scheme="dark"] .cpv-job-card,
html[data-color-scheme="dark"] .cpv-team-card,
html[data-color-scheme="dark"] .cpv-contact-card {
    background: var(--bg-subtle, #101a2c) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .cpv-job-card:hover {
    background: rgba(139, 92, 246, 0.14) !important;
    border-color: rgba(139, 92, 246, 0.5) !important;
}
html[data-color-scheme="dark"] .cpv-team-avatar {
    background: var(--surface-elevated, #1a2740) !important;
}
html[data-color-scheme="dark"] .cpv-contact-icon {
    background: rgba(139, 92, 246, 0.18) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .cpv-contact-value a {
    color: #a78bfa !important;
}

/* ============================================================
   Messenger modals: Send contract + Schedule video call + Remove
   conversation. These were rendered on solid white surfaces.
   ============================================================ */
html[data-color-scheme="dark"] .jobcv-contract-modal .jobcv-modal-content,
html[data-color-scheme="dark"] .jobcv-termination-modal .jobcv-modal-content,
html[data-color-scheme="dark"] .jobcv-termination-modal-content,
html[data-color-scheme="dark"] #remove-conv-modal .jobcv-modal-content,
html[data-color-scheme="dark"] .remove-conv-modal-content {
    background: var(--surface, #151e32) !important;
    border: 1px solid var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    box-shadow: 0 32px 64px -12px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(139, 92, 246, 0.12) !important;
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .jobcv-modal-footer {
    background: var(--bg-subtle, #101a2c) !important;
    border-top-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-modal-header {
    border-bottom-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .jobcv-modal-header h2,
html[data-color-scheme="dark"] .jobcv-modal-header h3 {
    color: var(--text-primary, #e2e8f0) !important;
}
html[data-color-scheme="dark"] .contract-form-group label {
    color: var(--text-secondary, #b3c0d4) !important;
}
html[data-color-scheme="dark"] .contract-details-hint {
    color: var(--text-tertiary, #8394ad) !important;
}
html[data-color-scheme="dark"] .contract-input,
html[data-color-scheme="dark"] .contract-textarea,
html[data-color-scheme="dark"] .contract-fieldset select.contract-input,
html[data-color-scheme="dark"] .jobcv-contract-datepicker select.contract-input {
    background-color: var(--input-bg, #0b1220) !important;
    color: var(--text-primary, #e2e8f0) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.18)) !important;
}
html[data-color-scheme="dark"] select.contract-input:hover,
html[data-color-scheme="dark"] .jobcv-contract-datepicker select.contract-input:hover {
    background-color: var(--surface-elevated, #1a2740) !important;
    border-color: rgba(139, 92, 246, 0.5) !important;
}
html[data-color-scheme="dark"] .contract-fieldset {
    background: var(--bg-subtle, #101a2c) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .contract-fieldset legend {
    color: #a78bfa !important;
}
html[data-color-scheme="dark"] .contract-compose-tabs {
    border-bottom-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
}
html[data-color-scheme="dark"] .contract-compose-tabs .contract-tab {
    background: var(--bg-subtle, #101a2c) !important;
    border-color: var(--border-color, rgba(148, 163, 184, 0.14)) !important;
    color: var(--text-secondary, #9fb0c8) !important;
}
html[data-color-scheme="dark"] .contract-compose-tabs .contract-tab:hover {
    background: var(--surface-elevated, #1a2740) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] .contract-compose-tabs .contract-tab.active {
    background: var(--surface, #151e32) !important;
    color: #c4b5fd !important;
    border-color: rgba(139, 92, 246, 0.4) !important;
    border-bottom-color: var(--surface, #151e32) !important;
}
html[data-color-scheme="dark"] .contract-compose-tabs .contract-tab-details:not(.active) {
    background: linear-gradient(135deg, rgba(124, 58, 237, 0.22), rgba(139, 92, 246, 0.1)) !important;
    border-color: rgba(139, 92, 246, 0.35) !important;
    color: #c4b5fd !important;
}
html[data-color-scheme="dark"] #contract-view-modal .jobcv-modal-body {
    background: var(--bg-subtle, #101a2c) !important;
}
html[data-color-scheme="dark"] .contract-view-text {
    color: var(--text-primary, #e2e8f0) !important;
}
