:root{
  --bg:#0f1115; --card:#151923; --text:#e8e9ee; --muted:#a8adc0; --brand:#F58214;
  --border:#2f3a51;
  --row1:#121621; --row2:#161b26; --rowHover:#1d2432; --thead:#0f141e;
  /* Liens : blanc par défaut, orange au survol/focus */
  --link:#ffffff;
  --link-hover:#F58214;
  --link-visited:#ffffff; /* même couleur que par défaut (pas de “rose”) */
}
  
/* Liens globaux */
a{
  color:var(--link);
  text-decoration:underline;
  text-underline-offset:2px;
}
a:hover{ color:var(--link-hover); }
a:visited{ color:var(--link-visited); }
a:focus-visible{
  outline:2px solid var(--link-hover);
  outline-offset:2px; border-radius:3px;
}

/* Liens dans les tableaux (même règle, pour être explicite) */
.table a{ color:var(--link); font-weight:600; }
.table a:hover{ color:var(--link-hover); }
.table a:visited{ color:var(--link-visited); }
.table a:focus-visible{
  outline:2px solid var(--link-hover);
  outline-offset:2px;
}

/* Boutons : on ne change rien, ils restent orange */
button,.btn{
  background:var(--brand); color:#fff; border:0; border-radius:10px;
  padding:10px 14px; cursor:pointer; text-decoration:none; display:inline-block;
}
.btn:hover{ filter:brightness(1.08); }
.btn:focus-visible{ box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--brand); }

:root{
  --site-max: 1600px;    /* largeur max sur très grands écrans */
  --site-gutter: 16px;   /* marge interne gauche/droite */
}
												
