/* Pont Bootstrap → variables MudBlazor (clair / sombre suivent MudThemeProvider) */

body {
  background-color: var(--mud-palette-background, #f4f6f9);
  color: var(--mud-palette-text-primary, #1a2332);
}

/* Typo utilitaires Bootstrap */
.text-muted {
  color: var(--mud-palette-text-secondary) !important;
}
.text-body {
  color: var(--mud-palette-text-primary) !important;
}

/* Utilitaires de fond Bootstrap (bg-light / bg-white fixent du clair avec !important) */
.bg-light {
  background-color: var(--mud-palette-background-gray) !important;
  color: var(--mud-palette-text-primary) !important;
}
.bg-white {
  background-color: var(--mud-palette-surface) !important;
  color: var(--mud-palette-text-primary) !important;
}
.bg-body {
  background-color: var(--mud-palette-background) !important;
  color: var(--mud-palette-text-primary) !important;
}
.bg-body-secondary {
  background-color: var(--mud-palette-background-gray) !important;
  color: var(--mud-palette-text-primary) !important;
}
.card.bg-light,
.card.bg-white {
  background-color: var(--mud-palette-background-gray) !important;
  border-color: var(--mud-palette-divider) !important;
  color: var(--mud-palette-text-primary) !important;
}
.card-header.bg-white {
  background-color: var(--mud-palette-surface) !important;
}

/* Cartes & panneaux */
.card {
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-divider);
}
.card-header,
.card-footer {
  background-color: var(--mud-palette-surface) !important;
  border-color: var(--mud-palette-divider) !important;
  color: var(--mud-palette-text-primary) !important;
}
.card-subtitle {
  color: var(--mud-palette-text-secondary) !important;
}

/* Boutons (pages planning, clients, etc.) */
.btn-primary {
  background-color: var(--mud-palette-primary);
  border-color: var(--mud-palette-primary);
  color: var(--mud-palette-primary-text);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--mud-palette-primary-darken);
  border-color: var(--mud-palette-primary-darken);
  color: var(--mud-palette-primary-text);
}
.btn-primary:disabled,
.btn-primary.disabled {
  opacity: 0.65;
}

.btn-success {
  background-color: var(--mud-palette-success);
  border-color: var(--mud-palette-success);
  color: var(--mud-palette-success-text);
}
.btn-success:hover {
  background-color: var(--mud-palette-success-darken);
  border-color: var(--mud-palette-success-darken);
  color: var(--mud-palette-success-text);
}

.btn-secondary {
  background-color: var(--mud-palette-secondary);
  border-color: var(--mud-palette-secondary);
  color: var(--mud-palette-secondary-text);
}
.btn-secondary:hover {
  background-color: var(--mud-palette-secondary-darken);
  border-color: var(--mud-palette-secondary-darken);
}

.btn-outline-secondary {
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-lines-default);
  background-color: transparent;
}
.btn-outline-secondary:hover {
  background-color: var(--mud-palette-action-default-hover);
  border-color: var(--mud-palette-lines-default);
  color: var(--mud-palette-text-primary);
}

.btn-outline-danger {
  color: var(--mud-palette-error);
  border-color: var(--mud-palette-error);
}
.btn-outline-danger:hover {
  background-color: var(--mud-palette-error);
  color: var(--mud-palette-error-text);
}

.btn-outline-primary {
  color: var(--mud-palette-primary);
  border-color: var(--mud-palette-primary);
}
.btn-outline-primary:hover {
  background-color: var(--mud-palette-primary);
  color: var(--mud-palette-primary-text);
}

.btn-group > .btn {
  border-color: var(--mud-palette-lines-default);
}

/* Formulaires */
.form-control,
.form-select,
.form-select-sm,
select.form-select,
select.form-select-sm,
input.form-control,
textarea.form-control {
  background-color: var(--mud-palette-surface) !important;
  color: var(--mud-palette-text-primary) !important;
  border-color: var(--mud-palette-lines-inputs) !important;
}
.form-control:focus,
.form-select:focus,
.form-select-sm:focus,
select.form-select:focus,
input.form-control:focus,
textarea.form-control:focus {
  background-color: var(--mud-palette-surface) !important;
  color: var(--mud-palette-text-primary) !important;
  border-color: var(--mud-palette-primary) !important;
  box-shadow: 0 0 0 0.2rem color-mix(in srgb, var(--mud-palette-primary) 25%, transparent);
}

