/* ========================================
   BOOKDAY ADMIN DESIGN SYSTEM
   ======================================== */

/* ========================================
   CSS CUSTOM PROPERTIES (VARIABLES)
   ======================================== */
:root {
  /* === COULEURS PRINCIPALES === */
  --bookday-primary: #0001FA;           /* Bleu Bookday - Liens, CTA, icônes clés */
  --bookday-secondary: #FFFAF2;         /* Crème Bookday - Fond principal, cartes */
  
  /* === COULEURS COMPLÉMENTAIRES === */
  --bookday-soft-black: #2D2D2D;        /* Noir doux - Textes principaux */
  --bookday-gray: #6B7280;              /* Gris - Textes secondaires */
  --bookday-soft-red: #F87171;          /* Rouge doux tirant vers le rose */
  --bookday-mint: #A7F3D0;              /* Vert menthe pâle/pistache */
  --bookday-cream-dark: #E8DDD4;        /* Cream plus foncé pour les bordures */
  
  /* === COULEURS DE STATUT === */
  --bookday-success: #10B981;           /* Vert succès */
  --bookday-warning: #F59E0B;           /* Orange attention */
  --bookday-error: #EF4444;             /* Rouge erreur */
  --bookday-info: var(--bookday-primary); /* Bleu info */
  
  /* === COULEURS NEUTRES === */
  --bookday-white: #FFFFFF;
  --bookday-light-gray: #F9FAFB;
  --bookday-border: #E5E7EB;
  --bookday-border-light: #F3F4F6;
  
  /* === COULEURS DE FOND === */
  --bookday-bg-primary: var(--bookday-secondary);
  --bookday-bg-card: var(--bookday-white);
  --bookday-bg-hover: #FEF7ED;
  --bookday-bg-hover-table: #F0F9FF;
  --bookday-bg-table-row: #FFFCF7; /* Very light cream for table alternating rows */
  
  /* === POLICES === */
  --font-primary: 'Josefin Sans', sans-serif;  /* Titres, CTA */
  --font-body: 'Manrope', sans-serif;          /* Corps de texte */
  --font-display: 'Belanosima', sans-serif;    /* Logo, éléments spéciaux */
  
  /* === TAILLES DE POLICE === */
  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.875rem;     /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-lg: 1.125rem;     /* 18px */
  --text-xl: 1.25rem;      /* 20px */
  --text-2xl: 1.5rem;      /* 24px */
  --text-3xl: 1.875rem;    /* 30px */
  --text-4xl: 2.25rem;     /* 36px */
  
  /* === ESPACEMENTS === */
  --space-1: 0.25rem;      /* 4px */
  --space-2: 0.5rem;       /* 8px */
  --space-3: 0.75rem;      /* 12px */
  --space-4: 1rem;         /* 16px */
  --space-5: 1.25rem;      /* 20px */
  --space-6: 1.5rem;       /* 24px */
  --space-8: 2rem;         /* 32px */
  --space-10: 2.5rem;      /* 40px */
  --space-12: 3rem;        /* 48px */
  
  /* === BORDURES === */
  --border-radius-sm: 0.375rem;    /* 6px */
  --border-radius: 0.5rem;         /* 8px */
  --border-radius-lg: 0.75rem;     /* 12px */
  --border-radius-xl: 1rem;        /* 16px */
  
  /* === OMBRES === */
  --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
}

/* ========================================
   POLICES
   ======================================== */
@import url('https://fonts.googleapis.com/css2?family=Belanosima:wght@400;600;700&family=Manrope:wght@300;400;500;600;700&display=swap');

/* ========================================
   CLASSES DE POLICE
   ======================================== */
.font-primary {
  font-family: var(--font-primary);
}

.font-body {
  font-family: var(--font-body);
}

.font-bold {
  font-weight: 700;
}

.font-semibold {
  font-weight: 600;
}

.font-medium {
  font-weight: 500;
}

.font-normal {
  font-weight: 400;
}

.font-light {
  font-weight: 300;
}

/* ========================================
   CLASSES DE COULEUR
   ======================================== */
.text-primary {
  color: var(--bookday-primary);
}

.text-secondary {
  color: var(--bookday-soft-black);
}

.text-muted {
  color: var(--bookday-gray);
}

.text-success {
  color: var(--bookday-success);
}

.text-warning {
  color: var(--bookday-warning);
}

.text-error {
  color: var(--bookday-error);
}

.bg-primary {
  background-color: var(--bookday-primary);
}

.bg-secondary {
  background-color: var(--bookday-secondary);
}

.bg-card {
  background-color: var(--bookday-bg-card);
}

.bg-hover {
  background-color: var(--bookday-bg-hover);
}

/* ========================================
   COMPOSANTS ADMIN
   ======================================== */

/* === BOUTONS === */
.admin-sidebar,
.admin-sidebar * {
  /* Force Manrope in the left admin menu */
  font-family: var(--font-body) !important;
}

/* Left menu links: base, hover, active */
.admin-sidebar a,
.admin-sidebar .menu a,
.admin-sidebar .menu li > a {
  font-family: var(--font-body) !important;
  color: var(--bookday-soft-black) !important;
  text-decoration: none !important;
}

/* Stronger, layout-scoped overrides to beat Tailwind/DaisyUI font-sans */
.admin-container .menu,
.admin-container .menu *,
.admin-container .menu li > a,
.admin-container .menu :where(li>a, li>span) {
  font-family: var(--font-body) !important;
}

/* In case the sidebar is rendered inside a drawer */
.drawer .menu,
.drawer .menu *,
.drawer .menu li > a {
  font-family: var(--font-body) !important;
}

/* Neutralize Tailwind's font-sans inside admin scope */
.admin-container [class*="font-sans"],
.admin-container .font-sans {
  font-family: var(--font-body) !important;
}

.admin-sidebar .menu a:hover,
.admin-sidebar .menu li > a:hover {
  color: var(--bookday-primary) !important;
  background-color: var(--bookday-bg-hover) !important;
}

.admin-sidebar .menu a.active,
.admin-sidebar .menu li > a.active {
  color: var(--bookday-primary) !important;
  background-color: var(--bookday-secondary) !important;
  border: 1px solid var(--bookday-cream-dark) !important;
  font-weight: 600 !important;
}

/* Bookpage edit section: force Manrope on labels and inputs */
.admin-content .form-label,
.admin-content .form-input,
.admin-content .form-select,
.admin-content .form-textarea,
.admin-content .form-helper,
.admin-content .field label,
.admin-content label,
.admin-content input,
.admin-content select,
.admin-content textarea {
  font-family: var(--font-body) !important;
}

/* Generic DaisyUI/Tailwind resets that may apply ui-sans-serif */
.admin-content .menu,
.admin-content .menu * {
  font-family: var(--font-body) !important;
}

/* Ensure headings keep the intended display font while body stays Manrope */
.admin-content h1,
.admin-content h2,
.admin-content h3,
.admin-content .card-title {
  font-family: var(--font-primary) !important;
}
.btn-primary {
  background-color: var(--bookday-primary) !important;
  color: var(--bookday-white) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  padding: var(--space-3) var(--space-6) !important;
  border-radius: var(--border-radius) !important;
  border: 2px solid var(--bookday-primary) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-align: center !important;
  font-size: var(--text-base) !important;
  min-height: 2.5rem !important;
  box-shadow: 0 0 0 3px rgba(0, 1, 250, 0.12) !important; /* subtle focus ring to stand out */
}

