/* Charte Visian partagée par le hub, la connexion et l'admin. */
:root {
  --rouge: #EA5542; --jaune: #F6BE30; --bleu: #1AA4BE; --noir: #0A0A0A;
  --titre: 'Montserrat', system-ui, sans-serif;
  --texte: 'Raleway', system-ui, sans-serif;
  --mono: 'Courier New', ui-monospace, monospace;
  --bg: #f6f6f4; --panel: #ffffff; --border: #e4e6ea; --text: var(--noir); --text-dim: #6b7280;
  --accent: var(--rouge); --accent-bg: #fef1ef; --ok: #1f8a4c; --sidebar-w: 280px;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0A0A0A; --panel: #161615; --border: #2a2a29; --text: #f2f2f0; --text-dim: #9a9a96;
    --accent-bg: rgba(234, 85, 66, .16); --ok: #4cc283;
  }
}
* { box-sizing: border-box; }
html, body { margin: 0; }
body { font-family: var(--texte); background: var(--bg); color: var(--text); }
a { color: var(--accent); }
.sq { display: inline-block; width: 11px; height: 11px; background: var(--rouge); margin-right: 9px; }
.brand { font-family: var(--titre); font-weight: 700; text-transform: uppercase; letter-spacing: .3px; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 14px;
  border-radius: 8px; border: 1px solid var(--border); background: var(--panel); color: var(--text);
  font-family: var(--texte); font-weight: 600; font-size: 13px; cursor: pointer; text-decoration: none;
}
.btn:hover { border-color: var(--accent); color: var(--accent); }
.btn.primary { background: var(--rouge); border-color: var(--rouge); color: #fff; }
.btn.primary:hover { filter: brightness(.95); color: #fff; }
.btn.small { padding: 5px 10px; font-size: 12px; }
input[type=text], input[type=email], textarea {
  padding: 8px 10px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg);
  color: var(--text); font-family: var(--texte); font-size: 13px; outline: none;
}
input:focus, textarea:focus { border-color: var(--accent); }
.dim { color: var(--text-dim); }
.tag {
  display: inline-block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 2px 6px; border-radius: 4px; background: var(--bg); color: var(--text-dim); border: 1px solid var(--border);
}
