/* ============================================
   DEFAULT & TRADER THEME (Bloomberg/Terminal)
   ============================================ */
:root {
    --primary-color: #ff9900; /* Bloomberg Orange/Amber for highlights */
    --accent-color: #00ffff; /* Cyan for secondary highlights */
    --success-color: #00ff00; /* Terminal Green */
    --warning-color: #ffff00; /* Terminal Yellow */
    --danger-color: #ff0000; /* Terminal Red */
    --bg-color: #000000;
    --card-bg: #121212;
    --border-color: #333333;
    --text-primary: #ff9900; /* Main text, like labels */
    --text-secondary: #bbbbbb; /* Less important text */
    --text-value: #ffffff; /* White for actual values */
    --glow-shadow: 0 0 4px rgba(255, 153, 0, 0.3), 0 0 8px rgba(255, 153, 0, 0.1);
}

[data-theme="trader"] {
    --primary-color: #ff9900;
    --accent-color: #00ffff;
    --success-color: #00ff00;
    --warning-color: #ffff00;
    --danger-color: #ff0000;
    --bg-color: #000000;
    --card-bg: #121212;
    --border-color: #333333;
    --text-primary: #ff9900;
    --text-secondary: #bbbbbb;
    --text-value: #ffffff;
    --glow-shadow: 0 0 4px rgba(255, 153, 0, 0.3), 0 0 8px rgba(255, 153, 0, 0.1);
    --font-family: 'Courier New', Courier, monospace;
}

/* ============================================
   GENZ THEME (Neon vibes)
   ============================================ */
[data-theme="genz"] {
    --primary-color: #ff006e; /* Hot pink */
    --accent-color: #00f5ff; /* Cyan neon */
    --success-color: #00ff41; /* Neon green */
    --warning-color: #ffbe0b; /* Neon yellow */
    --danger-color: #ff006e; /* Hot pink */
    --bg-color: #0a0e27; /* Dark navy */
    --card-bg: #16213e; /* Slightly lighter navy */
    --border-color: #0f3460; /* Blue-tinted dark */
    --text-primary: #ff006e; /* Hot pink */
    --text-secondary: #a8dadc; /* Light cyan */
    --text-value: #f1faee; /* Nearly white */
    --glow-shadow: 0 0 10px rgba(255, 0, 110, 0.4), 0 0 20px rgba(0, 245, 255, 0.2);
    --font-family: 'Comic Sans MS', 'Chalkboard SE', 'Comic Neue', sans-serif; /* Ironic usage */
}

/* ============================================
   FANBOY THEME (iOS Glassmorphism)
   ============================================ */
[data-theme="fanboy"] {
    --primary-color: #0066ff; /* iOS Blue */
    --accent-color: #34c759; /* iOS Green */
    --success-color: #34c759; /* iOS Green */
    --warning-color: #ff9500; /* iOS Orange */
    --danger-color: #ff3b30; /* iOS Red */
    --bg-color: #f5f5f7; /* iOS Light Gray */
    --card-bg: rgba(255, 255, 255, 0.7); /* Frosted glass */
    --border-color: rgba(0, 0, 0, 0.1); /* Subtle dark border */
    --text-primary: #0066ff; /* iOS Blue */
    --text-secondary: #666666; /* Medium gray */
    --text-value: #000000; /* Black text */
    --glow-shadow: 0 8px 32px rgba(0, 102, 255, 0.1);
    --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --border-radius: 16px;
}

/* Apply glassmorphism effects for fanboy theme */
[data-theme="fanboy"] body {
    background: linear-gradient(135deg, #f5f5f7 0%, #e8e8ed 100%);
}

[data-theme="fanboy"] .container {
    background: transparent;
}

[data-theme="fanboy"] .modal-content {
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 8px 32px rgba(31, 38, 135, 0.15);
}

[data-theme="fanboy"] .portfolio-card,
[data-theme="fanboy"] .portfolio-detail-card,
[data-theme="fanboy"] .asset-row,
[data-theme="fanboy"] .portfolio-tree-item {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-theme="fanboy"] .portfolio-summary {
    background: rgba(255, 255, 255, 0.4);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-theme="fanboy"] .modal-content input,
[data-theme="fanboy"] .info-value {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
}

[data-theme="fanboy"] header {
    border-bottom-color: rgba(0, 102, 255, 0.2);
}

[data-theme="fanboy"] .status-ticker {
    border-top-color: rgba(0, 102, 255, 0.2);
}

/* Fanboy Theme Overrides for Buttons and Inputs */
[data-theme="fanboy"] #refreshBtn,
[data-theme="fanboy"] #toggleValuesBtn,
[data-theme="fanboy"] .secondary-btn,
[data-theme="fanboy"] .header__refresh-btn,
[data-theme="fanboy"] .header__menu-btn,
[data-theme="fanboy"] .header__share-toggle,
[data-theme="fanboy"] .header__copy-link-btn,
[data-theme="fanboy"] .header__toggle-btn,
[data-theme="fanboy"] .mode-btn,
[data-theme="fanboy"] .trade-btn,
[data-theme="fanboy"] .theme-btn {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(5px);
    border-color: rgba(0, 0, 0, 0.1);
    color: var(--primary-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

[data-theme="fanboy"] #refreshBtn:hover,
[data-theme="fanboy"] #toggleValuesBtn:hover,
[data-theme="fanboy"] .secondary-btn:hover,
[data-theme="fanboy"] .header__refresh-btn:hover,
[data-theme="fanboy"] .header__menu-btn:hover,
[data-theme="fanboy"] .header__share-toggle:hover:not(:disabled),
[data-theme="fanboy"] .header__copy-link-btn:hover:not(:disabled),
[data-theme="fanboy"] .header__toggle-btn:hover,
[data-theme="fanboy"] .mode-btn:hover,
[data-theme="fanboy"] .trade-btn:hover,
[data-theme="fanboy"] .theme-btn:hover {
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

[data-theme="fanboy"] .theme-btn.active,
[data-theme="fanboy"] .mode-btn.active {
    background-color: var(--primary-color);
    color: #fff;
}

[data-theme="fanboy"] .header__share-toggle.shared {
    border-color: var(--success-color);
    color: var(--success-color);
}

[data-theme="fanboy"] .header__share-toggle.shared:hover:not(:disabled) {
    background-color: var(--success-color);
    color: #fff;
    border-color: var(--success-color);
}

/* Currency toggle styling for fanboy theme */
[data-theme="fanboy"] .header__currency-toggle-label {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    padding: 0.25rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

[data-theme="fanboy"] .currency-toggle-slider {
    background-color: rgba(255, 255, 255, 0.8);
    border-color: rgba(0, 0, 0, 0.15);
}

[data-theme="fanboy"] .currency-toggle-slider::after {
    background-color: var(--primary-color);
}

[data-theme="fanboy"] .header__currency-toggle-input:checked ~ .header__currency-toggle-label .currency-toggle-slider {
    background-color: var(--primary-color);
}

[data-theme="fanboy"] .header__currency-toggle-input:checked ~ .header__currency-toggle-label .currency-toggle-slider::after {
    background-color: #fff;
}

/* Dropdowns and Inputs */
[data-theme="fanboy"] .asset-dropdown {
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

[data-theme="fanboy"] .asset-item:hover,
[data-theme="fanboy"] .asset-item.selected {
    background-color: var(--primary-color);
    color: #fff;
}

/* Fix specific buttons that might need specific text colors */
[data-theme="fanboy"] .trade-btn.buy-btn {
    color: var(--success-color);
    border-color: var(--success-color);
}
[data-theme="fanboy"] .trade-btn.buy-btn:hover {
    background-color: var(--success-color);
    color: #fff;
}

[data-theme="fanboy"] .trade-btn.sell-btn {
    color: var(--danger-color);
    border-color: var(--danger-color);
}
[data-theme="fanboy"] .trade-btn.sell-btn:hover {
    background-color: var(--danger-color);
    color: #fff;
}

[data-theme="fanboy"] .asset-item:hover .asset-item-name,
[data-theme="fanboy"] .asset-item.selected .asset-item-name,
[data-theme="fanboy"] .asset-item:hover .asset-item-price,
[data-theme="fanboy"] .asset-item.selected .asset-item-price {
    color: #ffffff;
}

/* Portfolio tree styling for fanboy theme */
[data-theme="fanboy"] .portfolio-tree-children {
    background: rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(8px);
}

[data-theme="fanboy"] .portfolio-tree-children .portfolio-tree-item {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    border: 1.5px solid rgba(0, 102, 255, 0.3);
}

/* Action buttons (Add Portfolio, Add Group) */
[data-theme="fanboy"] .action-btn {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(5px);
    border-color: rgba(0, 0, 0, 0.1);
    color: var(--primary-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

[data-theme="fanboy"] .action-btn:hover {
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Grand Total Row */
[data-theme="fanboy"] .portfolio-total {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* Modal selectors (Unassigned Assets, Orphan Portfolios) */
[data-theme="fanboy"] .unassigned-assets-selector,
[data-theme="fanboy"] .orphan-portfolios-selector {
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}

[data-theme="fanboy"] .asset-selector-item,
[data-theme="fanboy"] .portfolio-selector-item {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(5px);
    border: 1px solid rgba(255, 255, 255, 0.3);
}
