/* вынесен из inline-<style> страницы generate.html (SEC-11: style-src без unsafe-inline) */
    /* ─── Переключатель режимов авто ─── */
    .car-mode-tabs {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
      margin-bottom: 14px;
      padding: 4px;
      background: rgba(7,5,13,0.6);
      border: 1px solid rgba(167,139,255,0.18);
      border-radius: 12px;
    }
    .car-mode-tab {
      padding: 11px 14px;
      background: transparent;
      border: none;
      border-radius: 9px;
      color: rgba(244,241,255,0.55);
      font-weight: 600;
      font-size: 0.88rem;
      cursor: pointer;
      transition: background 0.2s, color 0.2s;
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    }
    .car-mode-tab.active {
      background: linear-gradient(135deg, #8b5cff, #ff3ec9);
      color: #fff;
      box-shadow: 0 2px 8px rgba(139,92,255,0.3);
    }
    .car-mode-tab:not(.active):hover {
      color: #f4f1ff;
      background: rgba(139,92,255,0.08);
    }

    /* ─── Превью каталога ─── */
    .catalog-preview {
      width: 100%;
      aspect-ratio: 16/10;
      max-height: 280px;
      background: linear-gradient(135deg, #0c0920, #07050d);
      border: 1px solid rgba(167,139,255,0.2);
      border-radius: 14px;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      position: relative;
      margin-bottom: 6px;
    }
    .catalog-preview img {
      max-width: 100%; max-height: 100%;
      object-fit: contain;
      display: block;
    }
    .catalog-preview__placeholder {
      padding: 30px;
      text-align: center;
      color: rgba(244,241,255,0.5);
      font-size: 0.88rem;
      line-height: 1.5;
    }
    .catalog-preview__loader {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      flex-direction: column; gap: 12px;
      background: rgba(7,5,13,0.85);
      backdrop-filter: blur(6px);
      color: #a78bff;
      font-size: 0.85rem;
    }
    .catalog-preview__loader::before {
      content: '';
      width: 32px; height: 32px;
      border: 3px solid rgba(167,139,255,0.2);
      border-top-color: #a78bff;
      border-radius: 50%;
      animation: spin 0.8s linear infinite;
    }
    @keyframes spin { to { transform: rotate(360deg); } }

    .catalog-status {
      font-size: 0.75rem;
      color: rgba(244,241,255,0.45);
      min-height: 16px;
      text-align: center;
      margin-bottom: 8px;
      letter-spacing: 0;
      word-spacing: 0.04em;
      font-family: 'Inter', sans-serif;
      line-height: 1.5;
    }
    .catalog-status.warning { color: #FFB45A; }
    .catalog-status.success { color: #7BD389; }

    .upload-hint {
      font-size: 0.74rem;
      color: rgba(244,241,255,0.45);
      margin-top: 6px;
      line-height: 1.4;
    }
  
