/* CJ Agenda – calendrier, listes, formulaire. */
:root { --cjag-delai: #b8892b; --cjag-audience: #14284b; --cjag-rdv: #2f7d5b; --cjag-tache: #6b5ca5; }

.cjag-ajouter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.cjag-vues { display: inline-flex; border: 1px solid #c3cbd8; border-radius: 8px; overflow: hidden; }
.cjag-vues a { padding: 9px 16px; text-decoration: none; color: #23417a; font-weight: 600; background: #fff; }
.cjag-vues a + a { border-left: 1px solid #c3cbd8; }
.cjag-vues a.actif { background: #14284b; color: #fff; }

/* Mois */
.cjag-nav-mois { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cjag-nav-mois h2 { margin: 0; min-width: 170px; text-align: center; font-family: "Libre Caslon Text", Georgia, serif; color: #14284b; }
.cjag-grille { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid #e3e7ee; border-left: 1px solid #e3e7ee; }
.cjag-entete-jour { padding: 6px 8px; font-size: 12.5px; font-weight: 700; color: #5a6270; text-transform: uppercase; letter-spacing: .5px; border-right: 1px solid #e3e7ee; border-bottom: 1px solid #e3e7ee; background: #f6f8fb; }
.cjag-jour { min-height: 112px; padding: 5px 6px 6px; border-right: 1px solid #e3e7ee; border-bottom: 1px solid #e3e7ee; background: #fff; display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cjag-jour.we { background: #fafbfc; }
.cjag-jour.hors { background: #f4f5f7; }
.cjag-jour.hors .cjag-num span { color: #a3aab6; }
.cjag-jour.ferie { background: #fff8e9; }
.cjag-jour.auj { box-shadow: inset 0 0 0 2px #b8892b; }
.cjag-num { display: flex; justify-content: space-between; align-items: center; }
.cjag-num span { font-weight: 700; font-size: 14px; color: #14284b; }
.cjag-jour.auj .cjag-num span { background: #14284b; color: #fff; border-radius: 50%; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; }
.cjag-plus { opacity: 0; text-decoration: none; color: #23417a; font-weight: 700; width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; border-radius: 6px; }
.cjag-jour:hover .cjag-plus, .cjag-plus:focus { opacity: 1; background: #eef3fb; }
.cjag-ferie { font-size: 11px; color: #8a5a00; font-weight: 600; line-height: 1.2; }
.cjag-puce { display: block; font-size: 12px; line-height: 1.3; padding: 2px 6px; border-radius: 5px; text-decoration: none; color: #1a1f2b; background: #f1f3f7; border-left: 3px solid #8a93a3; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cjag-puce b { font-weight: 700; }
.cjag-puce.cjag-delai { border-left-color: var(--cjag-delai); background: #fbf4e6; }
.cjag-puce.cjag-audience { border-left-color: var(--cjag-audience); background: #e9eef7; }
.cjag-puce.cjag-rdv { border-left-color: var(--cjag-rdv); background: #e8f4ee; }
.cjag-puce.cjag-tache { border-left-color: var(--cjag-tache); background: #efedf8; }
.cjag-puce.cj-urgent { box-shadow: inset 0 0 0 1px #e8a39b; }
.cjag-puce.cjag-clos { opacity: .55; text-decoration: line-through; }
.cjag-encore { font-size: 11.5px; color: #23417a; }
.cjag-legende { display: flex; flex-wrap: wrap; gap: 14px; margin: 12px 0 0; font-size: 12.5px; color: #5a6270; }
.cjag-l::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 6px; vertical-align: -1px; background: #8a93a3; }
.cjag-l.cjag-delai::before { background: var(--cjag-delai); }
.cjag-l.cjag-audience::before { background: var(--cjag-audience); }
.cjag-l.cjag-rdv::before { background: var(--cjag-rdv); }
.cjag-l.cjag-tache::before { background: var(--cjag-tache); }
.cjag-l-ferie::before { background: #f3dfa9; }
.cjag-mois-liste { display: none; }

/* Listes */
.cjag-lignes { list-style: none; margin: 0 0 8px; padding: 0; }
.cjag-ligne { display: flex; gap: 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid #eef1f5; }
.cjag-ico { flex: none; width: 32px; height: 32px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-size: 17px; background: #8a93a3; }
.cjag-delai .cjag-ico { background: var(--cjag-delai); }
.cjag-audience .cjag-ico { background: var(--cjag-audience); }
.cjag-rdv .cjag-ico { background: var(--cjag-rdv); }
.cjag-tache .cjag-ico { background: var(--cjag-tache); }
.cjag-corps { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.cjag-corps a { color: #14284b; text-decoration: none; }
.cjag-corps a:hover { text-decoration: underline; }
.cjag-ligne .cj-statut { white-space: nowrap; flex: none; }
.cjag-clos .cjag-corps strong { text-decoration: line-through; color: #6b7280; }
.cjag-jour-titre { margin: 18px 0 4px; font-size: 15px; color: #14284b; }
.cjag-jour-titre:first-child { margin-top: 0; }
.cjag-jour-titre.auj, .cjag-mois-liste h3.auj { color: #8a5a00; }
.cjag-retard { border-left: 4px solid #c0392b; }
.cjag-retard h2 { color: #a12d22; }
.cjag-urgences h3 { margin: 12px 0 2px; font-size: 14px; display: flex; gap: 6px; align-items: center; }
.cjag-g-retard { color: #a12d22; }
.cjag-g-jour { color: #8a5a00; }

/* Formulaire */
.cjag-types { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
.cjag-type { position: relative; cursor: pointer; }
.cjag-type input { position: absolute; opacity: 0; }
.cjag-type > span { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 14px 10px; border: 2px solid #dfe4ec; border-radius: 10px; background: #fff; font-weight: 600; color: #14284b; }
.cjag-type input:checked + span { border-color: #14284b; background: #f3f6fb; box-shadow: 0 0 0 3px rgba(20, 40, 75, .12); }
.cjag-type input:focus-visible + span { outline: 3px solid #b8892b; outline-offset: 2px; }
.cjag-form [data-pour] { display: none; }
.cjag-form[data-type="delai"] .cj-champ[data-pour~="delai"] { display: flex; }
.cjag-form[data-type="delai"] span[data-pour~="delai"] { display: inline; }
.cjag-form[data-type="delai"] .cj-champs[data-pour~="delai"] { display: grid; }
.cjag-form[data-type="audience"] .cj-champ[data-pour~="audience"] { display: flex; }
.cjag-form[data-type="audience"] span[data-pour~="audience"] { display: inline; }
.cjag-form[data-type="audience"] .cj-champs[data-pour~="audience"] { display: grid; }
.cjag-form[data-type="rdv"] .cj-champ[data-pour~="rdv"] { display: flex; }
.cjag-form[data-type="rdv"] span[data-pour~="rdv"] { display: inline; }
.cjag-form[data-type="rdv"] .cj-champs[data-pour~="rdv"] { display: grid; }
.cjag-form[data-type="tache"] .cj-champ[data-pour~="tache"] { display: flex; }
.cjag-form[data-type="tache"] span[data-pour~="tache"] { display: inline; }
.cjag-form[data-type="tache"] .cj-champs[data-pour~="tache"] { display: grid; }
.cjag-form[data-type="delai"] .cjag-bloc-delai { display: block; margin-bottom: 8px; }
.cjag-form.avec-delai [data-sans-delai] { display: none; }
.cjag-form:not(.avec-delai) [data-si-delai] { display: none !important; }
.cjag-calcul { background: #fbf6ea; border: 1px solid #ecd9a8; border-radius: 10px; padding: 12px 14px; margin: 6px 0 12px; }
.cjag-calcul-res { margin: 0 0 6px; font-size: 16px; color: #14284b; }
.cjag-calcul-etapes { margin: 0 0 8px 18px; padding: 0; font-size: 13.5px; color: #3b4352; }
.cjag-calcul-etapes li { margin-bottom: 3px; }

/* Fiche */
.cjag-tete { display: flex; gap: 16px; align-items: center; border-left: 5px solid #8a93a3; }
.cjag-tete-delai { border-left-color: var(--cjag-delai); }
.cjag-tete-audience { border-left-color: var(--cjag-audience); }
.cjag-tete-rdv { border-left-color: var(--cjag-rdv); }
.cjag-tete-tache { border-left-color: var(--cjag-tache); }
.cjag-quand { flex: none; width: 74px; text-align: center; border: 1px solid #dfe4ec; border-radius: 10px; overflow: hidden; }
.cjag-quand-jour { display: block; font-size: 30px; font-weight: 700; color: #14284b; padding: 6px 0 0; font-family: "Libre Caslon Text", Georgia, serif; }
.cjag-quand-mois { display: block; font-size: 12px; background: #14284b; color: #fff; padding: 3px 0; text-transform: uppercase; letter-spacing: .5px; }
.cjag-tete-date { font-size: 18px; font-weight: 600; color: #14284b; margin: 0 0 6px; }
.cjag-tete-txt p { margin: 0; }
.cjag-fait { display: flex; gap: 10px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 10px; }
.cjag-fait .cj-champ { flex: 1 1 280px; margin: 0; }

/* Délais */
.cjag-nowrap { white-space: nowrap; }
.cjag-inactif td { color: #8a93a3; }
.cjag-delai-form { background: #f6f8fb; border-radius: 10px; padding: 14px; margin-bottom: 14px; }
.cjag-delai-form h3 { margin-top: 0; }

@media (max-width: 760px) {
	.cjag-calendrier .cjag-grille, .cjag-calendrier .cjag-legende { display: none; }
	.cjag-mois-liste { display: block; }
	.cjag-mois-liste h3 { margin: 14px 0 2px; font-size: 14.5px; color: #14284b; }
	.cjag-mois-liste h3:first-child { margin-top: 0; }
	.cjag-nav-mois h2 { min-width: 0; flex: 1; font-size: 19px; }
	.cjag-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cjag-ligne { flex-wrap: wrap; }
	.cjag-corps { flex-basis: calc(100% - 44px); }
	.cjag-ligne .cj-statut { margin-left: 42px; }
	.cjag-ajouter .cj-bouton { flex: 1 1 45%; justify-content: center; }
	.cjag-table-delais thead { display: none; }
	.cjag-table-delais, .cjag-table-delais tbody, .cjag-table-delais tr, .cjag-table-delais td { display: block; width: 100%; }
	.cjag-table-delais tr { padding: 10px 0; border-bottom: 1px solid #dde3ec; }
	.cjag-table-delais td { border: 0; padding: 2px 0; text-align: left !important; }
}
