
/* =========================================================
   Sans Arrondi V102 — Bilan global des programmes
   ========================================================= */

.v102-bilan{
  margin-top:4px;
}
.v102-bilan-lead{
  padding:25px 0 28px;
  border-top:1px solid #dcd5cb;
  border-bottom:1px solid #dcd5cb;
}
.v102-bilan-lead>small{
  display:block;
  margin-bottom:12px;
  color:var(--party-accent);
  font:900 9px/1 Inter,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v102-bilan-lead h3{
  max-width:920px;
  margin:0;
  color:#111;
  font:900 clamp(30px,3.6vw,48px)/1.02 Inter,sans-serif;
  letter-spacing:-.055em;
}
.v102-bilan-lead>p{
  max-width:850px;
  margin:15px 0 0;
  color:#625c55;
  font:500 15px/1.6 Inter,sans-serif;
}
.v102-bilan-stats{
  margin-top:18px;
  color:#8a8279;
  font:800 9px/1.5 Inter,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.v102-bilan-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  padding:34px 0 10px;
}
.v102-bilan-colhead{
  display:flex;
  align-items:baseline;
  gap:12px;
  margin-bottom:5px;
}
.v102-bilan-colhead span{
  color:var(--party-accent);
  font:900 9px/1 Inter,sans-serif;
}
.v102-bilan-colhead.danger span{
  color:#C11C1C;
}
.v102-bilan-colhead h4{
  margin:0;
  font:900 21px/1 Inter,sans-serif;
  letter-spacing:-.035em;
}

.v102-bilan-measure{
  position:relative;
  display:block;
  padding:19px 36px 19px 0;
  border-bottom:1px solid #ded8d0;
  color:#111;
  text-decoration:none;
  transition:.17s ease;
}
.v102-bilan-measure:hover{
  padding-left:10px;
  padding-right:26px;
  background:#fff;
}
.v102-bilan-measure>span{
  display:block;
  margin-bottom:7px;
  color:#827b73;
  font:900 8px/1 Inter,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.v102-bilan-measure.plus>span{color:#2e7a47}
.v102-bilan-measure.minus>span{color:#C11C1C}
.v102-bilan-measure>strong{
  display:block;
  margin-bottom:7px;
  font:900 16px/1.15 Inter,sans-serif;
  letter-spacing:-.02em;
}
.v102-bilan-measure>p{
  margin:0;
  color:#716a63;
  font:500 11px/1.5 Inter,sans-serif;
}
.v102-bilan-measure>b{
  display:block;
  margin-top:10px;
  color:#111;
  font:900 8px/1 Inter,sans-serif;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.v102-bilan-account{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:34px;
  align-items:start;
  margin-top:35px;
  padding:27px 0;
  border-top:2px solid #111;
  border-bottom:1px solid #dcd5cb;
}
.v102-bilan-account small{
  display:block;
  margin-bottom:9px;
  color:#C11C1C;
  font:900 9px/1 Inter,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.v102-bilan-account h4{
  margin:0;
  font:900 25px/1.05 Inter,sans-serif;
  letter-spacing:-.04em;
}
.v102-bilan-account>p{
  margin:0;
  color:#332f2b;
  font:650 15px/1.65 Inter,sans-serif;
}

.v102-bilan-missing{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:34px;
  margin-top:16px;
  padding:20px 22px;
  border-radius:14px;
  background:#101010;
  color:#fff;
}
.v102-bilan-missing span{
  padding-top:2px;
  color:#ff555b;
  font:900 9px/1.2 Inter,sans-serif;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.v102-bilan-missing p{
  margin:0;
  color:#eee8e1;
  font:600 13px/1.55 Inter,sans-serif;
}
.v102-bilan-note{
  max-width:780px;
  margin:13px 0 0;
  color:#999189;
  font:600 9px/1.5 Inter,sans-serif;
}

@media(max-width:850px){
  .v102-bilan-columns{
    grid-template-columns:1fr;
    gap:30px;
  }
  .v102-bilan-account,
  .v102-bilan-missing{
    grid-template-columns:1fr;
    gap:10px;
  }
}
@media(max-width:620px){
  .v102-bilan-lead{
    padding:20px 0 23px;
  }
  .v102-bilan-lead h3{
    font-size:30px;
    line-height:1.05;
  }
  .v102-bilan-lead>p{
    font-size:14px;
  }
  .v102-bilan-stats{
    font-size:8px;
    line-height:1.65;
  }
  .v102-bilan-columns{
    padding-top:27px;
  }
  .v102-bilan-measure{
    padding:17px 4px 17px 0;
  }
  .v102-bilan-measure:hover{
    padding-left:0;
    padding-right:4px;
    background:transparent;
  }
  .v102-bilan-account{
    margin-top:28px;
  }
  .v102-bilan-account h4{
    font-size:22px;
  }
  .v102-bilan-account>p{
    font-size:14px;
  }
  .v102-bilan-missing{
    padding:18px;
  }
}
