/**
 * Fight Gym Admin - Theme Overrides (matches Login UI)
 * Black/dark background, yellow accent #F6C90C, white text everywhere.
 */

:root {
  --fight-gym-bg: #000000;
  --fight-gym-btn: #F6C90C;
  --fight-gym-btn-hover: #e5b80a;
  --fight-gym-btn-text: #ffffff;
  --fight-gym-text: #ffffff;
  --fight-gym-text-muted: rgba(255, 255, 255, 0.75);
  --fight-gym-card-bg: #1a1a1a;
  --fight-gym-sidebar-bg: #000000;
  --fight-gym-header-bg: #000000;
  --fight-gym-border: rgba(255, 255, 255, 0.12);
  --fight-gym-primary: #F6C90C;
  --fight-gym-nav-text: #ffffff;
  --fight-gym-nav-accent: #F6C90C;
  --fight-gym-body-bg: #000000;
  --fight-gym-body-text: #ffffff;
  --fight-gym-body-text-muted: rgba(255, 255, 255, 0.7);
  --fight-gym-body-border: rgba(255, 255, 255, 0.12);
  /* Same as sidebar link hover - used for table row hover */
  --fight-gym-row-hover-bg: rgba(246, 201, 12, 0.15);
}

/* Page & body - black (match login) */
body,
.page-wrapper,
.main-container {
  background-color: var(--fight-gym-bg) !important;
  color: var(--fight-gym-text) !important;
}

/* Content column - same dark as login */
.app-container {
  background-color: var(--fight-gym-body-bg) !important;
  color: var(--fight-gym-text) !important;
}

/* Main content area - dark background, white text (match login auth-box) */
.app-body {
  background-color: var(--fight-gym-body-bg) !important;
  min-height: 60vh;
  color: var(--fight-gym-text) !important;
}

.app-body .card-header,
.app-body .card-title,
.app-body .card-body,
.app-body .card-body h1,
.app-body .card-body h2,
.app-body .card-body h3,
.app-body .card-body h4,
.app-body .card-body h5,
.app-body .card-body h6,
.app-body .card-body p {
  color: var(--fight-gym-text) !important;
  border-color: var(--fight-gym-border) !important;
}

.app-body .text-muted,
.app-body .small.text-muted,
.app-body p.text-muted {
  color: var(--fight-gym-text-muted) !important;
}

/* Buttons - primary / accent */
.btn-primary,
.btn.btn-primary,
a.btn-primary {
  background-color: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn.btn-primary:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

/* Bootstrap primary - background (badges, etc.) */
.bg-primary,
.badge.bg-primary {
  background-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Primary text/links (accent color) */
.text-primary,
a.text-primary {
  color: var(--fight-gym-btn) !important;
}

/* Cards - dark like login auth-box (all pages: Audience, Users, Trainers, etc.) */
/* Cards - dark theme, aligned border color everywhere */
.app-body .card,
.card {
  background-color: var(--fight-gym-card-bg) !important;
  border: 1px solid var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .card .card-body,
.app-body .card-body {
  background-color: var(--fight-gym-card-bg) !important;
  border-color: var(--fight-gym-border) !important;
}

.card-header,
.card-title,
.card-body,
.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6,
.card-body p {
  color: var(--fight-gym-text) !important;
  border-color: var(--fight-gym-border) !important;
}

.app-body .card-header {
  background-color: var(--fight-gym-card-bg) !important;
  border: 1px solid var(--fight-gym-border) !important;
  border-bottom-color: var(--fight-gym-border) !important;
}

.app-body .card.bg-2,
.card.bg-2 {
  background-color: #0f0f0f !important;
  border: 1px solid var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

/* Dashboard welcome card - image aligned right */
.dashboard-welcome-card .dashboard-welcome-img img {
  opacity: 0.9;
}

/* Sidebar - black background, white text, yellow accent */
.sidebar-wrapper,
#sidebar {
  background-color: var(--fight-gym-sidebar-bg) !important;
  border-color: var(--fight-gym-border) !important;
}

.sidebar-wrapper .profile-name,
.sidebar-wrapper .menu-text,
.sidebar-menu a,
.sidebar-menu .menu-text,
.sidebar-menu a i,
.sidebar-contact p,
.sidebar-contact h5,
.sidebar-contact i {
  color: var(--fight-gym-nav-text) !important;
}

/* Sidebar li: subtle yellow tint on hover (no solid yellow block for better UI) */
.sidebar-menu a:hover,
.sidebar-menu a:hover i,
.sidebar-menu .treeview-menu a:hover,
.sidebar-menu .treeview-menu a:hover i {
  background-color: rgba(246, 201, 12, 0.15) !important;
  color: var(--fight-gym-nav-text) !important;
}

.sidebar-menu a:hover i {
  color: var(--fight-gym-nav-accent) !important;
}

/* Active/current: subtle tint + yellow left border */
.sidebar-menu > li.active > a,
.sidebar-menu > li.current-page > a,
.sidebar-menu li.active a,
.sidebar-menu li.active a i {
  background-color: rgba(246, 201, 12, 0.2) !important;
  color: var(--fight-gym-nav-text) !important;
  border-left: 3px solid var(--fight-gym-nav-accent);
}

.sidebar-menu > li.active > a i,
.sidebar-menu > li.current-page > a i {
  color: var(--fight-gym-nav-accent) !important;
}

.sidebar-menu .treeview-menu a {
  color: rgba(255, 255, 255, 0.85) !important;
}

.sidebar-wrapper .badge.bg-success {
  background-color: var(--fight-gym-nav-accent) !important;
  color: var(--fight-gym-btn-text) !important;
}

.sidebar-contact {
  border-color: var(--fight-gym-border) !important;
}

#sidebar .sidebar-profile .profile-name,
#sidebar .sidebar-profile .badge {
  color: var(--fight-gym-nav-text) !important;
}

#sidebar .sidebar-profile .badge.bg-success {
  background-color: var(--fight-gym-nav-accent) !important;
  color: #000000 !important;
}

/* App header (top bar) - black background, white text, yellow accent */
.app-header {
  background-color: var(--fight-gym-header-bg) !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-nav-text) !important;
}

