/* Panel admin — charte Black Protocol : noir, violet électrique en accent unique, blanc cassé. Aucune police externe. */
:root {
  --bg: #000; --panel: #0b0b0e; --line: rgba(255, 255, 255, .08); --ink: #f0f0f0; --ink-2: rgba(240, 240, 240, .6);
  --violet: #8A14FF; --violet-2: #6B00CC; --error: #ff4d4d;
  --sans: 'Inter', 'Helvetica Neue', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Consolas, monospace;
}
* { box-sizing: border-box; }
html, body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--sans); font-size: 15px; }
a { color: var(--ink); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid #b36bff; outline-offset: 2px; }
h1 { font-size: 1.5rem; font-weight: 700; margin: 0 0 1.2rem; }
h2 { font-size: 1rem; font-weight: 600; margin: 2rem 0 .8rem; color: var(--ink-2); text-transform: uppercase; letter-spacing: .08em; }

/* Connexion */
.auth { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 1rem; }
.carte { width: min(420px, 100%); background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 2rem; }
.kick { font-family: var(--mono); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--violet); margin: 0 0 .6rem; }
.aide { color: var(--ink-2); font-size: .9rem; line-height: 1.5; }
.alerte { color: var(--error); border: 1px solid rgba(255, 77, 77, .35); border-radius: 10px; padding: .6rem .8rem; font-size: .9rem; }
form label { display: block; font-size: .85rem; color: var(--ink-2); margin: 0 0 1rem; }
input { display: block; width: 100%; margin-top: .35rem; padding: .7rem .8rem; background: #000; color: var(--ink);
  border: 1px solid var(--line); border-radius: 10px; font: inherit; }
button { font: inherit; font-weight: 600; cursor: pointer; border: 0; border-radius: 999px; padding: .7rem 1.4rem;
  background: linear-gradient(155deg, var(--violet), var(--violet-2)); color: #fff; }
button.discret { background: transparent; border: 1px solid var(--line); color: var(--ink-2); font-weight: 400; padding: .45rem 1rem; }

/* Panel */
.barre { display: flex; align-items: center; gap: 1.5rem; padding: .9rem 1.5rem; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.marque { font-weight: 300; }
.marque b { font-weight: 700; }
.barre nav { display: flex; gap: 1.2rem; flex: 1; }
.barre nav a { text-decoration: none; color: var(--ink-2); }
.barre nav a:hover { color: var(--ink); }
.panel { padding: 1.5rem; max-width: 1200px; margin: 0 auto; }
.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .8rem; }
.stat { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 1rem; }
.stat span { display: block; font-size: .78rem; color: var(--ink-2); margin-bottom: .4rem; }
.stat strong { font-size: 1.4rem; }
table { width: 100%; border-collapse: collapse; font-size: .88rem; }
th { text-align: left; color: var(--ink-2); font-weight: 500; font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
th, td { padding: .6rem .5rem; border-bottom: 1px solid var(--line); vertical-align: top; }
td.vide { color: var(--ink-2); text-align: center; padding: 1.5rem; }
.recherche { display: flex; gap: .6rem; margin-bottom: 1rem; }
.recherche input { margin: 0; max-width: 360px; }
.filtres { display: flex; gap: .4rem; flex-wrap: wrap; margin-bottom: 1rem; }
.filtres a { text-decoration: none; border: 1px solid var(--line); border-radius: 999px; padding: .3rem .8rem; font-size: .82rem; color: var(--ink-2); }
.filtres a.actif { border-color: var(--violet); color: var(--ink); }
.fiche { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .4rem 1.5rem; }
.fiche p { margin: 0; }
.fiche span { display: block; font-size: .75rem; color: var(--ink-2); text-transform: uppercase; letter-spacing: .06em; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }
