/* ═══════════════════════════════════════════════════════════════════════
   Arpentiq — Recherche d'evenements (kit Margot « handoff-recherche-agenda »).
   ═══════════════════════════════════════════════════════════════════════
   [b2341] Le kit le plus propre recu : classes toutes prefixees `aqk-`, une
   seule globale, tokens poses sur `.aqk` (la racine porte bien cette classe,
   verifie : pal.className = 'aqk-pal aqk'), et surtout les selecteurs de
   theme sont DEJA en ANCETRE (`[data-theme="noir"] .aqk`) — le piege de
   b2334 ne se presente pas. Rien a scoper, rien a redresser.

   DEUX SEULES ADAPTATIONS :
   1. Son echelle de z-index (590 / 600) suppose une page vierge. Le CRM
      empile jusqu'a 100095 : a 590 la palette passait derriere le
      calendrier. Remappee sur la bande du produit — voile 100093, palette
      100094, donc SOUS les toasts (100096), ce qui est correct : un toast
      doit rester lisible par-dessus une recherche.
   2. Espacement titre / meta (retour d'Anthony) — voir en bas de fichier.
   ═══════════════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════════
   arpe-search.css — Arpentiq · recherche d'événements (agenda)
   Namespace .aqk-* · palette de recherche, pas une boîte de dialogue.
   ═══════════════════════════════════════════════════════════════════ */
.aqk,[data-theme="light"] .aqk{
  --bg:#f7f8fa;--surface:#ffffff;--s2:#f1f3f7;--s3:#e7ebf2;
  --border:#e4e7ee;--border-hi:#d3d8e3;
  --text:#14161f;--text-dim:#4a5169;--muted:#8a93ab;
  --accent:#6b5cf5;--accent-dim:rgba(107,92,245,.09);
  --chaud:#d64560;--tiede:#c08a2e;--froid:#3d7fc2;--green:#22a06b;
  --r:8px;--r-lg:12px;--r-xl:14px;
  --veil:rgba(20,22,31,.34);
  --sh-lg:0 1px 2px rgba(20,22,31,.05),0 24px 60px -14px rgba(20,22,31,.30);
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
[data-theme="noir"] .aqk,[data-theme="donna"] .aqk,[data-theme="ardoise"] .aqk{
  --bg:#0f1115;--surface:#16181d;--s2:#1c1e24;--s3:#23262d;
  --border:#23262d;--border-hi:#2f333c;
  --text:#f2f3f7;--text-dim:#a8adbd;--muted:#5f6578;
  --accent:#8b7bff;--accent-dim:rgba(139,123,255,.12);
  --chaud:#ff6680;--tiede:#f0c050;--froid:#5ca8ff;--green:#4fd49a;
  --r:6px;--r-lg:10px;--r-xl:12px;
  --veil:rgba(0,0,0,.58);
  --sh-lg:0 1px 2px rgba(0,0,0,.5),0 26px 64px -14px rgba(0,0,0,.8);
}
.aqk{font-family:var(--sans);color:var(--text)}
.aqk *{box-sizing:border-box}
.aqk button{font-family:inherit;cursor:pointer}

/* voile SANS flou : on garde le calendrier lisible derrière */
.aqk-veil{position:fixed;inset:0;z-index:100093;background:var(--veil);opacity:0;pointer-events:none;transition:opacity .18s}
.aqk-veil.aqk-on{opacity:1;pointer-events:auto}

/* la palette : ancrée haut, pas centrée — le regard va au champ */
.aqk-pal{position:fixed;left:50%;top:12vh;z-index:100094;width:620px;max-width:calc(100vw - 28px);
  background:var(--surface);border:1px solid var(--border-hi);border-radius:var(--r-xl);box-shadow:var(--sh-lg);
  display:flex;flex-direction:column;max-height:min(72vh,620px);overflow:hidden;
  transform:translateX(-50%) translateY(-8px) scale(.985);opacity:0;pointer-events:none;
  transition:opacity .18s,transform .22s cubic-bezier(.2,.75,.2,1)}
.aqk-pal.aqk-on{opacity:1;transform:translateX(-50%);pointer-events:auto}

/* ── champ : intégré à l'en-tête, pas une boîte grise dans une boîte ── */
.aqk-h{display:flex;align-items:center;gap:11px;padding:14px 15px 13px 17px;border-bottom:1px solid var(--border);flex-shrink:0}
.aqk-ic{width:17px;height:17px;flex-shrink:0;color:var(--muted)}
.aqk-in{flex:1;min-width:0;border:0;outline:0;background:transparent;font-family:inherit;font-size:16px;
  font-weight:500;letter-spacing:-.014em;color:var(--text);padding:0}
.aqk-in::placeholder{color:var(--muted);font-weight:400}
.aqk-clr{width:22px;height:22px;flex-shrink:0;border:0;border-radius:6px;background:var(--s2);color:var(--muted);
  display:none;place-items:center;transition:.14s}
.aqk-clr.aqk-on{display:grid}
.aqk-clr:hover{background:var(--s3);color:var(--text)}
.aqk-clr svg{width:12px;height:12px}
/* un seul geste de fermeture visible : la touche, pas un 2e bouton × */
.aqk-esc{flex-shrink:0;font-family:var(--mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--muted);background:var(--s2);border:1px solid var(--border);border-radius:6px;padding:3px 7px}

/* ── filtres par type ── */
.aqk-fl{display:flex;align-items:center;gap:6px;padding:10px 15px;border-bottom:1px solid var(--border);
  overflow-x:auto;scrollbar-width:none;flex-shrink:0}
.aqk-fl::-webkit-scrollbar{display:none}
.aqk-chip{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;font-weight:600;
  letter-spacing:-.01em;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);
  border-radius:99px;padding:5px 11px;transition:.14s}
