/* « Aujourd'hui » sans serveur (refait le 20/10, GO JB) — la vérité des chiffres de la V1 dans la
   maquette validée le 16/10 (docs/maquettes/dashboard/). Préfixe « aj- » ; jetons de .ck-page
   (cockpit.css). Mouvement, pas couleur : la couleur ne porte que la sévérité (rouge bloquant,
   ambre urgent). 2560×1440 : bandeau, trois colonnes qui vont jusqu'en bas, pipeline sur toute la
   largeur ; < 1 800 px : les colonnes s'empilent ; téléphone : « À traiter » d'abord. */
@property --n{syntax:'<integer>';inherits:false;initial-value:0}
.aj-page{display:flex;flex-direction:column;gap:16px;min-height:calc(100dvh - 130px);padding:0 0 24px}
.aj-haut{display:flex;align-items:baseline;gap:6px 12px;flex-wrap:wrap;min-height:28px}
.aj-haut h1{margin:0;font-size:22px;font-weight:750;letter-spacing:-.02em}
.aj-qui{color:hsl(var(--doux));font-size:14px}
.aj-esp{flex:1}
.aj-lu{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:hsl(var(--doux));white-space:nowrap}
.aj-pouls{width:8px;height:8px;border-radius:50%;background:hsl(var(--menthe-vif));box-shadow:0 0 0 3px hsl(var(--menthe-vif)/.22)}
.aj-relit .aj-pouls{animation:aj-pouls 1s var(--sortie) infinite}
@keyframes aj-pouls{50%{transform:scale(1.5);opacity:.5}}

