/* Rev'IA Social : styles propres aux modules (tâches, projets, accueil...). */

/* Case « fait » : un bouton, utilisable sans JavaScript */
.form-fait { margin: 0; flex: none; }
.case-fait {
  width: 44px; height: 44px; min-height: 44px; padding: 0; background: transparent;
  border: 0; display: flex; align-items: center; justify-content: center;
}
.case-fait::before {
  content: ""; width: 22px; height: 22px; border: 2px solid var(--vert); border-radius: 5px; background: var(--carte);
}
.case-fait[aria-pressed="true"]::before { background: var(--vert); box-shadow: inset 0 0 0 3px var(--carte); }
.ligne-faite .titre a { text-decoration: line-through; color: var(--texte-doux); }
.bouton-flottant {
  position: fixed; right: 1rem; bottom: calc(64px + env(safe-area-inset-bottom)); z-index: 9;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .25); border-radius: 2rem;
}
@media (min-width: 768px) { .bouton-flottant { display: none; } }
.creation details { margin-top: .5rem; }
.creation summary, details > summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; color: var(--bleu); font-weight: 600; }
.raccourcis { display: flex; flex-wrap: wrap; gap: 0 1rem; border: 0; padding: 0; margin: .3rem 0; }
.raccourcis legend { font-weight: 600; padding: 0; }
.titre-fiche { font-size: 1.15rem; font-weight: 600; }

/* Bandeau « Annuler » après une action (4 s) */
.bandeau-annuler {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: calc(64px + env(safe-area-inset-bottom));
  z-index: 20; display: flex; gap: 1rem; align-items: center; padding: .4rem .5rem .4rem 1rem;
  background: var(--texte); color: var(--carte); border-radius: 8px; max-width: calc(100% - 2rem);
}
.bandeau-annuler button { background: transparent; border-color: var(--carte); color: var(--carte); }
@media (min-width: 768px) { .bandeau-annuler { bottom: 1.5rem; } }

/* Projets : cartes et kanban (onglets sous 700 px) */
.carte-lien { display: block; color: inherit; text-decoration: none; }
.carte-lien h2 { margin-top: 0; color: var(--bleu); }
.une-ligne { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.graphique { margin: .4rem 0; }
.graphique figcaption { margin-top: .2rem; }
.kanban { display: grid; gap: 1rem; grid-template-columns: 1fr; }
.colonne { display: none; }
.colonne-active { display: block; }
.colonne h2 { font-size: 1rem; }
.carte-tache { padding: .6rem .7rem; }
.carte-tache .boutons, .carte-tache form { margin-top: .4rem; }
.deplacer { display: flex; flex-wrap: wrap; gap: .3rem; align-items: center; }
.deplacer select, .deplacer input { flex: 1 1 8rem; width: auto; }
@media (min-width: 700px) {
  .onglets-kanban { display: none; }
  .kanban { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .colonne { display: block; }
}

/* Idées : champ « Une idée ? » et pastilles d'univers */
.champ-idee label[for] { font-size: 1.05rem; }
.pastilles { display: flex; flex-wrap: wrap; gap: .35rem; border: 0; padding: 0; margin: .5rem 0 0; }
.pastille-choix {
  display: inline-flex; align-items: center; gap: .35rem; margin: 0; min-height: 36px; padding: .2rem .6rem;
  border: 1px solid var(--bord); border-radius: 2rem; font-weight: 400; font-size: .85rem; cursor: pointer;
}
.pastille-choix input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.pastille-choix:has(input:checked) { border-color: var(--u); background: var(--bleu-clair); font-weight: 600; }
.pastille-choix:focus-within { outline: 3px solid var(--bleu); }

/* Boîte d'arrivée */
.liste > li.alerte-nom { background: var(--orange-clair); border-left: 4px solid var(--attention); padding-left: .5rem; }
.chemin { overflow-wrap: anywhere; font-family: ui-monospace, monospace; font-size: .85rem; color: var(--texte-doux); }

/* Bibliothèque : fiche offre */
dl.grille { margin: .5rem 0; }
dl.grille dt { font-size: .8rem; color: var(--texte-doux); }
dl.grille dd { margin: 0; font-weight: 600; }

/* Aujourd'hui : cartes de chiffres (dégradé), santé, colonnes */
.grille.cartes-chiffres { margin: .8rem 0; grid-template-columns: 1fr 1fr; }
@media (min-width: 700px) { .grille.cartes-chiffres { grid-template-columns: repeat(4, 1fr); } }
.carte-chiffre {
  display: flex; flex-direction: column; gap: .2rem; min-height: 96px; padding: .8rem 1rem; border-radius: var(--rayon);
  background: var(--degrade); color: #fff; text-decoration: none; border-left: 5px solid #F08A2E;
}
.carte-chiffre-titre { font-size: .9rem; font-weight: 600; }
.carte-chiffre-valeur { font-size: 2.1rem; font-weight: 800; line-height: 1.05; font-variant-numeric: tabular-nums; }
.carte-chiffre-detail { font-size: .8rem; opacity: .9; }
.carte-alerte { border-left-color: var(--alerte); }
.pastille-detail > summary { list-style: none; cursor: pointer; min-height: 36px; }
.pastille-detail > summary::-webkit-details-marker { display: none; }
.pastille-detail[open] { flex-basis: 100%; }
.compteurs-veille { display: flex; flex-wrap: wrap; gap: .3rem 1rem; }
.voir-chiffres table { border-collapse: collapse; font-size: .85rem; }
.voir-chiffres td, .voir-chiffres th { border-bottom: 1px solid var(--bord); padding: .2rem .6rem; text-align: left; }
.ordi-seulement { display: none; }
.recherche-globale input { min-height: 36px; width: 12rem; }
@media (min-width: 1000px) {
  .ordi-seulement { display: block; }
  .accueil-colonnes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; align-items: start; }
}

/* Réglages : une ligne par univers */
.univers-ligne { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .4rem .8rem; padding: .5rem 0; border-bottom: 1px solid var(--bord); }
.univers-ligne input[type="number"] { width: 5rem; }
.univers-ligne input[type="color"] { width: 3.5rem; min-height: 44px; padding: 2px; }
