/* ============================================================
   Agenda : en-tête, résumé des prochains jours et colonne des
   prochains rendez-vous. Le calendrier lui-même garde ses
   styles, dans la page.
   ============================================================ */

.ag-entete{
  display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:center;
  margin:28px 0 22px;
}
@media(min-width:1080px){ .ag-entete{grid-template-columns:minmax(0,1fr) 420px; gap:30px;} }
.ag-titre-ligne{display:flex; align-items:center; gap:16px;}
.ag-titre-ic{
  width:58px; height:58px; flex:none; border-radius:18px; display:grid; place-items:center;
  background:rgba(var(--green-rgb, 23,118,59),0.12); color:var(--green); font-size:28px;
}
:root[data-theme="dark"] .ag-titre-ic{color:var(--green-soft, #7FD9A0);}
.ag-entete h1{margin:0;}
.ag-entete .page-sub{margin:8px 0 0;}

/* Résumé des jours à venir */
.ag-resume{
  border:1px solid var(--line); border-radius:20px; padding:18px 20px;
  background:linear-gradient(160deg, #F1F7F2 0%, var(--surface) 70%);
}
:root[data-theme="dark"] .ag-resume{background:linear-gradient(160deg, rgba(var(--green-rgb, 23,118,59),0.14) 0%, var(--surface) 70%);}
.ag-resume-tete{display:flex; align-items:center; gap:12px; margin-bottom:14px;}
.ag-resume-ic{
  width:40px; height:40px; flex:none; border-radius:12px; display:grid; place-items:center;
  background:var(--gold); color:var(--green-deep, #06441C); font-size:20px;
}
.ag-resume-titre{font-family:var(--display); font-weight:700; font-size:1rem; color:var(--text-heading);}
.ag-resume-sous{font-size:0.82rem; color:var(--text-muted);}
.ag-resume-lien{
  margin-left:auto; display:inline-flex; align-items:center; gap:7px; white-space:nowrap;
  padding:8px 15px; border-radius:999px; border:1px solid var(--line); background:var(--surface);
  font-size:0.8rem; font-weight:600; color:var(--text-heading);
}
.ag-resume-lien:hover{border-color:var(--green); color:var(--green);}
.ag-compteurs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px;}
.ag-compteur{display:flex; align-items:center; gap:10px; min-width:0;}
.ag-compteur .ti{font-size:18px; flex:none;}
.ag-compteur-nb{font-family:var(--display); font-weight:800; font-size:1.15rem; color:var(--text-heading); line-height:1;}
.ag-compteur-lbl{font-size:0.72rem; color:var(--text-muted); line-height:1.25;}

/* Deux colonnes : calendrier et prochains rendez-vous */
.ag-corps{display:grid; grid-template-columns:minmax(0,1fr); gap:22px; align-items:start;}
@media(min-width:1180px){ .ag-corps{grid-template-columns:minmax(0,1fr) 330px; gap:26px;} }
.ag-aside{display:flex; flex-direction:column; gap:16px; min-width:0;}
@media(min-width:1180px){ .ag-aside{position:sticky; top:96px;} }
.ag-carte{background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:18px 20px;}
.ag-carte-tete{display:flex; align-items:center; gap:11px; margin-bottom:12px;}
.ag-carte-ic{
  width:36px; height:36px; flex:none; border-radius:11px; display:grid; place-items:center;
  background:rgba(var(--green-rgb, 23,118,59),0.12); color:var(--green); font-size:18px;
}
:root[data-theme="dark"] .ag-carte-ic{color:var(--green-soft, #7FD9A0);}
.ag-carte-titre{font-family:var(--display); font-weight:700; font-size:1rem; color:var(--text-heading);}
.ag-prochain{display:flex; align-items:center; gap:12px; padding:10px 0; text-decoration:none;}
.ag-prochain + .ag-prochain{border-top:1px solid var(--line);}
.ag-jour{
  width:52px; flex:none; border-radius:12px; padding:7px 4px; text-align:center;
  background:var(--paper-alt);
}
.ag-jour-nb{font-family:var(--display); font-weight:800; font-size:1.05rem; color:var(--text-heading); line-height:1;}
.ag-jour-mois{
  font-family:var(--mono); font-size:0.64rem; text-transform:uppercase; letter-spacing:0.06em;
  color:var(--text-muted); margin-top:3px;
}
.ag-prochain-texte{flex:1; min-width:0;}
.ag-prochain-titre{
  font-family:var(--display); font-weight:600; font-size:0.9rem; line-height:1.3; color:var(--text-heading);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ag-prochain-type{
  display:flex; align-items:center; gap:6px; margin-top:5px;
  font-size:0.74rem; color:var(--text-muted);
}
.ag-prochain .ti-arrow-right{color:var(--text-muted); flex:none;}
.ag-prochain:hover .ag-prochain-titre{color:var(--green);}
:root[data-theme="dark"] .ag-prochain:hover .ag-prochain-titre{color:var(--green-soft, #7FD9A0);}
.ag-prochain:hover .ti-arrow-right{color:var(--green);}
.ag-vide{font-family:var(--mono); font-size:0.8rem; color:var(--text-muted); padding:8px 0;}
.ag-aside-bouton{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%;
  padding:11px 18px; border-radius:999px; border:1px solid var(--line); background:var(--surface);
  font-size:0.85rem; font-weight:600; color:var(--text-heading);
}
.ag-aside-bouton:hover{border-color:var(--green); color:var(--green);}

/* Pastilles de filtre et bascule d'affichage : une icône devant. */
.view-btn .ti, .filter-pill .ti{font-size:15px; margin-right:7px; vertical-align:-2px;}
@media(max-width:620px){
  .ag-compteurs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ag-titre-ic{width:46px; height:46px; font-size:22px;}
}