.aqk-chip:hover{color:var(--text);border-color:var(--border-hi);background:var(--s2)}
.aqk-chip i{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.aqk-chip.aqk-on{color:var(--text);background:var(--s2);border-color:var(--border-hi)}
.aqk-chip .aqk-n{font-family:var(--mono);font-size:10px;color:var(--muted)}

/* ── liste ── */
.aqk-body{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 8px}
.aqk-grp{display:flex;align-items:center;gap:9px;padding:11px 9px 6px;font-family:var(--mono);font-size:9px;
  font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.aqk-grp .aqk-n{margin-left:auto;letter-spacing:.04em}

/* ligne de résultat : pas de carte grise, pas de badge plein */
.aqk-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--r-lg);cursor:pointer;
  border-left:2px solid transparent;transition:background .12s}
.aqk-row:hover{background:var(--s2)}
.aqk-row.aqk-sel{background:var(--accent-dim);border-left-color:var(--accent)}
.aqk-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%}
.aqk-tx{flex:1;min-width:0}
.aqk-t{font-size:13.5px;font-weight:600;letter-spacing:-.014em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aqk-t mark{background:transparent;color:var(--accent);font-weight:700}
.aqk-m{font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* type en texte discret, il ne concurrence plus le titre */
.aqk-ty{flex-shrink:0;font-family:var(--mono);font-size:9px;font-weight:600;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.aqk-chv{flex-shrink:0;color:var(--muted);opacity:0;transition:opacity .12s,transform .12s}
.aqk-row:hover .aqk-chv,.aqk-row.aqk-sel .aqk-chv{opacity:1;transform:translateX(2px)}
.aqk-row.aqk-sel .aqk-chv{color:var(--accent)}
.aqk-chv svg{width:14px;height:14px}

/* état vide : jamais une phrase seule au milieu du vide */
.aqk-empty{padding:26px 18px 30px;text-align:center}
.aqk-empty-ic{width:38px;height:38px;margin:0 auto 12px;border-radius:var(--r-lg);background:var(--s2);
  color:var(--muted);display:grid;place-items:center}
.aqk-empty-ic svg{width:19px;height:19px}
.aqk-empty-t{font-size:14px;font-weight:600;letter-spacing:-.015em}
.aqk-empty-d{font-size:12.5px;color:var(--muted);margin-top:5px;line-height:1.5}

/* ── pied : raccourcis ── */
.aqk-f{display:flex;align-items:center;gap:14px;padding:9px 15px;border-top:1px solid var(--border);
  background:var(--s2);flex-shrink:0}
.aqk-hint{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.aqk-kb{font-family:var(--mono);font-size:9.5px;font-weight:600;color:var(--text-dim);background:var(--surface);
  border:1px solid var(--border);border-radius:5px;padding:1px 5px;min-width:17px;text-align:center}
.aqk-count{margin-left:auto;font-family:var(--mono);font-size:10.5px;color:var(--muted)}

@media(max-width:640px){
  .aqk-pal{top:0;left:0;right:0;width:auto;max-width:none;border-radius:0;border-left:0;border-right:0;
    max-height:100vh;height:100vh;transform:translateY(-8px)}
  .aqk-pal.aqk-on{transform:none}
  .aqk-esc{display:none}
}
@media(prefers-reduced-motion:reduce){.aqk-veil,.aqk-pal,.aqk-row,.aqk-chv{transition:none!important}}


/* ═══════════════════════════════════════════════════════════════════════
   [b2342] LE TITRE DEBORDAIT SUR LE TYPE, et c'est la meme cause que
   l'espacement manquant de b2341 : `.aqk-t` et `.aqk-m` sont deux spans
   INLINE dans `.aqk-tx`.
   Sa feuille pose bien `white-space:nowrap; overflow:hidden;
   text-overflow:ellipsis` sur `.aqk-t` — mais une ellipse ne fonctionne PAS
   sur un element inline : il n'a pas de largeur propre a contraindre. Le
   titre s'etalait donc au-dela de `.aqk-tx` et passait PAR-DESSUS le
   libelle de type, d'ou les « VISITE » illisibles de la capture.
   On fait de `.aqk-tx` un vrai conteneur flex : le TITRE devient le seul
   element qui se retracte (flex:0 1 auto + min-width:0, ce qui rend enfin
   son ellipse operante), la meta et le type gardent leur largeur. C'est
   exactement l'arbitrage demande : on rogne le titre, pas l'information de
   date ni le type.
   `gap` remplace le margin-left de b2341 — meme resultat, une regle de
   moins, et l'espace ne peut plus s'effondrer.                          */
.aqk-tx{ display:flex; align-items:baseline; gap:9px; min-width:0; }
.aqk-t { flex:0 1 auto; min-width:0; }
.aqk-m { flex-shrink:0; white-space:nowrap; }
.aqk-ty{ flex-shrink:0; }
