/* TradeJournal Dark Mode Styles */

:root {
  /* Light mode colors */
  --tj-primary-bg: #ffffff;
  --tj-secondary-bg: #f8f9fa;
  --tj-tertiary-bg: #e9ecef;
  --tj-card-bg: #ffffff;
  --tj-text-primary: #212529;
  --tj-text-secondary: #6c757d;
  --tj-text-muted: #adb5bd;
  --tj-border-color: #dee2e6;
  --tj-accent-color: #667eea;
  --tj-accent-hover: #5a67d8;
  --tj-success-color: #28a745;
  --tj-warning-color: #ffc107;
  --tj-danger-color: #dc3545;
  --tj-info-color: #17a2b8;
  --tj-gradient-start: #667eea;
  --tj-gradient-end: #764ba2;
  --tj-shadow: rgba(0, 0, 0, 0.1);
  --tj-input-bg: #ffffff;
  --tj-input-border: #ced4da;
  --tj-button-primary: #667eea;
  --tj-button-secondary: #6c757d;
}

/* Dark mode overrides */
[data-theme="dark"] {
  --tj-primary-bg: #1a1a1a;
  --tj-secondary-bg: #2d2d2d;
  --tj-tertiary-bg: #404040;
  --tj-card-bg: #2d2d2d;
  --tj-text-primary: #ffffff;
  --tj-text-secondary: #cccccc;
  --tj-text-muted: #888888;
  --tj-border-color: #404040;
  --tj-accent-color: #667eea;
  --tj-accent-hover: #5a67d8;
  --tj-success-color: #28a745;
  --tj-warning-color: #ffc107;
  --tj-danger-color: #dc3545;
  --tj-info-color: #17a2b8;
  --tj-gradient-start: #667eea;
  --tj-gradient-end: #764ba2;
  --tj-shadow: rgba(0, 0, 0, 0.3);
  --tj-input-bg: #404040;
  --tj-input-border: #555555;
  --tj-button-primary: #667eea;
  --tj-button-secondary: #888888;
}

/* Dark Mode Toggle Button — hidden; theme is toggled via the header menu */
.tjwp-theme-toggle {
  display: none;
}

/* Dark mode body styles */
[data-theme="dark"] body,
body.tjwp-dark-mode {
  background-color: var(--tj-primary-bg);
  color: var(--tj-text-primary);
}

/* Dark mode container styles */
[data-theme="dark"] .container,
[data-theme="dark"] .tjwp-container,
body.tjwp-dark-mode .container,
body.tjwp-dark-mode .tjwp-container {
  background-color: var(--tj-primary-bg);
  color: var(--tj-text-primary);
}

/* Dark mode card styles */
[data-theme="dark"] .card,
[data-theme="dark"] .tjwp-card,
[data-theme="dark"] .shortcode-section {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
  color: var(--tj-text-primary);
  box-shadow: 0 2px 8px var(--tj-shadow);
}

[data-theme="dark"] .stat-card,
[data-theme="dark"] .portfolio-item,
[data-theme="dark"] .trade-item {
  background-color: var(--tj-secondary-bg);
  border-color: var(--tj-border-color);
}

/* Dark mode text styles */
[data-theme="dark"] h1,
[data-theme="dark"] h2,
[data-theme="dark"] h3,
[data-theme="dark"] h4,
[data-theme="dark"] h5,
[data-theme="dark"] h6 {
  color: var(--tj-text-primary);
}

[data-theme="dark"] p,
[data-theme="dark"] li,
[data-theme="dark"] .tj-page-content,
[data-theme="dark"] .tj-feature-description,
[data-theme="dark"] .tj-section-subtitle,
[data-theme="dark"] .tj-footer-description {
  color: var(--tj-text-secondary);
}

/* Dark mode table readability baseline across plugin pages */
[data-theme="dark"] table {
  background: #111827;
  color: #e5e7eb;
  border-color: #334155;
}

[data-theme="dark"] table thead th {
  background: #0f172a;
  color: #cbd5e1;
  border-color: #334155;
}

[data-theme="dark"] table tbody td,
[data-theme="dark"] table tfoot td,
[data-theme="dark"] .wp-list-table td,
[data-theme="dark"] .wp-list-table th {
  color: #e5e7eb;
  border-color: #334155;
}

[data-theme="dark"] table tbody tr:nth-child(even) {
  background: #0f1a2c;
}

[data-theme="dark"] table tbody tr:hover {
  background: #1e293b;
}

