/* SPYTIK interactive components. Colours are scoped to these widgets. */
.spytik-report-card {
  box-sizing: border-box;
  width: 100%;
  background: var(--spytik-card-bg, #111827);
  border: 1px solid var(--spytik-border, #1f2937);
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 20px 25px -5px rgba(0,0,0,.28);
  color: var(--spytik-text-bright, #f9fafb);
  transition: transform .3s ease, border-color .3s ease;
}
.spytik-report-card:hover { transform: translateY(-3px); border-color: var(--spytik-accent-cyan, #06b6d4); }
.spytik-report-topline { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin-bottom:16px; }
.spytik-status-badge { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:#06b6d4; background:rgba(6,182,212,.1); padding:5px 11px; border-radius:999px; border:1px solid rgba(6,182,212,.2); }
.spytik-pulse-dot { width:8px; height:8px; flex:0 0 8px; background:#06b6d4; border-radius:50%; animation:spytik-pulse 2s infinite; }
.spytik-report-code { font-size:12px; color:#9ca3af; }
.spytik-report-title { color:#f9fafb; font-size:20px; line-height:1.35; font-weight:700; margin:0 0 10px; }
.spytik-report-description { color:#9ca3af; font-size:14px; line-height:1.65; margin:0 0 16px; }
.spytik-report-details { padding:12px; background:rgba(255,255,255,.035); border-radius:6px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:13px; line-height:1.8; color:#06b6d4; overflow-wrap:anywhere; }
.spytik-report-card.is-expanded .spytik-report-details { background:rgba(6,182,212,.08); }
.spytik-stepper-wrapper { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; margin-top:32px; }
.spytik-step-card { box-sizing:border-box; min-width:0; background:#1e293b; padding:24px; border-radius:8px; border-left:3px solid #d97706; opacity:0; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }
.spytik-step-card.spytik-animated { opacity:1; transform:translateY(0); }
.spytik-step-num { font-size:28px; line-height:1.2; font-weight:900; color:#d97706; margin-bottom:8px; }
.spytik-step-title { font-size:18px; line-height:1.35; font-weight:700; color:#fff; margin-bottom:8px; }
.spytik-step-desc { font-size:14px; line-height:1.6; color:#9ca3af; }
@keyframes spytik-pulse { 0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(6,182,212,.55)} 70%{transform:scale(1);box-shadow:0 0 0 8px rgba(6,182,212,0)} 100%{transform:scale(.95);box-shadow:0 0 0 0 rgba(6,182,212,0)} }
@media (max-width:1024px) { .spytik-stepper-wrapper { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { .spytik-stepper-wrapper { grid-template-columns:1fr; } .spytik-report-card { padding:20px; } }
@media (prefers-reduced-motion:reduce) { .spytik-pulse-dot,.spytik-step-card { animation:none; transition:none; } .spytik-step-card { opacity:1; transform:none; } }
