/* MisconfigHunter — console d'opérateur
   Palette : encre profonde + signal ambre + donnée cyan. Pas de vert-acide/black.
   Type : mono pour les instruments/labels, sans grotesk pour le corps. */

:root{
  --ink:#0b1120;          /* fond */
  --ink-2:#111a2e;        /* panneaux */
  --ink-3:#16223b;        /* panneaux hover / inputs */
  --line:#22304d;         /* filets */
  --txt:#e8eef7;
  --muted:#8493ac;
  --amber:#f0a742;        /* signal / action primaire */
  --amber-dim:#3a2e18;
  --cyan:#49d3c4;         /* donnée / secondaire */
  --red:#ff5d6c;
  --red-dim:#3a1820;
  --high:#f0a742;
  --mono:ui-monospace,"SFMono-Regular",Menlo,"JetBrains Mono",monospace;
  --sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  background:
    radial-gradient(1200px 400px at 80% -10%, rgba(240,167,66,.06), transparent),
    var(--ink);
  color:var(--txt);font-family:var(--sans);font-size:15px;line-height:1.55;
  min-height:100vh;
}
a{color:var(--cyan);text-decoration:none}
a:hover{text-decoration:underline}

/* Topbar */
.topbar{
  display:flex;align-items:center;gap:24px;
  padding:14px 26px;border-bottom:1px solid var(--line);
  background:rgba(11,17,32,.9);position:sticky;top:0;backdrop-filter:blur(6px);z-index:10;
}
.brand{font-family:var(--mono);font-weight:600;letter-spacing:.5px;font-size:1.05rem;
  display:inline-flex;align-items:center}
.brand .hl{color:var(--amber)}
.brand-icon{width:22px;height:22px;margin-right:9px;vertical-align:middle;display:block}
.brand .dot{display:inline-block;width:8px;height:8px;border-radius:50%;
  background:var(--amber);margin-right:9px;box-shadow:0 0 10px var(--amber)}
.nav{display:flex;gap:6px;margin-left:8px}
.nav a{
  font-family:var(--mono);font-size:.82rem;color:var(--muted);
  padding:7px 13px;border-radius:7px;letter-spacing:.03em;
}
.nav a:hover{color:var(--txt);background:var(--ink-3);text-decoration:none}
.nav a.active{color:var(--amber);background:var(--amber-dim)}
.topbar .right{margin-left:auto;font-family:var(--mono);font-size:.78rem;color:var(--muted)}

.wrap{max-width:1180px;margin:0 auto;padding:30px 26px 90px}

/* Eyebrow + titres */
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--amber)}
h1{font-size:1.7rem;margin:6px 0 4px;letter-spacing:-.01em}
.sub{color:var(--muted);margin:0 0 26px}

/* Grille de sections */
.cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:900px){.cols{grid-template-columns:1fr}}

.panel{background:var(--ink-2);border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;margin-bottom:22px}
.panel h2{font-size:1.05rem;margin:0 0 4px;display:flex;align-items:center;gap:9px}
.panel h2 .tick{font-family:var(--mono);font-size:.7rem;color:var(--ink);
  background:var(--cyan);border-radius:5px;padding:2px 7px}
.panel .hint{color:var(--muted);font-size:.86rem;margin:0 0 16px}

/* Formulaires */
form.stack{display:flex;flex-direction:column;gap:11px}
label{font-family:var(--mono);font-size:.74rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:5px}
input[type=text],input[type=url],input[type=number],select,textarea{
  width:100%;background:var(--ink-3);border:1px solid var(--line);border-radius:9px;
  color:var(--txt);padding:9px 11px;font-family:var(--sans);font-size:.92rem;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--amber);
  box-shadow:0 0 0 3px var(--amber-dim)}
textarea{min-height:64px;resize:vertical;font-family:var(--mono);font-size:.85rem}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.checks{display:flex;gap:18px;flex-wrap:wrap}
.checks label{display:flex;align-items:center;gap:7px;text-transform:none;
  font-family:var(--sans);font-size:.9rem;color:var(--txt)}
.checks input{width:auto}

/* Boutons */
.btn{font-family:var(--mono);font-size:.82rem;letter-spacing:.03em;cursor:pointer;
  border:1px solid var(--line);background:var(--ink-3);color:var(--txt);
  border-radius:9px;padding:9px 16px}