.btn-primary:hover {
  background-color: #0000E6;
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-secondary {
  background-color: var(--bookday-soft-black);
  color: var(--bookday-white);
  font-family: var(--font-primary);
  font-weight: 600;
  padding: var(--space-3) var(--space-6);
  border-radius: var(--border-radius);
  border: 2px solid var(--bookday-soft-black);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
  font-size: var(--text-base);
}

.btn-secondary:hover {
  background-color: var(--bookday-gray);
  border-color: var(--bookday-gray);
  transform: translateY(-1px);
  box-shadow: var(--shadow-md);
}

.btn-ghost {
  background-color: transparent;
  color: var(--bookday-primary);
  font-family: var(--font-body);
  font-weight: 500;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--border-radius);
  border: 1px solid var(--bookday-border);
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  display: inline-block;
  text-align: center;
}

.btn-ghost:hover {
  background-color: var(--bookday-bg-hover);
  border-color: var(--bookday-primary);
}

/* Ensure small buttons have consistent height regardless of variant */
.btn.btn-sm,
.btn-sm {
  min-height: 2rem !important;
  padding: var(--space-2) var(--space-4) !important;
  font-size: var(--text-sm) !important;
  line-height: 1.25rem !important;
}

.btn-sm.btn-primary {
  min-height: 2rem !important;
  border-width: 2px !important;
  box-shadow: 0 0 0 3px rgba(0, 1, 250, 0.12) !important;
}

/* Outline button styled to Bookday secondary */
.btn.btn-outline,
.btn-outline {
  background-color: var(--bookday-secondary) !important;
  color: var(--bookday-primary) !important;
  border: 1px solid var(--bookday-cream-dark) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  opacity: 0.92 !important; /* slightly subdued vs active */
}

.btn.btn-outline:hover,
.btn-outline:hover {
  background-color: var(--bookday-secondary) !important;
  opacity: 0.95 !important;
  border-color: var(--bookday-primary) !important;
}

/* Reporting filters: make all three look secondary, highlight active with blue border */
#filter-most-booked,
#filter-most-recent,
#filter-upcoming {
  background-color: var(--bookday-secondary) !important;
  color: var(--bookday-primary) !important;
  border: 1px solid var(--bookday-cream-dark) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  /* Vertically center label */
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.2 !important;
}

/* Active state is driven by btn-primary class in JS; keep secondary look but add strong blue border */
#filter-most-booked.btn-primary,
#filter-most-recent.btn-primary,
#filter-upcoming.btn-primary {
  background-color: var(--bookday-secondary) !important;
  color: var(--bookday-primary) !important;
  border: 2px solid var(--bookday-primary) !important;
  box-shadow: 0 0 0 3px rgba(0, 1, 250, 0.12) !important;
}

/* CTA secondaire réutilisable - fond cream, texte bleu */
.btn-cta-secondary {
  background-color: var(--bookday-secondary) !important;
  border-color: var(--bookday-cream-dark) !important;
  color: var(--bookday-primary) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
  padding: var(--space-3) var(--space-6) !important;
  border-radius: var(--border-radius) !important;
  transition: all 0.2s ease !important;
  border: 0.5px solid var(--bookday-cream-dark) !important;
  cursor: pointer !important;
  text-decoration: none !important;
  display: inline-block !important;
  text-align: center !important;
  font-size: var(--text-base) !important;
  line-height: 1.5 !important;
  min-height: 2.5rem !important;
}

