/* Dark Mode Styles for Dashboard */

/* Override Django admin's automatic dark mode detection */
:root {
  color-scheme: light dark;
}

/* Dark mode variables and styles */
[data-theme="dark"] {
  /* Background colors */
  --bg-primary: #1a1a1a;
  --bg-secondary: #2d2d2d;
  --bg-card: #242424;
  --bg-input: #2d2d2d;
  --bg-hover: #333333;

  /* Text colors */
  --text-primary: #e0e0e0;
  --text-secondary: #b0b0b0;
  --text-muted: #888888;

  /* Border colors */
  --border-color: #404040;
  --border-light: #333333;

  /* Status colors */
  --positive-color: #4caf50;
  --negative-color: #f44336;
  --link-color: #64b5f6;
  --link-hover: #90caf9;

  /* Alert badge colors */
  --tweet-color: #1da1f2;
  --trade-color: #10a37f;
  --url-color: #ff6b35;
  --price-color: #417690;
}

/* Apply dark mode styles */
[data-theme="dark"] body,
[data-theme="dark"] #content {
  background-color: var(--bg-primary);
  color: var(--text-primary);
}

/* Dashboard sections */
[data-theme="dark"] .dashboard-section,
[data-theme="dark"] .portfolio-card,
[data-theme="dark"] .portfolio-item,
[data-theme="dark"] .related-market,
[data-theme="dark"] .feed-item {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-color);
}