.app-header .toggle-sidebar,
.app-header .pin-sidebar {
  color: var(--fight-gym-nav-text) !important;
  background: transparent !important;
  border: none !important;
}

.app-header .toggle-sidebar:hover,
.app-header .pin-sidebar:hover {
  color: var(--fight-gym-nav-accent) !important;
}

.app-header .form-control,
.app-header #searchId {
  background-color: #1a1a1a !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-nav-text) !important;
}

.app-header .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.app-header .header-icon,
.app-header .header-icon i {
  color: var(--fight-gym-nav-text) !important;
}

.app-header .header-icon:hover,
.app-header .header-icon:hover i {
  color: var(--fight-gym-nav-accent) !important;
}

.app-header .avatar-box {
  background-color: var(--fight-gym-nav-accent) !important;
  color: var(--fight-gym-btn-text) !important;
}

.app-header .dropdown-menu {
  background-color: #1a1a1a !important;
  border-color: var(--fight-gym-border) !important;
}

.app-header .dropdown-menu .dropdown-item,
.app-header .dropdown-menu h5,
.app-header .dropdown-menu h6 {
  color: var(--fight-gym-nav-text) !important;
}

.app-header .btn-danger {
  background-color: #c82333 !important;
  border-color: #bd2130 !important;
  color: #fff !important;
}

.app-header .btn-outline-primary,
.app-header .btn-primary {
  color: var(--fight-gym-btn-text) !important;
}

/* Logo area in header */
.app-header .app-brand a {
  color: var(--fight-gym-nav-text) !important;
}

/* Hero / breadcrumb - dark, white text (match login) */
.app-hero-header {
  background-color: var(--fight-gym-body-bg) !important;
  border-color: var(--fight-gym-border) !important;
}

.app-container .breadcrumb,
.app-container .breadcrumb-item,
.app-container .breadcrumb-item a,
.app-container .breadcrumb-active,
.breadcrumb,
.breadcrumb-item,
.breadcrumb-item a,
.breadcrumb-active {
  color: var(--fight-gym-text) !important;
}

.breadcrumb-item a:hover {
  color: var(--fight-gym-nav-accent) !important;
}

.app-container .breadcrumb .border-end,
.breadcrumb .border-end {
  border-color: var(--fight-gym-border) !important;
}

.app-container .breadcrumb .ri-home-8-line,
.breadcrumb .ri-home-8-line {
  color: var(--fight-gym-text-muted) !important;
}

/* Footer - black bar, white text */
.app-footer {
  background-color: var(--fight-gym-header-bg) !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-nav-text) !important;
}

/* Form controls - dark like login (Audience, Users, Trainers, Plans pages) */
.app-body .form-control,
.app-body .form-label,
.app-body label {
  color: var(--fight-gym-text) !important;
}

