/**
 * Dark tokens + contrast fixes — loaded AFTER tenant branding.
 * Beats :root branding overrides for readability (links, accent, muted text).
 */

:root[data-theme="dark"],
:root[data-mw-theme="dark"] {
    color-scheme: dark;

    /* ---- Text ramp (WCAG-friendly on #111827 surfaces) ---- */
    --text-primary:     #e8ecf4;
    --text-secondary:   #a8b4c8;
    --text-tertiary:    #8b98ae;
    --text-placeholder: #8b98ae;
    --text-disabled:    #5c6b82;
    --text-muted:       #8b98ae;
    --text-inverse:     #ffffff;
    --text-link:        #7cb8ff;
    --text-link-hover:  #a5d0ff;
    --color-link:       var(--text-link);

    --color-text:          var(--text-primary);
    --color-text-muted:    var(--text-tertiary);
    --color-text-primary:  var(--text-primary);
    --color-text-secondary: var(--text-secondary);

    /* ---- Readable accent (tenant branding often sets dark green for light UI) ---- */
    --color-primary:        #7cb8ff;
    --color-primary-hover:  #a5d0ff;
    --color-primary-active: #60a5fa;
    --color-primary-light:  rgba(124, 184, 255, 0.18);
    --color-primary-subtle: rgba(124, 184, 255, 0.08);
    --color-primary-rgb:    124, 184, 255;
    --primary:              var(--color-primary);
    --primary-hover:        var(--color-primary-hover);
    --primary-light:        var(--color-primary-light);
    --primary-subtle:       var(--color-primary-subtle);

    --brand-primary:       var(--color-primary);
    --brand-primary-hover: var(--color-primary-hover);
    --brand-primary-soft:  var(--color-primary-light);
    --brand-primary-rgb:   var(--color-primary-rgb);
    --brand-primary-glow:  rgba(124, 184, 255, 0.35);

    /* ---- B2C text aliases ---- */
    --text-strong:  var(--text-primary);
    --text-default: var(--text-secondary);
    --text-muted:   var(--text-tertiary);
    --text-subtle:  #94a3b8;

    --neutral-400: #64748b;
    --neutral-500: #94a3b8;
    --neutral-600: #a8b4c8;
    --neutral-700: #cbd5e1;
    --neutral-800: #e2e8f0;
    --neutral-900: #f8fafc;

    /* ---- Semantic text on dark ---- */
    --color-success-text: #6ee7a0;
    --color-danger-text:  #fca5a5;
    --color-info-text:    #93c5fd;
    --color-warning-text-alt: #fcd34d;

    --semantic-success: #34d399;
    --semantic-warning: #fbbf24;
    --semantic-danger:  #f87171;
    --semantic-info:    #60a5fa;
}

/* ---- Global links (exclude anchors styled as buttons) ---- */
:root[data-theme="dark"] a:not(.btn):not([class*="btn-"]):not([class$="-btn"]):not(.nav-item):not(.mw-nav-item),
:root[data-mw-theme="dark"] a:not(.btn):not([class*="btn-"]):not([class$="-btn"]):not(.nav-item):not(.mw-nav-item) {
    color: var(--text-link);
}
:root[data-theme="dark"] a:not(.btn):not([class*="btn-"]):not([class$="-btn"]):not(.nav-item):not(.mw-nav-item):hover,
:root[data-mw-theme="dark"] a:not(.btn):not([class*="btn-"]):not([class$="-btn"]):not(.nav-item):not(.mw-nav-item):hover {
    color: var(--text-link-hover);
}

:root[data-theme="dark"] a.new-btn,
:root[data-theme="dark"] a.new-btn:link,
:root[data-theme="dark"] a.new-btn:visited,
:root[data-theme="dark"] a.new-btn:hover,
:root[data-theme="dark"] a.new-btn:active,
:root[data-mw-theme="dark"] a.new-btn,
:root[data-mw-theme="dark"] a.new-btn:link,
:root[data-mw-theme="dark"] a.new-btn:visited,
:root[data-mw-theme="dark"] a.new-btn:hover,
:root[data-mw-theme="dark"] a.new-btn:active {
    color: var(--text-on-primary, #ffffff);
    background: var(--primary);
}
:root[data-theme="dark"] a.new-btn:hover,
:root[data-mw-theme="dark"] a.new-btn:hover {
    background: var(--primary-hover);
    color: var(--text-on-primary, #ffffff);
}

/* ---- Sidebar / nav ---- */
:root[data-theme="dark"] .nav-item.active,
:root[data-mw-theme="dark"] .nav-item.active {
    background: var(--primary-light);
    color: var(--color-primary);
}
:root[data-theme="dark"] .nav-item.active i,
:root[data-mw-theme="dark"] .nav-item.active i {
    color: var(--color-primary);
}

:root[data-theme="dark"] .nav-item.is-active,
:root[data-theme="dark"] .nav-item[aria-current="page"],
:root[data-mw-theme="dark"] .nav-item.is-active,
:root[data-mw-theme="dark"] .nav-item[aria-current="page"] {
    background: var(--brand-primary-soft);
    color: var(--brand-primary);
}
:root[data-theme="dark"] .nav-item.is-active .nav-item-icon,
:root[data-theme="dark"] .nav-item[aria-current="page"] .nav-item-icon,
:root[data-mw-theme="dark"] .nav-item.is-active .nav-item-icon,
:root[data-mw-theme="dark"] .nav-item[aria-current="page"] .nav-item-icon {
    color: var(--brand-primary);
}

:root[data-theme="dark"] .nav-item-icon,
:root[data-mw-theme="dark"] .nav-item-icon {
    color: var(--text-tertiary);
}

/* ---- Forms, labels, placeholders ---- */
:root[data-theme="dark"] .field-label,
:root[data-theme="dark"] .form-field > label,
:root[data-theme="dark"] .form-label,
:root[data-mw-theme="dark"] .field-label,
:root[data-mw-theme="dark"] .form-field > label,
:root[data-mw-theme="dark"] .form-label {
    color: var(--text-secondary);
}

:root[data-theme="dark"] .input::placeholder,
:root[data-theme="dark"] .textarea::placeholder,
:root[data-theme="dark"] .select::placeholder,
:root[data-mw-theme="dark"] .input::placeholder,
:root[data-mw-theme="dark"] .textarea::placeholder,
:root[data-mw-theme="dark"] .select::placeholder {
    color: var(--text-placeholder);
    opacity: 1;
}

:root[data-theme="dark"] .form-control::placeholder,
:root[data-mw-theme="dark"] .form-control::placeholder {
    color: var(--text-placeholder) !important;
    display: block !important;
    opacity: 1 !important;
}

:root[data-theme="dark"] .input-icon-wrapper .input-icon,
:root[data-theme="dark"] .header-search-icon,
:root[data-theme="dark"] .filter-date-range .date-range-input-wrap i,
:root[data-mw-theme="dark"] .input-icon-wrapper .input-icon,
:root[data-mw-theme="dark"] .header-search-icon,
:root[data-mw-theme="dark"] .filter-date-range .date-range-input-wrap i {
    color: var(--text-tertiary);
    opacity: 1;
}

/* ---- Chips / pills ---- */
:root[data-theme="dark"] .chip--outline,
:root[data-mw-theme="dark"] .chip--outline {
    color: var(--text-secondary);
    border-color: var(--border-color-strong);
}

:root[data-theme="dark"] .cp-chip-link,
:root[data-mw-theme="dark"] .cp-chip-link {
    background: rgba(255, 255, 255, 0.06);
    border-color: var(--border-color);
    color: var(--text-secondary);
}
:root[data-theme="dark"] .cp-chip-link i,
:root[data-mw-theme="dark"] .cp-chip-link i {
    color: var(--text-tertiary);
}
:root[data-theme="dark"] .cp-chip-link:hover,
:root[data-mw-theme="dark"] .cp-chip-link:hover {
    background: var(--primary-light);
    border-color: rgba(124, 184, 255, 0.35);
    color: var(--text-link-hover);
}

:root[data-theme="dark"] .cp-channel,
:root[data-mw-theme="dark"] .cp-channel {
    background: var(--bg-surface-elevated, var(--surface-card));
    border-color: var(--border-color);
    color: var(--text-link);
}
:root[data-theme="dark"] .cp-channel i,
:root[data-mw-theme="dark"] .cp-channel i {
    color: var(--text-tertiary);
    opacity: 1;
}

:root[data-theme="dark"] .cp-hero-meta,
:root[data-theme="dark"] .cp-hero-meta span,
:root[data-mw-theme="dark"] .cp-hero-meta,
:root[data-mw-theme="dark"] .cp-hero-meta span {
    color: var(--text-secondary);
}
:root[data-theme="dark"] .cp-hero-meta span i,
:root[data-mw-theme="dark"] .cp-hero-meta span i {
    color: var(--text-tertiary);
    opacity: 1;
}

:root[data-theme="dark"] .crm-dash-period-chip,
:root[data-mw-theme="dark"] .crm-dash-period-chip {
    color: var(--text-secondary);
}
:root[data-theme="dark"] .crm-dash-period-chip.is-active,
:root[data-mw-theme="dark"] .crm-dash-period-chip.is-active {
    color: var(--brand-primary);
}

:root[data-theme="dark"] .filter-pill,
:root[data-mw-theme="dark"] .filter-pill {
    color: var(--text-secondary);
}
:root[data-theme="dark"] .filter-pill.active,
:root[data-mw-theme="dark"] .filter-pill.active {
    color: var(--text-on-primary);
}

/* ---- Flatpickr ---- */
:root[data-theme="dark"] .flatpickr-day.prevMonthDay,
:root[data-theme="dark"] .flatpickr-day.nextMonthDay,
:root[data-mw-theme="dark"] .flatpickr-day.prevMonthDay,
:root[data-mw-theme="dark"] .flatpickr-day.nextMonthDay {
    color: var(--text-disabled);
    opacity: 0.72;
}

:root[data-theme="dark"] .flatpickr-day.selected,
:root[data-theme="dark"] .flatpickr-day.startRange,
:root[data-theme="dark"] .flatpickr-day.endRange,
:root[data-mw-theme="dark"] .flatpickr-day.selected,
:root[data-mw-theme="dark"] .flatpickr-day.startRange,
:root[data-mw-theme="dark"] .flatpickr-day.endRange {
    color: var(--text-on-primary) !important;
}

:root[data-theme="dark"] .flatpickr-day.today:not(.selected),
:root[data-mw-theme="dark"] .flatpickr-day.today:not(.selected) {
    color: var(--brand-primary);
    border-color: var(--brand-primary);
}

/* ---- Vista cliente / contact cards ---- */
:root[data-theme="dark"] .cp-section-label,
:root[data-mw-theme="dark"] .cp-section-label {
    color: var(--text-tertiary);
}
:root[data-theme="dark"] .cp-section-label i,
:root[data-mw-theme="dark"] .cp-section-label i {
    color: var(--text-tertiary);
    opacity: 1;
}

:root[data-theme="dark"] .cp-card-contact__extras,
:root[data-theme="dark"] .cp-card-contact__extras a,
:root[data-mw-theme="dark"] .cp-card-contact__extras,
:root[data-mw-theme="dark"] .cp-card-contact__extras a {
    color: var(--text-link);
}

/* ---- Kanban host field icons ---- */
:root[data-theme="dark"] .mw-kanban-card-host-field i,
:root[data-mw-theme="dark"] .mw-kanban-card-host-field i {
    color: var(--text-tertiary);
}

/* ---- Notifications (remove light-only fallbacks) ---- */
:root[data-theme="dark"] .notif-text,
:root[data-mw-theme="dark"] .notif-text {
    color: var(--text-primary);
}
:root[data-theme="dark"] .notif-time,
:root[data-mw-theme="dark"] .notif-time {
    color: var(--text-tertiary);
}
