/* Thème JHSI - Help Desk Software */

/* Variables de thème - Mode clair */
:root {
  /* Couleurs principales */
  --background: hsl(0 0% 100%);
  --foreground: hsl(220 70% 15%);
  
  --primary: hsl(220 70% 15%);
  --primary-foreground: hsl(0 0% 100%);
  
  --secondary: hsl(210 40% 96%);
  --secondary-foreground: hsl(220 70% 15%);
  
  --accent: hsl(190 85% 55%);
  --accent-foreground: hsl(220 70% 15%);
  
  --muted: hsl(210 30% 95%);
  --muted-foreground: hsl(220 20% 50%);
  
  --border: hsl(214.3 31.8% 91.4%);
  --input: hsl(214.3 31.8% 91.4%);
  --ring: hsl(220 70% 15%);
  
  /* Dégradés */
  --gradient-primary: linear-gradient(135deg, hsl(220 70% 15%) 0%, hsl(220 60% 25%) 100%);
  --gradient-hero: linear-gradient(135deg, hsl(220 70% 12%) 0%, hsl(220 60% 20%) 50%, hsl(190 60% 25%) 100%);
  
  /* Bordures arrondies */
  --radius: 0.75rem;
}

/* Mode sombre */
.dark {
  --background: hsl(220 70% 8%);
  --foreground: hsl(0 0% 98%);
  
  --primary: hsl(190 85% 55%);
  --primary-foreground: hsl(220 70% 15%);
  
  --secondary: hsl(220 50% 18%);
  --secondary-foreground: hsl(0 0% 98%);
  
  --accent: hsl(190 85% 55%);
  --accent-foreground: hsl(220 70% 15%);
  
  --muted: hsl(220 50% 18%);
  --muted-foreground: hsl(215 20% 65%);
  
  --border: hsl(220 50% 20%);
  --input: hsl(220 50% 20%);
  --ring: hsl(190 85% 55%);
}

/* Styles de base */
* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* Boutons */
.btn-primary,
button[type="submit"],
.button-primary {
  background: var(--gradient-primary);
  color: hsl(var(--primary-foreground));
  border-radius: var(--radius);
  padding: 0.5rem 1rem;
  font-weight: 500;
  transition: opacity 0.2s;
}

.btn-primary:hover,
button[type="submit"]:hover,
.button-primary:hover {
  opacity: 0.9;
}

/* Liens */
a {
  color: hsl(var(--accent));
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Formulaires */
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 0.5rem 0.75rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: hsl(var(--accent));
  box-shadow: 0 0 0 2px hsla(var(--accent) / 0.2);
}

/* Cards/Panneaux */
.card,
.panel,
.ticket-card {
  background-color: hsl(var(--background));
  border: 1px solid hsl(var(--border));
  border-radius: var(--radius);
  padding: 1.5rem;
}

/* Header */
header,
.header,
.navbar {
  background: var(--gradient-primary);
  color: hsl(var(--primary-foreground));
}

/* Tables */
table {
  border-collapse: collapse;
  width: 100%;
}

th {
  background-color: hsl(var(--muted));
  color: hsl(var(--foreground));
  padding: 0.75rem;
  text-align: left;
  border-bottom: 1px solid hsl(var(--border));
}

td {
  padding: 0.75rem;
  border-bottom: 1px solid hsl(var(--border));
}

tr:hover {
  background-color: hsl(var(--muted));
}
