/* Extrait de teacher-dashboard.html. Ordre historique : 21. */
.mention-droits {
    text-align: center;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom));
    font-size: 11.5px;
    line-height: 1.5;
    color: var(--text-secondary, rgba(148,163,184,.85));
    opacity: .72;
  }
  @media print { .mention-droits { opacity: 1; color: #555; } }

    /* ══ Alerte : demandes d'accès enseignant ══ */
    .alerte-banniere {
      display: flex; align-items: center; gap: 14px;
      padding: 13px 18px calc(13px + env(safe-area-inset-top));
      background: linear-gradient(135deg, #6366f1, #8b5cf6);
      color: #fff; font-size: 14px;
      box-shadow: 0 4px 20px rgba(0,0,0,.28);
      animation: alerteEntree .4s cubic-bezier(.22,1,.36,1);
    }
    .alerte-ico { font-size: 22px; flex: 0 0 auto; }
    .alerte-txt { flex: 1; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
    .alerte-txt strong { font-size: 14.5px; font-weight: 800; }
    .alerte-txt span { font-size: 12.5px; opacity: .88; }
    .alerte-btn {
      flex: 0 0 auto; padding: 9px 18px; min-height: 40px;
      border: 0; border-radius: 10px; cursor: pointer;
      background: #fff; color: #4338ca; font: inherit; font-weight: 800; font-size: 13.5px;
    }
    .alerte-btn:hover { filter: brightness(.96); }
    .alerte-fermer {
      flex: 0 0 auto; width: 34px; height: 34px; border: 0; border-radius: 50%;
      background: rgba(255,255,255,.18); color: #fff; cursor: pointer; font-size: 15px;
    }
    .alerte-fermer:hover { background: rgba(255,255,255,.3); }
    /* Pastille : reste tant que les demandes ne sont pas traitées */
    .alerte-pastille {
      position: absolute; top: -9px; right: -9px; z-index: 5;
      min-width: 26px; height: 26px; padding: 0 8px;
      display: grid; place-items: center; border-radius: 999px;
      background: #ef4444; color: #fff; font-size: 13px; font-weight: 800;
      box-shadow: 0 2px 10px rgba(239,68,68,.55);
      animation: alertePouls 2.2s ease-in-out infinite;
    }
    @keyframes alerteEntree { from { transform: translateY(-100%); } to { transform: none; } }
    @keyframes alertePouls {
      0%, 100% { transform: scale(1); }
      50%      { transform: scale(1.12); }
    }
    @media (prefers-reduced-motion: reduce) {
      .alerte-banniere, .alerte-pastille { animation: none !important; }
    }
    @media (max-width: 600px) {
      .alerte-banniere { flex-wrap: wrap; padding: 12px 14px; }
      .alerte-txt { flex: 1 1 100%; order: 2; }
      .alerte-btn { order: 3; flex: 1; }
    }