/* compteur qui roule */
.aj-n{counter-reset:n var(--n);transition:--n .9s var(--sortie);animation:aj-roule 1.1s var(--sortie) both;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.aj-n::after{content:counter(n)}
@keyframes aj-roule{from{--n:0}}

/* grille du jour */
.aj-grille-jour{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);grid-template-areas:'mois' 'traiter' 'milieu' 'planning';align-items:start}
.aj-z-mois{grid-area:mois}.aj-z-traiter{grid-area:traiter}.aj-z-milieu{grid-area:milieu}.aj-z-planning{grid-area:planning}
.aj-z-traiter,.aj-z-milieu,.aj-z-planning{display:flex;flex-direction:column;min-width:0;min-height:0}
@media (min-width:1800px){
  /* hauteur de la fenêtre : les colonnes défilent chacune, le pipeline reste visible en bas */
  .aj-page{gap:16px;height:calc(100dvh - 104px);min-height:760px}
  .aj-grille-jour{min-height:0}
  .aj-grille-jour{flex:1;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(400px,.8fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:'mois mois mois' 'traiter milieu planning';align-items:stretch}
  .aj-grille-jour.aj-sans-mois{grid-template-rows:minmax(0,1fr);grid-template-areas:'traiter milieu planning'}
  .aj-z-traiter>.aj-carte,.aj-z-milieu>.aj-carte,.aj-z-planning>.aj-carte{flex:1;min-height:0;overflow:auto}
}

/* cartes */
.aj-carte{position:relative;padding:16px 18px;border-radius:20px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset;animation:ck-entree .45s var(--sortie) both}
.aj-ct{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.aj-ct h2{margin:0;font-size:16px;font-weight:750;letter-spacing:-.01em}
.aj-ct-sous{font-size:12px;color:hsl(var(--doux))}
.aj-bloq{font-size:13px;font-weight:700;color:hsl(var(--rouge))}
.aj-tot{min-width:24px;height:24px;padding:0 8px;border-radius:12px;display:inline-grid;place-items:center;font-size:12.5px;font-weight:800;background:hsl(var(--encre));color:#fff}
.aj-lien{margin-left:auto;font-size:13px;font-weight:650;color:hsl(var(--azur-fort))}
.aj-lien:hover{text-decoration:underline}
.aj-vide{margin:6px 2px;color:hsl(var(--doux));font-size:13.5px}

/* bandeau du mois */
.aj-bandeau{position:relative;overflow:hidden;display:grid;grid-template-columns:auto minmax(0,1.4fr) minmax(0,1fr);gap:22px;align-items:center;padding:14px 20px;border-radius:24px;color:#fff;background:linear-gradient(135deg,hsl(var(--marine-haut)),hsl(var(--marine-bas)));box-shadow:var(--ombre-3);animation:ck-entree .45s var(--sortie) both}
.aj-bandeau::before{content:"";position:absolute;inset:-40% -10% auto auto;width:520px;height:320px;background:radial-gradient(closest-side,hsl(var(--menthe-vif)/.22),transparent);pointer-events:none}
.aj-b-titre b{display:block;font-size:20px;font-weight:750;letter-spacing:-.02em}
.aj-b-titre span{font-size:13px;color:hsl(0 0% 100%/.65)}
.aj-jauge{position:relative;display:block;padding:12px 14px;border-radius:16px;background:hsl(0 0% 100%/.06);box-shadow:0 0 0 1px hsl(0 0% 100%/.1) inset;color:#fff;transition:background 160ms}
a.aj-jauge:hover{background:hsl(0 0% 100%/.1)}
.aj-j-lib{display:block;font-size:12px;font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:hsl(0 0% 100%/.65)}
.aj-j-l{display:flex;align-items:baseline;gap:8px}
.aj-gros{font-size:30px;font-weight:800}
.aj-obj{font-size:14px;color:hsl(0 0% 100%/.6);font-weight:600}
.aj-ecart{margin-left:auto;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.aj-ecart-ok{background:hsl(var(--menthe-vif)/.2);color:hsl(var(--menthe))}
.aj-ecart-ret{background:hsl(var(--orange-vif)/.22);color:hsl(38 100% 75%)}
.aj-ecart-neutre{background:hsl(0 0% 100%/.1);color:hsl(0 0% 100%/.75)}
.aj-rail{position:relative;display:block;height:8px;margin-top:10px;border-radius:4px;background:hsl(0 0% 100%/.12)}
.aj-rail i{position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:linear-gradient(90deg,hsl(var(--menthe-vif)),hsl(var(--azur)));transform-origin:left;animation:ck-remplit 1.1s var(--sortie) both}
.aj-att{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:#fff;box-shadow:0 0 0 2px hsl(var(--marine-bas))}
.aj-leg{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:11.5px;color:hsl(0 0% 100%/.65)}
.aj-jauge-tue{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:6px;background:hsl(0 0% 100%/.035)}
.aj-tait{font-size:13px;color:hsl(0 0% 100%/.7)}

/* À traiter : tuiles */
.aj-tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.aj-tuile{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:3px;min-height:132px;padding:13px 15px 12px;border-radius:16px;text-align:left;background:hsl(var(--fond));border-left:3px solid hsl(var(--trait-fort));animation:ck-entree .45s var(--sortie) both;transition:transform 160ms var(--sortie),background 160ms,box-shadow 160ms}
.aj-tuile:hover{transform:translateY(-2px);background:hsl(var(--carte));box-shadow:var(--ombre-2),0 0 0 1px hsl(var(--trait)) inset}
.aj-tuile:active{transform:scale(.98)}
.aj-tuile.aj-n0{border-left-color:hsl(var(--rouge))}
.aj-tuile.aj-n1{border-left-color:hsl(var(--orange-vif))}
.aj-t-haut{display:flex;align-items:center;gap:8px}
.aj-t-chiffre{font-size:34px;line-height:1;font-weight:800}
.aj-n0 .aj-t-chiffre{color:hsl(var(--rouge))}.aj-n1 .aj-t-chiffre{color:hsl(var(--orange))}
.aj-sev{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.aj-n0 .aj-sev{color:hsl(var(--rouge))}.aj-n1 .aj-sev{color:hsl(var(--orange))}
.aj-dot{width:7px;height:7px;border-radius:50%;background:currentColor}
.aj-n0 .aj-dot{animation:ck-pouls 1.8s var(--sortie) infinite}
.aj-t-lib{font-size:14.5px;font-weight:700;line-height:1.25;margin-top:4px}
.aj-t-pq{font-size:12.5px;color:hsl(var(--doux))}
.aj-bande{display:flex;align-items:center;margin-top:auto;padding-top:8px}
.aj-bande .aj-v{width:46px;height:32px;margin-left:-8px;box-shadow:0 0 0 2px hsl(var(--fond))}
.aj-bande .aj-v:first-child{margin-left:0}
.aj-plusn{display:inline-grid;place-items:center;width:auto;min-width:34px;padding:0 6px;font-size:11.5px;font-weight:800;color:hsl(var(--doux));background:hsl(var(--gris-doux))}
.aj-tuile:focus:not(:focus-visible){outline:none}
.aj-v{display:block;width:54px;height:38px;border-radius:8px;object-fit:cover;background:hsl(var(--gris-doux));flex:none}
.aj-sans{background:linear-gradient(135deg,hsl(var(--gris-doux)),hsl(var(--trait)))}
.aj-calmes{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:12px;padding:9px 12px;border-radius:12px;background:hsl(var(--vert-doux))}
.aj-ok{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:550;color:hsl(var(--vert))}
.aj-ok svg.ck-i,.aj-calme-tout svg.ck-i{width:15px;height:15px}
.aj-calme-tout{display:flex;align-items:center;gap:6px;margin:4px 0 10px;font-weight:650;color:hsl(var(--vert))}
.aj-illisible{margin:10px 0 0;padding:8px 12px;border-radius:10px;font-size:12.5px;background:hsl(var(--orange-doux));color:hsl(var(--encre))}
.aj-silences{margin-top:10px;font-size:12.5px;color:hsl(var(--doux))}
.aj-silences summary{cursor:pointer;padding:6px 2px;font-weight:600}
.aj-silences summary:hover{color:hsl(var(--encre))}
.aj-silences ul{margin:4px 0 0;padding:0 0 0 18px;display:grid;gap:4px}
.aj-silences b{color:hsl(var(--encre));font-weight:650}

/* listes (affaires, atelier, planning) */
.aj-lignes{display:grid}
.aj-lg{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 4px;border-top:1px solid hsl(var(--trait));border-radius:10px;animation:ck-entree .4s var(--sortie) both;transition:background 160ms}
.aj-lg:first-child{border-top:0}
.aj-lg:hover{background:hsl(var(--fond))}
.aj-lg-corps{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.aj-lg-simple{grid-template-columns:auto minmax(0,1fr) auto}
.aj-lg-simple svg.ck-i{color:hsl(var(--doux))}
.aj-tx{min-width:0}
.aj-tx b{display:block;font-size:13.5px;font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aj-tx small{display:block;font-size:12px;color:hsl(var(--doux));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aj-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.aj-tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:7px;font-size:11.5px;font-weight:650;background:hsl(var(--gris-doux));color:hsl(var(--doux));white-space:nowrap}
.aj-tag-vert{background:hsl(var(--vert-doux));color:hsl(var(--vert))}
.aj-tag-orange{background:hsl(var(--orange-doux));color:hsl(var(--orange))}
.aj-tag-rouge{background:hsl(var(--rouge-doux));color:hsl(var(--rouge))}
.aj-tag-bleu{background:hsl(var(--azur-doux));color:hsl(var(--azur-fort))}
.aj-mini{display:inline-grid;place-items:center;height:30px;padding:0 11px;border-radius:9px;font-size:12.5px;font-weight:650;background:hsl(var(--gris-doux));white-space:nowrap;transition:transform 90ms}
.aj-mini.aj-p{background:hsl(var(--azur));color:#fff}
.aj-mini:active{transform:scale(.95)}

/* planning */
.aj-jour{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;color:hsl(var(--doux));margin:12px 0 4px}
.aj-jour:first-of-type{margin-top:0}
.aj-ev{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 4px;border-radius:10px;animation:ck-entree .4s var(--sortie) both;transition:background 160ms}
.aj-ev:hover{background:hsl(var(--fond))}
.aj-coches{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.aj-tait-l{margin:12px 2px 0;font-size:12px;color:hsl(var(--doux))}
.aj-attente{display:flex;align-items:center;gap:10px;width:100%;margin-top:12px;padding:11px 12px;border-radius:12px;background:hsl(var(--fond));text-align:left;font-size:13.5px;transition:background 160ms}
.aj-attente:hover{background:hsl(var(--azur-doux))}
.aj-attente b{font-size:16px}

/* pipeline */
.aj-pipe{padding:14px 20px 12px;border-radius:20px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset;animation:ck-entree .5s var(--sortie) both}
.aj-p-tete{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.aj-p-tete>b{font-size:15px;font-weight:750}
.aj-p-total{font-size:15px}
.aj-p-alerte{font-size:13px;font-weight:700;color:hsl(var(--orange))}
.aj-p-alerte:hover{text-decoration:underline}
.aj-p-etapes{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:10px;padding:6px 0 2px}
.aj-p-etapes::before{content:"";position:absolute;left:10%;right:10%;top:26px;height:4px;border-radius:2px;background:hsl(var(--trait))}
.aj-p-etapes::after{content:"";position:absolute;left:10%;top:26px;height:4px;width:calc(80% * var(--av,.5));border-radius:2px;background:linear-gradient(90deg,hsl(var(--azur)),hsl(var(--menthe-vif)));transform-origin:left;animation:ck-remplit 1.4s .3s var(--sortie) both}
.aj-st{position:relative;z-index:1;display:grid;justify-items:center;gap:5px;padding:0 4px 6px;border-radius:14px;opacity:0;animation:aj-arrive .55s var(--ressort) both;transition:background 160ms,transform 90ms}
.aj-st:hover{background:hsl(var(--fond))}.aj-st:active{transform:scale(.97)}
@keyframes aj-arrive{from{opacity:0;transform:translateY(14px) scale(.9)}to{opacity:1;transform:none}}
.aj-nd{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:16px;font-weight:800;background:hsl(var(--carte));box-shadow:0 0 0 3px hsl(var(--menthe-vif)),var(--ombre-1)}
.aj-st.aj-al .aj-nd{box-shadow:0 0 0 3px hsl(var(--orange-vif)),var(--ombre-1);color:hsl(var(--orange));animation:aj-roule 1.1s var(--sortie) both,ck-pouls2 2s var(--sortie) 1.2s infinite}
.aj-st .aj-bande{margin:0;padding:0;min-height:30px}
.aj-st .aj-bande .aj-v{width:30px;height:30px;border-radius:50%;margin-left:-9px;box-shadow:0 0 0 2px hsl(var(--carte))}
.aj-st .aj-bande .aj-v:first-child{margin-left:0}
.aj-st .aj-bande .aj-plusn{min-width:30px;padding:0 3px;font-size:10px}
.aj-nm{font-size:12.5px;font-weight:650}
.aj-sub{font-size:11.5px;font-weight:650;color:hsl(var(--orange));min-height:15px}
.aj-pipe-bandeau{color:#fff;background:linear-gradient(135deg,hsl(var(--marine-haut)),hsl(var(--marine-bas)));box-shadow:var(--ombre-3)}
.aj-pipe-bandeau .aj-lien{color:hsl(var(--menthe))}
.aj-pipe-bandeau .aj-p-alerte,.aj-pipe-bandeau .aj-sub{color:hsl(38 100% 72%)}
.aj-pipe-bandeau .aj-p-etapes::before{background:hsl(0 0% 100%/.15)}
.aj-pipe-bandeau .aj-nd{background:hsl(var(--marine-bas));color:#fff}
.aj-pipe-bandeau .aj-st.aj-al .aj-nd{color:hsl(38 100% 72%)}
.aj-pipe-bandeau .aj-st:hover{background:hsl(0 0% 100%/.06)}
.aj-pipe-bandeau .aj-st .aj-bande .aj-v{box-shadow:0 0 0 2px hsl(var(--marine-bas))}
.aj-pipe-bandeau .aj-plusn{background:hsl(0 0% 100%/.15);color:#fff}
.aj-pipe-bandeau .aj-nm{color:hsl(0 0% 100%/.82)}

/* volet */
.aj-voile{position:fixed;inset:0;z-index:80;background:hsl(216 50% 10%/.32);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity 320ms var(--sortie)}
.aj-voile.on{opacity:1;pointer-events:auto}
.aj-volet{position:fixed;z-index:90;top:0;right:0;bottom:0;width:min(580px,100vw);display:flex;flex-direction:column;background:hsl(var(--fond));box-shadow:-30px 0 80px -20px hsl(220 50% 15%/.35);transform:translateX(104%);visibility:hidden;transition:transform 320ms var(--sortie),visibility 0s 320ms}
.aj-volet.on{transform:none;visibility:visible;transition:transform 320ms var(--sortie)}
.aj-vt{display:flex;align-items:center;gap:14px;padding:18px 20px;background:hsl(var(--carte));box-shadow:0 1px 0 hsl(var(--trait))}
.aj-vt .aj-gros{font-size:34px}
.aj-vt-tx{min-width:0}
.aj-vt-tx b{display:block;font-size:16px}
.aj-vt-tx small{display:block;font-size:12.5px;color:hsl(var(--doux))}
.aj-x{margin-left:auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:hsl(var(--gris-doux));flex:none}
.aj-corps{flex:1;overflow:auto;padding:14px 20px;display:grid;gap:8px;align-content:start}
.aj-it{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:9px 12px;border-radius:14px;background:hsl(var(--carte));box-shadow:var(--ombre-1),0 0 0 1px hsl(var(--trait)) inset;animation:ck-entree .38s var(--sortie) both;transition:transform 160ms var(--sortie)}
.aj-it:hover{transform:translateX(-2px)}
.aj-it .aj-v{width:72px;height:50px}
.aj-it svg.ck-i{color:hsl(var(--doux))}
.aj-pied{display:grid;gap:8px;padding:14px 20px;background:hsl(var(--carte));box-shadow:0 -1px 0 hsl(var(--trait))}
.aj-source{font-size:11.5px;color:hsl(var(--doux))}
.aj-pied-b{display:grid;place-items:center;height:44px;border-radius:12px;font-weight:650;background:hsl(var(--gris-doux))}
.aj-pied-b:hover{background:hsl(var(--azur-doux))}

@media (min-width:1800px){
  /* la bulle « Un souci ? » occupe le coin bas droit : le pipeline lui laisse la place */
  .aj-pipe:not(.aj-pipe-bandeau) .aj-p-etapes{margin-right:280px}
  .aj-tuiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .aj-tuile{min-height:148px}
  .aj-v{width:58px;height:40px}
}
@media (max-width:1799px){
  .aj-bandeau{grid-template-columns:auto minmax(0,1fr) minmax(0,.8fr)}
  /* colonnes empilées : les 8 premières affaires, le reste dans « Mes offres » */
  .aj-affaires .aj-lignes>.aj-lg:nth-child(n+9){display:none}
}
.aj-bandeau:not(:has(.aj-jauge-tue)){grid-template-columns:auto minmax(0,1fr)}
@media (max-width:900px){
  .aj-bandeau,.aj-bandeau:not(:has(.aj-jauge-tue)){grid-template-columns:minmax(0,1fr);gap:10px;padding:14px 16px}
}
@media (max-width:640px){
  .aj-page{gap:12px;padding-bottom:16px}
  .aj-haut h1{font-size:19px}
  .aj-qui{font-size:13px}
  .aj-prenom,.aj-lu{display:none}
  /* téléphone : « À traiter » d'abord */
  .aj-grille-jour{gap:12px;grid-template-areas:'traiter' 'mois' 'planning' 'milieu'}
  .aj-carte{padding:13px 13px;border-radius:16px}
  .aj-tuiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
  .aj-tuile{min-height:118px;padding:11px 12px}
  .aj-t-chiffre{font-size:28px}
  .aj-t-lib{font-size:13.5px}
  .aj-sev{font-size:10px}
  .aj-lg{grid-template-columns:minmax(0,1fr) auto}
  .aj-tags{display:none}
  .aj-ev{grid-template-columns:auto minmax(0,1fr)}
  .aj-coches{grid-column:2;justify-content:flex-start}
  .aj-p-etapes{gap:2px}
  .aj-nd{width:36px;height:36px;font-size:14px}
  .aj-p-etapes::before,.aj-p-etapes::after{top:23px}
  .aj-st .aj-bande{display:none}
  .aj-nm{font-size:11px}
  .aj-sub{font-size:10.5px;text-align:center}
  .aj-volet{top:auto;height:92vh;width:100vw;border-radius:22px 22px 0 0;transform:translateY(104%)}
  .aj-volet.on{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .aj-n{animation:none;transition:none}
  .aj-st,.aj-tuile,.aj-carte,.aj-lg,.aj-ev,.aj-it,.aj-bandeau,.aj-pipe{animation:none;opacity:1}
  .aj-p-etapes::after,.aj-rail i{animation:none}
}