/* Chrome / Edge : fond jaune du remplissage auto */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px var(--mud-palette-surface) inset !important;
  box-shadow: 0 0 0 1000px var(--mud-palette-surface) inset !important;
  -webkit-text-fill-color: var(--mud-palette-text-primary) !important;
  caret-color: var(--mud-palette-text-primary);
  transition: background-color 5000s ease-in-out 0s;
}

/* Champs dans MudPaper / page connexion (ids login & password) */
.mud-paper .form-control,
.mud-paper input[type="text"],
.mud-paper input[type="password"],
.mud-paper input[type="email"],
#login.form-control,
#password.form-control {
  background-color: var(--mud-palette-surface) !important;
  color: var(--mud-palette-text-primary) !important;
  border-color: var(--mud-palette-lines-inputs) !important;
}

/* Options des listes (surtout mode sombre) */
option {
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
}

/* Input fichier (Bootstrap / navigateur) */
input[type="file"].form-control,
input[type="file"] {
  color: var(--mud-palette-text-secondary) !important;
}
input[type="file"]::file-selector-button {
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border: 1px solid var(--mud-palette-lines-inputs);
  border-radius: 8px;
  padding: 0.35rem 0.75rem;
  margin-right: 0.75rem;
  cursor: pointer;
}
input[type="file"]::file-selector-button:hover {
  background-color: var(--mud-palette-action-default-hover);
}
input[type="file"]::-webkit-file-upload-button {
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border: 1px solid var(--mud-palette-lines-inputs);
  border-radius: 8px;
  padding: 0.35rem 0.75rem;
  margin-right: 0.75rem;
  cursor: pointer;
}
.form-control::placeholder {
  color: var(--mud-palette-text-disabled);
}
.form-label {
  color: var(--mud-palette-text-primary);
}
.form-check-label {
  color: var(--mud-palette-text-primary);
}
.form-check-input {
  background-color: var(--mud-palette-surface);
  border-color: var(--mud-palette-lines-inputs);
}
.form-check-input:checked {
  background-color: var(--mud-palette-primary);
  border-color: var(--mud-palette-primary);
}

.input-group-text {
  background-color: var(--mud-palette-background-gray);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-lines-inputs);
}

/* Tableaux */
.table {
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-table-lines);
  --bs-table-bg: transparent;
  --bs-table-striped-bg: var(--mud-palette-table-striped);
  --bs-table-hover-bg: var(--mud-palette-table-hover);
  --bs-table-border-color: var(--mud-palette-table-lines);
}
.table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-color: var(--mud-palette-table-lines);
  color: var(--mud-palette-text-primary);
}
.table thead th {
  border-bottom-color: var(--mud-palette-table-lines);
}
.table > :not(caption) > * > * {
  box-shadow: none;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--mud-palette-table-striped);
  color: var(--mud-palette-text-primary);
}
.table-striped > tbody > tr:nth-of-type(even) > * {
  background-color: transparent;
}

.table-hover > tbody > tr:hover > * {
  background-color: var(--mud-palette-table-hover);
  color: var(--mud-palette-text-primary);
}

.table-bordered,
.table-bordered > :not(caption) > * {
  border-color: var(--mud-palette-table-lines);
}

.table-light,
.table-light > th,
.table-light > td {
  --bs-table-bg: var(--mud-palette-surface);
  --bs-table-color: var(--mud-palette-text-primary);
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-table-lines);
}

.table-secondary > * {
  --bs-table-bg: var(--mud-palette-background-gray);
  --bs-table-color: var(--mud-palette-text-secondary);
}
.table-secondary {
  --bs-table-bg: var(--mud-palette-background-gray);
  color: var(--mud-palette-text-secondary);
}

tr.table-secondary > td,
tr.table-secondary > th {
  background-color: var(--mud-palette-background-gray) !important;
  color: var(--mud-palette-text-secondary);
  border-color: var(--mud-palette-table-lines);
}

thead.table-light,
.table thead.table-light th {
  background-color: var(--mud-palette-surface) !important;
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-table-lines);
}

/* Onglets nav */
.nav-tabs {
  border-bottom-color: var(--mud-palette-divider);
}
.nav-tabs .nav-link {
  color: var(--mud-palette-text-secondary);
  background-color: transparent;
  border-color: transparent transparent var(--mud-palette-divider);
}
.nav-tabs .nav-link:hover {
  border-color: var(--mud-palette-divider);
  color: var(--mud-palette-text-primary);
}
.nav-tabs .nav-link.active {
  color: var(--mud-palette-primary);
  background-color: var(--mud-palette-surface);
  border-color: var(--mud-palette-divider) var(--mud-palette-divider) var(--mud-palette-surface);
}

