:root{
  --primary:#2448ff; --primary-2:#5a7bff; --accent:#16c79a; --ink:#0b1426;
  --muted:#9aa6bf; --bg-start:#0b1222; --bg-end:#0f1729; --card:#0f1b2d;
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
     background:linear-gradient(180deg,var(--bg-start) 0%,var(--bg-end) 100%); color:#e5e7eb}
a{text-decoration:none}
.container{max-width:1140px;margin:0 auto;padding:0 20px}
header.sticky{position:sticky;top:0;backdrop-filter:saturate(180%) blur(8px);background:rgba(11,18,34,.7);border-bottom:1px solid rgba(255,255,255,.06);z-index:30}
.nav{display:flex;align-items:center;gap:24px;height:64px}
.brand{font-weight:800;color:#fff;letter-spacing:.02em}
.nav a{color:#c7d2fe;text-decoration:none;font-weight:600}
.cta{margin-left:auto;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:10px 16px;border-radius:12px;font-weight:700}
.main{min-height:60vh}
footer{border-top:1px solid rgba(255,255,255,.08);color:var(--muted);padding:18px 0}
/* Components */
.btn{display:inline-block;padding:12px 18px;border-radius:12px;text-decoration:none;font-weight:700}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.btn-ghost{border:2px solid rgba(255,255,255,.2);color:#fff}
.section{padding:44px 0}
.section h2{font-size:24px;margin:0 0 16px;color:#fff}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:linear-gradient(180deg,var(--card) 0%,var(--ink) 100%);border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.chip{display:inline-flex;align-items:center;gap:8px;background:rgba(36,72,255,.12);border:1px solid rgba(36,72,255,.35);color:#c7d2fe;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}
.icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,var(--primary),var(--primary-2));display:inline-flex;align-items:center;justify-content:center}
.meta{font-size:12px;color:var(--muted)}
.glass{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}
.kpi .val{font-size:28px;font-weight:900;color:#fff}
.kpi .lab{font-size:12px;color:#94a3b8}
.status{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.status-item{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px}
.dot{width:10px;height:10px;border-radius:999px;margin-right:10px}
.ok{background:#16c79a} .warn{background:#f59e0b} .down{background:#ef4444}
.news{display:grid;gap:12px}
.news a{display:block;padding:14px 16px;color:#e5e7eb;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:12px}
@media (max-width:980px){.cards,.status{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.cards,.status{grid-template-columns:1fr}}
/* Base badge/pill */
.pill{
  display:inline-flex; align-items:center; gap:8px;
  font-weight:600; font-size:.875rem; line-height:1;
  padding:8px 12px; border-radius:9999px;
  color:var(--pill-fg); background:var(--pill-bg); border:1px solid var(--pill-br);
}

/* Icône à gauche du libellé (optionnel) */
.badge .icon{ color:var(--pill-fg); }

/* Défaut (au cas où) */
.pill{ --pill-fg:#e7ecff; --pill-bg:rgba(99,102,241,.14); --pill-br:rgba(99,102,241,.28); }

/* Thème clair (si ton site a un light mode, sinon tu peux ignorer) */
@media (prefers-color-scheme: light){
  .pill{ --pill-fg:#1f2937; --pill-bg:#eef2ff; --pill-br:#c7d2fe; }
}

/* =========================
   Catégories (classes dédiées)
   ========================= */
.pill.cat-poste-de-travail{ --pill-fg:#e8f0ff; --pill-bg:rgba(59,130,246,.18); --pill-br:rgba(59,130,246,.35); }
.pill.cat-collaboration   { --pill-fg:#f1e9ff; --pill-bg:rgba(139,92,246,.18); --pill-br:rgba(139,92,246,.35); }
.pill.cat-securite        { --pill-fg:#ffe9ea; --pill-bg:rgba(239,68,68,.18);  --pill-br:rgba(239,68,68,.35); }
.pill.cat-reseau          { --pill-fg:#e6fbff; --pill-bg:rgba(6,182,212,.18);  --pill-br:rgba(6,182,212,.35); }
.pill.cat-applications    { --pill-fg:#eaffef; --pill-bg:rgba(34,197,94,.18);  --pill-br:rgba(34,197,94,.35); }

/* Variante light explicite (si tu gères un toggle de thème) */
html.light .pill.cat-poste-de-travail{ --pill-fg:#1e3a8a; --pill-bg:#eaf2ff; --pill-br:#bfd6ff; }
html.light .pill.cat-collaboration   { --pill-fg:#4c1d95; --pill-bg:#f3e9ff; --pill-br:#e2d4ff; }
html.light .pill.cat-securite        { --pill-fg:#7f1d1d; --pill-bg:#ffecec; --pill-br:#ffd2d2; }
html.light .pill.cat-reseau          { --pill-fg:#0f3b46; --pill-bg:#e7fdff; --pill-br:#c8f7ff; }
html.light .pill.cat-applications    { --pill-fg:#064e3b; --pill-bg:#e9fff2; --pill-br:#c9f7da; }

.villes-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.villes-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.villes-grid{grid-template-columns:repeat(3,1fr)}}
.ville-card{background:var(--card,rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px 18px;transition:transform .12s,box-shadow .2s}
.ville-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.ville-title{margin:0 0 6px;font-size:18px}
.ville-desc{opacity:.8;margin:0 0 12px}
.btn.btn-sm{padding:8px 12px;border-radius:10px}
.villes-grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:700px){.villes-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.villes-grid{grid-template-columns:repeat(3,1fr)}}
.ville-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:10px 0 0}
.ville-links a{text-decoration:none;border-bottom:1px solid transparent}
.ville-links a:hover{border-color:currentColor}

.ville-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:10px 0 0}
.ville-links .ville-item a{
  display:inline-block;padding:6px 10px;border-radius:999px;
  text-decoration:none;border:1px solid rgba(255,255,255,.12)
}
.ville-links .ville-item a:hover{border-color:currentColor}


