.prisme-prev{max-width:none;margin:0 auto;font-family:'Lexend',sans-serif}
.prisme-prev *{box-sizing:border-box}
.prisme-prev-grille{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));margin-bottom:16px}
.prisme-prev-total{--c:var(--prisme-vert,#2ECC71)}
.prisme-prev-gros{font-size:clamp(48px,9vw,96px);font-weight:700;line-height:1;margin:8px 0;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,var(--prisme-bleu,#2F8FE0),var(--prisme-violet,#7B5CF0),var(--prisme-magenta,#E14FA0));-webkit-background-clip:text;background-clip:text;color:transparent}
.prisme-prev-total small,.prisme-prev-aide{font-size:14px;opacity:.85}
.prisme-prev-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.prisme-prev-nav h2{margin:0;flex:1;min-width:160px;text-transform:capitalize;font-size:24px;font-weight:600}
.prisme-prev button,.prisme-prev input{font:inherit;color:inherit}
.prisme-prev-btn{min-height:44px;min-width:44px;padding:8px 16px;border-radius:999px;border:1px solid var(--prisme-bordure,rgba(255,255,255,.3));background:rgba(255,255,255,.07);cursor:pointer}
.prisme-prev-btn[aria-pressed=true]{background:var(--prisme-action-fond,#fff);color:var(--prisme-action-texte,#17171A)}
.prisme-prev-champs{display:flex;gap:16px;flex-wrap:wrap;align-items:end}
.prisme-prev-champs label{display:flex;flex-direction:column;gap:4px;font-size:14px}
.prisme-prev-champs input{min-height:44px;width:130px;padding:8px 12px;border-radius:14px;border:1px solid var(--prisme-bordure,rgba(255,255,255,.3));background:rgba(0,0,0,.25)}
.prisme-prev-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.prisme-prev-j{font-size:14px;font-weight:600;text-align:center;opacity:.8}
.prisme-prev-case{min-height:64px;padding:6px 2px;border-radius:14px;border:1px solid var(--prisme-bordure,rgba(255,255,255,.2));background:rgba(255,255,255,.04);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.prisme-prev-case b{font-size:16px}.prisme-prev-case span{font-size:14px;font-variant-numeric:tabular-nums}
.prisme-prev-case[aria-pressed=true]{background:linear-gradient(160deg,var(--prisme-bleu,#2F8FE0),var(--prisme-violet,#7B5CF0));color:#17171A;border-color:transparent}
.prisme-prev-case[aria-pressed=false]{opacity:.55}
.prisme-prev-case[disabled]{visibility:hidden}
.prisme-prev-case.ferie::after{content:"férié";font-size:14px}
.prisme-prev svg{width:100%;height:auto;display:block;overflow:visible}
.prisme-prev svg text{font-size:14px;fill:currentColor;font-family:inherit}
.prisme-prev-barre{fill:var(--prisme-violet,#7B5CF0)}
.prisme-prev-ligne{fill:none;stroke:var(--prisme-bleu,#2F8FE0);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.prisme-prev-aire{fill:var(--prisme-bleu,#2F8FE0);opacity:.18}
.prisme-prev-grid{stroke:currentColor;opacity:.15}
@media (max-width:480px){.prisme-prev-cal{gap:4px}.prisme-prev-case{min-height:56px}}
@media (prefers-reduced-motion:no-preference){.prisme-prev-ligne{stroke-dasharray:1200;stroke-dashoffset:1200;animation:pp 1.1s ease forwards}@keyframes pp{to{stroke-dashoffset:0}}}
.prisme-prev-case.vac{background:repeating-linear-gradient(135deg,rgba(255,255,255,.1) 0 6px,transparent 6px 12px)}
.prisme-prev-case.vac::after{content:"vacances";font-size:14px}
.prisme-prev-case.vac{background:repeating-linear-gradient(135deg,rgba(255,255,255,.14) 0 6px,rgba(255,255,255,.03) 6px 12px);border-style:dashed;opacity:.5}
.prisme-prev-case.vac.ferie::after{content:"férié · vacances"}
.prisme-prev-annee-chiffres{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));margin:16px 0}
.prisme-prev-annee-chiffres small{display:block;font-size:14px;opacity:.85}
.prisme-prev-annee-chiffres strong{font-size:clamp(24px,4vw,36px);font-variant-numeric:tabular-nums}
.prisme-prev-barre.estime{fill:rgba(123,92,240,.28);stroke:var(--prisme-violet,#7B5CF0);stroke-width:2;stroke-dasharray:6 4}
.prisme-prev-barre.courant{stroke:currentColor;stroke-width:3}
.prisme-prev-annee details{margin-top:16px}
.prisme-prev-annee summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
.prisme-prev-fin{margin:16px 0;padding:16px;border-radius:var(--prisme-radius-s,14px);border:1px solid var(--prisme-bleu,#2F8FE0);background:rgba(47,143,224,.12)}
.prisme-prev-fin small{display:block;font-size:14px}
.prisme-prev-fin strong{display:block;font-size:clamp(28px,5vw,44px);font-variant-numeric:tabular-nums}
.prisme-prev-fin span{font-size:14px}

/* Bento : une seule grille, l'ordre de lecture est l'ordre du DOM (1 à 6) */
.prisme-prev-sommaire{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.prisme-prev-sommaire a{text-decoration:none;font-size:14px;color:inherit;display:inline-flex;align-items:center}
.prisme-prev-bento{display:grid;gap:16px;grid-template-columns:1fr}
.prisme-prev-c{position:relative;margin:0;scroll-margin-top:96px;overflow:hidden}
.prisme-prev-c::before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:var(--cb,var(--prisme-bleu,#2F8FE0))}
.prisme-prev-c--total{--cb:var(--prisme-vert,#2ECC71)}
.prisme-prev-c--reglages{--cb:var(--prisme-or,#F5A623)}
.prisme-prev-c--cal{--cb:var(--prisme-violet,#7B5CF0)}
.prisme-prev-c--courbe{--cb:var(--prisme-bleu,#2F8FE0)}
.prisme-prev-c--barres{--cb:var(--prisme-magenta,#E14FA0)}
.prisme-prev-c--annee{--cb:var(--prisme-corail,#F0653C)}
.prisme-prev-tete{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.prisme-prev-tete h3{margin:0;font-size:20px;font-weight:600}
.prisme-prev-num{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;background:var(--cb);color:#17171A}
.prisme-prev-phrase{margin:0 0 16px}
.prisme-prev-sous{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.prisme-prev-sc{padding:16px;border-radius:var(--prisme-radius-s,14px);border:1px solid var(--prisme-bordure,rgba(255,255,255,.2));background:rgba(255,255,255,.05);display:flex;flex-direction:column;gap:4px}
.prisme-prev-sc small{font-size:14px;opacity:.9}
.prisme-prev-sc strong{font-size:clamp(32px,6vw,56px);line-height:1.05;font-variant-numeric:tabular-nums}
.prisme-prev-sc span{font-size:14px}
.prisme-prev-sc--cle{border-color:var(--prisme-bleu,#2F8FE0);background:rgba(47,143,224,.14)}
.prisme-prev-sc--gros strong{background:linear-gradient(90deg,var(--prisme-bleu,#2F8FE0),var(--prisme-violet,#7B5CF0),var(--prisme-magenta,#E14FA0));-webkit-background-clip:text;background-clip:text;color:transparent}
@media (min-width:768px){
 .prisme-prev-bento{grid-template-columns:repeat(2,1fr)}
 .prisme-prev-c--total,.prisme-prev-c--annee{grid-column:1/-1}
}
@media (min-width:1024px){
 .prisme-prev-bento{grid-template-columns:repeat(4,1fr)}
 .prisme-prev-c--total{grid-column:span 4}
 .prisme-prev-c--reglages{grid-column:1/span 2}
 .prisme-prev-c--cal{grid-column:3/span 2;grid-row:2/span 3}
 .prisme-prev-c--courbe,.prisme-prev-c--barres{grid-column:span 2}
 .prisme-prev-c--annee{grid-column:span 4}
}
@media (max-width:480px){.prisme-prev-tete h3{font-size:18px}}
.prisme-prev-sommaire a{gap:6px}
.prisme-prev-nav h2{min-width:0;font-size:clamp(18px,5vw,24px)}
@media (max-width:480px){.prisme-prev-nav:first-child{flex-wrap:nowrap}.prisme-prev-nav .prisme-prev-btn{padding:8px 12px}}

/* Smartphone (1.7.0) : rien ne doit dépasser, cibles tactiles >= 44 px, texte >= 14 px */
.prisme-prev-graph{min-width:0;width:100%}
.prisme-prev-cal{grid-template-columns:repeat(7,minmax(0,1fr))}
.prisme-prev-case{min-width:0;overflow:hidden}
.prisme-prev-case b,.prisme-prev-case span,.prisme-prev-case::after{max-width:100%;overflow:hidden;text-overflow:clip;white-space:nowrap}
@media (max-width:640px){
 .prisme-prev-case.vac::after{content:"vac."}
 .prisme-prev-case.vac.ferie::after{content:"férié"}
}
@media (max-width:480px){
 .prisme-prev-c--cal{padding:16px 8px}
 .prisme-prev-c--cal>.prisme-prev-tete,.prisme-prev-c--cal>.prisme-prev-phrase{padding-inline:8px}
 .prisme-prev-cal{gap:2px}
 .prisme-prev-case{min-height:60px;padding:6px 0;border-radius:10px}
 .prisme-prev-case b{font-size:16px}
 .prisme-prev-champs input{width:100%}
 .prisme-prev-champs label{flex:1 1 140px}
 .prisme-prev-sommaire a{flex:1 1 calc(50% - 8px);justify-content:flex-start}
}

/* Vue jusqu'en août : chaque mois est un bouton (activer / désactiver) */
.prisme-prev-mois-liste{display:grid;gap:8px}
.prisme-prev-mois{display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:8px;align-items:center;min-height:44px;width:100%;padding:4px 8px;border-radius:12px;border:1px solid var(--prisme-bordure,rgba(255,255,255,.25));background:rgba(255,255,255,.05);color:inherit;font:inherit;cursor:pointer;text-align:left}
.prisme-prev-mois .lm-nom{font-size:14px;font-weight:600}
.prisme-prev-mois .lm-barre{display:block;height:20px;border-radius:10px;background:rgba(255,255,255,.08);overflow:hidden}
.prisme-prev-mois .lm-barre i{display:block;height:100%;width:calc(var(--p,0) * 1%);border-radius:10px;background:var(--prisme-violet,#7B5CF0)}
.prisme-prev-mois strong{font-size:14px;text-align:right;font-variant-numeric:tabular-nums}
.prisme-prev-mois.estime .lm-barre i{background:repeating-linear-gradient(135deg,var(--prisme-violet,#7B5CF0) 0 6px,rgba(123,92,240,.25) 6px 12px)}
.prisme-prev-mois[aria-pressed=false]{opacity:.55;border-style:dashed;background:transparent}
.prisme-prev-mois.courant{outline:2px solid currentColor;outline-offset:2px}
.prisme-prev-mois:hover{background:rgba(255,255,255,.1)}
.prisme-prev-mois--col{grid-template-columns:repeat(var(--nb),minmax(0,1fr));gap:6px}
.prisme-prev-mois--col .prisme-prev-mois{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;padding:8px 2px;min-height:240px;text-align:center}
.prisme-prev-mois--col .lm-barre{order:2;width:70%;height:150px;display:flex;align-items:flex-end}
.prisme-prev-mois--col .lm-barre i{width:100%;height:calc(var(--p,0) * 1%);min-height:2px}
.prisme-prev-mois--col strong{order:1;text-align:center}
.prisme-prev-mois--col .lm-nom{order:3}
.prisme-prev-question{flex:1 1 100%;font-weight:600}
.prisme-prev-sc--cafe{border-color:var(--prisme-or,#F5A623);background:rgba(245,166,35,.12)}
.prisme-prev-nav[hidden]{display:none}

/* Identité PRISME Économie (1.11.0) : la couleur de l'application (--prisme-app, vert) partout ; son complémentaire (--prisme-app-contraste,
   magenta) seulement pour ce qui doit ressortir : la somme à recharger. Replis = vraies teintes de la charte. */
.prisme-prev-c { --cb: var(--prisme-app, var(--prisme-vert, #2ECC71)); }
.prisme-prev-sc--gros strong { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--prisme-app, var(--prisme-vert, #2ECC71)); }
.prisme-prev-sc--cle { border-color: var(--prisme-app-contraste, var(--prisme-magenta, #E14FA0)); background: color-mix(in srgb, var(--prisme-app-contraste, var(--prisme-magenta, #E14FA0)) 14%, transparent); }
.prisme-prev-sc--cle strong { color: var(--prisme-app-contraste, var(--prisme-magenta, #E14FA0)); }
.prisme-prev-sc--cafe { border-color: var(--prisme-app, var(--prisme-vert, #2ECC71)); background: color-mix(in srgb, var(--prisme-app, var(--prisme-vert, #2ECC71)) 12%, transparent); }
.prisme-prev-barre, .prisme-prev-mois .lm-barre i { fill: var(--prisme-app, var(--prisme-vert, #2ECC71)); background-color: var(--prisme-app, var(--prisme-vert, #2ECC71)); }
.prisme-prev-ligne { stroke: var(--prisme-app, var(--prisme-vert, #2ECC71)); }
.prisme-prev-aire { fill: var(--prisme-app, var(--prisme-vert, #2ECC71)); }
.prisme-prev-case[aria-pressed=true] { background: linear-gradient(160deg, color-mix(in srgb, var(--prisme-app, var(--prisme-vert, #2ECC71)) 82%, white), var(--prisme-app, var(--prisme-vert, #2ECC71))); }
.prisme-prev-fin { border-color: var(--prisme-app-contraste, var(--prisme-magenta, #E14FA0)); }