.btn-cta-secondary:hover {
  background-color: var(--bookday-secondary) !important;
  border-color: var(--bookday-cream-dark) !important;
  color: var(--bookday-primary) !important;
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* Override spécifique pour les boutons avec la classe btn */
.btn.btn-cta-secondary {
  background-color: var(--bookday-secondary) !important;
  border-color: var(--bookday-cream-dark) !important;
  color: var(--bookday-primary) !important;
  font-family: var(--font-primary) !important;
  font-weight: 600 !important;
}

.btn.btn-cta-secondary:hover {
  background-color: var(--bookday-secondary) !important;
  border-color: var(--bookday-cream-dark) !important;
  color: var(--bookday-primary) !important;
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* === CARTES === */
.card {
  background-color: var(--bookday-bg-card);
  border-radius: var(--border-radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow);
  border: 1px solid var(--bookday-border-light);
  transition: all 0.2s ease;
}

.card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.card-header {
  margin-bottom: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--bookday-border-light);
}

.card-title {
  font-family: var(--font-primary);
  font-size: var(--text-xl);
  font-weight: 700;
  color: var(--bookday-soft-black);
  margin: 0;
}

.card-subtitle {
  font-family: var(--font-body);
  font-size: var(--text-sm);
  color: var(--bookday-gray);
  margin: var(--space-1) 0 0 0;
}

/* === FORMULAIRES === */
.form-group {
  margin-bottom: var(--space-5);
}

.form-label {
  display: block;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--bookday-soft-black);
  margin-bottom: var(--space-2);
}

.form-input {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--bookday-border);
  border-radius: var(--border-radius);
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--bookday-soft-black);
  background-color: var(--bookday-white);
  transition: all 0.2s ease;
}

.form-input:focus {
  outline: none;
  border-color: var(--bookday-primary);
  box-shadow: 0 0 0 3px rgba(0, 1, 250, 0.1);
}

.form-select {
  width: 100%;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--bookday-border);
  border-radius: var(--border-radius);
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--bookday-soft-black);
  background-color: var(--bookday-white);
  cursor: pointer;
  transition: all 0.2s ease;
}

.form-select:focus {
  outline: none;
  border-color: var(--bookday-primary);
  box-shadow: 0 0 0 3px rgba(0, 1, 250, 0.1);
}

/* === NAVIGATION === */
.nav-item {
  display: inline-block;
  margin-right: var(--space-4);
}

.nav-link {
  font-family: var(--font-body);
  font-weight: 500;
  color: var(--bookday-gray);
  text-decoration: none;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--border-radius);
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.nav-link:hover {
  color: var(--bookday-primary);
  background-color: var(--bookday-bg-hover);
}

.nav-link.active {
  color: var(--bookday-primary);
  background-color: var(--bookday-secondary);
  border: 1px solid var(--bookday-cream-dark);
  font-weight: 600;
}

.admin-header-compact .nav-link.active {
  color: var(--bookday-primary);
  background-color: var(--bookday-secondary);
  border: 1px solid var(--bookday-cream-dark);
  font-weight: 600;
}

/* ========================================
   BADGES & FILTRES
   ======================================== */
.badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  padding: 4px 10px !important;
  border-radius: 6px !important;
  font-family: var(--font-body) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  line-height: 1 !important;
  height: auto !important;
}

.badge-primary {
  background-color: var(--bookday-primary) !important;
  color: var(--bookday-white) !important;
}

.badge-success {
  background-color: var(--bookday-success) !important;
  color: var(--bookday-white) !important;
}

.badge-warning {
  background-color: var(--bookday-warning) !important;
  color: var(--bookday-white) !important;
}

.badge-error {
  background-color: var(--bookday-error) !important;
  color: var(--bookday-white) !important;
}

.badge-soft-red {
  background-color: var(--bookday-soft-red) !important;
  color: var(--bookday-white) !important;
}

.badge-mint {
  background-color: var(--bookday-mint) !important;
  color: var(--bookday-soft-black) !important;
}

.filter-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 8px 16px !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  border: 1.5px solid var(--bookday-border) !important;
  background: var(--bookday-white) !important;
  color: var(--bookday-soft-black) !important;
  box-shadow: var(--shadow-sm) !important;
  cursor: pointer !important;
  user-select: none !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  height: auto !important;
  min-height: 36px !important;
}

.filter-badge:hover {
  background: var(--bookday-bg-hover) !important;
  border-color: var(--bookday-primary) !important;
  color: var(--bookday-primary) !important;
}

