/* Atelier Place2Marché — s'ajoute à p2m.css et admin.css. Jetons uniquement, pas de couleur en dur. */

.at-ligne { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--espace-2); }
.at-pile { display: flex; flex-direction: column; gap: var(--espace-4); }
.at-grille-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espace-4); }
.at-grille-4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-4); align-items: end; }
.at-colonnes-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.at-form-ligne { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--espace-3); align-items: end; border-top: 1px solid var(--marine-100); }
.at-form-ligne .p2m-btn { height: 52px; }

.at-etiquette { display: flex; flex-direction: column; gap: var(--espace-2); font: 600 14px/20px var(--font-sans); color: var(--marine-900); min-width: 0; }
.at-select { height: 52px; width: 100%; min-width: 0; padding: 0 16px; border: 2px solid var(--marine-150); border-radius: var(--rayon-pill); background: var(--blanc); font: 400 15px var(--font-sans); color: var(--marine-900); }
.at-select:hover { border-color: var(--marine-400); }
.at-select:focus { outline: 0; border-color: var(--marine-900); box-shadow: 0 0 0 4px var(--marine-100); }
.at-textarea { width: 100%; min-width: 0; padding: 14px 18px; border: 2px solid var(--marine-150); border-radius: var(--rayon-lg); background: var(--blanc); font: 400 15px/24px var(--font-sans); color: var(--marine-900); resize: vertical; }
.at-textarea:focus { outline: 0; border-color: var(--marine-900); box-shadow: 0 0 0 4px var(--marine-100); }
.at-textarea--code { font: 400 13px/20px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; tab-size: 4; }
.at-case { display: flex; align-items: center; gap: 10px; font-size: 14px; min-height: 52px; }
.at-case input { width: 20px; height: 20px; accent-color: var(--marine-900); flex: none; }
.at-details summary { cursor: pointer; font-weight: 600; margin-bottom: var(--espace-3); }

/* Étiquettes de statut : le mot porte l'information, la couleur l'appuie. */
.at-tag--nouvelle, .at-tag--a_faire { background: var(--lin-100); color: var(--marine-900); }
.at-tag--acceptee { background: var(--marine-100); color: var(--marine-900); }
.at-tag--en_cours { background: var(--marine-900); color: var(--blanc); }
.at-tag--a_valider { background: var(--ambre-050); color: var(--ambre-700); }
.at-tag--terminee, .at-tag--creation { background: var(--vert-050); color: var(--vert-700); }
.at-tag--refusee { background: var(--marine-100); color: var(--marine-500); text-decoration: line-through; }
.at-tag--urgente { background: var(--rouge-600); color: var(--blanc); }
.at-tag--haute { background: var(--blanc); color: var(--rouge-700); box-shadow: inset 0 0 0 1.5px var(--rouge-700); }
.at-tag--basse { background: var(--marine-050); color: var(--marine-600); }
.at-tag--modification { background: var(--marine-100); }
.at-tag--restauration { background: var(--ambre-050); color: var(--ambre-700); }
.at-claude { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 600; color: var(--marine-600); }
.at-bouton-tag { border: 0; cursor: pointer; }
.at-chiffre-lien { display: block; transition: box-shadow .15s ease; }
.at-chiffre-lien:hover { box-shadow: var(--ombre-md); }
.at-extrait { color: var(--marine-700) !important; font-size: 14px !important; }
.at-ok { color: var(--vert-700); }
.at-ko { color: var(--rouge-700); }

/* Détail : colonne principale + colonne latérale */
.at-detail { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: var(--espace-4); align-items: start; }
.at-detail__principal, .at-detail__cote { display: flex; flex-direction: column; gap: var(--espace-4); min-width: 0; }

