/* ============================================================
   JR Development — Toast partagé (dashboard + vitrine)
   Extrait de dashboard.css : le même composant sert aux deux
   layouts. Les tokens manquants (vitrine) ont des fallbacks
   inline → rendu identique partout sans dépendre du skin.
   Utilisé par resources/views/client/_toast.blade.php.
   ============================================================ */
.jr-toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(12px);z-index:60;display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:var(--r-lg,12px);font-size:var(--fs-base,14px);font-weight:500;box-shadow:0 12px 44px rgba(0,0,0,.55);width:min(460px,calc(100vw - 32px));opacity:0;transition:opacity .22s ease,transform .22s ease;background:var(--elevated,#171717);border:1px solid var(--border2,rgba(255,255,255,.13));color:var(--text,#ececec);font-family:inherit}
.jr-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.jr-toast .ic{width:18px;height:18px;flex-shrink:0}
.jr-toast-msg{flex:1;min-width:0;color:var(--text,#ececec);line-height:1.4}
.jr-toast-success{border-color:var(--ok,#5bd17f)}
.jr-toast-success .ic{color:var(--ok,#5bd17f)}
.jr-toast-error{border-color:var(--danger,#ff6b6b)}
.jr-toast-error .ic{color:var(--danger,#ff6b6b)}
.jr-toast-x{background:none;border:none;color:var(--muted,#8a8a8a);font-size:18px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:6px;flex-shrink:0}
.jr-toast-x:hover{color:var(--text,#ececec);background:var(--elevated2,#1d1d1d)}
