/* Dashboard White Rabbin — CSS unique, aucun framework. */
:root{
  --bg:#0c0d10; --panel:#14161b; --panel-2:#1a1d24; --line:#252932;
  --txt:#e6e8ee; --muted:#8b93a5; --accent:#6c5ce7; --ok:#22c55e;
  --warn:#f59e0b; --bad:#ef4444; --radius:4px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);
  font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent);text-decoration:none}
header{display:flex;align-items:center;gap:24px;padding:14px 24px;
  border-bottom:1px solid var(--line);background:var(--panel)}
header .logo{font-weight:700;letter-spacing:.5px}
header .logo span{color:var(--accent)}
nav{display:flex;gap:4px;flex:1}
nav a{padding:6px 12px;border-radius:var(--radius);color:var(--muted)}
nav a:hover{background:var(--panel-2);color:var(--txt)}
nav a.active{background:var(--accent);color:#fff}
main{padding:24px;max-width:1400px;margin:0 auto}
h1{font-size:20px;margin:0 0 18px}
h2{font-size:15px;margin:0 0 12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px;margin-bottom:20px}
.grid{display:grid;gap:16px}
.grid.cols-4{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.grid.cols-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.kpi .label{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.kpi .value{font-size:26px;font-weight:600;margin-top:6px}
.kpi .sub{color:var(--muted);font-size:12px;margin-top:2px}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;color:var(--muted);font-weight:500;padding:8px 10px;
  border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:hover td{background:var(--panel-2)}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.badge{display:inline-block;padding:2px 7px;border-radius:3px;font-size:11px;
  background:var(--panel-2);border:1px solid var(--line)}
.badge.offer{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);color:#4ade80}
.badge.white{background:rgba(245,158,11,.14);border-color:rgba(245,158,11,.35);color:#fbbf24}
.badge.bot{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.35);color:#f87171}
.badge.on{background:rgba(34,197,94,.14);border-color:rgba(34,197,94,.35);color:#4ade80}
.badge.off{background:var(--panel-2);color:var(--muted)}
input,select,textarea,button{font:inherit;color:var(--txt);background:var(--panel-2);
  border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}
button{cursor:pointer;background:var(--accent);border-color:var(--accent);color:#fff;font-weight:500}
button.ghost{background:var(--panel-2);border-color:var(--line);color:var(--txt);font-weight:400}
button.danger{background:transparent;border-color:rgba(239,68,68,.4);color:#f87171}
button:hover{filter:brightness(1.1)}
label{display:block;font-size:12px;color:var(--muted);margin-bottom:4px}
.field{margin-bottom:12px}
.field input,.field select,.field textarea{width:100%}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.muted{color:var(--muted)}
.right{margin-left:auto}
.chart{width:100%;height:220px;display:block}
.chart .bar-offer{fill:var(--ok)}
.chart .bar-white{fill:var(--warn)}
.chart text{fill:var(--muted);font-size:10px}
.chart line{stroke:var(--line)}
dialog{background:var(--panel);color:var(--txt);border:1px solid var(--line);
  border-radius:var(--radius);padding:22px;width:min(560px,92vw)}
dialog::backdrop{background:rgba(0,0,0,.6)}
.login{display:flex;align-items:center;justify-content:center;min-height:100vh}
.login .panel{width:340px}
.error{color:#f87171;font-size:13px;min-height:18px}
.copy{cursor:pointer;border-bottom:1px dashed var(--line)}
