.fin-source{font-size:.82rem;margin:1.25rem 0 0;color:color-mix(in oklch,var(--ink) 70%,transparent)}
.fin-source a{text-decoration:underline}
.fin-total td{font-weight:600;background:var(--surface)}
.fin-barre{display:block;height:.4rem;margin-top:.3rem;background:color-mix(in oklch,var(--ink) 8%,transparent);max-width:14rem}
.fin-barre i{display:block;height:100%;background:var(--accent)}
.fin-graph{margin:1.25rem 0;max-width:36rem}
.fin-graph svg{width:100%;height:auto;display:block}
.fin-graph figcaption{font-size:.82rem;margin-top:.4rem;color:color-mix(in oklch,var(--ink) 75%,transparent)}
.fin-l-com{stroke:var(--accent);stroke-width:2.5}
.fin-l-met{stroke:var(--field-line);stroke-width:2;stroke-dasharray:5 4}
.fin-l-com-pt{fill:var(--accent)}
.fin-l-met-pt{fill:var(--field-line)}
.fin-grille{stroke:var(--line);stroke-width:1}
.fin-axe{font-size:11px;fill:var(--ink)}
.fin-cle{display:inline-block;width:1.4rem;height:0;border-top:3px solid var(--accent);vertical-align:middle;margin:0 .35rem 0 .6rem}
.fin-cle:first-child{margin-left:0}
.fin-cle-met{border-top:2px dashed var(--field-line)}
.fin-carte{width:100%;height:30rem;border:1px solid var(--line);background:var(--surface)}
.fin-legende{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;font-size:.82rem}
.fin-legende i{display:inline-block;width:1rem;height:1rem;margin-right:.4rem;vertical-align:-.15rem;border:1px solid var(--line)}
.fin-dl{display:inline-block;padding:.6rem 1rem;border:1px solid var(--accent);color:var(--accent-text);text-decoration:none}
.fin-dl:hover{background:var(--accent);color:var(--accent-ink)}
.fin-tri thead th{cursor:pointer;white-space:nowrap}
.fin-tri thead th:after{content:" \2195";opacity:.4}
.fin-tri thead th[aria-sort=ascending]:after{content:" \2191";opacity:1}
.fin-tri thead th[aria-sort=descending]:after{content:" \2193";opacity:1}
.fin-tri thead th:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.fin-tri td a{text-decoration:underline}
@media(max-width:640px){
.fin-tri,.fin-compact{display:table;width:100%}
.fin-tri{min-width:40rem}
.fin-tri tbody,.fin-compact tbody{display:table-row-group}
.fin-tri tr,.fin-compact tr{display:table-row}
.fin-tri td,.fin-tri th,.fin-compact td,.fin-compact th{display:table-cell;font-size:.88rem;padding:.45rem .4rem}
.fin-compact td,.fin-compact th{font-size:.78rem;padding:.4rem .2rem}
.fin-compact:has(th:nth-child(6)) td{white-space:nowrap}
.fin-compact:has(th:nth-child(6)) td:first-child{white-space:normal}
.fin-tri thead,.fin-compact thead{display:table-header-group}
.fin-tri td[data-col]:before,.fin-compact td[data-col]:before{content:none}
.fin-carte{height:22rem}
}
.fin-sim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;margin:1rem 0 1.5rem}
.fin-sim label{display:block;font-size:.9rem;margin-bottom:.3rem}
.fin-sim input,.fin-sim select{width:100%;padding:.6rem .7rem;border:1px solid var(--field-line);background:var(--paper);font:inherit;color:var(--ink)}
.fin-sim .fin-case{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:0}
.fin-sim input[type=checkbox]{width:auto;margin-top:.2rem;flex:none}
.fin-sim small{display:block;font-size:.8rem;margin-top:.25rem;color:color-mix(in oklch,var(--ink) 70%,transparent)}
.fin-sim [hidden]{display:none}
.fin-sim button{grid-column:1/-1;justify-self:start;padding:.7rem 1.4rem;background:var(--accent);color:var(--accent-ink);border:0;font:inherit;cursor:pointer}
.fin-res{max-width:36rem}
.fin-res th{font-weight:400}
.fin-res td{text-align:right;font-variant-numeric:tabular-nums}
#sim-resultat{min-height:6rem}
@media(max-width:640px){.fin-sim{grid-template-columns:minmax(0,1fr)}.fin-res td{text-align:right}}
@media(max-width:640px){.cfn-lf-card .cfn-lf-fields{grid-template-columns:minmax(0,1fr)}.cfn-lf-field input,.cfn-lf-field select,.cfn-lf-field textarea{min-width:0;max-width:100%}.cfn-lf-card{min-width:0}}
@media(max-width:980px){.cfn-hero-grid{grid-template-columns:minmax(0,1fr)}.cfn-hero-dire,.cfn-hero-saisie,.cfn-hero-apres{min-width:0}}
@media(max-width:640px){
.cfn-tw:has(.fin-tri){position:relative;background:linear-gradient(90deg,var(--paper) 30%,transparent) 0 0/2rem 100% no-repeat local,linear-gradient(270deg,var(--paper) 30%,transparent) 100% 0/2rem 100% no-repeat local,linear-gradient(90deg,color-mix(in oklch,var(--ink) 22%,transparent),transparent) 0 0/.6rem 100% no-repeat scroll,linear-gradient(270deg,color-mix(in oklch,var(--ink) 22%,transparent),transparent) 100% 0/.6rem 100% no-repeat scroll}
.cfn-tw:has(.fin-tri):before{content:"Faites défiler le tableau vers la droite pour voir toutes les colonnes \2192";display:block;position:sticky;left:0;width:calc(100vw - 2.5rem);font-size:.82rem;padding:0 0 .5rem;font-weight:600}
}
