/* SubConvert Design System — Bootstrap 5 + custom tokens */
:root {
  --sc-primary: #6366f1;
  --sc-primary-dark: #4f46e5;
  --sc-primary-light: #a5b4fc;
  --sc-accent: #8b5cf6;
  --sc-success: #22c55e;
  --sc-warning: #f59e0b;
  --sc-danger: #ef4444;
  --sc-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 55%, #a855f7 100%);
  --sc-gradient-dark: linear-gradient(135deg, #1e1b4b 0%, #312e81 100%);
  --sc-bg: #f4f6fb;
  --sc-surface: #ffffff;
  --sc-text: #0f172a;
  --sc-muted: #64748b;
  --sc-border: #e2e8f0;
  --sc-radius: 1rem;
  --sc-radius-sm: 0.625rem;
  --sc-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
  --sc-shadow-lg: 0 12px 32px rgba(99, 102, 241, 0.12);
  --sc-font: 'Segoe UI', system-ui, -apple-system, 'PingFang SC', 'Microsoft YaHei', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  font-family: var(--sc-font);
  color: var(--sc-text);
  -webkit-font-smoothing: antialiased;
}

.btn-sc-primary {
  background: var(--sc-primary);
  border-color: var(--sc-primary);
  color: #fff;
  font-weight: 600;
  border-radius: var(--sc-radius-sm);
}

.btn-sc-primary:hover {
  background: var(--sc-primary-dark);
  border-color: var(--sc-primary-dark);
  color: #fff;
}

.btn-sc-gradient {
  background: var(--sc-gradient);
  border: none;
  color: #fff;
  font-weight: 600;
  border-radius: var(--sc-radius-sm);
  transition: transform 0.15s, opacity 0.15s;
}

.btn-sc-gradient:hover {
  color: #fff;
  opacity: 0.94;
  transform: translateY(-1px);
}

.sc-card {
  background: var(--sc-surface);
  border: 1px solid var(--sc-border);
  border-radius: var(--sc-radius);
  box-shadow: var(--sc-shadow);
  transition: box-shadow 0.2s, border-color 0.2s;
}

.sc-card:hover {
  border-color: #ddd6fe;
  box-shadow: var(--sc-shadow-lg);
}

.sc-card-header {
  padding: 1.25rem 1.5rem 0;
  border-bottom: none;
  background: transparent;
}

.sc-card-body {
  padding: 1.25rem 1.5rem 1.5rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--sc-primary-light);
  box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
}

.badge-sc-valid {
  background: rgba(34, 197, 94, 0.12);
  color: #15803d;
  border: 1px solid rgba(34, 197, 94, 0.25);
  font-weight: 600;
}

.badge-sc-expired {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
  border: 1px solid rgba(239, 68, 68, 0.25);
  font-weight: 600;
}

.badge-sc-warning {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.25);
  font-weight: 600;
}
