/* Dark Mode Styles - February 17, 2026 */

[data-theme="dark"] {
    --bs-body-bg: #1a1a1a;
    --bs-body-color: #e0e0e0;
    --bs-card-bg: #2d2d2d;
    --bs-border-color: #404040;
    --bs-link-color: #6ea8fe;
    --bs-link-hover-color: #8bb9fe;
}

[data-theme="dark"] body {
    background-color: #1a1a1a;
    color: #e0e0e0;
}

[data-theme="dark"] .card {
    background-color: #2d2d2d;
    border-color: #404040;
}

[data-theme="dark"] .card-header {
    background-color: #252525;
    border-bottom-color: #404040;
}

[data-theme="dark"] .table {
    color: #e0e0e0;
    border-color: #404040;
}

[data-theme="dark"] .table thead th {
    border-color: #404040;
    background-color: #252525;
}

[data-theme="dark"] .table-bordered > :not(caption) > * > * {
    border-color: #404040;
}

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) > * {
    background-color: #252525;
}

[data-theme="dark"] .table-hover > tbody > tr:hover > * {
    background-color: #333333;
}

[data-theme="dark"] .btn-outline-secondary {
    color: #e0e0e0;
    border-color: #404040;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #404040;
    color: #ffffff;
    border-color: #505050;
}

[data-theme="dark"] .btn-outline-primary {
    color: #6ea8fe;
    border-color: #6ea8fe;
}

[data-theme="dark"] .btn-outline-primary:hover {
    background-color: #6ea8fe;
    color: #000000;
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background-color: #2d2d2d;
    border-color: #404040;
    color: #e0e0e0;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    background-color: #2d2d2d;
    border-color: #6ea8fe;
    color: #e0e0e0;
    box-shadow: 0 0 0 0.25rem rgba(110, 168, 254, 0.25);
}

[data-theme="dark"] .form-control::placeholder {
    color: #999999;
}

[data-theme="dark"] .alert {
    border-color: #404040;
}

[data-theme="dark"] .alert-info {
    background-color: #1e3a5f;
    border-color: #2b5a8f;
    color: #a8d5ff;
}

[data-theme="dark"] .alert-warning {
    background-color: #5f4a1e;
    border-color: #8f6e2b;
    color: #ffd966;
}

[data-theme="dark"] .alert-danger {
    background-color: #5f1e1e;
    border-color: #8f2b2b;
    color: #ff9999;
}

[data-theme="dark"] .alert-success {
    background-color: #1e5f1e;
    border-color: #2b8f2b;
    color: #99ff99;
}

[data-theme="dark"] .bg-light {
    background-color: #2d2d2d !important;
}

[data-theme="dark"] .text-muted {
    color: #999999 !important;
}

[data-theme="dark"] .border {
    border-color: #404040 !important;
}

[data-theme="dark"] hr {
    border-color: #404040;
    opacity: 1;
}

[data-theme="dark"] .badge.bg-secondary {
    background-color: #404040 !important;
    color: #e0e0e0;
}

[data-theme="dark"] pre {
    background-color: #252525;
    border-color: #404040;
    color: #e0e0e0;
}

[data-theme="dark"] code {
    background-color: #252525;
    color: #ff79c6;
}

/* Navigation specific */
[data-theme="dark"] .navbar {
    background-color: #2d2d2d !important;
    border-bottom: 1px solid #404040;
}

