/*
  ⚠️⚠️ RECHERCHE GLOBALE (Ctrl+K) — STYLES.

  Préfixe `rc-` (recherche) sur TOUTES les règles : sans préfixe, une classe
  comme `.champ` ou `.item` déborderait sur les autres écrans.

  ⚠️ LA FENÊTRE EST EN `position:fixed` AVEC UN VOILE SOMBRE.
  Un simple panneau inséré dans le flux se ferait pousser par la page et
  n'apparaîtrait pas là où l'œil le cherche (au centre). Le voile, lui, isole
  la recherche du reste : on ne peut plus lire la page derrière, donc on lit
  les résultats.
*/
.rc-fond{
    position:fixed;
    inset:0;
    z-index:9000;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(2px);
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding-top:12vh;
}
.rc-fond[hidden]{display:none;}
/* ⚠️⚠️ `body` A DÉJÀ `overflow:hidden` PAR LA MISE EN PAGE.
   Le défilement de l'application se fait dans `.main-content` et
   `.sidebar-nav`, pas dans le `body`. Bloquer le `body` ici n'aurait donc
   aucun effet — et laisserait croire à une protection qui n'existe pas : la
   molette continuerait de faire défiler la page derrière la fenêtre de
   recherche. On bloque les vrais conteneurs. */
body.rc-ouvert .main-content,
body.rc-ouvert .sidebar-nav{overflow:hidden;}

.rc-boite{
    width:min(680px, 92vw);
    max-height:70vh;
    display:flex;
    flex-direction:column;
    background:var(--bg-card,#1e2b45);
    border:1px solid var(--border-color,#33415c);
    border-radius:14px;
    box-shadow:0 24px 60px rgba(0,0,0,.45);
    overflow:hidden;
}
.rc-entete{
    display:flex;
    align-items:center;
    gap:.5rem;
    padding:.7rem .85rem;
    border-bottom:1px solid var(--border-color,#33415c);
}
.rc-loupe{font-size:.95rem;opacity:.8;}
.rc-champ{
    flex:1;
    border:none;
    outline:none;
    background:transparent;
    color:var(--text-color,#eef2f7);
    font-size:.95rem;
    padding:.15rem 0;
}
.rc-champ::placeholder{color:var(--text-muted,#8d9bb5);}
.rc-aide{
    font-size:.68rem;
    color:var(--text-muted,#8d9bb5);
    white-space:nowrap;
}

.rc-resultats{
    overflow-y:auto;
    padding:.35rem .35rem .5rem;
}
.rc-groupe{
    font-size:.66rem;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--text-muted,#8d9bb5);
    padding:.55rem .55rem .25rem;
}
.rc-item{
    display:flex;
    align-items:center;
    gap:.55rem;
    padding:.42rem .55rem;
    border-radius:8px;
    text-decoration:none;
    color:var(--text-color,#eef2f7);
}
.rc-item:hover,.rc-item.rc-actif{
    background:rgba(77,163,255,.16);
}
.rc-item-icone{font-size:.9rem;width:1.2rem;text-align:center;}
.rc-item-texte{display:flex;flex-direction:column;min-width:0;}
.rc-item-titre{
    font-size:.82rem;
    font-weight:600;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rc-item-detail{
    font-size:.71rem;
    color:var(--text-muted,#8d9bb5);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.rc-vide{
    margin:0;
    padding:1.1rem .6rem;
    text-align:center;
    font-size:.8rem;
    color:var(--text-muted,#8d9bb5);
}