.app-body .form-control {
  background-color: #0d0d0d !important;
  border: 1px solid var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.app-body .form-control:focus {
  border-color: var(--fight-gym-btn) !important;
  box-shadow: 0 0 0 0.2rem rgba(246, 201, 12, 0.25) !important;
}

.app-body .form-select {
  background-color: #0d0d0d !important;
  border: 1px solid var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .form-check-label {
  color: var(--fight-gym-text) !important;
}

/* Tables - dark, white text (Users, Audience, Trainers, etc.) */
.app-body .table-responsive {
  background-color: transparent !important;
}

.app-body .table,
.app-body .table th,
.app-body .table td {
  color: var(--fight-gym-text) !important;
  border-color: var(--fight-gym-border) !important;
  background-color: transparent !important;
}

.app-body .table thead th {
  background-color: #0d0d0d !important;
  color: var(--fight-gym-text) !important;
}

.app-body .table tbody tr {
  background-color: transparent !important;
}

/* Override Bootstrap table hover variables so our colors win */
.app-body .table.table-hover tbody tr:hover {
  --bs-table-hover-bg: rgba(246, 201, 12, 0.2);
  --bs-table-hover-color: #ffffff;
  --bs-table-accent-bg: rgba(246, 201, 12, 0.2);
}

/* Table row hover: yellow tint, white text, yellow left border - override Bootstrap */
.app-body .table tbody tr:hover,
.app-body .table-hover tbody tr:hover,
.app-body .table.table-hover tbody tr:hover {
  background-color: rgba(246, 201, 12, 0.2) !important;
  color: #ffffff !important;
  border-left: 3px solid var(--fight-gym-nav-accent);
}

/* Apply background and color to cells (Bootstrap often targets td) */
.app-body .table tbody tr:hover td,
.app-body .table-hover tbody tr:hover td,
.app-body .table.table-hover tbody tr:hover td {
  background-color: rgba(246, 201, 12, 0.2) !important;
  color: #ffffff !important;
}

.app-body .table tbody tr:hover td:first-child,
.app-body .table-hover tbody tr:hover td:first-child,
.app-body .table.table-hover tbody tr:hover td:first-child {
  border-left: 3px solid var(--fight-gym-nav-accent);
}

/* Pagination & table toolbar */
.app-body .table-toolbar .form-control,
.app-body .table-toolbar .form-select {
  background-color: #0d0d0d !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .pagination .page-link {
  background-color: #1a1a1a !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .pagination .page-link:hover {
  background-color: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Outline primary: yellow border, white text */
.btn-outline-primary,
.btn.btn-sm.btn-outline-primary,
.app-body .btn-outline-primary,
.app-body .btn.btn-sm.btn-outline-primary {
  border-color: var(--fight-gym-btn) !important;
  color: #ffffff !important;
  background-color: transparent !important;
}

.app-body .btn-outline-primary:hover,
.app-body .btn-outline-primary:focus,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn.btn-sm.btn-outline-primary:hover,
.btn.btn-sm.btn-outline-primary:focus,
.app-body .btn.btn-sm.btn-outline-primary:hover,
.app-body .btn.btn-sm.btn-outline-primary:focus {
  background-color: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Outline danger: red border, white text */
.btn-outline-danger,
.btn.btn-sm.btn-outline-danger,
.app-body .btn-outline-danger,
.app-body .btn.btn-sm.btn-outline-danger {
  border-color: #dc3545 !important;
  color: #ffffff !important;
  background-color: transparent !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn.btn-sm.btn-outline-danger:hover,
.btn.btn-sm.btn-outline-danger:focus,
.app-body .btn-outline-danger:hover,
.app-body .btn-outline-danger:focus,
.app-body .btn.btn-sm.btn-outline-danger:hover,
.app-body .btn.btn-sm.btn-outline-danger:focus {
  background-color: #dc3545 !important;
  border-color: #dc3545 !important;
  color: #ffffff !important;
}

.app-body .pagination .page-item.active .page-link {
  background-color: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Dropdowns - dark like login */
.dropdown-menu {
  background-color: #1a1a1a !important;
  border-color: var(--fight-gym-border) !important;
}

.dropdown-menu .dropdown-item,
.dropdown-menu h5,
.dropdown-menu h6 {
  color: var(--fight-gym-text) !important;
}

.dropdown-menu .dropdown-item:hover {
  background-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Secondary buttons - dark theme */
.app-body .btn-secondary,
.btn-secondary {
  background-color: transparent !important;
  border-color: var(--fight-gym-border) !important;
  color: var(--fight-gym-text) !important;
}

.app-body .btn-secondary:hover,
.btn-secondary:hover {
  background-color: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Links in content - yellow like login */
.app-body a:not(.btn) {
  color: var(--fight-gym-nav-accent) !important;
}

.app-body a:not(.btn):hover {
  background-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* Text muted */
.text-muted,
.small.text-muted,
p.text-muted {
  color: var(--fight-gym-text-muted) !important;
}

/* Badges - subtle on dark */
.badge.bg-success { background-color: #1a472a !important; color: #90ee90 !important; }
.badge.bg-danger { background-color: #4a1515 !important; color: #ff6b6b !important; }
.badge.bg-warning { background-color: #4a3a00 !important; color: var(--fight-gym-btn) !important; }
.badge.bg-info { background-color: #0d3d56 !important; color: #7dd3fc !important; }

/* Loading wrapper - match login/dark theme */
#loading-wrapper {
  background-color: #000000 !important;
}

/* Borders and dividers */
.border,
.border-start,
.border-end,
.border-top,
.border-bottom {
  border-color: var(--fight-gym-border) !important;
}

/* Animations / icon boxes - keep accent */
.animate-box.primary,
.animate-box.sm.primary {
  background-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

/* ========== Login / Identity pages ==========
   To change login form markup (fields, links): scaffold Identity:
   dotnet aspnet-codegenerator identity -dc FightGym.Infrastructure.Persistence.FightGymDbContext -u FightGym.Infrastructure.Identity.ApplicationUser -f "Account.Login;Account.Register;Account.Logout" --force
   Then edit Areas/Identity/Pages/Account/Login.cshtml and Register.cshtml.
   Layout for login: Pages/Shared/_LayoutLogin.cshtml (used by Areas/Identity/Pages/_ViewStart.cshtml).
   Styles below make the login box match the admin theme (black/yellow/white). */

body.login-bg {
  background-color: #000000 !important;
}

.auth-wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.auth-box {
  background-color: #1a1a1a !important;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 2rem;
  color: #ffffff !important;
  width: 100%;
  max-width: 400px;
}

.auth-box .auth-logo,
.auth-box .auth-logo img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.auth-box h4,
.auth-box .form-label,
.auth-box label {
  color: #ffffff !important;
}

.auth-box form,
.auth-box .auth-form {
  width: 100%;
}

.auth-box .form-control {
  width: 100% !important;
  box-sizing: border-box;
  background-color: #0d0d0d !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

.auth-box .form-control::placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
}

.auth-box .form-control:focus {
  border-color: var(--fight-gym-nav-accent) !important;
  box-shadow: 0 0 0 0.2rem rgba(246, 201, 12, 0.25) !important;
}

.auth-box .btn-primary {
  background-color: #F6C90C !important;
  border-color: #F6C90C !important;
  color: #000000 !important;
}

.auth-box .btn-primary:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

.auth-box a:not(.btn) {
  color: #F6C90C !important;
}

.auth-box a:not(.btn):hover {
  color: #e5b80a !important;
}

.auth-box .text-danger {
  color: #ff6b6b !important;
}

/* Flatpickr datepicker - dark theme in app-body */
.app-body .flatpickr-calendar,
.flatpickr-calendar {
  background: #1a1a1a !important;
  border-color: var(--fight-gym-border) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

.app-body .flatpickr-day,
.flatpickr-day {
  color: var(--fight-gym-text) !important;
}

.app-body .flatpickr-day:hover,
.flatpickr-day:hover {
  background: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

.app-body .flatpickr-day.selected,
.flatpickr-day.selected {
  background: var(--fight-gym-btn) !important;
  border-color: var(--fight-gym-btn) !important;
  color: var(--fight-gym-btn-text) !important;
}

.app-body .flatpickr-months .flatpickr-month,
.app-body .flatpickr-current-month .numInput,
.flatpickr-weekdays,
.flatpickr-weekday {
  color: var(--fight-gym-text) !important;
  fill: var(--fight-gym-text) !important;
}

/* Calendar month and year header - white */
.app-body .flatpickr-current-month,
.app-body .flatpickr-current-month .flatpickr-monthDropdown-months,
.app-body .flatpickr-current-month .numInputWrapper,
.app-body .flatpickr-current-month .numInputWrapper input,
.app-body .flatpickr-months .flatpickr-month,
.flatpickr-current-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month .numInputWrapper,
.flatpickr-current-month .numInputWrapper input,
.flatpickr-months .flatpickr-month {
  color: #ffffff !important;
  fill: #ffffff !important;
}

.app-body .flatpickr-time input,
.flatpickr-time input {
  background: #0d0d0d !important;
  color: var(--fight-gym-text) !important;
  border-color: var(--fight-gym-border) !important;
}
