:root{
  --bg:#0b0d12; --panel:#121824; --panel2:#0f131b; --border:#1b2332; --muted:#9bb0c7;
  --brand:#2d89ef; --brand-2:#1e5cad; --accent:#7db8ff; --success:#1fbf75; --danger:#f05555; --warn:#e0a84a;
}
*{box-sizing:border-box} html,body{height:100%}
body{margin:0;background:var(--bg);color:#e8eef5;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}
a{color:var(--accent);text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
header{padding:18px 0;background:linear-gradient(180deg,rgba(22,27,38,.9),rgba(15,19,27,.9));border-bottom:1px solid #151a23;position:sticky;top:0;z-index:10}
footer{padding:16px;background:var(--panel2);border-top:1px solid #151a23}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gap-8{gap:8px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand img{width:36px;height:36px;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.btn{background:var(--brand);color:#fff;border:none;padding:9px 13px;border-radius:10px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:.15s transform,.15s background}
.btn:hover{background:var(--brand-2);transform:translateY(-1px)}
.btn.ghost{background:#1a2435;border:1px solid #273249;color:#cfe0ff}
.muted{color:var(--muted)}
.badge{background:#1b2332;border:1px solid #273249;border-radius:999px;padding:4px 10px;font-size:12px}
.badge.success{border-color:#1f7f58;background:#163629;color:#9de6c4}
.badge.danger{border-color:#5e2424;background:#2a1717;color:#f3b9b9}
.badge.warn{border-color:#5a4a1f;background:#2a2517;color:#f0d9a3}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 8px 22px rgba(0,0,0,.25);margin-top:14px}
.grid{display:grid;gap:12px}
@media(min-width:720px){.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}}
.hero{margin:14px 0 8px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:url('/static/banner.jpg') center/cover no-repeat;height:170px;position:relative}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,18,.6),rgba(11,13,18,.1))}
.hero-inner{position:relative;z-index:1;height:100%;padding:16px;display:flex;align-items:flex-end}
.hero-title{font-size:28px;font-weight:800;margin:0}
.hero-sub{color:#cdd7e6;margin-top:4px}
.lock{opacity:.6;filter:blur(2px)}
.cta{background:linear-gradient(180deg,#182233,#101623);border:1px solid #1e2a40;border-radius:16px;padding:14px;display:flex;align-items:center;gap:12px;margin-top:16px}
.float-tg{position:fixed;right:14px;bottom:110px;z-index:11;background:#229ED9;color:#fff;border-radius:999px;padding:10px 14px;font-weight:700;box-shadow:0 10px 25px rgba(0,0,0,.35);display:flex;align-items:center;gap:8px}
.float-tg:hover{filter:brightness(1.05)}
/* Ad slots */
@media(max-width:1100px){.ad-left,.ad-right{display:none}}
.ad-left,.ad-right{position:fixed;top:110px;width:160px;height:600px;background:#1a1f2b;color:#999;text-align:center;font-size:12px;z-index:8;border:1px solid #333;border-radius:8px;padding-top:6px}
.ad-left{left:10px}.ad-right{right:10px}
.ad-footer{position:fixed;left:0;right:0;bottom:0;height:90px;z-index:7;background:#1a1f2b;color:#999;text-align:center;font-size:12px;border-top:1px solid #333}
@media(max-width:768px){.ad-footer{display:none}}
.content-pad{padding-bottom:120px}
.ad-spacer{ height:90px; }
@media (max-width:768px){
  /* la pub footer est cachée sur mobile, donc pas besoin du spacer */
  .ad-spacer{ display:none; }
}
/* ===== History table (tidy) ===== */
table.tidy{
  width:100%;
  border-collapse:collapse;
  table-layout:auto;
}
.tidy th, .tidy td{
  padding:14px 16px;
  border-bottom:1px solid var(--border);
  vertical-align:middle;
  word-break:break-word;
  font-size:15px;
}
.tidy th{
  color:var(--muted);
  font-weight:600;
  font-size:14px;
  text-align:left;
}
/* Empêcher le retour à la ligne pour certains en-têtes/valeurs */
.tidy th.nowrap, .tidy td.nowrap{ white-space:nowrap; }

/* Option confortable quand on n’a qu’une sidebar (droite) */
@media(min-width:1100px){
  .wrap{ max-width:900px; } /* tu peux garder 1000px si tu préfères, c'est juste du confort */
}

/* Assurer que les iframes d’ad s’affichent block (évite parfois un décalage) */
.ad-slot iframe{ display:block; }