/* Headers */
[data-theme="dark"] .dashboard-header,
[data-theme="dark"] .portfolio-header,
[data-theme="dark"] .section-header,
[data-theme="dark"] .card-header {
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .portfolio-header h1 {
  color: var(--text-primary);
}

[data-theme="dark"] .portfolio-summary label,
[data-theme="dark"] .portfolio-summary value {
  color: var(--text-primary);
}

[data-theme="dark"] .summary-stat label,
[data-theme="dark"] .summary-stat value {
  color: var(--text-primary);
}

[data-theme="dark"] .market-title,
[data-theme="dark"] .market-subtitle {
  color: var(--text-primary);
}

/* Inputs and textareas */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] textarea,
[data-theme="dark"] select {
  background-color: var(--bg-input);
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder {
  color: var(--text-muted);
}

/* Buttons */
[data-theme="dark"] button,
[data-theme="dark"] .btn-save-meta,
[data-theme="dark"] .btn-save-log {
  background-color: var(--price-color);
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] button:hover,
[data-theme="dark"] .btn-save-meta:hover,
[data-theme="dark"] .btn-save-log:hover {
  background-color: #2e5a70;
}

[data-theme="dark"] .view-toggle-btn,
[data-theme="dark"] .timerange-toggle-btn,
[data-theme="dark"] .timerange-btn,
[data-theme="dark"] .sort-btn,
[data-theme="dark"] .filter-alert-btn {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .view-toggle-btn:hover,
[data-theme="dark"] .timerange-toggle-btn:hover,
[data-theme="dark"] .timerange-btn:hover,
[data-theme="dark"] .sort-btn:hover,
[data-theme="dark"] .filter-alert-btn:hover {
  background-color: var(--bg-hover);
}

[data-theme="dark"] .view-toggle-btn.active,
[data-theme="dark"] .timerange-toggle-btn.active,
[data-theme="dark"] .timerange-btn.active,
[data-theme="dark"] .sort-btn.active,
[data-theme="dark"] .filter-alert-btn.active {
  background-color: var(--price-color);
  color: var(--text-primary);
}

/* Links */
[data-theme="dark"] a {
  color: var(--link-color);
}

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

[data-theme="dark"] .item-title,
[data-theme="dark"] .card-title,
[data-theme="dark"] .table-market-link {
  color: var(--link-color);
}

[data-theme="dark"] .item-title:hover,
[data-theme="dark"] .card-title:hover,
[data-theme="dark"] .table-market-link:hover {
  color: var(--link-hover);
}

/* Feed items */
[data-theme="dark"] .feed-item {
  background-color: var(--bg-secondary);
  border-left-color: var(--border-color);
}

[data-theme="dark"] .feed-timestamp {
  color: var(--text-muted);
}

[data-theme="dark"] .feed-username {
  color: var(--tweet-color);
}

[data-theme="dark"] .feed-trader {
  color: var(--trade-color);
}

[data-theme="dark"] .feed-url {
  color: var(--url-color);
}

/* Tables */
[data-theme="dark"] .portfolio-table {
  background-color: var(--bg-card);
  color: var(--text-primary);
}

[data-theme="dark"] .portfolio-table th {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .portfolio-table td {
  border-color: var(--border-color);
  color: var(--text-primary);
}

[data-theme="dark"] .portfolio-table tr:hover {
  background-color: var(--bg-hover);
}

/* Order book */
[data-theme="dark"] .orderbook-container,
[data-theme="dark"] .orderbook-side {
  background-color: var(--bg-card);
  color: var(--text-primary);
  border-color: var(--border-color);
}

[data-theme="dark"] .orderbook-header {
  border-color: var(--border-color);
}

[data-theme="dark"] .orderbook-row {
  border-color: var(--border-light);
}

[data-theme="dark"] .orderbook-row:hover {
  background-color: var(--bg-hover);
}

[data-theme="dark"] .orderbook-spread {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

/* Portfolio holdings */
[data-theme="dark"] .portfolio-holdings {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme="dark"] .portfolio-stat {
  border-color: var(--border-color);
}

[data-theme="dark"] .portfolio-stat-label {
  color: var(--text-secondary);
}

/* Meta fields */
[data-theme="dark"] .meta-field label {
  color: var(--text-secondary);
}

/* Status colors - these should work in both modes */
[data-theme="dark"] .positive,
[data-theme="dark"] .pnl-value.positive,
[data-theme="dark"] .portfolio-stat-value.positive,
[data-theme="dark"] .item-stat-value.positive,
[data-theme="dark"] .card-stat-value.positive {
  color: var(--positive-color);
}

[data-theme="dark"] .negative,
[data-theme="dark"] .pnl-value.negative,
[data-theme="dark"] .portfolio-stat-value.negative,
[data-theme="dark"] .item-stat-value.negative,
[data-theme="dark"] .card-stat-value.negative {
  color: var(--negative-color);
}

/* Alert badges */
[data-theme="dark"] .alert-badge.tweets {
  background-color: var(--tweet-color);
  color: white;
}

[data-theme="dark"] .alert-badge.trades {
  background-color: var(--trade-color);
  color: white;
}

[data-theme="dark"] .alert-badge.urls {
  background-color: var(--url-color);
  color: white;
}

[data-theme="dark"] .alert-badge.prices {
  background-color: var(--price-color);
  color: white;
}

/* Empty messages */
[data-theme="dark"] .empty-message {
  color: var(--text-muted);
}

/* Loading spinner */
[data-theme="dark"] .spinner {
  border-color: var(--border-color);
  border-top-color: var(--link-color);
}

/* Trade history items */
[data-theme="dark"] .trade-history-item {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
  border-left-color: var(--price-color);
}

[data-theme="dark"] .trade-history-header {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme="dark"] .trade-history-header:hover {
  background-color: var(--bg-hover);
}

/* Log entries */
[data-theme="dark"] .log-entry {
  background-color: var(--bg-secondary);
  border-left-color: var(--price-color);
  color: var(--text-primary);
}

[data-theme="dark"] .log-entry-header {
  color: var(--text-muted);
}

[data-theme="dark"] .log-entry-author {
  color: var(--link-color);
}

/* Platform badges */
[data-theme="dark"] .platform-badge {
  background-color: var(--bg-secondary);
  border: 1px solid var(--border-color);
}

[data-theme="dark"] .badge-polymarket {
  background-color: #805eff !important;
  color: white !important;
  border: none;
}

[data-theme="dark"] .badge-kalshi {
  background-color: #00b4d8 !important;
  color: white !important;
  border: none;
}

/* FV not set warning */
[data-theme="dark"] .fv-not-set {
  border-left: 3px solid #ff9800 !important;
  background-color: var(--bg-card) !important;
}

[data-theme="dark"] .portfolio-table tr.fv-not-set {
  background-color: var(--bg-card) !important;
}

[data-theme="dark"] .fv-missing {
  color: #ff9800;
}

/* Controls section */
[data-theme="dark"] .portfolio-controls {
  background-color: var(--bg-card);
  color: var(--text-primary);
}

[data-theme="dark"] .controls-left,
[data-theme="dark"] .controls-right {
  background-color: var(--bg-card);
}

[data-theme="dark"] .view-toggles,
[data-theme="dark"] .timerange-toggles,
[data-theme="dark"] .sort-controls,
[data-theme="dark"] .filter-controls {
  color: var(--text-primary);
}

[data-theme="dark"] .view-toggles label,
[data-theme="dark"] .timerange-toggles label,
[data-theme="dark"] .sort-controls label {
  color: var(--text-primary);
}

/* Django admin overrides */
[data-theme="dark"] #header {
  background-color: var(--bg-secondary);
  color: var(--text-primary);
}

[data-theme="dark"] #branding h1,
[data-theme="dark"] #branding h1 a {
  color: var(--text-primary);
}

[data-theme="dark"] #user-tools a {
  color: var(--link-color);
}

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

[data-theme="dark"] .breadcrumbs a {
  color: var(--link-color);
}
