/* Couleurs stables par client, déclarées dans la feuille plutôt qu'en styles intégrés. */
@media screen{
 .phonebook-tone-0{--contact-color:#184e77;--contact-background:#edf5ff;--contact-dark:#1b3048}
 .phonebook-tone-1{--contact-color:#147d73;--contact-background:#eaf8f2;--contact-dark:#183a34}
 .phonebook-tone-2{--contact-color:#695092;--contact-background:#f3edfb;--contact-dark:#332943}
 .phonebook-tone-3{--contact-color:#996415;--contact-background:#fff5df;--contact-dark:#413420}
 html body #content .phonebook-card{background:var(--contact-background,#edf5ff);border-top:4px solid var(--contact-color,#184e77);border-left:1px solid var(--contact-color,#184e77);color:#23374c;box-shadow:0 1px 3px #142d4614}
 html body #content .phonebook-avatar{background:var(--contact-color,#184e77);color:#fff}
 html body #content .phonebook-card .link-button{color:var(--contact-color,#184e77)}
 html body.dark-mode #content .phonebook-card{background:var(--contact-dark,#1b3048);color:#e7edf5;border-top-color:var(--contact-color,#184e77)}
 html body.dark-mode #content .phonebook-card .link-button{color:#e7edf5}
 html body.dark-mode #content .phonebook-card small{color:#c3d0de}
}
@media screen{
 /* Les pistes vides restent réservées après filtrage ; les cartes ne remplissent pas la hauteur. */
 html body #content .phonebook-cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-auto-rows:max-content;align-content:start!important;align-items:start!important}
 html body #content .phonebook-card{height:auto!important;min-height:0!important;align-self:start!important}
}
