/* ==========================================================================
   Legacy styles, extracted verbatim from base.html.

   Retains the "neon" theme and the older component styles so nothing breaks
   while templates are migrated to oodaship.css. Loaded BEFORE oodaship.css
   so the new design wins on conflict. Delete once every template has moved
   over.
   ========================================================================== */

        /* Default Theme */
        :root[data-theme="default"] {
            --bg-primary: #ffffff;
            --bg-secondary: #f8f9fa;
            --text-primary: #212529;
            --text-secondary: #6c757d;
            --header-bg: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --header-text: white;
            --card-bg: #ffffff;
            --card-border: #dee2e6;
            --cash-positive: #28a745;
            --cash-negative: #dc3545;
            --event-card-bg: #f8f9fa;
            --event-card-border: #dc3545;
            --btn-primary-bg: #0d6efd;
            --btn-primary-text: white;
            --table-stripe: #f8f9fa;
            --link-color: #0d6efd;
            --shadow-color: rgba(0,0,0,0.1);
        }
        
        /* Neon Theme */
        :root[data-theme="neon"] {
            --bg-primary: #0a0a0a;
            --bg-secondary: #1a1a1a;
            --text-primary: #2d9966;  /* Duller green */
            --text-secondary: #227744;
            --header-bg: linear-gradient(135deg, #000000 0%, #0a0a0a 100%);
            --header-text: #2d9966;
            --card-bg: #0f0f0f;
            --card-border: #2d9966;
            --cash-positive: #2d9966;
            --cash-negative: #2d9966;  /* Changed to green */
            --event-card-bg: #1a1a1a;
            --event-card-border: #2d9966;
            --btn-primary-bg: #000000;
            --btn-primary-text: #2d9966;
            --table-stripe: #1a1a1a;
            --link-color: #2d9966;
            --shadow-color: rgba(45,153,102,0.3);  /* Green glow */
        }
        
        /* Apply theme variables */
        body {
            background-color: var(--bg-primary);
            color: var(--text-primary);
            transition: all 0.3s ease;
        }
        
        .game-header { 
            background: var(--header-bg); 
            color: var(--header-text);
            border-bottom: 2px solid var(--header-text);
        }
        
        .navbar-brand {
            color: var(--header-text) !important;
        }
        
        .game-header .nav-link,
        .game-header .navbar-text,
        .game-header .dropdown-toggle {
            color: var(--header-text) !important;
        }
        
        .game-header .nav-link:hover,
        .game-header .dropdown-toggle:hover {
            color: rgba(255, 255, 255, 1.0) !important;
            text-shadow: 0 0 2px rgba(0, 0, 0, 0.5);
        }
        
        /* Fix dropdown menu styling */
        .game-header .dropdown-menu {
            background-color: var(--card-bg);
            border: 1px solid var(--card-border);
        }
        
        .game-header .dropdown-item {
            color: var(--text-primary) !important;
        }
        
        .game-header .dropdown-item:hover {
            background-color: var(--bg-secondary);
            color: var(--text-primary) !important;
        }
        
        /* Ensure navbar text is always visible */
        .game-header .navbar-text {
            color: var(--header-text) !important;
        }
        
        [data-theme="neon"] .game-header {
            box-shadow: 0 2px 20px var(--shadow-color);
        }
        
        /* Fix neon theme header navigation */
        [data-theme="neon"] .game-header .nav-link:hover,
        [data-theme="neon"] .game-header .dropdown-toggle:hover {
            color: rgba(45, 153, 102, 1.0) !important;
            text-shadow: 0 0 3px rgba(45, 153, 102, 0.8);
        }
        
        .event-card { 
            background: var(--event-card-bg); 
            border-left: 4px solid var(--event-card-border); 
        }
        
        .cash-positive { 
            color: var(--cash-positive); 
            font-weight: bold; 
        }
        
        .cash-negative { 
            color: var(--cash-negative); 
            font-weight: bold; 
        }
        
        /* Neon specific styles */
        [data-theme="neon"] .cash-positive,
        [data-theme="neon"] .cash-negative {
            text-shadow: 0 0 5px currentColor;
            filter: brightness(1.05);
        }
        
        [data-theme="neon"] .navbar-brand,
        [data-theme="neon"] h1,
        [data-theme="neon"] h2,
        [data-theme="neon"] h3,
        [data-theme="neon"] h4,
        [data-theme="neon"] h5,
        [data-theme="neon"] h6 {
            text-shadow: 0 0 8px var(--text-primary);
            filter: brightness(1.05);
        }
        
        [data-theme="neon"] .card {
            background: var(--card-bg);
            border: 1px solid var(--card-border);
            box-shadow: 0 0 20px var(--shadow-color);
        }
        
        [data-theme="neon"] .btn-primary {
            background: var(--btn-primary-bg);
            color: var(--btn-primary-text);
            border: 2px solid var(--btn-primary-text);
            font-weight: bold;
            text-shadow: none;
            box-shadow: 0 0 15px var(--shadow-color);
        }

        [data-theme="neon"] .btn-primary:hover {
            background: var(--btn-primary-text);
            color: var(--btn-primary-bg);
            border-color: var(--btn-primary-text);
            box-shadow: 0 0 25px var(--shadow-color);
        }
        
        [data-theme="neon"] .table {
            color: var(--text-primary) !important;
            border-color: var(--card-border);
        }
        
        [data-theme="neon"] .table td,
        [data-theme="neon"] .table th {
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }
        
        [data-theme="neon"] .table-striped > tbody > tr:nth-of-type(odd) {
            background-color: var(--table-stripe);
        }
        
        /* Fix Bootstrap table background classes for neon theme */
        [data-theme="neon"] .table-success,
        [data-theme="neon"] .table-info,
        [data-theme="neon"] .table-warning,
        [data-theme="neon"] .table-danger,
        [data-theme="neon"] .table-primary,
        [data-theme="neon"] .table-secondary,
        [data-theme="neon"] .table-light,
        [data-theme="neon"] .table-dark {
            background-color: var(--bg-secondary) !important;
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }

        /* Fix Bootstrap background utilities for neon theme */
        [data-theme="neon"] .bg-primary,
        [data-theme="neon"] .bg-secondary,
        [data-theme="neon"] .bg-info,
        [data-theme="neon"] .bg-light {
            background-color: var(--card-bg) !important;
        }

        [data-theme="neon"] .bg-warning {
            background-color: var(--card-bg) !important;
        }
        
        [data-theme="neon"] .table-success > td,
        [data-theme="neon"] .table-info > td,
        [data-theme="neon"] .table-warning > td,
        [data-theme="neon"] .table-danger > td,
        [data-theme="neon"] .table-primary > td,
        [data-theme="neon"] .table-secondary > td,
        [data-theme="neon"] .table-light > td,
        [data-theme="neon"] .table-dark > td {
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }
        
        /* Fix text color classes for neon theme */
        [data-theme="neon"] .text-muted {
            color: var(--text-secondary) !important;
        }
        
        [data-theme="neon"] .text-success {
            color: var(--cash-positive) !important;
        }
        
        [data-theme="neon"] .text-danger {
            color: var(--cash-negative) !important;
        }
        
        [data-theme="neon"] .text-center,
        [data-theme="neon"] .text-left,
        [data-theme="neon"] .text-right {
            color: inherit !important;
        }
        
        /* Override any faint/inherited text colors */
        [data-theme="neon"] td,
        [data-theme="neon"] th,
        [data-theme="neon"] p,
        [data-theme="neon"] span:not(.btn-close):not(.navbar-toggler-icon),
        [data-theme="neon"] div:not(.btn):not(.badge):not(.alert):not(.dropdown-menu) {
            color: var(--text-primary) !important;
        }
        
        [data-theme="neon"] strong,
        [data-theme="neon"] b {
            color: var(--text-primary) !important;
            font-weight: bold;
        }
        
        [data-theme="neon"] a {
            color: var(--link-color);
            text-decoration: none;
        }
        
        [data-theme="neon"] a:hover {
            text-shadow: 0 0 10px var(--link-color);
        }
        
        [data-theme="neon"] .alert {
            background: var(--card-bg);
            border: 2px solid var(--text-primary);
            color: var(--text-primary);
        }

        [data-theme="neon"] .alert-success,
        [data-theme="neon"] .alert-warning,
        [data-theme="neon"] .alert-danger,
        [data-theme="neon"] .alert-info {
            background: var(--card-bg) !important;
            border: 2px solid var(--text-primary) !important;
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .badge {
            background: #000000 !important;
            color: var(--text-primary) !important;
            border: 1px solid var(--text-primary) !important;
            box-shadow: 0 0 10px var(--shadow-color);
        }

        [data-theme="neon"] .badge-success,
        [data-theme="neon"] .badge-warning,
        [data-theme="neon"] .badge-danger,
        [data-theme="neon"] .badge-info,
        [data-theme="neon"] .badge-primary,
        [data-theme="neon"] .badge-secondary {
            background: #000000 !important;
            color: var(--text-primary) !important;
            border: 1px solid var(--text-primary) !important;
        }

        /* Modal headers in neon theme */
        [data-theme="neon"] .modal-header.bg-success,
        [data-theme="neon"] .modal-header.bg-primary,
        [data-theme="neon"] .modal-header.bg-warning,
        [data-theme="neon"] .modal-header.bg-danger,
        [data-theme="neon"] .modal-header.bg-info {
            background: #000000 !important;
            border-bottom: 2px solid var(--text-primary) !important;
        }

        [data-theme="neon"] .modal-header.bg-success .modal-title,
        [data-theme="neon"] .modal-header.bg-primary .modal-title,
        [data-theme="neon"] .modal-header.bg-warning .modal-title,
        [data-theme="neon"] .modal-header.bg-danger .modal-title,
        [data-theme="neon"] .modal-header.bg-info .modal-title {
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .modal-content {
            background: var(--card-bg) !important;
            border: 2px solid var(--text-primary) !important;
        }

        [data-theme="neon"] .modal-body {
            background: var(--card-bg) !important;
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .modal-footer {
            background: var(--card-bg) !important;
            border-top: 2px solid var(--text-primary) !important;
        }

        [data-theme="neon"] input,
        [data-theme="neon"] select,
        [data-theme="neon"] textarea {
            background: var(--bg-secondary);
            color: var(--text-primary);
            border: 1px solid var(--card-border);
        }
        
        [data-theme="neon"] input:focus,
        [data-theme="neon"] select:focus,
        [data-theme="neon"] textarea:focus {
            background: var(--bg-secondary);
            color: var(--text-primary);
            border-color: var(--text-primary);
            box-shadow: 0 0 10px var(--shadow-color);
        }
        
        /* Fix button styling for neon theme */
        [data-theme="neon"] .btn-outline-primary {
            color: var(--text-primary) !important;
            border: 2px solid var(--text-primary) !important;
            background-color: #000000 !important;
        }

        [data-theme="neon"] .btn-outline-primary:hover,
        [data-theme="neon"] .btn-outline-primary:active,
        [data-theme="neon"] .btn-outline-primary:focus {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
            border-color: var(--text-primary) !important;
        }

        [data-theme="neon"] .btn-outline-success {
            color: var(--text-primary) !important;
            border: 2px solid var(--text-primary) !important;
            background-color: #000000 !important;
        }

        [data-theme="neon"] .btn-outline-success:hover,
        [data-theme="neon"] .btn-outline-success:active,
        [data-theme="neon"] .btn-outline-success:focus {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
            border-color: var(--text-primary) !important;
        }

        /* All other button variants for neon theme */
        [data-theme="neon"] .btn-secondary,
        [data-theme="neon"] .btn-warning,
        [data-theme="neon"] .btn-danger,
        [data-theme="neon"] .btn-info,
        [data-theme="neon"] .btn-light,
        [data-theme="neon"] .btn-dark {
            background-color: #000000 !important;
            border: 2px solid var(--text-primary) !important;
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .btn-secondary:hover,
        [data-theme="neon"] .btn-warning:hover,
        [data-theme="neon"] .btn-danger:hover,
        [data-theme="neon"] .btn-info:hover,
        [data-theme="neon"] .btn-light:hover,
        [data-theme="neon"] .btn-dark:hover {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
        }

        [data-theme="neon"] .btn-outline-secondary,
        [data-theme="neon"] .btn-outline-warning,
        [data-theme="neon"] .btn-outline-danger,
        [data-theme="neon"] .btn-outline-info {
            background-color: #000000 !important;
            border: 2px solid var(--text-primary) !important;
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .btn-outline-secondary:hover,
        [data-theme="neon"] .btn-outline-warning:hover,
        [data-theme="neon"] .btn-outline-danger:hover,
        [data-theme="neon"] .btn-outline-info:hover {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
        }
        
        [data-theme="neon"] .btn-success {
            background-color: #000000 !important;
            border: 2px solid var(--text-primary) !important;
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .btn-success:hover {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
        }
        
        /* Ensure buttons are clickable */
        .btn {
            pointer-events: auto !important;
            cursor: pointer !important;
        }
        
        /* Theme Toggle Button */
        .theme-toggle {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1000;
            background: var(--btn-primary-bg);
            color: var(--btn-primary-text);
            border: 2px solid var(--card-border);
            border-radius: 50%;
            width: 60px;
            height: 60px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 0.3s ease;
            font-size: 24px;
        }
        
        .theme-toggle:hover {
            transform: scale(1.1);
        }
        
        [data-theme="neon"] .theme-toggle {
            box-shadow: 0 0 30px var(--shadow-color);
            animation: neon-pulse 2s infinite;
        }
        
        @keyframes neon-pulse {
            0% { box-shadow: 0 0 20px var(--shadow-color); }
            50% { box-shadow: 0 0 40px var(--shadow-color), 0 0 60px var(--shadow-color); }
            100% { box-shadow: 0 0 20px var(--shadow-color); }
        }
        
        /* Fixed width for table row headers only */
        .decisions-table tbody td:first-child {
            min-width: 180px !important;
            width: 180px !important;
            white-space: nowrap;
        }
        
        /* Keep the Category header fixed but allow other header cells to be flexible */
        .decisions-table thead th[rowspan="3"] {
            min-width: 180px !important;
            width: 180px !important;
        }
        
        /* Input field focus highlighting - select all text on focus */
        input[type="text"]:focus,
        input[type="number"]:focus,
        input[type="email"]:focus,
        input[type="password"]:focus,
        input[type="tel"]:focus,
        input[type="url"]:focus,
        input[type="search"]:focus,
        select:focus,
        textarea:focus {
            transition: all 0.2s ease-in-out;
        }
        
        /* Tailwind theme-aware styling */
        [data-theme="neon"] .tw-nav {
            background: linear-gradient(135deg, #000000 0%, #0a0a0a 100%);
            box-shadow: 0 2px 20px rgba(45, 153, 102, 0.3);
        }
        
        [data-theme="neon"] main[data-theme-aware] {
            background: var(--bg-primary);
            color: var(--text-primary);
        }
        
        [data-theme="neon"] .container {
            color: var(--text-primary);
        }
        
        /* Neon theme for Tailwind alerts */
        [data-theme="neon"] .tw-alert {
            background: var(--card-bg);
            color: var(--text-primary);
            border-color: var(--card-border);
            box-shadow: 0 4px 15px rgba(45, 153, 102, 0.2);
        }

        /* Override all Tailwind color classes for neon theme */
        [data-theme="neon"] .bg-blue-100,
        [data-theme="neon"] .bg-blue-200,
        [data-theme="neon"] .bg-blue-500,
        [data-theme="neon"] .bg-blue-600,
        [data-theme="neon"] .bg-yellow-100,
        [data-theme="neon"] .bg-yellow-200,
        [data-theme="neon"] .bg-yellow-400,
        [data-theme="neon"] .bg-cyan-100,
        [data-theme="neon"] .bg-cyan-200,
        [data-theme="neon"] .bg-cyan-400,
        [data-theme="neon"] .bg-green-100,
        [data-theme="neon"] .bg-red-100 {
            background-color: var(--card-bg) !important;
        }

        [data-theme="neon"] .text-blue-800,
        [data-theme="neon"] .text-blue-600,
        [data-theme="neon"] .text-cyan-600,
        [data-theme="neon"] .text-cyan-700,
        [data-theme="neon"] .text-yellow-800,
        [data-theme="neon"] .text-green-800,
        [data-theme="neon"] .text-red-800,
        [data-theme="neon"] .text-gray-500,
        [data-theme="neon"] .text-gray-600,
        [data-theme="neon"] .text-gray-700,
        [data-theme="neon"] .text-gray-800 {
            color: var(--text-primary) !important;
        }

        [data-theme="neon"] .border-blue-200,
        [data-theme="neon"] .border-cyan-200,
        [data-theme="neon"] .border-yellow-200,
        [data-theme="neon"] .border-green-200,
        [data-theme="neon"] .border-red-200,
        [data-theme="neon"] .border-gray-200 {
            border-color: var(--card-border) !important;
        }

        /* White progress bars and elements */
        [data-theme="neon"] .bg-white,
        [data-theme="neon"] .bg-gray-50 {
            background-color: var(--bg-secondary) !important;
        }

        /* Ensure text-white becomes green in neon theme */
        [data-theme="neon"] .text-white {
            color: var(--text-primary) !important;
        }

        /* Progress bars in neon theme */
        [data-theme="neon"] .progress {
            background-color: var(--bg-secondary) !important;
            border: 1px solid var(--card-border) !important;
        }

        [data-theme="neon"] .progress-bar {
            background-color: var(--text-primary) !important;
            color: #000000 !important;
        }

        /* Tab navigation in neon theme */
        [data-theme="neon"] .nav-tabs .nav-link {
            background-color: var(--card-bg) !important;
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }

        [data-theme="neon"] .nav-tabs .nav-link.active {
            background-color: var(--bg-secondary) !important;
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }

        /* List groups in neon theme */
        [data-theme="neon"] .list-group-item {
            background-color: var(--card-bg) !important;
            color: var(--text-primary) !important;
            border-color: var(--card-border) !important;
        }

        /* Fix any remaining text color classes */
        [data-theme="neon"] .text-info,
        [data-theme="neon"] .text-primary,
        [data-theme="neon"] .text-warning {
            color: var(--text-primary) !important;
        }

        /* Custom styling for language dropdown */
        .dropdown-toggle {
            color: white !important;
            text-decoration: none !important;
            border: none !important;
            background: transparent !important;
            box-shadow: none !important;
            padding: 8px 12px !important;
            border-radius: 6px !important;
            transition: background-color 0.2s ease !important;
        }
        
        .dropdown-toggle:hover,
        .dropdown-toggle:focus {
            color: rgba(255, 255, 255, 0.8) !important;
            background: rgba(255, 255, 255, 0.1) !important;
            box-shadow: none !important;
        }
        
        .dropdown-toggle::after {
            margin-left: 8px;
            color: white;
        }
        
        .dropdown-menu {
            background: white;
            border: none;
            border-radius: 8px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
            padding: 4px 0;
            min-width: 160px;
            z-index: 9999;
        }
        
        .dropdown-item {
            padding: 10px 16px;
            color: #374151;
            transition: background-color 0.2s ease;
            border: none;
            background: none;
            width: 100%;
            text-align: left;
            display: flex;
            align-items: center;
        }
        
        .dropdown-item:hover,
        .dropdown-item:focus {
            background: #f3f4f6 !important;
            color: #374151 !important;
        }
        
        .dropdown-item.active {
            background: #f9fafb !important;
            color: #374151 !important;
            font-weight: 600;
        }
        
        .dropdown-item:first-child {
            border-top-left-radius: 8px;
            border-top-right-radius: 8px;
        }
        
        .dropdown-item:last-child {
            border-bottom-left-radius: 8px;
            border-bottom-right-radius: 8px;
        }
        
        /* Mobile responsive adjustments */
        @media (max-width: 768px) {
            .dropdown-menu {
                min-width: 140px;
                font-size: 14px;
            }
            
            .dropdown-toggle {
                min-height: 44px; /* iOS touch target */
            }
            
            .dropdown-item {
                padding: 12px 16px;
                min-height: 44px; /* iOS touch target */
                font-size: 14px;
            }
        }
        
        /* Improved theme toggle button with Tailwind */
        .theme-toggle {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 60px;
            height: 60px;
            border-radius: 50%;
            border: none;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            font-size: 24px;
            cursor: pointer;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
            z-index: 1000;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .theme-toggle:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
        }
        
        [data-theme="neon"] .theme-toggle {
            background: linear-gradient(135deg, #2d9966 0%, #227744 100%);
            box-shadow: 0 4px 15px rgba(45, 153, 102, 0.4);
            animation: glow 2s ease-in-out infinite alternate;
        }

        [data-theme="neon"] .theme-toggle:hover {
            box-shadow: 0 6px 25px rgba(45, 153, 102, 0.6);
        }
