:root {
  --surface: #ffffff;
  --surface-muted: #f8fafc;
  --border: #e2e8f0;
  --text: #0f172a;
  --muted: #475569;
  --accent: #2563eb;
  --accent-soft: rgba(37, 99, 235, 0.12);
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: Arial, Helvetica, sans-serif; color: var(--text); background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 45%, #eef2ff 100%); }
main, section, article, aside { display: block; }
.card {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.08);
}
.badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 999px; background: var(--accent-soft); color: #1d4ed8; font-weight: 700; font-size: 0.92rem; }
.btn {
  border: 1px solid var(--border); border-radius: 12px; padding: 0.65rem 0.95rem; background: #fff; color: var(--text); cursor: pointer; font-weight: 600;
}
.btn-primary { background: linear-gradient(135deg, var(--accent), #7c3aed); color: #fff; border-color: transparent; }

.sslg-skeleton-card { background: #fff; border: 1px solid var(--border); border-radius: 18px; padding: 16px; box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08); }
.sslg-skeleton-line { height: 12px; border-radius: 999px; background: linear-gradient(90deg, #e2e8f0 0%, #f8fafc 50%, #e2e8f0 100%); background-size: 200% 100%; animation: sslg-shimmer 1.2s linear infinite; margin-bottom: 10px; }
.sslg-skeleton-line.wide { width: 70%; height: 16px; }
@keyframes sslg-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }

