/* ───────────────────────────────────────────────────────────────────────────
   Librairie Speyy, zone « accueil » (lot « tout de la maquette », 22/10/2026).

   Ce fichier porte les éléments propres à l'accueil « Nouvelle conversation » (maquettes 02 et 04 réunies) : bandeau, suggestions, cartes du tableau de bord.

   Règles de la librairie (`v3/docs/LIBRAIRIE-SPEYY.md`) : AUCUNE valeur ici. Une
   couleur, une police, un rayon ou une ombre se lit dans un jeton (`var(--sp-…)`).
   Une valeur vraiment nouvelle va dans le thème (`themes/`). Chargé après
   `elements.css`, sur toutes les pages, par `bridge.speyy_ui_head`.
   ─────────────────────────────────────────────────────────────────────────── */

/* ── Le bandeau (maquette 02, `.s-hero-in`) ──────────────────────────────────
   Sous le composer : la ligne « Privée » (`.m-muted` 12 px avec son cadenas), puis les
   suggestions en puces (`.s-chip`). Elle remplace l'indice du composer sur l'accueil
   (`#composer-home-hint`, « Entrée pour envoyer… »), que la maquette n'a pas : la phrase
   « Entrée pour envoyer » est dans la ligne « Privée ». */
.sp-page--home .v3d-privacy {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  color: var(--sp-text-soft);
}
.sp-page--home .v3d-privacy svg { width: 13px; height: 13px; flex: none; }
.sp-page--home #v3d-composer-slot .composer-home-hint { display: none; }

.sp-page--home .v3d-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-page--home .v3d-chips[hidden] { display: none; }
.sp-page--home .v3d-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 32px;
  padding: 0 12px;
  border: 1px solid var(--sp-chip-line);
  border-radius: var(--sp-chip-radius);
  background: var(--sp-surface);
  color: var(--sp-text);
  font: 13px var(--sp-font-sans);
  cursor: pointer;
}
.sp-page--home .v3d-chip:hover { background: var(--sp-hover); }
.sp-page--home .v3d-chip:focus-visible { outline: none; box-shadow: var(--sp-shadow-focus); }
.sp-page--home .v3d-chip svg { width: 15px; height: 15px; flex: none; color: var(--sp-text-soft); }

/* ── Cartes en liste (Besoin de moi, Tâches du jour, Reprendre) ────────────
   Comme `.s-list` / `.s-li` de la maquette : les lignes vont d'un bord à l'autre de la
   carte, un filet en tête de chacune, 11 px × 20 px. */
.sp-page--home .v3d-card--list .m-card-body { padding: 12px 0 0; }
.sp-page--home .v3d-card--list .v3d-li {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 11px 20px;
  border-top: 1px solid var(--sp-line);
  border-bottom: 0;
}
.sp-page--home .v3d-card--list .v3d-li:hover { background: var(--sp-hover); }
.sp-page--home .v3d-card--list .v3d-li:hover .v3d-li-t b { text-decoration: none; }
.sp-page--home .v3d-card--list .v3d-more { margin: 0; padding: 10px 20px 16px; border-top: 1px solid var(--sp-line); }
.sp-page--home .v3d-card--list .v3d-empty { padding: 16px 20px 20px; }
.sp-page--home .v3d-card--list .m-card-body > .v3d-empty:first-child { border-top: 1px solid var(--sp-line); }

/* Une décision : titre et pastille, puis la barre d'actions d'Olympe (`MUI.actionBar`,
   taille « sm »), comme `need()` de la maquette 04. */
.sp-page--home .v3d-need { display: flex; flex-direction: column; padding: 14px 20px; border-top: 1px solid var(--sp-line); }
.sp-page--home .v3d-need-top { display: flex; align-items: center; gap: 10px; min-width: 0; }
.sp-page--home .v3d-need-top .v3d-li-t { flex: 1; }
.sp-page--home .v3d-need .v3d-ab { margin-top: 12px; }
.sp-page--home .v3d-need .m-ab-btn svg { width: 14px; height: 14px; }

/* « en cours » (`.s-live` de la maquette) et l'heure (`.tm`, chasse fixe). */
.sp-page--home .v3d-live {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: none;
  font-size: 11px;
  color: color-mix(in srgb, var(--sp-info) var(--sp-status-ink), var(--sp-text));
}
.sp-page--home .v3d-live::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: var(--sp-status-dot-radius);
  background: var(--sp-info);
  animation: v3d-pulse 1.4s ease-in-out infinite;
}
.sp-page--home .v3d-tm { flex: none; font: 11.5px var(--sp-font-mono); color: var(--sp-text-soft); }
@keyframes v3d-pulse { 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) {
  .sp-page--home .v3d-live::before { animation: none; }
}

/* ── Prospection en barres (`MUI.columns`) : le total du mois sous les barres ── */
.sp-page--home .v3d-card--prospection .v3d-chart { overflow: visible; }
.sp-page--home .v3d-px-legend { margin: 6px 0 0; font-size: 12px; color: var(--sp-text-faint); text-align: center; }

/* ── Crédits (maquette 04) : anneau centré, barre de ce qui reste, phrase ── */
.sp-page--home .v3d-credits { display: flex; flex-direction: column; gap: 14px; }
.sp-page--home .v3d-radial { display: flex; justify-content: center; }
.sp-page--home .v3d-radial .m-donut-c b { font-size: 24px; }
.sp-page--home .v3d-credits-total { margin: 0; font-size: 13px; color: var(--sp-text-soft); }
.sp-page--home .v3d-credits-total b { color: var(--sp-text); font-variant-numeric: tabular-nums; }
.sp-page--home .v3d-meter {
  position: relative;
  height: 8px;
  border-radius: var(--sp-radius-pill);
  background: var(--sp-surface-soft);
  overflow: hidden;
}
.sp-page--home .v3d-meter i {
  position: absolute;
  inset: 0 auto 0 0;
  border-radius: var(--sp-radius-pill);
  background: var(--sp-ok);
}
.sp-page--home .v3d-meter.is-alert i { background: var(--sp-danger); }
.sp-page--home .v3d-credits-line { margin: 0; font-size: 12px; color: var(--sp-text-soft); }

/* ── Le bandeau sombre (`MUI.ctaBand`) : arrondi comme les cartes (D7) ───── */
.sp-page--home .v3d-cta-slot:empty { display: none; }
.sp-page--home .v3d-cta { border-radius: var(--sp-card-radius); margin-bottom: 14px; }

/* La saisie de l'accueil a la hauteur de DEUX lignes vides, comme la maquette 02 (`<textarea rows="2">` ; la 01, au fil,
   en a une). Mesuré sur la démo 3.14.4 : 33 px de saisie et 95 px de barre, contre 55 et 121 sur la maquette.
   `min-height` passe devant la hauteur que le chat pose en ligne à chaque frappe. */
.sp-page--home #v3d-composer-slot .composer-shell.is-two-line .composer-textarea { min-height: calc(3em + 10px); }
