/* Thème partagé (dashboard Discord, panneaux Holdfast et Minecraft) : clair par défaut, sombre selon le système ou le choix de l'utilisateur. */
:root {
  color-scheme: light;
  --bg: #f3f2f2; --bg-glass: rgba(243,242,242,.94);
  --ink: #201f1d; --ink-2: #4a463f; --muted: #6d675e;
  --brass: #b68235; --brass-d: #8f6529; --brass-soft: #f0e3cb; --brass-softer: #fbf3e4; --brass-line: #ecd8b4;
  --surface-2: #eae7e7; --raised: #fbfaf8; --tint: rgba(255,255,255,.4);
  --knob: #b9b3a8; --warn-ink: #5a3b0a;
  --danger: #b3261e; --danger-soft: #fbeceb;
  --ok: #3f8f55; --ok-d: #2c6e3f; --ok-soft: #e8f4ea;
}

/* Valeurs sombres : appliquées quand l'utilisateur choisit « sombre », ou en « auto » si le système est en sombre. */
:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #161513; --bg-glass: rgba(22,21,19,.92);
  --ink: #ece8e1; --ink-2: #cfc9bf; --muted: #a39c90;
  --brass: #c9954a; --brass-d: #dcae68; --brass-soft: #3a2f1f; --brass-softer: #2a2319; --brass-line: #5a4526;
  --surface-2: #2a2825; --raised: #22201d; --tint: rgba(255,255,255,.03);
  --knob: #6b655c; --warn-ink: #e9c98f;
  --danger: #e0685f; --danger-soft: #3a1f1c;
  --ok: #5fb477; --ok-d: #7cc793; --ok-soft: #1f3325;
  /* Jetons du système « Classical » */
  --color-bg: #161513; --color-surface: #1d1c1a; --color-text: #ece8e1; --color-accent: #c9954a;
  --color-divider: color-mix(in srgb, #ece8e1 14%, transparent);
  --color-accent-100: #3a2f1f; --color-accent-800: #e9c98f;
  --color-neutral-100: #262421; --color-neutral-800: #cfc9bf;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow-md: 0 3px 10px rgba(0,0,0,.45); --shadow-lg: 0 12px 32px rgba(0,0,0,.55);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --bg: #161513; --bg-glass: rgba(22,21,19,.92);
    --ink: #ece8e1; --ink-2: #cfc9bf; --muted: #a39c90;
    --brass: #c9954a; --brass-d: #dcae68; --brass-soft: #3a2f1f; --brass-softer: #2a2319; --brass-line: #5a4526;
    --surface-2: #2a2825; --raised: #22201d; --tint: rgba(255,255,255,.03);
    --knob: #6b655c; --warn-ink: #e9c98f;
    --danger: #e0685f; --danger-soft: #3a1f1c;
    --ok: #5fb477; --ok-d: #7cc793; --ok-soft: #1f3325;
    --color-bg: #161513; --color-surface: #1d1c1a; --color-text: #ece8e1; --color-accent: #c9954a;
    --color-divider: color-mix(in srgb, #ece8e1 14%, transparent);
    --color-accent-100: #3a2f1f; --color-accent-800: #e9c98f;
    --color-neutral-100: #262421; --color-neutral-800: #cfc9bf;
    --shadow-sm: 0 1px 2px rgba(0,0,0,.4); --shadow-md: 0 3px 10px rgba(0,0,0,.45); --shadow-lg: 0 12px 32px rgba(0,0,0,.55);
  }
}

html, body { background: var(--bg); color: var(--ink); }
img { color-scheme: normal; }

/* Bouton de thème */
.theme-toggle { white-space: nowrap; flex: none; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--color-divider); background: var(--tint); color: var(--muted); border-radius: 999px; padding: 5px 11px; font: inherit; font-size: 12px; cursor: pointer; }
.theme-toggle:hover { color: var(--ink); border-color: var(--brass); }
.theme-toggle.floating { position: fixed; top: 14px; right: 14px; z-index: 50; }
.side-brand { align-items: center; }
.side-brand .theme-toggle { margin-left: auto; padding: 4px 9px; font-size: 11px; }
.side-brand { gap: 7px !important; }
.side-brand .name { min-width: 0; }

/* Déconnexion pour inactivité */
.idle-warning { position: fixed; left: 50%; top: 20px; transform: translateX(-50%); z-index: 300; display: flex; align-items: center; gap: 16px; padding: 14px 18px; border-radius: 8px; background: var(--raised); color: var(--ink); border: 1px solid var(--brass); box-shadow: var(--shadow-lg); font-size: 14px; line-height: 1.5; max-width: calc(100% - 32px); }
.idle-note { margin: 0 0 16px; padding: 10px 14px; border-radius: 6px; background: var(--brass-softer); border: 1px solid var(--brass-line); color: var(--warn-ink); font-size: 13.5px; line-height: 1.5; }

/* Journal d'activité */
.act-filters { display: flex; gap: 12px; flex-wrap: wrap; align-items: flex-end; }
.act-filters > div { flex: 1; min-width: 160px; }
.act-filters .input { max-width: none; }
.act-table td { vertical-align: top; }
.act-day td { font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--brass-d); padding-top: 18px; border-bottom: 1px solid var(--color-divider); background: transparent !important; }
.act-warn td { background: var(--danger-soft); }
.act-cat { display: inline-block; font-size: 10.5px; letter-spacing: .04em; padding: 1px 7px; border-radius: 999px; border: 1px solid var(--color-divider); color: var(--muted); margin-right: 4px; white-space: nowrap; }
.act-connexion { border-color: var(--brass-line); color: var(--brass-d); }
.act-accès { border-color: var(--brass); color: var(--brass-d); }
.act-serveur { border-color: var(--ok); color: var(--ok-d); }
.act-console, .act-fichiers { border-color: var(--danger); color: var(--danger); }