[data-theme="dark"] .navbar-brand {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .nav-link {
    color: #e0e0e0 !important;
}

[data-theme="dark"] .nav-link:hover {
    color: #6ea8fe !important;
}

/* Details/Summary */
[data-theme="dark"] details {
    background-color: #2d2d2d;
    border-color: #404040;
}

[data-theme="dark"] summary {
    background-color: #252525;
    color: #e0e0e0;
}

/* Disabled states */
[data-theme="dark"] .btn:disabled,
[data-theme="dark"] .form-control:disabled,
[data-theme="dark"] .form-select:disabled {
    background-color: #1a1a1a;
    border-color: #333333;
    color: #666666;
}

/* Spinner border in dark mode */
[data-theme="dark"] .spinner-border {
    border-color: #404040;
    border-right-color: transparent;
}

/* ============================================================
 * YSG Mockup Foundation — Dark Mode Overrides
 * Build: YSG_V06_RESPONSIVE_DARK
 * Source: coaches-portal-v5.1.html design system
 *
 * Purpose: Align dark mode with the mockup's gold/navy palette
 * instead of Bootstrap's default blue accent colors.
 * ============================================================ */

/* --- Focus states use gold, not blue --- */
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: var(--gold, #D4A84B);
    box-shadow: 0 0 0 3px rgba(212, 168, 75, 0.2);
}

/* --- Gold buttons remain visible --- */
[data-theme="dark"] .btn-gold,
[data-theme="dark"] button.btn-gold {
    background: var(--gold, #D4A84B);
    color: var(--navy, #0B1A2E);
    border-color: var(--gold, #D4A84B);
}

[data-theme="dark"] .btn-gold:hover,
[data-theme="dark"] button.btn-gold:hover {
    background: var(--gold-hover, #E5B957);
    border-color: var(--gold-hover, #E5B957);
}

/* --- Navy button adapts --- */
[data-theme="dark"] .btn-navy,
[data-theme="dark"] button.btn-navy {
    background: #1A2D4A;
    color: var(--cream, #F4F0E8);
    border-color: #2A3D5A;
}

/* --- Outline button adapts --- */
[data-theme="dark"] .btn-outline,
[data-theme="dark"] button.btn-outline {
    border-color: #555;
    color: var(--cream, #F4F0E8);
}

[data-theme="dark"] .btn-outline:hover,
[data-theme="dark"] button.btn-outline:hover {
    background: var(--gold, #D4A84B);
    color: var(--navy, #0B1A2E);
    border-color: var(--gold, #D4A84B);
}

/* --- Cards --- */
[data-theme="dark"] .card {
    background: rgba(45, 45, 45, 0.92);
    border-color: #404040;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .card-header {
    color: var(--cream, #F4F0E8);
    background: transparent;
    border-bottom-color: #404040;
}

/* --- Data tables --- */
[data-theme="dark"] .data-table th {
    background: #112240;
    color: var(--cream, #F4F0E8);
}

[data-theme="dark"] .data-table td {
    border-bottom-color: #404040;
    color: #e0e0e0;
}

[data-theme="dark"] .data-table tr:hover td {
    background: rgba(212, 168, 75, 0.08);
}

/* --- Stat cards --- */
[data-theme="dark"] .stat-card {
    background: #2d2d2d;
    border-color: #404040;
}

[data-theme="dark"] .stat-value {
    color: var(--cream, #F4F0E8);
}

[data-theme="dark"] .stat-label {
    color: #999;
}

/* --- Player cards --- */
[data-theme="dark"] .player-card {
    background: #2d2d2d;
    border-color: #404040;
}

[data-theme="dark"] .player-card:hover {
    border-color: var(--gold, #D4A84B);
}

[data-theme="dark"] .player-name {
    color: var(--cream, #F4F0E8);
}

/* --- Badges --- */
[data-theme="dark"] .badge-gold {
    background: rgba(212, 168, 75, 0.2);
    color: var(--gold-hover, #E5B957);
}

[data-theme="dark"] .badge-green {
    background: rgba(39, 174, 96, 0.2);
    color: #4ADE80;
}

[data-theme="dark"] .badge-red {
    background: rgba(231, 76, 60, 0.2);
    color: #FF8A80;
}

/* --- Sidebar in dark mode --- */
[data-theme="dark"] .sidebar {
    background: #080F1C;
}

/* --- Topbar / page header --- */
[data-theme="dark"] .topbar {
    background: #1a1a1a;
    border-bottom-color: #404040;
}

/* --- Content area --- */
[data-theme="dark"] .content,
[data-theme="dark"] .main-content,
[data-theme="dark"] main {
    background: #1a1a1a;
}

/* --- Link color uses gold accent --- */
[data-theme="dark"] a:not(.btn):not(.nav-item):not(.nav-link) {
    color: var(--gold, #D4A84B);
}

[data-theme="dark"] a:not(.btn):not(.nav-item):not(.nav-link):hover {
    color: var(--gold-hover, #E5B957);
}
