.liste-vide { margin: 0; padding: 1.5rem; text-align: center; color: #6b7280; font-style: italic; } // Groupe d'une journée : en-tête de date + sa liste de trajets. .jour { padding: 0.5rem 0; // Conteneur de l'en-tête : le bouton de repliage (zone cliquable principale) et, // à droite, le bouton dédié « + » (ajouter un trajet sur cette journée). &__entete { display: flex; align-items: stretch; gap: 0.5rem; width: 100%; margin: 0 0 0.4rem; font-size: 0.85rem; font-weight: 700; color: #334155; background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 6px; position: sticky; top: 0; z-index: 1; } &__entete-bouton { display: flex; align-items: center; gap: 0.5rem; flex: 1 1 auto; min-width: 0; padding: 0.4rem 0.5rem; border: none; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; border-radius: 6px 0 0 6px; &:hover { background: #e9eef4; } } // Bouton dédié : ajouter un trajet SUR CETTE JOURNÉE, indépendant de la date de // la carte (pilotée par le survol). Toujours visible, à droite de l'en-tête. &__ajouter { flex: 0 0 auto; width: 2rem; margin: 0.25rem 0.25rem 0.25rem 0; border: none; border-radius: 4px; background: var(--couleur-bleu, #1976d2); color: #fff; font-size: 1.1rem; font-weight: 700; line-height: 1; cursor: pointer; &:hover { background: var(--couleur-orange, #f28c28); } } // Journée affichée sur la carte : en-tête accentué (bleu) pour la repérer. &--affiche &__entete { background: #e3f0ff; border-color: #90c2ff; color: #0d47a1; box-shadow: inset 3px 0 0 #1976d2; } &__chevron { flex: 0 0 auto; color: #64748b; font-size: 0.75rem; } &__date { flex: 1 1 auto; } &__compteur { flex: 0 0 auto; font-weight: 500; font-size: 0.75rem; color: #64748b; } & + .jour { border-top: 1px solid #eef1f4; } } .trajets { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; } .trajet { display: flex; align-items: center; gap: 0.75rem; padding: 0.65rem 0.75rem; border: 1px solid #e2e6ea; border-radius: 8px; background: #fff; &.cdk-drag-preview { box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18); } &.cdk-drag-placeholder { opacity: 0.4; } &__infos { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.2rem; } &__ligne { display: flex; align-items: center; gap: 0.5rem; } &__date { font-weight: 600; font-size: 0.85rem; color: #475569; } &__commentaire { font-size: 0.78rem; color: #6b7280; font-style: italic; line-height: 1.3; word-break: break-word; } &__adresses { display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; // Adresses en taille réduite (secondaires par rapport à la date/commentaire). font-size: 0.8rem; color: #334155; } &__fleche { color: #94a3b8; } &__distance { flex: 0 0 auto; font-weight: 600; color: #1f2937; white-space: nowrap; text-align: right; } // Colonne dédiée A/R en début de ligne (largeur fixe) : maintient l'alignement // des dates/adresses, qu'un trajet soit aller/retour ou non. &__ar-col { flex: 0 0 2.4rem; display: flex; align-items: center; justify-content: center; } // Badge « A/R » discret. &__ar { display: inline-block; padding: 0 0.35rem; font-size: 0.68rem; font-weight: 700; line-height: 1.4; color: #1565c0; background: #e3f2fd; border: 1px solid #90caf9; border-radius: 4px; } &__actions { flex: 0 0 auto; display: flex; flex-direction: column; gap: 0.4rem; align-items: flex-end; } &__actions-ligne { display: flex; gap: 0.4rem; justify-content: flex-end; } } .cdk-drag-animating { transition: transform 200ms cubic-bezier(0, 0, 0.2, 1); } .poignee { flex: 0 0 auto; border: none; background: transparent; color: #94a3b8; font-size: 1.1rem; cursor: grab; padding: 0.25rem; &:active { cursor: grabbing; } &:disabled { cursor: not-allowed; opacity: 0.5; } } .action { padding: 0.35rem 0.65rem; border: 1px solid #c4c9d1; border-radius: 6px; background: #fff; color: #33475b; font-size: 0.8rem; cursor: pointer; &:hover:not(:disabled) { background: #f3f5f8; } &:disabled { opacity: 0.6; cursor: not-allowed; } &--danger { border-color: #e3a3a5; color: #d13438; &:hover:not(:disabled) { background: #fdecec; } } &--icone { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; padding: 0; font-size: 1rem; line-height: 1; } }