/* ==== Toggle devise MAD / EUR ==== */
.currency-switch{
  display:flex; gap:6px; background:#fff; border-radius:999px; padding:3px;
  border:1px solid rgba(0,0,0,.06); box-shadow: var(--shadow-1);
}
.cswitch-btn{
  border:0; background:transparent; padding:6px 12px; border-radius:999px;
  font-weight:800; color:var(--muted); cursor:pointer;
}
.cswitch-btn.active{
  background: var(--primary); color:#fff;
  box-shadow: 0 10px 22px rgba(59,130,246,.25), var(--shadow-in);
}
/* ===== Skeleton loader pour le graphique ===== */
.skeleton-chart{
  position:absolute; inset:0; display:flex; align-items:flex-end; gap:12px;
  padding:16px; pointer-events:none;
}
.skeleton-chart .bar{
  flex:1; border-radius:10px 10px 4px 4px;
  background: linear-gradient(90deg, #eef2f7 25%, #f6f9ff 50%, #eef2f7 75%);
  background-size: 200% 100%; animation: shimmer 1.2s infinite;
  box-shadow: var(--shadow-1);
  min-height: 18%;
}
.skeleton-chart .bar:nth-child(1){ height: 24%; }
.skeleton-chart .bar:nth-child(2){ height: 45%; }
.skeleton-chart .bar:nth-child(3){ height: 62%; }
.skeleton-chart .bar:nth-child(4){ height: 35%; }
.skeleton-chart .bar:nth-child(5){ height: 78%; }
.skeleton-chart .bar:nth-child(6){ height: 52%; }
.skeleton-chart .bar:nth-child(7){ height: 68%; }
.skeleton-chart .bar:nth-child(8){ height: 40%; }

@keyframes shimmer{
  0%{ background-position: -200% 0; }
  100%{ background-position: 200% 0; }
}

/* ===== Badges Montant (+ / − / 0) ===== */
.amt-badge{
  display:inline-flex; align-items:center; gap:6px;
  padding:6px 10px; border-radius:999px; font-weight:800; line-height:1;
  box-shadow: var(--shadow-1);
}
.amt-badge.plus{
  color:#fff; background:linear-gradient(180deg, var(--success) 0%, var(--success-700) 100%);
}
.amt-badge.minus{
  color:#fff; background:linear-gradient(180deg, var(--danger) 0%, var(--danger-700) 100%);
}
.amt-badge.zero{
  background:#f1f5f9; color:#334155; border:1px solid rgba(0,0,0,.06);
}
.amt-badge.plus::before{ content:'+'; font-weight:900; }
.amt-badge.minus::before{ content:'−'; font-weight:900; }
.amt-badge.zero::before{ content:'±'; opacity:.7; font-weight:900; }

/* Mobile: badge compact */
@media (max-width:576px){
  .amt-badge{ padding:5px 8px; font-size:.95rem; }
}

/* ==== Sélecteur période 3/6/12 mois ==== */
.period-switch{
  display:flex; gap:6px; background:#fff; border-radius:999px; padding:3px;
  border:1px solid rgba(0,0,0,.06); box-shadow: var(--shadow-1);
}
.pswitch-btn{
  display:inline-block; padding:6px 12px; border-radius:999px;
  font-weight:800; text-decoration:none; color:var(--muted);
}
.pswitch-btn.active{
  background: var(--violet); color:#fff;
  box-shadow: 0 10px 22px rgba(139,92,246,.25), var(--shadow-in);
}



/* ===== Annonces / Slider ===== */
.notice-card{
  display:flex; align-items:flex-start; gap:14px;
  background:#fff; border:1px dashed rgba(0,0,0,.14);
  padding:40px 20px; border-radius:14px;
  box-shadow: 0 6px 18px rgba(17,24,39,.06);
}
.notice-icon{
  width:34px; height:34px; flex:0 0 34px;
  display:flex; align-items:center; justify-content:center;
  border-radius:999px; font-weight:900; font-size:18px;
  background:#f1f5f9; color:#334155;
}
.notice-content{ flex:1; min-width:0;  margin-bottom: 30px; }
.notice-head{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:2px;
}
.notice-title{ font-weight:800; font-size: clamp(16px, 3.6vw, 25px); }
.notice-text{ color:#475569; font-size: clamp(14px, 3.4vw, 18px); }
.notice-badge{
  background:#1e40af; color:#fff; border-radius:999px;
  font-size:12px; font-weight:800; letter-spacing:.3px;
  padding:4px 8px;
}

/* Variantes */
.notice-info{
  border-color:#bfdbfe;
  background: linear-gradient(0deg,#eff6ff, #fff 45%);
}
.notice-info .notice-icon{ background:#dbeafe; color:#1e3a8a; }
.notice-warning{
  border-color:#fcd34d;
  background: linear-gradient(0deg,#fffbeb, #fff 45%);
}
.notice-warning .notice-icon{ background:#fde68a; color:#92400e; }
.notice-success{
  border-color:#86efac;
  background: linear-gradient(0deg,#f0fdf4, #fff 45%);
}
.notice-success .notice-icon{ background:#bbf7d0; color:#166534; }

/* Carousel tweaks */
#annCarousel .carousel-indicators [data-bs-target]{
  width:5px; height:3px; border-radius:999px;
  background:#94a3b8; opacity:.6;
}
#annCarousel .carousel-indicators .active{ opacity:1; background:#334155; }
#annCarousel .carousel-control-prev, 
#annCarousel .carousel-control-next{
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

/* Responsive */
@media (max-width:576px){
  .notice-card{ padding:12px; border-radius:12px; }
  .notice-icon{ width:30px; height:30px; font-size:16px; }
  #annCarousel .carousel-control-prev, 
  #annCarousel .carousel-control-next{ width: 14%; }
}