.filter-badge.active {
  background: var(--bookday-primary) !important;
  color: var(--bookday-white) !important;
  border-color: var(--bookday-primary) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0, 1, 250, 0.2) !important;
}

.filter-badge.active::before {
  content: '✓' !important;
  display: inline-block !important;
  font-size: 16px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin-right: 4px !important;
}

/* ========================================
   BADGES ET FILTRES
   ======================================== */
.badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

.filter-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 6px 16px !important;
  border-radius: 10px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: 1px solid #E5E7EB !important;
  background: #FFFFFF !important;
  color: #2D2D2D !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.filter-badge:hover {
  background: #FEF7ED !important;
  border-color: #0001FA !important;
  color: #0001FA !important;
}

.filter-badge.active {
  background: #0001FA !important;
  color: #FFFFFF !important;
  border-color: #0001FA !important;
  font-weight: 700 !important;
}

/* ========================================
   PAGINATION (PAGY & OTHERS)
   ======================================== */
/* Ultra-broad selector to catch any pagination container */
.pagy-nav, .pagy, nav.pagination, .pagination, [aria-label="pager"], .pagy_nav, .pagy-bootstrap-nav, .pagy-bulma-nav, .pagy-foundation-nav, .pagy-materialize-nav, .pagy-semantic-nav, .pagy-uikit-nav {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  margin: 32px 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  list-style: none !important;
  padding: 0 !important;
}

/* Base style for all items in pagination - TARGET ONLY LEAF ELEMENTS */
/* We reset the .page span and style the 'a' or the leaf span (.active, .disabled) */
.pagy-nav .page, .pagy .page, .pagination .page {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  display: inline-flex !important;
}

.pagy-nav a, .pagy-nav .page.active, .pagy-nav .page.disabled, .pagy-nav .page.current,
.pagy a, .pagy .page.active, .pagy .page.disabled, .pagy .page.current,
nav.pagination a, nav.pagination .page.active, nav.pagination .page.disabled,
.pagination a, .pagination .page.active, .pagination .page.disabled,
[aria-label="pager"] a, [aria-label="pager"] .page.active,
.pagy_nav a, .pagy_nav .page.active,
.pagination .page a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 40px !important;
  padding: 0 14px !important;
  border-radius: 10px !important;
  text-decoration: none !important;
  line-height: 1 !important;
  transition: all 0.2s ease !important;
  border: 1px solid var(--bookday-border) !important;
  background: var(--bookday-white) !important;
  color: var(--bookday-soft-black) !important;
  margin: 0 4px !important;
  box-sizing: border-box !important;
}