/* ClientTabsBar : couleurs alignées sur HiGoMudTheme (classes client-tabs-bar--light / --dark depuis ThemeState) */
.client-tabs-bar--light.card {
  background-color: #ffffff !important;
  color: #1a2332 !important;
  border-color: #e2e6ed !important;
}
.client-tabs-bar--light .card-header {
  background-color: #f4f6f9 !important;
  color: #1a2332 !important;
  border-color: #e2e6ed !important;
}
.client-tabs-bar--light .client-tabs-nav .nav-link,
.client-tabs-bar--light .client-tabs-nav button.nav-link {
  color: #1a2332 !important;
  background-color: #ffffff !important;
  border: 1px solid #e2e6ed !important;
}
.client-tabs-bar--light .client-tabs-nav .nav-link:hover:not(.active):not(:disabled),
.client-tabs-bar--light .client-tabs-nav button.nav-link:hover:not(.active):not(:disabled) {
  color: #1a2332 !important;
  background-color: #eef1f6 !important;
  border-color: #dce1e9 !important;
}
.client-tabs-bar--light .client-tabs-nav .nav-link.active,
.client-tabs-bar--light .client-tabs-nav button.nav-link.active {
  color: #ffffff !important;
  background-color: #1a3a5c !important;
  background-image: none !important;
  border-color: #1a3a5c !important;
}
.client-tabs-bar--light .client-tabs-bar-title {
  color: #4a5568 !important;
}

.client-tabs-bar--dark.card {
  background-color: #141d28 !important;
  color: #e8eef5 !important;
  border-color: #2a3544 !important;
}
.client-tabs-bar--dark .card-header {
  background-color: #0c1219 !important;
  color: #e8eef5 !important;
  border-color: #2a3544 !important;
}
.client-tabs-bar--dark .client-tabs-nav .nav-link,
.client-tabs-bar--dark .client-tabs-nav button.nav-link {
  color: #e8eef5 !important;
  background-color: #141d28 !important;
  border: 1px solid #2a3544 !important;
}
.client-tabs-bar--dark .client-tabs-nav .nav-link:hover:not(.active):not(:disabled),
.client-tabs-bar--dark .client-tabs-nav button.nav-link:hover:not(.active):not(:disabled) {
  color: #e8eef5 !important;
  background-color: #1a2533 !important;
  border-color: #3d4d63 !important;
}
.client-tabs-bar--dark .client-tabs-nav .nav-link.active,
.client-tabs-bar--dark .client-tabs-nav button.nav-link.active {
  color: #0a1624 !important;
  background-color: #7eb3e8 !important;
  background-image: none !important;
  border-color: #7eb3e8 !important;
}
.client-tabs-bar--dark .client-tabs-bar-title {
  color: #a8b4c4 !important;
}

/* Alertes */
.alert {
  border-color: var(--mud-palette-divider);
}
.alert-danger {
  background-color: color-mix(in srgb, var(--mud-palette-error) 18%, transparent);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-error);
}
.alert-success {
  background-color: color-mix(in srgb, var(--mud-palette-success) 18%, transparent);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-success);
}
.alert-secondary {
  background-color: var(--mud-palette-background-gray);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-divider);
}
.alert-secondary .oi,
.alert-secondary strong {
  color: var(--mud-palette-text-primary);
}
.link-dark {
  color: var(--mud-palette-primary) !important;
}
.link-dark:hover {
  color: var(--mud-palette-primary-lighten) !important;
}

/* Listes (modal choix planning) */
.list-group-item {
  background-color: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border-color: var(--mud-palette-divider);
}
.list-group-item:hover {
  background-color: var(--mud-palette-table-hover);
}
.list-group-item-action {
  color: var(--mud-palette-text-primary);
}

/* Divers */
hr {
  border-color: var(--mud-palette-divider);
  opacity: 1;
}
.border,
.border-top,
.border-bottom,
.border-start,
.border-end {
  border-color: var(--mud-palette-divider) !important;
}
.rounded.border,
.border.rounded {
  border-color: var(--mud-palette-divider);
}

.img-thumbnail {
  background-color: var(--mud-palette-surface);
  border-color: var(--mud-palette-divider);
}

/* Zone d’erreur Blazor */
#blazor-error-ui {
  background: var(--mud-palette-surface);
  color: var(--mud-palette-text-primary);
  border-top: 1px solid var(--mud-palette-divider);
}
