/* RESET basique */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  
  /* Corps de page */
  body {
    font-family: 'Nunito', 'Inter', sans-serif; /* Police proche de Dagster */
    background-color: #F9FAFB; /* Fond clair */
    color: #1A202C; /* Gris sombre */
    padding: 20px;
  }
  
  /* Conteneur principal pour le DAG */
  .dag-container {
    /* Fond à pois, comme Dagster (optionnel) */
    background-image: radial-gradient(#E2E8F0 1px, transparent 1px);
    background-size: 20px 20px;
    padding: 40px;
    border-radius: 8px;
    /* On aligne tout en colonne */
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 40px; /* Espace vertical entre nodes et flèches */
  }
  
  /* Chaque node Dagster */
  .dag-node {
    width: 60%; /* Largeur similaire à un node Dagster */
    border: 1px solid #E2E8F0;
    border-radius: 4px;
    background-color: #FFFFFF;
    position: relative; /* Pour positionner les tags en absolu */
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  }
  
  /* Header bleu clair (top du node) */
  .dag-node-header {
    background-color: #EFF6FF; /* Bleu très clair, Dagster-like */
    border-bottom: 1px solid #E2E8F0;
    padding: 8px;
  }
  
  /* Titre du node (ex. raw_orders) */
  .dag-node-title {
    font-weight: 600;
    color: #1E3A8A; /* Bleu foncé */
    font-size: 0.95rem;
  }
  
  /* Corps du node (description) */
  .dag-node-body {
    padding: 8px;
    font-size: 0.85rem;
    line-height: 1.3;
    color: #4A5568;
  }
  
  /* Footer vert (statut) + date */
  .dag-node-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #D1FAE5; /* Vert clair */
    padding: 6px 8px;
    border-top: 1px solid #E2E8F0;
  }
  
  /* Statut (ex. Materialized) */
  .node-status {
    color: #065F46; /* Vert foncé */
    font-weight: 500;
    font-size: 0.8rem;
  }
  
  /* Date (ex. Aug 14, 2:52 PM) en bas à droite */
  .node-date {
    color: #4B5563; /* Gris */
    font-size: 0.75rem;
  }
  
  /* Tags en dehors du node, collés en bas à droite */
  .dag-node-tags {
    position: absolute;
    bottom: -1.2rem; /* Ajuste selon la taille du tag */
    right: 0.3rem;
    display: flex;
    gap: 4px;
  }
  
  /* Style de base pour les tags */
  .tag {
    padding: 2px 6px;
    font-size: 0.7rem;
    border-radius: 4px;
    color: #fff;
    font-weight: 500;
  }
  
  /* Exemples de couleurs de tags (Dagster-like) */
  .tag-dbt {
    background-color: #F56565; /* Rouge */
  }
  .tag-python {
    background-color: #4B8BBE; /* Bleu */
  }
  .tag-airflow {
    background-color: #805AD5; /* Violet */
  }
  
  .tag-azure {
    background-color: #008AD7; /* Violet */
  }

  .tag-psql {
    background-color: #0092c2; /* Violet */
  }

  .tag-kube {
    background-color: #316ce6; /* Violet */
  }

  .tag-django {
    background-color: #0c4b33; /* Violet */
  }

  .tag-aws {
    background-color: #ff9900; /* Violet */
  }
  .tag-go {
    background-color: #00ADD8; /* Violet */
  }

  .tag-js {
    background-color: #F0DB4F; /* Violet */
  }
  
  /* La flèche Dagster */
  .dag-arrow {
    width: 60px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  /* Pied de page */
  .footer {
    text-align: center;
    margin-top: 40px;
    font-size: 0.85rem;
    color: #718096;
  }
  .footer a {
    color: #635DC5;
    text-decoration: none;
  }
  .footer a:hover {
    text-decoration: underline;
  }
  
  .inspired {
    font-size: 0.75rem;
  }