/* Ensure container items (li) have NO borders */
.pagy-nav li, .pagy li, nav.pagination li, .pagination li, [aria-label="pager"] li, .pagy_nav li {
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* Hover state */
.pagy-nav a:hover, .pagy a:hover, nav.pagination a:hover, .pagination a:hover, [aria-label="pager"] a:hover, .pagy_nav a:hover {
  background: var(--bookday-bg-hover) !important;
  border-color: var(--bookday-primary) !important;
  color: var(--bookday-primary) !important;
}

/* Active state - extremely high specificity */
.pagy-nav .active, .pagy-nav .current, .pagy-nav .active a, .pagy-nav .active span,
.pagy .active, .pagy .current, .pagy .active a, .pagy .active span,
nav.pagination .active, nav.pagination .current, nav.pagination .active a, nav.pagination .active span,
.pagination .active, .pagination .current, .pagination .active a, .pagination .active span,
[aria-label="pager"] .active, [aria-label="pager"] .current, [aria-label="pager"] .active a, [aria-label="pager"] .active span,
.pagy_nav .active, .pagy_nav .current, .pagy_nav .active a, .pagy_nav .active span {
  background: var(--bookday-primary) !important;
  color: var(--bookday-white) !important;
  border-color: var(--bookday-primary) !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(0, 1, 250, 0.3) !important;
}

/* Reset colors for children of active items */
.pagy-nav .active *, .pagy .active *, nav.pagination .active *, .pagination .active *, [aria-label="pager"] .active *, .pagy_nav .active * {
  color: var(--bookday-white) !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Disabled state */
.pagy-nav .disabled, .pagy .disabled, nav.pagination .disabled, .pagination .disabled, [aria-label="pager"] .disabled, .pagy_nav .disabled {
  background: var(--bookday-light-gray) !important;
  color: var(--bookday-gray) !important;
  border-color: var(--bookday-border-light) !important;
  cursor: not-allowed !important;
  opacity: 0.5 !important;
}

/* Gap/Ellipsis */
.pagy-nav .gap, .pagy .gap, nav.pagination .gap, .pagination .gap, [aria-label="pager"] .gap, .pagy_nav .gap {
  border: none !important;
  background: transparent !important;
  cursor: default !important;
}

/* ========================================
   ALERTES === */
.alert {
  padding: var(--space-4);
  border-radius: var(--border-radius);
  margin-bottom: var(--space-4);
  font-family: var(--font-body);
  font-size: var(--text-sm);
}

.alert-success {
  background-color: #D1FAE5;
  color: #065F46;
  border: 1px solid #A7F3D0;
}

.alert-warning {
  background-color: #FEF3C7;
  color: #92400E;
  border: 1px solid #FDE68A;
}

.alert-error {
  background-color: #FEE2E2;
  color: #991B1B;
  border: 1px solid #FECACA;
}

.alert-info {
  background-color: #DBEAFE;
  color: #1E40AF;
  border: 1px solid #93C5FD;
}

/* ========================================
   TABLEAUX
   ======================================== */
.admin-table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--bookday-white);
  border-radius: var(--border-radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}

.admin-table th {
  background-color: var(--bookday-primary);
  color: var(--bookday-white);
  font-family: var(--font-primary);
  font-weight: 600;
  padding: var(--space-4);
  text-align: left;
  font-size: var(--text-sm);
}

.admin-table td {
  padding: var(--space-4);
  border-bottom: 1px solid var(--bookday-border-light);
  font-family: var(--font-body);
  font-size: var(--text-sm);
}

.admin-table tbody tr:nth-child(even) {
  background-color: var(--bookday-bg-table-row);
}

/* Override pour tous les tableaux existants */
table tbody tr:nth-child(even) {
  background-color: var(--bookday-bg-table-row) !important;
}

/* Override pour les tableaux avec des classes spécifiques - SUPPRIMÉ (c'était pour les colonnes) */

.admin-table tbody tr:hover {
  background-color: var(--bookday-bg-hover-table);
}

.admin-table tbody tr:last-child td {
  border-bottom: none;
}

/* ========================================
   STATS OVERRIDE
   ======================================== */
/* Override pour les stats DaisyUI qui causent des problèmes de coins */
.stats {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.stats .stat {
  position: relative !important;
  z-index: 1 !important;
}

/* ========================================
   LAYOUT ADMIN
   ======================================== */
.admin-container {
  background-color: var(--bookday-bg-primary);
  min-height: 100vh;
  padding: var(--space-6);
}

.admin-header {
  background-color: var(--bookday-bg-card);
  border-radius: var(--border-radius-lg);
  padding: var(--space-6);
  margin-bottom: var(--space-6);
  box-shadow: var(--shadow);
  border: 1px solid var(--bookday-border-light);
}

.admin-header-compact {
  margin-bottom: var(--space-12);
  padding: 0;
}

.admin-header-compact .menu {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
}

.admin-header-compact .nav-item {
  margin-right: var(--space-1);
}

.admin-header-compact .nav-link {
  padding: var(--space-2) var(--space-3);
  font-size: var(--text-base);
  border-radius: var(--border-radius);
  border: 1px solid transparent;
}

.admin-content {
  background-color: var(--bookday-bg-card);
  border-radius: var(--border-radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow);
  border: 1px solid var(--bookday-border-light);
}

/* Alignement des titres avec le logo */
.admin-content .title1 {
  margin-top: 0;
  padding-top: 0;
  line-height: 1.2;
}

/* Espacement pour aligner avec le logo du menu */
@media (min-width: 768px) {
  .admin-content {
    margin-left: 0;
  }
  
  .admin-content .title1 {
    margin-left: 0;
  }
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 768px) {
  .admin-container {
    padding: var(--space-4);
  }
  
  .admin-header,
  .admin-content {
    padding: var(--space-4);
  }
  
  .nav-item {
    margin-right: var(--space-2);
  }
  
  .nav-link {
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-sm);
  }
}
/**
 * Bookday Widget Wrapper CSS
 * Isolates widget styles and provides theming via CSS variables
 */

/* Container isolation */
.bdw-container {
  width: 100%;
  min-height: 400px;
  position: relative;
}

/* Wrapper for style isolation */
.bdw-wrapper {
  width: 100%;
  position: relative;
  overflow: visible;
  min-height: auto;
}

/* Skeleton UI */
.bdw-skeleton {
  padding: 20px;
  animation: bdw-skeleton-pulse 1.5s ease-in-out infinite;
}

.bdw-skeleton-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.bdw-skeleton-title {
  width: 200px;
  height: 24px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  border-radius: 4px;
}

.bdw-skeleton-nav {
  width: 40px;
  height: 40px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  border-radius: 50%;
}

.bdw-skeleton-content {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
}

.bdw-skeleton-day {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bdw-skeleton-day-header {
  width: 100%;
  height: 60px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  border-radius: 4px;
}

.bdw-skeleton-session {
  width: 100%;
  height: 80px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  border-radius: 4px;
}

@keyframes bdw-skeleton-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.6;
  }
  100% {
    opacity: 1;
  }
}

