.heist-shell {
  border-color: rgba(255, 47, 101, .58);
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 47, 101, .18), transparent 34%),
    linear-gradient(180deg, rgba(255, 47, 101, .07), rgba(255, 255, 255, .015));
}
.heist-shell .card-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.heist-title { font-size: clamp(1.75rem, 5vw, 3rem); margin: 9px 0 10px; }
.heist-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:12px; margin:18px 0; }
.heist-stat { background:#0b090a; border:1px solid rgba(255,255,255,.1); border-radius:14px; padding:15px; }
.heist-stat span { display:block; color:#898989; font-size:.68rem; letter-spacing:1.5px; text-transform:uppercase; }
.heist-stat strong { display:block; font-size:1.45rem; margin-top:5px; }
.heist-points { color:#ff4f7c; }
.heist-progress { height:10px; background:#201318; border-radius:999px; overflow:hidden; margin:8px 0 0; }
.heist-progress span { display:block; height:100%; background:linear-gradient(90deg,#a20d36,#ff2f65); }
.heist-actions { display:grid; gap:14px; margin-top:18px; }
.heist-action { border:1px solid rgba(255,255,255,.1); background:rgba(0,0,0,.28); border-radius:14px; padding:16px; }
.heist-action h3 { margin:0 0 8px; font-size:1rem; }
.heist-code { font-family:var(--mono,monospace); letter-spacing:2px; color:#fff; overflow-wrap:anywhere; }
.heist-table { min-width:680px; }
.heist-table td,.heist-table th { padding:11px 12px; }
.heist-table { border-collapse:collapse; width:100%; font-size:.88rem; }
.heist-table th,.heist-table td { text-align:left; border-bottom:1px solid rgba(255,255,255,.1); white-space:nowrap; }
.heist-table th { color:#8f8589; font-size:.68rem; letter-spacing:1.4px; text-transform:uppercase; }
.heist-board-wrap { overflow-x:auto; border:1px solid rgba(255,255,255,.1); border-radius:14px; }
.heist-rules { display:grid; gap:8px; margin:16px 0 0; padding:0; list-style:none; }
.heist-rules li { padding-left:19px; position:relative; color:#bdbdbd; }
.heist-rules li::before { content:'◆'; position:absolute; left:0; color:#ff2f65; font-size:.65rem; top:.35em; }
.heist-alert { border-left:3px solid #ff2f65; padding:12px 14px; background:rgba(255,47,101,.08); border-radius:0 10px 10px 0; }
.heist-alert.ok { border-left-color:#63d493; background:rgba(99,212,147,.08); }
.heist-alert.warn { border-left-color:#f0b429; background:rgba(240,180,41,.08); }
.heist-prizes { display:grid; grid-template-columns:repeat(auto-fit,minmax(165px,1fr)); gap:10px; margin:0 0 18px; }
.heist-prizes div { border:1px solid rgba(255,47,101,.35); border-radius:12px; padding:13px; background:rgba(255,47,101,.06); }
.heist-prizes strong,.heist-prizes span { display:block; }
.heist-prizes strong { color:#ff4f7c; font-size:1.1rem; }
.heist-prizes span { color:#d7d0d2; margin-top:3px; font-size:.82rem; }
.heist-admin-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:18px; }
.heist-clue-admin { display:grid; grid-template-columns:70px 1fr auto; gap:10px; align-items:end; padding:12px 0; border-bottom:1px dashed rgba(255,255,255,.12); }
.heist-clue-admin:last-child { border-bottom:0; }
@media (max-width:800px) {
  .heist-admin-grid { grid-template-columns:1fr; }
  .heist-clue-admin { grid-template-columns:58px 1fr; }
  .heist-clue-admin button { grid-column:1/-1; }
}
