:root {
  --xantral-primary: #075E54;
  --xantral-primary-contrast: #ffffff;
  --xantral-secondary: #FFC107;
  --xantral-secondary-contrast: #111111;
  --xantral-error: #EF4444;
  --xantral-error-contrast: #ffffff;
  --xantral-bg: #ffffff;
  --xantral-surface: #ffffff;
  --xantral-text: #0B1F2A;
  --xantral-muted: rgba(11, 31, 42, 0.6);
  --xantral-radius-pill: 9999px;
  --xantral-shadow-soft: 0 6px 18px rgba(11, 31, 42, 0.08);
  --xantral-font-body: 'Inter', 'Helvetica Neue', Arial, sans-serif;
  --xantral-font-heading: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
}

body,
.main-panel,
.content {
  color: var(--xantral-text);
  font-family: var(--xantral-font-body);
  font-weight: 400;
}

button,
input,
select,
textarea,
.btn,
.nav-link,
.navbar,
.sidebar,
.table,
.form-control,
.card-category,
.dropdown-item,
.pagination,
.badge {
  font-family: var(--xantral-font-body) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.title,
.card-title,
.navbar-brand,
.sidebar .logo a,
.logo .simple-text,
.brand,
.wizard-title {
  font-family: var(--xantral-font-heading) !important;
  font-weight: 600 !important;
}

.btn.btn-primary,
.btn.btn-primary:focus,
.btn.btn-primary:hover,
.btn.btn-primary:active {
  background-color: var(--xantral-primary) !important;
  border-color: var(--xantral-primary) !important;
  color: var(--xantral-primary-contrast) !important;
}

a {
  color: var(--xantral-primary);
}

a:hover,
a:focus {
  color: #0a5651;
}

.btn.btn-success,
.btn.btn-success:focus,
.btn.btn-success:hover,
.btn.btn-success:active {
  background-color: var(--xantral-primary) !important;
  border-color: var(--xantral-primary) !important;
  color: var(--xantral-primary-contrast) !important;
}

.btn.btn-danger,
.btn.btn-danger:focus,
.btn.btn-danger:hover,
.btn.btn-danger:active {
  background-color: var(--xantral-error) !important;
  border-color: var(--xantral-error) !important;
  color: var(--xantral-error-contrast) !important;
}

.btn.btn-info,
.btn.btn-info:focus,
.btn.btn-info:hover,
.btn.btn-info:active {
  background-color: var(--xantral-secondary) !important;
  border-color: var(--xantral-secondary) !important;
  color: var(--xantral-secondary-contrast) !important;
}

.btn,
.btn.btn-link {
  border-radius: var(--xantral-radius-pill) !important;
}

.btn.btn-round {
  border-radius: var(--xantral-radius-pill) !important;
}

.btn.btn-rose,
.btn.btn-rose:focus,
.btn.btn-rose:hover,
.btn.btn-rose:active {
  background-color: var(--xantral-primary) !important;
  border-color: var(--xantral-primary) !important;
  color: var(--xantral-primary-contrast) !important;
}

.btn.btn-default,
.btn.btn-default:focus,
.btn.btn-default:hover,
.btn.btn-default:active {
  background-color: rgba(11, 31, 42, 0.08) !important;
  border-color: rgba(11, 31, 42, 0.12) !important;
  color: var(--xantral-text) !important;
}

.btn.btn-link {
  color: var(--xantral-primary) !important;
}

.nav-pills .nav-item .nav-link.active,
.nav-pills .nav-item .nav-link.active:focus,
.nav-pills .nav-item .nav-link.active:hover {
  background-color: var(--xantral-primary) !important;
  box-shadow: var(--xantral-shadow-soft);
}

.badge,
.badge.badge-primary {
  background-color: var(--xantral-primary) !important;
  color: var(--xantral-primary-contrast) !important;
  border-radius: var(--xantral-radius-pill) !important;
}

.badge.badge-warning {
  background-color: var(--xantral-secondary) !important;
  color: var(--xantral-secondary-contrast) !important;
  border-radius: var(--xantral-radius-pill) !important;
}

.text-rose {
  color: var(--xantral-primary) !important;
}

.text-primary {
  color: var(--xantral-primary) !important;
}

.text-info {
  color: var(--xantral-secondary) !important;
}

.sidebar .nav li.active > a,
.sidebar .nav li.active > a i {
  color: var(--xantral-primary-contrast) !important;
}

.sidebar .nav li.active > a {
  background-color: var(--xantral-primary) !important;
  box-shadow: var(--xantral-shadow-soft);
}

/* Paramétrage cards often use card-header-rose */
.card .card-header.card-header-rose {
  background: var(--xantral-primary) !important;
}

.card .card-header.card-header-rose .card-title,
.card .card-header.card-header-rose .card-category {
  color: var(--xantral-primary-contrast) !important;
}

.card .card-header.card-header-rose .card-icon {
  background: rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
}

/* Alerts */
.alert.alert-success {
  background-color: rgba(7, 94, 84, 0.14) !important;
  border-color: rgba(7, 94, 84, 0.22) !important;
  color: var(--xantral-text) !important;
}

.alert.alert-danger {
  background-color: rgba(239, 68, 68, 0.14) !important;
  border-color: rgba(239, 68, 68, 0.22) !important;
  color: var(--xantral-text) !important;
}

/* Pagination */
.pagination .page-item.active .page-link {
  background-color: var(--xantral-primary) !important;
  border-color: var(--xantral-primary) !important;
  color: var(--xantral-primary-contrast) !important;
}

.pagination .page-link {
  color: var(--xantral-primary) !important;
}

.form-control:focus {
  border-color: var(--xantral-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(7, 94, 84, 0.18) !important;
}

/* Dashboard cards: map Material Dashboard semantic colors to mobile palette */
.card {
  border-radius: 18px;
  box-shadow: var(--xantral-shadow-soft);
}

.card .card-header.card-header-primary,
.card .card-header.card-header-success {
  background: var(--xantral-primary) !important;
}

.card .card-header.card-header-info {
  background: var(--xantral-secondary) !important;
}

.card .card-header.card-header-warning {
  background: var(--xantral-secondary) !important;
  color: var(--xantral-secondary-contrast) !important;
}

.card .card-header.card-header-warning .card-title,
.card .card-header.card-header-warning .card-category {
  color: var(--xantral-secondary-contrast) !important;
}

.card .card-header.card-header-primary .card-title,
.card .card-header.card-header-success .card-title,
.card .card-header.card-header-info .card-title,
.card .card-header.card-header-primary .card-category,
.card .card-header.card-header-success .card-category,
.card .card-header.card-header-info .card-category {
  color: var(--xantral-primary-contrast) !important;
}

.card .card-header.card-header-primary .card-icon,
.card .card-header.card-header-success .card-icon,
.card .card-header.card-header-info .card-icon {
  background: rgba(255, 255, 255, 0.18) !important;
  box-shadow: none !important;
}

.card .card-header .card-icon i {
  color: var(--xantral-primary-contrast) !important;
}

/* Tables: align header accent colors */
.table .text-warning,
.table thead.text-warning {
  color: var(--xantral-primary) !important;
}

.table .text-info,
.table thead.text-info {
  color: var(--xantral-secondary) !important;
}

.table .text-success,
.table thead.text-success {
  color: var(--xantral-primary) !important;
}
