.flash-alert {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--space-12);
  min-height: 48px;
  padding: 10px 52px 10px 16px;
  margin-bottom: var(--space-sm);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(13, 28, 24, 0.94);
  backdrop-filter: blur(8px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
  color: var(--cream);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;

  &::before {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: currentColor;
  }

  &.-success {
    border-color: rgba(110, 201, 138, 0.45);

    &::before {
      background: var(--up);
      box-shadow: 0 0 0 4px rgba(110, 201, 138, 0.16);
    }
  }

  &.-danger {
    border-color: rgba(224, 122, 99, 0.5);

    &::before {
      background: var(--down);
      box-shadow: 0 0 0 4px rgba(224, 122, 99, 0.16);
    }
  }

  & > .closeBtn {
    position: absolute;
    top: 50%;
    right: 2px;
    width: 44px;
    height: 44px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: var(--cream);
    background: none;
    border: none;
    border-radius: 12px;
    font-family: var(--font-ui);
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.55;

    &:hover {
      opacity: 0.9;
    }

    &:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: -4px;
      opacity: 0.9;
    }
  }
}