.btn:hover{border-color:var(--amber);color:var(--amber)}
.btn.primary{background:var(--amber);color:#1a1204;border-color:var(--amber);font-weight:600}
.btn.primary:hover{filter:brightness(1.08);color:#1a1204}
.btn.mini{padding:4px 10px;font-size:.74rem}
.btn.danger:hover{border-color:var(--red);color:var(--red)}

/* Tables / listes de règles */
table{width:100%;border-collapse:collapse;margin-top:14px;font-size:.88rem}
th{font-family:var(--mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:hover td{background:var(--ink-3)}
code,.mono{font-family:var(--mono);font-size:.82em}
.q{color:var(--cyan);word-break:break-all}

/* Badges */
.tag{font-family:var(--mono);font-size:.7rem;padding:2px 8px;border-radius:20px;
  border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.tag.on{color:var(--cyan);border-color:var(--cyan)}
.tag.off{color:var(--muted);opacity:.6}
.tag.amber{color:var(--amber);border-color:var(--amber)}
.tag.red{color:var(--red);border-color:var(--red)}
/* Onion / Tor : violet, distinct du clearnet */
.tag.onion{color:#b98cff;border-color:#7a52c4;background:#1e1633}
tr.onion-row{background:linear-gradient(90deg,rgba(122,82,196,.10),transparent 60%)}
tr.onion-row td:first-child{box-shadow:inset 3px 0 0 #7a52c4}

/* Messages */
.msg{border-radius:10px;padding:11px 15px;margin-bottom:16px;font-size:.9rem;
  border:1px solid var(--line)}
.msg.success{background:rgba(73,211,196,.08);border-color:var(--cyan)}
.msg.error{background:var(--red-dim);border-color:var(--red)}

/* Logs */
.logline{display:grid;grid-template-columns:150px 110px 1fr;gap:12px;
  padding:9px 12px;border-bottom:1px solid var(--line);font-size:.85rem;align-items:center}
.logline:hover{background:var(--ink-3)}
.logline .ts{font-family:var(--mono);color:var(--muted);font-size:.78rem}
.logline .meta{font-family:var(--mono);font-size:.78rem;color:var(--muted);word-break:break-all}
.act{font-family:var(--mono);font-size:.72rem;padding:2px 8px;border-radius:6px;
  background:var(--ink-3);border:1px solid var(--line);text-align:center}
.act.harvest{color:var(--amber);border-color:var(--amber)}
.act.fuzz{color:var(--red);border-color:var(--red)}
.act.scan{color:var(--cyan);border-color:var(--cyan)}
.act.download{color:var(--txt)}

.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:end}
.filters .field{min-width:150px}
.pager{display:flex;gap:10px;align-items:center;margin-top:18px;
  font-family:var(--mono);font-size:.82rem;color:var(--muted)}

.empty{color:var(--muted);font-style:italic;padding:18px 0}
.errbox{background:var(--red-dim);border:1px solid var(--red);border-radius:10px;
  padding:12px 15px;margin-bottom:10px;font-size:.84rem}
.errbox .mono{color:var(--red)}

/* --- Colonne actions & icônes (liste findings) --- */
.actions { white-space: nowrap; }
.actions form { margin: 0 1px; }
.actions .btn.mini { padding: 2px 6px; font-size: .8rem; line-height: 1.2; }
.ico {
  display: inline-block;
  margin-left: 6px;
  color: var(--cyan);
  text-decoration: none;
  font-weight: 600;
}
.ico:hover { color: var(--amber); }
td .tag { margin-right: 3px; }

/* --- Tableau de bord --- */
.stats { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin: 20px 0; }
.stat {
  background: var(--ink-2); border: 1px solid var(--line); border-radius: 10px;
  padding: 16px 12px; text-align: center; text-decoration: none; color: inherit;
  transition: border-color .15s;
}
.stat:hover { border-color: var(--amber); }
.stat .num { font-size: 26px; font-weight: 700; color: var(--txt); }
.stat .lbl { font-size: 11px; color: var(--muted); margin-top: 2px; }
.stat.danger .num { color: #e0574f; }
.stat.muted .num { color: var(--muted); }
.bar { background: var(--line); border-radius: 4px; height: 8px; overflow: hidden; }
.bar-fill { background: var(--cyan); height: 100%; border-radius: 4px; }
.bar-fill.crim { background: #e0574f; }
@media (max-width: 720px) { .stats { grid-template-columns: repeat(3, 1fr); } }
