/* John — shared stylesheet for the advisor cockpit pages */
:root {
  --bg:#0a0e14; --panel:#121823; --panel2:#0f141d; --line:#1f2a3a;
  --txt:#d8e0ec; --dim:#7b8aa3; --accent:#5e7bff; --gold:#f5b338;
  --green:#27d17c; --red:#ff5a6e; --purple:#b07bff;
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  background:var(--bg); color:var(--txt); font-size:13px;
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  padding:0 0 50px;
}
a { color:var(--accent); text-decoration:none; }
.mono { font-family:"Cascadia Mono",Consolas,"Courier New",monospace; }
.pos { color:var(--green); } .neg { color:var(--red); }
.dim { color:var(--dim); } .gold { color:var(--gold); }

/* ---- top nav ---- */
.topnav {
  display:flex; align-items:center; gap:4px; flex-wrap:wrap;
  background:var(--panel); border-bottom:1px solid var(--line);
  padding:10px 20px; position:sticky; top:0; z-index:50;
}
.topnav .logo {
  width:30px; height:30px; border-radius:8px; margin-right:8px;
  background:linear-gradient(135deg,#5e7bff,#b07bff);
  display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#fff; font-size:16px;
}
.topnav .name { font-weight:700; margin-right:16px; letter-spacing:.4px; }
.topnav a.tab {
  color:var(--dim); padding:6px 12px; border-radius:7px; font-size:12.5px;
}
.topnav a.tab:hover { color:var(--txt); background:var(--panel2); }
.topnav a.tab.active { color:#fff; background:var(--accent); }
.topnav .spacer { flex:1; }
.topnav .stat { color:var(--dim); font-size:11.5px; padding:0 8px; }
.topnav .stat b { color:var(--txt); }

.wrap { padding:18px 20px; max-width:1500px; margin:0 auto; }
h1.page { font-size:19px; margin-bottom:4px; }
.sub { color:var(--dim); font-size:12px; margin-bottom:16px; }
.note {
  background:var(--panel); border:1px solid var(--line);
  border-left:3px solid var(--gold); border-radius:8px;
  padding:9px 13px; color:var(--dim); font-size:12px; margin-bottom:16px;
}

/* ---- panels / cards ---- */
.panel {
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:14px 16px; margin-bottom:14px;
}
.panel h2 {
  font-size:12px; text-transform:uppercase; letter-spacing:.8px;
  color:var(--dim); margin-bottom:10px;
}
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px; margin-bottom:14px; }
.card {
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:12px 14px;
}
.card .lbl { color:var(--dim); font-size:11px; text-transform:uppercase;
  letter-spacing:.6px; }
.card .val { font-size:20px; font-weight:700; margin-top:5px; }

/* ---- tables ---- */
table { width:100%; border-collapse:collapse; }
th {
  text-align:left; color:var(--dim); font-size:10.5px; font-weight:600;
  text-transform:uppercase; letter-spacing:.5px; padding:6px 8px;
  border-bottom:1px solid var(--line);
}
td { padding:7px 8px; border-bottom:1px solid #161e2b; font-size:12px; }
tr:last-child td { border-bottom:none; }
tr:hover td { background:var(--panel2); }
.right { text-align:right; }
a.tok { font-weight:700; color:var(--txt); border-bottom:1px dotted var(--accent); }
a.tok:hover { color:var(--accent); }

/* ---- badges ---- */
.band { font-size:10px; font-weight:800; padding:2px 8px; border-radius:6px; }
.band.OK { color:var(--green); background:rgba(39,209,124,.13); }
.band.CAUTION { color:var(--gold); background:rgba(245,179,56,.13); }
.band.AVOID { color:var(--red); background:rgba(255,90,110,.14); }
.src { font-size:9.5px; padding:1px 6px; border-radius:6px;
  border:1px solid var(--line); color:var(--dim); }
.src.pump { color:var(--purple); border-color:#3a2d5a; }
.src.raydium { color:var(--accent); border-color:#26406b; }
.src.dexscreener { color:var(--accent); border-color:#26406b; }
.src.simulation { color:var(--gold); border-color:#5a4a1e; }
.flag {
  display:inline-block; font-size:10px; color:var(--red);
  background:rgba(255,90,110,.10); border-radius:5px;
  padding:1px 6px; margin:1px 2px 1px 0;
}
.bar { height:7px; border-radius:4px; background:var(--line); overflow:hidden; }
.bar > i { display:block; height:100%; }

/* ---- image grid ---- */
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:12px; }
.tcard {
  background:var(--panel); border:1px solid var(--line); border-radius:10px;
  overflow:hidden;
}
.tcard.recycled { border-color:var(--red); }
.tcard img { width:100%; height:150px; object-fit:cover; display:block;
  background:var(--panel2); }
.tcard .meta { padding:8px 9px; }
.tcard .meta b { font-size:12px; }
.empty { color:var(--dim); padding:16px 8px; font-style:italic; }
.footer { color:var(--dim); font-size:11px; text-align:center; margin-top:22px; }
