.carnet { padding: 1.5rem; max-width: 1080px; margin: 0 auto; display: flex; flex-direction: column; gap: 2rem; h1 { margin: 0; font-size: 1.5rem; } h2 { margin: 0 0 0.75rem; font-size: 1.1rem; } } .carnet__entete { display: flex; justify-content: space-between; align-items: center; gap: 1rem; } .btn--ajouter { background: #0074b8; color: #fff; white-space: nowrap; &:hover { background: #f28c28; } } .modale-overlay { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, 0.45); } .modale-panneau { width: 100%; max-width: 480px; max-height: 90vh; overflow-y: auto; background: #fff; border-radius: 10px; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); } // Dans la popup, l'overlay 'overflow-y: auto' du panneau tronque un menu // positionné en absolu : on affiche donc les suggestions dans le flux normal. .modale-panneau .suggestions { position: static; box-shadow: none; max-height: 180px; } .carnet__form { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; } .field { display: flex; flex-direction: column; gap: 0.25rem; label { font-weight: 600; font-size: 0.9rem; } input { padding: 0.5rem 0.65rem; border: 1px solid #c4c4c4; border-radius: 6px; font-size: 0.95rem; } } .field--autocomplete { position: relative; } .field__error { margin: 0; color: #c0392b; font-size: 0.8rem; } .suggestions { position: absolute; top: 100%; left: 0; right: 0; z-index: 10; margin: 0.25rem 0 0; padding: 0; list-style: none; border: 1px solid #c4c4c4; border-radius: 6px; background: #fff; box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); max-height: 220px; overflow-y: auto; } .suggestions__item { padding: 0.5rem 0.65rem; cursor: pointer; font-size: 0.9rem; &:hover { background: #eef3fb; } } .carnet__actions { display: flex; gap: 0.5rem; } button { padding: 0.5rem 1rem; border: none; border-radius: 6px; background: #2f6fd8; color: #fff; font-size: 0.9rem; cursor: pointer; &:hover:not(:disabled) { background: var(--couleur-orange); } &:disabled { opacity: 0.5; cursor: not-allowed; } } .btn--secondary { background: #e0e0e0; color: #333; // "Modifier" (et autres actions secondaires) : passage à l'orange au survol, // comme les boutons bleus. &:hover:not(:disabled) { background: var(--couleur-orange); color: #fff; } } // "Annuler" : rendu uniformisé sur tout le site — fond blanc, bordure grise, // survol gris clair (même rendu que l'écran d'ajout/modification d'un trajet). .btn--annuler { background: #fff; color: #33475b; border: 1px solid #c4c9d1; &:hover:not(:disabled) { background: #f3f5f8; color: #33475b; } } .btn--danger { background: #c0392b; } .carnet__liste ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1rem; align-items: stretch; } .carnet__vide { color: #666; font-style: italic; } .ligne { display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #e0e0e0; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } .ligne__infos { display: flex; flex-direction: column; gap: 0.15rem; min-width: 0; overflow-wrap: anywhere; } .ligne__denomination { font-weight: 600; } .ligne__adresse { color: #555; font-size: 0.9rem; } .ligne__warning { color: #b8860b; font-size: 0.8rem; } .ligne__actions { display: flex; gap: 0.5rem; flex-shrink: 0; justify-content: flex-end; }