	/* Ubuntu Regular */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('/fonts/Ubuntu-Regular.woff2') format('woff2'),
       url('/fonts/Ubuntu-Regular.ttf') format('truetype');
}

/* Ubuntu Medium */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 500;
  src: url('/fonts/Ubuntu-Medium.woff2') format('woff2'),
       url('/fonts/Ubuntu-Medium.ttf') format('truetype');
}

/* Ubuntu Bold */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  src: url('/fonts/Ubuntu-Bold.woff2') format('woff2'),
       url('/fonts/Ubuntu-Bold.ttf') format('truetype');
}

:root {
	--primary: #6A1B9A; /* Violet accents */
	--secondary: #1B5E20; /* Vert chaos */
	--background: #121212; /* Noir fond */
	--text: #E0E0E0; /* Gris clair texte */
	--border: #333; /* Bordures sombres */
	--pico-font-family-sans: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
	--pico-font-family: var(--pico-font-family-sans);
  --pico-font-size: 14px;
}
body { 
	background: var(--background); 
	color: var(--text); 
	margin: 0; 
	min-height: 100vh; 
	display: flex; 
	flex-direction: column;
}

header { background: var(--primary); color: white; padding: 1rem; }
.dashboard { display: flex; flex: 1; }
aside.sidebar {
	width: 280px;
	background: #1A1A1A; /* Noir clair */
	color: var(--text);
	transition: transform 0.3s ease;
	overflow-y: auto;
	height: 100vh;
	position: fixed;
	top: 30; left: 0;
	z-index: 1000;
	border-right: 1px solid var(--border);
}
.sidebar.collapsed { transform: translateX(-100%); }
main.content {
	flex: 1;
	padding: 2rem;
	margin-left: 280px;
	transition: margin-left 0.3s ease;
	background: var(--background);
}
.sidebar.collapsed + main.content { margin-left: 0; }
.toggle-btn {
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 1100;
	cursor: pointer;
	background: var(--primary);
	color: white;
	border: none;
	padding: 0.5rem 1rem;
	border-radius: 4px;
}
@media (max-width: 768px) {
	aside.sidebar { transform: translateX(-100%); }
	aside.sidebar.open { transform: translateX(0); }
	main.content { margin-left: 0 !important; }
}
@media (min-width: 769px) {
	.toggle-btn { display: none; }
}
nav ul { list-style: none; padding: 0; }
nav a { color: inherit; text-decoration: none; display: block; padding: 1rem; }
nav a:hover { background: rgba(255,255,255,0.1); }
/* Icons FA exemples */
nav i { margin-right: 0.5rem; } /* Espace avant texte */

main.content.full-width { margin-left: 0; }

.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline; }

  /* Pagination */
  .pagination {
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    gap: 0.5rem;
  }
  .pagination button {
    cursor: pointer;
  }
  /* Indicateurs de tri */
  th.sort-asc::after {
    content: " ↑";
  }
  th.sort-desc::after {
    content: " ↓";
  }
  /* Filtre */
  .filter-input {
    margin-bottom: 1rem;
    width: 100%;
    max-width: 300px;
  }

  .pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
  }
  .pagination button {
    padding: 0.25rem 0.5rem;
    cursor: pointer;
  }
  .pagination button.active {
    background-color: var(--primary);
    color: white;
  }
  .pagination button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
  }
  .pagination input {
    width: 50px;
    text-align: center;
  }
