/* ===== DLEPush / jGrowl toast notifications ===== */
#DLEPush{
  position: fixed !important;
  z-index: 100000 !important;
  top: 18px !important;
  right: 18px !important;
  bottom: auto !important;
  left: auto !important;
  width: min(420px, calc(100vw - 36px)) !important;
}

#DLEPush .DLEPush-notification{
  pointer-events: auto;
  display:flex;
  gap:12px;
  align-items:flex-start;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: var(--shadow);
  padding: 12px 12px 12px 12px;
  margin: 10px 0;
  color: var(--text);
  overflow:hidden;
}

/* Лёгкий “акцент” слева по типу уведомления */
#DLEPush .DLEPush-notification::before{
  content:"";
  width:4px;
  align-self: stretch;
  border-radius: 999px;
  background: rgba(59,130,246,.6); /* default */
  margin-right: 2px;
}
#DLEPush .push-error::before{ background: rgba(239,68,68,.75); }
#DLEPush .push-success::before{ background: rgba(34,197,94,.75); }
#DLEPush .push-info::before{ background: rgba(59,130,246,.75); }
#DLEPush .push-warning::before{ background: rgba(245,158,11,.80); }

/* Иконка */
#DLEPush .DLEPush-icon{
  width:40px;
  height:40px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--panel);
  color: var(--text);
}
#DLEPush .push-error .DLEPush-icon{ background: rgba(239,68,68,.10); border-color: rgba(239,68,68,.22); color:#ef4444; }
#DLEPush .push-success .DLEPush-icon{ background: rgba(34,197,94,.10); border-color: rgba(34,197,94,.22); color:#16a34a; }
#DLEPush .push-warning .DLEPush-icon{ background: rgba(245,158,11,.12); border-color: rgba(245,158,11,.22); color:#b45309; }
#DLEPush .push-info .DLEPush-icon{ background: rgba(59,130,246,.10); border-color: rgba(59,130,246,.22); color:#2563eb; }

/* Заголовок (если пустой — не занимает место) */
#DLEPush .DLEPush-header{
  font-weight: 900;
  font-size: 14px;
  margin: 0 0 2px 0;
  color: var(--text);
}
#DLEPush .DLEPush-header:empty{ display:none; }

#DLEPush .DLEPush-message{
  font-size: 14px;
  color: var(--muted);
  line-height: 1.35;
}

/* Кнопка закрытия */
#DLEPush .DLEPush-close{
  margin-left:auto;
  border:0;
  background: transparent;
  color: var(--muted);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 10px;
}
#DLEPush .DLEPush-close:hover{
  color: var(--text);
  background: var(--panel);
}

/* Анимация появления/исчезновения — мягко */
#DLEPush .DLEPush-notification{
  animation: dleToastIn .18s ease-out;
}
@keyframes dleToastIn{
  from{ transform: translateY(-6px); opacity: .0; }
  to{ transform: translateY(0); opacity: 1; }
}
/* Default: success stays green */
#DLEPush .push-success::before{ background: rgba(34,197,94,.75); }
#DLEPush .push-success .DLEPush-icon{
  background: rgba(34,197,94,.10);
  border-color: rgba(34,197,94,.22);
  color:#16a34a;
}

/* If message looks like removal -> paint as danger */
#DLEPush .DLEPush-notification.is-danger::before{ background: rgba(239,68,68,.75); }
#DLEPush .DLEPush-notification.is-danger .DLEPush-icon{
  background: rgba(239,68,68,.10);
  border-color: rgba(239,68,68,.22);
  color:#ef4444;
}