[data-theme="dark"] .tj-hero {
  background: linear-gradient(140deg, #0f172a 0%, #111827 55%, #172554 100%);
}

[data-theme="dark"] .tj-preview-card,
[data-theme="dark"] .tj-feature-card,
[data-theme="dark"] .tj-page-article {
  background: #111827;
  border-color: #273449;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .tj-header,
[data-theme="dark"] .tj-footer,
[data-theme="dark"] .tj-user-dropdown,
[data-theme="dark"] .tj-mobile-menu {
  background: rgba(15, 23, 42, 0.95);
  border-color: #233047;
}

[data-theme="dark"] .tj-nav-link,
[data-theme="dark"] .tj-dropdown-item,
[data-theme="dark"] .tj-footer-links a {
  color: #cbd5e1;
}

[data-theme="dark"] .tj-nav-link:hover,
[data-theme="dark"] .tj-dropdown-item:hover,
[data-theme="dark"] .tj-footer-links a:hover {
  color: #93c5fd;
}

[data-theme="dark"] .tj-homepage {
  background: radial-gradient(circle at 85% 0%, rgba(29, 78, 216, 0.22), transparent 42%), #0b1220;
}

[data-theme="dark"] .tj-features,
[data-theme="dark"] .tj-onboarding,
[data-theme="dark"] .tj-page-content {
  background: transparent;
}

[data-theme="dark"] .tj-section-title,
[data-theme="dark"] .tj-feature-title,
[data-theme="dark"] .tj-hero-title,
[data-theme="dark"] .tj-cta-title {
  color: #f8fafc !important;
}

[data-theme="dark"] .tj-section-subtitle,
[data-theme="dark"] .tj-feature-description,
[data-theme="dark"] .tj-hero-subtitle,
[data-theme="dark"] .tj-cta-subtitle {
  color: #cbd5e1 !important;
}

[data-theme="dark"] .tj-btn-primary {
  background: #2563eb !important;
  border-color: #2563eb !important;
  color: #ffffff !important;
}

[data-theme="dark"] .tj-btn-outline {
  background: #0f172a !important;
  border-color: #3b82f6 !important;
  color: #bfdbfe !important;
}

[data-theme="dark"] .tj-btn-outline:hover {
  background: #1e293b !important;
  color: #ffffff !important;
}

[data-theme="dark"] .tj-page-header {
  background: linear-gradient(120deg, #0b1220 0%, #0f1b31 100%);
}

[data-theme="dark"] .tj-onboarding-card,
[data-theme="dark"] .tj-onboarding-panel {
  background: #0f172a;
  border-color: #263449;
}

[data-theme="dark"] .tj-step {
  background: #111d33;
  border-color: #2a3b5a;
}

[data-theme="dark"] .tj-step strong {
  color: #e2e8f0;
}

[data-theme="dark"] .tj-step p {
  color: #94a3b8;
}

[data-theme="dark"] .tj-stats-section,
[data-theme="dark"] .tj-cta {
  background: linear-gradient(135deg, #1d4ed8 0%, #1e3a8a 100%);
}

/* Dark mode link styles */
[data-theme="dark"] a {
  color: var(--tj-accent-color);
}

[data-theme="dark"] a:hover {
  color: var(--tj-accent-hover);
}

/* Dark mode input styles */
[data-theme="dark"] input,
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background-color: var(--tj-input-bg);
  border-color: var(--tj-input-border);
  color: var(--tj-text-primary);
}

[data-theme="dark"] input:focus,
[data-theme="dark"] textarea:focus,
[data-theme="dark"] select:focus {
  border-color: var(--tj-accent-color);
  box-shadow: 0 0 0 2px rgba(102, 126, 234, 0.2);
}

/* Dark mode button styles — scoped to plugin button classes only */
[data-theme="dark"] .btn,
[data-theme="dark"] .tjwp-btn {
  background-color: var(--tj-button-primary);
  color: white;
  border-color: var(--tj-button-primary);
}

[data-theme="dark"] .btn:hover,
[data-theme="dark"] .tjwp-btn:hover {
  background-color: var(--tj-accent-hover);
}

[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-outline {
  background-color: var(--tj-button-secondary);
  border-color: var(--tj-button-secondary);
  color: var(--tj-text-primary);
}

/* Dark mode code block styles */
[data-theme="dark"] .code-block,
[data-theme="dark"] .tjwp-code {
  background-color: var(--tj-secondary-bg);
  border-color: var(--tj-border-color);
  color: #e83e8c; /* Light color for syntax highlighting */
}

[data-theme="dark"] .code-block:before {
  color: var(--tj-text-muted);
}

/* Dark mode alert/notification styles */
[data-theme="dark"] .alert,
[data-theme="dark"] .note,
[data-theme="dark"] .warning,
[data-theme="dark"] .success,
[data-theme="dark"] .error {
  background-color: var(--tj-secondary-bg);
  border-color: var(--tj-border-color);
  color: var(--tj-text-primary);
}

[data-theme="dark"] .success {
  background-color: rgba(40, 167, 69, 0.1);
  border-color: var(--tj-success-color);
  color: var(--tj-success-color);
}

[data-theme="dark"] .warning {
  background-color: rgba(255, 193, 7, 0.1);
  border-color: var(--tj-warning-color);
  color: var(--tj-warning-color);
}

[data-theme="dark"] .error,
[data-theme="dark"] .danger {
  background-color: rgba(220, 53, 69, 0.1);
  border-color: var(--tj-danger-color);
  color: var(--tj-danger-color);
}

[data-theme="dark"] .info {
  background-color: rgba(23, 162, 184, 0.1);
  border-color: var(--tj-info-color);
  color: var(--tj-info-color);
}

/* Dark mode navigation styles */
[data-theme="dark"] .navbar,
[data-theme="dark"] .nav,
[data-theme="dark"] nav {
  background-color: var(--tj-secondary-bg);
  border-color: var(--tj-border-color);
}

[data-theme="dark"] .nav-link,
[data-theme="dark"] .navbar-nav .nav-link {
  color: var(--tj-text-secondary) !important;
}

[data-theme="dark"] .nav-link:hover,
[data-theme="dark"] .navbar-nav .nav-link:hover {
  color: var(--tj-accent-color) !important;
}

/* Dark mode chart styles */
[data-theme="dark"] .chart-container canvas {
  background-color: var(--tj-card-bg);
}

/* Dark mode modal styles */
[data-theme="dark"] .modal,
[data-theme="dark"] .popup,
[data-theme="dark"] .overlay {
  background-color: var(--tj-primary-bg);
  color: var(--tj-text-primary);
}

[data-theme="dark"] .modal-content,
[data-theme="dark"] .popup-content {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
}

/* Dark mode dropdown styles */
[data-theme="dark"] .dropdown-menu {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
}

[data-theme="dark"] .dropdown-item {
  color: var(--tj-text-secondary);
}

[data-theme="dark"] .dropdown-item:hover {
  background-color: var(--tj-secondary-bg);
  color: var(--tj-text-primary);
}

/* Dark mode tooltip styles */
[data-theme="dark"] .tooltip {
  background-color: var(--tj-secondary-bg);
  color: var(--tj-text-primary);
  border-color: var(--tj-border-color);
}

[data-theme="dark"] .tooltip-arrow {
  border-color: var(--tj-border-color);
}

/* Dark mode badge styles */
[data-theme="dark"] .badge {
  background-color: var(--tj-accent-color);
  color: white;
}

/* Dark mode pagination styles */
[data-theme="dark"] .pagination .page-link {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
  color: var(--tj-text-secondary);
}

[data-theme="dark"] .pagination .page-link:hover {
  background-color: var(--tj-secondary-bg);
  border-color: var(--tj-accent-color);
  color: var(--tj-accent-color);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
  background-color: var(--tj-accent-color);
  border-color: var(--tj-accent-color);
}

/* Dark mode loading states */
[data-theme="dark"] .loading,
[data-theme="dark"] .spinner {
  border-color: var(--tj-border-color);
  border-top-color: var(--tj-accent-color);
}

/* Dark mode placeholder text */
[data-theme="dark"] ::placeholder {
  color: var(--tj-text-muted);
}

/* Dark mode scrollbar */
[data-theme="dark"] ::-webkit-scrollbar {
  width: 12px;
}

[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--tj-secondary-bg);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--tj-accent-color);
  border-radius: 6px;
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--tj-accent-hover);
}

/* Dark mode specific overrides for TradeJournal components */

/* Dashboard widgets */
[data-theme="dark"] .dashboard-widget {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
}

[data-theme="dark"] .widget-header {
  border-color: var(--tj-border-color);
  background-color: var(--tj-secondary-bg);
}

/* Trade forms */
[data-theme="dark"] .trade-entry-form,
[data-theme="dark"] .user-registration-form,
[data-theme="dark"] .user-login-form {
  background-color: var(--tj-card-bg);
  border-color: var(--tj-border-color);
}

/* Leaderboard */
[data-theme="dark"] .leaderboard-table {
  background-color: var(--tj-card-bg);
}

/* Charts and graphs */
[data-theme="dark"] .chartjs-render-monitor {
  background-color: var(--tj-card-bg);
}

/* Responsive adjustments for dark mode */
@media (max-width: 768px) {
  /* mobile dark mode baseline */
}

/* Print styles for dark mode */
@media print {
  [data-theme="dark"] * {
    color: black !important;
    background: white !important;
  }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
  [data-theme="dark"] {
    --tj-primary-bg: #000000;
    --tj-text-primary: #ffffff;
    --tj-border-color: #ffffff;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  [data-theme="dark"] * {
    transition: none !important;
  }
}

/* Prevent white-on-white contrast regressions in dark mode */
[data-theme="dark"] .trade-summary,
[data-theme="dark"] .trade-averages-table,
[data-theme="dark"] .performance-dashboard,
[data-theme="dark"] .tj-trading-calendar,
[data-theme="dark"] .tj-notification-preferences,
[data-theme="dark"] .tjwp-language-switcher .tjwp-lang-dropdown,
[data-theme="dark"] .ai-insights-container,
[data-theme="dark"] .predictive-analytics-container,
[data-theme="dark"] .risk-assessment-container,
[data-theme="dark"] .broker-integration-card {
  background-color: var(--tj-card-bg) !important;
  color: var(--tj-text-primary) !important;
  border-color: var(--tj-border-color) !important;
}

[data-theme="dark"] .trade-summary p,
[data-theme="dark"] .trade-summary li,
[data-theme="dark"] .trade-averages-table td,
[data-theme="dark"] .trade-averages-table th,
[data-theme="dark"] .tj-trading-calendar .tj-day-cell,
[data-theme="dark"] .tj-trading-calendar .tj-day-number,
[data-theme="dark"] .tj-trading-calendar .tj-day-count,
[data-theme="dark"] .tj-notification-preferences .tj-preference-label,
[data-theme="dark"] .tj-notification-preferences .tj-category-description,
[data-theme="dark"] .tjwp-language-switcher .tjwp-lang-option {
  color: var(--tj-text-primary) !important;
}

/* Social and community dark-mode safety */
[data-theme="dark"] .trading-chat-container,
[data-theme="dark"] .trading-contests-container,
[data-theme="dark"] .social-leaderboard-container,
[data-theme="dark"] .social-feed-container,
[data-theme="dark"] .contest-card,
[data-theme="dark"] .leaderboard-item,
[data-theme="dark"] .feed-post,
[data-theme="dark"] .other-message,
[data-theme="dark"] .chat-input-area,
[data-theme="dark"] .chat-messages,
[data-theme="dark"] .tj-community-leaderboard-toolbar,
[data-theme="dark"] .tj-stat-card {
  background: #111827 !important;
  border-color: #374151 !important;
  color: #e5e7eb !important;
}

[data-theme="dark"] .contest-description,
[data-theme="dark"] .contests-header p,
[data-theme="dark"] .leaderboard-header p,
[data-theme="dark"] .post-text,
[data-theme="dark"] .post-time,
[data-theme="dark"] .user-details,
[data-theme="dark"] .message-content,
[data-theme="dark"] .message-time,
[data-theme="dark"] .tj-stat-label,
[data-theme="dark"] .tj-community-leaderboard-filters span {
  color: #cbd5e1 !important;
}

[data-theme="dark"] #chat-message-input,
[data-theme="dark"] .tj-community-leaderboard-filters select,
[data-theme="dark"] .tj-community-leaderboard-filters input,
[data-theme="dark"] .leaderboard-filters select,
[data-theme="dark"] .feed-filters .filter-btn {
  background: #0f172a !important;
  color: #e5e7eb !important;
  border-color: #334155 !important;
}

[data-theme="dark"] .social-leaderboard-container {
  background: #0f172a !important;
  border: 1px solid #1f2937 !important;
}

[data-theme="dark"] .social-leaderboard-container .leaderboard-content,
[data-theme="dark"] .social-leaderboard-container .leaderboard-item {
  background: #111827 !important;
  color: #e5e7eb !important;
  border-color: #374151 !important;
}

[data-theme="dark"] .social-leaderboard-container .user-name,
[data-theme="dark"] .social-leaderboard-container .user-score,
[data-theme="dark"] .social-leaderboard-container .stat-label,
[data-theme="dark"] .social-leaderboard-container .stat-value,
[data-theme="dark"] .social-leaderboard-container .rank-number,
[data-theme="dark"] .social-leaderboard-container .no-data p {
  color: #e5e7eb !important;
}

[data-theme="dark"] .social-leaderboard-container .leaderboard-item.top-1,
[data-theme="dark"] .social-leaderboard-container .leaderboard-item.top-2,
[data-theme="dark"] .social-leaderboard-container .leaderboard-item.top-3 {
  color: #ffffff !important;
}