/* Fil de commentaires */
.at-fil { list-style: none; margin: 0; padding: 0; }
.at-fil__item { padding: 14px 22px; border-bottom: 1px solid var(--marine-100); }
.at-fil__item--claude { background: var(--marine-050); }
.at-fil__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-size: 14px; }
.at-fil__tete span:last-child { margin-left: auto; font-size: 12px; color: var(--marine-600); }
.at-fil__texte { margin-top: 4px; font-size: 14px; line-height: 22px; overflow-wrap: anywhere; }

/* Tableau des tâches */
.at-kanban { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espace-4); align-items: start; }
.at-kanban__col { display: flex; flex-direction: column; gap: var(--espace-3); padding: var(--espace-3); background: var(--marine-100); border-radius: var(--rayon-lg); min-width: 0; min-height: 120px; }
.at-kanban__col--en_cours { background: var(--marine-150); }
.at-kanban__col--a_valider { background: var(--ambre-050); }
.at-kanban__col--terminee { background: var(--vert-050); }
.at-kanban__titre { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px; font: 800 20px/1 var(--font-display); text-transform: uppercase; color: var(--marine-900); }
.at-kanban__titre span { min-width: 28px; height: 24px; display: grid; place-items: center; border-radius: var(--rayon-pill); background: var(--blanc); font-size: 15px; }
.at-kanban__vide { padding: 8px 6px; font-size: 13px; color: var(--marine-600); }
.at-carte { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: var(--blanc); border-radius: var(--rayon-md); box-shadow: var(--ombre-sm); min-width: 0; }
.at-carte__titre { font-weight: 600; font-size: 14px; line-height: 20px; color: var(--marine-900); overflow-wrap: anywhere; }
.at-carte__titre:hover { text-decoration: underline; }
.at-carte__titre span { color: var(--marine-500); font-weight: 500; }
.at-carte__meta { display: flex; flex-wrap: wrap; gap: 6px; }
.at-carte__meta .p2m-tag { height: 24px; padding: 0 9px; font-size: 11px; }
.at-carte__pied { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--marine-600); }
.at-carte__deplacer .at-select { height: 32px; padding: 0 10px; font-size: 12px; width: auto; border-width: 1.5px; }

/* Journal */
.at-messages { display: flex; flex-direction: column; gap: var(--espace-4); }
.at-jour { font: 800 18px/1 var(--font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--marine-600); margin-top: var(--espace-3); }
.at-message { padding: 18px 22px; background: var(--blanc); border-radius: var(--rayon-lg); box-shadow: var(--ombre-ticket); display: flex; flex-direction: column; gap: 12px; min-width: 0; scroll-margin-top: 24px; }
.at-message:target { box-shadow: 0 0 0 3px var(--marine-900); }
.at-message__tete { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.at-message__tete > div { flex: 1; min-width: 0; }
.at-message__date { display: block; font-size: 12px; color: var(--marine-600); }
.at-avatar { width: 36px; height: 36px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--marine-900); color: var(--blanc); font: 800 18px/1 var(--font-display); text-transform: uppercase; }
.at-message__etiquette { display: block; margin-bottom: 2px; font: 700 13px/1.4 var(--font-display); letter-spacing: .06em; text-transform: uppercase; color: var(--marine-600); }
.at-message__demande { padding: 10px 14px; background: var(--lin-050); border-radius: var(--rayon-md); font-size: 14px; line-height: 22px; overflow-wrap: anywhere; }
.at-message__recap { padding: 0 2px; font-size: 14px; line-height: 22px; overflow-wrap: anywhere; }
.at-fichiers { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: var(--marine-600); }
.at-chemin { font: 500 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; }
.at-fichiers .at-chemin { padding: 3px 8px; background: var(--marine-100); border-radius: var(--rayon-sm); color: var(--marine-900); }
.at-fichiers .at-chemin:hover { background: var(--marine-150); }

