:root { --bg:#0f1115; --panel:#181b22; --panel2:#1f232c; --ink:#e8e6df; --muted:#9aa0a6; --accent:#c9a227; --accent2:#e0b94a; --danger:#e05555; --ok:#5bd17a; --line:#262a33; }
* { box-sizing:border-box; }
body { margin:0; font-family:"Georgia",serif; background:var(--bg); color:var(--ink); }
.wrap { max-width:920px; margin:0 auto; padding:42px 20px 80px; }
a { color:var(--accent2); }
h1 { font-size:34px; letter-spacing:1px; margin:0 0 4px; }
.sub { color:var(--muted); margin:0 0 24px; font-style:italic; }
.topbar { float:right; font-size:13px; display:flex; gap:16px; align-items:center; }
.topbar a { color:var(--muted); }
.topbar a:hover { color:var(--accent2); }
.panel { background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:24px; margin-bottom:18px; }
label { display:block; margin:16px 0 6px; color:var(--muted); font-size:14px; }
input[type=text], input[type=password], input[type=number] { width:100%; padding:11px; background:#0c0e12; border:1px solid #2c313b; border-radius:7px; color:var(--ink); font-size:15px; }
.row { display:flex; gap:18px; flex-wrap:wrap; }
.row > div { flex:1; min-width:200px; }
.check { display:flex; align-items:center; gap:8px; margin-top:14px; color:var(--ink); cursor:pointer; }
.check input { width:16px; height:16px; accent-color:var(--accent); }
button, .btn { padding:11px 20px; background:var(--accent); color:#1a1400; border:0; border-radius:7px; font-weight:bold; font-size:15px; cursor:pointer; text-decoration:none; display:inline-block; }
button:disabled { opacity:.5; cursor:not-allowed; }
.btn.ghost { background:transparent; color:var(--accent2); border:1px solid #3a3f4a; }
.btn.danger { background:transparent; color:var(--danger); border:1px solid #5a2a2a; }
.btn.sm { padding:6px 12px; font-size:13px; }
.err { color:var(--danger); margin-top:12px; min-height:18px; }
#go { margin-top:20px; }

/* aide ⓘ (tooltip natif via l'attribut title) */
.info { display:inline-block; width:16px; height:16px; line-height:16px; text-align:center; border-radius:50%;
  background:#2c313b; color:var(--muted); font-size:11px; font-style:normal; font-family:sans-serif; cursor:help; margin-left:6px; }
.info:hover { background:var(--accent); color:#1a1400; }

/* chips de tags */
.chips { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
.chips .grp-label { width:100%; color:var(--muted); font-size:12px; margin:6px 0 2px; text-transform:uppercase; letter-spacing:.5px; }
.chip { padding:5px 11px; background:var(--panel2); border:1px solid #2c313b; border-radius:20px; color:var(--ink);
  font-size:13px; font-family:sans-serif; cursor:pointer; user-select:none; }
.chip:hover { border-color:var(--accent); }
.chip.active { background:var(--accent); color:#1a1400; border-color:var(--accent); font-weight:bold; }
.chip .cnt { opacity:.5; font-size:11px; margin-left:4px; }
.muted-link { background:none; border:0; color:var(--muted); font-size:12px; cursor:pointer; text-decoration:underline; padding:0; margin-top:8px; }

/* log SSE */
#log { margin-top:20px; background:#0a0c10; border:1px solid var(--line); border-radius:7px; padding:12px; height:220px; overflow:auto; font-family:monospace; font-size:12.5px; white-space:pre-wrap; color:#bcd; }

/* page résultat */
.meta-line { color:var(--muted); font-size:13px; margin:2px 0 16px; }
.badge { display:inline-block; padding:2px 9px; border-radius:12px; font-size:11px; font-family:sans-serif; background:var(--panel2); color:var(--muted); margin-right:6px; }
.badge.ai { background:#2a2440; color:#c9b3ff; }
.badge.graph { background:#1f3328; color:var(--ok); }
.ai-box { background:linear-gradient(180deg,#1c1830,#181b22); border:1px solid #3a3157; border-radius:10px; padding:18px 22px; margin-bottom:18px; }
.ai-box h2 { margin:0 0 10px; font-size:18px; color:#c9b3ff; }
.ai-box h3 { font-size:16px; margin:14px 0 6px; color:var(--accent2); }
.ai-box p, .ai-box li { line-height:1.55; }
.actions { display:flex; gap:10px; flex-wrap:wrap; margin:14px 0 18px; }
iframe.report { width:100%; height:70vh; border:1px solid var(--line); border-radius:8px; background:#fff; }
.spinner { color:var(--muted); font-style:italic; }

/* historique */
.rep { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:1px solid var(--line); border-radius:9px; margin-bottom:10px; background:var(--panel); }
.rep .who { font-size:17px; }
.rep .when { color:var(--muted); font-size:12px; }
.rep .right { display:flex; gap:8px; align-items:center; }
.empty { color:var(--muted); font-style:italic; text-align:center; padding:30px; }
