/* Eva — l'app iPhone de la direction (06/10/2026).
   Mêmes gestes que l'app TG Invest (Poste de pilotage) : grand titre qui se replie, cartes sans bordure,
   barre d'onglets flottante, tirer pour actualiser, feuilles d'action, zones de pouce de 44 px —
   aux couleurs d'Eva (violet), clair le jour, nuit violette le soir. */
:root{
  --ground:#F4F2FA; --surface:#FFFFFF; --surface-2:#F7F5FC; --surface-3:#ECE8F6;
  --ink:#16122E; --ink-2:#3F3A5E; --mute:#78739B; --line:#E2DDF0; --line-2:#ECE8F5;
  --eva:#6D28D9; --eva-2:#8B5CF6; --eva-tint:#F0EAFF; --eva-ink:#5B21B6;
  --gain:#0E9F6E; --gain-tint:#E4F6EE; --gain-ink:#05714F;
  --loss:#E5484D; --loss-tint:#FDECEC; --loss-ink:#B42318;
  --flag:#D97706; --flag-tint:#FFF3DE; --flag-ink:#9A5300;
  --info:#2F6BFF; --info-tint:#EAF0FF;
  --ombre:0 1px 2px rgba(40,20,90,.04), 0 10px 26px -16px rgba(60,20,140,.22);
  --ombre-haute:0 24px 60px -18px rgba(30,10,80,.45);
  --hero:linear-gradient(145deg,#3B0F8C 0%,#6D28D9 52%,#A855F7 100%);
  --max:680px; --r:22px;
  --seg:#FFFFFF;
  color-scheme:light dark;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ground:#0C0A17; --surface:#171428; --surface-2:#1D1A33; --surface-3:#28244A;
    --ink:#F3F1FB; --ink-2:#CFCBE7; --mute:#938FB4; --line:#2E2A4F; --line-2:#232040;
    --eva:#A78BFA; --eva-2:#C4B5FD; --eva-tint:#2A2150; --eva-ink:#C4B5FD;
    --gain:#34D399; --gain-tint:#0F2A22; --gain-ink:#6EE7B7;
    --loss:#F87171; --loss-tint:#2E1519; --loss-ink:#FCA5A5;
    --flag:#FBBF24; --flag-tint:#2C2210; --flag-ink:#FCD34D;
    --info:#7AA2FF; --info-tint:#16213F;
    --ombre:0 0 0 1px rgba(255,255,255,.06); --ombre-haute:0 24px 60px -18px rgba(0,0,0,.7);
    --hero:linear-gradient(145deg,#2A0B66 0%,#5B21B6 55%,#8B3FE0 100%);
    --seg:#3A3466;
  }
}
:root[data-theme="dark"]{
  --ground:#0C0A17; --surface:#171428; --surface-2:#1D1A33; --surface-3:#28244A;
  --ink:#F3F1FB; --ink-2:#CFCBE7; --mute:#938FB4; --line:#2E2A4F; --line-2:#232040;
  --eva:#A78BFA; --eva-2:#C4B5FD; --eva-tint:#2A2150; --eva-ink:#C4B5FD;
  --gain:#34D399; --gain-tint:#0F2A22; --gain-ink:#6EE7B7;
  --loss:#F87171; --loss-tint:#2E1519; --loss-ink:#FCA5A5;
  --flag:#FBBF24; --flag-tint:#2C2210; --flag-ink:#FCD34D;
  --info:#7AA2FF; --info-tint:#16213F;
  --ombre:0 0 0 1px rgba(255,255,255,.06); --ombre-haute:0 24px 60px -18px rgba(0,0,0,.7);
  --hero:linear-gradient(145deg,#2A0B66 0%,#5B21B6 55%,#8B3FE0 100%);
  --seg:#3A3466;
}

*{box-sizing:border-box; margin:0; padding:0; -webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
html{scroll-padding-top:60px; -webkit-text-size-adjust:100%}
body{font-family:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", system-ui, sans-serif; background:var(--ground); color:var(--ink);
  -webkit-font-smoothing:antialiased; line-height:1.4; padding-bottom:calc(118px + env(safe-area-inset-bottom, 0px)); overflow-wrap:anywhere; min-height:100vh}
button, input, textarea, select{font:inherit; color:inherit}
a{color:var(--eva)}
svg{flex:none}

/* ── barre du haut + grand titre ── */
.ev-haut{position:sticky; top:0; z-index:40; padding-top:env(safe-area-inset-top, 0px); transition:background .2s ease, box-shadow .2s ease}
.ev-replie .ev-haut{background:color-mix(in srgb, var(--ground) 82%, transparent);
  -webkit-backdrop-filter:saturate(1.8) blur(20px); backdrop-filter:saturate(1.8) blur(20px); box-shadow:0 1px 0 var(--line-2)}
.ev-haut-in{max-width:var(--max); margin:0 auto; height:52px; padding:0 12px; display:grid; grid-template-columns:minmax(120px,1fr) auto minmax(120px,1fr); align-items:center}
.ev-haut-g{justify-self:start; min-width:0; display:flex; align-items:center}
.ev-date{padding-left:8px; font-size:14px; font-weight:650; color:var(--mute); white-space:nowrap; transition:opacity .18s}
.ev-replie .ev-date{opacity:0}
.ev-vue-fiche .ev-date{display:none}
.ev-retour{display:inline-flex; align-items:center; gap:2px; color:var(--eva); font-weight:600; font-size:16px; text-decoration:none; min-height:44px; padding:0 6px 0 2px; white-space:nowrap}
.ev-retour svg{width:22px; height:22px}
.ev-petit-titre{font-weight:700; font-size:16px; letter-spacing:-.01em; text-align:center; opacity:0; transform:translateY(4px);
  transition:opacity .18s, transform .18s; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:56vw}
.ev-replie .ev-petit-titre{opacity:1; transform:none}
.ev-droite{justify-self:end; display:flex; gap:8px; align-items:center}
.ev-rond{width:40px; height:40px; border-radius:50%; border:0; background:var(--surface); box-shadow:var(--ombre); color:var(--ink-2);
  display:grid; place-items:center; cursor:pointer}
.ev-rond svg{width:19px; height:19px}
.ev-rond.tourne svg{animation:ev-tour .9s linear infinite}
@keyframes ev-tour{to{transform:rotate(360deg)}}
.ev-moi{width:40px; height:40px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 2px var(--surface), 0 6px 16px -8px rgba(80,30,180,.6); display:block}
.ev-moi img{width:100%; height:100%; object-fit:cover; object-position:50% 12%; display:block; background:#EDE7FF}
.ev-grand{max-width:var(--max); margin:0 auto; padding:0 20px 2px; display:flex; align-items:flex-end; justify-content:space-between; gap:12px}
.ev-titre{font-size:34px; font-weight:800; letter-spacing:-.035em; line-height:1.1}
.ev-sous-titre{font-size:14px; font-weight:600; color:var(--mute); margin-bottom:5px; white-space:nowrap}
.ev-vue-fiche .ev-grand{display:none}

.ev-tirer{position:fixed; left:50%; top:calc(env(safe-area-inset-top, 0px) + 8px); z-index:45; width:36px; height:36px; margin-left:-18px;
  border-radius:50%; background:var(--surface); box-shadow:var(--ombre-haute); display:grid; place-items:center; color:var(--eva);
  opacity:0; transform:translateY(-40px); pointer-events:none}
.ev-tirer svg{width:18px; height:18px}
.ev-tirer.pret{color:var(--gain)}

.ev-main{max-width:var(--max); margin:0 auto; padding:14px 16px 24px; display:flex; flex-direction:column; gap:12px}
.ev-main:focus{outline:none}
.ev-attente{padding:56px 0; text-align:center; color:var(--mute)}
.ev-entre > *{animation:ev-entre .32s cubic-bezier(.2,.7,.2,1) both}
.ev-entre > *:nth-child(2){animation-delay:.03s} .ev-entre > *:nth-child(3){animation-delay:.06s}
.ev-entre > *:nth-child(4){animation-delay:.09s} .ev-entre > *:nth-child(n+5){animation-delay:.12s}
@keyframes ev-entre{from{opacity:0; transform:translateY(8px)}}

.ev-sec{display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:16px 4px -2px}
.ev-sec h2{font-size:20px; font-weight:800; letter-spacing:-.02em}
.ev-sec h2 small{font-size:15px; font-weight:700; color:var(--mute); margin-left:6px; font-variant-numeric:tabular-nums}
.ev-sec a, .ev-sec button{font-size:15px; font-weight:600; color:var(--eva); text-decoration:none; border:0; background:none; cursor:pointer; padding:6px 0}

/* ── barre d'onglets flottante ── */
.ev-nav{position:fixed; left:50%; transform:translateX(-50%); z-index:50; bottom:max(12px, calc(env(safe-area-inset-bottom, 0px) - 6px));
  width:min(440px, calc(100% - 24px)); height:64px; padding:6px; border-radius:32px; display:grid; grid-template-columns:repeat(5,1fr); gap:2px;
  background:color-mix(in srgb, var(--surface) 78%, transparent); -webkit-backdrop-filter:saturate(1.8) blur(24px); backdrop-filter:saturate(1.8) blur(24px);
  box-shadow:0 0 0 1px var(--line), 0 14px 36px -14px rgba(40,10,100,.4)}
.ev-nav a{border-radius:26px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0;
  text-decoration:none; color:var(--mute); font-size:10px; font-weight:650; position:relative; transition:background .18s, color .18s}
.ev-nav a svg{width:23px; height:23px}
.ev-nav a[aria-current="page"]{color:var(--eva); background:var(--eva-tint)}
.ev-pastille{position:absolute; top:3px; left:calc(50% + 5px); min-width:18px; height:18px; padding:0 5px; border-radius:9px; background:var(--loss);
  color:#fff; font-size:11px; font-weight:700; line-height:18px; text-align:center; font-variant-numeric:tabular-nums; box-shadow:0 0 0 2px var(--surface)}

/* micro flottant (dicter à Eva) */
.ev-micro{position:fixed; z-index:49; right:max(16px, calc(50% - 324px)); bottom:calc(max(12px, env(safe-area-inset-bottom, 0px) - 6px) + 76px);
  width:58px; height:58px; border-radius:50%; border:0; cursor:pointer; color:#fff; display:grid; place-items:center;
  background:var(--hero); box-shadow:0 14px 30px -10px rgba(91,33,182,.75), 0 0 0 4px color-mix(in srgb, var(--ground) 70%, transparent)}
.ev-micro svg{width:26px; height:26px}
.ev-micro:active{transform:scale(.95)}

:is(.ev-rond, .ev-nav a, .ev-rang, .ev-btn, .ev-retour, .ev-segment button, .ev-option, .ev-coche, .ev-puce, .ev-micro, .ev-raccourci):focus-visible{outline:3px solid var(--eva); outline-offset:2px}

/* ── cartes ── */
.ev-carte{background:var(--surface); border-radius:var(--r); box-shadow:var(--ombre); overflow:hidden; min-width:0}
.ev-carte-p{padding:16px}
.ev-carte-t{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 16px 4px; font-weight:750; font-size:15px}
.ev-carte-t small{font-weight:600; color:var(--mute); font-size:13px}
.ev-vide{padding:16px; color:var(--mute); font-size:14px; line-height:1.5}
.ev-note-bas{padding:0 16px 14px; color:var(--mute); font-size:12.5px; line-height:1.45}

/* héros : le mot d'Eva */
.ev-hero{position:relative; overflow:hidden; border-radius:26px; padding:18px 18px 16px; color:#fff; background:var(--hero);
  box-shadow:0 22px 44px -24px rgba(91,33,182,.75)}
.ev-hero::before, .ev-hero::after{content:""; position:absolute; border-radius:50%; pointer-events:none}
.ev-hero::before{width:260px; height:260px; right:-90px; top:-120px; background:radial-gradient(circle, rgba(255,255,255,.26), rgba(255,255,255,0) 68%)}
.ev-hero::after{width:200px; height:200px; left:-80px; bottom:-130px; background:radial-gradient(circle, rgba(236,72,153,.45), rgba(236,72,153,0) 70%)}
.ev-hero > *{position:relative}
.ev-hero-t{display:flex; align-items:center; gap:12px}
.ev-hero-av{width:52px; height:52px; border-radius:50%; overflow:hidden; flex:none; box-shadow:0 0 0 3px rgba(255,255,255,.35)}
.ev-hero-av img{width:100%; height:100%; object-fit:cover; object-position:50% 12%; display:block; background:#EDE7FF}
.ev-hero-qui{font-size:13px; font-weight:700; opacity:.85}
.ev-hero-titre{font-size:19px; font-weight:800; letter-spacing:-.02em; line-height:1.2}
.ev-hero-dit{font-size:16px; line-height:1.5; margin-top:12px; font-weight:500}
.ev-hero-chiffres{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px}
.ev-hero-chiffres a{display:block; text-decoration:none; color:#fff; background:rgba(255,255,255,.14); border-radius:14px; padding:9px 10px 8px}
.ev-hero-chiffres b{display:block; font-size:22px; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; line-height:1.1}
.ev-hero-chiffres span{font-size:12px; opacity:.85}
.ev-hero-bas{display:flex; justify-content:space-between; gap:10px; margin-top:10px; font-size:12px; opacity:.75}

/* bandeau d'installation / de notifications */
.ev-offre{display:flex; gap:12px; align-items:flex-start; padding:14px 16px}
.ev-offre .ev-av{width:40px; height:40px; border-radius:12px}
.ev-offre-t{font-weight:750; font-size:15px}
.ev-offre-s{font-size:13.5px; color:var(--ink-2); line-height:1.45; margin-top:2px}

/* ── pastilles ── */
.ev-pill{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; padding:3px 9px; border-radius:99px; background:var(--surface-3);
  color:var(--ink-2); white-space:nowrap; line-height:1.35}
.ev-pill.violet{background:var(--eva-tint); color:var(--eva-ink)} .ev-pill.vert{background:var(--gain-tint); color:var(--gain-ink)}
.ev-pill.rouge{background:var(--loss-tint); color:var(--loss-ink)} .ev-pill.orange{background:var(--flag-tint); color:var(--flag-ink)}
.ev-pill.bleu{background:var(--info-tint); color:var(--info)}
.ev-pill.projet{background:color-mix(in srgb, var(--c) 13%, var(--surface)); color:color-mix(in srgb, var(--c) 62%, var(--ink)); max-width:100%; overflow:hidden; text-overflow:ellipsis}
.ev-pill{max-width:100%}
.ev-pill.projet i{width:7px; height:7px; border-radius:50%; background:var(--c); display:block}
.ev-pills{display:flex; flex-wrap:wrap; gap:6px; align-items:center}

/* ── avatars ── */
.ev-av{--c:var(--eva); position:relative; flex:none; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; font-size:20px;
  color:var(--c); background:color-mix(in srgb, var(--c) 14%, var(--surface))}
.ev-av svg{width:20px; height:20px}
.ev-av.carre{border-radius:13px}
.ev-av.lettres{font-size:15px; font-weight:750}

/* ── rangées ── */
.ev-rang{display:flex; align-items:center; gap:12px; padding:11px 14px 11px 16px; text-decoration:none; color:inherit; min-height:62px; position:relative;
  width:100%; border:0; background:none; text-align:left; cursor:pointer}
.ev-rang + .ev-rang::before{content:""; position:absolute; top:0; right:0; left:70px; height:1px; background:var(--line-2)}
.ev-rang:active{background:var(--surface-2)}
.ev-rang-c{flex:1; min-width:0; display:flex; flex-direction:column; gap:2px}
.ev-rang-t{font-weight:650; font-size:15.5px; letter-spacing:-.01em; line-height:1.3; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ev-rang-s{font-size:13px; color:var(--mute); line-height:1.4; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical}
.ev-rang-d{flex:none; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:3px; font-size:12.5px; color:var(--mute)}
.ev-chevron{width:8px; height:13px; flex:none; color:var(--mute); opacity:.45}
.ev-rang.fait .ev-rang-t{text-decoration:line-through; color:var(--mute)}

/* case à cocher ronde (fait en un toucher) */
.ev-coche{flex:none; width:30px; height:30px; border-radius:50%; border:2px solid var(--line); background:var(--surface); display:grid; place-items:center;
  cursor:pointer; color:transparent; transition:all .18s; margin:-4px 0}
.ev-coche svg{width:15px; height:15px}
.ev-coche:active{transform:scale(.9)}
.ev-coche.ok{background:var(--gain); border-color:var(--gain); color:#fff}
.ev-palier-retard .ev-coche{border-color:var(--loss)}
.ev-palier-j .ev-coche{border-color:var(--flag)}

.ev-groupe{font-size:12px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; color:var(--mute); padding:12px 16px 2px}
.ev-groupe.rouge{color:var(--loss)} .ev-groupe.orange{color:var(--flag)} .ev-groupe.violet{color:var(--eva)}

/* ── décisions ── */
.ev-decision{padding:14px 16px 16px; display:flex; flex-direction:column; gap:10px}
.ev-decision + .ev-decision{border-top:1px solid var(--line-2)}
.ev-decision-q{font-size:17px; font-weight:750; letter-spacing:-.015em; line-height:1.3}
.ev-decision-p{font-size:13.5px; color:var(--ink-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; cursor:pointer}
.ev-decision-p.ouvert{-webkit-line-clamp:unset; display:block}
.ev-options{display:flex; flex-direction:column; gap:8px}
.ev-option{display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:48px; padding:10px 14px; border-radius:14px;
  border:1.5px solid var(--line); background:var(--surface); font-size:15px; font-weight:600; text-align:left; cursor:pointer; color:var(--ink)}
.ev-option:active{transform:scale(.99); background:var(--surface-2)}
.ev-option.reco{border-color:color-mix(in srgb, var(--eva) 55%, var(--line)); background:var(--eva-tint)}
.ev-option small{font-size:11px; font-weight:750; color:var(--eva-ink); text-transform:uppercase; letter-spacing:.04em; white-space:nowrap}
.ev-option.choisi{border-color:var(--gain); background:var(--gain-tint)}
.ev-decision-r{font-size:14px; color:var(--gain-ink); font-weight:650}

/* ── projets (carrousel + liste) ── */
.ev-carrousel{display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  margin:0 -16px; padding:2px 16px 6px; scroll-padding:0 16px}
.ev-carrousel::-webkit-scrollbar{display:none}
.ev-pc{flex:none; width:min(78%, 300px); scroll-snap-align:start; background:var(--surface); border-radius:var(--r); box-shadow:var(--ombre);
  padding:14px; text-decoration:none; color:inherit; display:flex; flex-direction:column; gap:10px}
.ev-pc-h{display:flex; align-items:center; gap:12px}
.ev-pc-t{font-weight:750; font-size:15.5px; line-height:1.28; letter-spacing:-.01em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ev-pc-s{font-size:12.5px; color:var(--mute)}
.ev-pc-e{font-size:13px; color:var(--ink-2); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ev-pc-e b{color:var(--mute); font-weight:650}

.ev-anneau{position:relative; flex:none; width:52px; height:52px; display:grid; place-items:center}
.ev-anneau svg{position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg)}
.ev-anneau circle{fill:none; stroke-width:5}
.ev-anneau .f{stroke:var(--surface-3)}
.ev-anneau .v{stroke:var(--c, var(--eva)); stroke-linecap:round; transition:stroke-dasharray .6s cubic-bezier(.2,.7,.2,1)}
.ev-anneau span{font-size:20px; line-height:1}

.ev-frise{display:flex; gap:3px}
.ev-frise i{flex:1; height:7px; border-radius:99px; background:var(--surface-3)}
.ev-frise i.fait{background:var(--gain)} .ev-frise i.en_cours{background:var(--c, var(--eva))} .ev-frise i.en_attente{background:var(--flag)}
.ev-frise.grande i{height:9px}

.ev-projet{padding:16px; display:flex; flex-direction:column; gap:12px; text-decoration:none; color:inherit}
.ev-projet-h{display:flex; gap:12px; align-items:center}
.ev-projet-h .ev-av{width:48px; height:48px; border-radius:15px; font-size:24px}
.ev-projet-t{font-weight:800; font-size:17px; letter-spacing:-.02em; line-height:1.25}
.ev-projet-s{font-size:13px; color:var(--mute); margin-top:2px}
.ev-compteurs{display:flex; flex-wrap:wrap; gap:6px}
.ev-ensuite{font-size:13.5px; color:var(--ink-2); line-height:1.45}
.ev-ensuite b{color:var(--mute); font-weight:650}

/* ── fiche projet ── */
.ev-fiche-tete{display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:4px 8px 2px}
.ev-fiche-tete .ev-av{width:80px; height:80px; border-radius:26px; font-size:40px; color:#fff;
  background:linear-gradient(140deg, var(--c), color-mix(in srgb, var(--c) 50%, #C4B5FD)); box-shadow:0 14px 30px -14px color-mix(in srgb, var(--c) 85%, transparent)}
.ev-fiche-tete h2{font-size:24px; font-weight:800; letter-spacing:-.03em; line-height:1.18; margin-top:6px}
.ev-fiche-tete p{font-size:14.5px; color:var(--mute); line-height:1.45}
.ev-raccourcis{display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:10px; margin-top:4px}
.ev-raccourci{display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 4px 10px; border-radius:18px; border:0; background:var(--surface);
  box-shadow:var(--ombre); text-decoration:none; color:var(--eva); font-size:12.5px; font-weight:650; min-width:0; cursor:pointer}
.ev-raccourci svg{width:22px; height:22px}
.ev-raccourci span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:100%}
.ev-kpis{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px}
.ev-kpi{background:var(--surface); border-radius:18px; box-shadow:var(--ombre); padding:12px 13px; min-width:0}
.ev-kpi b{display:block; font-size:24px; font-weight:800; letter-spacing:-.03em; font-variant-numeric:tabular-nums; line-height:1.1}
.ev-kpi span{display:block; font-size:12.5px; color:var(--ink-2); font-weight:650; margin-top:2px}
.ev-kpi small{display:block; font-size:12px; color:var(--mute); line-height:1.35; margin-top:2px}

/* phases (frise verticale) */
.ev-phases{list-style:none; padding:10px 16px 14px; display:flex; flex-direction:column}
.ev-phase{display:grid; grid-template-columns:24px 1fr; gap:12px; position:relative; padding-bottom:16px}
.ev-phase:last-child{padding-bottom:0}
.ev-phase::before{content:""; position:absolute; left:11px; top:24px; bottom:0; width:2px; background:var(--surface-3)}
.ev-phase:last-child::before{display:none}
.ev-phase-p{width:24px; height:24px; border-radius:50%; border:2px solid var(--line); background:var(--surface); display:grid; place-items:center;
  position:relative; z-index:1; font-size:12px}
.ev-phase-p svg{width:12px; height:12px}
.ev-phase.fait .ev-phase-p{background:var(--gain); border-color:var(--gain); color:#fff}
.ev-phase.fait::before{background:var(--gain)}
.ev-phase.en_cours .ev-phase-p{border-color:var(--c, var(--eva)); box-shadow:0 0 0 4px color-mix(in srgb, var(--c, var(--eva)) 18%, transparent)}
.ev-phase.en_cours .ev-phase-p::after{content:""; width:9px; height:9px; border-radius:50%; background:var(--c, var(--eva))}
.ev-phase.en_attente .ev-phase-p{border-color:var(--flag); background:var(--flag-tint)}
.ev-phase.en_attente .ev-phase-p::after{content:""; width:9px; height:9px; border-radius:50%; background:var(--flag)}
.ev-phase-t{font-weight:750; font-size:15px; display:flex; align-items:center; gap:8px; justify-content:space-between; min-height:24px}
.ev-phase-t small{font-weight:650; font-size:12px; color:var(--mute); font-variant-numeric:tabular-nums}
.ev-phase.a_venir .ev-phase-t{color:var(--mute)}
.ev-etapes{margin:6px 0 0; display:flex; flex-direction:column; gap:2px}
.ev-etape{display:flex; align-items:flex-start; gap:10px; padding:8px 8px 8px 0; border:0; background:none; text-align:left; cursor:pointer; width:100%; border-radius:10px}
.ev-etape:active{background:var(--surface-2)}
.ev-etape .ev-coche{width:24px; height:24px; margin:0}
.ev-etape .ev-coche svg{width:12px; height:12px}
.ev-etape-c{flex:1; min-width:0}
.ev-etape-t{font-size:14.5px; font-weight:600; line-height:1.35; display:block}
.ev-etape-s{font-size:12.5px; color:var(--mute); line-height:1.4; display:block; margin-top:1px}
.ev-etape.fait .ev-etape-t, .ev-etape.annule .ev-etape-t{text-decoration:line-through; color:var(--mute); font-weight:500}
.ev-etape.annule{opacity:.55}

/* ── segments, puces ── */
.ev-segment{display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:2px; padding:3px; border-radius:13px; background:var(--surface-3)}
.ev-segment button{border:0; background:none; border-radius:10px; min-height:36px; font-size:13px; font-weight:650; color:var(--ink-2); cursor:pointer;
  padding:4px 2px; white-space:nowrap; display:flex; align-items:center; justify-content:center; gap:4px}
.ev-segment button[aria-pressed="true"]{background:var(--seg); color:var(--ink); box-shadow:0 1px 3px rgba(20,10,60,.16)}
.ev-puces{display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; -webkit-overflow-scrolling:touch; margin:0 -16px; padding:2px 16px}
.ev-puces::-webkit-scrollbar{display:none}
.ev-puce{flex:none; display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600; min-height:36px; padding:6px 13px; border-radius:99px;
  border:0; background:var(--surface); box-shadow:var(--ombre); color:var(--ink-2); cursor:pointer; white-space:nowrap; text-decoration:none}
.ev-puce[aria-pressed="true"]{background:var(--ink); color:var(--ground)}

/* ── semaine ── */
.ev-jour{font-size:13px; font-weight:750; color:var(--mute); margin:14px 6px -4px; display:flex; justify-content:space-between}
.ev-jour.auj{color:var(--eva)}
.ev-ag{display:flex; gap:12px; align-items:flex-start; padding:10px 16px; position:relative; width:100%; border:0; background:none; text-align:left; cursor:pointer; color:inherit; text-decoration:none}
.ev-ag + .ev-ag::before{content:""; position:absolute; top:0; right:0; left:44px; height:1px; background:var(--line-2)}
.ev-ag-i{width:18px; display:grid; place-items:center; padding-top:3px; flex:none}
.ev-ag-i i{width:9px; height:9px; border-radius:50%; background:var(--c, var(--mute)); display:block}
.ev-ag-c{flex:1; min-width:0}
.ev-ag-t{font-size:14.5px; font-weight:600; line-height:1.35}
.ev-ag-s{font-size:12.5px; color:var(--mute); margin-top:1px}
.ev-ag.agenda .ev-ag-t{font-weight:500; color:var(--ink-2)}
.ev-ag.fait .ev-ag-t{text-decoration:line-through; color:var(--mute)}
.ev-hebdo-intro{padding:4px 16px 12px; font-size:15.5px; line-height:1.55}
.ev-priorites{list-style:none; counter-reset:p; padding:0 16px 12px; display:flex; flex-direction:column; gap:8px}
.ev-priorites li{counter-increment:p; display:flex; gap:10px; font-size:14.5px; line-height:1.45; font-weight:550}
.ev-priorites li::before{content:counter(p); flex:none; width:24px; height:24px; border-radius:50%; background:var(--eva-tint); color:var(--eva-ink);
  font-weight:800; font-size:13px; display:grid; place-items:center}
.ev-hp{padding:12px 16px; border-top:1px solid var(--line-2); display:flex; flex-direction:column; gap:4px}
.ev-hp-t{font-weight:750; font-size:15px}
.ev-hp p{font-size:13.5px; line-height:1.5; color:var(--ink-2)}
.ev-hp p b{color:var(--mute); font-weight:650}
.ev-hp p.vig{color:var(--flag-ink)}

/* ── kChat ── */
.ev-fil{display:flex; flex-direction:column; gap:6px; max-height:42vh; overflow-y:auto; padding:4px 2px; margin:0 -2px}
.ev-m{max-width:88%; padding:8px 12px; border-radius:16px; background:var(--surface-3); font-size:14.5px; line-height:1.45; white-space:pre-wrap; align-self:flex-start}
.ev-m small{display:block; font-size:11.5px; font-weight:700; color:var(--mute); margin-bottom:2px}
.ev-m.nl{background:var(--eva-tint)}
.ev-m.moi{align-self:flex-end; background:var(--eva); color:#fff}
.ev-m.moi small{color:rgba(255,255,255,.75)}
.ev-sep{align-self:center; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--eva); padding:2px 8px}

/* ── boutons ── */
.ev-btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:50px; padding:0 18px; border-radius:15px; border:0;
  background:var(--surface-3); color:var(--ink); font-size:16px; font-weight:650; cursor:pointer; text-decoration:none; width:100%; text-align:center}
.ev-btn svg{width:20px; height:20px}
.ev-btn.eva{background:var(--eva); color:#fff}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ev-btn.eva{background:#7C3AED} }
.ev-btn.vert{background:var(--gain); color:#fff}
.ev-btn.rouge{background:var(--loss-tint); color:var(--loss-ink)}
.ev-btn.clair{background:var(--eva-tint); color:var(--eva-ink)}
.ev-btn.petit{min-height:40px; font-size:14px; border-radius:12px; padding:0 12px}
.ev-btn[disabled]{opacity:.45; cursor:not-allowed}
.ev-btns{display:flex; flex-direction:column; gap:8px; padding:4px 16px 16px}
.ev-grille{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.ev-grille.trois{grid-template-columns:repeat(3,1fr)}

/* ── feuille d'action ── */
.ev-voile{position:fixed; inset:0; background:rgba(10,5,30,.45); z-index:80; animation:ev-fondu .2s ease both}
@keyframes ev-fondu{from{opacity:0}}
.ev-feuille{position:fixed; left:0; right:0; bottom:0; z-index:90; background:var(--surface); border-radius:26px 26px 0 0;
  padding:8px 20px calc(20px + env(safe-area-inset-bottom, 0px)); max-height:92vh; overflow:auto; -webkit-overflow-scrolling:touch;
  box-shadow:0 -20px 60px -20px rgba(0,0,0,.35); display:flex; flex-direction:column; gap:12px; animation:ev-monte .28s cubic-bezier(.2,.8,.2,1) both}
@keyframes ev-monte{from{transform:translateY(40%); opacity:0}}
@media (min-width:640px){ .ev-feuille{left:50%; right:auto; bottom:auto; top:50%; transform:translate(-50%,-50%); width:min(540px, calc(100vw - 32px));
  border-radius:26px; padding-bottom:20px; animation:none} }
.ev-poignee{width:38px; height:5px; border-radius:3px; background:var(--line); margin:0 auto 4px; flex:none}
.ev-feuille h3{font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.25}
.ev-feuille p{font-size:15px; line-height:1.5; color:var(--ink-2)}
.ev-feuille-tete{display:flex; justify-content:space-between; align-items:flex-start; gap:10px}
.ev-fermer{flex:none; width:32px; height:32px; border-radius:50%; border:0; background:var(--surface-3); color:var(--mute); display:grid; place-items:center; cursor:pointer}
.ev-fermer svg{width:14px; height:14px}
.ev-encadre{background:var(--surface-2); border-radius:14px; padding:12px 14px; font-size:14px; line-height:1.5; color:var(--ink-2)}
.ev-encadre.eva{background:var(--eva-tint); color:var(--eva-ink)}
.ev-encadre.danger{background:var(--loss-tint); color:var(--loss-ink)}
.ev-champ{width:100%; font-size:16px; min-height:46px; padding:10px 12px; border-radius:14px; border:1px solid var(--line); background:var(--surface-2);
  color:var(--ink); -webkit-appearance:none; appearance:none}
textarea.ev-champ{min-height:120px; resize:vertical; line-height:1.5}
.ev-champ:focus{outline:2px solid var(--eva-2); border-color:transparent}
.ev-label{font-size:12px; font-weight:750; letter-spacing:.04em; text-transform:uppercase; color:var(--mute); margin-bottom:-6px}
.ev-ligne-champ{display:flex; gap:8px}
.ev-ligne-champ .ev-champ{flex:1}
.ev-ligne-champ .ev-btn{width:auto; flex:none}
.ev-dests{display:flex; flex-direction:column; border-radius:14px; overflow:hidden; background:var(--surface-2)}
.ev-dest{display:flex; gap:10px; align-items:center; padding:9px 12px; border:0; background:none; text-align:left; cursor:pointer; width:100%; min-height:48px}
.ev-dest + .ev-dest{border-top:1px solid var(--line-2)}
.ev-dest .ev-av{width:32px; height:32px; font-size:13px}
.ev-dest.choisi{background:var(--eva-tint)}
.ev-dest-c{flex:1; min-width:0}
.ev-dest-t{font-weight:650; font-size:14.5px; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; line-height:1.3}
.ev-dest-s{font-size:12px; color:var(--mute); line-height:1.3}

/* dictée */
.ev-dictee-micro{width:96px; height:96px; border-radius:50%; border:0; margin:6px auto 0; display:grid; place-items:center; color:#fff; cursor:pointer;
  background:var(--hero); box-shadow:0 18px 40px -16px rgba(91,33,182,.8)}
.ev-dictee-micro svg{width:40px; height:40px}
.ev-dictee-micro.ecoute{animation:ev-pouls 1.3s ease-in-out infinite}
@keyframes ev-pouls{0%,100%{box-shadow:0 0 0 0 rgba(139,92,246,.55), 0 18px 40px -16px rgba(91,33,182,.8)} 50%{box-shadow:0 0 0 18px rgba(139,92,246,0), 0 18px 40px -16px rgba(91,33,182,.8)}}
.ev-dictee-aide{text-align:center; font-size:13.5px; color:var(--mute)}
.ev-faits{list-style:none; display:flex; flex-direction:column; gap:6px}
.ev-faits li{font-size:14.5px; line-height:1.4; padding:9px 12px; background:var(--gain-tint); color:var(--gain-ink); border-radius:12px; font-weight:600}

.ev-toast{position:fixed; left:50%; transform:translateX(-50%); bottom:calc(max(12px, env(safe-area-inset-bottom, 0px) - 6px) + 78px); z-index:95;
  background:var(--ink); color:var(--ground); padding:10px 10px 10px 16px; border-radius:16px; font-size:14px; font-weight:600; width:max-content;
  max-width:calc(100vw - 32px); box-shadow:var(--ombre-haute); line-height:1.4; animation:ev-entre .25s ease both; display:flex; align-items:center; gap:12px}
.ev-toast button{border:0; background:color-mix(in srgb, var(--ground) 18%, transparent); color:var(--ground); font-weight:750; font-size:13.5px;
  border-radius:10px; padding:7px 11px; cursor:pointer; flex:none}
.ev-toast:not(:has(button)){padding-right:16px}

/* connexion */
.ev-accueil{min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; text-align:center; padding:24px 8px}
.ev-accueil .ev-portrait{width:112px; height:112px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 5px var(--surface), 0 24px 50px -18px rgba(91,33,182,.75)}
.ev-accueil .ev-portrait img{width:100%; height:100%; object-fit:cover; object-position:50% 10%; display:block; background:#EDE7FF}
.ev-accueil h2{font-size:30px; font-weight:800; letter-spacing:-.03em}
.ev-accueil p{color:var(--mute); max-width:34ch; line-height:1.5}
.ev-accueil .ev-btn{max-width:300px; margin-top:6px}
.ev-vue-connexion .ev-nav, .ev-vue-connexion .ev-micro, .ev-vue-connexion .ev-grand{display:none}

.ev-kv{display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:11px 16px; font-size:14.5px; position:relative}
.ev-kv + .ev-kv::before{content:""; position:absolute; top:0; left:16px; right:0; height:1px; background:var(--line-2)}
.ev-kv > span:first-child{color:var(--mute); flex:none; max-width:55%}
.ev-kv > span:last-child{text-align:right; min-width:0; font-weight:550}
details.ev-details > summary{cursor:pointer; padding:14px 16px; font-size:15px; font-weight:650; list-style:none; display:flex; justify-content:space-between; align-items:center; min-height:48px}
details.ev-details > summary::-webkit-details-marker{display:none}
details.ev-details > summary::after{content:""; width:8px; height:8px; border-right:2px solid var(--mute); border-bottom:2px solid var(--mute); transform:rotate(45deg);
  margin:-4px 4px 0 0; transition:transform .2s; opacity:.6}
details.ev-details[open] > summary::after{transform:rotate(-135deg); margin-top:4px}
details.ev-details > summary small{font-weight:600; color:var(--mute); font-size:13px; margin-left:auto; margin-right:12px}
.ev-texte{font-size:14.5px; line-height:1.55; color:var(--ink-2); white-space:pre-wrap; padding:0 16px 14px}

/* Les couleurs de projet foncées (bleu nuit du gala) restent visibles la nuit. */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) :is(.ev-frise i.en_cours, .ev-phase.en_cours .ev-phase-p::after, .ev-pill.projet i){background:color-mix(in srgb, var(--c) 55%, white)}
  :root:not([data-theme="light"]) .ev-phase.en_cours .ev-phase-p{border-color:color-mix(in srgb, var(--c) 55%, white)}
  :root:not([data-theme="light"]) .ev-anneau .v{stroke:color-mix(in srgb, var(--c) 60%, white)}
  :root:not([data-theme="light"]) .ev-pill.projet{color:color-mix(in srgb, var(--c) 40%, white)} }

@media (prefers-reduced-motion: reduce){
  .ev-rond.tourne svg, .ev-entre > *, .ev-feuille, .ev-voile, .ev-toast, .ev-dictee-micro.ecoute{animation:none}
  .ev-anneau .v, .ev-petit-titre{transition:none}
}

/* ════════════════════════════════════════════════════════════════════
   ATELIER (15/10/2026) — choisi par Gautier : Eva en portrait, UNE priorité, un plan, un geste.
   iPhone : Eva en tête de l'écran Aujourd'hui, barre « Répondez à Eva » au-dessus des onglets.
   Mac (≥ 1100 px) : Eva a sa colonne à gauche, en permanence ; la conversation s'ouvre à droite.
   ════════════════════════════════════════════════════════════════════ */
:root{--serif:ui-serif, "New York", "Iowan Old Style", Palatino, Georgia, serif; --or:#B8862E; --creme:#F7F1E6}
.ev-lab{font-size:12px; font-weight:750; letter-spacing:.14em; text-transform:uppercase; color:var(--mute); margin:18px 4px -2px}
.ev-lab small{letter-spacing:0; text-transform:none; font-weight:600; font-size:12.5px}

/* Eva, en tête de l'écran (iPhone) */
.ev-atelier{position:relative; display:grid; grid-template-columns:118px 1fr; gap:12px; align-items:end; margin:-6px -16px 0; padding:0 18px 18px;
  background:linear-gradient(180deg, color-mix(in srgb, var(--eva-tint) 80%, transparent), var(--creme)); border-radius:0 0 30px 30px; overflow:hidden}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ev-atelier{background:linear-gradient(180deg,#221A3E,#17132A)} }
:root[data-theme="dark"] .ev-atelier{background:linear-gradient(180deg,#221A3E,#17132A)}
.ev-atelier-p{height:170px; align-self:end; margin-bottom:-18px}
.ev-atelier-p img{height:100%; width:auto; max-width:none; margin-left:-24px; object-fit:cover; object-position:top; mix-blend-mode:multiply;
  -webkit-mask-image:linear-gradient(180deg,#000 78%,transparent); mask-image:linear-gradient(180deg,#000 78%,transparent)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .ev-atelier-p img{mix-blend-mode:normal; width:104px; height:104px; margin:0 0 30px; border-radius:50%; -webkit-mask-image:none; mask-image:none; box-shadow:0 0 0 4px rgba(167,139,250,.3)} }
:root[data-theme="dark"] .ev-atelier-p img{mix-blend-mode:normal; width:104px; height:104px; margin:0 0 30px; border-radius:50%; -webkit-mask-image:none; mask-image:none}
.ev-atelier-t{padding-top:14px; min-width:0}
.ev-atelier-n{font-family:var(--serif); font-size:30px; line-height:1; display:block}
.ev-atelier-r{font-size:12px; color:var(--mute); display:block; margin-top:3px}
.ev-atelier-q{font-family:var(--serif); font-size:18px; line-height:1.3; margin-top:10px; color:var(--ink)}
.ev-atelier-l{font-size:11.5px; color:var(--mute); display:block; margin-top:8px}

/* La priorité */
.ev-now{position:relative; background:var(--surface); border-radius:26px; padding:22px 20px 18px; box-shadow:var(--ombre), 0 30px 60px -34px rgba(60,20,140,.45); overflow:hidden}
.ev-now::before{content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,#0E375D,var(--eva-2),var(--or))}
.ev-now-tags{display:flex; gap:6px; flex-wrap:wrap}
.ev-now-tag{font-size:12px; font-weight:650; padding:5px 10px; border-radius:999px; background:var(--surface-2); color:var(--ink-2)}
.ev-now-tag.eva{background:var(--eva-tint); color:var(--eva-ink)}
.ev-now-tag.rouge{background:var(--loss-tint); color:var(--loss-ink)}
.ev-now-t{font-family:var(--serif); font-weight:500; font-size:30px; line-height:1.08; letter-spacing:-.01em; margin:14px 0 8px}
.ev-now-p{color:var(--ink-2); font-size:15px; line-height:1.45}
.ev-now-opts{display:grid; gap:8px; margin-top:14px}
.ev-now-bloc{margin-top:16px}
.ev-now-bloc-t{font-size:11.5px; font-weight:750; letter-spacing:.12em; text-transform:uppercase; color:var(--loss-ink); margin-bottom:8px}
.ev-now-grille{display:grid; gap:8px}
.ev-bk{display:grid; grid-template-columns:1fr auto; grid-template-areas:"t r" "q r"; gap:2px 10px; text-align:left; border:1px solid var(--line); background:var(--surface-2);
  border-radius:14px; padding:11px 13px; cursor:pointer; transition:border-color .15s, transform .12s}
.ev-bk:hover{border-color:var(--eva-2)} .ev-bk:active{transform:scale(.99)}
.ev-bk-r{grid-area:r; align-self:center; font-size:12px; font-weight:700; color:var(--loss-ink); white-space:nowrap}
.ev-bk-t{grid-area:t; font-weight:650; font-size:14.5px; line-height:1.3}
.ev-bk-q{grid-area:q; font-size:12.5px; color:var(--mute)}
.ev-now-plus{font-size:12.5px; color:var(--mute); margin:6px 2px 0}
.ev-plan{display:flex; gap:12px; align-items:flex-start; margin-top:16px; padding:14px 15px; border-radius:18px; background:var(--eva-tint)}
.ev-plan img{width:38px; height:38px; border-radius:50%; object-fit:cover; object-position:50% 12%; background:#fff; flex:none; box-shadow:0 0 0 2px var(--surface)}
.ev-plan p{font-size:15.5px; line-height:1.45; color:var(--ink)}
.ev-plan.attente p{color:var(--mute); animation:ev-respire 1.6s ease-in-out infinite}
@keyframes ev-respire{50%{opacity:.45}}
.ev-plan.fait{background:var(--gain-tint)}
.ev-plan-r{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px}
.ev-now-acts{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px}
.ev-go{display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:0 18px; border-radius:14px; border:1px solid var(--line);
  background:var(--surface); color:var(--ink); font-weight:650; font-size:15px; cursor:pointer; text-decoration:none; transition:transform .12s, box-shadow .2s}
.ev-go:hover{box-shadow:var(--ombre)} .ev-go:active{transform:scale(.98)}
.ev-go svg{width:17px; height:17px}
.ev-go.pri{background:var(--ink); color:var(--ground); border-color:transparent; flex:1 1 100%}
.ev-go.eva{background:var(--eva); color:#fff; border-color:transparent}
.ev-go.discret{border-color:transparent; background:none; color:var(--mute)}
.ev-go.petit{min-height:38px; padding:0 13px; font-size:13.5px; border-radius:11px}
.ev-go kbd{display:none; font:650 11px/1 -apple-system, system-ui, sans-serif; padding:3px 6px; border-radius:6px; border:1px solid currentColor; opacity:.45}
.ev-go:disabled{opacity:.6}

/* Ensuite */
.ev-ens-l{display:grid; gap:10px}
.ev-ens{display:grid; grid-template-columns:42px 1fr; gap:12px; align-items:start; background:var(--surface); border-radius:20px; padding:14px; box-shadow:var(--ombre)}
.ev-ens-e{width:42px; height:42px; border-radius:13px; display:grid; place-items:center; font-size:19px; background:color-mix(in srgb, var(--c, var(--eva)) 12%, var(--surface))}
.ev-ens-c{min-width:0}
.ev-ens-t{font-weight:650; font-size:15px; line-height:1.3}
.ev-ens-s{font-size:13px; color:var(--mute); margin-top:3px; line-height:1.35; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.ev-ens-o{display:flex; flex-wrap:wrap; gap:6px; margin-top:10px}
.ev-ens-a{grid-column:2; display:flex; gap:6px; flex-wrap:wrap; margin-top:-2px}
.ev-chip{font-size:13px; font-weight:600; padding:8px 12px; border-radius:11px; border:1px solid var(--line); background:var(--surface-2); cursor:pointer}
.ev-chip.reco{border-color:var(--eva-2); background:var(--eva-tint); color:var(--eva-ink)}

/* Ce qu'Eva a préparé */
.ev-tuiles{display:grid; grid-template-columns:repeat(2,1fr); gap:10px}
.ev-tuile{text-align:left; border:0; background:var(--surface); border-radius:18px; padding:14px; box-shadow:var(--ombre); cursor:pointer; display:flex; flex-direction:column}
.ev-tuile b{font-size:28px; font-weight:750; letter-spacing:-.03em; font-variant-numeric:tabular-nums; line-height:1.1}
.ev-tuile span{font-weight:650; font-size:14px}
.ev-tuile small{font-size:12px; color:var(--mute)}

/* Vos agents */
.ev-agents{display:flex; gap:8px; overflow-x:auto; padding:2px 2px 6px; scrollbar-width:none}
.ev-agents::-webkit-scrollbar{display:none}
.ev-ag{flex:none; min-width:74px; background:var(--surface); border-radius:16px; padding:10px 8px; text-align:center; box-shadow:var(--ombre); display:flex; flex-direction:column; align-items:center; gap:2px}
.ev-ag-e{font-size:19px} .ev-ag-n{font-weight:650; font-size:13px}
.ev-ag-c{font-size:11.5px; color:var(--mute); font-variant-numeric:tabular-nums}
.ev-ag-c i{display:inline-block; width:6px; height:6px; border-radius:50%; margin-right:4px; vertical-align:1px; background:var(--gain)}
.ev-ag-c i.ko{background:var(--loss)}
.ev-ag-note{font-size:13px; color:var(--ink-2); padding:12px 14px; border-radius:14px; border:1px dashed var(--line); line-height:1.45}

/* Barre « Répondez à Eva » */
.ev-compose{position:fixed; z-index:48; left:50%; transform:translateX(-50%); width:min(440px, calc(100% - 24px));
  bottom:calc(max(12px, env(safe-area-inset-bottom, 0px) - 6px) + 74px); display:flex; align-items:center; gap:8px; padding:6px 6px 6px 8px; border-radius:22px;
  background:color-mix(in srgb, var(--surface) 88%, transparent); -webkit-backdrop-filter:saturate(1.8) blur(24px); backdrop-filter:saturate(1.8) blur(24px);
  box-shadow:0 0 0 1px var(--line), 0 18px 40px -16px rgba(40,10,100,.45)}
.ev-compose[hidden]{display:none}
.ev-compose-eva{position:relative; border:0; padding:0; background:none; cursor:pointer; flex:none; border-radius:50%}
.ev-compose-nl{position:absolute; top:-2px; right:-2px; width:11px; height:11px; border-radius:50%; background:#E5484D; box-shadow:0 0 0 2px var(--surface)}
.ev-compose-nl[hidden]{display:none}
.ev-compose.non-lu input::placeholder{color:var(--eva); font-weight:600}
.ev-compose img{width:32px; height:32px; border-radius:50%; object-fit:cover; object-position:50% 12%; background:#fff; flex:none}
.ev-compose input{flex:1; min-width:0; border:0; outline:0; background:none; height:40px; font-size:16px}
.ev-compose-m{width:42px; height:42px; border-radius:14px; border:0; background:var(--hero); color:#fff; display:grid; place-items:center; cursor:pointer; flex:none}
.ev-compose-m svg{width:21px; height:21px}
.ev-compose-m.ecoute{animation:ev-respire 1s ease-in-out infinite}
.ev-connecte body{padding-bottom:calc(190px + env(safe-area-inset-bottom, 0px))}
.ev-toast{bottom:calc(max(12px, env(safe-area-inset-bottom, 0px) - 6px) + 136px)}

/* Conversation avec Eva */
.ev-chat{position:fixed; z-index:85; inset:0; background:var(--ground); display:flex; flex-direction:column; padding-top:env(safe-area-inset-top, 0px)}
.ev-chat[hidden]{display:none}
.ev-chat-h{display:flex; align-items:center; gap:12px; padding:12px 16px; border-bottom:1px solid var(--line-2)}
.ev-chat-h img{width:42px; height:42px; border-radius:50%; object-fit:cover; object-position:50% 12%; background:#fff}
.ev-chat-h div{flex:1; min-width:0} .ev-chat-h b{display:block; font-size:16px} .ev-chat-h span{font-size:12.5px; color:var(--mute)}
.ev-chat-fil{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px}
.ev-chat-vide{color:var(--mute); text-align:center; padding:40px 20px; font-size:14.5px; line-height:1.5}
.ev-bulle{max-width:88%; padding:11px 14px; border-radius:18px; font-size:15px; line-height:1.45}
.ev-bulle.eva{align-self:flex-start; background:var(--surface); box-shadow:var(--ombre); border-top-left-radius:6px}
.ev-bulle.moi{align-self:flex-end; background:var(--eva); color:#fff; border-top-right-radius:6px}
.ev-bulle.attend{display:flex; gap:5px; padding:15px 16px}
.ev-bulle.attend i{width:7px; height:7px; border-radius:50%; background:var(--mute); animation:ev-respire 1s infinite}
.ev-bulle.attend i:nth-child(2){animation-delay:.15s} .ev-bulle.attend i:nth-child(3){animation-delay:.3s}
.ev-attend-t{margin-left:10px; font-size:13px; color:var(--mute); font-variant-numeric:tabular-nums}
.ev-chat-sugg{display:flex; gap:6px; overflow-x:auto; padding:0 16px 8px; scrollbar-width:none}
.ev-chat-sugg button{flex:none; font-size:13px; padding:8px 12px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--ink-2); cursor:pointer}
.ev-chat-f{display:flex; gap:8px; padding:8px 12px calc(12px + env(safe-area-inset-bottom, 0px))}
.ev-chat-f input{flex:1; min-width:0; height:46px; border-radius:15px; border:1px solid var(--line); background:var(--surface); padding:0 14px; font-size:16px; outline:0}
.ev-chat-go{width:46px; height:46px; border-radius:15px; border:0; background:var(--eva); color:#fff; display:grid; place-items:center; cursor:pointer}
.ev-chat-go svg{width:20px; height:20px}
.ev-chat-ouvert .ev-compose, .ev-chat-ouvert .ev-nav{visibility:hidden}

/* Colonne d'Eva (Mac) — masquée sur iPhone */
.ev-eva{display:none}
@media (min-width:1100px){
  :root{--max:780px}
  .ev-connecte body{padding-left:380px; padding-bottom:120px}
  .ev-connecte .ev-eva{display:flex; flex-direction:column; position:fixed; z-index:30; left:0; top:0; bottom:0; width:380px; padding:26px 30px 104px; overflow:hidden;
    background:linear-gradient(180deg,#EEE7FB 0%, var(--creme) 100%); border-right:1px solid var(--line-2)}
  .ev-eva-haut{display:flex; justify-content:space-between; font-size:11.5px; font-weight:750; letter-spacing:.16em; text-transform:uppercase; color:var(--mute)}
  .ev-eva-live{display:inline-flex; align-items:center; gap:6px; letter-spacing:0; text-transform:none; color:var(--gain-ink); font-weight:650; font-size:12.5px}
  .ev-eva-live i{width:8px; height:8px; border-radius:50%; background:var(--gain); animation:ev-respire 2s infinite}
  .ev-eva-p{flex:1 1 auto; min-height:180px; max-height:360px; margin:12px -30px 0; display:flex; justify-content:center; overflow:hidden}
  .ev-eva-p img{height:100%; width:auto; object-fit:cover; object-position:top; mix-blend-mode:multiply; -webkit-mask-image:linear-gradient(180deg,#000 74%,transparent); mask-image:linear-gradient(180deg,#000 74%,transparent)}
  .ev-eva-n{font-family:var(--serif); font-size:42px; line-height:1; margin-top:-4px}
  .ev-eva-r{font-size:13px; color:var(--ink-2); margin-top:6px}
  .ev-eva-q{font-family:var(--serif); font-size:21px; line-height:1.3; margin-top:18px; color:var(--ink)}
  .ev-eva-l{font-size:12px; color:var(--mute); margin-top:10px}
  .ev-atelier{display:none}
  .ev-nav{left:190px; width:332px}
  .ev-micro{right:max(24px, calc(50% - 200px - 380px + 24px))}
  .ev-compose{left:calc(380px + (100% - 380px) / 2); width:min(720px, calc(100% - 380px - 64px)); bottom:24px; padding:8px 8px 8px 12px; border-radius:20px}
  .ev-toast{left:calc(380px + (100% - 380px) / 2); bottom:96px}
  .ev-tirer{display:none}
  .ev-now{padding:30px 32px 26px}
  .ev-now-t{font-size:40px}
  .ev-now-grille{grid-template-columns:repeat(3,1fr)}
  .ev-bk{grid-template-columns:1fr; grid-template-areas:"r" "t" "q"; gap:4px; padding:13px 14px}
  .ev-go.pri{flex:0 1 auto}
  .ev-go kbd{display:inline-block}
  .ev-tuiles{grid-template-columns:repeat(4,1fr)}
  .ev-ens{grid-template-columns:44px 1fr auto; align-items:center}
  .ev-ens-a{grid-column:auto; margin:0}
  .ev-chat{inset:16px 16px 16px auto; width:440px; border-radius:24px; box-shadow:0 30px 80px -20px rgba(30,10,80,.45); border:1px solid var(--line); padding-top:0; overflow:hidden}
  .ev-chat-ouvert .ev-compose, .ev-chat-ouvert .ev-nav{visibility:visible}
}
@media (min-width:1100px) and (prefers-color-scheme: dark){ :root:not([data-theme="light"]).ev-connecte .ev-eva{background:linear-gradient(180deg,#221A3E,#120F20)}
  :root:not([data-theme="light"]) .ev-eva-p img{mix-blend-mode:normal; width:250px; height:250px; border-radius:50%; margin-top:30px; -webkit-mask-image:none; mask-image:none; box-shadow:0 0 0 6px rgba(167,139,250,.22)} }

/* ── 17/10/2026 : cartes cliquables, fiche détail, tri, saisie libre, délégation ── */
.ev-ens{position:relative; cursor:pointer; -webkit-tap-highlight-color:rgba(124,58,237,.12); transition:transform .12s ease, box-shadow .15s ease}
.ev-ens:active{transform:scale(.985)}
.ev-ens:focus-visible{outline:3px solid var(--eva); outline-offset:2px}
.ev-ens-c{padding-right:22px}
.ev-ens-ch{position:absolute; top:16px; right:12px; width:18px; height:18px; color:var(--mute); opacity:.7}
.ev-ens-ch svg{width:18px; height:18px}
.ev-ens-m{display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin-top:8px}
.ev-ens-age{font-size:12px; color:var(--mute)}
.ev-ens-a{grid-column:1 / -1; padding-left:54px}
.ev-ens-a .ev-go, .ev-ens-o .ev-chip{min-height:44px}
.ev-now-t.ev-touche{cursor:pointer; position:relative; padding-right:26px; -webkit-tap-highlight-color:rgba(124,58,237,.12)}
.ev-now-plus-d{position:absolute; right:0; top:.55em; width:20px; height:20px; color:var(--mute); opacity:.6}
.ev-now-plus-d svg{width:20px; height:20px}
.ev-go svg{flex:none}

/* tri */
.ev-tri{display:flex; align-items:center; gap:6px; overflow-x:auto; scrollbar-width:none; margin:2px -16px 2px; padding:2px 16px}
.ev-tri::-webkit-scrollbar{display:none}
.ev-tri span{flex:none; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); margin-right:2px}
.ev-tri button{flex:none; min-height:38px; padding:0 14px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--ink-2); font-size:13.5px; font-weight:650; cursor:pointer}
.ev-tri button[aria-pressed="true"]{background:var(--eva); border-color:transparent; color:#fff}

/* « Dites-le à Eva » : saisie libre sous le plan et dans la fiche */
.ev-dire{display:flex; align-items:center; gap:6px; margin-top:12px; padding:5px 5px 5px 14px; border-radius:16px; border:1px solid var(--line); background:var(--surface-2)}
.ev-dire:focus-within{border-color:var(--eva); box-shadow:0 0 0 3px color-mix(in srgb, var(--eva) 18%, transparent)}
.ev-dire-in{flex:1; min-width:0; height:44px; border:0; outline:0; background:none; font-size:16px; color:var(--ink)}
.ev-dire-m, .ev-dire-go{width:44px; height:44px; flex:none; border-radius:13px; border:0; display:grid; place-items:center; cursor:pointer}
.ev-dire-m{background:var(--surface-3); color:var(--ink-2)}
.ev-dire-go{background:var(--eva); color:#fff}
.ev-dire-m svg, .ev-dire-go svg{width:20px; height:20px}
.ev-dire-m.ecoute{background:var(--eva); color:#fff; animation:ev-respire 1s ease-in-out infinite}
.ev-dire.attend{opacity:.6}
.ev-dire.sheet{margin-top:0}

/* fiche détail */
.ev-d-age{font-size:13px; color:var(--mute); margin-top:-6px}
.ev-d-src{display:flex; flex-direction:column; gap:10px}
.ev-mail{border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--surface)}
.ev-mail-e{padding:12px 14px; background:var(--surface-2); font-size:13.5px; line-height:1.45; color:var(--ink-2); border-bottom:1px solid var(--line-2)}
.ev-mail-e b{color:var(--ink); font-size:15px}
.ev-mail-d{font-size:12.5px; color:var(--mute)}
.ev-mail-o{margin-top:6px; font-weight:700; color:var(--ink)}
.ev-mail-c{padding:14px; font-size:15px; line-height:1.55; white-space:pre-wrap; max-height:46vh; overflow:auto; -webkit-overflow-scrolling:touch; color:var(--ink)}
.ev-mail-pj{padding:10px 14px; border-top:1px solid var(--line-2); font-size:13px; color:var(--mute); display:flex; gap:6px; align-items:center}
.ev-mail-pj svg{width:16px; height:16px; flex:none}
.ev-kc{display:flex; flex-direction:column; gap:8px; max-height:42vh; overflow:auto}
.ev-kc-q{display:block; font-size:12px; color:var(--mute); margin-bottom:2px}
.ev-bloc-l{display:flex; flex-direction:column; gap:6px}
.ev-bloc-i{display:flex; flex-direction:column; padding:10px 12px; border-radius:12px; background:var(--surface-2); font-size:14px}
.ev-bloc-i small{color:var(--mute); font-size:12.5px}
.ev-d-fil{display:flex; flex-direction:column; gap:8px; max-height:40vh; overflow:auto; padding:2px 0}
.ev-d-fil[hidden]{display:none}
.ev-d-sugg{padding:0; margin-top:-4px}
.ev-d-sugg button{min-height:40px}
.ev-feuille .ev-grille{grid-template-columns:1fr 1fr}
.ev-feuille a.ev-btn{text-decoration:none}
@media (max-width:380px){ .ev-feuille .ev-grille{grid-template-columns:1fr} }
@media (min-width:640px){ .ev-ens-a{grid-column:auto; padding-left:0} .ev-ens{grid-template-columns:44px 1fr auto} .ev-ens-ch{display:none} .ev-ens-c{padding-right:0} .ev-ens:hover{box-shadow:var(--ombre-2, var(--ombre))} }

/* ── 17/10/2026 (suite) : sélection groupée, rappel daté, délégations suivies, réponse mail ── */
.ev-tri .sel{border-color:var(--eva); color:var(--eva-ink); font-weight:700}
.ev-tri .sel[aria-pressed="true"]{background:var(--ink); color:var(--ground); border-color:transparent}
.ev-ens.choisi{outline:2.5px solid var(--eva); outline-offset:-2px; background:color-mix(in srgb, var(--eva) 8%, var(--surface))}
.ev-ck{display:grid; place-items:center; width:26px; height:26px; border-radius:50%; border:2px solid var(--line); background:var(--surface)}
.ev-ck svg{width:15px; height:15px; opacity:0; stroke:#fff}
.ev-ens.choisi .ev-ck{background:var(--eva); border-color:var(--eva)} .ev-ens.choisi .ev-ck svg{opacity:1}
.sel-mode .ev-ens-ch{width:26px; height:26px; opacity:1; top:14px; right:12px}
@media (min-width:640px){ .ev-ens.sel-mode .ev-ens-ch{display:block} }
.ev-selbar{position:fixed; z-index:52; left:50%; transform:translateX(-50%); width:min(440px, calc(100% - 24px));
  bottom:calc(max(12px, env(safe-area-inset-bottom, 0px) - 6px) + 74px); display:flex; align-items:center; gap:6px; padding:8px 8px 8px 14px; border-radius:22px;
  background:color-mix(in srgb, var(--surface) 92%, transparent); -webkit-backdrop-filter:saturate(1.8) blur(24px); backdrop-filter:saturate(1.8) blur(24px);
  box-shadow:0 0 0 1px var(--line), 0 18px 40px -16px rgba(40,10,100,.45)}
.ev-selbar[hidden]{display:none}
.ev-selbar span{flex:1; min-width:0; font-size:13.5px; font-weight:650; color:var(--ink-2); line-height:1.25}
.ev-selbar button{min-height:44px; padding:0 12px; border-radius:13px; border:0; font-size:14px; font-weight:700; cursor:pointer; background:var(--surface-3); color:var(--ink)}
.ev-selbar button.eva{background:var(--eva); color:#fff}
.ev-selbar button:disabled{opacity:.4}
.ev-selbar .fin{padding:0 10px; background:none; color:var(--mute)}
.ev-sel-actif .ev-compose{display:none}
@media (min-width:900px){ .ev-selbar{left:calc(380px + (100% - 380px) / 2); width:min(720px, calc(100% - 380px - 64px)); bottom:24px} }
.ev-dates{display:grid; grid-template-columns:1fr 1fr; gap:8px}
.ev-date-b{display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:60px; padding:10px 14px; border-radius:14px; border:1px solid var(--line); background:var(--surface-2); cursor:pointer; text-align:left; color:var(--ink)}
.ev-date-b b{font-size:15.5px} .ev-date-b span{font-size:13px; color:var(--mute)}
.ev-date-b:active{background:var(--eva-tint)}
.ev-deleg-rep{margin-top:8px; padding:9px 12px; border-radius:12px; background:var(--eva-tint); color:var(--eva-ink); font-size:14px; line-height:1.45; font-style:italic}
.ev-deleg .ev-ens-t{font-size:14.5px}

.ev-selbar span{white-space:nowrap; flex:1 1 auto}
.ev-selbar button{padding:0 11px; white-space:nowrap}
