/* Pre-React loading shell — external file so script-src can drop unsafe-inline */
.sk-shell {
  min-height: 100vh;
  background: #F8FAFC;
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
}
.sk-nav {
  height: 64px;
  background: #fff;
  border-bottom: 1px solid #E6E9F0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
}
.sk-logo {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sk-logo-icon {
  width: 36px;
  height: 36px;
  background: linear-gradient(135deg, #12A1C0 0%, #0A88A4 100%);
  border-radius: 9px;
}
.sk-logo-text {
  width: 100px;
  height: 20px;
  background: #E6E9F0;
  border-radius: 4px;
}
.sk-nav-links {
  display: flex;
  gap: 24px;
}
.sk-nav-link {
  width: 60px;
  height: 14px;
  background: #E6E9F0;
  border-radius: 4px;
}
.sk-nav-btn {
  width: 90px;
  height: 36px;
  background: #E6E9F0;
  border-radius: 8px;
}
.sk-main {
  max-width: 1200px;
  margin: 0 auto;
  padding: 48px 24px;
}
.sk-hero {
  text-align: center;
  margin-bottom: 48px;
}
.sk-title {
  width: 60%;
  max-width: 500px;
  height: 40px;
  background: #E6E9F0;
  border-radius: 8px;
  margin: 0 auto 16px;
}
.sk-subtitle {
  width: 80%;
  max-width: 600px;
  height: 20px;
  background: #E6E9F0;
  border-radius: 4px;
  margin: 0 auto 8px;
}
.sk-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
}
.sk-card {
  background: #fff;
  border: 1px solid #E6E9F0;
  border-radius: 12px;
  padding: 24px;
  height: 180px;
}
.sk-card-icon {
  width: 48px;
  height: 48px;
  background: #E6E9F0;
  border-radius: 10px;
  margin-bottom: 16px;
}
.sk-card-title {
  width: 70%;
  height: 18px;
  background: #E6E9F0;
  border-radius: 4px;
  margin-bottom: 12px;
}
.sk-card-text {
  width: 100%;
  height: 12px;
  background: #E6E9F0;
  border-radius: 4px;
  margin-bottom: 8px;
}
.sk-card-text:last-child {
  width: 60%;
}
.sk-shimmer {
  animation: sk-shimmer 1.5s ease-in-out infinite;
  background: linear-gradient(90deg, #E6E9F0 0%, #F5F7FA 50%, #E6E9F0 100%);
  background-size: 200% 100%;
}
@keyframes sk-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
@media (max-width: 640px) {
  .sk-nav-links { display: none; }
  .sk-title { width: 90%; height: 32px; }
  .sk-subtitle { width: 95%; }
}
