/* Dark theme component fixes — complements tokens.css semantic overrides */

@media (prefers-color-scheme: dark) {
    /* Tables */
    .forecast-table,
    .deals-list-table,
    .crm-entity-table {
        background-color: var(--surface-elevated);
        color: var(--text-primary);
    }

    .forecast-table th,
    .forecast-table td,
    .deals-list-table th,
    .deals-list-table td,
    .crm-entity-table th,
    .crm-entity-table td {
        color: var(--text-primary);
        border-color: var(--border-default);
    }

    .forecast-table thead,
    .deals-list-table thead th {
        background-color: var(--surface-input);
        color: var(--text-secondary);
    }

    .forecast-table tr:hover,
    .deals-list-table tbody tr:hover,
    .crm-entity-table tbody tr:hover {
        background-color: var(--brand-primary-subtle);
    }

    .table-numeric {
        color: var(--text-primary);
    }

    /* Kanban */
    .kanban-card {
        background-color: var(--surface-elevated);
        border-color: var(--border-default);
        color: var(--text-primary);
    }

    .kanban-column-header {
        background-color: var(--surface-background) !important;
        color: var(--text-primary);
        border-bottom-color: var(--border-default);
    }
    .kanban-column-header .kanban-column-title {
        color: var(--text-primary);
    }
    .kanban-column-header .kanban-column-total {
        color: var(--text-primary);
    }
    .kanban-column-header .kanban-column-meta {
        color: var(--text-secondary);
    }
    .kanban-column-header .kanban-probability {
        color: var(--text-secondary);
    }
    .kanban-column-header .kanban-column-forecast {
        color: var(--status-info);
    }
    .kanban-column-header .kanban-count {
        background-color: rgba(255, 255, 255, 0.12);
        color: var(--text-primary);
    }
    .kanban-column-header .amount-compact {
        color: var(--text-secondary) !important;
    }
    .kanban-column-header .kanban-sort-label {
        color: var(--text-muted);
    }
    .kanban-column-header .kanban-column-header-footer {
        border-top-color: rgba(255, 255, 255, 0.08);
    }

    .kanban-card-title {
        color: var(--text-primary);
    }
    .kanban-card-forecast-row .card-value.forecast {
        color: var(--status-info);
    }
    .kanban-card-amount-row .card-value.amount {
        color: var(--text-primary);
    }

    .kanban-column-forecast {
        color: var(--text-secondary);
    }

    .kanban-card-stage,
    .card-label {
        color: var(--text-secondary);
    }

    .kanban-empty {
        color: var(--text-muted);
        border-color: var(--border-default);
    }

    /* KPI cards */
    .kpi-card,
    .kpi-card-hero {
        background: var(--surface-elevated);
        border-color: var(--border-default);
        color: var(--text-primary);
    }

    .kpi-card-value,
    .kpi-card-full,
    .kpi-ring-value {
        color: var(--text-primary);
    }

    .kpi-card-name,
    .kpi-achievement-target {
        color: var(--text-secondary);
    }

    .kpi-info-dot {
        color: var(--text-muted);
    }

    /* Deal pipeline header & filters */
    .deal-pipeline-header,
    .filter-panel,
    .page-header,
    .crm-page-header,
    .crm-table-toolbar {
        background: var(--surface-elevated);
        border-color: var(--border-default);
    }

    .filter-panel .form-input,
    .filter-panel select,
    .deal-header-search-input,
    .year-btn,
    .quarter-btn,
    .filter-btn,
    .multi-select-trigger {
        background: var(--surface-input);
        color: var(--text-primary);
        border-color: var(--border-default);
    }

    .multi-select-dropdown {
        background: var(--surface-elevated);
        border-color: var(--border-default);
    }

    .multi-select-option:hover {
        background: var(--surface-hover);
    }

    .year-btn:hover,
    .quarter-btn:hover,
    .filter-btn:hover {
        background: var(--surface-elevated);
    }

    .deal-header-search {
        background: var(--surface-input);
    }

    /* Deal page toolbar buttons */
    .deal-header-icon-btn,
    .toolbar-period-btn,
    .toolbar-text-btn,
    .link-btn {
        color: var(--text-secondary);
        background: transparent;
        border-color: var(--border-default);
    }
    .deal-header-icon-btn:hover,
    .toolbar-period-btn:hover,
    .toolbar-text-btn:hover,
    .link-btn:hover {
        color: var(--text-primary);
        background: var(--surface-input);
        border-color: var(--brand-primary);
    }
    .deal-header-icon-btn .icon-btn-label,
    .toolbar-period-btn .toolbar-period-text {
        color: var(--text-secondary);
    }
    .deal-header-icon-btn:hover .icon-btn-label,
    .toolbar-period-btn:hover .toolbar-period-text {
        color: var(--text-primary);
    }
    .toolbar-period-btn .icon-svg {
        color: var(--text-muted);
    }
    .toolbar-period-btn:hover .icon-svg {
        color: var(--text-primary);
    }

    .deal-header-search-input::placeholder {
        color: var(--text-muted);
    }

    /* Gantt / timeline panels */
    .gantt-header,
    .gantt-row-label,
    .timeline-toolbar,
    .list-panel,
    .kanban-card-mock {
        background: var(--surface-input);
        color: var(--text-secondary);
        border-color: var(--border-default);
    }

    .gantt-deal-name,
    .gantt-deal-meta {
        color: var(--text-primary);
    }

    /* Modals & popovers */
    .modal-content,
    .modal-header,
    .modal-body,
    .modal-footer,
    .column-picker-menu,
    .crm-sidebar-profile-popover,
    .crm-nav-flyout-panel {
        background: var(--surface-elevated);
        border-color: var(--border-default);
        color: var(--text-primary);
    }

    .modal-overlay {
        background: rgba(0, 0, 0, 0.65);
    }

    /* CRM pages */
    .crm-page,
    .crm-table-wrap {
        color: var(--text-primary);
    }

    .crm-page-subtitle,
    .display-settings-hint,
    .settings-card p,
    .crm-detail-tab,
    .exec-chart-label,
    .comm-dash-invoice-meta {
        color: var(--text-secondary);
    }

    .crm-detail-tabs {
        border-color: var(--border-default);
    }

    .crm-activity-item {
        border-color: var(--border-subtle);
        color: var(--text-primary);
    }

    /* Status pills — keep hue, improve contrast on dark UI */
    .status-paid { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .status-pending { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }
    .status-approved { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
    .status-disputed { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .status-issued { background: rgba(99, 102, 241, 0.2); color: #a5b4fc; }
    .status-planned { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
    .status-invoiced { background: rgba(99, 102, 241, 0.2); color: #a5b4fc; }
    .status-overdue { background: rgba(249, 115, 22, 0.2); color: #fdba74; }

    .exec-kpi-success { color: #86efac; }
    .exec-kpi-warning { color: #fcd34d; }

    /* Stage badges */
    .gantt-stage-badge.stage-closedLost,
    .stage-closedLost {
        background: rgba(148, 163, 184, 0.2);
        color: #cbd5e1;
    }

    /* Form controls */
    .form-input,
    .form-input:focus,
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        background-color: var(--surface-input);
        color: var(--text-primary);
        border-color: var(--border-default);
    }

    .form-input::placeholder,
    input::placeholder,
    textarea::placeholder {
        color: var(--text-muted);
    }

    select.form-input,
    .filter-panel select {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%2394a3b8' stroke-width='1.2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: right 10px center;
    }

    /* Buttons */
    .btn-secondary {
        background-color: var(--surface-input);
        color: var(--text-primary);
        border-color: var(--border-default);
    }

    .btn-secondary:hover:not(:disabled) {
        background-color: var(--border-default);
    }

    .view-segmented,
    .zoom-segmented {
        background: var(--surface-input);
    }

    .view-segmented .view-btn.active,
    .zoom-segmented .zoom-btn.active {
        background: var(--surface-elevated);
        color: var(--text-primary);
    }

    .view-dropdown-trigger {
        background: var(--surface-input);
        border-color: var(--border-default);
    }

    .view-dropdown-trigger:hover {
        background: var(--surface-hover);
        border-color: var(--color-neutral-500);
    }

    .view-dropdown-menu {
        background: var(--dash-surface);
        border-color: var(--dash-border);
    }

    .view-dropdown-option:hover {
        background: var(--color-neutral-800);
    }

    /* Tooltips */
    .timeline-tooltip,
    .kpi-tooltip,
    .crm-tooltip {
        background-color: var(--surface-elevated);
        color: var(--text-primary);
        border: 1px solid var(--border-default);
    }

    /* Login screen — already dark gradient; keep card elevated */
    .login-card {
        background: var(--surface-elevated);
        color: var(--text-primary);
    }

    .login-tagline,
    .login-demo-note,
    .login-picker-hint {
        color: var(--text-secondary);
    }

    /* Scrollbars (WebKit) */
    ::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }

    ::-webkit-scrollbar-track {
        background: var(--surface-background);
    }

    ::-webkit-scrollbar-thumb {
        background: var(--border-default);
        border-radius: 5px;
    }

    ::-webkit-scrollbar-thumb:hover {
        background: var(--color-neutral-400);
    }

    /* Dashboard gantt / charts — replace hardcoded light grays */
    .gantt-header,
    .gantt-corner,
    .gantt-row-header,
    .gantt-time-axis,
    .timeline-card,
    .chart-card,
    .stat-card,
    .dashboard-card {
        background: var(--surface-input);
        border-color: var(--border-default);
        color: var(--text-secondary);
    }

    .gantt-deal-row:nth-child(even),
    .gantt-grid-row:nth-child(even),
    .chart-legend-item,
    .deal-header-meta {
        background: var(--surface-background);
    }

    .gantt-deal-name,
    .gantt-bar-label,
    .chart-card-title,
    .stat-card-value {
        color: var(--text-primary);
    }

    .kpi-tooltip-popup,
    .deal-hover-card {
        background: var(--surface-elevated);
        border-color: var(--border-default);
        color: var(--text-primary);
    }

    /* Deal form */
    .deal-form-section,
    .form-section {
        background: var(--surface-elevated);
        border-color: var(--border-default);
    }

    .deal-form-section h3,
    .form-section-title {
        color: var(--text-primary);
    }

    .form-hint,
    .field-hint,
    .deal-form-hint {
        color: var(--text-secondary);
    }

    /* Revenue / account badges */
    .deal-revenue-ready-badge {
        background: rgba(34, 197, 94, 0.15);
        border-color: rgba(34, 197, 94, 0.35);
        color: #86efac;
    }

    .deal-revenue-setup-banner,
    .revenue-setup-warnings {
        background: rgba(245, 158, 11, 0.12);
        border-color: rgba(245, 158, 11, 0.35);
        color: #fcd34d;
    }

    .contact-linked-account-row {
        background: var(--surface-input);
        border-color: var(--border-default);
    }

    .contact-linked-account-name {
        color: var(--text-primary);
    }

    .contact-spoc-badge {
        background: var(--surface-elevated);
        color: var(--text-secondary);
    }

    .rating-select-wrap.priority-high {
        background: rgba(34, 197, 94, 0.12);
        border-color: rgba(34, 197, 94, 0.4);
    }

    .rating-select-wrap.priority-medium {
        background: rgba(74, 222, 128, 0.1);
        border-color: rgba(74, 222, 128, 0.35);
    }

    .rating-select-wrap.priority-low {
        background: var(--surface-input);
        border-color: var(--border-default);
    }

    .account-rating-badge.rating-cold {
        background: var(--surface-input);
        color: var(--text-secondary);
    }

    /* Goal status badges */
    .goal-status-badge.status-completed { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .goal-status-badge.status-paused    { background: rgba(250, 204, 21, 0.2); color: #fde68a; }
    .goal-status-badge.status-behind    { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .goal-status-badge.status-on-track  { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }

    /* Field info icon tooltip */
    .field-info-icon::after { background: #334155; color: #e2e8f0; }

    /* Goal summary cards */
    .goal-summary-card.card-current-month { background: rgba(59, 130, 246, 0.1); border-color: rgba(59, 130, 246, 0.3); }
    .goal-summary-card.card-on-track     { background: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.3); }
    .goal-summary-card.card-behind       { background: rgba(239, 68, 68, 0.1); border-color: rgba(239, 68, 68, 0.3); }
    .goal-summary-card.card-completed    { background: rgba(59, 130, 246, 0.1); border-color: rgba(59, 130, 246, 0.3); }
    .goal-filter-tag { background: rgba(255,255,255,0.1); }

    /* Goal month badge */
    .goal-month-badge { background: rgba(14, 165, 233, 0.2); color: #7dd3fc; }
    .goal-month-badge.year-badge { background: rgba(168, 85, 247, 0.2); color: #d8b4fe; }
    .goal-month-badge.quarter-badge { background: rgba(250, 204, 21, 0.2); color: #fde68a; }

    /* Legacy sidebar (layout.css) */
    .sidebar { background-color: var(--surface-elevated); }
    .sidebar-header { background-color: var(--surface-elevated); }
    .sidebar-section.collapsible .section-toggle,
    .sidebar-section.collapsible .section-toggle:hover {
        background-color: var(--surface-input);
        color: var(--text-primary);
    }
    .sidebar-section .section-content { background-color: var(--surface-elevated); }

    /* Badges (timeline.css) */
    .badge-planned { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
    .badge-invoiced { background: rgba(249, 115, 22, 0.2); color: #fdba74; }
    .badge-paid { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .badge-cancelled { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .badge-at-risk { background: rgba(142, 35, 68, 0.3); color: #f9a8d4; }

    /* Stage badges (timeline.css) */
    .stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }

    /* Rating selectors (crm-shell.css) */
    .rating-select-wrap.priority-high { border-color: rgba(34, 197, 94, 0.4); background: rgba(34, 197, 94, 0.12); }
    .rating-select-wrap.priority-medium { border-color: rgba(74, 222, 128, 0.35); background: rgba(74, 222, 128, 0.1); }
    .rating-select-wrap.priority-low { border-color: var(--border-default); background: var(--surface-input); }

    /* Commission descriptions (crm-shell.css) */
    .account-commission-description.is-enabled { background: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.3); color: #86efac; }
    .account-commission-description.is-enabled strong { color: #86efac; }
    .account-commission-description.is-disabled,
    .account-commission-description.is-neutral { background: var(--surface-input); border-color: var(--border-default); color: var(--text-secondary); }
    .account-commission-description.is-neutral strong { color: var(--text-primary); }

    /* Commission ineligible badge */
    .comm-ineligible-badge { background: rgba(255, 251, 235, 0.12); border-color: rgba(180, 83, 9, 0.35); color: #fcd34d; }

    /* Goal pct badges (crm-shell.css) */
    .pct-completed { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .pct-on-track  { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }
    .pct-behind    { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }

    /* Upcoming widget (crm-shell.css) */
    .upcoming-type { color: var(--text-muted); }
    .upcoming-empty { color: var(--text-muted); }

    /* Invoice Kanban (crm-shell.css) */
    .invoice-kanban-col { background: var(--surface-input); border-color: var(--border-default); }
    .invoice-kanban-col h3 { color: var(--text-primary); }
    .invoice-kanban-card { border-color: var(--border-default); }

    /* Deal form banners (deal-form.css) */
    .deal-form-banner.is-error { background: rgba(239, 68, 68, 0.15); color: #fca5a5; border-color: rgba(239, 68, 68, 0.35); }
    .deal-form-banner.is-success { background: rgba(34, 197, 94, 0.12); color: #86efac; border-color: rgba(34, 197, 94, 0.3); }

    /* Account rating badges (deal-form.css) */
    .account-rating-badge.rating-hot { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .account-rating-badge.rating-warm { background: rgba(34, 197, 94, 0.1); color: #86efac; border-color: rgba(34, 197, 94, 0.3); }

    /* Deal stale badge (deal-form.css) */
    .deal-stale-badge { background: rgba(249, 115, 22, 0.2); color: #fdba74; }

    /* Integration panels (integrations.css) */
    .integration-panel-icon--ms { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
    .integration-badge--on { background: rgba(34, 197, 94, 0.15); color: #86efac; }
    .integration-badge--off { background: var(--surface-input); border-color: var(--border-default); }
    .integration-notice { background: var(--surface-input); }
    .integration-setup-box { background: var(--surface-input); }
    .integration-panel-footer { background: var(--surface-elevated); }
    .integration-toast.is-success { color: #86efac; }
    .integration-toast.is-error { color: #fca5a5; }

    /* Dashboard hover cards (dashboard.css) */
    .hover-stage-badge { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }
    .hover-stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .hover-stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .hover-stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .hover-stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }

    /* Dashboard goal summary */
    .exec-summary-card { background: var(--surface-elevated); border-color: var(--border-default); }
    .dual-bar-chart { background: transparent; }
    .dual-bar-label { color: var(--text-muted); }
    .goal-risk-table td { border-color: rgba(255,255,255,0.08); }
    .goal-risk-table tbody tr:hover { background: rgba(255,255,255,0.04); }
    .pct-completed { background: rgba(22, 163, 74, 0.2); }
    .pct-on-track  { background: rgba(217, 119, 6, 0.2); }
    .pct-behind    { background: rgba(220, 38, 38, 0.2); }
    .kpi-bar-track { background: rgba(255,255,255,0.1); }
    .coverage-ring circle:first-child { stroke: rgba(255,255,255,0.1); }
    .goal-line-legend { border-color: rgba(245, 158, 11, 0.5); }

    /* Banners & notices (deal-form.css) */
    .deal-form-banner.is-error {
        background: rgba(239, 68, 68, 0.15);
        color: #fca5a5;
        border-color: rgba(239, 68, 68, 0.35);
    }
    .deal-form-banner.is-success {
        background: rgba(34, 197, 94, 0.12);
        color: #86efac;
        border-color: rgba(34, 197, 94, 0.3);
    }
    .deal-date-warning {
        background: rgba(245, 158, 11, 0.15);
        border-color: rgba(245, 158, 11, 0.35);
        color: #fcd34d;
    }
    .deal-inherit-banner {
        background: rgba(34, 197, 94, 0.12);
        color: #86efac;
    }
    .commission-eligibility-notice {
        background: rgba(245, 158, 11, 0.12);
        border-color: rgba(245, 158, 11, 0.3);
        color: #fcd34d;
        backdrop-filter: none;
    }
    .commission-eligibility-notice strong,
    .commission-eligibility-notice span { color: #fcd34d; }

    /* SPOC badge (crm-shell.css) */
    .contact-spoc-badge.is-spoc {
        background: rgba(34, 197, 94, 0.2);
        color: #86efac;
    }

    /* Dashboard error (dashboard.css) */
    .dashboard-error {
        background: rgba(239, 68, 68, 0.15);
        border-color: rgba(239, 68, 68, 0.35);
        color: #fca5a5;
    }

    /* Chart card border (dashboard.css) */
    .exec-chart-card { border-color: var(--border-default); }

    /* Chart legend color (dashboard.css) */
    .dual-chart-legend { color: var(--text-secondary); }

    /* Sidebar section toggle hover (layout.css) */
    .sidebar-section.collapsible .section-toggle:hover {
        background-color: var(--surface-input);
    }

    /* Contact remove button hover (crm-shell.css) */
    .contact-linked-remove:hover {
        background: rgba(239, 68, 68, 0.2);
        color: #fca5a5;
    }

    /* Kanban column (timeline.css) */
    .kanban-column {
        background-color: var(--surface-input);
    }
    .kanban-column-header-footer {
        border-top-color: rgba(255, 255, 255, 0.08);
    }
    .kanban-sort-btn {
        border-color: var(--border-default);
    }

    /* Timeline row hover (components.css) */
    .timeline-row:hover {
        background-color: var(--surface-input);
    }

    /* Frequency type option (layout.css) */
    .frequency-type-option {
        border-color: var(--border-default);
        color: var(--text-secondary);
        background: var(--surface-input);
    }
    .frequency-type-option:has(input:checked) {
        border-color: var(--brand-primary);
        background: var(--brand-primary-subtle);
        color: var(--text-primary);
    }
    .frequency-preview {
        color: var(--text-muted);
        background: var(--surface-background);
        border-color: var(--border-default);
    }
    .currency-input { border-color: var(--border-default); background: var(--surface-elevated); }
    .currency-input span {
        background: var(--surface-input);
        color: var(--text-secondary);
    }

    /* Autofill override — dark bg instead of default yellow */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 1000px var(--surface-input) inset !important;
        -webkit-text-fill-color: var(--text-primary) !important;
        caret-color: var(--text-primary);
        transition: background-color 5000s ease-in-out 0s;
    }

    /* Firefox scrollbar */
    * {
        scrollbar-color: var(--border-default) var(--surface-background);
        scrollbar-width: thin;
    }

    /* Invoice kanban card fix */
    .invoice-kanban-card { background: var(--surface-elevated); }

    /* Compact goal filter tag */
    .goal-filter-tag { background: rgba(255,255,255,0.08); }

    /* Screen / modal overlay for consistency */
    .modal-overlay { background: rgba(0, 0, 0, 0.7); }

    /* Ensure all card-type surfaces use elevated surface in dark mode */
    .goal-summary-card.card-current-month,
    .goal-summary-card.card-on-track,
    .goal-summary-card.card-behind,
    .goal-summary-card.card-completed {
        background: var(--surface-elevated);
        border-color: var(--border-default);
    }
    .goal-summary-card.card-current-month { border-left: 3px solid var(--status-info); }
    .goal-summary-card.card-on-track { border-left: 3px solid var(--status-success); }
    .goal-summary-card.card-behind { border-left: 3px solid var(--status-danger); }
    .goal-summary-card.card-completed { border-left: 3px solid var(--status-info); }

    /* Stage badges (dashboard.css) */
    .deal-status-badge.status-won  { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .deal-status-badge.status-lost { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .deal-status-badge.status-open { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }

    /* Revenue setup banner fix */
    .revenue-setup-warnings {
        background: rgba(245, 158, 11, 0.12);
        border-color: rgba(245, 158, 11, 0.35);
        color: #fcd34d;
    }
    .revenue-setup-warnings h3 { color: #fcd34d; }
    .revenue-setup-warning-list { color: #fcd34d; }
    .revenue-setup-warning-list li strong { color: #fde68a; }

    /* Deal stale badge reference fix */
    .upcoming-revenue-warning { color: #fcd34d; }

    /* Account 360 summary */
    .account-360-summary {
        background: var(--surface-input);
        border-bottom-color: var(--border-default);
    }

    /* Contact new account form */
    .account-new-contact { border-color: var(--border-default); }

    /* Check list */
    .account-check-list { border-color: var(--border-default); }

    /* Revenue over time chart */
    .revenue-over-time-card .revenue-over-time-header {
        border-bottom-color: var(--border-default);
    }
    .rot-toggle-track {
        background: var(--surface-input);
    }

    /* Display settings */
    .export-csv-option:hover {
        border-color: var(--brand-primary);
        background: var(--brand-primary-subtle);
    }

    /* Summary table (components.css via crm-shell) */
    .summary-table th { color: var(--text-secondary); }
    .summary-table td { color: var(--text-primary); border-bottom-color: var(--border-default); }

    /* Commission toggle on deal form */
    .deal-form .form-group-checkbox label { color: var(--text-primary); }

    /* Probability control range track */
    .probability-slider { background: var(--border-default); }
    .probability-slider::-webkit-slider-thumb { border-color: var(--surface-elevated); }
    .probability-slider::-moz-range-thumb { border-color: var(--surface-elevated); }

    /* Field info tooltip (deal-form.css) */
    .field-info-icon { background: var(--border-default); color: var(--text-muted); }
    .field-info-icon:hover { background: var(--brand-primary); color: var(--text-on-brand); }
    .field-info-icon::after { background: var(--surface-elevated); color: var(--text-primary); border: 1px solid var(--border-default); }

    /* Pipeline coverage (dashboard.css) */
    .pipeline-detail-row { background: var(--surface-input); }
    .coverage-insight { background: var(--surface-input); }

    /* Chart type button */
    .chart-type-btn {
        color: var(--text-secondary);
        background: var(--surface-input);
        border-color: var(--border-default);
    }
    .chart-type-btn.active {
        background: var(--brand-primary);
        color: var(--text-on-brand);
        border-color: var(--brand-primary);
    }

    /* Rank number (dashboard.css) */
    .rank-number { background: var(--border-default); color: var(--text-secondary); }

    /* ==========================================
       ADDITIONAL DARK MODE FIXES
       ========================================== */

    /* ── layout.css ── */
    .kpi-card {
        background: var(--surface-elevated);
        border-left-color: var(--brand-primary);
    }

    .sidebar {
        background-color: var(--surface-elevated);
        border-right-color: var(--border-default);
    }

    .sidebar-header {
        background-color: var(--surface-elevated);
        border-bottom-color: var(--border-default);
    }

    .sidebar-section.collapsible .section-toggle {
        background-color: var(--surface-input);
        border-bottom-color: var(--border-default);
        color: var(--text-primary);
    }

    .sidebar-section.collapsible .section-toggle:hover {
        background-color: var(--surface-hover);
    }

    .sidebar-section .section-content {
        background-color: var(--surface-elevated);
    }

    .sidebar-title {
        color: var(--text-primary);
    }

    .sidebar-section h3 {
        color: var(--text-primary);
    }

    .section-collapse-btn {
        border-color: var(--border-default);
        color: var(--text-secondary);
    }

    .section-collapse-btn:hover {
        background-color: var(--surface-input);
    }

    .kpi-section-title {
        color: var(--text-secondary);
    }

    .kpi-label {
        color: var(--text-secondary);
    }

    .kpi-value {
        color: var(--text-primary);
    }

    .app-title {
        color: var(--text-primary);
    }

    .form-section legend {
        color: var(--text-primary);
    }

    .form-group label {
        color: var(--text-secondary);
    }

    .currency-input span {
        background-color: var(--surface-input);
        color: var(--text-secondary);
    }

    .frequency-type-option {
        border-color: var(--border-default);
        color: var(--text-secondary);
        background: var(--surface-input);
    }

    .frequency-type-option:has(input:checked) {
        border-color: var(--brand-primary);
        background: var(--brand-primary-subtle);
        color: var(--text-primary);
    }

    .frequency-preview {
        color: var(--text-muted);
        background: var(--surface-background);
        border-color: var(--border-default);
    }

    .modal-close {
        color: var(--text-muted);
    }

    .modal-close:hover {
        color: var(--text-primary);
    }

    /* ── crm-shell.css ── */
    .status-pending { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }
    .status-disputed { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .status-planned { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
    .status-overdue { background: rgba(249, 115, 22, 0.2); color: #fdba74; }

    .kpi-goal-row.attainment-amber { color: #fcd34d; }
    .kpi-goal-row.attainment-red { color: #fca5a5; }
    .kpi-goal-row.attainment-green { color: #86efac; }

    .kpi-bar-fill.attainment-amber { background: #f59e0b; }
    .kpi-bar-fill.attainment-red { background: #ef4444; }
    .kpi-bar-fill.attainment-green { background: #22c55e; }

    .swatch-achieved { background: #22c55e; }

    .text-green { color: #86efac !important; }
    .text-amber { color: #fcd34d !important; }

    .goal-line-legend { border-left-color: #f59e0b; }

    .kpi-info-dot { color: var(--text-muted); }

    .kpi-info-icon { color: var(--text-muted); }

    /* ── dashboard.css ── */
    .gantt-stage-badge.stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .gantt-stage-badge.stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .gantt-stage-badge.stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .gantt-stage-badge.stage-closedLost { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }

    .gantt-segment.is-future.invoiced { background-color: #fb923c; }

    .dashboard-error {
        background: rgba(239, 68, 68, 0.15);
        border-color: rgba(239, 68, 68, 0.35);
        color: #fca5a5;
    }

    .dual-chart-legend { color: var(--text-secondary); }

    .exec-chart-card { border-color: var(--border-default); }

    .exec-summary-card { background: var(--surface-elevated); border-color: var(--border-default); }

    .goal-risk-table td { border-color: rgba(255,255,255,0.08); }
    .goal-risk-table tbody tr:hover { background: rgba(255,255,255,0.04); }

    .kpi-bar-track { background: rgba(255,255,255,0.1); }
    .coverage-ring circle:first-child { stroke: rgba(255,255,255,0.1); }

    /* ── deal-form.css ── */
    .deal-form-banner.is-error {
        background: rgba(239, 68, 68, 0.15);
        color: #fca5a5;
        border-color: rgba(239, 68, 68, 0.35);
    }
    .deal-form-banner.is-success {
        background: rgba(34, 197, 94, 0.12);
        color: #86efac;
        border-color: rgba(34, 197, 94, 0.3);
    }
    .deal-date-warning {
        background: rgba(245, 158, 11, 0.15);
        border-color: rgba(245, 158, 11, 0.35);
        color: #fcd34d;
    }
    .deal-inherit-banner {
        background: rgba(34, 197, 94, 0.12);
        color: #86efac;
    }
    .commission-eligibility-notice {
        background: rgba(245, 158, 11, 0.12);
        border-color: rgba(245, 158, 11, 0.3);
        color: #fcd34d;
    }
    .commission-eligibility-notice strong,
    .commission-eligibility-notice span { color: #fcd34d; }

    .deal-stale-badge { background: rgba(249, 115, 22, 0.2); color: #fdba74; }

    .deal-revenue-ready-badge {
        background: rgba(34, 197, 94, 0.15);
        border-color: rgba(34, 197, 94, 0.35);
        color: #86efac;
    }

    .deal-revenue-setup-banner,
    .revenue-setup-warnings {
        background: rgba(245, 158, 11, 0.12);
        border-color: rgba(245, 158, 11, 0.35);
        color: #fcd34d;
    }
    .revenue-setup-warnings h3 { color: #fcd34d; }
    .revenue-setup-warning-list { color: #fcd34d; }
    .revenue-setup-warning-list li strong { color: #fde68a; }

    .upcoming-revenue-warning { color: #fcd34d; }

    .account-rating-badge.rating-hot { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .account-rating-badge.rating-warm { background: rgba(34, 197, 94, 0.1); color: #86efac; border-color: rgba(34, 197, 94, 0.3); }
    .account-rating-badge.rating-cold { background: var(--surface-input); color: var(--text-secondary); }

    .rating-select-wrap.priority-high {
        background: rgba(34, 197, 94, 0.12);
        border-color: rgba(34, 197, 94, 0.4);
    }
    .rating-select-wrap.priority-medium {
        background: rgba(74, 222, 128, 0.1);
        border-color: rgba(74, 222, 128, 0.35);
    }
    .rating-select-wrap.priority-low {
        background: var(--surface-input);
        border-color: var(--border-default);
    }

    .contact-linked-account-row {
        background: var(--surface-input);
        border-color: var(--border-default);
    }
    .contact-linked-account-name { color: var(--text-primary); }
    .contact-spoc-badge { background: var(--surface-elevated); color: var(--text-secondary); }
    .contact-spoc-badge.is-spoc {
        background: rgba(34, 197, 94, 0.2);
        color: #86efac;
    }
    .contact-linked-remove:hover {
        background: rgba(239, 68, 68, 0.2);
        color: #fca5a5;
    }

    .account-commission-description.is-enabled { background: rgba(34, 197, 94, 0.1); border-color: rgba(34, 197, 94, 0.3); color: #86efac; }
    .account-commission-description.is-enabled strong { color: #86efac; }
    .account-commission-description.is-disabled,
    .account-commission-description.is-neutral { background: var(--surface-input); border-color: var(--border-default); color: var(--text-secondary); }
    .account-commission-description.is-neutral strong { color: var(--text-primary); }

    .comm-ineligible-badge { background: rgba(255, 251, 235, 0.12); border-color: rgba(180, 83, 9, 0.35); color: #fcd34d; }

    .account-360-summary {
        background: var(--surface-input);
        border-bottom-color: var(--border-default);
    }
    .account-new-contact { border-color: var(--border-default); }
    .account-check-list { border-color: var(--border-default); }

    .revenue-over-time-card .revenue-over-time-header {
        border-bottom-color: var(--border-default);
    }
    .rot-toggle-track { background: var(--surface-input); }

    .export-csv-option:hover {
        border-color: var(--brand-primary);
        background: var(--brand-primary-subtle);
    }

    .summary-table th { color: var(--text-secondary); }
    .summary-table td { color: var(--text-primary); border-bottom-color: var(--border-default); }

    .deal-form .form-group-checkbox label { color: var(--text-primary); }

    .probability-slider { background: var(--border-default); }
    .probability-slider::-webkit-slider-thumb { border-color: var(--surface-elevated); }
    .probability-slider::-moz-range-thumb { border-color: var(--surface-elevated); }

    .field-info-icon { background: var(--border-default); color: var(--text-muted); }
    .field-info-icon:hover { background: var(--brand-primary); color: var(--text-on-brand); }
    .field-info-icon::after { background: var(--surface-elevated); color: var(--text-primary); border: 1px solid var(--border-default); }

    .pipeline-detail-row { background: var(--surface-input); }
    .coverage-insight { background: var(--surface-input); }

    .chart-type-btn {
        color: var(--text-secondary);
        background: var(--surface-input);
        border-color: var(--border-default);
    }
    .chart-type-btn.active {
        background: var(--brand-primary);
        color: var(--text-on-brand);
        border-color: var(--brand-primary);
    }

    .rank-number { background: var(--border-default); color: var(--text-secondary); }

    /* ── timeline.css ── */
    .kanban-account-heat-warm { background: #d97706; }
    .kanban-account-heat-cold { background: #2563eb; }
    .kanban-account-heat-hot { background: #dc2626; }

    .timeline-row:hover {
        background-color: var(--surface-input);
    }

    .kanban-column {
        background-color: var(--surface-input);
    }
    .kanban-column-header-footer {
        border-top-color: rgba(255, 255, 255, 0.08);
    }
    .kanban-sort-btn {
        border-color: var(--border-default);
    }

    .badge-planned { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
    .badge-invoiced { background: rgba(249, 115, 22, 0.2); color: #fdba74; }
    .badge-paid { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .badge-cancelled { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .badge-at-risk { background: rgba(142, 35, 68, 0.3); color: #f9a8d4; }

    .stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }

    .deal-status-badge.status-won  { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .deal-status-badge.status-lost { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .deal-status-badge.status-open { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }

    /* ── integrations.css ── */
    .integration-panel-icon--ms { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
    .integration-badge--on { background: rgba(34, 197, 94, 0.15); color: #86efac; }
    .integration-badge--off { background: var(--surface-input); border-color: var(--border-default); }
    .integration-notice { background: var(--surface-input); }
    .integration-setup-box { background: var(--surface-input); }
    .integration-panel-footer { background: var(--surface-elevated); }
    .integration-toast.is-success { color: #86efac; }
    .integration-toast.is-error { color: #fca5a5; }

    /* ── components.css ── */
    .crm-entity-table {
        background-color: var(--surface-elevated);
        color: var(--text-primary);
    }

    /* ── quick-create-popup.css ── */
    .quick-create-popup-error {
        background: #3b1c1a;
        color: #fca5a5;
        border-color: #5c2c2a;
    }

    /* ── Goal status badges (deal-form.css) ── */
    .goal-status-badge.status-completed { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .goal-status-badge.status-paused    { background: rgba(250, 204, 21, 0.2); color: #fde68a; }
    .goal-status-badge.status-behind    { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }
    .goal-status-badge.status-on-track  { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }

    /* ── Goal summary cards ── */
    .goal-summary-card.card-current-month,
    .goal-summary-card.card-on-track,
    .goal-summary-card.card-behind,
    .goal-summary-card.card-completed {
        background: var(--surface-elevated);
        border-color: var(--border-default);
    }
    .goal-summary-card.card-current-month { border-left: 3px solid var(--status-info); }
    .goal-summary-card.card-on-track { border-left: 3px solid var(--status-success); }
    .goal-summary-card.card-behind { border-left: 3px solid var(--status-danger); }
    .goal-summary-card.card-completed { border-left: 3px solid var(--status-info); }

    .goal-month-badge { background: rgba(14, 165, 233, 0.2); color: #7dd3fc; }
    .goal-month-badge.year-badge { background: rgba(168, 85, 247, 0.2); color: #d8b4fe; }
    .goal-month-badge.quarter-badge { background: rgba(250, 204, 21, 0.2); color: #fde68a; }

    .goal-filter-tag { background: rgba(255,255,255,0.08); }

    /* ── Invoice kanban ── */
    .invoice-kanban-col { background: var(--surface-input); border-color: var(--border-default); }
    .invoice-kanban-col h3 { color: var(--text-primary); }
    .invoice-kanban-card { background: var(--surface-elevated); border-color: var(--border-default); }

    /* ── Hover cards (dashboard.css) ── */
    .hover-stage-badge { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }
    .hover-stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .hover-stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .hover-stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .hover-stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }

    /* ── Stage badges (dashboard.css) ── */
    .gantt-stage-badge.stage-qualification { background: rgba(255, 152, 0, 0.2); color: #ffcc80; }
    .gantt-stage-badge.stage-proposal { background: rgba(33, 150, 243, 0.2); color: #90caf9; }
    .gantt-stage-badge.stage-negotiation { background: rgba(244, 67, 54, 0.2); color: #ef9a9a; }
    .gantt-stage-badge.stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }
    .gantt-stage-badge.stage-closedLost { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }

    /* ── Dual bar chart ── */
    .dual-bar-chart { background: transparent; }
    .dual-bar-label { color: var(--text-muted); }

    /* ── Coverage ring ── */
    .coverage-ring circle:first-child { stroke: rgba(255,255,255,0.1); }

    /* ── Probability slider ── */
    .probability-slider { background: var(--border-default); }
    .probability-slider::-webkit-slider-thumb { border-color: var(--surface-elevated); }
    .probability-slider::-moz-range-thumb { border-color: var(--surface-elevated); }

    /* ── Field info tooltip ── */
    .field-info-icon { background: var(--border-default); color: var(--text-muted); }
    .field-info-icon:hover { background: var(--brand-primary); color: var(--text-on-brand); }
    .field-info-icon::after { background: var(--surface-elevated); color: var(--text-primary); border: 1px solid var(--border-default); }

    /* ── Autofill override ── */
    input:-webkit-autofill,
    input:-webkit-autofill:hover,
    input:-webkit-autofill:focus,
    input:-webkit-autofill:active {
        -webkit-box-shadow: 0 0 0 1000px var(--surface-input) inset !important;
        -webkit-text-fill-color: var(--text-primary) !important;
        caret-color: var(--text-primary);
        transition: background-color 5000s ease-in-out 0s;
    }

    /* ── Firefox scrollbar ── */
    * {
        scrollbar-color: var(--border-default) var(--surface-background);
        scrollbar-width: thin;
    }

    /* ── WebKit scrollbar ── */
    ::-webkit-scrollbar {
        width: 10px;
        height: 10px;
    }
    ::-webkit-scrollbar-track {
        background: var(--surface-background);
    }
    ::-webkit-scrollbar-thumb {
        background: var(--border-default);
        border-radius: 5px;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: var(--text-muted);
    }

    /* ---- crm-shell.css remaining hardcoded colors ---- */
    .status-issued { background: rgba(99, 102, 241, 0.2); color: #a5b4fc; }
    .status-approved { background: rgba(59, 130, 246, 0.2); color: #93c5fd; }
    .status-invoiced { background: rgba(99, 102, 241, 0.2); color: #a5b4fc; }

    .contact-linked-remove:hover {
        background: rgba(239, 68, 68, 0.2);
        color: #fca5a5;
    }

    .kpi-bar-fill.attainment-amber { background: #f59e0b; }
    .kpi-bar-fill.attainment-red { background: #ef4444; }
    .kpi-bar-fill.attainment-green { background: #22c55e; }
    .text-green { color: #86efac !important; }
    .text-amber { color: #fcd34d !important; }
    .pct-completed { background: rgba(34, 197, 94, 0.2); color: #86efac; }
    .pct-on-track { background: rgba(245, 158, 11, 0.2); color: #fcd34d; }
    .pct-behind { background: rgba(239, 68, 68, 0.2); color: #fca5a5; }

    /* ---- dashboard.css remaining ---- */
    .rank-1 .rank-number { background: #fbbf24; color: #1a2332; }
    .rank-3 .rank-number { background: #d97706; color: #fff; }
    .legend-color.lost { background: #ef4444; color: #fff; }
    .deal-avatar.c2 { background: #ec4899; }

    .hover-stage-closedLost { background: rgba(148, 163, 184, 0.2); color: #cbd5e1; }
    .gantt-stage-badge.stage-closed { background: rgba(76, 175, 80, 0.2); color: #a5d6a7; }

    /* ---- integrations.css remaining ---- */
    .integration-panel-icon--ms { background: rgba(59, 130, 246, 0.15); color: #93c5fd; }
    .integration-setup-box { background: var(--surface-input); }
    .integration-panel-footer { background: var(--surface-elevated); }
}