@keyframes bdw-skeleton-shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

/* Improve skeleton animation */
.bdw-skeleton-title,
.bdw-skeleton-nav,
.bdw-skeleton-day-header,
.bdw-skeleton-session {
  animation: bdw-skeleton-shimmer 1.5s ease-in-out infinite;
}

/* Loader spinner for navigation */
.bdw-loader {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(2px);
}

.bdw-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(0, 1, 250, 0.1);
  border-top-color: #0001FA;
  border-radius: 50%;
  animation: bdw-spin 0.6s linear infinite;
}

@keyframes bdw-spin {
  to {
    transform: rotate(360deg);
  }
}

/* Error state */
.bdw-error {
  padding: 40px 20px;
  text-align: center;
}

.bdw-error-message {
  color: var(--bdw-text);
}

.bdw-error-message p {
  margin: 0 0 8px 0;
  font-size: 16px;
  font-weight: 500;
}

.bdw-error-message small {
  color: var(--bdw-gray);
  font-size: 14px;
}

/* Content wrapper */
.bdw-content {
  width: 100%;
  overflow: visible;
}

/* Ensure links are clickable and styled */
.bdw-wrapper a {
  cursor: pointer;
  text-decoration: none;
}

.bdw-wrapper a:hover {
  opacity: 0.8;
  transition: opacity 0.2s;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .bdw-skeleton-content {
    grid-template-columns: 1fr;
  }
  
  .bdw-skeleton-day {
    margin-bottom: 16px;
  }
}
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS (and SCSS, if configured) file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *



 */

/* Set default font to Manrope globally (placed after all requires) */
html, body {
  font-family: 'Manrope', sans-serif !important;
}

/* Ensure list-based admin left menu links inherit Manrope */
li > a,
a.menuactive {
  font-family: 'Manrope', sans-serif !important;
}

/* Remove number input spinners globally */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  -moz-appearance: textfield;
}