*{box-sizing:border-box}
::selection{background:#2a6fff;color:white}

html,body{margin:0;background:var(--bg);color:var(--text);
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Helvetica,Arial}

/* Conteneur principal du site */
.container {
  width: min(90vw, var(--site-max));
  margin-inline: auto;          /* centre */
  padding-inline: var(--site-gutter);
}
.site-header{background:#0c0f14;border-bottom:1px solid #222}
.brand{font-weight:800;letter-spacing:1px}
.brand span{font-weight:500;color:var(--muted);font-size:.9em}

.main-nav a{color:var(--text);margin:0 10px;text-decoration:none;opacity:.9}
.main-nav a:hover{opacity:1}
.main-nav .logout{color:#ff9b9b}

.site-footer{border-top:1px solid #222;margin-top:40px;padding:20px 0;color:var(--muted)}

a{color:var(--link); text-decoration:underline; text-underline-offset:2px;}
a:hover{color:var(--link-hover)}
a:visited{color:var(--link-visited)}
a:focus-visible{outline:2px solid var(--link-hover); outline-offset:2px; border-radius:3px}

.card{
  background:var(--card); border:1px solid var(--border);
  border-radius:14px; padding:18px; margin:18px 0;
  box-shadow:0 6px 20px rgba(0,0,0,.25);
  overflow-x:auto; /* tables scroll on mobile */
}

h1,h2,h3{margin:10px 0 8px}
h1{font-size:28px} h2{font-size:22px} h3{font-size:18px}

label{display:block;margin:8px 0 4px;color:var(--muted)}
input[type=text],input[type=password],input[type=email],select{
  width:100%; padding:10px 12px; border-radius:10px;
  border:1px solid #2b3242; background:#0f131c; color:var(--text);
}
input:focus,select:focus{outline:2px solid var(--link); outline-offset:2px}

button,.btn{
  background:var(--brand); color:#fff; border:0; border-radius:10px;
  padding:10px 14px; cursor:pointer; text-decoration:none; display:inline-block
}
.btn:hover{filter:brightness(1.08)}
.btn:focus-visible{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--brand)}

.btn-outline{background:transparent;border:1px solid var(--brand);color:var(--brand)}
.btn-outline:hover{background:rgba(245,130,20,.12)}

.table{width:100%; border-collapse:separate; border-spacing:0 8px; min-width:720px}
.table thead th{
  color:var(--muted); text-align:left; padding:10px;
  background:var(--thead); position:sticky; top:0; z-index:1;
  border-bottom:1px solid var(--border)
}
.table td{
  padding:10px; border:1px solid var(--border); border-left:none; border-right:none;
  background:var(--row1)
}
.table tbody tr:nth-child(even) td{ background:var(--row2) }
.table tbody tr:hover td{ background:var(--rowHover) }

.table tr td:first-child{ border-radius:10px 0 0 10px; border-left:1px solid var(--border) }
.table tr td:last-child{ border-radius:0 10px 10px 0; border-right:1px solid var(--border) }

.table a{ color:var(--link); font-weight:600; text-decoration:underline; }
.table a:hover{ color:var(--link-hover) }
.table a:focus-visible{ outline:2px solid var(--link-hover); outline-offset:2px }

.flex{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.kpi .card{padding:14px;text-align:center}
.kpi .num{font-size:22px;font-weight:800}

.muted{color:var(--muted)}
.small{font-size:.9em}
.center{text-align:center}

.alert{background:#22150f;border:1px solid #40281c;color:#f7c9ad;padding:12px;border-radius:12px}
.success{background:#102116;border:1px solid #1b3b2b;color:#c8f1da}

iframe{width:100%;min-height:70vh;border:0;border-radius:12px}

/* aligner à droite les colonnes numériques des tableaux (selon ton ordre actuel) */
.table th:nth-child(3), .table td:nth-child(3),
.table th:nth-child(4), .table td:nth-child(4),
.table th:nth-child(6), .table td:nth-child(6),
.table th:nth-child(7), .table td:nth-child(7),
.table th:nth-child(8), .table td:nth-child(8) { text-align:right }

																																																/* Menu top : liens toujours orange */
.main-nav a{
  color: var(--brand) !important;   /* orange */
  text-decoration: none;
  font-weight: 600;
  opacity: 1;
}
.main-nav a:visited{ color: var(--brand) !important; }
.main-nav a:hover{ color: #ffc08a !important; }          /* orange + clair au survol */
.main-nav a:focus-visible{
  outline: 2px solid var(--brand);
  outline-offset: 2px;
  border-radius: 6px;
}

.main-nav a.logout{ color:#ff9b9b !important; }
.main-nav a.logout:hover{ filter:brightness(1.15); }


/* (option) style pour le lien actif si tu ajoutes .active dans le HTML */
.main-nav a.active{
  border-bottom: 2px solid var(--brand);
  padding-bottom: 2px;
}
																																																						.btn-danger{
  background:#d64a4a;
  color:#fff;
}
.btn-danger:hover{ filter:brightness(1.08); }
.btn-danger:focus-visible{
  box-shadow:0 0 0 2px var(--bg), 0 0 0 4px #d64a4a;
}
																																																									  :root{
  /* Tu peux pousser le max si tu as un très grand écran */
  --site-max: 1800px;
}

/* Conteneur fluide : 90% de l’écran, borné à --site-max */
.container{
  width: 90%;
  max-width: var(--site-max);
  margin-inline: auto;
  padding-inline: 16px;
}

/* Si d’autres wrappers imposent encore une largeur fixe, on les neutralise */
.container,
.wrap, .wrapper, .site, .site-inner, .page, .content, main {
  max-width: none !important;
}

/* Les cartes & tableaux prennent toute la largeur du conteneur */
.card, .table-wrap, .table { width: 100%; }

/* (option) Désactiver les “max-width” mis inline dans l’admin */
.card[style*="max-width"], [style*="max-width:960px"]{
  max-width: none !important;
}

/* (option) si tu veux aussi agrandir un peu la taille des textes sur grand écran */
html{
  /* fluid type : entre 16px et 18px selon la largeur */
  font-size: clamp(16px, 0.9vw + 12px, 18px);
}

