/* Frise conservée ; pédagogie accessible depuis chaque montant. */
#years .year-line{padding:24px 0 18px;margin:0}
#years .year-line+.year-line{margin-top:32px}
#years .year-heading{gap:24px;align-items:center;margin-bottom:28px}
#years .year-heading h3{font-size:25px}
#years .aid-summary{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 9px;margin-top:12px;border-radius:8px;border:1px solid #cdd9c3;background:#eef4e8;color:#4a6837;font-size:12px;font-weight:550;text-align:left}
#years .aid-symbol{font-size:16px;font-weight:650}
#years .aid-summary:hover{background:#dcebcf;border-color:#829d6c}
#years .year-income{display:flex;align-items:baseline;gap:10px;font-size:18px;font-weight:600;margin:0;color:#354b2a}
#years .year-income strong{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}
#modalBody .aid-saving{font-size:32px;font-weight:700;color:#365c20;font-variant-numeric:tabular-nums;padding:12px 16px;background:#eef5e8;border-radius:7px;margin:8px 0 16px}
#modalBody .aid-saving-label{font-size:14px;margin-top:16px}
#years .timeline-period{position:absolute;top:0;height:46px;padding:0 3px 10px;background:transparent;border:0;border-bottom:6px solid #9876b9;border-radius:0;color:#704992;font-size:12px;font-weight:600;z-index:3}

#years .timeline-period::after{content:'';position:absolute;left:50%;top:46px;height:21px;border-left:1px dashed #9876b9}
#years .timeline-period b{display:block;font-weight:700}
#years .timeline-period:hover{background:#f5effa}
#years .creation-marker{position:absolute;top:0;width:0;height:67px;z-index:3;border-left:2px solid #4587b7}
#years .event-bubble{display:block;transform:translateX(-50%);width:142px;background:#edf5fb;border:0;border-radius:5px;color:#285e87;font-size:12px;padding:5px 8px;min-height:44px}
#years .event-bubble strong{display:block;font-size:13px}
#years .at-start .event-bubble{transform:none}
#years .at-end .event-bubble{transform:translateX(-100%)}
#years .creation-marker::after{content:'';position:absolute;bottom:-4px;left:-5px;width:8px;height:8px;background:#4587b7;border-radius:50%}
.timeline-legend{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:12px;color:#617056;margin:18px 0 6px}
.timeline-legend span::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#587947;margin-right:7px}
.timeline-legend .legend-creation::before{background:#4587b7}
.timeline-legend .legend-declaration::before{background:#9876b9}
.timeline-legend .legend-regularization::before{background:#d18c36}
#years .calendar-content{grid-template-columns:minmax(0,1fr) 220px;gap:26px}
#years .calendar-plot,#years .calendar-plot:has(.regularization){height:205px}
#years .month-axis{top:67px}
#years .calendar-pin{top:53px;z-index:2}
#years .calendar-pin.regularization{top:148px}
#years .calendar-pin.regularization::before{content:'';position:absolute;left:50%;top:-81px;height:81px;border-left:1px dashed #cf903e;z-index:-1}
#years .regularization .pin-label{background:#fff0dc;border-color:#d18c36;color:#945600}
#years .calendar-pin.regularization::after{content:'Régularisation';display:block;margin-top:3px;font-size:10px;font-weight:600;color:#7c521f;white-space:nowrap}
#years .calendar-total{padding:64px 0 0 18px}
#years .calendar-total small{font-size:13px;margin-bottom:8px}
#years .calendar-total-value{display:flex;align-items:center;gap:9px}
#years .calendar-total-value strong{font-size:23px;line-height:1.3;flex-shrink:0}
#years .calendar-total-value .info-dot{width:32px;height:32px;min-height:32px;flex-shrink:0;margin:0}
#modalBody .cotisation-explanation{white-space:normal;font-size:15px;line-height:1.65;margin-top:20px}
#modalBody .payment-hero{background:#edf2e6;border-radius:9px;padding:20px 22px;margin-bottom:24px}
#modalBody .payment-hero span{display:block;font-size:13px;color:#5b6a4e;margin-bottom:5px}
#modalBody .payment-hero strong{font:650 36px/1.3 ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;letter-spacing:-1px}
#modalBody .explanation-panel{margin:0 0 23px}
#modalBody .explanation-panel h3{font-size:17px;font-weight:650;margin:0 0 8px}
#modalBody .explanation-panel p{margin:0 0 9px;font-size:15px;line-height:1.65;color:#4c5843}
#modalBody .explanation-panel .line,#modalBody .contribution-components .line{font-size:14px;padding:10px 12px;background:#f3f5ef;gap:15px;align-items:flex-start}
#modalBody .explanation-panel .line b,#modalBody .contribution-components .line b{font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace}
#modalBody .explanation-panel .explanation-caption{font-size:14px;margin-top:8px}
#modalBody .contribution-disclaimer{font-size:14px;line-height:1.5;color:#68725f;border-top:1px solid #e1e5da;padding-top:14px;margin:0}
#modalBody .explanation-panel p:empty{display:none}
#modalBody .explanation-panel:last-child h3{font-size:15px}
#modalBody .explanation-panel:last-child p{font-size:14px;margin:0}
#modalBody .contribution-components{padding:16px;background:#f8f9f6;border:1px solid #e3e8dc;border-radius:8px;margin:0 0 24px}
#modalBody .contribution-components summary{font-size:15px;font-weight:600}
#modalBody .contribution-components p{font-size:14px;margin:12px 0}
@media(max-width:600px){
  #modalBody .payment-hero{padding:17px}
  #modalBody .payment-hero strong{font-size:31px}
  #modalBody .explanation-panel .line,#modalBody .contribution-components .line{padding:9px;gap:10px}
  #years .calendar-total-value .info-dot{width:40px;min-height:40px;height:40px}
}