/* Code, diff, source */
.at-code { margin: 0; padding: 14px 16px; background: var(--marine-950); color: var(--marine-100); border-radius: var(--rayon-md); font: 400 13px/20px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; white-space: pre-wrap; overflow-wrap: anywhere; }
.at-code--haut { max-height: 640px; overflow: auto; }
.at-md code, .p2m-admin__note code, .at-etapes code, .at-liste code, .p2m-liste__vide code { padding: 1px 6px; background: var(--marine-100); border-radius: var(--rayon-sm); font: 500 0.88em ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.at-md { display: flex; flex-direction: column; gap: 10px; font-size: 15px; line-height: 24px; overflow-wrap: anywhere; }
.at-md h2, .at-md h3, .at-md h4, .at-md h5 { font-family: var(--font-display); text-transform: uppercase; color: var(--marine-900); margin-top: 10px; }
.at-md h2 { font-size: 30px; line-height: 32px; } .at-md h3 { font-size: 24px; line-height: 26px; } .at-md h4, .at-md h5 { font-size: 19px; line-height: 22px; }
.at-md ul { margin: 0; padding-left: 22px; }
.at-md hr { border: 0; border-top: 1px solid var(--marine-150); width: 100%; }
.at-md-table { font: 400 13px/18px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; color: var(--marine-700); white-space: pre-wrap; }
.at-diff { overflow-x: auto; font: 400 12.5px/19px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.at-diff table { width: 100%; border-collapse: collapse; }
.at-diff td { padding: 0 10px; vertical-align: top; }
.at-diff__n { width: 1%; text-align: right; color: var(--marine-400); user-select: none; white-space: nowrap; border-right: 1px solid var(--marine-100); }
.at-diff__s { width: 1%; user-select: none; color: var(--marine-500); }
.at-diff__l { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--marine-900); }
.at-diff__ajout td { background: var(--vert-050); }
.at-diff__ajout .at-diff__s, .at-diff__ajout .at-diff__l { color: var(--vert-700); }
.at-diff__retrait td { background: var(--lin-100); }
.at-diff__retrait .at-diff__l { color: var(--rouge-800); text-decoration: line-through; text-decoration-color: var(--marine-300); }
.at-diff__saut td { background: var(--marine-050); color: var(--marine-500); font-style: italic; }
.at-source { max-height: 75vh; overflow: auto; }
.at-ariane { font-size: 14px; color: var(--marine-600); overflow-wrap: anywhere; }
.at-ariane a { color: var(--marine-900); font-weight: 600; }
.at-ariane a:hover { text-decoration: underline; }
.at-icone-fichier { width: 18px; color: var(--marine-500); }

/* Connecteur */
.at-cle { display: flex; flex-wrap: wrap; align-items: center; gap: var(--espace-3); padding: var(--espace-4); background: var(--lin-050); border: 2px dashed var(--marine-300); border-radius: var(--rayon-lg); }
.at-cle code { flex: 1 1 320px; min-width: 0; font: 600 14px/22px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; overflow-wrap: anywhere; color: var(--marine-900); }
.at-etapes { margin: 0; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; font-size: 15px; line-height: 24px; }
.at-copie-ok { background: var(--vert-700) !important; border-color: var(--vert-700) !important; color: var(--blanc) !important; }

/* Installation */
.at-installation { max-width: 900px; margin: 0 auto; padding: var(--espace-7) var(--espace-4) var(--espace-8); display: flex; flex-direction: column; gap: var(--espace-5); }

@media (max-width: 1100px) {
  .at-kanban { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .at-detail, .at-colonnes-2 { grid-template-columns: minmax(0, 1fr); }
  .at-grille-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .at-kanban, .at-grille-2, .at-grille-4, .at-form-ligne { grid-template-columns: minmax(0, 1fr); }
}

/* Activité compacte */
.at-activite li { flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; padding: 9px 22px; }
.at-activite li span:last-child { margin-left: auto; font-size: 12px; }
@media (max-width: 640px) {
  .p2m-admin__recherche { flex: 1 1 100%; max-width: none; min-width: 0; }
  .p2m-admin__recherche input { width: 0; }
  .p2m-admin__onglets { max-width: 100%; overflow-x: auto; flex-wrap: nowrap; }
}
