/* ============================================================
   H2B V52 — Oeil mot de passe + swipe notifications mobile
   ============================================================ */
.h2b-password-wrap{position:relative;width:100%}
.h2b-password-wrap>input{width:100%;padding-right:52px!important}
.h2b-password-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:transparent;color:#d9e5f2;display:grid;place-items:center;border-radius:10px;cursor:pointer;z-index:2;opacity:.9}
.h2b-password-eye:hover,.h2b-password-eye:focus-visible{background:rgba(255,255,255,.07);color:#fff;outline:none}
.h2b-password-eye svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.notification-row{will-change:transform,opacity;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.notification-row.is-touching{transition:none!important}
.notification-row.swipe-ready{border-color:rgba(255,91,91,.78)!important;box-shadow:0 0 0 1px rgba(255,91,91,.2),0 0 20px rgba(255,55,55,.14)!important}
.notification-row.is-dismissing{pointer-events:none;transition:transform .2s ease,opacity .2s ease,max-height .24s ease,margin .24s ease,padding .24s ease!important}
@media (pointer:coarse), (max-width:760px){
  .notification-row{cursor:grab}
  .notification-row:active{cursor:grabbing}
  .notification-list::before{content:'Glisse une notification vers la gauche ou la droite pour l’effacer';display:block;margin:0 0 3px;color:#7f91a4;font-size:10px;line-height:1.35}
}
